:root { --bg: #0a0a0e;
    --surface: #111117;
    --ink: #f1f0f6;
    --dim: #aaa6b7;
    --faint: #716d7e;
    --pink: #ff5ea8;
    --violet: #a78bfa;
    --blue: #6e91e6;
    --mint: #9fe3d1;
    --yellow: #f3d95b;
    --line: rgba(255,255,255,.1);
    --card: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); }

*, *::before, *::after { box-sizing: border-box; }

* { margin: 0; }

html { scroll-behavior: smooth; scroll-padding-top: 90px; }

body { background: var(--bg);
    color: var(--ink);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden; }

img { display: block; max-width: 100%; height: auto; }

a { color: inherit; }

button, a { -webkit-tap-highlight-color: transparent; }

button { font: inherit; }

::selection { background: rgba(255,94,168,.35); color: #fff; }

:focus-visible { outline: 2px solid var(--pink); outline-offset: 4px; }

.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000;
    padding: .7rem 1rem; border-radius: 8px; background: #fff; color: #111; }

.skip-link:focus { top: 1rem; }

.container { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; }

.ambient { position: fixed; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }

.orb { position: absolute; border-radius: 50%; filter: blur(110px); opacity: .2; }

.orb.one { width: 55vw; height: 55vw; top: -30vw; left: -15vw; background: var(--pink); }

.orb.two { width: 45vw; height: 45vw; top: 38vh; right: -25vw; background: var(--violet); }

.orb.three { width: 40vw; height: 40vw; top: 150vh; left: -25vw; background: var(--blue); }

.noise { position: absolute; inset: 0; opacity: .035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100;
    border-bottom: 1px solid transparent;
    transition: background .3s, border-color .3s, backdrop-filter .3s; }

.site-header.scrolled, .site-header.open { background: rgba(10,10,14,.86); border-color: var(--line); backdrop-filter: blur(18px); }

.nav { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }

.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; flex-shrink: 0; }

.brand img { width: 64px; height: 60px; object-fit: contain; }

.brand span { max-width: 90px; color: var(--dim); font-size: .64rem; line-height: 1.35; letter-spacing: .13em; text-transform: uppercase; }

.nav-links { display: flex; align-items: center; gap: 1.25rem; margin-left: auto; list-style: none; padding: 0; }

.nav-links a { color: #c3bfce; font-size: .84rem; text-decoration: none; transition: color .2s; }

.nav-links a:hover { color: #fff; }

.nav-links a.nav-featured { display: inline-flex; align-items: center; padding: .4rem .7rem; border: 1px solid rgba(255,94,168,.38); border-radius: 999px; white-space: nowrap; }

.nav-links a.nav-featured:hover { border-color: rgba(255,94,168,.65); }

.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }

.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; display: block; width: 18px; height: 1px; margin: 4px auto; background: currentColor; transition: transform .2s, opacity .2s; }

.site-header.open .menu-toggle span { opacity: 0; }

.site-header.open .menu-toggle::before { transform: translateY(5px) rotate(45deg); }

.site-header.open .menu-toggle::after { transform: translateY(-5px) rotate(-45deg); }

.hero { min-height: 100svh; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); padding-top: 8.5rem; padding-bottom: 4rem; }

.eyebrow { display: inline-flex; align-items: center; gap: .65rem; color: #c0bbcb; font-size: .74rem; font-weight: 650; letter-spacing: .17em; text-transform: uppercase; }

.eyebrow::before { content: ""; width: 26px; height: 1px; background: linear-gradient(90deg, var(--pink), var(--violet)); }

.hero-logo { width: 155px; margin: 1.5rem 0 1rem; filter: drop-shadow(0 12px 25px rgba(0,0,0,.35)); }

h1 { max-width: 650px; font-size: clamp(2.7rem, 5.5vw, 5.25rem); line-height: .99; letter-spacing: -.055em; font-weight: 820; }

@keyframes shimmer { to { background-position: 300% 0; } }

.hero-sub { max-width: 570px; margin-top: 1.5rem; color: var(--dim); font-size: clamp(1rem, 1.5vw, 1.13rem); }

.hero-sub strong { color: #ece9f2; font-weight: 650; }

.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem;
    min-height: 50px; padding: .8rem 1.35rem; border: 1px solid var(--line); border-radius: 999px;
    color: #fff; background: rgba(255,255,255,.025); font-size: .9rem; font-weight: 700;
    text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }

.button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.28); }

.button.primary { border-color: transparent; background: linear-gradient(100deg, var(--pink), #d56fca); box-shadow: 0 10px 34px rgba(255,94,168,.24); }

.button.primary:hover { box-shadow: 0 14px 42px rgba(255,94,168,.4); }

.button svg { width: 16px; height: 16px; flex: none; }

.hero-chips { display: flex; flex-wrap: wrap; gap: .6rem 1.1rem; margin-top: 1.8rem; color: var(--faint); font-size: .76rem; }

.hero-chips span { display: inline-flex; align-items: center; gap: .45rem; }

.hero-chips span::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--violet); }

