/* Motion direction: pinned chapters, changing messages, image shutters, gold actions. */
.button,.button.light,.nav-buy,.couple .header .nav-buy {
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(115deg,#e4c992 0%,#d1ac67 55%,#bb8c47 100%);
  color:#2d1b25;border:1px solid #e9d3a6;
  box-shadow:0 8px 26px #61432035,inset 0 1px 0 #fff8;
  font-weight:600;text-transform:uppercase;letter-spacing:.035em;
  animation:cta-glow 3.8s ease-in-out infinite;
}
.button,.button.light{min-height:72px;font-size:.9375rem;padding:15px 18px 15px 28px;gap:24px}
.nav-buy{font-size:.8125rem;padding:10px 12px 10px 20px;gap:18px}
.button::before,.nav-buy::before{content:'';position:absolute;inset:-70% auto -70% -60%;width:30%;background:linear-gradient(90deg,transparent,#fff7,transparent);transform:rotate(22deg);animation:button-shine 5s 1s ease-in-out infinite;pointer-events:none;z-index:-1}
.button>span,.nav-buy>span{display:grid;place-items:center;background:var(--plum);color:#ead7ae;border-radius:50%;width:42px;height:42px;flex-shrink:0;font-size:1.4rem;transition:transform .4s,background .4s}
.nav-buy>span{width:30px;height:30px;font-size:1.125rem}
.button:hover,.button.light:hover,.nav-buy:hover,.couple .header .nav-buy:hover{background:#ecd4a4;color:#2d1b25;box-shadow:0 15px 36px #5b392852,0 0 0 5px #d1ac6728}
.button:hover>span,.nav-buy:hover>span{transform:rotate(45deg);background:#694a59}
.button:focus-visible,.nav-buy:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.text-link{border:1px solid currentColor;padding:15px 20px;border-radius:40px;transition:background .35s,box-shadow .35s;position:relative}
.text-link:hover{background:#bb8c4723;box-shadow:0 0 0 4px #bb8c4714}
.motion-toggle{background:var(--plum);color:var(--paper);border-color:var(--gold)}
.couple .motion-toggle{background:var(--paper);color:var(--plum)}
.hero h1 .accent,.purchase h2 .accent{position:relative;isolation:isolate}
.hero h1 .accent::after,.purchase h2 .accent::after{content:'';position:absolute;left:-.02em;right:-.02em;bottom:.05em;height:.15em;background:#b5874440;z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform 1.1s .5s cubic-bezier(.2,.75,.2,1)}
.title-visible .accent::after{transform:scaleX(1)!important}
.dark .title-visible .accent::after{background:#d1ac6747}
.intent-rotator{display:inline-grid;grid-template-columns:minmax(0,1fr);padding:10px 17px;border:1px solid var(--line);margin-bottom:26px;overflow:hidden;min-width:240px;border-radius:3px;background:#b58a4430;text-align:left;box-shadow:inset 3px 0 var(--bronze)}
.intent-rotator>span{grid-area:1/1;font:600 .8125rem/1.5 var(--sans);letter-spacing:.09em;text-transform:uppercase;opacity:0;transform:translateY(145%);transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .5s;pointer-events:none}
.intent-rotator>span.is-active{opacity:1;transform:translateY(0)}
.intent-rotator>span.is-leaving{transform:translateY(-145%)}
.hero-couple .intent-rotator{margin:30px auto 0;background:#d1ac671f;border-color:#d1ac6750;color:#ead7ae;box-shadow:inset 3px 0 var(--gold);text-align:center}
.hero-couple .couple-title{margin-top:24px}
.read-word{transition:color .3s,opacity .3s,background .4s}
.js-motion .read-word{opacity:.25}
.js-motion .read-word.is-lit{opacity:1}
.decision-list strong{position:relative;opacity:1;background-image:linear-gradient(#ad804033,#ad804033);background-size:0% 100%;background-repeat:no-repeat;transition:background-size 1s .25s}
.decision-list .visible strong{background-size:100% 100%}
.conversation-side{transition:background .7s,transform .7s;padding-inline:24px;border-bottom:1px solid var(--line)}
.conversation-side.visible{background:#b9996921}
.conversation-side:nth-child(2).visible{background:#4027350c}
.delivery-list>div{overflow:hidden;transition:background .65s,padding-left .65s}
.delivery-list>div::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform 1s .15s}
.delivery-list>div.visible::after{transform:scaleX(1)}
.delivery-list>div.visible{background:#b48a4315}
.delivery-list>div>span{left:8px;font-weight:600}
.delivery-list>div:first-child{padding-top:25px}
.delivery-list>div:first-child>span{top:28px}
.photo-window,.couple-panorama,.editorial-photo,.botanical-photo{isolation:isolate}
.js-motion .image-reveal{clip-path:inset(8% 12% 8% 12%);transition:clip-path 1.5s cubic-bezier(.18,.8,.2,1),opacity 1s;overflow:hidden}
.js-motion .image-reveal.visible{clip-path:inset(0)}
.photo-window::after,.couple-panorama::after{content:'';position:absolute;inset:0;background:var(--paper);transform-origin:right;transform:scaleX(1);transition:transform 1.5s .15s cubic-bezier(.2,.75,.2,1);pointer-events:none;z-index:2}
.couple-panorama::after{background:var(--plum)}
.hero-picture.visible .photo-window::after,.couple-panorama.visible::after{transform:scaleX(0)}
body:not(.js-motion) .photo-window::after,body:not(.js-motion) .couple-panorama::after{display:none}
.photo-window img,.editorial-photo img,.botanical-photo img,.couple-panorama img{transform:translateY(var(--drift,0px)) scale(var(--photo-scale,1.13));will-change:transform}
.couple-panorama{transition:border-radius .9s;width:calc(78% + var(--expand,0) * 22%)}
.hero.has-progress .couple-panorama{border-radius:24px 24px 0 0}
.hero.has-progress .photo-window{border-radius:24px 24px 0 0}
.photo-window{transition:border-radius 1.1s}
.ticker>div{animation-duration:25s}.ticker i{display:inline-block;animation:little-spin 12s linear infinite}
.scroll-scenes .story-layout{min-height:calc(var(--chapter-count,4) * 80vh);align-items:start;position:relative}
.scroll-scenes .story-heading{top:7vh;padding:0;position:sticky}
.scroll-scenes .story-heading h2{font-size:clamp(2.625rem,4vw,4.25rem)}
.scroll-scenes .story-heading>p:not(.eyebrow){font-size:1rem}
.scroll-scenes .story-chapters{position:sticky;top:20vh;display:grid;align-items:start;min-height:430px;perspective:1000px}
.js-motion.scroll-scenes .chapter{grid-area:1/1;min-height:390px;padding:44px 35px;border:1px solid #d2c3a540;border-radius:8px;opacity:0;transform:translateY(80px) scale(.94);pointer-events:none;transition:transform .75s cubic-bezier(.2,.75,.2,1),opacity .45s,background .7s;visibility:hidden;background:#513946}
.js-motion.scroll-scenes .chapter.was-current{transform:translateY(-70px) scale(.95)}
.js-motion.scroll-scenes .chapter.is-current{opacity:1;transform:none;pointer-events:auto;visibility:visible;box-shadow:0 25px 60px #180d152e}
.scroll-scenes .chapter{position:relative}
.couple.scroll-scenes .chapter{background:var(--paper-light);border-color:var(--line)}
.scroll-scenes .chapter h3{font-size:clamp(2rem,3.2vw,3rem);margin:32px 0 24px}
.scroll-scenes .chapter::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .9s .2s}
.scroll-scenes .chapter.is-current::before{transform:scaleX(1)}
.chapter-display{overflow:hidden}.chapter-current{animation:none;display:inline-block}
.chapter-current.is-changing{animation:number-in .55s cubic-bezier(.2,.7,.2,1)}
.chapter-progress{height:3px}.chapter-progress>span{height:3px}
.purchase .price{color:var(--gold);text-shadow:0 8px 40px #c3a36b20}
.purchase-action .micro{display:inline-block;border-bottom:1px solid #d2c3a555;padding-bottom:8px}
.price{transition:transform .8s}.purchase-action.visible .price{animation:price-enter 1s cubic-bezier(.2,.75,.2,1)}
@keyframes button-shine{0%,55%{left:-60%}82%,100%{left:140%}}
@keyframes cta-glow{0%,100%{box-shadow:0 8px 26px #61432035,inset 0 1px 0 #fff8}50%{box-shadow:0 10px 34px #a275455e,0 0 0 5px #bd93461a,inset 0 1px 0 #fff8}}
@keyframes little-spin{to{transform:rotate(360deg)}}
@keyframes number-in{from{opacity:0;transform:translateY(55%)}to{opacity:1;transform:translateY(0)}}
@keyframes price-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:899px){.intent-rotator{min-width:220px}.chapter{position:relative;padding-inline:22px;border-left:3px solid transparent;transition:background .6s,border-color .6s}.chapter.is-current{background:#d2c3a512;border-left-color:var(--gold)}.couple .chapter.is-current{background:#ad804018;border-left-color:var(--bronze)}}
@media(max-width:700px){.button,.button.light,.hero-copy .button{padding:14px 14px 14px 21px;min-height:68px;font-size:.875rem;gap:15px}.button>span{width:38px;height:38px}.nav-buy{font-size:.75rem;padding:9px 10px;gap:8px;letter-spacing:0}.nav-buy>span{width:25px;height:25px;font-size:1rem}.intent-rotator{margin-bottom:22px}.hero-couple .intent-rotator{margin-top:25px;min-width:220px}.hero-couple .couple-title{margin-top:24px}.couple-panorama{width:100%}.conversation-side{padding-inline:17px}.chapter h3{font-size:1.875rem}.text-link{font-size:.9375rem}.read-word{transition:opacity .2s}.delivery-list>div{padding-left:40px}.delivery-list>div:first-child{padding-top:25px}}
.motion-paused .intent-rotator>span{transition:none}.motion-paused .read-word{opacity:1}.motion-paused .photo-window::after,.motion-paused .couple-panorama::after{transform:scaleX(0);transition:none}.motion-paused .hero h1 .accent::after,.motion-paused .purchase h2 .accent::after{transform:scaleX(1)}.motion-paused .decision-list strong{background-size:100% 100%}
@media(prefers-reduced-motion:reduce){.read-word{opacity:1!important}.photo-window::after,.couple-panorama::after{display:none}.hero h1 .accent::after,.purchase h2 .accent::after{transform:scaleX(1)}.button::before,.nav-buy::before{display:none}.couple-panorama{width:100%}.decision-list strong{background-size:100% 100%}}
