/* ============================================================
   KESTARFEEZ MUSIC — Global Stylesheet
   Dark, premium, editorial music-company aesthetic.
   Bootstrap 5.3 + vanilla CSS. No frameworks.
   Every rule is one line.
   ============================================================ */

/* ---------- 1. Design tokens ---------- */
:root{--kf-black: #0a0908; --kf-bg: #0a0908; --kf-surface: #121110; --kf-surface-2: #1a1817; --kf-surface-3: #211e1c; --kf-border: rgba(245, 242, 235, .09); --kf-border-strong: rgba(245, 242, 235, .16); --kf-line-soft: rgba(245, 242, 235, .14); --kf-text: #f5f2eb; --kf-muted: #9c948a; --kf-muted-2: #6e675f; --kf-gold: #d4a017; --kf-gold-soft: #e8c84d; --kf-ember: #8c3a2b; --kf-ember-soft: #b5573f; --kf-hover: rgba(245, 242, 235, .04); --kf-hover-strong: rgba(245, 242, 235, .08); --kf-glass: rgba(16, 15, 14, .98); --kf-glass-soft: rgba(18, 17, 16, .72); --kf-glass-mega: rgba(7, 6, 5, .97); --kf-glass-player: rgba(12, 11, 10, .92); --kf-glass-queue: rgba(12, 11, 10, .96); --kf-nav-glass: rgba(10, 9, 8, .88); --kf-overlay-0: rgba(10, 9, 8, 0); --kf-overlay-1: rgba(10, 9, 8, .1); --kf-overlay-5: rgba(10, 9, 8, .5); --kf-overlay-75: rgba(10, 9, 8, .75); --kf-overlay-8: rgba(10, 9, 8, .8); --kf-overlay-92: rgba(10, 9, 8, .92); --kf-overlay-94: rgba(10, 9, 8, .94); --kf-overlay-96: rgba(10, 9, 8, .96); --kf-grad-1: #24211d; --kf-grad-2: #171514; --kf-grad-3: #0f0e0d; --kf-grad-4: #1c1a17; --kf-grad-5: #131211; --kf-track: rgba(245, 242, 235, .18); --kf-ease: cubic-bezier(.2, .7, .2, 1);}
html.light{--kf-black: #0a0908; --kf-bg: #f5f2eb; --kf-surface: #ffffff; --kf-surface-2: #f1ece2; --kf-surface-3: #e8e2d6; --kf-border: rgba(18, 14, 6, .12); --kf-border-strong: rgba(18, 14, 6, .22); --kf-line-soft: rgba(18, 14, 6, .14); --kf-text: #17130e; --kf-muted: #5d564b; --kf-muted-2: #8a8174; --kf-gold: #d4a017; --kf-gold-soft: #b5902a; --kf-ember: #a14a33; --kf-ember-soft: #b5573f; --kf-hover: rgba(18, 14, 6, .05); --kf-hover-strong: rgba(18, 14, 6, .09); --kf-glass: rgba(255, 253, 248, .98); --kf-glass-soft: rgba(255, 253, 248, .8); --kf-glass-mega: rgba(248, 245, 238, .97); --kf-glass-player: rgba(255, 253, 248, .95); --kf-glass-queue: rgba(255, 253, 248, .97); --kf-nav-glass: rgba(248, 245, 238, .9); --kf-overlay-0: rgba(245, 242, 234, 0); --kf-overlay-1: rgba(245, 242, 234, .55); --kf-overlay-5: rgba(245, 242, 234, .72); --kf-overlay-75: rgba(245, 242, 234, .85); --kf-overlay-8: rgba(245, 242, 234, .88); --kf-overlay-92: rgba(245, 242, 234, .94); --kf-overlay-94: rgba(245, 242, 234, .96); --kf-overlay-96: rgba(245, 242, 234, .98); --kf-grad-1: #f1ece2; --kf-grad-2: #e8e2d6; --kf-grad-3: #e2dccd; --kf-grad-4: #f1ece2; --kf-grad-5: #e8e2d6; --kf-track: rgba(18, 14, 6, .18); --kf-ease: cubic-bezier(.2, .7, .2, 1);}
/* ---------- 2. Base ---------- */
*{box-sizing: border-box;}
html{scroll-behavior: smooth;}
body{background-color: var(--kf-bg); color: var(--kf-text); font-family: 'Red Hat Display', sans-serif; font-weight: 400; overflow-x: hidden;}
::selection{background: var(--kf-gold); color: var(--kf-black);}
img{max-width: 100%;}
.container-kf{max-width: 1320px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px;}

/* Anchor offsets for fixed nav */
[id]{scroll-margin-top: 96px;}
/* ---------- 3. Type scale ---------- */
.eyebrow{font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--kf-gold); display: inline-flex; align-items: center; gap: 10px; margin-bottom:12px;}
.eyebrow::before{content: ''; width: 22px; height: 1px; background: var(--kf-gold); display: inline-block;}
.display-kf{font-family: 'Red Hat Display', sans-serif; font-weight: 900;line-height: 1; text-transform: uppercase; color: var(--kf-text);}
.headline-kf{font-weight: 800; letter-spacing: -.01em; line-height: 1.05; text-transform: uppercase; color: var(--kf-text);}
.body-kf{color: var(--kf-muted); font-weight: 400; line-height: 1.7; font-size: 17px;}
/* Shared section-title sizes (replaces inline styles) */
.kf-section-title{font-size: clamp(30px, 4vw, 46px);}
.kf-h2-xl{font-size: clamp(32px, 5vw, 54px);}
.link-kf{color: var(--kf-text); text-decoration: none; font-weight: 600; font-size: 14px; letter-spacing: .02em; border-bottom: 1px solid var(--kf-border-strong); padding-bottom: 2px; transition: color .25s ease, border-color .25s ease;}
.link-kf:hover{color: var(--kf-gold); border-color: var(--kf-gold);}
/* ---------- 4. Buttons ---------- */
.btn-kf-primary{background: var(--kf-gold); color: var(--kf-black); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; padding: 15px 30px; border: 1px solid var(--kf-gold); border-radius: 5px; transition: background .25s ease, color .25s ease, transform .25s ease; display: inline-flex; align-items: center; gap: 10px;text-decoration: none;}
.btn-kf-primary:hover{background: transparent; color: var(--kf-gold); transform: translateY(-1px);}
.btn-kf-outline{background: transparent; color: var(--kf-text); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; padding: 15px 30px; border: 1px solid var(--kf-border-strong); border-radius: 5px; transition: border-color .25s ease, color .25s ease, transform .25s ease; display: inline-flex; align-items: center; gap: 10px;text-decoration: none;}
.btn-kf-outline:hover{border-color: var(--kf-gold); color: var(--kf-gold); transform: translateY(-1px);}
.btn-kf-outline--sm{padding: 9px 18px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; margin: 0 4px; vertical-align: middle;}
.kf-primary{background: var(--kf-gold); color: var(--kf-black); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; padding: 15px 30px; border: 1px solid var(--kf-gold); border-radius: 5px; transition: background .25s ease, color .25s ease, transform .25s ease; display: inline-flex; align-items: center; gap: 10px;text-decoration: none;}
.kf-primary:hover{background: transparent; color: var(--kf-gold); transform: translateY(-1px);}
/* ---------- 5. Navbar ---------- */
.kf-nav{position: fixed; top: 20px; left: 0; right: 0; z-index: 1000; padding: 22px 0; background: transparent; border-bottom: 1px solid transparent; transition: background .35s ease, border-color .35s ease, padding .35s ease;}
.kf-nav.scrolled{background: var(--kf-nav-glass); backdrop-filter: blur(10px); border-bottom: 1px solid var(--kf-border); padding: 14px 0;}
.kf-nav-inner{display: flex; align-items: center; justify-content: space-between;}
.kf-logo{font-weight: 900; font-size: 22px; letter-spacing: .02em; text-transform: uppercase; color: var(--kf-text); text-decoration: none;}
.kf-logo span{color: var(--kf-gold);}
.kf-nav-links{display: none; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0;}
.kf-nav-item{position: relative;}
.kf-nav-link-main{color: var(--kf-muted); text-decoration: none; font-size: 14px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; transition: color .25s ease; position: relative; display: inline-block; padding: 9px 16px;}
.kf-nav-link-main::after{content: ''; position: absolute; left: 16px; right: 16px; bottom: 2px; height: 1px; background: var(--kf-gold); transform: scaleX(0); transform-origin: left; transition: transform .3s ease;}
.kf-nav-item:hover .kf-nav-link-main, .kf-nav-link-main:hover, .kf-nav-link-main:focus-visible{color: var(--kf-text);}
.kf-nav-item:hover .kf-nav-link-main::after, .kf-nav-link-main:hover::after{transform: scaleX(1);}
.kf-nav-cta{display: none; align-items: center; gap: 14px;}
.kf-nav-toggle{display: inline-flex; background: transparent; border: 1px solid var(--kf-border-strong); border-radius: 5px; padding: 9px 11px; color: var(--kf-text);}
/* ---------- 5b. Mega menu (desktop panel) ---------- */
.kf-nav-link-main .caret{display: inline-block; margin-left: 7px; vertical-align: -1px; transition: transform .25s ease;}
.kf-nav-item--mega:hover .kf-nav-link-main .caret{transform: rotate(180deg);}
.kf-mega-panel{position: absolute; top: 100%; left: 50%; z-index: 5; width: min(900px, calc(100vw - 48px)); background: var(--kf-glass); backdrop-filter: blur(14px); border: 1px solid var(--kf-border); border-radius: 5px; box-shadow: 0 48px 70px rgba(0, 0, 0, .55); opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(-10px); transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s;}
.kf-mega-panel.is-open{opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); transition: opacity .35s ease, transform .35s ease, visibility 0s linear 0s;}
.kf-mega-panel-inner{max-width: 1320px; margin: 0 auto; padding: 30px 36px 34px; display: grid; grid-template-columns: 1.55fr 1fr; gap: 36px;}
.kf-mega-panel-inner:not(:has(> .kf-mega-panel-side)){grid-template-columns: 1fr;}
.kf-mega-panel-main{min-width: 0;}
.kf-mega-panel-head{display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px;}
.kf-mega-panel-head .eyebrow{color: var(--kf-text);}
.kf-mega-panel-head .eyebrow::before{background: var(--kf-gold);}
.kf-mega-services{display: grid; grid-template-columns: 1fr 1fr;}
.kf-mega-service{display: flex; align-items: flex-start; gap: 12px; padding: 8px 0px 8px 8px;margin-left: 8px;text-decoration: none; transition: background .25s ease, padding-left .25s ease;}
.kf-mega-service:hover{background: var(--kf-hover);}
.kf-mega-service-icon{flex-shrink: 0; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-black); color: var(--kf-gold); transition: background .3s ease, color .3s ease, border-color .3s ease;}
.kf-mega-service:hover .kf-mega-service-icon{background: var(--kf-gold); color: var(--kf-black); border-color: var(--kf-gold);}
.kf-mega-service-body{min-width: 0;}
.kf-mega-service-title{display: block; color: var(--kf-text); font-size: 14px; font-weight: 700; letter-spacing: .01em; transition: color .25s ease; padding-top: 10px;}
.kf-mega-service:hover .kf-mega-service-title{color: var(--kf-gold);}
.kf-mega-service-desc{display: block; color: var(--kf-muted); font-size: 12.5px; line-height: 1.5; margin-top: 3px; width: 180px;}
.kf-mega-service-arrow{margin-left: auto; margin-top: 10px; color: var(--kf-muted-2); flex-shrink: 0; opacity: 0; transform: translateX(-6px); transition: opacity .25s ease, transform .25s ease, color .25s ease;}
.kf-mega-panel-ad{position: relative; display: block; overflow: hidden; border-radius: 5px; border: 1px solid var(--kf-border); min-height: 220px; text-decoration: none; margin-bottom: 24px;}
.kf-mega-panel-ad img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.65); transition: transform .6s var(--kf-ease), filter .5s ease;}
.kf-mega-panel-ad:hover img{transform: scale(1.05); filter: grayscale(0) brightness(.7);}
.kf-mega-panel-ad-label{position: absolute; top: 16px; left: 16px; background: var(--kf-gold); color: var(--kf-black); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 5px 10px; border-radius: 3px;}
.kf-mega-panel-ad-title{position: absolute; left: 16px; bottom: 52px; color: #fff; font-size: 22px; font-weight: 900; text-transform: uppercase; letter-spacing: -.01em;}
.kf-mega-panel-ad-desc{position: absolute; left: 16px; bottom: 30px; color: rgba(255, 255, 255, .8); font-size: 13px; max-width: 220px;}
.kf-mega-panel-ad-cta{position: absolute; left: 16px; bottom: 14px; color: var(--kf-gold); font-size: 12.5px; font-weight: 700; letter-spacing: .02em;}
.kf-mega-panel-side{border-left: 1px solid var(--kf-border); padding-left: 40px;}
.kf-mega-panel-label{display: block; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 800; margin-bottom: 12px;}
.kf-mega-panel-release{display: flex; align-items: center; gap: 14px; text-decoration: none; color: inherit; padding-bottom: 20px; border-bottom: 1px solid var(--kf-border); margin-bottom: 20px;}
.kf-mega-panel-release img{width: 56px; height: 56px; object-fit: cover; border-radius: 5px; filter: grayscale(.3); transition: filter .3s ease, transform .4s var(--kf-ease);}
.kf-mega-panel-release:hover img{filter: grayscale(0); transform: scale(1.05);}
.kf-mega-panel-release .type{display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--kf-gold); font-weight: 700;}
.kf-mega-panel-release strong{display: block; color: var(--kf-text); font-size: 16px; margin-top: 3px;}
.kf-mega-panel-release .artist{display: block; color: var(--kf-muted); font-size: 12.5px; margin-top: 2px;}
.kf-mega-panel-quick{display: flex; flex-wrap: wrap; gap: 6px 18px; padding-bottom: 24px; border-bottom: 1px solid var(--kf-border); margin-bottom: 24px;}
.kf-mega-panel-quick a{color: var(--kf-muted); text-decoration: none; font-size: 14px; font-weight: 600; letter-spacing: .02em; transition: color .25s ease;}
.kf-mega-panel-quick a:hover{color: var(--kf-gold);}
.kf-mega-panel-contact{margin-bottom: 26px;}
.kf-mega-panel-contact a{display: block; color: var(--kf-text); text-decoration: none; font-size: 15px; margin-bottom: 8px; transition: color .25s ease;}
.kf-mega-panel-contact a:hover{color: var(--kf-gold);}
.kf-mega-panel-contact .city{color: var(--kf-muted); font-size: 14px; margin: 0;}
.kf-mega-panel-cta{margin-top: 6px;}
/* Mobile full-screen menu: services list */
.kf-mega-services-list{display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin-bottom: 34px;}
.kf-mega-services-list a{color: var(--kf-muted); text-decoration: none; font-size: 14px; font-weight: 600; letter-spacing: .02em; padding: 9px 0; border-bottom: 1px solid var(--kf-border); transition: color .2s ease;}
.kf-mega-services-list a:hover{color: var(--kf-gold);}
/* ---------- 6. Hero ---------- */
.kf-hero{position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; padding: 150px 0 100px; overflow: hidden; background: var(--kf-bg);}
.kf-hero-bg{position: absolute; inset: 0;}
.kf-hero-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.5) contrast(1.05); transform: scale(1.05);}
.kf-hero-veil{position: absolute; inset: 0; opacity: .9; background: linear-gradient(90deg, var(--kf-overlay-96) 0%, var(--kf-overlay-75) 48%, var(--kf-overlay-5) 100%), linear-gradient(180deg, var(--kf-overlay-92) 0%, var(--kf-overlay-1) 42%, var(--kf-overlay-96) 100%);}
.kf-hero-noise{position: absolute; inset: 0; opacity: .05; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); pointer-events: none;}
.kf-hero-frame{position: absolute; inset: 14px; border: 1px solid var(--kf-line-soft); pointer-events: none; z-index: 3;}
.kf-hero-frame::before, .kf-hero-frame::after{content: ''; position: absolute; width: 40px; height: 40px; border-color: var(--kf-gold); border-style: solid;}
.kf-hero-frame::before{top: -1px; left: -1px; border-width: 2px 0 0 2px;}
.kf-hero-frame::after{bottom: -1px; right: -1px; border-width: 0 2px 2px 0;}
.kf-hero-content{position: relative; z-index: 4;}
.kf-hero-title{font-size: clamp(48px, 7vw, 100px); margin-top: 26px;}
.kf-hero-line{display: block; overflow: hidden; padding: .04em 0 .06em; margin: -.04em 0 -.06em;}
.kf-hero-word{display: block; -webkit-text-fill-color: transparent; -webkit-text-stroke: 2px var(--kf-text);}
.kf-hero-line:nth-child(1) .kf-hero-word{animation: kfHeroRise 1s var(--kf-ease) .1s both, kfHeroStage 9.6s linear 1.4s infinite;}
.kf-hero-line:nth-child(2) .kf-hero-word{animation: kfHeroRise 1s var(--kf-ease) .22s both, kfHeroStage 9.6s linear 3.8s infinite;}
.kf-hero-line:nth-child(3) .kf-hero-word{animation: kfHeroRise 1s var(--kf-ease) .34s both, kfHeroStage 9.6s linear 6.2s infinite;}
.kf-hero-line:nth-child(4) .kf-hero-word{animation: kfHeroRise 1s var(--kf-ease) .46s both, kfHeroStage 9.6s linear 8.6s infinite;}
.kf-hero-word--accent{color: var(--kf-gold);}
.kf-hero-sub{max-width: 480px; font-size: 18px; color: var(--kf-muted); line-height: 1.65; margin-top: 26px; opacity: 0; animation: kfFadeUp .9s ease forwards; animation-delay: .7s;}
.kf-hero-actions{margin-top: 38px; display: flex; flex-wrap: wrap; gap: 16px; opacity: 0; animation: kfFadeUp .9s ease forwards; animation-delay: .85s;}
/* ---------- 6b. Homepage hero (editorial type + release slider) ----------
   Scoped to .kf-hero--home: inner pages keep the classic .kf-hero
   structure (background photo, veil, frame) and its animations. */
.kf-hero--home{padding: 104px 0 24px;}
.kf-hero-grid{position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center; width: 100%; margin-top: 12px;}
.kf-hero-copy{min-width: 0;}
.kf-hero--home .kf-hero-title{font-size: clamp(44px, min(7.2vw, 15.5vh), 104px); line-height: .9; letter-spacing: 3px; margin-top: 0;}
.kf-hero--home .kf-hero-sub{max-width: 46ch; margin-top: 28px; opacity: 1; animation: none;}
.kf-hero--home .kf-hero-actions{margin-top: 28px; opacity: 1; animation: none;}
.kf-hero-proof{max-width: 46ch; margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--kf-border-strong); color: var(--kf-muted); font-size: 15px; line-height: 1.6;}
.kf-hero-proof strong{color: var(--kf-text); font-weight: 800; font-variant-numeric: tabular-nums;}
.kf-hero-slider{position: relative; min-width: 0; width: 100%; max-width: 620px; margin-left: auto;}
.kf-hero-track{position: relative; display: flex; gap: 16px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;}
.kf-hero-track::-webkit-scrollbar{display: none;}
.kf-hero-slide{position: relative; flex: 0 0 auto; height: clamp(260px, calc(100svh - 190px), 540px); aspect-ratio: 4 / 5; scroll-snap-align: start; overflow: hidden; background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px;}
.kf-hero-slide img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) contrast(1.05);}
.kf-hero-slide::after{content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--kf-overlay-0) 40%, var(--kf-overlay-94) 100%); pointer-events: none;}
.kf-hero-slide-info{position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 22px;}
.kf-hero-slide-artist, .kf-hero-slide-track, .kf-hero-slide-meta{margin: 0;}
.kf-hero-slide-artist{font-size: 28px; font-weight: 900; line-height: 1.05; letter-spacing: -.01em; color: var(--kf-text);}
.kf-hero-slide-track{margin-top: 8px; font-size: 16px; font-weight: 700; color: var(--kf-text);}
.kf-hero-slide-meta{margin-top: 2px; font-size: 13px; color: var(--kf-muted);}
.kf-hero-slide-play{flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--kf-gold); color: var(--kf-black); border: none; cursor: pointer; transition: transform .3s var(--kf-ease), background .3s ease, box-shadow .3s ease;}
.kf-hero-slide-play:hover{transform: scale(1.08); background: var(--kf-gold-soft); box-shadow: 0 0 0 8px rgba(212, 160, 23, .15);}
.kf-hero-slide-play:focus-visible, .kf-hero-arrow:focus-visible{outline: 2px solid var(--kf-text); outline-offset: 3px;}
.kf-hero-controls{display: flex; align-items: center; gap: 12px; margin-top: 20px;}
.kf-hero-arrow{width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: transparent; color: var(--kf-text); border: 1px solid var(--kf-border-strong); cursor: pointer; transition: border-color .25s ease, color .25s ease, opacity .25s ease;}
.kf-hero-arrow:hover:not(:disabled){border-color: var(--kf-gold); color: var(--kf-gold);}
.kf-hero-arrow:disabled{opacity: .35; cursor: default;}
.kf-hero-count{margin-left: auto; color: var(--kf-muted); font-size: 14px; font-variant-numeric: tabular-nums;}
.kf-hero-side{position: absolute; top: 50%; right: 30px; transform: translateY(-50%); z-index: 4; display: none; flex-direction: column; align-items: center; gap: 16px;}
.kf-hero-side span{writing-mode: vertical-rl; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 700; white-space: nowrap;}
.kf-hero-side-line{width: 1px; height: 54px; background: var(--kf-border-strong);}
/* ---------- 7. Marquee ---------- */
.kf-marquee{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border); overflow: hidden; padding: 16px 0; position: relative;}
.kf-marquee-track{display: flex; width: max-content; animation: kfMarquee 32s linear infinite;}
.kf-marquee-track span{font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted); padding: 0 28px; white-space: nowrap; display: inline-flex; align-items: center; gap: 10px;}
.kf-marquee-track span.is-accent{color: var(--kf-gold);}
.kf-marquee-track span::after{content: '\2022'; margin-left: 28px; color: var(--kf-border-strong);}
/* ---------- 8. Section shells ---------- */
.kf-section{padding: 130px 0; position: relative;}
.kf-section-tight{padding: 100px 0; position: relative;}
.kf-divider{border: none; border-top: 1px solid var(--kf-border); margin: 0;}
/* ---------- 9. Kestarfeez system (the flow) ---------- */
.kf-system{overflow: hidden;}
.kf-flow{position: relative; display: grid; grid-template-columns: 1fr;}
.kf-flow-rail{position: absolute; top: 24px; left: 24px; bottom: 24px; width: 1px; background: var(--kf-border-strong);}
.kf-flow-step{position: relative; padding: 0 0 44px 72px;}
.kf-flow-step:not(:last-child){border-bottom: 1px solid var(--kf-border);}
.kf-flow-node{position: absolute; left: 0; top: 0; z-index: 2; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; background: var(--kf-black); color: var(--kf-muted); transition: color .3s ease, border-color .3s ease, box-shadow .3s ease;}
.kf-flow-step:hover .kf-flow-node{color: var(--kf-black); border-color: var(--kf-gold); background: var(--kf-gold); box-shadow: 0 0 0 8px rgba(212, 160, 23, .12);}
.kf-flow-head{display: flex; align-items: baseline; gap: 12px;}
.kf-flow-num{font-size: 13px; font-weight: 800; letter-spacing: .1em; color: var(--kf-gold); font-variant-numeric: tabular-nums;}
.kf-flow-title{font-size: clamp(28px, 2.6vw, 40px); font-weight: 900; text-transform: uppercase; letter-spacing: -.01em;}
.kf-flow-desc{color: var(--kf-muted); font-size: 15px; line-height: 1.65; margin-top: 14px; max-width: 300px;}
.kf-flow-link{display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: var(--kf-text); font-size: 13.5px; font-weight: 700; letter-spacing: .02em; text-decoration: none; transition: color .25s ease, gap .3s var(--kf-ease);}
.kf-flow-link:hover{color: var(--kf-gold); gap: 12px;}
.kf-flow-grid{display: grid; grid-template-columns: 1fr; gap: 20px;}
.kf-flow-card{background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px; padding: 32px 28px; transition: transform .4s var(--kf-ease), border-color .3s ease, background .3s ease;}
.kf-flow-card:hover{transform: translateY(-6px); border-color: var(--kf-gold);}
.kf-flow-card-icon{width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-black); color: var(--kf-gold); margin-bottom: 24px; transition: background .3s ease, color .3s ease, border-color .3s ease;}
.kf-flow-card:hover .kf-flow-card-icon{background: var(--kf-gold); color: var(--kf-black); border-color: var(--kf-gold);}
.kf-flow-card-head{display: flex; align-items: baseline; gap: 12px;}
.kf-flow-card .kf-flow-title{font-size: clamp(22px, 2vw, 30px);}
.kf-flow-card .kf-flow-desc{margin-top: 14px; max-width: 100%;}
.kf-flow-card .kf-flow-link{margin-top: 20px;}
html.light .kf-flow-card{background: var(--kf-surface);}
.kf-promo-tag{display: inline-block; background: var(--kf-gold); color: var(--kf-black); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 6px 12px; border-radius: 20px;}
/* ---------- 10. Introduction ---------- */
.kf-intro-grid{display: grid; grid-template-columns: 1fr; gap: 40px;}
.kf-intro-heading{font-size: clamp(34px, 5vw, 58px);}
.kf-intro-body{padding-bottom: 6px;}
.kf-intro-media{position: relative; overflow: hidden; border-radius: 5px; border: 1px solid var(--kf-border); aspect-ratio: 4 / 3; min-height: 320px;}
.kf-intro-media img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) brightness(.92); transition: transform .7s var(--kf-ease), filter .5s ease;}
.kf-intro-media:hover img{transform: scale(1.04); filter: grayscale(0);}
.kf-gallery{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px;}
.kf-gallery-media{position: relative; min-height: 220px; aspect-ratio: 4 / 3; overflow: hidden; margin: 0; border: 1px solid var(--kf-border); border-radius: 5px; background: var(--kf-surface-2);}
.kf-gallery-media img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.22) saturate(.86); transition: transform .7s var(--kf-ease), filter .5s ease;}
.kf-gallery-media::after{content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(10,9,8,.78)); pointer-events: none;}
.kf-gallery-media:hover img{transform: scale(1.06); filter: grayscale(0) saturate(1);}
.kf-gallery-media figcaption{position: absolute; z-index: 1; right: 16px; bottom: 14px; left: 16px; display: flex; justify-content: space-between; gap: 12px; color: #f5f2eb; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;}
.kf-gallery-note{color: var(--kf-muted); font-size: 13px; letter-spacing: .08em; text-transform: uppercase;}
.kf-release-feature{display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); overflow: hidden; border: 1px solid var(--kf-border); border-radius: 5px; background: linear-gradient(135deg, var(--kf-surface-2), var(--kf-surface)); box-shadow: 0 24px 80px rgba(0,0,0,.14);}
.kf-release-feature-art{position: relative; display: block; min-height: 430px; overflow: hidden; background: var(--kf-surface-3);}
.kf-release-feature-art::after{content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,9,8,.05), rgba(10,9,8,.52)); pointer-events: none;}
.kf-release-feature-art img{width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.06); transition: transform .8s var(--kf-ease), filter .5s ease;}
.kf-release-feature-art:hover img{transform: scale(1.05); filter: saturate(1) contrast(1.06);}
.kf-release-feature-play{position: absolute; z-index: 1; right: 24px; bottom: 24px; display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--kf-gold); color: var(--kf-black); transition: transform .3s var(--kf-ease), background .3s ease;}
.kf-release-feature-art:hover .kf-release-feature-play{transform: scale(1.08); background: var(--kf-gold-soft);}
.kf-release-feature-copy{display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 6vw, 76px);}
.kf-release-feature-title{margin: 22px 0 24px; font-size: clamp(48px, 7vw, 94px);}
.kf-release-feature-artist{display: flex; align-items: center; gap: 14px; margin-bottom: 22px;}
.kf-release-feature-artist img{width: 56px; height: 56px; object-fit: cover; border: 1px solid var(--kf-border-strong); border-radius: 50%;}
.kf-release-feature-artist div{display: grid; gap: 3px;}
.kf-release-feature-artist span{color: var(--kf-muted); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kf-release-feature-artist strong{font-size: 18px; color: var(--kf-text);}
.kf-release-feature-copy .body-kf{max-width: 420px; margin-bottom: 28px;}
.kf-release-feature-footer{display: flex; justify-content: space-between; gap: 15px; margin-top: 42px; padding-top: 16px; border-top: 1px solid var(--kf-border); color: var(--kf-muted-2); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;}
.kf-intro-copy{min-width: 0;}
.kf-intro-points{display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 28px;}
.kf-intro-point{display: flex; align-items: flex-start; gap: 14px;}
.kf-intro-point-icon{flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-black); color: var(--kf-gold);}
.kf-intro-point strong{display: block; color: var(--kf-text); font-size: 15px; font-weight: 700; letter-spacing: .02em;}
.kf-intro-point small{display: block; color: var(--kf-muted); font-size: 13px; margin-top: 2px;}
/* ---------- 11. Featured artist ---------- */
.kf-featured-artist{position: relative; border-radius: 5px; overflow: hidden; min-height: 560px; display: flex; align-items: flex-end; background: linear-gradient(180deg, var(--kf-overlay-0) 0%, var(--kf-overlay-94) 92%), linear-gradient(120deg, var(--kf-grad-1) 0%, var(--kf-grad-2) 55%, var(--kf-grad-3) 100%);}
.kf-featured-artist::before{content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 30% 20%, rgba(212, 160, 23, .10), transparent 45%), radial-gradient(circle at 80% 80%, rgba(140, 58, 43, .18), transparent 50%);}
.kf-featured-bg{position: absolute; inset: 0; z-index: 0;}
.kf-featured-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.55) contrast(1.05); transform: scale(1.02);}
.kf-featured-artist:hover .kf-featured-bg img{filter: grayscale(.1) brightness(.6);}
.kf-featured-content{position: relative; padding: 50px; z-index: 2;}
.kf-featured-name{font-size: clamp(38px, 6vw, 72px); margin-top: 10px;}
.kf-featured-meta{color: var(--kf-gold-soft); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; margin-top: 10px;}
.kf-featured-desc{max-width: 460px; color: var(--kf-muted); margin-top: 18px; font-size: 16px; line-height: 1.7;}
.kf-featured-actions{margin-top: 30px; display: flex; gap: 14px; flex-wrap: wrap;}
/* Compact featured artist — editorial split card: a portrait panel
   beside the copy, instead of the full-bleed 560px panel. Scoped to
   .kf-featured-artist--split so the homepage feature keeps its size. */
