/* Campaign typography and dates remain live HTML, independent of generated art. */
.kitl-bf[hidden], [data-kitl-bf-fallback][hidden], .kitl-bf [hidden] { display: none !important; }
.kitl-bf { position: relative; isolation: isolate; overflow: hidden; color: #fffaf0; background: #0d0d0d; }
.kitl-bf *, .kitl-bf *::before, .kitl-bf *::after { box-sizing: border-box; }
.kitl-bf__art { position: absolute; z-index: -2; inset: 0 0 2.5rem; }
.kitl-bf__art img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 62% center; }
.kitl-bf::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #0c0c0c 2%, rgb(12 12 12 / 94%) 25%, rgb(12 12 12 / 70%) 40%, transparent 70%); pointer-events: none; }
.kitl-bf__inner { position: relative; min-height: 38rem; display: flex; align-items: center; padding-block: 3.3rem 3.5rem; }
.kitl-bf__copy { width: 55%; max-width: 40rem; }
.kitl-bf__eyebrow { display: flex; align-items: center; gap: .6rem; margin: 0 0 1.25rem; color: #f5d98e; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.kitl-bf__spark { font-size: 1.3rem; }
.kitl-bf__status { display: inline-block; padding: .4rem .75rem; margin: 0 0 1.1rem; border: 1px solid #b18a49; border-radius: 3px; color: #f4d88d; background: rgb(215 173 75 / 7%); font-size: .8rem; font-weight: 650; }
.kitl-bf__title { margin: 0 0 1.2rem; padding: 0; color: #fffaf0; font-family: var(--kitl-font-body, Arial, sans-serif); font-size: clamp(4rem, 7.3vw, 7.6rem); font-weight: 900; line-height: .87; letter-spacing: -.065em; }
.kitl-bf__title > span { display: block; overflow-wrap: anywhere; }
.kitl-bf__title > span + span { color: #f3cd70; }
.kitl-bf__title-star { display: inline-block; padding-left: .16em; vertical-align: top; font-size: .42em; line-height: 1.3; color: #f3cd70; }
.kitl-bf__tagline { margin: 0 0 .3rem; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 650; letter-spacing: -.02em; }
.kitl-bf__description { margin: 0 0 1.3rem; color: #d0c7b7; font-size: .9rem; }
.kitl-bf__dates { display: flex; align-items: center; gap: 1.2rem; width: fit-content; max-width: 100%; padding-block: .8rem; border-block: 1px solid #5b4a2c; color: #e5d3ad; }
.kitl-bf__dates time { display: flex; align-items: baseline; gap: .45rem; font-size: .64rem; font-weight: 700; letter-spacing: .06em; white-space: nowrap; }
.kitl-bf__dates strong { color: #ffe4a0; font-size: 2.15rem; font-weight: 800; line-height: 1; letter-spacing: -.05em; }
.kitl-bf__dates > span { font-size: 1.5rem; color: #f3cd70; }
.kitl-bf__deadline { margin: .65rem 0 1.4rem; color: #c9bfae; font-size: .7rem; }
.kitl-bf__cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 3rem; padding: .8rem 1.2rem; border: 1px solid #ffe4a0; border-radius: 3px; color: #17130b; background: linear-gradient(115deg, #ffe5a0, #e4b54b 70%, #f7d884); box-shadow: 0 0 30px rgb(232 185 73 / 18%); font-size: .87rem; font-weight: 800; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.kitl-bf__cta:hover { color: #17130b; box-shadow: 0 0 36px rgb(232 185 73 / 36%); transform: translateY(-2px); }
.kitl-bf__cta:focus-visible { outline: 3px solid white; outline-offset: 5px; }
.kitl-bf__cta > span:last-child { font-size: 1.3rem; }
.kitl-bf__seal { position: absolute; top: 2.5rem; right: 1.5rem; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 7.5rem; aspect-ratio: 1; border: 1px solid #b39558; border-radius: 50%; outline: 1px solid rgb(243 205 112 / 35%); outline-offset: 5px; color: #ffe4a0; background: rgb(13 13 13 / 70%); transform: rotate(9deg); text-align: center; }
.kitl-bf__seal > span:first-child { font-size: 1.5rem; font-weight: 800; line-height: 1.2; }
.kitl-bf__seal strong { font-size: 1.7rem; line-height: 1.2; letter-spacing: .12em; }
.kitl-bf__seal > span:last-child { max-width: 5rem; margin-top: .3rem; font-size: .48rem; letter-spacing: .12em; }
.kitl-bf__ribbon { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1.5rem; padding: .75rem 1rem; border-top: 1px solid #ffe5a0; color: #1a150d; background: linear-gradient(100deg, #d8aa49, #ffe9ad 40%, #d8aa49); font-size: .65rem; font-weight: 800; letter-spacing: .2em; line-height: 1.6; }
.kitl-bf__ribbon > span { display: inline-flex; align-items: center; gap: 1.5rem; white-space: nowrap; }
.kitl-bf__ribbon b { font-size: .9em; }
@supports (background-clip: text) {
  .kitl-bf__title > span + span { background: linear-gradient(105deg, #e5b34c, #ffedb6 45%, #cf982e 75%, #ffdf88); background-clip: text; color: transparent; }
}
@media (min-width: 1800px) { .kitl-bf__art img { object-position: center 55%; } }
@media (max-width: 1000px) {
  .kitl-bf__copy { width: 62%; }
  .kitl-bf__title { font-size: clamp(4rem, 9vw, 6rem); }
  .kitl-bf__seal { width: 6rem; right: 2rem; }
  .kitl-bf__inner { min-height: 36rem; }
}
@media (max-width: 640px) {
  .kitl-bf__inner { min-height: 47rem; align-items: flex-start; padding-block: 2rem 17rem; }
  .kitl-bf__copy { width: 100%; max-width: none; }
  .kitl-bf::before { background: linear-gradient(180deg, #0c0c0c 0%, rgb(12 12 12 / 96%) 47%, rgb(12 12 12 / 60%) 60%, transparent 78%); }
  .kitl-bf__art { top: auto; height: 25rem; bottom: 2.5rem; }
  .kitl-bf__art img { object-position: center bottom; }
  .kitl-bf__title { font-size: clamp(4.6rem, 17.5vw, 6.5rem); }
  .kitl-bf__eyebrow { font-size: .6rem; margin-bottom: 1rem; }
  .kitl-bf__status { margin-bottom: 1.15rem; font-size: .75rem; }
  .kitl-bf__tagline { font-size: 1rem; }
  .kitl-bf__description { max-width: 18rem; font-size: .8rem; margin-bottom: 1rem; }
  .kitl-bf__deadline { font-size: .65rem; max-width: 18rem; }
  .kitl-bf__seal { top: auto; bottom: 2rem; right: 1.4rem; width: 5.5rem; }
  .kitl-bf__seal > span:first-child { font-size: 1rem; }
  .kitl-bf__seal strong { font-size: 1.3rem; }
  .kitl-bf__seal > span:last-child { font-size: .4rem; }
  .kitl-bf__ribbon { font-size: .56rem; }
}
@media (prefers-reduced-motion: reduce) { .kitl-bf__cta { transition: none !important; transform: none !important; } }
@media (forced-colors: active) {
  .kitl-bf__art, .kitl-bf__seal, .kitl-bf__ribbon { display: none; }
  .kitl-bf__title > span + span { color: CanvasText; background: none; }
  .kitl-bf__cta { color: LinkText; background: Canvas; border: 1px solid ButtonText; }
}
@media print { .kitl-bf { display: none !important; } [data-kitl-bf-fallback][hidden] { display: block !important; } }
