/* Motion follows the guest's scroll; scrolling itself stays native. */
.scroll-story-active main{overflow-x:clip}
.scroll-story-active .hero-content{translate:0 var(--hero-lift,0px);scale:var(--hero-scale,1);transform-origin:50% 25%;will-change:translate,scale}
.scroll-story-active .marigold-border{translate:0 var(--garland-drift,0px)}
.scroll-story-active .hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,var(--paper));pointer-events:none;z-index:4}
.scroll-story-active .reveal{opacity:1;transform:none;transition:none}
.scroll-story-active [data-scroll-entry]{opacity:var(--entry-opacity,1);transform:perspective(1000px) translate3d(var(--entry-x,0px),var(--entry-y,0px),0) rotateY(var(--entry-turn,0deg)) scale(var(--entry-scale,1));transition:none;transform-origin:center;backface-visibility:hidden}
.scroll-story-active .families{perspective:1200px}
.scroll-story-active .venue-art{clip-path:inset(0 var(--venue-crop,0%) round 8px);background-size:auto calc(130% * var(--venue-scale,1));transition:none}
.event-scroll-story{position:relative}.event-stage{position:relative}.event-stepper{display:none}
.event-scroll-story.is-pinned{height:400svh;max-width:1120px;margin:55px auto 0;isolation:isolate}
.is-pinned .event-stage{position:sticky;top:24px;height:calc(100svh - 48px);display:grid;grid-template-rows:44px minmax(0,1fr);gap:16px}
.is-pinned .event-stepper{display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;padding:0 15px}
.is-pinned .event-stepper:before,.is-pinned .event-stepper:after{content:'';position:absolute;left:30px;right:30px;top:50%;height:1px;background:#d6c092;z-index:-1}
.is-pinned .event-stepper:after{background:#8b3932;transform:scaleX(var(--timeline-fill,0));transform-origin:left}
.event-stepper button{background:var(--paper);border:1px solid #cbb17d;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;position:relative;color:#775728;transition:background .2s,color .2s}
.event-stepper button span{font:500 13px var(--sans)}.event-stepper button[aria-current=step]{background:#78372e;color:#fff5df;border-color:#78372e;box-shadow:0 0 0 5px #c9a96d22}.event-stepper i{display:none}
.is-pinned .events{position:relative;margin:0;max-width:none;width:100%;height:100%;overflow:hidden;perspective:1300px;border-radius:9px}
.scroll-story-active .is-pinned .event{position:absolute;inset:0;height:100%;width:100%;margin:0;border:1px solid #c6a775;border-radius:8px;padding:40px;align-content:center;transform-origin:50% 100%;transform:translate3d(0,var(--card-y,110%),0) rotateX(var(--card-tilt,0deg)) scale(var(--card-scale,1));opacity:var(--card-opacity,1);transition:none;box-shadow:0 10px 28px #5d39251a;backface-visibility:hidden}
.is-pinned .event .event-art{margin:auto 0}.is-pinned .event-body{min-width:0}
.is-pinned .event:first-child{--card-y:0%}
.is-pinned .event .event-art:before{border-radius:100px 100px 4px 4px}
.scroll-chapter{display:none}
.scroll-story-active .scroll-chapter{position:fixed;left:22px;bottom:24px;z-index:9;display:flex;align-items:center;gap:10px;background:#fffaf0ed;border:1px solid #cfb67f66;border-radius:3px;padding:12px 15px;color:#62472a;pointer-events:none;box-shadow:0 4px 18px #684b2310}
.scroll-chapter span{font:500 17px var(--serif)}.scroll-chapter i{width:20px;height:1px;background:#a97b3b}.scroll-chapter b{font:400 10px var(--sans);letter-spacing:.4px}
.entrance-locked .scroll-chapter{display:none}
@media(max-width:900px){.scroll-story-active .is-pinned .event{padding:30px 23px;grid-template-columns:160px 1fr;gap:25px}.is-pinned .event-body h3{font-size:36px}.is-pinned .ceremony-slots{gap:14px}.is-pinned .ceremony-slots>div+div{padding-left:14px}.is-pinned .ceremony-slots .event-time{font-size:21px}}
@media(max-width:600px){
 .event-scroll-story.is-pinned{margin-top:30px}.is-pinned .event-stage{top:14px;height:calc(100svh - 28px);grid-template-rows:38px minmax(0,1fr);gap:10px}
 .event-stepper button{width:32px;height:32px}.event-stepper button span{font-size:11px}.is-pinned .event-stepper{padding:0 9px}
 .scroll-story-active .is-pinned .event{padding:23px 19px;grid-template-columns:1fr;gap:12px;align-content:center}
 .is-pinned .event .event-art{width:92px;height:98px;margin:auto}.is-pinned .event .event-art svg{width:57px;height:65px}.is-pinned .event-number{bottom:5px;font-size:11px}
 .is-pinned .event-body h3{font-size:33px}.is-pinned .event-body .eyebrow{font-size:10px}.is-pinned .event-body>p:not(.event-time){font-size:14px}.is-pinned .event-time{font-size:24px}.is-pinned .ceremony-slots{margin:16px 0;gap:12px}.is-pinned .ceremony-slots h4{font-size:23px}.is-pinned .ceremony-slots .event-time{font-size:23px}.is-pinned .ceremony-slots>div+div{padding:12px 0 0}.is-pinned .meal{margin:13px 0 7px}
 .scroll-story-active .scroll-chapter{left:10px;bottom:74px;padding:9px 10px;gap:7px}.scroll-chapter span{font-size:15px}.scroll-chapter i{width:12px}.scroll-chapter b{font-size:8px;max-width:95px}
 .scroll-story-active .venue-art{background-size:auto calc(170% * var(--venue-scale,1))}
}
@media(prefers-reduced-motion:reduce){.scroll-chapter{display:none!important}.hero-content{translate:none!important;scale:1!important}.marigold-border{translate:none!important}}
@media print{
 .event-scroll-story.is-pinned{height:auto;margin-top:20px}.is-pinned .event-stage{position:static;height:auto;display:block}.is-pinned .events{height:auto;overflow:visible}
 .scroll-story-active .is-pinned .event{position:relative;inset:auto;height:auto;margin-bottom:20px;transform:none!important;opacity:1!important;visibility:visible!important;break-inside:avoid}
 .scroll-story-active [data-scroll-entry]{transform:none!important;opacity:1!important}.event-stepper,.scroll-chapter{display:none!important}
}