.kf-featured-artist--split{min-height: 0; align-items: stretch; background: var(--kf-surface); border: 1px solid var(--kf-border-strong);}
.kf-featured-artist--split::before{display: none;}
.kf-featured-artist--split .kf-featured-bg{position: relative; flex: 0 0 42%; width: 42%; min-height: 340px; z-index: 1;}
.kf-featured-artist--split .kf-featured-bg img{filter: grayscale(.2) contrast(1.05); transform: scale(1.02); transition: transform .6s var(--kf-ease), filter .6s ease;}
.kf-featured-artist--split:hover .kf-featured-bg img{filter: grayscale(0) contrast(1.05); transform: scale(1.05);}
.kf-featured-artist--split .kf-featured-content{flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 44px 48px; background: var(--kf-surface);}
.kf-featured-artist--split .kf-featured-name{font-size: clamp(30px, 4vw, 46px);}
.kf-featured-artist--split .kf-featured-desc{max-width: 520px;}
html.light .kf-featured-artist.kf-featured-artist--split{background: var(--kf-surface);}
/* ---------- 12. Latest releases ---------- */
/* Latest-release spotlight */
.kf-spotlight{background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px; overflow: hidden;}
.kf-spotlight-art{position: relative; aspect-ratio: 1 / 1; overflow: hidden;}
.kf-spotlight-art img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.2) brightness(.92); transition: transform .7s var(--kf-ease);}
.kf-spotlight:hover .kf-spotlight-art img{transform: scale(1.04);}
.kf-spotlight-body{padding: 36px;}
.kf-spotlight-title{font-size: clamp(34px, 4vw, 54px); font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; margin-top: 16px;}
.kf-spotlight-artist{color: var(--kf-gold-soft); font-size: 15px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; margin-top: 6px;}
.kf-spotlight-desc{color: var(--kf-muted); margin-top: 18px; font-size: 16px; line-height: 1.7; max-width: 520px;}
.kf-spotlight-meta{display: flex; flex-wrap: wrap; gap: 30px; margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--kf-border);}
.kf-spotlight-meta-item span{display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 700;}
.kf-spotlight-meta-item strong{display: block; color: var(--kf-text); font-size: 15px; font-weight: 700; margin-top: 6px;}
.kf-spotlight-actions{margin-top: 32px; display: flex; gap: 14px; flex-wrap: wrap;}
/* Release cards */
.kf-release-card{height: 100%; display: flex; flex-direction: column; transition: transform .4s var(--kf-ease);}
.kf-release-card:hover{transform: translateY(-6px);}
.kf-release-media{position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px;}
.kf-release-media img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) contrast(1.05); transition: transform .6s var(--kf-ease), filter .6s ease;}
.kf-release-card:hover .kf-release-media img{transform: scale(1.06); filter: grayscale(0) contrast(1.05);}
.kf-release-index{position: absolute; top: 14px; left: 14px; z-index: 2; font-size: 11px; font-weight: 800; letter-spacing: .18em; color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, .6);}
.kf-release-shade{position: absolute; inset: 0; background: linear-gradient(180deg, var(--kf-overlay-0) 35%, var(--kf-overlay-75) 100%); opacity: 0; transition: opacity .4s ease;}
.kf-release-card:hover .kf-release-shade{opacity: 1;}
.kf-release-play{position: absolute; right: 16px; bottom: 16px; z-index: 2; width: 48px; height: 48px; border-radius: 50%; background: var(--kf-gold); border: none; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(12px); transition: opacity .35s ease, transform .35s ease, box-shadow .35s ease;}
.kf-release-card:hover .kf-release-play, .kf-release-card:focus-within .kf-release-play{opacity: 1; transform: translateY(0); box-shadow: 0 0 0 8px rgba(212, 160, 23, .14), 0 14px 30px rgba(0, 0, 0, .5);}
.kf-release-play .kf-eq span{background: var(--kf-black);}
.kf-release-play.is-playing{opacity: 1; transform: translateY(0); box-shadow: 0 0 0 8px rgba(212, 160, 23, .14), 0 14px 30px rgba(0, 0, 0, .5);}
a.kf-release-play{color: var(--kf-black);}
.kf-release-body{flex-grow: 1; display: flex; flex-direction: column; padding: 16px 2px 0;}
.kf-release-meta{display: flex; align-items: center; justify-content: space-between; gap: 10px;}
.kf-release-type{font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-gold); font-weight: 800;}
.kf-release-date{color: var(--kf-muted-2); font-size: 12.5px;}
.kf-release-title{font-size: 21px; font-weight: 800; margin-top: 10px;}
.kf-release-artist{color: var(--kf-muted); font-size: 14px; margin-top: 3px;}
.kf-release-footer{display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--kf-border);}
.kf-release-listen{display: inline-flex; align-items: center; gap: 8px; color: var(--kf-muted); text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .3s ease, gap .3s ease;}
.kf-release-card:hover .kf-release-listen{color: var(--kf-gold); gap: 12px;}
/* Placeholder release card — an empty catalogue slot. */
.kf-release-card--placeholder .kf-release-media{background: var(--kf-surface); border-style: dashed;}
.kf-release-card--placeholder .kf-release-index{color: var(--kf-muted-2); text-shadow: none;}
.kf-release-card--placeholder .kf-release-title{color: var(--kf-muted);}
.kf-release-card--placeholder .kf-release-type,
.kf-release-card--placeholder .kf-release-date,
.kf-release-card--placeholder .kf-release-artist,
.kf-release-card--placeholder .kf-release-listen{color: var(--kf-muted-2);}
/* ---------- 13. What we do ---------- */
.kf-services-list{min-width: 0;}
.kf-service-info{min-width: 0;}
.kf-services-grid{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kf-service-row{display: grid; grid-template-columns: 44px 1fr auto; gap: 20px; align-items: start; padding: 28px 0; border-top: 1px solid var(--kf-border); transition: background .3s ease, padding-left .3s ease;}
.kf-service-row:last-child{border-bottom: 1px solid var(--kf-border);}
.kf-service-row:hover{background: linear-gradient(90deg, rgba(212, 160, 23, .05), transparent 70%); padding-left: 8px;}
.kf-service-num{width: 40px; height: 40px; border: 1px solid var(--kf-border-strong); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--kf-muted); font-variant-numeric: tabular-nums; transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;}
.kf-service-row:hover .kf-service-num{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black); transform: rotate(-8deg);}
.kf-service-title{font-size: 24px; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; transition: color .3s ease;}
.kf-service-row:hover .kf-service-title{color: var(--kf-gold-soft);}
.kf-service-desc{color: var(--kf-muted); font-size: 15px; line-height: 1.6; margin-top: 6px; max-width: 480px;}
.kf-service-arrow{width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--kf-border-strong); display: inline-flex; align-items: center; justify-content: center; color: var(--kf-text); margin-top: 2px; transition: background .3s ease, border-color .3s ease, transform .3s ease, color .3s ease;}
.kf-service-row:hover .kf-service-arrow{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black); transform: rotate(45deg);}
/* ---------- 14. Studio ---------- */
.kf-studio{position: relative; border-radius: 5px; overflow: hidden; min-height: 620px; background: linear-gradient(0deg, var(--kf-overlay-96) 0%, var(--kf-overlay-5) 45%, var(--kf-overlay-75) 100%), linear-gradient(135deg, var(--kf-grad-4) 0%, var(--kf-grad-5) 60%, var(--kf-bg) 100%); display: flex; align-items: flex-end;}
.kf-studio::before{content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 15% 85%, rgba(212, 160, 23, .14), transparent 40%), radial-gradient(circle at 85% 15%, rgba(140, 58, 43, .16), transparent 45%);}
.kf-studio-content{position: relative; z-index: 2; padding: 56px; max-width: 640px;}
.kf-studio-title{font-size: clamp(34px, 5vw, 60px);}
.kf-studio-tags{margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px;}
.kf-studio-tag{font-size: 12px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; color: var(--kf-muted); border: 1px solid var(--kf-border-strong); padding: 7px 14px; border-radius: 20px;}
/* ---------- 15. Artist cards ---------- */
.kf-artist-card{position: relative; border-radius: 5px; overflow: hidden; aspect-ratio: 3 / 4;}
.kf-artist-card img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(60%); transition: transform .5s ease, filter .5s ease;}
.kf-artist-card:hover img{transform: scale(1.06); filter: grayscale(0%);}
.kf-artist-overlay{position: absolute; inset: 0; background: linear-gradient(0deg, var(--kf-overlay-92) 0%, var(--kf-overlay-1) 55%, transparent 75%); display: flex; flex-direction: column; justify-content: flex-end; padding: 20px;}
.kf-artist-name{font-size: 20px; font-weight: 800; text-transform: uppercase;}
.kf-artist-genre{color: var(--kf-gold-soft); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin-top: 4px; font-weight: 600;}
/* Artist profile cards — the public roster: numbered portrait,
   name and genre per artist. The base .kf-artist-card stays
   as-is (other pages combine it with .kf-artist-card--tile). */
.kf-artist-card--profile{aspect-ratio: auto; height: 100%; display: flex; flex-direction: column; background: var(--kf-surface); border: 1px solid var(--kf-border-strong); counter-increment: kfRoster; transition: transform .4s var(--kf-ease), border-color .4s ease, box-shadow .4s ease;}
.kf-artist-card--profile:hover{transform: translateY(-6px); border-color: var(--kf-gold-soft); box-shadow: 0 18px 36px rgba(0, 0, 0, .45);}
.kf-artist-card--profile .kf-artist-media{position: relative; aspect-ratio: 4 / 5; overflow: hidden;}
.kf-artist-card--profile .kf-artist-media::after{content: ''; position: absolute; inset: 0; border: 1px solid transparent; transition: border-color .4s ease;}
.kf-artist-card--profile:hover .kf-artist-media::after{border-color: var(--kf-gold-soft);}
.kf-artist-card--profile .kf-artist-body{display: flex; flex-direction: column; flex-grow: 1; padding: 22px;}
.kf-artist-card--profile .kf-artist-body::before{content: 'N°' counter(kfRoster, decimal-leading-zero); font-size: 11px; font-weight: 800; letter-spacing: .18em; color: var(--kf-gold); margin-bottom: 12px;}
.kf-artist-card--profile .kf-artist-name{position: relative; padding-left: 15px; font-size: 20px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;}
.kf-artist-card--profile .kf-artist-name::before{content: ''; position: absolute; left: 0; top: 3px; bottom: 3px; width: 3px; background: var(--kf-gold);}
.kf-artist-card--profile .kf-artist-genre:empty{display: none;}
/* Latest From The Roster — framed release cards. */
#latest .kf-release-card{border: 1px solid var(--kf-border-strong); border-radius: 5px; padding:10px;}
#latest .kf-release-card--placeholder{border-style: dashed;}
#latest .kf-release-media{border: none;}
/* ---------- 16. Distribution ---------- */
.kf-distribution{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border); padding: 130px 0; position: relative; overflow: hidden;}
.kf-distribution-headline{font-size: clamp(36px, 6vw, 76px);}
.kf-distribution-flow{margin-top: 56px; display: grid; grid-template-columns: 1fr;}
.kf-flow-step{padding: 20px 16px 20px 0; border-top: 1px solid var(--kf-border-strong); position: relative;}
.kf-flow-step-label{font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--kf-muted); font-weight: 700;}
.kf-flow-step:first-child .kf-flow-step-label, .kf-flow-step:last-child .kf-flow-step-label{color: var(--kf-gold);}
/* ---------- 17. Concerts ---------- */
.kf-concerts{position: relative; overflow: hidden;}
.kf-concerts-ghost{position: absolute; top: -0.05em; left: 0; font-family: 'Red Hat Display', sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(90px, 16vw, 220px); color: transparent; -webkit-text-stroke: 1px var(--kf-border-strong); white-space: nowrap; pointer-events: none; z-index: 0; line-height: 1;}
.kf-concerts-head{position: relative; z-index: 1;}
.kf-concerts-sub{max-width: 480px;}
.kf-concert-row{position: relative; z-index: 1; display: grid; grid-template-columns: 64px 1fr auto auto; align-items: center; gap: 20px; padding: 26px 0; border-top: 1px solid var(--kf-border); transition: background .3s ease, padding-left .3s ease; color: inherit; text-decoration: none;}
.kf-concert-row:last-child{border-bottom: 1px solid var(--kf-border);}
.kf-concert-row:hover{background: var(--kf-hover); padding-left: 10px;}
.kf-concert-thumb{width: 64px; height: 64px; border-radius: 5px; overflow: hidden;}
.kf-concert-thumb img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(40%);}
.kf-concert-info{min-width: 0;}
.kf-concert-city{font-size: 19px; font-weight: 800; text-transform: uppercase;}
.kf-concert-venue{color: var(--kf-muted); font-size: 13px; margin-top: 3px;}
.kf-concert-date{color: var(--kf-gold-soft); font-size: 14px; font-weight: 700; letter-spacing: .04em; white-space: nowrap;}
.kf-concert-arrow{width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--kf-border-strong); display: inline-flex; align-items: center; justify-content: center; transition: background .25s ease, border-color .25s ease, transform .25s ease;}
.kf-concert-row:hover .kf-concert-arrow{background: var(--kf-gold); border-color: var(--kf-gold); transform: translateX(3px);}
.kf-concert-row:hover .kf-concert-arrow svg{stroke: #0a0908;}
/* ---------- 18. Journal ---------- */
.kf-journal-card{display: block; text-decoration: none;}
.kf-journal-image{aspect-ratio: 16 / 10; border-radius: 5px; overflow: hidden; position: relative;}
.kf-journal-image img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35); transition: transform .6s var(--kf-ease), filter .6s ease;}
.kf-journal-card:hover .kf-journal-image img{transform: scale(1.05); filter: grayscale(0);}
.kf-journal-top{display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px;}
.kf-journal-cat{font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-gold); font-weight: 800;}
.kf-journal-date{color: var(--kf-muted-2); font-size: 12.5px;}
.kf-journal-title{color: var(--kf-text); font-size: 20px; font-weight: 800; line-height: 1.4; margin-top: 10px; transition: color .3s ease;}
.kf-journal-card:hover .kf-journal-title{color: var(--kf-gold-soft);}
.kf-journal-read{display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--kf-muted); transition: color .3s ease, gap .3s ease;}
.kf-journal-card:hover .kf-journal-read{color: var(--kf-gold); gap: 12px;}
/* ---------- 19. Final CTA ---------- */
.kf-cta{background: var(--kf-bg); padding: 150px 0; text-align: center; position: relative; overflow: hidden;}
.kf-cta::before{content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 50% 100%, rgba(212, 160, 23, .14), transparent 60%);}
.kf-cta-headline{font-size: clamp(40px, 7vw, 96px); position: relative; z-index: 2;}
.kf-cta-sub{max-width: 560px; margin: 26px auto 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7; position: relative; z-index: 2;}
.kf-cta-actions{margin-top: 42px; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; position: relative; z-index: 2;}
/* ---------- 20. Footer ---------- */
.kf-footer{background: var(--kf-black); padding: 90px 0 30px; border-top: 1px solid var(--kf-border);}
.kf-footer-top{padding-bottom: 54px; margin-bottom: 54px; border-bottom: 1px solid var(--kf-border);}
.kf-footer-wordmark{display: block; font-family: 'Red Hat Display', sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; line-height: .9; font-size: clamp(46px, 8vw, 100px); color: var(--kf-text);}
.kf-footer-wordmark .dot{color: var(--kf-gold);}
.kf-footer-tag{color: var(--kf-muted); font-size: 16px; line-height: 1.6; max-width: 420px; margin-top: 18px; margin-bottom: 0;}
.kf-footer-cols{padding-bottom: 48px;}
.kf-footer-heading{font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 800; margin-bottom: 22px;}
.kf-footer-links{list-style: none; padding: 0; margin: 0;}
.kf-footer-links li{margin-bottom: 14px;}
.kf-footer-links a{color: var(--kf-text); text-decoration: none; font-size: 16px; font-weight: 600; letter-spacing: .01em; display: inline-block; transition: color .25s ease, transform .25s ease;}
.kf-footer-links a:hover{color: var(--kf-gold); transform: translateX(4px);}
.kf-footer-contact-list{list-style: none; padding: 0; margin: 0 0 26px;}
.kf-footer-contact-list li{margin-bottom: 12px;}
.kf-footer-contact-list a{color: var(--kf-text); text-decoration: none; font-size: 16px; font-weight: 600; transition: color .25s ease;}
.kf-footer-contact-list a:hover{color: var(--kf-gold);}
.kf-footer-contact-list li.address{color: var(--kf-muted); font-size: 15px;}
.kf-social{display: flex; gap: 12px;}
.kf-social a{width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--kf-border-strong); display: flex; align-items: center; justify-content: center; color: var(--kf-muted); text-decoration: none; transition: border-color .25s ease, color .25s ease, transform .25s ease;}
.kf-social a:hover{border-color: var(--kf-gold); color: var(--kf-gold); transform: translateY(-2px);}
.kf-footer-listen-label{font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 800; margin-bottom: 18px;}
.kf-footer-platforms{display: flex; gap: 14px; flex-wrap: wrap;}
.kf-footer-platforms a{width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--kf-border-strong); display: inline-flex; align-items: center; justify-content: center; color: var(--kf-muted); text-decoration: none; transition: border-color .25s ease, color .25s ease, transform .25s ease;}
.kf-footer-platforms a:hover{border-color: var(--kf-gold); color: var(--kf-gold); transform: translateY(-2px);}
.kf-footer-bottom{display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; padding-top: 26px; color: var(--kf-muted-2); font-size: 13px;}
.kf-footer-legal{display: flex; gap: 24px;}
.kf-footer-legal a{color: var(--kf-muted-2); text-decoration: none; font-size: 13px; transition: color .25s ease;}
.kf-footer-legal a:hover{color: var(--kf-gold);}
/* ---------- 21. Mega menu ---------- */
.kf-mega{position: fixed; inset: 0; z-index: 1200; background: rgba(0, 0, 0, .6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity .4s ease, visibility 0s linear .4s; display: flex; align-items: flex-start; justify-content: center; overflow-y: auto; padding: 96px 24px 40px;}
.kf-mega.open{opacity: 1; visibility: visible; transition: opacity .4s ease, visibility 0s linear 0s;}
.kf-mega-inner{width: min(760px, 100%); background: var(--kf-glass-mega); border: 1px solid var(--kf-border-strong); border-radius: 5px; box-shadow: 0 48px 90px rgba(0, 0, 0, .6); padding: 34px 38px 40px; transform: translateY(16px); transition: transform .45s var(--kf-ease);}
.kf-mega.open .kf-mega-inner{transform: translateY(0);}
.kf-mega-top{display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px;}
.kf-mega-close{background: transparent; border: 1px solid var(--kf-border-strong); color: var(--kf-text); border-radius: 50%; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; transition: border-color .25s ease, color .25s ease, transform .25s ease;}
.kf-mega-close:hover{border-color: var(--kf-gold); color: var(--kf-gold); transform: rotate(90deg);}
.kf-mega-body{display: grid; grid-template-columns: 1fr; gap: 30px;}
.kf-mega-links{display: grid; grid-template-columns: 1fr; gap: 8px 40px;}
.kf-mega-link{display: block; color: var(--kf-text); text-decoration: none; font-family: 'Red Hat Display', sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; font-size: clamp(24px, 4vw, 34px); line-height: 1.35; border-bottom: 1px solid transparent; transition: color .3s ease, transform .3s ease; opacity: 0; transform: translateY(14px);}
.kf-mega.open .kf-mega-link{animation: kfMegaLinkIn .6s ease forwards;}
.kf-mega-links .kf-mega-link:nth-child(1){animation-delay: .12s;}
.kf-mega-links .kf-mega-link:nth-child(2){animation-delay: .18s;}
.kf-mega-links .kf-mega-link:nth-child(3){animation-delay: .24s;}
.kf-mega-links .kf-mega-link:nth-child(4){animation-delay: .30s;}
.kf-mega-links .kf-mega-link:nth-child(5){animation-delay: .36s;}
.kf-mega-links .kf-mega-link:nth-child(6){animation-delay: .42s;}
.kf-mega-links .kf-mega-link:nth-child(7){animation-delay: .48s;}
.kf-mega-links .kf-mega-link:nth-child(8){animation-delay: .54s;}
.kf-mega-link:hover{color: var(--kf-gold);}
.kf-mega-link-num{color: var(--kf-muted-2); font-size: 13px; font-weight: 700; margin-right: 12px; vertical-align: middle; letter-spacing: 0;}
.kf-mega-side{border-top: 1px solid var(--kf-border); padding-top: 24px;}
.kf-mega-contact{margin-top: 26px;}
.kf-mega-contact-label{font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 700; margin-bottom: 10px;}
.kf-mega-contact a{color: var(--kf-text); text-decoration: none; font-size: 15px; display: block; margin-bottom: 8px; transition: color .25s ease;}
.kf-mega-contact a:hover{color: var(--kf-gold);}
.kf-mega-actions{margin-top: 26px; display: flex; gap: 12px; flex-wrap: wrap;}
/* ---------- 22. Equalizer motif ---------- */
.kf-eq{display: inline-flex; align-items: flex-end; gap: 3px; height: 14px;}
.kf-eq span{width: 3px; background: var(--kf-gold); display: block; animation: kfEq 1.1s ease-in-out infinite;}
.kf-eq span:nth-child(1){height: 40%; animation-delay: -.9s;}
.kf-eq span:nth-child(2){height: 100%; animation-delay: -.6s;}
.kf-eq span:nth-child(3){height: 65%; animation-delay: -1.1s;}
.kf-eq span:nth-child(4){height: 85%; animation-delay: -.3s;}
/* ---------- 23. Custom cursor ---------- */
/* ---------- 24. Reveal on scroll ---------- */
.kf-stagger > *{opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease;}
.kf-stagger.is-visible > *{opacity: 1; transform: translateY(0);}
.kf-stagger.is-visible > *:nth-child(1){transition-delay: .05s;}
.kf-stagger.is-visible > *:nth-child(2){transition-delay: .12s;}
.kf-stagger.is-visible > *:nth-child(3){transition-delay: .19s;}
.kf-stagger.is-visible > *:nth-child(4){transition-delay: .26s;}
.kf-stagger.is-visible > *:nth-child(5){transition-delay: .33s;}
.kf-stagger.is-visible > *:nth-child(6){transition-delay: .40s;}
.kf-reveal{opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease;}
.kf-reveal.is-visible{opacity: 1; transform: translateY(0);}
/* ---------- 25. Focus & reduced motion ---------- */
a:focus-visible, button:focus-visible, input:focus-visible{outline: 2px solid var(--kf-gold); outline-offset: 2px;}
/* ---------- 26. DJ & live sets ---------- */
.kf-dj-stats{display: flex; flex-wrap: wrap; gap: 28px; margin-top: 34px;}
.kf-dj-stat{padding-left: 18px; border-left: 1px solid var(--kf-border-strong);}
.kf-dj-stat:first-child{padding-left: 0; border-left: none;}
.kf-dj-stat strong{display: block; font-size: 24px; font-weight: 800; color: var(--kf-text);}
.kf-dj-stat span{display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 700; margin-top: 4px;}
.kf-dj-mix{background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px; overflow: hidden;}
.kf-dj-mix-art{position: relative; aspect-ratio: 16 / 9; overflow: hidden;}
.kf-dj-mix-art img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35); transition: filter .5s ease, transform .6s var(--kf-ease);}
.kf-dj-mix:hover .kf-dj-mix-art img{transform: scale(1.04); filter: grayscale(0);}
.kf-dj-mix-label{position: absolute; top: 16px; left: 16px; background: var(--kf-overlay-8); border: 1px solid var(--kf-border-strong); color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 6px 12px; border-radius: 20px; backdrop-filter: blur(8px);}
.kf-dj-mix-play{position: absolute; right: 16px; bottom: 16px; width: 56px; height: 56px; border-radius: 50%; background: var(--kf-gold); color: var(--kf-black); border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .3s var(--kf-ease), background .3s ease, box-shadow .3s ease;}
.kf-dj-mix-play:hover{transform: scale(1.08); background: var(--kf-gold-soft); box-shadow: 0 0 0 10px rgba(212, 160, 23, .15);}
.kf-dj-mix-play.is-playing{box-shadow: 0 0 0 10px rgba(212, 160, 23, .15);}
.kf-dj-mix-body{padding: 26px;}
.kf-dj-mix-head{display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;}
.kf-dj-mix-title{font-size: 24px; font-weight: 900; letter-spacing: -.01em;}
.kf-dj-mix-artist{color: var(--kf-muted); font-size: 14px; margin-top: 4px; display: block;}
.kf-dj-mix-bpm{background: rgba(212, 160, 23, .1); border: 1px solid rgba(212, 160, 23, .3); color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .1em; padding: 6px 12px; border-radius: 20px; white-space: nowrap;}
.kf-dj-mix-tracklist{margin-top: 20px; border-top: 1px solid var(--kf-border);}
.kf-dj-track{width: 100%; display: flex; align-items: center; gap: 16px; padding: 14px 6px; background: none; border: none; border-bottom: 1px solid var(--kf-border); color: var(--kf-text); cursor: pointer; text-align: left; transition: padding-left .3s ease, background .3s ease;}
.kf-dj-track:last-child{border-bottom: none;}
.kf-dj-track:hover{background: var(--kf-hover); padding-left: 14px;}
.kf-dj-track-num{color: var(--kf-muted-2); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; width: 22px;}
.kf-dj-track-name{flex-grow: 1; font-size: 15px; font-weight: 600;}
.kf-dj-track-time{color: var(--kf-muted-2); font-size: 13px; font-variant-numeric: tabular-nums;}
.kf-dj-track.is-playing .kf-dj-track-name{color: var(--kf-gold);}
.kf-dj-track.is-playing .kf-dj-track-num{color: var(--kf-gold);}
/* ---------- 27. Podcast ---------- */
.kf-podcast-grid{display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start;}
.kf-podcast-feature{background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px; overflow: hidden;}
.kf-podcast-feature-art{position: relative; overflow: hidden; aspect-ratio: 16 / 10;}
.kf-podcast-feature-art img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3); transition: filter .5s ease, transform .6s var(--kf-ease);}
.kf-podcast-feature:hover .kf-podcast-feature-art img{transform: scale(1.04); filter: grayscale(0);}
.kf-podcast-feature-art .kf-promo-tag{position: absolute; top: 16px; left: 16px;}
.kf-podcast-feature-body{padding: 28px;}
.kf-podcast-ep{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;}
.kf-podcast-title{font-size: 24px; font-weight: 900; letter-spacing: -.01em; margin-top: 12px;}
.kf-podcast-desc{color: var(--kf-muted); font-size: 15px; line-height: 1.65; margin-top: 12px;}
.kf-podcast-play{display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 13px 22px; background: var(--kf-gold); color: var(--kf-black); border: none; border-radius: 5px; font-size: 13.5px; font-weight: 800; letter-spacing: .04em; cursor: pointer; transition: background .3s ease, transform .3s var(--kf-ease), box-shadow .3s ease;}
.kf-podcast-play:hover{background: var(--kf-gold-soft); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0, 0, 0, .4);}
.kf-podcast-play.is-playing{box-shadow: 0 12px 26px rgba(0, 0, 0, .4);}
.kf-podcast-list{border-top: 1px solid var(--kf-border-strong); border-bottom: 1px solid var(--kf-border-strong);}
.kf-podcast-row{width: 100%; display: flex; align-items: center; gap: 20px; padding: 20px 4px; background: none; border: none; border-bottom: 1px solid var(--kf-border); color: var(--kf-text); cursor: pointer; text-align: left; transition: padding-left .3s ease, background .3s ease;}
.kf-podcast-row:last-child{border-bottom: none;}
.kf-podcast-row:hover{background: var(--kf-hover); padding-left: 12px;}
.kf-podcast-row-num{color: var(--kf-muted-2); font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums;}
.kf-podcast-row-info{flex-grow: 1; display: flex; flex-direction: column; gap: 4px;}
.kf-podcast-row-info strong{font-size: 16px; font-weight: 700;}
.kf-podcast-row-meta{color: var(--kf-muted-2); font-size: 12.5px;}
.kf-podcast-row-icon{width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--kf-border-strong); display: flex; align-items: center; justify-content: center; color: var(--kf-text); transition: background .3s ease, border-color .3s ease, color .3s ease;}
.kf-podcast-row:hover .kf-podcast-row-icon{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kf-podcast-row.is-playing .kf-podcast-row-info strong{color: var(--kf-gold);}
/* ---------- 28. Mini music player ---------- */
body.kf-player-open{padding-bottom: 92px;}
.kf-player-wrap{position: fixed; left: 0; right: 0; bottom: 0; z-index: 1500; pointer-events: none;}
.kf-player-wrap.is-open{pointer-events: auto;}
.kf-player{display: flex; align-items: center; gap: 18px; padding: 14px 22px; background: var(--kf-glass-player); border-top: 1px solid var(--kf-border-strong); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transform: translateY(110%); transition: transform .45s var(--kf-ease);}
.kf-player.is-open{transform: translateY(0);}
.kf-queue{position: absolute; right: 64px; bottom: calc(100% + 12px); width: min(360px, calc(100vw - 24px)); display: flex; flex-direction: column; max-height: min(340px, 52vh); border: 1px solid var(--kf-border-strong); border-radius: 8px; box-shadow: 0 24px 60px rgba(0, 0, 0, .55); overflow: hidden; pointer-events: auto; background: var(--kf-glass-queue); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s;}
.kf-queue.is-open{opacity: 1; visibility: visible; transform: translateY(0); transition: opacity .35s ease, transform .35s ease, visibility 0s linear 0s;}
.kf-queue-head{display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; border-bottom: 1px solid var(--kf-border);}
.kf-queue-eyebrow{display: block; color: var(--kf-muted-2); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700;}
.kf-queue-title{font-size: 18px; font-weight: 900;}
.kf-queue-close{width: 34px; height: 34px; border-radius: 50%; border: none; background: none; color: var(--kf-muted); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: color .3s ease, background .3s ease;}
.kf-queue-close:hover{color: var(--kf-text); background: var(--kf-hover-strong);}
.kf-queue-list{overflow-y: auto; padding: 6px 10px 12px;}
.kf-queue-row{display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 5px; cursor: pointer; transition: background .25s ease;}
.kf-queue-row:hover{background: var(--kf-hover);}
.kf-queue-row.is-current{background: rgba(212, 160, 23, .08);}
.kf-queue-row-ico{width: 26px; display: flex; align-items: center; justify-content: center; color: var(--kf-muted-2); font-weight: 800; font-size: 13px; font-variant-numeric: tabular-nums; flex-shrink: 0;}
.kf-queue-row .kf-eq{display: none;}
.kf-queue-row.is-current .kf-eq{display: inline-flex;}
.kf-queue-row.is-current .kf-queue-row-num{display: none;}
.kf-queue-row-info{flex-grow: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0;}
.kf-queue-row-info strong{font-size: 14.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.kf-queue-row.is-current .kf-queue-row-info strong{color: var(--kf-gold);}
.kf-queue-row-info span{color: var(--kf-muted); font-size: 12.5px;}
.kf-queue-row-time{color: var(--kf-muted-2); font-size: 12.5px; font-variant-numeric: tabular-nums;}
.kf-queue-row-remove{width: 30px; height: 30px; border: none; background: none; color: var(--kf-muted-2); border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; transition: opacity .2s ease, color .2s ease, background .2s ease;}
.kf-queue-row:hover .kf-queue-row-remove{opacity: 1;}
.kf-queue-row-remove:hover{color: var(--kf-text); background: var(--kf-hover-strong);}
.kf-queue-empty{padding: 30px 18px; color: var(--kf-muted-2); text-align: center; font-size: 14px; line-height: 1.7;}
.kf-player-track{display: flex; align-items: center; gap: 14px; min-width: 0;}
.kf-player-art{width: 52px; height: 52px; border-radius: 5px; object-fit: cover; flex-shrink: 0;}
.kf-player-meta{display: flex; flex-direction: column; gap: 2px; min-width: 0;}
.kf-player-title{font-size: 14.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px;}
.kf-player-artist{color: var(--kf-muted); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px;}
.kf-player-controls{display: flex; align-items: center; gap: 10px;}
.kf-player-btn{width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--kf-border-strong); background: none; color: var(--kf-text); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--kf-ease);}
.kf-player-btn:hover{border-color: var(--kf-gold); color: var(--kf-gold); transform: translateY(-1px);}
.kf-player-btn--play{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kf-player-btn--play:hover{background: var(--kf-gold-soft); color: var(--kf-black);}
.kf-player-icon-pause{display: none;}
.kf-player-btn--play.is-playing .kf-player-icon-play{display: none;}
.kf-player-btn--play.is-playing .kf-player-icon-pause{display: block;}
.kf-player-progress{flex-grow: 1; display: flex; align-items: center; gap: 12px; min-width: 140px;}
.kf-player-time{color: var(--kf-muted-2); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap;}
.kf-player-range{--kf-progress: 0%; -webkit-appearance: none; appearance: none; flex-grow: 1; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--kf-gold) var(--kf-progress), var(--kf-track) var(--kf-progress)); cursor: pointer; transition: height .2s ease;}
.kf-player-range:hover{height: 6px;}
.kf-player-range::-webkit-slider-thumb{-webkit-appearance: none; appearance: none; width: 12px; height: 12px; border-radius: 50%; background: var(--kf-gold-soft); border: none; opacity: 0; box-shadow: 0 0 0 3px rgba(212, 160, 23, .25); transition: opacity .15s ease;}
.kf-player-range:hover::-webkit-slider-thumb, .kf-player-range:active::-webkit-slider-thumb{opacity: 1;}
.kf-player-range::-moz-range-thumb{width: 12px; height: 12px; border-radius: 50%; background: var(--kf-gold-soft); border: none; opacity: 0; transition: opacity .15s ease;}
.kf-player-range:hover::-moz-range-thumb, .kf-player-range:active::-moz-range-thumb{opacity: 1;}
.kf-player-range::-moz-range-track{background: transparent; height: 4px;}
.kf-player-queue{display: none;}
.kf-player-close{width: 36px; height: 36px; border-radius: 50%; border: none; background: none; color: var(--kf-muted); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: color .3s ease;}
.kf-player-close:hover{color: var(--kf-text);}
/* ---------- 28b. Homepage structural slots (Phase 2D.2.8) ---------- */
/* Shared artwork-slot placeholder: a designed gradient surface
   that structural image slots render until the CMS/catalogue
   supplies a real image (data-kf-img slot or hydrated artUrl). */