.hero-media { position: relative; min-height: min(680px, 72vh); isolation: isolate; }

.hero-image { position: absolute; inset: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.17);
    border-radius: 30px 30px 110px 30px; background: #181121;
    box-shadow: 0 35px 100px rgba(0,0,0,.45), 0 0 70px rgba(167,139,250,.1);
    transform: rotate(1.5deg); }

.hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,14,.05) 45%, rgba(10,10,14,.9)), linear-gradient(90deg, rgba(10,10,14,.3), transparent 40%); }

.location-tag { position: absolute; z-index: 2; top: 1.5rem; left: 1.5rem; display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(10,10,14,.55); backdrop-filter: blur(10px); color: #fff; font-size: .67rem; letter-spacing: .13em; text-transform: uppercase; }

.location-tag::before { content: ""; width: 6px; height: 6px; background: var(--mint); border-radius: 50%; box-shadow: 0 0 12px var(--mint); }

.hero-caption { position: absolute; z-index: 2; left: 2rem; right: 2rem; bottom: 2rem; }

.hero-caption .small { color: #d0c8dc; font-size: .67rem; letter-spacing: .17em; text-transform: uppercase; }

.hero-caption p { max-width: 370px; margin-top: .4rem; font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.25; font-weight: 720; letter-spacing: -.025em; }

.now-badge { position: absolute; z-index: 3; right: -.25rem; top: 12%; width: 138px; height: 138px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; padding: 1rem; border-radius: 50%; background: linear-gradient(145deg, #82caff, #58a9ee); color: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.48), 0 0 28px rgba(0,0,0,.24); transform: rotate(9deg); }

.now-badge strong { font-size: clamp(3rem, 5vw, 4.75rem); line-height: .8; letter-spacing: -.07em; }

.now-badge img { width: 62px; max-height: 25px; object-fit: contain; }

.marquee { overflow: hidden; border-block: 1px solid var(--line); padding: .95rem 0; white-space: nowrap; mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }

.marquee-track { display: flex; width: max-content; animation: marquee 32s linear infinite; }

.marquee-group { display: flex; align-items: center; gap: 2.5rem; padding-right: 2.5rem; }

.marquee span { color: #878191; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }

.marquee .bright { color: #d8d2e1; }

.marquee i { width: 5px; height: 5px; border-radius: 50%; background: linear-gradient(135deg, var(--pink), var(--violet)); }

@keyframes marquee { to { transform: translateX(-50%); } }

.section { padding-top: clamp(5rem, 10vw, 8.5rem); }

.section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); align-items: end; gap: 2rem; margin-bottom: 2.5rem; }

.section-number { display: block; margin-bottom: .8rem; color: var(--pink); font-size: .7rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }

h2 { font-size: clamp(2rem, 4.2vw, 3.75rem); line-height: 1.07; letter-spacing: -.045em; font-weight: 790; }

.section-heading > p { max-width: 440px; color: var(--dim); font-size: .98rem; }

.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5.5rem); align-items: center; }

.story-copy .lead { color: #e4e0eb; font-size: clamp(1.15rem, 2vw, 1.42rem); line-height: 1.48; letter-spacing: -.02em; }

.story-copy > p + p { margin-top: 1.15rem; color: var(--dim); }

.story-copy strong { color: #efecf4; font-weight: 650; }

.story-note { margin-top: 1.8rem; padding: 1.1rem 1.2rem; border-left: 2px solid var(--violet); border-radius: 0 12px 12px 0; background: rgba(167,139,250,.055); color: #bcb5cb; font-size: .9rem; }

.story-note strong { display: block; margin-bottom: .2rem; color: var(--violet); font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }

.story-visual { position: relative; }

.story-visual::before { content: ""; position: absolute; inset: 8% 0 -5% 8%; border: 1px solid rgba(255,94,168,.28); border-radius: 24px; transform: rotate(4deg); }

.story-visual img { position: relative; width: 100%; aspect-ratio: 4 / 4.25; object-fit: cover; object-position: 35% center; border: 1px solid var(--line); border-radius: 24px; filter: saturate(.88); }

.story-visual .image-label { position: absolute; right: -1rem; bottom: 1.5rem; max-width: 190px; padding: 1rem 1.2rem; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(14,12,20,.88); backdrop-filter: blur(12px); box-shadow: 0 15px 45px rgba(0,0,0,.35); }

.image-label b { display: block; color: var(--pink); font-size: 1.35rem; line-height: 1.1; }

.image-label span { color: var(--dim); font-size: .72rem; white-space: nowrap; }

.fact-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 4rem; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--line); }

.fact { padding: 1.5rem; background: rgba(15,15,21,.96); }

.fact strong { display: block; font-size: 1.35rem; letter-spacing: -.03em; }

.fact span { color: var(--faint); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }

.characters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }

.character { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--card); transition: transform .3s, border-color .3s, box-shadow .3s; }

.character:hover { transform: translateY(-5px); border-color: rgba(167,139,250,.42); box-shadow: 0 18px 50px rgba(0,0,0,.22); }

.portrait { position: relative; aspect-ratio: 1.35; overflow: hidden; background: #18151f; }

.portrait::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(10,10,14,.7)); }

