.home-template-reel{width:min(100%,360px);margin:auto;min-width:0}
.home-template-reel__frame{position:relative;aspect-ratio:.82;overflow:hidden;border:8px solid #fffdf8;border-radius:30px;background:#eee9df;box-shadow:0 24px 60px #65533a20,0 0 0 1px #d8c8ab;isolation:isolate}
.home-template-reel__page,.home-template-reel__open{position:absolute;inset:0;width:100%;height:100%;border:0}
.home-template-reel__page{opacity:0;pointer-events:none;transition:opacity 1.2s cubic-bezier(.22,.61,.36,1);background:#f7f2e8}
.home-template-reel__page.is-loaded{opacity:1}
.home-template-reel__open{z-index:3;border-radius:20px}
.home-template-reel__open:focus-visible{outline:3px solid #715936;outline-offset:-5px}
.home-calendar-production .home-template-reel .template-art{width:100%;height:100%;min-height:0;border-radius:0;aspect-ratio:auto;margin:0}
.home-template-reel__controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 4px 0;color:#625747;font:16px/1.5 Manrope,Arial,sans-serif}
.home-template-reel__controls[hidden]{display:none}
.home-template-reel__count{margin-inline-end:auto;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.home-template-reel__controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:9px 16px;border:1px solid #d8c8ab;border-radius:24px;background:#fffaf1;color:#625039;font:500 16px/1.4 Manrope,Arial,sans-serif;cursor:pointer}
.home-template-reel__controls button:focus-visible{outline:3px solid #715936;outline-offset:3px}
@media(max-width:760px){.home-template-reel{width:min(100%,300px);margin:4px auto 18px}.home-template-reel__frame{border-width:6px;border-radius:24px}.home-template-reel__controls{padding-top:10px}.home-calendar-production .home-template-reel .template-art--jasmine h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){.home-template-reel__page{transition:none}.home-template-reel *{animation:none!important}}

.home-template-reel__controls button:disabled{opacity:.5;cursor:default}

/* A warm titanium phone, with a quiet bezel around the live invitation. */
.home-template-reel__phone{transform:rotate(-4deg);position:relative;width:min(100%,350px);margin:auto;padding:7px;border:2px solid #b8ab98;border-radius:43px;background:#35312c;box-shadow:0 26px 55px #58483225,0 7px 17px #58483214,inset 0 0 0 1px #eee5d6}
.home-template-reel__phone::before,.home-template-reel__phone::after{content:"";position:absolute;width:3px;border-radius:3px;background:linear-gradient(90deg,#9c8b75,#d3c8b6);pointer-events:none}
.home-template-reel__phone::before{left:-4px;top:100px;height:55px;box-shadow:0 67px 0 #b1a28d}
.home-template-reel__phone::after{right:-4px;top:148px;height:76px}
.home-template-reel__phone .home-template-reel__frame{aspect-ratio:.53;border:0;border-radius:34px;box-shadow:none}
.home-template-reel__phone .home-template-reel__frame::before{content:"";position:absolute;z-index:4;top:11px;left:50%;width:82px;height:22px;transform:translateX(-50%);border-radius:20px;background:#292723;box-shadow:inset 0 0 0 1px #ffffff09;pointer-events:none}
.home-template-reel__phone .home-template-reel__frame::after{content:"";position:absolute;z-index:4;bottom:9px;left:50%;width:92px;height:4px;transform:translateX(-50%);border-radius:4px;background:#514b4280;pointer-events:none}
.home-template-reel__open{border-radius:34px}
.home-template-reel__controls{gap:6px;padding:18px 2px 0;align-items:center}
.home-template-reel__caption{flex:1;min-width:0;padding-inline-end:8px}
.home-template-reel__caption strong{display:block;color:#514530;font:400 21px/1.35 Prata,Georgia,serif;overflow-wrap:anywhere}
.home-template-reel__count{display:block;margin:6px 0 0;color:#786b57;font:400 16px/1.4 Manrope,Arial,sans-serif;letter-spacing:.04em}
.home-template-reel__controls button{width:44px;height:44px;padding:0;flex:0 0 44px;background:transparent;border-color:#ded2bb}
.reel-icon-play{display:none}
[data-hero-pause][data-paused=true] .reel-icon-play{display:block}
[data-hero-pause][data-paused=true] .reel-icon-pause{display:none}
@media(max-width:760px){.home-template-reel{width:min(100%,320px)}.home-template-reel__phone{width:min(100%,280px);padding:6px;border-radius:36px}.home-template-reel__phone .home-template-reel__frame{border-radius:28px}.home-template-reel__caption strong{font-size:18px}.home-template-reel__controls{gap:4px;padding-top:14px}}
@media(max-width:360px){.home-template-reel__controls{flex-wrap:wrap;justify-content:flex-start}.home-template-reel__caption{flex-basis:100%;padding:0 0 4px}}

/* Size the server-rendered invitation before the carousel JavaScript starts. */
.home-template-reel__phone .home-template-reel__frame{container-type:inline-size}
.home-template-reel__page.is-initial{width:390px;height:735.85px;transform-origin:top left;transform:scale(calc(100cqw / 390px));transition:none}

/* Three distinct details from the original homepage artwork. */
.home-template-reel{position:relative;isolation:isolate}
.home-template-reel__phone{z-index:1}
.home-template-reel__decor{position:absolute;pointer-events:none;background-image:url("../images/hero/party-3d-frame.cda47b93cff1.png");background-repeat:no-repeat}
.home-template-reel__decor--balloons{width:195px;aspect-ratio:430/800;right:-106px;top:-20px;background-size:264.2% 173.125%;background-position:right top;transform:rotate(8deg)}
.home-template-reel__decor--cake{width:190px;aspect-ratio:420/445;left:-100px;bottom:-6px;background-size:270.48% 311.24%;background-position:left bottom;z-index:2}
.home-template-reel__decor--flower{width:140px;aspect-ratio:1;right:-110px;bottom:18px;background-size:324.57% 395.71%;background-position:right bottom;transform:rotate(14deg)}
@media(max-width:760px){
 .home-template-reel__decor--balloons{width:115px;right:-16px;top:0}
 .home-template-reel__decor--cake{width:120px;left:-15px;bottom:-16px}
 .home-template-reel__decor--flower{width:95px;right:-12px;bottom:-12px;z-index:2}
 .home-template-reel{margin-bottom:36px}
}
@media(min-width:761px) and (max-width:1050px){
 .home-template-reel__decor--cake{left:-40px;width:150px}
 .home-template-reel__decor--balloons{right:-40px;width:150px}
 .home-template-reel__decor--flower{right:-45px;width:110px}
}

.home-calendar-production .calendar-hero__copy .btn{
 min-width:280px;min-height:76px;padding:22px 38px;border:1px solid #efb5ad;border-radius:24px;
 background:linear-gradient(120deg,#f6b6c5 0%,#fac6bc 55%,#ffdbbd 100%);color:#432b2b;
 font-size:24px!important;font-weight:700;line-height:1.35;letter-spacing:0;
 box-shadow:0 10px 26px #d8898129,inset 0 1px 0 #ffffff90;
 transition:box-shadow .2s ease,transform .2s ease;
}
.home-calendar-production .calendar-hero__copy .btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px #d889813d,inset 0 1px 0 #ffffff90}
.home-calendar-production .calendar-hero__copy .btn:active{transform:translateY(0);box-shadow:0 5px 14px #d8898129}
.home-calendar-production .calendar-hero__copy .btn:focus-visible{outline:3px solid #96505e;outline-offset:5px}
@media(max-width:760px){.home-calendar-production .calendar-hero__copy .btn{min-width:0;width:min(100%,340px);min-height:72px;padding:20px 24px;border-radius:22px}}
@media(prefers-reduced-motion:reduce){.home-calendar-production .calendar-hero__copy .btn{transition:none;transform:none}}

@media(max-width:760px){
 .home-calendar-production .calendar-hero__copy{order:0;padding-top:12px}
 .home-calendar-production .home-template-reel{order:1;margin-top:32px;margin-bottom:20px}
}