.kf-art-slot{position: relative; background: linear-gradient(135deg, var(--kf-grad-1) 0%, var(--kf-grad-2) 55%, var(--kf-grad-3) 100%);}
.kf-art-slot::before{content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 30% 20%, rgba(212, 160, 23, .10), transparent 45%), radial-gradient(circle at 80% 80%, rgba(140, 58, 43, .18), transparent 50%);}
.kf-art-slot img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
/* Featured artist: editorial two-column feature */
.kf-featured-feature{position: relative;}
.kf-featured-feature .kf-featured-content{padding: 0;}
.kf-featured-feature .kf-featured-name{font-size: clamp(34px, 5vw, 58px);}
.kf-featured-portrait{aspect-ratio: 4 / 5; border-radius: 5px; overflow: hidden; border: 1px solid var(--kf-border);}
.kf-featured-portrait img{aspect-ratio: 1 / 1; filter: grayscale(.35) contrast(1.05); transition: transform .6s var(--kf-ease), filter .5s ease;}
.kf-featured-feature:hover .kf-featured-portrait img{transform: scale(1.03); filter: grayscale(0);}
/* Studio: full-bleed content-controlled image panel */
.kf-studio-bg{position: absolute; inset: 0; z-index: 0; overflow: hidden;}
.kf-studio-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.6) contrast(1.05);}
.kf-studio-veil{position: absolute; inset: 0; background: linear-gradient(0deg, var(--kf-overlay-96) 0%, var(--kf-overlay-5) 45%, var(--kf-overlay-75) 100%);}
/* DJs: featured album cards (two-up grid) */
.kf-dj-albums{display: grid; grid-template-columns: 1fr; gap: 20px;}
.kf-dj-album{background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px; overflow: hidden; display: flex; flex-direction: column;}
.kf-dj-album-art{position: relative; aspect-ratio: 1 / 1; overflow: hidden;}
.kf-dj-album-art img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) contrast(1.05); transition: transform .6s var(--kf-ease), filter .5s ease;}
.kf-dj-album:hover .kf-dj-album-art img{transform: scale(1.04); filter: grayscale(0);}
.kf-dj-album-tag{position: absolute; top: 16px; left: 16px; background: var(--kf-overlay-8); border: 1px solid var(--kf-border-strong); color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 6px 12px; border-radius: 20px;}
.kf-dj-album-body{padding: 20px;}
.kf-dj-album-head{display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;}
.kf-dj-album-title{font-size: 22px; font-weight: 900; letter-spacing: -.01em;}
.kf-dj-album-artist{color: var(--kf-gold-soft); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; margin-top: 4px; display: block;}
.kf-dj-album-play{flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; background: var(--kf-gold); color: var(--kf-black); border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .3s var(--kf-ease), background .3s ease, box-shadow .3s ease;}
.kf-dj-album-play:hover{transform: scale(1.08); background: var(--kf-gold-soft); box-shadow: 0 0 0 8px rgba(212, 160, 23, .15);}
.kf-dj-album-play.is-playing{box-shadow: 0 0 0 8px rgba(212, 160, 23, .15);}
.kf-dj-album-meta{display: flex; flex-wrap: wrap; gap: 20px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--kf-border);}
.kf-dj-album-meta-item span{display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 700;}
.kf-dj-album-meta-item strong{display: block; color: var(--kf-text); font-size: 14px; font-weight: 700; margin-top: 5px;}
/* Distribution: numbered pipeline step cards (homepage presentation
   only — scoped to .kf-flow-steps so the Distribution page keeps its
   own plain flow presentation). */
.kf-flow-steps{margin-top: 64px; gap: 14px;}
.kf-flow-steps .kf-flow-step{display: flex; align-items: center; gap: 12px; padding: 20px 18px; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-surface); transition: border-color .3s ease, transform .3s var(--kf-ease);}
.kf-flow-steps .kf-flow-step:hover{border-color: var(--kf-gold); transform: translateY(-3px);}
.kf-flow-step-num{font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--kf-muted-2); font-variant-numeric: tabular-nums; transition: color .3s ease;}
.kf-flow-steps .kf-flow-step:hover .kf-flow-step-num{color: var(--kf-gold);}
/* ---------- 29. Light mode image + panel overrides ---------- */
html.light .kf-hero-bg img{filter: grayscale(.2) brightness(.9) contrast(1.02);}
html.light .kf-featured-bg img{filter: grayscale(.15) brightness(.85) contrast(1.02);}
html.light .kf-featured-artist{background: linear-gradient(180deg, var(--kf-overlay-0) 0%, var(--kf-overlay-94) 92%), linear-gradient(120deg, var(--kf-grad-1) 0%, var(--kf-grad-2) 55%, var(--kf-grad-3) 100%);}
html.light .kf-featured-artist::before{background-image: radial-gradient(circle at 30% 20%, rgba(212, 160, 23, .14), transparent 45%), radial-gradient(circle at 80% 80%, rgba(164, 74, 51, .16), transparent 50%);}
html.light .kf-studio{background: linear-gradient(0deg, var(--kf-overlay-96) 0%, var(--kf-overlay-5) 45%, var(--kf-overlay-75) 100%), linear-gradient(135deg, var(--kf-grad-4) 0%, var(--kf-grad-5) 60%, var(--kf-bg) 100%);}
html.light .kf-studio::before{background-image: radial-gradient(circle at 15% 85%, rgba(212, 160, 23, .16), transparent 40%), radial-gradient(circle at 85% 15%, rgba(164, 74, 51, .14), transparent 45%);}
html.light .kf-hero{background: var(--kf-bg);}
html.light .kf-cta{background: var(--kf-bg);}
html.light .kf-footer{background: var(--kf-bg);}
html.light .kf-marquee{background: var(--kf-surface);}
html.light .kf-distribution{background: var(--kf-surface);}
html.light .kf-spotlight{background: var(--kf-surface);}
html.light .kf-dj-mix{background: var(--kf-surface);}
html.light .kf-podcast-feature{background: var(--kf-surface);}
html.light .kf-release-media{background: var(--kf-surface-2);}
html.light .kf-mega-inner{background: var(--kf-glass-mega);}
html.light .kf-mega-panel{background: var(--kf-glass);}
html.light .kf-nav.scrolled{background: var(--kf-nav-glass);}
html.light .kf-player{background: var(--kf-glass-player);}
html.light .kf-queue{background: var(--kf-glass-queue);}
html.light .kf-dj-mix-label{background: var(--kf-overlay-8);}
html.light .kf-art-slot::before{background-image: radial-gradient(circle at 30% 20%, rgba(212, 160, 23, .14), transparent 45%), radial-gradient(circle at 80% 80%, rgba(164, 74, 51, .16), transparent 50%);}
html.light .kf-featured-portrait img{filter: grayscale(.15) brightness(.85) contrast(1.02);}
html.light .kf-featured-feature:hover .kf-featured-portrait img{filter: grayscale(0) brightness(.9);}
html.light .kf-studio-bg img{filter: grayscale(.2) brightness(.9) contrast(1.02);}
html.light .kf-dj-album{background: var(--kf-surface);}
html.light .kf-dj-album-tag{background: var(--kf-overlay-8);}
html.light .kf-dj-album-art img{filter: grayscale(.15) brightness(.85) contrast(1.02);}
html.light .kf-dj-album:hover .kf-dj-album-art img{filter: grayscale(0) brightness(.9);}
/* ---------- 30. Theme toggle button ---------- */
.kf-theme-toggle{display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--kf-border-strong); background: transparent; color: var(--kf-text); cursor: pointer; transition: border-color .25s ease, color .25s ease, transform .25s ease;}
.kf-theme-toggle:hover{border-color: var(--kf-gold); color: var(--kf-gold); transform: translateY(-1px);}
.kf-theme-toggle.floating{position: fixed; bottom: 20px; left: 20px; z-index: 4000; background: var(--kf-glass-player); box-shadow: 0 10px 28px rgba(0, 0, 0, .25);}
/* ---------- 31. Page-level (inner pages) ---------- */
.kf-hero--page{min-height: 62vh; align-items: center;}
.kf-hero-title--page{max-width: 14ch;}
.kf-hero-sub--page{max-width: 60ch;}
.kf-stats-card{height: 100%; padding: 34px; border: 1px solid var(--kf-border-strong); border-radius: 5px;}
.kf-artist-card--tile{display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 24px; min-height: 170px; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-surface); text-decoration: none;}
.kf-artist-card--tile:hover{border-color: var(--kf-gold); transform: translateY(-3px);}
.kf-tile-num{font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--kf-gold);}
.kf-tile-body{display: flex; flex-direction: column; gap: 4px;}
.kf-tile-body strong{color: var(--kf-text); font-size: 17px; font-weight: 800; line-height: 1.2;}
.kf-tile-body span{color: var(--kf-muted); font-size: 13px;}
/* ---------- 32. Public forms ---------- */
.kf-form{display: flex; flex-direction: column; gap: 20px;}
.kf-form-row{display: flex; flex-wrap: wrap; gap: 20px;}
.kf-form-row .kf-field{flex: 1 1 220px;}
.kf-field{display: flex; flex-direction: column; gap: 8px;}
.kf-field-label{font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-muted-2); font-weight: 800;}
.kf-input, .kf-select, .kf-textarea{width: 100%; background: var(--kf-surface); border: 1px solid var(--kf-border-strong); color: var(--kf-text); font-size: 16px; font-family: inherit; padding: 15px 18px; border-radius: 5px; transition: border-color .25s ease, background .25s ease;}
.kf-input::placeholder, .kf-textarea::placeholder{color: var(--kf-muted-2);}
.kf-input:focus, .kf-select:focus, .kf-textarea:focus{outline: none; border-color: var(--kf-gold); background: var(--kf-surface); color: var(--kf-text);}
.kf-select{appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--kf-gold) 50%), linear-gradient(135deg, var(--kf-gold) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; cursor: pointer;}
/* ---------- 33a. Select2 (kf theme) ---------- */
.select2-container--kf .select2-selection--single{height: auto; background: var(--kf-surface); border: 1px solid var(--kf-border-strong); border-radius: 5px; padding: 13px 40px 13px 18px; font-size: 16px; font-family: inherit;}
.select2-container--kf .select2-selection__rendered{color: var(--kf-text); line-height: 22px; padding: 0;}
.select2-container--kf .select2-selection__placeholder{color: var(--kf-muted-2);}
.select2-container--kf .select2-selection__arrow{height: 100%; width: 34px; background-image: linear-gradient(45deg, transparent 50%, var(--kf-gold) 50%), linear-gradient(135deg, var(--kf-gold) 50%, transparent 50%); background-position: calc(50% + 2px) 50%, calc(50% - 3px) 50%; background-size: 6px 6px; background-repeat: no-repeat;}
.select2-container--kf .select2-selection__arrow b{display: none;}
.select2-container--kf.select2-container--focus .select2-selection--single, .select2-container--kf.select2-container--open .select2-selection--single{border-color: var(--kf-gold);}
.select2-container--kf .select2-dropdown{background: var(--kf-surface-2); border: 1px solid var(--kf-border-strong); border-radius: 5px; box-shadow: 0 18px 44px rgba(0, 0, 0, .38); overflow: hidden;}
.select2-container--kf .select2-results__option{padding: 11px 18px; font-size: 14px; color: var(--kf-text);}
.select2-container--kf .select2-results__option--highlighted{background: var(--kf-gold); color: var(--kf-black);}
.select2-container--kf .select2-results__option[aria-selected="true"]{background: rgba(212, 160, 23, .14); color: var(--kf-gold);}
.select2-container--kf .select2-results__option--highlighted[aria-selected="true"]{background: var(--kf-gold); color: var(--kf-black);}
.select2-container--kf .select2-results > .select2-results__options{scrollbar-width: thin;}
.select2-container .select2-selection--single{height: 55px !important;}
.modal .select2-container, .modal .select2-container--open{z-index: 1070;}
.kf-textarea{min-height: 160px; resize: vertical;}
.kf-form-card{background: var(--kf-surface); border: 1px solid var(--kf-border-strong); border-radius: 5px; padding: 34px;}
/* ---------- 33a. Booking + auth forms ---------- */
.kf-form-note{font-size: 13px; color: var(--kf-muted); margin: 0; line-height: 1.6;}
.kf-form-success{margin-top: 18px; padding: 16px 20px; border: 1px solid var(--kf-gold); border-radius: 5px; color: var(--kf-text); font-size: 14px; font-weight: 600; line-height: 1.6; background: color-mix(in srgb, var(--kf-gold) 8%, transparent);}
/* ---------- 33b. Event booking form sections, summary + success ---------- */
.kf-form-section{margin: 0 0 34px; padding: 0 0 30px; border-bottom: 1px solid var(--kf-border-strong);}
.kf-form-section-head{margin: 0 0 20px;}
.kf-form-section-num{display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--kf-gold);}
.kf-form-section-sub{margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--kf-muted);}
.kf-form-section .kf-field{margin-bottom: 20px;}
.kf-form-section .kf-fieldset{margin-bottom: 20px;}
.kf-form-section .kf-field:last-child, .kf-form-section .kf-fieldset:last-child{margin-bottom: 0;}
.kf-check{display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 14px; color: var(--kf-muted); cursor: pointer;}
.kf-check input{width: 16px; height: 16px; accent-color: var(--kf-gold); cursor: pointer;}
.kf-form-summary{margin: 0 0 26px; padding: 20px 22px; border: 1px solid var(--kf-border-strong); border-left: 3px solid var(--kf-gold); border-radius: 5px; background: color-mix(in srgb, var(--kf-gold) 5%, transparent);}
.kf-form-summary-title{display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--kf-text); margin-bottom: 14px;}
.kf-form-summary-grid{display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px 22px; margin: 0;}
.kf-form-summary-grid div{min-width: 0;}
.kf-form-summary-grid dt{font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--kf-muted);}
.kf-form-summary-grid dd{margin: 4px 0 0; font-size: 14px; font-weight: 600; line-height: 1.45; color: var(--kf-text); overflow-wrap: break-word;}
.kf-form-success-panel{padding: 10px 0;}
.kf-form-success-panel:focus{outline: 2px solid var(--kf-text); outline-offset: 6px;}
.kf-form-success-lead{margin: 14px 0 0; font-size: 22px; line-height: 1.3; font-weight: 800; letter-spacing: -.01em; color: var(--kf-text);}
.kf-form-success-ref{margin: 18px 0 0; font-size: 15px; color: var(--kf-muted);}
.kf-form-success-ref strong{color: var(--kf-gold); font-weight: 800; letter-spacing: .04em;}
.kf-form-success-note{margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: var(--kf-muted);}
.kf-form-success-actions{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px;}
.kf-steps-list{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px;}
.kf-steps-list li{display: flex; gap: 16px; align-items: flex-start;}
.kf-steps-num{flex: none; width: 34px; height: 34px; border: 1px solid var(--kf-border-strong); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; color: var(--kf-gold); margin-top: -2px;}
.kf-steps-list p{margin: 0; color: var(--kf-muted); font-size: 15px; line-height: 1.6;}
.kf-auth-tabs{display: flex; gap: 0; border: 1px solid var(--kf-border-strong); border-radius: 5px; overflow: hidden; margin-bottom: 26px;}
.kf-auth-tab{flex: 1; background: transparent; border: none; padding: 13px 16px; color: var(--kf-muted); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: color .25s ease, background .25s ease;}
.kf-auth-tab + .kf-auth-tab{border-left: 1px solid var(--kf-border-strong);}
.kf-auth-tab.is-active{background: var(--kf-gold); color: var(--kf-black);}
.kf-auth-pane--hidden{display: none;}
.kf-auth-row{display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;}
.kf-auth-row .kf-check{font-size: 13px; color: var(--kf-muted);}
.kf-auth-row .kf-check input{margin-right: 6px; accent-color: var(--kf-gold);}
/* ---------- 33. Filter tabs ---------- */
.kf-filter-tabs{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px;}
.kf-filter-tab{display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 5px; border: 1px solid var(--kf-border-strong); background: transparent; color: var(--kf-muted); font-size: 13px; font-weight: 700; cursor: pointer; transition: color .25s ease, border-color .25s ease, background .25s ease;}
.kf-filter-tab .kf-filter-count{font-size: 11px; color: var(--kf-gold); font-weight: 800;}
.kf-filter-tab:hover{border-color: var(--kf-gold); color: var(--kf-text);}
.kf-filter-tab.is-active{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kf-filter-tab.is-active .kf-filter-count{color: var(--kf-black);}
[data-filter-item].is-hidden{display: none;}
/* ---------- 34. Check lists + platform tiles ---------- */
.kf-check-list{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px;}
.kf-check-list li{display: flex; gap: 12px; align-items: flex-start; color: var(--kf-text); font-size: 15px; line-height: 1.5;}
.kf-check-list li svg{flex: none; margin-top: 3px; color: var(--kf-gold);}
.kf-platform-tile{display: flex; align-items: center; justify-content: center; padding: 22px 18px; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-surface); color: var(--kf-text); font-weight: 800; font-size: 14px; text-align: center; transition: border-color .25s ease, transform .25s ease, color .25s ease;}
.kf-platform-tile:hover{border-color: var(--kf-gold); color: var(--kf-gold); transform: translateY(-3px);}
/* ---------- 35. FAQ accordion ---------- */
.kf-accordion{border: 1px solid var(--kf-border-strong); border-radius: 5px; overflow: hidden;}
.kf-accordion-item{border-bottom: 1px solid var(--kf-border-strong);}
.kf-accordion-item:last-child{border-bottom: none;}
.kf-accordion-btn{display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; background: none; border: none; padding: 22px 26px; color: var(--kf-text); font-size: 16px; font-weight: 800; text-align: left; cursor: pointer;}
.kf-accordion-btn .kf-accordion-icon{flex: none; width: 26px; height: 26px; border: 1px solid var(--kf-border-strong); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--kf-gold); transition: transform .3s ease, background .3s ease, color .3s ease;}
.kf-accordion-item.is-open .kf-accordion-icon{transform: rotate(45deg); background: var(--kf-gold); color: var(--kf-black);}
.kf-accordion-panel{max-height: 0; overflow: hidden; transition: max-height .35s ease;}
.kf-accordion-panel-inner{padding: 0 26px 24px; color: var(--kf-muted); font-size: 15px; line-height: 1.7;}
/* ---------- FAQ filters ---------- */
.kf-faq-chips{margin-top: 16px;}
.kf-faq-empty{margin: 24px 0 0; color: var(--kf-muted); line-height: 1.6;}
/* ---------- 36. Careers / list rows ---------- */
.kf-role-row{display: flex; align-items: flex-start; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--kf-border-strong);}
.kf-role-row:last-child{border-bottom: none;}
.kf-role-num{font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--kf-gold); padding-top: 6px;}
.kf-role-body{flex: 1;}
.kf-role-body h3{color: var(--kf-text); font-size: 20px; font-weight: 800; margin: 0 0 6px;}
.kf-role-body p{margin: 0; color: var(--kf-muted); font-size: 15px; line-height: 1.6; max-width: 62ch;}
.kf-role-cta{flex: none;}

