:root {
  --pink: #ff188f;
  --hot-pink: #f00073;
  --acid: #ffd75a;
  --green: #075137;
  --emerald: #08744c;
  --gold: #f7c74a;
  --ink: #13000d;
  --paper: #fff4fa;
  --silver: #ebe6ed;
  --line: rgba(239,234,226,.25);
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--font-sans); overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.cover-only { width: 100vw; height: 100dvh; display: grid; place-items: center; overflow: hidden; background: #050505; }
.cover-only img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cover-only img:not([src]),.cover-only img[src=""] { visibility: hidden; }
.site-content[hidden] { display: none !important; }
.hero--legacy { display: none !important; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.noise { position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .06; 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='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.cursor-glow { position: fixed; width: 280px; height: 280px; border-radius: 50%; background: rgba(255,0,110,.12); filter: blur(60px); pointer-events: none; z-index: 0; transform: translate(-50%,-50%); }
.ticker { height: 32px; background: var(--acid); color: var(--ink); font-size: 11px; font-weight: 700; overflow: hidden; display: flex; align-items: center; }
.ticker__track { display: flex; min-width: max-content; gap: 52px; animation: ticker 24s linear infinite; }
@keyframes ticker { to { transform: translateX(-50%); } }

.site-header { min-height: 92px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 220px 1fr 100px; align-items: center; padding: 0 4vw; position: sticky; top: 0; background: rgba(11,7,16,.86); backdrop-filter: blur(18px); z-index: 15; }
.brand { display: flex; align-items: baseline; gap: 8px; font-family: "Archivo Black", sans-serif; font-size: 28px; letter-spacing: -2px; }
.brand small { font: 600 8px/1 "Space Grotesk",sans-serif; letter-spacing: .12em; }
.brand__cross { color: var(--pink); font-size: 18px; }
.main-nav { display: flex; justify-content: center; gap: clamp(20px,3vw,52px); text-transform: uppercase; font-size: 12px; font-weight: 700; }
.main-nav a { position: relative; }
.main-nav a::after { content: ""; position: absolute; height: 1px; background: var(--pink); left: 0; right: 100%; bottom: -6px; transition: right .25s; }
.main-nav a:hover::after { right: 0; }
.main-nav sup { color: var(--acid); font-size: 7px; position: absolute; margin-left: 3px; }
.main-nav .nav-vote { color: #fff2a4; }
.header-join { justify-self: end; color: var(--ink); background: var(--acid); border: 0; padding: 12px 14px; font-size: 9px; font-weight: 700; cursor: pointer; }
.menu-button { display: none; }

.hero { min-height: calc(100vh - 124px); display: grid; grid-template-columns: 48% 52%; position: relative; border-bottom: 1px solid var(--line); overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 40%, rgba(255,27,141,.22), transparent 40%), linear-gradient(90deg, transparent 49.9%, var(--line) 50%, transparent 50.1%); }
.hero__copy { position: relative; z-index: 2; padding: 7vw 3vw 6vw 6vw; display: flex; flex-direction: column; justify-content: center; }
.eyebrow { display: flex; gap: 40px; font-size: 9px; letter-spacing: .15em; margin-bottom: 28px; color: var(--acid); }
h1,h2,h3,p { margin-top: 0; }
.hero h1 { font-family: "Archivo Black", sans-serif; font-size: clamp(62px,8.8vw,145px); line-height: .76; letter-spacing: -.075em; margin: 0 0 38px; position: relative; z-index: 3; }
.chrome { color: transparent; -webkit-text-stroke: 2px var(--paper); background: linear-gradient(#fff 15%,#5f5a69 36%,#fff 50%,#29242f 65%,#fff 86%); background-clip: text; -webkit-background-clip: text; filter: drop-shadow(4px 5px 0 var(--pink)); }
.hero__copy > p { max-width: 480px; font-size: 15px; line-height: 1.6; color: #bdb6c1; }
.hero__actions { display: flex; align-items: center; gap: 26px; margin-top: 18px; }
.button { display: inline-flex; justify-content: space-between; align-items: center; min-width: 235px; padding: 17px 18px; font-size: 11px; font-weight: 700; border: 1px solid var(--pink); }
.button--primary { background: var(--pink); }
.button:hover { background: var(--acid); border-color: var(--acid); color: var(--ink); }
.sound-button { color: var(--paper); border: 0; background: none; font-size: 9px; letter-spacing: .1em; cursor: pointer; }
.sound-bars { color: var(--acid); letter-spacing: 1px; }
.hero__art { position: relative; display: grid; place-items: center; min-height: 690px; }
.portrait-frame { width: min(38vw,560px); aspect-ratio: 1/1; border-radius: 46% 46% 18% 18%; overflow: hidden; position: relative; z-index: 3; border: 2px solid #ff84c2; box-shadow: 0 0 0 12px rgba(255,27,141,.08), 0 0 90px rgba(255,0,110,.38); background: var(--pink); }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; }
.portrait-fallback { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; background: radial-gradient(circle,#ff75ba 0,#f00071 40%,#5a0034 100%); }
.portrait-fallback span { font-size: 100px; text-shadow: 0 0 30px white; }
.portrait-fallback strong { font-family: "Archivo Black"; font-size: 24px; }
.portrait-fallback small { margin-top: 12px; }
.halo { position: absolute; width: min(45vw,650px); aspect-ratio: 1; border-radius: 50%; background: repeating-conic-gradient(from 0deg,var(--pink) 0 2deg,transparent 2deg 5deg); opacity: .85; animation: rotate 45s linear infinite; mask: radial-gradient(transparent 0 46%,#000 47%); -webkit-mask: radial-gradient(transparent 0 46%,#000 47%); }
.orbit { position: absolute; border: 1px solid rgba(186,255,41,.7); border-radius: 50%; z-index: 4; pointer-events: none; }
.orbit::before { content: "✦"; color: var(--acid); position: absolute; top: -8px; left: 50%; filter: drop-shadow(0 0 7px var(--acid)); }
.orbit--one { width: min(47vw,690px); height: 34%; transform: rotate(-10deg); animation: orbit-one 9s ease-in-out infinite alternate; }
.orbit--two { width: min(40vw,600px); height: 65%; transform: rotate(24deg); border-color: rgba(255,255,255,.3); }
@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes orbit-one { to { transform: rotate(8deg); } }
.art-tag { position: absolute; z-index: 5; padding: 6px 9px; font-size: 8px; background: var(--paper); color: var(--ink); font-weight: 700; letter-spacing: .12em; }
.art-tag--top { top: 16%; right: 7%; transform: rotate(4deg); }
.art-tag--bottom { bottom: 13%; left: 7%; transform: rotate(-4deg); background: var(--acid); }
.float-gem { position: absolute; z-index: 6; display: grid; place-items: center; border: 1px solid #ff9bd0; color: white; background: radial-gradient(circle at 35% 30%,#fff,#fc198b 20%,#310019 65%); box-shadow: 0 0 25px var(--pink); border-radius: 50%; }
.float-gem--one { width: 65px; height: 65px; right: 8%; bottom: 23%; }
.float-gem--two { width: 42px; height: 42px; left: 10%; top: 22%; }
.hero__side-copy { position: absolute; z-index: 5; right: 12px; bottom: 45px; writing-mode: vertical-rl; font-size: 7px; letter-spacing: .2em; }

.section-pad { padding: 110px 6vw; }
.section-index { color: var(--pink); font-size: 9px; letter-spacing: .2em; font-weight: 700; }
.manifesto { display: grid; grid-template-columns: 18% 55% 27%; background: var(--paper); color: var(--ink); align-items: end; }
.manifesto h2, .section-head h2, .events h2 { font-family: "Archivo Black"; font-size: clamp(42px,6.6vw,108px); line-height: .86; letter-spacing: -.06em; margin: 0; }
.manifesto h2 em { color: var(--pink); font-style: normal; }
.manifesto__text { max-width: 280px; font-size: 13px; line-height: 1.6; }
.community { background: #080509; position: relative; overflow: hidden; }
.community::before { content: ""; position: absolute; width: 700px; height: 700px; left: -330px; top: -200px; border-radius: 50%; background: var(--pink); filter: blur(180px); opacity: .16; }
.community__intro { position: relative; max-width: 850px; margin-bottom: 70px; }
.community__status { position: absolute; right: 0; top: 0; font-size: 8px; letter-spacing: .15em; }
.community__status i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 7px; background: var(--acid); box-shadow: 0 0 10px var(--acid); }
.community__intro h2 { font-family: "Archivo Black"; font-size: clamp(58px,9vw,140px); line-height: .74; letter-spacing: -.07em; margin: 40px 0; }
.community__intro h2 span { color: transparent; -webkit-text-stroke: 2px var(--pink); text-shadow: 5px 5px 0 rgba(255,0,110,.16); }
.community__intro > p:not(.section-index) { max-width: 600px; color: #bfb8c2; line-height: 1.7; }
.community__intro > small { display: block; margin-top: 14px; color: #716a75; font-size: 7px; letter-spacing: .12em; }
.button--acid { background: var(--acid); border: 1px solid var(--acid); color: var(--ink); cursor: pointer; }
.benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); }
.benefit-grid article { position: relative; min-height: 285px; padding: 22px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.benefit-grid article:last-child { border-right: 0; }
.benefit-grid article > span { color: var(--pink); font-size: 8px; }
.benefit-icon { font-size: 55px; color: var(--acid); margin: auto 0 25px; filter: drop-shadow(0 0 13px rgba(186,255,41,.45)); }
.benefit-grid h3 { font-family: "Archivo Black"; font-size: 18px; margin-bottom: 10px; }
.benefit-grid p { color: #918a95; font-size: 11px; line-height: 1.5; margin: 0; }
.community-demo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.profile-card,.vote-card { border: 1px solid var(--line); padding: 28px; background: rgba(255,255,255,.025); }
.profile-card__head { display: grid; grid-template-columns: 52px 1fr auto; gap: 13px; align-items: center; }
.avatar { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--pink); font-family: "Archivo Black"; }
.profile-card__head strong,.profile-card__head small { display: block; }
.profile-card__head strong { font-size: 11px; }
.profile-card__head small,.profile-card__head b { color: #817a84; font-size: 7px; letter-spacing: .1em; }
.profile-card__head b { color: var(--acid); }
.profile-card > p { font-size: clamp(16px,2vw,25px); line-height: 1.3; margin: 30px 0; }
.profile-card__foot { display: flex; gap: 25px; color: #8b838f; font-size: 8px; }
.vote-card__head { display: flex; justify-content: space-between; color: var(--pink); font-size: 8px; letter-spacing: .1em; }
.vote-card h3 { font-family: "Archivo Black"; font-size: clamp(20px,2.5vw,34px); line-height: 1; margin: 25px 0; }
.vote-option { width: 100%; display: grid; grid-template-columns: 110px 1fr 35px; align-items: center; gap: 10px; padding: 11px 0; color: var(--paper); border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; font-size: 9px; cursor: pointer; }
.vote-option i { height: 5px; background: #302a34; }
.vote-option i b { display: block; height: 100%; background: var(--pink); transition: width .35s; }
.vote-option em { font-style: normal; text-align: right; }
.vote-option:hover span { color: var(--acid); }
.vote-option.is-selected { color: var(--acid); }
.vote-option.is-selected i { box-shadow: 0 0 10px rgba(186,255,41,.6); }
.vote-option.is-selected i b { background: var(--acid); }
.vote-message { display: block; margin-top: 17px; color: #756e79; font-size: 7px; letter-spacing: .1em; }
.demos { color: white; background: radial-gradient(circle at 18% 50%,#ff83bf,#ed0070 34%,#780039 70%,#34001d); border-block: 6px ridge #d8d1da; }
.coming-chip { padding: 9px 12px; color: #251400; background: linear-gradient(#fff1ac,#c9880d); border: 3px ridge #fff1b0; font-size: 8px; font-weight: 700; letter-spacing: .12em; transform: rotate(2deg); }
.demos__body { display: grid; grid-template-columns: minmax(280px,500px) 1fr; gap: 8vw; align-items: center; }
.demo-disc { width: min(36vw,460px); aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; position: relative; font-family: "Archivo Black"; font-size: clamp(38px,6vw,80px); letter-spacing: -.08em; color: transparent; -webkit-text-stroke: 1px white; background: repeating-radial-gradient(circle,#12000b 0 3px,#5d0032 4px 6px,#ed0070 7px 8px); border: 6px ridge #d7d0d9; box-shadow: 0 0 0 8px #d29a22,0 25px 50px #4d0028; animation: rotate 25s linear infinite; }
.demo-disc::before { content: ""; position: absolute; width: 31%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,#111 0 12%,#ffe175 13% 18%,#08734c 19% 100%); border: 4px ridge #fff1aa; }
.demo-disc span { z-index: 1; mix-blend-mode: screen; }
.demos__body h3 { font-family: "Archivo Black"; font-size: clamp(35px,5vw,75px); line-height: .9; margin-bottom: 22px; }
.demos__body p { max-width: 530px; color: #ffe1ef; line-height: 1.7; }
.demos button:disabled,.dj-card button:disabled { cursor: not-allowed; opacity: .72; }
.forum-preview { color: white; background: radial-gradient(circle at 100% 0,#0c9665,#06472f 48%,#03291c); }
.forum-preview__head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 55px; }
.forum-preview__head h2,.dj-radar__head h2 { font-family: "Archivo Black"; font-size: clamp(48px,7vw,105px); line-height: .82; letter-spacing: -.06em; margin: 0; }
.forum-preview__head > span { color: #ffe171; font-size: 8px; letter-spacing: .12em; }
.forum-preview__head > span i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #ffe171; box-shadow: 0 0 10px #ffe171; }
.forum-topics { margin-bottom: 30px; border: 5px ridge #d4ccd6; }
.forum-topics article { display: grid; grid-template-columns: 65px 1fr 110px 30px; gap: 20px; align-items: center; padding: 22px; border-bottom: 1px solid rgba(255,255,255,.28); background: rgba(0,0,0,.16); }
.forum-topics article:last-child { border-bottom: 0; }
.forum-topics article:hover { background: rgba(255,24,143,.2); }
.forum-index { font-family: "Archivo Black"; color: #ff77b8; font-size: 25px; }
.forum-topics small { color: #ffd967; font-size: 7px; letter-spacing: .12em; }
.forum-topics h3 { margin: 5px 0 0; font-size: clamp(15px,2vw,24px); }
.forum-topics p { margin: 0; font-size: 8px; color: #9dd7c1; }
.forum-topics b { color: #ffd967; }
.dj-radar { color: #2c0018; background: linear-gradient(145deg,#ffd7e9,#fff7fb 45%,#f4adcf); }
.dj-radar__head { display: grid; grid-template-columns: 1.5fr 1fr; align-items: end; gap: 7vw; margin-bottom: 55px; }
.dj-radar__head h2 span { color: #ee0071; text-shadow: 3px 4px #ffb4d4; }
.dj-radar__head > p { max-width: 500px; line-height: 1.7; font-size: 13px; }
.dj-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.dj-card { color: white; background: #240014; border: 4px ridge #d3ccd5; box-shadow: 0 14px 28px rgba(91,0,44,.25); }
.dj-card__visual { position: relative; aspect-ratio: .85; display: grid; place-items: center; overflow: hidden; }
.dj-card__visual::before,.dj-card__visual::after { content: ""; position: absolute; border: 2px solid rgba(255,255,255,.65); border-radius: 50%; }
.dj-card__visual::before { width: 80%; height: 35%; transform: rotate(18deg); }
.dj-card__visual::after { width: 55%; height: 75%; transform: rotate(-25deg); }
.dj-card__visual span { z-index: 1; font-family: "Archivo Black"; font-size: clamp(60px,8vw,115px); color: transparent; -webkit-text-stroke: 2px white; filter: drop-shadow(5px 5px #7d003c); }
.dj-card__visual i { position: absolute; right: 10px; bottom: 8px; z-index: 2; color: #ffe16c; font: normal 700 10px "Space Grotesk"; }
.dj-visual--one { background: radial-gradient(circle,#ff9dcc,#ec0070 45%,#660031); }
.dj-visual--two { background: repeating-radial-gradient(circle,#ffe070 0 2px,#076544 3px 17px); }
.dj-visual--three { background: conic-gradient(#f60075,#290015,#ffcf52,#f60075); }
.dj-visual--four { background: linear-gradient(135deg,#e8e3e9,#4f4651 28%,#fff 48%,#910048 70%,#f1edf2); }
.dj-card__info { padding: 19px; }
.dj-card__info small { color: #ffce63; font-size: 7px; letter-spacing: .12em; }
.dj-card__info h3 { font-family: "Archivo Black"; font-size: 20px; margin: 9px 0 5px; }
.dj-card__info p { color: #aaa1ab; font-size: 9px; }
.dj-card__info button { width: 100%; padding: 10px; color: #806c76; border: 1px solid #705463; background: #19000f; font-size: 8px; }
.vote-launch { display: grid; grid-template-columns: 80px 1fr auto; gap: 25px; align-items: center; margin-top: 20px; padding: 25px; color: white; background: linear-gradient(110deg,#006443,#093c2c); border: 4px ridge #d1cad3; }
.vote-launch > span { color: #ffdc66; font-size: 55px; text-align: center; filter: drop-shadow(0 0 10px #ffdc66); }
.vote-launch small { color: #ffcf57; font-size: 7px; letter-spacing: .12em; }
.vote-launch h3 { margin: 4px 0; font-family: "Archivo Black"; font-size: 23px; }
.vote-launch p { color: #a8d5c5; font-size: 10px; margin: 0; }
.vote-launch button { padding: 13px 16px; color: #251300; border: 3px ridge #fff0ab; background: linear-gradient(#fff2ae,#cb8b12); font-size: 8px; font-weight: 700; }
.section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 56px; }
.text-link { font-size: 10px; letter-spacing: .1em; border-bottom: 1px solid; padding-bottom: 5px; }
.news { background: #130b18; }
.news-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 20px; }
.card { border: 1px solid var(--line); background: #0e0912; transition: transform .25s, border-color .25s; }
.card:hover { transform: translateY(-8px); border-color: var(--pink); }
.card__visual { aspect-ratio: 1.15/1; position: relative; display: grid; place-items: center; overflow: hidden; }
.card--lead .card__visual { aspect-ratio: 1.6/1; }
.visual--pink { background: radial-gradient(circle,#ff8dc7 0,#ff057d 38%,#270012 75%); }
.visual--green { background: repeating-radial-gradient(circle,#baff29 0 2px,#18482d 3px 18px); }
.visual--chrome { background: linear-gradient(135deg,#fff,#333 24%,#eaeaea 45%,#4d4b53 68%,#fff); color: var(--ink); }
.visual-symbol { font-family: "Archivo Black"; font-size: clamp(52px,8vw,120px); letter-spacing: -.1em; text-shadow: 4px 4px var(--pink), -3px -3px var(--acid); }
.chip { position: absolute; top: 12px; left: 12px; padding: 6px 8px; background: var(--acid); color: var(--ink); font-size: 8px; font-weight: 700; }
.card__body { padding: 24px; }
.card__body h3 { font-family: "Archivo Black"; font-size: clamp(18px,2vw,30px); line-height: 1; letter-spacing: -.04em; }
.card__body > p:last-child { font-size: 12px; color: #aaa3ae; }
.meta { color: var(--pink); font-size: 8px; letter-spacing: .12em; }

.meme-strip { min-height: 235px; padding: 38px 6vw; background: var(--acid); color: var(--ink); display: grid; grid-template-columns: 18% 1fr 180px 100px; align-items: center; gap: 20px; border-block: 6px ridge #dedede; }
.meme-strip__label span { display: block; font-family: "Archivo Black"; }
.meme-strip__label small { font-size: 7px; }
.meme-strip > p { margin: 0; font-size: clamp(18px,3.4vw,50px); font-weight: 500; line-height: .95; }
.meme-strip > p strong { font-family: "Archivo Black"; }
.meme-face { font-size: 56px; transform: rotate(-8deg); }
.meme-strip > a { font-size: 9px; border-bottom: 1px solid; }

.label { background: var(--paper); color: var(--ink); }
.acid { color: var(--pink); }
.section-note { font-size: 10px; letter-spacing: .1em; line-height: 1.5; }
.release { display: grid; grid-template-columns: 70px 110px 1fr 100px 100px; gap: 25px; align-items: center; border-top: 1px solid #817a84; padding: 20px 0; }
.release:last-child { border-bottom: 1px solid #817a84; }
.release__number,.release__date,.release a,.release p { font-size: 9px; letter-spacing: .1em; }
.release__cover { width: 90px; aspect-ratio: 1; display: grid; place-items: center; font-size: 38px; }
.cover-one { background: radial-gradient(circle,#fff,#ff0d87 30%,#240014); color: white; }
.cover-two { background: repeating-conic-gradient(#173e29 0 10deg,#baff29 11deg 20deg); }
.release h3 { font-family: "Archivo Black"; margin: 0 0 8px; font-size: clamp(22px,3vw,45px); letter-spacing: -.04em; }
.release p { margin: 0; }
.soundcloud-shell { overflow: hidden; margin-bottom: 55px; border: 6px ridge #cbc4cd; background: #210012; box-shadow: 0 20px 40px rgba(85,0,41,.28); }
.soundcloud-shell__top { display: flex; justify-content: space-between; padding: 12px 16px; color: white; background: linear-gradient(90deg,#ef0071,#630031); font-size: 8px; letter-spacing: .1em; }
.soundcloud-shell__top i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #ffd95e; box-shadow: 0 0 8px #ffd95e; }
.soundcloud-shell iframe { display: block; filter: saturate(1.2) contrast(1.04); }
.release-store-head { display: flex; justify-content: space-between; align-items: end; padding-bottom: 18px; border-bottom: 1px solid #b46a8e; }
.release-store-head h3 { margin: 0; font-family: "Archivo Black"; font-size: clamp(30px,4vw,58px); }
.release-store-head p { max-width: 420px; margin: 0; font-size: 10px; }
.release-store { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 20px; }
.release-product { overflow: hidden; color: white; border: 4px ridge #cec7d0; background: #210012; box-shadow: 0 13px 25px rgba(94,0,45,.25); }
.release-product__cover { aspect-ratio: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; text-align: center; }
.release-product__cover::after { content: ""; position: absolute; width: 76%; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.65); border-radius: 50%; box-shadow: 0 0 18px white; }
.release-product__cover span { z-index: 1; font-family: "Archivo Black"; font-size: clamp(45px,7vw,100px); letter-spacing: -.08em; color: transparent; -webkit-text-stroke: 2px white; text-shadow: 5px 5px #78003a; }
.release-product__cover small { z-index: 1; color: #ffe077; letter-spacing: .15em; }
.product-cover--one { background: radial-gradient(circle,#ff9dcc,#ee0071 42%,#5c002d); }
.product-cover--two { background: repeating-conic-gradient(#08734c 0 12deg,#ffcf52 13deg 24deg,#e80070 25deg 36deg); }
.product-cover--three { background: radial-gradient(circle,#fff 0,#747077 15%,#1c0011 35%,#f30074 70%); }
.release-product__body { padding: 20px; }
.release-product__body > small { color: #ffcddf; font-size: 7px; letter-spacing: .12em; }
.release-product__body h3 { font-family: "Archivo Black"; font-size: 23px; margin: 9px 0 3px; }
.release-product__body > p { color: #ffcf57; font-size: 9px; }
.release-product__body > div { display: flex; justify-content: space-between; margin: 25px 0 12px; font-size: 7px; }
.release-product__body > div strong { color: #99909a; }
.release-product__body button { width: 100%; padding: 13px; color: #2c1300; border: 3px ridge #fff0ad; background: linear-gradient(#fff2ad,#cc8b13); font-size: 8px; font-weight: 700; cursor: pointer; }
.store-note { color: #806d77; font-size: 8px; margin: 13px 0 0; }
.nfts { color: white; background: radial-gradient(circle at 20% 40%,#fb218c,#80003f 43%,#1c0012 82%); border-block: 7px ridge #d4cdd6; }
.nfts__head { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8vw; align-items: end; margin-bottom: 60px; }
.nfts__head h2 { font-family: "Archivo Black"; font-size: clamp(55px,9vw,140px); line-height: .76; letter-spacing: -.07em; margin: 0; }
.nfts__head h2 span { color: #ffdf6c; text-shadow: 4px 5px #6d3700,0 0 15px #ffc839; }
.nfts__head > div:last-child p { color: #eabed3; line-height: 1.7; }
.nft-chain { display: inline-block; margin-bottom: 17px; padding: 8px 10px; color: #1e1200; background: linear-gradient(#fff1a2,#cd8c11); border: 3px ridge #fff0ac; font-size: 8px; font-weight: 700; }
.nft-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; }
.nft-card { display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; border: 6px ridge #d8d1da; background: #17000e; box-shadow: 0 25px 55px #4c0028; }
.nft-art { min-height: 570px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; text-align: center; background: radial-gradient(circle,#ffb5d8,#ef087a 37%,#75003a 68%); }
.nft-art::before { content: ""; position: absolute; width: 75%; height: 75%; border: 8px ridge #ffdc72; border-radius: 48% 48% 16% 16%; box-shadow: 0 0 0 5px #f8f2f9,0 0 35px #ffd150; }
.nft-halo { position: absolute; width: 95%; aspect-ratio: 1; background: repeating-conic-gradient(#ffe77f 0 2deg,transparent 3deg 7deg); mask: radial-gradient(transparent 0 45%,#000 46%); -webkit-mask: radial-gradient(transparent 0 45%,#000 46%); animation: rotate 40s linear infinite; }
.nft-art > span { z-index: 1; color: #ffe26c; font-size: 95px; filter: drop-shadow(0 0 15px #ffe26c); }
.nft-art strong,.nft-art small { z-index: 1; }
.nft-art strong { font-family: "Archivo Black"; font-size: clamp(28px,3vw,47px); line-height: .82; text-shadow: 4px 4px #770039; }
.nft-art small { margin-top: 18px; color: #ffe27a; }
.nft-info { padding: 35px; display: flex; flex-direction: column; justify-content: center; }
.nft-info > small { color: #ff4da2; letter-spacing: .12em; }
.nft-info h3 { font-family: "Archivo Black"; font-size: clamp(28px,3vw,44px); line-height: .9; margin: 12px 0 25px; }
.nft-info ul { padding: 0; list-style: none; color: #c2b8c2; font-size: 10px; line-height: 2; }
.nft-info li::before { content: "✦"; color: #ffcf52; margin-right: 8px; }
.nft-info > div { display: flex; justify-content: space-between; padding: 20px 0; border-top: 1px solid #614555; font-size: 8px; }
.nft-info > div strong { color: #ffce58; }
.nft-info button { padding: 14px; color: #6f6670; border: 1px solid #69505e; background: #240016; font-size: 8px; cursor: not-allowed; }
.nft-explain { padding: 35px; border: 6px ridge #d4cdd6; background: linear-gradient(145deg,#006443,#022d20); }
.nft-explain ol { padding: 0; list-style: none; }
.nft-explain li { display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.nft-explain li > span { color: #ffcf55; font-family: "Archivo Black"; font-size: 25px; }
.nft-explain li strong { font-size: 11px; }
.nft-explain li p { margin: 7px 0 0; color: #9bcbb9; font-size: 9px; line-height: 1.5; }
.nft-warning { margin-top: 30px; padding: 15px; color: #f5dbe8; border: 1px solid #c898ad; background: rgba(255,24,143,.16); font-size: 8px; line-height: 1.6; }
.memberships { color: #f8f5f7; background: radial-gradient(circle at 80% 12%,rgba(255,24,143,.25),transparent 25%),linear-gradient(145deg,#09070a,#1a0c14 55%,#090708); }
.memberships__head { display: grid; grid-template-columns: 1.5fr 1fr; gap: 7vw; align-items: end; margin-bottom: 60px; }
.memberships__head h2 { margin: 0; font-size: clamp(50px,8vw,120px); line-height: .83; letter-spacing: -.065em; }
.memberships__head h2 span { color: #ff4b9e; }
.memberships__intro p { color: #b8b0b5; font-size: 14px; line-height: 1.7; }
.memberships__intro span { color: #ddbb64; font-size: 8px; letter-spacing: .1em; line-height: 1.5; }
.pass-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.pass-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(255,255,255,.035); box-shadow: 0 18px 40px rgba(0,0,0,.22); transition: transform .3s,border-color .3s; }
.pass-card:hover { transform: translateY(-8px); border-color: rgba(255,255,255,.55); }
.pass-card__token { height: 245px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.pass-card__token::before { content: ""; position: absolute; width: 175px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; box-shadow: 0 0 30px rgba(255,255,255,.25),inset 0 0 25px rgba(255,255,255,.2); }
.pass-card__token::after { content: ""; position: absolute; width: 115px; height: 210px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; transform: rotate(42deg); }
.pass-card__token > span { position: absolute; left: 14px; top: 12px; font-size: 10px; }
.pass-card__token i { z-index: 1; font-style: normal; font-size: 66px; font-weight: 800; letter-spacing: -.08em; }
.pass-card__token b { z-index: 1; margin-top: 4px; font-size: 9px; letter-spacing: .17em; }
.pass-card__token > small { z-index: 1; margin-top: 7px; font-size: 6px; font-weight: 650; letter-spacing: .12em; opacity: .68; }
.pass-digital-id { position: absolute; z-index: 2; left: 15px; right: 15px; bottom: 13px; display: flex; align-items: end; justify-content: space-between; }
.pass-digital-id em { font-style: normal; font-size: 6px; letter-spacing: .11em; opacity: .7; }
.pass-digital-id u { width: 32px; height: 32px; text-decoration: none; background: repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 4px),repeating-linear-gradient(0deg,currentColor 0 2px,transparent 2px 5px); opacity: .75; }
.pass-card--signal .pass-card__token { background: linear-gradient(145deg,#535057,#171518); }
.pass-card--frequency .pass-card__token { background: linear-gradient(145deg,#ff66ad,#b90056 55%,#470024); }
.pass-card--ritual .pass-card__token { color: #142019; background: linear-gradient(145deg,#e7d074,#08704a 60%,#003622); }
.pass-card--sanctuary .pass-card__token { color: #291a00; background: linear-gradient(145deg,#fff1a6,#b37a0c 48%,#f4cb55 65%,#684400); }
.pass-card__body { padding: 24px; }
.pass-card__body > div:first-child { display: flex; justify-content: space-between; color: #8e868b; font-size: 7px; letter-spacing: .08em; }
.pass-card__body > div:first-child strong { color: #dbba65; }
.pass-card__body h3 { margin: 24px 0 4px; font-size: 31px; letter-spacing: -.045em; }
.pass-card__body > p { min-height: 38px; color: #8e878b; font-size: 10px; line-height: 1.5; }
.pass-card__body ul { min-height: 180px; margin: 22px 0; padding: 0; list-style: none; }
.pass-card__body li { padding: 8px 0; color: #a9a1a6; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 9px; }
.pass-card__body li::before { content: "✓"; margin-right: 8px; color: #e2bf66; }
.pass-card__body li b { color: white; }
.pass-card__body button { width: 100%; padding: 13px; color: white; border: 1px solid #554d52; border-radius: 12px; background: rgba(255,255,255,.06); font-size: 8px; font-weight: 700; cursor: pointer; }
.pass-card__body button:hover { color: #251600; border-color: #f0ce73; background: #f0ce73; }
.pass-popular { position: absolute; z-index: 3; right: 10px; top: 10px; padding: 6px 8px; color: #201500; border-radius: 20px; background: #f1cf71; font-size: 7px; font-weight: 700; }
.pass-system { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 45px; border-block: 1px solid rgba(255,255,255,.17); }
.pass-system > div { padding: 25px; border-right: 1px solid rgba(255,255,255,.17); }
.pass-system > div:last-child { border-right: 0; }
.pass-system span { display: block; margin-bottom: 25px; color: #ff4b9e; font-size: 9px; }
.pass-system strong { font-size: 11px; }
.pass-system p { margin: 8px 0 0; color: #7f787d; font-size: 9px; line-height: 1.5; }
.pass-legal { max-width: 1000px; margin: 25px 0 0; color: #676166; font-size: 8px; line-height: 1.7; }

.events { display: grid; grid-template-columns: 32% 1fr; gap: 6vw; background: #0d4a31; }
.events__title { align-self: start; position: sticky; top: 150px; }
.events__title > p:not(.section-index) { max-width: 390px; margin: 30px 0; color: #b9dfd0; font-size: 12px; line-height: 1.65; }
.event-labels { display: flex; flex-wrap: wrap; gap: 7px; }
.event-labels span { padding: 8px 10px; color: #251200; border: 3px ridge #ffe899; background: linear-gradient(#fff1a8,#cb8a10); font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.event-program { min-width: 0; }
.festival-card { overflow: hidden; margin-bottom: 25px; border: 6px ridge #d5ced7; background: #220014; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.festival-card__sky { min-height: 300px; display: grid; place-items: center; position: relative; overflow: hidden; background: radial-gradient(circle,#ffb1d5 0,#f30074 31%,#730039 62%,#240014 100%); }
.festival-card__sky::before { content: ""; position: absolute; width: 560px; aspect-ratio: 1; background: repeating-conic-gradient(#ffe176 0 2deg,transparent 3deg 7deg); mask: radial-gradient(transparent 0 38%,#000 39%); -webkit-mask: radial-gradient(transparent 0 38%,#000 39%); animation: rotate 35s linear infinite; }
.festival-card__sky::after { content: "OMDELU · OMDELU · OMDELU"; position: absolute; bottom: 12px; left: 0; right: 0; color: rgba(255,255,255,.2); font-family: "Archivo Black"; font-size: clamp(28px,4vw,60px); white-space: nowrap; letter-spacing: -.04em; }
.festival-card__sky > span { z-index: 1; color: #ffe064; font-size: 135px; filter: drop-shadow(0 0 18px #ffe064); }
.festival-card__sky i { position: absolute; z-index: 1; width: 230px; height: 90px; border: 5px ridge white; border-radius: 50%; transform: rotate(-16deg); box-shadow: 0 0 15px white; }
.festival-card__sky b { position: absolute; right: 18px; top: 15px; color: #ffdc63; font-family: "Archivo Black"; font-size: 24px; }
.festival-card--aztlan { background: #071c15; }
.aztlan-sky { background: radial-gradient(circle,#e5c65c 0,#08704a 27%,#023b29 56%,#12000c 100%); }
.aztlan-sky::before { background: repeating-conic-gradient(#ffdd68 0 1deg,transparent 2deg 5deg,#ff188f 6deg 7deg,transparent 8deg 12deg); }
.aztlan-sky::after { content: "AZTLÁN · AZTLÁN · AZTLÁN"; color: rgba(255,221,104,.2); }
.aztlan-sky > span { color: #ffdc63; font-size: 160px; text-shadow: 0 0 16px #ffcf45,6px 6px #e90070; }
.aztlan-sky i { width: 180px; height: 180px; border-radius: 0; transform: rotate(45deg); border-color: #ffdc63; box-shadow: 0 0 18px #ffdc63,inset 0 0 18px #ff188f; }
.festival-card--aztlan .festival-card__copy h3 { background: linear-gradient(#fff0a4,#a86d05 35%,#fff0a4 53%,#765000 68%,#ffe781); background-clip: text; -webkit-background-clip: text; filter: drop-shadow(6px 7px #00422c); }
.festival-card__copy { padding: clamp(25px,4vw,48px); }
.festival-card__copy > div:first-child { display: flex; justify-content: space-between; color: #ffcc56; font-size: 8px; letter-spacing: .12em; }
.festival-card__copy h3 { margin: 20px 0 5px; font-family: "Archivo Black"; font-size: clamp(70px,10vw,145px); line-height: .72; letter-spacing: -.09em; color: transparent; background: linear-gradient(#fff,#89808b 25%,#fff 43%,#554958 58%,#fff 81%); background-clip: text; -webkit-background-clip: text; -webkit-text-stroke: 1px white; filter: drop-shadow(6px 7px #a0004f); }
.festival-card__copy > p { max-width: 680px; color: #c9bec8; line-height: 1.7; font-size: 12px; }
.festival-genres { display: flex; flex-wrap: wrap; gap: 7px; margin: 25px 0; }
.festival-genres span { padding: 7px 9px; color: #ffd860; border: 1px solid #8a687a; font-size: 7px; letter-spacing: .12em; }
.event-notify { padding: 14px 17px; color: #211200; border: 3px ridge #fff0a6; background: linear-gradient(#fff3b0,#cc8b12); font-size: 8px; font-weight: 700; cursor: pointer; }
.event-list article { display: grid; grid-template-columns: 75px 1fr 90px 80px; align-items: center; gap: 20px; padding: 25px 0; border-top: 1px solid rgba(255,255,255,.35); }
.event-list article:last-child { border-bottom: 1px solid rgba(255,255,255,.35); }
.event-list time { text-align: center; font-size: 9px; color: var(--acid); }
.event-list time strong { display: block; font-family: "Archivo Black"; font-size: 44px; line-height: .9; color: var(--paper); }
.event-list span,.event-list p,.event-list a { font-size: 8px; letter-spacing: .1em; }
.event-list h3 { margin: 6px 0 0; font-family: "Archivo Black"; font-size: clamp(18px,2vw,28px); }
.event-list button { padding: 10px 5px; color: #ffda68; border: 1px solid #9fc5b5; background: transparent; font-size: 7px; cursor: pointer; }

.sessions { min-height: 680px; position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; background: radial-gradient(circle at 50% 50%,rgba(255,0,110,.38),transparent 35%), linear-gradient(160deg,#100814,#2b071d 50%,#080509); }
.sessions::before { content: ""; position: absolute; width: 520px; aspect-ratio: 1; border: 1px solid var(--pink); border-radius: 50%; box-shadow: 0 0 50px var(--pink), inset 0 0 50px var(--pink); }
.sessions::after { content: "✦"; position: absolute; font-size: 390px; color: rgba(255,255,255,.03); }
.sessions > * { position: relative; z-index: 2; }
.sessions__badge { background: var(--acid); color: var(--ink); padding: 6px 10px; font-size: 8px; font-weight: 700; transform: rotate(-3deg); }
.sessions h2 { font-family: "Archivo Black"; font-size: clamp(70px,13vw,190px); line-height: .69; letter-spacing: -.08em; margin: 30px 0 45px; }
.sessions h2 span { color: transparent; -webkit-text-stroke: 2px var(--paper); }
.sessions > p { font-size: 10px; letter-spacing: .15em; line-height: 1.7; }
.notify-form { display: flex; margin-top: 24px; width: min(500px,90vw); border: 1px solid var(--paper); }
.notify-form input { flex: 1; min-width: 0; color: white; border: 0; background: rgba(0,0,0,.35); padding: 16px; outline: 0; font-size: 10px; }
.notify-form button { border: 0; background: var(--paper); color: var(--ink); padding: 0 22px; font-size: 9px; font-weight: 700; cursor: pointer; }
.notify-form button:hover { background: var(--acid); }

footer { padding: 70px 6vw 35px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 35px; align-items: start; border-top: 1px solid var(--line); }
.brand--footer { font-size: clamp(38px,6vw,80px); }
footer p { color: #aaa3ae; font-size: 10px; line-height: 1.6; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; font-size: 9px; }
footer > small { grid-column: 1/-1; color: #69636d; font-size: 7px; padding-top: 30px; border-top: 1px solid var(--line); }
.join-dialog { width: min(560px,calc(100vw - 28px)); color: var(--paper); border: 1px solid var(--pink); padding: clamp(30px,5vw,60px); background: radial-gradient(circle at 100% 0,rgba(255,0,110,.25),transparent 40%),#0b0710; box-shadow: 0 0 100px rgba(255,0,110,.35); }
.join-dialog::backdrop { background: rgba(4,2,6,.82); backdrop-filter: blur(10px); }
.dialog-close { position: absolute; right: 16px; top: 12px; color: var(--paper); border: 0; background: none; font-size: 28px; cursor: pointer; }
.dialog-mark { position: absolute; right: 55px; top: 50px; color: var(--acid); font-size: 60px; filter: drop-shadow(0 0 15px var(--acid)); }
.join-dialog h2 { font-family: "Archivo Black"; font-size: clamp(55px,10vw,85px); line-height: .75; letter-spacing: -.07em; margin: 25px 0; }
.join-dialog > p:not(.section-index) { max-width: 410px; color: #9f98a3; font-size: 12px; line-height: 1.5; }
.join-form { display: grid; gap: 18px; margin-top: 30px; }
.join-form label { color: var(--pink); font-size: 8px; letter-spacing: .12em; }
.join-form label > input:not([type="checkbox"]) { display: block; width: 100%; margin-top: 7px; padding: 14px 0; color: white; border: 0; border-bottom: 1px solid #655e69; outline: 0; background: transparent; font-size: 14px; }
.join-form label > input:focus { border-color: var(--acid); }
.join-form .accept { display: flex; align-items: flex-start; gap: 8px; color: #938c97; line-height: 1.5; letter-spacing: 0; }
.join-form .button { width: 100%; }
.form-message { color: var(--acid); font-size: 10px; margin: 0; }

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; min-height: 74px; }
  .menu-button { display: block; color: var(--paper); background: none; border: 1px solid var(--line); padding: 10px 12px; font-size: 10px; }
  .main-nav { display: none; position: absolute; top: 74px; left: 0; right: 0; padding: 30px; background: #0b0710; flex-direction: column; align-items: center; font-size: 18px; }
  .main-nav.is-open { display: flex; }
  .header-join { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero__copy { padding: 80px 6vw 20px; }
  .hero__art { min-height: 580px; }
  .portrait-frame { width: min(76vw,530px); }
  .halo { width: min(92vw,650px); }
  .orbit--one { width: 90vw; }
  .orbit--two { width: 76vw; }
  .manifesto { grid-template-columns: 1fr; gap: 30px; }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .card--lead { grid-column: 1/-1; }
  .meme-strip { grid-template-columns: 1fr 100px; }
  .meme-strip__label,.meme-strip > a { display: none; }
  .events { grid-template-columns: 1fr; }
  .events__title { position: static; }
  .release-store { grid-template-columns: 1fr 1fr; }
  .nft-grid { grid-template-columns: 1fr; }
  .memberships__head { grid-template-columns: 1fr; }
  .pass-grid { grid-template-columns: 1fr 1fr; }
  .benefit-grid { grid-template-columns: 1fr 1fr; }
  .benefit-grid article:nth-child(2) { border-right: 0; }
  .benefit-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .community-demo { grid-template-columns: 1fr; }
  .demos__body { grid-template-columns: 1fr; }
  .demo-disc { width: min(70vw,420px); margin: 0 auto; }
  .dj-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .section-pad { padding: 75px 5vw; }
  .brand { font-size: 24px; }
  .hero h1 { font-size: clamp(58px,20vw,100px); }
  .hero__copy { padding-top: 60px; }
  .hero__actions { align-items: flex-start; flex-direction: column; }
  .hero__art { min-height: 450px; }
  .portrait-frame { width: 82vw; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 28px; }
  .news-grid { grid-template-columns: 1fr; }
  .card--lead { grid-column: auto; }
  .meme-strip { min-height: 180px; grid-template-columns: 1fr; }
  .meme-face { display: none; }
  .release { grid-template-columns: 52px 72px 1fr; gap: 12px; }
  .release__cover { width: 65px; }
  .release__date,.release > a { display: none; }
  .release h3 { font-size: 19px; }
  .release-store-head,.nfts__head { display: grid; grid-template-columns: 1fr; gap: 20px; }
  .release-store { grid-template-columns: 1fr; }
  .nft-card { grid-template-columns: 1fr; }
  .nft-art { min-height: 470px; }
  .pass-grid,.pass-system { grid-template-columns: 1fr; }
  .pass-system > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
  .event-list article { grid-template-columns: 58px 1fr; }
  .event-list article > p { display: none; }
  .event-list article > a { grid-column: 2; }
  .festival-card__copy > div:first-child { flex-direction: column; gap: 7px; }
  .event-list article > button { grid-column: 2; }
  .sessions { min-height: 570px; }
  .sessions::before { width: 88vw; }
  .sessions h2 { font-size: 22vw; }
  footer { grid-template-columns: 1fr; }
  footer > small { grid-column: 1; }
  .community__status { position: static; display: inline-block; margin-top: 15px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .benefit-grid article:last-child { border-bottom: 0; }
  .profile-card__head { grid-template-columns: 52px 1fr; }
  .profile-card__head b { display: none; }
  .profile-card__foot { flex-wrap: wrap; }
  .forum-preview__head,.dj-radar__head { display: grid; grid-template-columns: 1fr; gap: 25px; }
  .forum-topics article { grid-template-columns: 42px 1fr 20px; padding: 15px 12px; gap: 10px; }
  .forum-topics article p { display: none; }
  .dj-grid { grid-template-columns: 1fr; }
  .vote-launch { grid-template-columns: 1fr; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  .cursor-glow { display: none; }
}

/* Sistema tipográfico ELREIV — limpio, moderno, estilo SF Pro */
button,
input,
textarea,
select { font-family: var(--font-sans); }

h1,
h2,
h3,
.brand,
.manifesto h2,
.section-head h2,
.community__intro h2,
.demos__body h3,
.forum-preview__head h2,
.dj-radar__head h2,
.sessions h2,
.release-store-head h3,
.release-product__body h3,
.nfts__head h2,
.nft-info h3,
.events h2,
.festival-card__copy h3,
.event-list h3,
.join-dialog h2 {
  font-family: var(--font-display) !important;
  font-weight: 800;
  font-variation-settings: "wght" 800;
}

.hero h1,
.community__intro h2,
.sessions h2,
.nfts__head h2,
.festival-card__copy h3 { letter-spacing: -.065em; }

.section-index,
.meta,
.chip,
.main-nav,
.header-join,
.section-note,
.event-labels,
.festival-genres,
.footer-links {
  font-weight: 600;
  letter-spacing: .08em;
}

/* ELREIV GUADALUPE CYBER — dirección visual principal */
body {
  background:
    radial-gradient(circle at 80% 8%, rgba(255,104,181,.38), transparent 24%),
    linear-gradient(135deg, #2a0019 0%, #11000c 45%, #260016 100%);
}
.ticker {
  color: #2b1200;
  background: linear-gradient(90deg,#9b6100,#ffe79a 18%,#cb8e16 46%,#fff2b0 70%,#9b6100);
  box-shadow: inset 0 -2px 0 #684100, inset 0 2px 0 #fff0ad;
}
.site-header {
  background: linear-gradient(180deg,rgba(247,0,113,.94),rgba(122,0,58,.92));
  border-bottom-color: rgba(255,224,239,.45);
  box-shadow: 0 8px 30px rgba(62,0,31,.38), inset 0 -1px rgba(255,255,255,.28);
}
.brand > span:not(.brand__cross) {
  color: transparent;
  background: linear-gradient(180deg,#fff 0%,#bdb4c2 24%,#fff 45%,#655b6d 58%,#fff 82%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-stroke: 1px rgba(255,255,255,.7);
  filter: drop-shadow(2px 3px 0 #740038);
}
.brand__cross { color: var(--gold); filter: drop-shadow(0 0 7px #ffe28a); }
.main-nav a::after { height: 2px; background: var(--gold); box-shadow: 0 0 8px var(--gold); }
.header-join,.button--acid { background: linear-gradient(180deg,#fff5bb,#d79716 53%,#ffe989); border-color: #ffeaa0; box-shadow: inset 0 1px #fff,0 0 15px rgba(255,204,63,.3); }
.hero {
  background:
    radial-gradient(circle at 72% 48%,rgba(255,202,65,.28),transparent 23%),
    radial-gradient(circle at 70% 48%,#ff7fbe 0%,#f60076 32%,#940044 64%,#3b001e 100%);
}
.hero::before {
  background:
    repeating-radial-gradient(circle at 72% 48%,transparent 0 45px,rgba(255,230,242,.12) 46px 47px,transparent 48px 78px),
    linear-gradient(90deg,rgba(35,0,20,.8) 0%,rgba(77,0,41,.35) 48%,transparent 67%);
}
.hero__copy::before {
  content: ""; position: absolute; inset: 7% 4% 7% 2%; z-index: -1; opacity: .28;
  border: 1px solid #ff9acb; border-radius: 48% 48% 12% 12%;
  box-shadow: inset 0 0 35px #ff168b,0 0 24px #9c004e;
}
.hero h1 { text-shadow: 4px 5px 0 #740039, 0 0 20px rgba(255,190,220,.2); }
.hero h1::after { content: "✦"; display: inline-block; margin-left: 16px; color: var(--gold); font-size: .2em; vertical-align: top; text-shadow: 0 0 10px #ffd55d; }
.chrome {
  background: linear-gradient(180deg,#fff 2%,#817583 17%,#fff 32%,#4d414e 49%,#fff 63%,#9a8f9c 78%,#fff 95%);
  background-clip: text; -webkit-background-clip: text;
  filter: drop-shadow(5px 6px 0 #8b0047) drop-shadow(0 0 8px #fff);
}
.hero__copy > p { color: #ffe6f2; text-shadow: 0 2px 8px #4b0029; }
.button--primary {
  color: white;
  background: linear-gradient(180deg,#ff65b2,#dd0068 58%,#8d0045);
  border: 1px solid #ffc1df;
  box-shadow: inset 0 1px #fff, inset 0 -3px rgba(67,0,31,.5),0 8px 20px rgba(94,0,45,.4);
}
.button--primary:hover { color: #2a1400; background: linear-gradient(#fff0a5,#c88710); border-color: #fff0a5; }
.portrait-frame {
  border: 7px ridge #ffd96d;
  border-radius: 49% 49% 18% 18%;
  padding: 7px;
  background: linear-gradient(135deg,#6f3d00,#ffe883,#9e6500,#fff0a4);
  box-shadow: 0 0 0 5px #ff47a1,0 0 0 9px rgba(255,230,242,.75),0 0 55px #ff7eba,0 30px 80px #65002f;
}
.portrait-frame img { border-radius: inherit; }
.portrait-fallback { border-radius: inherit; background: radial-gradient(circle,#ff9dcb 0,#f80079 40%,#740038 100%); }
.halo { background: repeating-conic-gradient(from 0deg,#fff2a0 0 1deg,#aa6700 2deg,#ff58aa 3deg 5deg,transparent 6deg 8deg); opacity: 1; filter: drop-shadow(0 0 8px #ffd55d); }
.orbit { border: 3px ridge #f6eef8; box-shadow: 0 0 8px #fff,inset 0 0 7px #ff3c9c; }
.orbit--one { border-color: #e8e3ea; }
.orbit--two { border-color: #ffc2df; }
.float-gem { border: 3px ridge #fff; background: radial-gradient(circle at 32% 24%,#fff,#ff91c4 17%,#ee006f 44%,#3b001c 73%); }
.art-tag { color: #260014; background: linear-gradient(#fff5bd,#d99c24); border: 2px ridge #fff3bd; }
.art-tag--bottom { background: linear-gradient(#d7fff0,#13895e); color: #071d14; border-color: #9affd8; }
.manifesto {
  color: white;
  background:
    radial-gradient(circle at 87% 50%,rgba(255,224,116,.25),transparent 20%),
    linear-gradient(115deg,#004a31,#08704a 54%,#003522);
  box-shadow: inset 0 7px 0 #e2b840,inset 0 -7px 0 #a06a05;
}
.manifesto h2 em { color: #ff6bb3; text-shadow: 3px 3px #65002f; }
.manifesto__text { color: #d6f5e9; }
.community {
  background:
    linear-gradient(rgba(52,0,29,.7),rgba(23,0,14,.94)),
    repeating-linear-gradient(135deg,#76003b 0 1px,#210014 1px 18px);
}
.community::after {
  content: "✦"; position: absolute; right: -70px; top: 40px; color: rgba(255,211,82,.08); font-size: 520px; line-height: 1;
}
.community__intro,.benefit-grid,.community-demo { z-index: 1; }
.community__intro h2 span { -webkit-text-stroke-color: #ff6caf; filter: drop-shadow(0 0 7px #ff0a7d); }
.benefit-grid { border: 5px ridge #d4ccd6; background: linear-gradient(180deg,rgba(255,37,137,.15),rgba(0,0,0,.18)); box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.benefit-grid article { border-right-color: rgba(255,196,224,.35); }
.benefit-icon { color: var(--gold); text-shadow: 2px 2px #8f0045; filter: drop-shadow(0 0 9px #ffd75a); }
.profile-card,.vote-card { background: linear-gradient(145deg,rgba(255,42,142,.2),rgba(41,0,24,.75)); border: 3px ridge #cfc8d2; box-shadow: inset 0 0 25px rgba(255,39,139,.12); }
.avatar { color: white; background: radial-gradient(circle at 30% 20%,#ffbadc,#ef0072 45%,#680033); border: 3px ridge white; box-shadow: 0 0 13px #ff168b; }
.vote-option i { border: 1px solid #9b7088; background: #280016; }
.vote-option i b { background: linear-gradient(90deg,#006943,#18b47b); box-shadow: 0 0 8px #20c386; }
.news { background: linear-gradient(145deg,#f90079,#8b0044 50%,#3a001f); }
.news .section-index { color: #ffe681; }
.card { background: linear-gradient(160deg,#420024,#1b0011); border: 3px ridge #d4ccd6; box-shadow: 0 12px 25px rgba(54,0,27,.4); }
.card:hover { border-color: #ffe177; box-shadow: 0 0 24px rgba(255,216,94,.35); }
.visual--pink { background: radial-gradient(circle,#ffc1df 0,#ff1387 35%,#7e003d 72%); }
.visual--green { background: repeating-radial-gradient(circle,#ffd76a 0 2px,#08734c 3px 18px); }
.chip { background: linear-gradient(#fff1a3,#d99b18); }
.meme-strip { background: linear-gradient(90deg,#006542,#129266 45%,#004a31); color: white; border-block-color: #e6d79d; box-shadow: inset 0 0 35px #002d1e; }
.meme-strip__label small,.meme-strip > a { color: #ffdd6d; }
.label { background: linear-gradient(150deg,#ffd2e8,#fff5fa 48%,#f7aacd); }
.release { border-color: #bb6c93; }
.release__cover { border: 4px ridge #c8c1ca; box-shadow: 0 6px 16px rgba(101,0,48,.25); }
.events { background: radial-gradient(circle at 20% 40%,#0b9162,#06452f 55%,#02271b); border-block: 6px ridge #d7b856; }
.sessions { background: radial-gradient(circle at 50% 48%,#ff85bd 0,#f00072 25%,#85003f 55%,#230014 100%); }
.sessions::before { border: 7px ridge #efe9f0; box-shadow: 0 0 0 5px #d69b22,0 0 45px #ffd461,inset 0 0 50px #ff188f; }
.sessions h2 { text-shadow: 5px 6px #650030; }
.sessions h2 span { background: linear-gradient(#fff,#777,#fff,#423846,#fff); background-clip: text; -webkit-background-clip: text; -webkit-text-stroke: 1px white; filter: drop-shadow(0 0 6px white); }
footer { background: linear-gradient(110deg,#470025,#16000e); border-top: 6px ridge #d0c9d2; }
.join-dialog { border: 6px ridge #d4cdd6; background: radial-gradient(circle at 100% 0,#ff53a6 0,transparent 34%),linear-gradient(145deg,#720039,#210014); }

@media (max-width: 900px) {
  .site-header { background: linear-gradient(180deg,rgba(247,0,113,.97),rgba(122,0,58,.97)); }
  .hero::before { background: linear-gradient(180deg,rgba(35,0,20,.72),transparent 55%); }
  .main-nav { background: linear-gradient(180deg,#a80051,#3b001e); }
}

/* ==========================================================
   ELREIV UI 2026 — Apple clarity, Mexican point of view
   Paleta exclusiva: rosa, blanco, negro y beige.
   ========================================================== */
:root {
  --pink: #f41478;
  --hot-pink: #f41478;
  --acid: #f41478;
  --green: #111111;
  --emerald: #111111;
  --gold: #f41478;
  --ink: #111111;
  --paper: #f5f0e8;
  --silver: #ffffff;
  --line: rgba(17,17,17,.12);
  --surface: #ffffff;
  --surface-dark: #111111;
  --beige: #f5f0e8;
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 38px;
  --shadow-sm: 0 8px 24px rgba(17,17,17,.08);
  --shadow-lg: 0 28px 70px rgba(17,17,17,.14);
  --ease: cubic-bezier(.22,1,.36,1);
}

html { background: var(--beige); }
body { background: var(--beige); color: var(--ink); font-size: 16px; line-height: 1.5; }
.noise,.cursor-glow,.ticker,.hero--legacy { display: none !important; }

/* Inicio: imagen de fondo, no póster a pantalla completa */
.cover-only {
  width: 100%;
  height: clamp(460px,72vh,780px);
  min-height: 0;
  display: block;
  background-color: var(--pink);
  background-image: linear-gradient(180deg,rgba(17,17,17,.05),rgba(17,17,17,.2)),url("assets/elreiv-home.png");
  background-size: cover;
  background-position: center 48%;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  box-shadow: var(--shadow-lg);
}
.cover-only img { display: none; }

/* Homebar flotante */
.site-header {
  position: fixed;
  top: 18px;
  left: 50%;
  width: min(1180px,calc(100% - 32px));
  min-height: 66px;
  z-index: 100;
  grid-template-columns: 180px 1fr auto;
  padding: 0 14px 0 22px;
  color: var(--ink);
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 40px rgba(17,17,17,.13);
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  transform: translateX(-50%);
  transition: top .35s var(--ease),background .35s,box-shadow .35s;
}
.site-header.is-scrolled { top: 10px; background: rgba(255,255,255,.92); box-shadow: 0 16px 45px rgba(17,17,17,.16); }
.brand { gap: 7px; color: var(--ink); font-size: 23px; font-weight: 750 !important; letter-spacing: -.055em; }
.brand > span:not(.brand__cross) { color: var(--ink); background: none; -webkit-text-stroke: 0; filter: none; }
.brand__cross { color: var(--pink); filter: none; }
.brand__icon { width: 38px; height: 38px; display: inline-grid; place-items: center; flex: 0 0 auto; }
.brand__icon svg { width: 100%; height: 100%; overflow: visible; }
.medallion-bg { fill: var(--pink); }
.medallion-rays { fill: white; }
.medallion-halo { fill: var(--ink); stroke: white; stroke-width: 1.2; }
.medallion-veil { fill: var(--beige); stroke: var(--pink); stroke-width: 1.4; }
.medallion-face { fill: white; stroke: var(--ink); stroke-width: 1; }
.medallion-visor { fill: var(--pink); stroke: white; stroke-width: 1.1; stroke-linejoin: bevel; }
.medallion-hands { fill: var(--ink); stroke: var(--pink); stroke-width: 1; stroke-linejoin: round; }
.medallion-orbit { fill: none; stroke: var(--pink); stroke-width: 1.4; }
.medallion-node { fill: white; stroke: var(--pink); stroke-width: 1.2; }
.brand small { color: var(--ink); font: 600 7px/1 var(--font-sans); letter-spacing: .1em; opacity: .55; }
.main-nav { gap: clamp(13px,1.45vw,26px); color: var(--ink); font-size: 13px; font-weight: 650; letter-spacing: -.015em; text-transform: none; }
.main-nav a,.main-nav .nav-vote { color: var(--ink); opacity: .68; transition: opacity .2s,color .2s; }
.main-nav a:hover { color: var(--pink); opacity: 1; }
.main-nav a::after { display: none; }
.main-nav a + a::before { content: ""; position: absolute; left: calc(clamp(13px,1.45vw,26px) / -2); top: 50%; width: 1px; height: 17px; background: rgba(17,17,17,.16); transform: translateY(-50%); pointer-events: none; }
.main-nav sup { color: var(--pink); font-size: 6px; }
.header-join {
  padding: 11px 15px;
  color: white;
  border: 0;
  border-radius: 12px;
  background: var(--pink);
  box-shadow: none;
  transition: transform .2s,opacity .2s;
}
.header-join:hover { transform: scale(1.03); opacity: .88; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.header-pro { padding: 11px 15px; color: var(--pink); border-radius: 12px; background: rgba(244,20,120,.09); font-size: 10px; font-weight: 700; transition: color .2s,background .2s,transform .2s; }
.header-pro:hover { color: white; background: var(--pink); transform: translateY(-1px); }
.mobile-pro { display: none; }

/* Ritmo y tipografía generales */
.section-pad { padding: clamp(84px,10vw,150px) max(5vw,24px); }
.section-index { margin-bottom: 24px; color: var(--pink) !important; font-size: 11px; font-weight: 650; letter-spacing: .04em; }
h1,h2,h3,.manifesto h2,.section-head h2,.community__intro h2,.sessions h2,.nfts__head h2,.festival-card__copy h3 {
  color: inherit;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-variation-settings: normal;
  letter-spacing: -.05em;
  text-shadow: none !important;
  filter: none !important;
}
.manifesto h2,.section-head h2,.events h2,.forum-preview__head h2,.dj-radar__head h2,.memberships__head h2 {
  font-size: clamp(44px,6.5vw,100px);
  line-height: .94;
}
p { text-wrap: pretty; }
a,button { -webkit-tap-highlight-color: transparent; }
.button,.event-notify,.vote-launch button,.release-product__body button,.pass-card__body button {
  min-width: 0;
  padding: 14px 18px;
  color: white;
  border: 0;
  border-radius: 999px;
  background: var(--pink);
  box-shadow: none;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0;
  transition: transform .22s var(--ease),box-shadow .22s,opacity .22s;
}
.button:hover,.event-notify:hover,.vote-launch button:hover,.release-product__body button:hover,.pass-card__body button:hover {
  color: white;
  border-color: transparent;
  background: var(--pink);
  box-shadow: 0 10px 24px rgba(244,20,120,.24);
  transform: translateY(-2px);
}

/* Fondos: sólo blanco, beige, rosa y negro */
.manifesto,.label,.dj-radar { color: var(--ink); background: var(--beige); box-shadow: none; }
.community,.news,.sessions,.nfts,.memberships { color: white; background: var(--ink); border: 0; }
.demos,.meme-strip { color: white; background: var(--pink); border: 0; box-shadow: none; }
.forum-preview,.events { color: var(--ink); background: white; border: 0; }
footer { color: white; background: var(--ink); border: 0; }
.manifesto { grid-template-columns: 16% 56% 28%; }
.manifesto h2 em,.acid,.community__intro h2 span,.dj-radar__head h2 span,.nfts__head h2 span { color: var(--pink); -webkit-text-stroke: 0; text-shadow: none; }
.manifesto__text,.community__intro > p:not(.section-index),.memberships__intro p,.nfts__head > div:last-child p { color: inherit; opacity: .62; }
.home-news { color: var(--ink); background: var(--beige); }
.home-news__head { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8vw; align-items: end; margin-bottom: 50px; }
.home-news__head h2 { margin: 0; font-size: clamp(48px,7vw,108px); line-height: .9; letter-spacing: -.06em; }
.home-news__head > p { max-width: 480px; color: var(--ink); opacity: .55; line-height: 1.7; }
.home-news__grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 16px; }
.headline { overflow: hidden; border-radius: var(--radius-md); background: white; box-shadow: var(--shadow-sm); transition: transform .35s var(--ease),box-shadow .35s; }
.headline:hover { transform: translateY(-7px); box-shadow: var(--shadow-lg); }
.headline__image { aspect-ratio: 1.1; display: flex; align-items: flex-end; padding: 24px; color: white; background: var(--pink); }
.headline--lead .headline__image { aspect-ratio: 1.55; }
.headline__image--alt { color: var(--pink); background: white; border-bottom: 1px solid rgba(17,17,17,.08); }
.headline__image--dark { background: var(--ink); }
.headline__image > span { font-size: clamp(30px,4vw,65px); font-weight: 750; line-height: .82; letter-spacing: -.06em; }
.headline__copy { padding: 24px; }
.headline__copy small { color: var(--pink); font-size: 8px; font-weight: 650; letter-spacing: .08em; }
.headline__copy h3 { margin: 14px 0; font-size: clamp(20px,2.3vw,34px); line-height: 1.02; }
.headline__copy p { color: var(--ink); font-size: 11px; opacity: .54; }
.headline__copy > span { display: block; margin-top: 22px; color: var(--pink); font-size: 9px; font-weight: 650; }
.home-news__note { margin: 18px 0 0; color: var(--ink); font-size: 8px; opacity: .42; }

/* Se eliminan ornamentos Y2K */
.community::before,.community::after,.sessions::before,.sessions::after,
.release-product__cover::after,.dj-card__visual::before,.dj-card__visual::after,
.festival-card__sky::before,.festival-card__sky::after,.nft-art::before,
.nft-halo,.pass-card__token::before,.pass-card__token::after { display: none !important; }
.benefit-icon,.float-gem,.halo,.orbit { filter: none; text-shadow: none; }
.coming-chip,.event-labels span,.nft-chain,.chip,.art-tag {
  color: var(--pink);
  border: 0;
  border-radius: 999px;
  background: rgba(244,20,120,.1);
  box-shadow: none;
  transform: none;
}

/* Tarjetas y superficies */
.benefit-grid,.profile-card,.vote-card,.forum-topics,.dj-card,.soundcloud-shell,
.release-product,.nft-card,.nft-explain,.festival-card,.pass-card,.vote-launch {
  border: 1px solid rgba(17,17,17,.09);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
.benefit-grid { overflow: hidden; background: rgba(255,255,255,.04); }
.benefit-grid article { border-color: rgba(255,255,255,.1); }
.benefit-icon { color: var(--pink); }
.profile-card,.vote-card { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.1); }
.avatar { border: 0; background: var(--pink); box-shadow: none; }
.vote-option i { overflow: hidden; border: 0; border-radius: 10px; background: rgba(255,255,255,.12); }
.vote-option i b,.vote-option.is-selected i b { background: var(--pink); box-shadow: none; }
.demo-disc { color: white; border: 1px solid rgba(255,255,255,.35); background: rgba(17,17,17,.18); box-shadow: none; animation: none; }
.demo-disc::before { border: 0; background: var(--ink); }
.forum-topics { overflow: hidden; border-color: rgba(17,17,17,.1); background: var(--beige); }
.forum-topics article { color: var(--ink); border-color: rgba(17,17,17,.09); background: transparent; }
.forum-topics article:hover { background: white; }
.forum-topics small,.forum-index,.forum-topics b { color: var(--pink); }
.forum-topics p { color: var(--ink); opacity: .5; }
.dj-card { color: var(--ink); border: 0; background: white; transition: transform .35s var(--ease),box-shadow .35s; }
.dj-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.dj-card__visual { background: var(--pink); }
.dj-card__visual span { color: white; -webkit-text-stroke: 0; filter: none; text-shadow: none; }
.dj-card__visual i,.dj-card__info small { color: var(--pink); }
.dj-card__info p { color: var(--ink); opacity: .55; }
.dj-card__info button { color: var(--ink); border: 0; border-radius: 999px; background: var(--beige); }
.vote-launch { color: white; border-color: rgba(255,255,255,.12); background: var(--ink); }
.vote-launch > span,.vote-launch small { color: var(--pink); filter: none; }
.vote-launch p { color: white; opacity: .55; }

/* Noticias, memes y releases */
.news-grid { gap: 18px; }
.card { overflow: hidden; color: white; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius-md); background: rgba(255,255,255,.05); }
.card:hover { border-color: rgba(255,255,255,.2); box-shadow: 0 22px 50px rgba(0,0,0,.25); transform: translateY(-7px); }
.visual--pink,.visual--green,.visual--chrome { color: white; background: var(--pink); }
.visual-symbol { color: white; text-shadow: none; }
.card__body > p:last-child { color: white; opacity: .56; }
.meme-strip { border-radius: var(--radius-lg); margin: 18px; }
.meme-strip__label small,.meme-strip > a { color: white; }
.release-store-head { border-color: rgba(17,17,17,.12); }
.soundcloud-shell { border: 0; background: white; }
.soundcloud-shell__top { color: white; background: var(--pink); }
.soundcloud-shell__top i { background: white; box-shadow: none; }
.release-product { overflow: hidden; color: var(--ink); border: 0; background: white; }
.product-cover--one,.product-cover--two,.product-cover--three { background: var(--pink); }
.release-product__cover span { color: white; -webkit-text-stroke: 0; text-shadow: none; }
.release-product__cover small,.release-product__body > small,.release-product__body > p { color: var(--pink); }
.release-product__body > div strong,.store-note { color: var(--ink); opacity: .5; }

/* NFT: coleccionable editorial, sin estética cripto ruidosa */
.nft-chain { color: var(--pink); background: rgba(244,20,120,.16); }
.nft-card { overflow: hidden; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.055); box-shadow: none; }
.nft-art { background: var(--pink); }
.nft-art > span,.nft-art small { color: white; filter: none; }
.nft-art strong { text-shadow: none; }
.nft-info > small,.nft-info li::before,.nft-info > div strong { color: var(--pink); }
.nft-explain { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.055); }
.nft-explain li > span { color: var(--pink); }
.nft-explain li p { color: white; opacity: .55; }
.nft-warning { color: white; border: 0; border-radius: var(--radius-sm); background: rgba(244,20,120,.16); }

/* Membresías */
.pass-card { overflow: hidden; border-color: rgba(255,255,255,.1); border-radius: var(--radius-md); background: rgba(255,255,255,.055); box-shadow: none; }
.pass-card:hover { border-color: rgba(255,255,255,.24); box-shadow: 0 24px 55px rgba(0,0,0,.3); }
.pass-card--signal .pass-card__token,.pass-card--frequency .pass-card__token,
.pass-card--ritual .pass-card__token,.pass-card--sanctuary .pass-card__token { color: white; background: var(--pink); }
.pass-card__token { isolation: isolate; }
.pass-card__token::before { display: block !important; width: 190px; border-color: rgba(255,255,255,.24); box-shadow: 0 0 0 18px rgba(255,255,255,.04),0 0 0 36px rgba(255,255,255,.025); }
.pass-card__token::after { display: block !important; width: 110px; height: 210px; border-color: rgba(255,255,255,.2); transform: rotate(48deg); }
.pass-card--signal .pass-card__token { background: linear-gradient(145deg,#111 0%,#f41478 160%); }
.pass-card--frequency .pass-card__token { background: linear-gradient(145deg,#f41478,#8f0b48); }
.pass-card--ritual .pass-card__token { background: linear-gradient(145deg,#111,#f41478 120%); }
.pass-card--sanctuary .pass-card__token { color: var(--ink); background: linear-gradient(145deg,#f5f0e8,#f41478 85%); }
.pass-card__token i { font-size: 50px; line-height: 1; }
.pass-card__token b { font-size: 16px; letter-spacing: .12em; }
.pass-card__body > div:first-child strong,.pass-card__body li::before { color: var(--pink); }
.pass-popular { color: white; background: var(--pink); }
.pass-system span { color: var(--pink); }

/* Eventos */
.events__title { top: 110px; }
.events__title > p:not(.section-index) { color: var(--ink); opacity: .58; }
.festival-card { overflow: hidden; color: white; border: 0; background: var(--ink); }
.festival-card--aztlan { background: var(--ink); }
.festival-card__sky,.aztlan-sky { min-height: 260px; background: var(--pink); }
.festival-card__sky > span,.aztlan-sky > span { color: white; filter: none; text-shadow: none; }
.festival-card__sky i,.aztlan-sky i { border: 1px solid white; box-shadow: none; }
.festival-card__sky b { color: white; }
.festival-card__copy > div:first-child,.festival-card__copy h3,.festival-card--aztlan .festival-card__copy h3 { color: white; background: none; -webkit-text-stroke: 0; filter: none; }
.festival-card__copy > p { color: white; opacity: .6; }
.festival-genres span { color: white; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; }
.event-list article { color: var(--ink); border-color: rgba(17,17,17,.12); }
.event-list time,.event-list time strong { color: var(--pink); }
.event-list button { color: var(--pink); border: 0; border-radius: 999px; background: rgba(244,20,120,.08); }
.event-brands { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.event-brand { overflow: hidden; border: 1px solid rgba(17,17,17,.09); border-radius: var(--radius-md); background: var(--beige); box-shadow: var(--shadow-sm); transition: transform .35s var(--ease),box-shadow .35s; }
.event-brand:hover { transform: translateY(-7px); box-shadow: var(--shadow-lg); }
.event-brand__visual { height: 230px; display: flex; align-items: flex-end; justify-content: space-between; padding: 24px; color: white; background: var(--pink); }
.event-brand:nth-child(even) .event-brand__visual { background: var(--ink); }
.event-brand__visual > span { align-self: flex-start; font-size: 10px; }
.event-brand__visual strong { font-size: clamp(44px,5vw,78px); line-height: .8; letter-spacing: -.07em; }
.event-brand__copy { padding: 28px; }
.event-brand__copy small { color: var(--pink); font-size: 8px; font-weight: 650; letter-spacing: .08em; }
.event-brand__copy h3 { margin: 11px 0; font-size: 34px; }
.event-brand__copy p { min-height: 68px; color: var(--ink); font-size: 11px; line-height: 1.6; opacity: .58; }
.event-brand__copy > div { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0; }
.event-brand__copy > div span { padding: 7px 9px; color: var(--pink); border-radius: 999px; background: rgba(244,20,120,.08); font-size: 7px; font-weight: 650; }
.event-brand__copy button { padding: 11px 15px; color: white; border: 0; border-radius: 999px; background: var(--pink); font-size: 8px; font-weight: 650; cursor: pointer; }
/* Las fichas editoriales sustituyen los carteles TBA anteriores. */
.event-brands ~ .festival-card,.event-brands ~ .event-list { display: none; }

/* Sessions, modal y footer */
.sessions { min-height: 580px; background: var(--pink); }
.sessions h2,.sessions h2 span { color: white; background: none; -webkit-text-stroke: 0; filter: none; text-shadow: none; }
.sessions__badge { color: var(--pink); border-radius: 999px; background: white; transform: none; }
.notify-form { overflow: hidden; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; }
.notify-form input { background: transparent; }
.notify-form button { color: var(--pink); background: white; }
.join-dialog { color: var(--ink); border: 0; border-radius: 30px; background: white; box-shadow: 0 30px 100px rgba(17,17,17,.25); }
.join-dialog::backdrop { background: rgba(17,17,17,.55); }
.dialog-mark,.join-form label,.form-message { color: var(--pink); filter: none; }
.dialog-close { color: var(--ink); }
.join-form label > input:not([type="checkbox"]) { color: var(--ink); border-color: rgba(17,17,17,.18); }
.join-dialog > p:not(.section-index),.join-form .accept { color: var(--ink); opacity: .58; }
.brand--footer > span { color: white !important; }
footer p,.footer-links { color: white; }

/* Revelado al hacer scroll */
.reveal-ready [data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .75s var(--ease),transform .75s var(--ease); }
.reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .site-header { grid-template-columns: 1fr auto; }
  .menu-button { display: block; padding: 10px 12px; color: var(--ink); border: 0; border-radius: 10px; background: var(--beige); }
  .header-join { display: none; }
  .header-actions { display: none; }
  .main-nav { display: none; position: absolute; top: 76px; left: 0; right: 0; padding: 22px; flex-direction: column; align-items: center; gap: 18px; border-radius: 20px; background: rgba(255,255,255,.97); box-shadow: var(--shadow-lg); }
  .main-nav.is-open { display: flex; }
  .main-nav a,.main-nav .nav-vote { color: var(--ink); font-size: 18px; }
  .main-nav a + a::before { display: none; }
  .main-nav .mobile-pro { display: block; padding: 11px 17px; color: white; border-radius: 999px; background: var(--pink); }
}

@media (max-width: 900px) {
  .cover-only { height: 62vh; min-height: 430px; background-position: center; border-radius: 0 0 28px 28px; }
  .site-header { top: 12px; grid-template-columns: 1fr auto; min-height: 60px; color: var(--ink); background: rgba(255,255,255,.88); }
  .main-nav { top: 70px; left: 0; right: 0; padding: 22px; border-radius: 20px; color: var(--ink); background: rgba(255,255,255,.97); box-shadow: var(--shadow-lg); }
  .main-nav a,.main-nav .nav-vote { color: var(--ink); font-size: 18px; }
  .menu-button { color: var(--ink); border: 0; border-radius: 10px; background: var(--beige); }
  .manifesto { grid-template-columns: 1fr; }
  .home-news__head { grid-template-columns: 1fr; gap: 24px; }
  .home-news__grid { grid-template-columns: 1fr 1fr; }
  .headline--lead { grid-column: 1/-1; }
  .event-brands { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .cover-only { height: 56vh; min-height: 390px; background-size: cover; }
  .section-pad { padding: 78px 22px; }
  .meme-strip { margin: 8px; border-radius: 24px; }
  .pass-card__body ul { min-height: 0; }
  .home-news__grid { grid-template-columns: 1fr; }
  .headline--lead { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* Home breve: carrusel + vistas independientes */
body:not(.route-view) .site-content > main > section { display: none; }
body:not(.route-view) .site-content > main > .editorial-home { display: block; }
body:not(.route-view) > .site-footer { display: grid; }
body.route-view .cover-only { display: none; }
body.route-view .site-content > main { padding-top: 96px; }
body.route-view .site-content > main > section { display: none; }
body.route-view .site-content > main > section.route-active { display: block; min-height: calc(100vh - 96px); }
body.route-view .site-content > main > .editorial-home.route-active { padding-top: 0; }
body.route-view .editorial-home.route-active .editorial-home__head{display:none}
body.route-view .editorial-home.route-active .editorial-home__intro{padding-top:110px}
body.route-view .site-content > main > .events.route-active,
body.route-view .site-content > main > .meme-strip.route-active,
body.route-view .site-content > main > .manifesto.route-active { display: grid; }

.cover-only {
  height: min(780px,82vh);
  min-height: 590px;
  padding: 0;
  border-radius: 0;
  background: var(--beige);
  box-shadow: none;
}
.home-slider { width: 100%; height: 100%; position: relative; overflow: hidden; }
.home-slide { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: clamp(100px,12vw,170px) max(6vw,28px) clamp(75px,8vw,110px); opacity: 0; visibility: hidden; transform: scale(1.015); transition: opacity .65s var(--ease),transform 1s var(--ease),visibility .65s; }
.home-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.home-slide--image { color: white; background: linear-gradient(90deg,rgba(17,17,17,.66),rgba(17,17,17,.08) 70%),url("assets/elreiv-home.png") center 47%/cover no-repeat; }
.home-slide--news { color: var(--ink); background: var(--beige); }
.home-slide--events { color: white; background: var(--pink); }
.home-slide--pro { color: white; background: var(--ink); }
.home-slide__content { width: min(850px,82vw); }
.home-slide__content small { display: block; margin-bottom: 24px; font-size: 11px; font-weight: 650; letter-spacing: .08em; }
.home-slide__content h1,.home-slide__content h2 { margin: 0; font-size: clamp(52px,8vw,122px); font-weight: 720 !important; line-height: .83; letter-spacing: -.065em; }
.home-slide__content p { max-width: 550px; margin: 28px 0; font-size: clamp(14px,1.5vw,19px); opacity: .74; }
.home-slide__content a { display: inline-flex; padding: 14px 18px; color: inherit; border: 1px solid currentColor; border-radius: 999px; font-size: 10px; font-weight: 700; transition: color .2s,background .2s,transform .2s; }
.home-slide__content a:hover { color: var(--pink); background: white; transform: translateY(-2px); }
.home-slide--news .home-slide__content a:hover { color: white; background: var(--pink); }
.home-slider__controls { position: absolute; z-index: 5; right: max(4vw,22px); bottom: 32px; display: flex; align-items: center; gap: 14px; padding: 8px; border-radius: 999px; background: rgba(255,255,255,.82); box-shadow: var(--shadow-sm); backdrop-filter: blur(16px); }
.slider-arrow { width: 36px; height: 36px; padding: 0; color: var(--ink); border: 0; border-radius: 50%; background: transparent; font-size: 16px; cursor: pointer; transition: background .2s; }
.slider-arrow:hover { background: var(--beige); }
.slider-dots { display: flex; gap: 6px; }
.slider-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(17,17,17,.22); cursor: pointer; transition: width .3s var(--ease),border-radius .3s,background .3s; }
.slider-dots button.is-active { width: 24px; border-radius: 5px; background: var(--pink); }

@media (max-width: 900px) {
  .cover-only { height: 74vh; min-height: 540px; }
  .home-slide { padding: 110px 24px 95px; }
  .home-slide--image { background-position: 55% center; }
  .home-slide__content { width: 100%; }
  .home-slider__controls { right: 18px; bottom: 20px; }
  body.route-view .site-content > main { padding-top: 82px; }
}

@media (max-width: 600px) {
  .home-slide__content h1,.home-slide__content h2 { font-size: clamp(48px,14vw,76px); }
  .home-slide__content p { max-width: 90%; }
}

/* Demos — identidad verde + hueso tomada del arte ELREIV */
body.route-view .demos.route-active { color: #f4efdf; background: #33844e; }
.demos .section-index { color: #f4efdf !important; opacity: .72; }
.demos .section-head h2 { color: #f4efdf; }
.demo-status { padding: 9px 13px; color: #33844e; border-radius: 999px; background: #f4efdf; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.demos__body { grid-template-columns: minmax(280px,480px) 1fr; gap: clamp(50px,8vw,120px); }
.demo-art { overflow: hidden; aspect-ratio: 1.03; border-radius: 34px; background: #f4efdf; box-shadow: 0 28px 70px rgba(17,17,17,.2); transform: rotate(-2deg); transition: transform .5s var(--ease),box-shadow .5s; }
.demo-art:hover { transform: rotate(0) translateY(-6px); box-shadow: 0 34px 85px rgba(17,17,17,.27); }
.demo-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.demo-copy h3 { color: #f4efdf; font-size: clamp(38px,5vw,72px); line-height: .92; }
.demo-copy > p { max-width: 610px; color: #f4efdf; font-size: 15px; line-height: 1.7; opacity: .78; }
.demo-copy ul { margin: 28px 0; padding: 0; list-style: none; }
.demo-copy li { padding: 10px 0; color: #f4efdf; border-bottom: 1px solid rgba(244,239,223,.25); font-size: 11px; }
.demo-copy li::before { content: "✓"; margin-right: 10px; }
.demo-submit { display: inline-flex; padding: 15px 20px; color: #33844e; border-radius: 999px; background: #f4efdf; font-size: 11px; font-weight: 750; transition: transform .25s var(--ease),box-shadow .25s; }
.demo-submit:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(17,17,17,.18); }
.demo-copy > small { display: block; margin-top: 15px; color: #f4efdf; font-size: 7px; letter-spacing: .06em; opacity: .58; }

@media (max-width: 700px) {
  .demos__body { grid-template-columns: 1fr; }
  .demo-art { width: min(100%,440px); }
}

/* Arte de campaña: cinco fondos numerados */
.home-slide--news {
  color: var(--ink);
  background:
    linear-gradient(90deg,rgba(245,240,232,.94) 0%,rgba(245,240,232,.77) 48%,rgba(245,240,232,.08) 100%),
    url("assets/bg-noticias.png") center 42%/cover no-repeat;
}
.home-slide--events {
  color: white;
  background:
    linear-gradient(90deg,rgba(17,17,17,.78) 0%,rgba(17,17,17,.38) 55%,rgba(17,17,17,.08) 100%),
    url("assets/bg-eventos.png") center 43%/cover no-repeat;
}
.home-slide--pro {
  color: white;
  background:
    linear-gradient(90deg,rgba(17,17,17,.82) 0%,rgba(17,17,17,.45) 55%,rgba(17,17,17,.12) 100%),
    url("assets/bg-pro.png") center 44%/cover no-repeat;
}
body.route-view .forum-preview.route-active {
  color: var(--ink);
  background:
    linear-gradient(rgba(245,240,232,.86),rgba(245,240,232,.94)),
    url("assets/bg-foro.png") center/cover no-repeat;
}
body.route-view .label.route-active {
  color: var(--ink);
  background:
    linear-gradient(rgba(245,240,232,.88),rgba(245,240,232,.96)),
    url("assets/bg-releases.png") center/cover no-repeat;
}
.forum-preview.route-active .forum-preview__head > span { color: var(--pink); }
.forum-preview.route-active .forum-preview__head > span i { background: var(--pink); box-shadow: none; }

@media (max-width: 700px) {
  .home-slide--news { background-position: 58% center; }
  .home-slide--events { background-position: 58% center; }
  .home-slide--pro { background-position: 58% center; }
}

/* La colección numerada vive exclusivamente en NFT's */
.home-slide--news { color: var(--ink); background: var(--beige); }
.home-slide--events { color: white; background: var(--pink); }
.home-slide--pro { color: white; background: var(--ink); }
body.route-view .forum-preview.route-active { color: var(--ink); background: white; }
body.route-view .label.route-active { color: var(--ink); background: var(--beige); }
.nft-collection { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.nft-piece { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-md); background: rgba(255,255,255,.055); transition: transform .35s var(--ease),box-shadow .35s; }
.nft-piece:hover { transform: translateY(-8px); box-shadow: 0 26px 60px rgba(0,0,0,.35); }
.nft-piece img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.nft-piece__body { padding: 24px; }
.nft-piece__body > small { color: var(--pink); font-size: 7px; font-weight: 650; letter-spacing: .09em; }
.nft-piece__body h3 { margin: 12px 0 7px; color: white; font-size: clamp(22px,2.4vw,35px); line-height: .95; }
.nft-piece__body > p { min-height: 48px; color: white; font-size: 10px; line-height: 1.55; opacity: .58; }
.nft-price { display: flex; justify-content: space-between; align-items: end; margin: 24px 0 16px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); }
.nft-price strong { color: white; font-size: 27px; letter-spacing: -.04em; }
.nft-price span { color: white; font-size: 8px; line-height: 1.5; text-align: right; opacity: .55; }
.nft-piece button { width: 100%; padding: 13px; color: white; border: 0; border-radius: 999px; background: var(--pink); font-size: 9px; font-weight: 700; cursor: pointer; }
.nft-rate-note { margin: 18px 0 48px; color: white; font-size: 8px; line-height: 1.65; opacity: .45; }
.nft-grid--guide { grid-template-columns: 1fr; }

@media (max-width: 950px) {
  .nft-collection { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .nft-collection { grid-template-columns: 1fr; }
}

/* México material — identidad única por sección */
body.route-view .forum-preview.route-active,
body.route-view .news.route-active,
body.route-view .events.route-active { position: relative; isolation: isolate; overflow: hidden; }
body.route-view .forum-preview.route-active::before,
body.route-view .news.route-active::before,
body.route-view .events.route-active::before { content: ""; position: absolute; inset: 0; z-index: -2; background-position: center top; background-size: cover; background-repeat: no-repeat; }
body.route-view .forum-preview.route-active::after,
body.route-view .news.route-active::after,
body.route-view .events.route-active::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }

/* Foro: azul añil, Ángel, bocho, tejido y conversación */
body.route-view .forum-preview.route-active { color: white; background: #003f91; }
body.route-view .forum-preview.route-active::before { background-image: url("assets/forum-mexico-3d.png"); opacity: .72; }
body.route-view .forum-preview.route-active::after { background: linear-gradient(90deg,rgba(0,35,92,.94),rgba(0,63,145,.64) 50%,rgba(0,25,70,.45)),repeating-linear-gradient(135deg,transparent 0 28px,rgba(245,240,232,.04) 29px 30px); }
.forum-preview.route-active .section-index,.forum-preview.route-active .forum-index,.forum-preview.route-active .forum-topics small,.forum-preview.route-active .forum-topics b { color: #f5f0e8 !important; }
.forum-preview.route-active .forum-preview__head > span { color: #f5f0e8; }
.forum-preview.route-active .forum-preview__head > span i { background: #f5f0e8; }
.forum-preview.route-active .forum-topics { border-color: rgba(245,240,232,.24); background: rgba(0,25,65,.5); backdrop-filter: blur(15px); }
.forum-preview.route-active .forum-topics article { color: white; border-color: rgba(245,240,232,.16); }
.forum-preview.route-active .forum-topics article:hover { background: rgba(245,240,232,.1); }
.forum-preview.route-active .forum-topics p { color: white; }

/* Noticias: naranja barro, papel, pirámide editorial y metal */
body.route-view .news.route-active { color: white; background: #df5a16; }
body.route-view .news.route-active::before { background-image: url("assets/noticias-mexico-3d.png"); opacity: .73; }
body.route-view .news.route-active::after { background: linear-gradient(90deg,rgba(120,35,5,.94),rgba(223,90,22,.62) 55%,rgba(90,20,0,.34)),repeating-linear-gradient(0deg,transparent 0 46px,rgba(245,240,232,.045) 47px 48px); }
.news.route-active .section-index,.news.route-active .meta { color: #f5f0e8 !important; }
.news.route-active .card { border-color: rgba(245,240,232,.2); background: rgba(17,17,17,.62); backdrop-filter: blur(16px); }
.news.route-active .chip { color: #df5a16; background: #f5f0e8; }

/* Eventos: rosa mexicano, alebrije sonoro y papel picado */
body.route-view .events.route-active { color: white; background: #d90c67; }
body.route-view .events.route-active::before { background-image: url("assets/eventos-mexico-3d.png"); opacity: .64; }
body.route-view .events.route-active::after { background: linear-gradient(90deg,rgba(17,17,17,.9),rgba(112,0,48,.68) 47%,rgba(217,12,103,.38)),linear-gradient(180deg,transparent 0 52%,rgba(17,17,17,.88) 82%); }
.events.route-active .events__title > p:not(.section-index) { color: white; }
.events.route-active .section-index { color: #f5f0e8 !important; }
.events.route-active .event-labels span { color: #d90c67; background: #f5f0e8; }
.events.route-active .event-brand { border-color: rgba(245,240,232,.18); background: rgba(17,17,17,.74); backdrop-filter: blur(16px); }
.events.route-active .event-brand__copy { color: white; }
.events.route-active .event-brand__copy p { color: white; }
.events.route-active .event-brand__copy > div span { color: #f5f0e8; background: rgba(245,240,232,.12); }

/* Releases: hueso, obsidiana, agave radial y vinilo */
body.route-view .label.route-active { position: relative; isolation: isolate; overflow: hidden; color: #111; background: #f5f0e8; }
body.route-view .label.route-active::before { content: ""; position: absolute; z-index: -1; width: 720px; aspect-ratio: 1; right: -260px; top: -180px; border-radius: 50%; opacity: .09; background: repeating-conic-gradient(from 0deg,#111 0 3deg,transparent 3deg 10deg); mask: radial-gradient(transparent 0 24%,#000 25%); -webkit-mask: radial-gradient(transparent 0 24%,#000 25%); }
body.route-view .label.route-active::after { content: ""; position: absolute; z-index: -1; left: -110px; bottom: -170px; width: 420px; aspect-ratio: 1; border: 42px solid #f41478; border-radius: 50%; opacity: .1; }

/* Membresía: tarjetas como talismanes digitales sobre obsidiana */
body.route-view .memberships.route-active { background: radial-gradient(circle at 85% 15%,rgba(244,20,120,.25),transparent 28%),repeating-linear-gradient(135deg,#111 0 24px,#171216 25px 26px); }

@media (max-width: 700px) {
  body.route-view .forum-preview.route-active::before,
  body.route-view .news.route-active::before,
  body.route-view .events.route-active::before { background-position: 62% top; }
}

/* Carrusel Inicio — colección visual ELREIV + comunidad rave */
.home-slide--news {
  color: white;
  background: linear-gradient(90deg,rgba(5,19,53,.9),rgba(5,19,53,.48) 55%,rgba(5,19,53,.08)),url("assets/bg-noticias.png") center 42%/cover no-repeat;
}
.home-slide--events {
  color: white;
  background: linear-gradient(90deg,rgba(17,6,10,.88),rgba(74,5,25,.46) 56%,rgba(74,5,25,.06)),url("assets/bg-eventos.png") center 43%/cover no-repeat;
}
.home-slide--releases {
  color: white;
  background: linear-gradient(90deg,rgba(4,34,22,.9),rgba(4,34,22,.48) 56%,rgba(4,34,22,.06)),url("assets/bg-releases.png") center 43%/cover no-repeat;
}
.home-slide--forum {
  color: var(--ink);
  background: linear-gradient(90deg,rgba(245,240,232,.96),rgba(245,240,232,.72) 49%,rgba(245,240,232,.08)),url("assets/bg-foro.png") center 43%/cover no-repeat;
}
.home-slide--pro {
  color: white;
  background: linear-gradient(90deg,rgba(20,7,34,.9),rgba(20,7,34,.47) 56%,rgba(20,7,34,.08)),url("assets/bg-pro.png") center 44%/cover no-repeat;
}
.home-slide--community {
  color: white;
  background: linear-gradient(90deg,rgba(9,8,13,.92),rgba(9,8,13,.52) 53%,rgba(9,8,13,.12)),url("assets/rave-community-mexico.png") center 48%/cover no-repeat;
}
.home-slide--forum .home-slide__content a:hover { color: white; background: var(--pink); }

@media (max-width: 700px) {
  .home-slide--news,.home-slide--events,.home-slide--releases,.home-slide--forum,.home-slide--pro { background-position: 58% center; }
  .home-slide--community { background-position: 66% center; }
  .slider-dots { gap: 4px; }
  .slider-dots button { width: 6px; height: 6px; }
  .slider-dots button.is-active { width: 18px; }
}

/* Footer informativo */
.site-footer { display: grid; grid-template-columns: minmax(250px,1.6fr) repeat(3,minmax(120px,1fr)); gap: 52px 32px; padding: 72px max(5vw,24px) 28px; color: #fffaf0; background: radial-gradient(circle at 88% 10%,rgba(255,250,240,.22),transparent 28%),linear-gradient(135deg,#f41478 0%,#d40864 58%,#ed3b8e 100%); }
.footer-intro { display: flex; flex-direction: column; align-items: flex-start; }
.site-footer .brand--footer { font-size: clamp(42px,5vw,74px); line-height: .8; }
.footer-intro p { margin: 28px 0 18px; color: rgba(255,250,240,.76); }
.footer-mail { padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.35); font-size: 8px; letter-spacing: .08em; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.footer-column strong { margin-bottom: 8px; color: #fffaf0; font-size: 8px; letter-spacing: .13em; opacity: .62; }
.footer-column a,.footer-link-button { position: relative; padding: 0; color: rgba(255,250,240,.78); border: 0; background: none; font: inherit; font-size: 10px; text-align: left; cursor: pointer; transition: color .2s,transform .2s; }
.footer-column a:hover,.footer-link-button:hover { color: white; transform: translateX(3px); }
.footer-legal { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.footer-legal details { padding: 20px; border-right: 1px solid rgba(255,255,255,.14); }
.footer-legal details:last-child { border-right: 0; }
.footer-legal summary { color: rgba(255,255,255,.82); font-size: 9px; font-weight: 650; letter-spacing: .04em; cursor: pointer; }
.footer-legal details[open] summary { color: #fffaf0; }
.footer-legal p { margin: 15px 0 0; color: rgba(255,250,240,.72); font-size: 9px; line-height: 1.65; }
.footer-bottom { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.footer-bottom small,.footer-bottom a { color: rgba(255,255,255,.38); font-size: 7px; letter-spacing: .08em; }
.footer-bottom a:hover { color: white; }

@media (max-width: 900px) {
  .site-footer { grid-template-columns: 1.5fr repeat(2,1fr); }
  .footer-intro { grid-column: 1/-1; }
  .footer-legal { grid-template-columns: 1fr 1fr; }
  .footer-legal details:nth-child(2) { border-right: 0; }
  .footer-legal details:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
}
@media (max-width: 560px) {
  .site-footer { grid-template-columns: 1fr 1fr; gap: 38px 20px; }
  .footer-column:last-of-type { grid-column: 1/-1; }
  .footer-legal { grid-template-columns: 1fr; }
  .footer-legal details { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .footer-legal details:last-child { border-bottom: 0; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

/* Sistema tipográfico global — precisión y calma tipo Apple */
:root { --font-sans: -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",Arial,sans-serif; --font-display: var(--font-sans); }
body,button,input,textarea,select,.brand,h1,h2,h3,h4,.sessions h2,.join-dialog h2 { font-family: var(--font-sans) !important; }
body { font-feature-settings: "kern" 1,"liga" 1,"calt" 1; letter-spacing: -.01em; }
.brand { font-weight: 760; letter-spacing: -.055em; }
h1,h2,h3 { font-weight: 720; letter-spacing: -.055em; }

/* Newsroom — carrusel editorial real */
body.route-view .news.route-active { padding-top: clamp(44px,6vw,84px); color: #6f2107; background: #f6ead8; }
body.route-view .news.route-active::before { opacity: .12; }
body.route-view .news.route-active::after { background: linear-gradient(180deg,rgba(246,234,216,.9),rgba(246,234,216,.98)); }
.newsroom-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 32px; }
.newsroom-head h2 { margin: 5px 0 0; font-size: clamp(48px,8vw,104px); line-height: .9; }
.newsroom-controls { display: flex; align-items: center; gap: 8px; }
.newsroom-controls > span { margin-right: 10px; font-size: 8px; letter-spacing: .08em; opacity: .58; }
.newsroom-controls button { width: 44px; height: 44px; color: #6f2107; border: 1px solid rgba(111,33,7,.2); border-radius: 50%; background: rgba(255,255,255,.48); cursor: pointer; transition: transform .2s,background .2s; }
.newsroom-controls button:hover { transform: translateY(-2px); background: white; }
.news-carousel { position: relative; min-height: clamp(520px,64vw,690px); }
.news-story { position: absolute; inset: 0; display: grid; grid-template-columns: 1.18fr .82fr; overflow: hidden; border: 1px solid rgba(111,33,7,.12); border-radius: 34px; background: rgba(255,250,240,.94); box-shadow: 0 24px 70px rgba(111,33,7,.12); opacity: 0; visibility: hidden; transform: translateX(26px) scale(.985); transition: opacity .55s var(--ease),transform .55s var(--ease),visibility .55s; }
.news-story.is-active { opacity: 1; visibility: visible; transform: none; }
.news-story__image { position: relative; min-height: 520px; overflow: hidden; background: #e7d9c6; }
.news-story__image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 1s var(--ease); }
.news-story.is-active:hover .news-story__image img { transform: scale(1.025); }
.news-story__image > span { position: absolute; left: 22px; top: 22px; padding: 8px 11px; color: #6f2107; border-radius: 999px; background: #fffaf0; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.news-story__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px,5vw,72px); }
.news-date { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 18px; border-bottom: 1px solid rgba(111,33,7,.14); font-size: 8px; font-weight: 650; letter-spacing: .08em; }
.news-kicker { margin: 30px 0 12px; color: #df5a16; font-size: 9px; font-weight: 700; letter-spacing: .09em; }
.news-story__copy h3 { margin: 0; font-size: clamp(34px,4.5vw,64px); line-height: .94; }
.news-story__copy > p:not(.news-kicker) { margin: 25px 0; color: rgba(111,33,7,.64); font-size: 13px; line-height: 1.65; }
.news-story__copy > a { align-self: flex-start; padding-bottom: 4px; border-bottom: 1px solid; font-size: 9px; font-weight: 700; letter-spacing: .06em; }
.news-progress { display: flex; gap: 7px; margin-top: 22px; }
.news-progress button { width: 36px; height: 4px; padding: 0; border: 0; border-radius: 4px; background: rgba(111,33,7,.18); cursor: pointer; transition: width .3s,background .3s; }
.news-progress button.is-active { width: 74px; background: #df5a16; }
.news-source-note { margin: 18px 0 0; color: rgba(111,33,7,.42); font-size: 8px; }

@media (max-width: 760px) {
  .newsroom-head { align-items: flex-start; flex-direction: column; }
  .newsroom-controls > span { display: none; }
  .news-carousel { min-height: 760px; }
  .news-story { grid-template-columns: 1fr; }
  .news-story__image { min-height: 330px; }
  .news-story__copy { justify-content: flex-start; padding: 28px; }
}

/* Foro comunitario */
.forum-wall { display: grid; grid-template-columns: minmax(280px,.75fr) 1.25fr; gap: 22px; margin-top: 34px; }
.forum-compose,.forum-feed { border: 1px solid rgba(245,240,232,.2); border-radius: 28px; background: rgba(0,35,92,.66); box-shadow: 0 20px 60px rgba(0,20,65,.22); backdrop-filter: blur(18px); }
.forum-compose { padding: clamp(24px,4vw,46px); }
.forum-compose h3 { margin: 8px 0 10px; color: white; font-size: clamp(28px,3.6vw,48px); line-height: .95; }
.forum-compose > div > p:last-child { color: rgba(255,255,255,.64); font-size: 11px; line-height: 1.55; }
#forum-form { display: grid; gap: 18px; margin-top: 30px; }
#forum-form label { color: rgba(255,255,255,.66); font-size: 8px; font-weight: 650; letter-spacing: .09em; }
#forum-form input,#forum-form textarea { display: block; width: 100%; margin-top: 7px; padding: 14px 16px; color: white; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; outline: 0; background: rgba(255,255,255,.08); resize: vertical; }
#forum-form input:focus,#forum-form textarea:focus { border-color: #fffaf0; background: rgba(255,255,255,.12); }
#forum-form > div { display: flex; justify-content: space-between; align-items: center; }
#forum-form > div span { color: rgba(255,255,255,.45); font-size: 8px; }
#forum-form button { padding: 12px 17px; color: #003f91; border: 0; border-radius: 999px; background: #fffaf0; font-size: 9px; font-weight: 750; cursor: pointer; }
.forum-form-status { min-height: 14px; margin: 0; color: #fffaf0; font-size: 8px; }
.forum-feed { overflow: hidden; }
.forum-post { padding: 25px; border-bottom: 1px solid rgba(255,255,255,.15); }
.forum-post:last-child { border-bottom: 0; }
.forum-post > div { display: flex; align-items: center; gap: 12px; }
.forum-avatar { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; color: #003f91; border-radius: 50%; background: #fffaf0; font-size: 9px; font-weight: 800; }
.forum-post > div p { display: grid; gap: 3px; margin: 0; }
.forum-post strong { color: white; font-size: 10px; }
.forum-post time { color: rgba(255,255,255,.42); font-size: 7px; }
.forum-post > p { margin: 18px 0; color: rgba(255,255,255,.84); font-size: 12px; line-height: 1.6; }
.forum-post footer { display: flex; gap: 14px; padding: 0; color: rgba(255,255,255,.5); border: 0; background: none; font-size: 7px; }
.forum-post footer span { margin-right: auto; }
.forum-post footer button { padding: 0; color: inherit; border: 0; background: none; font-size: inherit; cursor: pointer; }
.forum-post--new { animation: forum-in .45s var(--ease); }
@keyframes forum-in { from { opacity: 0; transform: translateY(-12px); } }
.forum-local-note { margin: 14px 0 0; color: rgba(255,255,255,.45); font-size: 8px; }

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

/* Fichas de eventos — hueso mexicano y acceso a micrositios */
.events.route-active .event-brand { color: #4e2b1f; border: 1px solid rgba(98,56,35,.15); background: #f6eddd; box-shadow: 0 18px 55px rgba(82,26,45,.16); }
.events.route-active .event-brand__copy { color: #4e2b1f; }
.events.route-active .event-brand__copy p { color: rgba(78,43,31,.7); }
.events.route-active .event-brand__copy > div span { color: #7a3822; background: #ead8bd; }
.event-card-link { display: inline-flex; align-self: flex-start; margin-top: 22px; padding: 12px 16px; color: #fffaf0; border-radius: 999px; background: #c82758; font-size: 9px; font-weight: 750; transition: transform .25s,box-shadow .25s; }
.event-card-link:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(120,23,55,.2); }

.event-detail { position: relative; min-height: 100vh; padding: 122px max(5vw,24px) 70px; overflow: hidden; color: #4e2b1f; background: #f6eddd; }
.event-detail::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .14; background: repeating-linear-gradient(135deg,transparent 0 34px,currentColor 35px 36px); mask: linear-gradient(90deg,transparent 25%,#000); -webkit-mask: linear-gradient(90deg,transparent 25%,#000); }
.event-detail__back { position: relative; z-index: 2; display: inline-flex; padding: 11px 15px; border: 1px solid currentColor; border-radius: 999px; font-size: 8px; font-weight: 750; }
.event-detail__hero { position: relative; z-index: 1; min-height: 55vh; display: flex; flex-direction: column; justify-content: center; }
.event-detail__hero p { margin: 0; font-size: 9px; font-weight: 750; letter-spacing: .11em; }
.event-detail__hero h2 { margin: 14px 0; font-size: clamp(90px,19vw,260px); line-height: .7; letter-spacing: -.085em; }
.event-detail__hero > span { max-width: 600px; font-size: clamp(14px,2vw,24px); font-weight: 600; }
.event-detail__body { position: relative; z-index: 1; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(35px,8vw,120px); padding-top: 45px; border-top: 1px solid currentColor; }
.event-detail__body small { font-size: 8px; font-weight: 750; letter-spacing: .1em; }
.event-detail__body h3 { max-width: 650px; margin: 13px 0; font-size: clamp(36px,5vw,72px); line-height: .92; }
.event-detail__body > div:last-child > p { max-width: 680px; font-size: 14px; line-height: 1.7; }
.event-detail__genres { display: flex; flex-wrap: wrap; gap: 7px; margin: 28px 0; }
.event-detail__genres span { padding: 8px 11px; border: 1px solid currentColor; border-radius: 999px; font-size: 8px; font-weight: 700; }
.event-detail__body button { padding: 14px 18px; color: #fffaf0; border: 0; border-radius: 999px; background: #a7134c; font-size: 9px; font-weight: 750; cursor: pointer; }
.event-detail--omdelu { color: #a7134c; background: #f8e9cc; }
.event-detail--aztlan { color: #175e47; background: #f2e6ce; }
.event-detail--alebrijes { color: #005c3a; background: #f6f3df; }
.event-detail--xtsyx { color: #315ca8; background: #eee4d2; }
.event-detail--aztlan .event-detail__body button { background: #175e47; }
.event-detail--alebrijes .event-detail__body button { background: #005c3a; }
.event-detail--xtsyx .event-detail__body button { background: #315ca8; }
.events.route-active .festival-card { color: #4e2b1f; background: #f6eddd; }
.events.route-active .festival-card__copy { color: #4e2b1f; }
.events.route-active .festival-card__copy p { color: rgba(78,43,31,.7); }
.events.route-active .festival-genres span { color: #7a3822; border-color: rgba(122,56,34,.25); background: #ead8bd; }
.events.route-active .festival-card__copy button { color: #fffaf0; background: #c82758; }

@media (max-width: 720px) {
  .event-detail__hero { min-height: 48vh; }
  .event-detail__hero h2 { font-size: clamp(72px,25vw,140px); }
  .event-detail__body { grid-template-columns: 1fr; }
}

/* Carteles demo de la temporada */
.event-demo-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin: 18px 0 24px; color: #fffaf0; }
.event-demo-head small { font-size: 8px; font-weight: 750; letter-spacing: .1em; }
.event-demo-head h3 { margin: 8px 0 0; font-size: clamp(38px,5vw,68px); line-height: .9; }
.event-demo-head > p { max-width: 380px; color: rgba(255,250,240,.65); font-size: 9px; line-height: 1.6; }
.event-posters { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: clamp(48px,7vw,90px); }
.event-poster { position: relative; min-height: 570px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 24px; color: #6d2440; border: 1px solid rgba(107,55,34,.16); border-radius: 26px; background: #f7ecd8; box-shadow: 0 24px 55px rgba(71,0,35,.2); transition: transform .35s var(--ease),box-shadow .35s; }
.event-poster:hover { transform: translateY(-8px); box-shadow: 0 32px 70px rgba(71,0,35,.26); }
.event-poster::before { content: ""; position: absolute; width: 330px; aspect-ratio: 1; right: -145px; top: 95px; border: 34px double currentColor; border-radius: 50%; opacity: .13; }
.event-poster::after { content: "✦"; position: absolute; right: 20px; top: 190px; font-size: 145px; line-height: 1; opacity: .1; }
.event-poster > * { position: relative; z-index: 1; }
.event-poster__top,.event-poster__bottom { display: flex; justify-content: space-between; gap: 14px; align-items: center; font-size: 7px; font-weight: 750; letter-spacing: .08em; }
.event-poster__top b { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 7px; }
.event-poster__date { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.event-poster__date strong { font-size: clamp(80px,9vw,132px); line-height: .7; letter-spacing: -.08em; }
.event-poster__date span { font-size: 13px; font-weight: 750; line-height: 1.05; }
.event-poster__title { margin: 38px 0 28px; }
.event-poster__title small { font-size: 7px; font-weight: 750; letter-spacing: .1em; }
.event-poster__title h3 { margin: 8px 0 13px; font-size: clamp(48px,6vw,82px); line-height: .75; }
.event-poster__title p { margin: 0; font-size: 8px; font-weight: 650; line-height: 1.5; }
.event-poster__bottom { padding-top: 17px; border-top: 1px solid currentColor; }
.event-poster__bottom a { padding: 8px 10px; color: #fffaf0; border-radius: 999px; background: #6d2440; }
.event-poster--aztlan { color: #27684f; background: #f2e8d4; }
.event-poster--xtsyx { color: #315ca8; background: #efe5d3; }
.event-poster--aztlan .event-poster__bottom a { background: #27684f; }
.event-poster--xtsyx .event-poster__bottom a { background: #315ca8; }

@media (max-width: 960px) { .event-posters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 650px) {
  .event-demo-head { align-items: flex-start; flex-direction: column; }
  .event-posters { grid-template-columns: 1fr; }
  .event-poster { min-height: 520px; }
}

/* Directorio nacional de DJs */
.dj-directory-tools { margin: 35px 0 24px; }
.dj-scene-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.dj-scene-switch button { position: relative; min-height: 118px; display: grid; grid-template-columns: 42px 1fr; grid-template-rows: 1fr 1fr; align-items: end; padding: 22px; color: #70442d; border: 1px solid rgba(112,68,45,.15); border-radius: 22px; background: #f1e4cf; text-align: left; cursor: pointer; transition: transform .25s,background .25s,color .25s,box-shadow .25s; }
.dj-scene-switch button:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.dj-scene-switch button > span { grid-row: 1/3; align-self: start; font-size: 9px; font-weight: 750; }
.dj-scene-switch button strong { align-self: end; font-size: clamp(20px,3vw,38px); line-height: .9; letter-spacing: -.04em; }
.dj-scene-switch button small { align-self: start; margin-top: 7px; font-size: 7px; letter-spacing: .08em; opacity: .62; }
.dj-scene-switch button.is-active { color: #fffaf0; border-color: #175e47; background: #175e47; box-shadow: 0 18px 45px rgba(23,94,71,.2); }
.dj-scene-switch button[data-scene="mainstage"].is-active { border-color: var(--pink); background: var(--pink); box-shadow: 0 18px 45px rgba(244,20,120,.2); }
.dj-directory-tools label { display: block; }
#dj-search { width: 100%; padding: 18px 21px; color: var(--ink); border: 1px solid rgba(17,17,17,.13); border-radius: 18px; outline: 0; background: white; box-shadow: var(--shadow-sm); font-size: 12px; }
#dj-search:focus { border-color: var(--pink); box-shadow: 0 0 0 4px rgba(244,20,120,.1); }
.dj-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0; }
.dj-filters button { padding: 10px 13px; color: var(--ink); border: 1px solid rgba(17,17,17,.12); border-radius: 999px; background: rgba(255,255,255,.58); font-size: 8px; font-weight: 700; cursor: pointer; }
.dj-filters button.is-active { color: white; border-color: var(--pink); background: var(--pink); }
.dj-directory-tools > p { font-size: 8px; letter-spacing: .07em; }
.dj-directory-tools > p span { opacity: .5; }
.dj-directory-tools > p b { color: var(--pink); }
.dj-editorial-note { display: grid; grid-template-columns: 150px 1fr; gap: 20px; margin: -8px 0 28px; padding: 17px 20px; color: #70442d; border-left: 3px solid #175e47; background: #f1e4cf; }
.dj-editorial-note strong { font-size: 8px; letter-spacing: .1em; }
.dj-editorial-note p { margin: 0; font-size: 9px; line-height: 1.6; opacity: .72; }
.dj-directory { grid-template-columns: repeat(4,1fr); }
.directory-card .dj-card__visual { aspect-ratio: 1.25; color: #fffaf0; background: radial-gradient(circle at 75% 25%,#ff77b9,transparent 28%),linear-gradient(135deg,#f41478,#315ca8); }
.directory-card .dj-card__visual img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.directory-card .dj-card__visual span, .directory-card .dj-card__visual i { position: relative; z-index: 1; }
.directory-card .dj-card__image-status{position:absolute;z-index:1;left:18px;bottom:18px;max-width:20ch;color:white!important;font-size:7px!important;font-weight:900;line-height:1.45;letter-spacing:.09em}
.directory-card:nth-child(3n+2) .dj-card__visual { background: radial-gradient(circle at 75% 25%,#f7d478,transparent 28%),linear-gradient(135deg,#df5a16,#f41478); }
.directory-card:nth-child(3n) .dj-card__visual { background: radial-gradient(circle at 75% 25%,#e9d9aa,transparent 28%),linear-gradient(135deg,#175e47,#315ca8); }
.directory-card .dj-card__visual span { font-size: clamp(42px,5vw,76px); font-weight: 750; letter-spacing: -.08em; }
.directory-card.is-pending { opacity: .62; }
.directory-card.is-pending .dj-card__visual { color: #745d4c; background: #eaddc8; }
.directory-card .dj-card__info p { min-height: 78px; }
.dj-load-more { display: block; margin: 28px auto 55px; padding: 14px 20px; color: var(--pink); border: 1px solid var(--pink); border-radius: 999px; background: white; font-size: 9px; font-weight: 750; cursor: pointer; }
.dj-load-more[hidden] { display: none; }

@media (max-width: 1050px) { .dj-directory { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 760px) { .dj-directory { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .dj-directory { grid-template-columns: 1fr; } }
@media (max-width: 620px) {
  .dj-scene-switch { grid-template-columns: 1fr; }
  .dj-editorial-note { grid-template-columns: 1fr; }
}

/* Catálogo SoundCloud — ficha por publicación */
.release-archive-head { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin: 28px 0 18px; padding-bottom: 18px; border-bottom: 1px solid rgba(17,17,17,.16); }
.release-archive-head p { display: grid; gap: 5px; margin: 0; }
.release-archive-head strong { font-size: 13px; }
.release-archive-head span { font-size: 8px; letter-spacing: .07em; opacity: .5; }
.release-archive-head a { font-size: 9px; font-weight: 700; }
.release-catalog { display: grid; gap: 12px; }
.release-entry { display: grid; grid-template-columns: 90px minmax(0,1fr) 230px; overflow: hidden; color: #111; border: 1px solid rgba(17,17,17,.11); border-radius: 25px; background: rgba(255,255,255,.88); box-shadow: 0 14px 42px rgba(74,44,27,.08); }
.release-entry__number { display: flex; flex-direction: column; justify-content: space-between; padding: 24px 18px; color: #fffaf0; background: #f41478; }
.release-entry:nth-child(2) .release-entry__number { background: #175e47; }
.release-entry:nth-child(3) .release-entry__number { background: #df5a16; }
.release-entry:nth-child(4) .release-entry__number { background: #315ca8; }
.release-entry:nth-child(5) .release-entry__number { background: #a54a72; }
.release-entry__number > span { font-size: 8px; font-weight: 750; }
.release-entry__number time { font-size: 11px; font-weight: 750; line-height: 1.1; }
.release-entry__main { min-width: 0; padding: 24px; }
.release-entry__meta { display: flex; justify-content: space-between; gap: 12px; font-size: 7px; letter-spacing: .08em; }
.release-entry__meta span { color: #f41478; font-weight: 750; }
.release-entry__meta b { opacity: .38; }
.release-entry__main h3 { margin: 19px 0 2px; font-size: clamp(28px,4vw,54px); line-height: .88; }
.release-artist { margin: 8px 0 20px; font-size: 9px; font-weight: 700; letter-spacing: .08em; opacity: .55; }
.release-entry iframe { display: block; width: 100%; border: 0; border-radius: 13px; }
.release-entry__buy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 27px; border-left: 1px solid rgba(17,17,17,.1); background: #f5ead8; }
.release-entry__buy > span { font-size: 7px; font-weight: 750; letter-spacing: .09em; opacity: .48; }
.release-entry__buy strong { margin-top: 7px; font-size: 22px; }
.release-entry__buy p { margin: 14px 0 22px; font-size: 9px; line-height: 1.5; opacity: .55; }
.release-entry__buy button,.release-entry__buy a { padding: 12px 15px; color: #fffaf0; border: 0; border-radius: 999px; background: #f41478; font-size: 8px; font-weight: 750; cursor: pointer; }
.release-entry__buy--stream a { background: #315ca8; }

@media (max-width: 850px) {
  .release-entry { grid-template-columns: 70px minmax(0,1fr); }
  .release-entry__buy { grid-column: 1/-1; border-top: 1px solid rgba(17,17,17,.1); border-left: 0; }
}
@media (max-width: 560px) {
  .release-archive-head { align-items: flex-start; flex-direction: column; }
  .release-entry { grid-template-columns: 1fr; }
  .release-entry__number { min-height: 70px; flex-direction: row; }
  .release-entry__number time { text-align: right; }
}

/* Releases — códice azteca vintage, sin motivo solar */
body.route-view .label.route-active { background-color: #efe1c5; background-image: linear-gradient(rgba(239,225,197,.9),rgba(239,225,197,.94)),url("assets/bg-releases.png"); background-size: cover; background-position: center top; }
body.route-view .label.route-active::before { inset: 0; width: auto; height: auto; right: 0; top: 0; border: 0; border-radius: 0; opacity: .16; background: linear-gradient(45deg,transparent 44%,#8c3f2a 45% 48%,transparent 49%) 0 0/74px 74px,linear-gradient(-45deg,transparent 44%,#175e47 45% 48%,transparent 49%) 0 0/74px 74px,repeating-linear-gradient(90deg,transparent 0 36px,rgba(140,63,42,.25) 37px 39px,transparent 40px 74px); mask: linear-gradient(90deg,transparent 0,#000 18%,#000 100%); -webkit-mask: linear-gradient(90deg,transparent 0,#000 18%,#000 100%); }
body.route-view .label.route-active::after { content: "◇ 𓂀 ◇"; left: auto; right: 4vw; bottom: 22px; width: auto; aspect-ratio: auto; border: 0; border-radius: 0; color: #8c3f2a; font-size: clamp(42px,8vw,110px); font-weight: 700; letter-spacing: .1em; opacity: .09; }

/* Filtros cronológicos de Noticias */
.news-date-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: -12px 0 22px; }
.news-date-filters button { padding: 9px 13px; color: #6f2107; border: 1px solid rgba(111,33,7,.17); border-radius: 999px; background: rgba(255,250,240,.55); font-size: 8px; font-weight: 700; cursor: pointer; }
.news-date-filters button.is-active { color: #fffaf0; border-color: #df5a16; background: #df5a16; }

/* Tres votaciones comunitarias */
.vote-category-switch { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 34px 0 18px; padding: 7px; border-radius: 20px; background: #eadcc7; }
.vote-category-switch button { padding: 15px; color: #6c4936; border: 0; border-radius: 14px; background: transparent; font-size: 9px; font-weight: 750; cursor: pointer; transition: color .2s,background .2s,box-shadow .2s; }
.vote-category-switch button.is-active { color: #fffaf0; background: #f41478; box-shadow: 0 8px 24px rgba(244,20,120,.2); }
.vote-category-panel[hidden] { display: none !important; }
.community-ballot-head { padding: clamp(28px,5vw,60px) 0; }
.community-ballot-head small { font-size: 8px; font-weight: 750; letter-spacing: .1em; opacity: .55; }
.community-ballot-head h3 { max-width: 900px; margin: 12px 0; font-size: clamp(48px,8vw,104px); line-height: .86; }
.community-ballot-head p { max-width: 650px; font-size: 12px; line-height: 1.6; opacity: .62; }
.community-ballot-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 55px; }
.community-ballot-grid article { min-height: 330px; display: flex; flex-direction: column; padding: 28px; color: #6b432e; border: 1px solid rgba(107,67,46,.13); border-radius: 25px; background: #f2e5cf; box-shadow: var(--shadow-sm); }
.community-ballot-grid article > span { font-size: 9px; font-weight: 750; }
.community-ballot-grid h4 { margin: auto 0 12px; font-size: clamp(28px,3.5vw,48px); line-height: .9; }
.community-ballot-grid p { min-height: 48px; font-size: 10px; line-height: 1.5; opacity: .62; }
.community-ballot-grid button { margin-top: 20px; padding: 12px; color: #8a7568; border: 1px solid rgba(107,67,46,.15); border-radius: 999px; background: #e3d5bf; font-size: 8px; font-weight: 700; }

@media (max-width: 700px) {
  .vote-category-switch { grid-template-columns: 1fr; }
  .community-ballot-grid { grid-template-columns: 1fr; }
}

/* Virgen 3D Y2K — portada interactiva */
.home-slide--image {
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 47%,rgba(79,0,133,.22),transparent 34%),
    linear-gradient(90deg,rgba(5,2,9,.97) 0%,rgba(8,3,13,.86) 36%,rgba(8,2,13,.2) 78%),
    url("assets/elreiv-home.png") center 47%/cover no-repeat;
}
.home-slide--image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .22;
  background:
    repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.05) 5px),
    linear-gradient(115deg,transparent 42%,rgba(0,234,255,.12) 50%,transparent 57%);
  mix-blend-mode: screen;
}
.home-slide--image::after {
  content: "MATRIX DEVOCIONAL / MX-0001 / FORMA IMPOSIBLE";
  position: absolute;
  z-index: 4;
  top: 28px;
  right: 34px;
  color: rgba(255,255,255,.62);
  font: 650 8px/1 var(--font-sans);
  letter-spacing: .2em;
  writing-mode: vertical-rl;
}
.home-slide--image .home-slide__content { position: relative; z-index: 3; pointer-events: none; }
.home-slide--image .home-slide__content a { pointer-events: auto; }
.virgin-3d {
  position: absolute;
  z-index: 1;
  inset: 0 0 0 34%;
  overflow: hidden;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.virgin-3d.is-dragging { cursor: grabbing; }
.virgin-3d canvas { width: 100%; height: 100%; display: block; filter: saturate(1.18) contrast(1.06); }
.virgin-3d__loading {
  position: absolute;
  top: 50%;
  right: 23%;
  padding: 9px 12px;
  color: #00eaff;
  border: 1px solid rgba(0,234,255,.42);
  background: rgba(4,1,8,.7);
  font-size: 8px;
  letter-spacing: .18em;
}
.virgin-3d__hint {
  position: absolute;
  right: max(7vw,88px);
  bottom: 39px;
  z-index: 3;
  padding: 8px 11px;
  color: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(5,2,9,.54);
  backdrop-filter: blur(8px);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .16em;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .5s .7s,transform .5s .7s;
  pointer-events: none;
}
.virgin-3d.is-ready .virgin-3d__hint { opacity: 1; transform: translateY(0); }
.virgin-3d.is-fallback { background: radial-gradient(circle at 65% 48%,rgba(255,22,140,.3),transparent 34%); }

@media (max-width: 900px) {
  .virgin-3d { left: 14%; opacity: .88; }
  .home-slide--image .home-slide__content { text-shadow: 0 2px 18px rgba(0,0,0,.8); }
  .virgin-3d__hint { right: 90px; }
}
@media (max-width: 600px) {
  .virgin-3d { inset: 0 -30% 0 0; opacity: .72; }
  .home-slide--image { background-position: 64% center; }
  .home-slide--image::after { display: none; }
  .virgin-3d__hint { right: 38%; bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .virgin-3d__hint { display: none; }
}
/* Reliquias interactivas: profundidad óptica y control por puntero */
.nft-collection{perspective:1500px}.nft-piece{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .16s ease-out,box-shadow .35s}.nft-piece:hover{transform:rotateX(var(--rx)) rotateY(var(--ry)) translateY(-8px)}
.relic-viewport{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;background:#08080b;cursor:grab;perspective:900px;isolation:isolate}.relic-viewport:active{cursor:grabbing}.relic-viewport img{position:relative;z-index:2;transform:translateZ(34px) scale(1.025);transition:transform .25s ease-out,filter .25s}.relic-depth{position:absolute;inset:2%;z-index:1;background-position:center;background-size:cover;filter:blur(10px) saturate(1.35) brightness(.65);transform:translateZ(-35px) scale(1.12);opacity:.9}.relic-aura{position:absolute;inset:-22%;z-index:0;background:conic-gradient(from 90deg,transparent,#f41478,transparent,#61f4ff,transparent);animation:relic-orbit 8s linear infinite;opacity:.65}.relic-shine{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.38),transparent 24%),linear-gradient(115deg,transparent 32%,rgba(255,255,255,.15) 48%,transparent 63%);mix-blend-mode:screen;opacity:.25;transition:opacity .25s}.nft-piece.is-exploring .relic-shine{opacity:.85}.nft-piece.is-exploring .relic-viewport img{transform:translateZ(55px) scale(1.055);filter:contrast(1.06) saturate(1.08)}.relic-viewport::after{content:'ABRIR EXPERIENCIA 3D ↗';position:absolute;right:14px;bottom:13px;z-index:4;padding:7px 10px;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);font:700 7px/1 var(--font-body);letter-spacing:.08em;opacity:0;transform:translateY(5px);transition:.25s}.relic-viewport:hover::after,.relic-viewport:focus-visible::after{opacity:1;transform:none}@keyframes relic-orbit{to{transform:rotate(1turn)}}
.relic-viewer{width:min(94vw,1050px);max-width:none;height:min(92vh,980px);padding:0;overflow:hidden;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:24px;background:radial-gradient(circle at 50% 35%,#42102b,#08060a 68%);box-shadow:0 40px 120px #000}.relic-viewer::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(14px)}.relic-viewer__close{position:absolute;top:15px;right:18px;z-index:5;width:44px;height:44px;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(0,0,0,.45);font-size:28px;cursor:pointer}.relic-viewer__stage{height:calc(100% - 52px);display:grid;place-items:center;perspective:1200px;cursor:grab;touch-action:none}.relic-viewer__stage:active{cursor:grabbing}.relic-viewer__plane{position:relative;width:min(70vh,72vw);aspect-ratio:1;transform-style:preserve-3d;transition:transform .08s linear;filter:drop-shadow(0 35px 30px rgba(0,0,0,.55))}.relic-viewer__plane::before,.relic-viewer__plane::after{content:'';position:absolute;inset:3%;border:1px solid rgba(255,255,255,.15);transform:translateZ(-28px);box-shadow:0 0 70px rgba(244,20,120,.35)}.relic-viewer__plane::after{transform:translateZ(-14px)}.relic-viewer__plane img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:3px;transform:translateZ(22px);user-select:none;-webkit-user-drag:none}.relic-viewer>p{margin:0;text-align:center;font-size:8px;letter-spacing:.13em;opacity:.6}@media(prefers-reduced-motion:reduce){.relic-aura{animation:none}.nft-piece,.nft-piece:hover{transform:none}}
/* Santuarios NFT / portales Three.js */
.relic-portal{--portal-primary:#c7ff00;--portal-secondary:#f50072;--portal-bg:#080808;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden;color:#fff;border:0;background:var(--portal-bg)}.relic-portal::backdrop{background:#000}.relic-portal[open]{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);animation:portal-in .5s cubic-bezier(.18,.85,.22,1)}@keyframes portal-in{from{opacity:0;transform:scale(1.03);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
.relic-portal::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:10;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.025) 4px),radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--portal-primary) 18%,transparent),transparent 42%)}.relic-portal__close{position:fixed;top:20px;right:22px;z-index:20;width:50px;height:50px;padding:0;color:#fff;border:1px solid var(--portal-primary);border-radius:0;background:#09090b;font:300 31px/1 Arial;cursor:pointer;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.relic-portal__close:hover{color:#050505;background:var(--portal-primary)}
.relic-portal__visual{position:relative;min-width:0;overflow:hidden;cursor:grab;touch-action:none;background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--portal-primary) 20%,transparent),transparent 44%),linear-gradient(135deg,var(--portal-bg),#020203)}.relic-portal__visual:active{cursor:grabbing}.relic-portal__visual::before,.relic-portal__visual::after{content:'';position:absolute;z-index:0;pointer-events:none}.relic-portal__visual::before{inset:4%;border:1px solid color-mix(in srgb,var(--portal-primary) 42%,transparent);clip-path:polygon(0 0,28% 0,30% 2px,70% 2px,72% 0,100% 0,100% 24%,calc(100% - 2px) 26%,calc(100% - 2px) 74%,100% 76%,100% 100%,72% 100%,70% calc(100% - 2px),30% calc(100% - 2px),28% 100%,0 100%,0 76%,2px 74%,2px 26%,0 24%)}.relic-portal__visual::after{width:48vw;aspect-ratio:1;left:50%;top:50%;border:1px dashed color-mix(in srgb,var(--portal-secondary) 62%,transparent);border-radius:50%;transform:translate(-50%,-50%);animation:portal-ring 28s linear infinite}@keyframes portal-ring{to{transform:translate(-50%,-50%) rotate(1turn)}}.relic-portal__canvas{position:absolute;inset:0;z-index:2}.relic-portal__canvas canvas{display:block;width:100%;height:100%}.relic-portal__coordinates{position:absolute;left:6%;bottom:4%;z-index:4;color:var(--portal-primary);font-size:7px;font-weight:900;letter-spacing:.18em}
.relic-portal__text{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:clamp(55px,7vw,110px) clamp(35px,5vw,82px);border-left:3px solid var(--portal-primary);background:linear-gradient(145deg,color-mix(in srgb,var(--portal-bg) 92%,black),#08080a)}.relic-portal__text::before{content:'VIRGEN.EXE / ARCHIVO DEVOCIONAL';position:absolute;left:clamp(35px,5vw,82px);top:30px;color:var(--portal-secondary);font-size:7px;font-weight:900;letter-spacing:.2em}.relic-portal__text>small{align-self:flex-start;padding:7px 9px;color:#050505;background:var(--portal-primary);font-size:7px;font-weight:950;letter-spacing:.13em}.relic-portal__text h2{margin:22px 0 36px;color:#fff;font-size:clamp(48px,6vw,96px);font-style:italic;line-height:.75;letter-spacing:-.035em;text-shadow:4px 4px 0 var(--portal-secondary)}.relic-portal__poem{position:relative;padding:28px 0 18px;border-block:1px solid color-mix(in srgb,var(--portal-primary) 28%,transparent)}.relic-portal__poem::before{content:'“';position:absolute;left:-22px;top:12px;color:var(--portal-primary);font:80px/1 Georgia;opacity:.35}.relic-portal__poem p{margin:0 0 16px;color:rgba(255,255,255,.76);font:italic 400 clamp(14px,1.25vw,19px)/1.55 Georgia,serif}.relic-portal__poem p:last-child{color:#fff}.relic-portal__instruction{margin:28px 0 18px;color:var(--portal-primary);font-size:8px;font-weight:900;line-height:1.8;letter-spacing:.14em}.relic-portal__meter{height:5px;background:rgba(255,255,255,.1)}.relic-portal__meter i{display:block;width:64%;height:100%;background:linear-gradient(90deg,var(--portal-secondary),var(--portal-primary));box-shadow:0 0 12px var(--portal-primary);animation:portal-meter 3s ease-in-out infinite alternate}@keyframes portal-meter{to{width:92%}}
.relic-portal[data-tone=rojo] .relic-portal__visual{background-image:radial-gradient(circle at 50% 48%,rgba(255,23,79,.3),transparent 42%),repeating-linear-gradient(90deg,transparent 0 59px,rgba(255,23,79,.035) 60px),linear-gradient(#180006,#030304)}.relic-portal[data-tone=coral] .relic-portal__visual{background-image:radial-gradient(circle at 50% 48%,rgba(255,156,130,.27),transparent 42%),repeating-radial-gradient(circle at center,transparent 0 70px,rgba(57,227,208,.08) 71px 72px),linear-gradient(#35110d,#090504)}.relic-portal[data-tone=verde] .relic-portal__visual{background-image:radial-gradient(circle at 50% 48%,rgba(184,255,0,.22),transparent 42%),repeating-linear-gradient(135deg,transparent 0 34px,rgba(184,255,0,.04) 35px),linear-gradient(#101900,#020302)}.relic-portal[data-tone=violeta] .relic-portal__visual{background-image:radial-gradient(circle at 50% 48%,rgba(185,76,255,.3),transparent 42%),conic-gradient(from 0deg at 50% 50%,transparent,rgba(83,255,115,.05),transparent),linear-gradient(#170526,#030204)}.relic-portal[data-tone=rosa] .relic-portal__visual{background-image:radial-gradient(circle at 50% 48%,rgba(255,22,143,.33),transparent 42%),repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 9deg,rgba(255,208,46,.035) 10deg),linear-gradient(#270015,#050204)}
@media(max-width:850px){.relic-portal[open]{display:grid;grid-template-columns:1fr;grid-template-rows:56dvh 44dvh;overflow:auto}.relic-portal__text{min-height:44dvh;padding:42px 24px;border-top:3px solid var(--portal-primary);border-left:0}.relic-portal__text::before{display:none}.relic-portal__text h2{margin:15px 0 22px;font-size:48px}.relic-portal__poem{padding:18px 0}.relic-portal__poem p{margin-bottom:9px;font-size:13px}.relic-portal__instruction{position:absolute;right:22px;bottom:14px;margin:0;text-align:right}.relic-portal__meter{display:none}.relic-portal__close{top:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.relic-portal__visual::after,.relic-portal__meter i{animation:none}}
/* Foro simplificado: cabecera Three.js + una sola sala de chat */
.chat-3d-hero{position:relative;height:clamp(360px,52vw,660px);margin:calc(clamp(75px,10vw,150px)*-1) calc(max(5vw,24px)*-1) 70px;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 46%,rgba(255,22,143,.28),transparent 34%),linear-gradient(145deg,#001a4a,#003f91 56%,#001d48);cursor:grab;touch-action:none;user-select:none}.chat-3d-hero.is-dragging{cursor:grabbing}.chat-3d-hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.035) 5px),linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.12) 50%,transparent 50.1%)}.chat-3d-hero canvas{position:relative;z-index:2;display:block;width:100%;height:100%}.chat-3d__loading{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);font-size:8px;letter-spacing:.14em}.chat-3d__hint{position:absolute;right:28px;bottom:24px;z-index:4;padding:8px 11px;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(0,20,60,.48);font-size:7px;font-weight:700;letter-spacing:.11em;opacity:0;transition:opacity .5s}.chat-3d-hero.is-ready .chat-3d__hint{opacity:1}.chat-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.chat-heading h2{margin:5px 0 0;font-size:clamp(52px,8vw,112px);line-height:.8}.chat-heading>span{font-size:8px;letter-spacing:.12em}.chat-heading>span i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#ff168f;box-shadow:0 0 12px #ff168f}
.chat-room{width:min(100%,980px);margin:0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:30px;background:rgba(0,35,92,.72);box-shadow:0 28px 80px rgba(0,15,55,.3);backdrop-filter:blur(20px)}.chat-room .forum-feed{max-height:620px;overflow-y:auto;border:0;border-radius:0;background:transparent;box-shadow:none;scrollbar-color:rgba(255,255,255,.45) transparent}.chat-room .forum-post{position:relative;padding:24px 28px 20px;border-bottom:1px solid rgba(255,255,255,.13)}.chat-room .forum-post>p{max-width:720px;margin:13px 0 0;padding:14px 17px;border-radius:4px 18px 18px 18px;background:rgba(255,255,255,.1)}.chat-room .forum-post footer{display:none}.chat-compose{display:grid!important;grid-template-columns:180px minmax(0,1fr) auto;gap:10px!important;align-items:end;margin:0!important;padding:15px;border-top:1px solid rgba(255,255,255,.2);background:rgba(0,20,66,.75)}.chat-compose label{margin:0}.chat-compose input,.chat-compose textarea{height:54px!important;margin:0!important;padding:17px!important;border-radius:16px!important;resize:none!important}.chat-alias{display:grid;gap:5px}.chat-alias{font-size:7px!important}.chat-alias input{height:38px!important;padding:10px 12px!important}.chat-send{display:grid!important;gap:6px!important}.chat-send span{text-align:right}.chat-send button{height:54px;padding-inline:24px!important}.chat-compose .forum-form-status{grid-column:1/-1;min-height:0}.forum-local-note{text-align:center}
@media(max-width:700px){.chat-3d-hero{height:410px;margin-inline:-5vw;margin-bottom:45px}.chat-3d__hint{right:14px;bottom:14px}.chat-heading{align-items:start;flex-direction:column;gap:18px}.chat-compose{grid-template-columns:1fr auto}.chat-alias{grid-column:1/-1}.chat-message{min-width:0}.chat-send button{padding-inline:15px!important}.chat-room .forum-post{padding:20px 16px}.chat-room .forum-post>p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.chat-3d__hint{display:none}}
/* Catálogo expandido: posiciones de próximos releases */
.release-entry__buy .release-listen{margin-bottom:9px;background:#315ca8}.release-entry__buy{gap:0}.release-entry--pending{border-style:dashed;background:rgba(255,255,255,.58);box-shadow:none}.release-entry--pending .release-entry__number{background:#7c746d}.release-entry--pending:nth-child(7) .release-entry__number{background:#86647a}.release-entry--pending:nth-child(8) .release-entry__number{background:#607e78}.release-entry--pending:nth-child(9) .release-entry__number{background:#896b46}.release-entry--pending:nth-child(10) .release-entry__number{background:#5f6985}.release-entry__draft{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:center}.release-draft-cover{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(17,17,17,.28);border-radius:17px;background:repeating-linear-gradient(135deg,rgba(17,17,17,.035) 0 8px,transparent 8px 16px)}.release-draft-cover span{font-size:10px;font-weight:750}.release-draft-cover small{margin-top:7px;font-size:7px;letter-spacing:.08em;opacity:.45}.release-entry--pending h3{font-size:clamp(24px,3vw,40px);opacity:.5}.release-summary{max-width:620px;margin:0;color:#111;font-size:9px;line-height:1.55;opacity:.52}.release-entry__buy--pending{background:rgba(245,234,216,.55)}.release-entry__buy--pending button:disabled{cursor:not-allowed;opacity:.45}.release-entry--pending:hover{border-color:rgba(244,20,120,.28);background:rgba(255,255,255,.75)}
@media(max-width:700px){.release-entry__draft{grid-template-columns:100px minmax(0,1fr);gap:15px}.release-summary{display:none}}
@media(max-width:560px){.release-entry__draft{grid-template-columns:1fr}.release-draft-cover{width:120px}.release-entry--pending .release-entry__number{min-height:70px}}
/* Agenda nacional + comunidad de DJs */
.scene-events-head{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end;margin-bottom:48px}.scene-events-head h2{margin:0;font-size:clamp(58px,8vw,116px);line-height:.82}.scene-events-head>p{font-size:13px;line-height:1.65;opacity:.62}.event-hub-tools{display:grid;grid-template-columns:120px 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:18px;padding:18px;border:1px solid rgba(17,17,17,.12);border-radius:22px;background:rgba(255,255,255,.75);backdrop-filter:blur(15px)}.event-hub-tools label{display:grid;gap:6px;font-size:7px;font-weight:700;letter-spacing:.08em}.event-hub-tools select{height:42px;padding:0 12px;border:1px solid rgba(17,17,17,.14);border-radius:12px;background:white}.event-hub-tools button,.dj-community-actions button{height:42px;padding:0 17px;color:white;border:0;border-radius:999px;background:var(--pink);font-size:8px;font-weight:750;cursor:pointer}.scene-event-status{display:flex;align-items:baseline;gap:10px;margin:20px 0}.scene-event-status strong{font-size:38px}.scene-event-status span{font-size:9px;font-weight:750}.scene-event-status small{margin-left:auto;font-size:7px;opacity:.45}.scene-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.scene-event-card{overflow:hidden;border:1px solid rgba(17,17,17,.12);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 16px 46px rgba(74,44,27,.1);transition:transform .25s,box-shadow .25s}.scene-event-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(74,44,27,.18)}.scene-event-flyer{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;padding:22px;color:#fff;background-color:var(--event-accent);background-image:radial-gradient(circle at 72% 25%,rgba(255,255,255,.38),transparent 20%),repeating-radial-gradient(circle at 50% 50%,transparent 0 32px,rgba(255,255,255,.12) 33px 35px),linear-gradient(145deg,var(--event-accent),#111);background-position:center;background-size:cover;isolation:isolate}.scene-event-flyer small{align-self:flex-start;padding:6px 8px;color:#111;border-radius:999px;background:#fff;font-size:7px;font-weight:750}.scene-event-flyer strong{font-size:clamp(30px,3vw,48px);line-height:.84;letter-spacing:-.06em;text-shadow:0 2px 18px rgba(0,0,0,.2)}.scene-event-flyer span{font-size:9px;font-weight:750;letter-spacing:.08em}.scene-event-card.is-community .scene-event-flyer small{color:#fff;background:var(--pink)}.scene-event-body{padding:21px}.scene-event-body>div{display:flex;justify-content:space-between;gap:10px;color:var(--pink);font-size:7px;font-weight:700;letter-spacing:.06em}.scene-event-body h3{margin:13px 0 7px;font-size:25px;line-height:.95}.scene-event-venue{font-size:8px;font-weight:700}.scene-event-lineup{min-height:62px;font-size:9px;line-height:1.5;opacity:.62}.scene-event-lineup strong{display:block;margin-bottom:4px;color:#111;font-size:7px}.scene-event-body>a{display:inline-flex;padding-bottom:3px;color:var(--pink);border-bottom:1px solid;font-size:8px;font-weight:750}
.event-submit-dialog,.dj-submit-dialog,.dj-profile-dialog{width:min(680px,calc(100vw - 28px));max-height:92vh;padding:clamp(28px,5vw,58px);color:#111;border:0;border-radius:28px;background:#fffaf0;box-shadow:0 35px 120px rgba(0,0,0,.45)}.event-submit-dialog::backdrop,.dj-submit-dialog::backdrop,.dj-profile-dialog::backdrop{background:rgba(5,3,6,.82);backdrop-filter:blur(10px)}.event-submit-close,.dj-submit-close,.dj-profile-close{position:absolute;right:17px;top:14px;width:39px;height:39px;border:1px solid rgba(17,17,17,.15);border-radius:50%;background:white;font-size:24px;cursor:pointer}.event-submit-dialog h3,.dj-submit-dialog h3{margin:12px 0;font-size:clamp(38px,6vw,66px)}.event-submit-dialog>p:not(.section-index){font-size:11px;line-height:1.55;opacity:.58}.event-submit-dialog form,.dj-submit-dialog form{display:grid;gap:14px;margin-top:25px}.event-submit-dialog form>div,.dj-submit-dialog form>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.event-submit-dialog label,.dj-submit-dialog label{display:grid;gap:6px;font-size:7px;font-weight:700;letter-spacing:.07em}.event-submit-dialog input,.event-submit-dialog select,.event-submit-dialog textarea,.dj-submit-dialog input,.dj-submit-dialog select,.dj-submit-dialog textarea{width:100%;padding:12px;border:1px solid rgba(17,17,17,.16);border-radius:12px;background:white}.event-submit-dialog form>button,.dj-submit-dialog form>button{padding:14px;color:white;border:0;border-radius:999px;background:var(--pink);font-weight:750;cursor:pointer}.event-submit-status,.dj-submit-status{min-height:14px;margin:0;color:var(--pink);font-size:8px}
.dj-community-actions{display:flex;align-items:center;gap:9px;margin-bottom:24px;padding:16px;border:1px solid rgba(17,17,17,.1);border-radius:18px;background:rgba(255,255,255,.72)}.dj-community-actions button:first-child{color:var(--pink);border:1px solid var(--pink);background:white}.dj-community-actions p{margin:0 0 0 auto;font-size:8px;opacity:.55}.directory-card .dj-card__info>button{cursor:pointer!important;opacity:1!important;color:#fff!important;border:0!important;background:var(--pink)!important}.directory-card.is-community{outline:2px solid rgba(244,20,120,.3)}.dj-card__stats{display:flex;justify-content:space-between;gap:8px;margin:18px 0 10px;color:var(--pink);font-size:7px;font-weight:750}.dj-profile-dialog{width:min(820px,calc(100vw - 28px));color:white;background:radial-gradient(circle at 85% 10%,rgba(244,20,120,.3),transparent 35%),#0d0910}.dj-profile-dialog #dj-profile-content>small{color:var(--pink);font-size:8px;letter-spacing:.1em}.dj-profile-monogram{width:130px;aspect-ratio:1;display:grid;place-items:center;margin:25px 0 15px;color:white;border-radius:50%;background:var(--pink);font-size:55px;font-weight:800}.dj-profile-dialog h2{margin:8px 0 25px;font-size:clamp(48px,8vw,88px);line-height:.8}.dj-profile-dialog #dj-profile-content>p{font-size:8px;letter-spacing:.08em;opacity:.5}.dj-profile-bio{max-width:610px;font-size:13px;line-height:1.65;opacity:.72}.dj-profile-links{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.dj-profile-links a,.dj-profile-links span{padding:10px 13px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:8px}.dj-profile-actions{display:flex;gap:10px}.dj-profile-actions button{padding:13px 16px;color:white;border:1px solid var(--pink);border-radius:999px;background:var(--pink);font-size:8px;font-weight:750;cursor:pointer}.dj-profile-actions button+button{background:transparent}.dj-profile-status{margin-top:18px;color:#ff89bd!important;font-size:9px!important;line-height:1.5;opacity:1!important}
@media(max-width:1000px){.scene-event-grid{grid-template-columns:1fr 1fr}.event-hub-tools{grid-template-columns:1fr 1fr}.event-hub-tools button{grid-column:1/-1}.scene-events-head{grid-template-columns:1fr}.dj-community-actions{align-items:flex-start;flex-wrap:wrap}.dj-community-actions p{flex-basis:100%;margin-left:0}}
@media(max-width:620px){.scene-event-grid{grid-template-columns:1fr}.event-hub-tools{grid-template-columns:1fr}.event-hub-tools button{grid-column:auto}.scene-event-status small{display:none}.event-submit-dialog form>div,.dj-submit-dialog form>div{grid-template-columns:1fr}.dj-profile-actions{align-items:stretch;flex-direction:column}.scene-event-flyer{aspect-ratio:1}.scene-events-head h2{font-size:58px}}
/* Memes / archivo social de @elreiv_ */
.memes{color:#fff;background:#0d0910}.memes-head{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin-bottom:42px}.memes-head h2{margin:8px 0 0;font-size:clamp(68px,10vw,145px);line-height:.76}.memes-head>div:last-child p{font-size:13px;line-height:1.65;opacity:.62}.memes-head>div:last-child a{display:inline-flex;padding-bottom:4px;color:#ff6bad;border-bottom:1px solid;font-size:9px;font-weight:700}.memes-sync{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding:13px 15px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.045)}.memes-sync span,.memes-sync p,.memes-sync button{font-size:7px;letter-spacing:.07em}.memes-sync span{white-space:nowrap}.memes-sync i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#43e59f;box-shadow:0 0 10px #43e59f}.memes-sync p{margin:0;opacity:.42}.memes-sync button{margin-left:auto;padding:8px 11px;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;cursor:pointer}.meme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.meme-card{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(255,255,255,.055);box-shadow:0 24px 65px rgba(0,0,0,.24)}.meme-media{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;background:#050506;cursor:zoom-in}.meme-media img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .45s var(--ease),filter .45s}.meme-media:hover img{transform:scale(1.025);filter:saturate(1.08)}.meme-media>span{position:absolute;right:16px;bottom:16px;padding:8px 11px;color:#111;border-radius:999px;background:#fff;font-size:7px;font-weight:750;opacity:0;transform:translateY(5px);transition:.25s}.meme-media:hover>span,.meme-media:focus-visible>span{opacity:1;transform:none}.meme-card__body{padding:22px}.meme-card__body>div:first-child{display:flex;justify-content:space-between;color:#ff6bad;font-size:8px}.meme-card__body>p{margin:19px 0;font-size:clamp(18px,2.3vw,30px);font-weight:680;line-height:1.12}.meme-metrics{display:flex;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);font-size:7px}.meme-like{padding:0;color:#fff;border:0;background:none;cursor:pointer}.meme-like.is-liked{color:#ff4b9e}.meme-metrics>span{opacity:.38}.meme-card__body>a{display:inline-flex;margin-top:17px;padding-bottom:3px;border-bottom:1px solid;font-size:8px}.meme-empty{display:grid;grid-template-columns:180px 1fr auto;gap:20px;align-items:center;margin-top:22px;padding:25px;border:1px dashed rgba(255,255,255,.22);border-radius:20px}.meme-empty strong{color:#ff6bad}.meme-empty p{margin:0;font-size:10px;line-height:1.5;opacity:.52}.meme-empty a{font-size:8px}.meme-viewer{width:min(92vw,920px);max-width:none;padding:18px;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:25px;background:#09070b}.meme-viewer::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}.meme-viewer img{display:block;width:100%;max-height:78vh;object-fit:contain;border-radius:13px}.meme-viewer p{margin:16px 5px 3px}.meme-viewer__close{position:absolute;right:28px;top:28px;width:42px;height:42px;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.65);font-size:25px;cursor:pointer}
@media(max-width:760px){.memes-head{grid-template-columns:1fr}.memes-sync{align-items:flex-start;flex-wrap:wrap}.memes-sync button{margin-left:0}.meme-grid{grid-template-columns:1fr}.meme-empty{grid-template-columns:1fr}.meme-metrics{align-items:flex-start;flex-direction:column}}
/* Instagram community */
.instagram-forum__heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:32px;margin-bottom:40px}
.instagram-forum__heading h2{font-family:"Archivo Black",sans-serif;font-size:clamp(38px,6.5vw,90px);line-height:.95;letter-spacing:-.055em;margin:0}
.instagram-forum__heading>div>p:not(.section-index){max-width:430px;line-height:1.7}
.instagram-forum__link{display:inline-block;margin-top:12px;padding:15px 22px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-size:12px}
.instagram-forum__link:hover{background:#ff168f;color:white}
.instagram-forum__embed{width:min(100%,540px);margin:0 auto;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 20px 70px #001a4455}
.instagram-forum__embed iframe{display:block;width:100%;height:740px;border:0}
.instagram-forum__fallback{text-align:center;font-size:12px;line-height:1.7;margin:22px auto 0;max-width:540px}
.instagram-forum__fallback a{color:inherit;text-underline-offset:4px}
@media(max-width:700px){.instagram-forum__heading{grid-template-columns:1fr;gap:20px}.instagram-forum__embed iframe{height:640px}}

/* RELIGION.AI SYSTEMS — portada jugable */
.cover-only[hidden],.lore-dossier[hidden]{display:none!important}
.cover-only{height:100svh;min-height:680px;display:block;background:#020405;border-radius:0}
.cover-only>.home-slider{display:none}
.cyber-game{--mouse-x:50%;--mouse-y:50%;position:relative;width:100%;height:100%;overflow:hidden;color:#edf8f7;background:#020506;outline:none;isolation:isolate;cursor:crosshair}
.cyber-game::before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(circle 180px at var(--mouse-x) var(--mouse-y),transparent,rgba(0,0,0,.18) 70%,rgba(0,0,0,.58));mix-blend-mode:multiply}
.cyber-game::after{content:"RELIGION.AI // MARY_01 // BUILD 000.666";position:absolute;right:22px;top:92px;z-index:10;color:rgba(205,241,239,.55);font:600 7px/1 monospace;letter-spacing:.18em;writing-mode:vertical-rl}
.cyber-game__world,.cyber-game__scanlines,.cyber-game__noise{position:absolute;inset:0}
.cover-only .cyber-game__background{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:brightness(.55) contrast(1.16) saturate(.78);transform:scale(1.055);transition:transform .5s cubic-bezier(.2,.8,.2,1),filter 1s}
.cyber-game__world::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.28) 42%,rgba(0,5,8,.05) 66%,rgba(0,0,0,.42)),linear-gradient(0deg,rgba(1,4,5,.92),transparent 35%,rgba(0,0,0,.34))}
.cyber-game__scanlines{z-index:2;pointer-events:none;opacity:.24;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(197,255,250,.11) 4px)}
.cyber-game__noise{z-index:3;pointer-events:none;opacity:.12;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='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:cyber-noise .22s steps(2) infinite}
.cyber-game__depth{position:absolute;z-index:2;border:1px solid rgba(107,245,237,.25);box-shadow:0 0 18px rgba(72,236,224,.15)}
.cyber-game__depth--near{width:28vw;height:1px;right:-4vw;top:62%;transform:rotate(-18deg)}
.cyber-game__depth--far{width:22vw;height:1px;left:31%;top:24%;transform:rotate(13deg)}
.cyber-game__hud{position:absolute;inset:84px 25px auto;z-index:10;display:flex;justify-content:space-between;align-items:flex-start;font-family:monospace;font-size:8px;letter-spacing:.12em;pointer-events:none}
.cyber-game__status{display:flex;align-items:center;gap:8px}.cyber-game__status i{width:7px;height:7px;border-radius:50%;background:#e1212f;box-shadow:0 0 14px #ff2537;animation:cyber-blink 1s steps(2) infinite}
.cyber-game__coordinates{text-align:right;line-height:1.7;color:rgba(222,246,244,.65)}
.cyber-game__progress{position:absolute;left:50%;top:0;width:min(320px,32vw);transform:translateX(-50%);text-align:center}.cyber-game__progress>span{display:block;margin-bottom:8px}.cyber-game__progress>div{height:3px;background:rgba(255,255,255,.18)}.cyber-game__progress i{display:block;width:0;height:100%;background:#9afdf5;box-shadow:0 0 12px #77fff4;transition:width .45s}.cyber-game__progress strong{display:block;margin-top:7px;color:rgba(222,246,244,.65);font-size:7px}
.cyber-game__copy{position:absolute;left:max(5vw,28px);bottom:clamp(60px,9vh,105px);z-index:9;width:min(610px,70vw);text-shadow:0 3px 24px #000}
.cyber-game__warning{display:inline-block;margin:0 0 18px;padding:7px 10px;color:#ff3745;border:1px solid rgba(255,55,69,.6);background:rgba(20,0,2,.62);font:700 9px/1 monospace;letter-spacing:.14em;animation:cyber-warning 1.4s steps(2) infinite}
.cyber-game__copy h1{margin:0;font-family:"Archivo Black",Arial,sans-serif;font-size:clamp(58px,8.7vw,138px);font-weight:900;line-height:.72;letter-spacing:-.085em;text-transform:uppercase}.cyber-game__copy h1 span{color:transparent;-webkit-text-stroke:1px #9afdf5;text-shadow:0 0 20px rgba(91,255,243,.35)}
.cyber-game__question{margin:25px 0 8px;font-size:clamp(18px,2vw,28px);font-weight:750;letter-spacing:.06em}.cyber-game__intro{max-width:470px;margin:0 0 20px;color:rgba(238,250,249,.65);font-size:11px;line-height:1.6}
.cyber-game__start{padding:13px 17px;color:#051110;border:1px solid #bafff9;background:#bafff9;font:800 9px/1 monospace;letter-spacing:.1em;cursor:pointer;box-shadow:0 0 28px rgba(83,255,243,.2);transition:.2s}.cyber-game__start:hover,.cyber-game__start:focus-visible{color:#bafff9;background:#071212;box-shadow:0 0 30px rgba(83,255,243,.45)}
.cyber-game__playfield{position:absolute;inset:120px 3vw 50px;z-index:7;opacity:0;visibility:hidden;transition:opacity .6s;pointer-events:none}
.cyber-game.is-playing .cyber-game__playfield{opacity:1;visibility:visible}.cyber-game.is-playing .cyber-game__copy{opacity:.16;filter:blur(1px);transition:.6s}.cyber-game.is-playing .cyber-game__copy .cyber-game__start{pointer-events:auto}.cyber-game.is-complete .cyber-game__copy{opacity:.8;filter:none}
.server-node{position:absolute;left:var(--x);top:var(--y);width:28px;height:28px;padding:0;border:1px solid rgba(255,60,73,.85);border-radius:50%;background:rgba(16,0,3,.55);transform:translate(-50%,-50%);box-shadow:0 0 18px rgba(255,30,46,.45);pointer-events:none}.server-node::before,.server-node::after{content:"";position:absolute;inset:-9px;border:1px solid rgba(255,47,63,.36);border-radius:50%;animation:server-ring 1.8s linear infinite}.server-node::after{inset:-18px;animation-delay:-.9s}.server-node i{position:absolute;inset:9px;border-radius:50%;background:#ff2e3e}.server-node span{position:absolute;left:35px;top:9px;color:#ff6975;font:700 7px/1 monospace;white-space:nowrap}.server-node.is-active{border-color:#a7fff8;box-shadow:0 0 24px #65fff2}.server-node.is-active i{background:#a7fff8}.server-node.is-active span{color:#a7fff8}.server-node.is-active::before,.server-node.is-active::after{animation:none;border-color:rgba(167,255,248,.16)}
.signal-avatar{position:absolute;left:50%;top:78%;width:20px;height:20px;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;box-shadow:0 0 18px #a7fff8,0 0 45px rgba(90,255,242,.7)}.signal-avatar::before,.signal-avatar::after{content:"";position:absolute;left:50%;top:50%;background:#bafff9;transform:translate(-50%,-50%)}.signal-avatar::before{width:35px;height:1px}.signal-avatar::after{width:1px;height:35px}.signal-avatar i{position:absolute;inset:6px;border-radius:50%;background:white}.signal-avatar span{position:absolute;left:28px;top:7px;color:white;font:700 7px/1 monospace}
.cyber-game__mission{position:absolute;z-index:10;left:50%;bottom:22px;transform:translateX(-50%);font:700 7px/1 monospace;letter-spacing:.14em;color:rgba(224,251,249,.6);white-space:nowrap}.cyber-game__transmission{position:absolute;z-index:10;right:32px;bottom:25px;width:260px;text-align:right;color:#a7fff8;font:700 8px/1.4 monospace;letter-spacing:.08em}
.cyber-game.is-glitching .cyber-game__background{filter:brightness(.76) contrast(1.6) saturate(.2) hue-rotate(90deg)}.cyber-game.is-glitching{animation:cyber-shake .18s steps(2)}.cyber-game.is-complete .cyber-game__world::after{background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 70%),linear-gradient(0deg,rgba(1,4,5,.7),transparent 45%)}.cyber-game.is-complete .cyber-game__status i{background:#a7fff8;box-shadow:0 0 14px #a7fff8}
@keyframes cyber-noise{0%{transform:translate(0)}25%{transform:translate(1%,-1%)}50%{transform:translate(-1%,1%)}75%{transform:translate(.5%,1%)}}
@keyframes cyber-blink{50%{opacity:.25}}@keyframes cyber-warning{50%{border-color:transparent}}@keyframes server-ring{to{transform:scale(1.25);opacity:0}}@keyframes cyber-shake{25%{transform:translateX(5px)}50%{transform:translateX(-7px)}75%{transform:translateX(3px)}}

/* Seis eventos recientes */
.event-news{background:#e9e3d8}.event-news__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.event-news__card{overflow:hidden;border-radius:20px;background:#101314;box-shadow:0 15px 45px rgba(20,24,24,.13)}.event-news__card a{display:block;height:100%;color:white}.event-news__card img{display:block;width:100%;height:250px;object-fit:cover;filter:saturate(.75) contrast(1.06);transition:transform .5s,filter .5s}.event-news__card> a>div{padding:20px}.event-news__card small{color:#8ff9f0;font-size:7px;letter-spacing:.11em}.event-news__card h3{margin:12px 0 18px;font-size:clamp(20px,2.1vw,31px);line-height:.98}.event-news__card p{color:rgba(255,255,255,.57);font-size:10px;line-height:1.6}.event-news__card span{display:inline-block;margin-top:auto;font-size:8px;border-bottom:1px solid}.event-news__card:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.08)}.event-news__card--lead{grid-column:span 2}.event-news__card--lead a{display:grid;grid-template-columns:1.15fr .85fr}.event-news__card--lead img{height:100%;min-height:340px}
@media(max-width:900px){.event-news__grid{grid-template-columns:repeat(2,1fr)}.event-news__card--lead{grid-column:span 2}}
@media(max-width:650px){.cover-only{height:88svh;min-height:650px}.cyber-game__hud{inset:76px 16px auto}.cyber-game__progress{top:42px;width:60vw}.cyber-game__coordinates{display:none}.cyber-game__copy{left:20px;bottom:72px;width:calc(100% - 40px)}.cyber-game__copy h1{font-size:clamp(52px,17vw,83px)}.cyber-game__intro{max-width:320px}.cyber-game__playfield{inset:130px 0 55px}.cyber-game__mission{bottom:17px;font-size:6px}.cyber-game__transmission{right:18px;bottom:45px}.event-news__grid{grid-template-columns:1fr}.event-news__card--lead{grid-column:auto}.event-news__card--lead a{display:block}.event-news__card--lead img,.event-news__card img{height:240px;min-height:0}}
@media(prefers-reduced-motion:reduce){.cyber-game__noise,.server-node::before,.server-node::after,.cyber-game__warning{animation:none}}

/* Videojuego 2047 — personaje, terminales y archivos narrativos */
.cyber-game::after{content:"VIDEOJUEGO // GUADALUPE_CORE // MÉXICO_2047"}
.signal-avatar{--player-scale:.95;width:clamp(60px,6.2vw,104px);height:auto;aspect-ratio:2/3;border:0;border-radius:0;background:none;box-shadow:none;transform:translate(-50%,-92%) scale(var(--player-scale));transform-origin:50% 100%;transition:filter .2s;will-change:left,top,transform;z-index:5}
.signal-avatar::before,.signal-avatar::after,.signal-avatar i{display:none}
.signal-avatar img{--facing:1;display:block!important;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(0,0,0,.8)) drop-shadow(0 0 9px rgba(98,255,246,.16));transform:scaleX(var(--facing));transform-origin:center bottom}
.signal-avatar span{left:50%;top:auto;bottom:-9px;padding:3px 5px;color:#a7fff8;background:rgba(0,8,9,.75);transform:translateX(-50%);font-size:6px;letter-spacing:.08em}
.signal-avatar.is-walking img{animation:lia-walk .38s steps(2) infinite}
.signal-avatar.is-walking{filter:drop-shadow(0 0 9px rgba(99,255,245,.3))}
.server-node.is-near{border-color:#fff;box-shadow:0 0 16px #fff,0 0 38px #ff2e3e;transform:translate(-50%,-50%) scale(1.22)}
.server-node.is-near::before{content:"E";inset:-30px auto auto 50%;width:20px;height:20px;display:grid;place-items:center;color:#08100f;border-color:#fff;background:#fff;transform:translateX(-50%);animation:none;font:900 9px/1 monospace}
.cyber-game.is-reading .cyber-game__playfield{filter:blur(3px);opacity:.35}.cyber-game.is-reading .cyber-game__mission,.cyber-game.is-reading .cyber-game__transmission{opacity:.2}
.cyber-game__archive{position:absolute;z-index:20;left:50%;top:52%;width:min(620px,calc(100% - 40px));padding:clamp(24px,4vw,48px);color:#dffbf8;border:1px solid rgba(163,255,247,.5);background:linear-gradient(145deg,rgba(0,13,16,.96),rgba(7,4,8,.94));box-shadow:0 30px 100px #000,0 0 45px rgba(88,255,244,.12);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transform:translate(-50%,-45%) scale(.96);transition:.28s}
.cyber-game__archive::before{content:"";position:absolute;inset:8px;border:1px solid rgba(163,255,247,.11);pointer-events:none}.cyber-game__archive.is-open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.cyber-game__archive>button{position:absolute;right:16px;top:14px;width:34px;height:34px;color:#a7fff8;border:1px solid rgba(167,255,248,.3);background:transparent;font-size:20px;cursor:pointer}.cyber-game__archive small{color:#ff5260;font:700 7px/1 monospace;letter-spacing:.13em}.cyber-game__archive h2{margin:17px 0 19px;font-family:"Archivo Black",sans-serif;font-size:clamp(28px,5vw,55px);line-height:.9}.cyber-game__archive p{max-width:530px;margin:0;color:rgba(223,251,248,.72);font-size:clamp(12px,1.25vw,16px);line-height:1.7}.cyber-game__archive>span{display:block;margin-top:28px;color:rgba(167,255,248,.42);font:700 7px/1 monospace;letter-spacing:.1em}
.cyber-game.is-complete .cyber-game__background{filter:brightness(.68) contrast(1.14) saturate(1.05)}
.cyber-game__interact{position:absolute;z-index:12;left:24px;bottom:21px;padding:10px 12px;color:#a7fff8;border:1px solid rgba(167,255,248,.35);background:rgba(0,10,12,.8);font:800 7px/1 monospace;letter-spacing:.08em;opacity:0;visibility:hidden;cursor:pointer}.cyber-game.is-playing .cyber-game__interact{opacity:.45;visibility:visible}.cyber-game:has(.server-node.is-near) .cyber-game__interact{opacity:1;border-color:#fff;color:#07100f;background:#fff;box-shadow:0 0 20px rgba(167,255,248,.4)}.cyber-game.is-reading .cyber-game__interact{opacity:0;visibility:hidden}
@keyframes lia-walk{0%{transform:scaleX(var(--facing)) rotate(-1.7deg) translateY(0)}50%{transform:scaleX(var(--facing)) rotate(1.7deg) translateY(-3px)}}
@media(max-width:650px){.signal-avatar{width:68px}.cyber-game__archive{top:50%;padding:30px 26px}.cyber-game__archive h2{font-size:31px}.cyber-game__archive p{font-size:12px}.cyber-game__copy h1{font-size:clamp(43px,14vw,72px)}.cyber-game__intro{font-size:9px}.cyber-game__question{margin-top:18px}.cyber-game__start{padding:11px 13px}.server-node span{display:none}}

/* Expediente narrativo bajo la Virgen */
.lore-dossier{position:relative;overflow:hidden;color:#dce9e6;background:#080b0c;border-top:1px solid rgba(167,255,248,.18)}
.lore-dossier::before{content:"ARCHIVO 2047";position:absolute;right:-.04em;top:.02em;color:rgba(255,255,255,.018);font-family:"Archivo Black",sans-serif;font-size:23vw;line-height:.8;letter-spacing:-.09em;pointer-events:none}
.lore-dossier__head{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end;margin-bottom:45px}.lore-dossier__head h2{margin:8px 0 0;font-size:clamp(54px,8.5vw,126px);line-height:.77;letter-spacing:-.075em}.lore-dossier__head h2 span{color:transparent;-webkit-text-stroke:1px #9efcf4}.lore-dossier__standfirst{max-width:520px;margin:0;padding-left:22px;border-left:1px solid #ff3948;color:rgba(220,233,230,.68);font-family:Georgia,serif;font-size:clamp(15px,1.45vw,20px);line-height:1.65}
.lore-dossier__meta{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid rgba(255,255,255,.16)}.lore-dossier__meta span{padding:13px 15px;border-right:1px solid rgba(255,255,255,.12);font:700 7px/1 monospace;letter-spacing:.08em}.lore-dossier__meta span:last-child{border:0;color:#ff6571}
.lore-feature{position:relative;z-index:1;display:grid;grid-template-columns:180px minmax(0,1fr);gap:5vw;padding:clamp(45px,7vw,90px) 0;border-bottom:1px solid rgba(255,255,255,.14)}.lore-feature__label{display:flex;flex-direction:column;justify-content:space-between;color:#ff5664;font:700 8px/1 monospace;letter-spacing:.08em}.lore-feature__label b{color:transparent;-webkit-text-stroke:1px rgba(167,255,248,.35);font-family:"Archivo Black",sans-serif;font-size:110px;line-height:.7}.lore-feature h3{max-width:980px;margin:0 0 35px;font-family:"Archivo Black",sans-serif;font-size:clamp(38px,6vw,85px);line-height:.88;letter-spacing:-.055em}.lore-feature p{max-width:920px;margin:0 0 20px;color:rgba(220,233,230,.72);font-family:Georgia,serif;font-size:clamp(15px,1.45vw,19px);line-height:1.8}.lore-feature p:first-of-type::first-letter{float:left;margin:7px 12px 0 0;color:#a7fff8;font-family:"Archivo Black",sans-serif;font-size:70px;line-height:.7}
.lore-letters{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);gap:15px;padding-top:35px}.lore-letter{grid-column:span 2;min-height:390px;display:flex;flex-direction:column;padding:clamp(24px,3vw,38px);color:#161918;background:#dad5ca;box-shadow:0 20px 60px rgba(0,0,0,.28);transform:rotate(-.45deg)}.lore-letter:nth-child(even){transform:rotate(.65deg) translateY(14px)}.lore-letter--dark{color:#d9ece9;border:1px solid rgba(167,255,248,.18);background:#101617}.lore-letter--red{color:#f0e7dc;background:#7c111c}.lore-letter--last{grid-column:span 4;min-height:330px;color:#e7f4f1;border:1px solid rgba(167,255,248,.28);background:linear-gradient(135deg,#0c1517,#111011)}
.lore-letter header{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid currentColor;font:700 7px/1 monospace;letter-spacing:.08em;opacity:.7}.lore-letter h3{margin:45px 0 24px;font-family:"Archivo Black",sans-serif;font-size:clamp(25px,3vw,43px);line-height:.9}.lore-letter p{margin:0 0 16px;font-family:Georgia,serif;font-size:14px;line-height:1.7}.lore-letter footer{margin-top:auto;padding-top:25px;font:700 7px/1.4 monospace;letter-spacing:.08em;opacity:.55}
@media(max-width:900px){.lore-dossier__head{grid-template-columns:1fr}.lore-dossier__meta{grid-template-columns:1fr 1fr}.lore-letters{grid-template-columns:repeat(2,1fr)}.lore-letter,.lore-letter--last{grid-column:span 1}.lore-letter--last{grid-column:span 2}.lore-feature{grid-template-columns:110px 1fr}}
@media(max-width:620px){.lore-dossier__meta{grid-template-columns:1fr}.lore-dossier__meta span{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.lore-feature{grid-template-columns:1fr}.lore-feature__label{align-items:end;flex-direction:row}.lore-feature__label b{font-size:70px}.lore-letters{grid-template-columns:1fr}.lore-letter,.lore-letter--last{grid-column:auto;min-height:330px;transform:none!important}.lore-dossier__head h2{font-size:52px}}

/* Portada editorial — 15 señales */
.editorial-home{
  --editorial-red:#ff3b30;
  --editorial-cream:#f1efe7;
  --editorial-ink:#0d0d0c;
  position:relative;
  color:var(--editorial-ink);
  background:var(--editorial-cream);
  padding:92px clamp(18px,4vw,68px) clamp(70px,9vw,130px);
  overflow:hidden;
}
.editorial-home__head{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid #181816;
}
.editorial-home__mark{
  font-size:clamp(24px,3.1vw,48px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.075em;
}
.editorial-home__head>div{
  display:flex;
  gap:24px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}
.editorial-home__head time{color:#6d6b65}
.editorial-home__intro{
  display:grid;
  grid-template-columns:.62fr 1.38fr;
  align-items:end;
  gap:6vw;
  padding:clamp(45px,7vw,100px) 0 clamp(35px,5vw,70px);
}
.editorial-home__intro>p{
  margin:0 0 .45em;
  font-size:clamp(10px,1vw,14px);
  font-weight:800;
  line-height:1.55;
  letter-spacing:.025em;
}
.editorial-home__intro h1{
  margin:0;
  font-size:clamp(62px,10.3vw,164px);
  line-height:.72;
  letter-spacing:-.085em;
}
.editorial-home__intro em{
  color:transparent;
  font-style:normal;
  -webkit-text-stroke:1.5px var(--editorial-red);
}
.editorial-tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-block:1px solid #181816;
}
.editorial-tabs button{
  min-height:78px;
  display:grid;
  grid-template-columns:32px 1fr auto;
  align-items:center;
  gap:10px;
  padding:12px 20px;
  color:#55534e;
  border:0;
  border-right:1px solid #181816;
  background:transparent;
  text-align:left;
  font-size:10px;
  font-weight:850;
  letter-spacing:.055em;
  cursor:pointer;
  transition:background .25s,color .25s;
}
.editorial-tabs button:last-child{border-right:0}
.editorial-tabs button span{font-size:8px}
.editorial-tabs button b{
  display:grid;
  width:29px;
  height:29px;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:8px;
}
.editorial-tabs button:hover{color:#111;background:#e5e2d9}
.editorial-tabs button.is-active{color:white;background:var(--editorial-red)}
.editorial-stage{
  position:relative;
  min-height:min(720px,72vw);
  outline:none;
  background:#111;
  overflow:hidden;
}
.editorial-stage:focus-visible{box-shadow:0 0 0 3px var(--editorial-red)}
.editorial-stage__slides{position:absolute;inset:0}
.editorial-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:translateX(42px);
  transition:opacity .48s ease,transform .62s cubic-bezier(.2,.75,.2,1),visibility .48s;
}
.editorial-slide.is-active{opacity:1;visibility:visible;transform:none;z-index:1}
.editorial-slide>a{height:100%;display:grid;grid-template-columns:1.62fr .88fr}
.editorial-slide figure{position:relative;margin:0;overflow:hidden;background:#272725}
.editorial-slide figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 65%,rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 42%);
  pointer-events:none; 
} 
.editorial-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.82) contrast(1.04);
  transform:scale(1.015);
  transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .5s;
}
.editorial-slide.is-active:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.04)}
.editorial-slide figcaption{
  position:absolute;
  z-index:2;
  left:20px;
  bottom:19px;
  color:white;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.editorial-slide__poster{display:grid;place-items:center;padding:clamp(32px,6vw,90px);color:#fff;background:var(--mx-pink)}
.editorial-slide__poster>div{display:flex;min-height:100%;flex-direction:column;justify-content:space-between;border:2px solid currentColor;padding:clamp(24px,4vw,58px)}
.editorial-slide__poster small{font-size:10px;font-weight:900;letter-spacing:.18em}
.editorial-slide__poster strong{font-size:clamp(64px,10vw,150px);line-height:.78;letter-spacing:-.085em}
.editorial-slide__poster span{max-width:30ch;font-size:11px;font-weight:800;line-height:1.5;letter-spacing:.1em}
.editorial-slide__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(30px,4vw,70px);
  color:white;
  background:#11110f;
}
.editorial-slide__copy small{
  color:#9d9a91;
  font-size:8px;
  font-weight:800;
  letter-spacing:.11em;
}
.editorial-slide__copy h2{
  margin:clamp(25px,3vw,42px) 0 22px;
  font-size:clamp(35px,4.3vw,72px);
  line-height:.86;
  letter-spacing:-.06em;
}
.editorial-slide__copy p{
  max-width:440px;
  margin:0;
  color:#aaa79f;
  font-family:Georgia,serif;
  font-size:clamp(13px,1.1vw,17px);
  line-height:1.6;
}
.editorial-slide__copy>span{
  align-self:flex-start;
  margin-top:clamp(34px,5vw,70px);
  padding-bottom:5px;
  border-bottom:1px solid var(--editorial-red);
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
}
.editorial-stage__controls{
  position:absolute;
  z-index:4;
  right:clamp(20px,4vw,65px);
  bottom:25px;
  display:flex;
  align-items:center;
  gap:13px;
  color:white;
}
.editorial-arrow{
  width:42px;
  height:42px;
  padding:0;
  border:1px solid #5a5954;
  border-radius:50%;
  color:white;
  background:rgba(17,17,15,.8);
  cursor:pointer;
  transition:.2s;
}
.editorial-arrow:hover{color:#111;background:white;border-color:white}
.editorial-progress{
  display:grid;
  grid-template-columns:18px 86px 18px;
  align-items:center;
  gap:8px;
  font-size:8px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.08em;
}
.editorial-progress em{font-style:normal;color:#77756f}
.editorial-progress i{height:1px;background:#55534f;overflow:hidden}
.editorial-progress b{
  display:block;
  width:20%;
  height:100%;
  background:var(--editorial-red);
  transition:width .4s;
}
.editorial-rail{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-bottom:1px solid #181816;
}
.editorial-rail button{
  min-height:116px;
  padding:18px 18px 20px;
  display:flex;
  flex-direction:column;
  gap:15px;
  color:#737069;
  border:0;
  border-right:1px solid #c4c0b7;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.editorial-rail button:last-child{border-right:0}
.editorial-rail button small{font-size:8px;font-weight:800}
.editorial-rail button span{font-size:10px;font-weight:850;line-height:1.2}
.editorial-rail button:hover,.editorial-rail button.is-active{color:#111;background:#e3e0d7}
.editorial-rail button.is-active small{color:var(--editorial-red)}
.editorial-home__note{
  margin:18px 0 0;
  color:#77746d;
  font-size:7px;
  font-weight:750;
  letter-spacing:.08em;
}
@media(max-width:980px){
  .editorial-home__intro{grid-template-columns:1fr}
  .editorial-home__intro>p{order:2}
  .editorial-tabs button{grid-template-columns:22px 1fr;padding-inline:12px}
  .editorial-tabs button b{display:none}
  .editorial-stage{min-height:790px}
  .editorial-slide>a{grid-template-columns:1fr;grid-template-rows:55% 45%}
  .editorial-slide__copy{justify-content:flex-start}
  .editorial-slide__copy h2{margin:19px 0 13px}
  .editorial-slide__copy>span{margin-top:auto}
  .editorial-stage__controls{bottom:20px}
}
@media(max-width:650px){
  .editorial-home{padding:78px 14px 70px}
  .editorial-home__head{min-height:66px}
  .editorial-home__head>div span{display:none}
  .editorial-home__intro{padding:39px 0 30px}
  .editorial-home__intro h1{font-size:clamp(48px,14.8vw,62px);letter-spacing:-.07em}
  .editorial-tabs{grid-template-columns:1fr}
  .editorial-tabs button{min-height:51px;border-right:0;border-bottom:1px solid #181816}
  .editorial-tabs button:last-child{border-bottom:0}
  .editorial-stage{min-height:670px}
  .editorial-slide>a{grid-template-rows:43% 57%}
  .editorial-slide__copy{padding:25px 20px 72px}
  .editorial-slide__copy h2{font-size:clamp(34px,11vw,48px)}
  .editorial-slide__copy p{font-size:13px}
  .editorial-slide__copy>span{margin-top:22px}
  .editorial-stage__controls{left:20px;right:20px;justify-content:space-between}
  .editorial-progress{grid-template-columns:18px minmax(65px,120px) 18px}
  .editorial-rail{grid-template-columns:1fr}
  .editorial-rail button{min-height:58px;display:grid;grid-template-columns:28px 1fr;align-items:center;border-right:0;border-bottom:1px solid #c4c0b7}
}
@media(prefers-reduced-motion:reduce){
  .editorial-slide,.editorial-slide img,.editorial-progress b{transition:none}
}

/* Comunidad ELREIV en WhatsApp */
.community--whatsapp{
  --wa:#25d366;
  --wa-dark:#071a10;
  position:relative;
  color:#effff4;
  background:
    radial-gradient(circle at 82% 28%,rgba(37,211,102,.16),transparent 32%),
    linear-gradient(145deg,#050b07 0%,#0a1710 56%,#050806 100%);
  border-block:1px solid rgba(123,255,172,.16);
}
.community--whatsapp::before{
  width:52vw;
  height:52vw;
  left:auto;
  right:-24vw;
  top:-20vw;
  background:var(--wa);
  opacity:.09;
  filter:blur(130px);
}
.wa-community__hero{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
  gap:clamp(45px,8vw,130px);
  align-items:center;
  min-height:650px;
}
.wa-community__copy{position:relative}
.wa-community__copy .section-index{color:var(--wa)}
.wa-community__live{
  position:absolute;
  right:0;
  top:0;
  color:#9ab4a3;
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
}
.wa-community__live i{
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:50%;
  background:var(--wa);
  box-shadow:0 0 15px var(--wa);
  animation:wa-pulse 1.6s ease-in-out infinite;
}
.wa-community__copy h2{
  margin:50px 0 35px;
  font-size:clamp(60px,8vw,128px);
  line-height:.76;
  letter-spacing:-.075em;
}
.wa-community__copy h2 em{
  color:transparent;
  font-style:normal;
  -webkit-text-stroke:1.5px var(--wa);
}
.wa-community__copy>p:not(.section-index){
  max-width:670px;
  margin:0 0 34px;
  color:#9db0a2;
  font-family:Georgia,serif;
  font-size:clamp(14px,1.35vw,19px);
  line-height:1.7;
}
.wa-community__join{
  width:min(100%,570px);
  display:grid;
  grid-template-columns:52px 1fr auto;
  align-items:center;
  gap:18px;
  padding:17px 19px;
  color:#05170c;
  border:1px solid #73f5a3;
  border-radius:4px;
  background:var(--wa);
  box-shadow:0 15px 48px rgba(37,211,102,.18);
  transition:transform .25s,box-shadow .25s,background .25s;
}
.wa-community__join:hover{
  transform:translateY(-4px);
  background:#5aee90;
  box-shadow:0 22px 65px rgba(37,211,102,.3);
}
.wa-community__join svg{width:44px;height:44px}
.wa-community__join span{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.02em;
}
.wa-community__join small{font-size:7px;letter-spacing:.13em;opacity:.6}
.wa-community__join b{font-size:25px}
.wa-community__note{
  display:block;
  margin-top:14px;
  color:#66806d;
  font-size:7px;
  font-weight:750;
  letter-spacing:.12em;
}
.wa-community__signal{
  position:relative;
  min-height:620px;
  display:grid;
  place-items:center;
}
.wa-community__signal::before{
  content:"WHATSAPP // ELREIV COMMUNITY // ONLINE";
  position:absolute;
  right:-12px;
  top:50%;
  color:rgba(130,255,177,.28);
  font:700 7px/1 monospace;
  letter-spacing:.16em;
  writing-mode:vertical-rl;
}
.wa-community__ring{
  position:absolute;
  width:500px;
  aspect-ratio:1;
  border:1px solid rgba(79,241,139,.2);
  border-radius:50%;
}
.wa-community__ring::before,.wa-community__ring::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--wa);
  box-shadow:0 0 16px var(--wa);
}
.wa-community__ring::before{left:10%;top:19%}
.wa-community__ring::after{right:4%;bottom:34%}
.wa-community__ring--one{animation:wa-spin 22s linear infinite}
.wa-community__ring--two{width:405px;border-style:dashed;animation:wa-spin 18s linear infinite reverse}
.wa-community__ring--three{width:315px;opacity:.55;animation:wa-spin 13s linear infinite}
.wa-community__phone{
  position:relative;
  z-index:2;
  width:min(340px,80vw);
  min-height:520px;
  padding:18px;
  border:1px solid rgba(169,255,201,.3);
  border-radius:31px;
  background:linear-gradient(165deg,rgba(22,47,32,.96),rgba(5,18,10,.98));
  box-shadow:0 40px 100px #000,0 0 70px rgba(37,211,102,.13),inset 0 0 0 7px #07110a;
  transform:rotate(3deg);
}
.wa-community__phone header{
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  gap:10px;
  padding:8px 5px 19px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.wa-community__phone header i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--wa);
}
.wa-community__phone header i::before{content:"ER";color:#06170c;font:900 10px/1 sans-serif}
.wa-community__phone header strong{font-size:10px}
.wa-community__phone header span{color:#779181;font-size:11px}
.wa-message{
  max-width:85%;
  margin-top:25px;
  padding:14px 15px 10px;
  border-radius:14px 14px 14px 3px;
  color:#d8e8dc;
  background:#18291e;
  font-size:11px;
  line-height:1.5;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
}
.wa-message small{
  display:block;
  margin-bottom:6px;
  color:#688372;
  font:700 7px/1 monospace;
}
.wa-message--outgoing{
  margin-left:auto;
  border-radius:14px 14px 3px 14px;
  color:#092313;
  background:#73d99a;
}
.wa-message--outgoing small{color:#326944}
.wa-community__typing{
  width:66px;
  display:flex;
  gap:4px;
  margin-top:25px;
  padding:14px;
  border-radius:14px;
  background:#18291e;
}
.wa-community__typing i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#6f8c78;
  animation:wa-typing 1.2s infinite;
}
.wa-community__typing i:nth-child(2){animation-delay:.15s}
.wa-community__typing i:nth-child(3){animation-delay:.3s}
.wa-community__channels{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(142,255,184,.17);
}
.wa-community__channels article{
  min-height:310px;
  display:flex;
  flex-direction:column;
  padding:clamp(23px,3vw,40px);
  border-right:1px solid rgba(142,255,184,.13);
  border-bottom:1px solid rgba(142,255,184,.13);
  background:rgba(255,255,255,.018);
  transition:background .3s,transform .3s;
}
.wa-community__channels article:nth-child(3n){border-right:0}
.wa-community__channels article:nth-last-child(-n+3){border-bottom:0}
.wa-community__channels article:hover{background:rgba(37,211,102,.075)}
.wa-community__channels article>span{
  color:#6c8c76;
  font-size:7px;
  font-weight:800;
  letter-spacing:.14em;
}
.wa-community__channels article>b{
  margin:auto 0 24px;
  color:var(--wa);
  font-size:clamp(42px,5vw,70px);
  font-weight:400;
  line-height:1;
}
.wa-community__channels h3{
  margin:0 0 14px;
  font-size:clamp(20px,2vw,30px);
  line-height:.95;
  letter-spacing:-.04em;
}
.wa-community__channels p{
  max-width:340px;
  margin:0;
  color:#7f9585;
  font-size:10px;
  line-height:1.6;
}
.wa-community__footer{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:30px;
  padding:30px 0 0;
}
.wa-community__footer div{display:flex;flex-direction:column;gap:8px}
.wa-community__footer small{color:#62806b;font-size:7px;letter-spacing:.14em}
.wa-community__footer strong{font-size:clamp(16px,2vw,28px)}
.wa-community__footer>a{
  display:flex;
  align-items:center;
  gap:30px;
  padding:18px 22px;
  color:#06170c;
  background:var(--wa);
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
}
.wa-community__footer>a span{font-size:18px}
@keyframes wa-spin{to{transform:rotate(360deg)}}
@keyframes wa-pulse{50%{opacity:.3;transform:scale(.75)}}
@keyframes wa-typing{50%{opacity:.25;transform:translateY(-3px)}}
@media(max-width:980px){
  .wa-community__hero{grid-template-columns:1fr}
  .wa-community__signal{min-height:560px}
  .wa-community__channels{grid-template-columns:repeat(2,1fr)}
  .wa-community__channels article:nth-child(3n){border-right:1px solid rgba(142,255,184,.13)}
  .wa-community__channels article:nth-child(2n){border-right:0}
  .wa-community__channels article:nth-last-child(-n+3){border-bottom:1px solid rgba(142,255,184,.13)}
  .wa-community__channels article:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:620px){
  .community--whatsapp{padding-inline:18px}
  .wa-community__hero{min-height:0}
  .wa-community__live{position:static;display:block;margin-top:22px}
  .wa-community__copy h2{margin-top:35px;font-size:clamp(54px,18vw,84px)}
  .wa-community__join{grid-template-columns:38px 1fr auto;gap:12px;padding:14px}
  .wa-community__join svg{width:36px;height:36px}
  .wa-community__join span{font-size:12px}
  .wa-community__signal{min-height:520px}
  .wa-community__ring--one{width:390px}
  .wa-community__ring--two{width:320px}
  .wa-community__ring--three{width:250px}
  .wa-community__phone{min-height:460px}
  .wa-community__channels{grid-template-columns:1fr}
  .wa-community__channels article{min-height:250px;border-right:0!important;border-bottom:1px solid rgba(142,255,184,.13)!important}
  .wa-community__channels article:last-child{border-bottom:0!important}
  .wa-community__footer{grid-template-columns:1fr}
  .wa-community__footer>a{justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){
  .wa-community__ring,.wa-community__live i,.wa-community__typing i{animation:none}
}

/* Wordmark editorial rosa */
.site-header .brand > span,
.editorial-home__mark{
  color:var(--pink)!important;
}

/* Inicio como portada de marca */
.home-gateway{
  min-height:100svh;
  grid-template-columns:1.05fr .95fr;
  align-items:stretch;
  color:#12030b;
  background:#f1efe7;
  overflow:hidden;
}
.home-gateway__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(135px,15vw,210px) clamp(30px,6vw,95px) 90px;
}
.home-gateway__copy>p{
  margin:0 0 35px;
  color:var(--pink);
  font-size:8px;
  font-weight:850;
  letter-spacing:.16em;
}
.home-gateway__copy h2{
  margin:0;
  font-size:clamp(68px,9vw,145px);
  line-height:.73;
  letter-spacing:-.085em;
}
.home-gateway__copy h2 em{
  color:transparent;
  font-style:normal;
  -webkit-text-stroke:1.5px var(--pink);
}
.home-gateway__copy>span{
  max-width:580px;
  margin:42px 0;
  color:#68615f;
  font-family:Georgia,serif;
  font-size:clamp(15px,1.35vw,20px);
  line-height:1.65;
}
.home-gateway__copy>div{display:flex;flex-wrap:wrap;gap:10px}
.home-gateway__copy>div a{
  padding:17px 20px;
  color:white;
  background:#111;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
}
.home-gateway__copy>div a:first-child{color:#1b0610;background:var(--pink)}
.home-gateway__visual{
  position:relative;
  display:grid;
  place-items:center;
  min-height:680px;
  color:white;
  background:
    radial-gradient(circle at center,rgba(255,142,200,.72),transparent 7%),
    repeating-radial-gradient(circle at center,transparent 0 54px,rgba(255,255,255,.16) 55px 57px),
    linear-gradient(135deg,#ff168a,#bc005c 54%,#37021e);
  isolation:isolate;
}
.home-gateway__visual::before{
  content:"";
  position:absolute;
  width:42%;
  height:68%;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50% 50% 46% 46%;
  box-shadow:0 0 0 22px rgba(255,255,255,.04),0 0 75px rgba(255,194,224,.33);
}
.home-gateway__visual::after{
  content:"";
  position:absolute;
  width:62%;
  aspect-ratio:1;
  border:1px dashed rgba(255,255,255,.34);
  border-radius:50%;
  animation:gateway-spin 24s linear infinite;
}
.home-gateway__visual b{
  z-index:2;
  font-size:clamp(38px,5.7vw,92px);
  line-height:.85;
  letter-spacing:-.075em;
  text-align:center;
  transform:rotate(-90deg);
}
.home-gateway__visual i{
  position:absolute;
  z-index:3;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 18px #fff;
}
.home-gateway__visual i:nth-of-type(1){left:15%;top:24%}
.home-gateway__visual i:nth-of-type(2){right:14%;top:53%}
.home-gateway__visual i:nth-of-type(3){left:28%;bottom:13%}
.home-gateway__visual span{
  position:absolute;
  right:24px;
  bottom:25px;
  font:750 7px/1 monospace;
  letter-spacing:.15em;
}
@keyframes gateway-spin{to{transform:rotate(360deg)}}

/* Eventos producidos por ELREIV */
body.route-view .site-content>main>.events--own.route-active{display:block}
.own-events__head{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  align-items:end;
  gap:7vw;
  margin-bottom:55px;
}
.own-events__head h2{
  margin:0;
  font-size:clamp(60px,8.5vw,130px);
  line-height:.76;
  letter-spacing:-.075em;
}
.own-events__head h2 span{color:var(--pink)}
.own-events__head>p{
  max-width:470px;
  margin:0;
  font-family:Georgia,serif;
  font-size:16px;
  line-height:1.7;
  opacity:.62;
}
.own-events__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.own-event{
  --own-color:#d61762;
  position:relative;
  min-height:480px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(27px,4vw,55px);
  color:white;
  background:
    linear-gradient(0deg,rgba(0,0,0,.86),transparent 67%),
    radial-gradient(circle at 70% 24%,rgba(255,255,255,.32),transparent 12%),
    repeating-radial-gradient(circle at 70% 24%,transparent 0 38px,rgba(255,255,255,.12) 39px 41px),
    linear-gradient(135deg,var(--own-color),#11050c);
  overflow:hidden;
  transition:transform .3s;
}
.own-event::before{
  content:"";
  position:absolute;
  width:38%;
  aspect-ratio:.62;
  right:12%;
  top:8%;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50% 50% 44% 44%;
  transform:rotate(12deg);
}
.own-event:hover{transform:translateY(-5px)}
.own-event--aztlan{--own-color:#08724e}
.own-event--alebrijes{--own-color:#005c3a}
.own-event--xtsyx{--own-color:#315ca8}
.own-event small,.own-event b,.own-event p,.own-event span{position:relative;z-index:1}
.own-event small{margin-bottom:auto;font-size:7px;font-weight:800;letter-spacing:.14em}
.own-event b{font-size:clamp(55px,7vw,105px);line-height:.74;letter-spacing:-.075em}
.own-event p{margin:18px 0 28px;font-size:8px;font-weight:800;letter-spacing:.11em}
.own-event span{align-self:flex-start;padding-bottom:5px;border-bottom:1px solid;font-size:8px;font-weight:800}
.own-events__note{
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:20px;
  padding:20px 0;
  border-block:1px solid rgba(17,17,17,.2);
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
}
.own-events__note i{width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 13px var(--pink)}
.own-events__note a{margin-left:auto;color:var(--pink)}
@media(max-width:850px){
  .home-gateway{grid-template-columns:1fr}
  .home-gateway__visual{min-height:520px}
  .home-gateway__visual b{transform:none}
  .own-events__head{grid-template-columns:1fr}
}
@media(max-width:620px){
  .home-gateway__copy{padding:125px 18px 65px}
  .home-gateway__copy h2{font-size:clamp(60px,20vw,88px)}
  .home-gateway__visual{min-height:440px}
  .own-events__grid{grid-template-columns:1fr}
  .own-event{min-height:390px}
  .own-events__note{align-items:flex-start;flex-wrap:wrap}
  .own-events__note a{width:100%;margin:8px 0 0}
}
@media(prefers-reduced-motion:reduce){.home-gateway__visual::after{animation:none}}

/* =========================================================
   ELREIV / SISTEMA GLOBAL NEO-SWISS MEXICANO
   Retícula estricta, color nacional contemporáneo y cero ornamento gratuito
   ========================================================= */
:root{
  --mx-pink:#f41478;
  --mx-green:#0b6b4a;
  --mx-maize:#f4c84a;
  --mx-clay:#c94f2d;
  --mx-blue:#2457d6;
  --mx-cream:#f2eee2;
  --mx-black:#10100f;
  --mx-rule:rgba(16,16,15,.9);
}
body{background:var(--mx-cream);color:var(--mx-black)}
.site-content{background:var(--mx-cream)}
.section-pad{
  position:relative;
  padding:clamp(105px,10vw,155px) max(4vw,28px);
  border-top:1px solid var(--mx-rule);
}
.section-index{
  color:inherit!important;
  font-size:8px;
  font-weight:850;
  letter-spacing:.15em;
}
h1,h2,h3{font-weight:900!important}

/* Navegación */
.site-header{
  min-height:62px;
  top:16px;
  width:min(1240px,calc(100% - 28px));
  padding:0 12px 0 20px;
  border:1px solid var(--mx-black);
  border-radius:0;
  background:rgba(242,238,226,.94);
  box-shadow:8px 8px 0 rgba(16,16,15,.12);
  backdrop-filter:blur(18px);
}
.site-header.is-scrolled{top:8px;background:rgba(242,238,226,.98);box-shadow:5px 5px 0 rgba(16,16,15,.14)}
.site-header .brand>span{color:var(--mx-pink)!important}
.main-nav{gap:0}
.main-nav a{padding:8px 12px;border-left:1px solid rgba(16,16,15,.16);font-size:10px}
.main-nav a::after{left:11px;right:calc(100% - 11px);bottom:3px;background:var(--mx-pink)}
.header-actions{gap:0}
.header-actions a,.header-actions button{border-radius:0!important}
.header-pro{color:var(--mx-pink);background:transparent;border:1px solid var(--mx-pink)}
.header-join{margin-left:6px;background:var(--mx-pink)}

/* Inicio / newsroom */
.editorial-home{
  --editorial-red:var(--mx-pink);
  --editorial-cream:var(--mx-cream);
  --editorial-ink:var(--mx-black);
  padding-inline:max(4vw,28px);
}
.editorial-home__head{border-color:var(--mx-black)}
.editorial-home__mark{color:var(--mx-pink)!important}
.editorial-home__intro{grid-template-columns:.58fr 1.42fr}
.editorial-home__intro h1{max-width:1050px}
.editorial-home__intro em{-webkit-text-stroke-color:var(--mx-pink)}
.editorial-tabs{border-color:var(--mx-black)}
.editorial-tabs button{border-color:var(--mx-black);border-radius:0}
.editorial-tabs button.is-active{background:var(--mx-pink)}
.editorial-stage{border-bottom:1px solid var(--mx-black)}
.editorial-slide__copy{background:var(--mx-black)}
.editorial-slide__copy>span{border-color:var(--mx-pink)}
.editorial-arrow{border-radius:0}
.editorial-rail button{border-radius:0}
.editorial-rail button.is-active small{color:var(--mx-pink)}

/* Manifiesto */
.manifesto{
  min-height:500px;
  grid-template-columns:16% 62% 22%;
  color:var(--mx-black);
  background:var(--mx-maize);
}
.manifesto::after{
  content:"MX / 19.4326° N";
  position:absolute;
  right:4vw;
  top:35px;
  font:800 8px/1 monospace;
  letter-spacing:.14em;
}
.manifesto h2{font-size:clamp(52px,7vw,112px)}
.manifesto h2 em{color:var(--mx-pink)}

/* Comunidad */
.community--whatsapp{
  --wa:var(--mx-green);
  color:var(--mx-black);
  background:var(--mx-cream);
  border-color:var(--mx-black);
}
.community--whatsapp::before{
  width:44vw;
  height:44vw;
  right:-18vw;
  background:var(--mx-green);
  opacity:.12;
}
.wa-community__copy .section-index{color:var(--mx-green)!important}
.wa-community__live,.wa-community__copy>p:not(.section-index),.wa-community__note{color:#3f5e4d}
.wa-community__copy h2 em{-webkit-text-stroke-color:var(--mx-green)}
.wa-community__join{
  color:white;
  border:2px solid var(--mx-black);
  border-radius:0;
  background:var(--mx-green);
  box-shadow:8px 8px 0 var(--mx-black);
}
.wa-community__join:hover{background:#11865e;box-shadow:4px 4px 0 var(--mx-black)}
.wa-community__signal{background:var(--mx-maize);border:1px solid var(--mx-black)}
.wa-community__signal::before{color:rgba(16,16,15,.45)}
.wa-community__ring{border-color:rgba(16,16,15,.24)}
.wa-community__phone{
  border:2px solid var(--mx-black);
  border-radius:0;
  background:var(--mx-cream);
  box-shadow:13px 13px 0 var(--mx-black);
}
.wa-community__phone header{color:var(--mx-black);border-color:var(--mx-black)}
.wa-community__phone header i{background:var(--mx-green)}
.wa-message{color:white;border-radius:0;background:var(--mx-black)}
.wa-message--outgoing{color:white;background:var(--mx-green)}
.wa-community__typing{border-radius:0;background:var(--mx-black)}
.wa-community__channels{border:2px solid var(--mx-black)}
.wa-community__channels article{
  color:var(--mx-black);
  border-color:var(--mx-black)!important;
  background:transparent;
}
.wa-community__channels article:nth-child(1),
.wa-community__channels article:nth-child(5){background:var(--mx-maize)}
.wa-community__channels article:nth-child(3){color:white;background:var(--mx-clay)}
.wa-community__channels article>b{color:var(--mx-green)}
.wa-community__channels article:nth-child(3)>b{color:white}
.wa-community__channels article>span,.wa-community__channels p{color:inherit;opacity:.62}
.wa-community__footer{border-top:1px solid var(--mx-black);padding-top:25px}
.wa-community__footer small{color:var(--mx-green)}
.wa-community__footer>a{color:white;background:var(--mx-green)}

/* Demos */
.demos{
  color:var(--mx-black);
  background:var(--mx-pink);
}
.demos .section-index,.demos .section-head h2{color:var(--mx-black)!important}
.demos .section-head{padding-bottom:25px;border-bottom:2px solid var(--mx-black)}
.demo-status{
  color:var(--mx-black);
  border:1px solid var(--mx-black);
  border-radius:0;
  background:var(--mx-maize);
}
.demos__body{align-items:stretch}
.demo-art{
  border:2px solid var(--mx-black);
  border-radius:0;
  background:var(--mx-clay);
  box-shadow:10px 10px 0 var(--mx-black);
}
.demo-art img{filter:grayscale(1) contrast(1.12)}
.demo-copy{
  padding:clamp(30px,5vw,70px);
  color:var(--mx-black);
  border:2px solid var(--mx-black);
  background:var(--mx-cream);
}
.demo-copy h3{font-size:clamp(42px,6vw,90px);line-height:.82}
.demo-copy ul{border-block:1px solid var(--mx-black)}
.demo-copy li{border-color:rgba(16,16,15,.25)}
.demo-submit{
  color:white!important;
  border:2px solid var(--mx-black)!important;
  border-radius:0!important;
  background:var(--mx-green)!important;
  box-shadow:5px 5px 0 var(--mx-black);
}

/* Foro / Instagram */
.instagram-forum{
  color:var(--mx-cream)!important;
  background:var(--mx-blue)!important;
}
.instagram-forum::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),var(--mx-cream) 25%);
}
.instagram-forum>*{position:relative;z-index:1}
.instagram-forum__heading{padding-bottom:28px;border-bottom:2px solid var(--mx-cream)}
.instagram-forum__heading h2{font-size:clamp(55px,8vw,120px);line-height:.78}
.instagram-forum__link{
  border:2px solid var(--mx-cream);
  border-radius:0;
  background:transparent;
}
.instagram-forum__link:hover{color:var(--mx-black);background:var(--mx-maize)}
.instagram-forum__embed{
  width:min(100%,620px);
  border:2px solid var(--mx-black);
  border-radius:0;
  box-shadow:12px 12px 0 var(--mx-black);
}

/* Radar de DJs */
.dj-radar{
  color:var(--mx-black);
  background:var(--mx-cream);
}
.dj-radar__head{padding-bottom:30px;border-bottom:2px solid var(--mx-black)}
.dj-radar__head h2 span{color:var(--mx-green);text-shadow:none}
.dj-community-actions,.dj-directory-tools{
  border:1px solid var(--mx-black);
  border-radius:0;
  background:var(--mx-maize);
}
.dj-community-actions button,.dj-directory-tools button,.dj-load-more{
  border-radius:0!important;
}
.dj-community-actions button{color:white;background:var(--mx-green)}
.dj-filters button{border-color:var(--mx-black)!important}
.dj-filters button.is-active{color:white!important;background:var(--mx-black)!important}
.dj-card{
  color:var(--mx-black);
  border:2px solid var(--mx-black);
  border-radius:0;
  background:white;
  box-shadow:none;
}
.dj-card__visual{border-bottom:2px solid var(--mx-black)}
.dj-card__info small{color:var(--mx-pink)}
.dj-card__info p{color:var(--mx-black);opacity:.62}
.dj-card__info button{color:white;border:0;border-radius:0;background:var(--mx-black)}
.dj-load-more{color:white!important;border:2px solid var(--mx-black)!important;background:var(--mx-pink)!important}

/* Memes */
.memes{
  color:var(--mx-cream);
  background:var(--mx-black);
}
.memes-head{padding-bottom:30px;border-bottom:2px solid var(--mx-cream)}
.memes-head h2{color:var(--mx-maize)}
.memes-head>div:last-child a{color:var(--mx-pink)}
.memes-sync{
  border:1px solid var(--mx-cream);
  border-radius:0;
  background:transparent;
}
.memes-sync i{background:var(--mx-maize);box-shadow:none}
.memes-sync button{border-radius:0}
.meme-card{
  color:var(--mx-black);
  border:2px solid var(--mx-cream);
  border-radius:0;
  background:var(--mx-cream);
  box-shadow:none;
}
.meme-media{border-bottom:2px solid var(--mx-black)}
.meme-media>span{color:white;border-radius:0;background:var(--mx-pink)}
.meme-card__body>div:first-child{color:var(--mx-pink)}
.meme-like{color:var(--mx-black)}
.meme-metrics{border-color:var(--mx-black)}
.meme-empty{border:1px solid var(--mx-cream);border-radius:0}

/* Releases */
.label{
  color:var(--mx-black);
  background:var(--mx-maize);
}
.label .section-head{padding-bottom:28px;border-bottom:2px solid var(--mx-black)}
.label .acid{color:var(--mx-pink)}
.release-archive-head{border-color:var(--mx-black)}
.release-entry{
  border:2px solid var(--mx-black);
  border-radius:0;
  background:var(--mx-cream);
  box-shadow:none;
}
.release-entry__number{background:var(--mx-pink)}
.release-entry:nth-child(2) .release-entry__number{background:var(--mx-green)}
.release-entry:nth-child(3) .release-entry__number{background:var(--mx-clay)}
.release-entry:nth-child(4) .release-entry__number{background:var(--mx-blue)}
.release-entry:nth-child(n+5) .release-entry__number{background:var(--mx-black)}
.release-entry__buy{border-color:var(--mx-black);background:#fff8dc}
.release-entry__buy button,.release-entry__buy a{border-radius:0;background:var(--mx-pink)}

/* Membresías */
.memberships{
  color:var(--mx-cream);
  background:var(--mx-green);
}
.memberships__head{padding-bottom:35px;border-bottom:2px solid var(--mx-cream)}
.memberships__head h2 span{color:var(--mx-maize)}
.pass-grid{gap:0;border:2px solid var(--mx-black)}
.pass-card{
  color:var(--mx-black);
  border:0;
  border-right:2px solid var(--mx-black);
  border-radius:0;
  background:var(--mx-cream);
}
.pass-card:last-child{border-right:0}
.pass-card:hover{transform:none;border-color:var(--mx-black);box-shadow:none}
.pass-card__token{
  border-bottom:2px solid var(--mx-black);
  border-radius:0!important;
}
.pass-card--signal .pass-card__token{background:var(--mx-black)}
.pass-card--frequency .pass-card__token{background:var(--mx-pink)}
.pass-card--ritual .pass-card__token{background:var(--mx-clay)}
.pass-card--sanctuary .pass-card__token{color:var(--mx-black);background:var(--mx-maize)}
.pass-card__body>p,.pass-card__body li,.pass-card__body li b{color:var(--mx-black)}
.pass-card__body li{border-color:rgba(16,16,15,.2)}
.pass-card__body li::before{color:var(--mx-green)}
.pass-card__body button{color:white;border:0;border-radius:0;background:var(--mx-black)}
.pass-popular{color:var(--mx-black);border-radius:0;background:var(--mx-maize)}
.pass-system{border:2px solid var(--mx-cream)}
.pass-system>div{border-color:var(--mx-cream)}
.pass-system span{color:var(--mx-maize)}
.pass-system p,.pass-legal{color:var(--mx-cream);opacity:.65}

/* Eventos propios */
.events--own{
  color:var(--mx-cream);
  background:var(--mx-clay);
}
.own-events__head{padding-bottom:35px;border-bottom:2px solid var(--mx-cream)}
.own-events__head h2 span{color:var(--mx-maize)}
.own-events__head>p{color:var(--mx-cream);opacity:.82}
.own-events__grid{gap:0;border:2px solid var(--mx-black)}
.own-event{
  min-height:500px;
  border-right:2px solid var(--mx-black);
  border-bottom:2px solid var(--mx-black);
}
.own-event:nth-child(2n){border-right:0}
.own-event:nth-last-child(-n+2){border-bottom:0}
.own-event:hover{transform:none;filter:saturate(1.15)}
.own-events__note{border-color:var(--mx-cream)}
.own-events__note a{color:var(--mx-maize)}

/* Fichas de evento */
.event-detail{
  --event-ink:var(--mx-pink);
  color:var(--event-ink);
  background:var(--mx-cream);
}
.event-detail::before{
  opacity:.22;
  background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),currentColor 12.5%);
  mask:none;
  -webkit-mask:none;
}
.event-detail>*{position:relative;z-index:1}
.event-detail__back{border:2px solid currentColor;border-radius:0;background:var(--mx-cream)}
.event-detail__hero{border-bottom:2px solid currentColor}
.event-detail__hero h2{font-size:clamp(82px,18vw,250px)}
.event-detail__body{border-top:0}
.event-detail__genres span{border-radius:0}
.event-detail__body button{border:2px solid var(--mx-black);border-radius:0;box-shadow:5px 5px 0 var(--mx-black)}
.event-detail--aztlan{--event-ink:var(--mx-green)}
.event-detail--alebrijes{--event-ink:var(--mx-green)}
.event-detail--xtsyx{--event-ink:var(--mx-blue)}

/* Sessions */
.sessions{
  min-height:690px;
  color:var(--mx-cream);
  background:var(--mx-blue);
}
.sessions::before{
  width:min(55vw,620px);
  border:2px solid var(--mx-maize);
  border-radius:0;
  box-shadow:22px 22px 0 rgba(16,16,15,.22);
  transform:rotate(45deg);
}
.sessions::after{content:"MX";color:rgba(242,238,226,.07);font-size:min(36vw,520px)}
.sessions__badge{color:var(--mx-black);border-radius:0;background:var(--mx-maize)}
.sessions h2,.sessions h2 span{color:var(--mx-cream)}
.notify-form{border:2px solid var(--mx-black);background:var(--mx-cream)}
.notify-form input{color:var(--mx-black);border:0;background:transparent}
.notify-form button{color:white;border:0;border-radius:0;background:var(--mx-pink)}

/* Footer y modales */
.site-footer{
  color:var(--mx-cream);
  background:var(--mx-black);
  border-top:10px solid var(--mx-pink);
}
.site-footer .brand--footer>span{color:var(--mx-pink)!important}
.footer-column,.footer-legal{border-color:rgba(242,238,226,.3)}
.footer-column strong{color:var(--mx-maize)}
.footer-bottom{border-color:var(--mx-cream)}
.join-dialog,.dj-profile-dialog,.dj-submit-dialog,.event-submit-dialog,.meme-viewer{
  border:2px solid var(--mx-black)!important;
  border-radius:0!important;
  box-shadow:12px 12px 0 var(--mx-pink)!important;
}
.join-dialog{color:var(--mx-black);background:var(--mx-cream)}
.dialog-close,.dj-profile-close,.dj-submit-close,.event-submit-close,.meme-viewer__close{border-radius:0!important}
.join-form input,.notify-form input,
.dj-submit-dialog input,.dj-submit-dialog select,.dj-submit-dialog textarea{
  border-radius:0!important;
}

@media(max-width:1100px){
  .pass-grid{grid-template-columns:repeat(2,1fr)}
  .pass-card:nth-child(2){border-right:0}
  .pass-card:nth-child(-n+2){border-bottom:2px solid var(--mx-black)}
}
@media(max-width:850px){
  .site-header{border-radius:0}
  .main-nav{border:1px solid var(--mx-black);border-radius:0;background:var(--mx-cream)}
  .manifesto{grid-template-columns:1fr}
  .wa-community__signal{border:2px solid var(--mx-black)}
}
@media(max-width:650px){
  .section-pad{padding:95px 18px}
  .site-header{width:calc(100% - 20px);padding-inline:14px;box-shadow:4px 4px 0 rgba(16,16,15,.12)}
  .editorial-home{padding-inline:14px}
  .wa-community__channels{border-width:2px}
  .dj-card,.meme-card,.release-entry{border-width:2px}
  .pass-grid{grid-template-columns:1fr}
  .pass-card{border-right:0;border-bottom:2px solid var(--mx-black)!important}
  .pass-card:last-child{border-bottom:0!important}
  .pass-system{grid-template-columns:1fr}
  .pass-system>div{border-right:0;border-bottom:1px solid var(--mx-cream)}
  .own-events__grid{grid-template-columns:1fr}
  .own-event{min-height:400px;border-right:0!important;border-bottom:2px solid var(--mx-black)!important}
  .own-event:last-child{border-bottom:0!important}
  .event-detail__body{grid-template-columns:1fr}
}