.portrait img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s, filter .3s; }

.character:hover .portrait img { transform: scale(1.045); filter: saturate(1.1); }

.portrait.korney img { object-position: 8% 45%; }

.portrait.rok img { object-position: 45% 48%; }

.portrait.draka img { object-position: 42% 48%; }

.portrait.noper img { object-position: 4% 45%; }

.portrait.ud img { object-position: 56% 45%; }

.portrait.mojo img { object-position: 94% 45%; }

.character-index { position: absolute; z-index: 1; top: .65rem; left: .9rem; color: rgba(255,255,255,.7); font-size: clamp(3rem, 5vw, 4.75rem); font-weight: 850; letter-spacing: -.07em; line-height: 1; text-shadow: 0 5px 24px rgba(0,0,0,.28); }

.character-body { padding: 1.25rem 1.3rem 1.4rem; }

.character-role { color: var(--pink); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.character h3 { margin-top: .25rem; font-size: 1.5rem; letter-spacing: -.03em; }

.character p { margin-top: .55rem; color: var(--dim); font-size: .86rem; line-height: 1.55; }

.voice { display: block; margin-top: .9rem; color: var(--faint); font-size: .7rem; }

.voice b { color: #bcb6c8; font-weight: 600; }

.episode-heading { align-items: center; }

.rail-controls { display: flex; gap: .55rem; justify-content: flex-end; }

.rail-button { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.025); color: #fff; cursor: pointer; transition: border-color .2s, background .2s, opacity .2s; }

.rail-button:hover:not(:disabled) { border-color: var(--pink); background: rgba(255,94,168,.08); }

.rail-button:disabled { opacity: .28; cursor: default; }

.rail-button svg { width: 18px; height: 18px; }

.episode-rail { display: flex; gap: 1rem; overflow-x: auto; padding: .25rem max(1.5rem, calc((100vw - 1180px) / 2)) 1.5rem; scroll-padding-inline: max(1.5rem, calc((100vw - 1180px) / 2)); scroll-snap-type: x mandatory; scrollbar-width: none; }

.episode-rail::-webkit-scrollbar { display: none; }

.episode-card { flex: 0 0 min(350px, 82vw); overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--card); text-decoration: none; scroll-snap-align: start; transition: transform .3s, border-color .3s; }

.episode-card:hover { transform: translateY(-4px); border-color: rgba(255,94,168,.45); }

.episode-thumb { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #19151f; }

.episode-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), transparent 55%, rgba(0,0,0,.4)); }

.episode-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }

.episode-card:hover .episode-thumb img { transform: scale(1.035); }

