.collection-story{height:195svh;position:relative;background:#fff;scroll-margin-top:0}
.collection-stage{height:76svh;min-height:520px;position:sticky;top:90px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.collection-media{position:absolute;width:94%;max-width:1500px;aspect-ratio:16/9;will-change:transform;transform:translateX(calc(var(--settle,0)*var(--side)*25%)) scale(calc(1 - var(--settle,0)*.39));mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
.collection-media img,.collection-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.collection-media video{opacity:0}.collection-media.is-ready video{opacity:1}.collection-media.is-final video{opacity:0}
.collection-media .collection-final{opacity:0;pointer-events:none}.collection-media.is-final .collection-final{opacity:1}
.collection-copy{position:absolute;left:58%;width:36%;opacity:var(--copy,0);transform:translateY(calc(24px - var(--copy,0)*24px));visibility:hidden}
.collection-copy.is-visible{visibility:visible}.collection-story[data-side="right"] .collection-copy{left:7%}
.collection-copy h2{font-family:var(--heading,'Syne',sans-serif);font-size:clamp(52px,6.4vw,108px);line-height:.98;letter-spacing:-.06em;margin:20px 0 32px;font-weight:700}
.collection-copy .eyebrow{color:#9c4e20}.collection-copy .btn{white-space:nowrap}
.collection-scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#716b63;opacity:calc(1 - var(--settle,0))}
.collection-story.is-static{height:max(76svh,520px);--settle:1;--copy:1}.collection-story.is-static .collection-copy{visibility:visible}
.reviews-section{padding:100px 0;background:#f5f5f7;overflow:hidden}.reviews-section[hidden]{display:none}.reviews-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px}.reviews-heading h2{margin:12px 0;font-size:clamp(32px,4vw,60px);letter-spacing:-.045em}.reviews-track{display:flex;gap:20px;padding-right:20px;width:max-content;animation:review-drift 80s linear infinite;will-change:transform;cursor:grab;touch-action:pan-y;user-select:none}.reviews-track:active{cursor:grabbing}.reviews-track:hover:not(.is-resuming),.reviews-track.is-paused,.reviews-track.is-dragging{animation-play-state:paused}.review-card{width:340px;padding:28px;border-radius:20px;background:white;display:flex;flex-direction:column;gap:18px}.review-person{display:flex;gap:12px;align-items:center}.review-person img,.review-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eee;display:grid;place-items:center;pointer-events:none;-webkit-user-drag:none}.review-card blockquote{margin:0;line-height:1.65}.review-card a{font-size:12px;margin-top:auto}.review-stars{color:#b96500;letter-spacing:3px}.review-card p{margin:0}.review-card small{color:#6e6e73}@keyframes review-drift{to{transform:translateX(-50%)}}
@media(max-width:767px){.collection-story{height:190svh}.collection-stage{height:80svh;min-height:560px;top:70px}.collection-media{width:130%;transform:translateY(calc(var(--settle,0)*-20%)) scale(calc(1 - var(--settle,0)*.12))}.collection-copy,.collection-story[data-side="right"] .collection-copy{left:8%;width:84%;top:60%;text-align:center}.collection-copy h2{font-size:clamp(44px,11vw,68px);margin:12px 0 22px}.collection-copy .eyebrow{font-size:10px}.collection-scroll-cue{bottom:25px;font-size:9px}.reviews-heading{align-items:flex-start}.review-card{width:290px}}
@media(prefers-reduced-motion:reduce){.reviews-track{animation:none;width:auto;overflow:auto}.review-card{flex-shrink:0}}

.reviews-empty{border-top:1px solid #dededb;padding-top:30px;padding-bottom:18px}.review-empty-mark{font-family:Georgia,serif;font-size:100px;line-height:1;color:#d97706;display:block;height:65px}.reviews-empty h3{font-size:clamp(26px,3vw,42px);letter-spacing:-.04em;margin:16px 0}.reviews-empty p{color:#68726a;margin:0 0 28px}.reviews-heading button[hidden]{display:none}

.reviews-attribution{font-size:13px;color:#68726a;line-height:1.6}.reviews-attribution a{text-decoration:underline;text-underline-offset:4px}.review-card{min-height:285px;border:1px solid #e9e9e6;box-shadow:0 6px 24px #193c3004}.review-person strong{font-size:14px}.review-card blockquote{font-size:15px}.review-card a{color:#065f46;text-underline-offset:4px}.reviews-section{scroll-margin-top:80px}

@media(max-width:767px){.collection-story.is-static{height:max(80svh,560px)}}

/* Matching editorial prefixes and a scroll-scrubbed chikki entrance. */
.collection-prefix{display:block;font-size:.46em;line-height:1.25;letter-spacing:-.035em;margin-bottom:.22em;font-weight:500}
.collection-story[data-collection="snacks"] .collection-media img{transform:translateY(calc((1 - var(--entrance,0))*120%)) rotate(calc((var(--entrance,0) - 1)*65deg));transform-origin:50% 100%;opacity:clamp(0,calc(var(--entrance,0)*5),1);will-change:transform,opacity}
.collection-story[data-collection="snacks"] .collection-copy h2{font-size:clamp(48px,5.5vw,92px)}
@media(max-width:767px){
 .collection-copy,.collection-story[data-side="right"] .collection-copy{top:55%}
 .collection-copy h2,.collection-story[data-collection="snacks"] .collection-copy h2{font-size:clamp(38px,10vw,58px);margin:10px 0 18px}
 .collection-copy .eyebrow{display:none}
 .collection-story[data-collection="snacks"] .collection-media{width:112%}
}

/* Transparent artwork needs no edge fades or extra background padding. */
.collection-story[data-collection="snacks"]{height:175svh}
.collection-story[data-collection="snacks"] .collection-media{mask-image:none;aspect-ratio:2760/1504}
.collection-story[data-collection="snacks"] .collection-media img{scale:1.12}
.collection-story[data-collection="snacks"].is-static{height:max(76svh,520px)}
@media(max-width:767px){
 .collection-story[data-collection="snacks"]{height:170svh}
 .collection-story[data-collection="snacks"] .collection-media{width:104%}
 .collection-story[data-collection="snacks"].is-static{height:max(80svh,560px)}
}
