:root{--bg:#f4efe7;--surface:#fffdf9;--ink:#25312d;--muted:#78817d;--accent:#a88a64;--accent2:#657b6e;--dark:#182822;--line:#ded7cd;--hero-fallback:linear-gradient(145deg,#f3eadf,#d9e1d7)}*{box-sizing:border-box}html{scroll-behavior:smooth}body.invitation{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.theme-sage{--bg:#edf0e8;--surface:#fbfcf8;--accent:#71866f;--accent2:#516a58;--dark:#17271e;--hero-fallback:linear-gradient(145deg,#e5ebe0,#b9c7b8)}.theme-dusk{--bg:#eee9e4;--surface:#faf8f5;--accent:#967d74;--accent2:#565768;--dark:#191b28;--hero-fallback:linear-gradient(145deg,#ded5d1,#9b969e)}.theme-rose{--bg:#f6eceb;--surface:#fffafa;--accent:#b78a87;--accent2:#956764;--dark:#382725;--hero-fallback:linear-gradient(145deg,#f3dedd,#d9bdbb)}.theme-cloud{--bg:#f1f5f6;--surface:#fff;--accent:#88a6af;--accent2:#678793;--dark:#203238;--hero-fallback:linear-gradient(145deg,#e8f1f3,#c7dce1)}.theme-pop{--bg:#fff4e6;--surface:#fffdf8;--accent:#d09755;--accent2:#a96b45;--dark:#3a2920;--hero-fallback:linear-gradient(145deg,#ffe9c9,#f3c89d)}.preview-bar{position:fixed;top:0;left:0;right:0;z-index:100;background:#bd8b42;color:#fff;padding:8px 14px;display:flex;justify-content:center;gap:18px;font-size:10px}.preview-bar a{text-decoration:underline}.preview-bar+.invite-nav{top:31px}.invite-nav{position:fixed;z-index:80;top:0;left:0;right:0;height:66px;padding:0 max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference}.invite-logo{font-family:"Italiana",serif;font-size:23px;letter-spacing:.04em}.invite-logo i{font-family:"Playfair Display",serif;font-style:italic;font-size:13px;margin:0 4px}.invite-nav nav{display:flex;gap:24px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.invite-nav button{background:transparent;border:1px solid #ffffff66;color:#fff;border-radius:999px;padding:8px 12px;font-size:9px;font-weight:700}.premium-cover{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--hero-fallback)}.premium-cover.has-photo{background-image:var(--hero);background-size:cover;background-position:center}.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,26,22,.30),rgba(17,26,22,.28) 45%,rgba(17,26,22,.58))}.premium-cover:not(.has-photo) .cover-shade{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(20,35,28,.20))}.cover-noise{position:absolute;inset:0;opacity:.08;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:7px 7px}.premium-cover-inner{position:relative;z-index:2;text-align:center;color:#fff;width:min(960px,calc(100% - 36px));padding:110px 0 80px}.cover-date{font-size:10px;letter-spacing:.28em;margin-bottom:35px}.cover-kicker,.section-eyebrow{font-size:9px;letter-spacing:.22em;font-weight:800;text-transform:uppercase}.cover-kicker{color:#f0dbc0}.premium-cover h1{font-family:"Italiana",serif;font-weight:400;font-size:clamp(70px,12vw,150px);line-height:.78;letter-spacing:-.035em;margin:26px 0}.premium-cover h1 span{display:block}.premium-cover h1 i{display:block;font-family:"Playfair Display",serif;font-style:italic;font-size:.34em;line-height:1.2;margin:12px 0;color:#ead4b5}.premium-cover-inner>p{max-width:600px;margin:30px auto 0;font-family:"Playfair Display",serif;font-size:16px;line-height:1.65;color:#f7f4ee}.cover-actions{display:flex;justify-content:center;gap:9px;margin-top:36px}.primary-pill,.ghost-pill{border-radius:999px;padding:12px 16px;font-size:10px;font-weight:800}.primary-pill{background:#fff;color:#26342e}.ghost-pill{border:1px solid #ffffff70}.cover-scroll{position:absolute;left:28px;bottom:22px;z-index:2;color:#fff;font-size:8px;letter-spacing:.18em;display:flex;align-items:center;gap:9px}.cover-scroll i{display:block;width:44px;height:1px;background:#ffffff88}.story-block{padding:120px 18px;background:var(--surface)}.story-shell{max-width:890px;margin:auto;text-align:center}.section-eyebrow{color:var(--accent)}.story-mark{font-family:"Playfair Display",serif;font-size:72px;color:var(--accent);height:58px;margin-top:24px}.story-shell h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(31px,5vw,58px);line-height:1.22;margin:6px auto 30px}.story-signature{font-family:"Italiana",serif;font-size:22px}.story-signature i{font-family:"Playfair Display",serif;font-style:italic;color:var(--accent)}.date-count{padding:110px 18px;background:var(--bg)}.date-count-shell{max-width:1080px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.date-poster{min-height:500px;border-radius:240px 240px 26px 26px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center}.date-poster span,.date-poster small{font-size:10px;letter-spacing:.21em}.date-poster strong{font-family:"Italiana",serif;font-weight:400;font-size:155px;line-height:.9;color:var(--accent2);margin:13px 0}.count-side h2,.public-title h2,.rsvp-heading h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(38px,5.6vw,66px);line-height:1.05;margin:15px 0 30px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.countdown>div{border-top:1px solid var(--line);padding:18px 5px 0}.countdown b{display:block;font-family:"Italiana",serif;font-weight:400;font-size:43px}.countdown span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.text-link{display:inline-block;margin-top:28px;border-bottom:1px solid var(--ink);font-size:10px;font-weight:800;padding-bottom:4px}.program-block{padding:120px 18px;background:var(--dark);color:#fff}.public-shell{max-width:1080px;margin:auto}.public-title{max-width:760px;margin-bottom:50px}.program-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.program-card{min-height:280px;border:1px solid #ffffff1c;border-radius:24px;padding:26px;display:grid;grid-template-columns:70px 1fr;gap:20px;background:#ffffff08}.program-num{font-family:"Italiana",serif;font-size:45px;color:#d4b993}.program-card span{font-size:9px;letter-spacing:.14em;color:#c3cfca}.program-card h3{font-family:"Playfair Display",serif;font-weight:500;font-size:30px;margin:13px 0 8px}.program-card p{color:#aebbb5;font-size:11px;line-height:1.55}.program-card a{display:inline-block;margin-top:16px;font-size:10px;font-weight:800;border-bottom:1px solid #81958a;padding-bottom:3px}.editorial-break{height:620px;position:relative;background:linear-gradient(145deg,var(--accent2),var(--dark));display:grid;place-items:center;overflow:hidden}.editorial-break.has-photo{background-image:var(--hero);background-size:cover;background-position:center}.editorial-shade{position:absolute;inset:0;background:rgba(18,28,24,.5)}.editorial-copy{position:relative;color:#fff;text-align:center;padding:20px}.editorial-copy span{font-size:9px;letter-spacing:.23em}.editorial-copy h2{font-family:"Playfair Display",serif;font-size:clamp(48px,8vw,90px);line-height:1;margin:16px auto;max-width:850px;font-weight:500}.premium-rsvp{padding:120px 18px;background:var(--bg)}.rsvp-shell{max-width:1000px;margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.rsvp-heading p{font-size:11px;color:var(--muted);line-height:1.6}.rsvp-panel{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:29px;box-shadow:0 25px 60px rgba(34,43,38,.06)}#rsvpForm label>span,.attendance-switch>span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}#rsvpForm>label,.attendance-switch,.rsvp-grid{display:block;margin-bottom:15px}#rsvpForm input,#rsvpForm select,#rsvpForm textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;font-size:11px;color:var(--ink)}.attendance-switch>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attendance-switch label input{display:none}.attendance-switch label b{display:block;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;font-size:10px}.attendance-switch input:checked+b{background:var(--dark);color:#fff;border-color:var(--dark)}.rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.rsvp-grid .full{grid-column:1/-1}#rsvpForm button{width:100%;border:0;border-radius:999px;background:var(--dark);color:#fff;padding:14px;font-size:10px;font-weight:800}#rsvpForm button i{font-style:normal;margin-left:5px}#formNote{text-align:center;color:var(--muted);font-size:8px;margin:9px 0 0}.rsvp-success{display:none;text-align:center;padding:45px 10px}.rsvp-success.show{display:block}.rsvp-success>div{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#e4eee3;color:#3f6546;margin:0 auto 18px;font-size:24px}.rsvp-success>span{font-size:8px;letter-spacing:.14em;color:var(--accent)}.rsvp-success h3{font-family:"Playfair Display",serif;font-size:38px;margin:8px}.rsvp-success p{font-size:11px;color:var(--muted)}.premium-gallery{padding:120px 18px;background:var(--surface)}.masonry-gallery{columns:3;column-gap:12px}.gallery-photo{display:block;width:100%;margin:0 0 12px;border:0;padding:0;background:#ece8e1;border-radius:18px;overflow:hidden;break-inside:avoid;cursor:zoom-in}.gallery-photo img{display:block;width:100%;height:auto;transition:transform .35s}.gallery-photo:hover img{transform:scale(1.025)}.gallery-empty{padding:50px;text-align:center;border:1px dashed var(--line);border-radius:22px;color:var(--muted)}.photo-qr-card{margin-top:36px;background:var(--bg);border-radius:24px;padding:25px;display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:center}.photo-qr-card img{width:150px;border-radius:16px;padding:8px;background:#fff}.photo-qr-card h3{font-family:"Playfair Display",serif;font-size:31px;margin:8px 0}.photo-qr-card p{font-size:11px;color:var(--muted);line-height:1.5}.photo-qr-card a{display:inline-block;margin-top:8px;background:var(--dark);color:#fff;padding:10px 13px;border-radius:999px;font-size:9px;font-weight:800}.public-final{padding:130px 18px;background:var(--dark);color:#fff;text-align:center}.final-inner{max-width:900px;margin:auto}.final-inner>span{font-size:9px;letter-spacing:.23em;color:#c8b18f}.final-inner h2{font-family:"Italiana",serif;font-size:clamp(65px,11vw,130px);font-weight:400;line-height:.8;margin:27px 0}.final-inner h2 i{display:block;font-family:"Playfair Display",serif;font-size:.3em;font-style:italic;color:#d1b48c;margin:15px}.final-inner p{color:#b4c0bb;font-size:12px}.final-inner button{margin-top:25px;border:1px solid #ffffff30;background:transparent;color:#fff;border-radius:999px;padding:12px 16px;font-size:10px;font-weight:800}.mobile-actionbar{position:fixed;z-index:70;left:50%;bottom:14px;transform:translateX(-50%);display:flex;padding:5px;background:#17251feF;border-radius:999px;box-shadow:0 8px 30px #0003}.mobile-actionbar a,.mobile-actionbar button{border:0;border-radius:999px;padding:10px 14px;font-size:9px;font-weight:800}.mobile-actionbar a{background:#eee0ca;color:#25322d}.mobile-actionbar button{background:transparent;color:#fff}.share-toast{position:fixed;z-index:120;left:50%;bottom:70px;transform:translate(-50%,10px);opacity:0;pointer-events:none;background:#fff;color:#25322d;padding:10px 14px;border-radius:999px;font-size:9px;font-weight:800;box-shadow:0 10px 30px #0002;transition:.2s}.share-toast.show{opacity:1;transform:translate(-50%,0)}.lightbox{position:fixed;inset:0;z-index:150;background:#101713ef;display:none;place-items:center;padding:25px}.lightbox.show{display:grid}.lightbox img{max-width:min(1100px,94vw);max-height:88vh;border-radius:16px}.lightbox button{position:absolute;right:20px;top:20px;width:42px;height:42px;border:1px solid #ffffff44;border-radius:50%;background:#ffffff12;color:#fff;font-size:25px}.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:820px){.invite-nav nav{display:none}.date-count-shell,.rsvp-shell{grid-template-columns:1fr;gap:40px}.date-poster{max-width:420px;width:100%;margin:auto}.program-cards{grid-template-columns:1fr}.masonry-gallery{columns:2}}
@media(max-width:560px){.invite-nav{height:58px;padding:0 15px}.invite-nav button{font-size:8px}.premium-cover h1{font-size:70px}.premium-cover-inner{padding-top:90px}.cover-actions{flex-direction:column;align-items:center}.cover-actions a{width:210px}.cover-scroll{display:none}.story-block,.date-count,.program-block,.premium-rsvp,.premium-gallery,.public-final{padding:82px 16px}.date-poster{min-height:390px}.date-poster strong{font-size:118px}.countdown{gap:5px}.countdown b{font-size:30px}.program-card{grid-template-columns:48px 1fr;padding:20px;min-height:230px}.program-num{font-size:34px}.editorial-break{height:480px}.rsvp-panel{padding:20px}.rsvp-grid,.attendance-switch>div{grid-template-columns:1fr}.rsvp-grid .full{grid-column:auto}.masonry-gallery{columns:2;column-gap:7px}.gallery-photo{margin-bottom:7px;border-radius:12px}.photo-qr-card{grid-template-columns:1fr;text-align:center}.photo-qr-card img{margin:auto}.final-inner h2{font-size:70px}.preview-bar{justify-content:space-between}.preview-bar+.invite-nav{top:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* V20 DISTINCT TEMPLATE SYSTEM */
.template-ornament,.story-decor{position:absolute;pointer-events:none;z-index:1}.story-block{position:relative;overflow:hidden}
.theme-ivory .premium-cover:not(.has-photo){background:linear-gradient(125deg,#eee6da 0 50%,#d7ddd5 50% 100%)}.theme-ivory .premium-cover-inner{max-width:820px}.theme-ivory .premium-cover h1{letter-spacing:-.055em}.theme-ivory .premium-cover h1 span:first-child{text-align:left}.theme-ivory .premium-cover h1 span:last-child{text-align:right}.theme-ivory .ornament-a{width:270px;height:420px;border:1px solid #fff6;border-radius:150px 150px 18px 18px;left:7vw;top:20vh}.theme-ivory .ornament-b{width:180px;height:180px;border:1px solid #fff5;border-radius:50%;right:9vw;bottom:10vh}
.theme-sage .premium-cover{place-items:end start}.theme-sage .premium-cover-inner{text-align:left;width:min(720px,calc(100% - 44px));margin-left:max(22px,calc((100vw - 1120px)/2));padding-bottom:100px}.theme-sage .premium-cover h1{font-family:"Playfair Display",serif;font-size:clamp(66px,9vw,120px);line-height:.82}.theme-sage .premium-cover-inner>p{margin-left:0;max-width:520px}.theme-sage .cover-actions{justify-content:flex-start}.theme-sage .ornament-a{width:390px;height:560px;border:1px solid #d9ead980;border-radius:55% 45% 48% 52%;right:-100px;top:8vh;transform:rotate(18deg)}.theme-sage .ornament-b{width:160px;height:350px;border:1px solid #d9ead980;border-radius:60% 40%;right:13vw;top:23vh;transform:rotate(-24deg)}.theme-sage .story-decor.decor-one{width:280px;height:280px;border:1px solid #71866f55;border-radius:60% 40% 55% 45%;left:-110px;top:50px;transform:rotate(35deg)}.theme-sage .story-decor.decor-two{width:180px;height:330px;border:1px solid #71866f44;border-radius:50%;right:-80px;bottom:20px;transform:rotate(-22deg)}.theme-sage .date-poster{border-radius:52% 48% 20px 20px}.theme-sage .program-card{border-radius:55px 18px 55px 18px}
.theme-dusk{--bg:#171923;--surface:#20232f;--ink:#efe8e1;--muted:#aaa5a4;--line:#ffffff18}.theme-dusk .premium-cover{background:#0f1119}.theme-dusk .cover-shade{background:linear-gradient(90deg,rgba(8,9,14,.82),rgba(8,9,14,.24),rgba(8,9,14,.65))}.theme-dusk .premium-cover-inner{max-width:1100px;text-align:left}.theme-dusk .premium-cover h1{font-family:"Playfair Display",serif;font-size:clamp(64px,10vw,132px);line-height:.86}.theme-dusk .premium-cover h1 i{display:inline-block;margin:0 20px;font-size:.28em}.theme-dusk .premium-cover h1 span{display:inline}.theme-dusk .premium-cover-inner>p{margin-left:0}.theme-dusk .cover-actions{justify-content:flex-start}.theme-dusk .ornament-a{left:50%;top:50%;width:560px;height:560px;border:1px solid #d7bda735;border-radius:50%;transform:translate(-50%,-50%)}.theme-dusk .ornament-b{left:50%;top:50%;width:720px;height:720px;border:1px solid #d7bda71f;border-radius:50%;transform:translate(-50%,-50%)}.theme-dusk .story-block,.theme-dusk .date-count,.theme-dusk .premium-rsvp,.theme-dusk .premium-gallery{background:#171923}.theme-dusk .rsvp-panel,.theme-dusk .date-poster{background:#20232f}.theme-dusk #rsvpForm input,.theme-dusk #rsvpForm select,.theme-dusk #rsvpForm textarea{background:#171923;color:#eee;border-color:#ffffff1f}.theme-dusk .primary-pill{background:#d7bda7;color:#171923}
.theme-rose .premium-cover{place-items:center end}.theme-rose .premium-cover-inner{width:min(650px,calc(100% - 40px));margin-right:max(20px,calc((100vw - 1120px)/2));text-align:left}.theme-rose .premium-cover h1{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(68px,9vw,122px);line-height:.82}.theme-rose .premium-cover-inner>p{margin-left:0}.theme-rose .cover-actions{justify-content:flex-start}.theme-rose .ornament-a{width:420px;height:420px;background:#e8bdc43b;border-radius:50%;left:-130px;top:13vh}.theme-rose .ornament-b{width:250px;height:360px;border:1px solid #fff7;border-radius:140px;left:11vw;bottom:6vh;transform:rotate(12deg)}.theme-rose .story-shell h2{font-style:italic}.theme-rose .date-poster{border-radius:28px 180px 28px 180px}.theme-rose .program-card:nth-child(odd){transform:translateY(22px)}
.theme-cloud .premium-cover{min-height:92svh;border-radius:0 0 44px 44px}.theme-cloud .premium-cover:not(.has-photo){background:linear-gradient(180deg,#dcecf1,#eef6f8)}.theme-cloud .cover-shade{background:linear-gradient(180deg,rgba(65,91,98,.08),rgba(65,91,98,.18))}.theme-cloud .premium-cover-inner{color:#39535b}.theme-cloud .cover-kicker{color:#668995}.theme-cloud .premium-cover-inner>p{color:#4f6c74}.theme-cloud .ghost-pill{border-color:#6c8b9455}.theme-cloud .primary-pill{background:#fff;color:#47626a}.theme-cloud .premium-cover h1{font-size:clamp(64px,10vw,120px)}.theme-cloud .premium-cover h1 i{color:#7698a3}.theme-cloud .ornament-a,.theme-cloud .ornament-b{background:#fff9;border-radius:50%}.theme-cloud .ornament-a{width:260px;height:130px;left:4vw;top:18vh}.theme-cloud .ornament-b{width:340px;height:170px;right:-70px;top:30vh}.theme-cloud .date-poster{border-radius:100px}.theme-cloud .program-card,.theme-cloud .rsvp-panel,.theme-cloud .gallery-photo{border-radius:32px}
.theme-pop .premium-cover{min-height:88svh}.theme-pop .premium-cover:not(.has-photo){background:linear-gradient(135deg,#ffdf9f 0 48%,#f2a477 48% 72%,#7b9d91 72%)}.theme-pop .cover-shade{background:rgba(54,39,30,.10)}.theme-pop .premium-cover-inner{text-align:left;max-width:1080px}.theme-pop .premium-cover h1{font-family:"DM Sans",sans-serif;font-weight:800;font-size:clamp(68px,11vw,145px);line-height:.75;text-transform:uppercase;letter-spacing:-.07em}.theme-pop .premium-cover-inner>p{margin-left:0;font-family:"DM Sans",sans-serif;font-weight:600}.theme-pop .cover-actions{justify-content:flex-start}.theme-pop .ornament-a{width:180px;height:180px;border-radius:40px;background:#fff4;right:9vw;top:16vh;transform:rotate(19deg)}.theme-pop .ornament-b{width:105px;height:105px;border-radius:50%;background:#fff6;right:20vw;bottom:12vh}.theme-pop .story-shell h2,.theme-pop .public-title h2,.theme-pop .rsvp-heading h2{font-family:"DM Sans",sans-serif;font-weight:800;letter-spacing:-.04em}.theme-pop .date-poster{border-radius:28px;transform:rotate(-2deg);box-shadow:12px 12px 0 #d99a5e}.theme-pop .program-card:nth-child(even){transform:rotate(1.5deg)}.theme-pop .program-card:nth-child(odd){transform:rotate(-1deg)}
@media(max-width:700px){.theme-ivory .premium-cover h1 span:first-child,.theme-ivory .premium-cover h1 span:last-child{text-align:center}.theme-sage .premium-cover,.theme-rose .premium-cover{place-items:center}.theme-sage .premium-cover-inner,.theme-rose .premium-cover-inner{margin:0;text-align:center;width:min(94%,650px)}.theme-sage .premium-cover-inner>p,.theme-rose .premium-cover-inner>p{margin-left:auto}.theme-sage .cover-actions,.theme-rose .cover-actions{justify-content:center}.theme-dusk .premium-cover-inner{text-align:center}.theme-dusk .premium-cover h1 span{display:block}.theme-dusk .premium-cover h1 i{display:block;margin:10px}.theme-dusk .premium-cover-inner>p{margin-left:auto}.theme-dusk .cover-actions{justify-content:center}.theme-pop .premium-cover-inner{text-align:center}.theme-pop .premium-cover-inner>p{margin-left:auto}.theme-pop .cover-actions{justify-content:center}.theme-rose .program-card:nth-child(odd),.theme-pop .program-card:nth-child(even),.theme-pop .program-card:nth-child(odd){transform:none}}

/* V21 DEMO CONTRAST + NEW THEMES */
.theme-ivory .premium-cover:not(.has-photo) .premium-cover-inner,
.theme-sage .premium-cover:not(.has-photo) .premium-cover-inner,
.theme-rose .premium-cover:not(.has-photo) .premium-cover-inner,
.theme-pop .premium-cover:not(.has-photo) .premium-cover-inner{color:#24332d}
.theme-ivory .premium-cover:not(.has-photo) .cover-kicker,
.theme-sage .premium-cover:not(.has-photo) .cover-kicker,
.theme-rose .premium-cover:not(.has-photo) .cover-kicker,
.theme-pop .premium-cover:not(.has-photo) .cover-kicker{color:#725f49}
.theme-ivory .premium-cover:not(.has-photo) .premium-cover-inner>p,
.theme-sage .premium-cover:not(.has-photo) .premium-cover-inner>p,
.theme-rose .premium-cover:not(.has-photo) .premium-cover-inner>p,
.theme-pop .premium-cover:not(.has-photo) .premium-cover-inner>p{color:#394b44}
.theme-ivory .premium-cover:not(.has-photo) .ghost-pill,
.theme-sage .premium-cover:not(.has-photo) .ghost-pill,
.theme-rose .premium-cover:not(.has-photo) .ghost-pill,
.theme-pop .premium-cover:not(.has-photo) .ghost-pill{border-color:#30443a55;color:#26372f}
.theme-ivory .premium-cover:not(.has-photo) .cover-date,
.theme-sage .premium-cover:not(.has-photo) .cover-date,
.theme-rose .premium-cover:not(.has-photo) .cover-date,
.theme-pop .premium-cover:not(.has-photo) .cover-date{color:#4c5d56}
.theme-ivory .premium-cover:not(.has-photo) .cover-scroll,
.theme-sage .premium-cover:not(.has-photo) .cover-scroll,
.theme-rose .premium-cover:not(.has-photo) .cover-scroll,
.theme-pop .premium-cover:not(.has-photo) .cover-scroll{color:#3f5049}
.theme-ivory .premium-cover:not(.has-photo) .cover-scroll i,
.theme-sage .premium-cover:not(.has-photo) .cover-scroll i,
.theme-rose .premium-cover:not(.has-photo) .cover-scroll i,
.theme-pop .premium-cover:not(.has-photo) .cover-scroll i{background:#3f504966}

/* PEARL MINIMAL */
.theme-pearl{--bg:#f6f3ee;--surface:#fffdfa;--ink:#3e3b37;--muted:#77716a;--accent:#a69a89;--accent2:#7f786d;--dark:#252421;--line:#e4dfd7}
.theme-pearl .premium-cover:not(.has-photo){background:linear-gradient(135deg,#fffdf9,#e9e3da)}
.theme-pearl .premium-cover-inner{color:#3b3935}.theme-pearl .cover-kicker{color:#8c8273}.theme-pearl .premium-cover-inner>p{color:#615d57}.theme-pearl .ghost-pill{border-color:#6c665c55;color:#4b4741}
.theme-pearl .premium-cover h1{font-size:clamp(66px,10vw,124px);letter-spacing:-.04em}.theme-pearl .ornament-a{width:520px;height:520px;border:1px solid #9c938755;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.theme-pearl .ornament-b{width:380px;height:580px;border:1px solid #9c938733;border-radius:190px;right:-80px;top:8vh}

/* OLIVE ESTATE */
.theme-olive{--bg:#ececdf;--surface:#f9f8f0;--ink:#344034;--muted:#727a6c;--accent:#768067;--accent2:#59634e;--dark:#263026;--line:#d7d8c8}
.theme-olive .premium-cover:not(.has-photo){background:linear-gradient(125deg,#dfe2d1,#aeb79e)}
.theme-olive .premium-cover-inner{color:#263226}.theme-olive .cover-kicker{color:#5d6954}.theme-olive .premium-cover-inner>p{color:#3d4a3c}.theme-olive .ornament-a{width:440px;height:580px;border:1px solid #ffffff88;border-radius:55% 45%;right:-120px;top:8vh;transform:rotate(15deg)}.theme-olive .ornament-b{width:180px;height:360px;border:1px solid #ffffff77;border-radius:50%;left:8vw;bottom:5vh;transform:rotate(-18deg)}.theme-olive .date-poster{border-radius:28px 160px 28px 160px}

/* NOIR SIGNATURE */
.theme-noir{--bg:#111216;--surface:#1a1c21;--ink:#f0e7db;--muted:#aaa39a;--accent:#c6a97c;--accent2:#a68d68;--dark:#090a0d;--line:#ffffff16}
.theme-noir .premium-cover{background:#090a0d}.theme-noir .premium-cover.has-photo .cover-shade{background:linear-gradient(180deg,#0008,#0006)}.theme-noir .premium-cover-inner{color:#f5ede4}.theme-noir .cover-kicker{color:#d0b487}.theme-noir .ornament-a{inset:10vh 12vw;border:1px solid #d4b98735;border-radius:300px}.theme-noir .ornament-b{width:220px;height:220px;border:1px solid #d4b98755;border-radius:50%;right:8vw;bottom:8vh}.theme-noir .story-block,.theme-noir .date-count,.theme-noir .premium-rsvp,.theme-noir .premium-gallery{background:#111216}.theme-noir .date-poster,.theme-noir .rsvp-panel{background:#1a1c21}.theme-noir #rsvpForm input,.theme-noir #rsvpForm select,.theme-noir #rsvpForm textarea{background:#111216;color:#fff;border-color:#ffffff22}

/* LAVENDER DREAM */
.theme-lavender{--bg:#f1edf6;--surface:#fffafd;--ink:#51475c;--muted:#807688;--accent:#927baa;--accent2:#745f88;--dark:#342c3e;--line:#ddd4e5}
.theme-lavender .premium-cover:not(.has-photo){background:linear-gradient(145deg,#ece5f4,#d6c7e5)}.theme-lavender .premium-cover-inner{color:#51475c}.theme-lavender .cover-kicker{color:#765f8c}.theme-lavender .premium-cover-inner>p{color:#665c70}.theme-lavender .ornament-a{width:380px;height:380px;border-radius:50%;background:#fff5;left:-100px;top:8vh}.theme-lavender .ornament-b{width:260px;height:420px;border:1px solid #ffffff99;border-radius:140px;right:6vw;bottom:4vh}

/* TERRA AMORE */
.theme-terracotta{--bg:#f1e6dc;--surface:#fff9f4;--ink:#5b4033;--muted:#866e61;--accent:#b36f50;--accent2:#8f543d;--dark:#4a3128;--line:#e0cfc3}
.theme-terracotta .premium-cover:not(.has-photo){background:linear-gradient(135deg,#ecd4c4,#c98a6c)}.theme-terracotta .premium-cover-inner{color:#4e352b}.theme-terracotta .cover-kicker{color:#7f4d38}.theme-terracotta .premium-cover-inner>p{color:#62483b}.theme-terracotta .ornament-a{width:500px;height:500px;border-radius:50%;background:#fff2;right:-150px;top:4vh}.theme-terracotta .ornament-b{width:230px;height:400px;border:1px solid #fff7;border-radius:130px;left:9vw;bottom:3vh;transform:rotate(13deg)}.theme-terracotta .program-card{border-radius:20px 70px 20px 70px}

/* SKY STORY */
.theme-sky{--bg:#eef6f8;--surface:#fbfeff;--ink:#3e5962;--muted:#71868e;--accent:#7da4b3;--accent2:#5f8390;--dark:#2b444d;--line:#d6e4e8}
.theme-sky .premium-cover:not(.has-photo){background:linear-gradient(180deg,#d9edf3,#eef8fb)}.theme-sky .premium-cover-inner{color:#38545e}.theme-sky .cover-kicker{color:#5f8795}.theme-sky .premium-cover-inner>p{color:#526e77}.theme-sky .ornament-a,.theme-sky .ornament-b{background:#fff8;border-radius:50%}.theme-sky .ornament-a{width:330px;height:150px;left:-30px;top:16vh}.theme-sky .ornament-b{width:430px;height:190px;right:-90px;top:31vh}.theme-sky .date-poster{border-radius:120px 120px 30px 30px}

/* V22 EMBEDDED PREVIEW */
.embed-preview .invite-nav,
.embed-preview .mobile-actionbar,
.embed-preview .cover-scroll{display:none!important}
.embed-preview .premium-cover{min-height:100vh}
.embed-preview main{padding-top:0}
.embed-preview .reveal{opacity:1!important;transform:none!important}

/* V24 NEW DISTINCT THEMES */
/* ART DECO GOLD */
.theme-artdeco{--bg:#121212;--surface:#1b1917;--ink:#f1e6d3;--muted:#aaa092;--accent:#c5a15f;--accent2:#9f7d42;--dark:#090909;--line:#ffffff18}
.theme-artdeco .premium-cover{background:linear-gradient(145deg,#0e0e0e,#272016)}
.theme-artdeco .premium-cover-inner{color:#f5ead7}
.theme-artdeco .cover-kicker{color:#d0aa65}.theme-artdeco .premium-cover h1{font-family:"Playfair Display",serif;text-transform:uppercase;letter-spacing:.02em}
.theme-artdeco .ornament-a{width:520px;height:520px;border:1px solid #caa76355;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border-radius:4px}
.theme-artdeco .ornament-b{width:370px;height:370px;border:1px solid #caa76335;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border-radius:4px}
.theme-artdeco .story-block,.theme-artdeco .date-count,.theme-artdeco .premium-rsvp,.theme-artdeco .premium-gallery{background:#121212}
.theme-artdeco .date-poster,.theme-artdeco .rsvp-panel{background:#1b1917}
.theme-artdeco #rsvpForm input,.theme-artdeco #rsvpForm select,.theme-artdeco #rsvpForm textarea{background:#121212;color:#f5ead7;border-color:#ffffff20}

/* BOHO LINEN */
.theme-boho{--bg:#eee5d7;--surface:#fbf6ee;--ink:#574b3e;--muted:#807467;--accent:#9f8263;--accent2:#7e684f;--dark:#4c4034;--line:#ded2c1}
.theme-boho .premium-cover:not(.has-photo){background:linear-gradient(135deg,#efe3d1,#cab596)}
.theme-boho .premium-cover-inner{color:#55493c}.theme-boho .cover-kicker{color:#80674e}.theme-boho .premium-cover-inner>p{color:#66594a}
.theme-boho .ornament-a{width:380px;height:580px;border:1px solid #fff8;border-radius:58% 42%;right:-90px;top:6vh;transform:rotate(20deg)}
.theme-boho .ornament-b{width:190px;height:390px;border:1px solid #fff7;border-radius:50%;left:9vw;bottom:4vh;transform:rotate(-18deg)}
.theme-boho .date-poster{border-radius:48% 48% 24px 24px}.theme-boho .program-card{border-radius:55px 20px 55px 20px}

/* EMERALD LUXE */
.theme-emerald{--bg:#0e2d27;--surface:#153932;--ink:#f4ead9;--muted:#b1beb8;--accent:#d0b37e;--accent2:#b59258;--dark:#071d19;--line:#ffffff18}
.theme-emerald .premium-cover{background:linear-gradient(145deg,#0b2822,#15493e)}
.theme-emerald .premium-cover-inner{color:#f7ead7}.theme-emerald .cover-kicker{color:#d5b77f}.theme-emerald .premium-cover-inner>p{color:#d8ded9}
.theme-emerald .ornament-a{width:560px;height:560px;border:1px solid #d3b77d44;border-radius:50%;right:-180px;top:3vh}
.theme-emerald .ornament-b{width:320px;height:520px;border:1px solid #d3b77d40;border-radius:180px;left:-80px;bottom:0}
.theme-emerald .story-block,.theme-emerald .date-count,.theme-emerald .premium-rsvp,.theme-emerald .premium-gallery{background:#0e2d27}
.theme-emerald .date-poster,.theme-emerald .rsvp-panel{background:#153932}
.theme-emerald #rsvpForm input,.theme-emerald #rsvpForm select,.theme-emerald #rsvpForm textarea{background:#0d2a24;color:#fff;border-color:#ffffff22}

/* WATERCOLOR BLOOM */
.theme-watercolor{--bg:#f5eef3;--surface:#fffafd;--ink:#5e5060;--muted:#867988;--accent:#a77e9e;--accent2:#7f6a8e;--dark:#46394b;--line:#e2d7e2}
.theme-watercolor .premium-cover:not(.has-photo){background:linear-gradient(135deg,#f7e5ec,#ddd8ef 45%,#d6e9ec)}
.theme-watercolor .premium-cover-inner{color:#5d4d5f}.theme-watercolor .cover-kicker{color:#8d6886}.theme-watercolor .premium-cover-inner>p{color:#6c5d6d}
.theme-watercolor .ornament-a{width:420px;height:420px;border-radius:50%;background:#e6bcca44;left:-110px;top:8vh;filter:blur(6px)}
.theme-watercolor .ornament-b{width:390px;height:390px;border-radius:50%;background:#a9cbd250;right:-100px;bottom:4vh;filter:blur(8px)}
.theme-watercolor .story-shell h2{font-style:italic}.theme-watercolor .date-poster{border-radius:120px 28px 120px 28px}

/* V25 personalization */
.invitation .primary-pill,.invitation #rsvpForm button,.invitation .public-final button{background:var(--user-accent,var(--accent))}
.invitation .section-eyebrow,.invitation .cover-kicker{color:var(--user-accent,var(--accent))}
.font-editorial h1,.font-editorial h2,.font-editorial h3{font-family:"Italiana",serif!important;font-weight:400!important}
.font-modern h1,.font-modern h2,.font-modern h3{font-family:"DM Sans",sans-serif!important;font-weight:700!important;letter-spacing:-.045em}

/* V26 RSVP form */
.rsvp-special-box{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 78%,var(--bg));border-radius:14px;padding:12px;margin-bottom:14px}.rsvp-special-box>div:first-child{margin-bottom:10px}.rsvp-special-box>div:first-child>span,.rsvp-special-box>div:first-child>small{display:block}.rsvp-special-box>div:first-child>span{font-size:8px;font-weight:800;letter-spacing:.08em}.rsvp-special-box>div:first-child>small{font-size:8px;color:var(--muted);margin-top:2px}.transport-notes-wrap{margin-top:11px}.edit-rsvp-btn{margin-top:14px;border:1px solid var(--line)!important;background:transparent!important;color:var(--ink)!important;width:auto!important;padding:10px 16px!important}.rsvp-success .edit-rsvp-btn{display:inline-block}

/* V31 flexible program */
.program-location-name{display:block;font-size:13px;margin:5px 0 2px;color:var(--ink)}.program-note{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin:6px 0}.program-card a{font-size:12px}

/* V34 demo commercial CTA */
.demo-order-top{background:var(--ink,#1f2d29);color:#fff!important;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800}
.demo-order-final{margin-top:14px;background:var(--user-accent,#a98c69);color:#fff;padding:12px 18px;border-radius:999px;font-size:13px;font-weight:800}

/* V37 — post event */
.v37-thankyou-section{padding:100px 22px;background:linear-gradient(180deg,#f7f2ea,#fff)}.v37-thankyou-shell{max-width:760px;margin:auto;text-align:center}.v37-thankyou-shell h2{font-family:"Playfair Display",serif;font-size:clamp(42px,7vw,76px);line-height:1.02;margin:10px 0 18px}.v37-thankyou-shell p{max-width:640px;margin:0 auto 24px;font-size:17px;line-height:1.75;color:#65706b}.v37-thankyou-shell .primary-pill{display:inline-flex;text-decoration:none}
.v37-rsvp-closed{padding:85px 22px;background:#f8f4ed}.v37-rsvp-closed .rsvp-shell{max-width:720px;text-align:center}.v37-rsvp-closed h2{font-family:"Playfair Display",serif;font-size:42px;margin:8px 0 12px}.v37-rsvp-closed p{font-size:15px;line-height:1.65;color:#6d7772}
.v37-retention-note{text-align:center;margin:30px auto 0;font-size:12px;color:#7d8782;letter-spacing:.03em}
.post-event-mode .cover-scroll{display:none}.post-event-mode .date-count{display:none}.post-event-mode .premium-gallery{padding-top:100px}.post-event-mode .premium-cover-inner>p{max-width:650px}.post-event-mode .premium-cover{min-height:82vh}
@media(max-width:700px){.v37-thankyou-section{padding:72px 18px}.v37-thankyou-shell p{font-size:15px}.v37-rsvp-closed{padding:60px 18px}.v37-rsvp-closed h2{font-size:34px}}

/* V38 — share sheet */
.v38-share-sheet{position:fixed;inset:0;z-index:2000;background:rgba(20,27,24,.58);display:none;align-items:flex-end;justify-content:center;padding:18px}.v38-share-sheet.show{display:flex}.v38-share-dialog{width:min(520px,100%);background:#fff;border-radius:24px;padding:22px;box-shadow:0 28px 80px rgba(0,0,0,.22)}.v38-share-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.v38-share-dialog header span{font-size:11px;letter-spacing:.12em;color:#9b7b58;font-weight:800}.v38-share-dialog h3{font-family:"Playfair Display",serif;font-size:28px;margin:2px 0}.v38-share-dialog header button{border:0;background:#f1eee9;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.v38-share-dialog>p{font-size:13px;color:#6d7772;margin:4px 0 16px}.v38-share-options{display:grid;gap:9px}.v38-share-options>a,.v38-share-options>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:14px 15px;border:1px solid #e6e0d8;border-radius:14px;background:#faf8f4;text-decoration:none;color:#293b35;cursor:pointer}.v38-share-options b{font-size:14px}.v38-share-options span{font-size:12px;color:#7a837f;margin-top:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:700px){.v38-share-sheet{align-items:center}.v38-share-dialog{border-radius:26px}}

/* V39.3 — invitation mobile */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,svg{max-width:100%}
@media(max-width:700px){
 .invite-nav{padding-left:14px!important;padding-right:14px!important}
 .invite-nav nav{display:none}
 .premium-cover{min-height:100svh}
 .premium-cover-inner{padding-left:18px!important;padding-right:18px!important}
 .premium-cover h1{font-size:clamp(48px,17vw,78px)!important;overflow-wrap:anywhere}
 .premium-cover-inner>p{font-size:15px!important;line-height:1.6!important}
 .cover-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
 .cover-actions a{width:100%;box-sizing:border-box;text-align:center}
 .date-count-shell,.story-shell,.public-shell,.rsvp-shell{width:100%;max-width:100%;box-sizing:border-box}
 .date-count-shell{grid-template-columns:1fr!important;gap:28px!important}
 .date-poster{min-height:340px!important}
 .countdown{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
 .program-cards{grid-template-columns:1fr!important}
 .program-card{min-width:0}
 .rsvp-grid{grid-template-columns:1fr!important}
 .rsvp-panel{padding:18px!important}
 .masonry-gallery{columns:2!important;column-gap:8px!important}
 .photo-qr-card{grid-template-columns:1fr!important;text-align:center}
 .photo-qr-card img{margin:auto}
 .public-final{padding-bottom:100px!important}
 .mobile-actionbar{display:flex}
 .v38-share-dialog{max-height:calc(100svh - 28px);overflow-y:auto}
}
@media(max-width:420px){
 .masonry-gallery{columns:1!important}
 .premium-cover h1{font-size:clamp(44px,16vw,66px)!important}
 .story-block,.date-count,.program-block,.premium-rsvp,.premium-gallery,.public-final,.v37-thankyou-section{padding-left:14px!important;padding-right:14px!important}
}


/* V46 — multimedia themes */
.theme-motion-bloom{--bg:#f7efe9;--surface:#fffaf7;--accent:#bd8f91;--accent2:#8c6668;--dark:#352925;--hero-fallback:linear-gradient(145deg,#f1dadc,#e7c9cf)}
.theme-golden-motion{--bg:#f5f0e8;--surface:#fffdf9;--accent:#c6a467;--accent2:#8d7040;--dark:#261f18;--hero-fallback:linear-gradient(145deg,#eadcc6,#b9965d)}
.theme-baby-dream-motion{--bg:#f2f4fa;--surface:#fff;--accent:#9ea9cf;--accent2:#7683ac;--dark:#283047;--hero-fallback:linear-gradient(145deg,#edf1fb,#d9dff2)}
.theme-neon-party{--bg:#17141e;--surface:#211b2a;--accent:#d26cf2;--accent2:#62d8df;--dark:#0e0b13;--hero-fallback:linear-gradient(145deg,#24142e,#0d2530)}
.theme-sound-romance{--bg:#f5ece9;--surface:#fffaf8;--accent:#b98a83;--accent2:#88625d;--dark:#352725;--hero-fallback:linear-gradient(145deg,#ead3ce,#cfaaa3)}
.theme-little-melody{--bg:#f0f5f3;--surface:#fff;--accent:#87aaa0;--accent2:#617f76;--dark:#21352f;--hero-fallback:linear-gradient(145deg,#e1eeea,#c8ddd7)}
.theme-cinematic-love{--bg:#e8e4df;--surface:#f8f5f1;--accent:#c5a77b;--accent2:#806b50;--dark:#141311;--hero-fallback:linear-gradient(145deg,#34322e,#11100f)}
.theme-party-reel{--bg:#14131b;--surface:#1d1b26;--accent:#f2a85e;--accent2:#d85cb8;--dark:#09090d;--hero-fallback:linear-gradient(145deg,#311834,#11192a)}

.v46-hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0
}
.premium-cover.has-video .cover-shade{z-index:1}
.premium-cover.has-video .cover-noise{z-index:1}
.premium-cover.has-video .premium-cover-inner,
.premium-cover.has-video .cover-scroll{z-index:3}

.v46-motion-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.v46-motion-layer i{position:absolute;display:block;border-radius:50%;opacity:0}
.experience-motion .v46-motion-layer i,
.experience-music .v46-motion-layer i,
.experience-video .v46-motion-layer i{opacity:.35;filter:blur(1px)}
.experience-motion .v46-motion-layer i:nth-child(1),
.experience-music .v46-motion-layer i:nth-child(1){width:170px;height:170px;left:5%;top:15%;background:radial-gradient(circle,#fff7,transparent 70%);animation:v46FloatA 14s ease-in-out infinite}
.experience-motion .v46-motion-layer i:nth-child(2),
.experience-music .v46-motion-layer i:nth-child(2){width:260px;height:260px;right:-7%;top:20%;border:1px solid #fff7;animation:v46FloatB 18s ease-in-out infinite}
.experience-motion .v46-motion-layer i:nth-child(3),
.experience-video .v46-motion-layer i:nth-child(3){width:90px;height:90px;left:25%;bottom:15%;background:radial-gradient(circle,#fff8,transparent 72%);animation:v46FloatC 12s ease-in-out infinite}
.experience-motion .v46-motion-layer i:nth-child(4),
.experience-video .v46-motion-layer i:nth-child(4){width:8px;height:8px;right:24%;top:27%;background:#fff;box-shadow:45px 33px 0 #fff9,-55px 70px 0 #fff7,80px 100px 0 #fff6;animation:v46Twinkle 3s ease-in-out infinite}
.experience-motion .v46-motion-layer i:nth-child(5){width:320px;height:120px;left:50%;bottom:-70px;transform:translateX(-50%);border:1px solid #fff5;border-radius:50%;animation:v46Pulse 8s ease-in-out infinite}

@keyframes v46FloatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18px,-25px,0)}}
@keyframes v46FloatB{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-28px,18px,0) rotate(8deg)}}
@keyframes v46FloatC{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-20px,-30px,0)}}
@keyframes v46Twinkle{0%,100%{opacity:.2}50%{opacity:.85}}
@keyframes v46Pulse{0%,100%{opacity:.15;transform:translateX(-50%) scale(.94)}50%{opacity:.5;transform:translateX(-50%) scale(1.04)}}

.media-effect-zoom .premium-cover.has-photo,
.media-effect-pan-left .premium-cover.has-photo,
.media-effect-pan-right .premium-cover.has-photo,
.media-effect-cinematic .premium-cover.has-photo{background-image:none}
.media-effect-zoom .premium-cover.has-photo::before,
.media-effect-pan-left .premium-cover.has-photo::before,
.media-effect-pan-right .premium-cover.has-photo::before,
.media-effect-cinematic .premium-cover.has-photo::before{
  content:"";position:absolute;inset:-4%;z-index:0;
  background-image:var(--hero);background-size:cover;background-position:center;
  will-change:transform
}
.media-effect-zoom .premium-cover.has-photo::before{animation:v46HeroZoom 18s ease-in-out infinite alternate}
.media-effect-pan-left .premium-cover.has-photo::before{animation:v46HeroPanLeft 20s ease-in-out infinite alternate}
.media-effect-pan-right .premium-cover.has-photo::before{animation:v46HeroPanRight 20s ease-in-out infinite alternate}
.media-effect-cinematic .premium-cover.has-photo::before{animation:v46HeroCinema 22s ease-in-out infinite alternate}
.media-effect-parallax .premium-cover.has-photo{background-position:center calc(50% + var(--parallax-y,0px))}
@keyframes v46HeroZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes v46HeroPanLeft{from{transform:translateX(2.5%) scale(1.06)}to{transform:translateX(-2.5%) scale(1.06)}}
@keyframes v46HeroPanRight{from{transform:translateX(-2.5%) scale(1.06)}to{transform:translateX(2.5%) scale(1.06)}}
@keyframes v46HeroCinema{from{transform:translate3d(-1.5%,1%,0) scale(1.04)}to{transform:translate3d(1.5%,-1%,0) scale(1.10)}}

.v46-audio-toggle{
  position:fixed;right:18px;bottom:18px;z-index:95;
  display:flex;align-items:center;gap:8px;
  border:1px solid #ffffff55;background:rgba(20,30,26,.82);backdrop-filter:blur(12px);
  color:#fff;border-radius:999px;padding:8px 12px 8px 8px;
  box-shadow:0 10px 30px #0003;font:700 10px "DM Sans",sans-serif
}
.v46-audio-toggle span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ffffff16;font-size:15px}
.v46-audio-toggle.playing span{animation:v46MusicPulse 1.5s ease-in-out infinite}
@keyframes v46MusicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}

.theme-neon-party .premium-cover h1,
.theme-party-reel .premium-cover h1{text-shadow:0 0 28px color-mix(in srgb,var(--accent) 65%,transparent)}
.theme-golden-motion .v46-motion-layer i:nth-child(4){color:#f3d8a0}
.theme-baby-dream-motion .v46-motion-layer i:nth-child(2){border-color:#fff9}
.theme-cinematic-love .cover-shade{background:linear-gradient(180deg,rgba(8,8,8,.28),rgba(8,8,8,.72))}

@media(max-width:700px){
  .v46-audio-toggle{right:12px;bottom:76px;padding-right:10px}
  .v46-audio-toggle b{display:none}
  .v46-audio-toggle span{width:34px;height:34px}
  .media-effect-zoom .premium-cover.has-photo::before,
  .media-effect-pan-left .premium-cover.has-photo::before,
  .media-effect-pan-right .premium-cover.has-photo::before,
  .media-effect-cinematic .premium-cover.has-photo::before{inset:-6%}
}

@media(prefers-reduced-motion:reduce){
  .v46-motion-layer i,
  .media-effect-zoom .premium-cover.has-photo::before,
  .media-effect-pan-left .premium-cover.has-photo::before,
  .media-effect-pan-right .premium-cover.has-photo::before,
  .media-effect-cinematic .premium-cover.has-photo::before{animation:none!important}
  .media-effect-parallax .premium-cover.has-photo{background-position:center!important}
}


/* =========================================================
   V47 SIGNATURE EXPERIENCES
   Six layouts with genuinely different composition.
   Scoped exclusively to .layout-* classes.
   ========================================================= */
.v47-chapter-label{display:none}
.v47-layout-decor{pointer-events:none}
.v47-envelope-intro{display:none}

/* 1. CINEMA PREMIERE — fullscreen film chapters */
.layout-cinema{--bg:#0b0b0b;--surface:#111;--accent:#d8bd8c;--accent2:#a98c59;--dark:#080808;color:#f1ece3;background:#0b0b0b}
.layout-cinema .invite-nav{background:linear-gradient(#080808d9,transparent);color:#fff;border:0}
.layout-cinema .premium-cover{height:100svh;min-height:720px;border-radius:0;background:#111;color:#fff}
.layout-cinema .premium-cover-inner{max-width:1160px;width:100%;text-align:left;align-items:flex-start;padding-left:8vw}
.layout-cinema .cover-kicker{letter-spacing:.42em;color:#d8bd8c}
.layout-cinema .premium-cover h1{font-size:clamp(68px,10vw,160px);line-height:.78;text-transform:uppercase;letter-spacing:-.07em;max-width:980px}
.layout-cinema .premium-cover h1 i{display:block;font-size:.28em;margin:.25em 0;font-family:"DM Sans",sans-serif;letter-spacing:.25em}
.layout-cinema .premium-cover p{max-width:510px;margin-left:2px;text-align:left}
.layout-cinema .cover-date{position:absolute;right:7vw;top:50%;transform:rotate(90deg) translateY(-50%);transform-origin:right top;font:700 12px "DM Sans";letter-spacing:.3em}
.layout-cinema .v47-cinema-bars i{position:fixed;left:0;right:0;height:3.5vh;background:#000;z-index:85;pointer-events:none}.layout-cinema .v47-cinema-bars i:first-child{top:0}.layout-cinema .v47-cinema-bars i:last-child{bottom:0}
.layout-cinema .v47-chapter-label{display:block;position:absolute;left:4vw;top:34px;font:800 9px "DM Sans";letter-spacing:.25em;color:#a58f70;z-index:4}
.layout-cinema .story-block,.layout-cinema .date-count,.layout-cinema .program-block,.layout-cinema .premium-rsvp,.layout-cinema .premium-gallery{position:relative;background:#0d0d0d;color:#eee;border-top:1px solid #ffffff12}
.layout-cinema .story-block{min-height:85vh;display:grid;place-items:center}.layout-cinema .story-shell{max-width:1100px;text-align:left}.layout-cinema .story-shell h2{font-size:clamp(46px,7vw,104px);line-height:.96;max-width:1000px}
.layout-cinema .date-count-shell{max-width:1180px}.layout-cinema .date-poster{background:#d1b27e;color:#0d0d0d;transform:rotate(-2deg)}
.layout-cinema .count-side h2,.layout-cinema .public-title h2,.layout-cinema .rsvp-heading h2{color:#f4eee5}
.layout-cinema .program-card{background:#151515;border-color:#ffffff14;color:#eee}.layout-cinema .program-card h3{color:#fff}
.layout-cinema .editorial-break{height:80vh;clip-path:polygon(0 8%,100% 0,100% 92%,0 100%)}
.layout-cinema .premium-rsvp .rsvp-panel{background:#f2ede4;color:#181512}
.layout-cinema .public-final{background:#050505;color:#fff}

/* 2. EDITORIAL MAISON — asymmetric magazine */
.layout-editorial{--bg:#eeeae3;--surface:#f8f5ef;--accent:#111;--accent2:#8b6b4e;--dark:#111;background:#eeeae3}
.layout-editorial .invite-nav{background:#eeeae3e8;border-bottom:1px solid #171717;color:#111}
.layout-editorial .premium-cover{min-height:92vh;background-color:#d9d3c9;border-radius:0 0 0 120px}
.layout-editorial .premium-cover.has-photo{background-size:58% 100%;background-position:right center;background-repeat:no-repeat}
.layout-editorial .premium-cover .cover-shade{background:linear-gradient(90deg,#eeeae3 0 46%,#eeeae3aa 55%,transparent 72%)}
.layout-editorial .premium-cover-inner{width:48%;margin:0 auto 0 6vw;align-items:flex-start;text-align:left;color:#111}
.layout-editorial .premium-cover h1{font-size:clamp(72px,10vw,150px);line-height:.74;letter-spacing:-.075em;color:#111}
.layout-editorial .premium-cover h1 span{display:block}.layout-editorial .premium-cover h1 i{font-size:.3em;margin:.3em 0}
.layout-editorial .premium-cover p{text-align:left;max-width:460px;color:#38332e}
.layout-editorial .cover-date{font:800 11px "DM Sans";letter-spacing:.28em;border-bottom:1px solid #111;padding-bottom:10px}
.layout-editorial .v47-layout-decor>b{position:absolute;right:2vw;bottom:-.12em;font:900 clamp(130px,22vw,360px) "DM Sans";letter-spacing:-.09em;color:#ffffff24;z-index:1}
.layout-editorial .v47-layout-decor>span{position:absolute;right:4vw;top:12%;font:800 11px "DM Sans";letter-spacing:.2em;color:#fff}
.layout-editorial .story-block{background:#171717;color:#f5f0e8;padding:13vh 7vw}.layout-editorial .story-shell{margin:0;max-width:1050px;text-align:left}.layout-editorial .story-shell h2{font-size:clamp(44px,6vw,92px);line-height:.98}
.layout-editorial .date-count{background:#eeeae3}.layout-editorial .date-count-shell{grid-template-columns:.75fr 1.25fr;max-width:1240px}.layout-editorial .date-poster{border-radius:0;background:#d9cfc0;color:#111}
.layout-editorial .program-block{background:#f8f5ef}.layout-editorial .program-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#111}.layout-editorial .program-card{border-radius:0;border:0;background:#f8f5ef;min-height:260px}
.layout-editorial .editorial-break{margin:0 6vw;height:72vh;border-radius:0 120px 0 0}
.layout-editorial .premium-rsvp{background:#d8cec0}.layout-editorial .rsvp-shell{grid-template-columns:.8fr 1.2fr}
.layout-editorial .public-final{background:#111;color:#f7f2ea}

/* 3. THE SEALED LETTER — interactive envelope + paper invitation */
.layout-envelope{--bg:#e9e0d2;--surface:#fffaf0;--accent:#8d2331;--accent2:#a9855c;--dark:#3b2d28;background:#e9e0d2}
.layout-envelope .v47-envelope-intro{display:grid;position:fixed;inset:0;z-index:10000;place-items:center;background:radial-gradient(circle at 50% 35%,#f7efe3,#cbbba4);transition:opacity .8s,visibility .8s}
.layout-envelope.v47-envelope-open .v47-envelope-intro{opacity:0;visibility:hidden;pointer-events:none}
.v47-envelope-stage{perspective:1200px;width:min(620px,92vw);height:430px;display:grid;place-items:center}
.v47-envelope{position:relative;width:min(520px,84vw);height:310px;filter:drop-shadow(0 28px 35px #5a463a40)}
.v47-envelope-back,.v47-envelope-front,.v47-envelope-flap{position:absolute;inset:0;border-radius:4px;background:#d7c2a6}
.v47-envelope-front{clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,#e5d1b7,#c8ae8c);z-index:4}
.v47-envelope-flap{clip-path:polygon(0 0,100% 0,50% 58%);background:#ead8c0;z-index:5;transform-origin:top;transition:transform 1s}
.v47-letter{position:absolute;left:7%;right:7%;top:8%;height:88%;z-index:2;background:#fffaf0;padding:38px;text-align:center;display:flex;flex-direction:column;gap:16px;justify-content:center;transition:transform 1.1s .35s;box-shadow:0 0 0 1px #b69a7522}
.v47-letter small{font:800 9px "DM Sans";letter-spacing:.24em;color:#9b7e59}.v47-letter strong{font:600 35px "Playfair Display";color:#3c2d28}.v47-letter span{font:700 10px "DM Sans";letter-spacing:.2em}
.v47-envelope button{position:absolute;z-index:7;left:50%;top:43%;transform:translate(-50%,-50%);border:0;background:none;display:grid;place-items:center;gap:50px;color:#56372f;font:800 10px "DM Sans";letter-spacing:.12em}
.v47-envelope button i{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#8d2331;color:#e8cba2;font:600 27px "Playfair Display";box-shadow:0 4px 0 #671923}
.layout-envelope.v47-envelope-opening .v47-envelope-flap{transform:rotateX(180deg);z-index:1}.layout-envelope.v47-envelope-opening .v47-letter{transform:translateY(-120px)}.layout-envelope.v47-envelope-opening .v47-envelope button{opacity:0}
.layout-envelope .invite-nav{background:#fffaf0dd}.layout-envelope .premium-cover{min-height:88vh;margin:26px;border-radius:280px 280px 28px 28px;background-color:#d9c7af}
.layout-envelope .premium-cover-inner{max-width:720px}.layout-envelope .premium-cover h1{font-size:clamp(62px,9vw,126px);font-style:italic}
.layout-envelope .story-block{margin:0 auto;background:#fffaf0;width:min(920px,calc(100% - 40px));box-shadow:0 25px 70px #6b544d17;transform:rotate(-.4deg)}
.layout-envelope .story-shell{padding:90px 8vw}.layout-envelope .story-shell:before{content:"Dear friends,";display:block;text-align:left;font:italic 25px "Playfair Display";margin-bottom:36px;color:#8d2331}
.layout-envelope .date-count,.layout-envelope .program-block{background:#e9e0d2}.layout-envelope .program-card{background:#fffaf0;border:1px solid #c9b89e;border-radius:3px}
.layout-envelope .editorial-break{height:60vh;margin:30px;border-radius:8px}.layout-envelope .premium-rsvp{background:#fffaf0}.layout-envelope .public-final{background:#5a332d;color:#fff}

/* 4. ONCE UPON A DAY — storybook */
.layout-storybook{--bg:#eaf0e8;--surface:#fffdf4;--accent:#779c8c;--accent2:#d5a36f;--dark:#31463e;background:#eaf0e8}
.layout-storybook .invite-nav{background:#fffdf4;border-bottom:2px dashed #a8b8aa}
.layout-storybook .premium-cover{min-height:92vh;margin:18px;border-radius:36px;background-color:#dce9e1;box-shadow:0 16px 0 #fffdf4,0 18px 0 #9eb1a5}
.layout-storybook .premium-cover:after{content:"";position:absolute;inset:18px;border:1px dashed #ffffffaa;border-radius:26px;z-index:2;pointer-events:none}
.layout-storybook .premium-cover h1{font-size:clamp(60px,9vw,125px);line-height:.88}.layout-storybook .premium-cover-inner{max-width:850px}
.layout-storybook .v47-star,.layout-storybook .v47-moon{position:absolute;z-index:3;color:#fff8;font-style:normal;animation:v47StoryFloat 5s ease-in-out infinite}.layout-storybook .s1{left:10%;top:22%;font-size:60px}.layout-storybook .s2{right:13%;top:30%;font-size:42px;animation-delay:-2s}.layout-storybook .v47-moon{right:8%;bottom:12%;font-size:100px}
@keyframes v47StoryFloat{50%{transform:translateY(-14px) rotate(6deg)}}
.layout-storybook .story-block,.layout-storybook .date-count,.layout-storybook .program-block,.layout-storybook .premium-rsvp,.layout-storybook .premium-gallery{margin:28px;border-radius:32px;background:#fffdf4;box-shadow:0 5px 0 #b6c6b8}
.layout-storybook .story-block:before{content:"Chapter One";display:block;text-align:center;padding-top:42px;font:800 10px "DM Sans";letter-spacing:.25em;color:#789888}.layout-storybook .story-mark{color:#d5a36f}
.layout-storybook .date-poster{background:#779c8c;color:#fff;border-radius:50% 50% 46% 54%/45% 55% 45% 55%;transform:rotate(-3deg)}
.layout-storybook .program-cards{display:grid;grid-template-columns:repeat(2,1fr)}.layout-storybook .program-card{border:2px dashed #c9d4ca;border-radius:24px;background:#fbf8eb}
.layout-storybook .editorial-break{margin:28px;border-radius:32px;height:58vh}.layout-storybook .public-final{margin:28px;border-radius:32px 32px 0 0;background:#779c8c;color:#fff}

/* 5. NEON STAGE — concert / majorat */
.layout-stage{--bg:#080812;--surface:#10101c;--accent:#fb4fe8;--accent2:#51e9ff;--dark:#05050a;background:#080812;color:#fff}
.layout-stage .invite-nav{background:#080812c9;color:#fff;border-bottom:1px solid #ffffff1c}
.layout-stage .premium-cover{height:100svh;min-height:700px;background:#090914;color:#fff;clip-path:polygon(0 0,100% 0,100% 94%,50% 100%,0 94%)}
.layout-stage .premium-cover:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 9.8%,#fff1 10%);z-index:1;pointer-events:none}
.layout-stage .premium-cover h1{font:900 clamp(68px,13vw,190px)/.7 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:-.08em;text-shadow:5px 5px 0 #fb4fe855,-5px -5px 0 #51e9ff44}
.layout-stage .premium-cover h1 i{display:block;font-size:.22em;letter-spacing:.1em;margin:.35em}
.layout-stage .premium-cover-inner{max-width:1200px}.layout-stage .cover-kicker{color:#51e9ff}.layout-stage .cover-date{font:900 13px "DM Sans";letter-spacing:.35em}
.layout-stage .v47-stage-word{position:absolute;left:-.04em;bottom:-.05em;z-index:1;font:900 clamp(120px,23vw,380px)/.62 "DM Sans";letter-spacing:-.1em;color:#ffffff08;text-align:left}
.layout-stage .v47-stage-lights i{position:fixed;top:-20vh;width:2px;height:120vh;z-index:80;pointer-events:none;background:linear-gradient(#fff0,#fb4fe866,#fff0);filter:blur(8px);transform-origin:top}.layout-stage .v47-stage-lights i:nth-child(1){left:20%;transform:rotate(18deg)}.layout-stage .v47-stage-lights i:nth-child(2){left:50%;transform:rotate(-8deg)}.layout-stage .v47-stage-lights i:nth-child(3){right:18%;transform:rotate(-20deg)}
.layout-stage .story-block,.layout-stage .date-count,.layout-stage .program-block,.layout-stage .premium-rsvp,.layout-stage .premium-gallery{background:#080812;color:#fff;border-top:1px solid #51e9ff33}
.layout-stage .story-shell h2,.layout-stage .count-side h2,.layout-stage .public-title h2,.layout-stage .rsvp-heading h2{color:#fff}.layout-stage .story-mark{color:#fb4fe8}
.layout-stage .date-count-shell{max-width:1200px}.layout-stage .date-poster{background:#fb4fe8;color:#080812;clip-path:polygon(8% 0,100% 6%,94% 100%,0 92%);border-radius:0}
.layout-stage .countdown>div{border:1px solid #51e9ff55;background:#10101c}.layout-stage .countdown b{color:#51e9ff}
.layout-stage .program-card{background:#10101c;border:1px solid #fb4fe844;color:#fff;transform:skewY(-1deg)}.layout-stage .program-card h3{color:#fff}
.layout-stage .editorial-break{clip-path:polygon(0 10%,100% 0,100% 90%,0 100%);height:68vh}
.layout-stage .rsvp-panel{background:#10101c;color:#fff;border:1px solid #51e9ff44}.layout-stage .rsvp-panel input,.layout-stage .rsvp-panel select,.layout-stage .rsvp-panel textarea{background:#080812;color:#fff;border-color:#ffffff2a}
.layout-stage .public-final{background:linear-gradient(135deg,#fb4fe8,#6237f5 50%,#20bed0);color:#fff}

/* 6. POLAROID DIARY — tactile collage */
.layout-polaroid{--bg:#e8dfcf;--surface:#f8f1e5;--accent:#b65d49;--accent2:#637a62;--dark:#3c332c;background:#e8dfcf;background-image:radial-gradient(#5f4d3b18 1px,transparent 1px);background-size:18px 18px}
.layout-polaroid .invite-nav{background:#f8f1e5dd}
.layout-polaroid .premium-cover{margin:30px auto;width:min(1180px,calc(100% - 60px));min-height:86vh;border:18px solid #f9f4e9;border-bottom-width:90px;transform:rotate(-1.2deg);box-shadow:0 20px 45px #5a493f35;border-radius:2px}
.layout-polaroid .premium-cover-inner{transform:rotate(1.2deg)}.layout-polaroid .premium-cover h1{font-size:clamp(62px,9vw,130px)}
.layout-polaroid .v47-tape{position:absolute;width:150px;height:42px;left:50%;top:-48px;transform:translateX(-50%) rotate(2deg);background:#d7bd8999;z-index:5}.layout-polaroid .v47-note{position:absolute;right:3%;bottom:-75px;z-index:6;color:#4f443c;font:italic 32px "Playfair Display";transform:rotate(-4deg)}
.layout-polaroid .story-block{background:transparent}.layout-polaroid .story-shell{background:#f9f4e9;max-width:820px;padding:80px;transform:rotate(.8deg);box-shadow:0 12px 35px #5d4a3b22}
.layout-polaroid .date-count-shell{gap:80px}.layout-polaroid .date-poster{background:#f9f4e9;color:#443a32;border:12px solid #fff;border-bottom-width:50px;border-radius:1px;transform:rotate(4deg);box-shadow:0 12px 30px #5d4a3b28}
.layout-polaroid .program-block{background:transparent}.layout-polaroid .program-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.layout-polaroid .program-card{background:#fffaf0;border:0;border-radius:1px;box-shadow:0 10px 24px #5a493f20}.layout-polaroid .program-card:nth-child(odd){transform:rotate(-1deg)}.layout-polaroid .program-card:nth-child(even){transform:rotate(1.2deg)}
.layout-polaroid .editorial-break{width:min(1050px,88vw);margin:40px auto;border:16px solid #fff;border-bottom-width:70px;transform:rotate(-1deg);height:66vh}
.layout-polaroid .premium-rsvp{background:#637a62;color:#fff}.layout-polaroid .rsvp-heading h2{color:#fff}.layout-polaroid .premium-gallery{background:#e8dfcf}.layout-polaroid .gallery-photo:nth-child(3n+1){transform:rotate(-2deg)}.layout-polaroid .gallery-photo:nth-child(3n+2){transform:rotate(1.5deg)}
.layout-polaroid .public-final{background:#b65d49;color:#fff}

/* Shared V47 mobile corrections, only for new layouts */
@media(max-width:700px){
 .layout-cinema .premium-cover,.layout-stage .premium-cover{min-height:100svh}
 .layout-cinema .premium-cover-inner{padding:0 20px;align-items:flex-start}.layout-cinema .premium-cover h1{font-size:clamp(54px,18vw,90px)}.layout-cinema .cover-date{right:18px}
 .layout-editorial .premium-cover{min-height:90svh;border-radius:0 0 0 55px;background-size:100% 58%;background-position:center top}.layout-editorial .premium-cover .cover-shade{background:linear-gradient(0deg,#eeeae3 0 48%,#eeeae3dd 60%,transparent 82%)}.layout-editorial .premium-cover-inner{width:auto;margin:auto 18px 7vh;align-self:end}.layout-editorial .premium-cover h1{font-size:clamp(58px,18vw,92px)}
 .layout-editorial .program-cards,.layout-storybook .program-cards,.layout-polaroid .program-cards{grid-template-columns:1fr}
 .layout-envelope .premium-cover{margin:10px;border-radius:150px 150px 22px 22px}.v47-envelope-stage{height:390px}.v47-envelope{height:260px}.v47-letter{padding:24px}.v47-letter strong{font-size:28px}
 .layout-storybook .premium-cover,.layout-storybook .story-block,.layout-storybook .date-count,.layout-storybook .program-block,.layout-storybook .premium-rsvp,.layout-storybook .premium-gallery,.layout-storybook .public-final{margin:10px}
 .layout-stage .premium-cover h1{font-size:clamp(60px,20vw,100px)}.layout-stage .v47-stage-word{font-size:46vw}
 .layout-polaroid .premium-cover{width:calc(100% - 30px);margin:20px auto;border-width:10px;border-bottom-width:62px;min-height:82svh}.layout-polaroid .story-shell{padding:55px 24px}.layout-polaroid .date-count-shell{gap:35px}
 .v47-chapter-label{left:18px!important;top:20px!important}
}
@media(prefers-reduced-motion:reduce){
 .v47-star,.v47-stage-lights i{animation:none!important}
}

.layout-cinema .premium-cover-inner,.layout-editorial .premium-cover-inner,.layout-polaroid .premium-cover-inner{translate:0 var(--v47-depth,0)}
