/* Deadikace Artists — all styles scoped under .dk-scope so nothing can leak
   into the theme. Colours match the approved mockup: crimson is the only accent. */

.dk-scope {
  --dk-crimson: #C42229;
  --dk-crimson-dark: #8E1B20;
  --dk-ink: #17130F;
  --dk-muted: #6E635C;
  --dk-panel: #fff;
  --dk-hairline: rgba(23,19,15,.10);
  --dk-rule: rgba(23,19,15,.16);
  font-family: Spectral, Georgia, serif;
  color: var(--dk-ink);
  -webkit-font-smoothing: antialiased;
}
.dk-scope *, .dk-scope *::before, .dk-scope *::after { box-sizing: border-box; }
.dk-scope a { text-decoration: none; }

/* ---------- panels ---------- */
.dk-panel {
  background: var(--dk-panel);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0,0,0,.10), 0 0 0 1px var(--dk-hairline);
  margin: 0 0 30px;
}
.dk-panel__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 15px 18px;
  background: linear-gradient(100deg,#231D1A,#171311);
  color: #F2EFE8;
  font-family: 'Archivo Narrow', 'Arial Narrow', sans-serif;
  font-size: 15px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase;
}
.dk-panel__cta {
  display: block; padding: 12px; text-align: center;
  font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .15em;
  color: #fff; background: linear-gradient(180deg,#B92026,#8A181D);
}
.dk-panel__cta:hover { filter: brightness(1.12); color: #fff; }

/* ---------- birthday cake + record ---------- */
.dk-cake { position: relative; display: block; width: 32px; height: 26px; }
.dk-cake::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 15px;
  border-radius: 4px; background: linear-gradient(180deg,#F3E4C6,#D8B98A);
  box-shadow: inset 0 3px 0 rgba(196,34,41,.7);
}
.dk-cake__flame {
  position: absolute; left: 50%; top: -6px; transform: translateX(-50%);
  width: 7px; height: 10px; border-radius: 50% 50% 50% 50%/62% 62% 38% 38%;
  background: radial-gradient(circle at 50% 70%, #FFF3C4, #FFB03A 55%, #C42229);
  animation: dkFlicker 1.6s ease-in-out infinite;
}
@keyframes dkFlicker { 0%,100%{opacity:1;transform:translateX(-50%) scale(1)} 50%{opacity:.75;transform:translateX(-50%) scale(.88)} }
.dk-record {
  width: 34px; height: 34px; border-radius: 50%;
  background-image:
    repeating-radial-gradient(circle at 50% 50%, rgba(255,255,255,.18) 0 1px, transparent 1px 3.4px),
    radial-gradient(circle at 50% 50%, #F5F0E6 0 7%, #C42229 7% 20%, #3A322E 20% 34%, #221D1A 34% 100%);
  box-shadow: 0 3px 10px rgba(0,0,0,.5), inset 0 0 0 1.5px rgba(255,236,214,.3);
  animation: dkSpin 2.6s linear infinite;
}
@keyframes dkSpin { to { transform: rotate(360deg); } }

/* ---------- medallion ---------- */
.dk-medallion {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: none; border-radius: 50%; overflow: hidden; background: #1A1614;
  box-shadow: 0 4px 12px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.08);
}
.dk-medallion img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dk-medallion--empty {
  font-family: 'Archivo Narrow', sans-serif; font-weight: 700; letter-spacing: .04em;
  color: rgba(242,239,232,.65); font-size: 12px;
  background-image:
    repeating-radial-gradient(circle at 50% 50%, rgba(255,255,255,.06) 0 1px, transparent 1px 4px),
    radial-gradient(circle at 50% 50%, #C42229 0 30%, #1A1614 30% 100%);
}

/* ---------- birthdays ---------- */
.dk-birthday {
  display: grid; grid-template-columns: 46px minmax(0,1fr) auto;
  align-items: center; gap: 13px; padding: 14px 18px;
  border-top: 1px solid var(--dk-hairline); color: inherit; transition: background .2s;
}
.dk-birthday:hover { background: rgba(196,34,41,.05); color: inherit; }
.dk-birthday__name { display: block; font-family: 'Archivo Narrow', sans-serif; font-size: 16.5px; font-weight: 600; }
.dk-birthday__note { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.4; color: var(--dk-muted); }
.dk-birthday__years { text-align: right; }
.dk-birthday__born { display: block; font-family: 'Archivo Narrow', sans-serif; font-size: 19px; font-weight: 600; line-height: 1; }
.dk-birthday__age { display: block; margin-top: 3px; font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .12em; color: var(--dk-crimson); }

/* ---------- index ---------- */
.dk-index__title { font-family: 'Archivo Narrow', sans-serif; font-size: clamp(28px,4vw,46px); text-transform: uppercase; margin: 0 0 14px; }
.dk-search { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 0 16px; height: 52px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--dk-hairline); }
.dk-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; }
.dk-search button {
  border: 0; cursor: pointer; border-radius: 8px; padding: 8px 14px;
  background: var(--dk-crimson); color: #fff;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .13em;
}
.dk-letters { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 14px; }
.dk-letter {
  width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
  border-radius: 7px; font-family: 'Archivo Narrow', sans-serif; font-size: 13px; font-weight: 600;
  color: var(--dk-muted); box-shadow: inset 0 0 0 1px var(--dk-hairline); transition: all .16s;
}
.dk-letter:hover { color: var(--dk-crimson); }
.dk-letter.is-active { background: var(--dk-crimson); color: #fff; box-shadow: 0 6px 14px rgba(196,34,41,.3); }
.dk-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
.dk-chip {
  padding: 7px 13px; border-radius: 999px; color: var(--dk-muted);
  font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .13em;
  box-shadow: inset 0 0 0 1px var(--dk-rule); transition: all .18s;
}
.dk-chip:hover { color: var(--dk-crimson); }
.dk-chip.is-active { background: var(--dk-crimson); color: #fff; box-shadow: 0 6px 16px rgba(196,34,41,.3); }
.dk-chip.is-static { color: var(--dk-ink); }
.dk-index__count { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .14em; color: var(--dk-muted); margin: 0 0 18px; }
.dk-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(206px,1fr)); gap: 20px; }
.dk-card {
  display: block; border-radius: 14px; overflow: hidden; background: #fff; color: inherit;
  box-shadow: 0 10px 26px rgba(0,0,0,.10), 0 0 0 1px var(--dk-hairline);
  transition: transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s;
}
.dk-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(0,0,0,.16), 0 0 0 1px rgba(196,34,41,.4); color: inherit; }
.dk-card__media { display: block; aspect-ratio: 1/1; background: #1A1614; }
.dk-card__media .dk-medallion { width: 100% !important; height: 100% !important; border-radius: 0; font-size: 30px; }
.dk-card__body { display: block; padding: 14px 15px 16px; }
.dk-card__name { display: block; font-family: 'Archivo Narrow', sans-serif; font-size: 18px; font-weight: 600; line-height: 1.15; }
.dk-card__life { display: block; margin-top: 5px; font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .12em; color: var(--dk-crimson); }
.dk-card__meta { display: block; margin-top: 8px; font-size: 13.5px; line-height: 1.45; color: var(--dk-muted); }
.dk-pager { display: flex; gap: 10px; margin-top: 26px; }
.dk-empty { color: var(--dk-muted); }
.dk-button {
  display: inline-block; padding: 14px 20px; border-radius: 12px; text-align: center;
  font-family: 'Archivo Narrow', sans-serif; font-size: 13px; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; color: #fff;
  background: linear-gradient(100deg,#8E1B20,#C42229 55%,#8E1B20);
  box-shadow: 0 12px 30px rgba(168,30,36,.3); transition: transform .2s;
}
.dk-button:hover { transform: translateY(-3px); color: #fff; }
.dk-button--block { display: block; }

/* ---------- artist page ---------- */
.dk-artist { max-width: 1240px; margin: 0 auto; padding: 0 20px 48px; }
.dk-artist__banner {
  position: relative; height: clamp(190px,22vw,280px); border-radius: 18px 18px 0 0;
  background-color: #14100E; background-size: cover; background-position: center 20%;
}
.dk-artist__shade { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(105deg, rgba(10,8,7,.92) 8%, rgba(10,8,7,.6) 46%, rgba(10,8,7,.3) 100%); }
.dk-artist__head { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 26px; align-items: end; margin-top: -92px; padding: 0 clamp(16px,3vw,32px) 26px; }
.dk-artist__portrait {
  position: relative; width: clamp(112px,13vw,150px); height: clamp(112px,13vw,150px);
  border-radius: 50%; overflow: hidden; background: #1A1614; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 18px 44px rgba(0,0,0,.5), 0 0 0 5px #FBF8F4;
}
.dk-artist__portrait img { width: 100%; height: 100%; object-fit: cover; }
.dk-artist__initials { font-family: 'Archivo Narrow', sans-serif; font-size: 34px; font-weight: 700; color: rgba(242,239,232,.6); }
.dk-artist__intro { padding-bottom: 8px; }
.dk-artist__kicker { display: flex; gap: 10px; flex-wrap: wrap; margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .16em; color: #F0797E; }
.dk-artist__life { color: rgba(242,239,232,.7); }
.dk-artist__name { margin: 7px 0 0; font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: clamp(30px,4.4vw,54px); line-height: 1.02; text-transform: uppercase; color: #F7F4EE; text-shadow: 0 3px 22px rgba(0,0,0,.7); }
.dk-artist__role { margin: 9px 0 0; font-size: 16px; line-height: 1.5; color: rgba(242,239,232,.85); max-width: 56ch; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.dk-artist__chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 0; }
.dk-artist__chips .dk-chip { color: #F2EFE8; background: rgba(10,8,7,.45); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
.dk-artist__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,352px); gap: 30px; }
@media (max-width: 1024px) { .dk-artist__grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 640px) { .dk-artist__head { grid-template-columns: minmax(0,1fr); margin-top: -70px; } }

.dk-prose { padding: 20px 22px 24px; font-size: 16px; line-height: 1.68; }
.dk-prose p { margin: 0 0 14px; }
.dk-source { font-size: 12.5px; color: var(--dk-muted); }
.dk-source a { color: var(--dk-crimson); }

.dk-timeline { position: relative; padding: 10px 20px 18px; }
.dk-timeline__row { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 16px; padding: 11px 0; align-items: start; }
.dk-timeline__year { font-family: 'Archivo Narrow', sans-serif; font-size: 17px; font-weight: 700; color: var(--dk-crimson); }
.dk-timeline__body { position: relative; padding-left: 16px; border-left: 1px solid var(--dk-rule); }
.dk-timeline__text { display: block; font-size: 15px; line-height: 1.5; }
.dk-timeline__tag { display: block; margin-top: 4px; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .13em; color: var(--dk-muted); }

.dk-listen { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px 20px; border-top: 1px solid var(--dk-hairline); }
.dk-listen__n { font-family: 'Archivo Narrow', sans-serif; font-size: 17px; font-weight: 700; color: var(--dk-rule); }
.dk-listen__title { display: block; font-family: 'Archivo Narrow', sans-serif; font-size: 17px; font-weight: 600; }
.dk-listen__meta { display: block; margin-top: 2px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .12em; color: var(--dk-muted); }
.dk-listen__links { display: flex; gap: 7px; flex-wrap: wrap; }
.dk-btn { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .13em; transition: transform .18s; }
.dk-btn:hover { transform: translateY(-2px); }
.dk-btn--yt { background: var(--dk-crimson); color: #fff; box-shadow: 0 5px 14px rgba(196,34,41,.3); }
.dk-btn--yt:hover { color: #fff; }
.dk-btn--sp { color: var(--dk-ink); box-shadow: inset 0 0 0 1px var(--dk-rule); }

.dk-fact { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 12px 18px; border-top: 1px solid var(--dk-hairline); }
.dk-fact__k { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .13em; color: var(--dk-muted); padding-top: 3px; }
.dk-fact__v { font-size: 14.5px; line-height: 1.5; }

.dk-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 18px; border-top: 1px solid var(--dk-hairline); color: inherit; transition: background .2s; }
.dk-row:hover { background: rgba(196,34,41,.05); color: inherit; }
.dk-row--artist { grid-template-columns: 36px minmax(0,1fr); }
.dk-row__name { display: block; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; font-weight: 600; }
.dk-row__meta { font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .12em; color: var(--dk-crimson); }

/* ---------- hero ---------- */
.dk-hero { position: relative; aspect-ratio: 16/9; border-radius: 16px; overflow: hidden; background: #0A0908; }
.dk-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s cubic-bezier(.4,0,.2,1); pointer-events: none; }
.dk-hero__slide.is-active { opacity: 1; pointer-events: auto; }
.dk-hero__img { position: absolute; inset: 0; background-size: cover; background-position: center; }
.dk-hero__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,6,5,.94) 0%, rgba(8,6,5,.7) 26%, rgba(8,6,5,.1) 58%); }
.dk-hero__text { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 clamp(16px,2.6vw,40px) clamp(16px,2.5vw,38px); }
.dk-hero__kicker { display: inline-block; background: linear-gradient(180deg,#C42229,#8E1B20); color: #fff; font-family: 'Archivo Narrow', sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; padding: 6px 11px; border-radius: 5px; }
.dk-hero__date { margin-left: 10px; font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .14em; color: rgba(255,255,255,.6); }
.dk-hero__title { display: block; margin-top: 14px; font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: clamp(20px,3.1vw,44px); line-height: 1.05; color: #fff; text-transform: uppercase; max-width: 22ch; text-shadow: 0 4px 26px rgba(0,0,0,.7); }
.dk-hero__ticks { position: absolute; left: clamp(16px,2.6vw,40px); right: clamp(16px,2.6vw,40px); bottom: 10px; display: flex; gap: 6px; }
.dk-hero__ticks button { flex: 1; height: 4px; padding: 0; border: 0; border-radius: 99px; cursor: pointer; background: rgba(255,255,255,.3); }
.dk-hero__ticks button.is-active { background: linear-gradient(90deg,#C42229,#E0464C); }

/* ---------- news grid ---------- */
.dk-news { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px,1fr)); gap: 22px; }
.dk-news__card { display: block; border-radius: 14px; overflow: hidden; background: #fff; color: inherit; box-shadow: 0 10px 26px rgba(0,0,0,.10), 0 0 0 1px var(--dk-hairline); transition: transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s; }
.dk-news__card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(0,0,0,.16), 0 0 0 1px rgba(196,34,41,.4); color: inherit; }
.dk-news__media { position: relative; display: block; aspect-ratio: 16/10; background: #191513; overflow: hidden; }
.dk-news__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dk-news__tag { position: absolute; left: 12px; top: 12px; background: linear-gradient(180deg,#C42229,#8E1B20); color: #fff; font-family: 'Archivo Narrow', sans-serif; font-size: 10.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding: 5px 9px; border-radius: 4px; }
.dk-news__body { display: block; padding: 18px 19px 20px; }
.dk-news__title { display: block; font-family: 'Archivo Narrow', sans-serif; font-size: 20px; font-weight: 600; line-height: 1.18; }
.dk-news__dek { display: block; margin-top: 10px; font-size: 14.5px; line-height: 1.58; color: var(--dk-muted); }
.dk-news__ago { display: block; margin-top: 15px; font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .14em; color: var(--dk-muted); }

/* ---------- features ---------- */
.dk-feature { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; gap: 15px; padding: 14px 18px; border-top: 1px solid var(--dk-hairline); color: inherit; transition: background .2s; }
.dk-feature:hover { background: rgba(196,34,41,.05); color: inherit; }
.dk-feature__thumb { display: block; height: 74px; border-radius: 9px; overflow: hidden; background: #191513; }
.dk-feature__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dk-feature__title { font-family: 'Archivo Narrow', sans-serif; font-size: 16px; font-weight: 500; line-height: 1.26; }

@media (prefers-reduced-motion: reduce) {
  .dk-scope *, .dk-scope *::before, .dk-scope *::after { animation: none !important; transition: none !important; }
}


/* ---------- section heading (Latest News banner) ---------- */
.dk-section { display: flex; align-items: center; gap: 16px; margin: 4px 0 22px; }
.dk-section__title {
  margin: 0; font-family: 'Archivo Narrow', 'Arial Narrow', sans-serif;
  font-size: clamp(20px,2.4vw,26px); font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--dk-ink); line-height: 1;
}
.dk-section__rule { flex: 1; height: 3px; background: linear-gradient(90deg, var(--dk-crimson), var(--dk-rule) 70%, transparent); }
.dk-section__more { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .16em; color: var(--dk-muted); white-space: nowrap; }
.dk-section__more:hover { color: var(--dk-crimson); }

/* Three across wherever there is room, two in a medium column, one when narrow */
.dk-news { grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); }

/* ---------- today in rock history ---------- */
.dk-bolt {
  width: 16px; height: 25px;
  background: linear-gradient(180deg,#FFF0BC,#FFB03A 44%,#C42229);
  clip-path: polygon(60% 0%, 10% 56%, 44% 56%, 28% 100%, 90% 38%, 52% 38%);
  filter: drop-shadow(0 0 7px rgba(255,176,58,.7));
  animation: dkBolt 2.8s steps(1,end) infinite;
}
@keyframes dkBolt { 0%,18%{opacity:.28} 20%{opacity:.85} 24%{opacity:.2} 28%{opacity:1} 34%,100%{opacity:.28} }

.dk-history__tabs { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; padding: 14px 14px 12px; }
.dk-history__tab {
  padding: 11px 8px; border: 0; border-radius: 10px; cursor: pointer; text-align: center;
  background: #F1ECE6; color: var(--dk-muted); transition: all .22s cubic-bezier(.2,.7,.3,1);
  box-shadow: inset 0 0 0 1px var(--dk-hairline);
}
.dk-history__tab.is-active {
  background: linear-gradient(180deg,#C42229,#8E1B20); color: #fff;
  box-shadow: 0 8px 20px rgba(168,30,36,.32); transform: translateY(-2px);
}
/* Hover states for the Yesterday/Today/Tomorrow tabs. Without this,
   these <button> elements fell back to the theme's generic
   button:hover rule, which turned them solid white -- illegible
   against the light tab background and jarring against the red
   active-tab gradient. Inactive tabs (Yesterday/Tomorrow) get a
   warm red-tinted hover matching the site's brand color, as a preview
   of the active state; the already-active tab (Today) gets a subtle
   lift/glow instead, since its background is already the brand color. */
.dk-history__tab:not(.is-active):hover {
  background: #f6dede;
  color: #8E1B20;
  box-shadow: inset 0 0 0 1px rgba(142,27,32,.35);
}
.dk-history__tab.is-active:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(168,30,36,.42);
}
.dk-history__tabLabel { display: block; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .14em; opacity: .75; }
.dk-history__tabDate { display: block; margin-top: 4px; font-family: 'Archivo Narrow', sans-serif; font-size: 17px; font-weight: 600; }

.dk-history__pane { display: none; }
.dk-history__pane.is-active { display: block; }
.dk-history__meta {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 18px 8px; border-top: 1px solid var(--dk-hairline);
  font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .14em; color: var(--dk-muted);
}
.dk-history__span { color: var(--dk-crimson); }
.dk-history__list { padding: 2px 18px 18px; }
.dk-history__row { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 14px; padding: 11px 0; align-items: start; color: inherit; transition: transform .2s; }
.dk-history__row:hover { transform: translateX(3px); color: inherit; }
.dk-history__year { font-family: 'Archivo Narrow', sans-serif; font-size: 17px; font-weight: 700; color: var(--dk-crimson); line-height: 1.2; }
.dk-history__body { position: relative; padding-left: 16px; border-left: 1px solid var(--dk-rule); }
.dk-history__body::before {
  content: ''; position: absolute; left: -5px; top: 6px; width: 9px; height: 9px;
  border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px var(--dk-crimson);
}
.dk-history__text { display: block; font-size: 14px; line-height: 1.5; }
.dk-history__empty { padding: 18px; color: var(--dk-muted); }

/* ---------- footer ---------- */
.dk-footer { background: #0A0807; color: #8B8079; padding: 52px 20px 26px; margin-top: 40px; }
.dk-footer__inner {
  max-width: 1320px; margin: 0 auto; display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px;
  padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.1);
}
@media (max-width: 900px) { .dk-footer__inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dk-footer__inner { grid-template-columns: 1fr; gap: 28px; } }
.dk-footer__logo img { max-width: 150px; height: auto; }
.dk-footer__name { font-family: 'Archivo Narrow', sans-serif; font-weight: 700; font-size: 21px; letter-spacing: .09em; text-transform: uppercase; color: #F2EFE8; }
.dk-footer__blurb { margin: 16px 0 0; max-width: 38ch; font-size: 14.5px; line-height: 1.65; color: #8B8079; }
.dk-footer__social { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 18px; font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: .13em; text-transform: uppercase; }
.dk-footer__social a { color: #C9C2B8; }
.dk-footer__social a:hover { color: #E0464C; }
.dk-footer__col { display: flex; flex-direction: column; gap: 11px; }
.dk-footer__heading { font-family: 'Archivo Narrow', sans-serif; font-size: 12.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #F2EFE8; margin-bottom: 5px; }
.dk-footer__col a { font-size: 14px; color: #8B8079; }
.dk-footer__col a:hover { color: #E0464C; }
.dk-footer__base {
  max-width: 1320px; margin: 0 auto; padding-top: 20px;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .13em; color: #6B615B;
}

/* ---------- narrow-column safety ----------
   These modules are often dropped into a two-thirds column inside a boxed
   layout. Keep type from blowing out when the column gets small. */
@container (max-width: 560px) {
  .dk-hero__title { font-size: 22px; }
}
.dk-hero { container-type: inline-size; }


/* ---------- hero motion (matches the mockup) ---------- */
@keyframes dkKen  { from { transform: scale(1); } to { transform: scale(1.07); } }
@keyframes dkBar  { from { width: 0%; }          to { width: 100%; } }
@keyframes dkPulse{ 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.82); } }

.dk-hero__slide.is-active .dk-hero__img { animation: dkKen 8s linear forwards; transform-origin: 50% 45%; }

.dk-hero__kicker { display: inline-flex; align-items: center; gap: 7px; box-shadow: 0 6px 18px rgba(168,30,36,.45); }
.dk-hero__dot { width: 6px; height: 6px; border-radius: 50%; background: #fff; animation: dkPulse 1.6s ease-in-out infinite; }

.dk-hero__counter {
  position: absolute; right: 14px; top: 14px; z-index: 3;
  padding: 5px 10px; border-radius: 999px;
  background: rgba(10,8,7,.55); backdrop-filter: blur(6px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .14em; color: #F2EFE8;
}

.dk-hero__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(10,8,7,.5); backdrop-filter: blur(6px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
  color: #F2EFE8; font-size: 20px; line-height: 1;
  opacity: 0; transition: opacity .25s, background .2s, transform .2s;
}
.dk-hero:hover .dk-hero__arrow { opacity: 1; }
.dk-hero__arrow:hover { background: var(--dk-crimson); }
.dk-hero__arrow--prev { left: 12px; }
.dk-hero__arrow--next { right: 12px; }

.dk-hero__ticks button { position: relative; overflow: hidden; background: rgba(255,255,255,.18); }
.dk-hero__fill { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg,#C42229,#E0464C); }
.dk-hero__ticks button.is-active .dk-hero__fill { animation: dkBar 6s linear forwards; }
.dk-hero__ticks button.is-past .dk-hero__fill { width: 100%; opacity: .45; }
.dk-hero__ticks button.is-active { background: rgba(255,255,255,.24); }

/* the mockup pauses the drift while you read */
.dk-hero:hover .dk-hero__slide.is-active .dk-hero__img,
.dk-hero:hover .dk-hero__ticks button.is-active .dk-hero__fill { animation-play-state: paused; }
