@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@300;400;500&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.topbar{z-index:10;color:#fff;border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;width:100%;height:94px;padding:0 5vw;display:flex;position:absolute;top:0;left:0}.monogram{letter-spacing:4px;font:400 27px Cormorant Garamond}.monogram i{color:#c4c8ca}.topbar nav{text-transform:uppercase;letter-spacing:2px;gap:38px;font-size:11px;display:flex}.nav-rsvp{letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid #fff;padding-bottom:5px;font-size:11px}.hero{color:#fff;height:100svh;min-height:690px;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center 43%}.hero-shade{background:linear-gradient(90deg,#10171d85,#10171d1c 55%,#10171d4d),linear-gradient(#0000 55%,#0f181e52);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding-top:70px;display:flex;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:4px;font-size:10px;font-weight:500}.hero h1{flex-direction:column;margin:30px 0;font:400 clamp(70px,10vw,145px)/.69 Cormorant Garamond;display:flex}.hero h1 em{color:#d8dddf;margin:13px 0;font-size:.38em}.hero-copy{font:400 20px/1.5 Cormorant Garamond}.hero-date{letter-spacing:2px;align-items:center;gap:14px;margin:20px 0 30px;font-size:10px;display:flex}.hero-date b{font:400 45px Cormorant Garamond}.hero-date i{background:#ffffff7a;width:1px;height:35px}.button{text-transform:uppercase;letter-spacing:2px;cursor:pointer;border:1px solid;justify-content:center;align-items:center;min-height:49px;padding:0 27px;font-size:10px;transition:all .25s;display:inline-flex}.light-button:hover{color:var(--ink);background:#fff}.scroll-note{z-index:2;text-transform:uppercase;letter-spacing:2px;font-size:8px;position:absolute;bottom:28px;left:5vw}.scroll-note b{margin-left:8px;font-size:14px}.intro,.details,.reminders,.gallery{text-align:center;padding:110px 7vw}.intro h2,.details h2,.attire h2,.reminders h2,.gallery h2,.rsvp h2{margin:22px 0 30px;font:400 clamp(52px,7vw,96px)/.9 Cormorant Garamond}.intro h2 i,.attire h2 i{color:#8b989e}.flourish{color:#9ca4a7;margin:36px 0;font-size:20px}.lead{max-width:670px;margin:0 auto;font:400 20px/1.7 Cormorant Garamond}.intro blockquote{border-top:1px solid var(--line);max-width:560px;margin:60px auto 0;padding-top:32px;font:italic 26px/1.4 Cormorant Garamond}.intro cite{letter-spacing:3px;text-transform:uppercase;margin-top:14px;font:500 9px DM Sans;display:block}.photo-break{color:#fff;height:75vh;min-height:580px;position:relative}.photo-break img{object-fit:cover}.photo-break:after{content:"";background:linear-gradient(90deg,#0d1a2426,#0d1a2494);position:absolute;inset:0}.photo-quote{z-index:1;text-align:right;flex-direction:column;font:400 clamp(50px,6vw,88px)/.9 Cormorant Garamond;display:flex;position:absolute;top:50%;right:8vw;transform:translateY(-50%)}.photo-quote em{color:#e4e6e2;margin-top:20px;font-size:.5em}.event-grid{border:1px solid var(--line);grid-template-columns:1fr 1fr;max-width:1000px;margin:60px auto 10px;display:grid}.event-grid article{padding:65px 70px;position:relative}.event-grid article+article{border-left:1px solid var(--line)}.number{color:#b3b5b3;font:italic 22px Cormorant Garamond;position:absolute;top:20px;left:25px}.line-icon{color:#8c989d;font-size:26px}.event-grid h3{margin:15px;font:400 36px Cormorant Garamond}.event-grid p{font-size:12px;line-height:1.9}.event-grid hr{border:0;border-top:1px solid var(--line);width:45px;margin:25px auto}.event-grid h4{letter-spacing:2px;text-transform:uppercase;font:500 10px DM Sans}.event-grid a{text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid;margin-top:15px;font-size:9px;display:inline-block}.sample-note{color:#7f878b;font-size:10px}.attire{grid-template-columns:1fr 1fr;min-height:700px;display:grid}.attire-image{min-height:600px;position:relative}.attire-image img{object-fit:cover}.attire-copy{text-align:left;background:#d8dee0;flex-direction:column;justify-content:center;padding:9vw;display:flex}.attire-copy p{font-size:13px;line-height:1.8}.swatches{gap:13px;margin:24px 0;display:flex}.swatches i{border:3px solid #fff6;border-radius:50%;width:38px;height:38px;display:block;box-shadow:0 0 0 1px #899398}.s1{background:#aeb7ba}.s2{background:#d6c7a9}.s3{background:#ad9d8f}.s4{background:#8096a5}.s5{background:#343b3e}.small{font-size:10px!important}.reminder-grid{grid-template-columns:repeat(3,1fr);max-width:1100px;margin:55px auto 0;display:grid}.reminder-grid article{padding:25px 45px}.reminder-grid article+article{border-left:1px solid var(--line)}.reminder-grid span{color:#879399;font-size:28px}.reminder-grid h3{margin:19px 0 10px;font:400 27px Cormorant Garamond}.reminder-grid p{font-size:11px;line-height:1.8}.gallery-grid{grid-template-rows:320px 320px;grid-template-columns:1fr 1fr;gap:12px;max-width:1150px;margin:55px auto 0;display:grid}.gallery-grid img{object-fit:cover;width:100%;height:100%}.gallery-grid img:first-child{grid-row:span 2}.rsvp{background:#26343c url(/photos/rocks.jpg) 50%/cover fixed;padding:100px 20px;position:relative}.rsvp:before{content:"";background:#25343ddb;position:absolute;inset:0}.rsvp-card{text-align:center;background:#f8f6f0;max-width:700px;margin:auto;padding:70px 80px;position:relative;box-shadow:0 20px 80px #1118}.rsvp-card>p{font-size:12px}.rsvp form{text-align:left;margin-top:40px}.rsvp label,.rsvp legend{text-transform:uppercase;letter-spacing:2px;margin-bottom:18px;font-size:9px;font-weight:500;display:block}.rsvp input,.rsvp textarea{background:0 0;border:0;border-bottom:1px solid #a9adae;outline:none;width:100%;margin-top:6px;padding:12px 2px;font:400 14px DM Sans;display:block}.rsvp textarea{resize:vertical}.rsvp fieldset{border:0;margin:27px 0;padding:0}.choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choices label{cursor:pointer;margin:0}.choices input{opacity:0;position:absolute}.choices span{text-align:center;border:1px solid #afb4b6;justify-content:center;align-items:center;height:48px;display:flex}.choices input:checked+span{color:#fff;background:#738a99;border-color:#738a99}.dark-button{color:#fff;background:#28363e;width:100%;margin-top:12px}.success{padding:50px 0}.success>span{border:1px solid #8e9da3;border-radius:50%;place-items:center;width:64px;height:64px;font-size:25px;display:inline-grid}.success button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:15px}.closing{text-align:center;color:#fff;place-items:center;height:68vh;min-height:550px;display:grid;position:relative}.closing img{object-fit:cover}.closing:after{content:"";background:#0f181f75;position:absolute;inset:0}.closing div{z-index:1;position:relative}.closing h2{margin:15px;font:400 clamp(70px,10vw,140px) Cormorant Garamond}.closing h2 i{font-size:.6em}.closing div>p:last-child{letter-spacing:8px;font-size:11px}footer{color:#dce0df;text-transform:uppercase;letter-spacing:2px;background:#1f2c33;justify-content:space-between;align-items:center;min-height:120px;padding:30px 6vw;font-size:9px;display:flex}footer span{font:400 25px Cormorant Garamond}@media (width<=760px){.topbar{height:72px;padding:0 20px}.topbar nav{display:none}.hero{min-height:650px}.hero>img{object-position:55% center}.hero-content{padding:80px 20px 20px}.hero h1{font-size:76px}.scroll-note{display:none}.intro,.details,.reminders,.gallery{padding:80px 20px}.lead{font-size:18px}.photo-break{height:600px}.photo-break img{object-position:62% center}.photo-quote{font-size:52px;top:auto;bottom:50px;right:24px;transform:none}.event-grid{grid-template-columns:1fr}.event-grid article{padding:55px 25px}.event-grid article+article{border-left:0;border-top:1px solid var(--line)}.attire{grid-template-columns:1fr}.attire-copy{padding:70px 30px}.attire-image{min-height:520px}.reminder-grid{grid-template-columns:1fr}.reminder-grid article{padding:30px 15px}.reminder-grid article+article{border-left:0;border-top:1px solid var(--line)}.gallery-grid{grid-template-rows:420px 260px 260px;grid-template-columns:1fr}.gallery-grid img:first-child{grid-row:auto}.rsvp{padding:55px 14px}.rsvp-card{padding:55px 24px}.choices{grid-template-columns:1fr}.closing img{object-position:55% center}footer{flex-wrap:wrap;gap:20px}footer p{order:3;width:100%;margin:0}}:root{--ink:#514d49;--ivory:#fbfaf7;--line:#ddd7ce}.photo-break:after{background:linear-gradient(90deg,#4f49417a,#0000 62%,#655e5540)}.photo-quote{text-align:left;text-shadow:0 2px 24px #423b35aa;left:8vw;right:auto}.event-grid{background:#fffdf9;border-color:#ded7cc}.event-grid article{padding:0 70px 65px;overflow:hidden}.venue-photo{height:235px;margin:0 -70px 48px;position:relative}.venue-photo:after{content:"";background:linear-gradient(#0000 52%,#fff9);position:absolute;inset:0}.venue-photo img{object-fit:cover}.event-grid article:first-child .venue-photo img{object-position:center 47%}.attire-copy{background:linear-gradient(145deg,#f8f6f2,#ded5cb)}.gallery-grid img:first-child{object-fit:contain;background:#d5c7b8}.rsvp:before{background:#655b52d1}.rsvp-card{background:#fffefa}.choices input:checked+span{background:#a89d91;border-color:#a89d91}.dark-button{background:#77716b}.dark-button:hover{background:#a89d91}footer{background:#5d5853}.closing:after{background:#5a51497a}@media (width<=760px){.photo-quote{text-align:left;left:24px;right:auto}.event-grid article{padding:0 25px 55px}.venue-photo{height:210px;margin:0 -25px 42px}.gallery-grid img:first-child{object-fit:contain}}.section-heading{text-align:center;max-width:760px;margin:0 auto 65px}.section-heading h2{margin:20px 0;font:400 clamp(54px,7vw,96px)/.9 Cormorant Garamond}.section-heading h2 i{color:#9b9188}.section-heading>p:last-child{font:400 18px/1.7 Cormorant Garamond}.love-story{background:linear-gradient(#f7f2eb,#fffdf9);padding:120px 7vw}.story-list{max-width:1120px;margin:auto}.story-card{background:#fff;grid-template-columns:1fr 1fr;min-height:610px;margin-bottom:32px;display:grid;box-shadow:0 24px 80px #75695c16}.story-image{min-height:540px;position:relative;overflow:hidden}.story-image img{object-fit:cover}.story-card:nth-child(2) .story-image img{object-position:center 42%}.story-card:nth-child(3) .story-image img{object-position:center 45%}.story-card:nth-child(4) .story-image img{object-position:center}.story-copy{flex-direction:column;justify-content:center;padding:70px 68px;display:flex;position:relative}.story-number{color:#d9d1c8;font:italic 38px Cormorant Garamond;position:absolute;top:22px;right:32px}.story-copy h3{margin:15px 0 28px;font:400 42px/1 Cormorant Garamond}.story-copy>p:last-child{font:300 13px/1.9 DM Sans}.next-chapter{text-align:center;padding:95px 20px 20px}.next-chapter h3{margin:22px 0;font:400 clamp(42px,5vw,68px)/1.04 Cormorant Garamond}.next-chapter>p:last-child{color:#928980;font:italic 22px Cormorant Garamond}.wedding-party{background:#fffdf9;padding:120px 7vw}.party-grid{border:1px solid #ded7cc;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:auto;display:grid}.party-grid article{text-align:center;border-bottom:1px solid #ded7cc;border-right:1px solid #ded7cc;min-height:165px;padding:40px 30px}.party-grid article:nth-child(3n){border-right:0}.party-grid article:nth-last-child(-n+3){border-bottom:0}.party-grid h3,.secondary-sponsors h3{text-transform:uppercase;letter-spacing:3px;color:#9b9187;margin-bottom:20px;font:500 10px DM Sans}.party-grid p{margin-bottom:3px;font:400 20px/1.45 Cormorant Garamond}.sponsors{background:linear-gradient(145deg,#ebe5dc,#faf8f4);padding:120px 7vw}.secondary-sponsors{background:#fffdf9;grid-template-columns:repeat(3,1fr);max-width:1050px;margin:auto;display:grid}.secondary-sponsors article{text-align:center;padding:55px 30px;position:relative}.secondary-sponsors article+article{border-left:1px solid #ded7cc}.secondary-sponsors span{color:#c7bdb2;margin-bottom:18px;font:italic 28px Cormorant Garamond;display:block}.secondary-sponsors p{font:400 21px/1.55 Cormorant Garamond}.principal{text-align:center;border-top:1px solid #cec5bb;max-width:880px;margin:70px auto 0;padding-top:60px}.principal>div{grid-template-columns:1fr 1fr;gap:18px 50px;margin-top:34px;display:grid}.principal>div p{margin:0;font:400 20px/1.5 Cormorant Garamond}@media (width<=800px){.love-story,.wedding-party,.sponsors{padding:85px 20px}.section-heading{margin-bottom:45px}.story-card{grid-template-columns:1fr;min-height:0}.story-card:nth-child(2n) .story-image{order:0}.story-image{min-height:440px}.story-card:first-child .story-image{min-height:390px}.story-copy{padding:55px 28px}.story-copy h3{font-size:36px}.party-grid{grid-template-columns:1fr}.party-grid article,.party-grid article:nth-child(3n),.party-grid article:nth-last-child(-n+3){border-bottom:1px solid #ded7cc;border-right:0;min-height:0}.party-grid article:last-child{border-bottom:0}.secondary-sponsors{grid-template-columns:1fr}.secondary-sponsors article+article{border-top:1px solid #ded7cc;border-left:0}.principal>div{grid-template-columns:1fr;gap:14px}.next-chapter{padding-top:70px}}.dress-codes{grid-template-columns:1fr 1fr;gap:14px;margin:28px 0;display:grid}.dress-codes>div{border-top:1px solid #c7beb5;border-bottom:1px solid #c7beb5;align-items:center;gap:14px;padding:17px 0;display:flex}.dress-codes p{margin:0!important;line-height:1.55!important}.dress-swatch{border:3px solid #fff9;border-radius:50%;flex:0 0 44px;width:44px;height:44px;display:block;box-shadow:0 0 0 1px #a9a19a}.dress-swatch.silver{background:linear-gradient(135deg,#f1f2f2,#aeb3b6)}.dress-swatch.pastel-blue{background:linear-gradient(135deg,#dcebf4 0 50%,#a9cadf 50%)}@media (width<=500px){.dress-codes{grid-template-columns:1fr}}.invitation-cover{z-index:1000;color:#67696b;text-align:center;background:radial-gradient(circle at 50% 38%,#fff 0,#f9f8f5 42%,#e9e8e5 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.invitation-cover:before,.invitation-cover:after{content:"";border:1px solid #c8c9ca55;border-radius:50%;width:64vw;height:64vw;animation:5s ease-in-out infinite cover-pulse;position:absolute}.invitation-cover:after{width:48vw;height:48vw;animation-delay:-2.5s}.cover-card{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd8;border:1px solid #c9cacb;width:min(90vw,600px);padding:74px 45px;position:relative;box-shadow:0 30px 100px #74747424}.cover-card:before,.cover-card:after{content:"✦";color:#b8babc;font-size:16px;position:absolute;left:50%;transform:translate(-50%)}.cover-card:before{top:28px}.cover-card:after{bottom:24px}.cover-card h1{color:#5b5e60;margin:30px 0;font:400 clamp(62px,9vw,105px)/.85 Cormorant Garamond}.cover-card h1 i{color:#a6a9ab;font-size:.55em}.cover-date{letter-spacing:3px;text-transform:uppercase;justify-content:center;align-items:center;gap:18px;font:500 11px DM Sans;display:flex}.cover-date span{background:#b9bbbd;width:46px;height:1px}.cover-card button{color:#606366;cursor:pointer;text-transform:uppercase;letter-spacing:2px;background:#fff;border:1px solid #aeb1b3;align-items:center;gap:17px;margin:42px auto 0;padding:7px 24px 7px 7px;font:500 10px DM Sans;transition:all .35s;display:flex}.cover-card button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #7773}.cover-card button b{color:#fff;letter-spacing:1px;background:linear-gradient(145deg,#f5f6f6,#aeb2b5);border-radius:50%;place-items:center;width:55px;height:55px;font:400 16px Cormorant Garamond;display:grid}.cover-note{z-index:2;letter-spacing:1px;font:italic 17px Cormorant Garamond;position:absolute;bottom:28px}.cover-shimmer i{opacity:.5;background:#c9cbcd;border-radius:50%;width:5px;height:5px;animation:4s ease-in-out infinite sparkle;position:absolute}.cover-shimmer i:first-child{top:15%;left:8%}.cover-shimmer i:nth-child(2){animation-delay:-1s;top:72%;left:18%}.cover-shimmer i:nth-child(3){animation-delay:-2s;top:24%;left:30%}.cover-shimmer i:nth-child(4){animation-delay:-3s;top:87%;left:42%}.cover-shimmer i:nth-child(5){animation-delay:-1.5s;top:12%;left:55%}.cover-shimmer i:nth-child(6){animation-delay:-2.5s;top:78%;left:68%}.cover-shimmer i:nth-child(7){animation-delay:-.5s;top:23%;left:81%}.cover-shimmer i:nth-child(8){animation-delay:-3.5s;top:64%;left:92%}.cover-shimmer i:nth-child(n+9){display:none}.invitation{opacity:0;transition:opacity 1s}.invitation.opened{opacity:1}.floating-petals{z-index:20;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-petals i{opacity:.42;background:linear-gradient(145deg,#fff,#c9cbcd);border-radius:100% 0;width:9px;height:16px;animation:12s linear infinite petal-fall;position:absolute;top:-8%}.floating-petals i:first-child{animation-delay:-2s;left:5%}.floating-petals i:nth-child(2){animation-duration:15s;animation-delay:-8s;left:14%}.floating-petals i:nth-child(3){animation-delay:-4s;left:24%}.floating-petals i:nth-child(4){animation-duration:17s;animation-delay:-10s;left:36%}.floating-petals i:nth-child(5){animation-delay:-6s;left:47%}.floating-petals i:nth-child(6){animation-duration:14s;animation-delay:-1s;left:58%}.floating-petals i:nth-child(7){animation-delay:-9s;left:67%}.floating-petals i:nth-child(8){animation-duration:16s;animation-delay:-5s;left:76%}.floating-petals i:nth-child(9){animation-delay:-11s;left:84%}.floating-petals i:nth-child(10){animation-duration:18s;animation-delay:-3s;left:93%}.floating-petals i:nth-child(11){animation-delay:-13s;left:31%}.floating-petals i:nth-child(12){animation-delay:-7s;left:71%}.love-story{background:linear-gradient(#fff,#f5f5f3 52%,#fff);position:relative;overflow:hidden}.story-list{max-width:1030px;position:relative}.story-list:before{content:"";background:linear-gradient(#d4d6d7,#9fa3a5,#d4d6d7);width:1px;position:absolute;top:95px;bottom:95px;left:50%}.story-list:after{content:"✦\a ✦\a ✦";white-space:pre;color:#b7b9bb;font-size:12px;line-height:18rem;position:absolute;top:23%;left:50%;transform:translate(-50%)}.story-card{min-height:430px;box-shadow:none;background:0 0;grid-template-columns:1fr 1fr;align-items:center;margin:0;display:grid;position:relative}.story-card:nth-child(2n) .story-image{order:2}.story-image{border:9px solid #fff;border-radius:50%;outline:1px solid #bfc1c2;justify-self:center;width:330px;height:330px;min-height:0;box-shadow:0 22px 55px #62676a25}.story-card .story-image img{object-fit:cover}.story-card:first-child .story-image img{object-position:center}.story-copy{justify-self:center;padding:55px 70px}.story-card:nth-child(odd) .story-copy{text-align:right}.story-number{color:#c2c4c5;font-size:30px}.story-copy h3{color:#686b6d;font-style:italic}.story-copy>p:last-child{font-size:14px;line-height:1.8}.story-card:after{content:"";background:#fff;border:1px solid #aeb1b3;border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wedding-party{background:#fff;position:relative}.wedding-party:before,.sponsors:before{content:"✦";color:#c0c2c3;position:absolute;top:52px;left:50%;transform:translate(-50%)}.party-grid{border:0;grid-template-columns:1fr 1fr;gap:0 70px;max-width:920px}.party-grid article,.party-grid article:nth-child(3n),.party-grid article:nth-last-child(-n+3){border:0;border-bottom:1px solid #dedfe0;min-height:0;padding:34px 18px}.party-grid article:nth-child(-n+2){border-top:1px solid #dedfe0}.party-grid h3,.secondary-sponsors h3{color:#8b8e90;text-transform:none;letter-spacing:1px;margin-bottom:14px;font-family:Cormorant Garamond;font-size:17px;font-style:italic}.party-grid p{font-size:19px}.sponsors{background:linear-gradient(#f1f1ef,#fff);position:relative}.secondary-sponsors{background:#fffc;border:1px solid #d6d7d8}.secondary-sponsors h3{font-size:19px}.principal{border-color:#cfd1d2}.principal>div{background:#fff;padding:38px;box-shadow:0 16px 50px #74747412}.principal>div p{border-bottom:1px solid #e4e4e3;padding:10px}@keyframes cover-pulse{0%,to{opacity:.45;transform:scale(.96)}50%{opacity:.85;transform:scale(1.04)}}@keyframes sparkle{0%,to{opacity:.2;transform:scale(.5)}50%{opacity:.8;transform:scale(1.8)}}@keyframes petal-fall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}10%{opacity:.45}to{opacity:0;transform:translate(80px,115vh)rotate(720deg)}}@media (width<=800px){.cover-card{padding:64px 24px}.invitation-cover:before{width:130vw;height:130vw}.invitation-cover:after{width:100vw;height:100vw}.story-list:before,.story-list:after{left:30px}.story-card,.story-card:nth-child(2n){grid-template-columns:1fr;padding:35px 0 55px}.story-card:nth-child(2n) .story-image{order:0}.story-image{justify-self:center;width:min(72vw,310px);height:min(72vw,310px)}.story-copy,.story-card:nth-child(odd) .story-copy{text-align:left;padding:36px 24px 10px 65px}.story-card:after{top:auto;bottom:50px;left:30px}.party-grid{grid-template-columns:1fr;gap:0}.party-grid article:nth-child(2){border-top:0}.principal>div{padding:22px}.floating-petals i:nth-child(n+8){display:none}}@media (prefers-reduced-motion:reduce){.invitation-cover:before,.invitation-cover:after,.cover-shimmer i,.floating-petals i{animation:none}.invitation{transition:none}}.invitation-cover:before{opacity:.26;background:url(/photos/floral-silver-nude.png) 50%/cover no-repeat;border:0;border-radius:0;width:100%;height:100%;animation:7s ease-in-out infinite floral-breathe}.invitation-cover:after{border-color:#b9bbbc55;width:78vw;max-width:850px;height:78vw;max-height:850px}.envelope-stage{z-index:4;perspective:1500px;width:min(91vw,680px);height:520px;position:relative}.invitation-letter{z-index:2;text-align:center;background:#fffdfa;border:1px solid #c4c2be;width:80%;height:330px;padding:70px 30px 30px;transition:transform 1s cubic-bezier(.2,.8,.2,1) .35s;position:absolute;bottom:145px;left:10%;box-shadow:0 12px 45px #5b554d22}.invitation-letter:before{content:"✦";color:#b1b3b4;position:absolute;top:28px;left:50%;transform:translate(-50%)}.invitation-letter h1{color:#666668;margin:25px 0;font:400 clamp(56px,8vw,94px)/.88 Cormorant Garamond}.invitation-letter h1 i{color:#aaa;font-size:.55em}.invitation-letter .cover-date{color:#727476}.envelope{z-index:3;filter:drop-shadow(0 28px 32px #514a4233);width:100%;height:330px;position:absolute;bottom:0;left:0}.envelope-back{background:linear-gradient(145deg,#e8e4dc,#c9c5be);border:1px solid #b8b5af;position:absolute;inset:0}.envelope-pocket{z-index:4;clip-path:polygon(0 8%,50% 62%,100% 8%,100% 100%,0 100%);background:linear-gradient(155deg,#f8f6f1,#d8d3cb 72%);border-bottom:1px solid #b9b6b0;position:absolute;inset:0}.envelope-flap{z-index:5;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(170deg,#f9f7f2,#d2cec6);border-top:1px solid #b9b6b0;width:100%;height:58%;transition:transform .75s cubic-bezier(.4,0,.2,1),z-index 0s .38s;position:absolute;top:0;left:0}.wax-seal{z-index:6;color:#fff;cursor:pointer;background:radial-gradient(circle at 32% 25%,#f6f7f7,#aeb2b4 60%,#85898b);border:1px solid #f3f3f2;border-radius:50%;place-items:center;width:84px;height:84px;transition:all .35s;display:grid;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);box-shadow:0 7px 20px #58534b55,inset 0 0 0 5px #ffffff3d}.wax-seal:hover{transform:translate(-50%,-50%)scale(1.08)}.wax-seal b{letter-spacing:1px;font:400 22px Cormorant Garamond}.is-opening .envelope-flap{z-index:1;transform:rotateX(180deg)}.is-opening .wax-seal{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.65)}.is-opening .invitation-letter{transform:translateY(-155px)}.cover-note{transition:all .4s}.cover-shimmer{position:absolute;inset:0}.intro,.details,.wedding-party,.sponsors,.reminders,.gallery{position:relative;overflow:hidden}.intro:before,.details:after,.wedding-party:after,.sponsors:after,.reminders:before,.gallery:after{content:"";z-index:0;opacity:.17;pointer-events:none;background:url(/photos/floral-silver-nude.png) 50%/contain no-repeat;width:460px;height:310px;position:absolute}.intro:before,.reminders:before{bottom:-75px;left:-110px}.details:after,.wedding-party:after,.sponsors:after,.gallery:after{top:-55px;right:-120px;transform:rotate(8deg)}.intro>*,.details>*,.wedding-party>*,.sponsors>*,.reminders>*,.gallery>*{z-index:1;position:relative}.section-heading:after{content:"✦  ·  ✦";color:#b9b9b8;letter-spacing:9px;margin-top:24px;font-size:11px;display:block}.story-image{border-width:7px;width:260px;height:260px}.story-card{min-height:360px}.story-copy{padding:45px 64px}.story-copy h3{font-size:38px}.love-story:before,.love-story:after{content:"";z-index:0;opacity:.13;pointer-events:none;background:url(/photos/floral-silver-nude.png) 50%/contain no-repeat;width:480px;height:320px;position:absolute}.love-story:before{top:110px;left:-140px}.love-story:after{bottom:80px;right:-140px;transform:rotate(180deg)}.love-story .section-heading,.love-story .story-list,.love-story .next-chapter{z-index:1;position:relative}@keyframes floral-breathe{0%,to{opacity:.22;transform:scale(1)}50%{opacity:.31;transform:scale(1.025)}}@keyframes envelope-away{to{opacity:0;transform:translateY(210px)}}@media (width<=800px){.envelope-stage{height:470px}.envelope{height:260px;bottom:30px}.invitation-letter{height:300px;padding-top:58px;bottom:120px}.invitation-letter h1{font-size:58px}.is-opening .invitation-letter{transform:translateY(-115px)}.wax-seal{width:72px;height:72px}.story-image{width:220px;height:220px}.story-card{min-height:0;padding-top:20px}.story-copy{padding:28px 24px 22px 65px}.intro:before,.details:after,.wedding-party:after,.sponsors:after,.reminders:before,.gallery:after{opacity:.14;width:300px;height:220px}}@media (prefers-reduced-motion:reduce){.envelope-flap,.invitation-letter,.wax-seal{transition-duration:.01ms}.is-opening .envelope,.invitation-cover:before{animation:none}}:root{--ink:#484a4d;--silver-dark:#5d6165;--silver:#858a8e;--silver-light:#c9ccce;--nude:#c8b6a5;--ivory:#fbfaf8;--line:#b9bbbd}body{color:var(--ink);background:linear-gradient(90deg,#eceae7 0,#fbfaf8 8% 92%,#eceae7 100%)}.hero h1,.closing h2,.cover-card h1,.invitation-letter h1{letter-spacing:1px;font-family:Great Vibes,cursive;font-weight:400}.hero h1{text-shadow:0 4px 20px #1119,0 1px #fff8;line-height:.78}.hero h1 em{color:#c7c9cb;text-shadow:0 2px 8px #1118;font-family:Cormorant Garamond,serif}.invitation-letter h1{color:#56595c;text-shadow:0 1px #fff,0 3px 8px #68686835}.intro h2,.details h2,.attire h2,.reminders h2,.gallery h2,.rsvp h2,.section-heading h2{color:var(--silver-dark);text-shadow:0 1px #fff,0 2px 5px #72727220;font-family:Great Vibes,cursive;font-weight:400;line-height:1.05}.section-heading h2{font-size:clamp(60px,8vw,110px)}.intro h2 i,.attire h2 i,.section-heading h2 i{color:#777b7e}.story-copy h3,.next-chapter h3,.event-grid h3,.reminder-grid h3{color:#5c6063;font-family:Great Vibes,cursive;font-weight:400}.story-copy h3{font-size:46px;font-style:normal}.event-grid h3{font-size:46px}.eyebrow{color:#666a6d;font-weight:500}.light{color:#f5f5f3}.invitation-cover{background:radial-gradient(circle at 50% 28%,#fff 0,#e7e4df 52%,#b9b7b3 100%)}.invitation-cover:after{border:2px solid #6e727666;box-shadow:inset 0 0 80px #3e42451a,0 0 55px #fff8}.invitation-letter{background:linear-gradient(145deg,#fff,#ece9e4);border:1px solid #74787b;box-shadow:0 28px 70px #3535354f,inset 0 0 0 7px #fff,inset 0 0 0 8px #85898c}.invitation-letter:after{content:"";pointer-events:none;border:1px solid #7c808340;position:absolute;inset:15px}.envelope{filter:drop-shadow(0 34px 34px #32323273)}.envelope-back{background:linear-gradient(145deg,#b7b9bb,#666b6f);border-color:#4f5458}.envelope-pocket{background:linear-gradient(155deg,#d7d8d8,#7d8286 68%,#5b6064);border-color:#4f5458}.envelope-flap{background:linear-gradient(165deg,#e3e4e4,#8c9093 68%,#64696d);border-color:#4b5054}.wax-seal{background:radial-gradient(circle at 30% 22%,#d9dcde,#747a7e 52%,#3f4549 82%);border:2px solid #e9eaeb;box-shadow:0 12px 24px #2d2d2d99,inset 0 0 0 5px #f4f4f426,inset -8px -10px 18px #282d304f}.wax-seal b{text-shadow:0 2px 4px #222}.cover-note{color:#55595c;font-size:19px}.story-card{perspective:1000px}.story-image{border-color:#f8f8f6;outline:2px solid #666b6e;transform:translateZ(0);box-shadow:0 18px 32px #34343440,0 4px #777c80,inset 0 0 0 2px #fff}.story-card:hover .story-image{transform:translateY(-5px)rotateY(2deg);box-shadow:0 27px 45px #34343450,0 5px #6a6f73}.story-image{transition:all .45s}.story-list:before{background:linear-gradient(90deg,#fafafa,#555a5e,#d7d9da);width:3px;box-shadow:2px 0 5px #5554}.story-card:after{border:2px solid #555a5e;width:13px;height:13px;box-shadow:0 3px 8px #5557}.story-number{color:#686d70;text-shadow:0 1px #fff}.event-grid,.party-grid,.secondary-sponsors,.principal>div,.rsvp-card{background:linear-gradient(145deg,#fff,#ebe8e3);border:1px solid #74797c;box-shadow:0 24px 60px #3e3e3e24,0 5px #777b7d,inset 0 0 0 5px #ffffffb0}.event-grid article+article,.secondary-sponsors article+article{border-color:#85898c}.party-grid article,.principal>div p{border-color:#a0a3a5}.party-grid h3,.secondary-sponsors h3{color:#555a5e;font-family:Great Vibes,cursive;font-size:27px;font-style:normal}.party-grid p,.principal>div p{color:#4d5052}.dress-swatch.silver{background:linear-gradient(135deg,#f2f3f3 0,#777c80 48%,#3f4549 100%);box-shadow:0 5px 10px #4446}.button{border-color:#5f6467}.dark-button{background:linear-gradient(145deg,#74797d,#41474b);box-shadow:0 7px #303538,0 13px 24px #34343442}.dark-button:hover{background:linear-gradient(145deg,#858a8e,#50565a);transform:translateY(-2px)}footer{background:linear-gradient(145deg,#5d6164,#34383b);box-shadow:inset 0 1px #aeb1b3}@media (width<=800px){.hero h1{font-size:88px}.story-copy h3{font-size:40px}.event-grid,.party-grid,.secondary-sponsors,.principal>div,.rsvp-card{box-shadow:0 15px 35px #3e3e3e22,0 3px #777b7d,inset 0 0 0 3px #ffffffb0}}.invitation-letter{opacity:1;height:292px;bottom:14px;transform:translateY(0)}.invitation-letter h1{font-size:70px}.is-opening .invitation-letter{transition-delay:.48s;transform:translateY(-285px)}.envelope-stage{height:520px}.envelope{bottom:38px}.hero h1{color:#f7f4ef;text-shadow:0 2px 12px #1116;opacity:.94;font-weight:400}.hero h1 span{font-weight:400}.hero h1 em{text-shadow:0 1px 6px #1115;font-weight:400}@media (width<=800px){.invitation-letter{height:242px;padding-top:48px;bottom:44px}.invitation-letter h1{margin:18px 0;font-size:50px}.envelope{bottom:48px}.is-opening .invitation-letter{transform:translateY(-225px)}.hero h1{text-shadow:0 2px 9px #1115;font-size:80px}}.envelope>.invitation-letter{z-index:3;width:80%;bottom:18px;left:10%}.envelope>.envelope-pocket{z-index:4}.envelope>.envelope-flap{z-index:5}.is-opening .envelope{animation:none}.is-opening .envelope>.invitation-letter{transform:translateY(-285px)}@media (width<=800px){.envelope>.invitation-letter{bottom:16px}.is-opening .envelope>.invitation-letter{transform:translateY(-225px)}}.new-envelope-scene{z-index:4;perspective:1800px;justify-content:center;align-items:flex-end;width:min(88vw,620px);height:clamp(390px,72vh,560px);display:flex;position:relative}.new-envelope{aspect-ratio:1.58;filter:drop-shadow(0 30px 30px #2d30335c);width:100%;transform-style:preserve-3d;margin-bottom:52px;position:relative}.new-envelope-back{z-index:1;background:linear-gradient(145deg,#aeb2b5 0%,#747a7e 48%,#4d5357 100%);border:1px solid #4d5256;position:absolute;inset:0;box-shadow:inset 0 2px #e8eaeb99,inset 0 -25px 45px #30343748}.new-invitation-card{z-index:3;text-align:center;background:linear-gradient(145deg,#fff 0%,#f5f2ed 100%);border:1px solid #6d7275;flex-direction:column;justify-content:center;align-items:center;width:82%;height:84%;padding:36px 28px;transition:transform 1.5s cubic-bezier(.22,.72,.2,1) .82s,box-shadow 1.5s .82s;display:flex;position:absolute;top:8%;left:9%;overflow:hidden;box-shadow:0 12px 28px #292d304d,inset 0 0 0 7px #fff,inset 0 0 0 8px #8d919440}.new-invitation-card:before{content:"✦";color:#858a8d;font-size:13px;position:absolute;top:22px}.new-invitation-card:after{content:"";pointer-events:none;border:1px solid #85898c45;position:absolute;inset:15px}.new-invitation-card h1{color:#575c60;text-shadow:0 1px #fff,0 3px 8px #4d515526;margin:24px 0 20px;font:400 clamp(52px,8vw,78px)/.85 Great Vibes,cursive}.new-invitation-card h1 i{color:#8b8f92;font:400 .5em Cormorant Garamond,serif}.new-invitation-card .eyebrow{letter-spacing:2.6px;font-size:10px}.new-invitation-card .cover-date{color:#666b6e}.new-envelope-pocket{z-index:4;clip-path:polygon(0 0,50% 64%,100% 0,100% 100%,0 100%);background:linear-gradient(155deg,#c9ccce 0%,#858a8e 54%,#555b5f 100%);border:1px solid #4c5155;position:absolute;inset:0;box-shadow:inset 0 2px 1px #f5f6f666,inset 0 -28px 42px #353a3d47}.new-envelope-pocket:after{content:"";clip-path:polygon(0 0,50% 64%,100% 0,100% 5%,50% 69%,0 5%);background:#e8e9e955;position:absolute;inset:0}.new-envelope-flap{z-index:6;transform-origin:50% 0;clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 8px 8px #33383b44);backface-visibility:visible;background:linear-gradient(165deg,#dfe1e2 0%,#989da0 55%,#5d6367 100%);border-top:1px solid #f2f3f399;width:100%;height:70%;transition:transform .9s cubic-bezier(.4,.02,.3,1),z-index 0s .46s;position:absolute;top:0;left:0}.new-envelope-flap:after{content:"";background:linear-gradient(125deg,#0000 44%,#f4f5f538 50%,#0000 56%);position:absolute;inset:0}.new-wax-seal{z-index:7;color:#fff;cursor:pointer;text-shadow:0 2px 4px #222;background:radial-gradient(circle at 32% 24%,#dfe1e2 0%,#7b8185 48%,#383e42 88%);border:2px solid #e4e6e7;border-radius:50%;place-items:center;width:82px;height:82px;transition:transform .35s,opacity .32s;display:grid;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 23px #24282b91,inset 0 0 0 5px #f6f7f72b,inset -7px -10px 16px #24292c66}.new-wax-seal:hover{transform:translate(-50%,-50%)scale(1.07)}.new-wax-seal b{letter-spacing:1px;font:400 21px Cormorant Garamond,serif}.is-opening .new-envelope-flap{z-index:2;transform:rotateX(180deg)}.is-opening .new-wax-seal{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.7)}.is-opening .new-invitation-card{transform:translateY(clamp(-245px,-35vh,-185px));box-shadow:0 30px 65px #292d3066,inset 0 0 0 7px #fff,inset 0 0 0 8px #8d919440}.is-opening .cover-note{opacity:0}@media (width<=640px){.new-envelope-scene{width:91vw;height:430px}.new-envelope{margin-bottom:52px}.new-invitation-card{padding:28px 18px}.new-invitation-card h1{margin:19px 0 16px;font-size:48px}.new-invitation-card .eyebrow{letter-spacing:1.8px;font-size:8px}.new-invitation-card .cover-date{letter-spacing:1.8px;gap:10px;font-size:8px}.new-invitation-card .cover-date span{width:25px}.new-wax-seal{width:68px;height:68px}.is-opening .new-invitation-card{transform:translateY(-190px)}}@media (prefers-reduced-motion:reduce){.new-envelope-flap,.new-invitation-card,.new-wax-seal{transition-duration:.01ms;transition-delay:0s}}.nuptial-parents{text-align:center;background:linear-gradient(#f4f3f0 0%,#fff 100%);padding:110px 7vw 120px;position:relative;overflow:hidden}.nuptial-parents:before,.nuptial-parents:after{content:"";opacity:.14;pointer-events:none;background:url(/photos/floral-silver-nude.png) 50%/contain no-repeat;width:390px;height:270px;position:absolute}.nuptial-parents:before{bottom:-55px;left:-105px}.nuptial-parents:after{top:-55px;right:-105px;transform:rotate(180deg)}.nuptial-parents>*{z-index:1;position:relative}.parents-grid{background:linear-gradient(145deg,#fff,#ece9e4);border:1px solid #888d90;grid-template-columns:1fr 1fr;max-width:920px;margin:auto;display:grid;box-shadow:0 24px 60px #3e3e3e24,0 5px #777b7d,inset 0 0 0 5px #ffffffb0}.parents-grid article{padding:48px 32px}.parents-grid article+article{border-left:1px solid #a5a8aa}.parents-grid h3{color:#575c60;margin:12px 0;font:400 38px/1.1 Great Vibes,cursive}.parents-grid>article>span{color:#94989b;font:italic 20px Cormorant Garamond,serif;display:block}.parents-grid .memorial small{color:#898d90;letter-spacing:1px;margin-top:9px;font:italic 13px Cormorant Garamond,serif;display:block}.proxy-note{color:#5e6265;border-top:1px solid #c7c9ca;max-width:300px;margin:26px auto 0;padding-top:21px;font:400 17px/1.5 Cormorant Garamond,serif}.proxy-note small{color:#85898c;font-style:italic}@media (width<=700px){.nuptial-parents{padding:85px 20px}.parents-grid{grid-template-columns:1fr}.parents-grid article{padding:40px 22px}.parents-grid article+article{border-top:1px solid #a5a8aa;border-left:0}.parents-grid h3{font-size:34px}.nuptial-parents:before,.nuptial-parents:after{opacity:.11;width:260px;height:190px}}.hero h1{margin:22px 0;font-size:clamp(56px,7.2vw,104px);line-height:.82}.hero h1 em{margin:7px 0}.is-opening .new-envelope-back,.is-opening .new-envelope-pocket{animation:.68s cubic-bezier(.4,0,.2,1) 2.34s forwards new-envelope-shell-away}.is-opening .new-envelope-flap{animation:.68s cubic-bezier(.4,0,.2,1) 2.34s forwards new-envelope-flap-away}@keyframes new-envelope-shell-away{to{opacity:0;transform:translateY(105px)}}@keyframes new-envelope-flap-away{0%{opacity:1;transform:translateY(0)rotateX(180deg)}to{opacity:0;transform:translateY(105px)rotateX(180deg)}}@media (width<=800px){.hero h1{font-size:64px;line-height:.84}.is-opening .new-envelope-back,.is-opening .new-envelope-pocket{animation-name:new-envelope-shell-away-mobile}.is-opening .new-envelope-flap{animation-name:new-envelope-flap-away-mobile}@keyframes new-envelope-shell-away-mobile{to{opacity:0;transform:translateY(78px)}}@keyframes new-envelope-flap-away-mobile{0%{opacity:1;transform:translateY(0)rotateX(180deg)}to{opacity:0;transform:translateY(78px)rotateX(180deg)}}}@media (prefers-reduced-motion:reduce){.is-opening .new-envelope-back,.is-opening .new-envelope-pocket,.is-opening .new-envelope-flap{animation-duration:.01ms;animation-delay:0s}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;max-width:100%;overflow-x:clip}body{width:100%;max-width:100%;overflow-x:hidden}img{max-width:100%}@media (width<=900px){.love-story{padding:85px clamp(16px,4vw,24px)}.story-list{width:100%;max-width:100%}.story-card,.story-card:nth-child(2n){grid-template-columns:minmax(0,1fr);width:100%;min-width:0;min-height:0;padding:30px 0 48px}.story-card:nth-child(2n) .story-image{order:0}.story-image,.story-card:first-child .story-image{aspect-ratio:1;border-radius:50%;flex:none;justify-self:center;width:clamp(190px,58vw,240px);height:auto;min-height:0}.story-image img,.story-card:first-child .story-image img{object-fit:cover;object-position:center;width:100%;height:100%}.story-copy,.story-card:nth-child(odd) .story-copy{text-align:left;overflow-wrap:anywhere;width:100%;min-width:0;padding:32px 22px 18px 62px}.story-copy h3{font-size:clamp(34px,9vw,42px);line-height:1.08}.story-copy>p:last-child{font-size:16px;line-height:1.75}.story-list:before,.story-list:after{left:28px}.story-card:after{top:auto;bottom:43px;left:28px}}@media (width<=360px){.story-image,.story-card:first-child .story-image{width:185px}.story-copy,.story-card:nth-child(odd) .story-copy{padding-left:52px}.story-list:before,.story-list:after,.story-card:after{left:23px}}.closing h2{font-size:clamp(58px,7.5vw,108px);line-height:.9}.closing .closing-date{letter-spacing:8px;margin:12px 0 18px;font-size:11px}.closing .wedding-hashtag{letter-spacing:1.5px;color:#f0efec;text-shadow:0 2px 8px #1118;margin:0;font:400 clamp(17px,2vw,24px)/1.3 Cormorant Garamond,serif}@media (width<=760px){.closing h2{margin:14px 10px;font-size:64px}.closing .wedding-hashtag{letter-spacing:.8px;font-size:18px}}.intro{background:radial-gradient(circle at 50% 10%,#fff 0%,#f7f7f5 42%,#e4e5e5 100%)}.nuptial-parents{background:radial-gradient(circle at 22% 12%,#fff 0%,#0000 34%),linear-gradient(145deg,#eceeef 0%,#fff 48%,#dedfe0 100%)}.love-story{background:radial-gradient(circle at 78% 8%,#fff 0%,#0000 30%),linear-gradient(#e8e9e9 0%,#fff 18%,#f1f2f2 82%,#dfe1e1 100%)}.details{background:radial-gradient(circle at 20% 5%,#fff 0%,#0000 32%),linear-gradient(145deg,#e2e4e4,#fff 46%,#e7e7e5)}.wedding-party{background:radial-gradient(circle at 80% 5%,#fff 0%,#0000 30%),linear-gradient(160deg,#fdfdfc,#e1e3e3 52%,#f8f8f6)}.sponsors{background:radial-gradient(circle at 20% 0,#fff 0%,#0000 32%),linear-gradient(145deg,#dfe1e2,#fff 46%,#e2e3e3)}.reminders{background:radial-gradient(circle at 76% 8%,#fff 0%,#0000 30%),linear-gradient(160deg,#fdfdfc,#e0e2e2 55%,#f7f7f5)}.gallery{background:radial-gradient(circle at 50% 0,#fff 0%,#0000 32%),linear-gradient(145deg,#d8dbdc,#f8f8f6 52%,#cfd2d3)}.intro:before,.details:after,.wedding-party:after,.sponsors:after,.reminders:before,.gallery:after{opacity:.25;filter:drop-shadow(0 14px 18px #55585b24)}.nuptial-parents:before,.nuptial-parents:after,.love-story:before,.love-story:after{opacity:.22;filter:drop-shadow(0 14px 18px #55585b26)}.section-heading h2,.intro h2,.details h2,.reminders h2,.gallery h2{color:#555a5e;text-shadow:0 1px #fff,0 4px 8px #4f53572b}.section-heading:after{color:#666b6f;text-shadow:0 1px #fff,0 3px 7px #4145494a}.story-card{background:linear-gradient(145deg,#ffffffeb,#eceeedde);border:1px solid #8b9093;box-shadow:0 24px 48px #41464a24,0 5px #777c7f,inset 0 0 0 4px #ffffffa8}.event-grid,.party-grid,.secondary-sponsors,.principal>div,.parents-grid,.rsvp-card{border-color:#656b6f;box-shadow:0 28px 62px #383d412e,0 6px #666c70,inset 0 0 0 5px #ffffffc2}.party-grid article,.principal>div p,.secondary-sponsors article+article,.event-grid article+article{border-color:#8c9194}.story-list:before{background:linear-gradient(90deg,#f9fafa,#4c5256,#dfe1e2);box-shadow:2px 0 7px #454a4e66}@media (width<=900px){.intro:before,.details:after,.wedding-party:after,.sponsors:after,.reminders:before,.gallery:after,.nuptial-parents:before,.nuptial-parents:after,.love-story:before,.love-story:after{opacity:.17}.story-card{box-shadow:0 16px 32px #41464a22,0 3px #777c7f,inset 0 0 0 3px #ffffffa8}}.gift-note{background:radial-gradient(circle at 18% 12%,#fff 0%,#0000 30%),linear-gradient(145deg,#eceeef,#faf9f6 52%,#d5d8da);padding:110px 20px;position:relative;overflow:hidden}.gift-note:before,.gift-note:after{content:"";opacity:.2;filter:drop-shadow(0 14px 18px #55585b24);pointer-events:none;background:url(/photos/floral-silver-nude.png) 50%/contain no-repeat;width:390px;height:270px;position:absolute}.gift-note:before{bottom:-65px;left:-105px}.gift-note:after{top:-70px;right:-110px;transform:rotate(180deg)}.gift-card{z-index:1;text-align:center;background:linear-gradient(145deg,#ffffffed,#f3f1ece8);border:1px solid #858a8e;max-width:760px;margin:auto;padding:70px 85px;position:relative;box-shadow:0 22px 55px #3e454a27,0 4px #767c80,inset 0 0 0 4px #ffffffb8}.gift-card:before{content:"";pointer-events:none;border:1px solid #b8bdc0;position:absolute;inset:10px}.gift-icon{color:#60666a;border:1px solid #777c80;border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:20px;font-size:22px;display:inline-grid;box-shadow:0 6px 14px #50565a24,inset 0 1px #fff}.gift-card h2{color:#555a5e;text-shadow:0 1px #fff,0 4px 8px #4f53572b;margin:18px 0 26px;font:400 clamp(56px,7vw,88px)/1.05 Great Vibes,cursive}.gift-card>p:not(.eyebrow){color:#444b50;max-width:585px;margin:0 auto;font:400 19px/1.8 Cormorant Garamond,serif}.gift-flourish{color:#696e72;letter-spacing:8px;margin-top:27px;font-size:13px}@media (width<=760px){.gift-note{padding:75px 16px}.gift-note:before,.gift-note:after{opacity:.14;width:260px;height:190px}.gift-card{padding:58px 26px}.gift-card h2{font-size:55px}.gift-card>p:not(.eyebrow){font-size:18px;line-height:1.7}}.intro,.nuptial-parents,.love-story,.details,.wedding-party,.sponsors,.reminders,.gift-note,.gallery{background-color:#e1e3e4;background-image:linear-gradient(135deg,#ffffffe6 0%,#e5e7e8c2 42%,#aeb3b6ad 100%),url(/photos/floral-silver-nude.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:relative;overflow:hidden;box-shadow:inset 0 18px 38px #ffffffb8,inset 0 -20px 42px #3f454933}.intro:before,.intro:after,.nuptial-parents:before,.nuptial-parents:after,.love-story:before,.love-story:after,.details:before,.details:after,.wedding-party:before,.wedding-party:after,.sponsors:before,.sponsors:after,.reminders:before,.reminders:after,.gift-note:before,.gift-note:after,.gallery:before,.gallery:after{content:none!important;display:none!important}.intro>*,.nuptial-parents>*,.love-story>*,.details>*,.wedding-party>*,.sponsors>*,.reminders>*,.gift-note>*,.gallery>*{z-index:1;position:relative}.intro,.love-story,.wedding-party,.reminders,.gallery{background-image:linear-gradient(145deg,#ffffffe8 0%,#e8eaebbf 48%,#9da3a7b3 100%),url(/photos/floral-silver-nude.png)}.nuptial-parents,.details,.sponsors,.gift-note{background-image:linear-gradient(215deg,#ffffffe6 0%,#dde0e1bf 50%,#91979bb8 100%),url(/photos/floral-silver-nude.png);background-position:100%}.parents-grid,.story-card,.event-grid,.party-grid,.secondary-sponsors,.principal>div,.gift-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(145deg,#fffffff0,#e2e4e5e8);border-color:#60666a;box-shadow:0 28px 62px #272c304d,0 6px #5d6367,inset 0 0 0 5px #ffffffc7}.intro h2,.section-heading h2,.details h2,.reminders h2,.gallery h2,.gift-card h2{color:#4d5357;text-shadow:0 1px #fff,0 5px 10px #282d3157}@media (width<=760px){.intro,.nuptial-parents,.love-story,.details,.wedding-party,.sponsors,.reminders,.gift-note,.gallery{background-position:top;background-size:auto 100%;box-shadow:inset 0 12px 28px #ffffffa6,inset 0 -14px 32px #3f454929}.parents-grid,.story-card,.event-grid,.party-grid,.secondary-sponsors,.principal>div,.gift-card{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 17px 36px #272c303d,0 3px #646a6e,inset 0 0 0 3px #ffffffc2}}.love-story .story-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.love-story .story-card:hover .story-image{transform:none}@media (width<=800px){.love-story{padding:82px 14px}.love-story .story-list{width:100%;max-width:580px;margin:auto}.love-story .story-list:before{width:2px;top:36px;bottom:36px;left:50%}.love-story .story-list:after{display:none}.love-story .story-card,.love-story .story-card:nth-child(2n){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;width:100%;min-width:0;min-height:430px;margin:0;padding:34px 0;display:grid}.love-story .story-card .story-image,.love-story .story-card:first-child .story-image{aspect-ratio:1;border-radius:50%;grid-area:1/2;justify-self:start;width:clamp(132px,38vw,178px);height:auto;min-height:0;margin-left:18px}.love-story .story-card:nth-child(2n) .story-image{order:0;grid-area:1/1;justify-self:end;margin-left:0;margin-right:18px}.love-story .story-card .story-copy,.love-story .story-card:nth-child(odd) .story-copy{text-align:right;overflow-wrap:break-word;grid-area:1/1;width:100%;min-width:0;padding:22px 25px 22px 3px}.love-story .story-card:nth-child(2n) .story-copy{text-align:left;grid-area:1/2;padding:22px 3px 22px 25px}.love-story .story-copy h3{margin:10px 0 17px;font-size:clamp(28px,7vw,34px);line-height:1.08}.love-story .story-copy>p:last-child{font-size:14px;line-height:1.58}.love-story .story-number{margin-bottom:3px;font-size:22px;display:block;position:static}.love-story .story-card:after{width:11px;height:11px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}}@media (width<=380px){.love-story .story-card,.love-story .story-card:nth-child(2n){min-height:475px}.love-story .story-card .story-image,.love-story .story-card:first-child .story-image{width:120px;margin-left:14px}.love-story .story-card:nth-child(2n) .story-image{margin-left:0;margin-right:14px}.love-story .story-card .story-copy,.love-story .story-card:nth-child(odd) .story-copy{padding-right:19px}.love-story .story-card:nth-child(2n) .story-copy{padding-left:19px;padding-right:2px}.love-story .story-copy h3{font-size:26px}}.parents-grid,.party-grid,.secondary-sponsors,.principal>div{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.parents-grid{gap:70px;max-width:900px}.parents-grid article,.parents-grid article+article{border:0;padding:28px 24px}.parents-grid h3{color:#303438;text-shadow:0 1px #ffffffd9;font-size:42px}.parents-grid .eyebrow,.proxy-note,.proxy-note small,.parents-grid .memorial small{color:#44494d}.proxy-note{border-top-color:#777d81}.party-grid{gap:44px 34px;max-width:1080px}.party-grid article,.party-grid article:nth-child(3n),.party-grid article:nth-last-child(-n+3){border:0;min-height:0;padding:18px 22px}.party-grid h3,.secondary-sponsors h3{color:#34393d;text-shadow:0 1px #fffc}.party-grid p,.principal>div p,.secondary-sponsors p{color:#292e32;text-shadow:0 1px #ffffffc7}.secondary-sponsors{gap:58px;max-width:1000px}.secondary-sponsors article,.secondary-sponsors article+article{border:0;padding:28px 24px}.secondary-sponsors span{color:#555b5f}.principal{border-top-color:#747a7e}.principal>div{gap:22px 58px;padding:0}@media (width<=800px){.parents-grid,.party-grid,.secondary-sponsors,.principal>div{box-shadow:none;background:0 0}.parents-grid,.party-grid,.secondary-sponsors{gap:34px}.parents-grid article,.parents-grid article+article,.party-grid article,.party-grid article:nth-child(3n),.party-grid article:nth-last-child(-n+3),.secondary-sponsors article,.secondary-sponsors article+article{border:0}.parents-grid h3{font-size:37px}.party-grid article,.secondary-sponsors article{padding:15px 10px}.principal>div{gap:17px}}.music-control{z-index:80;color:#fff;cursor:pointer;background:linear-gradient(145deg,#7d8387,#3f4549);border:1px solid #ffffffd1;border-radius:999px;align-items:center;gap:9px;min-width:116px;padding:11px 15px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 30px #1f242852,inset 0 1px #ffffffa6}.music-control:hover{transform:translateY(-2px);box-shadow:0 15px 34px #1f242861,inset 0 1px #ffffffb8}.music-control:focus-visible{outline-offset:3px;outline:3px solid #ffffffeb}.music-control span{font-size:20px;line-height:1}.music-control small{letter-spacing:.08em;text-transform:uppercase;font:600 11px/1.2 Montserrat,sans-serif}@media (width<=600px){.music-control{justify-content:center;width:48px;min-width:48px;height:48px;padding:0;bottom:14px;right:14px}.music-control small{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}.ghl-rsvp-card{max-width:820px;padding:70px 48px 42px}.ghl-rsvp-frame{background:0 0;border:0;border-radius:0;width:100%;height:620px;margin:34px 0 0;display:block}@media (width<=760px){.ghl-rsvp-card{padding:52px 12px 24px}.ghl-rsvp-frame{height:700px;margin-top:24px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
