:root {
  --ink: #06131e;
  --ink-2: #0a2030;
  --paper: #f4f2eb;
  --paper-2: #e9e5dc;
  --gold: #d7aa55;
  --gold-bright: #f2cc7d;
  --aqua: #72c5c7;
  --white: #fffdf7;
  --muted: #9eabb3;
  --border: rgba(215, 170, 85, .25);
  --shadow: 0 24px 80px rgba(0, 0, 0, .28);
  --deep-shadow: 0 34px 100px rgba(0, 0, 0, .48);
  --mouse-x: 50vw;
  --mouse-y: 50vh;
  --serif: Georgia, "Times New Roman", serif;
  --display-serif: Baskerville, "Palatino Linotype", "Book Antiqua", Palatino, Garamond, Georgia, serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 18% 12%, #12384b 0, transparent 30%), radial-gradient(circle at 82% 78%, #201d2f 0, transparent 32%), var(--ink); color: var(--white); font-family: var(--sans); font-size: 16px; line-height: 1.65; overflow-x: hidden; }
body.dialog-open { overflow: hidden; }
main, footer { position: relative; z-index: 1; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, summary, select { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
::selection { color: var(--ink); background: var(--gold-bright); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: -5rem; left: 1rem; padding: .8rem 1rem; color: var(--ink); background: var(--gold); border-radius: 0 0 .5rem .5rem; }
.skip-link:focus { top: 0; }

.ambient { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.ambient span { position: absolute; width: 42rem; height: 42rem; border-radius: 50%; filter: blur(135px); opacity: .12; background: var(--aqua); animation: drift 20s ease-in-out infinite alternate; }
.ambient span:nth-child(1) { top: 10%; left: -15rem; }
.ambient span:nth-child(2) { right: -18rem; top: 40%; background: var(--gold); animation-delay: -7s; }
.ambient span:nth-child(3) { bottom: -20rem; left: 35%; animation-delay: -13s; }
@keyframes drift { to { transform: translate3d(7rem, -5rem, 0) scale(1.2); } }
.mystic-canvas { position: fixed; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .72; mix-blend-mode: screen; }
.cursor-aura { position: fixed; z-index: 2; left: 0; top: 0; width: 34rem; height: 34rem; border-radius: 50%; pointer-events: none; opacity: .12; background: radial-gradient(circle, rgba(114,197,199,.62), rgba(215,170,85,.16) 30%, transparent 68%); filter: blur(28px); transform: translate3d(calc(var(--mouse-x) - 50%), calc(var(--mouse-y) - 50%), 0); transition: opacity .4s ease; }
.film-grain { position: fixed; z-index: 90; inset: 0; pointer-events: none; opacity: .055; background-image: repeating-linear-gradient(0deg, transparent 0 2px, rgba(255,255,255,.08) 3px, transparent 4px), repeating-linear-gradient(90deg, transparent 0 5px, rgba(255,255,255,.04) 6px, transparent 7px); background-size: 7px 7px, 11px 11px; mix-blend-mode: soft-light; }
.scroll-progress { position: fixed; z-index: 120; top: 0; left: 0; right: 0; height: 2px; background: rgba(255,255,255,.04); }
.scroll-progress span { display: block; width: var(--scroll-progress, 0%); height: 100%; background: linear-gradient(90deg, var(--aqua), var(--gold-bright)); box-shadow: 0 0 14px var(--gold); transition: width .08s linear; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; height: 78px; padding: 0 clamp(1rem, 5vw, 5rem); border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(90deg, rgba(4,14,23,.84), rgba(8,28,42,.7)); backdrop-filter: blur(24px) saturate(135%); transition: background .3s ease, height .3s ease, box-shadow .3s ease; }
.site-header.scrolled { height: 66px; background: rgba(6,19,30,.94); }
.brand { display: inline-flex; align-items: center; gap: .8rem; letter-spacing: .18em; line-height: 1; }
.brand > span:last-child { display: grid; gap: .22rem; }
.brand b { font-size: .78rem; font-weight: 700; }
.brand em { color: var(--gold); font-size: .65rem; font-style: normal; letter-spacing: .35em; }
.brand-mark { position: relative; display: grid; place-items: center; width: 39px; aspect-ratio: 1; border: 1px solid var(--gold); border-radius: 50%; box-shadow: 0 0 26px rgba(215,170,85,.13); }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(215,170,85,.5); border-radius: 50%; }
.brand-mark::after { inset: 12px; }
.brand-mark i { width: 5px; aspect-ratio: 1; background: var(--gold-bright); border-radius: 50%; box-shadow: 0 0 16px var(--gold); }
nav { display: flex; align-items: center; gap: clamp(1.2rem, 2.4vw, 2.6rem); }
nav a { position: relative; color: rgba(255,255,255,.72); font-size: .81rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease; }
nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.55rem; height: 1px; background: var(--gold); transition: right .25s ease; }
nav a:hover, nav a:focus-visible, nav a.active { color: var(--white); }
nav a:hover::after, nav a:focus-visible::after, nav a.active::after { right: 0; }
.nav-youtube { padding: .65rem 1rem; border: 1px solid rgba(215,170,85,.6); border-radius: 999px; }
.nav-youtube::after { display: none; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; color: white; }
.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 1px; margin: 6px auto; background: currentColor; transition: .25s ease; }

.hero { position: relative; display: grid; align-items: center; min-height: 100svh; overflow: hidden; padding: 8rem clamp(1.2rem, 7vw, 8rem) 5rem; isolation: isolate; }
.hero::before { content: ""; position: absolute; z-index: 1; top: -30%; right: 14%; width: 18%; height: 165%; background: linear-gradient(90deg, transparent, rgba(242,204,125,.11), transparent); filter: blur(24px); transform: rotate(17deg); animation: lightSweep 12s ease-in-out infinite alternate; pointer-events: none; }
.hero::after { content: ""; position: absolute; z-index: 1; inset: 8% 4%; border: 1px solid rgba(242,204,125,.1); border-radius: 50%; mask-image: linear-gradient(90deg, transparent, #000 55%, transparent); pointer-events: none; }
.hero-image { position: absolute; inset: -5% 0; background: url("assets/ancient-spirit-hero.webp") center/cover no-repeat; transform: translate3d(var(--hero-depth-x, 0px), calc(var(--hero-shift, 0px) + var(--hero-depth-y, 0px)), -20px) scale(1.1); animation: heroAtmosphere 10s ease-in-out infinite alternate; transition: transform .9s cubic-bezier(.2,.8,.2,1); will-change: transform, filter; }
@keyframes heroAtmosphere { to { filter: saturate(1.12) contrast(1.04) brightness(1.05); } }
@keyframes lightSweep { to { transform: translateX(15vw) rotate(17deg); opacity: .35; } }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,14,23,.96) 0%, rgba(4,14,23,.78) 37%, rgba(4,14,23,.12) 72%, rgba(4,14,23,.25) 100%), linear-gradient(0deg, var(--ink) 0%, transparent 26%); }
.hero-pentagram { position: absolute; z-index: 1; left: var(--pentagram-x, 76.7%); top: var(--pentagram-y, 37.2%); width: var(--pentagram-size, 120px); aspect-ratio: 1; pointer-events: none; opacity: .17; filter: drop-shadow(0 0 18px rgba(242,204,125,.18)); mix-blend-mode: screen; transform: translate(-50%, -50%); }
.hero-pentagram img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hero-pentagram-pulse { position: absolute; z-index: 2; left: var(--pentagram-x, 76.7%); top: var(--pentagram-y, 37.2%); width: 10px; height: 10px; border-radius: 50%; pointer-events: none; background: rgba(255,145,145,.78); box-shadow: 0 0 0 0 rgba(226,92,92,.34), 0 0 16px rgba(255,128,128,.52); transform: translate(-50%, -50%); animation: pentagramPulse 2.4s ease-out infinite; }
@keyframes pentagramPulse {
  0% { opacity: .5; box-shadow: 0 0 0 0 rgba(226,92,92,.34), 0 0 12px rgba(255,128,128,.4); }
  48% { opacity: .9; box-shadow: 0 0 0 11px rgba(226,92,92,.08), 0 0 23px rgba(255,128,128,.58); }
  100% { opacity: .5; box-shadow: 0 0 0 19px transparent, 0 0 12px rgba(255,128,128,.32); }
}
.hero-souls { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }
.hero-souls span { --x: 50%; --y: 86%; --tx: 27vw; --ty: -49vh; --trail-angle: 118deg; --duration: 14s; --delay: 0s; --size: 4px; position: absolute; left: var(--x); top: var(--y); width: var(--size); height: var(--size); border-radius: 50%; opacity: 0; background: #fff7d4; box-shadow: 0 0 6px 2px rgba(255,239,184,.88), 0 0 18px 6px rgba(242,204,125,.42), 0 0 42px 12px rgba(114,197,199,.14); animation: soulFlight var(--duration) cubic-bezier(.18,.52,.3,1) var(--delay) infinite; will-change: transform, opacity; }
.hero-souls span::after { content: ""; position: absolute; left: 50%; top: 50%; width: clamp(28px, 4.2vw, 72px); height: 1px; border-radius: 50%; background: linear-gradient(90deg, rgba(255,246,211,.78), rgba(242,204,125,.2) 48%, transparent); filter: blur(.35px); transform: translateY(-50%) rotate(var(--trail-angle)); transform-origin: left center; opacity: .72; }
.hero-souls span:nth-child(1) { --x: 7%; --y: 84%; --tx: 70vw; --ty: -47vh; --trail-angle: 146deg; --duration: 17s; --delay: -2s; --size: 4px; }
.hero-souls span:nth-child(2) { --x: 15%; --y: 75%; --tx: 62vw; --ty: -38vh; --trail-angle: 149deg; --duration: 13.5s; --delay: -9s; --size: 3px; }
.hero-souls span:nth-child(3) { --x: 24%; --y: 89%; --tx: 53vw; --ty: -52vh; --trail-angle: 136deg; --duration: 18s; --delay: -13s; --size: 5px; }
.hero-souls span:nth-child(4) { --x: 34%; --y: 79%; --tx: 43vw; --ty: -42vh; --trail-angle: 136deg; --duration: 15s; --delay: -6s; --size: 2px; }
.hero-souls span:nth-child(5) { --x: 44%; --y: 86%; --tx: 33vw; --ty: -49vh; --trail-angle: 124deg; --duration: 16.5s; --delay: -15s; --size: 3px; }
.hero-souls span:nth-child(6) { --x: 55%; --y: 74%; --tx: 22vw; --ty: -37vh; --trail-angle: 121deg; --duration: 14.5s; --delay: -11s; --size: 3px; }
.hero-souls span:nth-child(7) { --x: 64%; --y: 91%; --tx: 13vw; --ty: -54vh; --trail-angle: 104deg; --duration: 19s; --delay: -4s; --size: 4px; }
.hero-souls span:nth-child(8) { --x: 72%; --y: 82%; --tx: 5vw; --ty: -45vh; --trail-angle: 96deg; --duration: 15.5s; --delay: -12s; --size: 2px; }
.hero-souls span:nth-child(9) { --x: 82%; --y: 88%; --tx: -5vw; --ty: -51vh; --trail-angle: 84deg; --duration: 16s; --delay: -8s; --size: 3px; }
.hero-souls span:nth-child(10) { --x: 91%; --y: 76%; --tx: -14vw; --ty: -39vh; --trail-angle: 70deg; --duration: 13s; --delay: -1s; --size: 2px; }
.hero-souls span:nth-child(11) { --x: 97%; --y: 86%; --tx: -20vw; --ty: -49vh; --trail-angle: 68deg; --duration: 18.5s; --delay: -16s; --size: 5px; }
.hero-souls span:nth-child(12) { --x: 48%; --y: 94%; --tx: 29vw; --ty: -57vh; --trail-angle: 117deg; --duration: 17.5s; --delay: -5s; --size: 3px; }
@keyframes soulFlight {
  0% { opacity: 0; transform: translate3d(0, 1.2vh, 0) scale(.2); }
  9% { opacity: .96; transform: translate3d(0, 0, 0) scale(1); }
  76% { opacity: .82; }
  100% { opacity: 0; transform: translate3d(var(--tx), var(--ty), 0) scale(.34); }
}
.hero-content { position: relative; z-index: 2; width: min(800px, 63vw); transform: perspective(1500px) rotateX(var(--hero-tilt-x, 0deg)) rotateY(var(--hero-tilt-y, 0deg)) translateZ(42px); transform-origin: 35% 50%; transform-style: preserve-3d; transition: transform .8s cubic-bezier(.2,.8,.2,1); will-change: transform; }
.hero-content > * { transform: translateZ(22px); }
.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.2rem; color: var(--gold-bright); font-size: .75rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 2.4rem; height: 1px; background: currentColor; }
h1, h2 { margin: 0; font-family: var(--serif); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
h1 { font-size: clamp(3.4rem, 7.3vw, 7.8rem); }
h1 { text-shadow: 0 2px 0 rgba(255,255,255,.06), 0 12px 34px rgba(0,0,0,.5), 0 0 68px rgba(114,197,199,.08); }
h2 span, .hero-title-line-accent { color: var(--gold-bright); font-style: italic; text-shadow: 0 0 42px rgba(242,204,125,.13); }
#hero-title { position: relative; width: min(1020px, 79vw); margin: 0; font-family: var(--display-serif); font-weight: 400; font-kerning: normal; font-variant-ligatures: common-ligatures; letter-spacing: -.055em; text-shadow: none; transform-style: preserve-3d; transform-origin: 28% 55%; perspective: 1400px; }
#hero-title.reveal { transform: translate3d(0, 28px, 30px); }
#hero-title.reveal.visible { animation: titleLevitate 7.5s ease-in-out infinite alternate; }
.hero-title-line { --title-edge: rgba(176,211,211,.56); --title-depth: rgba(22,49,60,.84); position: relative; z-index: 0; display: block; width: 100%; color: #fffdf7; line-height: .96; isolation: isolate; transform-style: preserve-3d; text-shadow: 0 1px 0 rgba(255,255,255,.16), 1px 2px 0 var(--title-depth), 3px 5px 5px rgba(0,0,0,.34), 8px 14px 28px rgba(0,0,0,.44), 0 0 34px rgba(160,211,211,.1); }
.hero-title-line::before { content: attr(data-text); position: absolute; z-index: -1; inset: 0; width: 100%; color: transparent; -webkit-text-stroke: .6px var(--title-edge); text-shadow: 0 0 14px rgba(149,205,205,.12); opacity: .28; transform: translate3d(4px, 6px, -28px); pointer-events: none; }
.hero-title-line::after { content: ""; position: absolute; z-index: -2; left: 7%; right: 12%; bottom: -.11em; height: .11em; border-radius: 50%; opacity: .38; background: radial-gradient(ellipse, rgba(0,0,0,.62), transparent 72%); filter: blur(11px); transform: translate3d(8px, 18px, -48px) rotateX(72deg); pointer-events: none; }
.hero-title-line-primary { background: linear-gradient(180deg, #fffef8 5%, #eeeadd 54%, #bfcfce 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-title-line-accent { --title-edge: rgba(255,226,158,.68); --title-depth: rgba(105,68,24,.8); margin-top: .025em; padding-right: .1em; padding-bottom: .06em; font-family: var(--display-serif); font-style: italic; font-weight: 400; letter-spacing: -.045em; background: linear-gradient(105deg, #b77e31 0%, #e0ae55 24%, #fff0bd 48%, #cf9841 70%, #f5d689 100%); background-size: 190% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: 0 1px 0 rgba(255,237,190,.28), 1px 2px 0 var(--title-depth), 3px 5px 5px rgba(35,20,5,.36), 8px 15px 30px rgba(0,0,0,.46), 0 0 36px rgba(242,204,125,.14); animation: titleSheen 8s ease-in-out infinite alternate; }
@keyframes titleLevitate {
  0% { transform: translate3d(0, 1px, 34px) rotateX(-.35deg) rotateY(.25deg); }
  52% { transform: translate3d(2px, -5px, 46px) rotateX(.5deg) rotateY(-.4deg); }
  100% { transform: translate3d(-1px, -2px, 39px) rotateX(.15deg) rotateY(.45deg); }
}
@keyframes titleSheen { to { background-position: 96% 0; filter: brightness(1.08); } }
.hero-copy { width: min(650px, 90%); margin: 2rem 0 0; color: rgba(255,255,255,.76); font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.7; }
.hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; width: 100%; max-width: 36rem; margin-top: 2.2rem; }
.hero-actions > .button { width: 100%; min-width: 0; min-height: 4rem; padding: .85rem 1.2rem; text-align: center; line-height: 1.35; }
.hero-actions > .button-youtube { grid-column: 1 / -1; }
.hero-actions .action-label { min-width: 0; overflow-wrap: anywhere; }
.hero-actions [aria-hidden="true"] { flex-shrink: 0; }
@media (max-width: 600px) {
  .hero-actions { grid-template-columns: minmax(0, 1fr); }
}
.button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .85rem; min-height: 52px; padding: .8rem 1.35rem; overflow: hidden; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font-weight: 750; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .3s ease; }
.button::before { content: ""; position: absolute; inset: -2px; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.38) 45%, transparent 68%); transform: translateX(-130%); transition: transform .65s ease; }
.button:hover::before { transform: translateX(130%); }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-gold { color: var(--ink); background: linear-gradient(135deg, #ffe3a1, var(--gold) 68%, #b77c2d); box-shadow: 0 12px 35px rgba(215,170,85,.25), inset 0 1px rgba(255,255,255,.5); }
.button-gold:hover { box-shadow: 0 18px 45px rgba(215,170,85,.34), 0 0 0 1px rgba(255,255,255,.25); }
.button-ghost { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.04); backdrop-filter: blur(10px); }
.button-ghost:hover { border-color: var(--gold); }
.button-youtube { color: #fff; border-color: rgba(255,255,255,.32); background: linear-gradient(135deg, #ff3150 0%, #e0002b 48%, #b90024 100%); box-shadow: 0 14px 38px rgba(226,0,43,.3), 0 0 0 1px rgba(242,204,125,.1), inset 0 1px rgba(255,255,255,.3); }
.button-youtube:hover, .button-youtube:focus-visible { border-color: rgba(255,239,199,.78); box-shadow: 0 20px 50px rgba(226,0,43,.42), 0 0 26px rgba(242,204,125,.18), inset 0 1px rgba(255,255,255,.36); }
.subscribe-play { position: relative; z-index: 1; display: grid; place-items: center; width: 1.85rem; height: 1.35rem; padding-left: .12rem; border-radius: .38rem; color: #d40028; background: #fff; font-size: .62rem; line-height: 1; box-shadow: 0 4px 14px rgba(70,0,13,.28); }
.hero-orbit { position: absolute; z-index: 1; right: -8vw; top: 12%; width: min(52vw, 750px); aspect-ratio: 1; border: 1px solid rgba(215,170,85,.13); border-radius: 50%; pointer-events: none; animation: orbit 45s linear infinite; }
.hero-orbit span { position: absolute; inset: 10%; border: 1px solid rgba(215,170,85,.12); border-radius: 50%; }
.hero-orbit span:nth-child(2) { inset: 21%; }
.hero-orbit span:nth-child(3) { inset: 34%; border-color: rgba(242,204,125,.22); box-shadow: 0 0 35px rgba(242,204,125,.08), inset 0 0 35px rgba(114,197,199,.05); animation: portalBreath 7s ease-in-out infinite alternate; }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes portalBreath { to { opacity: .48; transform: scale(1.045); border-color: rgba(242,204,125,.42); box-shadow: 0 0 58px rgba(242,204,125,.14), inset 0 0 50px rgba(114,197,199,.09); } }
.hero-ai-note { position: absolute; z-index: 4; left: clamp(1.2rem, 7vw, 8rem); bottom: 1.5rem; color: rgba(255,255,255,.52); font-size: .68rem; letter-spacing: .06em; }
.hero-ai-note a { color: rgba(242,204,125,.82); text-decoration: underline; text-underline-offset: .18em; }
.scroll-note { position: absolute; z-index: 3; right: 3rem; bottom: 3rem; display: flex; align-items: center; gap: .8rem; color: rgba(255,255,255,.5); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; writing-mode: vertical-rl; }
.scroll-note i { display: block; width: 1px; height: 50px; background: linear-gradient(var(--gold), transparent); animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .3; transform: scaleY(.7); } }

.section { position: relative; padding: clamp(6rem, 12vw, 11rem) clamp(1.2rem, 7vw, 8rem); }
.section::after { content: ""; position: absolute; z-index: 3; left: 7vw; right: 7vw; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent 5%, rgba(114,197,199,.12) 30%, rgba(242,204,125,.52) 50%, rgba(114,197,199,.12) 70%, transparent 95%); background-size: 180% 100%; transform: scaleX(.72); transform-origin: center; animation: sectionLight 14s ease-in-out infinite alternate; }
@keyframes sectionLight { to { background-position: 100% 0; opacity: .62; } }
.section-number { position: absolute; top: 4rem; right: clamp(1.2rem, 7vw, 8rem); color: rgba(255,255,255,.13); font-family: var(--serif); font-size: clamp(4rem, 9vw, 9rem); line-height: 1; text-shadow: 0 24px 55px rgba(0,0,0,.36), 0 0 60px rgba(114,197,199,.08); animation: numberFloat 9s ease-in-out infinite alternate; }
@keyframes numberFloat { to { transform: translate3d(0, -12px, 24px); color: rgba(242,204,125,.16); } }
.featured-film { display: grid; grid-template-columns: minmax(280px, .68fr) minmax(480px, 1.32fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); overflow: hidden; isolation: isolate; }
.featured-film::before { content: ""; position: absolute; z-index: -1; width: min(58vw, 850px); aspect-ratio: 1; border: 1px solid rgba(215,170,85,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(114,197,199,.018), 0 0 110px rgba(114,197,199,.09); pointer-events: none; }
.featured-film-intro { background: radial-gradient(circle at 78% 45%, rgba(114,197,199,.16), transparent 31%), linear-gradient(145deg, #06131e, #0a2638 72%, #071721); }
.featured-film-intro::before { right: -13rem; top: -15rem; }
.featured-film-main { background: radial-gradient(circle at 14% 50%, rgba(215,170,85,.13), transparent 30%), linear-gradient(155deg, #0b2637, #06131e 68%); }
.featured-film-main::before { left: -15rem; bottom: -18rem; border-color: rgba(242,204,125,.16); }
.featured-film-copy { position: relative; z-index: 1; }
.featured-film-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.6rem, 4.5vw, 5.2rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.03; }
.featured-film-copy h2 span { color: var(--gold-bright); font-style: italic; }
.featured-film-copy > p:not(.eyebrow):not(.film-duration) { max-width: 630px; margin: 1.7rem 0 0; color: #b8c4ca; font-size: 1.08rem; }
.film-duration { display: inline-flex; margin: 1.5rem 0 0; padding: .45rem .8rem; border: 1px solid rgba(215,170,85,.28); border-radius: 999px; color: var(--gold-bright); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.featured-player { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.17); border-radius: 1rem; background: #02070a; box-shadow: 0 35px 90px rgba(0,0,0,.48), 0 0 55px rgba(114,197,199,.07); transform-style: preserve-3d; }
.featured-player::before { content: ""; position: absolute; z-index: 2; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(242,204,125,.13); pointer-events: none; }
.featured-player-main { border-color: rgba(215,170,85,.33); box-shadow: 0 38px 100px rgba(0,0,0,.55), 0 0 65px rgba(215,170,85,.08); }
.featured-player iframe, .featured-player > div { display: block; width: 100%; height: 100%; border: 0; }
.featured-player > div iframe { display: block; width: 100%; height: 100%; border: 0; }
.video-launch { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; overflow: hidden; border: 0; color: white; background: #02070a; cursor: pointer; }
.video-launch img { display: block; width: 100%; height: 100%; object-fit: contain; background: #02070a; transition: transform .65s ease, filter .4s ease; }
.youtube-poster { color: transparent; background: radial-gradient(circle at 50% 45%, rgba(114,197,199,.22), transparent 35%), linear-gradient(145deg, #0d2b3d, #030b12); }
.video-launch-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,8,12,.82), rgba(2,8,12,.08) 58%), radial-gradient(circle at center, transparent 0, rgba(2,8,12,.18) 70%); }
.video-launch-button { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: clamp(64px, 7vw, 92px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.78); border-radius: 50%; background: rgba(6,19,30,.62); box-shadow: 0 18px 50px rgba(0,0,0,.45); backdrop-filter: blur(10px); transform: translate(-50%, -50%); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.video-launch-button::before { content: ""; width: 0; height: 0; margin-left: 7%; border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left: 17px solid white; }
.video-launch-label { position: absolute; left: 50%; bottom: 3.5rem; padding: .48rem .85rem; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(3,12,18,.68); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(10px); transform: translateX(-50%); white-space: nowrap; }
.video-launch-privacy { position: absolute; z-index: 2; left: 1rem; right: 1rem; bottom: .8rem; color: rgba(255,255,255,.88); font-size: clamp(.68rem, 1vw, .78rem); line-height: 1.35; text-align: center; text-shadow: 0 2px 8px rgba(0,0,0,.9); }
.video-launch:hover img { filter: brightness(.78); transform: scale(1.025); }
.video-launch:hover .video-launch-button, .video-launch:focus-visible .video-launch-button { border-color: var(--gold-bright); background: rgba(215,170,85,.88); transform: translate(-50%, -50%) scale(1.08); }
.player-youtube-link { position: absolute; z-index: 4; right: 1rem; top: 1rem; padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: white; background: rgba(3,12,18,.72); font-size: .68rem; font-weight: 750; letter-spacing: .04em; backdrop-filter: blur(10px); transition: color .2s ease, border-color .2s ease, background .2s ease; }
.player-youtube-link:hover, .player-youtube-link:focus-visible { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); }
.player-privacy-link { position: absolute; z-index: 4; left: 1rem; top: 1rem; padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.86); background: rgba(3,12,18,.72); font-size: .68rem; font-weight: 700; backdrop-filter: blur(10px); }
.player-privacy-link:hover, .player-privacy-link:focus-visible { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); }
.manifesto { display: grid; grid-template-columns: minmax(0, .95fr) minmax(320px, .8fr); gap: clamp(3rem, 10vw, 10rem); background: linear-gradient(135deg, rgba(6,19,30,.96), rgba(8,28,42,.88)); }
.manifesto h2, .section-heading h2, .contact h2 { font-size: clamp(3rem, 5.5vw, 6rem); }
.manifesto-copy { align-self: end; color: #c8d0d4; }
.large-copy { color: var(--white); font-family: var(--serif); font-size: clamp(1.35rem, 2.1vw, 2rem); line-height: 1.45; }
cite { color: var(--gold-bright); font-style: normal; }
.channel-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.channel-facts div { display: grid; }
.channel-facts strong { color: var(--gold-bright); font-family: var(--serif); font-size: 2.5rem; line-height: 1; }
.channel-facts span { color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }

.book-feature { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(420px, 1fr); align-items: center; gap: clamp(3rem, 9vw, 9rem); overflow: hidden; background: radial-gradient(circle at 18% 45%, rgba(114,197,199,.2), transparent 33%), radial-gradient(circle at 86% 20%, rgba(215,170,85,.08), transparent 26%), linear-gradient(135deg, rgba(11,38,55,.97), rgba(6,19,30,.91) 70%); background-size: 140% 140%; animation: auroraShift 16s ease-in-out infinite alternate; }
@keyframes auroraShift { to { background-position: 18% 12%; } }
.book-feature::before { content: "IN NUCE"; position: absolute; left: 46%; bottom: -3rem; color: rgba(255,255,255,.025); font-family: var(--serif); font-size: clamp(7rem, 17vw, 18rem); line-height: 1; white-space: nowrap; transform: translateX(-15%); pointer-events: none; }
.book-visual { position: relative; justify-self: center; width: min(100%, 420px); padding: 2rem; }
.book-halo { position: absolute; inset: 2%; border: 1px solid rgba(215,170,85,.22); border-radius: 50%; box-shadow: 0 0 0 45px rgba(215,170,85,.035), 0 0 0 90px rgba(114,197,199,.025); animation: orbit 40s linear infinite; }
.book-cover { position: relative; z-index: 1; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: .25rem .8rem .8rem .25rem; background: white; box-shadow: -18px 18px 0 rgba(2,10,16,.45), 0 42px 90px rgba(0,0,0,.5); transform: perspective(1000px) rotateY(8deg) rotateZ(-2deg); transition: transform .5s ease, box-shadow .5s ease; }
.book-cover::before { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 8%; background: linear-gradient(90deg, rgba(0,0,0,.19), transparent); pointer-events: none; }
.book-cover img { display: block; width: 100%; height: auto; }
.book-visual:hover .book-cover { transform: perspective(1000px) rotateY(3deg) rotateZ(0) translateY(-8px); box-shadow: -10px 14px 0 rgba(2,10,16,.45), 0 52px 100px rgba(0,0,0,.58); }
.book-free { position: absolute; z-index: 3; right: -.5rem; bottom: 12%; padding: .65rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: var(--ink); background: var(--gold-bright); box-shadow: var(--shadow); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.book-copy { position: relative; z-index: 1; max-width: 760px; }
.book-copy h2 { font-size: clamp(3.3rem, 6vw, 6.8rem); }
.book-copy > p:not(.eyebrow):not(.large-copy):not(.book-meta) { max-width: 650px; color: #b6c1c8; }
.book-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; margin-top: 2rem; }
.book-preview-link { padding: .7rem 0; border-bottom: 1px solid var(--gold); color: var(--gold-bright); font-weight: 700; }
.book-preview-link:hover { color: white; }
.book-access-counter { display: inline-flex; align-items: center; gap: .75rem; width: fit-content; margin: 1.55rem 0 0; padding: .65rem .9rem; border: 1px solid rgba(215,170,85,.3); border-radius: 999px; color: #c6d1d5; background: linear-gradient(110deg, rgba(242,204,125,.075), rgba(114,197,199,.045)); box-shadow: inset 0 1px rgba(255,255,255,.05), 0 10px 30px rgba(0,0,0,.14); font-size: .86rem; line-height: 1.4; }
.book-access-counter i { position: relative; flex: 0 0 19px; width: 19px; height: 19px; border: 1px solid rgba(242,204,125,.7); border-radius: 50%; box-shadow: 0 0 13px rgba(242,204,125,.18); }
.book-access-counter i::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--gold-bright); box-shadow: 0 0 8px rgba(242,204,125,.75); }
.book-access-counter strong { color: var(--gold-bright); font-family: var(--serif); font-size: 1.08rem; font-weight: 400; }
.book-access-counter cite { letter-spacing: .04em; }
.book-meta { display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; margin-top: 1.4rem; color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.book-meta span { display: inline-flex; align-items: center; gap: .5rem; }
.book-meta span:not(:first-child)::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }

.themes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding-top: 0; padding-bottom: 7rem; }
.theme-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 360px; padding: 2rem 1.4rem; overflow: hidden; border: 0; border-top: 1px solid var(--border); border-right: 1px solid var(--border); border-radius: 0; color: var(--white); background: rgba(6,19,30,.54); text-align: left; cursor: pointer; backdrop-filter: blur(10px); transition: background .3s ease, transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.theme-card::after { content: ""; position: absolute; inset: -60% -90%; background: linear-gradient(110deg, transparent 42%, rgba(242,204,125,.12) 50%, transparent 58%); transform: translateX(-35%); transition: transform .8s ease; }
.theme-card:hover::after { transform: translateX(35%); }
.theme-card:first-of-type { border-left: 1px solid var(--border); }
.theme-card:hover { z-index: 1; background: linear-gradient(180deg, rgba(215,170,85,.14), rgba(6,19,30,.58)); transform: translateY(-10px); box-shadow: var(--deep-shadow); }
.theme-card > .theme-index { color: var(--gold); font-family: var(--serif); font-size: 1rem; }
.theme-card h2, .theme-card h3 { margin: clamp(2.8rem, 4vw, 3.8rem) 0 .8rem; font-family: var(--serif); font-size: clamp(1.3rem, 1.7vw, 1.9rem); font-weight: 400; line-height: 1.25; letter-spacing: -.02em; overflow-wrap: anywhere; hyphens: auto; }
.theme-card p { margin: 0 0 1.4rem; color: var(--muted); font-size: .94rem; line-height: 1.65; }
.theme-open { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: .7rem; width: 100%; margin-top: auto; padding-top: 1.15rem; border-top: 1px solid rgba(242,204,125,.14); color: rgba(242,204,125,.84); font-family: var(--sans); font-size: .75rem; font-weight: 800; line-height: 1.35; letter-spacing: .09em; text-transform: uppercase; }
.theme-open-label { min-width: 0; overflow-wrap: anywhere; }
.theme-open i { position: relative; flex: 0 0 26px; width: 26px; height: 26px; border: 1px solid rgba(242,204,125,.42); border-radius: 50%; transition: border-color .25s ease, background .25s ease, transform .3s ease; }
.theme-open i::before, .theme-open i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 1px; background: currentColor; transform: translate(-50%, -50%); }
.theme-open i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .25s ease; }
.theme-card:hover .theme-open i, .theme-card:focus-visible .theme-open i, .theme-card.active .theme-open i { border-color: var(--gold-bright); background: rgba(242,204,125,.12); }
.theme-card.active { z-index: 2; border-color: rgba(242,204,125,.75); background: radial-gradient(circle at 50% 0, rgba(242,204,125,.22), transparent 52%), linear-gradient(180deg, rgba(15,47,62,.96), rgba(6,19,30,.88)); box-shadow: inset 0 -3px var(--gold), 0 26px 70px rgba(0,0,0,.34); transform: translateY(-6px); }
.theme-card.active .theme-open { color: var(--gold-bright); }
.theme-card.active .theme-open i { transform: rotate(45deg); }
.theme-detail { position: relative; grid-column: 1 / -1; overflow: hidden; padding: clamp(2.2rem, 5vw, 4.8rem); border: 1px solid rgba(242,204,125,.36); background: radial-gradient(circle at 90% 8%, rgba(215,170,85,.16), transparent 28%), radial-gradient(circle at 7% 88%, rgba(114,197,199,.12), transparent 24%), linear-gradient(145deg, rgba(9,35,50,.98), rgba(4,15,24,.98)); box-shadow: 0 38px 100px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.07); animation: themeReveal .48s cubic-bezier(.2,.8,.2,1) both; }
.theme-detail::before { content: ""; position: absolute; right: -8rem; top: -12rem; width: 28rem; aspect-ratio: 1; border: 1px solid rgba(242,204,125,.14); border-radius: 50%; box-shadow: 0 0 0 60px rgba(114,197,199,.018), 0 0 90px rgba(114,197,199,.07); pointer-events: none; }
@keyframes themeReveal { from { opacity: 0; transform: translateY(-18px) scale(.985); } to { opacity: 1; transform: none; } }
.theme-detail-close { position: absolute; z-index: 3; right: 1.2rem; top: 1.2rem; display: grid; place-items: center; width: 42px; aspect-ratio: 1; padding: 0 0 .12rem; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: var(--white); background: rgba(3,14,22,.58); cursor: pointer; font-size: 1.65rem; font-weight: 200; line-height: 1; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.theme-detail-close:hover, .theme-detail-close:focus-visible { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); transform: rotate(90deg); }
.theme-panel { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(2.5rem, 5vw, 5.5rem); animation: themePanelSwap .38s ease both; }
.theme-panel[hidden] { display: none; }
@keyframes themePanelSwap { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.theme-panel > * { min-width: 0; }
.theme-panel header { align-self: start; }
.theme-panel header .eyebrow { margin-bottom: 1.4rem; }
.theme-panel h2, .theme-panel h3 { max-width: 100%; margin: 0; font-family: var(--serif); font-size: clamp(2.45rem, 3.5vw, 4.25rem); font-weight: 400; line-height: 1.06; letter-spacing: -.035em; overflow-wrap: anywhere; hyphens: auto; text-wrap: balance; }
.theme-panel-copy { max-width: 820px; color: #bac6cc; }
.theme-panel-copy .large-copy { margin-top: 0; color: #eef3f1; font-size: clamp(1.2rem, 1.65vw, 1.55rem); line-height: 1.52; }
.theme-panel-copy > p:not(.large-copy) { max-width: 760px; }
.theme-panel-copy aside { display: grid; gap: .35rem; margin-top: 2rem; padding: 1.1rem 1.25rem; border-left: 2px solid var(--gold); color: #e6ddc7; background: rgba(242,204,125,.055); }
.theme-panel-copy aside strong { color: var(--gold-bright); font-size: .67rem; letter-spacing: .14em; text-transform: uppercase; }
.theme-detail-footer { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1); }
.theme-detail-footer p { max-width: 680px; margin: 0; color: var(--muted); font-size: .8rem; }

.texts { color: var(--ink); background: radial-gradient(circle at 82% 10%, rgba(215,170,85,.14), transparent 28%), radial-gradient(circle at 12% 88%, rgba(114,197,199,.12), transparent 24%), var(--paper); }
.texts .section-number { color: rgba(6,19,30,.1); }
.texts .eyebrow { color: #8b682e; }
.section-heading { width: min(950px, 85%); margin-bottom: 4rem; }
.section-heading > p:last-child { width: min(650px, 100%); margin: 1.8rem 0 0; color: #59636a; font-size: 1.08rem; }
.text-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(6,19,30,.16); border: 1px solid rgba(6,19,30,.16); }
.text-card { background: var(--paper); }
.text-card summary { display: grid; grid-template-columns: 3.5rem 1fr 2rem; align-items: center; gap: 1rem; min-height: 120px; padding: 1.5rem; cursor: pointer; list-style: none; }
.text-card summary::-webkit-details-marker { display: none; }
.text-card summary span:nth-child(2) { display: grid; font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.2; }
.text-card summary small { margin-bottom: .4rem; color: #8b682e; font-family: var(--sans); font-size: .68rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.text-index { color: #9a7b46; font-family: var(--serif); font-size: 1.4rem; font-style: italic; }
.text-card summary i { position: relative; width: 28px; height: 28px; border: 1px solid rgba(6,19,30,.25); border-radius: 50%; }
.text-card summary i::before, .text-card summary i::after { content: ""; position: absolute; top: 13px; left: 8px; width: 10px; height: 1px; background: var(--ink); }
.text-card summary i::after { transform: rotate(90deg); transition: transform .2s ease; }
.text-card[open] summary i::after { transform: rotate(0); }
.text-body { padding: 0 2rem 2rem 6rem; color: #48545b; }
.text-body p:first-child { margin-top: 0; }
.text-download { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.5rem 1.7rem; border: 1px solid rgba(6,19,30,.16); border-radius: .8rem; background: rgba(255,255,255,.55); }
.text-download p { display: grid; gap: .2rem; margin: 0; }
.text-download strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.text-download span { color: #59636a; font-size: .9rem; }

.quote-band { position: relative; display: grid; place-items: center; min-height: 540px; padding: 8rem 1.5rem; text-align: center; overflow: hidden; background: radial-gradient(circle at 50% 50%, #13344a 0%, #081824 55%, #05111a 100%); }
.quote-band::before { content: ""; position: absolute; width: min(70vw, 800px); aspect-ratio: 1; border: 1px solid var(--border); border-radius: 50%; box-shadow: 0 0 0 70px rgba(215,170,85,.025), 0 0 0 140px rgba(215,170,85,.02), 0 0 100px rgba(114,197,199,.14); animation: sacredPulse 8s ease-in-out infinite alternate; }
@keyframes sacredPulse { to { transform: scale(1.055) rotate(5deg); border-color: rgba(114,197,199,.3); } }
.quote-symbol { position: absolute; top: 2rem; color: rgba(215,170,85,.13); font-family: var(--serif); font-size: 18rem; line-height: 1; }
.quote-band blockquote { position: relative; width: min(940px, 90%); margin: 0; font-family: var(--serif); font-size: clamp(2rem, 4.3vw, 4.8rem); font-style: italic; line-height: 1.18; }
.quote-band > span { position: relative; color: var(--gold-bright); font-size: .72rem; font-weight: 750; letter-spacing: .22em; text-transform: uppercase; }

.videos { overflow: hidden; background: radial-gradient(circle at 88% 8%, rgba(55,104,132,.2), transparent 28%), linear-gradient(160deg, rgba(7,22,34,.95), rgba(4,14,23,.9)); }
.videos::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 20%, rgba(114,197,199,.035) 45%, transparent 72%); background-size: 220% 100%; animation: videoLight 14s linear infinite; }
@keyframes videoLight { to { background-position: -220% 0; } }
.videos .section-heading > p:last-child { color: var(--muted); }
.video-privacy-summary { position: relative; z-index: 1; width: min(920px, 100%); margin: -1.8rem 0 2.2rem; padding: 1rem 1.15rem; border-left: 3px solid var(--gold); color: #bcc8ce; background: rgba(255,255,255,.045); font-size: .92rem; }
.video-privacy-summary strong { color: var(--gold-bright); }
.video-privacy-summary a { text-decoration: underline; text-underline-offset: .2em; }
.video-controls { position: sticky; z-index: 10; top: 76px; display: grid; grid-template-columns: minmax(230px, 1fr) auto minmax(200px, .6fr); gap: .8rem; padding: .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 1rem; background: rgba(7,22,34,.88); backdrop-filter: blur(20px); box-shadow: var(--shadow); }
.search-field, .select-field { display: flex; align-items: center; gap: .6rem; height: 48px; padding: 0 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .7rem; background: rgba(255,255,255,.045); }
.search-field:focus-within, .select-field:focus-within { border-color: var(--gold); }
.search-field svg { width: 19px; fill: none; stroke: var(--muted); stroke-width: 1.6; }
.search-field input, .select-field select { width: 100%; border: 0; outline: 0; color: white; background: transparent; }
.search-field input::placeholder { color: #778690; }
.select-field select { cursor: pointer; }
.select-field option { color: var(--ink); background: white; }
.filter-group { display: flex; gap: .25rem; padding: .25rem; border-radius: .7rem; background: rgba(255,255,255,.04); }
.filter { border: 0; border-radius: .5rem; padding: .45rem .75rem; color: var(--muted); background: transparent; cursor: pointer; font-size: .85rem; font-weight: 700; }
.filter span { margin-left: .25rem; opacity: .65; font-size: .7rem; }
.filter.active { color: var(--ink); background: var(--gold-bright); }
.result-count { min-height: 1.5rem; margin: 1.4rem 0; color: var(--muted); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; perspective: 1500px; }
.video-card { --rx: 0deg; --ry: 0deg; --card-x: 50%; --card-y: 50%; position: relative; min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: .8rem; color: white; background: linear-gradient(145deg, rgba(18,54,73,.94), rgba(8,27,40,.98)); box-shadow: 0 12px 28px rgba(0,0,0,.17); cursor: pointer; transform-style: preserve-3d; transition: transform .22s ease, border-color .3s ease, box-shadow .3s ease; }
.video-card::before { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--card-x) var(--card-y), rgba(242,204,125,.18), transparent 38%); transition: opacity .3s ease; }
.video-card:hover::before { opacity: 1; }
.video-card:hover, .video-card:focus-visible { transform: perspective(1050px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px); border-color: rgba(215,170,85,.52); box-shadow: 0 19px 42px rgba(0,0,0,.32), 0 0 28px rgba(114,197,199,.07); outline: none; }
.video-thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(114,197,199,.22), transparent 35%), linear-gradient(145deg, #0d2b3d, #030b12); transform: translateZ(18px); }
.video-card.short .video-thumb { aspect-ratio: 16 / 9; }
.video-poster-art { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; background: #02070a; filter: saturate(1.04) contrast(1.03); transition: filter .4s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.video-card:hover .video-poster-art { filter: brightness(.78) saturate(1.11) contrast(1.04); transform: scale(1.025); }
.video-thumb::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgba(4,14,22,.78), transparent 56%), linear-gradient(120deg, rgba(114,197,199,.08), transparent 32%, rgba(242,204,125,.07)); }
.play { position: absolute; z-index: 2; left: 1rem; bottom: 1rem; display: grid; place-items: center; width: 43px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: rgba(6,19,30,.58); backdrop-filter: blur(8px); transform: translateZ(42px); transition: background .2s ease, transform .2s ease; }
.play::before { content: ""; width: 0; height: 0; margin-left: 3px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid white; }
.video-card:hover .play { color: var(--ink); background: var(--gold); transform: translateZ(34px) scale(1.04); }
.video-badge { position: absolute; z-index: 2; top: .8rem; right: .8rem; padding: .28rem .55rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(6,19,30,.66); backdrop-filter: blur(8px); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transform: translateZ(38px); }
.video-card.short .video-badge { color: var(--ink); border-color: transparent; background: var(--gold-bright); }
.video-info { position: relative; z-index: 2; display: grid; gap: .65rem; padding: 1.15rem; background: linear-gradient(180deg, rgba(13,41,56,.97), rgba(6,22,33,.99)); transform: translateZ(20px); }
.video-info h3 { min-height: 3.2em; margin: 0; display: -webkit-box; overflow: hidden; font-family: var(--serif); font-size: 1.15rem; font-weight: 400; line-height: 1.4; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.video-meta { display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: var(--muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.video-meta span:last-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.empty-state { padding: 6rem 1rem; text-align: center; border: 1px dashed rgba(255,255,255,.15); border-radius: 1rem; }
.empty-state span { color: var(--gold); font-family: var(--serif); font-size: 4rem; }
.empty-state h3 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.empty-state p { color: var(--muted); }

.guest-production { position: relative; display: grid; grid-template-columns: minmax(360px, 1.04fr) minmax(360px, .96fr); align-items: center; gap: clamp(2.2rem, 5vw, 5rem); margin-top: clamp(5rem, 9vw, 8rem); padding: clamp(1.3rem, 3.2vw, 3.2rem); overflow: hidden; border: 1px solid rgba(215,170,85,.32); border-radius: 1.4rem; background: radial-gradient(circle at 12% 12%, rgba(114,197,199,.12), transparent 32%), linear-gradient(145deg, rgba(15,48,66,.9), rgba(5,18,28,.96)); box-shadow: 0 35px 95px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.06); }
.guest-production::before { content: "GASTBEITRAG"; position: absolute; right: -1rem; bottom: -2.5rem; color: rgba(255,255,255,.025); font-family: var(--serif); font-size: clamp(5rem, 11vw, 11rem); line-height: 1; letter-spacing: -.05em; pointer-events: none; }
.guest-production-player { width: 100%; align-self: center; border-color: rgba(114,197,199,.28); }
.guest-production + .guest-production { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.guest-production-latest { border-color: rgba(242,204,125,.5); background: radial-gradient(circle at 12% 12%, rgba(242,204,125,.14), transparent 34%), radial-gradient(circle at 90% 85%, rgba(114,197,199,.1), transparent 33%), linear-gradient(145deg, rgba(16,46,61,.94), rgba(5,18,28,.98)); }
.guest-production-latest::before { content: "NEU"; color: rgba(242,204,125,.035); }
.guest-production-copy { position: relative; z-index: 2; }
.guest-production-label { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.5rem; }
.guest-production-label span { padding: .4rem .68rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #cad5da; background: rgba(255,255,255,.045); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.guest-production-label span:first-child { color: var(--ink); border-color: transparent; background: var(--gold-bright); }
.guest-production-copy .eyebrow { margin-bottom: .9rem; }
.guest-production-copy h2, .guest-production-copy h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.3rem, 4vw, 4.4rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.03; }
.guest-production-copy h2 span, .guest-production-copy h3 span { color: var(--gold-bright); font-style: italic; }
.guest-lead { margin: 1.5rem 0; color: #c7d1d6; font-size: 1rem; }
.guest-channel { display: grid; gap: .7rem; margin: 1.7rem 0; padding: 1.1rem 1.2rem; border: 1px solid rgba(255,255,255,.1); border-radius: .8rem; background: rgba(0,0,0,.12); }
.guest-channel p { display: grid; grid-template-columns: minmax(125px, .65fr) 1fr; gap: 1rem; margin: 0; }
.guest-channel p > span { color: var(--muted); font-size: .69rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.guest-channel p > strong, .guest-channel p > a { color: #edf2f3; font-size: .86rem; font-weight: 650; }
.guest-channel a { text-decoration: underline; text-decoration-color: rgba(242,204,125,.45); text-underline-offset: .23em; }
.guest-channel a:hover, .guest-channel a:focus-visible { color: var(--gold-bright); }
.guest-channel-description { padding: 1.15rem 1.25rem; border-left: 3px solid var(--aqua); background: rgba(114,197,199,.055); }
.guest-channel-description h3, .guest-channel-description h4 { margin: 0 0 .45rem; color: var(--aqua); font-family: var(--sans); font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.guest-channel-description p { margin: 0; color: #b8c5cb; font-size: .88rem; }
.guest-disclaimer { margin: 1.2rem 0 0; color: #93a3ac; font-size: .78rem; line-height: 1.55; }
.guest-disclaimer strong { color: var(--gold-bright); }
.contact { display: grid; grid-template-columns: 1fr minmax(320px, .7fr); gap: clamp(3rem, 9vw, 9rem); background: radial-gradient(circle at 85% 18%, rgba(215,170,85,.11), transparent 30%), linear-gradient(135deg, rgba(12,41,59,.96) 0%, rgba(7,22,34,.91) 60%); }
.contact-intro > p { max-width: 650px; color: #b6c1c8; }
.contact-links { display: grid; margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.13); }
.contact-links a { display: grid; grid-template-columns: 6.5rem 1fr auto; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.13); transition: color .2s ease, padding .2s ease; }
.contact-links a:hover { padding-left: .5rem; color: var(--gold-bright); }
.contact-links span { color: var(--muted); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-links strong { overflow-wrap: anywhere; font-weight: 550; }
.contact-form { position: relative; align-self: center; display: grid; gap: 1.15rem; padding: clamp(1.5rem, 3.5vw, 3rem); border: 1px solid var(--border); border-radius: 1rem; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: var(--deep-shadow); backdrop-filter: blur(18px) saturate(120%); }
.form-kicker { margin: 0 0 .5rem; font-family: var(--serif); font-size: 1.6rem; }
.contact-form label { display: grid; gap: .45rem; color: #c6d0d5; font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: .55rem; outline: 0; padding: .8rem .9rem; color: white; background: rgba(0,0,0,.13); resize: vertical; transition: border .2s ease, background .2s ease; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--gold); background: rgba(0,0,0,.2); }
.contact-form small { color: var(--muted); font-size: .7rem; }

footer { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 2rem; padding: 3rem clamp(1.2rem, 7vw, 8rem); border-top: 1px solid rgba(255,255,255,.08); background: #04101a; }
footer p { color: var(--muted); text-align: center; }
footer > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .7rem 1.3rem; color: #c5cdd2; font-size: .8rem; }
footer > div a:hover, footer > div a:focus-visible { color: var(--gold-bright); }
footer small { grid-column: 1 / -1; color: #657681; font-size: .7rem; }
.ai-notice { grid-column: 1 / -1; max-width: 920px; margin: -.9rem 0 0; color: #7f909a; text-align: left; font-size: .75rem; line-height: 1.55; }

.legal-page { min-height: 100vh; background: radial-gradient(circle at 85% 8%, rgba(114,197,199,.13), transparent 28%), radial-gradient(circle at 12% 70%, rgba(215,170,85,.08), transparent 30%), var(--ink); }
.legal-header { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 78px; padding: 0 clamp(1rem, 5vw, 5rem); border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(4,16,26,.92); }
.legal-back { color: var(--gold-bright); font-size: .82rem; font-weight: 700; letter-spacing: .05em; }
.legal-main { width: min(920px, calc(100% - 2.4rem)); margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) 0; }
.legal-main .eyebrow { margin-bottom: 1.2rem; }
.legal-main h1 { margin: 0 0 2rem; font-size: clamp(3.1rem, 8vw, 6.5rem); }
.legal-main h2 { margin: 3rem 0 .8rem; color: var(--gold-bright); font-family: var(--serif); font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 400; }
.legal-main h3 { margin: 2rem 0 .5rem; color: #dce5e8; font-size: 1.08rem; }
.legal-main p, .legal-main li { color: #bcc8ce; }
.legal-main a { color: var(--gold-bright); text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-main address { padding: 1.25rem 1.4rem; border-left: 3px solid var(--gold); color: #eef2ef; background: rgba(255,255,255,.045); font-style: normal; }
.legal-main ul { padding-left: 1.25rem; }
.legal-main .legal-note { margin-top: 3rem; padding: 1.2rem 1.4rem; border: 1px solid rgba(215,170,85,.28); border-radius: .7rem; background: rgba(215,170,85,.06); }
.legal-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 1.6rem; padding: 2.2rem 1.2rem; border-top: 1px solid rgba(255,255,255,.08); color: #9eabb3; background: #04101a; font-size: .82rem; }
.legal-footer a:hover, .legal-footer a:focus-visible { color: var(--gold-bright); }

.video-dialog { width: min(1100px, calc(100% - 2rem)); max-height: calc(100svh - 2rem); padding: 0; overflow: auto; border: 1px solid rgba(215,170,85,.4); border-radius: 1rem; color: white; background: #06131e; box-shadow: 0 35px 100px rgba(0,0,0,.7); }
.video-dialog::backdrop { background: rgba(1,7,11,.88); backdrop-filter: blur(8px); }
.dialog-close { position: fixed; z-index: 4; top: max(1.6rem, calc((100svh - min(62vw, 740px))/2)); right: max(1.6rem, calc((100vw - min(1100px, 100vw - 2rem))/2 + .8rem)); display: grid; place-items: center; width: 42px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(0,0,0,.5); cursor: pointer; font-size: 1.6rem; backdrop-filter: blur(8px); }
.video-frame { aspect-ratio: 16 / 9; background: black; }
.video-frame iframe { width: 100%; height: 100%; border: 0; }
.dialog-caption { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.2rem 1.5rem; }
.dialog-caption span { color: var(--gold); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dialog-caption h2 { font-family: var(--serif); font-size: 1.2rem; line-height: 1.3; letter-spacing: 0; }
.dialog-caption a { color: var(--gold-bright); font-size: .75rem; }

.depth-surface { --depth-rx: 0deg; --depth-ry: 0deg; --depth-x: 50%; --depth-y: 50%; transform: perspective(1250px) rotateX(var(--depth-rx)) rotateY(var(--depth-ry)) translateZ(0); transform-style: preserve-3d; transition: transform .24s ease, box-shadow .34s ease, border-color .34s ease, filter .34s ease; will-change: transform; }
.depth-surface:hover { border-color: rgba(242,204,125,.52); box-shadow: 0 42px 100px rgba(0,0,0,.52), 0 0 52px rgba(114,197,199,.11), inset 0 1px rgba(255,255,255,.1); filter: brightness(1.035) saturate(1.05); }
.depth-surface > * { transform-style: preserve-3d; }
.theme-card.depth-surface { background: radial-gradient(circle at var(--depth-x) var(--depth-y), rgba(242,204,125,.14), transparent 33%), rgba(6,19,30,.58); }
.theme-card.depth-surface > span, .theme-card.depth-surface > h2, .theme-card.depth-surface > h3, .theme-card.depth-surface > p { position: relative; z-index: 2; transform: translateZ(28px); }
.theme-card.depth-surface:hover { z-index: 2; background: radial-gradient(circle at var(--depth-x) var(--depth-y), rgba(242,204,125,.24), transparent 36%), linear-gradient(180deg, rgba(215,170,85,.14), rgba(6,19,30,.72)); }
.manifesto-copy.depth-surface { padding: clamp(1.4rem, 3vw, 2.4rem); border: 1px solid rgba(255,255,255,.08); border-radius: 1.1rem; background: radial-gradient(circle at var(--depth-x) var(--depth-y), rgba(114,197,199,.1), transparent 38%), linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); box-shadow: 0 28px 70px rgba(0,0,0,.2); backdrop-filter: blur(14px); }
.manifesto-copy.depth-surface > * { transform: translateZ(24px); }
.contact-form.depth-surface { background: radial-gradient(circle at var(--depth-x) var(--depth-y), rgba(242,204,125,.11), transparent 34%), linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); }
.contact-form.depth-surface > * { transform: translateZ(20px); }
.featured-player.depth-surface .video-launch-button { box-shadow: 0 22px 55px rgba(0,0,0,.5), 0 0 34px rgba(242,204,125,.15); }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
.reveal.visible { opacity: 1; transform: none; }
.depth-surface.reveal { transform: perspective(1250px) rotateX(var(--depth-rx)) rotateY(var(--depth-ry)) translateZ(0); }
.depth-surface.reveal.visible { transform: perspective(1250px) rotateX(var(--depth-rx)) rotateY(var(--depth-ry)) translateZ(0); }
:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 4px; }

/* Version 26: eigenständige, leichte Unterseiten */
.section { content-visibility: auto; contain-intrinsic-size: 800px; }
.subpage-main { min-height: calc(100svh - 78px); padding-top: 78px; }
.subpage-hero { position: relative; min-height: 520px; display: grid; align-content: center; padding: clamp(7rem, 12vw, 11rem) clamp(1.2rem, 7vw, 8rem) clamp(4.5rem, 8vw, 7rem); overflow: hidden; background: radial-gradient(circle at 82% 30%, rgba(215,170,85,.13), transparent 27%), radial-gradient(circle at 16% 76%, rgba(114,197,199,.13), transparent 32%), linear-gradient(145deg, rgba(8,31,46,.98), rgba(4,14,23,.98)); }
.subpage-hero::before { content: ""; position: absolute; right: -12vw; top: -55%; width: min(64vw, 780px); aspect-ratio: 1; border: 1px solid rgba(242,204,125,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(215,170,85,.025), 0 0 90px rgba(114,197,199,.08); pointer-events: none; }
.subpage-hero > * { position: relative; z-index: 1; width: min(1000px, 90%); }
.subpage-hero h1 { font-family: var(--display-serif); font-size: clamp(3.4rem, 7.3vw, 7.4rem); line-height: .96; letter-spacing: -.055em; }
.subpage-hero h1 span { color: var(--gold-bright); font-style: italic; }
.subpage-hero > p:not(.eyebrow) { max-width: 780px; margin: 2rem 0 0; color: #bac7cd; font-size: clamp(1rem, 1.45vw, 1.24rem); }
.page-channel-action { margin-top: 2.25rem; }
.page-channel-action .button-youtube { width: auto; min-width: min(100%, 330px); }

.portal-section { overflow: hidden; background: radial-gradient(circle at 82% 8%, rgba(215,170,85,.09), transparent 30%), linear-gradient(160deg, rgba(7,29,43,.98), rgba(4,14,23,.96)); }
.portal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: clamp(2.5rem, 5vw, 4.5rem); border: 1px solid rgba(215,170,85,.24); background: rgba(215,170,85,.2); perspective: 1400px; }
.portal-card { position: relative; display: grid; align-content: start; min-height: 290px; padding: clamp(1.6rem, 3vw, 2.8rem); overflow: hidden; background: linear-gradient(145deg, rgba(9,34,49,.98), rgba(5,20,31,.98)); transition: background .3s ease, color .3s ease, transform .3s ease; }
.portal-card::after { content: ""; position: absolute; right: -18%; bottom: -45%; width: 65%; aspect-ratio: 1; border: 1px solid rgba(114,197,199,.12); border-radius: 50%; transition: transform .5s ease, border-color .3s ease; }
.portal-card:hover::after, .portal-card:focus-visible::after { transform: translate3d(-8%, -8%, 0) scale(1.08); border-color: rgba(242,204,125,.35); }
.portal-card > span { color: var(--gold-bright); font-family: var(--serif); font-size: 1rem; }
.portal-card h3 { margin: 2.6rem 0 .8rem; font-family: var(--display-serif); font-size: clamp(2rem, 3.2vw, 3.2rem); font-weight: 400; line-height: 1.05; }
.portal-card p { max-width: 540px; margin: 0; color: #aebcc3; }
.portal-card strong { margin-top: auto; padding-top: 2rem; color: var(--gold-bright); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }

.videos-library { padding-top: clamp(4rem, 7vw, 6.5rem); }
.videos-library .video-privacy-summary { margin-top: 0; }
.load-more-wrap { display: flex; justify-content: center; margin-top: 3rem; }
.load-more-wrap[hidden] { display: none; }
.podcast-collection { background: radial-gradient(circle at 8% 18%, rgba(114,197,199,.08), transparent 30%), linear-gradient(155deg, rgba(7,26,39,.98), rgba(4,14,23,.98)); }
.podcast-collection .guest-production:first-child { margin-top: 0; }
.contact-standalone { grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr); align-items: start; }
.contact-standalone .contact-links { margin-top: 0; }
.themes-library { padding-top: clamp(4rem, 7vw, 6rem); }
.themes-library .theme-detail { scroll-margin-top: 78px; }

.thought-library { grid-column: 1 / -1; width: 100%; margin-top: clamp(5rem, 9vw, 8rem); padding-top: clamp(4rem, 7vw, 6rem); border-top: 1px solid rgba(242,204,125,.28); }
.thought-library-heading { width: min(930px, 100%); margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.thought-library-heading h2 { margin: 0; font-family: var(--display-serif); font-size: clamp(3rem, 5.5vw, 6rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.thought-library-heading h2 span { color: var(--gold-bright); font-style: italic; }
.thought-library-heading > p:last-child { max-width: 760px; margin: 1.7rem 0 0; color: #aebcc3; font-size: 1.05rem; }
.thought-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid rgba(215,170,85,.25); background: rgba(215,170,85,.22); }
.thought-article { min-width: 0; content-visibility: auto; contain-intrinsic-size: 260px; color: var(--white); background: linear-gradient(145deg, rgba(10,38,53,.98), rgba(5,20,31,.99)); }
.thought-article[open] { grid-column: 1 / -1; background: radial-gradient(circle at 92% 4%, rgba(215,170,85,.13), transparent 28%), linear-gradient(145deg, rgba(10,38,53,.99), rgba(4,16,25,.99)); }
.thought-article summary { position: relative; display: grid; align-content: start; min-height: 260px; padding: clamp(1.5rem, 3vw, 2.5rem) clamp(3.8rem, 5vw, 5rem) clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem); cursor: pointer; list-style: none; transition: color .25s ease, background .3s ease; }
.thought-article summary::-webkit-details-marker { display: none; }
.thought-article summary:hover, .thought-article summary:focus-visible { background: radial-gradient(circle at 14% 0, rgba(242,204,125,.13), transparent 42%); }
.thought-category { color: var(--gold-bright); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.thought-article summary h3 { max-width: 620px; margin: 2rem 0 .75rem; font-family: var(--display-serif); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 400; line-height: 1.08; letter-spacing: -.03em; }
.thought-article summary p { max-width: 650px; margin: 0; color: #9fadb5; font-size: .95rem; }
.thought-article summary i { position: absolute; right: clamp(1.3rem, 2.5vw, 2.2rem); top: clamp(1.5rem, 3vw, 2.5rem); width: 32px; height: 32px; border: 1px solid rgba(242,204,125,.46); border-radius: 50%; color: var(--gold-bright); transition: transform .3s ease, background .25s ease; }
.thought-article summary i::before, .thought-article summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1px; background: currentColor; transform: translate(-50%, -50%); }
.thought-article summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.thought-article[open] summary { min-height: auto; border-bottom: 1px solid rgba(255,255,255,.1); }
.thought-article[open] summary i { color: var(--ink); background: var(--gold-bright); transform: rotate(45deg); }
.thought-article-body { columns: 2 320px; column-gap: clamp(2.2rem, 5vw, 5.5rem); padding: clamp(2rem, 5vw, 4.5rem); color: #bac6cc; }
.thought-article-body p { max-width: 760px; margin: 0 0 1.35rem; break-inside: avoid; }
.thought-article-body .article-lead { color: #f2f4ef; font-family: var(--serif); font-size: clamp(1.18rem, 1.65vw, 1.48rem); line-height: 1.55; }
.thought-article-body aside { display: grid; gap: .35rem; margin: 1.8rem 0 0; padding: 1.1rem 1.25rem; break-inside: avoid; border-left: 2px solid var(--gold); color: #e6ddc7; background: rgba(242,204,125,.055); }
.thought-article-body aside strong { color: var(--gold-bright); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 1160px) and (min-width: 781px) {
  nav { gap: .95rem; }
  nav a { font-size: .71rem; letter-spacing: .055em; }
  .nav-youtube { padding: .55rem .75rem; }
}

@media (max-width: 1050px) {
  .featured-film { grid-template-columns: 1fr; gap: 2.5rem; }
  .featured-film-copy { width: min(800px, 100%); }
  .book-feature { grid-template-columns: minmax(240px, .6fr) 1fr; gap: 3rem; }
  .themes { grid-template-columns: repeat(2, 1fr); }
  .theme-card:last-of-type { grid-column: 1 / -1; min-height: 250px; }
  .theme-panel { grid-template-columns: 1fr; gap: 2rem; }
  .theme-panel h2, .theme-panel h3 { max-width: 760px; }
  .video-controls { grid-template-columns: 1fr auto; }
  .select-field { grid-column: 1 / -1; }
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guest-production { grid-template-columns: 1fr; }
  .guest-production-player { width: min(820px, 100%); }
  .contact { grid-template-columns: 1fr; }
  .contact-standalone { grid-template-columns: 1fr; }
  .thought-grid { grid-template-columns: 1fr; }
  .thought-article[open] { grid-column: auto; }
  footer { grid-template-columns: 1fr auto; }
  footer p { display: none; }
}

@media (max-width: 780px) {
  .mystic-canvas, .cursor-aura, .film-grain { display: none; }
  .ambient span { animation: none; filter: blur(90px); }
  .ambient span:nth-child(n+2) { display: none; }
  .site-header { height: 66px; backdrop-filter: none; background: rgba(6,19,30,.97); }
  .menu-toggle { display: block; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  nav { position: fixed; inset: 66px 0 auto; display: grid; gap: 0; padding: 1rem; border-bottom: 1px solid var(--border); background: rgba(6,19,30,.98); transform: translateY(-130%); transition: transform .3s ease; }
  nav.open { transform: none; }
  nav a { padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
  nav a::after { display: none; }
  .nav-youtube { margin-top: .7rem; text-align: center; }
  .hero { min-height: 920px; padding-top: 8rem; align-items: start; }
  .hero-content { width: 100%; }
  .hero-image { background-position: 67% center; }
  .hero-scrim { background: linear-gradient(180deg, rgba(4,14,23,.9) 0%, rgba(4,14,23,.57) 48%, rgba(4,14,23,.95) 82%, var(--ink) 100%); }
  .hero-pentagram { left: var(--pentagram-x, 76.7%); top: var(--pentagram-y, 37.2%); width: var(--pentagram-size, 120px); opacity: .14; }
  .hero-pentagram-pulse { left: var(--pentagram-x, 76.7%); top: var(--pentagram-y, 37.2%); }
  .hero-souls { opacity: .56; }
  .hero-souls span:nth-child(n+7) { display: none; }
  .hero-souls span:nth-child(1) { --x: 6%; --y: 84%; --tx: 71vw; --ty: -47vh; --trail-angle: 146deg; }
  .hero-souls span:nth-child(2) { --x: 23%; --y: 76%; --tx: 54vw; --ty: -39vh; --trail-angle: 144deg; }
  .hero-souls span:nth-child(3) { --x: 40%; --y: 90%; --tx: 37vw; --ty: -53vh; --trail-angle: 125deg; }
  .hero-souls span:nth-child(4) { --x: 58%; --y: 80%; --tx: 19vw; --ty: -43vh; --trail-angle: 114deg; }
  .hero-souls span:nth-child(5) { --x: 78%; --y: 92%; --tx: -1vw; --ty: -55vh; --trail-angle: 89deg; }
  .hero-souls span:nth-child(6) { --x: 94%; --y: 82%; --tx: -17vw; --ty: -45vh; --trail-angle: 69deg; }
  h1 { font-size: clamp(3.1rem, 14vw, 5.2rem); }
  #hero-title { width: 100%; }
  .hero-title-line { text-shadow: 0 1px 0 rgba(255,255,255,.14), 1px 2px 0 var(--title-depth), 3px 5px 5px rgba(0,0,0,.34), 6px 11px 20px rgba(0,0,0,.44), 0 0 28px rgba(149,205,205,.09); }
  .hero-title-line-accent { text-shadow: 0 1px 0 rgba(255,237,190,.24), 1px 2px 0 var(--title-depth), 3px 5px 5px rgba(35,20,5,.34), 6px 12px 22px rgba(0,0,0,.46), 0 0 30px rgba(242,204,125,.13); }
  .hero-title-line::before { opacity: .22; transform: translate3d(3px, 4px, -22px); }
  .hero-copy { width: 100%; }
  .hero-actions .button, .page-channel-action .button-youtube { width: 100%; }
  .scroll-note { display: none; }
  .hero-orbit { width: 90vw; right: -35vw; top: 45%; }
  .manifesto { grid-template-columns: 1fr; gap: 2.5rem; }
  .featured-film { padding-top: 8rem; }
  .featured-film-copy h2 { font-size: clamp(2.4rem, 10vw, 4.3rem); }
  .featured-player { width: calc(100% + 1rem); margin-left: -.5rem; border-radius: .7rem; }
  .player-youtube-link { right: .7rem; top: .7rem; font-size: .62rem; }
  .player-privacy-link { left: .7rem; top: .7rem; font-size: .62rem; }
  .video-launch-label { bottom: 4.2rem; }
  .video-launch-privacy { left: .7rem; right: .7rem; bottom: .65rem; font-size: .66rem; }
  .book-feature { grid-template-columns: 1fr; }
  .book-visual { width: min(86%, 360px); }
  .book-free { right: -1rem; }
  .book-access-counter { width: 100%; border-radius: .75rem; }
  .channel-facts { gap: .5rem; }
  .channel-facts strong { font-size: 2rem; }
  .channel-facts span { font-size: .58rem; }
  .themes { grid-template-columns: 1fr; }
  .theme-card, .theme-card:last-of-type { grid-column: auto; min-height: 250px; border-left: 1px solid var(--border); }
  .theme-card h2, .theme-card h3 { margin-top: 2rem; }
  .theme-detail { padding: 4.3rem 1.2rem 1.5rem; }
  .theme-detail-close { right: .8rem; top: .8rem; }
  .theme-panel h2, .theme-panel h3 { font-size: clamp(2.35rem, 11vw, 4rem); }
  .theme-detail-footer { align-items: stretch; flex-direction: column; }
  .theme-detail-footer .button { width: 100%; }
  .thought-library { margin-top: 4.5rem; padding-top: 3.5rem; }
  .thought-library-heading h2 { font-size: clamp(2.8rem, 12vw, 4.5rem); }
  .thought-article summary { min-height: 235px; padding: 1.4rem 3.6rem 1.4rem 1.3rem; }
  .thought-article summary i { right: 1.2rem; top: 1.35rem; }
  .thought-article-body { columns: 1; padding: 1.4rem 1.3rem 2rem; }
  .section-heading { width: 100%; }
  .text-grid { grid-template-columns: 1fr; }
  .text-body { padding-left: 2rem; }
  .text-download { align-items: stretch; flex-direction: column; }
  .quote-band { min-height: 480px; }
  .video-controls { position: relative; top: auto; grid-template-columns: 1fr; }
  .video-controls, .video-launch-button, .video-launch-label, .player-privacy-link, .player-youtube-link { backdrop-filter: none; }
  .filter-group { grid-row: auto; overflow-x: auto; }
  .select-field { grid-column: auto; }
  .video-grid { grid-template-columns: 1fr; }
  .guest-production { grid-template-columns: 1fr; margin-top: 4rem; padding: 1rem; border-radius: 1rem; }
  .guest-production-copy { padding: .55rem .25rem .35rem; }
  .guest-channel p { grid-template-columns: 1fr; gap: .15rem; }
  .contact-links a { grid-template-columns: 5.2rem 1fr auto; }
  footer { grid-template-columns: 1fr; text-align: center; }
  footer > div { justify-content: center; }
  .footer-brand { justify-self: center; }
  .dialog-caption { grid-template-columns: 1fr; }
  .portal-grid { grid-template-columns: 1fr; }
  .portal-card { min-height: 245px; }
  .subpage-main { padding-top: 66px; }
  .subpage-hero { min-height: 430px; padding-top: 6rem; }
  .subpage-hero::before { right: -40vw; top: -28%; width: 105vw; }
  .subpage-hero > * { width: 100%; }
  .subpage-hero h1 { font-size: clamp(3rem, 14vw, 5rem); }
  .section { contain-intrinsic-size: 650px; }
  .hero-image, #hero-title.reveal.visible, .hero-title-line-accent, .hero-orbit, .section::after, .quote-band::before { animation: none; will-change: auto; }
  .hero-content, .hero-content > *, .hero-image, .video-thumb, .video-info, .video-badge, .play, .depth-surface, .depth-surface.reveal, .depth-surface.reveal.visible { transform: none !important; transform-style: flat; will-change: auto; }
  .depth-surface:hover { filter: none; box-shadow: var(--shadow); }
  .video-card:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .cursor-aura { display: none; }
  .hero-souls { display: none; }
  .hero-content, .hero-image, #hero-title, #hero-title.reveal, #hero-title.reveal.visible, .depth-surface, .depth-surface.reveal, .depth-surface.reveal.visible { transform: none !important; }
}

@media (hover: none), (pointer: coarse) {
  .cursor-aura { display: none; }
  .video-card:hover { transform: none; }
}
