.wedding-cinematic{--color-w-ink:var(--color-w-paper);--color-w-muted:var(--color-w-champagne);--color-w-rule:var(--color-w-stage-rule);background:var(--color-w-night);perspective:1200px}.wedding-cinematic .wedding-art{pointer-events:none;background:0 0;width:100%;height:100%;position:absolute;inset:0}.wedding-cinematic .wedding-art:after{display:none}.wedding-cinematic .wedding-paper{z-index:3;background:0 0;grid-column:2;padding-left:3cqw;padding-right:6cqw}.wedding-cinematic.scene-0 .wedding-paper{grid-column:1/-1;padding-inline:5cqw}.wedding-cinematic.scene-0 .wedding-panel{justify-self:center;width:min(780px,100%)}.wedding-cinematic.scene-0 .wedding-bottom{justify-self:center;width:min(500px,100%)}.wedding-cinematic .wedding-panel-content{animation:none}.wedding-cinematic .wedding-panel-content>*{animation:wedding-copy-in .85s var(--ease-w-cinema) both}.wedding-cinematic .wedding-panel-content>:nth-child(2){animation-delay:.1s}.wedding-cinematic .wedding-panel-content>:nth-child(3){animation-delay:.18s}.wedding-cinematic .wedding-panel-content>:nth-child(4){animation-delay:.26s}.wedding-cinematic .wedding-panel-content>:nth-child(5){animation-delay:.33s}.wedding-cinematic .wedding-panel-content>:nth-child(n+6){animation-delay:.4s}.wedding-cinematic.is-leaving .wedding-panel-content{animation:.26s ease-in both wedding-copy-out}.wedding-cinematic .wedding-panel h2{font-size:clamp(32px,4.8cqw,66px)}.wedding-cinematic .wedding-panel h2 em{color:var(--color-w-gold)}.wedding-cinematic .wedding-names{flex-direction:row;justify-content:center;gap:.2em;margin:25px 0 22px;font-size:clamp(48px,9cqw,120px)}.wedding-cinematic .wedding-names em{color:var(--color-w-gold);font-size:.52em}.wedding-cinematic .wedding-names>span{animation:wedding-name-unveil 1.4s var(--ease-w-cinema) both}.wedding-cinematic .wedding-names>span:last-child{animation-delay:.23s}.wedding-cinematic .wedding-names.wedding-long-names{font-size:clamp(30px,5cqw,64px)}.wedding-cinematic .wedding-intro .wedding-overline{letter-spacing:.45em;color:var(--color-w-gold)}.wedding-cinematic .wedding-date{letter-spacing:.16em;font-size:11px}.wedding-cinematic .wedding-guest{margin-bottom:28px}.wedding-cinematic .wedding-guest>strong{font-size:15px}.wedding-cinematic .wedding-intro-note{color:var(--color-w-champagne);font-size:9px}.wedding-cinematic .wedding-invitation-rule{color:var(--color-w-gold)}.wedding-cinematic .wedding-invitation-rule span{background:var(--color-w-gold);opacity:.5;transform-origin:50%;animation:wedding-rule-in 1.4s var(--ease-w-cinema) both}.wedding-cinematic .wedding-button{isolation:isolate;background:var(--color-w-gold);color:var(--color-w-night);border:1px solid var(--color-w-gold);min-height:46px;transition:transform .22s var(--ease-w-out), background-color .22s var(--ease-w-out);border-radius:40px;padding-inline:25px;position:relative;overflow:clip}.wedding-cinematic .wedding-button:after{content:"";pointer-events:none;background:linear-gradient(110deg, transparent 40%, var(--color-w-paper) 50%, transparent 60%);opacity:.35;animation:wedding-button-light 6s var(--ease-w-cinema) infinite;position:absolute;inset:-100% -50%;transform:translate(-100%)}.wedding-cinematic .wedding-button:not(:disabled):hover{background:var(--color-w-paper);transform:translateY(-3px)}.wedding-cinematic .wedding-button:not(:disabled):active{transform:translateY(0)scale(.98)}.wedding-cinematic .wedding-panel-content>.wedding-button:disabled{opacity:.45!important}.wedding-cinematic .wedding-button:disabled:after{display:none}.wedding-cinematic .wedding-button>svg,.wedding-cinematic .wedding-text-button>svg{transition:transform .3s var(--ease-w-out)}.wedding-cinematic .wedding-text-button:hover>svg{transform:translate(5px)}.wedding-cinematic .wedding-tabs{border-top-color:var(--color-w-stage-rule)}.wedding-cinematic .wedding-tabs button{transition:color .25s var(--ease-w-out), background-color .25s var(--ease-w-out);border-top-color:#0000;position:relative}.wedding-cinematic .wedding-tabs button:before{content:"";background:var(--color-w-gold);height:2px;transition:transform .45s var(--ease-w-cinema);position:absolute;top:-1px;left:20%;right:20%;transform:scaleX(0)}.wedding-cinematic .wedding-tabs button[aria-selected=true]{color:var(--color-w-gold);border-top-color:#0000}.wedding-cinematic .wedding-tabs button[aria-selected=true]:before{transform:scaleX(1)}.wedding-cinematic .wedding-tabs button[aria-selected=true] svg{animation:wedding-tab-pop .55s var(--ease-w-cinema)}.wedding-cinematic .wedding-tabs button:hover{background:color-mix(in oklch, var(--color-w-gold) 8%, transparent)}.wedding-motion-tools{align-items:center;gap:12px;display:flex}.wedding-cinematic .wedding-topbar button{width:32px;height:32px;color:var(--color-w-champagne)}.wedding-cinematic .wedding-topbar button:hover{color:var(--color-w-paper);border-color:var(--color-w-gold)}.wedding-cinematic .wedding-rsvp :is(input:not([type=radio]),select){background:color-mix(in oklch, var(--color-w-paper) 5%, transparent);border-color:var(--color-w-stage-rule);transition:border-color .2s var(--ease-w-out)}.wedding-cinematic .wedding-rsvp :is(input,select):focus{border-color:var(--color-w-gold)}.wedding-cinematic .wedding-rsvp select option{background:var(--color-w-night)}.wedding-cinematic .wedding-attendance input{accent-color:var(--color-w-gold)}.wedding-cinematic :is(button,a,input,select):focus-visible{outline-color:var(--color-w-gold)}.wedding-cinematic .wedding-portrait{opacity:.26;object-position:center;animation:22s ease-in-out infinite alternate wedding-photo-drift}.wedding-cinematic .wedding-person{border-left:1px solid var(--color-w-gold);padding-left:16px}.wedding-cinematic .wedding-couple-amp{color:var(--color-w-gold);margin-left:16px}.wedding-cinematic .wedding-venue>svg{animation:3s ease-in-out infinite wedding-pin}.wedding-cinematic .wedding-schedule strong{color:var(--color-w-gold)}.wedding-atmosphere{pointer-events:none;position:absolute;inset:0;overflow:clip}.wedding-light{background:radial-gradient(ellipse, var(--color-w-lamp), transparent 65%);opacity:.36;filter:blur(35px);border-radius:50%;width:75%;height:110%;position:absolute}.wedding-light-one{animation:18s ease-in-out infinite alternate wedding-light-travel;top:-35%;left:-20%}.wedding-light-two{opacity:.26;animation:24s ease-in-out -8s infinite alternate-reverse wedding-light-travel;bottom:-50%;right:-25%}.wedding-film-grain{opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.wedding-air-petal{width:var(--petal-size);height:var(--petal-size);opacity:0;animation:wedding-petal-fall var(--petal-duration) linear var(--petal-delay) infinite;position:absolute;top:-10%}.wedding-air-petal i{background:var(--color-w-rose);width:100%;height:100%;animation:wedding-petal-turn 5s ease-in-out var(--petal-delay) infinite alternate;border-radius:80% 0 80% 10%;display:block}.wedding-air-petal:nth-child(3n) i{background:var(--color-w-gold)}.wedding-horizon{border-top:1px solid var(--color-w-gold);opacity:.16;border-radius:50%;height:50%;position:absolute;bottom:-34%;left:-10%;right:-10%;transform:rotate(-8deg)}.wedding-scene-object{width:49%;height:100%;color:var(--color-w-gold);animation:wedding-object-in 1.4s var(--ease-w-cinema) both;transition:opacity .26s ease-in;position:absolute;top:0;left:0}.is-leaving .wedding-scene-object{opacity:0}.wedding-scene-object>div{transform:translate(var(--pointer-x,0px), var(--pointer-y,0px));transition:transform .9s var(--ease-w-cinema);position:absolute;inset:0}.scene-object-0{opacity:.55;width:100%}.wedding-cinematic .wedding-opening-garden .wedding-botanical{opacity:.58;width:min(95%,820px);height:115%;animation:wedding-garden-grow 2.2s var(--ease-w-cinema) both;top:-7%;left:50%;transform:translate(-50%)}.wedding-opening-garden .wedding-botanical>g>path{stroke-dasharray:1900;stroke-dashoffset:1900px;animation:wedding-line-draw 3.5s var(--ease-w-cinema) .2s forwards}.wedding-opening-garden .wedding-botanical use{transform-box:fill-box;transform-origin:bottom;animation:7s ease-in-out infinite alternate wedding-bloom-breathe}.wedding-opening-garden .wedding-botanical use:nth-child(2n){animation-direction:alternate-reverse;animation-delay:-3s}.wedding-garden-halo{aspect-ratio:1;border:1px solid var(--color-w-gold);opacity:.1;border-radius:50%;width:min(65cqw,700px);animation:8s ease-in-out infinite wedding-halo-breathe;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.wedding-prewed-gallery{z-index:2;pointer-events:auto;position:absolute;inset:0}.wedding-prewed-photo{aspect-ratio:4/5;background:var(--color-w-paper);width:clamp(92px,13cqw,205px);color:var(--color-w-wine);box-shadow:0 20px 40px color-mix(in oklch, var(--color-w-night) 35%, transparent);transform-origin:bottom;opacity:0;pointer-events:auto;cursor:pointer;animation:wedding-photo-card-in 1.1s var(--ease-w-cinema) forwards, wedding-photo-card-float 8s ease-in-out 1.1s infinite alternate;margin:0;padding:8px 8px 25px;transition:transform .3s,box-shadow .3s;position:absolute}.wedding-prewed-photo:hover{box-shadow:0 28px 50px #00000080;z-index:10!important;transform:scale(1.08)rotate(0)!important}.wedding-prewed-photo:after{content:"";border:1px solid color-mix(in oklch, var(--color-w-wine) 35%, transparent);pointer-events:none;position:absolute;inset:8px 8px 25px}.wedding-prewed-photo img{object-fit:cover;filter:saturate(.8)sepia(.08)}.wedding-prewed-photo figcaption{font:7px var(--font-w-body);letter-spacing:.08em;position:absolute;bottom:7px;left:10px}.prewed-photo-1{animation-delay:.12s,1.5s;top:17%;left:5%;transform:rotate(-11deg)}.prewed-photo-2{z-index:2;animation-delay:.31s,1.7s;top:38%;left:29%;transform:rotate(4deg)}.prewed-photo-3{animation-delay:.5s,1.9s;top:21%;right:5%;transform:rotate(12deg)}.wedding-gallery-scene{position:absolute;inset:0}.wedding-gallery-frame{background:var(--color-w-paper);width:54%;color:var(--color-w-night);border:1px solid var(--color-w-gold);box-shadow:0 24px 50px #0006, 10px 16px 0 color-mix(in oklch, var(--color-w-gold) 15%, transparent);animation:wedding-ticket-land 1.4s var(--ease-w-cinema) both, wedding-ticket-float 8s ease-in-out 1.4s infinite alternate;z-index:2;border-radius:4px;padding:10px 10px 18px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;position:absolute;top:21%;left:24%;transform:rotate(3.5deg)}.wedding-gallery-frame:hover{box-shadow:0 30px 65px #0000008c, 0 0 20px color-mix(in oklch, var(--color-w-gold) 45%, transparent);transform:rotate(0)scale(1.04)!important}.wedding-gallery-frame-photo{aspect-ratio:4/5;background:var(--color-w-paper-deep);border-radius:2px;width:100%;position:relative;overflow:hidden}.wedding-gallery-frame-img{object-fit:cover;filter:saturate(.9)sepia(.06);transition:transform .5s}.wedding-gallery-frame:hover .wedding-gallery-frame-img{transform:scale(1.06)}.wedding-gallery-frame-tag{color:var(--color-w-paper);letter-spacing:.15em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0a10a6;border-radius:2px;padding:2px 6px;font-size:7px;position:absolute;top:8px;left:8px}.wedding-gallery-frame-caption{text-align:center;margin-top:10px}.wedding-gallery-frame-caption strong{font:300 clamp(16px, 2.2cqw, 24px) var(--font-w-display);letter-spacing:.02em;color:var(--color-w-night);display:block}.wedding-gallery-frame-caption small{letter-spacing:.2em;color:var(--color-w-wine);margin-top:3px;font-size:7px;display:block}.wedding-frame-corner{color:var(--color-w-gold);font-size:10px;line-height:1;position:absolute}.wedding-frame-corner.corner-tl{top:3px;left:3px}.wedding-frame-corner.corner-br{bottom:3px;right:3px}.wedding-gallery-orbit{aspect-ratio:1;border:1px solid var(--color-w-stage-rule);opacity:.7;border-radius:50%;width:88%;animation:50s linear infinite wedding-orbit-spin;position:absolute;top:15%;left:8%}.wedding-gallery-orbit>span{aspect-ratio:1;background:var(--color-w-gold);border-radius:50%;width:6px;position:absolute;top:18%;left:14%}.wedding-gallery-orbit>span:nth-child(2){width:4px;top:88%;left:78%}.wedding-gallery-orbit>span:nth-child(3){width:5px;top:12%;left:82%}.wedding-gallery-spark{font:45px var(--font-w-display);color:var(--color-w-paper);animation:5s ease-in-out infinite wedding-sparkle;position:absolute}.wedding-gallery-spark.spark-one{top:22%;left:12%}.wedding-gallery-spark.spark-two{font-size:28px;animation-delay:-2.5s;bottom:26%;right:8%}.wedding-gallery-scene>p{text-align:center;color:var(--color-w-champagne);font:300 clamp(18px, 2.3cqw, 32px)/1.4 var(--font-w-display);animation:wedding-copy-in 1.2s var(--ease-w-cinema) .6s both;position:absolute;top:76%;left:14%;right:8%}.wedding-ring{aspect-ratio:1;border:7px solid var(--color-w-gold);width:46%;box-shadow:inset 2px 2px 1px var(--color-w-paper), 2px 2px 1px var(--color-w-lamp), inset -4px -4px 8px var(--color-w-lamp);border-radius:50%;place-items:center;display:grid;position:absolute;top:31%}.wedding-ring span{font:italic 300 clamp(45px, 7cqw, 100px) var(--font-w-display);color:var(--color-w-paper);opacity:.85}.ring-bride{animation:wedding-ring-left 1.7s var(--ease-w-cinema) both, wedding-ring-float 8s ease-in-out 1.7s infinite alternate;left:15%;transform:rotate(-24deg)}.ring-groom{animation:wedding-ring-right 1.7s var(--ease-w-cinema) both, wedding-ring-float 9s ease-in-out 1.7s infinite alternate-reverse;top:35%;left:41%;transform:rotate(24deg)}.wedding-orbit{aspect-ratio:1;border:1px solid var(--color-w-stage-rule);border-radius:50%;width:78%;position:absolute;top:17%;left:12%;transform:rotateX(58deg)rotate(-25deg)}.orbit-two{opacity:.6;width:92%;top:11%;left:5%;transform:rotateX(58deg)rotate(35deg)}.wedding-ring-spark{color:var(--color-w-paper);font-size:34px;animation:4s ease-in-out 1s infinite wedding-sparkle;position:absolute;top:34%;left:50%}.wedding-rings-scene p,.wedding-envelope-scene>p{text-align:center;color:var(--color-w-champagne);font:300 clamp(20px, 2.5cqw, 36px)/1.4 var(--font-w-display);animation:wedding-copy-in 1.2s var(--ease-w-cinema) .6s both;position:absolute;top:72%;left:14%;right:8%}.wedding-date-ticket{background:var(--color-w-paper);width:55%;height:55%;color:var(--color-w-night);text-align:center;box-shadow:12px 20px 0 color-mix(in oklch, var(--color-w-gold) 10%, transparent);animation:wedding-ticket-land 1.4s var(--ease-w-cinema) both, wedding-ticket-float 7s ease-in-out 1.4s infinite alternate;border-radius:100px 100px 8px 8px;padding:8% 6% 5%;position:absolute;top:23%;left:26%;transform:rotate(-8deg)}.wedding-date-ticket>span{letter-spacing:.25em;font-size:8px;display:block}.wedding-date-ticket>strong{font:300 clamp(55px, 11cqw, 156px)/1.15 var(--font-w-display);letter-spacing:-.08em;margin-top:8%;display:block}.wedding-date-ticket>em{font:300 clamp(15px, 2.1cqw, 27px) var(--font-w-display);display:block}.wedding-ticket-rule{background:var(--color-w-stage-rule);opacity:.35;height:1px;margin:12% 0 8%}.wedding-date-ticket>p{overflow-wrap:anywhere;font-size:clamp(9px,1.2cqw,15px)}.wedding-date-ticket>small{overflow-wrap:anywhere;margin-top:8px;font-size:8px;display:block}.wedding-date-orbit{aspect-ratio:1;border:1px solid var(--color-w-stage-rule);border-radius:50%;width:90%;animation:45s linear infinite wedding-orbit-spin;position:absolute;top:15%;left:7%}.wedding-date-orbit>span{aspect-ratio:1;background:var(--color-w-gold);border-radius:50%;width:8px;position:absolute;top:15%;left:13%}.wedding-date-orbit>span:nth-child(2){width:4px;top:92%;left:75%}.wedding-date-orbit>span:nth-child(3){width:5px;top:10%;left:80%}.wedding-date-spark{font:60px var(--font-w-display);animation:6s ease-in-out infinite wedding-sparkle;position:absolute}.spark-one{top:25%;left:12%}.spark-two{font-size:35px;animation-delay:-3s;bottom:24%;right:4%}.wedding-envelope-scene{perspective:1000px}.wedding-envelope-back,.wedding-envelope-front,.wedding-envelope-flap{border-radius:4px;width:66%;height:29%;position:absolute;top:41%;left:19%}.wedding-envelope-back{background:var(--color-w-wine);box-shadow:0 24px 45px color-mix(in oklch, var(--color-w-night) 70%, transparent)}.wedding-envelope-flap{background:var(--color-w-envelope);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;height:24%;animation:wedding-envelope-open 1.2s var(--ease-w-cinema) .2s both;top:41%}.wedding-envelope-front{background:var(--color-w-envelope-light);clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%);z-index:3}.wedding-envelope-front:after{content:"";background:var(--color-w-envelope);clip-path:polygon(0 100%,50% 45%,100% 100%);position:absolute;inset:0}.wedding-envelope-letter{background:var(--color-w-paper);width:56%;height:32%;color:var(--color-w-night);text-align:center;animation:wedding-letter-rise 1.5s var(--ease-w-cinema) .45s both;border-radius:3px;padding:10% 6%;position:absolute;top:32%;left:24%}.wedding-envelope-letter>span:first-child{letter-spacing:.17em;font-size:7px;display:block}.wedding-envelope-letter>strong{font:300 clamp(21px, 3.3cqw, 43px)/1.1 var(--font-w-display);overflow-wrap:anywhere;max-height:3.3em;margin:16px 0 10px;display:block;overflow:clip}.wedding-envelope-letter>i{font:italic 11px var(--font-w-display)}.wedding-letter-heart{color:var(--color-w-wine);margin-top:12px;font-size:26px;display:block}.wedding-wax-seal{aspect-ratio:1;z-index:4;background:var(--color-w-gold);width:16%;color:var(--color-w-wine);border:4px double var(--color-w-lamp);font:300 clamp(16px, 2.4cqw, 32px) var(--font-w-display);box-shadow:2px 5px 12px color-mix(in oklch, var(--color-w-night) 40%, transparent);animation:wedding-seal-in 1s var(--ease-w-cinema) 1s both;border-radius:50%;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;top:56%;left:44%}.wedding-wax-seal i{font-size:.55em}.has-guest .wedding-letter-heart{animation:1.5s ease-in-out infinite wedding-heart-beat}@keyframes wedding-copy-in{0%{opacity:0;transform:translateY(28px)rotateX(-8deg)}to{opacity:1;transform:none}}@keyframes wedding-copy-out{to{opacity:0;transform:translateY(-18px)scale(.98)}}@keyframes wedding-name-unveil{0%{opacity:0;transform:translateY(65%)rotate(5deg)}to{opacity:1;transform:none}}@keyframes wedding-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes wedding-button-light{0%,65%{transform:translate(-100%)}90%,to{transform:translate(100%)}}@keyframes wedding-tab-pop{0%{transform:translateY(6px)scale(.7)}to{transform:none}}@keyframes wedding-photo-drift{0%{transform:scale(1.03)translate(-1%)}to{transform:scale(1.13)translate(1%)}}@keyframes wedding-light-travel{0%{transform:translate(-10%,-8%)scale(.9)}to{transform:translate(15%,15%)scale(1.25)}}@keyframes wedding-petal-fall{0%{opacity:0;transform:translateY(-30px)rotate(0)}10%{opacity:.4}85%{opacity:.25}to{opacity:0;transform:translate3d(var(--petal-drift), 115cqh, 0) rotate(290deg)}}@keyframes wedding-petal-turn{0%{transform:rotateY(0)rotate(-25deg)}to{transform:rotateY(160deg)rotate(25deg)}}@keyframes wedding-object-in{0%{opacity:0;transform:translate(-45px)scale(.86)}to{opacity:1;transform:none}}@keyframes wedding-garden-grow{0%{opacity:0;transform:translate(-50%)scale(1.25)}to{opacity:.58;transform:translate(-50%)scale(1)}}@keyframes wedding-photo-card-in{0%{opacity:0;transform:translateY(45px)rotate(0)scale(.82)}to{opacity:.95}}@keyframes wedding-photo-card-float{0%{translate:0}to{translate:0 -12px}}@keyframes wedding-line-draw{to{stroke-dashoffset:0}}@keyframes wedding-bloom-breathe{0%{rotate:-2deg;scale:.97}to{rotate:2deg;scale:1.035}}@keyframes wedding-halo-breathe{0%,to{opacity:.08;scale:1}50%{opacity:.2;scale:1.06}}@keyframes wedding-ring-left{0%{opacity:0;transform:translate(-90%,-35%)rotate(-90deg)}to{opacity:1;transform:translate(0)rotate(-24deg)}}@keyframes wedding-ring-right{0%{opacity:0;transform:translate(90%,35%)rotate(90deg)}to{opacity:1;transform:translate(0)rotate(24deg)}}@keyframes wedding-ring-float{0%{translate:0 -7px}to{translate:0 9px}}@keyframes wedding-sparkle{0%,to{opacity:.2;transform:scale(.7)rotate(0)}50%{opacity:.95;transform:scale(1.1)rotate(30deg)}}@keyframes wedding-ticket-land{0%{opacity:0;transform:translateY(90px)rotate(16deg)}to{opacity:1;transform:translateY(0)rotate(-8deg)}}@keyframes wedding-ticket-float{0%{translate:0;rotate:-1deg}to{translate:0 -10px;rotate:2deg}}@keyframes wedding-orbit-spin{to{transform:rotate(360deg)}}@keyframes wedding-pin{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes wedding-envelope-open{0%{z-index:5;transform:rotateX(0)}to{z-index:0;transform:rotateX(180deg)}}@keyframes wedding-letter-rise{0%{opacity:0;transform:translateY(45%)}to{opacity:1;transform:translateY(-18%)}}@keyframes wedding-seal-in{0%{opacity:0;transform:scale(1.6)rotate(30deg)}to{opacity:1;transform:scale(1)rotate(-10deg)}}@keyframes wedding-heart-beat{0%,to{transform:scale(1)}35%{transform:scale(1.18)}55%{transform:scale(1)}70%{transform:scale(1.12)}}@container (max-width:640px){.wedding-cinematic .wedding-paper{grid-column:1/-1;padding:16px 26px 14px}.wedding-cinematic:not(.scene-0) .wedding-panel{padding-top:114px}.wedding-cinematic .wedding-topbar{min-height:32px}.wedding-cinematic .wedding-scene-object:not(.scene-object-0){width:150px;height:168px;top:40px;left:calc(50% - 75px)}.wedding-cinematic .wedding-scene-object>div{transform:none}.wedding-cinematic .wedding-rings-scene p,.wedding-cinematic .wedding-gallery-scene>p,.wedding-cinematic .wedding-envelope-scene>p{display:none}.wedding-cinematic .wedding-gallery-frame{width:100px;padding:4px 4px 8px;top:15px;left:25px}.wedding-cinematic .wedding-gallery-frame-caption strong{font-size:11px}.wedding-cinematic .wedding-gallery-frame-caption small{font-size:4px}.wedding-cinematic .wedding-gallery-orbit{top:5%}.wedding-cinematic .wedding-gallery-spark{font-size:16px}.wedding-cinematic .wedding-ring{border-width:3px;top:20%}.wedding-cinematic .ring-groom{top:28%}.wedding-cinematic .wedding-ring span{font-size:28px}.wedding-cinematic .wedding-orbit{top:2%}.wedding-cinematic .wedding-ring-spark{font-size:16px;top:23%}.wedding-cinematic .wedding-names{flex-direction:column;gap:0;margin:18px 0;font-size:clamp(55px,17cqw,77px)}.wedding-cinematic .wedding-names em{margin:.12em;font-size:.4em;line-height:1}.wedding-cinematic .wedding-names.wedding-long-names{font-size:clamp(28px,8cqw,38px)}.wedding-cinematic .wedding-date{letter-spacing:.08em;font-size:10px}.wedding-cinematic .wedding-panel h2{font-size:34px}.wedding-cinematic .wedding-guest{margin-bottom:20px}.wedding-cinematic .wedding-intro .wedding-overline{letter-spacing:.25em;font-size:8px}.wedding-cinematic .wedding-opening-garden .wedding-botanical{width:155%;height:110%;top:-3%}.wedding-cinematic .wedding-prewed-photo{width:29vw;padding:4px 4px 15px}.wedding-cinematic .wedding-prewed-photo:after{inset:4px 4px 15px}.wedding-cinematic .wedding-prewed-photo figcaption{font-size:4px;bottom:4px;left:5px}.wedding-cinematic .prewed-photo-1{top:12%;left:3%}.wedding-cinematic .prewed-photo-2{top:36%;left:35%}.wedding-cinematic .prewed-photo-3{top:14%;right:3%}.wedding-cinematic .wedding-date-ticket{border-radius:35px 35px 4px 4px;width:63%;height:78%;padding:14px 10px;top:7%;left:20%}.wedding-cinematic .wedding-date-ticket>span{font-size:5px}.wedding-cinematic .wedding-date-ticket>strong{margin-top:5px;font-size:49px}.wedding-cinematic .wedding-date-ticket>em{font-size:12px}.wedding-cinematic .wedding-date-ticket>:is(p,small),.wedding-cinematic .wedding-ticket-rule{display:none}.wedding-cinematic .wedding-date-spark{font-size:20px}.wedding-cinematic .wedding-envelope-back,.wedding-cinematic .wedding-envelope-front{width:80%;height:41%;top:42%;left:10%}.wedding-cinematic .wedding-envelope-flap{width:80%;top:42%;left:10%}.wedding-cinematic .wedding-envelope-letter{width:68%;height:38%;padding:11px 8px;top:33%;left:16%}.wedding-cinematic .wedding-envelope-letter>span:first-child{font-size:5px}.wedding-cinematic .wedding-envelope-letter>strong{max-height:2em;margin:7px 0;font-size:16px}.wedding-cinematic .wedding-envelope-letter>i,.wedding-cinematic .wedding-letter-heart{display:none}.wedding-cinematic .wedding-wax-seal{border-width:2px;width:25%;font-size:16px;top:62%;left:38%}.wedding-cinematic .wedding-air-petal:nth-child(n+13){display:none}}@container (max-height:700px) and (max-width:640px){.wedding-cinematic .wedding-paper{padding:8px 22px 10px}.wedding-cinematic .wedding-names{margin:12px 0;font-size:48px}.wedding-cinematic .wedding-panel h2{font-size:28px}.wedding-cinematic:not(.scene-0) .wedding-panel{padding-top:96px}.wedding-cinematic .wedding-scene-object:not(.scene-object-0){width:110px;height:115px;top:35px;left:calc(50% - 55px)}.wedding-cinematic .wedding-ring span{font-size:21px}.wedding-cinematic .wedding-date-ticket{padding:9px 8px}.wedding-cinematic .wedding-date-ticket>strong{margin-top:3px;font-size:32px}.wedding-cinematic .wedding-date-ticket>em{font-size:9px}.wedding-cinematic .wedding-envelope-letter{padding:8px 5px}.wedding-cinematic .wedding-envelope-letter>strong{margin:5px 0;font-size:12px}.wedding-cinematic .wedding-envelope-letter>span:first-child{font-size:4px}.wedding-cinematic .wedding-wax-seal{font-size:12px}.wedding-cinematic .wedding-button{min-height:39px;padding-block:9px}.wedding-cinematic .wedding-guest{margin-bottom:18px}}@container (max-height:460px) and (min-width:641px){.wedding-cinematic .wedding-paper{padding:10px 24px 8px}.wedding-cinematic .wedding-panel h2{font-size:25px}.wedding-cinematic .wedding-names{margin:12px 0;font-size:15cqh}.wedding-cinematic .wedding-guest{margin-bottom:12px}.wedding-cinematic .wedding-button{min-height:34px;padding-block:8px}.wedding-cinematic .wedding-scene-object:not(.scene-object-0){scale:.85}.wedding-cinematic .wedding-rings-scene p,.wedding-cinematic .wedding-envelope-scene>p{font-size:19px;top:82%}.wedding-cinematic .wedding-date-ticket{height:70%;padding-top:5%;top:13%}.wedding-cinematic .wedding-date-ticket>strong{margin-top:3%;font-size:80px}.wedding-cinematic .wedding-ticket-rule{margin:7% 0}}.wedding-cinematic.wedding-cover .wedding-paper{grid-column:1/-1;padding:20px}.wedding-cinematic.wedding-cover .wedding-names{font-size:10cqw}.wedding-cinematic.wedding-cover .wedding-panel{width:100%}.wedding-cinematic.wedding-cover .wedding-bottom{display:none}.wedding-cinematic.wedding-cover .wedding-opening-garden .wedding-botanical{width:100%}.wedding-cinematic.wedding-cover .wedding-topbar{display:flex}.wedding-cinematic.wedding-cover .wedding-guest{margin-bottom:10px}.wedding-cinematic.motion-paused *,.wedding-cinematic.motion-paused :after,.wedding-cinematic.wedding-cover *,.wedding-cinematic.wedding-cover :after{animation-play-state:paused!important}.wedding-cinematic.motion-paused .wedding-panel-content,.wedding-cinematic.motion-paused .wedding-panel-content>*,.wedding-cinematic.motion-paused .wedding-names>span,.wedding-cinematic.wedding-cover .wedding-panel-content>*,.wedding-cinematic.wedding-cover .wedding-names>span{opacity:1;animation:none}.wedding-cinematic.wedding-cover .wedding-scene-object,.wedding-cinematic.wedding-cover .wedding-opening-garden .wedding-botanical{animation:none}.wedding-cinematic.wedding-cover .wedding-opening-garden .wedding-botanical>g>path{stroke-dashoffset:0;animation:none}.wedding-cinematic.motion-paused .wedding-scene-object,.wedding-cinematic.motion-paused .wedding-scene-object *{animation:none!important}.wedding-cinematic.motion-paused .wedding-prewed-photo{opacity:.95}.wedding-cinematic.motion-paused .wedding-opening-garden .wedding-botanical>g>path{stroke-dashoffset:0}.wedding-cinematic.motion-paused .wedding-envelope-flap{transform:rotateX(180deg)}.wedding-cinematic.motion-paused .wedding-envelope-letter{transform:translateY(-18%)}@media (prefers-reduced-motion:reduce){.wedding-cinematic *,.wedding-cinematic :before,.wedding-cinematic :after{transition:none!important;animation:none!important}.wedding-cinematic .wedding-air-petal{display:none}.wedding-cinematic .wedding-opening-garden .wedding-botanical>g>path{stroke-dashoffset:0}.wedding-cinematic .wedding-envelope-flap{transform:rotateX(180deg)}.wedding-cinematic .wedding-envelope-letter{transform:translateY(-18%)}}
