:root{color-scheme:light;--color:#284e41;--paper:#eef3eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--color);font:15px/1.8 'Segoe UI',Arial,sans-serif}button,input,textarea,select{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.2}p{overflow-wrap:anywhere}img{display:block;width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid currentColor;outline-offset:4px}.invitation-wrap{max-width:640px;margin:auto;background:var(--paper);box-shadow:0 0 70px #1c3c2512}.cover{height:100dvh;min-height:600px;max-height:1100px;position:relative;isolation:isolate;overflow:hidden;background:var(--color);color:#fdfdf6;display:flex;align-items:center;justify-content:center;text-align:center}.cover-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 40%;z-index:-2;animation:photo-arrive 1.7s ease-out both}.cover-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(#0923184a,#12251d25 25%,#12251dcc 75%,#12251def)}.cover-content{width:100%;padding:50px 24px 40px}.kicker{font-size:10px;letter-spacing:3px;font-weight:500;line-height:1.6}.cover h1{font-size:clamp(48px,12vw,78px);line-height:1.04;margin:32px 0 25px;text-shadow:0 2px 20px #0f231630}.cover h1>span:not(.ampersand){display:block}.ampersand{display:block;font-size:35px;font-style:italic;margin:10px 0;line-height:1.1;padding-bottom:3px}.cover-date{font-size:12px;letter-spacing:2px;margin-bottom:40px}.guest-block{margin:0 auto 24px;max-width:340px}.guest-block p{font-size:10px;opacity:.85;margin-bottom:8px}.guest-block strong{font-size:15px;font-weight:500;display:block;overflow-wrap:anywhere}.invite-button{background:var(--color);color:var(--paper);border:1px solid var(--color);border-radius:8px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:12px 24px;text-decoration:none;font-size:12px;letter-spacing:.3px;transition:transform .25s,box-shadow .25s;cursor:pointer}.invite-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #162c241b}.cover .invite-button{background:#f4f7ed;color:#253d30;border-color:#f4f7ed}.cover .kicker{animation:content-arrive .8s .2s both}.cover h1{animation:content-arrive 1s .3s both}.cover-date{animation:content-arrive .9s .45s both}.guest-block{animation:content-arrive .9s .6s both}.cover .invite-button{animation:content-arrive .9s .7s both}.cover.opened{height:84dvh;min-height:500px;transition:height .85s cubic-bezier(.16,1,.3,1)}.cover.opened .guest-block,.cover.opened #open-invitation{display:none}.cover.opened .cover-content{padding:60px 25px}.cover.opened .cover-date{margin-bottom:0}.inv-section{padding:80px 30px;text-align:center}.inv-section h2{font-size:37px;margin-bottom:30px}.inv-section>p:not(.kicker){font-size:14px;max-width:430px;margin-inline:auto;line-height:1.9;white-space:pre-line}.opening{padding-top:80px}.couple-names{margin-top:45px}.couple-names h3{font-size:29px;margin:15px 0}.couple-names p{font-size:12px;max-width:300px;margin:0 auto}.couple-amp{display:block;font:italic 32px/1.2 Georgia,serif;margin:25px 0}.events{background:color-mix(in srgb,var(--color) 6%,var(--paper))}.events>h2{font-size:30px}.countdown{display:flex;justify-content:center;gap:25px;margin:30px auto 45px}.countdown span{display:flex;flex-direction:column;font-size:26px;font-family:Georgia,serif;min-width:40px}.countdown small{font:9px 'Segoe UI',sans-serif;letter-spacing:1px;margin-top:9px}.event-block{border-top:1px solid color-mix(in srgb,var(--color) 20%,transparent);max-width:350px;margin:auto;padding:30px 0 5px}.event-block h3{font-size:27px;margin-bottom:10px}.event-block p{font-size:12px}.venue{margin-top:30px}.venue h3{font-size:25px}.venue p{font-size:12px;max-width:350px;margin:0 auto 25px}.story{padding-block:85px}.story h2{font-size:35px}.gallery-section{padding-top:0}.inv-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inv-gallery img{aspect-ratio:3/4;object-fit:cover;border-radius:8px}.inv-gallery img:first-child:nth-last-child(odd){grid-column:1/-1;aspect-ratio:4/3}.gift{background:color-mix(in srgb,var(--color) 5%,var(--paper))}.gift-info{padding:30px;border:1px solid color-mix(in srgb,var(--color) 25%,transparent);border-radius:12px;margin:30px auto 0;max-width:340px}.gift-info>strong{font-size:18px}.gift-info p{font-size:13px;margin:15px 0}.gift-info #gift-number{font-size:22px;letter-spacing:1px}.rsvp{max-width:460px;margin:auto}.rsvp>p{font-size:12px}.rsvp-note{padding:12px;background:color-mix(in srgb,var(--color) 8%,var(--paper));border-radius:8px}#rsvp-form{text-align:left;margin-top:30px}label{font-size:12px;display:block;margin-bottom:20px}input,select,textarea{display:block;background:color-mix(in srgb,var(--paper) 92%,white);color:var(--color);border:1px solid color-mix(in srgb,var(--color) 30%,transparent);padding:12px;width:100%;border-radius:8px;margin-top:8px;min-height:48px;font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--color);opacity:.7}#rsvp-form .invite-button{width:100%}button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:default}#rsvp-status{font-size:13px;margin-top:18px}.closing{padding-block:50px 110px}.closing>h3{font-size:32px;margin:35px 0}.inv-brand{display:inline-block;font-size:9px;letter-spacing:.3px;text-decoration:none;padding:10px}.inv-nav{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:8px;background:var(--paper);border:1px solid color-mix(in srgb,var(--color) 20%,transparent);padding:6px;border-radius:12px;box-shadow:0 6px 30px #1a2b2420;z-index:5}.inv-nav a{padding:9px 21px;min-height:40px;font-size:11px;text-decoration:none;border-radius:8px;white-space:nowrap}.inv-nav a:hover{background:color-mix(in srgb,var(--color) 8%,var(--paper))}.demo-bar{position:fixed;left:0;right:0;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f7faf5;color:#253c30;padding:12px 20px;font-size:11px;border-bottom:1px solid #dce3d9}.demo-bar a{font-weight:600;text-decoration:none;min-height:30px;display:flex;align-items:center}.demo-bar span{font-size:10px}.theme-ivory .cover-photo,.theme-midnight .cover-photo,.theme-heritage .cover-photo{opacity:.12}.theme-ivory .cover,.theme-heritage .cover{background:var(--paper);color:var(--color)}.theme-ivory .cover-shade,.theme-heritage .cover-shade{background:transparent}.theme-ivory .cover-content,.theme-heritage .cover-content{position:relative;width:calc(100% - 50px);border:1px solid color-mix(in srgb,var(--color) 25%,transparent);padding:50px 15px}.theme-ivory .cover .invite-button,.theme-heritage .cover .invite-button{background:var(--color);color:var(--paper);border-color:var(--color)}.theme-midnight .cover-shade{background:linear-gradient(#222e4270,#222e42e8)}.theme-blush .cover-shade{background:linear-gradient(#49303d20,#3d1f35dd)}.theme-portrait .cover h1{font-family:'Segoe UI',sans-serif;font-weight:300;letter-spacing:-3px}.theme-portrait .ampersand{font-weight:300;font-style:normal}.inv-reveal{opacity:1;transform:none;transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1)}.motion-ready .inv-reveal:not(.seen){opacity:0;transform:translateY(25px)}@keyframes content-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrive{from{transform:scale(1.08);opacity:.6}to{transform:scale(1);opacity:1}}
@media(max-width:480px){.cover{min-height:560px;max-height:none}.cover-content{padding:55px 22px 36px}.cover h1{font-size:65px;margin-top:26px}.cover-date{margin-bottom:30px}.cover .kicker{font-size:9px}.cover.opened{min-height:470px}.inv-section{padding:65px 24px}.inv-section h2{font-size:33px}.inv-section>p:not(.kicker){font-size:13px}.couple-names h3{font-size:27px}.countdown{gap:18px}.events>h2{font-size:26px}.gallery-section{padding-top:0}.closing{padding-bottom:105px}.inv-nav{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 30px)}.demo-bar{padding:9px 12px}.demo-bar span{max-width:130px;text-align:center;line-height:1.3}.gift-info{padding:25px 18px}}
@media(max-width:300px){.cover{min-height:490px}.cover h1{font-size:46px}.cover-content{padding:25px 15px}.cover-date{margin-bottom:20px}.guest-block strong{font-size:13px}.inv-section{padding:45px 18px}.inv-section h2{font-size:28px}.countdown{gap:12px}.inv-nav a{padding-inline:13px}}
/* Photo themes keep names below the faces; photo-free themes keep their centered composition. */
.theme-botanical .cover,.theme-blush .cover,.theme-portrait .cover{align-items:flex-end}
.theme-botanical .cover h1,.theme-blush .cover h1,.theme-portrait .cover h1{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;font-size:clamp(36px,9vw,56px);line-height:1.15;margin:18px 0 16px}
.theme-botanical .ampersand,.theme-blush .ampersand,.theme-portrait .ampersand{display:inline;font-size:.65em;margin:0}
.theme-botanical .cover-date,.theme-blush .cover-date,.theme-portrait .cover-date{margin-bottom:28px}
.theme-botanical .cover-content,.theme-blush .cover-content,.theme-portrait .cover-content{padding-bottom:48px}
@media(max-width:300px){.theme-botanical .cover h1,.theme-blush .cover h1,.theme-portrait .cover h1{font-size:34px;gap:7px}.theme-botanical .cover-content,.theme-blush .cover-content,.theme-portrait .cover-content{padding-bottom:24px}.theme-botanical .cover-date,.theme-blush .cover-date,.theme-portrait .cover-date{margin-bottom:18px}}
/* Every demo keeps its matching wedding clothes visible, including the Jawa sample. */
.theme-ivory .cover-photo,.theme-midnight .cover-photo,.theme-heritage .cover-photo{opacity:1}
.theme-ivory .cover,.theme-midnight .cover,.theme-heritage .cover{align-items:flex-end}
.theme-heritage .cover{background:var(--color);color:#fff4e7}
.theme-heritage .cover-shade{background:linear-gradient(#36210f08,#36210f20 35%,#36210fe8)}
.theme-heritage .cover-content{width:100%;border:0;padding:40px 24px 48px}
.theme-heritage .cover .invite-button{background:#f4eee5;color:#6c5135;border-color:#f4eee5}
.theme-ivory .cover-shade{background:linear-gradient(transparent,#252a2420 40%,#252a2480)}
.theme-ivory .cover-content{width:calc(100% - 40px);border:0;background:#f5f4f0ed;border-radius:12px;padding:22px 20px;margin-bottom:28px}
.theme-ivory .cover h1,.theme-midnight .cover h1,.theme-heritage .cover h1{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;font-size:clamp(36px,9vw,56px);line-height:1.15;margin:18px 0 16px}
.theme-ivory .ampersand,.theme-midnight .ampersand,.theme-heritage .ampersand{display:inline;font-size:.65em;margin:0}
.theme-ivory .cover-date,.theme-midnight .cover-date,.theme-heritage .cover-date{margin-bottom:25px}
.theme-ivory .cover.opened .cover-content{padding:24px}
.theme-midnight .cover-content{padding-bottom:48px}
@media(max-width:300px){.theme-ivory .cover h1,.theme-midnight .cover h1,.theme-heritage .cover h1{font-size:34px;gap:7px}.theme-ivory .cover-content,.theme-midnight .cover-content,.theme-heritage .cover-content{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .inv-reveal:not(.seen){opacity:1;transform:none}}

h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}.cover h1,.theme-portrait .cover h1{font-family:'Great Vibes',cursive;font-weight:400;letter-spacing:0;font-size:clamp(44px,11vw,66px);line-height:1.35}.couple-names h3,.closing>h3{font-family:'Great Vibes',cursive;font-size:38px;line-height:1.5}.couple-monogram{display:flex;align-items:center;justify-content:center;gap:5px;width:64px;height:64px;margin:0 auto 16px;border:1px solid currentColor;border-radius:50%;font:500 30px/1 'Cormorant Garamond',serif}.couple-monogram i{font-size:16px;font-weight:400}.couple-monogram+ .kicker{margin-bottom:0}@media(max-width:480px){.cover h1,.theme-portrait .cover h1{font-size:48px;margin-block:10px}.couple-monogram{width:52px;height:52px;font-size:25px;margin-bottom:12px}.cover-content{padding-top:24px}}

.gift-account-number{font-size:24px!important;letter-spacing:1px;overflow-wrap:anywhere}.gift-info{overflow-wrap:anywhere}#gift-accounts{display:grid;gap:15px}#gift-accounts .gift-info{width:100%;margin-top:15px}#gift-address{text-align:left}#physical-gift{margin-top:30px}

.inv-nav a{padding-inline:14px}@media(max-width:360px){.inv-nav{gap:2px}.inv-nav a{padding-inline:10px}}
