/* Final invitation safety layer: alignment, readable palettes and clear controls. */
#app .invitation:not(.atlas) .invite-cover{padding-left:36px!important;padding-right:36px!important;text-align:center!important;align-items:center!important}
#app .invitation:not(.atlas) .invite-cover h1{display:flex!important;flex-direction:column!important;align-items:center!important;align-self:center!important;justify-content:center!important;text-align:center!important;margin:18px 0!important;width:100%!important;max-width:100%!important;transform:none!important;translate:none!important;padding:0!important;border:0!important;font-size:clamp(38px,10vw,52px)!important;line-height:1.16!important;letter-spacing:-1px!important;overflow-wrap:normal!important;word-break:normal!important}
#app .invitation:not(.atlas) .invite-cover h1 em{display:block!important;font-size:28px!important;line-height:1.25!important;margin:5px 0!important;padding:0!important}
#app .invitation:not(.atlas) .invite-cover>.eyebrow{align-self:center!important;text-align:center!important;margin-left:0!important;margin-right:0!important;max-width:100%;letter-spacing:2px!important}
#app .invitation:not(.atlas) .invite-cover>p,#app .invitation:not(.atlas) .guest-label{text-align:center!important;align-self:center!important;max-width:100%;margin-left:0!important;margin-right:0!important}
#app .invitation:not(.atlas) .guest-label strong{display:block;overflow-wrap:break-word;font-size:clamp(18px,5vw,24px);line-height:1.45}
#app .invitation:not(.atlas) .invite-cover .button{max-width:100%;text-align:center;color:#1c352c!important;background:#dec58d!important;border-color:#b79a5a!important;font-weight:700}
#app .invitation:not(.atlas) .invite-cover :is(h1,h1 em,.eyebrow,p,.guest-label){color:#493a29!important;text-shadow:none!important}
#app .invitation:not(.atlas).floral .invite-cover :is(h1,h1 em,.eyebrow,p,.guest-label){color:#24475f!important}
#app .invitation:not(.atlas).sage:not(.atlas):not(.elegant):not(.akad):not(.garden):not(.jawa):not(.noir) .invite-cover :is(h1,h1 em,.eyebrow,p,.guest-label){color:#34492e!important}
#app .invitation:not(.atlas).garden .invite-cover :is(h1,h1 em,.eyebrow,p,.guest-label){color:#623c46!important}
#app .invitation:not(.atlas).terracotta .invite-cover :is(h1,h1 em,.eyebrow,p,.guest-label){color:#603b28!important}
#app .invitation:not(.atlas).ocean .invite-cover :is(h1,h1 em,.eyebrow,p,.guest-label){color:#264e62!important}
#app .invitation:not(.atlas):is(.jawa,.noir) .invite-cover :is(h1,h1 em,.eyebrow,p,.guest-label){color:#f7e7c7!important}
#app .invitation:not(.atlas) .invite-section{color:#304738!important}
#app .invitation:not(.atlas) .invite-section :is(h2,h3,p,small,.eyebrow,.profile-role){color:inherit!important}
#app .invitation:not(.atlas) .invite-section :is(h2,h3){line-height:1.25!important;overflow-wrap:break-word}
#app .invitation:not(.atlas) .invite-section p{opacity:1;font-size:13px!important;line-height:1.95!important}
#app .invitation:not(.atlas).floral .invite-section{color:#294c63!important}
#app .invitation:not(.atlas).terracotta .invite-section{color:#603d2c!important}
#app .invitation:not(.atlas).ocean .invite-section{color:#294f63!important}
#app .invitation:not(.atlas).garden .invite-section{color:#623f49!important}
#app .invitation:not(.atlas).rose .invite-section{color:#663f4a!important}
#app .invitation:not(.atlas).sky .invite-section{color:#2c4f68!important}
#app .invitation:not(.atlas).akad:not(.jawa) .invite-section{color:#f1e8ce!important}
#app .invitation:not(.atlas).jawa .intro,#app .invitation:not(.atlas).jawa .luxury-story-chapter,#app .invitation:not(.atlas).noir .intro{color:#f7edda!important}
#app .invitation:not(.atlas) .luxury-story-chapter{color:#f7edda!important}
#app .invitation:not(.atlas) .events>article{color:#304738!important}
#app .invitation:not(.atlas) .events>article :is(h3,p,a,.eyebrow){color:inherit!important}
#app .invitation:not(.atlas).elegant:not(.noir) .events>article,#app .invitation:not(.atlas)[data-design=sage] .events>article{color:#fff1d6!important}
#app .invitation:not(.atlas).akad .events>article{color:#244735!important}
#app .invitation:not(.atlas).noir .events>article{background:#f4efdf!important;color:#24372e!important;padding:30px 24px!important}
#app .invitation:not(.atlas) .rsvp-form,#app .invitation:not(.atlas) .bank-card{color:#2a4435!important;background:#fffaf0!important}
#app .invitation:not(.atlas) :is(.rsvp-form,.bank-card) :is(label,p,small,span,strong){color:inherit!important}
#app .invitation:not(.atlas) :is(.rsvp-form input,.rsvp-form select,.rsvp-form textarea){color:#233e30!important;background:#fff!important;border-color:#a4b29c!important}
#app .invitation:not(.atlas) .rsvp-form button[type=submit]{background:#294b3d!important;color:#fff!important}
#app .invitation:not(.atlas) .bank-card button{color:#294b3d!important;border-color:#8b9d7c!important;background:#fff!important}
#app .invitation:not(.atlas) .messages{color:#304738!important}#app .invitation:not(.atlas).akad .messages{color:#f7edda!important}
#app .invitation:not(.atlas) .composition-title{transform:none!important;text-shadow:none!important}
#app .invitation:not(.atlas) .composition-names{letter-spacing:-1.5px!important;line-height:1.12!important;overflow-wrap:break-word!important}
#app .invitation:not(.atlas).compose-floral .composition-names,#app .invitation:not(.atlas).compose-ocean .composition-names{font-size:38px!important}
#app .invitation:not(.atlas) .composition-names>span{overflow-wrap:normal!important}
#app .invitation:not(.atlas).compose-terracotta .composition-stage{color:#29190f!important}
#app .invitation:not(.atlas).compose-terracotta .composition-title{right:38%!important}
#app .invitation:not(.atlas).compose-jawa .composition-title{bottom:135px!important}
#app .invitation:not(.atlas) .story>article,#app .invitation:not(.atlas) .events>article{transform:none!important}
#app .invitation:not(.atlas) .opening-verse :is(p,small,.eyebrow,.verse-reference){color:inherit!important;opacity:1}
#app .invitation:not(.atlas) .verse-meaning{font-size:13px!important;line-height:1.95!important}
#app .invitation:not(.atlas) .composition-profile .profile-role{font-size:9px!important;letter-spacing:2px}
#app .invitation:not(.atlas).compose-noir .composition-profile:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#000c 75%);z-index:1;pointer-events:none}
#app .invitation:not(.atlas).compose-noir .composition-profile :is(h3,p,.profile-role){color:#fff!important}
#app .invitation:not(.atlas) .closing:has(.editorial-finale-photo){color:#fff!important}
#app .invitation:not(.atlas) .closing:has(.editorial-finale-photo) :is(h2,p,a,button,.eyebrow){color:#fff!important}
#app .invitation:not(.atlas) .closing:has(.editorial-finale-photo):after{background:linear-gradient(#14251de0,#14251de8)!important}
#app .invitation:not(.atlas) .sage-bottom-nav{color:#294b3d!important}
@media(max-width:360px){#app .invitation:not(.atlas) .invite-cover{padding-left:28px!important;padding-right:28px!important}#app .invitation:not(.atlas) .invite-cover h1{font-size:38px!important}}
@media(max-height:650px){#app .invitation:not(.atlas) .invite-cover h1{font-size:35px!important;margin:10px 0!important}#app .invitation:not(.atlas) .invite-cover h1 em{font-size:22px!important;margin:2px 0!important}#app .invitation:not(.atlas) .invite-cover .luxury-crest{width:44px!important;height:44px!important;margin-bottom:5px!important}#app .invitation:not(.atlas) .guest-label{margin-top:16px!important}}

#app .invitation:not(.atlas).compose-jawa .invite-section{color:#fff4db!important}
#app .invitation:not(.atlas) .music-toggle{left:18px!important;right:auto!important;bottom:max(18px,env(safe-area-inset-bottom))!important;width:48px;height:48px;background:#294b3d!important;color:#fff!important;border:2px solid #f9f6ed!important;box-shadow:0 4px 20px #0004}
#app .invitation:not(.atlas) .music-toggle[aria-pressed=true]{animation:music-breathe 2.4s ease-in-out infinite}
@keyframes music-breathe{50%{box-shadow:0 0 0 6px #294b3d26,0 4px 20px #0004}}
#app .invitation:not(.atlas) .sage-bottom-nav{left:80px!important;right:18px!important;transform:none!important;width:calc(100% - 98px)!important;padding:8px 4px!important}
#app .invitation:not(.atlas) .sage-bottom-nav a{padding:5px 2px!important;color:#294b3d!important}
#app .invitation:not(.atlas) .music-credit{display:block;font:10px/1.8 Arial,sans-serif;margin:24px auto 0;max-width:300px;position:relative;z-index:4;color:inherit}
#app .invitation:not(.atlas) .music-credit a{text-decoration:underline;color:inherit}
@media(min-width:1000px){#app .invitation:not(.atlas) .music-toggle{left:calc(100% - 502px)!important}#app .invitation:not(.atlas) .sage-bottom-nav{left:auto!important;right:18px!important;width:422px!important}}
@media(min-width:1000px) and (max-width:1200px){#app .invitation:not(.atlas) .music-toggle{left:calc(100% - 442px)!important}#app .invitation:not(.atlas) .sage-bottom-nav{width:362px!important}}
@media(prefers-reduced-motion:reduce){#app .invitation:not(.atlas) .music-toggle{animation:none!important}}

#app .invitation:not(.atlas) .sage-bottom-nav{background:#fffaf0f5!important;border-color:#c3b795!important;box-shadow:0 6px 22px #0002!important}
#app .invitation:not(.atlas) .sage-bottom-nav a[aria-current]{background:#e3eadc!important;color:#294b3d!important}
#app .invitation:not(.atlas) .luxury-chapter-label{color:inherit!important;opacity:.8!important}
#app .invitation:not(.atlas) .invite-cover{justify-content:center!important}
#app .invitation:not(.atlas).compose-terracotta .invite-section{background:#f1dfd0!important;color:#593722!important}
#app .invitation:not(.atlas).compose-terracotta .luxury-story-chapter{color:#593722!important}
#app .invitation:not(.atlas).tier-premium .gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:start!important}
#app .invitation:not(.atlas).tier-premium .gallery-button{width:100%!important;min-width:0!important;margin:0!important;transform:none!important;align-self:auto!important}
#app .invitation:not(.atlas).tier-premium .gallery-button img{height:auto!important;aspect-ratio:3/4!important;width:100%!important;object-fit:cover!important;border-radius:12px!important}
#app .invitation:not(.atlas).compose-floral .gallery-button:first-child,#app .invitation:not(.atlas).compose-ocean .gallery-button:first-child{grid-column:1/-1!important}
#app .invitation:not(.atlas).compose-floral .gallery-button:first-child img,#app .invitation:not(.atlas).compose-ocean .gallery-button:first-child img{aspect-ratio:16/10!important}
#app .invitation:not(.atlas).compose-sage .gallery-button:nth-child(even),#app .invitation:not(.atlas).compose-terracotta .gallery-button:nth-child(even){margin-top:24px!important}

#app .invitation:not(.atlas) .sage-bottom-nav a{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;min-height:42px!important;line-height:1!important}
#app .invitation:not(.atlas) .sage-bottom-nav a>span{font-size:18px!important;line-height:1!important}
#app .invitation:not(.atlas) .sage-bottom-nav a>small{display:block!important;font-size:8px!important;letter-spacing:0!important;line-height:1.2!important;white-space:nowrap!important}

/* Desktop music belongs to the large stationary panel. */
@media(min-width:1000px){#app .invitation:not(.atlas) .music-toggle{left:18px!important;right:auto!important;bottom:18px!important}#app .invitation:not(.atlas) .sage-bottom-nav{right:24px!important;width:472px!important}}
@media(min-width:1000px) and (max-width:1200px){#app .invitation:not(.atlas) .sage-bottom-nav{width:412px!important}}
