/* The collection is isolated from the original full-height hero. */
.collection{background:radial-gradient(ellipse at 80% 20%,#692a30,transparent 65%),#3e1019;color:#fff1d9;min-height:100svh;overflow:hidden;position:relative;display:flex;flex-direction:column}
.collection-header{display:flex;align-items:center;gap:28px;padding:28px 3%;font-size:12px;letter-spacing:.12em}
.collection-logo{font-size:27px;font-weight:800;letter-spacing:-1px;padding-right:28px;border-right:1px solid #fff1d95c}
.collection-filters{display:flex;gap:28px;margin-left:auto;letter-spacing:0}
.collection-filters button{background:none;border:0;border-bottom:1px solid transparent;padding:10px 0;font-size:13px}
.collection-filters button.selected{border-color:#fff1d9}
.collection-count{border-left:1px solid #fff1d95c;padding-left:28px}
.collection h2{text-align:center;font-family:Georgia,serif;font-weight:500;font-size:clamp(40px,5.3vw,84px);letter-spacing:-.055em;margin:12px 0 0;line-height:1.15}
.collection-stage{position:relative;flex:1;background:linear-gradient(180deg,transparent 55%,#752d33 100%)}
.coffee-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;padding:25px 36vw 22px;gap:0;outline-offset:-4px}
.coffee-track::-webkit-scrollbar{display:none}.coffee-track.dragging{cursor:grabbing;scroll-snap-type:none}
.coffee-card{flex:0 0 28vw;min-width:0;scroll-snap-align:center;text-align:left;position:relative}
.coffee-visual{height:clamp(260px,47svh,520px);width:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;border:0;background:none;padding:0;isolation:isolate;transform:translateY(calc(var(--depth,0)*-20px)) scale(calc(1 - var(--depth,0)*.14));transform-origin:center bottom;transition:filter .2s;filter:brightness(calc(1 - var(--depth,0)*.15))}
.coffee-visual:before{content:"";position:absolute;width:95%;height:12%;bottom:-2%;left:-9%;background:#150307b3;border-radius:50%;filter:blur(9px);transform:skewX(-30deg);z-index:-1}
.collection-pack{height:100%;aspect-ratio:1/1.42;position:relative;filter:drop-shadow(-18px 12px 7px #16040766)}
.collection-pack img{width:100%;height:100%;display:block;pointer-events:none;user-select:none}
.collection-pack b{position:absolute;top:40%;left:12%;width:69%;color:#fff1d9;font-size:clamp(28px,3.2vw,62px);font-weight:800;letter-spacing:-.055em;white-space:nowrap;transform:rotate(1deg);text-align:center;line-height:1}
.collection-pack.house b{color:#531c1c}
.coffee-details{padding:24px 12% 0;opacity:calc(1 - var(--depth,0)*.2)}
.coffee-details h3{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px}
.coffee-details p{font-size:12px;line-height:1.5;margin:0 0 8px;min-height:18px}.coffee-details strong{font-size:14px;font-weight:500}
.collection-purchase{background:#f7eddf;color:#531c1c;display:flex;align-items:center;gap:30px;padding:22px 3%}
.collection-pick{flex:1;min-width:190px}.collection-pick>span{font-size:11px;letter-spacing:.1em}.collection-pick h3{font:500 clamp(22px,2.4vw,38px) Georgia,serif;text-transform:uppercase;margin:4px 0 0}
.collection-purchase label,.collection-quantity{font-size:12px;display:flex;flex-direction:column;gap:8px;white-space:nowrap}
.collection-purchase select,.collection-size>span{height:38px;min-width:110px;border:1px solid #531c1c55;border-radius:0;background:transparent;color:#531c1c;font:inherit;padding:8px 12px}
.collection-size>span{background:#531c1c;color:#fff1d9;text-align:center;min-width:76px}
.collection-quantity>div{display:flex;border:1px solid #531c1c55;height:38px;align-items:center}.collection-quantity button{border:0;background:none;width:32px;height:36px;font-size:20px}.collection-quantity output{min-width:28px;text-align:center}
.collection-price{font:32px Georgia,serif;border-left:1px solid #531c1c55;padding-left:25px}
.collection-add{background:#531c1c;color:#fff1d9;border:1px solid #531c1c;min-height:52px;padding:15px 26px;letter-spacing:.1em;font-size:12px;display:flex;gap:25px;justify-content:space-between;transition:background .2s}.collection-add:hover{background:#792832}
.collection-footer{display:flex;align-items:center;gap:28px;background:#f7eddf;color:#531c1c;padding:16px 3% 22px;border-top:1px solid #531c1c22;font-size:11px;letter-spacing:.15em}
.collection-progress{height:3px;flex:1;background:#531c1c18;position:relative}.collection-progress i{display:block;height:100%;width:33.333%;background:#531c1c;transition:transform .25s}
.collection-arrows{display:flex;gap:12px}.collection-arrows button{border:1px solid #531c1c66;background:none;width:38px;height:35px;font-size:24px;transition:background .2s}.collection-arrows button:hover{background:#531c1c15}
.collection-top{letter-spacing:0}.collection-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1000px){.collection-purchase{gap:16px;flex-wrap:wrap}.collection-pick{min-width:170px}.collection-price{padding-left:15px}.collection-header{gap:16px}.collection-count{display:none}.collection-eyebrow{font-size:10px}.collection-logo{padding-right:16px}.coffee-visual{height:38svh;min-height:260px}.collection-pack{max-width:100%}}
@media(max-width:600px){.collection-header{padding:25px 5% 14px;flex-wrap:wrap;gap:16px}.collection-logo{font-size:23px}.collection-filters{width:100%;margin:0;justify-content:center;gap:32px}.collection h2{font-size:42px;padding:0 15px;margin:12px 0}.coffee-track{padding:18px 15vw 25px}.coffee-card{flex-basis:70vw}.coffee-visual{height:38svh;min-height:260px;max-height:400px}.collection-pack b{font-size:38px}.coffee-details{padding:22px 10% 0}.coffee-details h3{font-size:13px}.collection-purchase{padding:20px 5%;gap:18px 14px;display:grid;grid-template-columns:1fr 1fr 1fr}.collection-pick{grid-column:span 2;min-width:0}.collection-pick h3{font-size:27px}.collection-price{grid-column:3;grid-row:1;text-align:right;border:0;padding:0;font-size:28px}.collection-purchase select{min-width:0;width:100%;padding:7px}.collection-add{grid-column:1/-1;justify-content:center}.collection-footer{gap:16px;padding:16px 5%}.collection-footer>span:first-child,.collection-top{display:none}.collection-pack{max-width:95%}}
@media(prefers-reduced-motion:reduce){.coffee-track{scroll-behavior:auto}.collection *{transition:none!important}}
@media(max-width:600px){.coffee-track{padding-left:18vw;padding-right:18vw}.coffee-card{flex-basis:64vw}}
.collection-arrows button:disabled{opacity:.3;cursor:default}
/* Full-height cream collection with a stronger foreground/background hierarchy. */
.collection{background:#f8f2e8;color:#491b20;height:100svh;min-height:680px;font-family:SideB,Arial,sans-serif}
.collection-logo,.collection-count{border-color:#491b2033}
.collection-filters button.selected{border-color:#491b20}
.collection h2{font-family:SideB,Arial,sans-serif;font-size:clamp(34px,4.5vw,68px);font-weight:700;letter-spacing:-.045em;margin:12px 0 20px}
.collection-stage{display:flex;align-items:center;min-height:0;background:radial-gradient(ellipse at 75% 35%,#fffaf3 0,transparent 65%),linear-gradient(180deg,#f8f2e800 50%,#e9dccb70 100%)}
.coffee-track{width:100%;padding-top:22px;padding-bottom:35px}
.coffee-visual{height:clamp(300px,55svh,650px);transform:translateY(calc(var(--depth,0)*-65px)) scale(calc(1 - var(--depth,0)*.28));filter:brightness(calc(1 - var(--depth,0)*.035))}
.coffee-visual:before{background:#49261e55;height:8%;filter:blur(9px)}
.collection-pack{filter:drop-shadow(-13px 10px 6px #49261e30);max-width:100%}
.coffee-details{transform:translateY(calc(var(--depth,0)*-42px));padding-top:26px}
.collection-arrows{position:absolute;inset:0 2.7%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.collection-arrows button{pointer-events:auto;display:grid;place-items:center;width:38px;height:38px;border:0;background:#ca220d;color:#fff1d9;transition:background .2s,transform .2s}
.collection-arrows button:hover{background:#9c190c;transform:translateY(-2px)}
.collection-arrows svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.collection{min-height:680px}.collection-header{padding-top:22px}.collection h2{font-size:34px;margin:16px 0 6px}.coffee-visual{height:45svh;min-height:300px;max-height:440px;transform:translateY(calc(var(--depth,0)*-45px)) scale(calc(1 - var(--depth,0)*.25))}.coffee-details{transform:translateY(calc(var(--depth,0)*-30px))}.collection-arrows{inset:0 4%}.collection-arrows button{width:32px;height:36px}.coffee-track{padding-bottom:30px}.collection-pack b{font-size:clamp(28px,8vw,38px)}}
/* Reference-style product captions and direct add buttons. */
.coffee-details{position:relative;padding-right:calc(12% + 48px);min-height:110px}
.coffee-details h3{font-size:14px;letter-spacing:.12em;font-weight:600}
.coffee-details p{font-size:12px;line-height:1.5;margin-bottom:9px}
.coffee-details strong{font-size:16px;letter-spacing:.03em}
.coffee-quick-add{position:absolute;right:8%;bottom:8px;width:36px;height:36px;display:grid;place-items:center;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;padding:0;transition:background .2s,color .2s}
.coffee-quick-add span{font-size:25px;font-weight:400;line-height:1}
.coffee-quick-add:hover,.coffee-quick-add.is-added{background:#491b20;color:#fff1d9;border-color:#491b20}
.bag-notice{position:fixed;bottom:24px;left:50%;transform:translate(-50%,18px);z-index:30;display:flex;align-items:center;gap:14px;background:#CA220D;color:#fff1d9;padding:15px 18px;box-shadow:0 8px 30px #491b2026;opacity:0;visibility:hidden;transition:transform .3s,opacity .3s,visibility .3s;max-width:calc(100vw - 28px);width:max-content;font:500 12px SideB,Arial,sans-serif}
.bag-notice.is-visible{transform:translate(-50%,0);opacity:1;visibility:visible}
.bag-notice-check{font-size:18px}.bag-notice button{background:none;border:0;border-left:1px solid #fff1d94a;padding:5px 0 5px 14px;white-space:nowrap;font:inherit;color:inherit}.bag-notice button:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.coffee-details{padding-right:48px;min-height:115px}.coffee-details h3{font-size:12px}.coffee-details p{font-size:11px}.coffee-quick-add{right:4%;bottom:8px;width:32px;height:32px}.bag-notice{bottom:16px;padding:12px;gap:9px;font-size:11px}.bag-notice-message{max-width:170px}.bag-notice button{padding-left:10px}}
/* Size the pack from its width so narrow screens cannot stretch it vertically. */
.collection{--pack-width:min(24vw,34svh,380px)}
.coffee-visual{height:calc(var(--pack-width)*1.42);min-height:0;max-height:none}
.collection-pack{flex:none;width:var(--pack-width);height:calc(var(--pack-width)*1.42);max-width:none;aspect-ratio:1 / 1.42;container-type:inline-size}
.collection-pack b{font-size:15cqw}
.coffee-visual:before{width:var(--pack-width);left:50%;margin-left:calc(var(--pack-width)*-.6)}
.coffee-details{width:var(--pack-width);max-width:calc(100% - 12px);margin:0 auto;padding:22px 0 0;min-height:118px;display:grid;grid-template-columns:minmax(0,1fr) 36px;column-gap:12px;row-gap:6px;align-content:start}
.coffee-details h3,.coffee-details p,.coffee-details strong{grid-column:1;margin:0;min-height:0}
.coffee-details h3{font-size:clamp(11px,1vw,14px);letter-spacing:.08em;overflow-wrap:normal}
.coffee-details p{font-size:clamp(10px,.85vw,12px)}
.coffee-quick-add{position:static;grid-column:2;grid-row:1 / 4;align-self:center;width:36px;height:36px}
@media(max-width:600px){.collection{--pack-width:min(56vw,34svh,300px)}.coffee-details{padding-top:20px;column-gap:10px;grid-template-columns:minmax(0,1fr) 34px}.coffee-details h3{font-size:12px}.coffee-details p{font-size:11px}.coffee-quick-add{width:34px;height:34px}}
.coffee-visual{transform:translateY(calc(var(--depth,0)*var(--pack-width)*-.18)) scale(calc(1 - var(--depth,0)*.25))}
.coffee-details{transform:translateY(calc(var(--depth,0)*var(--pack-width)*-.12))}
/* Explain quick add without moving the product caption. */
.coffee-quick-add{position:relative;overflow:visible}
.coffee-quick-add:hover,.coffee-quick-add:focus-visible,.coffee-quick-add.is-added{background:#CA220D;border-color:#CA220D;color:#fff1d9}
.coffee-quick-add::after{content:'Add to cart';position:absolute;right:0;bottom:calc(100% + 8px);white-space:nowrap;background:#CA220D;color:#fff1d9;padding:7px 10px;font:500 11px SideB,Arial,sans-serif;letter-spacing:.025em;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .18s,transform .18s}
.coffee-quick-add:hover::after,.coffee-quick-add:focus-visible::after{opacity:1;transform:translateY(0)}
.coffee-quick-add.is-added::after{content:'Added to cart ✓'}
@media(hover:none){.coffee-quick-add:not(:focus-visible):not(.is-added)::after{opacity:0}}
.coffee-quick-add{inset:auto}
/* Shared catalog print used on the hero and collection packets. */
.catalog-label{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:visible;fill:#39241f;font-family:SideB,Arial,sans-serif}
.coffee-category{grid-column:1;font-size:9px;letter-spacing:.06em;line-height:1.4;color:#805950}
.coffee-details{min-height:136px;row-gap:5px}
.coffee-quick-add{grid-row:1 / 5}
@media(max-width:600px){.collection-filters{gap:22px}.coffee-details{min-height:142px}.coffee-category{font-size:8px}}
/* Collection typography follows the landing-page identity in neutral ink. */
.collection{color:#111}
.collection-header{flex-wrap:wrap}
.collection-logo{color:#111;letter-spacing:0;font-size:inherit;font-weight:inherit;flex-shrink:0}
.collection-logo .header-symbol{filter:brightness(0)}
.collection-logo,.collection-count{border-color:#1113}
.collection h2,.collection-eyebrow,.collection-count,.collection-filters button{color:#111}
.collection-filters button{letter-spacing:.08em;position:relative;border-bottom-color:transparent}
.collection-filters button.selected{border-bottom-color:#111}
.filter-window{display:block;overflow:hidden;line-height:1.5}
.filter-roll{display:block;position:relative;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.filter-roll:after{content:attr(data-label);position:absolute;top:100%;left:0;white-space:nowrap;font-weight:650}
.collection-filters button:is(:hover,:focus-visible) .filter-roll{transform:translateY(-100%)}
.coffee-details{opacity:calc(1 - var(--depth,0)*.07)}
.coffee-details h3{color:#111;font-weight:650}
.coffee-details .coffee-category{color:#646464}
.coffee-details p{color:#444}
.coffee-details strong{color:#171717}
.coffee-quick-add{color:#111}
.collection .catalog-label{fill:#111}
@media(max-width:800px){.collection-filters{width:100%;margin-left:0;justify-content:center;gap:clamp(16px,4vw,32px)}.collection-header{row-gap:12px}}
/* Readable caption hierarchy, including the receding cards. */
.coffee-details{opacity:1;min-height:156px}
.coffee-details h3{font-size:clamp(12px,1.05vw,15px);color:#111}
.coffee-details .coffee-category{font-size:clamp(11px,.9vw,13px);font-weight:550;color:#333;line-height:1.5;letter-spacing:.035em}
.coffee-details p{font-size:clamp(12px,1vw,14px);font-weight:450;color:#292929;line-height:1.6}
.collection-filters button,.collection-filters button.selected{border-bottom-color:transparent}
.collection-filters button:before{content:'';position:absolute;left:50%;bottom:0;width:5px;height:5px;background:#CA220D;transform:translateX(-50%) scale(0);transition:transform .2s}
.collection-filters button.selected:before{transform:translateX(-50%) scale(1)}
/* Identical letter metrics prevent the incoming text extending past its mask. */
.filter-roll:after,.nav-roll:after{font-weight:inherit;letter-spacing:inherit}
.filter-window{line-height:1.7;padding-inline:3px;margin-inline:-3px}
.filter-roll{white-space:nowrap}
.nav-window{height:24px;line-height:24px;padding-inline:3px;margin-inline:-3px}
.nav-roll{line-height:24px;white-space:nowrap}
@media(max-width:600px){.coffee-details{min-height:160px}.coffee-details .coffee-category{font-size:11px}.coffee-details p{font-size:12px}}
.collection-eyebrow{color:#000;font-weight:600}
.collection h2{margin-bottom:10px}
.collection-intro{margin:0 20px 16px;text-align:center;color:#111;font-size:clamp(12px,1.15vw,16px);font-weight:450;line-height:1.5}
@media(max-width:600px){.collection-arrows{display:none}}

/* Stronger contact and cast shadows keep the bags grounded. */
.coffee-visual:before{background:#38251f80;height:9%;filter:blur(10px)}
.collection-pack{filter:drop-shadow(-16px 14px 9px #39251f55)}
/* Keep shadows on the same composited surface throughout carousel movement. */
.coffee-visual{filter:none;transition:none;overflow:visible}
.coffee-visual:before{background:radial-gradient(ellipse,#38251f75 0%,#38251f38 38%,transparent 72%);filter:none;height:14%;width:calc(var(--pack-width)*1.22);margin-left:calc(var(--pack-width)*-.72);bottom:-4%;transform:skewX(-30deg);z-index:0}
.coffee-visual .collection-pack{z-index:1;will-change:transform;transform:translateZ(0)}
/* WebKit can tile filtered SVG/image groups into visible rectangular patches.
   Mobile shadows use gradients, without any offscreen filter surface. */
@media(max-width:900px){
 .coffee-visual .collection-pack{filter:none!important;will-change:auto;transform:none;container-type:normal}
 #coffee-product .collection-pack{filter:none!important}
 .coffee-visual .collection-pack b{font-size:calc(var(--pack-width)*.15)}
 .coffee-visual{isolation:auto}
 .coffee-visual:before{height:13%;bottom:-4%;background:radial-gradient(ellipse,#39251f60 0%,#39251f28 40%,transparent 72%)}
}