/* ================= INLINE PAGE EDITOR ================= */
.kf-ie-control{position: fixed; z-index: 9000; right: 18px; bottom: 18px; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; font-family: 'Red Hat Display', sans-serif;}
.kf-ie-toggle{background: var(--kf-surface); border: 1px solid var(--kf-border-strong); color: var(--kf-text); font-size: 13px; font-weight: 700; padding: 10px 16px; border-radius: 5px; cursor: pointer; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); transition: border-color .2s ease, color .2s ease;}
.kf-ie-toggle:hover{border-color: var(--kf-gold); color: var(--kf-gold);}
.kf-ie-badge{display: none; background: rgba(226, 85, 91, .12); border: 1px solid rgba(226, 85, 91, .55); color: #e2555b; font-size: 11px; letter-spacing: .6px; padding: 6px 10px; border-radius: 4px;}
.kf-ie-badge.is-on{display: block;}
.kf-ie-on .kf-ie-target{outline: 1px dashed var(--kf-gold); outline-offset: 2px; cursor: text;}
.kf-inline-editor{position: absolute; z-index: 9100; background: var(--kf-surface); border: 1px solid var(--kf-border-strong); border-radius: 5px; padding: 10px; box-shadow: 0 16px 40px rgba(0, 0, 0, .45); display: flex; flex-direction: column; gap: 8px; font-family: 'Red Hat Display', sans-serif;}
.kf-inline-editor textarea{background: var(--kf-surface-2); color: var(--kf-text); border: 1px solid var(--kf-border-strong); border-radius: 4px; font-family: inherit; font-size: 14px; padding: 8px; width: 100%; resize: vertical; min-height: 34px;}
.kf-inline-editor textarea:focus{outline: none; border-color: var(--kf-gold);}
.kf-ie-editor-actions{display: flex; gap: 8px;}
.kf-ie-save{background: var(--kf-gold); border: 1px solid var(--kf-gold); color: var(--kf-black); font-family: inherit; font-size: 12.5px; font-weight: 700; padding: 7px 14px; border-radius: 4px; cursor: pointer;}
.kf-ie-cancel{background: transparent; border: 1px solid var(--kf-border-strong); color: var(--kf-muted); font-family: inherit; font-size: 12.5px; font-weight: 700; padding: 7px 14px; border-radius: 4px; cursor: pointer;}
.kf-ie-cancel:hover{color: var(--kf-text); border-color: var(--kf-muted);}
.kf-ie-hint{font-size: 11px; color: var(--kf-muted-2); letter-spacing: .3px;}
.kf-ie-toast{position: fixed; z-index: 9200; left: 50%; top: 22px; transform: translateX(-50%); background: var(--kf-gold); color: var(--kf-black); font-size: 13px; font-weight: 700; padding: 10px 18px; border-radius: 5px; box-shadow: 0 12px 30px rgba(0, 0, 0, .4); font-family: 'Red Hat Display', sans-serif; transition: opacity .3s ease;}
.kf-ie-toast.err{background: #e2555b; color: #fff;}
.kf-ie-toast.out{opacity: 0;}
html.light .kf-ie-control .kf-ie-toggle, html.light .kf-inline-editor{background: #ffffff;}
html.light .kf-inline-editor textarea{background: #f1ece2;}

/* ---------- 37. Form pages (book + contact, Phase 2D.2.x) ----------
   UI source of truth: kestarfeez-main/frontend/book.html / contact.html.
   Split hero: editorial copy column + form panel. New class names are unique
   to these pages, so they are safe unscoped; the .kf-flow numbered-list
   presentation and the hero-word animation are scoped to .kf-hero--form so
   the Distribution page (.kf-flow) and the homepage hero keep their own
   approved presentations. */
.kf-hero--form{min-height: 100svh; align-items: flex-start; padding: 116px 0 64px;}
.kf-form-hero-grid{position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; width: 100%; align-items: start;}
.kf-form-title{font-size: clamp(40px, min(4.4vw, 11vh), 68px); line-height: .9; letter-spacing: -.035em; margin-top: 0; max-width: none;}
.kf-form-title .kf-hero-line{padding: .04em 0 .06em; margin: -.04em 0 -.06em;}
.kf-hero-word--outline{-webkit-text-fill-color: transparent; -webkit-text-stroke: 2px var(--kf-text);}
.kf-form-sub{max-width: 46ch; margin: 28px 0 0; font-size: 18px; line-height: 1.65; color: var(--kf-muted);}
.kf-form-actions{display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px;}
/* Release-pipeline card used in the Distribution page hero. */
.kf-pipe{padding: 28px;}
.kf-pipe-title{margin: 0; font-size: 26px; font-weight: 900; line-height: 1.1; letter-spacing: -.01em; color: var(--kf-text);}
.kf-pipe-text{margin: 12px 0 0; color: var(--kf-muted); line-height: 1.6;}
.kf-pipe-list{list-style: none; margin: 24px 0 0; padding: 0; counter-reset: kfpipe;}
.kf-pipe-list li{position: relative; counter-increment: kfpipe; display: flex; align-items: center; gap: 16px; padding: 10px 0; font-weight: 700; color: var(--kf-text);}
.kf-pipe-list li::before{content: counter(kfpipe); position: relative; z-index: 1; flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--kf-surface); border: 1px solid var(--kf-border-strong); font-size: 13px; font-variant-numeric: tabular-nums;}
.kf-pipe-list li:not(:last-child)::after{content: ''; position: absolute; left: 15px; top: 42px; bottom: -10px; width: 1px; background: var(--kf-border-strong);}
.kf-pipe-list li:last-child{color: var(--kf-gold);}
.kf-pipe-list li:last-child::before{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kf-lines{list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--kf-border-strong);}
.kf-lines li{display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--kf-border);}
.kf-lines-label{color: var(--kf-muted); font-size: 14px;}
.kf-lines a, .kf-lines-value{font-size: 17px; font-weight: 700; color: var(--kf-text); text-align: right;}
.kf-lines a:hover{color: var(--kf-gold);}
.kf-form-copy .kf-social{margin-top: 24px;}
/* Form-page hero words: one-time rise only — no homepage kfHeroStage
   gold-fill cycle; the accent word renders as solid gold. */
.kf-hero--form .kf-hero-line .kf-hero-word{animation: kfHeroRise 1s var(--kf-ease) both;}
.kf-hero--form .kf-hero-line:nth-child(1) .kf-hero-word{animation-delay: .1s;}
.kf-hero--form .kf-hero-line:nth-child(2) .kf-hero-word{animation-delay: .22s;}
.kf-hero--form .kf-hero-word--accent{-webkit-text-fill-color: var(--kf-gold); -webkit-text-stroke: 0;}
/* Numbered how-it-works list — scoped so the bare .kf-flow used by the
   Distribution page (flow rail/steps) is unaffected. */
.kf-hero--form .kf-flow{list-style: none; margin: 32px 0 0; padding: 0; counter-reset: kfflow;}
.kf-hero--form .kf-flow li{counter-increment: kfflow; display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid var(--kf-border); color: var(--kf-muted); line-height: 1.55;}
.kf-hero--form .kf-flow li::before{content: counter(kfflow); color: var(--kf-gold); font-weight: 800; font-variant-numeric: tabular-nums;}
.kf-form-panel{padding: 28px;}
.kf-fieldset{border: 0; margin: 0 0 24px; padding: 0; min-width: 0;}
.kf-legend{float: none; width: auto; padding: 0; margin: 0 0 12px; font-size: 14px; font-weight: 700; color: var(--kf-text);}
.kf-legend small{font-weight: 500; color: var(--kf-muted); font-size: 13px;}
.kf-chips{display: flex; flex-wrap: wrap; gap: 8px;}
.kf-chip{padding: 10px 16px; border: 1px solid var(--kf-border-strong); border-radius: 999px; background: transparent; color: var(--kf-text); font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease;}
.kf-chip:hover{border-color: var(--kf-gold);}
.kf-chip[aria-checked="true"], .kf-chip[aria-pressed="true"]{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kf-chip:focus-visible{outline: 2px solid var(--kf-text); outline-offset: 2px;}
.kf-chip-hint{margin: 12px 0 0; min-height: 22px; color: var(--kf-muted); font-size: 14px; line-height: 1.5;}
/* Reduced motion: static words at final position (design keeps the outline
   treatment and the solid-gold accent when motion is reduced). */
@media (prefers-reduced-motion: reduce){
  .kf-hero--form .kf-hero-line .kf-hero-word{animation: none; transform: none;}
  .kf-hero--form .kf-hero-word--outline{-webkit-text-fill-color: transparent; -webkit-text-stroke: 2px var(--kf-text);}
}

/* ---------- 38. Journal placeholder (Phase 2D.3.B) ----------
   Clean placeholder page with Book a Session CTA when journal content
   will be populated later by the admin console. */
.kf-journal-placeholder{
  min-height: 50svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 24px 24px;
}
.kf-journal-placeholder h2{
  margin: 0 0 16px;
  font-size: clamp(36px, 4vw, 64px);
  letter-spacing: -.025em;
}
.kf-journal-placeholder p{
  margin: 0 0 32px;
  max-width: 560px;
  color: var(--kf-muted);
  font-size: 18px;
  line-height: 1.6;
}
/* ---------- 37. Events page — editorial compositions ---------- */
.kf-ev-hero .kf-hero-title--page{max-width: 22ch; font-size: clamp(36px, 5.4vw, 76px);}
.kf-ev-hero-meta{display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 36px; color: var(--kf-muted); font-size: 10px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kf-ev-hero-meta span{position: relative; padding-left: 14px;}
.kf-ev-hero-meta span::before{content: ''; position: absolute; left: 0; top: 50%; width: 5px; height: 1px; background: var(--kf-gold);}
.kf-ev-cue{position: absolute; right: 34px; bottom: 30px; z-index: 4; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--kf-muted); font-size: 9px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; text-decoration: none; animation: kfFadeUp .9s var(--kf-ease) .9s both;}
.kf-ev-cue i{display: block; width: 1px; height: 44px; background: linear-gradient(180deg, var(--kf-gold), transparent);}
.kf-ev-cue:hover{color: var(--kf-gold);}
.kf-ev-section-head{display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-bottom: 30px;}
.kf-ev-num{color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kf-ev-story{position: relative;}
.kf-ev-story-grid{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kf-ev-story-stack .kf-ev-story-item:first-child{grid-column: 1 / -1;}
.kf-ev-story figure{margin: 0; position: relative; overflow: hidden; border: 1px solid var(--kf-border); border-radius: 5px; background: var(--kf-surface-2);}
.kf-ev-story figure::after{content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(10, 9, 8, .78)); pointer-events: none;}
.kf-ev-story img{width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(.22) saturate(.86); transition: transform .7s var(--kf-ease), filter .5s ease;}
.kf-ev-story figure:hover img{transform: scale(1.05); filter: grayscale(0) saturate(1);}
.kf-ev-story-main{aspect-ratio: 4 / 3;}
.kf-ev-story-main figcaption, .kf-ev-story-item figcaption{position: absolute; z-index: 1; right: 14px; bottom: 12px; left: 14px; display: flex; justify-content: space-between; gap: 12px; color: #f5f2eb; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; pointer-events: none;}
.kf-ev-story-stack{display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.kf-ev-story-item{aspect-ratio: 4 / 3;}
.kf-ev-story-main .kf-ev-story-overlap{position: absolute; z-index: 2; right: 18px; bottom: 18px; width: 140px; aspect-ratio: 4 / 3; overflow: hidden; border: 2px solid var(--kf-gold); border-radius: 5px;}
.kf-ev-statement{position: relative; overflow: hidden; padding: 110px 0; border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kf-ev-statement-bg{position: absolute; inset: 0;}
.kf-ev-statement-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.5);}
.kf-ev-statement-veil{position: absolute; inset: 0; background: linear-gradient(180deg, var(--kf-overlay-75), var(--kf-overlay-92));}
.kf-ev-statement .container-kf{position: relative; z-index: 1;}
.kf-ev-statement-title{font-size: clamp(32px, 5vw, 60px); line-height: 1.05; font-weight: 800; letter-spacing: -.01em; color: var(--kf-text); margin: 18px 0 20px; text-transform: uppercase;}
.kf-ev-statement-sub{max-width: 620px; color: var(--kf-muted); font-size: 16px; line-height: 1.65;}
.kf-ev-trinity{display: grid; grid-template-columns: 1fr; gap: 1px; margin-top: 56px; background: var(--kf-border-strong); border: 1px solid var(--kf-border-strong);}
.kf-ev-trinity-item{padding: 26px 24px; background: var(--kf-glass-soft);}
.kf-ev-trinity-word{display: block; color: var(--kf-gold); font-size: 22px; font-weight: 800;}
.kf-ev-trinity-tags{display: block; margin-top: 10px; color: var(--kf-muted); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kf-ev-services{display: grid; gap: 4px;}
.kf-ev-service{display: grid; grid-template-columns: 1fr; gap: 18px; padding: 26px 0; border-top: 1px solid var(--kf-border);}
.kf-ev-service:last-child{border-bottom: 1px solid var(--kf-border);}
.kf-ev-service-num{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em;}
.kf-ev-service-media{position: relative; overflow: hidden; border: 1px solid var(--kf-border); border-radius: 5px; aspect-ratio: 4 / 3; background: var(--kf-surface-2);}
.kf-ev-service-media img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) brightness(.92); transition: transform .7s var(--kf-ease), filter .5s ease;}
.kf-ev-service:hover .kf-ev-service-media img{transform: scale(1.04); filter: grayscale(0);}
.kf-ev-service-title{font-size: 20px; font-weight: 800; letter-spacing: .01em; margin-bottom: 10px;}
.kf-ev-service-body .link-kf{margin-top: 14px;}
.kf-ev-types{list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--kf-border);}
.kf-ev-type{display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 6px; border-bottom: 1px solid var(--kf-border); transition: padding .35s var(--kf-ease), background .35s ease;}
.kf-ev-type:hover{padding-left: 18px; background: var(--kf-hover);}
.kf-ev-type-name{font-size: clamp(19px, 2.6vw, 28px); font-weight: 800; letter-spacing: .01em;}
.kf-ev-type-index{color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .16em;}
.kf-ev-steps{list-style: none; margin: 0; padding: 0; display: grid; gap: 14px;}
.kf-ev-step{display: flex; align-items: center; gap: 20px; padding: 20px 24px; border: 1px solid var(--kf-border); border-radius: 5px; background: var(--kf-surface); transition: border-color .3s ease, transform .3s var(--kf-ease);}
.kf-ev-step:hover{border-color: var(--kf-gold); transform: translateY(-2px);}
.kf-ev-step-num{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em;}
.kf-ev-step-name{font-size: 18px; font-weight: 800;}
.kf-ev-feature{position: relative; overflow: hidden; padding: 150px 0; border-top: 1px solid var(--kf-border);}
.kf-ev-feature-bg{position: absolute; inset: 0;}
.kf-ev-feature-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.45);}
.kf-ev-feature-veil{position: absolute; inset: 0; background: radial-gradient(ellipse at center, var(--kf-overlay-1), var(--kf-overlay-92));}
.kf-ev-feature .container-kf{position: relative; z-index: 1;}
.kf-ev-feature-quote{font-size: clamp(30px, 5vw, 58px); line-height: 1.08; font-weight: 800; letter-spacing: -.01em; color: var(--kf-text); margin: 0; text-transform: uppercase;}
.kf-ev-why-list{list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px;}
.kf-ev-why-list li{position: relative; padding-left: 16px; color: var(--kf-text); font-size: 14px; font-weight: 700;}
.kf-ev-why-list li::before{content: ''; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; background: var(--kf-gold);}
html.light .kf-ev-statement-bg img, html.light .kf-ev-feature-bg img{filter: grayscale(.2) brightness(.92);}


/* ---------- Section rhythm ---------- */
.kfp-sec{position: relative; padding: 96px 0;}
.kfp-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfp-head{max-width: 760px; margin-bottom: 56px;}
.kfp-title{font-size: clamp(30px, 4vw, 48px); margin-top: 14px;}
.kfp-lede{margin-top: 20px; max-width: 58ch;}
.kfp-note{margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--kf-border); color: var(--kf-muted-2); font-size: 13px; line-height: 1.7; max-width: 80ch;}

/* ---------- Image slot (placeholder lives behind the <img>) ---------- */
.kfp-media{position: relative; overflow: hidden; margin: 0; isolation: isolate; border: 1px solid var(--kf-border); border-radius: 5px; background: linear-gradient(135deg, var(--kf-grad-1) 0%, var(--kf-grad-2) 55%, var(--kf-grad-3) 100%);}
.kfp-media::before{content: attr(data-ph); position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase; background-image: radial-gradient(circle at 28% 18%, rgba(212, 160, 23, .14), transparent 46%), radial-gradient(circle at 82% 86%, rgba(140, 58, 43, .2), transparent 52%);}
.kfp-media img{position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.2) saturate(.9) brightness(.94); transition: transform .8s var(--kf-ease), filter .5s ease;}
.kfp-media:hover img{transform: scale(1.045); filter: grayscale(0) saturate(1) brightness(1);}
.kfp-media figcaption{position: absolute; z-index: 3; left: 20px; right: 20px; bottom: 18px; display: flex; justify-content: space-between; gap: 12px; color: #f5f2eb; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kfp-media--cap::after{content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, transparent 55%, rgba(10, 9, 8, .8) 100%);}
.kfp-r-45{aspect-ratio: 4 / 5;}
.kfp-r-34{aspect-ratio: 3 / 4;}
.kfp-r-43{aspect-ratio: 4 / 3;}
.kfp-r-11{aspect-ratio: 1 / 1;}
.kfp-r-219{aspect-ratio: 21 / 9;}

/* ---------- Hero add-ons ---------- */
.kfp-hero-meta{display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--kf-border-strong); max-width: 560px; color: var(--kf-muted); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;}
.kfp-hero-meta span{display: inline-flex; align-items: center; gap: 10px;}
.kfp-hero-meta span::before{content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--kf-gold);}

/* ---------- Ribbon ---------- */
.kfp-ribbon{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfp-ribbon ul{list-style: none; margin: 0; padding: 22px 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px;}
.kfp-ribbon li{color: var(--kf-text); font-size: 13px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase;}
.kfp-ribbon li i{font-style: normal; color: var(--kf-gold); margin-right: 10px;}

/* ---------- Intro ---------- */
.kfp-intro{display: grid; grid-template-columns: 1fr; gap: 56px; align-items: center;}
.kfp-intro-body{display: grid; gap: 18px; margin-top: 28px; max-width: 58ch;}
.kfp-intro-body p{margin: 0;}
.kfp-intro-art{position: relative; padding: 0 0 56px;}
.kfp-intro-inset{position: absolute; right: -8px; bottom: 0; width: 44%; border: 6px solid var(--kf-bg); border-radius: 5px; box-shadow: 0 30px 60px rgba(0, 0, 0, .35);}

/* ---------- Gallery (5 slots, bento) ---------- */
.kfp-bento{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 180px; gap: 14px;}
.kfp-bento .kfp-media{height: 100%; aspect-ratio: auto;}
.kfp-bento-a{grid-column: span 2; grid-row: span 2;}
.kfp-bento-e{grid-column: span 2;}

/* ---------- Services ---------- */
.kfp-svc-wrap{display: grid; grid-template-columns: 1fr; gap: 56px;}
.kfp-svc-aside .kfp-media{margin-top: 36px;}
.kfp-svc-list{border-top: 1px solid var(--kf-border);}
.kfp-svc{display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--kf-border); transition: background .3s ease, padding-left .3s ease;}
.kfp-svc:hover{background: linear-gradient(90deg, rgba(212, 160, 23, .06), transparent 70%); padding-left: 10px;}
.kfp-svc-num{font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--kf-gold); font-variant-numeric: tabular-nums; padding-top: 4px;}
.kfp-svc-title{margin: 0 0 10px; font-size: 20px; font-weight: 800; letter-spacing: -.01em; text-transform: uppercase; color: var(--kf-text);}
.kfp-svc p{margin: 0; font-size: 16px; max-width: 60ch;}

/* ---------- Formats ---------- */
.kfp-formats{display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--kf-border);}
.kfp-format{position: relative; padding: 34px 15px 34px 15px; border-bottom: 1px solid var(--kf-border); transition: background .3s ease;}
.kfp-format:hover{background: var(--kf-hover);}
.kfp-format-num{display: block; margin-bottom: 18px; font-size: 40px; font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--kf-border-strong); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .3s ease;}
.kfp-format:hover .kfp-format-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfp-format-title{margin: 0 0 10px; font-size: 18px; font-weight: 800; letter-spacing: -.01em; color: var(--kf-text);}
.kfp-format p{margin: 0; font-size: 15.5px; max-width: 42ch;}

/* ---------- Journey ---------- */
.kfp-journey-banner{margin-bottom: 56px;}
.kfp-journey{display: grid; grid-template-columns: 1fr; gap: 0; counter-reset: kfp-step;}
.kfp-step{position: relative; padding: 28px 0 28px 28px; border-left: 1px solid var(--kf-border-strong);}
.kfp-step::before{content: ''; position: absolute; left: -5px; top: 36px; width: 9px; height: 9px; border-radius: 50%; background: var(--kf-bg); border: 1px solid var(--kf-gold); transition: background .3s ease;}
.kfp-step:hover::before{background: var(--kf-gold);}
.kfp-step-num{display: block; margin-bottom: 10px; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: var(--kf-gold);}
.kfp-step-title{margin: 0 0 10px; font-size: 20px; font-weight: 800; text-transform: uppercase; color: var(--kf-text);}
.kfp-step p{margin: 0; font-size: 15px; line-height: 1.65; max-width: 36ch;}

/* ---------- Deliverables ---------- */
.kfp-deliv{display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--kf-border);}
.kfp-deliv-item{display: grid; grid-template-columns: 28px 1fr; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--kf-border);}
.kfp-deliv-item::before{content: ''; width: 14px; height: 14px; margin-top: 5px; border: 1px solid var(--kf-gold); border-radius: 50%; background: radial-gradient(circle, var(--kf-gold) 0 3px, transparent 4px);}
.kfp-deliv-title{margin: 0 0 6px; font-size: 16px; font-weight: 800; color: var(--kf-text);}
.kfp-deliv-item p{margin: 0; font-size: 14.5px; line-height: 1.6;}

/* ---------- Clients ---------- */
.kfp-clients{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kfp-client{padding: 28px; background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px; transition: border-color .3s ease, transform .3s ease;}
.kfp-client:hover{border-color: var(--kf-gold); transform: translateY(-4px);}
.kfp-client-title{margin: 0 0 10px; font-size: 16px; font-weight: 800; color: var(--kf-text);}
.kfp-client p{margin: 0; font-size: 14.5px; line-height: 1.6;}

/* ---------- Preparation ---------- */
.kfp-prep{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfp-prep-cta{margin-top: 36px;}
.kfp-prep-list{border-top: 1px solid var(--kf-border);}
.kfp-prep-item{display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--kf-border);}
.kfp-prep-num{width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; font-size: 13px; font-weight: 800; color: var(--kf-gold);}
.kfp-prep-item strong{display: block; margin-bottom: 4px; color: var(--kf-text); font-size: 15.5px; font-weight: 700;}
.kfp-prep-item p{margin: 0; font-size: 14px; line-height: 1.55;}

/* ---------- Closing feature (image slot 11) ---------- */
.kfp-closing{position: relative; overflow: hidden; padding: 150px 0; text-align: center; isolation: isolate; background: linear-gradient(135deg, var(--kf-grad-1), var(--kf-grad-3)); border-top: 1px solid var(--kf-border);}
.kfp-closing-bg{position: absolute; inset: 0; z-index: -2;}
.kfp-closing-bg::before{content: attr(data-ph); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase;}
.kfp-closing-bg img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.5);}
.kfp-closing::after{content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--kf-overlay-92) 0%, var(--kf-overlay-5) 50%, var(--kf-overlay-92) 100%);}
.kfp-closing-title{font-size: clamp(34px, 5.4vw, 66px); margin: 0 auto; max-width: 18ch;}
.kfp-closing-sub{max-width: 56ch; margin: 24px auto 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7;}

