:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--burgundy-900:#451620;--burgundy-700:#60232b;--burgundy-500:#7e3540;--royal-900:#222431;--royal-700:#323c60;--royal-500:#4a5786;--hydrangea-500:#6c88c4;--hydrangea-300:#88a8cf;--hydrangea-100:#dce5f4;--ivory:#f9faf5;--champagne-300:#f7e7ce;--champagne-600:#c9a96e;--white:#fff;--leaf-700:#3e5b3a;--leaf-500:#747c71;--leaf-300:#8a9a5b;--ink:#2a2230;--dress-powder:#b9cce4;--dress-dusty:#8fa6c8;--dress-steel:#5b7196;--dress-navy:#2b3557;--dress-champagne:#efddc0;--dress-ivory:#fbf7ec;--dress-beige:#e4cfb0;--dress-gold:#d9c08a;--color-bg:var(--royal-700);--color-surface:color-mix(in srgb, var(--royal-700) 45%, var(--royal-900));--color-surface-alt:var(--royal-900);--color-text:var(--champagne-300);--color-text-muted:color-mix(in srgb, var(--champagne-300) 72%, var(--royal-700));--color-heading:var(--champagne-300);--color-primary:var(--champagne-300);--color-primary-hover:var(--ivory);--color-primary-active:var(--champagne-600);--color-on-primary:var(--royal-700);--color-text-accent:var(--champagne-600);--color-secondary:var(--champagne-300);--color-on-secondary:var(--royal-700);--color-accent:var(--hydrangea-300);--color-ornament:var(--champagne-600);--color-success:#8db58f;--color-focus:var(--hydrangea-300);--color-surface-soft:color-mix(in srgb, var(--color-surface) 72%, transparent);--color-tint:color-mix(in srgb, var(--champagne-300) 8%, transparent);--color-border:color-mix(in srgb, var(--champagne-600) 28%, transparent);--color-shadow:#00000059;--color-panel-from:var(--burgundy-700);--color-panel-to:var(--burgundy-900);--font-display:"Cormorant Garamond", "Times New Roman", Georgia, serif;--font-body:"Jost", system-ui, -apple-system, "Segoe UI", sans-serif;--font-names:"Playfair Display", "Bodoni 72", "Didot", "Times New Roman", serif;--font-stationery-script:"Great Vibes", "Snell Roundhand", "Apple Chancery", Georgia, cursive, serif;--text-sm:clamp(.875rem, .85rem + .1vw, .9375rem);--text-base:clamp(1rem, .96rem + .2vw, 1.125rem);--text-lg:clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--text-xl:clamp(1.5rem, 1.3rem + 1vw, 2rem);--text-2xl:clamp(2rem, 1.6rem + 2vw, 3rem);--text-hero:clamp(2.5rem, 1.8rem + 4vw, 5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-sm:4px;--radius-md:10px;--radius-lg:20px;--radius-arch:999px 999px 0 0;--content-max:72rem;--measure:65ch;--ease:cubic-bezier(.2, .7, .2, 1);--dur-fast:.15s;--dur-base:.3s}body{background:var(--color-bg);color:var(--color-text)}:is(.detail-card,.story-card,.schedule-interlude,.dress-veil,.venue-card,.dress-card,.rsvp-card,.wish-card,.gift-card){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-surface:var(--white);--color-surface-soft:var(--ivory);--color-tint:color-mix(in srgb, var(--hydrangea-100) 55%, var(--ivory));--color-text:var(--ink);--color-text-muted:#5a4e5c;--color-heading:var(--burgundy-700);--color-primary:var(--burgundy-700);--color-primary-hover:var(--burgundy-500);--color-primary-active:var(--burgundy-900);--color-on-primary:var(--ivory);--color-text-accent:var(--burgundy-700);--color-secondary:var(--royal-700);--color-accent:var(--hydrangea-500);--color-ornament:var(--champagne-600);--color-success:var(--leaf-700);--color-focus:var(--royal-500);--color-border:color-mix(in srgb, var(--champagne-600) 55%, transparent);color:var(--color-text)}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/great-vibes-latin-q5-78SH_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2000-206F,U+2122,U+2212}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:280px;font-family:var(--font-body);font-size:var(--text-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400;line-height:1.6}#root{min-height:100dvh}img,picture{max-width:100%}img{height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{color:var(--color-heading);font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:600;line-height:1.15}h1{font-size:var(--text-hero);line-height:1.1}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl);font-weight:500}p,li{font-size:max(var(--text-base), 16px)}p{margin:0}a{color:var(--color-text-accent);text-underline-offset:.18em}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.app-shell{z-index:1;width:100%;padding-bottom:var(--space-8);position:relative;overflow-x:clip}.page-shell{width:min(100%, var(--content-max));padding:0 var(--space-4) var(--space-4);margin:0 auto}.section{padding:var(--space-16) 0}.section-heading{max-width:var(--measure);margin:0 auto var(--space-8);text-align:center}.eyebrow{margin:0 0 var(--space-2);font-size:var(--text-sm);letter-spacing:.06em;color:var(--color-text-accent);font-weight:500}.section-divider{justify-content:center;align-items:center;gap:var(--space-4);max-width:30rem;margin:var(--space-4) auto;color:var(--color-ornament);display:flex}.section-divider__line{background:linear-gradient(90deg, transparent, var(--color-ornament), transparent);flex:1;height:1px}.section-divider__motif{flex:none}@media (width>=768px){.page-shell{padding-inline:var(--space-6)}}@media (width>=1024px){.section{padding:var(--space-24) 0}}.button{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-body);font-size:max(var(--text-base), 16px);text-align:center;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border:none;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.button:disabled{cursor:progress;opacity:.7}.button--primary{background:var(--color-primary);color:var(--color-on-primary)}.button--primary:hover{background:var(--color-primary-hover)}.button--primary:active{background:var(--color-primary-active)}.button--secondary{color:var(--color-secondary);border:1.5px solid var(--color-secondary);background:0 0}.button--secondary:hover{background:var(--color-tint)}.button--on-dark{background:var(--champagne-300);color:var(--royal-700)}.button--on-dark:hover{background:var(--ivory)}@media (width>=768px){.button{width:auto}}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2);--topbar-inline:var(--space-3);padding:max(var(--space-4), env(safe-area-inset-top)) max(var(--topbar-inline), env(safe-area-inset-right)) var(--space-4) max(var(--topbar-inline), env(safe-area-inset-left));background:color-mix(in srgb, var(--color-bg) 80%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.brand{letter-spacing:.04em;text-transform:uppercase;color:var(--color-secondary);white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:.74rem;text-decoration:none;position:relative}.brand span{color:var(--color-text-accent)}.site-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;margin-left:auto;display:flex}.site-nav a{color:var(--color-secondary);letter-spacing:.05em;text-transform:uppercase;opacity:.8;font-size:.72rem;text-decoration:none;position:relative}.site-nav a:hover{opacity:1}.brand:after,.site-nav a:after,.lang-option:after{content:"";position:absolute;inset:-14px -6px}.lang-switcher{border:1px solid var(--color-text-accent);border-radius:var(--radius-sm);flex-shrink:0;display:flex}.lang-option{min-width:2.4rem;min-height:2rem;color:var(--color-text-accent);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;opacity:.55;transition:background var(--dur-fast), color var(--dur-fast), opacity var(--dur-fast);background:0 0;border:none;padding:.3rem .6rem;font-size:.65rem;font-weight:500;position:relative}.lang-option+.lang-option{border-left:1px solid var(--color-text-accent)}.lang-option--active{background:var(--color-primary);color:var(--color-on-primary);opacity:1;font-weight:700}.lang-option:not(.lang-option--active):hover{background:var(--color-tint);opacity:.9}@media (width>=360px){.brand{letter-spacing:.05em;font-size:.8rem}.site-nav{gap:.55rem}.site-nav a{letter-spacing:.08em}}@media (width>=400px){.topbar{--topbar-inline:1.2rem;gap:var(--space-3)}.brand{letter-spacing:.1em;font-size:.9rem}.site-nav{gap:.75rem}}@media (width>=1024px){.topbar{--topbar-inline:var(--space-8)}.site-nav{margin:0;position:absolute;left:50%;transform:translate(-50%)}}.scroll-progress{z-index:60;transform-origin:0;background:var(--color-primary);pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.hero{padding-top:var(--space-6);position:relative}.hero-cover__surface{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-text:var(--ink);--color-heading:var(--burgundy-700);--color-paper-veil:color-mix(in srgb, var(--ivory) 82%, transparent);width:min(100%,31.5rem);padding:var(--space-4) var(--space-3) var(--space-6);border-radius:var(--radius-lg);background:radial-gradient(120% 70% at 0% 0%, color-mix(in srgb, var(--white) 50%, transparent), transparent 58%), linear-gradient(180deg, var(--ivory) 0%, color-mix(in srgb, var(--champagne-300) 45%, var(--ivory)) 100%);box-shadow:0 22px 44px var(--color-shadow);color:var(--color-text);margin:0 auto;position:relative;overflow:clip}.hero-cover__floral-border{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;position:absolute;left:0}.hero-cover__floral-border img{width:100%}.hero-cover__floral-border--top{top:0}.hero-cover__floral-border--bottom{bottom:0}.hero-cover__content{z-index:1;align-items:center;gap:clamp(var(--space-4), 2.4vw, 1.4rem);padding:19% clamp(var(--space-2), 3vw, var(--space-6)) 30%;flex-direction:column;display:flex;position:relative}.hero-cover__welcome{isolation:isolate;max-width:min(90%,34rem);margin-top:clamp(var(--space-2), 2vw, var(--space-4));text-align:center;color:var(--color-heading);position:relative}.hero-cover__welcome:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side, var(--color-paper-veil) 0%, var(--color-paper-veil) 75%, transparent 100%);filter:blur(8px);position:absolute;inset:-.6rem -1.5rem}.hero-cover__welcome-accent{font-family:var(--font-stationery-script);font-size:clamp(1.7rem,7.4vw,3rem);line-height:1.15}.hero-cover__welcome-body{margin-top:var(--space-1);font-family:var(--font-display);text-wrap:balance;font-size:clamp(1.2rem,7.2vw,1.52rem);font-weight:500;line-height:1.25}.welcome-hero-photo{z-index:1;width:min(76%,24rem);margin:var(--space-2) auto;position:relative}.welcome-hero-photo__stage{aspect-ratio:400/440;isolation:isolate;width:100%;position:relative}.welcome-hero-photo__window{z-index:1;background:var(--color-surface-alt);position:absolute;inset:3.636% 4%;overflow:hidden}.welcome-hero-photo__window img{object-fit:cover;object-position:49% 50%;width:100%;height:100%}.welcome-hero-photo__frame{z-index:2;width:100%;height:100%;filter:drop-shadow(0 6px 12px var(--color-shadow));pointer-events:none;position:absolute;inset:0;overflow:visible}.welcome-hero-photo__mat-light{stop-color:var(--ivory)}.welcome-hero-photo__mat-warm{stop-color:var(--champagne-300)}.welcome-hero-photo__line{fill:none;stroke:var(--color-ornament);stroke-width:1.5px;vector-effect:non-scaling-stroke}.welcome-hero-photo__line--fine{stroke-width:1px}.welcome-hero-photo__floral{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;width:40%;position:absolute}.welcome-hero-photo__floral img{width:100%;height:auto}.welcome-hero-photo__floral--left{top:2.7%;left:-25%}.welcome-hero-photo__floral--right{top:1.2%;right:-25%}.couple-name-treatment{z-index:1;text-align:center;width:min(100%,52rem);margin:0 auto;position:relative}.couple-name-treatment__names-row{justify-content:center;align-items:center;gap:clamp(.2rem,1.2vw,.75rem);display:flex}.couple-name-treatment__names{justify-content:center;align-items:baseline;column-gap:.18em;row-gap:var(--space-1);font-family:var(--font-names);letter-spacing:-.01em;flex-wrap:wrap;font-size:clamp(1.75rem,8.5vw,4.4rem);font-weight:900;line-height:1.05;display:flex}.couple-name-treatment__name{overflow-wrap:anywhere;max-inline-size:100%}.couple-name-treatment__name--first{color:var(--royal-700)}.couple-name-treatment__name--second{color:var(--burgundy-700)}.couple-name-treatment__amp{color:var(--burgundy-700);font-size:.82em}.couple-name-treatment__rule{background:linear-gradient(90deg, transparent, var(--color-ornament), transparent);width:min(100%,20rem);height:1px;margin:clamp(.78rem,2vw,1.12rem) auto;display:block}.couple-name-treatment__rule--soft{width:min(100%,20rem)}.couple-name-treatment__date{font-family:var(--font-body);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;white-space:nowrap;font-size:clamp(1rem,.9rem + .6vw,1.35rem);font-weight:500;line-height:1.2}.couple-name-treatment__date-day{color:var(--burgundy-700)}.couple-name-treatment__date-year{color:var(--royal-700)}.couple-name-treatment__flourish{flex:none;width:clamp(1.15rem,5vw,5rem);height:auto;overflow:visible;transform:scaleX(-1)}.couple-name-treatment__flourish--right{transform:none}.couple-name-treatment__flourish-line,.couple-name-treatment__flourish-accent{fill:none;stroke-linecap:round}.couple-name-treatment__flourish-line{stroke:var(--color-ornament);stroke-width:3.2px}.couple-name-treatment__flourish-accent{stroke:var(--leaf-500);stroke-width:4px}.couple-name-treatment__flourish-dot{fill:var(--hydrangea-500)}@media (width>=768px){.hero-cover__surface{width:min(100%,58rem);padding:clamp(1.35rem,3.8vw,2.4rem)}.hero-cover__welcome-body{font-size:clamp(1.42rem,3vw,2rem)}.welcome-hero-photo{width:min(64%,32rem)}.couple-name-treatment__names{font-size:clamp(3rem,7.4vw,5.4rem)}}.couple-section{isolation:isolate;padding-top:var(--space-12);position:relative}@media (width>=1024px){.couple-section{padding-top:var(--space-16)}}.couple-backdrop{z-index:-1;background-color:var(--color-bg);pointer-events:none;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiB2aWV3Qm94PSIwIDAgMzIwIDMyMCI+CiAgPCEtLSBUaGUgbGltZXdhc2gncyBmaW5lIHN0aXBwbGVkIHBsYXN0ZXIgZ3JhaW46IGxpZ2h0IGFuZCBkYXJrIHNwZWNrcyBhcwogICAgICAgd2hpdGUgYW5kIGJsYWNrIGFscGhhLCBzbyB0aGUgY29sb3VyIGNvbWVzIGZyb20gdW5kZXJuZWF0aC4gVGlsZXMKICAgICAgIHNlYW1sZXNzbHkgKHN0aXRjaFRpbGVzKS4gVGhlIGJydXNod29yayBpcyBhIHNlcGFyYXRlIGltYWdlCiAgICAgICAoY291cGxlLWxpbWV3YXNoKS4gLS0+CiAgPGZpbHRlciBpZD0ibGlnaHQiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPgogICAgPGZlVHVyYnVsZW5jZSB0eXBlPSJmcmFjdGFsTm9pc2UiIGJhc2VGcmVxdWVuY3k9IjAuOTUiIG51bU9jdGF2ZXM9IjIiIHNlZWQ9IjMiIHN0aXRjaFRpbGVzPSJzdGl0Y2giLz4KICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAxICAwIDAgMCAwIDEgIDAgMCAwIDAgMSAgMCAwIDAgMi40IC0xLjMiLz4KICA8L2ZpbHRlcj4KICA8ZmlsdGVyIGlkPSJkYXJrIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj4KICAgIDxmZVR1cmJ1bGVuY2UgdHlwZT0iZnJhY3RhbE5vaXNlIiBiYXNlRnJlcXVlbmN5PSIwLjgiIG51bU9jdGF2ZXM9IjIiIHNlZWQ9IjExIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+CiAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgMCAwIDAgMCAwICAwIDAgMCAwIDAgIDAgMCAwIDIuNCAtMS4zIi8+CiAgPC9maWx0ZXI+CiAgPHJlY3Qgd2lkdGg9IjMyMCIgaGVpZ2h0PSIzMjAiIGZpbHRlcj0idXJsKCNsaWdodCkiIG9wYWNpdHk9IjAuMjIiLz4KICA8cmVjdCB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCIgZmlsdGVyPSJ1cmwoI2RhcmspIiBvcGFjaXR5PSIwLjIiLz4KPC9zdmc+Cg==),-webkit-image-set(url(/assets/couple-limewash-1080-DBBqlSrQ.avif) 1x type("image/avif"),url(/assets/couple-limewash-1080-CCreRPv1.webp) 1x type("image/webp"));background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiB2aWV3Qm94PSIwIDAgMzIwIDMyMCI+CiAgPCEtLSBUaGUgbGltZXdhc2gncyBmaW5lIHN0aXBwbGVkIHBsYXN0ZXIgZ3JhaW46IGxpZ2h0IGFuZCBkYXJrIHNwZWNrcyBhcwogICAgICAgd2hpdGUgYW5kIGJsYWNrIGFscGhhLCBzbyB0aGUgY29sb3VyIGNvbWVzIGZyb20gdW5kZXJuZWF0aC4gVGlsZXMKICAgICAgIHNlYW1sZXNzbHkgKHN0aXRjaFRpbGVzKS4gVGhlIGJydXNod29yayBpcyBhIHNlcGFyYXRlIGltYWdlCiAgICAgICAoY291cGxlLWxpbWV3YXNoKS4gLS0+CiAgPGZpbHRlciBpZD0ibGlnaHQiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPgogICAgPGZlVHVyYnVsZW5jZSB0eXBlPSJmcmFjdGFsTm9pc2UiIGJhc2VGcmVxdWVuY3k9IjAuOTUiIG51bU9jdGF2ZXM9IjIiIHNlZWQ9IjMiIHN0aXRjaFRpbGVzPSJzdGl0Y2giLz4KICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAxICAwIDAgMCAwIDEgIDAgMCAwIDAgMSAgMCAwIDAgMi40IC0xLjMiLz4KICA8L2ZpbHRlcj4KICA8ZmlsdGVyIGlkPSJkYXJrIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj4KICAgIDxmZVR1cmJ1bGVuY2UgdHlwZT0iZnJhY3RhbE5vaXNlIiBiYXNlRnJlcXVlbmN5PSIwLjgiIG51bU9jdGF2ZXM9IjIiIHNlZWQ9IjExIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+CiAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgMCAwIDAgMCAwICAwIDAgMCAwIDAgIDAgMCAwIDIuNCAtMS4zIi8+CiAgPC9maWx0ZXI+CiAgPHJlY3Qgd2lkdGg9IjMyMCIgaGVpZ2h0PSIzMjAiIGZpbHRlcj0idXJsKCNsaWdodCkiIG9wYWNpdHk9IjAuMjIiLz4KICA8cmVjdCB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCIgZmlsdGVyPSJ1cmwoI2RhcmspIiBvcGFjaXR5PSIwLjIiLz4KPC9zdmc+Cg==),image-set("/assets/couple-limewash-1080-DBBqlSrQ.avif" 1x type("image/avif"),"/assets/couple-limewash-1080-CCreRPv1.webp" 1x type("image/webp"));background-position:0 0,50%;background-size:320px 320px,cover;position:absolute;inset:0 calc(50% - 50vw);overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}.couple-backdrop__sheen{background:linear-gradient(105deg, transparent 38%, color-mix(in srgb, var(--color-text) 9%, transparent) 50%, transparent 62%);animation:11s ease-in-out 1s infinite couple-sheen;position:absolute;inset:0;transform:translate(-100%)}.couple-backdrop__flecks{background-image:radial-gradient(circle, var(--color-ornament) 0 1px, transparent 1.6px), radial-gradient(circle, var(--color-ornament) 0 .8px, transparent 1.4px), radial-gradient(circle, var(--color-text) 0 .8px, transparent 1.4px);opacity:.25;background-position:30px 50px,120px 10px,200px 160px;background-size:230px 230px,170px 170px,310px 310px;animation:4.5s ease-in-out infinite alternate couple-twinkle;position:absolute;inset:0}@keyframes couple-sheen{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}@keyframes couple-twinkle{0%{opacity:.15}to{opacity:.7}}.couple-lead{max-width:30rem;margin:var(--space-3) auto 0;color:var(--color-text-muted);text-wrap:pretty}.couple-spread{column-gap:var(--space-4);row-gap:var(--space-8);grid-template-columns:42fr 16fr 42fr;grid-template-areas:"bride-photo bride-photo bride-text""groom-text groom-photo groom-photo""verse verse verse";width:min(100%,60rem);margin:0 auto;display:grid}.couple-photo{aspect-ratio:3/4;--couple-opening-left:12.5%;--couple-opening-top:13.125%;--couple-opening-width:77.33%;--couple-opening-height:72.5%;align-self:start;margin:0;position:relative}.couple-photo--left{grid-area:bride-photo}.couple-photo--right{grid-area:groom-photo}.couple-photo__mask{left:var(--couple-opening-left);top:var(--couple-opening-top);width:var(--couple-opening-width);height:var(--couple-opening-height);border-radius:var(--radius-md);background:var(--color-surface-alt);box-shadow:0 22px 40px -28px var(--color-shadow);position:absolute;overflow:hidden}.couple-photo__zoom,.couple-photo__zoom picture{width:100%;height:100%;display:block}.couple-photo__zoom img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.couple-photo__botanicals{pointer-events:none;position:absolute;inset:0}.couple-photo--left .couple-photo__botanicals{transform-origin:12% 10%}.couple-photo--right .couple-photo__botanicals{transform-origin:88% 10%}.couple-photo__botanicals img{width:100%;height:100%;display:block}.couple-text--left{text-align:start;grid-area:bride-text;align-self:end}.couple-text--right{text-align:end;grid-area:groom-text;align-self:start}.couple-text__name{font-size:clamp(1.375rem,1rem + 1.8vw,2.5rem);font-weight:600;line-height:1.15;position:relative}.couple-text__nickname{color:var(--color-text-muted);font-weight:500}.couple-text__parents{margin:var(--space-2) 0 0;font-size:var(--text-base);color:var(--color-text-muted);text-wrap:pretty;line-height:1.5}.couple-text__amp{width:fit-content;margin:var(--space-3) 0 0;font-family:var(--font-display);color:var(--color-ornament);font-size:clamp(2.25rem,1.8rem + 1.5vw,3rem);font-weight:500;line-height:1}.couple-particles{pointer-events:none;position:absolute;inset:0}.couple-particles__dot{background:var(--color-ornament);width:5px;height:5px;box-shadow:0 0 8px 2px color-mix(in srgb, var(--color-ornament) 65%, transparent);opacity:0;border-radius:50%;position:absolute;top:35%}.couple-verse{text-align:center;grid-area:verse;max-width:22rem;margin:0 auto}.couple-verse:before{content:"";width:2.5rem;height:1px;margin:0 auto var(--space-4);background:var(--color-ornament);display:block}.couple-verse blockquote{margin:0;position:relative}.couple-verse p{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);text-wrap:balance;margin:0;font-weight:500;line-height:1.45}.couple-verse figcaption{margin-top:var(--space-2);font-size:var(--text-sm);letter-spacing:.12em;color:var(--color-text-accent)}@media (width>=768px){.couple-spread{column-gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"bride-photo bride-text""bride-photo groom-photo""groom-text groom-photo""verse groom-photo";row-gap:0}.couple-photo{width:min(100%,28rem)}.couple-photo__mask{border-radius:var(--radius-lg)}.couple-photo--left{justify-self:end}.couple-photo--right{justify-self:start}.couple-text--left{padding:0 0 var(--space-8)}.couple-text--right{max-width:24rem;padding:var(--space-12) 0 0;justify-self:end}.couple-verse{margin:var(--space-8) 0 0;text-align:end;justify-self:end}.couple-verse:before{margin-right:0}.couple-text__parents{text-wrap:balance}}.story-section{isolation:isolate;position:relative}.story-section:before{content:"";z-index:-1;background-image:radial-gradient(circle, var(--color-ornament) 0 1px, transparent 1.6px), radial-gradient(circle, var(--color-ornament) 0 .8px, transparent 1.4px);opacity:.3;pointer-events:none;background-position:40px 30px,150px 110px;background-size:260px 260px,190px 190px;position:absolute;inset:0 calc(50% - 50vw);-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.story-heading{font-family:var(--font-stationery-script);font-size:clamp(2.5rem,1.6rem + 4vw,4.25rem);font-weight:400;line-height:1.15}.story-timeline{--story-vine-x:1.1rem;gap:var(--space-12);width:min(100%,60rem);margin:0 auto;padding:0;list-style:none;display:grid;position:relative}.story-timeline:before{content:"";top:0;bottom:0;left:var(--story-vine-x);background:linear-gradient(to bottom, transparent, var(--color-ornament) 4%, var(--color-ornament) 96%, transparent);width:1.5px;position:absolute}.story-node{justify-items:center;gap:var(--space-4);padding-left:calc(var(--story-vine-x) + var(--space-8));display:grid;position:relative}.story-node__marker{top:0;left:var(--story-vine-x);align-items:center;gap:var(--space-3);display:flex;position:absolute;transform:translate(-50%)}.story-node__pearl{background:radial-gradient(circle at 35% 30%, var(--white), var(--ivory) 45%, var(--color-text) 100%);width:14px;height:14px;box-shadow:0 0 0 1.5px var(--color-ornament), 0 0 12px 2px color-mix(in srgb, var(--color-text) 35%, transparent);border-radius:50%;flex:none}.story-node__year{left:calc(100% + var(--space-2));font-family:var(--font-display);font-size:var(--text-xl);font-variant-numeric:lining-nums;color:var(--color-text-accent);font-weight:600;line-height:1;position:absolute}.story-flourish{display:none}.story-art{width:min(100%,18rem);margin:var(--space-8) 0 0;background:var(--color-surface-alt);box-shadow:0 24px 44px -26px var(--color-shadow);position:relative;overflow:hidden}.story-art picture{width:100%;height:100%;display:block}.story-art img{object-fit:cover;width:100%;height:100%;display:block}.story-art--circle{aspect-ratio:1;border:5px solid var(--color-ornament);outline:1px solid var(--color-ornament);outline-offset:5px;border-radius:50%;overflow:visible}.story-art--circle img{border-radius:50%}.story-art--arch,.story-art--arch-rings{aspect-ratio:7/9;border:3px solid var(--color-ornament);border-radius:var(--radius-arch);outline:1px solid var(--color-ornament);outline-offset:5px;overflow:visible}.story-art--arch img,.story-art--arch-rings img{border-radius:var(--radius-arch)}.story-card{width:min(100%,24rem);padding:var(--space-6) var(--space-6) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);text-align:center;box-shadow:0 24px 44px -30px var(--color-shadow)}.story-card--arch-rings{padding-top:var(--space-8);border-radius:12rem 12rem var(--radius-lg) var(--radius-lg)}.story-card__rings{margin:0 auto var(--space-1);fill:none;stroke:var(--color-ornament);stroke-width:2px;display:block}.story-card__title{font-family:var(--font-stationery-script);color:var(--color-heading);font-size:clamp(2rem,1.7rem + 1.2vw,2.6rem);font-weight:400;line-height:1.15}.story-card__text{max-width:30ch;margin:var(--space-2) auto 0;text-wrap:pretty}.story-card--wide{gap:var(--space-4);width:100%;margin-top:var(--space-8);padding:var(--space-4);border-radius:var(--radius-md);outline:1px solid var(--color-ornament);outline-offset:-8px;display:grid}.story-card--wide .story-art{aspect-ratio:16/10;border-radius:var(--radius-sm);width:100%;box-shadow:none;margin:0}.story-card__body{padding:0 var(--space-2) var(--space-2);align-self:center}@media (width>=768px){.story-timeline{--story-vine-x:50%;gap:var(--space-16)}.story-node{grid-template-columns:minmax(0,1fr) 5rem minmax(0,1fr);align-items:start;gap:0;padding-left:0}.story-node__marker{top:var(--space-16)}.story-node__year{background:var(--color-bg);padding:.15rem .5rem;top:-2.6rem;left:50%;transform:translate(-50%)}.story-flourish{fill:none;width:5.5rem;height:2.75rem;stroke:var(--color-ornament);stroke-width:1.5px;display:block;position:absolute;top:50%;transform:translateY(-50%)}.story-flourish__leaf{fill:color-mix(in srgb, var(--color-ornament) 55%, transparent);stroke-width:1px}.story-flourish--left{left:.5rem}.story-flourish--right{right:.5rem;transform:translateY(-50%)scaleX(-1)}.story-art{width:min(100%,20rem);margin-top:0}.story-node--left .story-art{grid-column:1;justify-self:end}.story-node--left .story-card{grid-column:3;justify-self:start}.story-node--right .story-art{grid-area:1/3;justify-self:start}.story-node--right .story-card{grid-area:1/1;justify-self:end}.story-node .story-card:not(.story-card--wide){margin-top:var(--space-24)}.story-node--wide{grid-template-columns:minmax(0,1fr)}.story-node--wide .story-node__marker{top:0}.story-node--wide .story-flourish{display:none}.story-card--wide{width:min(100%,52rem);margin-top:var(--space-12);padding:var(--space-6);outline-offset:-10px;grid-column:1/-1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}}.countdown-stage{max-width:44rem;margin:var(--space-8) auto var(--space-12);position:relative}.countdown-panel{z-index:1;padding:var(--space-6) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(135deg, var(--color-panel-from), var(--color-panel-to));color:var(--champagne-300);box-shadow:0 30px 60px -30px var(--color-shadow);position:relative}.countdown-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.countdown-item{padding:var(--space-4) var(--space-3);border:1px solid color-mix(in srgb, var(--champagne-300) 18%, transparent);border-radius:var(--radius-md);text-align:center}.countdown-item span{font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(2rem,8vw,3rem);font-weight:600;line-height:1;display:block}.countdown-item label{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--hydrangea-300);display:block}.countdown-text{text-align:center}.countdown-text strong{font-weight:500;display:block}@media (width>=768px){.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.details-section{overflow-x:clip}.details-grid{gap:var(--space-4);display:grid}.details-grid>*{height:100%}.detail-card{padding:var(--space-6) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);flex-direction:column;display:flex}.highlight-card{background:var(--color-tint)}.card-label{margin-bottom:var(--space-3);font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-text-accent);font-weight:500}.detail-card h3{margin-bottom:var(--space-2);font-variant-numeric:lining-nums}.detail-card h3,.detail-card p{overflow-wrap:anywhere}.schedule-block{margin-top:var(--space-12)}.schedule-heading{margin-bottom:var(--space-8)}.schedule-heading__rings{margin:0 auto var(--space-1);fill:none;stroke:var(--color-ornament);stroke-width:1.4px;stroke-linejoin:round;display:block}.schedule-heading__rings-gap{stroke:var(--color-bg);stroke-width:4.5px}.schedule-heading__title{font-family:var(--font-stationery-script);font-size:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);font-weight:400;line-height:1.15}.schedule{gap:var(--space-8);width:min(100%,44rem);margin:0 auto;display:grid}.schedule__step{gap:var(--space-12);display:grid}.schedule-panel{padding:var(--space-8) var(--space-6) var(--space-16);border:1px solid var(--color-ornament);border-radius:var(--radius-md);outline:1px solid color-mix(in srgb, var(--color-ornament) 55%, transparent);outline-offset:-7px;background:color-mix(in srgb, var(--royal-900) 25%, transparent);position:relative}.schedule-panel__floral{z-index:1;pointer-events:none;position:absolute}.schedule-panel__floral img{width:100%;height:auto;display:block}.schedule-panel__floral--top{width:min(36%,12rem);top:-2.5rem;left:-1.5rem}.schedule-panel__floral--bottom{width:min(28%,9rem);bottom:-3.25rem;right:-1.25rem}.schedule-panel--flip .schedule-panel__floral--top{left:auto;right:-1.5rem;transform:scaleX(-1)}.schedule-panel--flip .schedule-panel__floral--bottom{left:-1.25rem;right:auto;transform:scaleX(-1)}.schedule-panel__motif{top:var(--space-6);right:var(--space-6);fill:none;width:3rem;height:3rem;stroke:var(--color-ornament);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.8;position:absolute}@media (width<=479.98px){.schedule-panel__motif{display:none}}.schedule-panel--flip .schedule-panel__motif{right:auto;left:var(--space-6)}.schedule-panel__header{z-index:2;margin-bottom:var(--space-6);text-align:center;position:relative}.schedule-panel__title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-heading);margin:0;font-weight:600;line-height:1.1}.schedule-panel__venue{align-items:center;gap:var(--space-1);margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere;display:inline-flex}.schedule-panel__pin{fill:none;width:1rem;height:1rem;stroke:var(--color-ornament);stroke-width:1.4px;flex:none}.schedule-list{z-index:2;gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid;position:relative}.schedule-item{padding:var(--space-1) 0 1.1rem;grid-template-columns:3.5rem 1fr;align-items:start;column-gap:1.1rem;display:grid;position:relative}.schedule-item:before{content:"";background:var(--color-ornament);width:1.5px;position:absolute;top:.1rem;bottom:-1.1rem;left:calc(4.05rem - 1px)}.schedule-item:last-child:before{height:1.4rem;bottom:auto}.schedule-item:after{content:"";border:1.5px solid var(--color-ornament);background:var(--color-bg);border-radius:50% 0;width:11px;height:11px;position:absolute;top:.35rem;left:calc(4.05rem - 6px);transform:rotate(45deg)}.schedule-time{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:lining-nums;color:var(--color-heading);font-weight:600;line-height:1.3}.schedule-content{padding-left:var(--space-4)}.schedule-content h3{margin-bottom:var(--space-1);font-size:var(--text-lg);font-weight:600}.schedule-item__icon{width:1.5rem;height:1.5rem;margin-left:var(--space-2);vertical-align:-.3em;fill:none;stroke:var(--color-ornament);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;display:inline-block}.schedule-interlude{--notch:16px;--inset:7px;--arc:calc(var(--notch) + var(--inset));padding:var(--space-6) var(--space-6) var(--space-6);background:var(--color-surface-soft);text-align:center;--corner:#0000 var(--notch), #000 calc(var(--notch) + .5px);-webkit-mask:radial-gradient(circle at 0 0, var(--corner)) top left / 51% 51% no-repeat, radial-gradient(circle at 100% 0, var(--corner)) top right / 51% 51% no-repeat, radial-gradient(circle at 0 100%, var(--corner)) bottom left / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, var(--corner)) bottom right / 51% 51% no-repeat;mask:radial-gradient(circle at 0 0, var(--corner)) top left / 51% 51% no-repeat, radial-gradient(circle at 100% 0, var(--corner)) top right / 51% 51% no-repeat, radial-gradient(circle at 0 100%, var(--corner)) bottom left / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, var(--corner)) bottom right / 51% 51% no-repeat;position:relative}.schedule-interlude:before,.schedule-interlude:after{content:"";pointer-events:none;position:absolute}.schedule-interlude:before{--cut:#0000 var(--arc), #000 calc(var(--arc) + .5px);inset:var(--inset);border:1px solid var(--color-ornament);-webkit-mask:radial-gradient(circle at calc(var(--inset) * -1) calc(var(--inset) * -1), var(--cut)) top left / 51% 51% no-repeat, radial-gradient(circle at calc(100% + var(--inset)) calc(var(--inset) * -1), var(--cut)) top right / 51% 51% no-repeat, radial-gradient(circle at calc(var(--inset) * -1) calc(100% + var(--inset)), var(--cut)) bottom left / 51% 51% no-repeat, radial-gradient(circle at calc(100% + var(--inset)) calc(100% + var(--inset)), var(--cut)) bottom right / 51% 51% no-repeat;mask:radial-gradient(circle at calc(var(--inset) * -1) calc(var(--inset) * -1), var(--cut)) top left / 51% 51% no-repeat, radial-gradient(circle at calc(100% + var(--inset)) calc(var(--inset) * -1), var(--cut)) top right / 51% 51% no-repeat, radial-gradient(circle at calc(var(--inset) * -1) calc(100% + var(--inset)), var(--cut)) bottom left / 51% 51% no-repeat, radial-gradient(circle at calc(100% + var(--inset)) calc(100% + var(--inset)), var(--cut)) bottom right / 51% 51% no-repeat}.schedule-interlude:after{--ring:#0000 calc(var(--arc) - .5px), var(--color-ornament) calc(var(--arc) - .5px) calc(var(--arc) + .6px), #0000 calc(var(--arc) + 1.1px);background:radial-gradient(circle at 0 0, var(--ring)) top left / calc(var(--arc) + 2px) calc(var(--arc) + 2px) no-repeat, radial-gradient(circle at 100% 0, var(--ring)) top right / calc(var(--arc) + 2px) calc(var(--arc) + 2px) no-repeat, radial-gradient(circle at 0 100%, var(--ring)) bottom left / calc(var(--arc) + 2px) calc(var(--arc) + 2px) no-repeat, radial-gradient(circle at 100% 100%, var(--ring)) bottom right / calc(var(--arc) + 2px) calc(var(--arc) + 2px) no-repeat;inset:0}.schedule-interlude__icon{width:1.75rem;height:1.75rem;margin-right:var(--space-2);vertical-align:-.2em;fill:none;stroke:var(--color-ornament);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;display:inline-block}.schedule-interlude__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-heading);margin:0;font-weight:600}.schedule-interlude__text{max-width:34ch;margin:var(--space-1) auto 0;color:var(--color-text)}@media (width>=768px){.schedule-interlude{margin-inline:calc(var(--space-4) * -1)}.details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.venue-grid{gap:var(--space-6);display:grid}.venue-card{gap:var(--space-3);min-width:0;padding:var(--space-6) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);flex-direction:column;display:flex}.venue-card .card-label{margin:0}.venue-card h3,.venue-card p{overflow-wrap:anywhere}.venue-card__time{color:var(--color-heading);font-weight:500}.venue-card__address,.venue-card__notes{max-width:var(--measure)}.venue-card__arrival{padding:var(--space-3);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-tint)}.venue-card__actions{gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}@media (width>=768px){.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}.dress-section{isolation:isolate;position:relative}.dress-section:before{content:"";z-index:-1;opacity:.55;pointer-events:none;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiB2aWV3Qm94PSIwIDAgMzIwIDMyMCI+CiAgPCEtLSBUaGUgbGltZXdhc2gncyBmaW5lIHN0aXBwbGVkIHBsYXN0ZXIgZ3JhaW46IGxpZ2h0IGFuZCBkYXJrIHNwZWNrcyBhcwogICAgICAgd2hpdGUgYW5kIGJsYWNrIGFscGhhLCBzbyB0aGUgY29sb3VyIGNvbWVzIGZyb20gdW5kZXJuZWF0aC4gVGlsZXMKICAgICAgIHNlYW1sZXNzbHkgKHN0aXRjaFRpbGVzKS4gVGhlIGJydXNod29yayBpcyBhIHNlcGFyYXRlIGltYWdlCiAgICAgICAoY291cGxlLWxpbWV3YXNoKS4gLS0+CiAgPGZpbHRlciBpZD0ibGlnaHQiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPgogICAgPGZlVHVyYnVsZW5jZSB0eXBlPSJmcmFjdGFsTm9pc2UiIGJhc2VGcmVxdWVuY3k9IjAuOTUiIG51bU9jdGF2ZXM9IjIiIHNlZWQ9IjMiIHN0aXRjaFRpbGVzPSJzdGl0Y2giLz4KICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAxICAwIDAgMCAwIDEgIDAgMCAwIDAgMSAgMCAwIDAgMi40IC0xLjMiLz4KICA8L2ZpbHRlcj4KICA8ZmlsdGVyIGlkPSJkYXJrIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj4KICAgIDxmZVR1cmJ1bGVuY2UgdHlwZT0iZnJhY3RhbE5vaXNlIiBiYXNlRnJlcXVlbmN5PSIwLjgiIG51bU9jdGF2ZXM9IjIiIHNlZWQ9IjExIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+CiAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgMCAwIDAgMCAwICAwIDAgMCAwIDAgIDAgMCAwIDIuNCAtMS4zIi8+CiAgPC9maWx0ZXI+CiAgPHJlY3Qgd2lkdGg9IjMyMCIgaGVpZ2h0PSIzMjAiIGZpbHRlcj0idXJsKCNsaWdodCkiIG9wYWNpdHk9IjAuMjIiLz4KICA8cmVjdCB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCIgZmlsdGVyPSJ1cmwoI2RhcmspIiBvcGFjaXR5PSIwLjIiLz4KPC9zdmc+Cg==);background-size:320px 320px;position:absolute;inset:0 calc(50% - 50vw);-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.dress{width:min(100%,46rem);margin:0 auto;position:relative}.dress__art{fill:none;width:3.25rem;height:3.25rem;stroke:var(--color-ornament);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;opacity:.75;pointer-events:none;position:absolute}.dress__art--gown{top:0;left:0}.dress__art--cuff{top:0;right:0}.dress__heading{padding-inline:3.5rem}.dress__title{color:var(--color-text-accent);font-size:clamp(2.25rem,1.6rem + 3vw,3.75rem);font-weight:600}.dress-veil{padding:var(--space-6) var(--space-4) var(--space-4);border:1px solid var(--color-border);background:linear-gradient(115deg, transparent 30%, color-mix(in srgb, var(--champagne-300) 45%, transparent) 50%, transparent 70%), linear-gradient(160deg, var(--ivory), color-mix(in srgb, var(--champagne-300) 35%, var(--ivory)));text-align:center;box-shadow:0 30px 60px -34px var(--color-shadow);border-radius:1.75rem}.dress-veil__note{max-width:36ch;font-size:var(--text-base);letter-spacing:.01em;text-wrap:pretty;margin:0 auto;line-height:1.65}.dress-palette{gap:var(--space-6);margin-top:var(--space-6);display:grid}.dress-group__label{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-heading);font-weight:600}.dress-group__row{justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.dress-swatch{justify-items:center;display:grid;position:relative}.dress-swatch__button{border:2px solid var(--color-ornament);background:var(--swatch);width:3.5rem;height:3.5rem;box-shadow:0 0 0 3px var(--color-surface-soft), 0 0 0 4px color-mix(in srgb, var(--color-ornament) 60%, transparent), 0 8px 16px -8px var(--color-shadow);cursor:pointer;transition:box-shadow var(--dur-base) var(--ease);border-radius:50%;padding:0;position:relative}.dress-swatch__fabric{background:radial-gradient(circle at 32% 26%,#ffffff73,#0000 55%),repeating-linear-gradient(45deg,#ffffff17 0 1px,#0000 1px 3px),repeating-linear-gradient(-45deg,#00000014 0 1px,#0000 1px 3px);border-radius:50%;position:absolute;inset:0}.dress-swatch__button.is-selected{box-shadow:0 0 0 3px var(--color-surface-soft), 0 0 0 4px var(--color-ornament), 0 0 18px 6px color-mix(in srgb, var(--champagne-600) 55%, transparent)}.dress-swatch__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:6px}.dress-swatch__check{width:1.35rem;height:1.35rem;position:absolute;top:-.35rem;right:-.35rem}.dress-swatch__check circle{fill:var(--color-ornament);stroke:var(--color-surface-soft);stroke-width:1.5px}.dress-swatch__check path{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.dress-swatch__tip{z-index:3;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--white);font-size:var(--text-sm);white-space:nowrap;color:var(--color-text);box-shadow:0 8px 18px -10px var(--color-shadow);pointer-events:none;padding:.3rem .65rem;position:absolute;bottom:calc(100% + .6rem)}.dress-veil__selected{min-height:1.6em;margin:var(--space-6) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.dress-veil__selected strong{color:var(--color-heading);font-weight:500}@media (width>=768px){.dress__art{width:4.5rem;height:4.5rem}.dress-veil{padding:var(--space-8) var(--space-12) var(--space-6)}.dress-swatch__button{width:4.25rem;height:4.25rem}.dress-group__row{gap:var(--space-6)}}.rsvp-card{gap:var(--space-4);max-width:40rem;padding:var(--space-6) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);margin:0 auto;display:grid}.field-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.field-group{gap:var(--space-2);min-width:0;display:grid}.rsvp-card label,.event-picker legend{font-size:var(--text-sm);color:var(--color-heading);font-weight:500}.rsvp-card input,.rsvp-card select,.rsvp-card textarea{width:100%;min-height:44px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:max(var(--text-base), 16px);color:var(--color-text)}.rsvp-card input::placeholder,.rsvp-card textarea::placeholder{color:var(--color-text-muted)}.rsvp-card input:focus-visible,.rsvp-card select:focus-visible,.rsvp-card textarea:focus-visible{border-color:var(--color-focus)}.rsvp-card input:disabled,.rsvp-card select:disabled,.rsvp-card textarea:disabled{background:var(--color-tint);color:var(--color-text-muted);cursor:not-allowed}.rsvp-card textarea{resize:vertical;min-height:6rem}.event-picker{padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:0}.event-picker legend{padding:0 var(--space-1)}.rsvp-card .checkbox-row{align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-base);color:var(--color-text);cursor:pointer;font-weight:400;display:flex}.rsvp-card .checkbox-row input{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--color-primary);margin:0}.form-status{color:var(--color-text-accent)}.wish-list{gap:var(--space-4);max-width:48rem;margin:0 auto;display:grid}.wish-card{padding:var(--space-4);border:1px solid var(--color-border);border-left:3px solid var(--color-ornament);border-radius:var(--radius-sm);background:var(--color-surface-soft);margin:0}.wish-card p{margin-bottom:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;line-height:1.5}.wish-card footer{font-size:var(--text-sm);color:var(--color-text-accent);font-weight:500}.gift-card{max-width:40rem;padding:var(--space-6) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);margin:0 auto}.gift-card>p{margin-bottom:var(--space-4)}.qris-panel{gap:var(--space-3);margin-bottom:var(--space-6);display:grid}.qris-panel .card-label{margin:0}.qris-thumb-btn{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--white);cursor:pointer;width:100%;max-width:18rem;padding:0;position:relative;overflow:hidden}.qris-thumb-img{object-fit:contain;width:100%}.qris-overlay-label{padding:var(--space-2);background:color-mix(in srgb, var(--royal-900) 70%, transparent);color:var(--champagne-300);font-size:var(--text-sm);text-align:center;position:absolute;inset:auto 0 0}.qris-merchant-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-heading);font-weight:600}.qris-mobile-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-tint);font-size:var(--text-sm)}.gift-divider{height:1px;margin-bottom:var(--space-6);background:linear-gradient(90deg, transparent, var(--color-ornament), transparent)}.gift-list{gap:var(--space-3);display:grid}.gift-item{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.gift-item span{font-size:var(--text-sm);color:var(--color-text-accent);font-weight:500}.gift-item strong{overflow-wrap:anywhere;font-weight:500}.qris-lightbox{z-index:100;padding:var(--space-6);background:color-mix(in srgb, var(--royal-900) 72%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qris-lightbox-panel{align-items:center;gap:var(--space-4);width:100%;max-width:26rem;padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:0 40px 80px var(--color-shadow);flex-direction:column;display:flex}.qris-lightbox-img{border-radius:var(--radius-md);background:var(--white);object-fit:contain;width:100%;max-width:22rem}.qris-lightbox-name{font-family:var(--font-display);font-size:var(--text-lg);text-align:center;color:var(--color-heading);font-weight:600}@media (width>=1024px){.gift-item{align-items:center;gap:var(--space-4);grid-template-columns:1fr auto auto}}.page-footer{align-items:center;gap:var(--space-1);min-height:11rem;padding:var(--space-12) var(--space-4) max(var(--space-8), env(safe-area-inset-bottom));isolation:isolate;text-align:center;color:var(--color-text-muted);flex-direction:column;display:flex;position:relative;overflow:clip}.page-footer__signoff{font-family:var(--font-stationery-script);font-size:var(--text-xl);color:var(--color-heading)}.page-footer__floral{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(7rem,26vw,15rem);position:absolute;bottom:0}.page-footer__floral--left{left:0;translate:-6% 8%}.page-footer__floral--right{right:0;translate:6% 8%}.cover-sequence{--cover-gutter:clamp(1rem, 5vw, 2rem);--cover-names-size:clamp(2.6rem, 13.5vw, 5rem);--cover-chrome-h:calc(9.5rem + 1.25 * var(--cover-names-size));--cover-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.95 0 0 0 0 0.85 0 0 0 1.4 -0.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");z-index:110;overscroll-behavior:contain;padding:max(var(--cover-gutter), env(safe-area-inset-top)) max(var(--cover-gutter), env(safe-area-inset-right)) max(clamp(1.25rem, 4svh, 2.5rem), env(safe-area-inset-bottom)) max(var(--cover-gutter), env(safe-area-inset-left));text-align:center;color:var(--champagne-300);background-color:var(--burgundy-900);background-image:radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--ivory) 11%, transparent), transparent 62%), radial-gradient(140% 90% at 50% 110%, #00000073, transparent 60%), linear-gradient(172deg, var(--burgundy-700) 0%, color-mix(in srgb, var(--burgundy-700) 55%, var(--burgundy-900)) 45%, var(--burgundy-900) 100%);will-change:opacity;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.cover-sequence:focus{outline:none}.cover-sequence:before{content:"";pointer-events:none;opacity:.11;mix-blend-mode:soft-light;background-image:var(--cover-grain);background-size:220px 220px;position:fixed;inset:0}.cover-sequence__sprig{display:none}.cover-sequence__inner{will-change:transform, opacity;flex-direction:column;align-items:center;width:100%;max-width:32rem;margin:auto;display:flex;position:relative}.cover-sequence__toolbar{justify-content:flex-end;align-self:stretch;margin-bottom:clamp(.5rem,2svh,1.25rem);display:flex}.cover-sequence__lang-switcher{border:1px solid color-mix(in srgb, var(--champagne-600) 45%, transparent);background:color-mix(in srgb, var(--burgundy-900) 35%, transparent);border-radius:999px;align-items:center;gap:.15rem;padding:.2rem;display:inline-flex}.cover-sequence__lang-option{min-width:2.75rem;min-height:2.25rem;color:color-mix(in srgb, var(--champagne-300) 72%, transparent);font-family:var(--font-display);letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:600;transition:background-color .18s,color .18s;position:relative}.cover-sequence__lang-option:after{content:"";position:absolute;inset:-4px -2px}.cover-sequence__lang-option--active{background:color-mix(in srgb, var(--champagne-600) 24%, transparent);color:var(--ivory);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--champagne-600) 55%, transparent)}.cover-sequence__lang-option:not(.cover-sequence__lang-option--active):hover{background:color-mix(in srgb, var(--champagne-600) 10%, transparent);color:var(--champagne-300)}.cover-sequence__lang-option:focus-visible{outline:2px solid var(--ivory);outline-offset:2px}.cover-sequence__intro{flex-direction:column;align-items:center;margin-bottom:clamp(.75rem,3svh,1.75rem);display:flex}.cover-sequence__eyebrow{font-family:var(--font-display);letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:color-mix(in srgb, var(--champagne-300) 86%, transparent);margin:0;font-size:clamp(.8rem,.74rem + .3vw,.95rem);font-weight:600}.cover-sequence__names{max-width:100%;font-family:var(--font-stationery-script);font-weight:400;font-size:var(--cover-names-size);color:var(--champagne-300);text-shadow:0 1px 0 color-mix(in srgb, var(--burgundy-900) 50%, transparent), 0 0 24px color-mix(in srgb, var(--champagne-300) 12%, transparent);white-space:nowrap;margin:clamp(.1rem,1svh,.5rem) 0 0;line-height:1.15}.cover-sequence__names span{color:var(--champagne-600);margin-inline:.12em}.cover-envelope{--cover-envelope-w:min(100%, 28rem, max(15rem, calc((100svh - var(--cover-chrome-h)) / .75)));width:var(--cover-envelope-w);aspect-ratio:400/300;perspective:1100px;position:relative;container-type:inline-size}.cover-envelope__svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cover-envelope__back{z-index:0;filter:drop-shadow(0 26px 30px #00000080)}.cover-envelope__body{fill:var(--royal-700)}.cover-card{z-index:2;border:1px solid color-mix(in srgb, var(--champagne-600) 80%, transparent);background:radial-gradient(90% 60% at 50% 0%, var(--white), transparent 70%), linear-gradient(180deg, var(--ivory), color-mix(in srgb, var(--champagne-300) 55%, var(--ivory)));border-radius:3px;padding:3.5cqi;position:absolute;inset:4.66667% 5%;box-shadow:0 12px 26px -12px #0009}.cover-card:before,.cover-card:after{content:"";pointer-events:none;position:absolute}.cover-card:before{border:1px solid color-mix(in srgb, var(--champagne-600) 55%, transparent);border-radius:2px;inset:1.6cqi}.cover-card:after{opacity:.18;mix-blend-mode:multiply;background-image:var(--cover-grain);background-size:220px 220px;inset:0}.cover-card__photo{z-index:1;width:100%;height:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--champagne-600) 60%, transparent);border-radius:2px;margin:0;position:relative;overflow:hidden}.cover-card__photo picture,.cover-card__photo img{width:100%;height:100%}.cover-card__photo img{object-fit:cover;object-position:49% 50%}.cover-envelope__pocket{z-index:3;filter:drop-shadow(0 -4px 6px #00000047)}.cover-envelope__pocket-top{stop-color:color-mix(in srgb, var(--burgundy-700) 82%, var(--burgundy-500))}.cover-envelope__pocket-bottom{stop-color:color-mix(in srgb, var(--burgundy-700) 70%, var(--burgundy-900))}.cover-envelope__flap{z-index:4;transform-origin:50% 0;width:100%;height:65.3333%;transform-style:preserve-3d;position:absolute;top:0;left:0}.cover-envelope__flap--open{z-index:1}.cover-envelope__face{backface-visibility:hidden;filter:drop-shadow(0 5px 6px #0000004d);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cover-envelope__face--inside{transform:rotateX(180deg)}.cover-envelope__flap-top{stop-color:color-mix(in srgb, var(--burgundy-700) 92%, var(--burgundy-900))}.cover-envelope__flap-bottom{stop-color:color-mix(in srgb, var(--burgundy-700) 80%, var(--burgundy-500))}.cover-envelope__liner-top{stop-color:var(--royal-900)}.cover-envelope__liner-bottom{stop-color:var(--royal-500)}.cover-envelope__hairline{fill:none;stroke:color-mix(in srgb, var(--champagne-600) 75%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}.cover-envelope__hairline--soft{stroke:#00000038}.cover-envelope__seal{z-index:5;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:24cqi;min-width:44px;padding:0;display:block;position:absolute;top:63.3333%;left:50%;translate:-50% -50%}.cover-envelope__seal-art{filter:drop-shadow(0 4px 5px #00000073);border-radius:50%;transition:scale .2s,filter .2s;display:block}.cover-envelope__seal-art img{width:100%;height:auto;display:block}.cover-envelope__seal:hover .cover-envelope__seal-art{filter:brightness(1.08) drop-shadow(0 6px 8px #00000073) drop-shadow(0 0 10px color-mix(in srgb, var(--champagne-600) 55%, transparent));scale:1.06}.cover-envelope__seal:active .cover-envelope__seal-art{scale:.97}.cover-envelope__seal:focus-visible{outline:2px solid var(--ivory);outline-offset:4px}.cover-envelope__seal[aria-disabled=true]{pointer-events:none}.cover-envelope__date{z-index:4;font-family:var(--font-display);font-variant-numeric:lining-nums;letter-spacing:.2em;text-indent:.2em;color:var(--champagne-300);margin:0;font-size:max(1rem,5cqi);font-weight:600;line-height:1;position:absolute;bottom:5cqi;left:0;right:0}@media (width>=768px){.cover-sequence__sprig{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(18vw,15rem);display:block;position:fixed}.cover-sequence__sprig img{width:100%}.cover-sequence__sprig--top{top:0;left:0;transform:rotate(180deg)}.cover-sequence__sprig--bottom{bottom:0;right:0}}
