.bs-occasions{padding:64px 0 72px;background:var(--cream);scroll-margin-top:100px}
.bs-occasions__heading{text-align:center;max-width:720px;margin:0 auto 32px}
.bs-occasions__heading .eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:14px}
.bs-occasions__heading .eyebrow:before,.bs-occasions__heading .eyebrow:after{content:"";width:30px;height:1px;background:currentColor;flex-shrink:0}
.bs-occasions__heading h2{font-size:clamp(30px,4vw,46px);line-height:1.12;font-weight:560;letter-spacing:-.025em;color:var(--green-deep)}
.bs-occasions__heading h2 em{color:inherit;font-style:normal}
.bs-occasions__heading>p{max-width:62ch;margin:16px auto 0;font-size:17px;line-height:1.55;color:var(--green)}
.bs-occasions__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bs-occasions__card{display:flex;flex-direction:column;min-width:0;text-align:center;text-decoration:none;background:#fffcf7;border:1px solid rgba(46,70,50,.055);border-radius:17px;overflow:hidden;box-shadow:0 5px 16px rgba(65,44,22,.045);transition:transform .2s,border-color .2s,box-shadow .2s}
.bs-occasions__card:hover{transform:translateY(-3px);border-color:var(--terracotta-soft);box-shadow:0 9px 24px rgba(65,44,22,.09)}
.bs-occasions__card:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}
.bs-occasions__media{aspect-ratio:4/5;width:100%;overflow:hidden;background:var(--cream-deep)}
.bs-occasions__image{width:100%;height:100%;object-fit:cover}
.bs-occasions__placeholder{display:block;width:100%;height:100%;fill:var(--green)}
.bs-occasions__copy{display:flex;flex-direction:column;align-items:center;flex:1;padding:18px 12px 19px}
.bs-occasions__copy h3{margin:0;font-family:var(--font-display);font-weight:560;font-size:22px;line-height:1.2;letter-spacing:-.025em;color:var(--green-deep);overflow-wrap:break-word}
.bs-occasions__copy p{margin:8px 0 14px;max-width:23ch;font-size:14px;line-height:1.45;color:var(--green)}
.bs-occasions__arrow{display:grid;place-items:center;width:38px;height:38px;margin-top:auto;border-radius:50%;background:var(--terracotta);color:#fff;flex-shrink:0}
.bs-occasions__card:hover .bs-occasions__arrow{background:var(--green)}
@media(min-width:750px) and (max-width:1000px){.bs-occasions__copy h3{font-size:19px}.bs-occasions__copy{padding:15px 10px}.bs-occasions__copy p{font-size:13px}}
@media(max-width:749px){
.bs-occasions{padding:38px 0 42px;scroll-margin-top:85px}
.bs-occasions>.wrap{padding:0 16px}
.bs-occasions__heading{margin-bottom:24px}
.bs-occasions__heading .eyebrow{font-size:10px;letter-spacing:.16em;gap:10px;margin-bottom:12px}
.bs-occasions__heading .eyebrow:before,.bs-occasions__heading .eyebrow:after{width:18px}
.bs-occasions__heading>p{font-size:14px;line-height:1.5;margin-top:12px;max-width:36ch}
.bs-occasions__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bs-occasions__card{border-radius:13px;touch-action:manipulation}
.bs-occasions__copy{padding:14px 9px 15px}
.bs-occasions__copy h3{font-size:18px;line-height:1.2}
.bs-occasions__copy p{font-size:13px;line-height:1.4;margin:7px 0 12px}
.bs-occasions__arrow{width:34px;height:34px}
}
@media(max-width:360px){.bs-occasions__copy h3{font-size:16px}.bs-occasions__copy p{font-size:12px}.bs-occasions__heading h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.bs-occasions__card{transition:none}.bs-occasions__card:hover{transform:none}}

.bs-occasions__card:nth-child(4) .bs-occasions__image{transform:scale(1.12);transform-origin:center}