/* ---------- 29. Studio (kfs-) ---------- */
/* Section shells + shared heads (studio-owned, mirrors the kf rhythm). */
.kfs-sec{position: relative; padding: 96px 0;}
.kfs-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfs-head{max-width: 760px; margin-bottom: 56px;}
.kfs-title{font-size: clamp(30px, 4vw, 48px); margin-top: 14px;}
.kfs-lede{margin-top: 20px; max-width: 60ch;}
.kfs-note{margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--kf-border); color: var(--kf-muted-2); font-size: 13px; line-height: 1.7; max-width: 80ch;}
/* Shared media frame (real-photo first; placeholder label shows only if the file is missing). */
.kfs-media{position: relative; overflow: hidden; margin: 0; isolation: isolate; border: 1px solid var(--kf-border); border-radius: 5px; background: linear-gradient(135deg, var(--kf-grad-1) 0%, var(--kf-grad-2) 55%, var(--kf-grad-3) 100%);}
.kfs-media::before{content: attr(data-ph); position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; background-image: radial-gradient(circle at 28% 18%, rgba(212, 160, 23, .14), transparent 46%), radial-gradient(circle at 82% 86%, rgba(140, 58, 43, .2), transparent 52%);}
.kfs-media img{position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.16) saturate(.94) brightness(.96); transition: transform .8s var(--kf-ease), filter .5s ease;}
.kfs-media:hover img{transform: scale(1.045); filter: grayscale(0) saturate(1.03) brightness(1);}
.kfs-media figcaption{position: absolute; z-index: 3; left: 18px; right: 18px; bottom: 16px; display: flex; justify-content: space-between; gap: 12px; color: #f5f2eb; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kfs-media--cap::after{content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, transparent 55%, rgba(10, 9, 8, .82) 100%);}
/* Hero craft triad. */
.kfs-hero-meta{display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--kf-border-strong); max-width: 560px; color: var(--kf-muted); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;}
.kfs-hero-meta span{display: inline-flex; align-items: center; gap: 10px;}
.kfs-hero-meta span::before{content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--kf-gold);}
/* 02 — Experience: image-led split with offset top-right inset. */
.kfs-exp{display: grid; grid-template-columns: 1fr; gap: 44px; align-items: center;}
.kfs-exp-art{position: relative; padding: 44px 44px 0 0;}
.kfs-exp-main{aspect-ratio: 4 / 3;}
.kfs-exp-inset{position: absolute; top: 0; right: 0; width: 42%; aspect-ratio: 1 / 1; border: 6px solid var(--kf-bg); border-radius: 5px; box-shadow: 0 30px 60px rgba(0, 0, 0, .4);}
.kfs-exp-body{display: grid; gap: 16px; margin-top: 24px; max-width: 56ch;}
.kfs-exp-body p{margin: 0;}
/* 03 — Showcase: asymmetric collage. */
.kfs-gallery{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kfs-gallery-feature{aspect-ratio: 16 / 10;}
.kfs-gallery-sub{aspect-ratio: 4 / 3;}
/* 04 — Services: sticky brand aside + numbered editorial list. */
.kfs-svc-wrap{display: grid; grid-template-columns: 1fr; gap: 56px;}
.kfs-brand{aspect-ratio: 1 / 1; margin-top: 32px;}
.kfs-brand img{filter: none;}
.kfs-svc-list{border-top: 1px solid var(--kf-border);}
.kfs-svc{display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--kf-border); transition: background .3s ease, padding-left .3s ease;}
.kfs-svc:hover{background: linear-gradient(90deg, rgba(212, 160, 23, .06), transparent 70%); padding-left: 10px;}
.kfs-svc-num{font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--kf-gold); font-variant-numeric: tabular-nums; padding-top: 4px;}
.kfs-svc-title{margin: 0 0 10px; font-size: 20px; font-weight: 800; letter-spacing: -.01em; text-transform: uppercase; color: var(--kf-text);}
.kfs-svc p{margin: 0 0 14px; font-size: 16px; max-width: 60ch;}
.kfs-svc-link{font-size: 13px;}
/* 05 — Production journey: numbered steps with gold node rail. */
.kfs-journey{display: grid; grid-template-columns: 1fr; gap: 0;}
.kfs-step{position: relative; padding: 28px 0 28px 28px; border-left: 1px solid var(--kf-border-strong);}
.kfs-step::before{content: ''; position: absolute; left: -5px; top: 36px; width: 9px; height: 9px; border-radius: 50%; background: var(--kf-bg); border: 1px solid var(--kf-gold); transition: background .3s ease;}
.kfs-step:hover::before{background: var(--kf-gold);}
.kfs-step-num{display: block; margin-bottom: 10px; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: var(--kf-gold);}
.kfs-step-title{margin: 0 0 10px; font-size: 20px; font-weight: 800; text-transform: uppercase; color: var(--kf-text);}
.kfs-step p{margin: 0; font-size: 15px; line-height: 1.65; max-width: 34ch;}
/* 06 — Behind the sound: cinematic video feature. */
.kfs-film{display: grid; grid-template-columns: 1fr; gap: 44px; align-items: center;}
.kfs-film-frame{position: relative; overflow: hidden; border: 1px solid var(--kf-border); border-radius: 5px; background: #000; aspect-ratio: 16 / 9; box-shadow: 0 40px 80px rgba(0, 0, 0, .4);}
.kfs-film-frame video, .kfs-film-fallback{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;}
.kfs-film-tag{position: absolute; top: 14px; left: 14px; z-index: 2; background: var(--kf-gold); color: var(--kf-black); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: 5px 10px; border-radius: 3px;}
.kfs-film-body{max-width: 52ch;}
.kfs-film-body .kfs-title{margin-bottom: 18px;}
.kfs-film-body p{margin: 0 0 16px;}
/* 07 — Who the studio is for. */
.kfs-for{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kfs-for-item{padding: 26px 28px; background: var(--kf-bg); border: 1px solid var(--kf-border); border-radius: 5px; transition: border-color .3s ease, transform .3s ease;}
.kfs-for-item:hover{border-color: var(--kf-gold); transform: translateY(-4px);}
.kfs-for-item h3{margin: 0 0 10px; font-size: 16px; font-weight: 800; letter-spacing: -.01em; color: var(--kf-text);}
.kfs-for-item p{margin: 0; font-size: 14.5px; line-height: 1.6;}
/* 08 — Preparing for a session. */
.kfs-prep{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfs-prep-cta{margin-top: 36px;}
.kfs-prep-list{border-top: 1px solid var(--kf-border);}
.kfs-prep-item{display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--kf-border);}
.kfs-prep-num{width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; font-size: 13px; font-weight: 800; color: var(--kf-gold);}
.kfs-prep-item strong{display: block; margin-bottom: 4px; color: var(--kf-text); font-size: 15.5px; font-weight: 700;}
.kfs-prep-item p{margin: 0; font-size: 14px; line-height: 1.55;}
/* 09 — Closing editorial feature. */
.kfs-closing{position: relative; overflow: hidden; padding: 150px 0; text-align: center; isolation: isolate; background: linear-gradient(135deg, var(--kf-grad-1), var(--kf-grad-3)); border-top: 1px solid var(--kf-border);}
.kfs-closing-bg{position: absolute; inset: 0; z-index: -2;}
.kfs-closing-bg::before{content: attr(data-ph); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase;}
.kfs-closing-bg img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.26) brightness(.46);}
.kfs-closing::after{content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--kf-overlay-92) 0%, var(--kf-overlay-5) 50%, var(--kf-overlay-92) 100%);}
.kfs-closing-eyebrow{justify-content: center; display: inline-flex;}
.kfs-closing-title{font-size: clamp(36px, 6vw, 76px); margin: 14px auto 0; max-width: 16ch;}
.kfs-closing-sub{max-width: 56ch; margin: 24px auto 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7;}
.kfs-closing-actions{margin-top: 40px; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap;}
/* Light theme: keep the vinyl brand mark bright, soften the dark grades. */
html.light .kfs-for-item{background: var(--kf-surface);}
html.light .kfs-closing-bg img{filter: grayscale(.2) brightness(.9);}

/* ---------- 30. DJ Services (kfd-) ---------- */
/* Premium DJ page system: gold ticker, service card grid, glass image sections, live-set player, FAQ. */
.kfd-sec{position: relative; padding: 96px 0;}
.kfd-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfd-head{max-width: 760px; margin-bottom: 56px;}
.kfd-head--center{margin-left: auto; margin-right: auto; text-align: center;}
.kfd-head--center .eyebrow{justify-content: center;}
.kfd-head--center .kfd-lede{margin-left: auto; margin-right: auto;}
.kfd-title{font-size: clamp(30px, 4vw, 48px); margin-top: 14px;}
.kfd-lede{margin-top: 20px; max-width: 60ch;}
/* Media frames */
.kfd-media{position: relative; overflow: hidden; margin: 0; isolation: isolate; border: 1px solid var(--kf-border); border-radius: 5px; background: linear-gradient(135deg, var(--kf-grad-1) 0%, var(--kf-grad-2) 55%, var(--kf-grad-3) 100%);}
.kfd-media::before{content: attr(data-ph); position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; background-image: radial-gradient(circle at 24% 16%, rgba(212, 160, 23, .18), transparent 46%), radial-gradient(circle at 84% 88%, rgba(140, 58, 43, .22), transparent 52%);}
.kfd-media img{position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.12) saturate(1.02) brightness(.97); transition: transform .8s var(--kf-ease), filter .5s ease;}
.kfd-media:hover img{transform: scale(1.045); filter: grayscale(0) saturate(1.08) brightness(1);}
.kfd-media figcaption{position: absolute; z-index: 3; left: 18px; right: 18px; bottom: 16px; display: flex; justify-content: space-between; gap: 12px; color: #f5f2eb; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kfd-media--cap::after{content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, transparent 55%, rgba(10, 9, 8, .82) 100%);}
/* Icons */
.kfd-ico{width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;}
.kfd-ico-wrap{width: 46px; height: 46px; flex: 0 0 46px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; color: var(--kf-gold); transition: background .3s ease, color .3s ease, border-color .3s ease;}
/* Hero extras */
.kfd-hero-meta{display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--kf-border-strong); max-width: 560px; color: var(--kf-muted); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;}
.kfd-hero-meta span{display: inline-flex; align-items: center; gap: 10px;}
.kfd-hero-meta span::before{content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--kf-gold);}
/* Genre ticker */
.kfd-ticker{overflow: hidden; background: var(--kf-gold); color: var(--kf-black); padding: 17px 0; border-top: 1px solid rgba(10, 9, 8, .25); border-bottom: 1px solid rgba(10, 9, 8, .25);}
.kfd-ticker-track{display: flex; width: max-content; animation: kfdTicker 40s linear infinite;}
.kfd-ticker-set{display: flex; align-items: center; gap: 34px; padding-right: 34px; flex-shrink: 0;}
.kfd-ticker-set span{font-size: 14px; font-weight: 900; letter-spacing: .22em; text-transform: uppercase; white-space: nowrap;}
.kfd-ticker-set i{display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--kf-black);}
@keyframes kfdTicker{to{transform: translateX(-50%);}}
/* Services grid */
.kfd-svc-list{display: grid; grid-template-columns: 1fr; gap: 16px;}
.kfd-svc{position: relative; display: flex; flex-direction: column; padding: 30px 28px 28px; background: var(--kf-surface); border: 1px solid var(--kf-border); border-radius: 5px; overflow: hidden; transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;}
.kfd-svc::before{content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--kf-gold); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--kf-ease);}
.kfd-svc:hover{border-color: var(--kf-border-strong); background: var(--kf-surface-2); box-shadow: 0 24px 50px rgba(0, 0, 0, .28);}
.kfd-svc:hover::before{transform: scaleX(1);}
.kfd-svc:hover .kfd-ico-wrap{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kfd-svc-top{display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px;}
.kfd-svc-num{font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--kf-muted-2); font-variant-numeric: tabular-nums;}
.kfd-svc-title{margin: 0 0 12px; font-size: 20px; font-weight: 800; letter-spacing: -.01em; text-transform: uppercase; color: var(--kf-text);}
.kfd-svc p{margin: 0 0 24px; font-size: 15.5px; line-height: 1.65; flex-grow: 1;}
.kfd-svc-link{align-self: flex-start; font-size: 13px;}
/* Why / included strip */
.kfd-why{display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--kf-border); border: 1px solid var(--kf-border); border-radius: 5px; overflow: hidden;}
.kfd-why-item{background: var(--kf-bg); padding: 36px 30px;}
.kfd-why-item .kfd-ico-wrap{margin-bottom: 24px;}
.kfd-why-item h3{margin: 0 0 10px; font-size: 17px; font-weight: 800; letter-spacing: -.01em; text-transform: uppercase; color: var(--kf-text);}
.kfd-why-item p{margin: 0; font-size: 14.5px; line-height: 1.65;}
/* Image-backed sections (journey, rig, sets) */
.kfd-imgsec{position: relative; isolation: isolate; overflow: hidden; padding: 96px 0; background: var(--kf-black); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfd-bg{position: absolute; inset: 0; z-index: -2;}
.kfd-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.55) contrast(1.05);}
.kfd-imgsec::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(10, 9, 8, .95) 0%, rgba(10, 9, 8, .5) 45%, rgba(10, 9, 8, .95) 100%);}
.kfd-imgsec .headline-kf, .kfd-imgsec .kfd-step-title, .kfd-imgsec .kfd-rig-title{color: #f5f2eb;}
.kfd-imgsec .body-kf, .kfd-imgsec p{color: #c9c2b6;}
/* Journey */
.kfd-journey{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kfd-step{position: relative; padding: 28px 26px 30px; background: rgba(10, 9, 8, .58); border: 1px solid rgba(245, 242, 235, .14); border-top: 2px solid var(--kf-gold); border-radius: 5px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background .3s ease, border-color .3s ease;}
.kfd-step:hover{background: rgba(10, 9, 8, .78); border-color: rgba(212, 160, 23, .5);}
.kfd-step-num{display: block; margin-bottom: 20px; font-size: 54px; font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--kf-gold); font-variant-numeric: tabular-nums;}
.kfd-step-title{margin: 0 0 10px; font-size: 20px; font-weight: 800; text-transform: uppercase;}
.kfd-step p{margin: 0; font-size: 15px; line-height: 1.65;}
/* Rig / gear */
.kfd-rig{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kfd-rig-item{display: flex; gap: 20px; padding: 26px 26px; background: rgba(10, 9, 8, .58); border: 1px solid rgba(245, 242, 235, .14); border-radius: 5px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: border-color .3s ease, background .3s ease;}
.kfd-rig-item:hover{border-color: rgba(212, 160, 23, .55); background: rgba(10, 9, 8, .78);}
.kfd-rig-item .kfd-ico-wrap{border-color: rgba(245, 242, 235, .2);}
.kfd-rig-title{margin: 0 0 8px; font-size: 16px; font-weight: 800; letter-spacing: .01em; text-transform: uppercase;}
.kfd-rig-item p{margin: 0; font-size: 14.5px; line-height: 1.6;}
.kfd-rig-note{margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px;}
.kfd-rig-note p{margin: 0; font-size: 14.5px; max-width: 52ch;}
/* Gallery */
.kfd-gallery{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kfd-gallery-feature{aspect-ratio: 16 / 10;}
.kfd-gallery-sub, .kfd-gallery-wide{aspect-ratio: 4 / 3;}
/* Who we play for */
.kfd-for{display: grid; grid-template-columns: 1fr; gap: 14px;}
.kfd-for-item{padding: 28px 28px 30px; background: var(--kf-bg); border: 1px solid var(--kf-border); border-radius: 5px; transition: border-color .3s ease, box-shadow .3s ease;}
.kfd-for-item:hover{border-color: var(--kf-gold); box-shadow: 0 20px 44px rgba(0, 0, 0, .25);}
.kfd-for-item .kfd-ico-wrap{margin-bottom: 22px;}
.kfd-for-item h3{margin: 0 0 10px; font-size: 16px; font-weight: 800; letter-spacing: -.01em; color: var(--kf-text);}
.kfd-for-item p{margin: 0; font-size: 14.5px; line-height: 1.6;}
.kfd-for-item--cta{display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: linear-gradient(135deg, rgba(212, 160, 23, .14), rgba(140, 58, 43, .12)); border-color: var(--kf-border-strong);}
.kfd-for-item--cta .link-kf{margin-top: 18px;}
/* Featured set / player */
.kfd-set-sec .kfd-bg img{filter: blur(38px) brightness(.4) saturate(1.35); transform: scale(1.3);}
.kfd-set-card{display: grid; grid-template-columns: 1fr; gap: 30px; align-items: center; max-width: 1000px; margin: 0 auto; padding: 18px; background: rgba(10, 9, 8, .62); border: 1px solid rgba(245, 242, 235, .16); border-radius: 8px; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 40px 90px rgba(0, 0, 0, .5);}
.kfd-set-art{aspect-ratio: 1 / 1; border-radius: 5px;}
.kfd-set-art img{filter: none;}
.kfd-set-info{padding: 6px 10px 14px;}
.kfd-set-tag{display: inline-flex; align-items: center; gap: 10px; padding: 6px 14px; border: 1px solid rgba(212, 160, 23, .5); border-radius: 20px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;}
.kfd-set-tag::before{content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--kf-gold); animation: kfdBlink 1.6s ease-in-out infinite;}
.kfd-set-title{margin: 20px 0 8px; font-size: clamp(28px, 4vw, 44px); font-weight: 900; line-height: 1.02; letter-spacing: -.01em; text-transform: uppercase; color: #f5f2eb;}
.kfd-set-artist{margin: 0; color: var(--kf-gold); font-size: 13px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfd-set-meta{display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; color: #9c948a; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;}
.kfd-wave{display: flex; align-items: center; gap: 3px; height: 64px; margin: 28px 0;}
.kfd-wave i{flex: 1; max-width: 6px; height: var(--h); border-radius: 3px; background: linear-gradient(180deg, var(--kf-gold), rgba(212, 160, 23, .3)); transform-origin: center; animation: kfdWave 1.2s ease-in-out infinite; animation-delay: calc(var(--d) * -.13s); animation-play-state: paused;}
.kfd-set-card.is-live .kfd-wave i{animation-play-state: running;}
.kfd-wave i{opacity: .5; transition: opacity .3s ease;}
.kfd-wave i.is-done{opacity: 1;}
.kfd-wave{cursor: pointer; touch-action: pan-y; user-select: none;}
.kfd-set-ctrl{display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px;}
.kfd-set-play{position: relative; width: 76px; height: 76px; flex: 0 0 76px; display: flex; align-items: center; justify-content: center; border: none; border-radius: 50%; background: var(--kf-gold); color: var(--kf-black); cursor: pointer; transition: transform .3s var(--kf-ease), background .3s ease;}
.kfd-set-play::before{content: ''; position: absolute; inset: -9px; border: 1px solid var(--kf-gold); border-radius: 50%; opacity: .5; animation: kfdPulse 2.4s ease-out infinite;}
.kfd-set-play:hover{transform: scale(1.08); background: var(--kf-gold-soft);}
.kfd-set-card.is-live .kfd-set-play::before{animation-duration: 1.2s;}
.kfd-set-ctrl .link-kf{color: #f5f2eb;}
.kfd-set-ctrl .link-kf:hover{color: var(--kf-gold);}
@keyframes kfdWave{0%, 100%{transform: scaleY(.35);} 50%{transform: scaleY(1);}}
@keyframes kfdPulse{0%{transform: scale(.92); opacity: .55;} 100%{transform: scale(1.35); opacity: 0;}}
@keyframes kfdBlink{0%, 100%{opacity: 1;} 50%{opacity: .3;}}
/* Prepare */
.kfd-prep{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfd-prep-cta{margin-top: 36px;}
.kfd-prep-list{border-top: 1px solid var(--kf-border);}
.kfd-prep-item{display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--kf-border);}
.kfd-prep-num{width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; font-size: 13px; font-weight: 800; color: var(--kf-gold);}
.kfd-prep-item strong{display: block; margin-bottom: 4px; color: var(--kf-text); font-size: 15.5px; font-weight: 700;}
.kfd-prep-item p{margin: 0; font-size: 14px; line-height: 1.55;}
/* FAQ */
.kfd-faq{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfd-faq-list{border-top: 1px solid var(--kf-border);}
.kfd-faq-item{border-bottom: 1px solid var(--kf-border);}
.kfd-faq-item summary{display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; cursor: pointer; list-style: none; color: var(--kf-text); font-size: 18px; font-weight: 700; transition: color .25s ease;}
.kfd-faq-item summary::-webkit-details-marker{display: none;}
.kfd-faq-item summary::after{content: '+'; flex: 0 0 auto; color: var(--kf-gold); font-size: 28px; font-weight: 400; line-height: 1; transition: transform .3s var(--kf-ease);}
.kfd-faq-item summary:hover{color: var(--kf-gold);}
.kfd-faq-item[open] summary::after{transform: rotate(45deg);}
.kfd-faq-item p{margin: 0 0 24px; max-width: 62ch; font-size: 16px; line-height: 1.7;}
/* Closing */
.kfd-closing{position: relative; overflow: hidden; padding: 150px 0; text-align: center; isolation: isolate; background: linear-gradient(135deg, var(--kf-grad-1), var(--kf-grad-3)); border-top: 1px solid var(--kf-border);}
.kfd-closing-bg{position: absolute; inset: 0; z-index: -2;}
.kfd-closing-bg::before{content: attr(data-ph); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase;}
.kfd-closing-bg img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.24) brightness(.46);}
.kfd-closing::after{content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--kf-overlay-92) 0%, var(--kf-overlay-5) 50%, var(--kf-overlay-92) 100%);}
.kfd-closing-eyebrow{justify-content: center; display: inline-flex;}
.kfd-closing-title{font-size: clamp(36px, 6vw, 76px); margin: 14px auto 0; max-width: 16ch;}
.kfd-closing-sub{max-width: 56ch; margin: 24px auto 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7;}
.kfd-closing-actions{margin-top: 40px; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap;}
.kfd-closing-points{margin-top: 44px; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 32px; color: var(--kf-muted); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kfd-closing-points span{display: inline-flex; align-items: center; gap: 10px;}
.kfd-closing-points span::before{content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--kf-gold);}
/* Light theme */
html.light .kfd-svc, html.light .kfd-why-item, html.light .kfd-for-item{background: var(--kf-surface);}
html.light .kfd-why-item{background: var(--kf-surface);}
html.light .kfd-sec--alt .kfd-for-item{background: var(--kf-bg);}
html.light .kfd-closing-bg img{filter: grayscale(.18) brightness(.96);}

/* Compact queue popover: small card above the player, not full width. */
.kf-queue-head{padding: 12px 16px;}
.kf-queue-title{font-size: 15px;}
.kf-queue-list{padding: 4px 6px 8px;}
.kf-queue-row{padding: 8px 10px; gap: 12px;}
.kf-queue-row-info strong{font-size: 13.5px;}
.kf-queue-row-info span{font-size: 12px;}
@media (max-width: 991px){.kf-queue{right: 12px; left: 12px; width: auto;}}
/* ---------- 31. Photography (kfp-) ---------- */
/* Premium photography page system: cinematic hero, editorial splits, bento gallery, service cards, workflow journey, format display, prep checklist, and closing feature. */

.kfp-hero{margin-top: 30px;}
.kfp-hero-meta{display: flex; flex-wrap: wrap; gap: 12px 32px; margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--kf-border-strong); max-width: 580px; color: var(--kf-muted); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;}
.kfp-hero-meta span{display: inline-flex; align-items: center; gap: 10px;}
.kfp-hero-meta span::before{content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--kf-gold);}

.kfp-sec{position: relative; padding: 110px 0;}
.kfp-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfp-head{max-width: 780px; margin-bottom: 56px;}
.kfp-title{font-size: clamp(32px, 4.5vw, 52px); margin-top: 14px;}
.kfp-lede{margin-top: 20px; max-width: 62ch;}
.kfp-note{margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--kf-border); color: var(--kf-muted-2); font-size: 13px; line-height: 1.7; max-width: 84ch;}

/* Intro split layout */
.kfp-intro{display: grid; grid-template-columns: 1fr; gap: 56px; align-items: center;}
.kfp-intro-body{display: grid; gap: 18px; margin-top: 28px; max-width: 60ch;}
.kfp-intro-body p{margin: 0;}
.kfp-intro-art{position: relative; padding: 0 0 56px;}
.kfp-intro-inset{position: absolute; right: -8px; bottom: 0; width: 44%; border: 6px solid var(--kf-bg); border-radius: 5px; box-shadow: 0 30px 60px rgba(0, 0, 0, .35);}

/* Gallery - bento style */
.kfp-bento{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 180px; gap: 14px;}
.kfp-bento .kfp-media{height: 100%; aspect-ratio: auto;}
.kfp-bento-a{grid-column: span 2; grid-row: span 2;}
.kfp-bento-e{grid-column: span 2;}

/* Services */
.kfp-svc-wrap{display: grid; grid-template-columns: 1fr; gap: 56px;}
.kfp-svc-aside .kfp-media{margin-top: 36px;}
.kfp-svc-list{border-top: 1px solid var(--kf-border);}
.kfp-svc{display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--kf-border); transition: background .3s ease, padding-left .3s ease;}
.kfp-svc:hover{background: linear-gradient(90deg, rgba(212, 160, 23, .08), transparent 70%); padding-left: 12px;}
.kfp-svc-num{font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--kf-gold); font-variant-numeric: tabular-nums; padding-top: 4px;}
.kfp-svc-title{margin: 0 0 10px; font-size: 20px; font-weight: 800; letter-spacing: -.01em; text-transform: uppercase; color: var(--kf-text);}
.kfp-svc p{margin: 0; font-size: 16px; max-width: 60ch;}
.kfp-svc-link{font-size: 13px;}

