.seasonal{background:#fff9f5}
.seasonal-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.seasonal-heading h2{margin-bottom:0}.seasonal-heading>p{max-width:300px;line-height:1.65;margin:0 0 8px}
.seasonal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.seasonal-card{min-width:0}.seasonal-card>a{display:block;color:var(--navy);text-decoration:none;height:100%}
.seasonal-image{overflow:hidden;border-radius:20px;background:var(--pink-light)}
.seasonal-image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.seasonal-card:nth-child(1) img{object-position:50% 65%}
.seasonal-copy{padding:22px 4px 0}.seasonal-copy h3{font:500 clamp(24px,2.4vw,34px)/1.15 var(--display);letter-spacing:-.035em;margin:0 0 12px}
.seasonal-copy p{line-height:1.65;max-width:34ch;margin:0 0 20px;min-height:3.3em}
.seasonal-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block}
.seasonal-card>a:focus-visible{outline:3px solid var(--navy);outline-offset:7px;border-radius:20px}
.tink-ribbon{background:var(--pink);color:var(--navy);padding:22px 0;position:relative}
.ribbon-window{overflow:hidden}.ribbon-track{display:flex;width:max-content}
.ribbon-group{display:flex;align-items:center;gap:40px;padding-right:40px;font:500 clamp(25px,3vw,42px)/1.2 var(--display);white-space:nowrap}
.ribbon-star{font:400 26px/1 var(--body)}
.ribbon-duplicate{display:none}.tink-ribbon.is-moving .ribbon-duplicate{display:flex}
.tink-ribbon.is-moving .ribbon-track{animation:tink-ribbon 40s linear infinite}
.tink-ribbon.is-paused .ribbon-track{animation-play-state:paused}
.ribbon-toggle{display:block;margin:14px 24px 0 auto;border:1px solid currentColor;background:transparent;color:inherit;border-radius:30px;padding:9px 15px;font:600 12px var(--body);cursor:pointer;min-height:36px}
.ribbon-toggle[hidden]{display:none}
.tink-ribbon:not(.is-moving) .ribbon-track{width:100%}.tink-ribbon:not(.is-moving) .ribbon-group{white-space:normal;flex-wrap:wrap;justify-content:center;padding:0 24px;gap:18px 28px}
@keyframes tink-ribbon{to{transform:translateX(-50%)}}
@media(max-width:700px){.seasonal-heading{display:block}.seasonal-heading>p{margin-top:20px}.seasonal-grid{grid-template-columns:1fr;gap:36px}.seasonal-image img{aspect-ratio:1/1}.seasonal-copy p{min-height:0}.seasonal-copy{padding-top:18px}.ribbon-group{gap:26px;padding-right:26px}}
@media(prefers-reduced-motion:reduce){.tink-ribbon.is-moving .ribbon-track{animation:none}}
