
#app .invitation:not(.atlas).e2{--e2-paper:#f5ecd9;--e2-ink:#493724;--e2-accent:#a88442;--e2-line:#c4a66b55;background:var(--e2-paper)!important;color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2-akad{--e2-paper:#143c32;--e2-ink:#f5e9cd;--e2-accent:#d8b87a;--e2-line:#d8b87a55}
#app .invitation:not(.atlas).e2-garden{--e2-paper:#fbefeb;--e2-ink:#633e49;--e2-accent:#b7757e;--e2-line:#ba8b8055}
#app .invitation:not(.atlas).e2-jawa{--e2-paper:#382a1e;--e2-ink:#f5e5c4;--e2-accent:#c9a365;--e2-line:#c9a36566}
#app .invitation:not(.atlas).e2-noir{--e2-paper:#1d2221;--e2-ink:#f7f1e5;--e2-accent:#d0b887;--e2-line:#d0b88755}
#app .invitation:not(.atlas).e2 .photo-hero{padding:0!important;min-height:0!important;height:auto!important;max-height:none!important;background:none!important;overflow:hidden!important}
#app .invitation:not(.atlas).e2 .e2-hero{position:relative;isolation:isolate;padding:42px 28px 32px;min-height:0;background:var(--e2-paper);color:var(--e2-ink);text-align:center;overflow:hidden}
#app .invitation:not(.atlas).e2 .e2-heading{position:relative;z-index:2;padding:0;max-width:100%;margin:0 auto 26px;transform:none}
#app .invitation:not(.atlas).e2 .e2-kicker{display:block;font:600 9px/1.8 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--e2-accent)}
#app .invitation:not(.atlas).e2 .e2-names{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 12px;font:42px/1.15 Georgia,serif!important;letter-spacing:-1px!important;color:var(--e2-ink)!important;margin:16px 0!important;max-width:100%;overflow-wrap:anywhere}
#app .invitation:not(.atlas).e2 .e2-names em{font-size:28px;line-height:1.3;color:var(--e2-accent)}
#app .invitation:not(.atlas).e2 .e2-date{font:11px/1.8 var(--sans);margin:12px 0 0;color:var(--e2-ink)}
#app .invitation:not(.atlas).e2 .e2-frames{position:relative;display:grid;gap:10px;z-index:1;margin:0 auto;width:100%;max-width:430px}
#app .invitation:not(.atlas).e2 .e2-frame{position:relative;margin:0;overflow:hidden;border:1px solid var(--e2-line);padding:5px;min-width:0;background:var(--e2-paper)}
#app .invitation:not(.atlas).e2 .e2-frame .e2-photo{display:block;position:static;width:100%;height:100%;object-fit:cover;max-width:100%;border-radius:inherit;filter:none;transform:none}
#app .invitation:not(.atlas).e2 .e2-caption{font:italic 16px/1.7 Georgia,serif;margin:22px 0 0;position:relative;z-index:2;color:var(--e2-ink)}
#app .invitation:not(.atlas).e2 .e2-motion{position:absolute;width:200px;height:200px;object-fit:contain!important;right:-35px;top:-25px;opacity:.7;pointer-events:none;z-index:0;max-width:none}
#app .invitation:not(.atlas).e2 #cover>.e2-motion{z-index:3;right:-40px;top:55px;opacity:.55}
#app .invitation:not(.atlas).e2 .desktop-panel>.e2-motion{width:350px;height:350px;left:0;top:auto;bottom:0;opacity:.55;z-index:3}
#app .invitation:not(.atlas).e2 .invite-section{background:var(--e2-paper)!important;color:var(--e2-ink)!important;padding:48px 28px!important;min-height:0!important;text-align:center!important;border:0!important;border-top:1px solid var(--e2-line)!important;overflow:hidden;position:relative}
#app .invitation:not(.atlas).e2 .invite-section:before,#app .invitation:not(.atlas).e2 .invite-section:after{display:none!important}
#app .invitation:not(.atlas).e2 .invite-section h2{font:34px/1.25 Georgia,serif!important;letter-spacing:-.6px!important;margin:14px auto 24px!important;max-width:390px!important;transform:none!important;color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2 .invite-section>.eyebrow{font-size:9px!important;letter-spacing:2px!important;color:var(--e2-accent)!important}
#app .invitation:not(.atlas).e2 .intro>p{max-width:360px;line-height:1.95!important}
#app .invitation:not(.atlas).e2 .e2-intro-photo{margin:28px auto;max-width:270px;padding:8px;border:1px solid var(--e2-line);border-radius:140px 140px 6px 6px;overflow:hidden;background:var(--e2-paper)}
#app .invitation:not(.atlas).e2 .e2-intro-photo img{display:block;width:100%;height:240px;object-fit:cover;border-radius:inherit;object-position:50% 35%}
#app .invitation:not(.atlas).e2 .couple{display:grid!important;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)!important;gap:10px!important;margin:26px 0 0!important;align-items:start!important;text-align:center!important}
#app .invitation:not(.atlas).e2 .couple>div{width:auto!important;margin:0!important;padding:0!important;background:none!important;min-height:0!important;text-align:center!important;position:relative!important;border:0!important}
#app .invitation:not(.atlas).e2 .couple h3{font:24px/1.25 Georgia,serif!important;color:var(--e2-ink)!important;margin:8px 0!important;overflow-wrap:anywhere!important}
#app .invitation:not(.atlas).e2 .couple p{font-size:11px!important;line-height:1.8!important;margin:12px 0 0!important;color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2 .couple>span{font:26px Georgia!important;color:var(--e2-accent)!important;margin:8px 0}
#app .invitation:not(.atlas).e2 .opening-verse{position:relative;background:var(--e2-paper)!important;color:var(--e2-ink)!important;padding:44px 32px!important;border-top:1px solid var(--e2-line);border-bottom:1px solid var(--e2-line);overflow:hidden}
#app .invitation:not(.atlas).e2 .opening-verse>*:not(.e2-motion){position:relative;z-index:1}
#app .invitation:not(.atlas).e2 .verse-meaning{font:italic 17px/1.85 Georgia,serif!important;color:var(--e2-ink)!important;margin:24px auto!important;max-width:360px}
#app .invitation:not(.atlas).e2 .verse-reference{font:11px var(--sans);color:var(--e2-accent);letter-spacing:1px}
#app .invitation:not(.atlas).e2 .e2-vow{position:relative;margin:0;padding:44px 32px;overflow:hidden;text-align:center;background:var(--e2-ink);color:var(--e2-paper);isolation:isolate}
#app .invitation:not(.atlas).e2 .e2-vow h2{font:italic 30px/1.4 Georgia,serif!important;max-width:330px;margin:16px auto!important;position:relative;z-index:1;color:inherit!important}
#app .invitation:not(.atlas).e2 .e2-vow p{font:12px/1.9 var(--sans);max-width:300px;margin:14px auto 0;position:relative;z-index:1;color:inherit}
#app .invitation:not(.atlas).e2 .e2-vow .e2-motion{top:auto;bottom:-40px;right:-30px;opacity:.35}
#app .invitation:not(.atlas).e2 .countdown{gap:8px!important;margin:24px 0 30px!important;padding:16px 0!important;background:none!important;box-shadow:none!important;border-bottom:1px solid var(--e2-line)}
#app .invitation:not(.atlas).e2 .countdown>div{width:25%;min-width:0;color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2 .countdown strong{font:32px/1.3 Georgia!important;color:var(--e2-ink)!important}#app .invitation:not(.atlas).e2 .countdown span{font-size:9px!important;color:var(--e2-accent)!important}
#app .invitation:not(.atlas).e2 .events{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;max-width:390px;margin:auto}
#app .invitation:not(.atlas).e2 .events>article{padding:26px!important;margin:0!important;min-height:0!important;transform:none!important;border:1px solid var(--e2-line)!important;background:var(--e2-paper)!important;color:var(--e2-ink)!important;border-radius:22px!important;box-shadow:none!important;text-align:center!important}
#app .invitation:not(.atlas).e2 .events p{margin:12px 0!important;line-height:1.9!important;font-size:12px!important;color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2 .events h3{font:27px Georgia!important;margin:14px 0!important;color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2 .events .button{background:var(--e2-ink)!important;color:var(--e2-paper)!important;border:1px solid var(--e2-line)!important;min-height:44px}
#app .invitation:not(.atlas).e2 .luxury-event-number{display:none!important}
#app .invitation:not(.atlas).e2 .story{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin-top:20px!important;text-align:left;max-width:100%}
#app .invitation:not(.atlas).e2 .story>article{margin:0!important;padding:24px!important;border:1px solid var(--e2-line)!important;border-radius:16px;background:var(--e2-paper)!important;color:var(--e2-ink)!important;box-shadow:none!important;transform:none!important;min-width:0}
#app .invitation:not(.atlas).e2 .story article h3{font:24px/1.3 Georgia!important;margin:12px 0!important;color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2 .story article>span{display:block;font:10px var(--sans)!important;letter-spacing:2px;color:var(--e2-accent)!important;margin:10px 0}
#app .invitation:not(.atlas).e2 .e2-story-number{display:inline-block;font:10px var(--sans)!important;padding:5px 8px;background:var(--e2-ink);color:var(--e2-paper)!important;border-radius:6px;margin:4px 0}
#app .invitation:not(.atlas).e2 .e2-story-photo{display:block;width:100%;height:135px;object-fit:cover;border-radius:8px;margin:0 0 16px}
#app .invitation:not(.atlas).e2 .e2-story-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;font-size:10px;color:var(--e2-ink)}
#app .invitation:not(.atlas).e2 .e2-story-controls button{width:42px;height:42px;border:1px solid var(--e2-line);border-radius:50%;background:var(--e2-paper);color:var(--e2-ink);font-size:20px;cursor:pointer}.e2-story-controls button:disabled{opacity:.3;cursor:default}
#app .invitation:not(.atlas).e2 .gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0!important;align-items:start}
#app .invitation:not(.atlas).e2 .gallery-button{margin:0!important;width:100%!important;transform:none!important;align-self:auto!important;grid-column:auto!important;border:1px solid var(--e2-line)!important;padding:5px!important;background:var(--e2-paper)!important;border-radius:5px!important;overflow:hidden}
#app .invitation:not(.atlas).e2 .gallery-button img{display:block;aspect-ratio:3/4!important;width:100%!important;height:auto!important;max-height:260px!important;object-fit:cover!important;border-radius:0!important}
#app .invitation:not(.atlas).e2 .luxury-gallery-caption{display:block;font:8px/1.6 var(--sans)!important;padding:8px 2px 3px!important;color:var(--e2-ink)!important;background:none!important}
#app .invitation:not(.atlas).e2 .gallery-section>small{color:var(--e2-accent)!important}
#app .invitation:not(.atlas).e2 .rsvp-form{border:1px solid var(--e2-line)!important;border-radius:18px!important;padding:22px!important;color:#294438!important;background:#fffaf0!important;box-shadow:none!important}
#app .invitation:not(.atlas).e2 .bank-card{border:1px solid var(--e2-line)!important;border-radius:18px!important;padding:24px!important;margin:18px auto!important;max-width:100%;color:#294438!important;background:#fffaf0!important}
#app .invitation:not(.atlas).e2 .messages{color:var(--e2-ink)!important}
#app .invitation:not(.atlas).e2 .e2-closing{padding:55px 28px 120px!important;min-height:0!important;background:var(--e2-paper)!important;color:var(--e2-ink)!important;isolation:isolate}
#app .invitation:not(.atlas).e2 .e2-closing :is(h2,p,a,button,.eyebrow){color:var(--e2-ink)!important;position:relative;z-index:1}
#app .invitation:not(.atlas).e2 .e2-closing:after,#app .invitation:not(.atlas).e2 .e2-closing:before{display:none!important}
#app .invitation:not(.atlas).e2 .e2-closing>.botanical{display:none}
#app .invitation:not(.atlas).e2 .e2-closing .powered{margin-top:22px!important}
/* Five independent photo and content arrangements. */
#app .invitation:not(.atlas).e2-elegant .e2-frames{grid-template-columns:1.25fr .85fr;align-items:center;gap:16px}
#app .invitation:not(.atlas).e2-elegant .e2-frame-0{height:280px;border-radius:150px 150px 4px 4px;grid-row:1/3}
#app .invitation:not(.atlas).e2-elegant .e2-frame-1,#app .invitation:not(.atlas).e2-elegant .e2-frame-2{height:126px}
#app .invitation:not(.atlas).e2-elegant .e2-heading{padding:16px 12px;border-top:1px solid var(--e2-line);border-bottom:1px solid var(--e2-line)}
#app .invitation:not(.atlas).e2-elegant .story,#app .invitation:not(.atlas).e2-noir .story{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px!important;padding:4px 0 12px!important;scrollbar-width:thin;overscroll-behavior-x:contain}
#app .invitation:not(.atlas):is(.e2-elegant,.e2-noir) .story>article{flex:0 0 85%;scroll-snap-align:start}
#app .invitation:not(.atlas).e2-elegant .gallery-button:first-child{grid-column:1/-1!important}#app .invitation:not(.atlas).e2-elegant .gallery-button:first-child img{aspect-ratio:16/9!important}
#app .invitation:not(.atlas).e2-akad .e2-hero{background:radial-gradient(ellipse at top,#42664f,var(--e2-paper) 65%);padding:36px 34px}
#app .invitation:not(.atlas).e2-akad .e2-names{flex-direction:column;font-size:38px!important;gap:4px}
#app .invitation:not(.atlas).e2-akad .e2-frames{display:flex;justify-content:center;gap:12px;align-items:flex-end}
#app .invitation:not(.atlas).e2-akad .e2-frame-0{width:58%;height:255px;border-radius:110px 110px 0 0;outline:1px solid var(--e2-accent);outline-offset:5px}
#app .invitation:not(.atlas).e2-akad .e2-frame-1{width:36%;height:180px;border-radius:70px 70px 0 0;margin-bottom:12px}
#app .invitation:not(.atlas).e2-akad .e2-frame-2{display:none}
#app .invitation:not(.atlas).e2-akad .e2-intro-photo{max-width:230px;border-radius:90px 90px 0 0}
#app .invitation:not(.atlas).e2-akad .events>article{border-radius:100px 100px 8px 8px!important;padding:38px 24px 28px!important;background:#f8efdc!important;color:#254236!important}
#app .invitation:not(.atlas).e2-akad .events>article :is(h3,p){color:#254236!important}#app .invitation:not(.atlas).e2-akad .events .button{background:#254236!important;color:#f8efdc!important}
#app .invitation:not(.atlas).e2-garden .e2-hero{background:linear-gradient(#fbefeb,#eddbd2);padding:40px 26px}
#app .invitation:not(.atlas).e2-garden .e2-names{font-style:italic!important;flex-direction:column;gap:2px;font-size:40px!important}
#app .invitation:not(.atlas).e2-garden .e2-frames{grid-template-columns:1fr 1fr;gap:12px;padding:6px}
#app .invitation:not(.atlas).e2-garden .e2-frame-0{grid-column:1/-1;height:220px;border-radius:130px 130px 5px 5px}
#app .invitation:not(.atlas).e2-garden .e2-frame-1,#app .invitation:not(.atlas).e2-garden .e2-frame-2{height:120px;padding:6px 6px 18px;background:#fff9f3}
#app .invitation:not(.atlas).e2-garden .e2-frame-1{transform:rotate(-4deg)}#app .invitation:not(.atlas).e2-garden .e2-frame-2{transform:rotate(4deg)}
#app .invitation:not(.atlas).e2-garden .e2-intro-photo{max-width:240px;border-radius:50% 50% 5px 5px}
#app .invitation:not(.atlas).e2-garden .story>article{border:0!important;border-left:2px solid var(--e2-line)!important;border-radius:0!important;background:none!important;margin-left:12px!important;padding:8px 0 20px 24px!important}
#app .invitation:not(.atlas).e2-garden .gallery-button:nth-child(even){margin-top:26px!important}#app .invitation:not(.atlas).e2-garden .gallery-button img{border-radius:70px 70px 0 0!important}
#app .invitation:not(.atlas).e2-jawa .e2-hero{padding:40px 28px;background:linear-gradient(145deg,#47351f,#281e16)}
#app .invitation:not(.atlas).e2-jawa .e2-heading{text-align:left;margin:0 0 25px;border-left:2px solid var(--e2-accent);padding-left:20px}
#app .invitation:not(.atlas).e2-jawa .e2-names{justify-content:flex-start;font-size:36px!important}
#app .invitation:not(.atlas).e2-jawa .e2-frames{grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--e2-line);padding:10px;width:calc(100% - 22px)}
#app .invitation:not(.atlas).e2-jawa .e2-frame-0{grid-column:1/-1;height:240px;padding:0;border:0}
#app .invitation:not(.atlas).e2-jawa .e2-frame-1,#app .invitation:not(.atlas).e2-jawa .e2-frame-2{height:105px;padding:0;border:0}
#app .invitation:not(.atlas).e2-jawa .e2-intro-photo{border-radius:8px;max-width:280px;box-shadow:6px 6px 0 var(--e2-line)}
#app .invitation:not(.atlas).e2-jawa .events>article{text-align:left!important;border-radius:4px!important;border-left:4px solid var(--e2-accent)!important}
#app .invitation:not(.atlas).e2-jawa .story>article{border-radius:4px!important;border-left:3px solid var(--e2-accent)!important}
#app .invitation:not(.atlas).e2-noir .e2-hero{background:#1d2221;padding:32px 24px}
#app .invitation:not(.atlas).e2-noir .e2-heading{text-align:left;border-bottom:1px solid var(--e2-line);padding-bottom:16px}
#app .invitation:not(.atlas).e2-noir .e2-names{font:750 36px/1.12 var(--sans)!important;text-transform:uppercase;justify-content:flex-start;letter-spacing:-1.4px!important;gap:4px 10px}
#app .invitation:not(.atlas).e2-noir .e2-frames{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;padding:12px 0;border-top:5px dotted #c2ba9b;border-bottom:5px dotted #c2ba9b}
#app .invitation:not(.atlas).e2-noir .e2-frame{filter:grayscale(1);border:0;padding:0}
#app .invitation:not(.atlas).e2-noir .e2-frame-0{height:270px;grid-row:1/3}#app .invitation:not(.atlas).e2-noir .e2-frame-1,#app .invitation:not(.atlas).e2-noir .e2-frame-2{height:130px}
#app .invitation:not(.atlas).e2-noir .e2-intro-photo{border-radius:0;padding:8px;border-top:5px dotted var(--e2-accent);border-bottom:5px dotted var(--e2-accent);filter:grayscale(1)}
#app .invitation:not(.atlas).e2-noir .couple{grid-template-columns:1fr!important;text-align:left!important;gap:14px!important}#app .invitation:not(.atlas).e2-noir .couple>div{border-bottom:1px solid var(--e2-line)!important;padding-bottom:16px!important}#app .invitation:not(.atlas).e2-noir .couple>span{display:none}
#app .invitation:not(.atlas).e2-noir .gallery{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 0!important;border-top:4px dotted var(--e2-accent);border-bottom:4px dotted var(--e2-accent)}
#app .invitation:not(.atlas).e2-noir .gallery-button{flex:0 0 58%;scroll-snap-align:center;filter:grayscale(1)}
#app .invitation:not(.atlas).e2-noir .events>article{border-radius:0!important;border-left:3px solid var(--e2-accent)!important;text-align:left!important}
#app .invitation:not(.atlas).e2 .e2-reveal{opacity:0;transform:translateY(22px);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.7,.3,1)}
#app .invitation:not(.atlas).e2 .e2-reveal.e2-visible{opacity:1;transform:translateY(0)}
#app .invitation:not(.atlas).e2-akad .cover-opening .luxury-door-left{transform:translateY(-105%)!important}#app .invitation:not(.atlas).e2-akad .cover-opening .luxury-door-right{transform:translateY(105%)!important}
#app .invitation:not(.atlas).e2-garden .cover-opening .luxury-door{transform:scale(1.18)!important;opacity:0!important}
#app .invitation:not(.atlas).e2-jawa .cover-opening .luxury-door-left{transform:perspective(1000px) rotateY(-85deg)!important;transform-origin:left}#app .invitation:not(.atlas).e2-jawa .cover-opening .luxury-door-right{transform:perspective(1000px) rotateY(85deg)!important;transform-origin:right}
#app .invitation:not(.atlas).e2-noir .cover-opening .luxury-door-left{transform:translate(-110%,-25%)!important}#app .invitation:not(.atlas).e2-noir .cover-opening .luxury-door-right{transform:translate(110%,25%)!important}
@media(max-width:360px){#app .invitation:not(.atlas).e2 .e2-hero{padding-left:20px;padding-right:20px}#app .invitation:not(.atlas).e2 .e2-names{font-size:34px!important}#app .invitation:not(.atlas).e2 .invite-section{padding-left:22px!important;padding-right:22px!important}#app .invitation:not(.atlas).e2 .couple h3{font-size:21px!important}#app .invitation:not(.atlas).e2 .e2-frames{gap:8px}}
@media(prefers-reduced-motion:reduce){#app .invitation:not(.atlas).e2 .e2-motion{display:none!important}#app .invitation:not(.atlas).e2 .e2-reveal{opacity:1!important;transform:none!important;transition:none!important}}

#app .invitation:not(.atlas).e2 .e2-closing{height:auto!important;max-height:none!important;}

#app .invitation:not(.atlas).e2 .e2-frame-0 img{object-position:50% 20%!important;}
#app .invitation:not(.atlas).e2 .couple>div:first-child{grid-column:1;}#app .invitation:not(.atlas).e2 .couple>div:last-child{grid-column:3;}#app .invitation:not(.atlas).e2 .couple>span{display:block!important;grid-column:2;align-self:center;}#app .invitation:not(.atlas).e2-noir .couple>div{grid-column:1!important;}
#app .invitation:not(.atlas).e2 #countdown>div{background:var(--e2-ink)!important;color:var(--e2-paper)!important;}#app .invitation:not(.atlas).e2 #countdown strong,#app .invitation:not(.atlas).e2 #countdown span{color:var(--e2-paper)!important;}#app .invitation:not(.atlas).e2 .events article>span,#app .invitation:not(.atlas).e2 .events article>small,#app .invitation:not(.atlas).e2 .event-card>span{color:var(--e2-ink)!important;opacity:1!important;} 