/* Workflow journey */
.kfp-journey{display: grid; grid-template-columns: 1fr; gap: 16px; counter-reset: kfp-step;}
.kfp-step{position: relative; padding: 28px 0 28px 28px; border-left: 1px solid var(--kf-border-strong);}
.kfp-step::before{content: ''; position: absolute; left: -5px; top: 36px; width: 10px; height: 10px; border-radius: 50%; background: var(--kf-bg); border: 1px solid var(--kf-gold); transition: background .3s ease;}
.kfp-step:hover::before{background: var(--kf-gold);}
.kfp-step-num{display: block; margin-bottom: 10px; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: var(--kf-gold);}
.kfp-step-title{margin: 0 0 10px; font-size: 20px; font-weight: 800; text-transform: uppercase; color: var(--kf-text);}
.kfp-step p{margin: 0; font-size: 15px; line-height: 1.65; max-width: 34ch;}

/* Formats display */
.kfp-format-wrapper{display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start;}
@media (max-width: 767px){.kfp-format-wrapper{grid-template-columns: 1fr;}}
.kfp-format{display: grid; grid-template-columns: 1fr; gap: 18px; padding: 30px 24px; border: 1px solid var(--kf-border); border-radius: 5px; background: var(--kf-surface); transition: border-color .3s ease, transform .3s ease;}
.kfp-format:hover{border-color: var(--kf-gold); transform: translateY(-4px);}
.kfp-format-num{display: block; margin-bottom: 16px; font-size: 40px; font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--kf-border-strong); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .3s ease;}
.kfp-format:hover .kfp-format-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfp-format-title{margin: 0 0 10px; font-size: 18px; font-weight: 800; letter-spacing: -.01em; color: var(--kf-text);}
.kfp-format p{margin: 0; font-size: 15px; max-width: 48ch;}

/* Preparation checklist */
.kfp-prep{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfp-prep-cta{margin-top: 36px;}
.kfp-prep-list{border-top: 1px solid var(--kf-border);}
.kfp-prep-item{display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--kf-border);}
.kfp-prep-num{width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; font-size: 13px; font-weight: 800; color: var(--kf-gold);}
.kfp-prep-item strong{display: block; margin-bottom: 4px; color: var(--kf-text); font-size: 15.5px; font-weight: 700;}
.kfp-prep-item p{margin: 0; font-size: 14px; line-height: 1.55;}

/* Closing editorial feature */
.kfp-closing{position: relative; overflow: hidden; padding: 150px 0; text-align: center; isolation: isolate; border-top: 1px solid var(--kf-border);}
.kfp-closing-bg{position: absolute; inset: 0; z-index: -2;}
.kfp-closing-bg::before{content: attr(data-ph); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase;}
.kfp-closing-bg img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.5);}
.kfp-closing::after{content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--kf-overlay-92) 0%, var(--kf-overlay-5) 50%, var(--kf-overlay-92) 100%);}
.kfp-closing-eyebrow{justify-content: center; display: inline-flex;}
.kfp-closing-title{font-size: clamp(34px, 5.5vw, 68px); margin: 14px auto 0; max-width: 20ch;}
.kfp-closing-sub{max-width: 56ch; margin: 24px auto 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7;}
.kfp-closing-actions{margin-top: 40px; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap;}

/* Light theme overrides for photography */
html.light .kfp-sec--alt{background: var(--kf-surface);}
html.light .kfp-sec{background: var(--kf-bg);}
html.light .kfp-svc{background: var(--kf-surface);}
html.light .kfp-format{background: var(--kf-surface);}
html.light .kfp-prep-list{border-top: 1px solid var(--kf-border-strong);}
html.light .kfp-prep-item{border-bottom: 1px solid var(--kf-border-strong);}
html.light .kfp-closing-bg img{filter: grayscale(.18) brightness(.9);}
html.light .kfp-hero-bg img{filter: grayscale(.15) brightness(.88);}

