/* Shared visual rhythm for the Hub and both collections. */
:root {
 --tk-space:clamp(3rem,6vw,5.5rem);
 --tk-gap:clamp(1rem,2.2vw,2rem);
 --tk-muted:#b0aca4;
 --tk-hairline:rgba(244,241,232,.13);
}
html { scroll-padding-top:110px; }
body { -webkit-font-smoothing:antialiased; }
body::after { opacity:.018; }
main { --wp--style--block-gap:1.25rem; }
main p { text-wrap:pretty; }
main :is(a,button,input,select):focus-visible { outline:2px solid #e9b949; outline-offset:5px; }
.tk-kicker { font-size:.66rem; line-height:1.6; font-weight:600; letter-spacing:.17em; margin:0 0 1rem; }
.tk-kicker::before { content:none; }
.tk-page-intro { color:var(--tk-muted); font-size:1rem; line-height:1.7; max-width:650px; }
.tk-section-head h1 { font-size:clamp(2.7rem,5.8vw,4.6rem); }
.tk-section-head .tk-keyline { width:32px; height:2px; margin-top:1.5rem; opacity:.7; }
.tk-section-head .wp-block-heading:not(h1), .tk-discovery h2, .tk-discovery__head h2,
.tk-channel-section__head h2,.tk-release-people h2 {
 font-family:var(--wp--preset--font-family--archivo); font-weight:600; text-transform:none; letter-spacing:-.035em; line-height:1.2; font-size:clamp(1.5rem,3vw,2.4rem); margin:0;
}

/* Quiet, compact navigation: the content carries the emphasis. */
.tk-header--refined { padding: .6rem clamp(1rem,3vw,2.5rem); border:0; background:rgba(10,10,12,.86); backdrop-filter:blur(18px); }
.tk-header__inner { max-width:1320px; gap:clamp(1rem,3vw,2.5rem); }
.tk-brand__logo { width:104px; height:46px; }
.tk-primary-nav { gap:clamp(1rem,2.2vw,2rem); }
.tk-primary-nav a { font-size:.84rem; font-weight:500; letter-spacing:0; text-transform:none; color:#c4c1ba; padding:.65rem 0; background-image:none!important; position:relative; }
.tk-primary-nav a:hover,.tk-primary-nav a[aria-current] { color:#f4f1e8; box-shadow:none; }
.tk-primary-nav a[aria-current]::after { content:""; position:absolute; height:3px; width:3px; border-radius:50%; background:#e9b949; left:calc(50% - 1px); bottom:0; }
.tk-primary-nav a[href*="hub-xtra"][aria-current]::after { background:#a8d7ff; }
.tk-header-actions { border:0; gap:.35rem; padding:0; }
.tk-header-actions a,.tk-header-actions button { width:40px; height:40px; border-radius:50%; }
.tk-header-actions a:hover,.tk-header-actions button:hover { background:#ffffff0b; }
.tk-header-actions .tk-basket__count { right:0; top:1px; font-weight:600; }
.tk-header--scrolled { border:0; box-shadow:0 8px 32px #0000001a; }

/* A continuous homepage, with generous sections rather than framed widgets. */
.tk-home-section { margin-block:0!important; padding-block:var(--tk-space); }
.tk-home-section + .tk-home-section { padding-top:1rem; }
.tk-home-section .tk-section-head { margin-bottom:2rem; }
body.home .tk-cinema { min-height:560px; height:80svh; max-height:860px; }
.tk-cinema__grain { opacity:.2; }
.tk-cinema__inner { box-sizing:border-box; max-width:100%; padding:100px 1.25rem 36px; gap:1rem; }
.tk-cinema__inner>* { margin-block:0; }
.tk-cinema__title--logo { gap:1rem; }
.tk-cinema__logo { width:clamp(260px,36vw,470px); max-width:85vw; }
.tk-cinema__title--logo .tk-cinema__title-ghost { font-size:clamp(2rem,3vw,2.5rem); }
.tk-cinema--release { min-height:560px; height:78svh; max-height:850px; }
.tk-cinema--release .tk-cinema__title { max-width:1100px; font-size:clamp(3rem,7vw,7rem); text-wrap:balance; }
.tk-cinema .tk-kicker { font-size:.7rem; }
.tk-chip { border-color:#ffffff30; border-radius:100px; letter-spacing:.04em; }

/* Channel doors use actual video imagery, with a subtle channel colour cue. */
.tk-channel-doors { gap:var(--tk-gap); margin:1.5rem 0 0; }
.tk-channel-door { --channel:#e9b949; position:relative; isolation:isolate; min-height:350px; overflow:hidden; border:0; border-radius:4px; padding:0; background:#111; justify-content:flex-end; }
.tk-channel-door--hubxtra { --channel:#a8d7ff; }
.tk-channel-door:hover { background:#111; }
main .tk-channel-door,main .tk-store-link { padding:0!important; }
.tk-channel-door__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.7); opacity:.7; z-index:-2; transition:transform .7s ease,opacity .5s ease; }
.tk-channel-door::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,7,9,.08),rgba(5,7,9,.76) 48%,#08090bef); }
.tk-channel-door__body { width:100%; box-sizing:border-box; padding:clamp(1.5rem,3vw,2.5rem); }
.tk-channel-door .tk-channel-door__eyebrow { display:block; color:var(--channel); font-size:.65rem; letter-spacing:.12em; line-height:1.7; text-transform:uppercase; }
.tk-channel-door__eyebrow>span { color:#ddd9d0; letter-spacing:.05em; }
.tk-channel-door h2 { font-size:clamp(2.2rem,4vw,3.4rem); margin:.65rem 0 1rem; color:#f4f1e8; }
.tk-channel-door p { font-size:.9rem; line-height:1.6; color:#d0ccc5; max-width:30em; margin:0; }
.tk-channel-door .tk-channel-door__cta { display:flex; align-items:center; justify-content:space-between; color:var(--channel); font-size:.8rem; line-height:1.5; padding-top:2rem; margin:0; }
.tk-channel-door__cta>span { font-size:1.4rem; }
.tk-channel-door:hover .tk-channel-door__image { transform:scale(1.035); opacity:.9; }
.tk-channel-section { border:0; padding-top:0; margin-top:3rem; }
.tk-channel-section__head { align-items:center; margin-bottom:1.4rem; gap:1.5rem; }
.tk-channel-section__head h2 { font-size:clamp(1.35rem,2.4vw,1.8rem); }
.tk-channel-section__head>div h2::before { content:""; display:inline-block; width:6px; height:6px; background:#e9b949; border-radius:50%; margin:0 .75rem .2rem 0; }
.tk-channel-section--hubxtra .tk-channel-section__head>div h2::before { background:#a8d7ff; }
.tk-channel-section__head>a,.tk-text-link { font-size:.8rem; white-space:nowrap; text-decoration:none; padding:.65rem 0; }
.tk-channel-summary { font-size:.8rem; color:var(--tk-muted); }
.tk-channel-filters { gap:.6rem; margin-block:0 2.5rem; }
.tk-channel-filter { padding:.7rem 1rem; border:0; border-radius:100px; background:#ffffff08; color:#c4c1ba; font-size:.8rem; font-weight:500; line-height:1.3; }
.tk-channel-filter[aria-current="page"],.tk-channel-filter:hover { color:#f4f1e8; background:#e9b9491a; }
.tk-channel-filter--hubxtra[aria-current="page"],.tk-channel-filter--hubxtra:hover { background:#a8d7ff1a; color:#a8d7ff; }
.tk-channel-count { opacity:.7; font-size:.85em; }
.tk-channel-badge { border:0; padding:0; background:none; letter-spacing:.09em; font-size:.58rem; }
.tk-channel-badge--hubxtra { background:none; color:#a8d7ff; }
.tk-video-wall { gap:2.2rem var(--tk-gap); }
.tk-video-thumb { border-radius:3px; }
.tk-video-thumb img.tk-thumbnail-inset,.wp-block-post-featured-image img.tk-thumbnail-inset { scale:1.05; }
.wp-block-post-featured-image:has(.tk-thumbnail-inset) { overflow:hidden; }
.tk-video-info .tk-video-title,.tk-channel-section .tk-video-title { font-family:var(--wp--preset--font-family--archivo); font-weight:600; font-size:1.15rem; letter-spacing:-.025em; text-transform:none; line-height:1.35; }
.tk-video-info .tk-release-meta { font-size:.76rem; color:var(--tk-muted); line-height:1.65; margin-top:.55rem; }
.tk-video-info .tk-release-meta { text-transform:none; letter-spacing:0; }
.tk-channel-badge--threekey-hub { background:none; }
.tk-video-thumb .tk-play { width:52px; height:52px; border:1px solid #ffffff50; background:#0a0a0c6b; }
.tk-video-thumb .tk-play::after { border-width:8px 0 8px 13px; }
.tk-release-strip .wp-block-post-title { font-family:var(--wp--preset--font-family--archivo); font-weight:600; font-size:1.1rem; line-height:1.35; text-transform:none; letter-spacing:-.025em; }
.tk-release-strip { padding-block:1rem; }
.tk-card { padding:0; background:none; border:0; box-shadow:none; }
.tk-card:hover { box-shadow:none; transform:none; }
.tk-card .wp-block-post-title { font-family:var(--wp--preset--font-family--archivo); text-transform:none; font-weight:600; font-size:1.3rem; letter-spacing:-.025em; line-height:1.3; }

/* Two collections, one visual language. No enclosing picture frames. */
.tk-store-links { gap:var(--tk-gap); margin-top:2rem; }
.tk-store-link { display:grid; grid-template-columns:45% 1fr; gap:0; padding:0; border:0; border-radius:4px; overflow:hidden; background:#151518; }
.tk-store-link:hover { background:#1a1a1e; }
.tk-store-link__image { overflow:hidden; height:100%; min-height:240px; background:#dddcd8; display:grid; place-items:center; }
.tk-store-link img { width:100%; height:100%; max-height:330px; object-fit:cover; background:transparent; transition:transform .6s ease; }
.tk-store-link:hover img { transform:scale(1.035); }
.tk-store-link__body { padding:clamp(1.1rem,2.7vw,2rem); }
.tk-store-link__eyebrow { color:var(--tk-muted); font-size:.6rem; margin:0 0 .85rem; letter-spacing:.12em; }
.tk-store-link h3 { font-size:clamp(1.65rem,2.8vw,2.3rem); line-height:1.15; margin:0 0 .85rem; }
.tk-store-link p { color:var(--tk-muted); font-size:.8rem; line-height:1.5; }
.tk-store-link__cta { font-size:.76rem; line-height:1.6; margin-top:1.6rem; }
.tk-store-link__cta>span { margin-left:.3rem; }
.tk-store-switcher { border:0; margin:0 0 2rem; padding:0; gap:1.5rem; }
.tk-store-switcher a { font-size:.85rem; font-weight:500; letter-spacing:0; text-transform:none; }
.tk-shop-head { margin:1rem 0 2.5rem; }
.tk-shop-policies { border:0; border-top:1px solid var(--tk-hairline); padding-top:1.5rem; margin-top:3rem; }
.tk-catalogue ul.products { gap:2rem var(--tk-gap); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--wp--preset--font-family--archivo); font-weight:600; font-size:1rem; line-height:1.4; text-transform:none; letter-spacing:-.02em; margin:.5rem 0; }
.woocommerce ul.products li.product a img { border-radius:3px; }
.tk-product-brand { font-size:.58rem; letter-spacing:.1em; }
.tk-catalogue .tk-product-options--sold-out, .woocommerce .tk-product-options--sold-out { color:#e9b949; font-weight:600; }
.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link img { opacity:.7; }
.woocommerce ul.products li.product .button { background:none!important; color:#f4f1e8!important; border:0!important; border-bottom:1px solid #ffffff35!important; padding:.4rem 0!important; border-radius:0; font-size:.8rem!important; letter-spacing:0!important; text-transform:none!important; }
.woocommerce ul.products li.product .button:hover { color:#e9b949!important; border-color:#e9b949!important; }
.single-product h1.wp-block-post-title { font-family:var(--wp--preset--font-family--archivo); text-transform:none; font-weight:600; letter-spacing:-.04em; font-size:clamp(2rem,3vw,3rem); line-height:1.15; }
.single-product .tk-store-switcher { gap:1.25rem; margin-bottom:1.5rem; }
.single-product .tk-store-switcher a { font-size:.76rem; }
.wc-block-product .wp-block-post-title { font:600 1rem/1.4 var(--wp--preset--font-family--archivo); letter-spacing:-.02em; text-transform:none; }
.tk-size-picker span { border-color:#ffffff30; border-radius:3px; font-weight:500; }
.wp-element-button,.tk-stream-btn { border-radius:3px; letter-spacing:.04em; }
.tk-stream-btn { border:0; border-radius:100px; background:#ffffff0b; color:#dedad1; padding:.65rem 1rem; font-size:.75rem; text-transform:none; letter-spacing:0; }
.tk-stream-btn:hover { background:#e9b949; color:#0a0a0c; }
.tk-catalogue ul.products li.product .woocommerce-loop-product__title { min-height:2.8em; }

/* The people and the music are connected, not separate endpoints. */
.tk-artist-card>a { border:0; }
.tk-artist-card__portrait { border-radius:3px; }
.tk-artist-card a[href$="/artists/trappa-rass/"] .tk-artist-card__portrait img { object-position:50% 0; }
.tk-artist-card a[href$="/artists/emerge-mc/"] .tk-artist-card__portrait img { object-position:50% 50%; transform:scale(1.25); }
.tk-artist-card a[href$="/artists/manlyk-redz/"] .tk-artist-card__portrait img { object-position:center; transform:scale(1.38); transform-origin:50% 40%; }
.tk-artist-card h2 { font-family:var(--wp--preset--font-family--archivo); font-weight:600; font-size:clamp(1.2rem,2.2vw,1.65rem); letter-spacing:-.025em; text-transform:none; }
.tk-artist-card p { color:var(--tk-muted); }
.tk-artist-card__arrow { border:0; background:#0a0a0c9c; }
.tk-artist-card__body { padding:1rem 0 0; }
.tk-artist-grid { gap:2.5rem var(--tk-gap); }
.tk-artist-story { gap:clamp(2rem,5vw,5rem); margin-top:1.5rem; }
.single-tk_artist .wp-block-post-content { color:#c6c2ba; line-height:1.85; font-size:.96rem; }
.single-tk_artist .wp-block-post-content .tk-bio-language { font:600 .68rem/1.5 var(--wp--preset--font-family--archivo); text-transform:uppercase; letter-spacing:.12em; color:var(--tk-muted); margin:0 0 1rem; }
.tk-bio + .tk-bio { margin-top:2rem; }
.tk-profile-brand { position:relative; width:min(100%,320px); aspect-ratio:1.85; margin:2rem 0 0; overflow:hidden; background:#000; }
.tk-profile-brand img { position:absolute; display:block; width:125%; max-width:none; height:auto; top:50%; left:50%; transform:translate(-50%,-53.5%); }
.single-tk_artist .wp-block-post-title { margin:0 0 1rem; font-size:clamp(3rem,6vw,5rem); }
.single-tk_artist .wp-block-post-featured-image { width:100%; aspect-ratio:4/5; margin:0; }
.single-tk_artist .wp-block-post-featured-image img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 38%; border-radius:3px; }
/* Keep screenshot borders outside the shared portrait frame. */
.single-tk_artist .wp-block-post-featured-image img[src*="/emerge-mc-stage"] { object-position:center; transform:scale(1.25); }
.single-tk_artist .wp-block-post-featured-image img[src*="/manlyk-redz-bw"] { object-position:50% 40%; transform:scale(1.38); transform-origin:50% 40%; }
.tk-artist-role { font-size:.7rem; line-height:1.7; margin:.7rem 0 1.5rem; }
.tk-discovery { margin-top:var(--tk-space); }
.tk-discovery__head { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; margin-bottom:2rem; }
.tk-discovery__head .tk-kicker { margin-bottom:.8rem; }
.tk-people-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--tk-gap); }
.tk-person { display:block; text-decoration:none; background-image:none!important; }
.tk-person img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 38%; border-radius:3px; filter:saturate(.7); transition:filter .3s; }
.tk-person__placeholder { display:grid; place-items:center; width:100%; aspect-ratio:4/5; background:#18181c; color:var(--wp--preset--color--muted); border-radius:3px; font:clamp(2.5rem,5vw,5rem)/1 var(--wp--preset--font-family--barlow-condensed); }
.tk-person>span { display:flex; justify-content:space-between; align-items:center; gap:.5rem; font-size:.85rem; font-weight:500; line-height:1.4; padding-top:.8rem; }
.tk-person>span>span { color:var(--tk-muted); }
.tk-person:hover img { filter:saturate(1); }
.tk-context-nav { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem 2rem; padding:1.1rem 0; font-size:.8rem; color:var(--tk-muted); }
.tk-context-nav a { padding:.4rem 0; text-decoration:none; }
.tk-release-people { margin:2.5rem 0; }
.tk-release-people h2 { font-size:1.5rem; margin-bottom:1.25rem; }
.tk-profile-links { display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.tk-profile-link { display:flex; align-items:center; gap:.85rem; text-decoration:none; background-image:none!important; min-width:210px; padding:.25rem 0; }
.tk-profile-link img { width:48px; height:48px; object-fit:cover; border-radius:50%; }
.tk-profile-link strong { display:block; font-size:.9rem; font-weight:600; }
.tk-profile-link small { display:block; font-size:.66rem; color:var(--tk-muted); margin-top:.2rem; }
.tk-profile-link__arrow { color:var(--tk-muted); margin-left:auto; font-size:.9rem; }

/* A shared vignette for artist photography, preserving the original colour. */
.tk-artist-image,.single-tk_artist .wp-block-post-featured-image { position:relative; isolation:isolate; overflow:hidden; border-radius:3px; }
.tk-artist-image img { display:block; }
.tk-artist-image::after,.single-tk_artist .wp-block-post-featured-image::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit; background:radial-gradient(ellipse at 50% 42%,transparent 42%,rgb(0 0 0 / .12) 75%,rgb(0 0 0 / .38) 100%); }
.tk-artist-image.tk-artist-image--portrait img { filter:none; transition:transform .3s ease; }
.tk-artist-card>a:is(:hover,:focus-visible) .tk-artist-image--portrait img,.tk-person:is(:hover,:focus-visible) .tk-artist-image--portrait img,.tk-profile-link:is(:hover,:focus-visible) .tk-artist-image--portrait img { filter:none; }
.tk-profile-link .tk-profile-link__image { display:block; flex:0 0 48px; width:48px; height:48px; border-radius:50%; }
.tk-artist-card__arrow { z-index:2; }
.tk-next-link { display:flex; align-items:center; justify-content:space-between; padding:2rem 0; margin-top:2rem; border-block:1px solid var(--tk-hairline); text-decoration:none; background-image:none!important; }
.tk-next-link small { display:block; font-size:.75rem; color:var(--tk-muted); margin-bottom:.5rem; }
.tk-next-link strong { display:block; font-size:1.6rem; letter-spacing:-.03em; font-weight:600; }
.tk-next-link>span+span { font-size:2rem; color:#e9b949; }
.tk-haze--footer { border-top-color:var(--tk-hairline)!important; background:#0a0a0c!important; }
.tk-footer-nav a { font-family:var(--wp--preset--font-family--archivo); text-transform:none; font-size:1rem; letter-spacing:0; line-height:1.5; }
.tk-footer__strap,.tk-footer-contact { color:var(--tk-muted); }

@media(max-width:1000px) {
 .tk-store-link { grid-template-columns:42% 1fr; }
 .tk-store-link__body { padding:1.25rem; }
 .tk-store-link__image { min-height:220px; }
 .tk-store-link h3 { font-size:1.65rem; }
 .tk-people-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
}
@media(max-width:800px) {
 .tk-primary-nav { gap:.5rem; border-top:1px solid var(--tk-hairline); padding:1rem 0 .5rem; }
 .tk-primary-nav a { font-size:1rem; padding:.7rem .85rem; border-radius:3px; }
 .tk-primary-nav a[aria-current] { background:#ffffff08; }
 .tk-primary-nav a[aria-current]::after { left:0; bottom:calc(50% - 2px); }
 .tk-menu-toggle { font-size:.8rem; font-weight:500; }
 .tk-channel-door { min-height:330px; }
 .tk-store-links { grid-template-columns:1fr; }
 .tk-store-link { grid-template-columns:40% 1fr; }
 .tk-store-link__body { padding:1.75rem; }
 .tk-store-link__image { min-height:0; }
 .tk-store-link img { max-height:300px; }
 .tk-store-link h3 { font-size:2rem; }
}
@media(max-width:600px) {
 html { scroll-padding-top:85px; }
 .tk-header--refined { padding:.5rem 1rem; }
 .tk-brand__logo { width:92px; height:42px; }
 .tk-header__inner { gap:.5rem; }
 .tk-header-actions { gap:0; }
 .tk-header-actions a,.tk-header-actions button { width:36px; height:40px; }
 body.home .tk-cinema { min-height:520px; height:76svh; }
 .tk-cinema__inner { padding-top:88px; }
 .tk-cinema--release { min-height:520px; height:76svh; }
 .tk-channel-doors { grid-template-columns:1fr; }
 .tk-channel-door { min-height:305px; }
 .tk-channel-door h2 { font-size:2.6rem; }
 .tk-channel-door__body { padding:1.5rem; }
 .tk-channel-door .tk-channel-door__cta { padding-top:1.5rem; }
 .tk-channel-section__head { flex-direction:row; align-items:center; gap:.75rem; }
 .tk-channel-section__head h2 { font-size:1.3rem; }
 .tk-channel-section__head>a { font-size:.72rem; }
 .tk-channel-section__head>div+p,.tk-channel-summary { font-size:.7rem; }
 .tk-channel-filters { gap:.4rem; flex-wrap:wrap; }
 .tk-channel-filter { padding:.65rem .8rem; font-size:.74rem; }
 .tk-store-link { grid-template-columns:42% 1fr; }
 .tk-store-link__body { padding:1.1rem; }
 .tk-store-link h3 { font-size:1.7rem; }
 .tk-store-link__eyebrow { font-size:.55rem; margin-bottom:.65rem; }
 .tk-store-link p { font-size:.75rem; }
 .tk-store-link__cta { font-size:.7rem; margin-top:1rem; }
 .tk-store-link img { object-fit:contain; height:100%; }
 .tk-discovery__head { align-items:flex-start; flex-direction:column; gap:.5rem; }
 .tk-people-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem .75rem; }
 .tk-person>span { font-size:.75rem; }
 .tk-person>span>span { display:none; }
 .tk-artist-story { gap:2rem; }
 .single-tk_artist .wp-block-post-featured-image { max-width:420px; margin-inline:auto; }
 .tk-profile-link { min-width:190px; }
 .tk-catalogue ul.products { gap:1.75rem 1rem; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.95rem; }
 .tk-shop-policies { gap:.6rem; flex-direction:column; }
 .tk-footer__head { gap:2rem; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .tk-channel-door__image,.tk-store-link img,.tk-person img,.tk-artist-image.tk-artist-image--portrait img { transition:none; }
 .tk-channel-door:hover .tk-channel-door__image,.tk-store-link:hover img { transform:none; }
}
