@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600&display=swap";:root{color:#24372c;font-synthesis:none;background:#f7f3eb;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #ef9d79}.invitation-hero{color:#fff;align-items:flex-end;height:min(76vh,700px);min-height:560px;display:flex;position:relative;overflow:hidden}.hero-image,.hero-shade{width:100%;height:100%;position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center 45%}.hero-shade{background:linear-gradient(#0c18110a 20%,#0c1811d1 100%)}.hero-copy{z-index:1;width:min(1080px,100% - 48px);margin:0 auto;padding:70px 0 56px;position:relative}.eyebrow,.section-heading>span,.rsvp-summary-copy>span,.rsvp-dialog-header>div>span{color:#c96646;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700;display:block}.hero-copy .eyebrow{color:#ffd6c7}.hero-copy h1{letter-spacing:0;text-wrap:balance;max-width:850px;margin:0;font:600 72px/1 Playfair Display,serif}.wedding-date{text-transform:capitalize;margin:18px 0 0;font-size:18px;font-weight:600}.party-name{color:#ffffffdb;margin:10px 0 0;font-size:15px}.invited-guest-roster{max-width:760px;margin-top:18px}.invited-guest-roster>span{color:#ffd6c7;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.invited-guest-roster ul{color:#fff;flex-wrap:wrap;gap:4px 0;margin:0;padding:0;font-size:15px;font-weight:600;list-style:none;display:flex}.invited-guest-roster li:not(:last-child):after{content:"·";color:#ffffff85;margin:0 9px}.language-switch{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#122017c7;border:1px solid #ffffff4d;align-items:center;gap:7px;padding:8px 11px;display:flex;position:absolute;top:22px;right:max(24px,50vw - 540px)}.language-switch button{color:#ffffff9e;cursor:pointer;background:0 0;border:0;padding:2px;font-size:12px;font-weight:700}.language-switch button.active{color:#fff}.rsvp-summary{color:#f9fbf7;background:#173529;border-bottom:1px solid #29493b;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:126px;padding:26px max(24px,50% - 540px);display:grid}.rsvp-summary.is-complete{color:#24372c;background:#e8efe2;border-color:#cbd7c6}.rsvp-summary-icon{color:#173529;background:#ef9d79;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.is-complete .rsvp-summary-icon{color:#fff;background:#4e7559}.rsvp-summary-copy{gap:3px;display:grid}.rsvp-summary-copy>span{color:#ef9d79;margin:0}.is-complete .rsvp-summary-copy>span{color:#4e7559}.rsvp-summary-copy strong{font:600 23px/1.2 Playfair Display,serif}.rsvp-summary-copy small{color:#ffffffad;font-size:13px}.is-complete .rsvp-summary-copy small{color:#617064}.rsvp-summary-button,.mobile-rsvp-button{color:#173529;cursor:pointer;background:#ef9d79;border:0;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:700;display:inline-flex}.is-complete .rsvp-summary-button{color:#fff;background:#365b45}.mobile-rsvp-button{display:none}.schedule-section,.photos-section,.faq-section{padding:84px 24px 96px}.section-heading{width:min(1080px,100%);margin:0 auto 42px}.section-heading h2{color:#193327;letter-spacing:0;margin:0;font:600 52px/1.05 Playfair Display,serif}.wedding-timeline{width:min(1080px,100%);margin:auto;position:relative}.wedding-timeline:before{content:"";background:#aebbae;width:1px;position:absolute;top:22px;bottom:22px;left:28px}.timeline-stop{grid-template-columns:58px 190px minmax(0,1fr);gap:28px;padding:0 0 62px;display:grid;position:relative}.timeline-stop:last-child{padding-bottom:0}.timeline-rail{z-index:1;padding-top:2px}.timeline-rail span{color:#b55b3d;background:#f7f3eb;border:1px solid #9aaa9b;border-radius:50%;place-items:center;width:56px;height:56px;font:600 17px Playfair Display,serif;display:grid}.timeline-time{align-content:start;gap:7px;padding-top:3px;display:grid}.timeline-time strong{color:#193327;font:600 31px/1 Playfair Display,serif}.timeline-time span{color:#68766c;text-transform:capitalize;font-size:13px;line-height:1.45}.timeline-content{border-bottom:1px solid #ccd3ca;max-width:690px;padding-bottom:48px}.attire-section{color:#f8f5ee;background:#29483a;padding:54px 24px}.attire-inner{grid-template-columns:56px minmax(180px,.7fr) minmax(260px,1fr);align-items:center;gap:24px;width:min(1080px,100%);margin:auto;display:grid}.attire-icon{color:#ffd6c7;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.attire-heading>span{color:#ef9d79;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.attire-heading h2{letter-spacing:0;margin:0;font:600 34px/1.05 Playfair Display,serif}.attire-inner>p{color:#ffffffb8;max-width:520px;margin:0;line-height:1.6}.timeline-stop:last-child .timeline-content{border-bottom:0;padding-bottom:0}.event-kind{color:#b55b3d;letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:700}.timeline-content h3{color:#193327;letter-spacing:0;margin:0;font:600 34px/1.1 Playfair Display,serif}.timeline-venue{color:#46584d;align-items:flex-start;gap:11px;margin-top:22px;display:flex}.timeline-venue svg{color:#b55b3d;flex:none;margin-top:2px}.timeline-venue span{gap:3px;line-height:1.4;display:grid}.timeline-venue strong{color:#24372c}.timeline-venue small{color:#718077}.event-details{color:#53645a;margin:18px 0 0;line-height:1.65}.venue-logistics{border-top:1px solid #d3d9d1;border-bottom:1px solid #d3d9d1;margin-top:18px}.venue-logistics summary{color:#365b45;cursor:pointer;padding:13px 0;font-size:13px;font-weight:700}.venue-logistics>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:2px 0 16px;display:grid}.venue-logistics p{color:#607066;gap:9px;margin:0;font-size:13px;line-height:1.5;display:flex}.venue-logistics p span,.venue-logistics p strong{display:block}.venue-logistics p strong{color:#34483d;margin-bottom:2px}.event-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.event-actions a{color:#294f3b;border:1px solid #91a192;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.event-actions a:first-child{color:#fff;background:#365b45;border-color:#365b45}.rsvp-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e1c14ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rsvp-dialog{background:#fbfaf6;width:min(680px,100%);max-height:min(860px,100vh - 48px);overflow-y:auto;box-shadow:0 24px 70px #0c1c1447}.rsvp-dialog-header{z-index:2;background:#fbfaf6;border-bottom:1px solid #d8ddd5;justify-content:space-between;gap:20px;padding:26px 28px 20px;display:flex;position:sticky;top:0}.rsvp-dialog-header h2{color:#193327;margin:0;font:600 34px/1.1 Playfair Display,serif}.rsvp-dialog-header p{color:#68766c;margin:8px 0 0;font-size:13px;line-height:1.5}.rsvp-dialog-header button{color:#365046;cursor:pointer;background:0 0;border:1px solid #b8c2b8;flex:none;place-items:center;width:40px;height:40px;display:grid}.rsvp-group-actions{grid-template-columns:1fr 1fr;gap:8px;padding:18px 28px 0;display:grid}.rsvp-group-actions button{color:#365b45;cursor:pointer;background:0 0;border:1px solid #9eada0;min-height:40px;font-size:12px;font-weight:700}.compact-guest-list{gap:10px;padding:18px 28px 0;display:grid}.compact-guest{border:1px solid #cbd3ca;min-width:0;margin:0;padding:18px}.compact-guest legend{color:#193327;padding:0 7px;font:600 18px Playfair Display,serif}.guest-primary-response{grid-template-columns:1fr 1fr;gap:8px;display:grid}.guest-primary-response button{color:#43564b;cursor:pointer;background:#fff;border:1px solid #aab6aa;justify-content:center;align-items:center;gap:7px;min-height:46px;font-size:13px;font-weight:700;display:inline-flex}.guest-primary-response button.is-selected.yes{color:#fff;background:#365b45;border-color:#365b45}.guest-primary-response button.is-selected.no{color:#873f33;background:#f5e3dc;border-color:#d9a997}.event-override-toggle{color:#65746b;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:12px 0 0;font-size:12px;display:flex}.event-override-toggle[aria-expanded=true] svg,.optional-section>button[aria-expanded=true] svg{transform:rotate(180deg)}.event-overrides{border-top:1px solid #d8ddd5;gap:8px;margin-top:12px;padding-top:12px;display:grid}.event-overrides>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.event-overrides>div>span{font-size:13px;font-weight:600}.event-overrides>div>div{gap:4px;display:flex}.event-overrides button{color:#526359;cursor:pointer;background:#fff;border:1px solid #b8c2b8;min-width:64px;min-height:34px;font-size:11px}.event-overrides button.is-selected{color:#fff;background:#4e7559;border-color:#4e7559}.rsvp-optional-sections{gap:10px;padding:16px 28px 0;display:grid}.optional-section{border-top:1px solid #d4dbd2}.optional-section>button,.reminder-toggle{color:#294438;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:58px;padding:10px 0;font-size:13px;font-weight:700;display:flex}.optional-section-content,.reminder-fields{gap:12px;padding:0 0 16px;display:grid}.optional-section-content>p{color:#6a786f;margin:0;font-size:12px;line-height:1.5}.optional-section-content label,.reminder-fields label{color:#4d5f54;gap:6px;font-size:12px;font-weight:700;display:grid}.optional-section textarea,.reminder-fields input,.reminder-fields select{color:#24372c;background:#fff;border:1px solid #acb8ad;border-radius:0;width:100%;min-height:42px;padding:9px 10px}.optional-section textarea{resize:vertical;min-height:74px}.reminder-toggle>span{align-items:flex-start;gap:10px;display:flex}.reminder-toggle>span>span{gap:3px;display:grid}.reminder-toggle strong,.reminder-toggle small{display:block}.reminder-toggle small{color:#718077;font-weight:400}.reminder-toggle input{accent-color:#365b45;width:20px;height:20px}.rsvp-form-error{color:#8c3e32;background:#f5e5df;margin:16px 28px 0;padding:11px 13px;font-size:13px}.rsvp-dialog-footer{background:#fbfaf6;border-top:1px solid #d8ddd5;padding:18px 28px 24px;position:sticky;bottom:0}.rsvp-submit{color:#173529;cursor:pointer;background:#ef9d79;border:0;width:100%;min-height:50px;font-weight:700}.rsvp-submit:disabled{opacity:.6;cursor:wait}.photos-section{background:#eef0e9}.photos-inner{width:min(1080px,100%);margin:auto}.photos-heading-row{justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.photos-heading-row .section-heading{flex:1;width:auto;margin:0}.share-photos-button,.gallery-empty button{color:#fff;cursor:pointer;background:#b55b3d;border:0;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:700;display:inline-flex}.upload-error,.photo-upload-closed{margin:0;font-size:13px}.upload-error{color:#a13e32}.photo-upload-closed{color:#6c786f;text-align:center;margin-top:24px}.photo-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e1c14ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-dialog{background:#fbfaf6;width:min(520px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 70px #0c1c1447}.photo-dialog>header{border-bottom:1px solid #d8ddd5;justify-content:space-between;gap:20px;padding:26px 28px 20px;display:flex}.photo-dialog>header>div>span{color:#b55b3d;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.photo-dialog h2{margin:0;font:600 32px/1.1 Playfair Display,serif}.photo-dialog header p{color:#68766c;margin:8px 0 0;font-size:13px}.photo-dialog header button{color:#365046;cursor:pointer;background:0 0;border:1px solid #b8c2b8;flex:none;place-items:center;width:40px;height:40px;display:grid}.photo-dialog-body{gap:14px;padding:24px 28px 28px;display:grid}.photo-dialog-body>label{color:#4d5f54;gap:7px;font-size:12px;font-weight:700;display:grid}.photo-dialog-body input,.photo-dialog-body select{background:#fff;border:1px solid #acb8ad;border-radius:0;min-height:42px;padding:9px 10px}.add-photo-note{color:#52685b;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:7px;padding:4px 0;font-size:12px;font-weight:700;display:inline-flex}.choose-photos-button{color:#fff;cursor:pointer;background:#365b45;border:0;justify-content:center;align-items:center;gap:8px;min-height:52px;font-weight:700;display:inline-flex}.choose-photos-button:disabled{opacity:.6}.photo-dialog-body>small{color:#718077;text-align:center}.photo-upload-success{color:#31573f;background:#e4eee2;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px;font-size:12px;display:grid}.photo-upload-success button{color:#31573f;cursor:pointer;background:0 0;border:0;font-weight:700}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:34px;display:grid}.photo-gallery figure{aspect-ratio:4/3;background:#d9ded5;margin:0;position:relative;overflow:hidden}.photo-gallery img{object-fit:cover;width:100%;height:100%}.photo-gallery figcaption{color:#fff;background:linear-gradient(#0000,#0c1c14d1);gap:3px;padding:28px 14px 12px;display:grid;position:absolute;inset:auto 0 0}.photo-gallery figcaption strong{font-size:14px}.photo-gallery figcaption span{font-size:11px}.photo-download{color:#173529;background:#ffffffeb;border:1px solid #17352933;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:10px;right:10px}.gallery-empty{color:#68766c;text-align:center;align-content:center;place-items:center;gap:8px;min-height:150px;display:grid}.gallery-empty p{margin:0}.faq-section{background:#f7f3eb}.faq-list{border-top:1px solid #b7c1b7;width:min(850px,100%);margin:auto}.faq-list details{border-bottom:1px solid #b7c1b7}.faq-list summary{color:#253a2e;cursor:pointer;padding:20px 34px 20px 0;font:600 17px/1.4 Playfair Display,serif;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:#b55b3d;font:600 19px DM Sans,sans-serif;position:absolute;right:4px}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:#5a6b61;max-width:720px;margin:-4px 0 22px;line-height:1.65}.invitation-footer{color:#dce7dd;background:#173529;place-items:center;min-height:120px;font:600 22px Playfair Display,serif;display:grid}.status-screen{color:#fff;background:linear-gradient(#10261cb8,#10261cdb),url(/images/invitation-hero.webp) 50%/cover;place-items:center;min-height:100vh;padding:32px;display:grid}.status-screen>div{text-align:center;max-width:620px}.status-screen h1{letter-spacing:0;margin:0;font:600 54px/1.05 Playfair Display,serif}.status-screen p:last-child{line-height:1.6}@media (width<=760px){.invitation-hero{height:68svh;min-height:500px;max-height:620px}.hero-copy{width:calc(100% - 40px);padding-bottom:42px}.hero-copy h1{font-size:46px}.wedding-date{font-size:16px}.invited-guest-roster{margin-top:15px}.invited-guest-roster ul{font-size:14px;line-height:1.45}.language-switch{top:16px;right:16px}.rsvp-summary{grid-template-columns:38px minmax(0,1fr);gap:13px;min-height:0;padding:22px 20px}.rsvp-summary-icon{width:38px;height:38px}.rsvp-summary-copy strong{font-size:19px}.rsvp-summary-button{grid-column:1/-1;width:100%;margin-top:4px}.mobile-rsvp-button{z-index:35;display:inline-flex;position:fixed;bottom:14px;right:14px;box-shadow:0 8px 28px #0c1c1447}.schedule-section,.photos-section,.faq-section{padding:62px 20px 70px}.attire-section{padding:38px 20px}.attire-inner{grid-template-columns:44px minmax(0,1fr);gap:14px}.attire-icon{width:42px;height:42px}.attire-heading h2{font-size:28px}.attire-inner>p{grid-column:2;font-size:14px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:36px}.wedding-timeline:before{left:20px}.timeline-stop{grid-template-columns:42px minmax(0,1fr);gap:16px;padding-bottom:44px}.timeline-rail span{width:40px;height:40px;font-size:14px}.timeline-time{flex-wrap:wrap;grid-area:1/2;align-items:baseline;gap:7px 12px;padding-top:0;display:flex}.timeline-time strong{font-size:26px}.timeline-content{grid-column:2;padding-bottom:38px}.timeline-content h3{font-size:28px}.venue-logistics>div{grid-template-columns:1fr}.event-actions a{flex:auto;justify-content:center}.rsvp-dialog-backdrop{place-items:end center;padding:0}.rsvp-dialog{max-height:94svh;box-shadow:0 -16px 48px #0c1c143d}.rsvp-dialog-header{padding:22px 18px 17px}.rsvp-dialog-header h2{font-size:29px}.rsvp-group-actions,.compact-guest-list,.rsvp-optional-sections{padding-left:18px;padding-right:18px}.rsvp-group-actions{grid-template-columns:1fr}.compact-guest{padding:15px}.event-overrides>div{grid-template-columns:1fr}.event-overrides>div>div{grid-template-columns:1fr 1fr;display:grid}.rsvp-form-error{margin-left:18px;margin-right:18px}.rsvp-dialog-footer{padding:14px 18px 18px}.photos-heading-row{gap:18px;display:grid}.share-photos-button{width:100%}.photo-dialog-backdrop{place-items:end center;padding:0}.photo-dialog{max-height:94svh}.photo-dialog>header{padding:22px 18px 17px}.photo-dialog h2{font-size:28px}.photo-dialog-body{padding:20px 18px 24px}.photo-upload-success{grid-template-columns:auto 1fr}.photo-upload-success button{grid-column:1/-1;min-height:36px}.photo-gallery{grid-template-columns:1fr 1fr;gap:7px}.faq-list summary{font-size:16px}.status-screen h1{font-size:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