/* ---------- 32. Photography (kfph-) ---------- */
/* Clean editorial photography system: viewfinder frames, EXIF readout, caption-below masonry, hover-reveal service index, hairline timeline, lightbox. Separate from kfp- (podcast). */
.kfph-sec{position: relative; padding: 96px 0;}
.kfph-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfph-head{display: grid; grid-template-columns: 1fr; gap: 20px 64px; align-items: end; margin-bottom: 56px;}
.kfph-title{font-size: clamp(32px, 4.6vw, 56px); margin-top: 14px;}
.kfph-lede{margin: 0; max-width: 56ch;}
/* Shared figure frame + viewfinder corners */
.kfph-fig{position: relative; margin: 0; overflow: hidden; isolation: isolate; border: 1px solid var(--kf-border); border-radius: 3px; background: linear-gradient(135deg, var(--kf-grad-1) 0%, var(--kf-grad-2) 55%, var(--kf-grad-3) 100%);}
.kfph-fig::before{content: attr(data-ph); position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase;}
.kfph-fig img{position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.12) brightness(.96); transition: transform 1s var(--kf-ease), filter .5s ease;}
.kfph-fig:hover img{transform: scale(1.04); filter: grayscale(0) brightness(1);}
.kfph-fig--frame::after{--c: rgba(245, 242, 235, .85); content: ''; position: absolute; inset: 16px; z-index: 3; pointer-events: none; background: linear-gradient(var(--c), var(--c)) top left / 24px 1px no-repeat, linear-gradient(var(--c), var(--c)) top left / 1px 24px no-repeat, linear-gradient(var(--c), var(--c)) top right / 24px 1px no-repeat, linear-gradient(var(--c), var(--c)) top right / 1px 24px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 24px 1px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 1px 24px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 24px 1px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 1px 24px no-repeat;}
.kfph-fig figcaption{position: absolute; z-index: 4; left: 30px; right: 30px; bottom: 26px; display: flex; justify-content: space-between; gap: 12px; color: #f5f2eb; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; text-shadow: 0 1px 12px rgba(0, 0, 0, .6);}
.kfph-r-45{aspect-ratio: 4 / 5;}
.kfph-r-34{aspect-ratio: 3 / 4;}
.kfph-r-32{aspect-ratio: 3 / 2;}
.kfph-r-11{aspect-ratio: 1 / 1;}
/* Hero: EXIF readout */
.kfph-exif{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 44px;}
.kfph-exif span{padding: 8px 14px; border: 1px solid var(--kf-border-strong); border-radius: 2px; color: var(--kf-muted); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; font-variant-numeric: tabular-nums;}
.kfph-exif span:first-child{color: var(--kf-gold); border-color: rgba(212, 160, 23, .5);}
/* Page index bar */
.kfph-index{border-bottom: 1px solid var(--kf-border); background: var(--kf-bg);}
.kfph-index ul{display: flex; flex-wrap: wrap; gap: 0 36px; margin: 0; padding: 0; list-style: none;}
.kfph-index a{display: flex; align-items: baseline; gap: 10px; padding: 22px 0; color: var(--kf-muted); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; transition: color .25s ease;}
.kfph-index a i{color: var(--kf-gold); font-style: normal; font-size: 10px;}
.kfph-index a:hover{color: var(--kf-text);}
/* Story */
.kfph-story{display: grid; grid-template-columns: 1fr; gap: 48px; align-items: start;}
.kfph-statement{max-width: 26em; margin: 22px 0 0; color: var(--kf-text); font-size: clamp(26px, 3.3vw, 42px); font-weight: 700; line-height: 1.2; letter-spacing: -.015em;}
.kfph-story-cols{display: grid; grid-template-columns: 1fr; gap: 20px 44px; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--kf-border);}
.kfph-story-cols p{margin: 0;}
.kfph-story-link{margin-top: 32px; display: inline-block;}
/* Portfolio (caption-below masonry) */
.kfph-works{columns: 1; column-gap: 20px;}
.kfph-work{margin: 0 0 30px; break-inside: avoid;}
.kfph-work a{position: relative; display: block; overflow: hidden; border: 1px solid var(--kf-border); border-radius: 3px; background: linear-gradient(135deg, var(--kf-grad-1), var(--kf-grad-3)); cursor: zoom-in;}
.kfph-work a::before{content: attr(data-ph); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase;}
.kfph-work img{position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.1) brightness(.96); transition: transform 1s var(--kf-ease), filter .5s ease;}
.kfph-work a:hover img{transform: scale(1.05); filter: grayscale(0) brightness(1);}
.kfph-work a::after{content: 'View'; position: absolute; z-index: 2; right: 14px; top: 14px; padding: 7px 12px; border-radius: 2px; background: rgba(10, 9, 8, .72); color: #f5f2eb; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; opacity: 0; transform: translateY(-4px); transition: opacity .3s ease, transform .3s ease;}
.kfph-work a:hover::after, .kfph-work a:focus-visible::after{opacity: 1; transform: translateY(0);}
.kfph-work figcaption{display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; color: var(--kf-muted); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kfph-work figcaption span:first-child{color: var(--kf-gold); font-variant-numeric: tabular-nums;}
/* Services: hover-reveal index */
.kfph-svc{display: grid; grid-template-columns: 1fr; gap: 40px;}
.kfph-svc-view{display: none;}
.kfph-svc-view img{opacity: 0; transform: scale(1.06); transition: opacity .6s ease, transform 1.2s var(--kf-ease), filter .5s ease;}
.kfph-svc-view img.is-active{opacity: 1; transform: scale(1);}
.kfph-svc-list{margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border);}
.kfph-row{display: grid; grid-template-columns: 40px 1fr auto; gap: 8px 18px; align-items: start; padding: 28px 0; border-bottom: 1px solid var(--kf-border); color: inherit; text-decoration: none; transition: padding-left .4s var(--kf-ease);}
.kfph-row-thumb{grid-column: 1 / -1; position: relative; display: block; aspect-ratio: 16 / 9; margin-bottom: 14px; overflow: hidden; border-radius: 3px; background: var(--kf-surface-2);}
.kfph-row-thumb img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.1) brightness(.95);}
.kfph-row-num{padding-top: 5px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em; font-variant-numeric: tabular-nums;}
.kfph-row-title{margin: 0 0 8px; color: var(--kf-text); font-size: 20px; font-weight: 800; letter-spacing: -.005em; text-transform: uppercase; transition: color .3s ease;}
.kfph-row-main p{margin: 0; max-width: 54ch; font-size: 15.5px; line-height: 1.65;}
.kfph-row-go{padding-top: 4px; color: var(--kf-muted-2); font-size: 22px; line-height: 1; transition: color .3s ease, transform .4s var(--kf-ease);}
.kfph-row:hover, .kfph-row.is-active{padding-left: 14px;}
.kfph-row:hover .kfph-row-title, .kfph-row.is-active .kfph-row-title{color: var(--kf-gold);}
.kfph-row:hover .kfph-row-go, .kfph-row.is-active .kfph-row-go{color: var(--kf-gold); transform: translateX(6px);}
/* Approach (3 text columns) */
.kfph-appr{display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--kf-border-strong);}
.kfph-appr-item{padding: 36px 0 40px; border-bottom: 1px solid var(--kf-border);}
.kfph-appr-num{display: block; margin-bottom: 22px; color: transparent; font-size: 64px; font-weight: 900; line-height: 1; -webkit-text-stroke: 1px var(--kf-border-strong); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .4s ease;}
.kfph-appr-item:hover .kfph-appr-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfph-appr-item h3{margin: 0 0 12px; color: var(--kf-text); font-size: 22px; font-weight: 800; letter-spacing: -.01em;}
.kfph-appr-item p{margin: 0; max-width: 40ch; font-size: 15.5px; line-height: 1.7;}
/* Process: hairline timeline */
.kfph-steps{display: grid; grid-template-columns: 1fr;}
.kfph-step{position: relative; padding: 26px 0 30px 30px; border-left: 1px solid var(--kf-border-strong);}
.kfph-step::before{content: ''; position: absolute; left: -5px; top: 34px; width: 9px; height: 9px; border-radius: 50%; background: var(--kf-bg); border: 1px solid var(--kf-gold); transition: background .3s ease;}
.kfph-step:hover::before{background: var(--kf-gold);}
.kfph-step-num{display: block; margin-bottom: 12px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .18em;}
.kfph-step-title{margin: 0 0 10px; color: var(--kf-text); font-size: 18px; font-weight: 800; text-transform: uppercase;}
.kfph-step p{margin: 0; max-width: 34ch; font-size: 15px; line-height: 1.65;}
/* Delivered band */
.kfph-deliver{display: grid; grid-template-columns: 1fr; gap: 1px; margin-top: 72px; background: var(--kf-border); border: 1px solid var(--kf-border); border-radius: 3px; overflow: hidden;}
.kfph-deliver-item{padding: 28px 26px; background: var(--kf-surface);}
.kfph-deliver-item small{display: block; margin-bottom: 14px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kfph-deliver-item strong{display: block; margin-bottom: 6px; color: var(--kf-text); font-size: 16px; font-weight: 700;}
.kfph-deliver-item p{margin: 0; font-size: 14px; line-height: 1.6;}
/* Beyond the snapshot (image background) */
.kfph-beyond{position: relative; isolation: isolate; overflow: hidden; padding: 110px 0; background: var(--kf-black); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfph-beyond-bg{position: absolute; inset: 0; z-index: -2;}
.kfph-beyond-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.5) contrast(1.05);}
.kfph-beyond::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(10, 9, 8, .94) 0%, rgba(10, 9, 8, .6) 55%, rgba(10, 9, 8, .86) 100%);}
.kfph-beyond-grid{display: grid; grid-template-columns: 1fr; gap: 36px 72px; align-items: start;}
.kfph-beyond .headline-kf{color: #f5f2eb;}
.kfph-beyond p{margin: 0 0 18px; color: #c9c2b6;}
.kfph-beyond .link-kf{color: #f5f2eb; border-color: rgba(245, 242, 235, .35);}
.kfph-beyond .link-kf:hover{color: var(--kf-gold); border-color: var(--kf-gold);}
/* Prepare + tips */
.kfph-prep{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfph-prep-cta{margin-top: 36px;}
.kfph-prep-list{border-top: 1px solid var(--kf-border);}
.kfph-prep-item{display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--kf-border);}
.kfph-prep-num{width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; color: var(--kf-gold); font-size: 13px; font-weight: 800;}
.kfph-prep-item strong{display: block; margin-bottom: 4px; color: var(--kf-text); font-size: 15.5px; font-weight: 700;}
.kfph-prep-item p{margin: 0; font-size: 14px; line-height: 1.55;}
.kfph-tips{display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 72px;}
.kfph-tip{padding: 26px 24px 28px; border: 1px solid var(--kf-border); border-radius: 3px; background: var(--kf-bg); transition: border-color .3s ease;}
.kfph-tip:hover{border-color: var(--kf-gold);}
.kfph-tip small{display: block; margin-bottom: 14px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kfph-tip h3{margin: 0 0 8px; color: var(--kf-text); font-size: 16px; font-weight: 800;}
.kfph-tip p{margin: 0; font-size: 14px; line-height: 1.6;}
/* FAQ */
.kfph-faq{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfph-faq-list{border-top: 1px solid var(--kf-border);}
.kfph-faq-item{border-bottom: 1px solid var(--kf-border);}
.kfph-faq-item summary{display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; color: var(--kf-text); font-size: 18px; font-weight: 700; list-style: none; cursor: pointer; transition: color .25s ease;}
.kfph-faq-item summary::-webkit-details-marker{display: none;}
.kfph-faq-item summary::after{content: '+'; flex: 0 0 auto; color: var(--kf-gold); font-size: 28px; font-weight: 400; line-height: 1; transition: transform .3s var(--kf-ease);}
.kfph-faq-item summary:hover{color: var(--kf-gold);}
.kfph-faq-item[open] summary::after{transform: rotate(45deg);}
.kfph-faq-item p{margin: 0 0 24px; max-width: 62ch; font-size: 16px; line-height: 1.7;}
/* Closing */
.kfph-closing{position: relative; overflow: hidden; padding: 150px 0; text-align: center; isolation: isolate; background: linear-gradient(135deg, var(--kf-grad-1), var(--kf-grad-3)); border-top: 1px solid var(--kf-border);}
.kfph-closing-bg{position: absolute; inset: 0; z-index: -2;}
.kfph-closing-bg::before{content: attr(data-ph); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase;}
.kfph-closing-bg img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.46);}
.kfph-closing::after{content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--kf-overlay-92) 0%, var(--kf-overlay-5) 50%, var(--kf-overlay-92) 100%);}
.kfph-closing-eyebrow{justify-content: center; display: inline-flex;}
.kfph-closing-title{max-width: 18ch; margin: 14px auto 0; font-size: clamp(34px, 5.6vw, 70px);}
.kfph-closing-sub{max-width: 56ch; margin: 24px auto 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7;}
.kfph-closing-actions{display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 40px;}
/* Lightbox */
.kfph-lb{position: fixed; inset: 0; z-index: 3000; display: flex; flex-direction: column; background: rgba(6, 5, 4, .96); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s;}
.kfph-lb.is-open{opacity: 1; visibility: visible; transition: opacity .3s ease, visibility 0s linear 0s;}
.kfph-lb-stage{flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; padding: 64px 76px 12px;}
.kfph-lb-img{max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 2px; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); opacity: 1; transition: opacity .3s ease;}
.kfph-lb.is-loading .kfph-lb-img{opacity: 0;}
.kfph-lb-bar{display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 28px 24px; color: #f5f2eb; font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;}
.kfph-lb-count{color: var(--kf-gold); font-variant-numeric: tabular-nums;}
.kfph-lb-btn{position: absolute; z-index: 2; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(245, 242, 235, .22); border-radius: 50%; background: rgba(10, 9, 8, .6); color: #f5f2eb; cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease;}
.kfph-lb-btn:hover{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kfph-lb-close{top: 18px; right: 18px;}
.kfph-lb-prev{left: 18px; top: 50%; margin-top: -24px;}
.kfph-lb-next{right: 18px; top: 50%; margin-top: -24px;}
body.kfph-lb-open{overflow: hidden;}
/* Light theme */
html.light .kfph-tip{background: var(--kf-surface);}
html.light .kfph-sec--alt .kfph-tip{background: var(--kf-bg);}
html.light .kfph-deliver-item{background: var(--kf-surface);}
html.light .kfph-closing-bg img{filter: grayscale(.2) brightness(.96);}

/* ---------- 33. Brand Partnerships (kfbr-) ---------- */
/* Editorial partnership page: hero index, image-backed intro, ledger-style service rows, typographic band, zig-zag workflow, fit principles, brief sheet. No gallery. */
.kfbr-sec{position: relative; padding: 96px 0;}
.kfbr-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfbr-head{max-width: 820px; margin-bottom: 56px;}
.kfbr-head--tight{margin-bottom: 40px;}
.kfbr-sec--flush-bottom{padding-bottom: 0;}
.kfbr-sec--flush-top{padding-top: 0;}
.kfbr-svcs--cont{border-top: 0;}
.kfbr-intro-lead{margin: 0;}
.kfbr-title{margin-top: 14px; font-size: clamp(32px, 4.6vw, 58px);}
.kfbr-lede{max-width: 58ch; margin: 20px 0 0;}
.kfbr-x{display: block; width: 100%; height: auto; fill: none; stroke: var(--kf-gold); stroke-width: 1.2; vector-effect: non-scaling-stroke; stroke-linecap: round;}
.kfbr-x path{vector-effect: non-scaling-stroke;}
/* Hero */
.kfbr-kicker{margin: 22px 0 0; color: var(--kf-gold); font-size: clamp(12px, 1.3vw, 15px); font-weight: 800; letter-spacing: .24em; text-transform: uppercase;}
/* The six services strip (below hero) */
.kfbr-six{position: relative; padding: 72px 0 80px; background: var(--kf-bg);}
.kfbr-six-head{display: grid; grid-template-columns: 1fr; gap: 16px 64px; align-items: start; margin-bottom: 40px;}
.kfbr-six-head .body-kf{max-width: 60ch; margin: 0;}
.kfbr-six-grid{display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--kf-border); border: 1px solid var(--kf-border); border-radius: 4px; overflow: hidden;}
.kfbr-six-item{position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 190px; padding: 26px 24px 28px; background: var(--kf-bg); color: var(--kf-text); text-decoration: none; transition: background .3s ease;}
.kfbr-six-item::before{content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--kf-gold); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--kf-ease);}
.kfbr-six-item:hover{background: var(--kf-surface);}
.kfbr-six-item:hover::before{transform: scaleX(1);}
.kfbr-six-num{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .18em; font-variant-numeric: tabular-nums;}
.kfbr-six-title{display: block; margin-top: 6px; color: var(--kf-text); font-size: 17px; font-weight: 800; line-height: 1.2; letter-spacing: -.005em; text-transform: uppercase;}
.kfbr-six-line{display: block; color: var(--kf-muted); font-size: 14px; line-height: 1.55;}
.kfbr-six-go{margin-top: auto; color: var(--kf-muted-2); font-size: 20px; font-style: normal; line-height: 1; transition: color .3s ease, transform .4s var(--kf-ease);}
.kfbr-six-item:hover .kfbr-six-go{color: var(--kf-gold); transform: translateX(6px);}
/* Image-backed sections */
.kfbr-imgsec{position: relative; isolation: isolate; overflow: hidden; padding: 100px 0; background: var(--kf-black); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfbr-bg{position: absolute; inset: 0; z-index: -2;}
.kfbr-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.5) contrast(1.05);}
.kfbr-imgsec::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(100deg, rgba(10, 9, 8, .95) 0%, rgba(10, 9, 8, .7) 55%, rgba(10, 9, 8, .88) 100%);}
.kfbr-imgsec .headline-kf, .kfbr-imgsec .kfbr-title{color: #f5f2eb;}
.kfbr-imgsec p, .kfbr-imgsec .body-kf{color: #c9c2b6;}
/* Intro */
.kfbr-intro{position: relative; display: grid; grid-template-columns: 1fr; gap: 44px;}
.kfbr-intro-mark{display: none;}
.kfbr-pillars{margin: 36px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(245, 242, 235, .22);}
.kfbr-pillars li{display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid rgba(245, 242, 235, .14);}
.kfbr-pillars small{padding-top: 4px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em; font-variant-numeric: tabular-nums;}
.kfbr-pillars strong{display: block; margin-bottom: 4px; color: #f5f2eb; font-size: 17px; font-weight: 700;}
.kfbr-pillars span{display: block; color: #b4ada1; font-size: 14.5px; line-height: 1.6;}
/* Services: jump list + ledger rows */
.kfbr-svcs{border-top: 1px solid var(--kf-border-strong);}
.kfbr-svc{position: relative; display: grid; grid-template-columns: 1fr; gap: 26px; padding: 44px 0 48px; border-bottom: 1px solid var(--kf-border); scroll-margin-top: 110px;}
.kfbr-svc-id{display: flex; align-items: flex-end; gap: 18px; grid-area: id;}
.kfbr-svc-main{grid-area: main;}
.kfbr-svc-detail{grid-area: detail;}
.kfbr-svc-num{color: transparent; font-size: clamp(56px, 9vw, 120px); font-weight: 900; line-height: .82; -webkit-text-stroke: 1px var(--kf-border-strong); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .4s ease;}
.kfbr-svc:hover .kfbr-svc-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfbr-svc-tag{padding-bottom: 6px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kfbr-svc-title{margin: 0 0 12px; color: var(--kf-text); font-size: clamp(26px, 3.4vw, 44px); font-weight: 900; line-height: 1.02; letter-spacing: -.015em; text-transform: uppercase;}
.kfbr-svc-tagline{margin: 0 0 18px; color: var(--kf-gold); font-size: 18px; font-weight: 700;}
.kfbr-svc-main .body-kf{max-width: 56ch; margin: 0 0 24px;}
.kfbr-svc-links{display: flex; flex-wrap: wrap; gap: 12px 28px;}
.kfbr-svc-detail{padding: 26px 26px 24px; border: 1px solid var(--kf-border); border-radius: 4px; background: var(--kf-surface); transition: border-color .3s ease;}
.kfbr-svc:hover .kfbr-svc-detail{border-color: var(--kf-border-strong);}
.kfbr-svc-detail h4{margin: 0 0 16px; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfbr-svc-detail ul{margin: 0; padding: 0; list-style: none;}
.kfbr-svc-detail li{position: relative; padding: 11px 0 11px 26px; border-top: 1px solid var(--kf-border); color: var(--kf-text); font-size: 15px; line-height: 1.5;}
.kfbr-svc-detail li::before{content: ''; position: absolute; left: 0; top: 21px; width: 14px; height: 1px; background: var(--kf-gold);}
.kfbr-svc-note{margin: 16px 0 0; padding-top: 14px; border-top: 1px dashed var(--kf-border-strong); color: var(--kf-muted); font-size: 13px; font-style: italic; line-height: 1.55;}
.kfbr-svc--tint{background: var(--kf-surface); box-shadow: 0 0 0 100vmax var(--kf-surface); clip-path: inset(0 -100vmax);}
.kfbr-svc--tint .kfbr-svc-detail{background: var(--kf-bg);}
/* Typographic band (image background) */
.kfbr-band{padding: 130px 0;}
.kfbr-band::after{background: linear-gradient(180deg, rgba(10, 9, 8, .9) 0%, rgba(10, 9, 8, .55) 50%, rgba(10, 9, 8, .92) 100%);}
.kfbr-band-label{display: block; margin-bottom: 22px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase;}
.kfbr-band-quote{max-width: 15ch; margin: 0; color: #f5f2eb; font-size: clamp(36px, 7vw, 96px); font-weight: 900; line-height: .98; letter-spacing: -.025em; text-transform: uppercase;}
.kfbr-band-quote em{color: var(--kf-gold); font-style: normal;}
.kfbr-band-sub{max-width: 52ch; margin: 28px 0 0; color: #c9c2b6; font-size: 17px; line-height: 1.7;}
/* Workflow: vertical rail (zig-zag on desktop) */
.kfbr-flow{position: relative; display: grid; grid-template-columns: 1fr;}
.kfbr-flow::before{content: ''; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 1px; background: var(--kf-border-strong);}
.kfbr-flow-step{position: relative; padding: 0 0 52px 44px;}
.kfbr-flow-step:last-child{padding-bottom: 0;}
.kfbr-flow-step::before{content: ''; position: absolute; left: 0; top: 10px; width: 11px; height: 11px; border: 1px solid var(--kf-gold); border-radius: 50%; background: var(--kf-surface); transition: background .3s ease, transform .3s ease;}
.kfbr-flow-step:hover::before{background: var(--kf-gold); transform: scale(1.25);}
.kfbr-flow-num{display: block; margin-bottom: 8px; color: transparent; font-size: clamp(48px, 6vw, 84px); font-weight: 900; line-height: .9; -webkit-text-stroke: 1px var(--kf-border-strong); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .4s ease;}
.kfbr-flow-step:hover .kfbr-flow-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfbr-flow-title{margin: 0 0 10px; color: var(--kf-text); font-size: 22px; font-weight: 800; letter-spacing: -.005em; text-transform: uppercase;}
.kfbr-flow-step p{max-width: 44ch; margin: 0; font-size: 15.5px; line-height: 1.7;}
.kfbr-flow-note{margin: 48px 0 0; padding-left: 44px; color: var(--kf-muted); font-size: 13.5px; font-style: italic;}
/* The right fit */
.kfbr-fit{display: grid; grid-template-columns: 1fr; gap: 48px;}
.kfbr-fit-list{border-top: 1px solid var(--kf-border-strong);}
.kfbr-fit-item{display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 30px 0; border-bottom: 1px solid var(--kf-border);}
.kfbr-fit-key{width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; color: var(--kf-gold); font-size: 13px; font-weight: 800; transition: background .3s ease, color .3s ease, border-color .3s ease;}
.kfbr-fit-item:hover .kfbr-fit-key{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kfbr-fit-item h3{margin: 0 0 8px; color: var(--kf-text); font-size: clamp(20px, 2.3vw, 28px); font-weight: 800; letter-spacing: -.01em; transition: color .3s ease;}
.kfbr-fit-item:hover h3{color: var(--kf-gold);}
.kfbr-fit-item p{max-width: 52ch; margin: 0; font-size: 15.5px; line-height: 1.7;}
/* Brief sheet */
.kfbr-brief{display: grid; grid-template-columns: 1fr; gap: 48px; align-items: start;}
.kfbr-brief-cta{margin-top: 36px;}
.kfbr-sheet{position: relative; padding: 30px 30px 26px; border: 1px solid var(--kf-border-strong); border-radius: 4px; background: var(--kf-surface); box-shadow: 0 30px 70px rgba(0, 0, 0, .22);}
.kfbr-sheet::before{content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; border-radius: 4px 0 0 4px; background: var(--kf-gold);}
.kfbr-sheet-top{display: flex; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px dashed var(--kf-border-strong); color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfbr-sheet-top span:last-child{color: var(--kf-gold);}
.kfbr-sheet ul{margin: 0; padding: 0; list-style: none;}
.kfbr-sheet li{display: flex; align-items: flex-start; gap: 14px; padding: 15px 0; border-bottom: 1px dotted var(--kf-border-strong); color: var(--kf-text); font-size: 16px; line-height: 1.45;}
.kfbr-sheet li::before{content: ''; flex: 0 0 16px; height: 16px; margin-top: 2px; border: 1px solid var(--kf-gold); border-radius: 3px;}
.kfbr-sheet li span{display: block; margin-top: 3px; color: var(--kf-muted); font-size: 13.5px;}
.kfbr-sheet-foot{margin: 18px 0 0; color: var(--kf-muted); font-size: 13.5px; line-height: 1.6;}
/* Chain links */
.kfbr-chain{display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--kf-border-strong);}
.kfbr-chain a{display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--kf-border); color: var(--kf-text); text-decoration: none; transition: color .3s ease, padding-left .4s var(--kf-ease);}
.kfbr-chain a strong{display: block; font-size: 20px; font-weight: 800; text-transform: uppercase;}
.kfbr-chain a span{display: block; margin-top: 4px; color: var(--kf-muted); font-size: 14px;}
.kfbr-chain a i{color: var(--kf-muted-2); font-size: 22px; font-style: normal; transition: color .3s ease, transform .4s var(--kf-ease);}
.kfbr-chain a:hover{color: var(--kf-gold); padding-left: 12px;}
.kfbr-chain a:hover i{color: var(--kf-gold); transform: translateX(6px);}
/* Closing */
.kfbr-closing{position: relative; overflow: hidden; padding: 150px 0; text-align: center; isolation: isolate; background: linear-gradient(135deg, var(--kf-grad-1), var(--kf-grad-3)); border-top: 1px solid var(--kf-border);}
.kfbr-closing-bg{position: absolute; inset: 0; z-index: -2;}
.kfbr-closing-bg img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.46);}
.kfbr-closing::after{content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--kf-overlay-92) 0%, var(--kf-overlay-5) 50%, var(--kf-overlay-92) 100%);}
.kfbr-closing-eyebrow{display: inline-flex; justify-content: center;}
.kfbr-closing-title{max-width: 16ch; margin: 14px auto 0; font-size: clamp(34px, 5.8vw, 74px);}
.kfbr-closing-sub{max-width: 58ch; margin: 24px auto 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7;}
.kfbr-closing-actions{display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 40px;}
.kfbr-closing-note{margin: 28px 0 0; color: var(--kf-muted); font-size: 13px;}
.kfbr-closing-note a{color: var(--kf-gold);}
/* Light theme */
html.light .kfbr-sheet{box-shadow: 0 24px 60px rgba(60, 45, 20, .12);}
html.light .kfbr-closing-bg img{filter: grayscale(.2) brightness(.96);}

/* ---------- 34. Marketing & Promotion (kfmp-) ---------- */
.kfmp-hero{min-height: 78vh; min-height: 78svh;}
.kfmp-hero .kf-hero-title--page{max-width: 11ch; font-size: clamp(44px, 8.4vw, 116px); line-height: .92;}
.kfmp-hero .kf-hero-sub--page{max-width: 56ch;}
.kfmp-meta{display: flex; flex-wrap: wrap; gap: 10px 0; max-width: 520px; margin: 40px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfmp-meta li{display: flex; align-items: center; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase;}
.kfmp-meta li + li::before{content: ''; width: 5px; height: 5px; margin: 0 18px; border-radius: 50%; background: var(--kf-muted-2);}
.kfmp-sec{position: relative; padding: 72px 0;}
.kfmp-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfmp-sec--flush{padding-bottom: 0;}
.kfmp-head{max-width: 820px; margin-bottom: 40px;}
.kfmp-head--tight{margin-bottom: 28px;}
.kfmp-title{margin-top: 14px; font-size: clamp(32px, 4.6vw, 58px);}
.kfmp-lede{max-width: 58ch; margin: 20px 0 0;}
.kfmp-intro{display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: center;}
.kfmp-intro-copy{min-width: 0;}
.kfmp-intro-fig{position: relative; isolation: isolate; margin: 0;}
.kfmp-intro-fig::before{content: ''; position: absolute; inset: 16px 0 -16px 16px; z-index: -1; border: 1px solid var(--kf-gold); border-radius: 4px;}
.kfmp-intro-fig img{display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; filter: grayscale(.2) contrast(1.05);}
.kfmp-intro-cap{position: absolute; left: 0; bottom: 0; padding: 12px 18px; background: var(--kf-gold); color: var(--kf-black); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kfmp-principles{margin: 36px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfmp-principles li{display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--kf-border);}
.kfmp-principles small{padding-top: 4px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em; font-variant-numeric: tabular-nums;}
.kfmp-principles strong{display: block; margin-bottom: 4px; color: var(--kf-text); font-size: 17px; font-weight: 700;}
.kfmp-principles span span{display: block; color: var(--kf-muted); font-size: 14.5px; line-height: 1.6;}
.kfmp-svcs{display: grid; grid-template-columns: minmax(0, 1fr); gap: 0;}
.kfmp-index{display: none;}
.kfmp-svc-list{min-width: 0; border-top: 1px solid var(--kf-border-strong);}
.kfmp-svc{display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 40px 0 44px; border-bottom: 1px solid var(--kf-border); scroll-margin-top: 110px;}
.kfmp-svc-id{display: flex; align-items: flex-end; gap: 16px;}
.kfmp-svc-num{color: transparent; font-size: clamp(56px, 9vw, 104px); font-weight: 900; line-height: .82; -webkit-text-stroke: 1px var(--kf-border-strong); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .4s ease;}
.kfmp-svc:hover .kfmp-svc-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfmp-svc-tag{padding-bottom: 6px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kfmp-svc-title{margin: 0 0 10px; color: var(--kf-text); font-size: clamp(24px, 3vw, 38px); font-weight: 900; line-height: 1.05; letter-spacing: -.015em; text-transform: uppercase;}
.kfmp-svc-tagline{margin: 0 0 16px; color: var(--kf-gold); font-size: 17px; font-weight: 700;}
.kfmp-svc-main .body-kf{max-width: 54ch; margin: 0 0 22px;}
.kfmp-svc-panel{padding: 24px 24px 22px; border: 1px solid var(--kf-border); border-radius: 4px; background: var(--kf-bg); transition: border-color .3s ease;}
.kfmp-svc:hover .kfmp-svc-panel{border-color: var(--kf-border-strong);}
.kfmp-svc-panel h4{margin: 0 0 14px; color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfmp-svc-panel ul{margin: 0; padding: 0; list-style: none;}
.kfmp-svc-panel li{position: relative; padding: 10px 0 10px 26px; border-top: 1px solid var(--kf-border); color: var(--kf-text); font-size: 15px; line-height: 1.5;}
.kfmp-svc-panel li::before{content: ''; position: absolute; left: 0; top: 20px; width: 14px; height: 1px; background: var(--kf-gold);}
.kfmp-svc-note{margin: 14px 0 0; padding-top: 14px; border-top: 1px dashed var(--kf-border-strong); color: var(--kf-muted); font-size: 13px; font-style: italic; line-height: 1.55;}
.kfmp-journey{position: relative; isolation: isolate; overflow: hidden; padding: 84px 0; background: var(--kf-black); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfmp-bg{position: absolute; inset: 0; z-index: -2;}
.kfmp-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.2) brightness(.5) contrast(1.05);}
.kfmp-journey::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(10, 9, 8, .9) 0%, rgba(10, 9, 8, .62) 50%, rgba(10, 9, 8, .92) 100%);}
.kfmp-journey .headline-kf, .kfmp-journey .kfmp-title{color: #f5f2eb;}
.kfmp-journey p, .kfmp-journey .body-kf{color: #c9c2b6;}
.kfmp-steps{position: relative; display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0; list-style: none;}
.kfmp-steps::before{content: ''; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 1px; background: rgba(245, 242, 235, .28);}
.kfmp-step{position: relative; padding: 0 0 40px 44px;}
.kfmp-step:last-child{padding-bottom: 0;}
.kfmp-step::before{content: ''; position: absolute; left: 0; top: 10px; width: 11px; height: 11px; border: 1px solid var(--kf-gold); border-radius: 50%; background: #0a0908; transition: background .3s ease, transform .3s ease;}
.kfmp-step:hover::before{background: var(--kf-gold); transform: scale(1.25);}
.kfmp-step-num{display: block; margin-bottom: 6px; color: transparent; font-size: clamp(44px, 6vw, 68px); font-weight: 900; line-height: .9; -webkit-text-stroke: 1px rgba(245, 242, 235, .4); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .4s ease;}
.kfmp-step:hover .kfmp-step-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfmp-step h3{margin: 0 0 8px; color: #f5f2eb; font-size: 22px; font-weight: 800; text-transform: uppercase;}
.kfmp-step p{max-width: 34ch; margin: 0; font-size: 15px; line-height: 1.65;}
.kfmp-ready{display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; align-items: start;}
.kfmp-ready-cta{margin-top: 32px;}
.kfmp-sheet{position: relative; padding: 28px 24px 24px; border: 1px solid var(--kf-border-strong); border-radius: 4px; background: var(--kf-surface); box-shadow: 0 30px 70px rgba(0, 0, 0, .22);}
.kfmp-sheet::before{content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; border-radius: 4px 0 0 4px; background: var(--kf-gold);}
.kfmp-sheet-top{display: flex; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px dashed var(--kf-border-strong); color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfmp-sheet-top span:last-child{color: var(--kf-gold);}
.kfmp-checks{display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 32px; margin: 0; padding: 0; list-style: none;}
.kfmp-checks li{position: relative; padding: 15px 0 15px 32px; border-bottom: 1px dotted var(--kf-border-strong); color: var(--kf-text); font-size: 15.5px; line-height: 1.4;}
.kfmp-checks li::before{content: ''; position: absolute; left: 0; top: 18px; width: 16px; height: 16px; border: 1px solid var(--kf-gold); border-radius: 3px;}
.kfmp-checks strong{display: block; font-weight: 700;}
.kfmp-checks span{display: block; margin-top: 3px; color: var(--kf-muted); font-size: 13.5px;}
.kfmp-sheet-foot{margin: 18px 0 0; color: var(--kf-muted); font-size: 13.5px; line-height: 1.6;}
.kfmp-who{display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px;}
.kfmp-who-list{margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfmp-who-list li{display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 18px; padding: 26px 0; border-bottom: 1px solid var(--kf-border);}
.kfmp-who-key{width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kf-border-strong); border-radius: 50%; color: var(--kf-gold); font-size: 13px; font-weight: 800; transition: background .3s ease, color .3s ease, border-color .3s ease;}
.kfmp-who-list li:hover .kfmp-who-key{background: var(--kf-gold); border-color: var(--kf-gold); color: var(--kf-black);}
.kfmp-who-list h3{margin: 0 0 6px; color: var(--kf-text); font-size: clamp(19px, 2.2vw, 26px); font-weight: 800; letter-spacing: -.01em; transition: color .3s ease;}
.kfmp-who-list li:hover h3{color: var(--kf-gold);}
.kfmp-who-list p{max-width: 52ch; margin: 0; color: var(--kf-muted); font-size: 15.5px; line-height: 1.65;}
.kfmp-chain{display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--kf-border-strong);}
.kfmp-chain a{display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--kf-border); color: var(--kf-text); text-decoration: none; transition: color .3s ease, padding-left .4s var(--kf-ease);}
.kfmp-chain a strong{display: block; font-size: 19px; font-weight: 800; text-transform: uppercase;}
.kfmp-chain a span span{display: block; margin-top: 4px; color: var(--kf-muted); font-size: 14px;}
.kfmp-chain a i{color: var(--kf-muted-2); font-size: 22px; font-style: normal; transition: color .3s ease, transform .4s var(--kf-ease);}
.kfmp-chain a:hover{color: var(--kf-gold); padding-left: 12px;}
.kfmp-chain a:hover i{color: var(--kf-gold); transform: translateX(6px);}
.kfmp-close{position: relative; padding: 72px 0 88px;}
.kfmp-close-card{display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; border: 1px solid var(--kf-border-strong); border-radius: 4px; background: var(--kf-surface);}
.kfmp-close-media{position: relative; min-height: 260px; background: var(--kf-black);}
.kfmp-close-media img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.15) brightness(.8) contrast(1.05);}
.kfmp-close-media::after{content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 9, 8, 0) 40%, rgba(10, 9, 8, .7) 100%);}
.kfmp-close-body{padding: 40px 26px 44px;}
.kfmp-close-title{max-width: 14ch; margin: 14px 0 0; font-size: clamp(32px, 5vw, 62px); line-height: .98;}
.kfmp-close-sub{max-width: 52ch; margin: 22px 0 0; color: var(--kf-muted); font-size: 16.5px; line-height: 1.7;}
.kfmp-close-actions{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px;}
html.light .kfmp-sheet{box-shadow: 0 24px 60px rgba(60, 45, 20, .12);}
html.light .kfmp-intro-fig img{filter: grayscale(.1) contrast(1.02);}
html.light .kfmp-close-media img{filter: brightness(.9);}
html.light .kfmp-svc-panel{background: var(--kf-bg);}
.kfmp-sec--img{isolation: isolate; overflow: hidden; background: var(--kf-black); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfmp-sec--img::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(100deg, rgba(10, 9, 8, .94) 0%, rgba(10, 9, 8, .74) 55%, rgba(10, 9, 8, .9) 100%);}
.kfmp-sec--img .headline-kf, .kfmp-sec--img .kfmp-title, .kfmp-sec--img .kfmp-who-list h3{color: #f5f2eb;}
.kfmp-sec--img .body-kf, .kfmp-sec--img .kfmp-who-list p{color: #c9c2b6;}
.kfmp-sec--img .kfmp-who-list{border-top-color: rgba(245, 242, 235, .22);}
.kfmp-sec--img .kfmp-who-list li{border-bottom-color: rgba(245, 242, 235, .14);}
.kfmp-sec--img .kfmp-who-key{border-color: rgba(245, 242, 235, .3);}
.kfmp-sec--img .kfmp-who-list li:hover h3{color: var(--kf-gold);}

/* ---------- 35. Artist Management (kfam-) ---------- */
.kfam-hero{min-height: 78vh; min-height: 78svh;}
.kfam-hero .kf-hero-title--page{max-width: 12ch; font-size: clamp(42px, 7.8vw, 108px); line-height: .92;}
.kfam-hero .kf-hero-sub--page{max-width: 60ch;}
.kfam-meta{display: flex; flex-wrap: wrap; gap: 10px 0; max-width: 620px; margin: 40px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfam-meta li{display: flex; align-items: center; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase;}
.kfam-meta li + li::before{content: ''; width: 5px; height: 5px; margin: 0 18px; border-radius: 50%; background: var(--kf-muted-2);}
.kfam-sec{position: relative; padding: 72px 0;}
.kfam-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfam-head{max-width: 820px; margin-bottom: 44px;}
.kfam-title{margin-top: 14px; font-size: clamp(30px, 4.4vw, 56px);}
.kfam-lede{max-width: 60ch; margin: 20px 0 0;}
.kfam-intro{display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: center;}
.kfam-intro-copy{min-width: 0;}
.kfam-lenses{margin: 36px 0 0; border-top: 1px solid var(--kf-border-strong);}
.kfam-lenses > div{display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 24px; padding: 16px 0; border-bottom: 1px solid var(--kf-border);}
.kfam-lenses dt{color: var(--kf-text); font-size: 16px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase;}
.kfam-lenses dd{margin: 0; color: var(--kf-muted); font-size: 15px; line-height: 1.6;}
.kfam-intro-fig{position: relative; margin: 0 0 40px;}
.kfam-intro-fig img{display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; filter: contrast(1.05);}
.kfam-intro-card{position: absolute; left: 20px; right: 20px; bottom: -40px; padding: 22px 24px; border: 1px solid var(--kf-border-strong); border-left: 3px solid var(--kf-gold); border-radius: 4px; background: var(--kf-surface); color: var(--kf-text); font-size: 16px; font-weight: 600; line-height: 1.5; box-shadow: 0 24px 60px rgba(0, 0, 0, .25);}
.kfam-intro-card span{display: block; margin-bottom: 8px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfam-group{padding: 40px 0 8px; border-top: 1px solid var(--kf-border-strong);}
.kfam-group-head{display: flex; flex-direction: column; gap: 8px; margin-bottom: 28px;}
.kfam-group-label{color: var(--kf-gold); font-size: clamp(26px, 3.6vw, 44px); font-weight: 900; letter-spacing: -.01em; line-height: 1; text-transform: uppercase;}
.kfam-group-head p{margin: 0; color: var(--kf-muted); font-size: 15.5px;}
.kfam-items{display: grid; grid-template-columns: minmax(0, 1fr); gap: 0;}
.kfam-item{display: flex; flex-direction: column; align-items: flex-start; padding: 26px 0 30px; border-top: 1px solid var(--kf-border);}
.kfam-item-num{margin-bottom: 14px; color: transparent; font-size: 56px; font-weight: 900; line-height: .85; -webkit-text-stroke: 1px var(--kf-border-strong); font-variant-numeric: tabular-nums; transition: -webkit-text-stroke-color .4s ease;}
.kfam-item:hover .kfam-item-num{-webkit-text-stroke-color: var(--kf-gold);}
.kfam-item h3{margin: 0 0 10px; color: var(--kf-text); font-size: 21px; font-weight: 800; line-height: 1.15; text-transform: uppercase;}
.kfam-item p{max-width: 44ch; margin: 0 0 12px; color: var(--kf-muted); font-size: 15.5px; line-height: 1.65;}
.kfam-item .kfam-item-note{padding-top: 12px; border-top: 1px dashed var(--kf-border-strong); color: var(--kf-muted-2); font-size: 13px; font-style: italic; line-height: 1.55;}
.kfam-item .link-kf{margin-top: 4px;}
.kfam-services-cta{margin: 36px 0 0; padding-top: 28px; border-top: 1px solid var(--kf-border-strong); color: var(--kf-text); font-size: 18px; font-weight: 600;}
.kfam-system{position: relative; isolation: isolate; overflow: hidden; padding: 84px 0; background: var(--kf-black); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfam-bg{position: absolute; inset: 0; z-index: -2;}
.kfam-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.15) brightness(.5) contrast(1.05);}
.kfam-system::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(10, 9, 8, .9) 0%, rgba(10, 9, 8, .66) 50%, rgba(10, 9, 8, .92) 100%);}
.kfam-system .headline-kf, .kfam-system .kfam-title{color: #f5f2eb;}
.kfam-system p, .kfam-system .body-kf{color: #c9c2b6;}
.kfam-chain{display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: 0; list-style: none;}
.kfam-node{position: relative; padding: 24px 22px 24px 22px; border: 1px solid rgba(245, 242, 235, .22); border-radius: 4px; background: rgba(10, 9, 8, .55); transition: border-color .3s ease, background .3s ease;}
.kfam-node + .kfam-node{margin-top: 34px;}
.kfam-node + .kfam-node::before{content: '\2193'; position: absolute; left: 22px; top: -30px; color: var(--kf-gold); font-size: 20px; line-height: 1;}
.kfam-node:hover{border-color: var(--kf-gold); background: rgba(10, 9, 8, .75);}
.kfam-node-num{display: block; margin-bottom: 10px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .2em;}
.kfam-node h3{margin: 0 0 8px; color: #f5f2eb; font-size: 20px; font-weight: 900; letter-spacing: .02em; text-transform: uppercase;}
.kfam-node p{margin: 0; font-size: 14.5px; line-height: 1.6;}
.kfam-steps{display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfam-step{display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--kf-border);}
.kfam-step-num{grid-row: span 2; color: var(--kf-gold); font-size: 30px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums;}
.kfam-step h3{margin: 0 0 6px; color: var(--kf-text); font-size: 22px; font-weight: 800; text-transform: uppercase;}
.kfam-step p{max-width: 46ch; margin: 0; color: var(--kf-muted); font-size: 15.5px; line-height: 1.65;}
.kfam-who{display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px;}
.kfam-who-list{margin: 0; padding: 0; list-style: none; counter-reset: kfamwho; border-top: 1px solid var(--kf-border-strong);}
.kfam-who-list li{position: relative; counter-increment: kfamwho; padding: 24px 0 24px 52px; border-bottom: 1px solid var(--kf-border); color: var(--kf-text); font-size: clamp(18px, 2.2vw, 24px); font-weight: 600; line-height: 1.4; transition: color .3s ease, padding-left .4s var(--kf-ease);}
.kfam-who-list li::before{content: counter(kfamwho, decimal-leading-zero); position: absolute; left: 0; top: 29px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em;}
.kfam-who-list li:hover{color: var(--kf-gold); padding-left: 60px;}
.kfam-together{display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; align-items: center;}
.kfam-together-fig{position: relative; margin: 0; overflow: hidden; border-radius: 4px;}
.kfam-together-fig img{display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: contrast(1.05);}
.kfam-together-fig::after{content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px var(--kf-border-strong); border-radius: 4px; pointer-events: none;}
.kfam-together-body{min-width: 0;}
.kfam-pillars{display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 32px; border-top: 1px solid var(--kf-border-strong);}
.kfam-pillars > div{padding: 18px 0; border-bottom: 1px solid var(--kf-border);}
.kfam-pillars h3{margin: 0 0 4px; color: var(--kf-text); font-size: 16px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;}
.kfam-pillars p{margin: 0; color: var(--kf-muted); font-size: 14.5px; line-height: 1.6;}
.kfam-close{position: relative; isolation: isolate; overflow: hidden; padding: 110px 0; background: var(--kf-black); text-align: center;}
.kfam-close .kfam-bg img{filter: brightness(.45) contrast(1.08);}
.kfam-close::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at center, rgba(10, 9, 8, .45) 0%, rgba(10, 9, 8, .88) 100%);}
.kfam-close-inner{display: flex; flex-direction: column; align-items: center;}
.kfam-close-title{max-width: 16ch; margin: 16px 0 0; color: #f5f2eb; font-size: clamp(34px, 6.4vw, 84px); line-height: .95;}
.kfam-close-sub{max-width: 54ch; margin: 24px 0 0; color: #c9c2b6; font-size: 17px; line-height: 1.7;}
.kfam-close-actions{display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 36px;}
html.light .kfam-intro-card{box-shadow: 0 20px 50px rgba(60, 45, 20, .14);}
html.light .kfam-intro-fig img, html.light .kfam-together-fig img{filter: contrast(1.02);}

/* ---------- 36. Services overview (kfsrv-) ---------- */
.kfsrv-hero{min-height: 82vh; min-height: 82svh;}
.kfsrv-hero .kf-hero-title--page{max-width: 14ch; font-size: clamp(42px, 8.4vw, 115px); line-height: .92;}
.kfsrv-hero .kf-hero-sub--page{max-width: 62ch;}
.kfsrv-meta{display: flex; flex-wrap: wrap; gap: 10px 0; max-width: 700px; margin: 40px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfsrv-meta li{display: flex; align-items: center; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase;}
.kfsrv-meta li + li::before{content: ''; width: 5px; height: 5px; margin: 0 18px; border-radius: 50%; background: var(--kf-muted-2);}
.kfsrv-sec{position: relative; padding: 72px 0;}
.kfsrv-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfsrv-head{max-width: 820px; margin-bottom: 44px;}
.kfsrv-title{margin-top: 14px; font-size: clamp(30px, 4.4vw, 56px);}
.kfsrv-lede{max-width: 60ch; margin: 20px 0 0;}
.kfsrv-bg{position: absolute; inset: 0; z-index: -2;}
.kfsrv-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.15) brightness(.5) contrast(1.05);}
.kfsrv-approach{display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center;}
.kfsrv-approach-copy{min-width: 0;}
.kfsrv-approach-fig{position: relative; isolation: isolate; margin: 0;}
.kfsrv-approach-fig::before{content: ''; position: absolute; inset: 14px 0 -14px 14px; z-index: -1; border: 1px solid var(--kf-gold); border-radius: 4px;}
.kfsrv-approach-fig img{display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 4px; filter: contrast(1.05);}
.kfsrv-approach-fig figcaption{position: absolute; left: 0; bottom: 0; padding: 11px 18px; background: var(--kf-gold); color: var(--kf-black); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kfsrv-paths{display: grid; grid-template-columns: minmax(0, 1fr); margin: 64px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfsrv-paths li{display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 20px 0; border-bottom: 1px solid var(--kf-border); color: var(--kf-text);}
.kfsrv-paths strong{font-size: 15px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;}
.kfsrv-paths i{color: var(--kf-gold); font-style: normal;}
.kfsrv-cat{padding: 40px 0 12px; border-top: 1px solid var(--kf-border-strong);}
.kfsrv-cat-head{display: flex; align-items: center; gap: 20px; margin-bottom: 20px;}
.kfsrv-cat-letter{color: transparent; font-size: clamp(64px, 9vw, 110px); font-weight: 900; line-height: .8; -webkit-text-stroke: 1px var(--kf-gold);}
.kfsrv-cat-head h3{margin: 0 0 6px; color: var(--kf-text); font-size: clamp(22px, 2.8vw, 34px); font-weight: 900; text-transform: uppercase;}
.kfsrv-cat-head p{margin: 0; color: var(--kf-muted); font-size: 15px;}
.kfsrv-row{display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 28px 0; border-top: 1px solid var(--kf-border);}
.kfsrv-row-main{display: flex; align-items: baseline; gap: 14px;}
.kfsrv-row-num{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em; font-variant-numeric: tabular-nums;}
.kfsrv-row-main h4{margin: 0; color: var(--kf-text); font-size: clamp(20px, 2.4vw, 28px); font-weight: 800; line-height: 1.15; text-transform: uppercase;}
.kfsrv-row-list{margin: 0; padding: 0; list-style: none;}
.kfsrv-row-list li{position: relative; padding: 5px 0 5px 22px; color: var(--kf-muted); font-size: 15px; line-height: 1.5;}
.kfsrv-row-list li::before{content: ''; position: absolute; left: 0; top: 15px; width: 12px; height: 1px; background: var(--kf-gold);}
.kfsrv-row-side{display: flex; flex-direction: column; align-items: flex-start; gap: 14px;}
.kfsrv-row-note{margin: 0; padding-top: 12px; border-top: 1px dashed var(--kf-border-strong); color: var(--kf-muted-2); font-size: 13px; font-style: italic; line-height: 1.55;}
.kfsrv-row-link{display: inline-flex; align-items: center; gap: 10px; color: var(--kf-gold); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: gap .3s var(--kf-ease), color .3s ease;}
.kfsrv-row-link:hover{gap: 16px; color: var(--kf-text);}
.kfsrv-feat{display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; margin-bottom: 72px;}
.kfsrv-feat-fig{margin: 0; overflow: hidden; border-radius: 4px;}
.kfsrv-feat-fig img{display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: contrast(1.05); transition: transform .8s var(--kf-ease);}
.kfsrv-feat:hover .kfsrv-feat-fig img{transform: scale(1.03);}
.kfsrv-feat-body{min-width: 0;}
.kfsrv-feat-tag{display: inline-block; margin-bottom: 14px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfsrv-feat-body h3, .kfsrv-band-copy h3{margin: 0 0 14px; font-size: clamp(28px, 3.6vw, 46px); font-weight: 900; line-height: 1; text-transform: uppercase;}
.kfsrv-feat-body h3{color: var(--kf-text);}
.kfsrv-feat-body p{max-width: 46ch; margin: 0 0 20px; color: var(--kf-muted); font-size: 16px; line-height: 1.7;}
.kfsrv-band{position: relative; isolation: isolate; overflow: hidden; margin: 8px 0 72px; padding: 64px 0; background: var(--kf-black);}
.kfsrv-band::after, .kfsrv-visual::after, .kfsrv-connect::after, .kfsrv-close::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;}
.kfsrv-band::after{background: linear-gradient(90deg, rgba(10, 9, 8, .92) 0%, rgba(10, 9, 8, .6) 100%);}
.kfsrv-band-inner{display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center;}
.kfsrv-band-copy h3{color: #f5f2eb;}
.kfsrv-band-copy p{max-width: 46ch; margin: 0 0 20px; color: #c9c2b6; font-size: 16px; line-height: 1.7;}
.kfsrv-band-fig{margin: 0; overflow: hidden; border: 1px solid rgba(245, 242, 235, .25); border-radius: 4px;}
.kfsrv-band-fig img{display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover;}
.kfsrv-visual{position: relative; isolation: isolate; overflow: hidden; padding: 84px 0; background: var(--kf-black);}
.kfsrv-visual::after{background: linear-gradient(90deg, rgba(10, 9, 8, .92) 0%, rgba(10, 9, 8, .55) 100%);}
.kfsrv-visual .headline-kf, .kfsrv-visual .kfsrv-title{color: #f5f2eb;}
.kfsrv-visual .body-kf{color: #c9c2b6;}
.kfsrv-visual-grid{display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center;}
.kfsrv-visual-cta{margin-top: 28px;}
.kfsrv-pair{position: relative; padding-bottom: 56px;}
.kfsrv-pair img{display: block; object-fit: cover; border-radius: 4px; box-shadow: 0 30px 70px rgba(0, 0, 0, .5);}
.kfsrv-pair-a{width: 72%; aspect-ratio: 4 / 5;}
.kfsrv-pair-b{position: absolute; right: 0; bottom: 0; width: 52%; aspect-ratio: 1 / 1; border: 6px solid #0a0908;}
.kfsrv-events-wrap{position: relative;}
.kfsrv-events-fig{margin: 0; overflow: hidden; border-radius: 4px;}
.kfsrv-events-fig img{display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; filter: contrast(1.05);}
.kfsrv-events-card{position: relative; margin: -40px 16px 0; padding: 32px 24px; border: 1px solid var(--kf-border-strong); border-top: 3px solid var(--kf-gold); border-radius: 4px; background: var(--kf-surface); box-shadow: 0 30px 70px rgba(0, 0, 0, .25);}
.kfsrv-events-card .body-kf{max-width: 52ch; margin: 18px 0 0;}
.kfsrv-tags{display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; padding: 0; list-style: none;}
.kfsrv-tags li{padding: 7px 14px; border: 1px solid var(--kf-border-strong); border-radius: 999px; color: var(--kf-text); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;}
.kfsrv-growth{display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px;}
.kfsrv-growth-fig{margin: 0; overflow: hidden; border-radius: 4px;}
.kfsrv-growth-fig img{display: block; width: 100%; height: 100%; min-height: 280px; max-height: 420px; object-fit: cover; filter: contrast(1.05);}
.kfsrv-lanes{display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--kf-border-strong);}
.kfsrv-lane{padding: 26px 0; border-bottom: 1px solid var(--kf-border);}
.kfsrv-lane-label{display: block; margin-bottom: 8px; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfsrv-lane h3{margin: 0 0 8px; color: var(--kf-text); font-size: clamp(22px, 2.6vw, 30px); font-weight: 900; text-transform: uppercase;}
.kfsrv-lane p{max-width: 46ch; margin: 0 0 12px; color: var(--kf-muted); font-size: 15.5px; line-height: 1.65;}
.kfsrv-connect{position: relative; isolation: isolate; overflow: hidden; padding: 84px 0; background: var(--kf-black);}
.kfsrv-connect::after{background: linear-gradient(180deg, rgba(10, 9, 8, .9) 0%, rgba(10, 9, 8, .66) 50%, rgba(10, 9, 8, .92) 100%);}
.kfsrv-connect .headline-kf, .kfsrv-connect .kfsrv-title{color: #f5f2eb;}
.kfsrv-connect .body-kf{color: #c9c2b6;}
.kfsrv-chain{display: grid; grid-template-columns: minmax(0, 1fr); margin: 0 0 48px; padding: 0; list-style: none;}
.kfsrv-chain li{position: relative; display: flex; align-items: baseline; gap: 16px; padding: 18px 0; border-bottom: 1px solid rgba(245, 242, 235, .2);}
.kfsrv-chain li span{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .18em;}
.kfsrv-chain li strong{color: #f5f2eb; font-size: clamp(24px, 4vw, 40px); font-weight: 900; letter-spacing: .01em; text-transform: uppercase;}
.kfsrv-combos{display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;}
.kfsrv-combos article{padding: 22px; border: 1px solid rgba(245, 242, 235, .2); border-radius: 4px; background: rgba(10, 9, 8, .55); transition: border-color .3s ease;}
.kfsrv-combos article:hover{border-color: var(--kf-gold);}
.kfsrv-combos h3{margin: 0 0 8px; color: var(--kf-gold); font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;}
.kfsrv-combos p{margin: 0; color: #e6dfd2; font-size: 15px; line-height: 1.6;}
.kfsrv-find{display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfsrv-find a{display: flex; align-items: center; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--kf-border); color: var(--kf-text); text-decoration: none; transition: color .3s ease, padding-left .4s var(--kf-ease);}
.kfsrv-find-n{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em;}
.kfsrv-find-t{flex: 1 1 auto; min-width: 0; font-size: clamp(18px, 2.2vw, 26px); font-weight: 700; line-height: 1.25;}
.kfsrv-find svg{flex: 0 0 auto; color: var(--kf-muted-2); transition: color .3s ease, transform .4s var(--kf-ease);}
.kfsrv-find a:hover{color: var(--kf-gold); padding-left: 12px;}
.kfsrv-find a:hover svg{color: var(--kf-gold); transform: translateX(6px);}
.kfsrv-plan{display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; align-items: start;}
.kfsrv-plan-fig{margin: 32px 0 0; overflow: hidden; border-radius: 4px;}
.kfsrv-plan-fig img{display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; filter: contrast(1.05);}
.kfsrv-prompts{display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0; list-style: none; counter-reset: kfsrvp; border-top: 1px solid var(--kf-border-strong);}
.kfsrv-prompts li{position: relative; counter-increment: kfsrvp; padding: 20px 0 20px 48px; border-bottom: 1px solid var(--kf-border);}
.kfsrv-prompts li::before{content: counter(kfsrvp, decimal-leading-zero); position: absolute; left: 0; top: 24px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em;}
.kfsrv-prompts strong{display: block; margin-bottom: 4px; color: var(--kf-text); font-size: 17px; font-weight: 700;}
.kfsrv-prompts span{display: block; color: var(--kf-muted); font-size: 14.5px; line-height: 1.55;}
.kfsrv-plan-actions{display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--kf-border-strong);}
.kfsrv-plan-actions p{flex: 1 1 100%; margin: 6px 0 0; color: var(--kf-muted); font-size: 14px;}
.kfsrv-close{position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; min-height: 72vh; padding: 96px 0 80px; background: var(--kf-black);}
.kfsrv-close::after{background: linear-gradient(90deg, rgba(10, 9, 8, .92) 0%, rgba(10, 9, 8, .5) 100%), linear-gradient(0deg, rgba(10, 9, 8, .6) 0%, rgba(10, 9, 8, 0) 50%);}
.kfsrv-close-inner{display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: end; width: 100%;}
.kfsrv-close-title{max-width: 12ch; margin: 0; color: #f5f2eb; font-size: clamp(36px, 7vw, 96px); line-height: .94;}
.kfsrv-close-side{padding-left: 20px; border-left: 2px solid var(--kf-gold);}
.kfsrv-close-side p{max-width: 46ch; margin: 0; color: #d8d1c4; font-size: 16.5px; line-height: 1.7;}
.kfsrv-close-actions{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px;}
html.light .kfsrv-events-card{box-shadow: 0 24px 60px rgba(60, 45, 20, .14);}
html.light .kfsrv-feat-fig img, html.light .kfsrv-events-fig img, html.light .kfsrv-growth-fig img, html.light .kfsrv-plan-fig img, html.light .kfsrv-approach-fig img{filter: contrast(1.02);}
.kfsrv-visual-copy{min-width: 0;}


/* ---------- 38. Homepage lower sections (kfh-) ----------
   Featured artist, releases, services directory, experiences, studio,
   roster, DJ, start-here chooser and closing CTA. Self-contained: none of
   these rules depend on the older .kf-featured-*, .kf-spotlight-*,
   .kf-release-*, .kf-artist-*, .kf-dj-album-*, .kf-studio-* or .kf-cta
   blocks, which stay in place for the inner pages that still use them. */
.kfh-sec{position: relative; padding: 72px 0;}
.kfh-sec--alt{background: var(--kf-surface); border-top: 1px solid var(--kf-border); border-bottom: 1px solid var(--kf-border);}
.kfh-head{margin-bottom: 40px;}
.kfh-head--row{display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px;}
.kfh-title{margin-top: 12px; font-size: clamp(30px, 4.4vw, 54px);}
.kfh-lede{max-width: 58ch; margin: 18px 0 0;}
.kfh-actions{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px;}
.kfh-tag{display: inline-block; color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfh-chips{display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none;}
.kfh-chips li{padding: 7px 14px; border: 1px solid var(--kf-border-strong); border-radius: 999px; color: var(--kf-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;}
.kfh-feat-grid{display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center;}
.kfh-feat-copy{position: relative; z-index: 2; min-width: 0;}
.kfh-feat-genrewrap{display: flex; align-items: center; gap: 12px; margin-top: 8px; color: var(--kf-gold-soft); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
.kfh-feat-name{margin: 14px 0 0; font-size: clamp(44px, 9vw, 124px); line-height: .9; overflow-wrap: break-word;}
.kfh-feat-line{max-width: 46ch; margin: 24px 0 0; color: var(--kf-muted); font-size: 17px; line-height: 1.7;}
.kfh-feat-media{position: relative; isolation: isolate; margin: 0; aspect-ratio: 4 / 5; border-radius: 5px;}
.kfh-feat-media::after{content: ''; position: absolute; inset: 14px 0 -14px 14px; z-index: -1; border: 1px solid var(--kf-gold); border-radius: 5px;}
.kfh-feat-media img{border-radius: 5px; filter: grayscale(.2) contrast(1.05); transition: filter .6s ease, transform .8s var(--kf-ease);}
.kfh-feat-grid:hover .kfh-feat-media img{filter: grayscale(0) contrast(1.05); transform: scale(1.02);}
.kfh-feat-tag{position: absolute; left: 0; bottom: 0; z-index: 2; padding: 11px 18px; background: var(--kf-gold); color: var(--kf-black); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;}
.kfh-spot{display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin-bottom: 48px; overflow: hidden; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-bg);}
.kfh-spot-art{aspect-ratio: 1 / 1;}
.kfh-spot-art img{transition: transform .8s var(--kf-ease);}
.kfh-spot:hover .kfh-spot-art img{transform: scale(1.03);}
.kfh-spot-body{display: flex; flex-direction: column; justify-content: center; padding: 32px 24px 36px; min-width: 0;}
.kfh-spot-title{margin: 14px 0 6px; color: var(--kf-text); font-size: clamp(30px, 4.4vw, 56px); font-weight: 900; line-height: 1; text-transform: uppercase; overflow-wrap: break-word;}
.kfh-spot-artist{margin: 0; color: var(--kf-gold-soft); font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
.kfh-spot-desc{max-width: 52ch; margin: 18px 0 0; color: var(--kf-muted); font-size: 16px; line-height: 1.7;}
.kfh-spot-meta{display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--kf-border);}
.kfh-spot-meta-item span{display: block; color: var(--kf-muted-2); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
.kfh-spot-meta-item strong{display: block; margin-top: 5px; color: var(--kf-text); font-size: 15px; font-weight: 700;}
.kfh-rel{position: relative;}
.kfh-rel-media{position: relative; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--kf-border); border-radius: 5px;}
.kfh-rel-media img{transition: transform .7s var(--kf-ease), filter .5s ease; filter: grayscale(.2);}
.kfh-rel:hover .kfh-rel-media img{transform: scale(1.05); filter: grayscale(0);}
.kfh-rel-index{position: absolute; left: 12px; top: 10px; z-index: 2; color: #f5f2eb; font-size: 11px; font-weight: 800; letter-spacing: .16em;}
.kfh-rel-shade{position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(10, 9, 8, .6) 0%, rgba(10, 9, 8, 0) 45%); pointer-events: none;}
.kfh-rel-play{position: absolute; right: 12px; bottom: 12px; z-index: 3; width: 44px; height: 44px; align-items: center; justify-content: center; border: none; border-radius: 50%; background: var(--kf-gold); color: var(--kf-black); cursor: pointer; transition: transform .3s ease, background .3s ease;}
.kfh-rel-play:hover{transform: scale(1.08); background: var(--kf-gold-soft);}
.kfh-rel-play[data-track]{display: flex !important;}
.kfh-rel-body{padding: 16px 2px 0;}
.kfh-rel-meta{display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--kf-muted-2); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
.kfh-rel-type{color: var(--kf-gold);}
.kfh-rel-title{margin: 8px 0 4px; color: var(--kf-text); font-size: 20px; font-weight: 800; line-height: 1.15; overflow-wrap: break-word;}
.kfh-rel-artist{margin: 0; color: var(--kf-muted); font-size: 14px;}
.kfh-rel-link{display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; color: var(--kf-text); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; transition: color .3s ease, gap .3s var(--kf-ease);}
.kfh-rel:hover .kfh-rel-link{color: var(--kf-gold); gap: 12px;}
.kfh-dir{display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px;}
.kfh-dir-col{position: relative; padding-top: 26px; border-top: 2px solid var(--kf-gold);}
.kfh-dir-letter{display: block; margin-bottom: 14px; color: transparent; font-size: 72px; font-weight: 900; line-height: .8; -webkit-text-stroke: 1px var(--kf-border-strong);}
.kfh-dir-col h3{margin: 0 0 8px; color: var(--kf-text); font-size: clamp(22px, 2.6vw, 30px); font-weight: 900; text-transform: uppercase;}
.kfh-dir-col > p{margin: 0 0 20px; color: var(--kf-muted); font-size: 15px;}
.kfh-dir-col ul{margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border);}
.kfh-dir-col li{border-bottom: 1px solid var(--kf-border);}
.kfh-dir-col a{display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: center; padding: 18px 0; color: var(--kf-text); text-decoration: none; transition: color .3s ease, padding-left .4s var(--kf-ease);}
.kfh-dir-name{grid-column: 1; font-size: 17px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase;}
.kfh-dir-desc{grid-column: 1; margin-top: 4px; color: var(--kf-muted); font-size: 14px; line-height: 1.5;}
.kfh-dir-col a svg{grid-column: 2; grid-row: 1 / span 2; color: var(--kf-muted-2); transition: color .3s ease, transform .4s var(--kf-ease);}
.kfh-dir-col a:hover{color: var(--kf-gold); padding-left: 10px;}
.kfh-dir-col a:hover svg{color: var(--kf-gold); transform: translateX(5px);}
.kfh-also{display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 52px; padding-top: 24px; border-top: 1px solid var(--kf-border-strong);}
.kfh-also-label{color: var(--kf-muted-2); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfh-also ul{display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none;}
.kfh-also li a, .kfh-also li span{display: inline-block; padding: 8px 16px; border: 1px solid var(--kf-border-strong); border-radius: 999px; color: var(--kf-text); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase;}
.kfh-also li a{transition: border-color .3s ease, color .3s ease;}
.kfh-also li a:hover{border-color: var(--kf-gold); color: var(--kf-gold);}
.kfh-also li span{color: var(--kf-muted);}
.kfh-duo-sec{padding-top: 0;}
.kfh-duo{display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px;}
.kfh-duo-panel{position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 380px; overflow: hidden; border-radius: 5px; background: #0a0908; color: #f5f2eb; text-decoration: none;}
.kfh-duo-panel img{position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.2) brightness(.62) contrast(1.05); transition: transform .9s var(--kf-ease), filter .6s ease;}
.kfh-duo-panel::after{content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10, 9, 8, .94) 0%, rgba(10, 9, 8, .2) 65%);}
.kfh-duo-panel:hover img{transform: scale(1.05); filter: grayscale(0) brightness(.7) contrast(1.05);}
.kfh-duo-body{display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px 24px;}
.kfh-duo-body strong{font-size: clamp(24px, 3vw, 36px); font-weight: 900; line-height: 1.05; text-transform: uppercase;}
.kfh-duo-text{max-width: 40ch; color: #d8d1c4; font-size: 15px; line-height: 1.6;}
.kfh-duo-go{display: inline-flex; align-items: center; gap: 10px; margin-top: 6px; color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; transition: gap .3s var(--kf-ease);}
.kfh-duo-panel:hover .kfh-duo-go{gap: 16px;}
.kfh-studio-sec{position: relative; padding: 0 0 72px;}
.kfh-studio{position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: end; min-height: 520px; padding: 40px 24px; overflow: hidden; border-radius: 5px; background: linear-gradient(135deg, #1a1411 0%, #0a0908 100%); color: #f5f2eb;}
.kfh-studio-bg{position: absolute; inset: 0; z-index: -1; overflow: hidden;}
.kfh-studio-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) brightness(.6) contrast(1.05);}
.kfh-studio-veil{position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 9, 8, .92) 0%, rgba(10, 9, 8, .45) 70%, rgba(10, 9, 8, .75) 100%);}
.kfh-studio-content{min-width: 0; max-width: 620px;}
.kfh-studio .headline-kf{color: #f5f2eb;}
.kfh-studio .body-kf{color: #d8d1c4;}
.kfh-studio .kfh-chips li{border-color: rgba(245, 242, 235, .3); color: #e6dfd2;}
.kfh-studio .btn-kf-outline{color: #f5f2eb; border-color: rgba(245, 242, 235, .45);}
.kfh-studio-title{margin: 12px 0 16px; font-size: clamp(34px, 5vw, 64px);}
.kfh-studio-side{display: flex; flex-direction: column; border: 1px solid rgba(245, 242, 235, .22); border-radius: 5px; background: rgba(10, 9, 8, .6);}
.kfh-studio-side-label{padding: 16px 20px; border-bottom: 1px solid rgba(245, 242, 235, .18); color: var(--kf-gold); font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;}
.kfh-studio-side a{display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 14px; align-items: center; padding: 18px 20px; border-bottom: 1px solid rgba(245, 242, 235, .14); color: #f5f2eb; text-decoration: none; transition: background .3s ease, color .3s ease;}
.kfh-studio-side a:last-child{border-bottom: none;}
.kfh-studio-side a strong{grid-column: 1; font-size: 15px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;}
.kfh-studio-side a span{grid-column: 1; margin-top: 2px; color: #bdb5a8; font-size: 13px;}
.kfh-studio-side a svg{grid-column: 2; grid-row: 1 / span 2; color: var(--kf-gold); transition: transform .4s var(--kf-ease);}
.kfh-studio-side a:hover{background: rgba(201, 162, 39, .12); color: var(--kf-gold);}
.kfh-studio-side a:hover svg{transform: translateX(5px);}
.kfh-roster{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start;}
.kfh-artist{position: relative; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid var(--kf-border); border-radius: 5px;}
.kfh-artist img{filter: grayscale(.35) contrast(1.05); transition: transform .8s var(--kf-ease), filter .5s ease;}
.kfh-artist:hover img{transform: scale(1.05); filter: grayscale(0) contrast(1.05);}
.kfh-artist::after{content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 9, 8, .88) 0%, rgba(10, 9, 8, 0) 55%); pointer-events: none;}
.kfh-artist-index{position: absolute; left: 14px; top: 12px; z-index: 2; color: transparent; font-size: 34px; font-weight: 900; line-height: 1; -webkit-text-stroke: 1px rgba(245, 242, 235, .75);}
.kfh-artist-info{position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 4px; padding: 18px 16px;}
.kfh-artist-name{color: #f5f2eb; font-size: clamp(17px, 2vw, 22px); font-weight: 900; line-height: 1.1; text-transform: uppercase; overflow-wrap: break-word;}
.kfh-artist-genre{color: var(--kf-gold-soft); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
.kfh-artist-genre:empty{display: none;}
.kfh-dj{display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; align-items: center;}
.kfh-dj-copy{min-width: 0;}
.kfh-dj-cards{display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px;}
.kfh-dj-card{display: grid; grid-template-columns: 112px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--kf-border-strong); border-radius: 5px; background: var(--kf-bg); transition: border-color .3s ease;}
.kfh-dj-card:hover{border-color: var(--kf-gold);}
.kfh-dj-art{position: relative; min-height: 112px; overflow: hidden;}
.kfh-dj-art img{filter: grayscale(.3); transition: transform .7s var(--kf-ease), filter .5s ease;}
.kfh-dj-card:hover .kfh-dj-art img{transform: scale(1.06); filter: grayscale(0);}
.kfh-dj-tag{position: absolute; left: 6px; bottom: 6px; right: 6px; z-index: 2; padding: 4px 6px; background: rgba(10, 9, 8, .82); color: var(--kf-gold); font-size: 9px; font-weight: 800; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase;}
.kfh-dj-body{display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 18px 18px 18px 20px; min-width: 0;}
.kfh-dj-head{display: flex; align-items: flex-start; justify-content: space-between; gap: 14px;}
.kfh-dj-title{margin: 0; color: var(--kf-text); font-size: 20px; font-weight: 900; line-height: 1.1; overflow-wrap: break-word;}
.kfh-dj-artist{display: block; margin-top: 4px; color: var(--kf-gold-soft); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;}
.kfh-dj-play{flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: none; border-radius: 50%; background: var(--kf-gold); color: var(--kf-black); cursor: pointer; transition: transform .3s ease, background .3s ease, box-shadow .3s ease;}
.kfh-dj-play:hover{transform: scale(1.08); background: var(--kf-gold-soft);}
.kfh-dj-play.is-playing{box-shadow: 0 0 0 8px rgba(201, 162, 39, .18);}
.kfh-dj-meta{display: flex; flex-wrap: wrap; gap: 10px 26px; padding-top: 12px; border-top: 1px solid var(--kf-border);}
.kfh-dj-meta-item span{display: block; color: var(--kf-muted-2); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
.kfh-dj-meta-item strong{display: block; margin-top: 3px; color: var(--kf-text); font-size: 14px; font-weight: 700;}
.kfh-start{display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px;}
.kfh-start-head{min-width: 0;}
.kfh-start-list{margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--kf-border-strong);}
.kfh-start-list a{display: flex; align-items: center; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--kf-border); color: var(--kf-text); text-decoration: none; transition: color .3s ease, padding-left .4s var(--kf-ease);}
.kfh-start-n{color: var(--kf-gold); font-size: 12px; font-weight: 800; letter-spacing: .16em;}
.kfh-start-t{flex: 1 1 auto; min-width: 0; font-size: clamp(17px, 2vw, 24px); font-weight: 700; line-height: 1.25;}
.kfh-start-list svg{flex: 0 0 auto; color: var(--kf-muted-2); transition: color .3s ease, transform .4s var(--kf-ease);}
.kfh-start-list a:hover{color: var(--kf-gold); padding-left: 12px;}
.kfh-start-list a:hover svg{color: var(--kf-gold); transform: translateX(6px);}
.kfh-cta{position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 460px; padding: 88px 0 72px; overflow: hidden; background: #0a0908; border-top: 1px solid var(--kf-gold);}
.kfh-cta-bg{position: absolute; inset: 0; z-index: -2;}
.kfh-cta-bg img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.2) brightness(.45) contrast(1.08);}
.kfh-cta::after{content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(10, 9, 8, .92) 0%, rgba(10, 9, 8, .5) 100%);}
.kfh-cta-inner{display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: end; width: 100%;}
.kfh-cta-title{margin: 0; color: #f5f2eb; font-size: clamp(38px, 7vw, 96px); line-height: .94;}
.kfh-cta-side{padding-left: 20px; border-left: 2px solid var(--kf-gold);}
.kfh-cta-sub{max-width: 46ch; margin: 0; color: #d8d1c4; font-size: 16.5px; line-height: 1.7;}
.kfh-cta-actions{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px;}
.kfh-cta .btn-kf-outline{color: #f5f2eb; border-color: rgba(245, 242, 235, .45);}
html.light .kfh-spot{background: var(--kf-surface);}
html.light .kfh-dj-card{background: var(--kf-surface);}
html.light .kfh-feat-media img, html.light .kfh-artist img{filter: grayscale(.1) contrast(1.02);}