@font-face { font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap; src:url('bebas-neue.woff') format('woff'); }
@font-face { font-family:'Rye'; font-style:normal; font-weight:400; font-display:swap; src:url('rye-latin.woff2') format('woff2'); }
    .brand-strip { --promo-height: clamp(30px, 5.5vw, 88px); position: absolute; right: 0; bottom: var(--promo-height); left: 0; z-index: 2;
      overflow: hidden; padding: 10px 0 2px; background: var(--canvas); color: var(--red);
      font: 400 clamp(2.5rem, 9.5vw, 9rem)/1.15 'Bebas Neue', Impact, sans-serif;
      letter-spacing: .015em; -webkit-user-select: none; user-select: none; }
    .brand-strip-copy { display: block; flex-shrink: 0; white-space: pre;
      text-shadow: 1px 1px 0 #000, 2px 2px 0 #000, 3px 3px 0 #000; }
    .brand-strip-words { display: inline; font-family: 'Rye', Georgia, serif; font-weight: 400;
      color: var(--red); text-transform: uppercase; }
    .brand-strip-track { display: flex; width: max-content; }
    .brand-strip-group { display: flex; flex-shrink: 0; align-items: center; }
    .hero-promo-strip { position: absolute; right: 0; bottom: 0; left: 0; z-index: 3; display: flex; align-items: center;
      width: 100%; height: clamp(30px, 5.5vw, 88px); overflow: hidden; background: var(--red); color: #000;
      font: 400 clamp(20px, 2.3vw, 34px)/1 'Bebas Neue', Impact, sans-serif; letter-spacing: .025em; }
    .hero-promo-track { display: flex; flex: 0 0 auto; width: max-content; }
    .hero-promo-group { display: flex; flex: 0 0 auto; }
    .hero-promo-copy { display: block; flex: 0 0 auto; padding-right: 24px; white-space: nowrap; }
    .brand-strip-track[data-moving], .hero-promo-track[data-moving] { will-change: transform; }
    @media (prefers-reduced-motion: reduce) {
      .brand-strip-track { width: 100%; animation: none; transform: none; }
      .brand-strip-group { width: 100%; padding-inline: 20px; justify-content: center; }
      .brand-strip-group + .brand-strip-group, .brand-strip-copy + .brand-strip-copy { display: none; }
      .brand-strip-copy { white-space: normal; text-align: center; }
    }

/* These banners sit in page flow immediately above the footer. */
.footer-banners { width:100%; overflow:hidden; }
.footer-banners .brand-strip, .footer-banners .hero-promo-strip { position:relative; inset:auto; z-index:auto; }
@media (max-width:760px) {
  .footer-banners .brand-strip { font-size:clamp(2.5rem, 10.6vw, 5rem); padding-block:12px 6px; }
  .footer-banners .hero-promo-strip { height:clamp(32px, 7vw, 48px); font-size:clamp(18px, 5vw, 24px); }
}
@media (prefers-reduced-motion:reduce) {
  .footer-banners .hero-promo-strip { height:auto; min-height:32px; padding:5px 8px; font:700 20px/1.2 var(--body); text-align:center; }
  .hero-promo-track { display:block; width:100%; white-space:normal; }
  .hero-promo-group { justify-content:center; }
  .hero-promo-copy { flex:0 1 auto; padding-right:0; white-space:normal; }
  .hero-promo-group + .hero-promo-group, .hero-promo-copy:not(:first-child) { display:none; }
}

