/* Fonk / fans / DJs / SIGNR. Scoped brand surfaces; original CMS fields retained. */
.home-v2{--fonk-gold:#e8c65d;--fonk-light:#f7e9b4}
.home-v2 .fonk-section{background:#181711;color:var(--fonk-light);position:relative;isolation:isolate;overflow:hidden;border-top:3px solid var(--fonk-gold);padding-top:96px;padding-bottom:96px}
.home-v2 .fonk-section:before{content:'';position:absolute;z-index:-1;width:570px;height:570px;border-radius:50%;left:-120px;top:-40px;background:repeating-radial-gradient(circle,transparent 0 22px,#e8c65d0c 23px 24px);pointer-events:none}
.home-v2 .fonk-intro h2{color:var(--fonk-gold)}
.home-v2 .fonk-intro h2 span{color:var(--fonk-light)}
.home-v2 .fonk-intro .eyebrow{color:var(--fonk-gold)}
.home-v2 .fonk-intro .text-link{color:#f1e9cc;border-color:#c9ac54}
.home-v2 .episode-panel{border-color:#756436;position:relative}
.home-v2 .episode-top,.home-v2 .episode-number>span{color:#d6c99e}
.home-v2 .episode-number{color:var(--fonk-gold);font-weight:500}
.home-v2 .episode-bottom .solid-button{background:var(--fonk-gold);color:#181711;min-height:54px;padding:16px 26px}
.home-v2 .episode-bottom .solid-button:hover{background:#f5db83;color:#181711;border-color:#181711}
.home-v2 .episode-bottom .text-button{color:var(--fonk-light)}
.home-v2 .player{background:#1c1b15;color:#f7e9b4;border-color:#73633b}
.home-v2 .player-play{background:var(--fonk-gold);color:#181711;border-color:var(--fonk-gold)}
.home-v2 .player-ident small,.home-v2 .player-progress,.home-v2 .tracklist small{color:#cfc29a}
.home-v2 .player-detail{border-color:#73633b}.home-v2 .player-progress input{accent-color:var(--fonk-gold)}
.home-v2 .community-section{gap:20px;padding-top:40px;padding-bottom:80px;border:0;grid-template-columns:1fr 1fr}
.home-v2 .community-section .fan-invite,.home-v2 .community-section .promo-section{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:400px;padding:44px;background:#e9e6dc}
.home-v2 .community-section .promo-section{background:#202323;color:#fff}
.home-v2 .community-section .eyebrow{font-size:11px;letter-spacing:.12em;position:relative}
.home-v2 .community-section h2{font-size:clamp(38px,4.1vw,64px);line-height:1.02;max-width:7.8ch;letter-spacing:-.055em;margin:44px 0 20px;position:relative}
.home-v2 .community-section p{font-size:15px;line-height:1.6;max-width:27ch;position:relative;color:#41413c}
.home-v2 .community-section .promo-section p{color:#e0e3df}
.home-v2 .community-section .community-cta{display:flex;align-items:center;gap:26px;min-height:48px;margin-top:auto;padding:12px 0 4px;background:none;border:0;border-bottom:1px solid currentColor;color:inherit;font-size:14px;position:relative;font-weight:500}
.home-v2 .community-cta>span{font-size:24px;line-height:1;transition:transform .2s}
.home-v2 .community-cta:hover>span{transform:rotate(90deg)}
.fan-signal{position:absolute;width:290px;height:290px;right:-75px;top:68px;z-index:-1;color:#c5bfab}
.fan-signal i{position:absolute;inset:0;border:1px solid currentColor;border-radius:50%}.fan-signal i:nth-child(2){inset:30px}.fan-signal i:nth-child(3){inset:60px}.fan-signal b{position:absolute;inset:92px;display:grid;place-items:center;background:#161712;color:#e8c65d;border-radius:50%;font:800 56px var(--display)}
.promo-photo{position:absolute;inset:0;z-index:-1;background:#202323;transition:transform .5s}
.home-v2 .promo-section:hover .promo-photo{transform:scale(1.025)}
.home-v2 .studio-section{margin:0 var(--gutter) 80px;padding:0;display:grid;grid-template-columns:1fr 1.4fr;gap:7%;background:#fff;align-items:start}
.home-v2 .studio-heading{padding-top:28px;border-top:2px solid #111}
.home-v2 .studio-heading h2{font-size:clamp(42px,5.5vw,80px);max-width:8ch;margin-top:30px}
.home-v2 .studio-routes>a{padding:26px 0}
.home-v2 .studio-routes .signr-route{position:relative;isolation:isolate;overflow:hidden;background:#18191b;border:0;padding:36px;color:#e9e4db;min-height:255px;margin-bottom:12px;align-items:center}
.home-v2 .signr-route h3{margin:0}.signr-wordmark{width:195px;max-width:100%;height:auto;display:block}
.home-v2 .studio-routes .signr-route p{color:#cbc7c0;margin:18px 0 28px;max-width:24ch}
.signr-action{display:flex;gap:24px;align-items:center;font-size:14px;color:#fff;font-weight:500}.signr-action>span{color:#ff7278;font-size:24px}
.signr-bars{position:absolute;right:20px;bottom:0;width:35%;height:130px;display:flex;gap:6px;align-items:flex-end;z-index:-1;opacity:.38;transform:skewY(-12deg);transform-origin:bottom right}
.signr-bars i{flex:1;max-width:12px;height:var(--bar);background:#ff535b;transition:transform .3s;transform-origin:bottom}
.signr-route:hover .signr-bars i{transform:scaleY(1.12)}
.home-v2 .studio-routes>a:not(.signr-route):hover{padding-left:10px}
.home-v2 .studio-routes>a:focus-visible,.home-v2 .community-cta:focus-visible,.home-v2 .episode-bottom button:focus-visible{outline:3px solid #b37f13;outline-offset:5px}
@media(max-width:800px){.home-v2 .community-section{gap:16px}.home-v2 .community-section .fan-invite,.home-v2 .community-section .promo-section{padding:30px;min-height:380px}.home-v2 .studio-section{gap:30px}.signr-wordmark{width:165px}.home-v2 .studio-routes .signr-route{padding:28px}.home-v2 .studio-heading h2{font-size:54px}}
@media(max-width:650px){.home-v2 .community-section{grid-template-columns:1fr;padding-top:30px;padding-bottom:56px;gap:16px}.home-v2 .community-section .fan-invite,.home-v2 .community-section .promo-section{min-height:350px;padding:32px}.home-v2 .community-section h2{font-size:48px;margin-top:35px}.home-v2 .studio-section{grid-template-columns:1fr;margin-bottom:56px}.home-v2 .studio-heading h2{max-width:none;font-size:48px;margin-top:24px}.home-v2 .studio-routes .signr-route{min-height:250px}.home-v2 .fonk-section{padding:56px 24px;gap:36px}.home-v2 .fonk-intro h2{font-size:clamp(100px,31vw,150px)}.home-v2 .episode-bottom{gap:14px;flex-wrap:wrap}.home-v2 .episode-number{font-size:124px}.home-v2 .player-progress{color:#e4d6aa}}
@media(prefers-reduced-motion:reduce){.home-v2 .community-cta>span,.promo-photo,.signr-bars i{transition:none}.home-v2 .promo-section:hover .promo-photo,.signr-route:hover .signr-bars i{transform:none}}

.fan-signal b:after{content:"";width:16px;height:16px;border-radius:50%;background:#e8c65d}.promo-photo img{width:100%;height:100%;object-fit:cover}.promo-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101616eb,#10161687)}
.home-v2 .fonk-description{max-width:440px;color:#e5d9b4;line-height:1.65;font-size:15px;margin:24px 0}.home-v2 .fonk-numbers{grid-column:1/-1;display:flex;gap:45px;align-items:end;border-top:1px solid #ffffff29;padding-top:26px}.fonk-numbers strong{display:block;font-size:42px;font-weight:500;letter-spacing:-.05em}.fonk-numbers span{display:block;font-size:12px;margin-top:6px}.fonk-numbers small{font-size:10px;opacity:.7}.fonk-numbers a{color:inherit}@media(max-width:650px){.home-v2 .fonk-numbers{flex-wrap:wrap;gap:22px}.fonk-numbers small{width:100%}}

/* Cover tilt: transitions-dev card-tilt; scoped project overrides below. */
:root {
  --tilt-perspective: 1000px;
  --tilt-return: 1000ms;
  --tilt-return-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --tilt-follow: 400ms;
  --tilt-follow-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --tilt-glare-opacity: 0.32;
  --tilt-glare-fade: 300ms;
  --tilt-glare-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
/* The outer wrapper is the flat hit area; touch-action:none
   lets a finger drag tilt the card instead of scrolling the
   page, so tap-hold-drag works on mobile. */
.t-tilt { touch-action: none; }
/* The card tilts toward the pointer via rotateX/rotateY fed
   from JS; on leave it eases back to flat. A separate
   .is-tilting class swaps in a short linear follow while the
   pointer moves so the tilt tracks the cursor 1:1. */
.t-tilt-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  transform:
    perspective(var(--tilt-perspective))
    rotateX(var(--tilt-rx, 0deg))
    rotateY(var(--tilt-ry, 0deg));
  transform-style: preserve-3d;
  transition: transform var(--tilt-return) var(--tilt-return-ease);
  will-change: transform;
}
.t-tilt-card.is-tilting {
  transition: transform var(--tilt-follow) var(--tilt-follow-ease);
}
/* Cursor-tracked glare: layered soft circles that add like
   light (screen blend) at the pointer position. */
.t-tilt-glare {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  background:
    radial-gradient(circle 95px at var(--tilt-gx, 50%) var(--tilt-gy, 50%),
      rgba(255,255,255,0.48), rgba(255,255,255,0.06) 52%, rgba(255,255,255,0) 84%),
    radial-gradient(circle 200px at var(--tilt-gx, 50%) var(--tilt-gy, 50%),
      rgba(255,255,255,0.22), rgba(255,255,255,0.04) 58%, rgba(255,255,255,0) 78%),
    radial-gradient(circle 360px at var(--tilt-gx, 50%) var(--tilt-gy, 50%),
      rgba(255,255,255,0.10), rgba(255,255,255,0) 88%);
  transition: opacity var(--tilt-glare-fade) var(--tilt-glare-ease);
}
.t-tilt.is-hover .t-tilt-glare { opacity: var(--tilt-glare-opacity); }

@media (prefers-reduced-motion: reduce) {
  .t-tilt-card { transform: none !important; transition: none !important; }
}

.home-v2 .episode-visual.has-cover{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:20px;align-items:center;margin:28px 0}
.home-v2 .episode-visual.has-cover .episode-number{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;font-size:clamp(72px,8.5vw,130px);line-height:1;letter-spacing:-.07em}
.home-v2 .episode-visual.has-cover .episode-number>span{font-size:12px;letter-spacing:.09em;line-height:1;margin-top:24px;font-variant-numeric:tabular-nums}
.home-v2 .episode-cover{display:block;width:100%;padding:0;background:none;border:0;color:var(--fonk-light);touch-action:pan-y;--tilt-return:550ms;--tilt-follow:160ms;--tilt-glare-opacity:.4}
.home-v2 .episode-cover .t-tilt-card{display:block;border-radius:0;box-shadow:0 12px 28px #0005;will-change:auto}
.home-v2 .episode-cover .t-tilt-card.is-tilting{will-change:transform}
.home-v2 .episode-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.home-v2 .episode-cover-play{position:absolute;right:12px;bottom:12px;border:1px solid #f7e9b46b;background:#181711e8;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:12px;line-height:1;color:#f7e9b4}
.home-v2 .episode-cover:focus-visible{outline:2px solid var(--fonk-gold);outline-offset:6px}
@media(max-width:760px){.home-v2 .episode-visual.has-cover{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:20px}.home-v2 .episode-visual.has-cover .episode-number{font-size:clamp(68px,20vw,124px)}}
@media(prefers-reduced-motion:reduce){.home-v2 .episode-cover .t-tilt-glare{display:none}}
