/* An airy embroidered margin. The central reading surface remains quiet. */
.living-garden-field{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:layout paint;isolation:isolate}
.living-loop{animation-play-state:paused!important}
.living-garden-running .living-loop{animation-play-state:running!important}
.living-sprig-window{position:absolute;top:0;bottom:0;width:min(8vw,32px);overflow:hidden;pointer-events:none}
.living-sprig-window--left{left:0;mask-image:linear-gradient(90deg,#000 36%,transparent 100%)}
.living-sprig-window--right{right:0;mask-image:linear-gradient(270deg,#000 36%,transparent 100%)}
.living-sprig{position:absolute;width:122px;aspect-ratio:2/3;pointer-events:none;opacity:.49;transform-origin:50% 90%}
.living-sprig--left{left:-78px;transform:rotate(9deg)}
.living-sprig--right{right:-78px;transform:scaleX(-1) rotate(9deg)}
.living-sprig--upper{top:31px}
.living-sprig--lower{bottom:12px}
.living-sprig img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.living-sprig-stem{mask-image:linear-gradient(transparent 0 29%,#000 43%)}
.living-sprig-tip{mask-image:linear-gradient(#000 0 30%,transparent 44%);transform-origin:54% 44%;animation:living-jasmine-tip 7.8s ease-in-out infinite alternate}
.living-sprig--right .living-sprig-tip{animation-duration:9.2s;animation-delay:-3s}
.living-daylight{position:absolute;inset:-10% -12%;opacity:.26;background:linear-gradient(112deg,transparent 30%,#f6dfb424 43%,#fff9e940 47%,transparent 60%);transform-origin:50% 40%;animation:living-daylight 22s ease-in-out infinite alternate}
.living-thread{position:absolute;width:33px;height:230px;top:29%;opacity:.62;pointer-events:none}
.living-thread--left{left:-3px}.living-thread--right{right:-3px;transform:scaleX(-1)}
.living-thread svg{display:block;width:100%;height:100%;overflow:visible}
.living-thread-light{animation:living-thread-sheen 14s linear infinite}
.living-butterfly{position:absolute;width:25px;height:23px;top:48%;opacity:0;pointer-events:none;animation:living-butterfly-flight var(--flight-duration,18s) linear var(--flight-delay,-5s) infinite}
.living-butterfly--left{left:10px}.living-butterfly--right{right:10px;scale:-1 1}
.living-butterfly svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 1px #776f4822)}
.living-wing{transform-box:view-box;transform-origin:30px 28px;animation:living-wing-left .34s ease-in-out infinite alternate}
.living-wing--right{animation-name:living-wing-right}
.living-tea-steam{position:absolute;left:43%;top:10%;width:12px;height:31px;border-left:1px solid #a89d7870;border-radius:50%;opacity:0;transform-origin:50% 100%;animation:living-steam 4.2s ease-out -1.8s infinite;pointer-events:none}
.living-desktop-garden{display:none;position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
@keyframes living-jasmine-tip{from{transform:rotate(-2.1deg) translateX(-1px)}to{transform:rotate(2.8deg) translateX(1px)}}
@keyframes living-daylight{from{translate:-9px 0;rotate:-1.2deg;opacity:.15}to{translate:16px 4px;rotate:1deg;opacity:.4}}
@keyframes living-thread-sheen{from{stroke-dashoffset:100}to{stroke-dashoffset:-100}}
@keyframes living-butterfly-flight{0%,8%{opacity:0;transform:translate(0,34px) rotate(-18deg)}14%{opacity:.75}28%{transform:translate(9px,-8px) rotate(16deg)}42%{transform:translate(1px,-52px) rotate(-9deg);opacity:.75}55%{transform:translate(8px,-99px) rotate(15deg);opacity:0}100%{transform:translate(8px,-99px) rotate(15deg);opacity:0}}
@keyframes living-wing-left{from{transform:scaleX(.28) rotate(-4deg)}to{transform:scaleX(1) rotate(3deg)}}
@keyframes living-wing-right{from{transform:scaleX(.32) rotate(4deg)}to{transform:scaleX(1) rotate(-3deg)}}
@keyframes living-steam{0%{opacity:0;transform:translate(0,4px) scale(.85)}20%{opacity:.32}80%{opacity:.12}100%{opacity:0;transform:translate(5px,-27px) scale(1.1)}}
@container woven (min-width: 540px) {.living-sprig-window{width:54px}.living-sprig{width:150px;opacity:.52}.living-sprig--left{left:-92px}.living-sprig--right{right:-92px}.living-thread--left{left:8px}.living-thread--right{right:8px}.living-butterfly--left{left:25px}.living-butterfly--right{right:25px}}
@container woven (min-width: 1100px) {
 .living-desktop-garden{display:block}
 #invitation{z-index:1}
 .living-desktop-garden .living-sprig{width:210px;opacity:.18;filter:saturate(.7)}
 .living-desktop-garden .living-sprig--left{left:calc(50% - 610px);bottom:25px;transform:rotate(-18deg)}
 .living-desktop-garden .living-sprig--right{right:calc(50% - 610px);top:40px;transform:scaleX(-1) rotate(-18deg)}
}
@media(prefers-reduced-motion:reduce){.living-loop{animation:none!important}.living-butterfly,.living-daylight,.living-tea-steam{display:none}.living-sprig-tip{transform:none!important}.living-thread-light{display:none}}
@media print{.living-garden-field,.living-desktop-garden,.living-tea-steam{display:none!important}}
