html body .sunday-updates-band { display: none !important; }

/* Footer composition: one calm grid instead of several disconnected cards. */
html body #tbp_footer[data-sunday-footer-ready="true"] {
  background: #000 !important;
  box-shadow: inset 0 1px 0 rgba(208, 243, 148, .14) !important;
}

html body #tbp_footer .sunday-footer-shell {
  width: min(calc(100% - 64px), 1440px) !important;
  padding: clamp(28px, 3.2vw, 40px) 0 12px !important;
}

html body #tbp_footer .sunday-footer-intro {
  display: block !important;
  padding: 0 0 clamp(16px, 1.7vw, 21px) !important;
}

html body #tbp_footer .sunday-footer-brand {
  display: grid !important;
  grid-template-columns: auto minmax(170px, 250px) !important;
  align-items: start !important;
  gap: clamp(24px, 3vw, 42px) !important;
}

html body #tbp_footer .sunday-footer-wordmark {
  margin: -4px 0 0 !important;
  color: #fff !important;
  font-size: clamp(36px, 3vw, 48px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: translateY(8px) !important;
}

html body #tbp_footer .sunday-footer-brand > p:last-child {
  max-width: 250px !important;
  margin: 3px 0 0 !important;
  color: rgba(255, 255, 255, .64) !important;
  font: 500 12px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}

html body #tbp_footer .sunday-footer-newsletter {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-height: 118px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body #tbp_footer .sunday-footer-newsletter::after { display: none !important; }

html body #tbp_footer .sunday-footer-newsletter h3 {
  margin: 0 0 5px !important;
  color: #fff !important;
  font: 700 clamp(15px, 1.25vw, 18px)/1.25 -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

html body #tbp_footer .sunday-footer-newsletter-copy > p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .56) !important;
  font: 500 11px/1.45 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}

html body #tbp_footer .sunday-footer-newsletter-copy {
  width: 100% !important;
  margin: 0 !important;
  padding-top: 5px !important;
  text-align: left !important;
  align-self: stretch !important;
  transform: none !important;
}

html body #tbp_footer .sunday-footer-newsletter-copy > * {
  width: 100% !important;
  text-align: left !important;
}

html body #tbp_footer .sunday-footer-form {
  position: relative !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  transform: none !important;
}

html body #tbp_footer .sunday-footer-form > label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

html body #tbp_footer .sunday-footer-form > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

html body #tbp_footer .sunday-footer-form > div:focus-within {
  background: transparent !important;
  box-shadow: none !important;
}

html body #tbp_footer .sunday-footer-form input {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .055) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1) !important;
  font: 500 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
  transition: background 180ms ease, box-shadow 180ms ease !important;
}

html body #tbp_footer .sunday-footer-form input:focus {
  background: rgba(255, 255, 255, .08) !important;
  box-shadow: inset 0 0 0 1px rgba(240, 154, 114, .6), 0 0 0 3px rgba(240, 154, 114, .08) !important;
}

html body #tbp_footer .sunday-footer-form input::placeholder {
  color: rgba(255, 255, 255, .48) !important;
}

html body #tbp_footer .sunday-footer-form button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-width: 136px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .08) !important;
  -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  backdrop-filter: blur(10px) saturate(115%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1) !important;
  font: 700 11px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
  transition: color 220ms ease, border-color 220ms ease, background 220ms ease, transform 220ms ease, box-shadow 220ms ease !important;
}

html body #tbp_footer .sunday-footer-form button span {
  display: inline-block !important;
  color: #f09a72 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1) !important;
}

html body #tbp_footer .sunday-footer-form button:hover,
html body #tbp_footer .sunday-footer-form button:focus-visible {
  color: #fff !important;
  border-color: rgba(240, 154, 114, .72) !important;
  background: rgba(240, 154, 114, .14) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 8px 22px rgba(0, 0, 0, .2) !important;
  transform: translateY(-1px) !important;
}

html body #tbp_footer .sunday-footer-form button:hover span,
html body #tbp_footer .sunday-footer-form button:focus-visible span {
  transform: translateX(3px) !important;
}

html body #tbp_footer .sunday-footer-form-status {
  position: absolute !important;
  min-height: 0 !important;
  margin: 6px 10px 0 !important;
  color: rgba(255, 255, 255, .72) !important;
  font-size: 10px !important;
}

html body #tbp_footer .sunday-footer-directory {
  display: grid !important;
  grid-template-columns: minmax(300px, 1.22fr) minmax(145px, .58fr) minmax(145px, .58fr) minmax(280px, 1.08fr) !important;
  align-items: start !important;
  column-gap: clamp(32px, 3.2vw, 52px) !important;
  padding: 0 0 clamp(16px, 2vw, 24px) !important;
  border: 0 !important;
}

html body #tbp_footer .sunday-footer-nav > p,
html body #tbp_footer .sunday-footer-notice-label {
  margin: 0 0 10px !important;
  color: #f09a72 !important;
  font: 700 9px/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

