@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Great+Vibes&family=Plus+Jakarta+Sans:wght@400;500;600&family=Pinyon+Script&display=swap";*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 20% 0,#d7bb9159 0%,#0000 55%),radial-gradient(at 80% 100%,#c98c9226 0%,#0000 50%);margin:0;line-height:1.65;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark)}h1,h2,h3,.display-title{font-family:var(--font-display);color:var(--color-primary-dark);font-weight:500;line-height:1.2}.script-label{font-family:var(--font-accent);font-size:var(--text-xl);color:var(--color-accent);line-height:1.1}.text-muted-vintage{color:var(--color-text-muted)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.welcome-scroll-lock,html.welcome-scroll-lock body{overscroll-behavior:none;height:100%;overflow:hidden!important}.invitation-unavailable{text-align:center;place-content:center;gap:.75rem;min-height:100vh;padding:2rem;display:grid}.invitation-unavailable[hidden]{display:none}.invitation-unavailable__title{font-family:var(--font-display,Georgia, serif);margin:0;font-size:2rem}.invitation-unavailable__text{max-width:28rem;margin:0 auto}.site-canvas{z-index:1;flex-direction:column;min-height:100dvh;padding-bottom:0;display:flex;position:relative}.site-canvas>main{padding-bottom:calc(5.5rem + var(--safe-bottom));flex:auto}.site-canvas--hidden{opacity:0;pointer-events:none;transform:scale(1.012)}.site-canvas--visible{opacity:1;pointer-events:auto;transition:opacity var(--opening-veil-ms) var(--envelope-ease), transform var(--opening-veil-ms) var(--envelope-ease);transform:scale(1)}.section{padding:var(--section-pad-y) 1.25rem;position:relative}.section__inner{width:100%;max-width:var(--content-max);margin-inline:auto}.section__inner--wide{max-width:var(--content-wide)}.section__header{text-align:center;margin-bottom:1.75rem}.section__header .script-label{margin-bottom:.35rem}.section__header h2{font-size:var(--text-2xl);margin:0}@media (prefers-reduced-motion:reduce){.site-canvas--hidden,.site-canvas--visible{transition:opacity .16s;transform:none}}.section--paper{background:linear-gradient(180deg, var(--color-paper) 0%, var(--color-background-soft) 100%)}.paper-texture{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}.decor-layer{pointer-events:none;z-index:8;position:fixed;inset:0;overflow:hidden}.decor-layer .petal{z-index:1;top:-.5rem}.decor-layer__item{opacity:.35;will-change:transform;position:absolute}.btn-vintage{font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);letter-spacing:.04em;border:1px solid var(--color-primary-dark);background:var(--color-primary);color:var(--color-paper);box-shadow:var(--shadow-card);transition:transform .25s var(--ease-elegant), background .25s;border-radius:999px;padding:.75rem 1.75rem}.btn-vintage:hover:not(:disabled){background:var(--color-primary-dark);color:var(--color-paper);transform:translateY(-1px)}.btn-vintage:disabled{opacity:.65;cursor:not-allowed}.btn-vintage--outline{color:var(--color-primary-dark);border-color:var(--color-primary);background:0 0}.btn-vintage--outline:hover:not(:disabled){background:var(--color-primary);color:var(--color-paper)}.vintage-frame{background:var(--color-paper);box-shadow:var(--shadow-card);border:1px solid #59624940;border-radius:1.25rem;padding:1.75rem 1.25rem;position:relative}.vintage-frame:before,.vintage-frame:after{content:"";pointer-events:none;border:1px solid #b78b7659;width:3rem;height:3rem;position:absolute}.vintage-frame:before{border-bottom:none;border-right:none;border-radius:.5rem 0 0;top:.75rem;left:.75rem}.vintage-frame:after{border-top:none;border-left:none;border-radius:0 0 .5rem;bottom:.75rem;right:.75rem}.hero-section__frame{text-align:center;padding:2.5rem 1.5rem}.hero-botanical{opacity:.85;width:min(100%,14rem);margin:0 auto 1rem}.hero-monogram{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.35em;color:var(--color-accent);margin-bottom:.75rem}.couple-grid{gap:1.25rem;display:grid}.couple-card{text-align:center}.couple-card__photo{aspect-ratio:3/4;background:linear-gradient(145deg, var(--color-background-soft), var(--color-champagne));font-family:var(--font-display);color:var(--color-text-muted);font-size:var(--text-sm);border:1px solid #59624933;border-radius:.75rem;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.couple-card h3{font-size:var(--text-xl);margin:0 0 .5rem}.story-timeline{border-left:2px solid #59624940;padding-left:1.5rem;position:relative}.story-timeline:before{content:"";background:linear-gradient(180deg, var(--color-accent), transparent);opacity:.4;border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:-1.5rem}.story-item{background:var(--color-paper);border:1px solid #5962491f;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem 1.1rem}.story-item h4{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 .35rem}.story-item .year{font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.event-card{background:var(--color-primary);color:var(--color-paper);border-radius:1rem;margin-bottom:1rem;padding:1.25rem 1.35rem;position:relative;overflow:hidden}.event-card:after{content:"";opacity:.2;background:url(/assets/ornaments/leaf.svg) 50%/contain no-repeat;width:5rem;height:5rem;position:absolute;bottom:-1rem;right:-1rem}.event-card h3{color:var(--color-paper);font-size:var(--text-xl);margin:0 0 .5rem}.event-card p{font-size:var(--text-sm);opacity:.95;margin:.15rem 0}.schedule-list{margin:0;padding:0;list-style:none}.schedule-list li{border-bottom:1px dashed #59624933;gap:1rem;padding:.85rem 0;display:flex}.schedule-list .time{width:3.5rem;color:var(--color-primary);font-weight:600;font-size:var(--text-sm);flex-shrink:0}.swatch-row{justify-content:center;gap:.75rem;margin:1rem 0;display:flex}.swatch{width:2.75rem;height:2.75rem;box-shadow:var(--shadow-card);border:2px solid #403b3426;border-radius:50%}.form-vintage .form-control,.form-vintage .form-select{background:var(--color-paper);font-size:var(--text-sm);border-color:#59624959;border-radius:.65rem}.form-vintage .form-control:focus,.form-vintage .form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 .2rem #59624926}.form-vintage .form-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.gallery-grid button{cursor:pointer;background:var(--color-background-soft);box-shadow:var(--shadow-card);aspect-ratio:1;border:none;border-radius:.65rem;padding:0;overflow:hidden}.gallery-grid img{object-fit:cover;width:100%;height:100%}.gallery-modal .modal-content{background:var(--color-paper);border:none;border-radius:1rem}.gallery-modal img{border-radius:.5rem;width:100%}.stream-embed{background:#000;border-radius:.75rem;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.stream-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.section-hidden{display:none!important}:root{--welcome-panel-max:min(100% - 1.5rem, 26rem);--envelope-max-w:clamp(15.5rem, 78vw, 21.5rem)}#welcome.welcome-cover{z-index:2000;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:opacity var(--envelope-crossfade-ms) var(--envelope-ease);padding:max(.35rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.85rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));background-color:#f7efe4;background-image:linear-gradient(#f8f0e5 0%,#f4eadc 48%,#efe3d2 100%);justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0;overflow:hidden auto}#welcome.welcome-cover.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.welcome-cover__watermark{font-family:var(--font-accent);color:#5962491c;letter-spacing:-.04em;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;margin:0;font-size:clamp(6.5rem,34vw,9.5rem);line-height:.8;position:absolute;top:clamp(3.4rem,10vh,5.4rem);left:50%;transform:translate(-50%)}.welcome-cover__floral{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;object-fit:cover;width:clamp(6.75rem,36vw,10.75rem);height:clamp(6.75rem,36vw,10.75rem);display:block;position:absolute;top:0}.welcome-cover__floral--tl{object-position:top left;left:0}.welcome-cover__floral--tr{object-position:top right;right:0}.welcome-cover__shell{z-index:2;width:var(--welcome-panel-max);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.35rem,1.6vh,.7rem);min-height:min(100%,100dvh);margin:auto;padding-block:clamp(3.25rem,10vh,5rem) clamp(1.25rem,4vh,2rem);display:flex;position:relative}.welcome-heading{z-index:3;flex-shrink:0;position:relative}.welcome-invited-script{font-family:var(--font-accent);color:#746d63;margin:0;font-size:clamp(2.35rem,9.5vw,3.15rem);font-weight:400;line-height:.95}.welcome-invited-title{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary-dark);margin:.05rem 0 0;font-size:clamp(1.85rem,7.6vw,2.55rem);font-weight:500;line-height:1}.welcome-envelope-wrap{z-index:2;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin:.15rem 0 .1rem;display:flex;position:relative}.welcome-envelope-art{width:var(--envelope-max-w);filter:drop-shadow(0 16px 28px #39423229);height:auto;display:block}.welcome-footer{z-index:3;flex-shrink:0;width:100%;position:relative}.welcome-guest{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.welcome-guest strong{font-family:var(--font-display);color:var(--color-primary-dark);word-break:break-word;margin-top:.2rem;padding-inline:.75rem;font-size:clamp(1.35rem,5.2vw,1.7rem);font-weight:600;line-height:1.25;display:block}.welcome-divider{opacity:.7;width:clamp(5.5rem,38vw,8rem);height:auto;margin:.55rem auto .45rem;display:block}.welcome-disclaimer{max-width:16.5rem;font-family:var(--font-body);color:#8a8378;margin:0 auto;font-size:clamp(.68rem,2.4vw,.75rem);font-style:italic;line-height:1.45}.btn-welcome-open{min-width:13.5rem;min-height:2.85rem;font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#fff8ed;transition:transform .2s var(--ease-elegant), box-shadow .2s var(--ease-elegant);background:linear-gradient(#6a7760 0%,#596249 48%,#414938 100%);border:1.5px solid #d7bb9173;border-radius:999px;margin-top:clamp(.85rem,2.6vh,1.15rem);padding:.72rem 2.1rem;font-size:.78rem;font-weight:600;box-shadow:0 8px 18px #3942322e,inset 0 1px #fff8ed2e}.btn-welcome-open:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 22px #39423238}.btn-welcome-open:active:not(:disabled){transform:translateY(0)}.btn-welcome-open:disabled{opacity:.7;cursor:not-allowed}#welcome.welcome-cover.welcome-envelope--crossfade{opacity:0;pointer-events:none}.welcome-envelope-art{transition:transform var(--opening-envelope-ms) var(--ease-elegant), opacity .32s var(--envelope-ease) 60ms, filter var(--opening-envelope-ms) var(--envelope-ease);transform-origin:50%;will-change:transform, opacity}.welcome-heading,.welcome-footer{transition:opacity var(--opening-text-out-ms) var(--envelope-ease), transform var(--opening-text-out-ms) var(--envelope-ease)}.welcome-cover__floral,.welcome-cover__watermark{transition:opacity .48s var(--envelope-ease)}#welcome.welcome-cover.welcome-cover--revealing .welcome-heading,#welcome.welcome-cover.welcome-cover--revealing .welcome-footer{opacity:0;transform:translateY(-.65rem)}#welcome.welcome-cover.welcome-cover--revealing .welcome-envelope-art{opacity:0;filter:drop-shadow(0 22px 34px #3942321a);transform:scale(1.1)translateY(-1.75rem)}#welcome.welcome-cover.welcome-cover--revealing .welcome-cover__floral,#welcome.welcome-cover.welcome-cover--revealing .welcome-cover__watermark{opacity:0}#welcome.welcome-cover.welcome-cover--veil{opacity:0;transition:opacity var(--opening-veil-ms) var(--envelope-ease) 40ms;pointer-events:none}@media (prefers-reduced-motion:reduce){.welcome-envelope-art,.welcome-heading,.welcome-footer,.welcome-cover__floral,.welcome-cover__watermark{transition-duration:.01ms!important}#welcome.welcome-cover.welcome-cover--revealing .welcome-envelope-art{filter:none;transform:none}}@media (width<=360px){:root{--envelope-max-w:min(86vw, 17.5rem)}.welcome-cover__watermark{font-size:6rem}}@media (height<=700px){.welcome-cover__shell{justify-content:flex-start;padding-top:3.5rem}.welcome-cover__watermark{font-size:5.5rem;top:2.4rem}}.hero-section{--scene-w:min(100vw, var(--mobile-canvas-max,27.5rem));--hero-fab-clearance:calc(5.25rem + env(safe-area-inset-bottom,0px));align-items:stretch;min-height:100dvh;padding:0;display:flex;position:relative;overflow:clip visible}.hero-section.section{padding:0}.hero-section__backdrop{pointer-events:none;background:linear-gradient(#f8f0e5 0%,#f4eadc 55%,#efe3d2 100%);position:absolute;inset:0}.hero-section__inner{z-index:1;justify-content:center;align-items:stretch;width:100%;max-width:none;margin:0;padding:0;display:flex;position:relative}.hero-scene--split{width:var(--scene-w);min-height:100dvh;padding:max(clamp(.35rem, 2vh, .85rem), env(safe-area-inset-top)) 0 var(--hero-fab-clearance);flex-direction:column;justify-content:center;align-items:center;margin-inline:auto;display:flex;position:relative;overflow:clip visible}.hero-scene__petals{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-scene__petals--back{z-index:0}.hero-scene__petals--front{z-index:4;max-height:min(24vh,11rem);overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 62%,#0000 100%);mask-image:linear-gradient(#000 0% 62%,#0000 100%)}.hero-scene__petals--front .petal{opacity:.2}.hero-scene__petals--back .petal--hero-back.petal--1{animation-duration:16s}.hero-scene__petals--back .petal--hero-back.petal--2{animation-duration:19s}.hero-scene__petals--back .petal--hero-back.petal--3{animation-duration:17s}.hero-scene__petals--front .petal--hero-front{animation-duration:13s;animation-delay:1.5s}.hero-scene__stack{z-index:2;width:100%;max-width:100%;margin:0;position:relative;transform:translateY(clamp(-.75rem,-2vh,.35rem))}.hero-scene__central{z-index:1;object-fit:contain;object-position:center top;width:100%;max-width:100%;height:auto;max-height:min(78vh,35.5rem);margin:0 auto;display:block;position:relative}.site-canvas--entering .hero-scene__central,.site-canvas--entering .hero-scene__corner,.site-canvas--entering .hero-scene__butterfly,.site-canvas--entering .hero-scene__carriage{opacity:0}.site-canvas--entering .hero-scene__corner{transform:translateY(-2.35rem)}.site-canvas--entering .hero-scene__carriage{transform:translate(56%)translateY(.35rem)}.site-canvas--entering.site-canvas--hero-revealed .hero-scene__central{animation:hero-central-fade-in var(--opening-hero-ms) var(--ease-elegant) 40ms both}.site-canvas--entering.site-canvas--hero-revealed .hero-scene__corner--tl{animation:hero-corner-drop .52s var(--ease-elegant) 20ms both}.site-canvas--entering.site-canvas--hero-revealed .hero-scene__corner--tr{animation:hero-corner-drop .52s var(--ease-elegant) 90ms both}.site-canvas--entering.site-canvas--hero-revealed .hero-scene__butterfly--front{opacity:1;transition:opacity .38s var(--envelope-ease) .2s}.site-canvas--entering.site-canvas--hero-revealed .hero-scene__butterfly--angle{opacity:1;transition:opacity .38s var(--envelope-ease) .26s}.site-canvas--entering.site-canvas--hero-revealed .hero-scene__carriage{animation:hero-carriage-roll-in var(--opening-carriage-ms) var(--ease-elegant) .12s both}.hero-scene__corner{z-index:3;pointer-events:none;object-fit:cover;position:absolute}.hero-scene__corner--tl,.hero-scene__corner--tr{top:max(.25rem, env(safe-area-inset-top));width:clamp(4.75rem,26vw,7.5rem);height:clamp(4.75rem,26vw,7.5rem)}.hero-scene__corner--tl{object-position:top left;left:0}.hero-scene__corner--tr{object-position:top right;right:0}.hero-scene__butterfly{z-index:2;pointer-events:none;height:auto;position:absolute}.hero-scene__butterfly--front{width:clamp(2.35rem,12vw,3.15rem);top:14%;right:4%}.hero-scene__butterfly--angle{width:clamp(2rem,10vw,2.75rem);top:52%;right:6%}.hero-scene__carriage{z-index:1;right:clamp(-1.25rem,-6vw,-.35rem);bottom:calc(4.85rem + env(safe-area-inset-bottom,0px));opacity:.62;pointer-events:none;mix-blend-mode:multiply;width:min(108%,27.5rem);height:auto;margin:0;display:block;position:absolute;transform:translate(8%)}.hero-scroll-cue{display:none}@media (width<=359px){.hero-scene__central{max-height:min(76vh,34rem)}}@media (width>=360px) and (width<=389px){.hero-scene__central{max-height:min(77vh,35rem)}}@media (width>=430px){.hero-scene__central{max-height:min(80vh,36.5rem)}}@media (height<=700px){.hero-scene__central{max-height:min(74vh,33rem)}.hero-scene__carriage{width:min(98%,23rem);bottom:calc(4.35rem + env(safe-area-inset-bottom,0px));opacity:.55}}@media (prefers-reduced-motion:reduce){.hero-scroll-cue i{animation:none}.site-canvas--entering .hero-scene__central,.site-canvas--entering .hero-scene__corner,.site-canvas--entering .hero-scene__butterfly,.site-canvas--entering .hero-scene__carriage{opacity:1;transform:none;transition:none!important;animation:none!important}}.introduction-section{--introduction-art-max:min(100vw, var(--mobile-canvas-max,27.5rem));background:linear-gradient(180deg, #efe3d273 0%, var(--color-background) 28%);overflow-x:clip}.introduction-section.section{padding:clamp(2.25rem,7vw,2.75rem) 0 clamp(3rem,9vw,3.75rem)}.introduction-section__inner{width:100%;max-width:var(--introduction-art-max);margin-inline:auto;padding:0}.introduction-section__figure{text-align:center;margin:0}.introduction-section__artwork{object-fit:contain;width:100%;max-width:100%;height:auto;margin-inline:auto;display:block}.couple-section{--couple-art-max:min(100vw, var(--mobile-canvas-max,27.5rem));background:var(--color-background);overflow-x:clip}.couple-section.section{padding:clamp(2.5rem,8vw,3.25rem) 0 clamp(3rem,9vw,3.75rem)}.couple-section__inner{width:100%;max-width:var(--couple-art-max);margin-inline:auto;padding:0}.couple-heading{margin:0 0 clamp(.85rem,4.5vw,1.35rem);padding:0;font-weight:400}.couple-title{--couple-title-ink:#656b4c;--couple-title-font:"Great Vibes", var(--font-accent), cursive;isolation:isolate;width:100%;max-width:24.375rem;height:clamp(7.1rem,30vw,8.25rem);margin-inline:auto;position:relative;overflow:visible}.couple-title__amp{z-index:0;font-family:var(--couple-title-font);color:var(--color-champagne);opacity:.15;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(9.0625rem,37.8vw,10.3125rem);font-weight:400;line-height:.82;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.couple-title__groom,.couple-title__bride{z-index:1;font-family:var(--couple-title-font);color:var(--couple-title-ink);white-space:nowrap;letter-spacing:.01em;font-size:clamp(2.75rem,13.4vw,3.5rem);font-weight:400;line-height:1;position:absolute}.couple-title__groom{top:0;left:9%}.couple-title__bride{top:clamp(2.35rem,10.8vw,2.85rem);left:auto;right:7%}.couple-title__petal{z-index:2;pointer-events:none;background:var(--color-romantic);opacity:.24;border-radius:50% 0 50% 50%;position:absolute}.couple-title__petal--1{opacity:.22;width:4px;height:6px;top:4%;left:2%;transform:rotate(-18deg)}.couple-title__petal--2{opacity:.18;width:4px;height:5px;top:2%;left:28%;transform:rotate(12deg)scale(.85)}.couple-title__petal--3{opacity:.2;width:5px;height:6px;top:12%;right:8%;transform:rotate(-8deg)}.couple-artworks{flex-direction:column;align-items:center;gap:clamp(.85rem,2.8vh,1.35rem);margin-top:-.15rem;display:flex}.couple-main-artwork,.couple-blessing-artwork{object-fit:contain;width:100%;height:auto;margin-inline:auto;display:block}.couple-main-artwork{max-width:100%}.couple-blessing-artwork{width:100%;max-width:100%}.love-story-section{background:var(--color-background);overflow-x:clip}.love-story-section.section{padding:clamp(1.75rem,6vw,2.35rem) 0 clamp(2rem,7vw,2.75rem)}.love-story-section.section:not(.love-story-section--expanded){padding-bottom:clamp(2.35rem,8vw,3.1rem)}.love-story-section__inner{width:100%;max-width:min(100vw, var(--mobile-canvas-max,27.5rem));margin-inline:auto;padding:0}.love-story-body{--love-story-spine:clamp(4.35rem, 17.5vw, 5.35rem);position:relative}.love-story-heading-wrap{z-index:1;padding:clamp(.35rem,1.5vh,.75rem) clamp(.25rem,2vw,.5rem) clamp(.65rem,2.5vw,1rem);position:relative;overflow:visible}.love-story-heading{object-fit:contain;width:100%;max-width:100%;height:auto;margin:0 auto;display:block}.love-story-heading-wrap__petal{pointer-events:none;background:var(--color-romantic);opacity:.2;border-radius:50% 0 50% 50%;position:absolute}.love-story-heading-wrap__petal--1{width:4px;height:5px;top:12%;left:8%;transform:rotate(-12deg)}.love-story-heading-wrap__petal--2{width:5px;height:6px;top:20%;right:10%;transform:rotate(8deg)}.love-story-teaser{z-index:1;width:100%;max-width:min(100%, var(--mobile-canvas-max,27.5rem));text-align:center;margin:.15rem auto clamp(.75rem,3.5vw,1.1rem);padding:0 clamp(.5rem,3.5vw,.85rem);position:relative}.love-story-teaser__title{max-width:22.5rem;font-family:var(--font-display);color:#656b4c;margin:0 auto .55rem;font-size:clamp(1.05rem,4.2vw,1.18rem);font-style:italic;font-weight:500;line-height:1.35}.love-story-teaser__lead{max-width:23.75rem;font-family:var(--font-body);color:var(--color-text-muted);margin:0 auto 1rem;font-size:clamp(.84rem,2.9vw,.92rem);line-height:1.6}.love-story-teaser__btn{width:min(100%,14.5rem);font-family:var(--font-body);color:#fff8ed;background:var(--color-primary-dark);cursor:pointer;transition:transform .2s var(--ease-elegant), box-shadow .2s var(--ease-elegant), background .2s ease;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.72rem 1.1rem;font-size:.78rem;font-weight:600;display:inline-flex;box-shadow:0 6px 18px #39423233}.love-story-teaser__btn:hover:not(:disabled){background:#2f342d;transform:translateY(-1px);box-shadow:0 8px 20px #3942323d}.love-story-teaser__btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.love-story-teaser__btn:active:not(:disabled){transform:translateY(0)}.love-story-teaser__btn i{opacity:.95;filter:drop-shadow(0 1px 1px #00000026);font-size:.88rem}.love-story-teaser__btn--ghost{width:auto;min-width:10.5rem;color:var(--color-primary-dark);box-shadow:none;background:0 0;border:1.5px solid #59624973}.love-story-teaser__btn.love-story-teaser__btn--ghost:hover:not(:disabled){background:var(--color-primary-dark);color:#fff8ed;border-color:var(--color-primary-dark);box-shadow:0 6px 18px #39423233}.love-story-teaser__btn.love-story-teaser__btn--ghost:hover:not(:disabled) i{color:#fff8ed;opacity:1}.love-story-teaser__hint{max-width:23.75rem;font-family:var(--font-body);color:#5a574fbf;margin:.75rem auto 0;font-size:.72rem;line-height:1.5}.love-story-detail__footer{justify-content:center;margin:clamp(.75rem,3vw,1rem) auto .35rem;padding:0 clamp(.35rem,3vw,.75rem);display:flex}.love-story-section--expanded .love-story-teaser{margin-bottom:.85rem}.love-story-timeline{--love-story-spine-offset:clamp(-1.85rem, -7.2vw, -1.25rem);z-index:1;margin-top:clamp(.15rem,.8vw,.45rem);padding:0 clamp(.2rem,1.1vw,.45rem) clamp(.15rem,.8vw,.35rem);position:relative}.love-story-timeline__curve{z-index:0;left:calc(50% + var(--love-story-spine-offset));width:var(--love-story-spine);object-fit:fill;object-position:center top;pointer-events:none;height:100%;position:absolute;top:0;bottom:0;transform:translate(-50%)}.love-story-rows{z-index:1;flex-direction:column;gap:clamp(1.35rem,5vw,2rem);display:flex;position:relative}.love-story-row{grid-template-columns:minmax(0, 1.02fr) var(--love-story-spine) minmax(0, 1.12fr);align-items:center;gap:clamp(.2rem,1.1vw,.4rem);min-height:clamp(10.5rem,38vw,12.75rem);display:grid}.love-story-row__spine{pointer-events:none;align-self:stretch;min-height:2rem;position:relative}.love-story-row__flower{pointer-events:none;width:clamp(2.8125rem,12vw,3.75rem);height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.love-story-row__art{pointer-events:none;justify-content:center;align-items:center;min-height:clamp(6.5rem,24vw,8rem);display:flex;position:relative}.love-story-row__art--dove{justify-content:flex-start;align-items:flex-end;padding-bottom:.35rem}.love-story-row__hands{object-fit:contain;width:clamp(6.5625rem,30vw,7.8125rem);max-width:100%;height:auto}.love-story-row__bouquet{object-fit:contain;width:clamp(5.9375rem,27vw,7.1875rem);max-width:100%;height:auto}.love-story-row__dove{object-fit:contain;width:clamp(6.875rem,31vw,8.4375rem);max-width:100%;height:auto}.love-story-row__butterfly{pointer-events:none;width:clamp(2.1875rem,11vw,3.4375rem);height:auto;animation:7s ease-in-out infinite love-story-butterfly-float;position:absolute;bottom:0;right:0;transform:translate(15%,20%)}.love-story-row__copy{min-width:0;padding:.2rem clamp(.15rem,1vw,.35rem)}.love-story-row--text-right .love-story-row__copy{text-align:left;grid-column:3;place-self:center start;width:100%;margin-inline:clamp(-.35rem,-1.5vw,.15rem) 0;padding-inline:clamp(.25rem,1.2vw,.5rem) 0}.love-story-row--text-left .love-story-row__copy{text-align:left;grid-column:1;justify-self:start;width:100%;max-width:100%;margin-inline-start:clamp(.45rem,2.4vw,.85rem);padding-inline-end:clamp(.15rem,1vw,.35rem)}.love-story-row--text-right .love-story-row__art{grid-column:1}.love-story-row--text-right .love-story-row__spine{grid-column:2}.love-story-row--text-left .love-story-row__art{grid-column:3}.love-story-row--text-left .love-story-row__spine{grid-column:2}.love-story-chapter__title{font-family:"Great Vibes", var(--font-accent), cursive;color:#656b4c;margin:0 0 .5rem;font-size:clamp(2rem,8.2vw,2.375rem);font-weight:400;line-height:1.12}.love-story-chapter__text{font-family:var(--font-display);color:#5a574f;margin:0;font-size:clamp(.9375rem,4vw,1rem);font-weight:400;line-height:1.55}.love-story-closing{z-index:1;width:100%;max-width:26.875rem;margin:clamp(1.25rem,5vw,1.5rem) auto clamp(.35rem,1.5vw,.65rem);padding:0 clamp(.35rem,2vw,.65rem);position:relative}.love-story-closing__image{object-fit:contain;width:100%;height:auto;display:block}@media (width<=359px){.love-story-row{min-height:clamp(11rem,42vw,13.25rem)}.love-story-body{--love-story-spine:clamp(4rem, 16vw, 4.85rem)}}@media (prefers-reduced-motion:reduce){.love-story-row__butterfly{animation:none}}.countdown-section{background:var(--color-background);overflow-x:clip}.countdown-section.section{padding:clamp(1.35rem,5.5vw,2rem) 0 clamp(1.25rem,5vw,2rem)}.countdown-section__inner{width:100%;max-width:min(100%, var(--mobile-canvas-max,27.5rem));margin-inline:auto;padding:0}.countdown-heading{--countdown-ink:#656b4c;pointer-events:none;width:17.5rem;height:7.1875rem;margin:0 auto 1rem;font-weight:400;position:relative}.countdown-heading__counting{font-family:"Great Vibes", var(--font-accent), cursive;color:var(--countdown-ink);white-space:nowrap;font-size:3rem;font-weight:400;line-height:.92;position:absolute;top:0;left:0}.countdown-heading__days{font-family:var(--font-display);color:var(--countdown-ink);letter-spacing:.04em;white-space:nowrap;font-size:3rem;font-style:normal;font-weight:500;line-height:1;position:absolute;top:3rem;left:7.8125rem}.countdown-frame{--countdown-frame-scale:1.15;width:calc(100% * var(--countdown-frame-scale));max-width:none;margin-inline:calc((100% - 100% * var(--countdown-frame-scale)) / 2);position:relative;container:countdown-frame/inline-size}.countdown-frame__image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.countdown-frame__inner{box-sizing:border-box;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:70%;height:42%;padding:0 2px;display:flex;position:absolute;top:36%;left:15%;overflow:hidden;transform:translateY(-2%)}.countdown-frame__inner .countdown-calendar-btn{pointer-events:auto;flex-shrink:0}.countdown-values{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:4px;width:100%;display:grid}.countdown-value{text-align:center;min-width:0}.countdown-value__number,.countdown-unit__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:#656b4c;white-space:nowrap;text-overflow:clip;letter-spacing:-.02em;font-size:clamp(1.5625rem,8.5cqw,2.125rem);font-weight:500;line-height:1;display:block;overflow:hidden}.countdown-value__label,.countdown-unit__label{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#656b4ce0;margin-top:4px;font-size:.5625rem;font-weight:600;line-height:1.2;display:block}.countdown-calendar-btn{font-family:var(--font-body);letter-spacing:.03em;color:var(--color-paper);transition:background .2s var(--ease-elegant);background:#656b4c;border:none;border-radius:.45rem;justify-content:center;align-items:center;gap:.35rem;max-width:100%;margin-top:.65rem;padding:.36rem .75rem;font-size:.6875rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #39423238}.countdown-calendar-btn:hover{background:var(--color-primary-dark)}.countdown-unit--days-wide .countdown-value__number,.countdown-unit--days-wide .countdown-unit__value{letter-spacing:-.03em;font-size:clamp(1.375rem,7.2cqw,1.75rem)}@media (width<=359px){.countdown-heading{width:16rem;height:6.5rem}.countdown-heading__counting,.countdown-heading__days{font-size:2.75rem}.countdown-heading__days{top:2.75rem;left:7.25rem}.countdown-frame__inner{width:69%;height:41%;top:35.5%;left:15.5%;transform:translateY(-1.5%)}.countdown-value__number,.countdown-unit__value{font-size:clamp(1.4375rem,6.5vw,1.625rem)}}@media (width>=430px){.countdown-calendar-btn{margin-top:1rem}}.wedding-calendar{--cal-ink:#5c6349;width:100%;max-width:var(--mobile-canvas-max,27.5rem);text-align:center;box-sizing:border-box;margin:clamp(1rem,3.5vw,1.35rem) auto clamp(2.25rem,8vw,3rem);padding:1.25rem clamp(.65rem,3.5vw,1rem) .35rem;position:relative}.wedding-calendar__floral{opacity:.55;pointer-events:none;width:clamp(4.25rem,17vw,5.25rem);height:auto;position:absolute}.wedding-calendar__floral--tl{top:.15rem;left:0;transform:scaleX(-1)}.wedding-calendar__floral--br{bottom:.15rem;right:0}.wedding-calendar__month{font-family:"Great Vibes", var(--font-accent), cursive;color:var(--cal-ink);margin:0 0 .75rem;font-size:clamp(2.75rem,11vw,3.25rem);font-weight:400;line-height:1}.wedding-calendar__panel{padding:.75rem clamp(.25rem,2vw,.5rem) .55rem;position:relative}.wedding-calendar__year-watermark{font-family:var(--font-display);color:var(--cal-ink);opacity:.1;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin:0;font-size:clamp(5.25rem,26vw,6.75rem);font-weight:500;line-height:1;display:flex;position:absolute;inset:0}.wedding-calendar__weekdays{z-index:1;grid-template-columns:repeat(7,1fr);gap:.15rem;margin-bottom:.35rem;display:grid;position:relative}.wedding-calendar__weekday{font-family:var(--font-display);color:var(--cal-ink);font-size:clamp(.78rem,2.6vw,.88rem);font-style:italic;font-weight:500}.wedding-calendar__days{z-index:1;grid-template-columns:repeat(7,1fr);gap:.28rem .2rem;display:grid;position:relative}.wedding-calendar__day{min-height:clamp(1.85rem,6.5vw,2.15rem);font-family:var(--font-display);color:var(--cal-ink);place-items:center;font-size:clamp(.9rem,3.2vw,1.02rem);font-weight:500;display:grid}.wedding-calendar__day--empty{visibility:hidden}.wedding-calendar__day--wedding{font-weight:600;position:relative}.wedding-calendar__heart{color:var(--color-romantic);opacity:.92;place-items:center;font-size:clamp(1.55rem,6vw,1.85rem);line-height:1;display:grid;position:absolute;inset:0}.wedding-calendar__day-num{z-index:1;color:#fff8ed;text-shadow:0 1px #39423233;font-size:.78rem;font-weight:600;position:relative}.wedding-events{background:var(--color-background);overflow-x:clip}.wedding-events.section{padding:clamp(1.35rem,5.5vw,2.15rem) 0 clamp(2.25rem,7.5vw,3.25rem)}.wedding-events__title{font-family:"Great Vibes", var(--font-accent), cursive;text-align:center;color:#5c6349;margin:0 auto clamp(.35rem,1.5vw,.55rem);font-size:clamp(2.1rem,8.5vw,2.65rem);font-weight:400;line-height:1}.wedding-events__container{flex-direction:column;gap:clamp(1.5rem,5.5vw,2.5rem);width:100%;max-width:min(100vw,26.25rem);margin-inline:auto;padding:0 clamp(.5rem,2.5vw,.85rem);display:flex}.wedding-events__item{flex-direction:column;align-items:center;margin:0;display:flex}.wedding-events__image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;max-width:24.375rem;height:auto;margin-inline:auto;display:block}.wedding-events__maps-link{min-width:2.75rem;min-height:2.75rem;font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.03em;color:var(--color-paper);transition:background .2s var(--ease-elegant);background:#656b4c;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;margin-top:clamp(.65rem,2.8vw,.85rem);padding:.5rem 1.15rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #3942322e}.wedding-events__maps-link:hover{color:var(--color-paper);background:var(--color-primary-dark)}@media (width<=359px){.wedding-events__container{gap:1.35rem}.wedding-events__maps-link{padding-inline:1rem;font-size:.8125rem}}.wedding-timeline-section{background:var(--color-background);overflow-x:clip}.wedding-timeline-section.section{padding:clamp(2rem,7vw,3rem) 0 clamp(.5rem,2vw,.85rem);padding-inline:0}.wedding-timeline-section__inner{width:100%;max-width:min(100vw, var(--mobile-canvas-max,27.5rem));margin-inline:auto;padding:0}.wedding-timeline-heading{--timeline-ink:#656b4c;width:min(17.5rem,88vw);height:clamp(5rem,21vw,6rem);margin:0 auto clamp(.75rem,4vw,1.125rem);padding-inline:clamp(.65rem,3vw,1rem);font-weight:400;position:relative}.wedding-timeline-heading__wedding{font-family:"Great Vibes", var(--font-accent), cursive;color:var(--timeline-ink);white-space:nowrap;font-size:clamp(2.75rem,11.5vw,3.35rem);font-weight:400;line-height:.9;position:absolute;top:0;left:0}.wedding-timeline-heading__timeline{font-family:var(--font-display);letter-spacing:.04em;color:var(--timeline-ink);white-space:nowrap;font-size:clamp(2.5rem,10.5vw,3rem);font-style:italic;font-weight:500;line-height:1;position:absolute;bottom:0;right:0}.wedding-timeline-stage{--timeline-curtain-scale:1.18;--timeline-agenda-offset:.48;--timeline-agenda-shift-x:1.05rem;width:100%;max-width:min(100vw, var(--mobile-canvas-max,27.5rem));isolation:isolate;grid-template-columns:1fr;margin-inline:auto;display:grid;position:relative;overflow:visible;container:timeline-stage/inline-size}.wedding-timeline-stage__curtain{z-index:0;width:calc(100% * var(--timeline-curtain-scale));max-width:none;height:auto;margin-left:calc((1 - var(--timeline-curtain-scale)) * 50%);object-fit:contain;object-position:center top;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;grid-area:1/1;display:block}.wedding-timeline-list{z-index:1;width:min(78%,17.5rem);transform:translateX(var(--timeline-agenda-shift-x));padding:calc(100cqi * (1086 / 1448) * var(--timeline-curtain-scale) * var(--timeline-agenda-offset)) 0 clamp(.25rem, 1.5vw, .5rem);flex-direction:column;grid-area:1/1;gap:.25rem;margin:0 auto;list-style:none;display:flex}.wedding-timeline-row{grid-template-columns:clamp(3.75rem,16cqi,4.5rem) minmax(0,1fr);align-items:center;column-gap:clamp(.5rem,2.8cqi,.75rem);min-height:clamp(4.25rem,18.5cqi,4.75rem);margin:0;display:grid}.wedding-timeline-row__icon-wrap{justify-content:flex-end;align-items:center;width:100%;padding-right:.1rem;display:flex}.wedding-timeline-row__icon{object-fit:contain;object-position:center;width:clamp(3.5rem,15cqi,4rem);height:auto;max-height:4.15rem;display:block}.wedding-timeline-row__copy{text-align:left;min-width:0}.wedding-timeline-row__time{font-family:var(--font-display);color:#474e3e;font-variant-numeric:tabular-nums;letter-spacing:0;margin:0;font-size:clamp(1.1875rem,5.25cqi,1.3125rem);font-weight:700;line-height:1.05}.wedding-timeline-row__label{font-family:var(--font-display);color:#656b4c;letter-spacing:0;margin:.12rem 0 0;font-size:clamp(.975rem,4.2cqi,1.0625rem);font-weight:500;line-height:1.22}.wedding-timeline-stage__petal{z-index:2;pointer-events:none;background:var(--color-romantic);opacity:.22;border-radius:50% 0 50% 50%;position:absolute}.wedding-timeline-stage__petal--1{width:5px;height:6px;top:14%;left:8%;transform:rotate(-18deg)}.wedding-timeline-stage__petal--2{width:6px;height:7px;top:38%;right:10%;transform:rotate(12deg)}.wedding-timeline-stage__petal--3{opacity:.18;width:5px;height:5px;bottom:10%;left:12%;transform:rotate(8deg)}.wedding-timeline-section__garden{z-index:0;width:min(96%, calc(var(--mobile-canvas-max,27.5rem) * .96));max-width:min(100vw, var(--mobile-canvas-max,27.5rem));opacity:.52;mix-blend-mode:screen;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;height:auto;margin:clamp(.5rem,2.5vw,.85rem) auto 0;padding:0;display:block;position:relative;transform:none}@media (width<=359px){.wedding-timeline-section__garden{opacity:.48;width:min(98%,26.5rem)}.wedding-timeline-list{width:min(82%,16.5rem);padding-top:calc(100cqi * (1086 / 1448) * var(--timeline-curtain-scale) * .44)}.wedding-timeline-row{column-gap:.45rem;min-height:4rem}.wedding-timeline-row__icon{width:3.25rem}}@media (width>=430px){.wedding-timeline-list{width:min(76%,18rem);padding-top:calc(100cqi * (1086 / 1448) * var(--timeline-curtain-scale) * .5)}}@media (prefers-reduced-motion:reduce){.wedding-timeline-row[data-aos]{opacity:1!important;transform:none!important}}.rsvp-section{background:var(--color-background);overflow-x:clip}.rsvp-section.section{padding:clamp(2rem,7vw,2.75rem) 0 clamp(2.5rem,8vw,3.25rem)}.rsvp-section__inner{width:100%;max-width:min(100vw, var(--mobile-canvas-max,27.5rem));margin-inline:auto;padding-inline:clamp(.85rem,4vw,1.15rem)}.rsvp-header{text-align:center;margin-bottom:clamp(1.1rem,4vw,1.5rem)}.rsvp-header__title{max-width:16rem;font-family:var(--font-accent);color:#5c6349;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .45rem;margin:0 auto .65rem;font-size:clamp(1.7rem,8vw,2.25rem);font-weight:400;line-height:1.15;display:flex}.rsvp-header__heart{color:var(--color-romantic);font-size:.55em;line-height:1;transform:translateY(.12em)}.rsvp-header__intro{max-width:20rem;font-family:var(--font-display);color:var(--color-text-muted);margin:0 auto;font-size:clamp(.82rem,2.6vw,.9rem);font-style:italic;line-height:1.55}.rsvp-stage{position:relative}.rsvp-stage__heart{z-index:2;pointer-events:none;background:var(--color-romantic);opacity:.32;border-radius:50% 0 50% 50%;width:.5rem;height:.5rem;position:absolute;transform:rotate(-16deg)}.rsvp-stage__heart--1{top:6%;left:8%}.rsvp-stage__heart--2{opacity:.25;top:22%;right:6%}.rsvp-stage__heart--3{opacity:.22;top:48%;left:5%;transform:rotate(10deg)}.rsvp-stage__heart--4{opacity:.28;bottom:12%;right:10%}.rsvp-card{z-index:1;background:linear-gradient(165deg,#5f6c56 0%,#4a5544 52%,#3d4638 100%);border-radius:1.65rem;padding:clamp(1.45rem,5.5vw,1.75rem) clamp(1rem,4.2vw,1.25rem) clamp(1.35rem,4.5vw,1.6rem);position:relative;box-shadow:0 14px 36px #39423238}.rsvp-card__flower{pointer-events:none;filter:drop-shadow(0 5px 10px #00000026);width:clamp(3.75rem,15vw,4.75rem);height:auto;position:absolute;top:-.2rem;right:.2rem}.rsvp-card__tassel{pointer-events:none;opacity:.92;width:clamp(2.25rem,9vw,2.85rem);height:auto;position:absolute;bottom:-1.65rem;left:.55rem}.rsvp-form{flex-direction:column;gap:.9rem;display:flex}.rsvp-name{position:relative}.rsvp-name__lock{color:#fff8edb8;pointer-events:none;font-size:.72rem;position:absolute;bottom:.55rem;right:0}.rsvp-name .rsvp-field__input{padding-right:1.4rem}.rsvp-name__note{letter-spacing:.01em;color:#fff8edc7;margin:.15rem 0 0;font-size:.75rem}.rsvp-field{flex-direction:column;gap:.35rem;display:flex}.rsvp-field__label{font-family:var(--font-display);letter-spacing:.04em;color:#fff8ede0;font-size:clamp(.98rem,3.2vw,1.08rem);font-weight:500}.rsvp-field__label--hint{font-family:var(--font-display);color:#e8a4acf2;letter-spacing:.02em;font-size:clamp(1.02rem,3.4vw,1.12rem);font-style:italic}.rsvp-field__input{width:100%;font-family:var(--font-body);font-size:var(--text-sm);color:#fff8ed;background:0 0;border:none;border-bottom:1.5px solid #fff8edd1;border-radius:0;outline:none;padding:.35rem 0 .5rem}.rsvp-field__input:focus{border-bottom-color:#fff8ed}.rsvp-form.was-validated .rsvp-field__input:invalid{border-bottom-color:#e8a4a4}.rsvp-field--guests{gap:.35rem}.rsvp-stepper{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.rsvp-stepper__controls{align-items:center;gap:.35rem;display:flex}.rsvp-stepper__btn{color:#fff8ed;cursor:pointer;background:#fff8ed14;border:1.5px solid #fff8edb3;border-radius:999px;width:2.75rem;height:2.75rem;font-size:1.15rem;line-height:1}.rsvp-stepper__btn:disabled{opacity:.35;cursor:not-allowed}.rsvp-stepper__btn:focus-visible,.rsvp-submit:focus-visible,.rsvp-choice:focus-within{outline-offset:2px;outline:2px solid #fff8ed}.rsvp-stepper__value{color:#fff8ed;width:2rem;font-family:var(--font-display);text-align:center;background:0 0;border:none;font-size:1.05rem}.rsvp-stepper__hint{color:#fff8edc7;margin:0;font-size:.78rem}.rsvp-attendance{border:none;margin:.15rem 0 0;padding:0}.rsvp-attendance__legend{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;text-align:center;color:#fff8ede6;margin:0 0 .75rem;padding:0;font-size:clamp(.72rem,2.3vw,.78rem);font-weight:600}.rsvp-choices{flex-direction:column;gap:.65rem;display:flex}.rsvp-choice{cursor:pointer;min-height:2.75rem;transition:border-color .2s var(--ease-elegant), background .2s var(--ease-elegant);background:#0000000f;border:1.5px solid #fff8ed8c;border-radius:.65rem;align-items:center;gap:.65rem;padding:.65rem .85rem;display:flex}.rsvp-choice:hover{border-color:#fff8edbf}.rsvp-choice__box{background:0 0;border:1.5px solid #fff8edd9;border-radius:50%;flex-shrink:0;width:1.15rem;height:1.15rem;position:relative}.rsvp-choice__box:after{content:"";width:.42rem;height:.42rem;transition:transform .18s var(--ease-elegant);background:#fff8ed;border-radius:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(0)}.rsvp-choice__input:checked+.rsvp-choice__box:after{transform:translate(-50%,-50%)scale(1)}.rsvp-choice:has(.rsvp-choice__input:checked){background:#fff8ed14;border-color:#fff8edeb}.rsvp-choice__text{font-family:var(--font-display);color:#fff8ed;font-size:clamp(.92rem,3vw,1rem);line-height:1.35}.rsvp-form.was-validated .rsvp-attendance:invalid .rsvp-choice{border-color:#e8a4a4a6}.rsvp-submit{width:100%;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#2e342c;cursor:pointer;transition:transform .2s var(--ease-elegant), box-shadow .2s var(--ease-elegant);background:#fff8ed;border:none;border-radius:.65rem;justify-content:center;align-items:center;margin-top:.25rem;padding:.78rem 1rem;font-size:.78rem;font-weight:600;display:flex;box-shadow:0 6px 16px #0000001f}.rsvp-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #00000029}.rsvp-submit:active:not(:disabled){transform:translateY(0)}.rsvp-submit:disabled{opacity:.65;cursor:not-allowed}.rsvp-feedback{text-align:center;color:#fff8ede6;margin:.65rem 0 0;font-size:.75rem}.rsvp-feedback.is-error{color:#ffc9c9}.rsvp-feedback.is-success{color:#d4e8c8}.rsvp-done{text-align:center;justify-items:center;gap:.85rem;padding:.4rem .15rem .15rem;display:grid}.rsvp-done__mark{color:#fff8ed;border:1.5px solid #fff8edcc;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;margin:0;font-size:.95rem;display:grid}.rsvp-done__text{max-width:18rem;font-family:var(--font-display);color:#fff8ed;margin:0;font-size:1rem;line-height:1.5}.rsvp-done .rsvp-submit{margin-top:.15rem}.rsvp-stage{padding-bottom:1.35rem}@media (prefers-reduced-motion:reduce){.rsvp-submit,.rsvp-choice__box:after,.rsvp-choice{transition:none}}.wishes-section{background:var(--color-background);overflow-x:clip}.wishes-section.section{padding:clamp(2rem,7vw,2.75rem) 0 clamp(2.5rem,8vw,3.25rem)}.wishes-section__inner{width:100%;max-width:min(100vw, var(--mobile-canvas-max,27.5rem));margin-inline:auto;padding-inline:clamp(.85rem,4vw,1.15rem)}.wishes-stage{position:relative}.wishes-stage__heart{z-index:2;pointer-events:none;background:var(--color-romantic);opacity:.35;border-radius:50% 0 50% 50%;width:.55rem;height:.55rem;position:absolute;transform:rotate(-18deg)}.wishes-stage__heart--1{opacity:.28;top:4%;left:6%}.wishes-stage__heart--2{width:.45rem;height:.45rem;top:14%;right:10%}.wishes-stage__heart--3{opacity:.22;top:38%;left:4%;transform:rotate(12deg)}.wishes-stage__heart--4{opacity:.3;bottom:18%;right:6%}.wishes-stage__heart--5{opacity:.25;width:.5rem;height:.5rem;top:58%;right:14%}.wishes-card{z-index:1;background:linear-gradient(165deg,#5f6c56 0%,#4a5544 52%,#3d4638 100%);border-radius:1.65rem;padding:clamp(1.35rem,5vw,1.65rem) clamp(1rem,4.2vw,1.25rem) clamp(1.35rem,4.5vw,1.65rem);position:relative;box-shadow:0 14px 36px #39423238}.wishes-card__butterfly{pointer-events:none;filter:drop-shadow(0 6px 10px #0000002e);width:clamp(4.5rem,18vw,5.5rem);height:auto;position:absolute;top:-.35rem;right:.15rem}.wishes-card__head{text-align:center;margin-bottom:clamp(1rem,4vw,1.25rem)}.wishes-card__eyebrow{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:#fff8ed9e;margin:0 0 .35rem;font-size:.62rem;font-weight:600}.wishes-card__title{font-family:var(--font-accent);color:#fff8ed;margin:0 0 .5rem;font-size:clamp(2.15rem,8.5vw,2.55rem);font-weight:400;line-height:1.05}.wishes-card__lead{max-width:17.5rem;font-family:var(--font-display);color:#fff8edc7;margin:0 auto;font-size:clamp(.82rem,2.6vw,.9rem);font-style:italic;line-height:1.55}.wishes-form{margin-bottom:.35rem}.wishes-compose{background:#fff8ed;border-radius:1.1rem;padding:clamp(.85rem,3.5vw,1rem) clamp(.85rem,3.5vw,1rem) clamp(3.1rem,11vw,3.35rem);position:relative;box-shadow:inset 0 0 0 1px #ffffff59}.wishes-compose__input{width:100%;min-height:5.25rem;font-family:var(--font-body);color:#3d4638;resize:vertical;background:0 0;border:none;outline:none;padding:0;font-size:.84rem;line-height:1.5;display:block}.wishes-compose__input::placeholder{color:#3d46386b}.wishes-compose__submit{font-family:var(--font-body);color:#fff8ed;cursor:pointer;transition:transform .2s var(--ease-elegant), background .2s ease;background:#4a5544;border:none;border-radius:999px;align-items:center;gap:.4rem;padding:.48rem .85rem;font-size:.72rem;font-weight:600;display:inline-flex;position:absolute;bottom:clamp(.65rem,2.8vw,.85rem);right:clamp(.65rem,2.8vw,.85rem);box-shadow:0 4px 12px #00000024}.wishes-compose__submit:hover:not(:disabled){background:#3d4638;transform:translateY(-1px)}.wishes-compose__submit:disabled{opacity:.65;cursor:not-allowed}.wishes-feedback{text-align:center;color:#fff8ede6;margin:.55rem 0 0;font-size:.75rem}.wishes-feedback.is-error{color:#ffc9c9}.wishes-feed{border-top:1px solid #fff8ed47;margin-top:clamp(1.15rem,4.5vw,1.45rem);padding-top:clamp(1rem,4vw,1.25rem)}.wishes-feed__toolbar{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.85rem;display:flex}.wishes-feed__heading{font-family:var(--font-display);color:#fff8ed;margin:0;font-size:clamp(1.02rem,3.6vw,1.12rem);font-weight:500}.wishes-feed__count{font-family:var(--font-body);color:#fff8eda6;margin:0;font-size:.72rem}.wishes-tabs{background:#00000024;border-radius:999px;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.85rem;padding:.28rem;display:grid}.wishes-tabs__btn{font-family:var(--font-body);color:#fff8edc7;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.52rem .65rem;font-size:.74rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.wishes-tabs__btn i{opacity:.85;font-size:.72rem}.wishes-tabs__btn.is-active{color:#3d4638;background:#fff8ed;box-shadow:0 2px 8px #0000001f}.wishes-panel{min-height:6.5rem;padding:clamp(.35rem,1.5vw,.5rem) 0}.wishes-panel--scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#fff8ed52 transparent;max-height:min(28rem,72vh);padding-inline:.05rem;overflow-y:auto}.wishes-panel--scroll::-webkit-scrollbar{width:4px}.wishes-panel--scroll::-webkit-scrollbar-track{background:0 0}.wishes-panel--scroll::-webkit-scrollbar-thumb{background:#fff8ed47;border-radius:999px}.wishes-panel--scroll::-webkit-scrollbar-thumb:hover{background:#fff8ed73}@media (width>=720px){.wishes-panel--scroll{scrollbar-gutter:auto;padding-inline-end:.15rem}.wishes-panel--scroll::-webkit-scrollbar{width:3px}}.wishes-empty{text-align:center;font-family:var(--font-body);color:#fff8edb8;margin:0;padding:1.35rem .5rem;font-size:.82rem;font-style:italic;line-height:1.5}.wishes-feed__list{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.wishes-feed__item{border-bottom:1px solid #fff8ed29;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem .55rem;padding:.85rem 0;display:grid}.wishes-feed__list--ranked .wishes-feed__item--ranked{background:#0000001a;border-bottom:none;border-radius:.95rem;gap:.65rem .55rem;margin-inline:-.35rem;padding:.75rem .55rem;box-shadow:inset 0 0 0 1px #fff8ed14}.wishes-feed__list--ranked .wishes-feed__item--ranked+.wishes-feed__item--ranked{margin-top:.45rem}.wishes-feed__item--rank-1{background:linear-gradient(135deg,#ffe08229 0%,#0000001f 70%);box-shadow:inset 0 0 0 1px #ffe08259,0 4px 14px #0000001f}.wishes-feed__item--rank-2{box-shadow:inset 0 0 0 1px #d2dae447}.wishes-feed__item--rank-3{box-shadow:inset 0 0 0 1px #d9a06c52}.wishes-feed__avatar--rank-1{color:#4a3a12;background:linear-gradient(145deg,#ffe7a3 0%,#e8c96a 55%,#d4aa3a 100%);border-color:#ffebaabf;font-weight:700;box-shadow:0 0 0 2px #ffe08240}.wishes-feed__avatar--rank-2{color:#3a3f44;background:linear-gradient(145deg,#f0f2f4 0%,#c9ced4 55%,#a8afb8 100%);border-color:#dce4ecd9;font-weight:700}.wishes-feed__avatar--rank-3{color:#4a3020;background:linear-gradient(145deg,#ffd9b8 0%,#d9a06c 55%,#b8783f 100%);border-color:#d9a06cbf;font-weight:700}.wishes-feed__avatar--rank-4,.wishes-feed__avatar--rank-5{color:#fff8ede0;background:#fff8ed29;border-color:#fff8ed47}.wishes-feed__item:last-child{border-bottom:none;padding-bottom:.35rem}.wishes-feed__list--ranked .wishes-feed__item--ranked:last-child{padding-bottom:.75rem}.wishes-feed__avatar{width:2.25rem;height:2.25rem;font-family:var(--font-body);color:#fff8ed8c;background:#fff8ed1f;border:1px solid #fff8ed2e;border-radius:999px;place-items:center;font-size:.82rem;font-weight:600;display:grid}.wishes-feed__body{min-width:0}.wishes-feed__meta{flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin-bottom:.35rem;display:flex}.wishes-feed__name{font-family:var(--font-display);color:#fff8ed;font-size:.9rem;font-weight:600}.wishes-feed__date{font-family:var(--font-body);color:#fff8ed8c;font-size:.68rem}.wishes-feed__message{font-family:var(--font-body);color:#fff8ede0;margin:0;font-size:.8rem;line-height:1.55}.wishes-feed__like{font-family:var(--font-body);color:#fff8ede6;cursor:pointer;background:#fff8ed14;border:1px solid #fff8ed47;border-radius:999px;align-items:center;gap:.35rem;margin-top:.1rem;padding:.32rem .62rem;font-size:.72rem;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.wishes-feed__like--static{cursor:default;pointer-events:none}.wishes-feed__like i{font-size:.68rem}.wishes-feed__like:hover:not(:disabled){background:#fff8ed29;border-color:#fff8ed73}.wishes-feed__like:active:not(:disabled){transform:scale(.97)}.wishes-feed__like.is-liked{color:#fff8ed;background:#ffb6c138;border-color:#ffb6c18c}.wishes-feed__like--lead .wishes-feed__like-count{font-size:.82rem;font-weight:700}.wishes-feed__like--r1.wishes-feed__like--lead{background:#ffe08238;border-color:#ffe0828c;padding:.4rem .75rem}.wishes-feed__like--r1.wishes-feed__like--lead i{color:#ffe7a3}.wishes-feed__like--r2.wishes-feed__like--lead{background:#d2dae429;border-color:#d2dae46b}.wishes-feed__like--r3.wishes-feed__like--lead{background:#d9a06c2e;border-color:#d9a06c7a}.wishes-feed__like:disabled{opacity:.6;cursor:progress}.wishes-feed__like-count{text-align:center;min-width:.85rem}.wishes-expand{width:100%;font-family:var(--font-body);color:#fff8ede0;cursor:pointer;background:0 0;border:1px solid #fff8ed52;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;margin-top:.85rem;padding:.65rem 1rem;font-size:.76rem;font-weight:600;transition:background .2s,border-color .2s;display:flex}.wishes-expand:hover:not(:disabled){background:#fff8ed14;border-color:#fff8ed80}.wishes-expand i{font-size:.65rem}@media (prefers-reduced-motion:reduce){.wishes-compose__submit,.wishes-feed__like,.wishes-expand{transition:none}}.gift-section{background:var(--color-background);overflow-x:clip}.gift-section.section{padding:clamp(2rem,7vw,2.75rem) 0 clamp(2.5rem,8vw,3.25rem)}.gift-section__inner{width:100%;max-width:min(100vw, var(--mobile-canvas-max,27.5rem));margin-inline:auto;padding-inline:clamp(.85rem,4vw,1.15rem)}.gift-header{text-align:center;margin-bottom:clamp(.75rem,3vw,1rem)}.gift-header__title{font-family:var(--font-accent);color:#4f5846;margin:0 0 clamp(.85rem,3.5vw,1.1rem);font-size:clamp(2.5rem,10vw,3.1rem);font-weight:400;line-height:1}.gift-header__text{max-width:20.5rem;font-family:var(--font-display);color:var(--color-text-muted);margin:0 auto;font-size:clamp(.84rem,2.6vw,.92rem);line-height:1.65}.gift-header__text+.gift-header__text{margin-top:clamp(1.1rem,4vw,1.45rem)}.gift-header__text--thanks{max-width:18.5rem;color:var(--color-text)}.gift-illustration{width:min(16.5rem,88vw);margin:.25rem auto 1.1rem;position:relative}.gift-illustration__hands{opacity:.92;width:100%;height:auto;margin-inline:auto;display:block}.gift-illustration__heart{pointer-events:none;background:var(--color-romantic);opacity:.35;border-radius:50% 0 50% 50%;width:.5rem;height:.5rem;position:absolute;transform:rotate(-14deg)}.gift-illustration__heart--1{top:8%;left:2%}.gift-illustration__heart--2{opacity:.28;top:18%;right:0}.gift-illustration__heart--3{opacity:.25;width:.42rem;height:.42rem;bottom:22%;left:12%}.gift-tabs{justify-content:center;gap:clamp(1.5rem,9vw,2.35rem);margin-bottom:.35rem;display:flex}.gift-tabs__btn{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-champagne);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin:0;padding:.25rem .1rem .45rem;font-size:clamp(.78rem,2.4vw,.86rem);font-weight:600;transition:color .12s ease-out,border-color .12s ease-out}.gift-tabs__btn.is-active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary-dark)}.gift-tabs__rule{background:linear-gradient(90deg,#0000 0%,#59624947 12% 88%,#0000 100%);height:1px;margin-bottom:1.15rem}.gift-panel.gift-panel--swap{animation:.22s ease-out both gift-panel-swap-in}.gift-panel[hidden]{display:none!important}@keyframes gift-panel-swap-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translate(0,0)}}.gift-cards{flex-direction:column;gap:.85rem;display:flex}.gift-card{background:linear-gradient(145deg,#fff9f0 0%,#f5ebdc 48%,#efe4d4 100%);border:1px solid #d7bb9173;border-radius:1rem;padding:1rem 1rem .95rem;box-shadow:0 10px 24px #403b341a,inset 0 1px #ffffff8c}.gift-card__top{align-items:center;gap:.55rem;margin-bottom:.85rem;display:flex}.gift-card__chip{background:linear-gradient(135deg,#d4a24a 0%,#b8862f 55%,#e8c06a 100%);border-radius:.28rem;flex-shrink:0;width:1.65rem;height:1.2rem;box-shadow:inset 0 1px #ffffff59}.gift-card__bank{font-family:var(--font-display);color:#5c554c;flex:auto;font-size:1.05rem;font-style:italic;font-weight:600}.gift-card__icon{color:#5c554c73;font-size:1rem}.gift-card__account-row{justify-content:space-between;align-items:flex-end;gap:.65rem;margin-bottom:.55rem;display:flex}.gift-card__label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#5c554ca6;margin-bottom:.15rem;font-size:.62rem;font-weight:600;display:block}.gift-card__account-col{flex:auto;min-width:0}.gift-card__number-wrap{align-items:center;gap:.45rem;display:flex}.gift-card__number{font-family:var(--font-body);letter-spacing:.06em;color:#3f3a34;word-break:break-all;margin:0;font-size:clamp(1.05rem,3.8vw,1.15rem);font-weight:700}.gift-card__reveal{width:1.85rem;height:1.85rem;color:var(--color-primary-dark);cursor:pointer;transition:background .2s var(--ease-elegant), color .2s var(--ease-elegant);background:#5962491a;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.gift-card__reveal:hover{background:#5962492e}.gift-card__reveal i{font-size:.82rem;line-height:1}.gift-card__copy{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary-dark);cursor:pointer;transition:background .2s var(--ease-elegant), border-color .2s var(--ease-elegant);background:#fff8edd9;border:1px solid #59624938;border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;padding:.38rem .7rem;font-size:.68rem;font-weight:600;display:inline-flex}.gift-card__copy:hover{background:#fff8ed;border-color:#59624959}.gift-card__copy i{opacity:.85;font-size:.72rem}.gift-card__holder{font-family:var(--font-display);color:#5c554cc7;margin:0;font-size:.82rem;font-style:italic}.gift-parcel__intro{text-align:center;font-family:var(--font-display);color:var(--color-text-muted);margin:0 0 .85rem;font-size:clamp(.84rem,2.6vw,.92rem);line-height:1.5}.gift-parcel-card{text-align:left;background:linear-gradient(145deg,#fff9f0 0%,#f5ebdc 48%,#efe4d4 100%);border:1px solid #d7bb9173;border-radius:1rem;padding:.25rem 1rem .85rem;box-shadow:0 10px 24px #403b3414}.gift-parcel-row{border-bottom:1px solid #5962491f;padding:.75rem 0}.gift-parcel-row--last{border-bottom:none;padding-bottom:.35rem}.gift-parcel-row__label{font-family:var(--font-body);color:var(--color-text-muted);margin-bottom:.3rem;font-size:.72rem;display:block}.gift-parcel-row__value{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);margin:0;font-weight:600;line-height:1.5}.gift-parcel-row__value--address{white-space:pre-line}.gift-parcel-row__link{color:var(--color-text);font-weight:600;text-decoration:none}.gift-parcel-row__link:hover{color:var(--color-primary-dark)}.gift-parcel-sensitive{align-items:flex-start;gap:.45rem;display:flex}.gift-parcel-sensitive .gift-parcel-row__value{flex:auto;min-width:0}.gift-parcel-row__value--phone{margin:0}.gift-parcel-sensitive__actions{flex-shrink:0;align-items:center;gap:.35rem;margin-top:.1rem;display:flex}.gift-parcel-action{width:1.85rem;height:1.85rem;color:var(--color-primary-dark);cursor:pointer;transition:background .2s var(--ease-elegant), transform .16s var(--ease-elegant);background:#5962491a;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.gift-parcel-action:hover{background:#5962492e}.gift-parcel-action:active{transform:scale(.96)}.gift-parcel-action.is-copied{background:#59624938}.gift-parcel-action i{font-size:.82rem;line-height:1}@media (prefers-reduced-motion:reduce){.gift-panel.gift-panel--swap{animation:none}}.closing-section{background:var(--color-background);overflow-x:clip}.closing-section.section{padding:clamp(1.75rem, 6vw, 2.5rem) 0 calc(clamp(2rem, 7vw, 2.75rem) + var(--safe-bottom))}.closing-section__inner{width:100%;max-width:min(100vw, var(--mobile-canvas-max,27.5rem));text-align:center;margin-inline:auto;padding-inline:clamp(.75rem,4vw,1rem)}.closing-border-art,.closing-dance-wrap{--closing-pad-x:clamp(.75rem, 4vw, 1rem)}.closing-border-art{width:calc(100% + 2 * var(--closing-pad-x));max-width:100vw;height:auto;margin:.5rem calc(-1 * var(--closing-pad-x)) 0;object-fit:contain;object-position:center bottom;display:block}.closing-dance-wrap{width:calc(100% + 2 * var(--closing-pad-x));max-width:100vw;margin:0 calc(-1 * var(--closing-pad-x)) .5rem;position:relative}.closing-dance-wrap__art{z-index:1;width:100%;height:auto;margin-inline:auto;display:block;position:relative}.closing-dance-wrap__butterfly{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:multiply;opacity:.52;height:auto;animation:8s ease-in-out infinite float-butterfly;position:absolute}.closing-dance-wrap__butterfly--tl{width:clamp(2.2rem,12vw,3.15rem);animation-delay:.5s;top:6%;left:8%}.closing-dance-wrap__butterfly--tr{width:clamp(2rem,10.5vw,2.9rem);animation-delay:2.1s;top:10%;right:6%}.closing-dance-wrap__heart{z-index:2;pointer-events:none;background:var(--color-romantic);opacity:.35;border-radius:50% 0 50% 50%;width:.45rem;height:.45rem;position:absolute;transform:rotate(-12deg)}.closing-dance-wrap__heart--1{top:6%;left:4%}.closing-dance-wrap__heart--2{opacity:.28;top:14%;right:2%}.closing-dance-wrap__heart--3{opacity:.22;top:42%;left:0}.closing-dance-wrap__heart--4{opacity:.3;bottom:28%;right:6%}.closing-heading{margin:0 0 .85rem;padding-top:.15rem;position:relative}.closing-heading__hearts{color:var(--color-romantic);opacity:.85;justify-content:center;gap:.35rem;margin-bottom:.15rem;font-size:.55rem;display:flex}.closing-heading__text{font-family:var(--font-display);color:var(--color-primary-dark);letter-spacing:.02em;font-size:clamp(2rem,8vw,2.45rem);font-weight:500;line-height:1.1;display:block}.closing-message{max-width:18.5rem;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#9a8b6f;margin:0 auto .9rem;font-size:clamp(.62rem,2vw,.68rem);font-weight:500;line-height:1.65}.closing-thanks{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:#9a8b6f;margin:0 0 .65rem;font-size:clamp(.58rem,1.9vw,.64rem);font-weight:500}.closing-monogram-art{width:min(15.5rem,86vw);height:auto;margin:0 auto .35rem;display:block}.floating-controls{--fab-float-bottom:calc(2.85rem + env(safe-area-inset-bottom,0px));z-index:1050;bottom:var(--fab-float-bottom);width:min(100vw, var(--mobile-canvas-max,27.5rem));pointer-events:none;padding-inline:max(1.05rem, env(safe-area-inset-left)) max(1.05rem, env(safe-area-inset-right));justify-content:space-between;align-items:flex-end;display:flex;position:fixed;left:50%;right:auto;transform:translate(-50%)}.floating-controls.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.floating-controls.floating-controls--music-only .speed-dial{visibility:hidden;pointer-events:none;opacity:0}.music-control{pointer-events:auto;flex-direction:column;align-items:center;gap:.4rem;display:flex}.music-control.is-hidden{display:none}.music-control__volume{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s var(--ease-elegant,ease), transform .22s var(--ease-elegant,ease), visibility .22s;transform:translateY(.4rem)scale(.94)}.music-control__volume:not([hidden]){display:block}.music-control__volume.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.music-control__volume-inner{cursor:pointer;background:#fff3e4f0;border:1px solid #d7bb918c;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .4rem .45rem;display:flex;box-shadow:0 4px 12px #3942321a}.music-control__vol-icon{text-align:center;color:var(--color-primary-dark,#394232);opacity:.88;font-size:.72rem}.music-control__slider{writing-mode:vertical-lr;cursor:pointer;width:1.25rem;height:4.35rem;accent-color:var(--color-primary,#596249);touch-action:pan-y;direction:rtl;background:0 0;margin:0;padding:0}.music-control__slider:disabled{opacity:.45;cursor:not-allowed}.fab{pointer-events:auto;cursor:pointer;width:3.25rem;height:3.25rem;transition:transform .22s var(--ease-elegant), box-shadow .22s var(--ease-elegant);background:radial-gradient(circle at 32% 28%,#6a7760 0%,#596249 52%,#394232 100%);border:2px solid #d7bb91b8;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 8px 18px #39423238,inset 0 1px #fff3e433}.fab:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 22px #39423242,inset 0 1px #fff3e43d}.fab:disabled{opacity:.55;cursor:not-allowed}.fab img{filter:brightness(0)invert();opacity:.95;width:1.35rem;height:1.35rem}.fab.is-playing{box-shadow:0 10px 22px #39423247,inset 0 0 0 2px #fff3e424}.speed-dial{pointer-events:auto;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:.45rem;max-width:min(100vw - 5.5rem,16.5rem);display:flex;position:relative}.speed-dial__list-wrap{opacity:0;visibility:hidden;pointer-events:none;width:100%;max-height:0;transition:max-height .28s var(--ease-elegant), opacity .22s var(--ease-elegant), visibility .22s;overflow:hidden}.speed-dial.is-open .speed-dial__list-wrap{max-height:min(58vh, calc(100dvh - 7.75rem - env(safe-area-inset-bottom)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:1;visibility:visible;pointer-events:auto;overflow-y:auto}.speed-dial__list{flex-direction:column;align-items:flex-end;gap:.42rem;margin:0;padding:0 0 .2rem;list-style:none;display:flex}.speed-dial__item{opacity:0;width:100%;transition:opacity .24s var(--ease-elegant), transform .24s var(--ease-elegant);transition-delay:calc(var(--dial-i,0) * 32ms);transform:translateY(.45rem)}.speed-dial.is-open .speed-dial__item{opacity:1;transform:translateY(0)}.speed-dial:not(.is-open) .speed-dial__item{transition-duration:.16s;transition-delay:0s}.speed-dial__link{flex-direction:row;justify-content:flex-end;align-items:center;gap:.55rem;width:100%;min-height:2.25rem;text-decoration:none;display:flex}.speed-dial__label{min-width:0;max-width:calc(100% - 2.75rem);font-family:var(--font-body);letter-spacing:.02em;color:var(--color-text);text-align:right;white-space:nowrap;text-overflow:ellipsis;background:#fff3e4f0;border:1px solid #d7bb918c;border-radius:999px;flex:auto;padding:.42rem .65rem;font-size:.78rem;font-weight:500;transition:background .2s,color .2s,border-color .2s;overflow:hidden;box-shadow:0 4px 12px #39423214}.speed-dial__icon{color:#fff3e4;background:linear-gradient(165deg,#5f6c56 0%,#394232 100%);border:1.5px solid #d7bb91b3;border-radius:50%;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;font-size:.78rem;display:grid;box-shadow:0 5px 14px #3942322e}.speed-dial__link:hover .speed-dial__label,.speed-dial__link:focus-visible .speed-dial__label{border-color:var(--color-champagne);color:var(--color-primary-dark);background:#fff3e4}.speed-dial__link.is-active .speed-dial__label{background:linear-gradient(135deg, #5f6c56 0%, var(--color-primary-dark) 100%);border-color:var(--color-champagne);color:#fff8ed;letter-spacing:.03em;padding-left:1.15rem;font-weight:600;position:relative;box-shadow:0 5px 18px #00000038,inset 0 1px #ffffff1f}.speed-dial__link.is-active .speed-dial__label:before{content:"";background:var(--color-champagne);border-radius:50%;width:.42rem;height:.42rem;position:absolute;top:50%;left:.48rem;transform:translateY(-50%);box-shadow:0 0 0 2px #fff8ed59}.speed-dial__link.is-active .speed-dial__icon{color:#fff8ed;background:linear-gradient(165deg, #6d7a62 0%, var(--color-primary) 55%, var(--color-primary-dark) 100%);border-color:var(--color-champagne);box-shadow:0 0 0 2px #d7bb918c,0 6px 16px #0000003d}.speed-dial.is-open .speed-dial__link:not(.is-active) .speed-dial__label{opacity:.92}.speed-dial.is-open .speed-dial__link:not(.is-active) .speed-dial__icon{opacity:.94}.speed-dial__toggle{position:relative}.speed-dial__toggle-icon{transition:opacity .22s var(--ease-elegant), transform .22s var(--ease-elegant);place-items:center;display:grid;position:absolute;inset:0}.speed-dial__toggle-icon--close img{filter:brightness(0)invert();opacity:.95;width:1.1rem;height:1.1rem}.speed-dial__toggle-icon--open{opacity:1;transform:rotate(0)scale(1)}.speed-dial__toggle-icon--close{opacity:0;transform:rotate(-22deg)scale(.88)}.speed-dial.is-open .speed-dial__toggle-icon--open{opacity:0;transform:rotate(22deg)scale(.88)}.speed-dial.is-open .speed-dial__toggle-icon--close{opacity:1;transform:rotate(0)scale(1)}@media (width>=390px){.floating-controls{padding-inline:max(1.15rem, env(safe-area-inset-left)) max(1.15rem, env(safe-area-inset-right))}.speed-dial{max-width:min(100vw - 5.75rem,17.5rem)}.speed-dial__label{padding:.45rem .72rem;font-size:.8125rem}.speed-dial__icon{width:2.4rem;height:2.4rem}}@media (prefers-reduced-motion:reduce){.speed-dial__item,.speed-dial__list-wrap,.speed-dial__toggle-icon,.fab{transition-duration:.01ms!important;transition-delay:0s!important}.speed-dial__item{transform:none}}@keyframes float-butterfly{0%,to{transform:translate(0)rotate(-5deg)}50%{transform:translate(6px,-10px)rotate(5deg)}}@keyframes float-petal{0%{opacity:0;transform:translateY(-12vh)rotate(0)}8%{opacity:var(--petal-peak-opacity,.42)}85%{opacity:var(--petal-mid-opacity,.32)}to{transform:translate3d(var(--petal-drift,0px), calc(100vh + 12vh), 0) rotate(240deg);opacity:0}}@keyframes love-story-butterfly-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-7px)rotate(2deg)}}@keyframes gentle-sway{0%,to{transform:rotate(-2deg)translate(0)}50%{transform:rotate(2deg)translate(4px)}}@keyframes hero-central-fade-in{0%{opacity:0;transform:translateY(1.1rem)}to{opacity:1;transform:translateY(0)}}@keyframes hero-corner-drop{0%{opacity:0;transform:translateY(-2.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes hero-carriage-roll-in{0%{opacity:0;transform:translate(56%)translateY(.35rem)}to{opacity:.62;transform:translate(8%)translateY(0)}}.petal{animation:linear infinite float-petal}.petal--1{animation-duration:14s;animation-delay:0s}.petal--2{animation-duration:18s;animation-delay:4s}.petal--3{animation-duration:16s;animation-delay:8s}.botanical-sway{animation:8s ease-in-out infinite gentle-sway}@keyframes reveal-fade-up{0%{opacity:0;transform:translateY(1.1rem)}to{opacity:1;transform:translate(0,0)}}@keyframes reveal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes reveal-zoom-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.section [data-aos]{will-change:opacity, transform}#site-canvas .section:not(.hero-section) [data-aos]:not(.is-revealed),#site-canvas .site-credit[data-aos]:not(.is-revealed){opacity:0}#site-canvas [data-aos=fade-up]:not(.is-revealed){transform:translateY(1.1rem)}#site-canvas [data-aos=fade-in]:not(.is-revealed){transform:none}#site-canvas [data-aos=zoom-in]:not(.is-revealed){transform:scale(.92)}#site-canvas [data-aos].is-revealed{animation-duration:var(--reveal-duration,var(--reveal-duration-default,.82s));animation-timing-function:cubic-bezier(.25,.85,.35,1);animation-fill-mode:both;animation-delay:var(--reveal-delay,0s)}#site-canvas [data-aos=fade-up].is-revealed{animation-name:reveal-fade-up}#site-canvas [data-aos=fade-in].is-revealed{animation-name:reveal-fade-in}#site-canvas [data-aos=zoom-in].is-revealed{animation-name:reveal-zoom-in}@keyframes reveal-love-curve{0%{opacity:0;transform:translateY(-1.25rem)}to{opacity:1;transform:translate(0,0)}}#love-story .love-story-timeline__curve[data-aos].is-revealed{animation-name:reveal-love-curve}@media (prefers-reduced-motion:reduce){#site-canvas [data-aos]{opacity:1!important;animation:none!important;transform:none!important}.hero-scene__petals{display:none}.petal,.welcome-decor--butterfly,.closing-dance-wrap__butterfly,.botanical-sway{animation:none!important}.envelope__flap,.envelope__card{transition-duration:.01ms!important}.site-canvas--entering.site-canvas--hero-revealed .hero-scene__central,.site-canvas--entering.site-canvas--hero-revealed .hero-scene__corner,.site-canvas--entering.site-canvas--hero-revealed .hero-scene__carriage{animation:none!important}}.welcome-decor--butterfly{z-index:1;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:multiply;opacity:.52;height:auto;animation:8s ease-in-out infinite float-butterfly;display:block;position:absolute}.welcome-decor--butterfly--left{width:clamp(2.35rem,12vw,3.25rem);animation-delay:.4s;top:clamp(5.5rem,18vh,8rem);left:clamp(.5rem,5vw,2rem)}.welcome-decor--butterfly--right{width:clamp(2.1rem,11vw,3rem);animation-delay:2.2s;top:clamp(9rem,28vh,12.5rem);right:clamp(.35rem,4.5vw,1.75rem)}.hero-scene__butterfly--gif{mix-blend-mode:multiply}@media (prefers-reduced-motion:reduce){.welcome-decor--butterfly{animation:none!important}}
