/* Media hub: player, embeds, cards, featured-in strip, press kit, reels. Mobile first. */
.kk-media, .kk-media-player, .kk-pk { --pl-accent: var(--burgundy, #5c2a29); }

/* Audio player */
.kk-player { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1rem; align-items: center; padding: 1rem; background: var(--beige, #eadfcf); color: var(--chocolate, #3f291e); border-radius: 4px; --pl-accent: var(--burgundy, #5c2a29); }
.kk-media-player .kk-player, .kk-media .kk-player { --pl-accent: inherit; }
.kk-player__cover img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; border-radius: 2px; }
.kk-player:not(:has(.kk-player__cover)) { grid-template-columns: 1fr; }
.kk-player__body { min-width: 0; }
.kk-player__meta { margin: 0 0 .15rem; font: 600 .68rem/1.2 var(--sans, Arial); letter-spacing: .14em; text-transform: uppercase; color: var(--pl-accent); }
.kk-player__title { margin: 0 0 .6rem; font: 1.35rem/1.15 var(--serif, Georgia); }
.kk-player__native { width: 100%; max-width: 100%; }
.kk-player__row { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.kk-player__btn { min-width: 2.75rem; height: 2.75rem; padding: 0 .6rem; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font: 600 .78rem/1 var(--sans, Arial); cursor: pointer; }
.kk-player__btn:hover, .kk-player__btn:focus-visible { background: var(--chocolate, #3f291e); color: var(--cream, #f8f6ed); }
.kk-player__play { position: relative; width: 3.5rem; height: 3.5rem; border: 0; border-radius: 50%; background: var(--pl-accent); color: var(--cream, #f8f6ed); cursor: pointer; }
.kk-player__play span { position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: .55rem 0 .55rem .9rem; border-color: transparent transparent transparent currentColor; transform: translateX(.1rem); }
.kk-player.is-playing .kk-player__play span { width: .95rem; height: 1.05rem; border: 0; border-left: .3rem solid currentColor; border-right: .3rem solid currentColor; transform: none; }
.kk-player__play:hover, .kk-player__play:focus-visible { filter: brightness(.88); }
.kk-player__scrub { display: flex; align-items: center; gap: .6rem; margin-top: .6rem; }
.kk-player__time { flex: none; min-width: 2.6rem; font: .78rem/1 var(--sans, Arial); font-variant-numeric: tabular-nums; }
.kk-player__scrub input[type="range"] { flex: 1; min-width: 0; height: 1.5rem; margin: 0; background: transparent; accent-color: var(--pl-accent); cursor: pointer; }
@media (min-width: 700px) { .kk-player { grid-template-columns: 11rem 1fr; gap: 1.75rem; padding: 1.5rem; } .kk-player__title { font-size: 1.9rem; } }

/* Chapters */
.kk-chapters { margin: 1rem 0; border-top: 1px solid rgba(63, 41, 30, .25); }
.kk-chapters summary { cursor: pointer; padding: .9rem 0; font: 1.4rem/1.2 var(--serif, Georgia); }
.kk-chapters ol { list-style: none; margin: 0; padding: 0 0 .5rem; }
.kk-chapters button { display: flex; gap: 1rem; width: 100%; padding: .65rem .25rem; border: 0; border-bottom: 1px solid rgba(63, 41, 30, .12); background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.kk-chapters button:hover, .kk-chapters button:focus-visible { background: var(--beige, #eadfcf); }
.kk-chapters__t { flex: none; min-width: 3.4rem; font-variant-numeric: tabular-nums; color: var(--pl-accent, var(--burgundy)); font-weight: 600; }

/* Lite embed (video / Spotify): the iframe loads only on tap */
.kk-embed { position: relative; width: 100%; aspect-ratio: var(--ratio, 16 / 9); background: var(--chocolate, #3f291e); overflow: hidden; }
.kk-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kk-embed__btn { position: absolute; inset: 0; width: 100%; display: grid; place-items: center; align-content: center; gap: .6rem; border: 0; background: var(--chocolate, #3f291e) center / cover no-repeat; color: var(--cream, #f8f6ed); cursor: pointer; }
.kk-embed__btn::after { content: ""; position: absolute; inset: 0; background: rgba(40, 24, 17, .28); }
.kk-embed__play, .kk-embed__label { position: relative; z-index: 1; }
.kk-embed__play { width: 4.25rem; height: 4.25rem; border-radius: 50%; background: var(--cream, #f8f6ed); }
.kk-embed__play::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: .7rem 0 .7rem 1.1rem; border-color: transparent transparent transparent var(--burgundy, #5c2a29); transform: translateX(.15rem); }
.kk-embed__label { font: 600 .74rem/1 var(--sans, Arial); letter-spacing: .14em; text-transform: uppercase; }
.kk-embed--spotify, .kk-embed--apple { aspect-ratio: auto; min-height: 232px; background: var(--beige, #eadfcf); }
.kk-embed--spotify .kk-embed__btn, .kk-embed--apple .kk-embed__btn { background-color: var(--beige, #eadfcf); color: var(--chocolate, #3f291e); }
.kk-embed--spotify .kk-embed__btn::after, .kk-embed--apple .kk-embed__btn::after { display: none; }
.kk-embed--spotify .kk-embed__play, .kk-embed--apple .kk-embed__play { background: var(--burgundy, #5c2a29); }
.kk-embed--spotify .kk-embed__play::before, .kk-embed--apple .kk-embed__play::before { border-left-color: var(--cream, #f8f6ed); }
.kk-video { display: block; width: 100%; height: auto; background: #000; }
.kk-player + .kk-embed, .kk-embed + .kk-platforms, .kk-chapters + .kk-embed { margin-top: 1rem; }

/* Platform links */
.kk-platforms { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.kk-platform { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1.1rem; border: 1px solid var(--pl-accent, var(--burgundy)); border-radius: 999px; color: var(--pl-accent, var(--burgundy)); font: 600 .74rem/1 var(--sans, Arial); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.kk-platform:hover, .kk-platform:focus-visible { background: var(--pl-accent, var(--burgundy)); color: var(--cream, #f8f6ed); }

/* Cards, grids */
.mgrid, .mlist { display: grid; gap: 2rem 1.5rem; padding-bottom: var(--section, 4rem); }
.mgrid { grid-template-columns: 1fr; }
@media (min-width: 600px) { .mgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .mgrid { grid-template-columns: repeat(3, 1fr); } }
.mcard { display: grid; gap: .9rem; align-content: start; }
.mcard__cover, .mfeature__cover { position: relative; display: block; overflow: hidden; background: var(--beige, #eadfcf); }
.mcard__cover img, .mcard__blank { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .5s ease; }
.mcard__blank { background: linear-gradient(160deg, var(--powder, #d4e0df), var(--blush, #e8d0d0)); }
.mcard--video .mcard__cover img, .mcard--video .mcard__blank { aspect-ratio: 16 / 9; }
.mcard--feature .mcard__cover img, .mcard--feature .mcard__blank { aspect-ratio: 4 / 5; }
.mcard:hover .mcard__cover img { transform: scale(1.03); }
.mcard__play { position: absolute; right: .75rem; bottom: .75rem; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--cream, #f8f6ed); box-shadow: 0 4px 12px rgba(63, 41, 30, .3); }
.mcard__play::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: .42rem 0 .42rem .7rem; border-color: transparent transparent transparent var(--burgundy, #5c2a29); transform: translateX(.1rem); }
.mcard__title { margin: 0; font-size: clamp(1.5rem, 1.25rem + 1vw, 1.9rem); }
.mcard__title a { color: var(--chocolate, #3f291e); text-decoration: none; }
.mcard__title a:hover { color: var(--burgundy, #5c2a29); }
.mcard .eyebrow { margin: 0; }
.mcard__who { margin: 0; font-size: .9rem; opacity: .8; }
.mcard__excerpt { margin: 0; font-size: .95rem; }
.mlist { grid-template-columns: 1fr; }
.mlist .mcard { grid-template-columns: 6.5rem 1fr; gap: 1rem; align-items: center; }
.mlist .mcard__cover { align-self: start; }
@media (min-width: 700px) { .mlist .mcard { grid-template-columns: 9rem 1fr; } }
.mfeature { display: grid; gap: 1.25rem; margin-bottom: 2rem; }
.mfeature__cover img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.mfeature__title { font-size: clamp(2rem, 1.5rem + 2.5vw, 3.25rem); margin: 0 0 .5rem; }
.mfeature__title a { color: var(--chocolate, #3f291e); text-decoration: none; }
@media (min-width: 800px) { .mfeature { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 3rem; align-items: center; } }

/* Single media page */
.media-head { padding-block: clamp(2rem, 6vw, 4rem) 1.5rem; text-align: center; }
.media-head__title { font-size: clamp(2.2rem, 1.4rem + 4vw, 4.5rem); max-width: 18ch; margin: 0 auto .3em; line-height: 1; }
.media-head .meta { margin: 0; }
.media-stage { max-width: 52rem; margin-bottom: 2rem; }
.kk-transcript { margin: 2rem 0; border-top: 1px solid rgba(63, 41, 30, .25); border-bottom: 1px solid rgba(63, 41, 30, .25); }
.kk-transcript summary { cursor: pointer; padding: 1rem 0; font: 1.5rem/1.2 var(--serif, Georgia); }
.kk-transcript > div { padding-bottom: 1rem; font-size: .98rem; }
.kk-media-more { padding-block: var(--section, 4rem) 0; }

/* As featured in */
.kk-featured { padding-block: 1.75rem; --fi-h-default: 28px; }
.kk-featured__label { margin: 0 0 1rem; text-align: center; font: 600 .72rem/1 var(--sans, Arial); letter-spacing: .18em; text-transform: uppercase; color: var(--burgundy, #5c2a29); }
.kk-featured__viewport { display: flex; overflow: hidden; }
.kk-featured__list { display: flex; flex: none; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1.25rem 2rem; min-width: 100%; margin: 0; padding: 0 var(--gutter, 1rem); list-style: none; }
.kk-featured__list img { display: block; width: auto; height: var(--fi-size-m, 26px); max-width: 9rem; object-fit: contain; }
.kk-featured.is-mono img { filter: grayscale(1) contrast(.8) brightness(.5); opacity: .8; transition: opacity .2s, filter .2s; }
.kk-featured.is-mono a:hover img, .kk-featured.is-mono a:focus-visible img { filter: none; opacity: 1; }
.kk-featured.is-marquee .kk-featured__list { flex-wrap: nowrap; justify-content: flex-start; gap: 3rem; padding-inline: 1.5rem; animation: kk-marquee 32s linear infinite; }
.kk-featured.is-marquee:hover .kk-featured__list { animation-play-state: paused; }
@keyframes kk-marquee { to { transform: translateX(-100%); } }
@media (min-width: 800px) { .kk-featured__list img { height: var(--fi-size, 34px); } .kk-featured__list { gap: 1.5rem 3.5rem; } }
@media (prefers-reduced-motion: reduce) {
	.kk-featured.is-marquee .kk-featured__list { animation: none; flex-wrap: wrap; justify-content: center; }
	.kk-featured.is-marquee .kk-featured__list[aria-hidden="true"] { display: none; }
}

/* Press kit */
.kk-pk { padding-block: var(--section, 4rem); }
.kk-pk__grid { display: grid; gap: 1.25rem; }
.kk-pk__card { padding: 1.25rem; background: var(--beige, #eadfcf); }
.kk-pk__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.kk-pk__h { margin: 0; font-size: 1.5rem; }
.kk-pk__copy { min-height: 2.5rem; padding: 0 1rem; border: 1px solid var(--chocolate, #3f291e); border-radius: 999px; background: transparent; color: var(--chocolate, #3f291e); font: 600 .72rem/1 var(--sans, Arial); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.kk-pk__copy:hover, .kk-pk__copy:focus-visible { background: var(--chocolate, #3f291e); color: var(--cream, #f8f6ed); }
.kk-pk__copy[hidden] { display: none; }
.kk-pk__text p { margin: 0 0 .8em; font-size: .95rem; }
.kk-pk__files { list-style: none; margin: 0; padding: 0; }
.kk-pk__files a { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(63, 41, 30, .2); color: inherit; text-decoration: none; }
.kk-pk__files a:hover .kk-pk__fname { text-decoration: underline; }
.kk-pk__fname { font: 1.2rem/1.2 var(--serif, Georgia); }
.kk-pk__fmeta { flex: none; font-size: .75rem; letter-spacing: .08em; opacity: .7; align-self: center; }
.kk-pk__cta { margin: 1.75rem 0 0; text-align: center; }
@media (min-width: 800px) { .kk-pk__grid { grid-template-columns: repeat(2, 1fr); } }

/* Reels rail */
.kk-reels { padding-block: 1rem var(--section, 4rem); }
.kk-reels__rail { display: flex; gap: .75rem; margin: 0; padding: 0 var(--gutter, 1rem) .75rem; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.kk-reels__rail li { flex: none; scroll-snap-align: start; }
.kk-reel { position: relative; display: block; width: var(--rl-size-m, 168px); aspect-ratio: 9 / 16; padding: 0; border: 0; border-radius: 6px; overflow: hidden; background: var(--chocolate, #3f291e); cursor: pointer; }
.kk-reel video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kk-reel::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(to top, rgba(40, 24, 17, .8), transparent); pointer-events: none; }
.kk-reel__title { position: absolute; z-index: 1; left: .7rem; right: .7rem; bottom: .7rem; color: var(--cream, #f8f6ed); font: 1.05rem/1.15 var(--serif, Georgia); text-align: left; }
@media (min-width: 800px) { .kk-reel { width: var(--rl-size, 210px); } .kk-reels__rail { padding-inline: max(var(--gutter, 1rem), calc((100vw - 72rem) / 2)); } }
.kk-reel-dialog { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(40, 24, 17, .95); color: var(--cream, #f8f6ed); }
.kk-reel-dialog[open] { display: grid; grid-template-columns: 3rem 1fr 3rem; align-items: center; }
.kk-reel-dialog::backdrop { background: transparent; }
.kk-reel-dialog__stage { display: grid; justify-items: center; gap: .75rem; min-width: 0; max-height: 100dvh; padding: 1rem 0; }
.kk-reel-dialog video { max-width: 100%; max-height: 74dvh; aspect-ratio: 9 / 16; background: #000; border-radius: 8px; }
.kk-reel-dialog__title { margin: 0; font: 1.3rem/1.2 var(--serif, Georgia); text-align: center; padding-inline: 1rem; }
.kk-reel-dialog__close, .kk-reel-dialog__nav { background: none; border: 0; color: inherit; font: 300 2.4rem/1 var(--sans, Arial); cursor: pointer; padding: .75rem; }
.kk-reel-dialog__close { position: absolute; top: .5rem; right: .75rem; z-index: 2; }

/* Sticky mini player */
.kk-mini { position: fixed; z-index: 70; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: .75rem; padding: .6rem 1rem calc(.6rem + env(safe-area-inset-bottom)); background: var(--chocolate, #3f291e); color: var(--cream, #f8f6ed); box-shadow: 0 -6px 20px rgba(40, 24, 17, .3); }
.kk-mini[hidden] { display: none; }
.kk-mini__title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 1.1rem/1.2 var(--serif, Georgia); }
.kk-mini__play, .kk-mini__close { flex: none; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--cream, #f8f6ed); color: var(--burgundy, #5c2a29); font-size: 1.4rem; cursor: pointer; position: relative; }
.kk-mini__close { background: transparent; color: var(--cream, #f8f6ed); }
.kk-mini__play span { position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: .45rem 0 .45rem .75rem; border-color: transparent transparent transparent currentColor; transform: translateX(.08rem); }
.kk-mini.is-playing .kk-mini__play span { width: .8rem; height: .9rem; border: 0; border-left: .25rem solid currentColor; border-right: .25rem solid currentColor; transform: none; }
.has-mini .kk-timers { bottom: 4.75rem; }
.has-mini .kk-listfab { bottom: 4.75rem; }

/* Page numbers under an episode list */
.kk-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 2rem 0 0; }
.kk-pager__link { display: inline-grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 .9rem; border: 1px solid rgba(63, 41, 30, .3); border-radius: 999px; color: var(--chocolate, #3f291e); font: 600 .78rem/1 var(--sans, Arial); letter-spacing: .1em; text-decoration: none; }
.kk-pager__link:hover, .kk-pager__link:focus-visible { border-color: var(--pl-accent, var(--burgundy)); color: var(--pl-accent, var(--burgundy)); }
.kk-pager__link.is-current { background: var(--pl-accent, var(--burgundy, #5c2a29)); border-color: var(--pl-accent, var(--burgundy, #5c2a29)); color: var(--cream, #f8f6ed); }

/* Instagram: tile in the Reels Rail, iframe in the viewer, and the single-page embed */
.kk-reel--ig { background: linear-gradient(160deg, var(--blush, #e8d0d0), var(--burgundy, #5c2a29)); }
.kk-reel__cover { position: absolute; inset: 0; background: center / cover no-repeat; }
.kk-reel__badge { position: absolute; z-index: 1; top: .7rem; left: .7rem; padding: .3rem .6rem; border-radius: 999px; background: rgba(248, 246, 237, .92); color: var(--burgundy, #5c2a29); font: 600 .62rem/1 var(--sans, Arial); letter-spacing: .12em; text-transform: uppercase; }
.kk-reel__play { position: absolute; z-index: 1; top: 50%; left: 50%; width: 3.25rem; height: 3.25rem; margin: -1.625rem 0 0 -1.625rem; border-radius: 50%; background: rgba(248, 246, 237, .92); }
.kk-reel__play::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: .5rem 0 .5rem .8rem; border-color: transparent transparent transparent var(--burgundy, #5c2a29); transform: translateX(.12rem); }
.kk-reel-dialog__ig { width: min(92vw, 26rem); height: min(76dvh, 46rem); border: 0; border-radius: 8px; background: #fff; }
.kk-reel-dialog video[hidden] { display: none; }
.kk-embed--instagram { max-width: 28rem; margin-inline: auto; }

/* Reels rail: centre the cards when they do not fill the width (still scrolls when they do) */
.kk-reels--center .kk-reels__rail > li:first-child { margin-left: auto; }
.kk-reels--center .kk-reels__rail > li:last-child { margin-right: auto; }
@media (min-width: 0px) { .kk-reels--center .kk-reels__rail { padding-inline: var(--gutter, 1rem); } }
