/* Theme: Cinema Dark */
.kyi-theme-cinema-dark {
  background:
    radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--ft-accent, #22c8ff) 22%, transparent), transparent 34%),
    radial-gradient(circle at 84% 10%, color-mix(in srgb, var(--ft-secondary, #7c3aed) 22%, transparent), transparent 36%),
    linear-gradient(180deg, #020617 0%, var(--ft-bg, #05060a) 48%, #020617 100%);
}
.kyi-theme-cinema-dark::before { content:""; position:fixed; inset:0; pointer-events:none; background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(180deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 78%); }
.kyi-theme-cinema-dark .topbar,
.kyi-theme-cinema-dark .watch-head.kyi-page-head { background: linear-gradient(135deg, color-mix(in srgb, var(--ft-surface, #111827) 82%, transparent), rgba(2,6,23,.72)); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.kyi-theme-cinema-dark .video-card img,
.kyi-theme-cinema-dark .series-card img,
.kyi-theme-cinema-dark .actor-card img { filter: saturate(1.05) contrast(1.04); }
.kyi-theme-cinema-dark .btn:first-child,
.kyi-theme-cinema-dark .theme-primary-action { background: linear-gradient(135deg, var(--ft-accent, #22c8ff), var(--ft-secondary, #7c3aed)); color:#fff; border-color: transparent; }

/* v4.3.1 Cinema Dark front-page foundation: full-width cinematic shell + header menu. */
.kyi-theme-cinema-dark .kyi-site-header {
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    color-mix(in srgb, var(--ft-surface, #111827) 82%, rgba(2,6,23,.84));
  border: 1px solid color-mix(in srgb, var(--ft-accent, #22c8ff) 22%, rgba(255,255,255,.12));
  box-shadow: 0 26px 80px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
}
.kyi-theme-cinema-dark .kyi-site-header::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--ft-accent, #22c8ff) 70%, transparent), color-mix(in srgb, var(--ft-secondary, #7c3aed) 70%, transparent), transparent);
  opacity: .82;
}
.kyi-theme-cinema-dark .kyi-primary-nav a {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.kyi-theme-cinema-dark .kyi-primary-nav a:hover,
.kyi-theme-cinema-dark .kyi-primary-nav a:focus-visible {
  box-shadow: 0 16px 36px color-mix(in srgb, var(--ft-accent, #22c8ff) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.10);
}
.kyi-theme-cinema-dark .kyi-page-intro {
  background:
    radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--ft-accent, #22c8ff) 18%, transparent), transparent 32%),
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--ft-secondary, #7c3aed) 18%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--ft-surface, #111827) 84%, transparent), rgba(2,6,23,.78));
  box-shadow: 0 24px 72px rgba(0,0,0,.28);
}
.kyi-theme-cinema-dark .kyi-brand-logo,
.kyi-theme-cinema-dark .kyi-brand-mark {
  box-shadow: 0 18px 46px color-mix(in srgb, var(--ft-accent, #22c8ff) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.14);
}

/* v5.0.0 Cinema Dark production hero skin: single clean layer for header + hero only. */
.kyi-theme-cinema-dark .kyi-has-cinema-hero.site-wrap { padding-top: 0; }
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-site-header {
  position: absolute;
  top: clamp(10px, 1.15vw, 18px);
  left: var(--ft-gutter);
  right: var(--ft-gutter);
  width: auto;
  max-width: none;
  min-height: 82px;
  margin: 0;
  padding: 12px 0;
  border: 0;
  border-radius: 0;
  grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto;
  background: transparent !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  z-index: 90;
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-site-header::after { display: none; }
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-copy em { display: none; }
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-copy strong {
  font-size: clamp(22px, 2vw, 34px);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--ft-accent, #e3c66a) 76%, #fff);
  text-shadow: 0 10px 30px rgba(0,0,0,.55);
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-mark {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  color: #061018;
  background: radial-gradient(circle at 34% 30%, #fffbe0, var(--ft-accent, #e3c66a) 48%, #8a6d24 100%);
  box-shadow: 0 12px 34px rgba(0,0,0,.34), 0 0 0 3px rgba(255,255,255,.10);
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-mark span { transform: translateX(2px); }
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-logo {
  width: auto;
  max-width: clamp(106px, 9.4vw, 176px);
  height: clamp(42px, 4.2vw, 64px);
  object-fit: contain;
  object-position: left center;
  padding: 0;
  border: 0;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,.46));
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-link:has(.kyi-brand-logo) .kyi-brand-copy { display: none; }
@supports not selector(:has(*)) {
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-logo + .kyi-brand-copy { display: none; }
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav {
  justify-content: flex-start;
  padding-left: clamp(10px, 2vw, 32px);
  gap: clamp(6px, .75vw, 16px);
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a {
  min-height: 42px;
  padding: 0 8px;
  color: rgba(255,255,255,.92);
  background: transparent;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  font-size: clamp(13px, .9vw, 16px);
  font-weight: 900;
  text-shadow: 0 8px 22px rgba(0,0,0,.45);
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a.is-active,
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a:hover,
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a:focus-visible {
  color: var(--ft-accent, #e3c66a);
  background: transparent;
  box-shadow: none;
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-header-actions { gap: clamp(8px, 1vw, 16px); }
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-header-icon,
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-account-chip {
  color: #fff;
  text-shadow: 0 8px 22px rgba(0,0,0,.45);
}
@media (max-width: 1180px) {
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-site-header {
    grid-template-columns: minmax(150px, 1fr) auto;
    padding: 14px 0;
  }
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav {
    grid-column: 1 / -1;
    order: 3;
    padding-left: 0;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav::-webkit-scrollbar { display: none; }
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a { flex: 0 0 auto; }
}
@media (max-width: 720px) {
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-site-header {
    top: 8px;
    left: 12px;
    right: 12px;
    min-height: 68px;
    grid-template-columns: 1fr auto;
    gap: 8px;
  }
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-mark { width: 46px; height: 46px; }
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-copy strong { font-size: 20px; max-width: 56vw; }
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav { gap: 12px; padding-top: 0; }
  .kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a { min-height: 34px; padding: 0; font-size: 13px; }
}

/* v6.8.0 final over-hero header polish: no separate dark header wash; text stays readable via shadows only. */
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-site-header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 90 !important;
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-site-header::before,
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-site-header::after {
  content: none !important;
  display: none !important;
}

/* Cinema Dark Typography Standard v1.0.0
   Theme-level normalization: keeps the cinematic identity but removes heavy oversized type. */
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-brand-copy strong {
  font-size: clamp(18px, 1.5vw, 26px);
  font-weight: 700;
  letter-spacing: .055em;
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a {
  font-size: clamp(12px, .82vw, 14px);
  font-weight: 600;
  letter-spacing: 0;
}
.kyi-theme-cinema-dark .kyi-has-cinema-hero .kyi-primary-nav a { font-weight: 600; }

/* v17.0.0 Unified Cinema Dark Header
   Requirement:
   The front page header must be the site-wide Cinema Dark header. Series pages
   were falling back to the boxed/sticky generic header because the transparent
   front-page header was tied to the homepage hero state only.

   This makes the front-page Cinema Dark header a site-level component for public
   pages using .kyi-unified-cinema-header. It keeps Modern Glass untouched.
*/
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-site-header {
  position: absolute !important;
  top: clamp(10px, 1.15vw, 18px) !important;
  left: var(--ft-gutter, clamp(18px, 4vw, 70px)) !important;
  right: var(--ft-gutter, clamp(18px, 4vw, 70px)) !important;
  width: auto !important;
  max-width: none !important;
  min-height: 82px !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 90 !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-site-header::after {
  display: none !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-brand-copy em {
  display: none !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-brand-copy strong {
  font-size: clamp(22px, 2vw, 34px) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: color-mix(in srgb, var(--ft-accent, #e3c66a) 76%, #fff) !important;
  text-shadow: 0 10px 30px rgba(0,0,0,.55) !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-brand-mark {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  color: #061018 !important;
  background: radial-gradient(circle at 34% 30%, #fffbe0, var(--ft-accent, #e3c66a) 48%, #8a6d24 100%) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.34), 0 0 0 3px rgba(255,255,255,.10) !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-brand-mark span {
  transform: translateX(2px) !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-brand-logo {
  width: auto !important;
  max-width: clamp(106px, 9.4vw, 176px) !important;
  height: clamp(42px, 4.2vw, 64px) !important;
  object-fit: contain !important;
  object-position: left center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,.46)) !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-brand-link:has(.kyi-brand-logo) .kyi-brand-copy,
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-brand-logo + .kyi-brand-copy {
  display: none !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-primary-nav {
  justify-content: flex-start !important;
  padding-left: clamp(10px, 2vw, 32px) !important;
  gap: clamp(6px, .75vw, 16px) !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-primary-nav a {
  min-height: 42px !important;
  padding: 0 8px !important;
  color: rgba(255,255,255,.92) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: clamp(13px, .9vw, 16px) !important;
  font-weight: 900 !important;
  text-shadow: 0 8px 22px rgba(0,0,0,.45) !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-primary-nav a.is-active,
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-primary-nav a:hover,
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-primary-nav a:focus-visible {
  color: var(--ft-accent, #e3c66a) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-header-actions {
  gap: clamp(8px, 1vw, 16px) !important;
  justify-content: flex-end !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-header-icon,
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-account-chip {
  color: #fff !important;
  background: transparent !important;
  text-shadow: 0 8px 22px rgba(0,0,0,.45) !important;
}
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-header-icon:hover,
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-account-chip:hover,
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-header-icon:focus-visible,
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-account-chip:focus-visible {
  color: var(--ft-accent, #e3c66a) !important;
  background: transparent !important;
  outline: none !important;
}
/* The front page header does not show a page-specific back arrow. Keep header identical across pages. */
.kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-back-icon {
  display: none !important;
}

@media (max-width: 920px) {
  .kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-site-header {
    grid-template-columns: minmax(120px, 1fr) auto !important;
    min-height: 68px !important;
    padding: 10px 0 !important;
  }
  .kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-primary-nav {
    padding-left: 0 !important;
  }
}
@media (max-width: 760px) {
  .kyi-theme-cinema-dark .kyi-unified-cinema-header .kyi-site-header {
    top: 10px !important;
    left: 18px !important;
    right: 18px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

/* Phase 2 shared Cinema Dark public primitives.
   These rules are intentionally theme-level because home, actor and future
   public templates share the same section shell without depending on
   homepage-only card/rail/hero CSS. */
.kyi-theme-cinema-dark.kyi-public-page {
  --cd-front-bg:#06101c;
  --cd-front-bg-2:#071421;
  --cd-front-card:#0b1422;
  --cd-front-line:rgba(255,255,255,.10);
  --cd-front-line-strong:rgba(255,255,255,.16);
  --cd-front-text:#f8fafc;
  --cd-front-muted:rgba(226,232,240,.74);
  --cd-front-soft:rgba(148,163,184,.72);
  --cd-front-accent:var(--ft-accent,#f5c542);
  --cd-front-gap:clamp(14px,1.28vw,22px);
  --cd-front-radius:16px;
  --cd-section-title:clamp(17px,1.12vw,22px);
  --cd-section-subtitle:clamp(11.5px,.72vw,13px);
  --cd-card-title:clamp(13px,.82vw,16px);
  --cd-wide-title:clamp(16px,1vw,20px);
  --cd-poster-title:clamp(12.5px,.76vw,14.5px);
  --cd-meta-size:clamp(11px,.72vw,13px);
  --kyi-front-bg: var(--cd-front-bg);
  --kyi-front-bg-2: var(--cd-front-bg-2);
  --kyi-front-text: var(--cd-front-text);
  --kyi-front-muted: var(--cd-front-muted);
  --kyi-front-accent: var(--cd-front-accent);
  color:var(--cd-front-text);
}

.kyi-theme-cinema-dark .kyi-frontpage-shell {
  background:linear-gradient(180deg,#050b14 0%,var(--cd-front-bg) 24%,var(--cd-front-bg-2) 100%);
}

.kyi-theme-cinema-dark .kyi-home-section {
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:clamp(22px,3.1vw,44px) var(--ft-gutter,clamp(18px,4vw,70px));
  background:linear-gradient(180deg,var(--cd-front-bg) 0%,var(--cd-front-bg-2) 100%);
  color:var(--cd-front-text);
  overflow:hidden;
  z-index:3;
}
.kyi-theme-cinema-dark .kyi-home-section + .kyi-home-section { padding-top:clamp(18px,2.35vw,34px); }
.kyi-theme-cinema-dark .kyi-home-section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:clamp(12px,1.25vw,18px);
}
.kyi-theme-cinema-dark .kyi-home-section-head > div {
  position:relative;
  min-width:0;
  padding-bottom:6px;
}
.kyi-theme-cinema-dark .kyi-home-section-head h2 {
  position:relative;
  display:inline-block;
  margin:0;
  padding-bottom:7px;
  color:#f9fbff;
  font-size:var(--cd-section-title);
  font-weight:650;
  letter-spacing:-.012em;
  line-height:1.14;
  text-wrap:balance;
}
.kyi-theme-cinema-dark .kyi-home-section-head h2::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:clamp(34px,3.4vw,58px);
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(248,250,252,.72),rgba(248,250,252,.08));
}
.kyi-theme-cinema-dark .kyi-home-section-head p {
  margin:3px 0 0;
  max-width:68ch;
  color:var(--cd-front-muted);
  font-size:var(--cd-section-subtitle);
  font-weight:450;
  line-height:1.42;
}
.kyi-theme-cinema-dark .kyi-home-view-all {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
  font-size:clamp(13px,.84vw,15px);
  font-weight:680;
  letter-spacing:-.01em;
  white-space:nowrap;
  opacity:.9;
  transition:opacity .18s ease, transform .18s ease;
}
.kyi-theme-cinema-dark .kyi-home-view-all:hover,
.kyi-theme-cinema-dark .kyi-home-view-all:focus-visible { opacity:1; transform:translateX(2px); }
.kyi-theme-cinema-dark .kyi-home-view-icon {
  position:relative;
  width:16px;
  height:16px;
  display:inline-block;
  flex:0 0 16px;
  background:none;
}
.kyi-theme-cinema-dark .kyi-home-view-icon::before {
  content:"";
  position:absolute;
  inset:2px;
  display:block;
  background:radial-gradient(circle,currentColor 2px,transparent 2.25px) 0 0/8px 8px;
  opacity:.92;
}
.kyi-theme-cinema-dark .kyi-home-view-icon::after { content:none; display:none; }

@media(max-width:700px){
  .kyi-theme-cinema-dark { --cd-front-gap:12px; --cd-section-title:clamp(17px,4.7vw,21px); --cd-card-title:clamp(12.5px,3.65vw,14.5px); --cd-poster-title:clamp(12px,3.45vw,13.5px); }
  .kyi-theme-cinema-dark .kyi-home-section{padding-left:18px;padding-right:18px}
  .kyi-theme-cinema-dark .kyi-home-section-head{align-items:flex-start;gap:12px}
  .kyi-theme-cinema-dark .kyi-home-view-all{font-size:13px}
}


/* v3.5.28 Cinema Dark public footer.
   Intentionally scoped to the Cinema Dark theme. No selectors leak into Modern Glass,
   admin, Blogger origin, or player controls. */
.kyi-theme-cinema-dark .kyi-cinema-footer {
  position: relative;
  z-index: 2;
  margin-top: clamp(26px, 4vw, 64px);
  border-top: 1px solid rgba(229, 198, 106, .20);
  background:
    radial-gradient(900px 300px at 8% -20%, rgba(227, 198, 106, .12), transparent 62%),
    linear-gradient(180deg, #081321 0%, #050b14 100%);
  color: #dfe6f0;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__inner,
.kyi-theme-cinema-dark .kyi-cinema-footer__bottom {
  width: min(var(--ft-content-max, 1680px), calc(100% - (2 * var(--ft-gutter, 24px))));
  margin-inline: auto;
  box-sizing: border-box;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__inner {
  display: grid;
  grid-template-columns: minmax(230px, 1.55fr) repeat(3, minmax(135px, .78fr));
  gap: clamp(24px, 3.2vw, 60px);
  padding: clamp(34px, 4vw, 58px) 0 clamp(28px, 3.2vw, 46px);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand {
  min-width: 0;
  padding-right: clamp(0px, 2vw, 28px);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #f7f0d4 !important;
  text-decoration: none;
  max-width: 100%;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand-link strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(17px, 1.25vw, 22px);
  font-weight: 720;
  letter-spacing: .055em;
  line-height: 1.1;
  text-transform: uppercase;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__logo {
  display: block;
  width: auto;
  max-width: min(210px, 72vw);
  height: 46px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, .34));
}
.kyi-theme-cinema-dark .kyi-cinema-footer__mark {
  display: inline-grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 28%, #fffce7, #e3c66a 50%, #8c6c24 100%);
  color: #08111e;
  font-size: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .34), 0 0 0 2px rgba(255,255,255,.09);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand p {
  max-width: 42ch;
  margin: 16px 0 0;
  color: rgba(211, 221, 234, .74);
  font-size: 13px;
  font-weight: 430;
  line-height: 1.62;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column {
  min-width: 0;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column h2 {
  margin: 2px 0 13px;
  color: #e6ca77;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  color: rgba(226, 232, 240, .78) !important;
  font-size: 13px;
  font-weight: 510;
  line-height: 1.42;
  text-decoration: none;
  transition: color .16s ease, transform .16s ease;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a::before {
  content: "";
  width: 0;
  height: 1px;
  margin-right: 0;
  background: currentColor;
  opacity: .75;
  transition: width .16s ease, margin-right .16s ease;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:hover,
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:focus-visible {
  color: #f5dc8d !important;
  outline: none;
  transform: translateX(2px);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:hover::before,
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:focus-visible::before {
  width: 9px;
  margin-right: 6px;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, .09);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__bottom p {
  margin: 0;
  color: rgba(179, 191, 208, .70);
  font-size: 12px;
  font-weight: 470;
  line-height: 1.45;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__social {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__social-link {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  background: rgba(255, 255, 255, .035);
  color: #f1ead1 !important;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .01em;
  line-height: 1;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__social-link:hover,
.kyi-theme-cinema-dark .kyi-cinema-footer__social-link:focus-visible {
  border-color: rgba(227, 198, 106, .74);
  background: rgba(227, 198, 106, .16);
  color: #fff8de !important;
  outline: none;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:focus-visible,
.kyi-theme-cinema-dark .kyi-cinema-footer__brand-link:focus-visible,
.kyi-theme-cinema-dark .kyi-cinema-footer__social-link:focus-visible {
  box-shadow: 0 0 0 3px rgba(227, 198, 106, .22);
}
@media (max-width: 920px) {
  .kyi-theme-cinema-dark .kyi-cinema-footer__inner {
    grid-template-columns: minmax(240px, 1.35fr) repeat(2, minmax(130px, .8fr));
  }
  .kyi-theme-cinema-dark .kyi-cinema-footer__brand {
    grid-column: 1 / -1;
    padding-right: 0;
  }
  .kyi-theme-cinema-dark .kyi-cinema-footer__brand p { max-width: 68ch; }
}
@media (max-width: 600px) {
  .kyi-theme-cinema-dark .kyi-cinema-footer { margin-top: 30px; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 20px;
    padding-top: 32px;
    padding-bottom: 28px;
  }
  .kyi-theme-cinema-dark .kyi-cinema-footer__brand { grid-column: 1 / -1; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__logo { height: 40px; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__bottom {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 14px;
    min-height: 0;
    padding: 18px 0 22px;
  }
  .kyi-theme-cinema-dark .kyi-cinema-footer__bottom p { max-width: 44ch; }
}
@media (max-width: 360px) {
  .kyi-theme-cinema-dark .kyi-cinema-footer__inner { grid-template-columns: 1fr; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__brand { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .kyi-theme-cinema-dark .kyi-cinema-footer__column a,
  .kyi-theme-cinema-dark .kyi-cinema-footer__column a::before,
  .kyi-theme-cinema-dark .kyi-cinema-footer__social-link { transition: none; }
}

/* v3.5.28a Cinema Dark footer visual-depth pass.
   Footer must read as a separate cinema closing stage, not as another continuation
   of the front-page navy background. Scoped to Cinema Dark only. */
.kyi-theme-cinema-dark .kyi-cinema-footer {
  isolation: isolate;
  overflow: hidden;
  margin-top: clamp(34px, 5vw, 78px);
  border-top: 1px solid rgba(231, 220, 166, .38);
  background:
    radial-gradient(760px 280px at 9% 0%, rgba(231, 220, 166, .16), transparent 66%),
    radial-gradient(680px 280px at 88% 18%, rgba(95, 132, 206, .13), transparent 67%),
    linear-gradient(135deg, #11131a 0%, #080a10 46%, #06070c 100%);
  box-shadow:
    0 -28px 68px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .06),
    inset 0 -1px 0 rgba(255, 255, 255, .025);
}
.kyi-theme-cinema-dark .kyi-cinema-footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 54px 54px,
    linear-gradient(180deg, rgba(255,255,255,.024) 1px, transparent 1px) 0 0 / 54px 54px,
    linear-gradient(90deg, transparent, rgba(231,220,166,.12), transparent) 50% 0 / min(72vw, 960px) 1px no-repeat;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.70), transparent 88%);
}
.kyi-theme-cinema-dark .kyi-cinema-footer::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(231,220,166,.12) 18%, rgba(231,220,166,.82) 50%, rgba(231,220,166,.12) 82%, transparent 100%);
  box-shadow: 0 0 22px rgba(231,220,166,.22);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__inner {
  position: relative;
  z-index: 1;
  align-items: start;
  gap: clamp(22px, 3vw, 52px);
  padding-top: clamp(38px, 4.4vw, 64px);
  padding-bottom: clamp(32px, 3.8vw, 52px);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand {
  position: relative;
  padding: clamp(18px, 2vw, 24px) clamp(18px, 2.15vw, 28px) clamp(20px, 2.2vw, 30px);
  border: 1px solid rgba(231, 220, 166, .16);
  border-left: 3px solid rgba(231, 220, 166, .78);
  border-radius: 2px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.015)),
    rgba(3, 5, 10, .30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 18px 38px rgba(0,0,0,.16);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 14px;
  width: 56px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(231,220,166,.72));
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand-link {
  gap: 12px;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand-link strong {
  color: #f5e8b8;
  font-size: clamp(16px, 1.18vw, 21px);
  font-weight: 700;
  letter-spacing: .075em;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand p {
  margin-top: 14px;
  color: rgba(221, 229, 240, .76);
  font-size: 13px;
  line-height: 1.66;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column {
  padding-top: 5px;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column h2 {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 15px;
  color: #f1db91;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .145em;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column h2::after {
  content: "";
  display: block;
  width: 23px;
  height: 1px;
  background: rgba(231,220,166,.62);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column ul {
  gap: 7px;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 30px;
  align-items: center;
  box-sizing: border-box;
  padding: 5px 9px 5px 10px;
  border: 1px solid transparent;
  border-left-color: rgba(231,220,166,.16);
  border-radius: 2px;
  color: rgba(230, 236, 245, .82) !important;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.35;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, padding-left .16s ease;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a::before {
  width: 3px;
  height: 3px;
  margin-right: 8px;
  border-radius: 50%;
  background: rgba(231,220,166,.72);
  opacity: .8;
  transition: opacity .16s ease, box-shadow .16s ease;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:hover,
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:focus-visible {
  padding-left: 13px;
  border-color: rgba(231,220,166,.28);
  background: linear-gradient(90deg, rgba(231,220,166,.13), rgba(231,220,166,.025));
  color: #fff5ca !important;
  transform: none;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:hover::before,
.kyi-theme-cinema-dark .kyi-cinema-footer__column a:focus-visible::before {
  width: 3px;
  margin-right: 8px;
  opacity: 1;
  box-shadow: 0 0 10px rgba(231,220,166,.72);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__bottom {
  position: relative;
  z-index: 1;
  min-height: 70px;
  padding: 16px 0;
  border-top-color: rgba(231,220,166,.16);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__bottom::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 calc(50% - 50vw);
  background: rgba(0,0,0,.16);
  border-top: 1px solid rgba(255,255,255,.025);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__bottom p {
  color: rgba(198, 208, 222, .72);
  font-size: 11.5px;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__social {
  gap: 7px;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__social-link {
  width: 33px;
  height: 33px;
  border-color: rgba(231,220,166,.22);
  border-radius: 2px;
  background: rgba(255,255,255,.045);
  color: #f8edbd !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.kyi-theme-cinema-dark .kyi-cinema-footer__social-link:hover,
.kyi-theme-cinema-dark .kyi-cinema-footer__social-link:focus-visible {
  border-color: rgba(231,220,166,.72);
  background: linear-gradient(135deg, rgba(231,220,166,.32), rgba(231,220,166,.12));
  color: #fff7d5 !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.15);
}
@media (max-width: 920px) {
  .kyi-theme-cinema-dark .kyi-cinema-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .kyi-theme-cinema-dark .kyi-cinema-footer { margin-top: 32px; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__inner { gap: 24px 16px; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__brand { padding: 18px; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__column a { min-height: 29px; padding-left: 8px; }
  .kyi-theme-cinema-dark .kyi-cinema-footer__column a:hover,
  .kyi-theme-cinema-dark .kyi-cinema-footer__column a:focus-visible { padding-left: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .kyi-theme-cinema-dark .kyi-cinema-footer__column a,
  .kyi-theme-cinema-dark .kyi-cinema-footer__column a::before { transition: none; }
}

/* v3.5.28b Cinema Dark footer brand-card removal.
   Keep the logo/brand content, but remove the boxed panel treatment so the footer
   reads as one continuous cinematic layout rather than a card inside a card. */
.kyi-theme-cinema-dark .kyi-cinema-footer__brand {
  padding: 2px clamp(0px, 1.2vw, 18px) 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.kyi-theme-cinema-dark .kyi-cinema-footer__brand::after {
  content: none;
}
@media (max-width: 600px) {
  .kyi-theme-cinema-dark .kyi-cinema-footer__brand {
    padding: 0;
  }
}