html body #tbp_footer .sunday-footer-nav {
  display: grid !important;
  grid-template-rows: auto repeat(4, 24px) !important;
  align-content: start !important;
  min-height: 118px !important;
}

html body #tbp_footer .sunday-footer-nav a {
  min-height: 24px !important;
  padding: 3px 0 !important;
  color: rgba(255, 255, 255, .76) !important;
  font: 600 11px/1.45 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}

html body #tbp_footer .sunday-footer-nav a:hover,
html body #tbp_footer .sunday-footer-nav a:focus-visible { color: #d0f394 !important; }

html body #tbp_footer .sunday-footer-notice {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 118px !important;
  box-sizing: border-box !important;
  padding: 13px 15px !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, .025) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

html body #tbp_footer .sunday-footer-notice-icon,
html body #tbp_footer .sunday-footer-notice h3 { display: none !important; }

html body #tbp_footer .sunday-footer-notice div > p:not(.sunday-footer-notice-label) {
  max-width: 420px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .58) !important;
  font: 500 9px/1.5 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}

html body #tbp_footer .sunday-footer-base {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 24px !important;
  min-height: 40px !important;
  padding: 2px 0 0 !important;
}

html body #tbp_footer .sunday-footer-base nav { justify-content: center !important; }
html body #tbp_footer .sunday-footer-top { justify-self: end !important; }
html body #tbp_footer .sunday-footer-base :is(a, > p) {
  color: rgba(255, 255, 255, .5) !important;
  font-size: 9px !important;
}

@media (max-width: 980px) {
  html body #tbp_footer .sunday-footer-directory {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px 42px !important;
  }
  html body #tbp_footer .sunday-footer-newsletter,
  html body #tbp_footer .sunday-footer-notice {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
  }
}

@media (max-width: 640px) {
  html body #tbp_footer .sunday-footer-shell {
    width: min(calc(100% - 32px), 600px) !important;
    padding: 18px 0 8px !important;
  }
  html body #tbp_footer .sunday-footer-intro {
    padding-bottom: 10px !important;
  }
  html body #tbp_footer .sunday-footer-brand {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  html body #tbp_footer .sunday-footer-wordmark {
    margin: 0 !important;
    font-size: 34px !important;
  }
  html body #tbp_footer .sunday-footer-newsletter {
    padding-right: 0 !important;
    min-height: 0 !important;
  }
  html body #tbp_footer .sunday-footer-newsletter-copy {
    padding-top: 0 !important;
  }
  html body #tbp_footer .sunday-footer-wordmark,
  html body #tbp_footer .sunday-footer-form {
    transform: none !important;
  }
  html body #tbp_footer .sunday-footer-form {
    margin-top: 8px !important;
  }
  html body #tbp_footer .sunday-footer-form > div {
    grid-template-columns: minmax(0, 1fr) 136px !important;
    gap: 8px !important;
    padding: 0 !important;
  }
  html body #tbp_footer .sunday-footer-form input {
    height: 38px !important;
    min-height: 38px !important;
  }
  html body #tbp_footer .sunday-footer-form button {
    width: 136px !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    padding-inline: 10px !important;
  }
  html body #tbp_footer .sunday-footer-directory {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 24px !important;
    padding-bottom: 12px !important;
  }
  html body #tbp_footer .sunday-footer-newsletter,
  html body #tbp_footer .sunday-footer-notice { grid-column: 1 / -1 !important; }
  html body #tbp_footer .sunday-footer-nav {
    grid-template-rows: auto repeat(4, 22px) !important;
    min-height: 0 !important;
  }
  html body #tbp_footer .sunday-footer-nav > p,
  html body #tbp_footer .sunday-footer-notice-label {
    margin-bottom: 7px !important;
  }
  html body #tbp_footer .sunday-footer-nav a {
    min-height: 22px !important;
    padding: 2px 0 !important;
    font-size: 10px !important;
  }
  html body #tbp_footer .sunday-footer-notice {
    min-height: 0 !important;
    padding: 10px 12px !important;
  }
  html body #tbp_footer .sunday-footer-base {
    grid-template-columns: 1fr auto !important;
    gap: 8px 14px !important;
    min-height: 34px !important;
    padding-top: 8px !important;
  }
  html body #tbp_footer .sunday-footer-base nav {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
  html body #tbp_footer .sunday-footer-base > p { grid-column: 1 !important; grid-row: 2 !important; }
  html body #tbp_footer .sunday-footer-top { grid-column: 2 !important; grid-row: 2 !important; }
}

/* Mobile Safari can expose the document canvas beneath the last element when
   its dynamic toolbar changes height. Match that canvas to the footer so no
   light strip appears after the page ends. The content area keeps its own
   light background on #body. */
@media (max-width: 640px) {
  html,
  html body,
  html body #pagewrap#pagewrap {
    background-color: #000 !important;
  }
}
