.cbp{background:linear-gradient(120deg,var(--cbp-top),var(--cbp-bottom));color:var(--cbp-ink);padding:32px 20px}
.cbp-inner{display:flex;align-items:center;justify-content:center;gap:24px;max-width:900px;margin:0 auto}
.cbp-bag{flex:none;display:block;width:clamp(104px,28vw,180px);filter:drop-shadow(0 14px 18px rgba(58,37,65,.26));animation:cbp-bob 3.2s ease-in-out infinite}
.cbp-pouch{position:relative;display:block;aspect-ratio:900/1370;overflow:hidden;-webkit-mask:var(--cynder-pouch-mask) center/100% 100% no-repeat;mask:var(--cynder-pouch-mask) center/100% 100% no-repeat}
.cbp-pouch img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.cbp-pouch::after{content:"";position:absolute;inset:0;background:var(--cynder-pouch-finish) center/100% 100% no-repeat}
.cbp-foil{position:absolute;inset:0;z-index:1;overflow:hidden}
.cbp-foil::before{content:"";position:absolute;top:0;bottom:0;left:0;width:300%;background:linear-gradient(112deg,transparent 42%,rgba(255,255,255,.1) 45%,rgba(255,255,255,.62) 49%,rgba(225,245,255,.32) 51%,rgba(255,235,250,.42) 53%,transparent 57%);transform:translateX(-86.7%);animation:cbp-foil 4.2s ease-in-out infinite}
@keyframes cbp-bob{50%{translate:0 -8px}}
@keyframes cbp-foil{0%{transform:translateX(-86.7%)}62%,100%{transform:translateX(20%)}}
.cbp-copy{display:grid;justify-items:start;gap:8px;min-width:0}
.cbp :is(.cbp-eyebrow,.cbp-heading,.cbp-text){margin:0;color:inherit}
.cbp .cbp-eyebrow{padding:2px 12px;border-radius:999px;background:var(--cbp-accent);color:#fff;font:800 12px/1.5 'Cynder Nunito',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.cbp .cbp-heading{font:400 clamp(26px,6vw,44px)/1.08 'Cynder Lilita',sans-serif}
.cbp .cbp-text{font:600 clamp(14px,2vw,17px)/1.4 'Cynder Nunito',Arial,sans-serif;max-width:44ch}
.cbp .cbp-button{display:inline-block;margin-top:6px;padding:12px 26px;border-radius:999px;background:var(--cbp-accent);color:#fff;font:800 16px/1.2 'Cynder Nunito',Arial,sans-serif;text-decoration:none;transition:translate .2s}
.cbp .cbp-button:hover{translate:0 -2px}
.cbp .cbp-button:focus-visible{outline:3px solid var(--cbp-ink);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.cbp .cbp-button{transition:none}.cbp-bag,.cbp-foil::before{animation:none}}
