
/* Promotions: original branded creatives, displayed without cropping or new overlays. */
.promotions.section { padding-block: 88px 105px; background:#F5F0E6; }
.promotions .section-kicker { color:#777B5B; border-color:#C7B9A5; }
.promotions-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:30px 0 32px; }
.promotions-heading h2 { margin:0; font:400 clamp(34px,4.3vw,58px)/1.05 Georgia, 'Times New Roman',serif; color:#382F2A; letter-spacing:-.035em; }
.promotions-heading p { margin:0 0 5px; color:#777B5B; font-size:14px; }
.promotions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.promotion-card { display:block; position:relative; overflow:hidden; background:#382F2A; aspect-ratio:864/1536; border-radius:6px; box-shadow:0 12px 30px rgba(56,47,42,.11); transition:transform .2s ease,box-shadow .2s ease; cursor:pointer; }
.promotion-card img { width:100%; height:100%; object-fit:contain; display:block; }
.promotion-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(56,47,42,.20); }
.promotion-card:focus-visible { outline:3px solid #777B5B; outline-offset:4px; }
.promotions-note { margin:20px 0 0; font-size:12px; color:#777B5B; }
@media(max-width:900px) {
 .promotions.section { padding-block:65px 75px; }
 .promotions-heading { display:block; }
 .promotions-heading p { margin-top:14px; }
 .promotions-grid { gap:12px; }
}
@media(max-width:620px) {
 .promotions.section { padding-block:55px 68px; }
 .promotions-heading { margin:23px 0; }
 .promotions-heading h2 { font-size:36px; }
 .promotions-grid { display:grid; grid-auto-flow:column; grid-auto-columns:min(82vw,360px); grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding:3px 4px 18px; scrollbar-width:thin; scrollbar-color:#777B5B transparent; -webkit-overflow-scrolling:touch; }
 .promotion-card { scroll-snap-align:center; }
 .promotions-note { font-size:12px; margin-top:11px; }
}
@media(prefers-reduced-motion:reduce) { .promotion-card { transition:none; } }
/* Keep promotions directly before contacts within the flex-based main layout. */
main > section.promotions { order: 11; }
