.warm-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden;border-radius:inherit}.ambient-branch{position:absolute;top:19%;width:115px;height:64%;opacity:.24;transform-origin:bottom center;animation:botanical-sway 15s ease-in-out infinite alternate}.ambient-branch.left{left:-36px}.ambient-branch.right{right:-36px;scale:-1 1;animation-delay:-7s}.ambient-branch svg{width:100%;height:100%;overflow:visible}.vine{stroke:#b59669;stroke-width:1.3;stroke-dasharray:900;stroke-dashoffset:900;animation:vine-reveal 5s ease 1s forwards}.leaves path{fill:#c5b29418;stroke:#b59669;stroke-width:.8;animation:leaf-breathe 9s ease-in-out infinite alternate}.leaves path:nth-child(2n){animation-delay:-4s}.welcome-glow{position:absolute;left:var(--glow-x);top:var(--glow-y);width:170px;height:170px;background:radial-gradient(circle,#d7b7791a,transparent 70%);border-radius:50%;animation:light-drift 18s ease-in-out infinite;animation-delay:var(--glow-delay)}.ambient-greeting{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);width:75%;text-align:center;color:#ad9471;animation:greeting-breathe 10s ease-in-out infinite}.ambient-greeting span{display:block;font:7px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.ambient-greeting i{display:block;font:italic 16px Georgia,serif;margin-top:5px;color:#b49b77}.booklet>header[data-book-page]{padding-bottom:65px!important}.booklet #celebrations,.booklet #venue{padding-bottom:65px!important}
@keyframes botanical-sway{from{rotate:-2deg}to{rotate:2deg}}@keyframes vine-reveal{to{stroke-dashoffset:0}}@keyframes leaf-breathe{from{fill:#c5b29408}to{fill:#c5b29440}}@keyframes light-drift{0%,100%{transform:translate(0,0) scale(.8);opacity:.5}50%{transform:translate(15px,-20px) scale(1.2);opacity:1}}@keyframes greeting-breathe{0%,100%{opacity:.6}50%{opacity:1}}
@media(max-width:767px){.ambient-branch{width:65px;top:30%;height:52%;opacity:.22}.ambient-branch.left{left:-24px}.ambient-branch.right{right:-24px}.welcome-glow{width:95px;height:95px}.ambient-greeting{bottom:19px;width:80%}.ambient-greeting span{font-size:5px;letter-spacing:.08em}.ambient-greeting i{font-size:12px;margin-top:4px}.booklet>header[data-book-page]{padding-bottom:55px!important}.booklet #celebrations,.booklet #venue{padding-bottom:58px!important}}
@media(prefers-reduced-motion:reduce){.ambient-branch,.leaves path,.welcome-glow,.ambient-greeting{animation:none}.vine{animation:none;stroke-dashoffset:0}}
.ambient-branch{opacity:.34}.ambient-sprig{position:absolute;width:90px;height:225px;opacity:.28;transform-origin:bottom center;animation:sprig-sway 18s ease-in-out infinite alternate}.ambient-sprig svg{width:100%;height:100%}.ambient-sprig.top-left{left:80px;top:-105px;rotate:115deg}.ambient-sprig.top-right{right:80px;top:-105px;rotate:-115deg;scale:-1 1;animation-delay:-9s}.ambient-sprig.bottom-left{left:95px;bottom:-100px;rotate:55deg;animation-delay:-4s}.ambient-sprig.bottom-right{right:95px;bottom:-100px;rotate:-55deg;scale:-1 1;animation-delay:-12s}.warm-mote{position:absolute;width:3px;height:3px;background:#bc9c63;border-radius:50%;opacity:0;animation:mote-glimmer 8s ease-in-out infinite}.welcome-glow{background:radial-gradient(circle,#d7b77922,transparent 70%)}.warm-atmosphere:after{content:'';position:absolute;inset:15px;border:1px solid #c4a77922;border-radius:inherit;animation:border-breathe 12s ease-in-out infinite}
@keyframes sprig-sway{from{translate:0 0}to{translate:5px -4px}}@keyframes mote-glimmer{0%,100%{opacity:0;transform:translateY(0) scale(.5)}50%{opacity:.42;transform:translateY(-14px) scale(1)}}@keyframes border-breathe{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:767px){.ambient-branch{opacity:.28}.ambient-sprig{width:55px;height:150px;opacity:.23}.ambient-sprig.top-left{left:23px;top:-70px}.ambient-sprig.top-right{right:23px;top:-70px}.ambient-sprig.bottom-left{left:40px;bottom:-73px}.ambient-sprig.bottom-right{right:40px;bottom:-73px}.warm-mote{width:2px;height:2px}.warm-atmosphere:after{inset:10px}}
@media(prefers-reduced-motion:reduce){.ambient-sprig,.warm-mote,.warm-atmosphere:after{animation:none}.warm-mote{opacity:.15}}