.episode-number { position: absolute; z-index: 2; top: .8rem; left: .8rem; padding: .35rem .55rem; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; background: rgba(10,10,14,.72); backdrop-filter: blur(8px); color: #fff; font-size: .64rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.play { position: absolute; z-index: 2; right: .9rem; bottom: .9rem; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.94); color: #111; box-shadow: 0 5px 20px rgba(0,0,0,.25); transition: transform .25s, background .25s; }

.episode-card:hover .play { transform: scale(1.08); background: var(--pink); color: #fff; }

.play svg { width: 15px; height: 15px; margin-left: 2px; }

.episode-info { padding: 1.05rem 1.15rem 1.2rem; }

.episode-meta { display: flex; justify-content: space-between; gap: 1rem; color: var(--faint); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }

.episode-info h3 { min-height: 2.8em; margin-top: .5rem; font-size: .98rem; line-height: 1.4; letter-spacing: -.01em; }

.watch-label { display: inline-flex; align-items: center; gap: .4rem; margin-top: .9rem; color: #c8c1d2; font-size: .72rem; font-weight: 650; }

.watch-label span { color: var(--pink); transition: transform .2s; }

.episode-card:hover .watch-label span { transform: translateX(3px); }

.rail-note { display: flex; justify-content: space-between; gap: 1rem; margin-top: .3rem; color: var(--faint); font-size: .72rem; }

.rail-note .availability { display: inline-flex; align-items: center; gap: .5rem; }

.availability::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 10px rgba(159,227,209,.5); }

.distribution-content .button { margin-top: 1.7rem; }

.spotify-card .section-number { color: #7ef0aa; }

.spotify-card .button { border-color: rgba(30,215,96,.5); background: rgba(30,215,96,.12); box-shadow: 0 10px 30px rgba(30,215,96,.1); }

.spotify-card .button:hover { border-color: rgba(30,215,96,.85); box-shadow: 0 14px 38px rgba(30,215,96,.18); }

.seasons { position: relative; }

.season-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }

.season { position: relative; min-height: 355px; display: flex; flex-direction: column; overflow: hidden; padding: 1.5rem; border: 1px solid var(--line); border-radius: 20px; background: var(--card); transition: transform .3s, border-color .3s; }

.season:hover { transform: translateY(-4px); border-color: rgba(167,139,250,.4); }

.season::after { content: attr(data-season); position: absolute; right: -.08em; bottom: -.28em; color: rgba(255,255,255,.026); font-size: 13rem; font-weight: 850; line-height: 1; letter-spacing: -.1em; pointer-events: none; }

.season.featured { border-color: rgba(255,94,168,.38); background: radial-gradient(120% 100% at 0 0, rgba(255,94,168,.1), rgba(255,255,255,.012) 65%); }

.season-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }

.season-num { color: #d8d2e1; font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }

.status { padding: .3rem .55rem; border: 1px solid rgba(159,227,209,.3); border-radius: 999px; color: var(--mint); font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }

.status.progress { border-color: rgba(255,94,168,.35); color: var(--pink); }

.status.development { border-color: rgba(167,139,250,.35); color: #bdacf8; }

.season h3 { margin-top: 2.5rem; font-size: 2rem; letter-spacing: -.04em; }

.season .arc { color: var(--pink); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

.season p { position: relative; z-index: 1; margin-top: 1rem; color: var(--dim); font-size: .9rem; }

.season-bottom { position: relative; z-index: 1; margin-top: auto; padding-top: 1.5rem; color: var(--faint); font-size: .72rem; }

.standout-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }

.standout { padding: 1.35rem; border: 1px solid var(--line); border-radius: 17px; background: var(--card); }

.standout-icon { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(167,139,250,.25); border-radius: 10px; background: rgba(167,139,250,.08); color: var(--violet); }

.standout-icon svg { width: 18px; height: 18px; }

.standout h3 { margin-top: 1rem; font-size: 1rem; }

.standout p { margin-top: .45rem; color: var(--dim); font-size: .82rem; }

.credits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 2.5rem; padding: 1.7rem 0; border-block: 1px solid var(--line); }

.credit span { display: block; color: var(--faint); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }

.credit strong { display: block; margin-top: .35rem; color: #d7d1df; font-size: .82rem; font-weight: 600; line-height: 1.5; }

.partner-content .section-number { color: #9db9f2; }

.partner-content .button { margin-top: 1.5rem; }

.shop-copy .section-number { color: rgba(36,16,30,.72); }

.raw-copy .section-number { color: #ffc27e; }

.raw-card .button { flex: none; border-color: rgba(255,177,101,.45); background: rgba(255,177,101,.12); color: #ffddad; box-shadow: 0 10px 30px rgba(255,157,71,.08); }

.raw-card .button:hover { border-color: rgba(255,177,101,.85); box-shadow: 0 14px 38px rgba(255,157,71,.15); }

.brewery-card .section-number { color: #ff9b73; }

.brewery-card .button { flex: none; border-color: rgba(255,102,65,.5); background: rgba(255,102,65,.14); color: #ffd2c0; box-shadow: 0 10px 30px rgba(255,78,42,.1); }

.brewery-card .button:hover { border-color: rgba(255,102,65,.9); box-shadow: 0 14px 38px rgba(255,78,42,.18); }

.little-big-main .section-number { color: rgba(36,16,30,.72); }

.kiffness-art .portrait { position: absolute; left: 1.1rem; bottom: 1.2rem; display: block; width: 44%; height: auto; border: 4px solid #fff; border-radius: 22px; box-shadow: 0 15px 35px rgba(0,0,0,.38); transform: rotate(4deg); }

.kiffness-content .section-number { color: rgba(36,16,30,.7); }

.kiffness-content .button { margin-top: 1.35rem; border-color: rgba(36,16,30,.25); background: rgba(36,16,30,.82); color: #fff; box-shadow: 0 10px 30px rgba(36,16,30,.18); }

.kiffness-content .button:hover { box-shadow: 0 14px 38px rgba(36,16,30,.3); }

@media (max-width: 560px) {
  .kiffness-art .portrait { left: .6rem; bottom: .7rem; width: 46%; }
}

.wideworlds-copy .section-number { color: var(--mint); }

.wideworlds-copy .button { margin-top: 1.35rem; border-color: transparent; background: var(--mint); color: #07110e; box-shadow: 0 10px 30px rgba(159,227,209,.16); }

.wideworlds-copy .button:hover { box-shadow: 0 14px 38px rgba(159,227,209,.26); }

.cta { position: relative; overflow: hidden; margin-top: clamp(5rem, 10vw, 8rem); padding: clamp(3rem, 7vw, 5.5rem) 2rem; border: 1px solid rgba(255,94,168,.3); border-radius: 28px; background: radial-gradient(90% 150% at 50% 0, rgba(255,94,168,.14), rgba(167,139,250,.055) 45%, rgba(255,255,255,.01) 75%); text-align: center; }

.cta::before, .cta::after { content: ""; position: absolute; width: 250px; height: 250px; border: 1px solid rgba(167,139,250,.15); border-radius: 50%; }

.cta::before { left: -140px; top: -120px; }

.cta::after { right: -140px; bottom: -140px; }

.cta .eyebrow { justify-content: center; }

.cta .eyebrow::before { display: none; }

.cta h2 { margin-top: 1rem; }

.cta p { max-width: 550px; margin: 1.1rem auto 0; color: var(--dim); }

.cta .actions { justify-content: center; }

.footer { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; padding-block: 2.5rem; }

.footer-brand { display: flex; align-items: center; gap: .8rem; }

.footer-brand img { width: 54px; }

.footer-brand span { color: var(--faint); font-size: .68rem; line-height: 1.45; }

.social-links { display: flex; flex-wrap: wrap; align-items: center; justify-self: end; gap: .55rem; }

.social-link { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--dim); background: rgba(255,255,255,.02); transition: color .2s, border-color .2s, transform .2s, background .2s; }

.social-link svg { width: 17px; height: 17px; }

.social-link.imdb-link svg { width: 24px; height: 24px; }

.social-link:hover { color: #fff; border-color: rgba(255,94,168,.55); background: rgba(255,94,168,.08); transform: translateY(-2px); }

.js .rv { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }

.js .rv.in { opacity: 1; transform: none; }

.js .rv.d1 { transition-delay: .08s; }

.js .rv.d2 { transition-delay: .16s; }

.js .rv.d3 { transition-delay: .24s; }

@media (max-width: 1000px) {
  .nav { gap: 1rem; }
}

@media (max-width: 1000px) {
  .brand span { display: none; }
}

@media (max-width: 1000px) {
  .nav-links { gap: .75rem; }
}

@media (max-width: 1000px) {
  .nav-links a { font-size: .76rem; }
}

@media (max-width: 1000px) {
  .nav-links a.nav-featured { padding: .35rem .55rem; }
}

@media (max-width: 1000px) {
  .hero { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

@media (max-width: 1000px) {
  .hero-media { min-height: 570px; }
}

@media (max-width: 1000px) {
  .now-badge { right: -.5rem; width: 112px; height: 112px; }
}

@media (max-width: 1000px) {
  .now-badge strong { font-size: 3rem; }
}

@media (max-width: 1000px) {
  .now-badge img { width: 50px; }
}

@media (max-width: 1000px) {
  .characters { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1000px) {
  .standout-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1000px) {
  .credits { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1000px) {
  .footer { grid-template-columns: 1fr auto; }
}

@media (max-width: 800px) {
  .container { width: min(calc(100% - 2rem), 650px); }
}

@media (max-width: 800px) {
  .nav { height: 74px; }
}

@media (max-width: 800px) {
  .brand img { width: 56px; height: 54px; }
}

@media (max-width: 800px) {
  .menu-toggle { display: block; }
}

@media (max-width: 800px) {
  .nav-links { position: fixed; inset: 74px 0 auto; display: none; flex-direction: row; align-items: center; justify-content: flex-end; gap: .45rem; padding: .75rem 1rem; border-bottom: 1px solid var(--line); background: rgba(10,10,14,.97); }
}

@media (max-width: 800px) {
  .site-header.open .nav-links { display: flex; }
}

@media (max-width: 800px) {
  .nav-links a.nav-featured { padding: .45rem .55rem; font-size: .72rem; }
}

@media (max-width: 800px) {
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 7.5rem; padding-bottom: 3rem; }
}

@media (max-width: 800px) {
  .hero-copy { max-width: 600px; }
}

@media (max-width: 800px) {
  .hero-logo { width: 125px; }
}

@media (max-width: 800px) {
  .hero-media { min-height: 530px; margin-top: 1rem; }
}

@media (max-width: 800px) {
  .hero-image { border-radius: 24px 24px 80px 24px; transform: none; }
}

@media (max-width: 800px) {
  .section-heading { grid-template-columns: 1fr; align-items: start; gap: 1rem; }
}

@media (max-width: 800px) {
  .story-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .story-visual { max-width: 540px; }
}

@media (max-width: 800px) {
  .fact-row { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  .season-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .season { min-height: 300px; }
}

@media (max-width: 800px) {
  .episode-heading { grid-template-columns: 1fr auto; }
}

@media (max-width: 800px) {
  .episode-heading > p { grid-column: 1 / -1; order: 3; }
}

@media (max-width: 800px) {
  .rail-controls { grid-column: 2; grid-row: 1; }
}

@media (max-width: 380px) {
  .nav-links { gap: .25rem; padding-inline: .5rem; }
}

@media (max-width: 380px) {
  .nav-links a.nav-featured { padding: .35rem; font-size: .56rem; }
}

@media (max-width: 560px) {
  .container { width: calc(100% - 2rem); }
}

@media (max-width: 560px) {
  .brand span { display: none; }
}

@media (max-width: 560px) {
  h1 { font-size: clamp(2.45rem, 11.2vw, 3.5rem); }
}

@media (max-width: 560px) {
  .hero-sub { font-size: .98rem; }
}

@media (max-width: 560px) {
  .actions { align-items: stretch; flex-direction: column; }
}

@media (max-width: 560px) {
  .button { width: 100%; flex: none; }
}

@media (max-width: 560px) {
  .hero-media { min-height: 440px; }
}

@media (max-width: 560px) {
  .hero-caption { left: 1.25rem; right: 1.25rem; bottom: 1.4rem; }
}

@media (max-width: 560px) {
  .location-tag { top: 1rem; left: 1rem; }
}

@media (max-width: 560px) {
  .now-badge { top: -1rem; right: -.25rem; width: 96px; height: 96px; }
}

@media (max-width: 560px) {
  .now-badge strong { font-size: 2.5rem; }
}

@media (max-width: 560px) {
  .now-badge img { width: 42px; }
}

@media (max-width: 560px) {
  .characters { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .portrait { aspect-ratio: 1.45; }
}

@media (max-width: 560px) {
  .fact { padding: 1.1rem; }
}

@media (max-width: 560px) {
  .fact strong { font-size: 1.1rem; }
}

@media (max-width: 560px) {
  .fact span { font-size: .61rem; }
}

@media (max-width: 560px) {
  .story-visual .image-label { right: -.25rem; }
}

@media (max-width: 560px) {
  .episode-rail { padding-inline: 1rem; scroll-padding-inline: 1rem; }
}

@media (max-width: 560px) {
  .rail-note { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .standout-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .credits { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 560px) {
  .cta { padding-inline: 1.25rem; border-radius: 22px; }
}

@media (max-width: 560px) {
  .footer { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}

@media (max-width: 560px) {
  .footer-contact { justify-self: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .js .rv { opacity: 1; transform: none; }
}

.distribution-card { display: grid; grid-template-columns: 1.5fr .85fr; overflow: hidden; border: 1px solid rgba(167,139,250,.32); border-radius: 24px; background: radial-gradient(120% 140% at 100% 0, rgba(167,139,250,.11), rgba(255,255,255,.015) 65%); box-shadow: 0 24px 70px rgba(0,0,0,.22); }

.distribution-art { display: block; min-height: 430px; overflow: hidden; }

.distribution-art img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .6s ease; }

.distribution-art:hover img { transform: scale(1.025); }

.distribution-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(1.6rem, 4vw, 3.2rem); }

.distribution-content h2 { font-size: clamp(2rem, 3.4vw, 3.5rem); }

.distribution-content p { margin-top: 1.2rem; color: var(--dim); font-size: .94rem; }

.distribution-content strong { color: #efecf4; font-weight: 650; }

@media (max-width: 900px) {
  .distribution-card { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .distribution-art { min-height: 0; aspect-ratio: 1.92; }
}

.spotify-section { padding-top: clamp(2rem, 4vw, 3rem); }

.spotify-card { border-color: rgba(30,215,96,.38); background: radial-gradient(120% 140% at 100% 0, rgba(30,215,96,.12), rgba(255,255,255,.015) 65%); }

.partner-section { padding-top: clamp(3rem, 6vw, 5rem); }

.partner-card { display: grid; grid-template-columns: minmax(170px, 235px) 1fr; align-items: center; gap: clamp(1.5rem, 4vw, 3.5rem); overflow: hidden; padding: clamp(1.3rem, 3.5vw, 2.75rem); border: 1px solid rgba(110,145,230,.38); border-radius: 26px; background: radial-gradient(100% 160% at 0 0, rgba(110,145,230,.17), transparent 58%), linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); box-shadow: 0 24px 70px rgba(0,0,0,.22); }

.partner-logo { display: block; overflow: hidden; padding: .65rem; border: 1px solid rgba(255,255,255,.14); border-radius: 19px; background: #000; box-shadow: 0 18px 45px rgba(0,0,0,.32); }

.partner-logo img { width: 100%; border-radius: 13px; }

.partner-content p { max-width: 710px; margin-top: 1rem; color: var(--dim); font-size: .94rem; }

.partner-content strong { color: #efecf4; font-weight: 650; }

@media (max-width: 800px) {
  .partner-card { grid-template-columns: 145px 1fr; gap: 1.5rem; }
}

@media (max-width: 560px) {
  .partner-card { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .partner-logo { width: 145px; }
}

.shop-section { padding-top: clamp(3rem, 6vw, 5rem); }

.shop-card { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(1.5rem, 4vw, 3rem); overflow: hidden; padding: clamp(1.35rem, 3.5vw, 2.75rem); border: 1px solid rgba(255,255,255,.3); border-radius: 26px; background: linear-gradient(118deg, #ff5ea8 0%, #ff765c 46%, #f3d95b 100%); color: #24101e; box-shadow: 0 25px 75px rgba(255,94,168,.18); }

.shop-card::before { content: ""; position: absolute; right: -110px; top: -130px; width: 330px; height: 330px; border: 1px solid rgba(36,16,30,.13); border-radius: 50%; pointer-events: none; }

.shop-copy { position: relative; z-index: 1; }

.shop-copy h2 { max-width: 480px; color: #24101e; font-size: clamp(2.15rem, 4.4vw, 4rem); }

.shop-copy h2 em { background: none; color: inherit; -webkit-text-fill-color: currentColor; animation: none; }

.shop-copy p { margin-top: 1rem; color: rgba(36,16,30,.82); font-size: .94rem; }

.shop-copy strong { font-weight: 750; }

.shop-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.25rem; }

.shop-chips span { padding: .35rem .55rem; border: 1px solid rgba(36,16,30,.18); border-radius: 999px; background: rgba(36,16,30,.08); font-size: .65rem; font-weight: 700; }

.shop-delivery { display: inline-flex; margin-top: 1.25rem !important; padding: .5rem .75rem; border: 1px solid rgba(36,16,30,.25); border-radius: 10px; background: rgba(36,16,30,.12); color: #24101e !important; font-size: .78rem !important; font-weight: 750; }

.shop-photos { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }

.shop-photo { overflow: hidden; aspect-ratio: 4 / 5; border: 2px solid rgba(255,255,255,.55); border-radius: 15px; background: #1b151e; box-shadow: 0 15px 30px rgba(36,16,30,.2); }

.shop-photo:nth-child(odd) { transform: rotate(-1.5deg); }

.shop-photo:nth-child(even) { transform: rotate(1.5deg); }

.shop-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }

.shop-photo:hover img { transform: scale(1.04); }

@media (max-width: 1000px) {
  .shop-card { grid-template-columns: 1fr; }
}

@media (max-width: 1000px) {
  .shop-copy h2 { max-width: 650px; }
}

@media (max-width: 560px) {
  .shop-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
}

.partner-section, #distribution, .shop-section, .spotify-section { padding-top: clamp(2rem, 4vw, 3rem); }

.raw-section { padding-top: clamp(2rem, 4vw, 3rem); }

.raw-card { overflow: hidden; padding: clamp(1.35rem, 3.5vw, 2.75rem); border: 1px solid rgba(255,177,101,.42); border-radius: 26px; background: radial-gradient(100% 170% at 100% 0, rgba(255,157,71,.2), transparent 50%), linear-gradient(140deg, #2c1712, #171017 70%); box-shadow: 0 24px 70px rgba(0,0,0,.28); }

.raw-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(1.4rem, 3vw, 2.25rem); }

.raw-copy h2 { color: #f7e4c9; font-size: clamp(2rem, 4vw, 3.7rem); }

.raw-copy h2 em { background: none; color: #ffb76b; -webkit-text-fill-color: currentColor; animation: none; }

.raw-copy p { max-width: 700px; margin-top: .85rem; color: #d7bdab; font-size: .94rem; }

.raw-copy strong { color: #f7e4c9; }

.raw-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }

.raw-photo { overflow: hidden; aspect-ratio: 4 / 5; border: 1px solid rgba(255,215,167,.22); border-radius: 16px; background: #241713; box-shadow: 0 15px 35px rgba(0,0,0,.24); }

.raw-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }

.raw-photo:hover img { transform: scale(1.035); }

@media (max-width: 700px) {
  .raw-head { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
}

@media (max-width: 700px) {
  .raw-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
}

@media (max-width: 700px) {
  .raw-photo:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
}

.brewery-section { padding-top: clamp(2rem, 4vw, 3rem); }

.brewery-card { overflow: hidden; padding: clamp(1.35rem, 3.5vw, 2.75rem); border: 1px solid rgba(255,102,65,.45); border-radius: 26px; background: radial-gradient(100% 160% at 0 0, rgba(255,78,42,.2), transparent 55%), linear-gradient(135deg, #2c1213, #171018 75%); box-shadow: 0 24px 70px rgba(0,0,0,.28); }

.brewery-card h2 { color: #ffe2ce; font-size: clamp(2rem, 4vw, 3.7rem); }

.brewery-card h2 em { background: none; color: #ff865d; -webkit-text-fill-color: currentColor; animation: none; }

.brewery-card p { max-width: 760px; margin-top: .85rem; color: #dfb8ad; font-size: .92rem; }

.brewery-card strong { color: #ffe2ce; }

.brewery-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }

.brewery-photo { overflow: hidden; aspect-ratio: 1.38; border: 1px solid rgba(255,177,130,.22); border-radius: 15px; background: #241213; box-shadow: 0 15px 35px rgba(0,0,0,.24); }

.brewery-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }

.brewery-photo:hover img { transform: scale(1.035); }

@media (max-width: 700px) {
  .brewery-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
}

.little-big-section { padding-top: clamp(2rem, 4vw, 3rem); }

.little-big-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: clamp(1.5rem, 4vw, 3rem); overflow: hidden; padding: clamp(1.35rem, 3.5vw, 2.75rem); border: 1px solid rgba(255,255,255,.35); border-radius: 26px; background: linear-gradient(120deg, #f3d95b 0%, #ff9a56 42%, #ff5ea8 100%); color: #24101e; box-shadow: 0 24px 70px rgba(255,94,168,.2); }

.little-big-logo { display: flex; align-items: center; justify-content: center; padding: .7rem; border-radius: 18px; background: rgba(255,255,255,.2); }

.little-big-logo img { width: 100%; max-height: 180px; object-fit: contain; }

.little-big-main { min-width: 0; }

.little-big-main h2 { color: #24101e; font-size: clamp(2.2rem, 4.5vw, 4.1rem); }

.little-big-main h2 em { background: none; color: inherit; -webkit-text-fill-color: currentColor; animation: none; }

.little-big-main p { max-width: 760px; margin-top: .85rem; color: rgba(36,16,30,.82); font-size: .94rem; }

.little-big-main strong { font-weight: 750; }

.little-big-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.15rem; }

.little-big-tags span { padding: .35rem .55rem; border: 1px solid rgba(36,16,30,.18); border-radius: 999px; background: rgba(36,16,30,.08); font-size: .65rem; font-weight: 700; }

.little-big-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; }

.little-big-photo { overflow: hidden; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.5); border-radius: 15px; background: #1a121b; box-shadow: 0 15px 35px rgba(36,16,30,.2); }

.little-big-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }

.little-big-photo:hover img { transform: scale(1.035); }

@media (max-width: 800px) {
  .little-big-card { grid-template-columns: 100px minmax(0, 1fr); gap: 1.5rem; }
}

@media (max-width: 560px) {
  .little-big-card { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .little-big-logo { width: 90px; }
}

.kiffness-section { padding-top: clamp(2rem, 4vw, 3rem); }

.kiffness-card { display: grid; grid-template-columns: 1.25fr .85fr; overflow: hidden; border: 1px solid rgba(255,255,255,.4); border-radius: 26px; background: linear-gradient(120deg, #ff5ea8 0%, #ff9a56 24%, #f3d95b 48%, #9fe3d1 68%, #6e91e6 86%, #a78bfa 100%); color: #24101e; box-shadow: 0 24px 70px rgba(110,145,230,.22); }

.kiffness-art { position: relative; display: flex; align-items: center; justify-content: center; min-height: 460px; padding: 1rem; }

.kiffness-art a { display: block; width: 92%; height: auto; border-radius: 24px; box-shadow: 0 20px 45px rgba(0,0,0,.32); transform: rotate(-2deg); }

.kiffness-art .main { display: block; width: 100%; height: auto; border-radius: 24px; }

.kiffness-art img { display: block; height: auto; object-fit: contain; transition: transform .5s ease; }

.kiffness-art a:hover { transform: rotate(-2deg) scale(1.01); }

.kiffness-logo { display: block; width: min(180px, 75%); margin-bottom: 1rem; }

.kiffness-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(1.5rem, 3.5vw, 2.5rem); }

.kiffness-content h2 { color: #24101e; font-size: clamp(2rem, 3.5vw, 3.4rem); }

.kiffness-content h2 em { background: none; color: inherit; -webkit-text-fill-color: currentColor; animation: none; }

.kiffness-content p { margin-top: .85rem; color: rgba(36,16,30,.82); font-size: .88rem; }

.kiffness-content strong { font-weight: 750; }

@media (max-width: 900px) {
  .kiffness-card { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .kiffness-art { min-height: 400px; }
}

@media (max-width: 560px) {
  .kiffness-art { min-height: 300px; padding: .5rem; }
}

.wideworlds-section { padding-top: clamp(2rem, 4vw, 3rem); }

.wideworlds-card { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.5rem, 4vw, 3rem); overflow: hidden; padding: clamp(1.35rem, 3.5vw, 2.75rem); border: 1px solid rgba(159,227,209,.35); border-radius: 26px; background: radial-gradient(100% 150% at 0 0, rgba(159,227,209,.09), transparent 48%), radial-gradient(100% 150% at 100% 100%, rgba(167,139,250,.1), transparent 50%), #050507; box-shadow: 0 24px 70px rgba(0,0,0,.4); }

.wideworlds-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; }

.wideworlds-logo { display: block; width: min(220px, 80%); margin-bottom: 1.2rem; }

.wideworlds-copy h2 { color: #f4f0f7; font-size: clamp(2rem, 4vw, 3.65rem); }

.wideworlds-copy h2 em { background: none; color: var(--mint); -webkit-text-fill-color: currentColor; animation: none; }

.wideworlds-copy p { max-width: 690px; margin-top: .9rem; color: #c8c2d1; font-size: .94rem; }

.wideworlds-copy strong { color: #f4f0f7; }

.wideworlds-gallery { min-width: 0; }

.wideworlds-cover { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; }

.wideworlds-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: .75rem; }

.wideworlds-photos img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; }

@media (max-width: 900px) {
  .wideworlds-card { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .wideworlds-logo { width: min(200px, 65%); }
}

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
