/* One-day homepage accents. Every addition is hidden outside the campaign window. */
[data-veterans-decoration] { display: none; }
.veterans-day { --vd-banner-height: 44px; }
.veterans-day .nav { padding-top: 0; }
.veterans-day .vd-banner {
  display: block;
  height: var(--vd-banner-height);
  margin-bottom: 1.1rem;
  color: #fff;
  background: linear-gradient(100deg, #142740 0%, #192e49 70%, #24334a 100%);
  border-bottom: 2px solid #a54042;
  position: relative;
  overflow: hidden;
}
.vd-banner::after {
  content: '';
  position: absolute;
  inset: 0 0 0 65%;
  background: repeating-linear-gradient(135deg, transparent 0 12px, #fff 12px 16px, transparent 16px 28px, #c75d5b 28px 32px);
  opacity: .07;
  pointer-events: none;
  mask-image: linear-gradient(90deg, transparent, #000);
}
.vd-banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 100%; position: relative; z-index: 1; }
.vd-banner-message { display: inline-flex; align-items: center; gap: .75rem; font-size: .8rem; font-weight: 750; letter-spacing: .015em; }
.vd-banner-message img { flex-shrink: 0; width: 38px; height: 20px; box-shadow: 0 0 0 1px #ffffff30; }
.vd-banner-thanks { font-weight: 450; color: #dfe7ef; }
.vd-banner-date { font-size: .72rem; color: #e1e5eb; white-space: nowrap; }
.veterans-day .nav .logo { position: relative; }
.veterans-day .vd-menu-honor { display: block; position: absolute; left: 44px; bottom: -10px; color: #d0d7b2; font-size: .6rem; line-height: 1; font-weight: 650; letter-spacing: .09em; white-space: nowrap; }
.veterans-day .hero .container { padding-top: calc(9rem + var(--vd-banner-height)); }
.veterans-day .hero-grain { background: radial-gradient(ellipse at 85% 45%, #737e4530, transparent 55%); }
.veterans-day .vd-hero-insignia { display: block; position: absolute; top: 27%; right: 7%; width: clamp(170px, 23vw, 330px); color: #c6c9a5; opacity: .13; z-index: 1; pointer-events: none; transform: rotate(-7deg); }
.veterans-day .hero { border-bottom: 1px solid #85895b70; }
.veterans-day .vd-salute { display: block; padding: 1.4rem 0; color: #f3f1e8; background: linear-gradient(100deg, #292e21, #1a1f19); border-bottom: 1px solid #666d453d; }
.vd-salute-inner { display: flex; align-items: center; gap: 1rem; }
.vd-salute-star { color: #c6cba0; flex: 0 0 42px; width: 42px; height: 42px; }
.vd-salute .vd-salute-title { margin: 0 0 .3rem; color: #f1f1df; font-size: .97rem; font-weight: 750; letter-spacing: .01em; }
.vd-salute .vd-salute-copy { margin: 0; color: #cdd1c5; font-size: .85rem; line-height: 1.5; }
.vd-salute-signoff { margin-left: auto; font-size: .72rem; color: #b5bca8; white-space: nowrap; }
@media (min-width: 1101px) {
  .veterans-day .nav :is(.services-mega-panel, .results-mega-panel, .about-mega-panel) { max-height: calc(100dvh - 115px - var(--vd-banner-height)); }
}
@media (max-width: 1100px) {
  .veterans-day .nav .nav-links { top: calc(79px + var(--vd-banner-height)); max-height: calc(100dvh - 79px - var(--vd-banner-height)); }
  .vd-salute-signoff { display: none; }
}
@media (max-width: 700px) {
  .vd-banner-inner { justify-content: center; }
  .vd-banner-thanks, .vd-banner-date { display: none; }
  .vd-banner-message { font-size: .76rem; }
  .veterans-day .vd-hero-insignia { top: 25%; right: -35px; width: 200px; opacity: .07; }
  .veterans-day .vd-salute { padding: 1.25rem 0; }
  .vd-salute-inner { align-items: flex-start; gap: .8rem; }
  .vd-salute-star { flex-basis: 32px; width: 32px; height: 32px; }
  .vd-salute .vd-salute-title { font-size: .9rem; }
  .vd-salute .vd-salute-copy { font-size: .8rem; }
}
