/* ELREIV / identidad 2026: marfil, verde botella y rosa eléctrico. */
:root {
  --mx-pink: #f50078;
  --mx-green: #005438;
  --mx-maize: #f6e9b8;
  --mx-clay: #d8eadc;
  --mx-blue: #0b674b;
  --mx-cream: #fffdf5;
  --mx-black: #063d2b;
  --mx-rule: rgba(0, 84, 56, .14);
  --paper: #fffdf5;
  --ink: #063d2b;
  --green: #005438;
  --pink: #f50078;
  --acid: #f50078;
  --identity-shadow: 0 22px 70px rgba(0, 67, 43, .11);
  --identity-ease: cubic-bezier(.22, 1, .36, 1);
}
html { scroll-behavior: smooth; }
body, .site-content { background: var(--mx-cream); color: var(--mx-green); }
body { overflow-x: clip; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
button, a { transition: color .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .4s var(--identity-ease), transform .4s var(--identity-ease); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--mx-pink); outline-offset: 4px; }
::selection { color: white; background: var(--mx-pink); }
.section-pad { padding: clamp(78px, 9vw, 140px) clamp(22px, 5vw, 90px); border-top: 0; }
.section-index { color: var(--mx-pink) !important; font-size: 11px; letter-spacing: .18em; }
.section-head, .memberships__head, .own-events__head, .memes-head { border-color: var(--mx-rule) !important; }

/* A soft, floating navigation that keeps the full site easy to explore. */
.site-header, .site-header.is-scrolled {
  top: 14px; width: min(1460px, calc(100% - 36px)); min-height: 72px;
  grid-template-columns: minmax(205px, auto) 1fr auto; gap: 18px;
  padding: 9px 13px 9px 22px; border: 1px solid rgba(0, 84, 56, .15);
  border-radius: 999px; background: rgba(255, 253, 245, .9);
  box-shadow: 0 12px 40px rgba(0, 55, 37, .09); backdrop-filter: blur(22px);
}
.site-header.is-scrolled { top: 8px; box-shadow: 0 15px 48px rgba(0, 55, 37, .16); }
.site-header .brand { align-items: center; gap: 8px; color: var(--mx-green); font-size: 23px; letter-spacing: -.07em; white-space: nowrap; }
.site-header .brand > span { color: var(--mx-green) !important; }
.brand__dot { color: var(--mx-pink); }
.brand__symbol { width: 42px; height: 42px; object-fit: cover; object-position: center; border-radius: 50%; mix-blend-mode: multiply; }
.brand__symbol[hidden] { display: none; }
.main-nav { gap: 3px; flex-wrap: wrap; }
.main-nav a { border: 0; border-radius: 999px; padding: 9px 11px; font-size: 10px; letter-spacing: .035em; }
.main-nav a:hover { color: var(--mx-green); background: rgba(0, 84, 56, .08); }
.main-nav a::after { display: none; }
.header-actions { gap: 7px; }
.header-actions a, .header-actions button { border-radius: 999px !important; padding: 12px 17px; font-size: 9px; letter-spacing: .06em; }
.header-pro { color: var(--mx-green); border: 1px solid rgba(0, 84, 56, .24); }
.header-pro:hover { background: var(--mx-green); color: white; }
.header-join { margin: 0; color: white; background: var(--mx-pink); }
.header-join:hover { background: var(--mx-green); transform: translateY(-2px); }

/* Landing: the original mark is the hero, surrounded by subtle Y2K orbits. */
.editorial-home { padding: 112px clamp(22px, 5vw, 90px) 90px; color: var(--mx-green); background: var(--mx-cream); }
.editorial-home__head { border-color: var(--mx-rule); }
.editorial-home__mark { color: var(--mx-green) !important; letter-spacing: -.06em; }
.editorial-home__head > div { color: var(--mx-green); }
.identity-hero {
  position: relative; display: grid; grid-template-columns: .92fr 1.08fr; min-height: min(710px, 72vw);
  margin: 34px 0 72px; border: 1px solid rgba(0, 84, 56, .1); border-radius: clamp(32px, 5vw, 72px);
  overflow: hidden; background: radial-gradient(circle at 78% 45%, #fff 0, #fffdf5 34%, #f4f8ed 100%);
  box-shadow: var(--identity-shadow);
}
.identity-hero::before { content: ""; position: absolute; width: 500px; height: 500px; border: 1px solid rgba(0, 84, 56, .1); border-radius: 50%; left: -210px; bottom: -320px; }
.identity-hero__copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(30px, 5.5vw, 95px); }
.identity-hero__eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px; border: 1px solid rgba(0, 84, 56, .23); border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.identity-hero__eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: var(--mx-pink); box-shadow: 0 0 0 4px rgba(245, 0, 120, .12); }
.identity-hero__copy > h1 { margin: 36px 0 25px; font-family: var(--font-display); font-size: clamp(48px, 6vw, 100px); font-weight: 700; line-height: .98; letter-spacing: -.065em; }
.identity-hero__copy em { font-style: normal; color: var(--mx-pink); }
.identity-hero__foot { max-width: 340px; font-size: 10px; font-weight: 700; line-height: 1.8; letter-spacing: .1em; opacity: .65; }
.identity-hero__action { display: inline-flex; align-items: center; gap: 27px; margin-top: 36px; padding: 13px 15px 13px 23px; color: white; background: var(--mx-green); border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.identity-hero__action b { display: grid; place-items: center; width: 33px; height: 33px; color: var(--mx-green); background: white; border-radius: 50%; font-size: 17px; }
.identity-hero__action:hover { background: var(--mx-pink); transform: translateY(-4px); box-shadow: 0 15px 25px rgba(245, 0, 120, .2); }
.identity-hero__art { position: relative; display: grid; place-items: center; padding: 5%; min-width: 0; isolation: isolate; }
.identity-hero__art::before { content: ""; position: absolute; width: 76%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255, 218, 234, .75), transparent 68%); filter: blur(10px); }
.identity-hero__orbit { position: absolute; width: 82%; aspect-ratio: 1; border: 1px solid rgba(0, 84, 56, .24); border-radius: 50%; transform: rotate(-24deg) scaleY(.55); animation: identity-orbit 15s ease-in-out infinite alternate; }
.identity-hero__orbit--two { width: 96%; border-color: rgba(245, 0, 120, .21); transform: rotate(34deg) scaleY(.45); animation-delay: -5s; }
.identity-hero__spark { position: absolute; top: 13%; right: 13%; color: var(--mx-pink); font-size: clamp(44px, 6vw, 90px); animation: identity-spark 6s ease-in-out infinite; }
.identity-hero__logo { position: relative; z-index: 2; width: min(100%, 680px); max-height: 690px; object-fit: contain; mix-blend-mode: multiply; filter: drop-shadow(0 30px 35px rgba(0, 84, 56, .1)); animation: identity-float 8s ease-in-out infinite; }
.identity-hero__logo[hidden] { display: none; }
.identity-hero__logo:not([hidden]) + .identity-hero__fallback { display: none; }
.identity-hero__fallback { position: relative; z-index: 2; display: grid; justify-items: center; text-align: center; transform: rotate(-5deg); }
.identity-hero__fallback > span { color: var(--mx-pink); font-size: clamp(140px, 22vw, 350px); line-height: .7; }
.identity-hero__fallback strong { font-size: clamp(48px, 7vw, 120px); line-height: 1; font-weight: 1000; letter-spacing: -.09em; }
.identity-hero__fallback strong span { color: var(--mx-pink); font-size: .42em; letter-spacing: -.07em; }
.identity-hero__fallback small { margin-top: 16px; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.editorial-home__intro { grid-template-columns: .6fr 1.4fr; align-items: end; padding-top: 24px; }
.editorial-home__intro h2 { color: var(--mx-green); font-size: clamp(68px, 9vw, 148px); }
.editorial-home__intro em { color: var(--mx-pink); -webkit-text-stroke: 0; }
.editorial-tabs { gap: 10px; border: 0; }
.editorial-tabs { grid-template-columns: repeat(3, 1fr); }
.editorial-tabs button { border: 1px solid var(--mx-rule); border-radius: 999px; }
.editorial-tabs button.is-active { color: white; border-color: var(--mx-green); background: var(--mx-green); }
.editorial-stage { border: 0; border-radius: 34px; overflow: hidden; box-shadow: var(--identity-shadow); }
.editorial-slide__copy { background: var(--mx-green); }
.editorial-slide__copy > span { border-color: rgba(255, 255, 255, .35); }
.editorial-arrow, .editorial-rail button { border-radius: 999px; }
.editorial-rail button { border: 1px solid var(--mx-rule); }
.editorial-rail button.is-active { border-color: var(--mx-pink); }

/* One family of materials across every part of the site. */
.manifesto { color: var(--mx-green); background: #f7f4e9; grid-template-columns: 17% 60% 23%; }
.manifesto::after { color: var(--mx-pink); }
.manifesto h2 em { color: var(--mx-pink); }
.community--whatsapp { color: var(--mx-green); background: #f4f8f1; }
.community--whatsapp::before { background: var(--mx-pink); opacity: .08; }
.wa-community__copy h2, .wa-community__copy h2 em { color: var(--mx-green); }
.wa-community__copy h2 em { -webkit-text-stroke-color: var(--mx-pink); }
.wa-community__join, .wa-community__footer > a { color: white; background: var(--mx-green); border-radius: 999px; box-shadow: 0 14px 30px rgba(0, 84, 56, .14); }
.wa-community__join:hover, .wa-community__footer > a:hover { background: var(--mx-pink); transform: translateY(-3px); box-shadow: 0 18px 30px rgba(245, 0, 120, .18); }
.wa-community__signal { border: 1px solid var(--mx-rule); border-radius: 50%; background: #fffdf5; }
.wa-community__phone { border-radius: 28px; box-shadow: var(--identity-shadow); }
.wa-community__channels { border: 0; border-radius: 30px; overflow: hidden; background: white; box-shadow: var(--identity-shadow); }
.wa-community__channels article { background: white !important; color: var(--mx-green) !important; border-color: var(--mx-rule); }
.wa-community__channels article:hover { background: #f5f9f2 !important; transform: translateY(-2px); }
.wa-community__channels article > b { color: var(--mx-pink); }
.demos { color: var(--mx-green); background: #f5f8ee; }
body.route-view .demos.route-active { color: var(--mx-green); background: #f5f8ee; }
.demos .section-head, .instagram-forum__heading { border-color: var(--mx-rule); }
.demos .section-index, .demos .section-head h2 { color: var(--mx-green) !important; }
.demo-status { border: 0; border-radius: 999px; color: var(--mx-green); background: #e0f1d8; }
.demo-art { border: 0; border-radius: 38px; overflow: hidden; background: var(--mx-green); box-shadow: var(--identity-shadow); transform: rotate(-2deg); }
.demo-art img { filter: none; }
.demo-copy { color: var(--mx-green); border: 1px solid var(--mx-rule); border-radius: 38px; background: white; box-shadow: var(--identity-shadow); }
.demo-copy h3, .demo-copy > p, .demo-copy li, .demo-copy > small { color: var(--mx-green); }
.demo-copy li { border-color: var(--mx-rule); }
.demo-submit { border: 0 !important; border-radius: 999px !important; background: var(--mx-pink) !important; box-shadow: none; }
.demo-submit:hover { background: var(--mx-green) !important; transform: translateY(-3px); }
.instagram-forum { color: var(--mx-green) !important; background: #fffdf5 !important; }
body.route-view .forum-preview.instagram-forum.route-active { color: var(--mx-green) !important; background: #fffdf5 !important; }
body.route-view .forum-preview.instagram-forum.route-active::before { opacity: 0; background-image: none; }
body.route-view .forum-preview.instagram-forum.route-active::after { background: radial-gradient(circle at 90% 10%, rgba(245, 0, 120, .08), transparent 36%); }
body.route-view .forum-preview.instagram-forum.route-active .section-index { color: var(--mx-pink) !important; }
.instagram-forum::before { opacity: .08; background: radial-gradient(circle at 80% 10%, var(--mx-pink), transparent 43%); }
.instagram-forum__heading, .instagram-forum__heading h2, .instagram-forum__heading p { color: var(--mx-green); }
.instagram-forum__link { border: 1px solid var(--mx-green); border-radius: 999px; color: var(--mx-green); }
.instagram-forum__link:hover { color: white; background: var(--mx-green); }
.instagram-forum__embed { border: 0; border-radius: 32px; overflow: hidden; box-shadow: var(--identity-shadow); }
.memes { color: var(--mx-green); background: #f6f0ec; }
.memes-head { border-color: var(--mx-rule); }
.memes-head h2 { color: var(--mx-green); }
.memes-sync { border: 1px solid var(--mx-rule); border-radius: 999px; background: white; }
.memes-sync i { background: var(--mx-pink); }
.memes-sync button { border-radius: 999px; }
.meme-card { color: var(--mx-green); border: 0; border-radius: 30px; overflow: hidden; background: white; box-shadow: var(--identity-shadow); }
.meme-card:hover { transform: translateY(-7px) rotate(-.5deg); }
.meme-media { border: 0; }
.meme-media > span { border-radius: 999px; background: var(--mx-pink); }
.meme-empty { border: 1px dashed rgba(0, 84, 56, .25); border-radius: 28px; }
.label { color: var(--mx-green); background: #f3f7ec; }
.label .section-head { border-color: var(--mx-rule); }
.release-entry { border: 1px solid var(--mx-rule); border-radius: 28px; overflow: hidden; background: white; box-shadow: 0 10px 32px rgba(0, 67, 43, .06); }
.release-entry:hover { transform: translateY(-4px); box-shadow: var(--identity-shadow); }
.release-entry__number, .release-entry:nth-child(n) .release-entry__number { background: var(--mx-green); }
.release-entry:nth-child(2n) .release-entry__number { background: var(--mx-pink); }
.release-entry__buy { border-color: var(--mx-rule); background: #fffdf5; }
.release-entry__buy a, .release-entry__buy button { border-radius: 999px; background: var(--mx-pink); }
body.route-view .label.route-active { color: var(--mx-green); background: #f3f7ec; background-image: none; }
body.route-view .label.route-active::before { inset: auto -130px -170px auto; width: 440px; height: 440px; border: 1px solid rgba(0, 84, 56, .12); border-radius: 50%; opacity: 1; background: none; mask: none; -webkit-mask: none; }
body.route-view .label.route-active::after { content: "✦"; right: 4%; bottom: 2%; color: var(--mx-pink); opacity: .08; }
.memberships { color: white; background: var(--mx-green); }
body.route-view .memberships.route-active { color: white; background: radial-gradient(circle at 88% 10%, rgba(255, 255, 255, .11), transparent 30%), var(--mx-green); }
.memberships__head { border-color: rgba(255, 255, 255, .3) !important; }
.memberships__head h2 span { color: #fca5cf; }
.pass-grid { gap: 14px; border: 0; }
.pass-card, .pass-card:nth-child(n) { border: 1px solid rgba(255, 255, 255, .24) !important; border-radius: 28px; overflow: hidden; }
.pass-card:hover { transform: translateY(-7px); }
.pass-card__token { border: 0; border-radius: 28px 28px 0 0 !important; }
.pass-card--signal .pass-card__token { background: #004a33; }
.pass-card--frequency .pass-card__token { background: #dc006e; }
.pass-card--ritual .pass-card__token { color: var(--mx-green); background: #e3f4e9; }
.pass-card--sanctuary .pass-card__token { color: var(--mx-green); background: #fff1be; }
.pass-select { border-radius: 999px; }
.events--own { color: var(--mx-green); background: #fbf8ee; }
body.route-view .events--own.route-active { color: var(--mx-green); background: #fbf8ee; }
body.route-view .events--own.route-active::before { opacity: 0; background-image: none; }
body.route-view .events--own.route-active::after { background: radial-gradient(circle at 89% 22%, rgba(245, 0, 120, .08), transparent 32%); }
body.route-view .events--own.route-active .section-index { color: var(--mx-pink) !important; }
.own-events__head { border-color: var(--mx-rule) !important; }
.own-events__head h2 span { color: var(--mx-pink); }
.own-events__head > p { color: var(--mx-green); }
.own-events__grid { border: 0; border-radius: 34px; overflow: hidden; gap: 12px; }
.own-event { border: 0 !important; border-radius: 25px; overflow: hidden; }
.own-event:hover { transform: scale(1.015); filter: saturate(1.08); }
.own-events__note { border-color: var(--mx-rule); }
.own-events__note a { color: var(--mx-pink); }
.event-detail { color: var(--mx-green); background: var(--mx-cream); }
.event-detail::before { opacity: .06; }
.event-detail__back, .event-detail__genres span, .event-detail__body button { border-radius: 999px; box-shadow: none; }
.event-detail__art { position:relative; margin:30px 0; overflow:hidden; border:1px solid currentColor; background:#090909; }.event-detail__art img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }.event-detail__art figcaption { position:absolute; left:14px; right:14px; bottom:14px; padding:11px 14px; color:white; background:rgba(0,0,0,.68); backdrop-filter:blur(9px); font-size:8px; font-weight:900; letter-spacing:.1em; }
.sessions { color: white; background: radial-gradient(circle at 73% 35%, #11815d 0, var(--mx-green) 62%); }
.sessions::before { border-color: rgba(255, 255, 255, .45); border-radius: 50%; box-shadow: none; }
.sessions::after { content: "✦"; color: rgba(255, 255, 255, .07); }
.sessions__badge { color: var(--mx-green); border-radius: 999px; background: white; }
.notify-form { border: 0; border-radius: 999px; overflow: hidden; background: white; box-shadow: var(--identity-shadow); }
.notify-form button { border-radius: 999px; background: var(--mx-pink); }
.site-footer { color: white; background: #003e2b; border-top: 0; }
.site-footer .brand--footer > span { color: white !important; }
.site-footer .brand__dot { color: #ff80b9; }
.footer-column strong { color: #ffa9d0; }
.footer-logo { display: block; width: min(210px, 60%); margin: 15px 0 22px; padding: 8px; border-radius: 16px; background: var(--mx-cream); }
.footer-logo[hidden] { display: none; }
.join-dialog, .event-submit-dialog, .meme-viewer { border: 1px solid var(--mx-rule) !important; border-radius: 28px !important; box-shadow: var(--identity-shadow) !important; }

/* Movement keeps its meaning: reveal sections, then leave interaction to the visitor. */
.identity-reveal { opacity: 0; transform: translateY(34px); transition: opacity .8s var(--identity-ease), transform .8s var(--identity-ease); }
.identity-reveal.is-visible { opacity: 1; transform: translateY(0); }
.route-view .route-active { animation: identity-route .55s var(--identity-ease) both; }
@keyframes identity-route { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes identity-orbit { to { transform: rotate(15deg) scaleY(.58); } }
@keyframes identity-spark { 50% { transform: scale(1.13) rotate(12deg); opacity: .65; } }
@keyframes identity-float { 50% { transform: translateY(-12px) rotate(1deg); } }

@media (max-width: 1100px) {
  .site-header, .site-header.is-scrolled { grid-template-columns: auto 1fr auto; }
  .main-nav a { padding-inline: 7px; font-size: 9px; }
  .identity-hero { min-height: 630px; }
}
@media (max-width: 850px) {
  .site-header, .site-header.is-scrolled { top: 8px; width: calc(100% - 18px); min-height: 62px; grid-template-columns: 1fr auto auto; padding-inline: 14px; border-radius: 22px; }
  .site-header .brand { font-size: 20px; }
  .brand__symbol { width: 34px; height: 34px; }
  .main-nav { top: calc(100% + 8px); border: 1px solid var(--mx-rule); border-radius: 24px; background: rgba(255, 253, 245, .98); box-shadow: var(--identity-shadow); }
  .main-nav a { border: 0; border-radius: 12px; font-size: 15px; }
  .identity-hero { grid-template-columns: 1fr; min-height: 0; }
  .identity-hero__copy { padding: 55px 7% 10px; }
  .identity-hero__copy > h1 { font-size: clamp(48px, 9vw, 82px); }
  .identity-hero__art { min-height: 440px; }
  .editorial-home__intro { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .site-header .brand { font-size: 18px; }
  .header-pro { display: none; }
  .header-actions button { padding: 10px 12px; }
  .editorial-home { padding: 90px 15px 68px; }
  .identity-hero { margin: 22px 0 65px; border-radius: 30px; }
  .identity-hero__copy { padding: 42px 26px 10px; }
  .identity-hero__eyebrow { font-size: 8px; }
  .identity-hero__copy > h1 { margin-block: 28px 20px; font-size: clamp(39px, 10vw, 62px); }
  .identity-hero__art { min-height: 310px; }
  .identity-hero__logo { max-height: 350px; }
  .identity-hero__fallback > span { font-size: 140px; }
  .identity-hero__fallback strong { font-size: 58px; }
  .identity-hero__fallback small { font-size: 7px; }
  .editorial-home__intro h2 { font-size: clamp(58px, 14vw, 90px); }
  .editorial-tabs { display: flex; flex-wrap: wrap; }
  .editorial-tabs button { width: 100%; }
  .editorial-stage { border-radius: 24px; }
  .section-pad { padding: 88px 20px; }
  .manifesto { grid-template-columns: 1fr; }
  .wa-community__channels { border-radius: 22px; }
  .demo-art, .demo-copy { border-radius: 24px; }
  .own-events__grid { border-radius: 0; }
  .own-event { border-radius: 22px; }
  .notify-form { border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .identity-reveal { opacity: 1; transform: none; }
}
/* Home completo: recorrido editorial por todas las áreas de ELREIV. */
body:not(.route-view) .site-content > main > section:not([hidden]):not(.hero--legacy):not(.event-detail) { display: block; }
body:not(.route-view) .site-content > main > .manifesto,
body:not(.route-view) .site-content > main > .events,
body:not(.route-view) .site-content > main > .meme-strip { display: grid; }
body:not(.route-view) .site-content > main > section[hidden],
body:not(.route-view) .site-content > main > .event-detail { display: none; }
.site-content > main > section { scroll-margin-top: 100px; }
.brand__symbol { object-fit: contain; }
.mx-panel { color: var(--mx-green); background: #fffdf5; }
.mx-panel--shop { background: #f2f8ec; }
.mx-panel--cv { background: #e7f2e5; }
.mx-panel .section-head { display: flex; justify-content: space-between; gap: 35px; align-items: end; margin-bottom: 35px; }
.mx-panel .section-head h2 { font-size: clamp(54px, 9vw, 120px); line-height: .83; letter-spacing: -.075em; }
.mx-panel .section-head > p { max-width: 420px; font-size: 15px; line-height: 1.6; }
.mx-grid { display: grid; gap: 16px; }
.mx-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mx-card { position: relative; min-height: 310px; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; padding: 30px; border: 1px solid rgba(0,83,53,.14); border-radius: 30px; background: #fff; box-shadow: 0 10px 30px rgba(0,63,38,.06); transition: transform .35s ease, box-shadow .35s ease; }
.mx-card:hover { transform: translateY(-7px); box-shadow: 0 20px 44px rgba(0,63,38,.13); }
.mx-card::before { content: '✦'; position: absolute; right: 24px; top: 12px; color: var(--mx-pink); font-size: 44px; }
.mx-card > span { color: var(--mx-pink); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.mx-card h3 { max-width: 90%; margin: 16px 0 0; font-size: clamp(31px, 3vw, 46px); line-height: .95; letter-spacing: -.055em; }
.mx-card p { max-width: 43ch; margin: 0; line-height: 1.5; }
.mx-card small { margin-top: auto; color: #66796d; font-weight: 700; }
.mx-card a { color: var(--mx-green); font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.mx-card .mx-card__order { margin-top: auto; padding: 13px 16px; border-radius: 99px; color: white; background: var(--mx-green); text-decoration: none; }
.mx-card .mx-card__order:hover { background: var(--mx-pink); }
.mx-card--merch { background: #005c3a; color: white; }
.mx-card--merch .mx-card__order { color: var(--mx-green); background: white; }
.mx-pill { display: inline-flex; align-items: center; padding: 15px 22px; border: 0; border-radius: 99px; color: white; background: var(--mx-green); font-size: 12px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.mx-pill:hover { background: var(--mx-pink); transform: translateY(-2px); }
.mx-panel > .mx-pill { margin-top: 28px; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 25px; }
.contact-form label { display: flex; flex-direction: column; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-form label:has(textarea), .contact-form__full { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; min-height: 48px; padding: 13px 15px; border: 1px solid rgba(0,83,53,.2); border-radius: 15px; color: var(--mx-green); background: white; font: 500 15px/1.4 inherit; letter-spacing: normal; text-transform: none; }
.contact-form textarea { resize: vertical; }
.contact-form button { justify-self: start; border: 0; cursor: pointer; }
.contact-form__status { align-self: center; margin: 0; font-size: 13px; }
.legal-consent { display:flex!important; min-height:auto!important; flex-direction:row!important; align-items:flex-start; gap:10px!important; color:inherit!important; font-size:9px!important; font-weight:650!important; line-height:1.55!important; letter-spacing:0!important; text-transform:none!important; }
.legal-consent input[type="checkbox"] { flex:0 0 auto; width:18px!important; height:18px!important; min-height:0!important; margin:1px 0 0!important; accent-color:var(--mx-pink); }
.legal-consent span { display:block; }
.legal-consent a { color:var(--mx-pink); font-weight:850; text-decoration:underline; text-underline-offset:2px; }
.legal-consent[hidden] { display:none!important; }
.contact-form--wide { max-width: 960px; }
.top100-powered { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--mx-green); font-size: 9px; font-weight: 700; letter-spacing: .14em; line-height: 1; text-transform: uppercase; opacity: .72; transition: color .2s ease, opacity .2s ease; }
.top100-powered img { width: 22px; height: 22px; object-fit: contain; }
.top100-powered strong { font-weight: 900; }
.top100-powered:hover, .top100-powered:focus-visible { color: var(--mx-pink); opacity: 1; }
.ranking-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 25px 0; }
.ranking-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.ranking-card { display: grid; grid-template-columns: 46px 66px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 15px; border: 1px solid rgba(0,83,53,.14); border-radius: 25px; background: white; transition: transform .3s ease, box-shadow .3s ease; }
.ranking-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,63,38,.08); }
.ranking-card__rank { color: var(--mx-pink); font-size: 23px; font-weight: 900; }
.ranking-card__avatar { position: relative; display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border-radius: 50%; color: white; background: radial-gradient(circle at 72% 20%,#f50078,transparent 45%),#005c3a; font-size: 18px; font-weight: 900; }
.ranking-card__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #101512; }
.ranking-card__copy h3 { margin: 0; font-size: 19px; line-height: 1.1; }
.ranking-card__copy p { margin: 5px 0 0; color: #67786e; font-size: 11px; }
.ranking-card__share { margin-top: 9px; padding: 0; border: 0; color: var(--mx-green); background: transparent; font: inherit; font-size: 10px; font-weight: 800; line-height: 1.2; letter-spacing: .08em; cursor: pointer; }
.ranking-card__share:hover, .ranking-card__share:focus-visible { color: var(--mx-pink); text-decoration: underline; text-underline-offset: 3px; }
.ranking-card__votes { display: flex; align-items: center; gap: 5px; }
.ranking-card__votes button { width: 36px; height: 36px; border: 1px solid rgba(0,83,53,.18); border-radius: 50%; color: var(--mx-green); background: #f4f8ef; font-size: 20px; cursor: pointer; }
.ranking-card__votes button[aria-pressed=true], .ranking-card__votes button:hover { color: white; background: var(--mx-pink); }
.ranking-card__votes strong { min-width: 28px; text-align: center; }
.ranking-open { margin-top: 24px; padding: 20px 25px; border-radius: 22px; background: #e8f3e8; }
.ranking-open summary { cursor: pointer; font-weight: 800; }
.ranking-open a { color: var(--mx-green); font-weight: 800; }
.ranking-open .ranking-open__apply{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:12px 17px;border-radius:999px;color:white;background:var(--mx-green);font-size:9px;font-weight:900;letter-spacing:.06em;text-decoration:none}
.ranking-open .ranking-open__apply:hover{background:var(--mx-pink)}
.ranking-open ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 20px 0; padding: 0; list-style: none; }
.ranking-open li { padding: 10px; border: 1px solid rgba(0,83,53,.12); border-radius: 11px; font-size: 11px; font-weight: 700; }
.auth-tabs { display: flex; gap: 8px; margin: 20px 0; }
.auth-tabs button { border: 1px solid rgba(0,83,53,.2); border-radius: 99px; padding: 10px 14px; color: var(--mx-green); background: transparent; cursor: pointer; }
.auth-tabs button.is-active { color: white; background: var(--mx-green); }
.join-form [hidden] { display: none; }
.join-form[hidden], .auth-tabs[hidden] { display: none !important; }
.join-form .form-message { display: grid; gap: 5px; margin: 0; padding: 13px 15px; border: 1px solid rgba(202,0,74,.28); border-radius: 14px; color: #7f002d; background: rgba(255,0,102,.07); font-size: 11px; line-height: 1.45; }
.join-form .form-message[hidden] { display: none; }
.join-form .form-message strong { font-size: 10px; font-weight: 900; letter-spacing: .09em; }
.join-form .form-message span { color: var(--mx-black); }
.join-form .form-message.is-progress { border-color: rgba(0,83,53,.25); color: var(--mx-green); background: rgba(0,83,53,.07); }
.join-form .auth-forgot-password { justify-self: start; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: var(--mx-green); background: transparent; font-size: 9px; font-weight: 850; letter-spacing: .08em; cursor: pointer; }
.auth-logout { margin-top: 15px; border: 0; background: transparent; color: var(--mx-green); text-decoration: underline; cursor: pointer; }

/* Acceso: una experiencia limpia y serena inspirada en la interfaz de Apple. */
.join-dialog {
  width: min(460px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  padding: 52px 42px 40px;
  overflow: auto;
  color: #1d1d1f;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.24), 0 2px 8px rgba(0,0,0,.08) !important;
  text-align: center;
}
.join-dialog::backdrop { background: rgba(0,0,0,.42); backdrop-filter: blur(18px) saturate(.8); }
.join-dialog .dialog-close {
  display: grid; place-items: center; right: 16px; top: 16px;
  width: 32px; height: 32px; padding: 0; border-radius: 50% !important;
  color: #6e6e73; background: #f2f2f7; font: 400 22px/1 var(--font-sans); transition: .2s ease;
}
.join-dialog .dialog-close:hover { color: #1d1d1f; background: #e5e5ea; transform: scale(1.04); }
.join-dialog .dialog-logo { display: block; width: 132px; height: auto; margin: -10px auto 18px; }
.join-dialog > .section-index { margin: 0 0 9px; color: #86868b; font-size: 10px; font-weight: 750; letter-spacing: .14em; }
.join-dialog h2 { max-width: 360px; margin: 0 auto; font-size: clamp(30px,6vw,40px) !important; font-weight: 760; line-height: 1.04 !important; letter-spacing: -.045em !important; }
.join-dialog > p:not(.section-index) { max-width: 340px; margin: 15px auto 0; color: #6e6e73; font-size: 14px; line-height: 1.5; opacity: 1; }
.join-dialog .auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin: 28px 0 22px; padding: 3px; border-radius: 12px; background: #f2f2f7; }
.join-dialog .auth-tabs button { min-height: 38px; padding: 8px 10px; border: 0; border-radius: 9px; color: #6e6e73; background: transparent; font-size: 10px; font-weight: 720; letter-spacing: .02em; }
.join-dialog .auth-tabs button.is-active { color: #1d1d1f; background: white; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.join-dialog .join-form { gap: 14px; margin-top: 0; text-align: left; }
.join-dialog .join-form label:not(.legal-consent) { color: #6e6e73; font-size: 10px; font-weight: 700; letter-spacing: .035em; }
.join-dialog .join-form label > input:not([type="checkbox"]) {
  min-height: 50px; margin-top: 7px; padding: 0 15px; color: #1d1d1f;
  border: 1px solid #d2d2d7; border-radius: 12px; background: #fff;
  font-size: 15px; letter-spacing: 0; transition: border-color .2s, box-shadow .2s;
}
.join-dialog .join-form label > input:not([type="checkbox"]):focus { border-color: #0071e3; box-shadow: 0 0 0 4px rgba(0,113,227,.12); }
.join-dialog .join-form label > input::placeholder { color: #aeaeb2; }
.join-dialog .join-form > .button { min-height: 50px; margin-top: 4px; border-radius: 12px; color: #fff; background: #1d1d1f; font-size: 12px; font-weight: 720; letter-spacing: .025em; }
.join-dialog .join-form > .button:hover { background: #000; transform: translateY(-1px); }
.join-dialog .join-form > .button span { color: #ff2d88; }
.join-dialog .join-form .auth-forgot-password { justify-self: center; margin-top: 3px; border: 0; color: #0066cc; font-size: 11px; font-weight: 600; letter-spacing: 0; }
.join-dialog .join-form .auth-forgot-password:hover { text-decoration: underline; }
.join-dialog .join-form .form-message { border-radius: 12px; text-align: left; }
.join-dialog .legal-consent { color: #6e6e73 !important; text-align: left; }
.join-dialog .auth-logout { color: #0066cc; }
@media (max-width: 520px) {
  .join-dialog { padding: 46px 22px 28px; border-radius: 22px !important; }
  .join-dialog h2 { font-size: 31px !important; }
}
.own-event--alebrijes { background: linear-gradient(145deg,#004b30,#0a7450); color: #fffdf5; }
.own-event--alebrijes b { max-width: 100%; font-size: clamp(39px,5vw,74px); line-height: .86; overflow-wrap: anywhere; }
.event-detail--alebrijes { color: #005c3a; background: #f6f3df; }
.event-detail--alebrijes .event-detail__hero h2 { max-width: 1200px; font-size: clamp(64px,10vw,150px); line-height: .85; overflow-wrap: anywhere; }
.wa-community__signal > strong { position: relative; z-index: 2; display: grid; place-items: center; width: min(64%,350px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: white; background: #005c3a; box-shadow: 0 25px 50px rgba(0,60,38,.2); text-align: center; font-size: clamp(30px,4vw,58px); line-height: .95; letter-spacing: -.06em; transform: rotate(-8deg); }
.release-platforms { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; padding: 0 24px 18px; }
.release-platforms a, .release-network a { display: inline-flex; padding: 10px 14px; border: 1px solid rgba(0,83,53,.2); border-radius: 99px; color: var(--mx-green); background: white; font-size: 11px; font-weight: 800; }
.release-platforms a:hover, .release-network a:hover { color: white; background: var(--mx-pink); }
.release-network { margin: 25px 0; padding: 30px; border: 1px solid rgba(0,83,53,.14); border-radius: 30px; background: #fff; }
.release-network h3 { margin: 0 0 10px; font-size: clamp(28px,4vw,48px); }
.release-network p { max-width: 70ch; line-height: 1.6; }
.release-network a { margin: 5px 8px 0 0; }
.release-network { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; padding:18px; }
.release-network a { min-width:0; min-height:116px; margin:0; padding:18px 10px; flex-direction:column; justify-content:center; gap:12px; border:0; border-radius:16px; background:#f1f4ee; text-align:center; }
.release-network a svg { width:38px; height:38px; color:currentColor; fill:currentColor; }
.release-network a .logo-cut { fill:none; stroke:#f1f4ee; stroke-width:3; stroke-linecap:round; }
.release-network a .logo-fill { fill:#f1f4ee; stroke:none; }
.release-network a span { font-size:9px; letter-spacing:.08em; }
.release-network a:hover .logo-cut { stroke:#fff; }
.release-network a:hover .logo-fill { fill:#fff; }
@media(max-width:850px) { .release-network{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:480px) { .release-network{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.release-network a{min-height:104px} }

/* Catálogo Label: cada release como ficha de escucha independiente. */
.label > .section-head { margin-bottom:clamp(42px,6vw,78px); }
.release-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.release-entry { grid-template-columns:82px minmax(0,1fr); grid-template-rows:1fr auto auto; min-height:390px; border-radius:28px; background:#fff; box-shadow:0 12px 34px rgba(0,63,38,.065); }
.release-entry__number { grid-row:1/-1; padding:24px 17px; }
.release-entry__number > span { font-size:11px; letter-spacing:.08em; }
.release-entry__number time { font-size:12px; line-height:1.25; }
.release-entry__main { display:flex; min-height:235px; flex-direction:column; padding:30px 28px 22px; }
.release-entry__meta { font-size:9px; }
.release-entry__main h3 { margin:36px 0 18px; font-size:clamp(28px,3.2vw,48px); line-height:.95; letter-spacing:-.055em; }
.release-summary { display:block; margin-top:auto; font-size:13px; line-height:1.55; }
.release-genre { margin-top:18px; color:rgba(0,63,38,.48); font-size:8px; letter-spacing:.08em; }
.release-entry__buy { grid-column:2; display:grid; grid-template-columns:1fr auto; gap:4px 16px; align-items:center; padding:20px 28px; border-top:1px solid rgba(0,63,38,.09); border-left:0; background:#f6f7f3; }
.release-entry__buy > span { grid-column:1; }
.release-entry__buy strong { grid-column:1; margin:3px 0 0; font-size:18px; }
.release-entry__buy p { display:none; }
.release-entry__buy a { grid-column:2; grid-row:1/3; padding:12px 15px; border-radius:999px; white-space:nowrap; }
.release-platforms { grid-column:2; gap:8px; padding:0 28px 20px; background:#f6f7f3; }
.release-platforms a { margin:0; padding:9px 13px; font-size:8px; }
@media(max-width:950px) { .release-catalog{grid-template-columns:1fr}.release-entry{min-height:340px} }
@media(max-width:560px) { .release-entry{grid-template-columns:58px minmax(0,1fr);grid-template-rows:1fr auto auto}.release-entry__number{grid-row:1/-1;min-height:0;padding:18px 12px}.release-entry__main{padding:24px 19px 18px}.release-entry__main h3{margin-top:28px;font-size:30px}.release-entry__buy{grid-column:2;grid-template-columns:1fr;padding:17px 19px}.release-entry__buy a{grid-column:1;grid-row:auto;margin-top:9px;text-align:center}.release-platforms{grid-column:2;padding:0 19px 17px}.release-summary{font-size:12px} }
@media(max-width:900px) { .mx-grid--three { grid-template-columns: repeat(2,minmax(0,1fr)); } .ranking-grid { grid-template-columns: 1fr; } }
@media(max-width:640px) { .mx-panel .section-head { display: block; } .mx-grid--three,.contact-form { grid-template-columns: 1fr; } .ranking-card { grid-template-columns: 32px 48px minmax(0,1fr); gap: 8px; } .ranking-card__avatar { width: 48px; height: 48px; } .ranking-card__votes { grid-column: 3; } .contact-form label:has(textarea),.contact-form__full { grid-column: 1; } .ranking-open ol { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Navegación editorial abierta: grupos claros, búsqueda y espacios amplios. */
.site-header, .site-header.is-scrolled { top: 0; width: 100%; max-width: none; min-height: 94px; grid-template-columns: minmax(230px,1fr) auto minmax(190px,1fr); gap: 32px; padding: 9px clamp(24px,4vw,72px); border: 0; border-radius: 0; background: rgba(255,253,247,.97); box-shadow: none; }
.site-header.is-scrolled { top: 0; box-shadow: 0 5px 20px rgba(0,52,33,.05); }
.site-header .brand { justify-self: start; gap: 11px; font-size: 23px; }
.brand__symbol { width: 78px; height: 72px; border: 0; border-radius: 0; object-fit: contain; mix-blend-mode: normal; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(10px,1.5vw,25px); flex-wrap: nowrap; font-size: 13px; }
.main-nav > a, .nav-more > summary { padding: 10px 0; border: 0; border-radius: 0; background: transparent; color: var(--mx-green); font-size: 13px; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.main-nav > a:hover, .main-nav > a.is-current, .nav-more > summary:hover { color: var(--mx-pink); background: transparent; }
.main-nav a + a::before { display: none; }
.nav-more { position: relative; }
.nav-more > summary { display: flex; align-items: center; gap: 4px; list-style: none; cursor: pointer; }
.nav-more > summary::-webkit-details-marker { display: none; }
.nav-more__menu { position: absolute; z-index: 20; top: calc(100% + 8px); right: -18px; min-width: 220px; display: grid; gap: 2px; padding: 12px; border: 0; border-radius: 14px; background: white; box-shadow: 0 18px 40px rgba(0,52,33,.15); }
.nav-more:not([open]) .nav-more__menu { display: none; }
.nav-more__menu a { padding: 12px 14px; border-radius: 8px; color: var(--mx-green); font-size: 13px; }
.nav-more__menu a:hover { background: #f2f8ef; }
.header-actions { justify-self: end; gap: 22px; }
.header-actions .site-search-trigger { padding: 8px 0; border: 0; border-radius: 0 !important; color: var(--mx-green); background: transparent; font-size: 23px; font-weight: 500; cursor: pointer; }
.site-search-trigger span { font-size: 13px; font-weight: 700; vertical-align: middle; }
.header-actions .header-join { padding: 14px 20px; border: 0; border-radius: 7px !important; background: var(--mx-green); font-size: 12px; }
.header-actions .header-join:hover { background: var(--mx-pink); }
.header-actions .header-logout { margin:0; padding:13px 15px; border:1px solid rgba(0,63,38,.24); border-radius:7px!important; color:var(--mx-green); background:transparent; font-size:10px; font-weight:850; letter-spacing:.035em; text-decoration:none; white-space:nowrap; }
.header-actions .header-logout:hover { color:white; background:var(--mx-pink); border-color:var(--mx-pink); }
.header-actions .header-logout[hidden] { display:none; }
.site-search { width: min(640px,calc(100vw - 32px)); padding: 28px; border: 0; border-radius: 16px; color: var(--mx-green); background: #fffdf7; box-shadow: 0 30px 90px rgba(0,30,18,.25); }
.site-search::backdrop { background: rgba(0,35,20,.35); backdrop-filter: blur(5px); }
.site-search form { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.site-search h2 { margin: 0; font-size: 34px; letter-spacing: -.05em; }
.site-search form button { border: 0; background: transparent; color: inherit; font-size: 28px; cursor: pointer; }
.site-search input { width: 100%; padding: 17px 18px; border: 0; border-radius: 8px; background: #f2f6ef; font-size: 18px; }
.site-search__results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 18px; }
.site-search__results a { padding: 13px 15px; border-radius: 8px; background: #f7f8f3; font-size: 14px; font-weight: 700; }
.site-search__results a:hover { color: white; background: var(--mx-green); }
.site-search__results a[hidden] { display: none; }
.section-pad { padding-inline: clamp(28px,7vw,124px); }
.identity-hero { margin-top: 44px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.identity-hero__logo { mix-blend-mode: normal; filter: none; }
.mx-card, .ranking-card, .release-entry, .release-network, .ranking-open { border: 0; border-radius: 12px; box-shadow: none; }
.mx-card { background: white; }
.mx-card:hover, .ranking-card:hover { box-shadow: 0 14px 35px rgba(0,55,35,.08); }
@media(max-width:1160px) { .site-header, .site-header.is-scrolled { grid-template-columns: auto 1fr auto; gap: 15px; } .site-header .brand > span { display:none; } .main-nav { gap: 11px; } .main-nav > a, .nav-more > summary { font-size: 12px; } }
@media(max-width:850px) { .site-header, .site-header.is-scrolled { min-height: 74px; grid-template-columns: 1fr auto auto; padding: 7px 18px; } .brand__symbol { width: 64px; height: 58px; } .site-header .brand > span { display: inline; font-size: 20px; } .main-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; align-items: stretch; flex-direction: column; gap: 1px; padding: 14px 20px 24px; border: 0; border-radius: 0; background: #fffdf7; box-shadow: 0 20px 30px rgba(0,40,24,.08); } .main-nav.is-open { display: flex; } .main-nav > a, .nav-more > summary { padding: 12px 7px; font-size: 16px; } .nav-more__menu { position: static; box-shadow: none; padding: 4px 10px; } .site-search-trigger span { display: none; } .header-actions { gap: 9px; } }
@media(max-width:560px) { .site-header .brand > span { display: none; } .header-actions .header-join { padding: 12px; font-size: 11px; } .site-search__results { grid-template-columns: 1fr; } }

/* Noticias de CDMX: diapositivas y recorrido por fechas. */
body:not(.route-view) .editorial-home__intro,
body:not(.route-view) .editorial-home .editorial-tabs,
body:not(.route-view) .editorial-home .editorial-stage,
body:not(.route-view) .editorial-home .editorial-rail,
body:not(.route-view) .editorial-home__note { display: none; }
.mx-news { color: var(--mx-green); background: #fff; }
.mx-news__head { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 44px; }
.mx-news__head h2 { margin: 10px 0 0; font-size: clamp(52px,8vw,108px); line-height: .9; letter-spacing: -.07em; }
.mx-news__head > p { max-width: 385px; margin: 0; font-size: 16px; line-height: 1.55; }
.mx-news__dates { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 20px; }
.mx-news__dates button { flex: 0 0 auto; padding: 11px 17px; border: 0; border-radius: 5px; color: var(--mx-green); background: #eef4ec; font-size: 13px; font-weight: 800; cursor: pointer; }
.mx-news__dates button.is-active, .mx-news__dates button:hover { color: white; background: var(--mx-green); }
.mx-news__slider { background: #f5f7f1; }
.mx-news__feature { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 490px; opacity: 0; transform: translateY(12px); transition: opacity .4s ease, transform .4s ease; }
.mx-news__feature.is-visible { opacity: 1; transform: none; }
.mx-news__art { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 490px; padding: 32px; overflow: hidden; color: white; background: radial-gradient(circle at 70% 22%,#f50078 0 8%,transparent 8.2%),radial-gradient(circle at 74% 25%,transparent 0 26%,rgba(255,255,255,.15) 26.2% 26.5%,transparent 26.7%),#005438; }
.mx-news__art::after { content: '✦'; position: absolute; top: 35%; left: 24%; font-size: clamp(170px,25vw,360px); line-height: 1; color: rgba(255,255,255,.16); transform: rotate(-14deg); }
.mx-news__art span { position: relative; z-index: 1; font-size: 16px; font-weight: 900; letter-spacing: .1em; }
.mx-news__art strong { position: relative; z-index: 1; align-self: center; font-size: clamp(62px,9vw,130px); line-height: .9; letter-spacing: -.08em; transform: rotate(-9deg); }
.mx-news__art i { position: relative; z-index: 1; align-self: end; font-size: 22px; font-style: normal; font-weight: 900; }
.mx-news__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(30px,5vw,90px); }
.mx-news__copy > p:first-child { color: var(--mx-pink); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.mx-news__copy h3 { max-width: 14ch; margin: 15px 0 22px; font-size: clamp(38px,4.3vw,64px); line-height: 1; letter-spacing: -.06em; }
.mx-news__copy > p:nth-of-type(2) { max-width: 45ch; margin: 0 0 30px; font-size: 16px; line-height: 1.6; }
.mx-news__copy a { padding: 13px 17px; border-radius: 5px; color: white; background: var(--mx-green); font-size: 12px; font-weight: 800; }
.mx-news__copy a:hover { background: var(--mx-pink); }
.mx-news__open { padding:13px 17px; border:0; border-radius:5px; color:white; background:var(--mx-green); font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.mx-news__open:hover { background:var(--mx-pink); }
.mx-news__controls { display: flex; align-items: center; justify-content: end; gap: 20px; padding: 16px 26px; background: #e7eee4; font-size: 13px; font-weight: 800; }
.mx-news__controls button { width: 42px; height: 42px; border: 0; border-radius: 50%; color: var(--mx-green); background: white; font-size: 23px; cursor: pointer; }
.mx-news__controls button:hover { color: white; background: var(--mx-pink); }
.mx-news__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 42px; margin-top: 40px; }
.mx-news__list button { display: grid; grid-template-columns: 72px 1fr auto; align-items: start; gap: 14px; min-height: 92px; padding: 20px 0; border: 0; border-bottom: 1px solid #dce6db; color: var(--mx-green); background: transparent; text-align: left; cursor: pointer; }
.mx-news__list button:hover, .mx-news__list button.is-active { color: var(--mx-pink); }
.mx-news__list time { font-size: 13px; font-weight: 900; }
.mx-news__list strong { font-size: 16px; line-height: 1.25; }
.mx-news__list small { font-size: 10px; font-weight: 800; white-space: nowrap; }
@media(max-width:850px) { .mx-news__head { display:block; } .mx-news__head > p { margin-top: 25px; } .mx-news__feature { grid-template-columns: 1fr; } .mx-news__art { min-height: 280px; } .mx-news__copy { padding: 36px; } .mx-news__list { grid-template-columns: 1fr; } }
@media(max-width:560px) { .mx-news__art { min-height: 230px; } .mx-news__list button { grid-template-columns: 58px 1fr; } .mx-news__list small { grid-column: 2; } }

/* Tipografía uniforme del sistema, con SF Pro cuando está disponible. */
:root { --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", Arial, sans-serif; --font-display: var(--font-sans); }
body, body *, body *::before, body *::after { font-family: var(--font-sans) !important; }
.editorial-home__head { justify-content: flex-end; }
.site-header, .site-header.is-scrolled { grid-template-columns: minmax(105px, 1fr) auto minmax(190px, 1fr); }
@media(max-width:1160px) { .site-header, .site-header.is-scrolled { grid-template-columns: auto 1fr auto; } }
@media(max-width:850px) { .site-header, .site-header.is-scrolled { grid-template-columns: 1fr auto auto; } }

/* El formulario y su arte mantienen columnas independientes. */
.demos__body { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.demo-art { width: 100%; max-width: 320px; min-width: 0; aspect-ratio: 1; transform: none; }
.demo-art:hover { transform: translateY(-4px); }
.demo-art img { max-width: 100%; object-fit: contain; }
.demo-copy { min-width: 0; padding: clamp(24px, 3vw, 48px); }
.demo-copy h3 { font-size: clamp(34px, 4vw, 60px); line-height: 1; }
.contact-form label, .contact-form input, .contact-form textarea { min-width: 0; }
@media(max-width:900px) { .demos__body { grid-template-columns: 1fr; } .demo-art { max-width: 260px; } }
@media(max-width:600px) { .demos__body { gap: 24px; } .demo-art { max-width: 180px; } .demo-copy { padding: 22px; } }

/* Envío de demos: acción principal clara, estable y de ancho completo. */
#demos .demo-submit { grid-column:1/-1; display:flex; width:100%; min-height:62px; align-items:center; justify-content:space-between; gap:20px; padding:17px 24px; color:#fff!important; font-size:13px; font-weight:850; letter-spacing:.08em; text-align:left; transition:transform .2s ease,background .2s ease,opacity .2s ease; }
#demos .demo-submit b { font-size:22px; line-height:1; }
#demos .demo-submit:hover:not(:disabled) { transform:translateY(-2px); }
#demos .demo-submit:focus-visible { outline:3px solid rgba(245,0,120,.3); outline-offset:4px; }
#demos .demo-submit:disabled { cursor:wait; opacity:.68; transform:none; }
#demos .contact-form__status { grid-column:1/-1; min-height:20px; color:var(--mx-green); font-weight:700; line-height:1.45; }
.demo-label-path { margin-top:clamp(80px,10vw,150px); padding-top:clamp(54px,7vw,90px); border-top:1px solid rgba(0,63,38,.28); }
.demo-label-path__intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:clamp(35px,8vw,120px); align-items:end; margin-bottom:42px; }
.demo-label-path__intro h3 { margin:12px 0 0; color:var(--mx-green); font-size:clamp(52px,7vw,100px); line-height:.84; letter-spacing:-.07em; }
.demo-label-path__intro h3 em { color:var(--mx-pink); font-style:normal; }
.demo-label-path__intro > p { max-width:50ch; margin:0; color:rgba(0,63,38,.7); font-size:15px; line-height:1.7; }
.demo-label-path .label-path__options { margin-top:0; }
@media(max-width:850px) { .demo-label-path__intro{grid-template-columns:1fr}.demo-label-path__intro>p{font-size:14px} }

/* La noticia inicial es visible incluso antes de cargar JavaScript. */
.mx-news__feature { opacity: 1; transform: none; }
.mx-news__feature.is-visible { animation: mx-news-enter .35s ease both; }
.mx-news__art strong { max-width: 11ch; font-size: clamp(35px, 4.2vw, 64px); line-height: .98; overflow-wrap: anywhere; text-align: center; transform: none; }
@keyframes mx-news-enter { from { opacity: .65; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media(prefers-reduced-motion:reduce) { .mx-news__feature.is-visible { animation: none; } }

/* Radio en el flujo de la página para mantener libres las secciones. */
.elreiv-radio { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: clamp(18px, 3vw, 48px); padding: 15px clamp(24px, 5vw, 90px); color: var(--mx-green); background: #edf3e9; }
.elreiv-radio__identity { display: flex; align-items: center; gap: 15px; min-width: 0; }
.elreiv-radio__pulse { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: var(--mx-pink); box-shadow: 0 0 0 5px rgba(245, 0, 120, .1); }
.elreiv-radio__identity strong { display: block; font-size: 14px; font-weight: 750; letter-spacing: -.02em; }
.elreiv-radio__identity strong span { color: var(--mx-pink); }
.elreiv-radio__identity small { display: block; max-width: 50ch; margin-top: 3px; overflow: hidden; color: #567363; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.elreiv-radio__controls { display: flex; align-items: center; gap: 8px; }
.elreiv-radio__controls button { min-height: 40px; padding: 0 15px; border: 0; border-radius: 9px; color: white; background: var(--mx-green); font-size: 13px; font-weight: 700; cursor: pointer; }
.elreiv-radio__controls button:hover:not(:disabled) { background: var(--mx-pink); }
.elreiv-radio__controls button:disabled { opacity: .45; cursor: wait; }
.elreiv-radio__controls button span { margin-left: 6px; font-size: 11px; }
.elreiv-radio__source { font-size: 11px; font-weight: 750; letter-spacing: .03em; white-space: nowrap; }
.elreiv-radio__source:hover { color: var(--mx-pink); }
#radio-widget { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
@media(max-width:650px) { .elreiv-radio { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 12px 18px; } .elreiv-radio__identity strong { font-size: 12px; } .elreiv-radio__identity small { max-width: 34vw; font-size: 10px; } .elreiv-radio__controls button { min-height: 36px; padding: 0 10px; } .elreiv-radio__controls button span { display: none; } .elreiv-radio__source { grid-column: 1 / -1; justify-self: start; font-size: 10px; } }

/* Jerarquía editorial con títulos más contenidos y más aire entre elementos. */
.section-pad { padding-block: clamp(68px, 7vw, 112px); }
.mx-panel .section-head h2, .mx-news__head h2, .events--own .own-events__head h2 { font-size: clamp(44px, 6vw, 84px); line-height: 1; letter-spacing: -.055em; }
.demos .section-head h2, .label .section-head h2 { font-size: clamp(48px, 6vw, 86px); line-height: .98; letter-spacing: -.055em; }
.mx-card h3 { font-size: clamp(27px, 2.5vw, 38px); line-height: 1.05; letter-spacing: -.045em; }
.mx-card p, .release-summary, .release-entry__buy p, .event-detail__body p { font-size: 15px; line-height: 1.65; }
.mx-grid { gap: clamp(18px, 2vw, 28px); }
.mx-card { padding: clamp(24px, 2.5vw, 36px); }
.mx-news__head { margin-bottom: 36px; }
.mx-news__copy h3 { font-size: clamp(32px, 3.7vw, 56px); line-height: 1.04; }
@media(max-width:650px) { .mx-panel .section-head h2, .mx-news__head h2, .events--own .own-events__head h2, .demos .section-head h2, .label .section-head h2 { font-size: clamp(42px, 11vw, 62px); } }

.construction-banner { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; width: 100%; padding: clamp(30px, 5vw, 70px) clamp(24px, 5vw, 90px); color: #fff; background: #005438; font-size: clamp(42px, 7vw, 110px); font-weight: 800; letter-spacing: -.07em; line-height: .95; }
.construction-banner strong { color: #fa087d; font-size: clamp(46px, 8vw, 118px); letter-spacing: -.07em; }
@media(max-width:700px) { .construction-banner { flex-direction: column; gap: 8px; font-size: clamp(40px, 10vw, 70px); } .construction-banner strong { font-size: clamp(54px, 13vw, 80px); } }
.mx-card__image { display: block; width: 100%; height: 220px; margin: 0 0 24px; object-fit: contain; background: #f1f4ee; border-radius: 10px; }
.mx-card__price { display: block; margin: 16px 0; font-size: 22px; font-weight: 750; letter-spacing: -.035em; }
.mx-card__price small { display: block; margin-top: 3px; font-size: 11px; font-weight: 500; letter-spacing: 0; }

/* Tienda ELREIV */
.mx-panel--shop { position: relative; background: #f1f5ed; }
.shop-heading { align-items: end; }
.shop-cart-trigger { display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 20px; border: 1px solid #093f2c; border-radius: 999px; color: #093f2c; background: transparent; font: inherit; font-size: 11px; font-weight: 800; letter-spacing: .08em; cursor: pointer; }
.shop-cart-trigger b { display: grid; width: 29px; aspect-ratio: 1; place-items: center; border-radius: 50%; color: white; background: #f41478; }
.shop-toolbar { display: grid; grid-template-columns: minmax(0,2fr) minmax(230px,1fr); gap: 12px; margin: 36px 0 14px; }
.shop-toolbar label { display: grid; gap: 8px; }
.shop-toolbar label > span { color: #66796d; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.shop-toolbar input,.shop-toolbar select { width: 100%; height: 54px; padding: 0 18px; border: 1px solid rgba(0,63,38,.18); border-radius: 8px; color: #111; background: white; font: inherit; font-size: 13px; outline: none; }
.shop-toolbar input:focus,.shop-toolbar select:focus { border-color: #f41478; box-shadow: 0 0 0 3px rgba(244,20,120,.1); }
.shop-categories { display: flex; gap: 7px; overflow-x: auto; padding: 8px 0 18px; scrollbar-width: thin; }
.shop-categories button { flex: 0 0 auto; padding: 9px 14px; border: 1px solid rgba(0,63,38,.17); border-radius: 999px; color: #245141; background: transparent; font: inherit; font-size: 10px; font-weight: 750; cursor: pointer; }
.shop-categories button:hover,.shop-categories button.is-active { color: white; border-color: #063f2c; background: #063f2c; }
.shop-result-line { display: flex; justify-content: space-between; padding: 15px 0; border-top: 1px solid rgba(0,63,38,.14); color: #66796d; font-size: 9px; letter-spacing: .1em; }
.shop-result-line p { margin: 0; }.shop-result-line b { color: #f41478; }
.shop-groups { display:grid; gap:clamp(52px,7vw,88px); }
.shop-group { display:grid; gap:22px; }
.shop-group__header { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:20px 0 14px; border-bottom:2px solid #063f2c; }
.shop-group__header span { color:#f41478; font-size:8px; font-weight:850; letter-spacing:.14em; }
.shop-group__header h3 { margin:5px 0 0; color:#063f2c; font-size:clamp(38px,6vw,72px); line-height:.82; letter-spacing:-.065em; }
.shop-group__header > b { padding-bottom:4px; color:#66796d; font-size:9px; letter-spacing:.1em; }
.shop-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.shop-product { overflow: hidden; border-radius: 12px; background: white; transition: transform .25s ease,box-shadow .25s ease; }
.shop-product:hover { transform: translateY(-5px); box-shadow: 0 16px 35px rgba(0,55,35,.09); }
.shop-product__visual { position: relative; display: grid; height: 280px; place-items: center; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 50% 46%,#fff 0 20%,#f1f4ef 58%,#dfe7df 100%); }
.shop-product__visual::after { content:''; position:absolute; z-index:-1; left:14%; right:14%; bottom:12%; height:12%; border-radius:50%; background:rgba(1,50,31,.14); filter:blur(18px); transform:scaleY(.48); }
.shop-product__visual > em { position: absolute; z-index: 2; left: 14px; top: 14px; padding: 7px 10px; border-radius: 99px; color: white; background: #f41478; font-size: 9px; font-style: normal; font-weight: 850; letter-spacing: .1em; }
.shop-product__status { position:absolute; z-index:2; right:14px; top:14px; padding:7px 10px; border-radius:99px; color:white; background:#063f2c; font-size:8px; font-weight:850; letter-spacing:.1em; }
.shop-product--sold-out .shop-product__status { color:#5f6a64; background:#dfe5df; }
.shop-product--sold-out .shop-product__visual img { opacity:.72; filter:grayscale(.28) drop-shadow(0 18px 18px rgba(3,35,22,.15)); }
.shop-product__visual img { width: 100%; height: 100%; padding:22px; object-fit:contain; filter:drop-shadow(0 18px 18px rgba(3,35,22,.2)); transition:transform .4s ease,filter .4s ease; }
.shop-product:hover .shop-product__visual img { transform: scale(1.035); }
.shop-product__placeholder { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; padding: 24px; color: #073f2c; background: repeating-linear-gradient(135deg,transparent 0 21px,rgba(0,63,38,.04) 22px 23px),radial-gradient(circle at 50% 50%,white,#e8ede5); text-align: center; }
.shop-product__placeholder::before { content: ''; position: absolute; width: 155px; aspect-ratio: 1; border: 1px solid rgba(0,63,38,.18); border-radius: 50%; box-shadow: 0 0 0 18px rgba(255,255,255,.32),0 0 0 19px rgba(0,63,38,.08); }
.shop-product__placeholder i,.shop-product__placeholder b,.shop-product__placeholder span { z-index: 1; }
.shop-product__placeholder i { color: #f41478; font-size: 12px; font-style: normal; font-weight: 900; letter-spacing: .18em; }
.shop-product__placeholder b { max-width: 210px; margin: 11px 0; font-size: 27px; line-height: .92; letter-spacing: -.06em; }
.shop-product__placeholder span { font-size: 7px; font-weight: 800; letter-spacing: .2em; }
.shop-product__body { display: flex; min-height: 285px; flex-direction: column; padding: 22px; }
.shop-product__body > span { color: #f41478; font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.shop-product__body h3 { margin: 12px 0 9px; font-size: clamp(24px,2.4vw,35px); line-height: .95; letter-spacing: -.055em; }
.shop-product__body > p { margin: 0 0 22px; color: #66736b; font-size: 12px; line-height: 1.5; }
.shop-product__whatsapp { align-self:flex-start; margin:-8px 0 18px; padding-bottom:4px; color:#087a4a; border-bottom:1px solid currentColor; font-size:8px; font-weight:850; letter-spacing:.08em; text-decoration:none; }
.shop-product__whatsapp:hover { color:#f41478; }
.shop-product__buy { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 18px; border-top: 1px solid #e4e9e3; }
.shop-product__buy > div { display: grid; }.shop-product__buy del { position:relative; justify-self:start; color:#87918b; font-size:12px; text-decoration-color:#f41478; text-decoration-thickness:2px; }.shop-product__buy strong { color:#063f2c; font-size:25px; letter-spacing:-.05em; }.shop-product__buy small { margin-top:4px; color:#f41478; font-size:7px; font-weight:850; letter-spacing:.1em; }
.shop-product__buy button { flex: 0 0 auto; padding: 10px 12px; border: 0; border-radius: 999px; color: white; background: #063f2c; font: inherit; font-size: 8px; font-weight: 800; cursor: pointer; }
.shop-product__buy button:hover { background: #f41478; }.shop-product__buy button b { margin-left: 5px; font-size: 14px; }
.shop-empty { padding: 70px 20px; color: #66796d; background: white; text-align: center; }
.shop-cart { position: fixed; z-index: 120; inset: 0; visibility: hidden; pointer-events: none; }
.shop-cart.is-open { visibility: visible; pointer-events: auto; }.shop-cart__backdrop { position: absolute; inset: 0; opacity: 0; background: rgba(5,15,10,.55); transition: opacity .3s; }.shop-cart.is-open .shop-cart__backdrop { opacity: 1; }
.shop-cart__panel { position: absolute; right: 0; top: 0; display: flex; width: min(440px,100%); height: 100%; flex-direction: column; padding: 28px; background: #f5f0e8; transform: translateX(100%); transition: transform .35s cubic-bezier(.22,.75,.2,1); }.shop-cart.is-open .shop-cart__panel { transform: none; }
.shop-cart__panel header { display: flex; justify-content: space-between; align-items: start; padding-bottom: 20px; border-bottom: 1px solid rgba(0,63,38,.16); }.shop-cart__panel header small { color: #f41478; font-size: 8px; font-weight: 800; letter-spacing: .15em; }.shop-cart__panel header h3 { margin: 5px 0 0; font-size: 38px; }.shop-cart__panel header button { border: 0; color: #063f2c; background: none; font-size: 34px; cursor: pointer; }
.shop-cart__items { flex: 1; overflow-y: auto; }.shop-cart__items article { display: flex; justify-content: space-between; gap: 15px; padding: 20px 0; border-bottom: 1px solid rgba(0,63,38,.12); }.shop-cart__items small { color: #f41478; font-size: 7px; font-weight: 800; }.shop-cart__items h4 { margin: 5px 0; font-size: 19px; }.shop-cart__items strong { font-size: 12px; }.shop-qty { display: flex; align-items: center; gap: 10px; }.shop-qty button { width: 28px; aspect-ratio: 1; border: 1px solid rgba(0,63,38,.2); border-radius: 50%; background: transparent; cursor: pointer; }.shop-cart__empty { margin: 40px 0; color: #66796d; font-size: 13px; line-height: 1.7; text-align: center; }
.shop-cart__panel footer { padding-top: 20px; border-top: 1px solid rgba(0,63,38,.16); }.shop-cart__panel footer > div { display: flex; align-items: end; justify-content: space-between; margin-bottom: 15px; }.shop-cart__panel footer span { font-size: 8px; font-weight: 800; }.shop-cart__panel footer strong { font-size: 28px; }.shop-cart__panel footer > button { display: block; width: 100%; padding: 15px; border: 0; border-radius: 999px; color: white; background: #063f2c; font-size: 9px; font-weight: 800; text-align: center; cursor: pointer; }.shop-cart__panel footer > button:hover { background: #f41478; }.shop-cart__panel footer > button:disabled { opacity: .4; pointer-events: none; }.shop-cart__panel footer p { color: #66796d; font-size: 8px; text-align: center; }.cart-open { overflow: hidden; }
.checkout-dialog,.ticket-dialog { width: min(720px,calc(100vw - 24px)); max-height: 92vh; padding: clamp(26px,5vw,54px); border: 0; border-radius: 22px; color: #111; background: #f5f0e8; box-shadow: 0 35px 120px rgba(0,0,0,.4); }.checkout-dialog::backdrop,.ticket-dialog::backdrop { background: rgba(5,12,8,.78); backdrop-filter: blur(8px); }.checkout-close,.ticket-close { position: absolute; right: 17px; top: 14px; width: 40px; height: 40px; border: 1px solid rgba(17,17,17,.15); border-radius: 50%; background: white; font-size: 25px; cursor: pointer; }.checkout-dialog h2 { margin: 13px 0 28px; font-size: clamp(43px,7vw,72px); line-height: .82; }.checkout-dialog form { display: grid; gap: 16px; }.checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.checkout-dialog label { display: grid; gap: 7px; font-size: 8px; font-weight: 800; letter-spacing: .08em; }.checkout-dialog input:not([type=radio]),.checkout-dialog select,.checkout-dialog textarea { width: 100%; padding: 13px; border: 1px solid rgba(0,63,38,.17); border-radius: 10px; background: white; font: inherit; font-size: 13px; resize: vertical; }.checkout-dialog fieldset { display: flex; gap: 22px; padding: 16px; border: 1px solid rgba(0,63,38,.15); }.checkout-dialog legend { padding: 0 7px; font-size: 8px; font-weight: 800; }.checkout-dialog fieldset label { display: flex; align-items: center; }.checkout-bank { padding: 15px; border-left: 4px solid #f41478; background: white; }.checkout-bank b { font-size: 9px; }.checkout-bank p { margin: 6px 0 0; font-size: 11px; line-height: 1.5; }.checkout-submit { padding: 15px; border: 0; border-radius: 999px; color: white; background: #063f2c; font-weight: 800; cursor: pointer; }.checkout-submit:disabled { opacity: .45; }.checkout-status { min-height: 14px; margin: 0; color: #f41478; font-size: 9px; font-weight: 700; }
.ticket-dialog { width: min(570px,calc(100vw - 24px)); background: white; }.ticket-brand { padding-bottom: 15px; border-bottom: 5px solid #111; font-size: 30px; font-weight: 900; letter-spacing: -.06em; }.ticket-brand span { color: #f41478; font-size: 10px; letter-spacing: .12em; }.ticket-kicker { margin: 28px 0 6px; font-size: 8px; font-weight: 800; letter-spacing: .15em; }.ticket-dialog h2 { margin: 0 0 24px; font-size: 37px; }.ticket-meta { display: grid; grid-template-columns: 100px 1fr; gap: 7px 12px; padding: 17px 0; border-block: 1px dashed #aaa; font-size: 10px; }.ticket-meta span { color: #777; }.ticket-lines { padding: 16px 0; }.ticket-lines div { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; font-size: 11px; }.ticket-total { display: flex; justify-content: space-between; align-items: end; padding: 16px 0; border-top: 3px solid #111; }.ticket-total span { font-size: 9px; font-weight: 800; }.ticket-total strong { font-size: 30px; }.ticket-notice { font-size: 8px; line-height: 1.6; }.ticket-actions { display: flex; gap: 8px; margin-top: 22px; }.ticket-actions button,.ticket-actions a { flex: 1; padding: 13px; border: 0; border-radius: 999px; color: white; background: #063f2c; font-size: 8px; font-weight: 800; text-align: center; text-decoration: none; cursor: pointer; }.ticket-actions a { background: #f41478; }
.rental-shop { margin-top: clamp(65px,9vw,120px); padding: clamp(25px,5vw,58px); border-radius: 18px; color: white; background: radial-gradient(circle at 85% 10%,rgba(244,20,120,.3),transparent 30%),#082b20; }.rental-shop > header { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: end; }.rental-shop > header h3 { margin: 10px 0 0; font-size: clamp(47px,7vw,90px); line-height: .8; letter-spacing: -.07em; }.rental-shop > header h3 span { color: #f41478; }.rental-shop > header > p { color: rgba(255,255,255,.67); font-size: 13px; line-height: 1.65; }.rental-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 42px 0 20px; }.rental-grid article { display: flex; min-height: 315px; flex-direction: column; padding: 25px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; background: rgba(255,255,255,.06); }.rental-grid article > span { color: #ff72b2; font-size: 8px; font-weight: 800; letter-spacing: .13em; }.rental-grid h4 { margin: 18px 0; font-size: 30px; line-height: .9; }.rental-grid ul { margin: 0 0 25px; padding-left: 17px; color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.8; }.rental-grid button { margin-top: auto; padding: 12px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; background: transparent; font-size: 8px; font-weight: 800; cursor: pointer; }.rental-grid button:hover { border-color: #f41478; background: #f41478; }.rental-form { display: grid; grid-template-columns: 1fr .55fr 1fr 1fr auto; gap: 9px; align-items: end; padding: 18px; border-radius: 12px; color: #111; background: #f5f0e8; }.rental-form label { display: grid; gap: 6px; font-size: 7px; font-weight: 800; }.rental-form input { width: 100%; height: 42px; padding: 0 10px; border: 1px solid rgba(0,63,38,.15); border-radius: 8px; background: white; font-size: 11px; }.rental-form button { height: 42px; padding: 0 16px; border: 0; border-radius: 999px; color: white; background: #f41478; font-size: 8px; font-weight: 800; cursor: pointer; }.rental-note { margin: 14px 0 0; color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.5; }
@media print { body > * { display: none !important; }.ticket-dialog[open] { position: static; display: block !important; width: 100%; max-height: none; padding: 0; box-shadow: none; }.ticket-dialog::backdrop,.ticket-close,.ticket-actions { display: none !important; } }
@media (max-width: 900px) { .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .rental-grid { grid-template-columns: 1fr; }.rental-grid article { min-height: 250px; }.rental-form { grid-template-columns: 1fr 1fr; }.rental-form button { grid-column: 1/-1; } }
@media (max-width: 620px) { .shop-heading { align-items: start; gap: 22px; }.shop-toolbar { grid-template-columns: 1fr; }.shop-grid { grid-template-columns: 1fr; }.shop-product__visual { height: 280px; }.shop-result-line span { display: none; }.shop-cart__panel { padding: 22px 18px; }.checkout-fields { grid-template-columns: 1fr; }.checkout-dialog fieldset,.ticket-actions { flex-direction: column; }.rental-shop > header,.rental-form { grid-template-columns: 1fr; }.rental-form button { grid-column: auto; } }

/* Shop inquiry flow: larger cards, product sheet and direct supplier contact */
.shop-heading__notice { align-self:flex-end; margin:0 0 13px; color:#607268; font-size:8px; font-weight:850; line-height:1.5; letter-spacing:.12em; text-align:right; }
.shop-showcase { margin:clamp(34px,5vw,64px) 0 42px; overflow:hidden; border-radius:32px; color:var(--mx-green); background:#fff; box-shadow:0 22px 64px rgba(0,52,33,.1); }
.shop-showcase > article { display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); min-height:540px; opacity:.35; transform:translateY(8px); transition:opacity .45s ease,transform .45s ease; }
.shop-showcase > article.is-visible { opacity:1; transform:none; }
.shop-showcase__visual { position:relative; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 45%,#fff 0 17%,#edf2eb 58%,#dbe6dc 100%); }
.shop-showcase__visual::after { content:''; position:absolute; left:15%; right:15%; bottom:12%; height:10%; border-radius:50%; background:rgba(0,48,29,.16); filter:blur(23px); transform:scaleY(.38); }
.shop-showcase__visual > span { position:absolute; z-index:3; top:24px; left:24px; padding:9px 13px; border-radius:999px; color:#fff; background:var(--mx-pink); font-size:9px; font-weight:850; letter-spacing:.1em; }
.shop-showcase__visual img { position:relative; z-index:2; width:100%; height:100%; padding:clamp(35px,6vw,80px); object-fit:contain; filter:drop-shadow(0 28px 25px rgba(0,44,27,.23)); }
.shop-showcase__copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(38px,6vw,82px); }
.shop-showcase__copy > p:first-child { color:var(--mx-pink); font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.shop-showcase__copy h3 { max-width:12ch; margin:24px 0 18px; font-size:clamp(46px,6vw,82px); line-height:.88; letter-spacing:-.065em; }
.shop-showcase__copy > strong { font-size:clamp(24px,3vw,38px); letter-spacing:-.04em; }
.shop-showcase__copy > strong small { font-size:10px; letter-spacing:.08em; }
.shop-showcase__copy > p:nth-of-type(2) { max-width:46ch; margin:20px 0; color:rgba(0,63,38,.62); font-size:14px; line-height:1.65; }
.shop-showcase__copy > div { display:flex; flex-wrap:wrap; gap:6px; }
.shop-showcase__copy > div span { padding:7px 10px; border-radius:999px; background:#eef3ec; font-size:8px; font-weight:800; }
.shop-showcase__copy button { margin-top:28px; padding:14px 18px; border:0; border-radius:999px; color:#fff; background:var(--mx-green); font-size:9px; font-weight:850; cursor:pointer; }
.shop-showcase__copy button:hover { background:var(--mx-pink); }
.shop-showcase footer { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px 21px; border-top:1px solid rgba(0,63,38,.1); }
.shop-showcase footer > div { display:flex; align-items:center; gap:14px; }
.shop-showcase footer button { display:grid; width:38px; aspect-ratio:1; place-items:center; border:1px solid rgba(0,63,38,.18); border-radius:50%; color:var(--mx-green); background:#fff; cursor:pointer; }
.shop-showcase footer span,.shop-showcase footer p { margin:0; font-size:9px; font-weight:800; letter-spacing:.08em; }
.shop-showcase footer p { color:rgba(0,63,38,.5); }
.shop-showcase footer > i { position:absolute; left:0; bottom:0; width:0; height:3px; background:var(--mx-pink); }
.shop-showcase footer > i.is-running { animation:shopShowcaseProgress 15s linear both; }
.shop-home-catalog-link { display:flex; align-items:center; justify-content:space-between; margin:-22px 0 0; padding:20px 24px; color:#fff; border-radius:16px; background:var(--mx-pink); font-size:11px; font-weight:900; text-decoration:none; }
.shop-home-catalog-link span { font-size:9px; letter-spacing:.08em; }
body:not(.shop-page) #tienda .shop-toolbar,
body:not(.shop-page) #tienda .shop-categories,
body:not(.shop-page) #tienda .shop-result-line,
body:not(.shop-page) #tienda .shop-groups,
body:not(.shop-page) #tienda .shop-empty,
body:not(.shop-page) #tienda > .store-note,
body:not(.shop-page) #tienda .rental-shop,
body:not(.shop-page) #tienda .shop-affiliate-notice { display:none; }
body.shop-page main > :not(#tienda) { display:none!important; }
body.shop-page .shop-home-catalog-link { display:none; }
@keyframes shopShowcaseProgress { to{width:100%} }
@media(max-width:800px) { .shop-showcase>article{grid-template-columns:1fr;min-height:0}.shop-showcase__visual{height:390px}.shop-showcase__copy{padding:38px 28px}.shop-showcase__copy h3{font-size:clamp(44px,11vw,68px)} }
@media(max-width:560px) { .shop-showcase{border-radius:24px}.shop-showcase__visual{height:300px}.shop-showcase__visual img{padding:32px}.shop-showcase__copy{padding:30px 22px}.shop-showcase footer{align-items:flex-start;flex-direction:column}.shop-showcase footer p{line-height:1.45} }
.shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.shop-product { border-radius:20px; cursor:pointer; outline:none; }
.shop-product:focus-visible { box-shadow:0 0 0 4px #f41478; }
.shop-product__visual { height:390px; }
.shop-product__visual img { padding:30px; }
.shop-product__index{position:absolute;right:22px;bottom:17px;z-index:2;color:rgba(6,63,44,.22);font-size:42px;line-height:1;letter-spacing:-.08em}.shop-product__visual::after{content:'';position:absolute;inset:auto 9% 7% 9%;height:16%;border-radius:50%;background:rgba(6,63,44,.12);filter:blur(22px);transform:scaleY(.35);pointer-events:none}.shop-product__visual img{position:relative;z-index:1;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s}.shop-product:hover .shop-product__visual img{transform:translateY(-7px) scale(1.025);filter:drop-shadow(0 26px 22px rgba(3,35,22,.24))}
.shop-product__body { min-height:330px; padding:28px; }
.shop-product__body h3 { font-size:clamp(30px,3vw,46px); }
.shop-product__body > p { max-width:580px; font-size:13px; }
.shop-product__facts{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 22px}.shop-product__facts strong{flex-basis:100%;margin-bottom:3px;color:#063f2c;font-size:8px;letter-spacing:.12em}.shop-product__facts span,.shop-detail__tags span{padding:7px 9px;border:1px solid rgba(6,63,44,.18);border-radius:999px;color:#4e6257;background:#fff;font-size:7px;font-weight:850;letter-spacing:.07em}
.shop-product__phone { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:0 0 20px; padding:14px 16px; border-radius:12px; color:#063f2c; background:#f1f4ef; }
.shop-product__phone small { font-size:7px; font-weight:850; letter-spacing:.12em; }.shop-product__phone b { font-size:16px; letter-spacing:.02em; }
.shop-product__unavailable { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:0 0 20px; padding:14px 16px; border-radius:12px; color:#626c66; background:#ecefec; }
.shop-product__unavailable small { font-size:7px; font-weight:850; letter-spacing:.12em; }.shop-product__unavailable b { font-size:16px; letter-spacing:.02em; }
.shop-product__buy button { min-width:155px; padding:15px 18px; border-radius:12px; background:#f41478; font-size:9px; }
.shop-product__buy button:hover { background:#063f2c; }
.shop-detail { width:min(1080px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; overflow:auto; border:0; border-radius:28px; color:#073f2c; background:#f5f0e8; box-shadow:0 35px 100px rgba(0,0,0,.34); }
.shop-detail::backdrop { background:rgba(0,24,14,.75); backdrop-filter:blur(7px); }
.shop-detail__close { position:fixed; z-index:4; top:max(26px,calc((100dvh - min(760px,100dvh - 32px))/2 + 16px)); right:max(26px,calc((100vw - min(1080px,100vw - 32px))/2 + 16px)); display:grid; width:48px; aspect-ratio:1; place-items:center; border:0; border-radius:50%; color:white; background:#063f2c; font-size:27px; cursor:pointer; }
#shop-detail-content { display:grid; grid-template-columns:1fr 1fr; min-height:700px; }
.shop-detail__visual { position:sticky; top:0; display:grid; height:min(760px,calc(100dvh - 32px)); place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 45%,#fff 0 18%,#edf1eb 58%,#d7e0d8); }
.shop-detail__visual img { width:100%; height:100%; padding:55px; object-fit:contain; filter:drop-shadow(0 24px 22px rgba(3,35,22,.23)); }
.shop-detail__use{position:absolute;z-index:2;left:28px;top:28px;padding:9px 12px;border-radius:999px;color:white;background:#063f2c;font-size:7px;font-weight:900;letter-spacing:.12em}.shop-detail__tags{display:flex;flex-wrap:wrap;gap:7px;margin:-9px 0 24px}.shop-detail__tags span{background:rgba(255,255,255,.72)}
.shop-detail__visual .shop-product__placeholder { position:absolute; }
.shop-detail__body { align-self:center; padding:clamp(40px,6vw,80px); }
.shop-detail__body > p:first-child { margin:0; color:#f41478; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.shop-detail__body h2 { margin:13px 0 24px; font-size:clamp(48px,6vw,82px); line-height:.82; letter-spacing:-.065em; }
.shop-detail__price { display:flex; flex-direction:column; align-items:flex-start; margin-bottom:26px; }.shop-detail__price del { color:#87918b; font-size:16px; text-decoration-color:#f41478; text-decoration-thickness:3px; }.shop-detail__price strong { color:#063f2c; font-size:40px; letter-spacing:-.05em; }.shop-detail__price span { margin-top:4px; color:#f41478; font-size:8px; font-weight:850; letter-spacing:.12em; }
.shop-detail__description { color:#58685f; font-size:14px; line-height:1.65; }
.shop-detail__body ul { display:grid; gap:10px; margin:26px 0; padding:0; list-style:none; }.shop-detail__body li { padding-left:20px; color:#34473d; font-size:10px; line-height:1.45; }.shop-detail__body li::before { content:'↗'; float:left; margin-left:-20px; color:#f41478; font-weight:900; }
.shop-detail__contact { display:grid; gap:4px; margin:25px 0 14px; padding:18px; border:1px solid rgba(6,63,44,.16); border-radius:14px; background:white; }.shop-detail__contact span { font-size:7px; font-weight:900; letter-spacing:.13em; }.shop-detail__contact b { font-size:25px; }.shop-detail__contact small { color:#f41478; font-size:8px; font-weight:800; }
.shop-detail__body > a { display:flex; align-items:center; justify-content:space-between; width:100%; padding:20px 22px; border-radius:14px; color:white; background:#f41478; font-size:11px; font-weight:900; text-decoration:none; }.shop-detail__body > a:hover { background:#063f2c; }.shop-detail__body > a b { font-size:22px; }
.shop-detail__consent { margin:14px 0; padding:14px; border:1px solid rgba(6,63,44,.16); border-radius:14px; background:rgba(255,255,255,.72); }
.shop-detail__body > a.is-disabled { opacity:.42; cursor:not-allowed; filter:grayscale(.35); }
.shop-detail__legal { display:block; margin-top:14px; color:#728078; font-size:7px; line-height:1.5; }
@media(max-width:760px) { .shop-heading__notice{align-self:flex-start;text-align:left}.shop-grid{grid-template-columns:1fr}.shop-product__visual{height:330px}.shop-product__body{min-height:0}.shop-product__buy{align-items:stretch;flex-direction:column}.shop-product__buy button{width:100%}#shop-detail-content{grid-template-columns:1fr}.shop-detail__visual{position:relative;height:350px}.shop-detail__visual img{padding:35px}.shop-detail__body{padding:34px 24px 40px}.shop-detail__body h2{font-size:50px}.shop-detail__close{position:fixed}.shop-detail__contact b{font-size:22px} }

/* Rental desk — inventory-first quote flow */
.rental-shop { position:relative; margin-top:clamp(80px,11vw,150px); padding:clamp(38px,6vw,84px); overflow:hidden; border-radius:80px 20px 80px 20px; background:radial-gradient(circle at 92% 4%,rgba(244,20,120,.38),transparent 25%),#082b20; }
.rental-shop::before { content:'RENT'; position:absolute; right:-25px; top:175px; color:rgba(255,255,255,.025); font-size:clamp(130px,23vw,330px); font-weight:950; letter-spacing:-.09em; pointer-events:none; }
.rental-shop > header { position:relative; z-index:1; grid-template-columns:1.1fr .9fr; gap:7vw; }
.rental-shop > header h3 { font-size:clamp(64px,9vw,128px); }
.rental-intro > p { max-width:520px; color:rgba(255,255,255,.72); font-size:15px; line-height:1.65; }
.rental-intro > a { display:inline-flex; flex-direction:column; gap:4px; margin-top:20px; padding:15px 20px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:white; text-decoration:none; }.rental-intro > a small { color:#ff72b2; font-size:7px; font-weight:850; letter-spacing:.14em; }.rental-intro > a b { font-size:19px; }
.rental-steps { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:clamp(45px,6vw,80px) 0 22px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.14); }.rental-steps div { display:flex; align-items:center; gap:15px; padding:20px; background:#0b3528; }.rental-steps b { display:grid; width:42px; aspect-ratio:1; place-items:center; border-radius:50%; color:#082b20; background:#f41478; }.rental-steps span { font-size:8px; font-weight:850; letter-spacing:.12em; }
.rental-grid { position:relative; z-index:1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0 0 22px; }
.rental-grid .rental-card { display:grid; grid-template-columns:minmax(190px,.85fr) 1.15fr; min-height:560px; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:22px; background:rgba(255,255,255,.065); }
.rental-card__visual { position:relative; display:grid; min-height:360px; place-items:center; overflow:hidden; background:radial-gradient(circle,#fff 0 10%,#e9eee8 48%,#cad7cd); }.rental-card__visual img { width:100%; height:100%; padding:26px; object-fit:contain; filter:drop-shadow(0 22px 18px rgba(0,30,18,.25)); }.rental-card__visual > span { position:absolute; left:15px; top:15px; padding:8px 10px; border-radius:99px; color:white; background:#f41478; font-size:7px; font-weight:900; letter-spacing:.1em; }
.rental-card__monogram { display:grid; min-height:360px; align-content:center; justify-items:center; color:#082b20; background:repeating-linear-gradient(135deg,transparent 0 24px,rgba(8,43,32,.045) 25px 26px),#f5f0e8; }.rental-card__monogram small { font-size:8px; font-weight:900; letter-spacing:.18em; }.rental-card__monogram b { margin:4px 0; color:#f41478; font-size:clamp(80px,10vw,145px); line-height:.8; letter-spacing:-.09em; }.rental-card__monogram span { display:grid; width:60px; aspect-ratio:1; place-items:center; border-radius:50%; color:white; background:#082b20; font-size:16px; font-weight:900; transform:rotate(8deg); }
.rental-card__content { display:flex; flex-direction:column; padding:clamp(25px,3vw,42px); }.rental-card__content > p:first-child { margin:0; color:#ff72b2; font-size:8px; font-weight:850; letter-spacing:.13em; }.rental-card__content h4 { margin:20px 0 16px; font-size:clamp(38px,4vw,61px); line-height:.82; letter-spacing:-.06em; }.rental-card__copy { margin:0; color:rgba(255,255,255,.67); font-size:11px; line-height:1.6; }.rental-card__content ul { display:grid; gap:9px; margin:20px 0; padding:0; list-style:none; color:rgba(255,255,255,.68); font-size:9px; }.rental-card__content li::before { content:'↗'; margin-right:8px; color:#f41478; }.rental-card__price { display:grid; margin-top:auto; padding:16px 0; border-top:1px solid rgba(255,255,255,.14); }.rental-card__price span { color:#ff72b2; font-size:7px; font-weight:900; letter-spacing:.13em; }.rental-card__price strong { margin-top:5px; font-size:22px; }.rental-grid .rental-card button { margin:0; padding:16px; border:0; border-radius:12px; color:white; background:#f41478; font-size:9px; }.rental-grid .rental-card button:hover { background:white; color:#082b20; }
.rental-request { position:relative; z-index:1; display:grid; grid-template-columns:.7fr 1.3fr; gap:6vw; margin-top:28px; padding:clamp(30px,5vw,65px); border-radius:22px 60px 22px 60px; color:#082b20; background:#f5f0e8; }.rental-request h4 { margin:12px 0 20px; font-size:clamp(42px,5.5vw,78px); line-height:.84; letter-spacing:-.06em; }.rental-request > div > p:last-child { max-width:430px; color:#607268; font-size:11px; line-height:1.65; }
.rental-request .rental-form { grid-template-columns:1fr 1fr; gap:12px; padding:0; border-radius:0; background:transparent; }.rental-form label { font-size:8px; letter-spacing:.08em; }.rental-form input,.rental-form textarea { width:100%; padding:13px; border:1px solid rgba(0,63,38,.17); border-radius:12px; background:white; font:inherit; font-size:11px; resize:vertical; }.rental-form input { height:46px; }.rental-form input[readonly] { color:#f41478; font-weight:850; }.rental-form__wide,.rental-form button { grid-column:1/-1; }.rental-form button { display:flex; height:54px; align-items:center; justify-content:space-between; padding:0 22px; border-radius:13px; font-size:10px; }.rental-form button span { font-size:20px; }.rental-note { position:relative; z-index:1; max-width:980px; margin:18px auto 0; font-size:8px; text-align:center; }
.shop-affiliate-notice { margin-top:clamp(32px,5vw,64px); padding-top:20px; border-top:1px solid rgba(0,63,38,.22); color:rgba(0,45,29,.64); font-size:8px; line-height:1.65; }.shop-affiliate-notice strong { display:block; margin-bottom:10px; color:var(--mx-green); font-size:8px; letter-spacing:.12em; }.shop-affiliate-notice p { max-width:1200px; margin:7px 0; }.shop-affiliate-notice a { color:var(--mx-pink); font-weight:850; text-decoration:underline; text-underline-offset:2px; }
@media(max-width:1050px) { .rental-grid .rental-card{grid-template-columns:1fr}.rental-card__visual,.rental-card__monogram{min-height:320px}.rental-card__content{min-height:420px} }
@media(max-width:760px) { .rental-shop{margin-inline:-12px;padding:45px 18px;border-radius:45px 12px}.rental-shop>header,.rental-request{grid-template-columns:1fr}.rental-shop>header h3{font-size:67px}.rental-steps{grid-template-columns:1fr}.rental-grid{grid-template-columns:1fr}.rental-grid .rental-card{min-height:0}.rental-card__content{min-height:390px}.rental-request{padding:34px 20px;border-radius:15px 42px}.rental-request .rental-form{grid-template-columns:1fr}.rental-form__wide,.rental-form button{grid-column:auto}.rental-intro>a{width:100%} }

/* Social signal wall */
.social-wall { position:relative; overflow:hidden; color:white; background:radial-gradient(circle at 88% 10%,rgba(244,20,120,.22),transparent 26%),#082b20; }
.social-wall::before { content:'@'; position:absolute; right:-3vw; top:40px; color:rgba(255,255,255,.025); font-size:42vw; font-weight:950; line-height:.75; pointer-events:none; }
.social-wall__header { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:7vw; align-items:end; }.social-wall__header h2 { margin:13px 0 0; font-size:clamp(66px,9vw,132px); line-height:.79; letter-spacing:-.075em; }.social-wall__header h2 span { color:#f41478; }.social-wall__header > p { max-width:530px; color:rgba(255,255,255,.67); font-size:14px; line-height:1.7; }
.social-wall__ticker { position:relative; z-index:1; margin:clamp(45px,7vw,85px) -7vw 35px; overflow:hidden; color:#082b20; background:#f41478; transform:rotate(-1deg); }.social-wall__ticker > div { display:flex; width:max-content; animation:socialTicker 28s linear infinite; }.social-wall__ticker span { padding:14px 28px; font-size:9px; font-weight:950; letter-spacing:.12em; }.social-wall__ticker span::after { content:'✦'; margin-left:54px; }
@keyframes socialTicker { to { transform:translateX(-50%); } }
.social-feeds { position:relative; z-index:1; display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:15px; align-items:stretch; }
.social-feed { display:flex; min-width:0; flex-direction:column; padding:18px; border:1px solid rgba(255,255,255,.15); border-radius:28px 10px 28px 10px; background:rgba(255,255,255,.065); backdrop-filter:blur(10px); }.social-feed:nth-child(2) { border-radius:10px 28px 10px 28px; transform:none; }.social-feed > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:15px; }.social-feed > header > div { display:flex; align-items:center; gap:10px; }.social-feed > header i { display:grid; width:38px; aspect-ratio:1; place-items:center; border-radius:50%; color:#082b20; background:#f41478; font-size:19px; font-style:normal; font-weight:900; }.social-feed > header span { display:grid; }.social-feed > header b { font-size:10px; letter-spacing:.08em; }.social-feed > header small { margin-top:2px; color:rgba(255,255,255,.48); font-size:7px; }.social-feed > header > a { padding:9px 12px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:white; font-size:7px; font-weight:900; text-decoration:none; }
.social-feed__hint { display:flex; justify-content:space-between; margin:0 0 10px; color:#ff75b7; font-size:8px; font-weight:900; letter-spacing:.12em; }.social-feed__hint span { font-size:14px; letter-spacing:.35em; }
.social-feed--tiktok .social-feed__embed { display:flex; align-items:flex-start; overflow:hidden; }
.social-feed--tiktok .tiktok-embed { width:100%!important; margin:0!important; }
.social-feed__embed { position:relative; height:620px; overflow:auto; border-radius:17px; background:#f5f0e8; }.social-feed__embed iframe { display:block; width:100%; height:100%; border:0; }.social-feed__embed--tiktok { display:flex; justify-content:center; padding:0 5px; background:white; }.social-feed__embed--tiktok .tiktok-embed { margin:0!important; min-width:0!important; width:100%!important; }
.social-feed__cta { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding:16px 17px; border-radius:12px; color:white; background:#f41478; font-size:8px; font-weight:900; letter-spacing:.08em; text-decoration:none; }.social-feed__cta:hover { color:#082b20; background:white; }.social-feed__cta b { font-size:18px; }
.social-wall__follow { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:75px; padding:25px 0 0; border-top:1px solid rgba(255,255,255,.16); }.social-wall__follow p { margin:0; font-size:10px; font-weight:900; letter-spacing:.12em; }.social-wall__follow div { display:flex; flex-wrap:wrap; gap:8px; }.social-wall__follow a { padding:12px 18px; border-radius:999px; color:#082b20; background:#f5f0e8; font-size:8px; font-weight:900; text-decoration:none; }.social-wall__follow a:hover { color:white; background:#f41478; }
@media(max-width:1050px) { .social-feed:nth-child(2){transform:none} }
@media(max-width:700px) { .social-wall__header{grid-template-columns:1fr}.social-wall__header h2{font-size:65px}.social-wall__ticker{margin-inline:-24px}.social-feeds{grid-template-columns:1fr}.social-feed__embed{height:560px}.social-wall__follow{align-items:flex-start;flex-direction:column}.social-wall__follow div{width:100%}.social-wall__follow a{flex:1;text-align:center} }
.release-genre { display: block; margin-top: 12px; font-size: 11px; font-weight: 800; letter-spacing: .06em; color: #4c8067; }

/* Academia ELREIV */
.academy { overflow: hidden; color: #f8f1e5; background: #101110; }
.academy .section-index { color: #ff4b9b !important; }
.academy-hero { display: grid; grid-template-columns: 1.3fr .7fr; gap: 7vw; align-items: center; min-height: 720px; padding-block: 30px 80px; }
.academy-hero h2 { max-width: 1040px; margin: 0; color: #f8f1e5; font-size: clamp(58px,9vw,138px); line-height: .78; letter-spacing: -.085em; }
.academy-hero h2 span { color: #ff2b88; }
.academy-lead { max-width: 720px; margin: 35px 0 0; color: rgba(255,255,255,.66); font-size: clamp(15px,1.5vw,21px); line-height: 1.55; }
.academy-actions { display: flex; gap: 10px; margin-top: 32px; }.academy-actions a,.academy-actions button { padding: 14px 18px; border: 1px solid #ff2b88; border-radius: 999px; color: white; background: #ff2b88; font: inherit; font-size: 9px; font-weight: 800; text-decoration: none; cursor: pointer; }.academy-actions button { background: transparent; }
.academy-hero__visual { display: grid; justify-items: center; gap: 25px; }.academy-orbit { position: relative; display: grid; width: min(29vw,360px); aspect-ratio: 1; place-content: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 25px rgba(255,43,136,.07),0 0 0 26px rgba(255,255,255,.1),inset 0 0 80px rgba(255,43,136,.2); animation: academyPulse 4s ease-in-out infinite; }.academy-orbit::before,.academy-orbit::after { content: ''; position: absolute; inset: 12%; border: 1px dashed rgba(255,255,255,.25); border-radius: 50%; animation: academySpin 18s linear infinite; }.academy-orbit::after { inset: -14%; border-color: rgba(255,43,136,.35); animation-direction: reverse; }.academy-orbit b { font-size: clamp(32px,5vw,65px); letter-spacing: -.08em; }.academy-orbit span { color: #ff72b4; font-size: 9px; font-weight: 800; letter-spacing: .3em; text-align: center; }.academy-hero__visual > small { font-size: 7px; letter-spacing: .18em; opacity: .55; }
@keyframes academySpin { to { transform: rotate(360deg); } } @keyframes academyPulse { 50% { transform: scale(1.035); box-shadow: 0 0 0 32px rgba(255,43,136,.05),0 0 0 33px rgba(255,255,255,.1),inset 0 0 110px rgba(255,43,136,.3); } }
.academy-tools { display: flex; overflow-x: auto; border-block: 1px solid rgba(255,255,255,.15); }.academy-tools span { flex: 1 0 150px; padding: 21px 15px; border-right: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.75); font-size: 11px; font-weight: 850; letter-spacing: -.02em; text-align: center; }
.academy-manifesto { padding: clamp(80px,12vw,165px) 0; }.academy-manifesto > p { color: #ff4b9b; font-size: 9px; font-weight: 800; letter-spacing: .18em; }.academy-manifesto h3 { margin: 24px 0 55px; font-size: clamp(42px,6.7vw,96px); line-height: .86; letter-spacing: -.065em; }.academy-manifesto h3 em { color: #ff2b88; font-style: normal; }.academy-manifesto > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; padding-left: 28%; }.academy-manifesto > div p,.academy-manifesto > div strong { font-size: 14px; line-height: 1.65; }.academy-manifesto > div p { color: rgba(255,255,255,.6); }.academy-manifesto > div strong { color: #ff79b7; }
.academy-program { display: grid; grid-template-columns: .65fr 1.35fr; gap: 7vw; padding: clamp(65px,9vw,120px) 0; border-top: 1px solid rgba(255,255,255,.15); }.academy-program header { position: sticky; top: 100px; align-self: start; }.academy-program header h3 { margin: 0; font-size: clamp(46px,6vw,82px); line-height: .82; letter-spacing: -.065em; }.academy-modules details { border-top: 1px solid rgba(255,255,255,.18); }.academy-modules details:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }.academy-modules summary { display: grid; grid-template-columns: 50px 1fr auto; gap: 15px; align-items: center; padding: 24px 0; list-style: none; cursor: pointer; }.academy-modules summary::-webkit-details-marker { display: none; }.academy-modules summary b { color: #ff4b9b; font-size: 10px; }.academy-modules summary span { font-size: clamp(20px,2.4vw,34px); font-weight: 800; letter-spacing: -.035em; }.academy-modules summary i { font-size: 25px; font-style: normal; transition: transform .2s; }.academy-modules details[open] summary i { transform: rotate(45deg); }.academy-modules details > div { padding: 0 0 26px 65px; }.academy-modules details p { max-width: 640px; color: rgba(255,255,255,.65); line-height: 1.65; }.academy-modules details ul { display: grid; gap: 8px; padding: 0; list-style: none; color: #ff8abe; font-size: 11px; }.academy-modules details li::before { content: '↗'; margin-right: 9px; }
.academy-format { display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; background: #f5f0e8; color: #111; }.academy-format > div:first-child { padding: clamp(35px,6vw,80px); }.academy-format h3 { margin: 10px 0 24px; font-size: clamp(55px,7vw,98px); line-height: .8; letter-spacing: -.07em; }.academy-format p { max-width: 570px; font-size: 14px; line-height: 1.65; }.academy-format ul { display: grid; gap: 0; margin: 35px 0 0; padding: 0; list-style: none; }.academy-format li { padding: 14px 0; border-top: 1px solid rgba(17,17,17,.17); font-size: 11px; font-weight: 750; }.academy-format li b { display: inline-block; width: 38px; color: #ff2b88; }.academy-class-placeholder,.academy-photo-placeholder { position: relative; display: grid; place-content: center; overflow: hidden; color: white; background: radial-gradient(circle at 65% 35%,rgba(255,80,160,.7),transparent 25%),repeating-linear-gradient(135deg,transparent 0 27px,rgba(255,255,255,.05) 28px 29px),linear-gradient(145deg,#42102b,#071b15); text-align: center; }.academy-class-placeholder::before,.academy-photo-placeholder::before { content: ''; position: absolute; inset: 9%; border: 1px solid rgba(255,255,255,.22); }.academy-class-placeholder span { font-size: 9px; letter-spacing: .2em; }.academy-class-placeholder b { margin: 12px 0; font-size: clamp(36px,5vw,65px); }.academy-class-placeholder small { opacity: .55; }
.academy-students { padding: clamp(75px,10vw,140px) 0; }.academy-students > header { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 40px; }.academy-students h3,.academy-reviews h3,.academy-register h3 { margin: 10px 0 0; font-size: clamp(44px,6vw,85px); line-height: .82; letter-spacing: -.065em; }.academy-slider-controls { display: flex; align-items: center; gap: 15px; }.academy-slider-controls button { width: 45px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: white; background: transparent; cursor: pointer; }.academy-slider-controls span { font-size: 9px; }.academy-slider { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.academy-slide { opacity: .33; transition: opacity .3s,transform .3s; }.academy-slide.is-active { opacity: 1; transform: translateY(-10px); }.academy-photo-placeholder { height: 380px; }.academy-photo-placeholder b { font-size: 85px; opacity: .15; }.academy-photo-placeholder span { font-size: 8px; letter-spacing: .15em; }.academy-slide > p { margin: 18px 0 7px; color: #ff4b9b; font-size: 8px; font-weight: 800; letter-spacing: .15em; }.academy-slide h4 { margin: 0 0 8px; font-size: 22px; line-height: .95; }.academy-slide small { color: rgba(255,255,255,.4); font-size: 7px; }
.academy-photo { position:relative; height:380px; overflow:hidden; background:var(--academy-green); }
.academy-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.academy-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55)); pointer-events:none; }
.academy-photo b { position:absolute; z-index:2; right:18px; bottom:16px; display:grid; width:42px; aspect-ratio:1; place-items:center; border-radius:50%; color:white; background:var(--academy-pink); font-size:9px; }
.academy-photo--stage img { object-position:center 32%; }
.academy-reviews { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6vw; padding: clamp(70px,9vw,120px) 0; border-top: 1px solid rgba(255,255,255,.15); }.academy-review-empty { padding: clamp(30px,5vw,65px); border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); }.academy-review-empty > div { color: #ff2b88; font-size: 25px; letter-spacing: .15em; }.academy-review-empty h4 { margin: 28px 0 12px; font-size: 30px; }.academy-review-empty p { color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.7; }
.academy-register { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; margin-inline: max(-5vw,-80px); padding: clamp(45px,7vw,95px) max(5vw,24px); color: #111; background: #ff2b88; }.academy-register .section-index { color: #111 !important; }.academy-register > div > p:last-child { max-width: 480px; font-size: 13px; line-height: 1.65; }.academy-register form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; align-content: start; }.academy-register label { display: grid; gap: 7px; font-size: 8px; font-weight: 800; }.academy-register input,.academy-register select,.academy-register textarea { width: 100%; padding: 13px; border: 1px solid rgba(17,17,17,.25); border-radius: 9px; background: rgba(255,255,255,.86); font: inherit; resize: vertical; }.academy-register__wide,.academy-register form > button,.academy-form-status { grid-column: 1/-1; }.academy-register form > button { padding: 15px; border: 0; border-radius: 999px; color: white; background: #111; font-weight: 800; cursor: pointer; }.academy-form-status { min-height: 12px; margin: 0; font-size: 9px; font-weight: 800; }
@media(max-width:900px) { .academy-hero,.academy-program,.academy-format,.academy-reviews,.academy-register { grid-template-columns: 1fr; }.academy-hero { min-height: auto; }.academy-hero__visual { padding: 70px 0; }.academy-orbit { width: min(68vw,350px); }.academy-manifesto > div { padding-left: 0; }.academy-program header { position: static; }.academy-slider { grid-template-columns: repeat(2,1fr); }.academy-register { margin-inline: max(-5vw,-24px); } }
@media(max-width:620px) { .academy-hero h2 { font-size: 56px; }.academy-actions { align-items: stretch; flex-direction: column; }.academy-manifesto > div,.academy-slider,.academy-register form { grid-template-columns: 1fr; }.academy-students > header { align-items: start; flex-direction: column; }.academy-photo-placeholder,.academy-photo { height: 300px; }.academy-slide { opacity: 1; }.academy-slide:not(.is-active) { display: none; }.academy-register__wide,.academy-register form > button,.academy-form-status { grid-column: auto; } }

/* ACADEMY 2.0 — organic learning journey */
.academy { --academy-pink:#ff2b88; --academy-cream:#f4efe6; position:relative; overflow:hidden; background:radial-gradient(circle at 88% 8%,rgba(255,43,136,.17),transparent 27%),radial-gradient(circle at 4% 43%,rgba(255,255,255,.05),transparent 22%),#0d0e0e; }
.academy::before { content:''; position:absolute; top:680px; right:-18vw; width:42vw; aspect-ratio:1; border:1px solid rgba(255,255,255,.08); border-radius:47% 53% 38% 62%; transform:rotate(22deg); pointer-events:none; }
.academy-hero { grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr); gap:5vw; min-height:780px; padding-top:clamp(70px,10vw,145px); }
.academy-hero h2 span { color:var(--academy-pink); }
.academy-hero__proof { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.academy-hero__proof span { padding:9px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:rgba(255,255,255,.72); font-size:7px; font-weight:850; letter-spacing:.13em; }
.academy-hero__visual { position:relative; min-height:600px; }
.academy-orbit { position:absolute; top:48%; left:50%; width:min(30vw,430px); aspect-ratio:1; border:1px solid rgba(255,255,255,.24); border-radius:52% 48% 62% 38% / 40% 62% 38% 60%; transform:translate(-50%,-50%) rotate(-8deg); background:radial-gradient(circle at 35% 25%,rgba(255,43,136,.6),transparent 24%),linear-gradient(145deg,#1e2420,#050606); box-shadow:0 35px 80px rgba(0,0,0,.45); }
.academy-orbit::before,.academy-orbit::after { border-radius:50% 44% 57% 43%; }
.academy-daw { position:absolute; z-index:3; display:flex; align-items:center; gap:11px; padding:13px 18px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(15,16,16,.82); box-shadow:0 18px 38px rgba(0,0,0,.35); backdrop-filter:blur(14px); }
.academy-daw b { font-size:14px; letter-spacing:-.02em; }.academy-daw small { color:rgba(255,255,255,.46); font-size:6px; letter-spacing:.13em; }
.academy-daw--ableton { top:17%; left:0; transform:rotate(-6deg); }.academy-daw--fl { right:-2%; bottom:18%; transform:rotate(5deg); }
.academy-daw__ableton { display:flex; align-items:end; gap:2px; width:29px; height:28px; }.academy-daw__ableton i { display:block; width:5px; background:#fff; }.academy-daw__ableton i:nth-child(1){height:100%}.academy-daw__ableton i:nth-child(2){height:72%}.academy-daw__ableton i:nth-child(3){height:46%}.academy-daw__ableton i:nth-child(4){height:24%}
.academy-daw__fruit { display:grid; width:30px; aspect-ratio:1; place-items:center; border-radius:62% 38% 55% 45%; color:#fff; background:linear-gradient(145deg,#ff6aad,#ff2b88); transform:rotate(20deg); }
.academy-marquee { margin:0 -7vw; overflow:hidden; color:#0b0c0b; background:var(--academy-pink); transform:rotate(-1.1deg); }
.academy-marquee div { display:flex; width:max-content; animation:academyMarquee 28s linear infinite; }.academy-marquee span { padding:15px 23px; font-size:9px; font-weight:900; letter-spacing:.12em; }.academy-marquee span::after { content:'✦'; margin-left:46px; }
@keyframes academyMarquee { to { transform:translateX(-50%); } }
.academy-route { padding:clamp(100px,13vw,180px) 0; }.academy-route > header { max-width:900px; }.academy-route h3,.academy-genres h3,.academy-method h3 { margin:10px 0 22px; font-size:clamp(50px,7.4vw,108px); line-height:.83; letter-spacing:-.07em; }.academy-route h3 em,.academy-genres h3 em,.academy-method h3 em { color:var(--academy-pink); font-style:normal; }
.academy-route ol { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin:80px 0 0; padding:0; list-style:none; }.academy-route ol::before { content:''; position:absolute; top:47px; left:6%; right:6%; border-top:1px dashed rgba(255,255,255,.3); transform:rotate(-1.5deg); }.academy-route li { position:relative; z-index:1; }.academy-route li:nth-child(even){transform:translateY(48px)}.academy-route li b { display:grid; width:94px; aspect-ratio:1; place-items:center; margin-bottom:24px; border-radius:46% 54% 61% 39%; color:#101110; background:var(--academy-cream); font-size:17px; transform:rotate(-7deg); }.academy-route li:nth-child(even) b { color:white; background:var(--academy-pink); transform:rotate(7deg); }.academy-route li span { display:block; font-size:15px; font-weight:900; }.academy-route li p { max-width:185px; color:rgba(255,255,255,.52); font-size:10px; line-height:1.55; }
.academy-program { display:block; padding:clamp(90px,12vw,165px) 0; border:0; }.academy-program > header { position:static; display:grid; grid-template-columns:1fr .7fr; gap:7vw; align-items:end; margin-bottom:58px; }.academy-program > header h3 { font-size:clamp(54px,7vw,100px); }.academy-program > header p:last-child { color:rgba(255,255,255,.57); line-height:1.65; }
.academy-program > header { grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr); grid-template-areas:'index title' 'visual title' 'copy title'; gap:20px 7vw; align-items:center; }
.academy-program > header .section-index { grid-area:index; align-self:end; }
.academy-program > header h3 { grid-area:title; align-self:center; margin:0; }
.academy-program > header > p:last-child { grid-area:copy; align-self:start; margin:0; }
.academy-program__daw { grid-area:visual; position:relative; width:100%; aspect-ratio:16/10; margin:0; overflow:hidden; border-radius:54px 12px 54px 12px; background:var(--academy-green); box-shadow:0 24px 60px rgba(0,63,38,.14); }
.academy-program__daw::after { content:''; position:absolute; inset:0; border:1px solid rgba(255,255,255,.28); border-radius:inherit; box-shadow:inset 0 0 0 10px rgba(255,255,255,.07); pointer-events:none; }
.academy-program__daw img { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.16,1,.3,1),filter .45s ease; }
@media(hover:hover) { .academy-program__daw:hover img{transform:scale(1.055);filter:saturate(1.08) contrast(1.03)} }
@media(max-width:900px) { .academy-program>header{grid-template-columns:1fr;grid-template-areas:'index' 'title' 'visual' 'copy';gap:24px}.academy-program__daw{margin-top:12px;border-radius:42px 10px}.academy-program>header>p:last-child{font-size:15px} }
.academy-curriculum { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }.academy-subject { position:relative; min-height:280px; padding:clamp(27px,3vw,44px); overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:58px 18px 58px 18px; background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025)); }.academy-subject::after { content:'✦'; position:absolute; right:22px; bottom:-30px; color:rgba(255,255,255,.06); font-size:120px; font-weight:950; }.academy-subject:nth-child(1),.academy-subject:nth-child(4),.academy-subject:nth-child(5){grid-column:span 7}.academy-subject:nth-child(2),.academy-subject:nth-child(3),.academy-subject:nth-child(6){grid-column:span 5}.academy-subject:nth-child(2),.academy-subject:nth-child(5){border-radius:18px 70px 18px 70px}.academy-subject:nth-child(1){background:linear-gradient(145deg,#ff2b88,#8b174d)}.academy-subject:nth-child(4){color:#111;background:linear-gradient(145deg,#f7f2ea,#d7cec2)}.academy-subject > span { font-size:8px; font-weight:850; letter-spacing:.16em; opacity:.65; }.academy-subject h4 { max-width:540px; margin:22px 0 12px; font-size:clamp(28px,3vw,45px); line-height:.92; letter-spacing:-.045em; }.academy-subject p { max-width:610px; font-size:11px; line-height:1.62; opacity:.72; }.academy-subject > div { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }.academy-subject > div b { padding:7px 10px; border:1px solid currentColor; border-radius:999px; font-size:7px; opacity:.68; }
.academy-genres { display:grid; grid-template-columns:.75fr 1.25fr; gap:7vw; align-items:center; padding:clamp(80px,11vw,150px) 0; }.academy-genres header p:last-child { max-width:520px; color:rgba(255,255,255,.55); line-height:1.65; }.academy-genre-cloud { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; }.academy-genre-cloud span { display:grid; min-width:155px; min-height:86px; padding:18px 24px; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; font-size:10px; font-weight:900; text-align:center; transform:rotate(-4deg); transition:.25s ease; }.academy-genre-cloud span:nth-child(2n){min-height:118px;transform:rotate(5deg)}.academy-genre-cloud span:nth-child(3n){color:#111;background:var(--academy-cream)}.academy-genre-cloud span:nth-child(5n){color:white;background:var(--academy-pink)}.academy-genre-cloud span:hover { transform:scale(1.06) rotate(0); }
.academy-method { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; margin:0 -3vw clamp(100px,12vw,170px); padding:clamp(50px,7vw,100px); border-radius:110px 28px 110px 28px; color:#111; background:var(--academy-cream); }.academy-method .section-index { color:#111!important; }.academy-method__core h3 { font-size:clamp(49px,6vw,86px); }.academy-allin { display:inline-flex; flex-direction:column; gap:4px; margin:10px 0 20px; padding:14px 20px; border-radius:24px 8px 24px 8px; color:white; background:#111; transform:rotate(-2deg); }.academy-allin b { color:var(--academy-pink); font-size:20px; }.academy-allin span { font-size:6px; font-weight:800; letter-spacing:.12em; }.academy-method__core > p:last-child { max-width:470px; font-size:11px; line-height:1.55; opacity:.64; }.academy-method__steps { margin:0; padding:0; list-style:none; }.academy-method__steps li { display:grid; grid-template-columns:60px 1fr; gap:18px; padding:19px 0; border-bottom:1px solid rgba(17,17,17,.16); }.academy-method__steps li b { display:grid; width:48px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--academy-pink); }.academy-method__steps strong { font-size:18px; }.academy-method__steps p { margin:7px 0 0; font-size:10px; line-height:1.5; opacity:.62; }
.academy-format { min-height:650px; margin-bottom:clamp(90px,12vw,160px); border-radius:28px 100px 28px 100px; overflow:hidden; }.academy-format > div:first-child { padding:clamp(40px,7vw,90px); }.academy-format h3 { color:#111; }.academy-class-placeholder { clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 12%); }.academy-class-placeholder b { color:#fff; }
.academy-class-image { position:relative; min-height:650px; margin:0; overflow:hidden; clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 12%); background:var(--academy-green); }
.academy-class-image::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,63,38,.08),transparent 55%,rgba(244,20,120,.16)); pointer-events:none; }
.academy-class-image img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease; }
@media(hover:hover) { .academy-format:hover .academy-class-image img{transform:scale(1.045);filter:saturate(1.08) contrast(1.03)} }
@media(max-width:900px) { .academy-class-image{min-height:520px;clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)} }
@media(max-width:620px) { .academy-class-image{min-height:360px}.academy-class-image img{object-position:center} }
.academy-real-moments { padding:0 0 clamp(90px,12vw,160px); }
.academy-real-moments > header { display:grid; grid-template-columns:1fr .7fr; gap:6vw; align-items:end; margin-bottom:42px; }
.academy-real-moments h3 { margin:10px 0 0; font-size:clamp(52px,7vw,96px); line-height:.82; letter-spacing:-.065em; }
.academy-real-moments h3 em { color:var(--academy-pink); font-style:normal; }
.academy-real-moments > header > p:last-child { max-width:48ch; margin:0; font-size:15px; line-height:1.65; }
.academy-real-moments > div { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.academy-real-moments figure { position:relative; height:clamp(480px,58vw,760px); margin:0; overflow:hidden; border-radius:70px 16px 70px 16px; background:var(--academy-green); }
.academy-real-moments figure:nth-child(2) { margin-top:70px; border-radius:16px 70px 16px 70px; }
.academy-real-moments img { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.16,1,.3,1),filter .45s ease; }
.academy-real-moments figcaption { position:absolute; z-index:2; left:22px; bottom:22px; padding:11px 14px; border-radius:999px; color:white; background:rgba(0,63,38,.84); backdrop-filter:blur(8px); font-size:8px; font-weight:900; letter-spacing:.12em; }
@media(hover:hover) { .academy-real-moments figure:hover img{transform:scale(1.055);filter:saturate(1.08)} }
@media(max-width:760px) { .academy-real-moments>header,.academy-real-moments>div{grid-template-columns:1fr}.academy-real-moments figure,.academy-real-moments figure:nth-child(2){height:520px;margin-top:0;border-radius:46px 12px}.academy-real-moments>header>p:last-child{font-size:16px} }
.academy-register { border-radius:90px 24px 90px 24px; }.academy-register input,.academy-register select,.academy-register textarea { border-radius:18px 6px 18px 6px; }.academy-software-note { max-width:760px; margin:28px auto 0; color:rgba(255,255,255,.34); font-size:7px; line-height:1.6; text-align:center; }

/* Academia: paleta editorial ELREIV */
.academy { --academy-green:#003f26; --academy-pink:#f41478; --academy-cream:#f1f0eb; color:var(--academy-green); background:var(--academy-cream); }
.academy::before { border-color:rgba(0,63,38,.13); }
.academy-hero h2 { color:var(--academy-green); }
.academy-lead,.academy-program > header p:last-child,.academy-genres header p:last-child,.academy-route li p,.academy-review-empty p { color:rgba(0,63,38,.68); }
.academy-actions a { color:white; background:var(--academy-pink); }
.academy-actions button { color:var(--academy-green); background:white; }
.academy-hero__proof span,.academy-genre-cloud span { color:var(--academy-green); border-color:rgba(0,63,38,.22); background:rgba(255,255,255,.55); }
.academy-orbit { color:white; border-color:rgba(0,63,38,.25); background:radial-gradient(circle at 35% 25%,rgba(244,20,120,.72),transparent 25%),linear-gradient(145deg,#087a4a,var(--academy-green)); box-shadow:0 35px 80px rgba(0,63,38,.2); }
.academy-orbit::before,.academy-orbit::after { border-color:rgba(255,255,255,.42); }
.academy-daw { color:var(--academy-green); border-color:rgba(0,63,38,.16); background:rgba(255,255,255,.92); box-shadow:0 18px 38px rgba(0,63,38,.14); }
.academy-daw small { color:rgba(0,63,38,.55); }
.academy-daw__ableton i { background:var(--academy-green); }
.academy-route ol::before { border-color:rgba(0,63,38,.3); }
.academy-route li b { color:white; background:var(--academy-green); }
.academy-route li:nth-child(even) b { color:white; background:var(--academy-pink); }
.academy-subject { color:var(--academy-green); border-color:rgba(0,63,38,.16); background:rgba(255,255,255,.68); }
.academy-subject::after { color:rgba(0,63,38,.06); }
.academy-subject:nth-child(1) { color:white; background:linear-gradient(145deg,var(--academy-pink),#bc0f5b); }
.academy-subject:nth-child(4) { color:white; background:linear-gradient(145deg,#087a4a,var(--academy-green)); }
.academy-genre-cloud span:nth-child(3n) { color:var(--academy-green); background:white; }
.academy-genre-cloud span:nth-child(5n) { color:white; background:var(--academy-pink); }
.academy-method { color:var(--academy-green); background:white; box-shadow:0 30px 80px rgba(0,63,38,.1); }
.academy-allin { color:white; background:var(--academy-green); }
.academy-method__steps li { border-color:rgba(0,63,38,.16); }
.academy-format { color:var(--academy-green); background:white; }
.academy-format h3 { color:var(--academy-green); }
.academy-format li { border-color:rgba(0,63,38,.17); }
.academy-class-placeholder,.academy-photo-placeholder { background:radial-gradient(circle at 65% 35%,rgba(244,20,120,.72),transparent 25%),repeating-linear-gradient(135deg,transparent 0 27px,rgba(255,255,255,.08) 28px 29px),linear-gradient(145deg,#087a4a,var(--academy-green)); }
.academy-slider-controls button { color:var(--academy-green); border-color:rgba(0,63,38,.3); background:white; }
.academy-slide small { color:rgba(0,63,38,.55); }
.academy-reviews { border-color:rgba(0,63,38,.16); }
.academy-review-empty { border-color:rgba(0,63,38,.16); background:rgba(255,255,255,.68); }
.academy-register { color:var(--academy-green); background:var(--academy-pink); }
.academy-register form > button { color:white; background:var(--academy-green); }
.academy-software-note { color:rgba(0,63,38,.55); }
.academy-hero { grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr); gap:clamp(35px,5vw,80px); min-height:auto; padding-block:clamp(85px,11vw,150px) clamp(75px,9vw,125px); }
.academy-hero__copy { max-width:980px; }
.academy-hero__stage { position:relative; align-self:stretch; min-height:620px; margin:0; overflow:hidden; border-radius:48% 52% 38% 62% / 33% 42% 58% 67%; background:var(--academy-green); box-shadow:0 28px 70px rgba(0,63,38,.18); transform:rotate(2deg); }
.academy-hero__stage::before { content:''; position:absolute; z-index:2; inset:18px; border:1px solid rgba(255,255,255,.42); border-radius:inherit; pointer-events:none; }
.academy-hero__stage::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(0,63,38,.08),transparent 48%,rgba(244,20,120,.2)); pointer-events:none; }
.academy-hero__stage img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.03) rotate(-2deg); transition:transform .8s cubic-bezier(.16,1,.3,1),filter .45s ease; }
@media(hover:hover) { .academy-hero__stage:hover img{transform:scale(1.09) rotate(-2deg);filter:saturate(1.08) contrast(1.03)} }
@media(max-width:900px) { .academy-hero{grid-template-columns:1fr}.academy-hero__stage{min-height:680px;margin-top:18px;border-radius:70px 18px}.academy-hero__stage img{transform:scale(1.03)} }
@media(max-width:620px) { .academy-hero__stage{min-height:500px;border-radius:48px 12px}.academy-hero__stage::before{inset:10px} }

/* Academia: fichas de género */
.academy-genres { display:block; }
.academy-genres > header { display:grid; grid-template-columns:1fr .72fr; gap:7vw; align-items:end; margin-bottom:55px; }
.academy-genres > header h3 { grid-row:2; margin-bottom:0; }
.academy-genres > header > p:last-of-type { grid-column:2; grid-row:2; }
.academy-genres__key { grid-column:2; display:flex; flex-wrap:wrap; gap:7px; }
.academy-genres__key span { padding:8px 11px; border:1px solid rgba(0,63,38,.18); border-radius:999px; background:white; font-size:7px; font-weight:900; letter-spacing:.12em; }
.academy-genre-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.academy-genre-card { display:flex; min-height:430px; flex-direction:column; padding:clamp(28px,4vw,52px); border:1px solid rgba(0,63,38,.17); border-radius:54px 14px 54px 14px; background:rgba(255,255,255,.72); transition:transform .25s ease,box-shadow .25s ease; }
.academy-genre-card:nth-child(2n) { border-radius:14px 54px 14px 54px; }
.academy-genre-card:nth-child(3n+1) { color:white; background:var(--academy-green); }
.academy-genre-card:nth-child(3n) { color:white; background:var(--academy-pink); }
.academy-genre-card:hover { transform:translateY(-7px); box-shadow:0 25px 60px rgba(0,63,38,.12); }
.academy-genre-card > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.academy-genre-card > div:first-child span { font-size:10px; font-weight:950; }
.academy-genre-card > div:first-child small { font-size:7px; font-weight:850; letter-spacing:.12em; opacity:.62; text-align:right; }
.academy-genre-card h4 { margin:42px 0 20px; font-size:clamp(42px,5.4vw,76px); line-height:.78; letter-spacing:-.07em; }
.academy-genre-card > p { max-width:590px; margin:0; font-size:12px; line-height:1.65; opacity:.72; }
.academy-genre-card dl { display:grid; grid-template-columns:.7fr 1.3fr; gap:15px; margin:auto 0 0; padding-top:38px; }
.academy-genre-card dl div { padding-top:13px; border-top:1px solid currentColor; }
.academy-genre-card dt { margin-bottom:7px; font-size:6px; font-weight:900; letter-spacing:.14em; opacity:.55; }
.academy-genre-card dd { margin:0; font-size:9px; font-weight:850; line-height:1.5; }
.academy-genres__note { margin:22px 0 0; color:rgba(0,63,38,.55); font-size:7px; font-weight:850; letter-spacing:.1em; text-align:center; }

/* Academia: ruta de aprendizaje */
.academy-method { display:block; padding:clamp(48px,7vw,90px); }
.academy-method__core { display:grid; grid-template-columns:1.25fr .75fr; gap:7vw; align-items:end; }
.academy-method__core h3 { margin-bottom:0; }
.academy-allin { justify-self:start; margin:0 0 18px; }
.academy-method__core > p:last-child { grid-column:2; margin:0; font-size:13px; }
.academy-method__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:65px; counter-reset:academy-step; }
.academy-method__steps li { position:relative; display:flex; min-height:590px; flex-direction:column; gap:0; padding:12px 12px 32px; overflow:hidden; border:1px solid rgba(0,63,38,.15); border-radius:34px 10px 34px 10px; background:var(--academy-cream); box-shadow:0 12px 34px rgba(0,63,38,.06); transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .3s ease; }
.academy-method__steps li:nth-child(even) { margin-top:32px; background:rgba(244,20,120,.1); }
.academy-method__steps li::after { content:''; position:absolute; right:-32px; bottom:-42px; width:120px; aspect-ratio:1; border:1px solid rgba(0,63,38,.1); border-radius:50%; }
.academy-method__steps li b { position:absolute; z-index:3; top:24px; left:24px; display:grid; width:58px; aspect-ratio:1; place-items:center; color:white; background:var(--academy-green); border:1px solid rgba(255,255,255,.7); border-radius:50%; box-shadow:0 8px 22px rgba(0,63,38,.22); font-size:13px; transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s ease; }
.academy-method__steps li:nth-child(even) b { background:var(--academy-pink); }
.academy-method__steps img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:25px 7px 25px 7px; filter:saturate(.92) contrast(1.03); transition:transform .7s cubic-bezier(.16,1,.3,1),filter .45s ease; }
.academy-method__steps li:nth-child(even) img { border-radius:5px 20px 5px 20px; }
.academy-method__steps li > div { position:relative; z-index:2; display:flex; flex:1; flex-direction:column; padding:0 16px; }
.academy-method__steps strong { max-width:15ch; margin:30px 0 0; font-size:clamp(25px,2.45vw,36px); line-height:.9; letter-spacing:-.045em; }
.academy-method__steps p { position:relative; z-index:1; max-width:34ch; margin:18px 0 0; font-size:15px; line-height:1.6; opacity:.76; }
@media(hover:hover) { .academy-method__steps li:hover{z-index:4;transform:translateY(-14px) scale(1.015);border-color:rgba(244,20,120,.42);box-shadow:0 32px 70px rgba(0,63,38,.18)}.academy-method__steps li:hover img{transform:scale(1.075);filter:saturate(1.08) contrast(1.05)}.academy-method__steps li:hover b{transform:scale(1.12) rotate(-8deg);background:var(--academy-pink)} }
@media(max-width:900px) { .academy-genres > header,.academy-method__core{grid-template-columns:1fr}.academy-genres > header h3,.academy-genres > header > p:last-of-type,.academy-genres__key,.academy-method__core > p:last-child{grid-column:auto;grid-row:auto}.academy-genre-card{min-height:390px}.academy-method__steps{grid-template-columns:repeat(2,1fr)}.academy-method__steps li{min-height:540px}.academy-method__steps li:nth-child(even){margin-top:0}.academy-method__steps li:last-child{grid-column:1/-1;min-height:540px}.academy-method__steps li:last-child img{aspect-ratio:16/7}.academy-allin{margin-top:22px} }
@media(max-width:620px) { .academy-genre-cards,.academy-method__steps{grid-template-columns:1fr}.academy-genre-card{min-height:370px;border-radius:36px 10px!important}.academy-genre-card dl{grid-template-columns:1fr}.academy-method__steps li,.academy-method__steps li:last-child{grid-column:auto;min-height:0}.academy-method__steps li:last-child img,.academy-method__steps img{aspect-ratio:5/4;object-position:center 38%}.academy-method__steps strong{font-size:clamp(26px,8vw,34px)}.academy-method__steps p{font-size:16px;line-height:1.6}.academy-method__core > p:last-child{font-size:14px;line-height:1.6} }
@media(prefers-reduced-motion:reduce) { .academy-method__steps li,.academy-method__steps img,.academy-method__steps li b{transition:none!important} }

/* Portada editorial: fotografía y jerarquía tipo magazine */
.editorial-stage { min-height:clamp(610px,68vw,820px); border-radius:0; box-shadow:none; background:#e9e8e2; }
.editorial-slide > a { grid-template-columns:minmax(0,1.48fr) minmax(340px,.72fr); gap:0; }
.editorial-slide figure { min-width:0; min-height:0; background:#111; }
.editorial-slide figure::after { background:linear-gradient(90deg,transparent 68%,rgba(0,0,0,.18)); }
.editorial-slide img { position:absolute; inset:0; width:100%; height:100%; filter:none; object-fit:cover; object-position:center; transform:none; }
.editorial-slide.is-active:hover img { transform:scale(1.02); }
.editorial-slide img.news-image--contain { padding:clamp(20px,3vw,48px); object-fit:contain; transform:none; }
.editorial-slide.is-active:hover img.news-image--contain { transform:scale(1.01); }
.editorial-slide__copy { padding:clamp(42px,5.5vw,86px); color:var(--mx-green); background:#f1f0eb; }
.editorial-slide__copy small { max-width:42ch; color:var(--mx-pink); font-size:9px; font-weight:900; line-height:1.5; letter-spacing:.11em; }
.editorial-slide__copy h2 { max-width:11ch; margin:clamp(35px,5vw,70px) 0 25px; color:var(--mx-green); font-size:clamp(42px,5.2vw,76px); line-height:.9; letter-spacing:-.065em; }
.editorial-slide__copy p { max-width:38ch; color:rgba(0,63,38,.68); font-size:14px; line-height:1.65; }
.editorial-slide__copy > span { margin-top:auto; padding:15px 0 6px; color:var(--mx-green); border:0; border-bottom:2px solid var(--mx-pink); border-radius:0; font-size:8px; font-weight:900; letter-spacing:.1em; }
.editorial-stage__controls { color:var(--mx-green); background:rgba(241,240,235,.94); }
.editorial-rail { gap:1px; margin-top:1px; background:rgba(0,63,38,.13); }
.editorial-rail button { min-height:104px; color:var(--mx-green); border:0; border-radius:0; background:#f1f0eb; }
.editorial-rail button:hover,.editorial-rail button.is-active { color:white; background:var(--mx-green); }
.editorial-rail button.is-active small { color:#ff72ae; }
@media(max-width:900px) { .editorial-stage{min-height:850px}.editorial-slide>a{grid-template-columns:1fr;grid-template-rows:56% 44%}.editorial-slide__copy{padding:36px 30px 78px}.editorial-slide__copy h2{max-width:15ch;margin:25px 0 16px;font-size:clamp(38px,7vw,58px)} }
@media(max-width:620px) { .editorial-stage{min-height:760px}.editorial-slide>a{grid-template-rows:42% 58%}.editorial-slide__copy{padding:27px 21px 75px}.editorial-slide__copy h2{font-size:clamp(34px,10.5vw,48px)}.editorial-slide__copy p{font-size:12px}.editorial-rail button{min-height:70px} }
@media(max-width:900px) { .academy-hero { grid-template-columns:1fr; }.academy-hero__visual{min-height:470px}.academy-orbit{width:min(64vw,390px)}.academy-daw--ableton{left:4%}.academy-daw--fl{right:2%}.academy-route ol{grid-template-columns:repeat(2,1fr)}.academy-route ol::before{display:none}.academy-route li:nth-child(even){transform:none}.academy-program>header,.academy-genres,.academy-method{grid-template-columns:1fr}.academy-subject:nth-child(n){grid-column:span 6}.academy-method{margin-inline:0;border-radius:70px 20px}.academy-method__core{margin-bottom:20px}.academy-format{border-radius:20px 70px}.academy-register{border-radius:60px 18px} }
@media(max-width:620px) { .academy-hero{padding-top:78px}.academy-hero__visual{min-height:390px}.academy-orbit{width:76vw}.academy-daw{padding:10px 13px}.academy-daw small{display:none}.academy-daw--ableton{top:8%;left:0}.academy-daw--fl{right:0;bottom:9%}.academy-marquee{margin-inline:-24px}.academy-route ol{grid-template-columns:1fr;gap:28px;margin-top:46px}.academy-route li{display:grid;grid-template-columns:70px 1fr;column-gap:15px}.academy-route li b{grid-row:span 2;width:64px;margin:0}.academy-route li p{margin:7px 0 0}.academy-program>header{display:block}.academy-curriculum{display:block}.academy-subject{min-height:0;margin-bottom:13px;border-radius:36px 12px!important}.academy-genres{padding-block:85px}.academy-genre-cloud span{min-width:130px;min-height:72px;padding:15px}.academy-method{padding:42px 24px;border-radius:48px 14px}.academy-method__steps li{display:flex}.academy-method__steps li b{width:52px}.academy-format{border-radius:14px 48px}.academy-register{border-radius:42px 12px}.academy-register__wide,.academy-register form>button,.academy-form-status{grid-column:auto} }
@media(prefers-reduced-motion:reduce) { .academy-orbit,.academy-orbit::before,.academy-orbit::after { animation: none; } }

/* Ruta formativa: claridad, espacio y detalle inspirados en interfaces Apple. */
.academy-route ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:64px; }
.academy-route ol::before { display:none; }
.academy-route li,.academy-route li:nth-child(even) { display:flex; min-width:0; min-height:310px; flex-direction:column; padding:26px 22px 24px; border:1px solid rgba(0,63,38,.09); border-radius:28px; background:rgba(255,255,255,.82); box-shadow:0 12px 34px rgba(0,47,29,.06); transform:none; transition:transform .3s ease,box-shadow .3s ease,background .3s ease; }
.academy-route li:hover { background:#fff; box-shadow:0 22px 54px rgba(0,47,29,.11); transform:translateY(-6px); }
.academy-route li b,.academy-route li:nth-child(even) b { display:inline-flex; width:auto; min-width:40px; height:28px; aspect-ratio:auto; align-items:center; justify-content:center; align-self:flex-start; margin:0; padding:0 11px; border-radius:999px; color:var(--academy-green); background:rgba(0,63,38,.075); font-size:11px; font-weight:750; letter-spacing:.08em; transform:none; }
.academy-route__icon { display:grid; width:58px; height:58px; place-items:center; margin-top:auto; border-radius:18px; color:var(--academy-green); background:#eef3ec; transition:color .3s ease,background .3s ease,transform .3s ease; }
.academy-route__icon svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.academy-route li:nth-child(2) .academy-route__icon,.academy-route li:nth-child(5) .academy-route__icon { color:var(--academy-pink); background:rgba(244,20,120,.08); }
.academy-route li:hover .academy-route__icon { color:#fff; background:var(--academy-pink); transform:scale(1.05); }
.academy-route li span { margin-top:24px; color:var(--academy-green); font-size:clamp(17px,1.4vw,22px); font-weight:750; line-height:1.08; letter-spacing:-.035em; }
.academy-route li p { max-width:none; margin:13px 0 0; color:rgba(0,63,38,.61); font-size:13px; line-height:1.55; }
@media(max-width:1050px) { .academy-route ol{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-route li{min-height:240px}.academy-route li:last-child{grid-column:1/-1} }
@media(max-width:620px) { .academy-route ol{display:flex; gap:14px; margin:44px -24px 0; padding:0 24px 18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none}.academy-route ol::-webkit-scrollbar{display:none}.academy-route li,.academy-route li:nth-child(even){flex:0 0:min(82vw,310px); min-height:310px; display:flex; padding:24px; border-radius:26px; scroll-snap-align:start}.academy-route li:last-child{grid-column:auto}.academy-route li b,.academy-route li:nth-child(even) b{width:auto;height:28px;margin:0}.academy-route__icon{margin-top:auto}.academy-route li span{margin-top:20px}.academy-route li p{margin-top:12px} }

/* Registro Academia: superficie limpia con acentos mexicanos contemporáneos. */
.academy-register { position:relative; isolation:isolate; overflow:hidden; grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr); gap:clamp(38px,7vw,100px); align-items:center; padding:clamp(52px,7vw,92px); border-radius:44px; color:#fff; background:linear-gradient(145deg,#ed1475,#c80e61); box-shadow:0 30px 80px rgba(123,0,54,.2); }
.academy-register::before { content:''; position:absolute; z-index:-1; inset:0; opacity:.18; background-image:radial-gradient(circle at 12px 12px,#fff 0 3px,transparent 3.5px),linear-gradient(135deg,transparent 45%,rgba(255,255,255,.35) 46% 54%,transparent 55%); background-size:40px 40px,80px 80px; mask-image:linear-gradient(90deg,#000,transparent 58%); }
.academy-register::after { content:'MÉXICO · MÚSICA · COMUNIDAD'; position:absolute; z-index:-1; left:clamp(30px,5vw,72px); bottom:22px; color:rgba(255,255,255,.38); font-size:9px; font-weight:800; letter-spacing:.18em; }
.academy-register .section-index { color:rgba(255,255,255,.78)!important; }
.academy-register h3 { max-width:11ch; color:#fff!important; font-size:clamp(42px,5.2vw,76px); line-height:.91; letter-spacing:-.06em; }
.academy-register > div > p:last-child { max-width:42ch; color:rgba(255,255,255,.82); font-size:15px; line-height:1.65; }
.academy-register form { gap:14px; padding:clamp(22px,3vw,36px); border:1px solid rgba(255,255,255,.72); border-radius:28px; color:var(--academy-green); background:rgba(255,255,255,.94); box-shadow:0 20px 55px rgba(87,0,38,.16); backdrop-filter:blur(18px); }
.academy-register label { gap:8px; color:rgba(0,63,38,.72); font-size:10px; letter-spacing:.08em; }
.academy-register input,.academy-register select,.academy-register textarea { min-height:54px; padding:15px 16px; border:1px solid transparent; border-radius:14px; color:var(--academy-green); background:#f2f3ef; font-size:15px; line-height:1.35; outline:none; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.academy-register textarea { min-height:118px; }
.academy-register input:hover,.academy-register select:hover,.academy-register textarea:hover { background:#ecefe9; }
.academy-register input:focus,.academy-register select:focus,.academy-register textarea:focus { border-color:var(--academy-pink); background:#fff; box-shadow:0 0 0 4px rgba(244,20,120,.13); }
.academy-register form > button { min-height:56px; padding:16px 22px; border-radius:14px; font-size:12px; letter-spacing:.055em; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.academy-register form > button:hover { background:#005b38; box-shadow:0 12px 26px rgba(0,63,38,.18); transform:translateY(-2px); }
.academy-register form > button:focus-visible { outline:3px solid rgba(244,20,120,.3); outline-offset:3px; }
.academy-form-status { color:var(--academy-green); font-size:11px; line-height:1.45; }
@media(max-width:900px) { .academy-register{grid-template-columns:1fr;margin-inline:0;border-radius:36px}.academy-register h3{max-width:14ch} }
@media(max-width:620px) { .academy-register{padding:38px 20px 52px;border-radius:28px}.academy-register h3{font-size:clamp(38px,11vw,54px)}.academy-register form{grid-template-columns:1fr;padding:18px;border-radius:22px}.academy-register__wide,.academy-register form>button,.academy-form-status{grid-column:auto}.academy-register::after{left:22px;bottom:18px;font-size:7px} }

/* Label: firma, distribución y catálogo */
.label-path { margin-bottom: clamp(70px,10vw,140px); }.label-path > header { display: grid; grid-template-columns: 1fr 1fr auto; gap: 3vw; align-items: end; padding: 28px 0; border-block: 2px solid #111; }.label-path > header span { color: var(--mx-pink); font-size: 8px; font-weight: 850; letter-spacing: .16em; }.label-path > header h3 { margin: 8px 0 0; font-size: clamp(39px,5vw,70px); line-height: .85; letter-spacing: -.06em; }.label-path > header p { margin: 0; font-size: 12px; line-height: 1.65; }.label-path > header a { padding: 13px 16px; border-radius: 999px; color: white; background: var(--mx-green); font-size: 9px; font-weight: 800; text-decoration: none; white-space: nowrap; }.label-path__options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }.label-path__options article { display: flex; min-height: 560px; flex-direction: column; padding: clamp(25px,4vw,50px); border: 1px solid rgba(0,63,38,.17); border-radius: 12px; background: rgba(255,255,255,.76); }.label-path__options article:nth-child(2) { color: white; background: var(--mx-green); }.label-path__options article > div { display: flex; justify-content: space-between; gap: 15px; color: var(--mx-pink); font-size: 8px; letter-spacing: .1em; }.label-path__options h4 { margin: 50px 0 24px; font-size: clamp(40px,5vw,70px); line-height: .82; letter-spacing: -.065em; }.label-path__options p { max-width: 590px; margin: 0; font-size: 13px; line-height: 1.65; opacity: .72; }.label-path__options ul { display: grid; gap: 10px; margin: 28px 0 40px; padding: 0; list-style: none; font-size: 10px; font-weight: 750; }.label-path__options li::before { content: '✓'; margin-right: 9px; color: var(--mx-pink); }.label-path__options article > a { align-self: flex-start; margin-top: auto; padding-bottom: 5px; color: inherit; border-bottom: 2px solid var(--mx-pink); font-size: 9px; font-weight: 850; text-decoration: none; }.label-path__legal { margin-top: 14px; color: #6c746e; font-size: 8px; line-height: 1.6; }
.label-soundcloud { margin-bottom: clamp(70px,10vw,130px); padding: clamp(25px,5vw,65px); border-radius: 14px; color: white; background: var(--mx-green); }.label-soundcloud > header { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 35px; }.label-soundcloud h3 { margin: 0; font-size: clamp(52px,7vw,100px); line-height: .78; letter-spacing: -.07em; }.label-soundcloud > header > a { padding: 12px 15px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; font-size: 8px; font-weight: 800; text-decoration: none; }.label-soundcloud__player { overflow: hidden; border-radius: 8px; background: white; }.label-soundcloud__player iframe { display: block; }.label-track-links { margin-top: 25px; border-top: 1px solid rgba(255,255,255,.22); }.label-track-links a { display: grid; grid-template-columns: 45px 1fr auto; gap: 14px; align-items: center; padding: 18px 0; color: white; border-bottom: 1px solid rgba(255,255,255,.22); text-decoration: none; }.label-track-links a:hover b { color: #ff72ae; }.label-track-links span { color: #ff72ae; font-size: 9px; }.label-track-links b { font-size: clamp(15px,2vw,25px); transition: color .2s; }.label-track-links i { font-size: 8px; font-style: normal; font-weight: 800; opacity: .72; }
@media(max-width:850px) { .site-header .main-nav { max-height: calc(100vh - 80px); overflow-y: auto; }.label-path > header { grid-template-columns: 1fr; align-items: start; }.label-path > header a { justify-self: start; }.label-path__options { grid-template-columns: 1fr; }.label-path__options article { min-height: 500px; } }
@media(max-width:850px) { .menu-button { position: relative; z-index: 2; min-width: 78px; cursor: pointer; }.menu-button span { display: inline-block; width: 16px; margin-left: 5px; font-size: 17px; line-height: 1; transition: transform .2s ease; }.menu-button[aria-expanded="true"] { color: white; background: var(--mx-pink); }.menu-button[aria-expanded="true"] span { transform: rotate(90deg); }.main-nav.is-open { z-index: 1; }.menu-open { overflow: hidden; } }

/* Agenda CDMX + DJ Hot Spot */
.home-discovery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin-top:38px;background:var(--mx-black)}
.home-discovery a{display:grid;gap:9px;padding:clamp(22px,3vw,38px);color:var(--mx-green);background:var(--mx-cream);transition:background .2s,color .2s}
.home-discovery a:hover{color:white;background:var(--mx-pink)}
.home-discovery small{font-size:8px;font-weight:850;letter-spacing:.12em}.home-discovery strong{font-size:clamp(25px,3vw,42px);line-height:.9}.home-discovery span{font-size:10px;line-height:1.5}
.home-quick-links .home-quick-links__whatsapp{color:#075e36;background:#dff6e8}.home-quick-links .home-quick-links__whatsapp:hover{color:white;background:#128c59}
.events--own .scene-events-head,.events--own .event-hub-tools,.events--own .scene-event-status,.events--own .scene-event-grid,.events--own .scene-event-groups{color:var(--mx-black)}
.events--own .scene-events-head{padding:clamp(28px,5vw,70px);margin:-2px -2px 0;background:var(--mx-cream)}
.event-featured-ad{display:grid;grid-template-columns:minmax(280px,42%) 1fr;min-height:620px;margin:0 -2px;background:#050505;color:white}
.event-featured-ad figure{display:grid;min-width:0;margin:0;padding:clamp(24px,4vw,56px);place-items:center;background:#000}
.event-featured-ad img{display:block;width:100%;height:100%;max-height:720px;object-fit:contain}
.event-featured-ad>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,90px);background:linear-gradient(145deg,#003f26,#005d3a)}
.event-featured-ad p{margin:0 0 36px;color:#ff72ae;font-size:9px;font-weight:900;letter-spacing:.14em}.event-featured-ad h3{margin:0 0 28px;font-size:clamp(52px,7vw,104px);line-height:.78;letter-spacing:-.065em}.event-featured-ad strong{font-size:clamp(15px,2vw,25px)}.event-featured-ad span{max-width:680px;margin-top:14px;font-size:11px;line-height:1.6;opacity:.78}.event-featured-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.event-featured-actions a{padding:15px 19px;color:#003f26;background:#ff72ae;font-size:9px;font-weight:900;text-decoration:none}.event-featured-actions a+ a{color:white;border:1px solid rgba(255,255,255,.5);background:transparent}
.events--own .event-hub-tools{grid-template-columns:1fr 1fr 1fr auto;margin:0 -2px;padding:20px clamp(20px,5vw,70px);border:0;border-radius:0;background:#ede8db}
.event-source-link{display:grid;min-height:42px;padding:0 18px;place-items:center;color:white;background:var(--mx-green);font-size:8px;font-weight:850}
.events--own .scene-event-status{margin:0 -2px;padding:20px clamp(20px,5vw,70px);background:var(--mx-cream)}
.events--own .scene-event-groups{display:grid;gap:44px;margin:0 -2px;padding:0 clamp(20px,5vw,70px) 70px;background:var(--mx-cream)}
.event-city-group>header{display:grid;grid-template-columns:58px 1fr auto;gap:15px;align-items:end;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(0,63,38,.25)}
.event-city-group>header>span{display:grid;width:52px;aspect-ratio:1;place-items:center;color:white;background:var(--mx-pink);font-size:11px;font-weight:900}.event-city-group>header small{font-size:7px;letter-spacing:.12em}.event-city-group>header h3{margin:3px 0 0;font-size:clamp(24px,3vw,42px);line-height:.9}.event-city-group>header>b{font-size:8px;letter-spacing:.08em}
.events--own .event-city-group .scene-event-grid{margin:0;padding:0;background:transparent}.scene-event-empty{padding:50px 0;border-block:1px solid rgba(0,63,38,.2);font-size:13px;text-align:center}
.scene-event-flyer i{align-self:flex-end;padding:8px;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-size:10px;font-style:normal;font-weight:900;letter-spacing:.08em}
.scene-event-flyer--cdmx{background-image:radial-gradient(circle at 75% 20%,#ff5c9e 0 9%,transparent 10%),repeating-linear-gradient(115deg,transparent 0 25px,rgba(255,255,255,.12) 26px 28px),linear-gradient(145deg,#f41478,#151515)}
.scene-event-flyer--jal{background-image:radial-gradient(circle at 20% 20%,#ffd956 0 10%,transparent 11%),repeating-radial-gradient(circle at 90% 90%,transparent 0 28px,rgba(255,255,255,.18) 29px 31px),linear-gradient(145deg,#e63c25,#48149d)}
.scene-event-flyer--oax{background-image:radial-gradient(circle at 75% 25%,#ffcc38 0 10%,transparent 11%),repeating-linear-gradient(45deg,transparent 0 22px,rgba(255,255,255,.13) 23px 25px),linear-gradient(145deg,#ef4f23,#701c76)}
.scene-event-flyer--tul{background-image:radial-gradient(circle at 75% 20%,rgba(255,255,255,.7),transparent 16%),repeating-radial-gradient(circle at 20% 85%,transparent 0 28px,rgba(255,255,255,.16) 29px 31px),linear-gradient(145deg,#11a985,#123b76)}
.scene-event-flyer--qro{background-image:radial-gradient(circle at 70% 25%,#fca638 0 11%,transparent 12%),repeating-linear-gradient(120deg,transparent 0 30px,rgba(255,255,255,.14) 31px 33px),linear-gradient(145deg,#8b1738,#151515)}
.scene-event-flyer--nl{background-image:radial-gradient(circle at 25% 20%,#a3ffed 0 9%,transparent 10%),repeating-linear-gradient(165deg,transparent 0 24px,rgba(255,255,255,.14) 25px 27px),linear-gradient(145deg,#2454bd,#111)}
.scene-event-cost{margin:10px 0;color:var(--mx-pink);font-size:9px;font-weight:900;letter-spacing:.06em}
.scene-event-body .scene-event-actions{display:grid;gap:9px;margin-top:18px}.scene-event-actions a{display:flex;min-height:38px;align-items:center;justify-content:center;padding:9px 12px;color:var(--mx-pink);border:1px solid currentColor;font-size:8px;font-weight:850;text-align:center;text-decoration:none}.scene-event-actions .scene-event-guestlist{color:white;border-color:var(--mx-green);background:var(--mx-green)}
.events-divider{height:2px;margin:0 0 70px;border:0;background:var(--mx-cream)}
.top100{color:var(--mx-green);background:var(--mx-cream)}
.top100-method{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:16px 0;border-block:1px solid rgba(0,63,38,.22);font-size:9px}.top100-method strong{color:var(--mx-pink)}.top100-method button,.ranking-open>button{padding:10px 14px;color:white;border:0;background:var(--mx-green);font-size:8px;font-weight:900;cursor:pointer}
.top100-filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 12px}.top100-filters button{padding:12px 16px;border:1px solid var(--mx-green);color:var(--mx-green);background:transparent;font-size:9px;font-weight:850;cursor:pointer}.top100-filters button.is-active,.top100-filters button:hover{color:white;background:var(--mx-green)}
.top100-filter-note{max-width:780px;min-height:38px;margin:0;color:#597064;font-size:11px;line-height:1.55}
.ranking-alpha-wrap{display:grid;gap:9px;padding:12px;border:1px solid rgba(0,63,38,.08);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.ranking-alpha-wrap>span{padding-inline:5px;color:rgba(0,63,38,.48);font:700 8px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;letter-spacing:.11em}.ranking-alpha{display:flex;gap:3px;margin:0;padding:0 0 2px;overflow-x:auto;scrollbar-width:none}.ranking-alpha::-webkit-scrollbar{display:none}.ranking-alpha button{flex:0 0 auto;min-width:29px;height:29px;padding:0 7px;border:0;border-radius:9px;color:rgba(0,63,38,.68);background:transparent;font:650 11px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;letter-spacing:-.01em;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.ranking-alpha button:first-child{padding-inline:11px}.ranking-alpha button:hover{color:var(--mx-green);background:rgba(0,63,38,.07)}.ranking-alpha button:active{transform:scale(.94)}.ranking-alpha button.is-active{color:white;background:var(--mx-green);box-shadow:0 3px 9px rgba(0,63,38,.2)}.ranking-alpha button:focus-visible{outline:2px solid var(--mx-pink);outline-offset:2px}.ranking-grid__empty{grid-column:1/-1;margin:0;padding:30px;border:1px dashed rgba(0,63,38,.25);text-align:center;font-size:11px}
.ranking-toolbar button{padding:11px 15px;border:0;color:white;background:var(--mx-pink);font-size:8px;font-weight:850;cursor:pointer}.ranking-toolbar p{font-size:9px}
@media(max-width:1000px){.events--own .event-hub-tools{grid-template-columns:1fr 1fr}.event-source-link{grid-column:1/-1}}
@media(max-width:700px){.home-discovery{grid-template-columns:1fr}.event-featured-ad{grid-template-columns:1fr;min-height:0}.event-featured-ad figure{height:min(118vw,610px);padding:24px}.event-featured-ad>div{padding:42px 24px 50px}.events--own .event-hub-tools{grid-template-columns:1fr}.event-source-link{grid-column:auto}.event-city-group>header{grid-template-columns:48px 1fr}.event-city-group>header>span{width:44px}.event-city-group>header>b{grid-column:2}.top100-method{grid-template-columns:1fr}.ranking-toolbar{align-items:flex-start;flex-direction:column}.scene-event-flyer span{line-height:1.5}}

/* Top 100: fichas editoriales horizontales y votación clara por perfil. */
.top100 { display:flex; flex-direction:column; background:#f5f5f2; }
.top100-share-card{position:relative;display:grid;grid-template-columns:minmax(170px,.68fr) minmax(260px,1.25fr) minmax(230px,.8fr);gap:clamp(24px,4vw,68px);align-items:center;margin:34px 0 0;padding:clamp(24px,4vw,52px);overflow:hidden;border-radius:30px;color:white;background:radial-gradient(circle at 12% 18%,rgba(244,20,120,.72),transparent 28%),linear-gradient(135deg,#071b14 0%,#003f26 58%,#075d3c 100%);box-shadow:0 22px 55px rgba(0,45,28,.18)}
.top100-share-card::after{content:"VOTA";position:absolute;right:-.03em;bottom:-.25em;color:rgba(255,255,255,.045);font-size:clamp(110px,19vw,280px);font-weight:950;line-height:1;letter-spacing:-.09em;pointer-events:none}
.top100-share-card__brand,.top100-share-card__copy,.top100-share-card__action{position:relative;z-index:1}.top100-share-card__brand{display:grid;justify-items:start;gap:12px}.top100-share-card__brand img{width:min(100%,210px);max-height:190px;object-fit:contain;padding:12px;border-radius:22px;background:#f4efe4;filter:drop-shadow(0 16px 26px rgba(0,0,0,.18))}.top100-share-card__brand span,.top100-share-card__copy small,.top100-share-card__action>span{font-size:8px;font-weight:900;letter-spacing:.15em}.top100-share-card__copy small{color:var(--mx-pink)}.top100-share-card__copy h3{margin:12px 0 18px;font-size:clamp(42px,5vw,76px);line-height:.78;letter-spacing:-.065em}.top100-share-card__copy h3 em{color:var(--mx-pink);font-style:normal}.top100-share-card__copy p{max-width:48ch;margin:0;color:rgba(255,255,255,.7);font-size:12px;line-height:1.65}.top100-share-card__action{display:grid;gap:11px;align-content:center}.top100-share-card__action>a{color:white;font-size:12px;font-weight:850;overflow-wrap:anywhere;text-underline-offset:4px}.top100-share-card__action button{min-height:48px;padding:13px 18px;border:0;border-radius:999px;color:#003f26;background:var(--mx-pink);font-size:9px;font-weight:950;letter-spacing:.06em;cursor:pointer;transition:transform .2s,background .2s}.top100-share-card__action button:hover{transform:translateY(-2px);background:white}.top100-share-card__action small{min-height:14px;color:rgba(255,255,255,.66);font-size:7px;font-weight:800;letter-spacing:.08em;line-height:1.4}
.top100 > .top100-scene { order:20; margin-top:clamp(54px,8vw,100px); }
.top100 > .top100-apply { order:21; }
.top100 > .ranking-open { order:22; }
.top100-scene{position:relative;margin-top:34px;overflow:hidden;border-radius:28px;background:#061f16;color:white}
.top100-scene__track{position:relative;min-height:clamp(380px,48vw,590px)}
.top100-scene__slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);visibility:hidden;opacity:0;transform:translateX(3%);transition:opacity .55s ease,transform .55s ease,visibility .55s}
.top100-scene__slide.is-active{visibility:visible;opacity:1;transform:none}
.top100-scene__slide>img{width:100%;height:100%;min-height:clamp(380px,48vw,590px);object-fit:cover;filter:saturate(.9) contrast(1.04)}
.top100-scene__slide>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,72px);background:linear-gradient(145deg,#003f26,#06291e)}
.top100-scene__slide small{color:var(--mx-pink);font-size:9px;font-weight:900;letter-spacing:.13em}
.top100-scene__slide h3{margin:18px 0;font-size:clamp(38px,5vw,74px);line-height:.86;letter-spacing:-.065em}
.top100-scene__slide p{max-width:38ch;margin:0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.6}
.top100-scene__slide a{margin-top:30px;color:white;font-size:7px;font-weight:850;letter-spacing:.08em;text-decoration:none;opacity:.55}
.top100-scene__controls{position:absolute;right:22px;bottom:20px;z-index:2;display:flex;gap:13px;align-items:center}
.top100-scene__controls>button{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:white;background:rgba(0,0,0,.24);cursor:pointer}
.top100-scene__controls>div{display:flex;gap:6px}.top100-scene__controls>div button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.38);cursor:pointer}.top100-scene__controls>div button.is-active{width:22px;border-radius:99px;background:var(--mx-pink)}
.top100-method { margin-top:34px; padding:17px 20px; border:0; border-radius:18px; background:rgba(255,255,255,.82); box-shadow:0 8px 28px rgba(0,48,29,.055); }
.top100-method strong { font-size:11px; letter-spacing:.08em; }
.top100-method span { color:rgba(0,63,38,.62); font-size:12px; }
.top100-method button,.top100-method__apply,.ranking-toolbar button { border-radius:999px; }
.top100-method__apply{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;color:white;background:var(--mx-green);font-size:8px;font-weight:900;letter-spacing:.05em;text-decoration:none;white-space:nowrap}
.top100-method__apply:hover{background:var(--mx-pink)}
.top100-filters { gap:7px; padding:6px; border-radius:18px; background:rgba(0,63,38,.055); }
.top100-filters button { border:0; border-radius:13px; }
.ranking-toolbar { margin:32px 0 18px; padding-inline:4px; }
.ranking-toolbar p { color:rgba(0,63,38,.65); font-size:11px; }
.ranking-grid { grid-template-columns:1fr; gap:14px; }
.reveal-ready #ranking-grid { opacity:1!important; transform:none!important; }
.ranking-card { position:relative; grid-template-columns:54px minmax(190px,250px) minmax(0,1fr) minmax(170px,210px); gap:clamp(18px,3vw,42px); min-height:214px; padding:18px 22px 18px 18px; overflow:hidden; border:1px solid rgba(0,63,38,.075); border-radius:28px; background:rgba(255,255,255,.9); box-shadow:0 7px 24px rgba(0,45,28,.045); }
.ranking-card:hover { box-shadow:0 20px 52px rgba(0,45,28,.1); transform:translateY(-3px); }
.ranking-card__rank { align-self:start; padding-top:7px; color:rgba(0,63,38,.38); font-size:20px; font-weight:650; letter-spacing:-.04em; }
.ranking-card__avatar { position:relative; width:100%; height:178px; margin:0; overflow:hidden; border-radius:21px; background:linear-gradient(145deg,var(--mx-green),#087b4e); }
.ranking-card__avatar img { width:100%; height:100%; object-fit:cover; }
.ranking-card__avatar span { position:absolute; inset:0; display:grid; align-content:center; justify-items:center; gap:14px; padding:18px; color:white; background:radial-gradient(circle at 78% 18%,rgba(244,20,120,.92),transparent 31%),linear-gradient(145deg,transparent,rgba(0,0,0,.12)); text-align:center; }
.ranking-card__avatar span b{font-size:clamp(36px,5vw,68px);font-weight:750;line-height:.8;letter-spacing:-.08em}.ranking-card__avatar span small{max-width:18ch;font-size:7px;font-weight:900;line-height:1.45;letter-spacing:.1em}
.ranking-card__copy { align-self:center; min-width:0; }
.ranking-card__copy .ranking-card__meta { margin:0 0 12px; color:var(--mx-pink); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ranking-card__copy h3 { margin:0; font-size:clamp(28px,3.4vw,48px); font-weight:750; line-height:.95; letter-spacing:-.055em; }
.ranking-card__copy .ranking-card__aliases { margin:8px 0 0; color:#8a3ffc; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.ranking-card__genres{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ranking-card__genres span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(0,63,38,.12);border-radius:999px;color:rgba(0,63,38,.78);background:white;font-size:7px;font-weight:850;line-height:1.2;letter-spacing:.035em}.ranking-card__genres i{color:var(--mx-pink);font-style:normal;font-weight:950}
.ranking-card__performance{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ranking-card__performance span{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:5px 9px;border:1px solid rgba(0,63,38,.13);border-radius:999px;color:var(--mx-green);background:#f2f6f1}.ranking-card__performance svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ranking-card__performance b{font-size:7px;font-weight:900;line-height:1;letter-spacing:.09em}.ranking-card__performance .is-producer{color:#7c35cf;background:#f3ebff}.ranking-card__performance .is-vinyl{color:#ad4d00;background:#fff0df}.ranking-card__performance .is-live{color:#d20b65;background:#ffe8f2}.ranking-card__performance .is-hybrid{color:#0756a3;background:#e4f2ff}.ranking-card__performance .is-cdjs{color:#00603c;background:#e5f4eb}
.ranking-card__copy .ranking-card__bio { max-width:68ch; margin:16px 0 0; color:rgba(0,63,38,.62); font-size:13px; line-height:1.6; }
.ranking-card__socials{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.ranking-card__socials a{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border:1px solid rgba(0,63,38,.16);border-radius:999px;color:var(--mx-green);background:transparent;font-size:7px;font-weight:900;letter-spacing:.08em;text-decoration:none}.ranking-card__socials a:hover{color:white;border-color:var(--mx-pink);background:var(--mx-pink)}
.ranking-card__votes { align-self:stretch; display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:18px; padding-left:22px; border-left:1px solid rgba(0,63,38,.1); }
.ranking-card__votes strong { display:flex; min-width:0; align-items:baseline; gap:8px; text-align:left; }
.ranking-card__votes strong span { font-size:34px; line-height:1; letter-spacing:-.06em; }
.ranking-card__votes strong small { color:rgba(0,63,38,.48); font-size:8px; letter-spacing:.1em; }
.ranking-card__votes button { width:100%; height:auto; min-height:46px; padding:12px 14px; border:0; border-radius:13px; color:white; background:var(--mx-green); font-size:9px; font-weight:850; letter-spacing:.045em; }
.ranking-card__votes button:hover:not(:disabled) { background:var(--mx-pink); transform:translateY(-1px); }
.ranking-card__votes button:disabled { cursor:wait; opacity:.65; }
.ranking-card__votes button[aria-pressed=true] { color:var(--mx-green); background:#e4eee6; cursor:pointer; opacity:1; }
.ranking-card__votes button[aria-pressed=true]:hover { color:white; background:var(--mx-pink); }
.ranking-card.is-legend{border-color:rgba(174,126,25,.42);background:linear-gradient(135deg,rgba(255,253,242,.98),rgba(246,226,166,.38) 52%,rgba(255,250,230,.96));box-shadow:0 12px 34px rgba(133,93,12,.13)}
.ranking-card.is-legend:hover{border-color:rgba(174,126,25,.66);box-shadow:0 22px 56px rgba(133,93,12,.2)}
.ranking-card.is-legend::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#8d6414,#f2d678,#a37115)}
.ranking-card.is-legend .ranking-card__rank,.ranking-card.is-legend .ranking-card__meta,.ranking-card.is-legend .ranking-card__genres i{color:#9a6b12}
.ranking-card.is-legend .ranking-card__avatar{border:2px solid #c49a39;box-shadow:0 0 0 4px rgba(196,154,57,.13)}
.ranking-card.is-legend .ranking-card__genres span,.ranking-card.is-legend .ranking-card__socials a{border-color:rgba(154,107,18,.28);color:#76500b;background:rgba(255,252,237,.72)}
.ranking-card.is-legend .ranking-card__votes{border-color:rgba(154,107,18,.22)}
.ranking-card.is-legend .ranking-card__votes strong span{color:#80580d}
.ranking-card.is-legend .ranking-card__votes strong small{color:rgba(118,80,11,.62)}
.ranking-card.is-legend .ranking-card__votes button{color:#fffdf4;background:linear-gradient(135deg,#80580d,#c49a39)}
.ranking-card.is-legend .ranking-card__votes button:hover:not(:disabled){background:linear-gradient(135deg,#a67617,#e0bd63)}
.ranking-card.is-legend .ranking-card__votes button[aria-pressed=true]{color:#76500b;background:#f3e5b8}
.ranking-card.is-mexican-legacy{border-color:rgba(255,218,177,.32);color:#fff8ed;background:linear-gradient(135deg,#49101f,#711b37 54%,#571126);box-shadow:0 14px 38px rgba(74,10,31,.24)}
.ranking-card.is-mexican-legacy:hover{border-color:rgba(255,224,186,.56);box-shadow:0 24px 60px rgba(74,10,31,.34)}
.ranking-card.is-mexican-legacy::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#e6b96d,#fff0c8,#b77a38)}
.ranking-card.is-mexican-legacy .ranking-card__rank,.ranking-card.is-mexican-legacy .ranking-card__meta,.ranking-card.is-mexican-legacy .ranking-card__genres i{color:#efc77f}
.ranking-card.is-mexican-legacy .ranking-card__copy h3{color:#fff8ed}
.ranking-card.is-mexican-legacy .ranking-card__copy .ranking-card__aliases,.ranking-card.is-mexican-legacy .ranking-card__share{color:#efc77f}
.ranking-card.is-mexican-legacy .ranking-card__copy .ranking-card__bio{color:rgba(255,248,237,.74)}
.ranking-card.is-mexican-legacy .ranking-card__avatar{border:2px solid #e2b56a;box-shadow:0 0 0 4px rgba(255,232,190,.13)}
.ranking-card.is-mexican-legacy .ranking-card__genres span,.ranking-card.is-mexican-legacy .ranking-card__socials a{border-color:rgba(255,226,188,.3);color:#fff0d5;background:rgba(255,255,255,.07)}
.ranking-card.is-mexican-legacy .ranking-card__performance span{border-color:rgba(255,226,188,.22)}
.ranking-card.is-mexican-legacy .ranking-card__votes{border-color:rgba(255,226,188,.22)}
.ranking-card.is-mexican-legacy .ranking-card__votes strong span{color:#fff2d6}
.ranking-card.is-mexican-legacy .ranking-card__votes strong small{color:rgba(255,238,210,.62)}
.ranking-card.is-mexican-legacy .ranking-card__votes button{color:#571126;background:linear-gradient(135deg,#e1b366,#fff0c4)}
.ranking-card.is-mexican-legacy .ranking-card__votes button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#b86b48,#dc9370)}
.ranking-card.is-mexican-legacy .ranking-card__votes button[aria-pressed=true]{color:#fff0d5;background:rgba(255,255,255,.14)}
@media(max-width:900px) { .ranking-card{grid-template-columns:42px 180px minmax(0,1fr);min-height:200px}.ranking-card__avatar{height:164px}.ranking-card__votes{grid-column:2/-1;display:grid;grid-template-columns:1fr minmax(180px,.7fr);align-items:center;padding:16px 0 0;border-left:0;border-top:1px solid rgba(0,63,38,.1)} }
@media(max-width:760px){.top100-scene__track{min-height:650px}.top100-scene__slide{grid-template-columns:1fr;grid-template-rows:330px 1fr}.top100-scene__slide>img{min-height:330px}.top100-scene__slide>div{padding:30px 24px 72px}.top100-scene__slide h3{font-size:44px}.top100-scene__controls{right:18px;bottom:16px}}
@media(max-width:820px){.top100-share-card{grid-template-columns:130px 1fr}.top100-share-card__action{grid-column:1/-1}.top100-share-card__brand img{width:130px}}
@media(max-width:540px){.top100-share-card{grid-template-columns:1fr;padding:24px;border-radius:24px}.top100-share-card__brand{grid-template-columns:94px 1fr;align-items:center}.top100-share-card__brand img{width:94px}.top100-share-card__action{grid-column:auto}.top100-share-card__copy h3{font-size:48px}}
@media(max-width:620px) { .top100-method{padding:18px}.top100-filters{flex-wrap:nowrap;overflow-x:auto}.top100-filters button{flex:0 0 auto}.ranking-card{grid-template-columns:38px 1fr;gap:12px;padding:14px;border-radius:24px}.ranking-card__rank{grid-row:1}.ranking-card__avatar{grid-column:2;height:min(68vw,260px)}.ranking-card__copy{grid-column:2}.ranking-card__copy h3{font-size:34px}.ranking-card__copy .ranking-card__bio{font-size:12px}.ranking-card__votes{grid-column:2;grid-template-columns:1fr;gap:12px}.ranking-card__votes strong span{font-size:28px} }

/* Top 100: navegación por escena y género */
.top100-search{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:14px;align-items:center;margin:22px 0 26px;padding:9px 10px 9px 18px;border:1px solid rgba(0,63,38,.18);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 12px 34px rgba(0,48,29,.06);transition:border-color .2s,box-shadow .2s}
.top100-search:focus-within{border-color:var(--mx-green);box-shadow:0 14px 38px rgba(0,83,53,.12)}
.top100-search svg{width:21px;height:21px;fill:none;stroke:var(--mx-green);stroke-width:1.8;stroke-linecap:round}
.top100-search input{width:100%;padding:10px 0;border:0;outline:0;color:var(--mx-green);background:transparent;font:800 12px/1.2 inherit;letter-spacing:.035em}
.top100-search input::placeholder{color:rgba(0,63,38,.42)}
.top100-search input::-webkit-search-cancel-button{cursor:pointer}
.top100-search>span{padding:11px 17px;border-radius:999px;color:white;background:var(--mx-green);font-size:8px;font-weight:900;letter-spacing:.08em}
.top100-apply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin:-10px 0 28px;padding:20px 22px;border-radius:20px;color:white;background:var(--mx-green)}
.top100-apply strong{display:block;margin-bottom:6px;color:var(--mx-pink);font-size:10px;letter-spacing:.08em}
.top100-apply p{max-width:720px;margin:0;color:rgba(255,255,255,.76);font-size:11px;line-height:1.55}
.top100-apply a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;color:var(--mx-green);background:white;font-size:8px;font-weight:950;letter-spacing:.07em;text-decoration:none;white-space:nowrap;transition:transform .2s,background .2s}
.top100-apply a:hover{transform:translateY(-2px);background:var(--mx-pink);color:white}
.top100-filter-block{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:start;margin-top:20px}
.top100-filter-block+.top100-filter-block{margin-top:10px}
.top100-filter-label{padding-top:18px;color:rgba(0,63,38,.55);font-size:8px;font-weight:900;letter-spacing:.12em}
.top100-filter-block .top100-filters{margin:0}
.top100-filter-stack{display:grid;gap:12px;min-width:0}
.top100-select-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.top100-select-filters label{display:grid;gap:7px;color:rgba(0,63,38,.58);font-size:8px;font-weight:900;letter-spacing:.1em}
.top100-select-filters select{width:100%;min-height:48px;padding:0 44px 0 16px;border:1px solid rgba(0,63,38,.16);border-radius:14px;color:var(--mx-green);background:white;font:850 10px/1 inherit;letter-spacing:.035em;cursor:pointer;outline:none}
.top100-select-filters select:focus{border-color:var(--mx-green);box-shadow:0 0 0 3px rgba(0,83,53,.08)}
.top100-clear-filters{grid-column:1/-1;justify-self:start;display:flex;align-items:center;gap:12px;padding:11px 16px;border:1px solid rgba(244,20,120,.32);border-radius:999px;color:var(--mx-pink);background:white;font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:color .2s,background .2s,opacity .2s}.top100-clear-filters span{font-size:16px;line-height:.6}.top100-clear-filters:hover:not(:disabled){color:white;background:var(--mx-pink)}.top100-clear-filters:disabled{opacity:.32;cursor:not-allowed}
.top100-filters--genres{background:rgba(255,255,255,.62)}
.ranking-card__link{display:inline-flex;margin-top:14px;color:var(--mx-pink);font-size:9px;font-weight:900;letter-spacing:.06em;text-decoration:none}
.ranking-card__link:hover{text-decoration:underline}
@media(max-width:620px){.top100-search{grid-template-columns:21px minmax(0,1fr);padding:8px 16px}.top100-search>span{display:none}.top100-search input{font-size:10px}.top100-apply{grid-template-columns:1fr;gap:16px;padding:20px}.top100-apply a{width:100%}.top100-filter-block{grid-template-columns:1fr;gap:6px}.top100-filter-label{padding:0 6px}.top100-select-filters{grid-template-columns:1fr}}

/* Cuenta y candidatura a DJ Hot Spot */
.join-dialog{width:min(850px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}.member-profile-form{display:grid;gap:20px;margin-top:28px;padding-top:28px;border-top:1px solid rgba(0,63,38,.2)}.member-profile-form[hidden]{display:none}.member-profile-form__head{display:flex;justify-content:space-between;gap:24px;align-items:start}.member-profile-form__head small{font-size:8px;font-weight:900;letter-spacing:.12em}.member-profile-form__head h3{margin:8px 0 0;font-size:clamp(28px,4vw,48px);line-height:.86}.member-profile-form__head>span{padding:9px 12px;color:white;background:var(--mx-pink);font-size:7px;font-weight:900}.member-profile-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-profile-form label{display:grid;gap:7px;color:var(--mx-green);font-size:8px;font-weight:850;letter-spacing:.06em}.member-profile-form input,.member-profile-form select,.member-profile-form textarea{width:100%;padding:12px;border:1px solid rgba(0,63,38,.25);border-radius:0;color:var(--mx-black);background:white;font:inherit;font-size:12px}.member-profile-form textarea{resize:vertical;line-height:1.5}.member-profile-form__wide{grid-column:1/-1}.member-profile-form__optin{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;padding:14px;color:white!important;background:var(--mx-green)}.member-profile-form__optin input{width:18px;height:18px}.member-profile-form>button{justify-self:start;padding:13px 18px;color:white;border:0;background:var(--mx-pink);font-size:9px;font-weight:900;cursor:pointer}.member-profile-message{min-height:18px;margin:0;font-size:10px;line-height:1.5}
@media(max-width:620px){.member-profile-form__head{display:grid}.member-profile-form__grid{grid-template-columns:1fr}.member-profile-form__wide{grid-column:auto}}
@media(max-width:620px) { .label-soundcloud { margin-inline: -12px; }.label-soundcloud > header { align-items: start; flex-direction: column; }.label-track-links a { grid-template-columns: 30px 1fr; }.label-track-links i { grid-column: 2; }.label-path__options h4 { margin-top: 35px; } }

/* Sello: lectura cómoda para las dos rutas de lanzamiento */
.label-path > header { grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr) auto; gap:clamp(28px,4vw,72px); padding:38px 0; }
.label-path > header span { font-size:11px; }
.label-path > header h3 { margin-top:12px; font-size:clamp(48px,5.5vw,78px); }
.label-path > header p { max-width:62ch; font-size:17px; line-height:1.7; }
.label-path > header a { padding:16px 21px; font-size:12px; }
.label-path__options { gap:18px; margin-top:28px; }
.label-path__options article { min-height:620px; padding:clamp(32px,4.5vw,64px); }
.label-path__options article > div { align-items:baseline; font-size:11px; line-height:1.4; }
.label-path__options article > div small { font-size:10px; font-weight:850; }
.label-path__options h4 { margin:58px 0 30px; font-size:clamp(46px,5.2vw,76px); }
.label-path__options p { max-width:54ch; font-size:17px; line-height:1.7; opacity:.8; }
.label-path__options ul { gap:15px; margin:34px 0 48px; font-size:14px; line-height:1.45; }
.label-path__options li { display:flex; align-items:baseline; }
.label-path__options li::before { flex:0 0 auto; margin-right:12px; }
.label-path__options article > a { padding-bottom:7px; font-size:12px; line-height:1.4; }
.label-path__legal { max-width:100ch; margin-top:20px; font-size:11px; line-height:1.7; }
@media(max-width:1000px) { .label-path > header{grid-template-columns:1fr}.label-path > header a{justify-self:start}.label-path__options article{min-height:570px} }
@media(max-width:620px) { .label-path > header p,.label-path__options p{font-size:16px}.label-path__options ul{font-size:14px}.label-path__options article{min-height:0}.label-path__options article>a{margin-top:20px;font-size:11px}.label-path__legal{font-size:10px} }

/* Noticias: el flyer oficial es la imagen principal */
.mx-news__art { padding:0; background:#071f17; }
.mx-news__art::after { display:none; }
.mx-news__art img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.mx-news__art img.news-image--contain { padding:clamp(20px,4vw,58px); object-fit:contain; }
.mx-news__art::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.04) 48%,rgba(0,0,0,.76)); pointer-events:none; }
.mx-news__art span,.mx-news__art i { position:absolute; z-index:2; margin:24px; padding:8px 10px; color:white; background:rgba(0,63,38,.86); backdrop-filter:blur(8px); }
.mx-news__art span { top:0; left:0; font-size:10px; }
.mx-news__art i { right:0; bottom:0; color:white; background:var(--mx-pink); font-size:12px; }

/* Fichas internas de noticias */
.news-detail { width:min(1180px,calc(100vw - 36px)); max-height:calc(100vh - 36px); padding:0; overflow:auto; border:0; border-radius:34px 10px 34px 10px; color:var(--mx-green); background:#f1f0eb; box-shadow:0 34px 100px rgba(0,0,0,.45); }
.news-detail::backdrop { background:rgba(0,25,16,.76); backdrop-filter:blur(8px); }
.news-detail__close { position:fixed; z-index:5; top:calc(50% - min(50vh - 18px,430px) + 18px); right:max(34px,calc(50% - 572px)); display:grid; width:48px; aspect-ratio:1; place-items:center; border:0; border-radius:50%; color:white; background:var(--mx-pink); font-size:28px; cursor:pointer; }
#news-detail-content { display:grid; grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr); min-height:720px; }
#news-detail-content figure { position:sticky; top:0; height:min(86vh,820px); margin:0; overflow:hidden; background:#071f17; }
#news-detail-content figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
#news-detail-content figure img.news-image--contain { padding:clamp(20px,4vw,58px); object-fit:contain; }
#news-detail-content article { display:flex; flex-direction:column; align-items:flex-start; padding:clamp(55px,7vw,100px); }
.news-detail__meta { max-width:50ch; margin:0; color:var(--mx-pink); font-size:10px; font-weight:900; line-height:1.5; letter-spacing:.1em; }
.news-detail h2 { margin:28px 0; font-size:clamp(44px,6vw,82px); line-height:.87; letter-spacing:-.065em; }
.news-detail__lead { max-width:38ch; font-size:clamp(18px,2vw,25px); line-height:1.35; }
.news-detail__copy { margin:32px 0 45px; border-top:1px solid rgba(0,63,38,.18); }
.news-detail__copy p { max-width:62ch; margin:0; padding:19px 0; border-bottom:1px solid rgba(0,63,38,.18); font-size:15px; line-height:1.7; }
.news-detail__community { margin-top:auto; padding:17px 20px; border-radius:999px; color:white; background:var(--mx-green); font-size:11px; font-weight:900; line-height:1.35; text-decoration:none; }
.news-detail__community:hover { background:var(--mx-pink); }
@media(max-width:760px) { #news-detail-content{grid-template-columns:1fr}.news-detail__close{position:absolute;top:14px;right:14px}#news-detail-content figure{position:relative;height:54vh}.news-detail h2{font-size:clamp(38px,12vw,60px)}#news-detail-content article{padding:40px 24px}.news-detail__community{width:100%;text-align:center} }

/* La Escena Hoy: radar editorial amplio, legible y sin navegación por fechas. */
.mx-news { padding-block:clamp(90px,11vw,170px); background:#f4f3ee; }
.mx-news__head { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr); align-items:end; gap:clamp(40px,8vw,130px); margin-bottom:clamp(55px,7vw,95px); padding-bottom:32px; border-bottom:1px solid rgba(0,63,38,.3); }
.mx-news__head h2 { max-width:10ch; margin-top:18px; font-size:clamp(58px,8.5vw,132px); line-height:.83; letter-spacing:-.075em; }
.mx-news__head > p { max-width:34ch; margin:0; font-size:clamp(16px,1.4vw,21px); line-height:1.55; }
.mx-news__slider { overflow:hidden; border-top:1px solid var(--mx-green); border-bottom:1px solid var(--mx-green); background:transparent; }
.mx-news__feature { grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); min-height:clamp(570px,66vw,790px); }
.mx-news__art { min-height:inherit; }
.mx-news__art span { margin:30px; padding:9px 13px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(0,30,20,.66); font-size:10px; letter-spacing:.14em; }
.mx-news__art i { margin:30px; padding:0; color:white; background:transparent; font-size:clamp(42px,6vw,88px); line-height:.8; letter-spacing:-.08em; }
.mx-news__copy { justify-content:flex-end; padding:clamp(42px,6vw,94px); border-left:1px solid rgba(0,63,38,.22); }
.mx-news__copy > p:first-child { margin:0 0 auto; font-size:10px; letter-spacing:.14em; }
.mx-news__copy h3 { max-width:12ch; margin:clamp(55px,9vw,130px) 0 28px; font-size:clamp(46px,5.2vw,78px); line-height:.9; }
.mx-news__copy > p:nth-of-type(2) { max-width:42ch; margin-bottom:42px; font-size:clamp(16px,1.25vw,19px); line-height:1.7; }
.mx-news__open { padding:0 0 8px; border-bottom:2px solid var(--mx-pink); border-radius:0; color:var(--mx-green); background:transparent; font-size:11px; letter-spacing:.1em; }
.mx-news__open:hover { color:var(--mx-pink); background:transparent; }
.mx-news__controls { justify-content:space-between; padding:18px 0; color:var(--mx-green); background:transparent; }
.mx-news__controls button { border:1px solid rgba(0,63,38,.35); background:transparent; }
.mx-news__list { display:block; margin-top:clamp(65px,8vw,110px); border-top:1px solid var(--mx-green); }
.mx-news__list button { width:100%; display:grid; grid-template-columns:150px minmax(220px,.8fr) minmax(280px,1.1fr) 150px; gap:clamp(22px,4vw,65px); align-items:start; min-height:0; padding:32px 0; border-bottom:1px solid rgba(0,63,38,.25); transition:padding .25s ease,color .25s ease; }
.mx-news__list button:hover,.mx-news__list button.is-active { padding-left:16px; color:var(--mx-pink); }
.mx-news__list small { font-size:9px; line-height:1.5; letter-spacing:.1em; white-space:normal; }
.mx-news__list strong { font-size:clamp(19px,2vw,29px); line-height:1.05; letter-spacing:-.035em; }
.mx-news__list span { max-width:55ch; color:rgba(0,63,38,.68); font-size:14px; line-height:1.65; }
.mx-news__list button:hover span,.mx-news__list button.is-active span { color:rgba(245,0,120,.75); }
.mx-news__list em { justify-self:end; font-size:11px; font-style:normal; font-weight:800; line-height:1.4; text-align:right; }
@media(max-width:900px) { .mx-news__head{grid-template-columns:1fr}.mx-news__feature{grid-template-columns:1fr}.mx-news__art{min-height:440px}.mx-news__copy{min-height:520px;border-left:0;border-top:1px solid rgba(0,63,38,.22)}.mx-news__list button{grid-template-columns:110px 1fr}.mx-news__list span{grid-column:2}.mx-news__list em{grid-column:2;justify-self:start;text-align:left} }
@media(max-width:560px) { .mx-news{padding-inline:20px}.mx-news__head h2{font-size:clamp(54px,17vw,82px)}.mx-news__art{min-height:310px}.mx-news__copy{min-height:470px;padding:34px 22px}.mx-news__copy h3{margin-top:70px;font-size:clamp(40px,12vw,56px)}.mx-news__list button{grid-template-columns:1fr;gap:11px;padding:26px 0}.mx-news__list button:hover,.mx-news__list button.is-active{padding-left:8px}.mx-news__list small,.mx-news__list span,.mx-news__list em{grid-column:1}.mx-news__list em{margin-top:5px} }

/* Filtro de fecha: control ligero inspirado en interfaces de sistema. */
.mx-news__filter { position:sticky; z-index:5; top:86px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px; margin:0 0 28px; padding:10px 12px 10px 20px; border:1px solid rgba(0,63,38,.12); border-radius:22px; background:rgba(250,250,247,.86); box-shadow:0 14px 42px rgba(0,45,28,.08); backdrop-filter:saturate(170%) blur(22px); -webkit-backdrop-filter:saturate(170%) blur(22px); }
.mx-news__filter > span,.mx-news__filter output { color:rgba(0,63,38,.62); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.mx-news__filter output { min-width:72px; text-align:right; }
#mx-news-dates { display:flex; justify-content:center; gap:4px; overflow-x:auto; padding:3px; border-radius:15px; background:rgba(0,63,38,.065); scrollbar-width:none; }
#mx-news-dates::-webkit-scrollbar { display:none; }
#mx-news-dates button { flex:0 0 auto; min-height:38px; padding:0 18px; border:0; border-radius:12px; color:rgba(0,63,38,.68); background:transparent; font-size:12px; font-weight:750; cursor:pointer; transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease; }
#mx-news-dates button:hover { color:var(--mx-green); background:rgba(255,255,255,.62); }
#mx-news-dates button.is-active { color:var(--mx-green); background:#fff; box-shadow:0 3px 12px rgba(0,45,28,.12),0 0 0 1px rgba(0,63,38,.04); }
#mx-news-dates button:active { transform:scale(.97); }
#mx-news-dates button:focus-visible { outline:3px solid rgba(245,0,120,.3); outline-offset:2px; }
@media(max-width:760px) { .mx-news__filter{position:relative;top:auto;grid-template-columns:1fr auto;padding:12px 14px}.mx-news__filter>span{grid-column:1}.mx-news__filter output{grid-column:2}.mx-news__filter #mx-news-dates{grid-column:1/-1;grid-row:2;justify-content:flex-start}.mx-news__filter output{grid-row:1} }

/* Eventos ELREIV: gráfica mexa contemporánea + tótems con lentes raver */
.events--own { background:#b93f28; }
.own-events__grid { gap:14px; border:0; }
.own-event { --event-a:#f41478; --event-b:#003f26; min-height:560px; padding:clamp(26px,4vw,52px); border:0!important; border-radius:58px 14px 58px 14px; background-color:var(--event-b); background-image:linear-gradient(0deg,rgba(0,25,16,.92),transparent 62%),repeating-linear-gradient(45deg,transparent 0 22px,rgba(255,255,255,.075) 23px 25px),radial-gradient(circle at 18px 18px,var(--event-a) 0 4px,transparent 5px); background-size:auto,auto,36px 36px; box-shadow:0 20px 55px rgba(67,20,8,.22); }
.own-event:nth-child(2n) { border-radius:14px 58px 14px 58px; }
.own-event::before { width:54%; aspect-ratio:1; right:-6%; top:-8%; border:18px solid rgba(255,255,255,.12); border-radius:50%; transform:none; box-shadow:0 0 0 3px var(--event-a),0 0 0 22px rgba(255,255,255,.07); }
.own-event::after { content:'◆  ✦  ◆  ✦  ◆'; position:absolute; left:0; right:0; top:20px; overflow:hidden; color:rgba(255,255,255,.18); font-size:20px; font-weight:950; letter-spacing:1.25em; white-space:nowrap; transform:rotate(-2deg); }
.own-event--omdelu { --event-a:#ffd23f; --event-b:#087a4a; }
.own-event--aztlan { --event-a:#ff7a18; --event-b:#095a42; }
.own-event--alebrijes { --event-a:#f41478; --event-b:#7137b8; background-color:var(--event-b); background-image:linear-gradient(0deg,rgba(31,8,45,.94),transparent 62%),repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,210,63,.12) 19px 22px),radial-gradient(circle at 16px 16px,#20d5c5 0 4px,transparent 5px); background-size:auto,auto,32px 32px; }
.own-event--xtsyx { --event-a:#20d5c5; --event-b:#003f26; }
.own-event small { padding:8px 11px; align-self:flex-start; border-radius:999px; color:var(--event-b); background:#f5f0e8; font-size:9px; }
.own-event b { max-width:92%; font-size:clamp(52px,6vw,92px); text-shadow:0 4px 0 rgba(0,0,0,.15); }
.own-event p { font-size:10px; }
.own-event > span { font-size:10px; }
.own-event__totem { position:absolute; z-index:1; top:15%; right:8%; display:grid; width:clamp(150px,20vw,255px); aspect-ratio:1; place-items:center; border:2px solid rgba(255,255,255,.55); border-radius:46% 54% 62% 38%; background:rgba(245,240,232,.14); transform:rotate(7deg); backdrop-filter:blur(4px); transition:transform .3s ease; }
.own-event:nth-child(even) .own-event__totem { right:auto; left:8%; transform:rotate(-7deg); }
.own-event:hover .own-event__totem { transform:rotate(0) scale(1.04); }
.own-event__totem i { position:relative; z-index:1; font-size:clamp(78px,11vw,145px); font-style:normal; line-height:1; filter:drop-shadow(0 12px 8px rgba(0,0,0,.2)); }
.own-event__totem em { position:absolute; z-index:2; top:43%; left:50%; display:flex; gap:5px; transform:translate(-50%,-50%) rotate(-4deg); }
.own-event__totem em::before { content:''; position:absolute; left:50%; top:45%; width:12px; height:5px; background:#111; transform:translate(-50%,-50%); }
.own-event__totem u { display:block; width:clamp(40px,5vw,62px); height:clamp(24px,3vw,37px); border:5px solid #111; border-radius:8px 8px 18px 18px; background:linear-gradient(145deg,#fffb00 0 28%,#ff168f 29% 56%,#5af4ff 57%); box-shadow:0 6px 0 rgba(0,0,0,.18); text-decoration:none; }
@media(max-width:700px) { .own-event{min-height:470px;border-radius:42px 12px!important}.own-event__totem{width:170px;top:16%;right:6%!important;left:auto!important}.own-event b{max-width:100%;font-size:clamp(46px,14vw,68px)} }
/* Academia breve en Inicio; el programa completo vive en /academia. */
#academia { display:none; }
body.academy-page #academia { display:block; }
body.academy-page .academy-home-preview { display:none; }
body.academy-page main > :not(#academia) { display:none!important; }
.academy-home-preview { color:var(--mx-green); background:#f4f2ea; }
.academy-preview-head { display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:end; margin-bottom:34px; }
.academy-preview-head h2 { margin:10px 0 0; font-size:clamp(55px,8vw,116px); line-height:.8; letter-spacing:-.075em; }
.academy-preview-head h2 span { color:var(--mx-pink); }
.academy-preview-head > p { max-width:47ch; margin:0 0 8px; color:rgba(0,63,38,.65); font-size:14px; line-height:1.65; }
.academy-preview-stage { position:relative; overflow:hidden; border-radius:30px; background:#fff; box-shadow:0 24px 70px rgba(0,49,30,.1); }
.academy-preview-track { position:relative; min-height:clamp(560px,58vw,720px); }
.academy-preview-slide { position:absolute; inset:0; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); visibility:hidden; opacity:0; transform:translateX(2%); transition:opacity .55s ease,transform .55s ease,visibility .55s; }
.academy-preview-slide.is-active { visibility:visible; opacity:1; transform:none; }
.academy-preview-slide figure { margin:0; overflow:hidden; background:var(--mx-green); }
.academy-preview-slide img { width:100%; height:100%; object-fit:cover; }
.academy-preview-slide > div { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,5vw,75px); color:#fff; background:linear-gradient(145deg,#003f26,#075c3b); }
.academy-preview-slide small { color:#ff78b5; font-size:9px; font-weight:900; letter-spacing:.14em; }
.academy-preview-slide h3 { margin:22px 0; font-size:clamp(42px,5.7vw,80px); line-height:.82; letter-spacing:-.065em; }
.academy-preview-slide p { max-width:38ch; margin:0; color:rgba(255,255,255,.72); font-size:14px; line-height:1.65; }
.academy-preview-slide a { align-self:flex-start; margin-top:30px; padding:13px 16px; color:var(--mx-green); border-radius:999px; background:#fff; font-size:8px; font-weight:900; text-decoration:none; }
.academy-preview-stage footer { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; padding:15px 22px 18px; border-top:1px solid rgba(0,63,38,.12); }
.academy-preview-stage footer > div:first-child { display:flex; align-items:center; gap:9px; }
.academy-preview-stage footer button { display:grid; width:40px; height:40px; place-items:center; padding:0; color:var(--mx-green); border:1px solid rgba(0,63,38,.2); border-radius:50%; background:#fff; cursor:pointer; }
.academy-preview-stage footer span { margin-left:7px; font-size:9px; font-weight:850; letter-spacing:.08em; }
.academy-preview-dots { display:flex; gap:6px; }
.academy-preview-dots button { width:7px!important; height:7px!important; border:0!important; background:rgba(0,63,38,.25)!important; transition:width .25s ease; }
.academy-preview-dots button.is-active { width:25px!important; border-radius:999px; background:var(--mx-pink)!important; }
.academy-preview-stage footer > i { position:absolute; left:0; bottom:0; width:0; height:3px; background:var(--mx-pink); }
.academy-preview-stage footer > i.is-running { animation:academyPreviewProgress 10s linear both; }
@keyframes academyPreviewProgress { to{width:100%} }
.academy-preview-all { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding:20px 24px; color:#fff; border-radius:16px; background:var(--mx-pink); font-size:11px; font-weight:900; text-decoration:none; }
.academy-preview-all span { font-size:22px; }
@media(max-width:850px) { .academy-preview-head{grid-template-columns:1fr}.academy-preview-stage{border-radius:22px}.academy-preview-track{min-height:760px}.academy-preview-slide{grid-template-columns:1fr;grid-template-rows:54% 46%}.academy-preview-slide>div{padding:32px 27px}.academy-preview-slide h3{font-size:clamp(40px,10vw,64px)} }
@media(max-width:560px) { .academy-preview-track{min-height:680px}.academy-preview-slide{grid-template-rows:43% 57%}.academy-preview-slide p{font-size:12px}.academy-preview-stage footer{align-items:flex-start;flex-direction:column}.academy-preview-dots{position:absolute;right:18px;top:31px}.academy-preview-head h2{font-size:clamp(52px,15vw,78px)} }
@media(prefers-reduced-motion:reduce) { .academy-preview-slide{transition:none}.academy-preview-stage footer>i{animation:none!important} }

/* Academia: maestros */
.academy-teachers { padding:clamp(95px,13vw,180px) 0; }
.academy-teachers > header { display:grid; grid-template-columns:1.15fr .85fr; gap:7vw; align-items:end; margin-bottom:55px; }
.academy-teachers h3 { margin:12px 0 0; color:var(--academy-green); font-size:clamp(54px,7.4vw,108px); line-height:.82; letter-spacing:-.075em; }
.academy-teachers h3 em { color:var(--academy-pink); font-style:normal; }
.academy-teachers > header > p { max-width:540px; margin:0 0 8px; color:rgba(0,63,38,.68); font-size:14px; line-height:1.7; }
.academy-teachers__deck { outline:none; }
.academy-teachers__deck:focus-visible { outline:2px solid var(--academy-pink); outline-offset:8px; }
.academy-teacher { display:grid; grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr); min-height:680px; overflow:hidden; border-radius:72px 16px 72px 16px; color:white; background:var(--academy-green); animation:academyTeacherIn .5s cubic-bezier(.16,1,.3,1); }
.academy-teacher[hidden] { display:none; }
@keyframes academyTeacherIn { from { opacity:0; transform:translateX(22px); } }
.academy-teacher__portrait { position:relative; display:grid; min-height:620px; place-items:center; overflow:hidden; background:radial-gradient(circle at 68% 25%,rgba(244,20,120,.9),transparent 22%),repeating-linear-gradient(125deg,transparent 0 31px,rgba(255,255,255,.055) 32px 33px),linear-gradient(155deg,#124f39,#001f13); }
.academy-teacher__portrait::before { content:''; position:absolute; inset:7%; border:1px solid rgba(255,255,255,.35); border-radius:48% 52% 42% 58%; transform:rotate(-5deg); }
.academy-teacher__portrait--alt { background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.2),transparent 20%),repeating-linear-gradient(55deg,transparent 0 25px,rgba(255,255,255,.055) 26px 27px),linear-gradient(145deg,#f41478,#6f0635); }
.academy-teacher__portrait span { position:relative; z-index:1; font-size:10px; font-weight:900; line-height:1.5; letter-spacing:.2em; text-align:center; }
.academy-teacher__portrait b { position:absolute; right:28px; bottom:22px; color:rgba(255,255,255,.2); font-size:clamp(90px,12vw,180px); line-height:.72; letter-spacing:-.08em; }
.academy-teacher__copy { display:flex; flex-direction:column; padding:clamp(38px,5.5vw,82px); }
.academy-teacher__copy > p:first-child { margin:0; color:#ff78b5; font-size:8px; font-weight:900; letter-spacing:.16em; }
.academy-teacher h4 { margin:30px 0 13px; font-size:clamp(55px,7vw,100px); line-height:.77; letter-spacing:-.075em; }
.academy-teacher__aliases { margin-bottom:32px; font-size:10px; font-weight:900; letter-spacing:.13em; opacity:.7; }
.academy-teacher__bio { max-width:720px; margin:0 0 14px; color:rgba(255,255,255,.72); font-size:13px; line-height:1.7; }
.academy-teacher__offer { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 25px; }
.academy-teacher__offer span { padding:9px 12px; border-radius:999px; color:var(--academy-green); background:#ff78b5; font-size:7px; font-weight:900; letter-spacing:.1em; }
.academy-teacher h5 { margin:18px 0 12px; color:#ff78b5; font-size:8px; letter-spacing:.16em; }
.academy-teacher__topics { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.academy-teacher__topics li { display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:center; padding:9px 0; border:0; border-top:1px solid rgba(255,255,255,.17); border-radius:0; font-size:10px; line-height:1.4; letter-spacing:0; }
.academy-teacher__topics li b { color:#ff78b5; font-size:8px; }
.academy-teacher ul { display:flex; flex-wrap:wrap; gap:7px; margin:auto 0 0; padding:30px 0 0; list-style:none; }
.academy-teacher ul li { padding:9px 12px; border:1px solid rgba(255,255,255,.24); border-radius:999px; font-size:7px; font-weight:850; letter-spacing:.1em; }
.academy-teachers__nav { display:grid; grid-template-columns:auto auto 1fr; gap:20px; align-items:center; padding:20px 4px 0; color:var(--academy-green); }
.academy-teachers__nav > span { min-width:66px; font-size:9px; font-weight:800; }.academy-teachers__nav > span b { color:var(--academy-pink); font-size:16px; }
.academy-teachers__nav > div { display:flex; gap:8px; }
.academy-teachers__nav button { display:grid; width:46px; aspect-ratio:1; place-items:center; border:1px solid rgba(0,63,38,.28); border-radius:50%; color:var(--academy-green); background:white; font:inherit; cursor:pointer; transition:color .2s,background .2s,transform .2s; }
.academy-teachers__nav button:hover { color:white; background:var(--academy-pink); transform:translateY(-2px); }
.academy-teachers__nav > p { justify-self:end; margin:0; font-size:7px; font-weight:850; letter-spacing:.12em; opacity:.52; }
@media(max-width:900px) { .academy-teachers>header,.academy-teacher{grid-template-columns:1fr}.academy-teacher{border-radius:54px 14px}.academy-teacher__portrait{min-height:540px}.academy-teacher__copy{min-height:620px}.academy-teachers>header>p{font-size:15px} }
@media(max-width:620px) { .academy-teachers{padding-block:80px}.academy-teachers>header{gap:22px;margin-bottom:35px}.academy-teacher{border-radius:38px 10px}.academy-teacher__portrait{min-height:430px}.academy-teacher__copy{min-height:0;padding:34px 24px 38px}.academy-teacher h4{font-size:clamp(52px,17vw,72px)}.academy-teacher__bio{font-size:14px}.academy-teacher ul{margin-top:20px}.academy-teachers__nav{grid-template-columns:auto 1fr}.academy-teachers__nav>div{justify-self:end}.academy-teachers__nav>p{display:none} }
@media(prefers-reduced-motion:reduce) { .academy-teacher{animation:none}.academy-teachers__nav button{transition:none} }

/* Academia: fichas editoriales de maestros */
.academy-teacher { grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr); min-height:760px; border:1px solid rgba(0,63,38,.1); border-radius:48px; color:var(--academy-green); background:rgba(255,255,255,.92); box-shadow:0 34px 90px rgba(0,63,38,.13); }
.academy-teacher__portrait { min-height:760px; margin:0; place-items:stretch; background:var(--academy-green); }
.academy-teacher__portrait::before { z-index:2; inset:22px; border-color:rgba(255,255,255,.48); border-radius:29px; transform:none; pointer-events:none; }
.academy-teacher__portrait::after { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(0,31,19,.72) 100%); pointer-events:none; }
.academy-teacher__portrait img { width:100%; height:100%; min-height:760px; object-fit:cover; object-position:center; filter:saturate(.9) contrast(1.04); transition:transform .8s cubic-bezier(.16,1,.3,1),filter .45s ease; }
.academy-teacher__portrait figcaption { position:absolute; z-index:3; left:42px; bottom:38px; color:white; font-size:8px; font-weight:900; letter-spacing:.16em; }
.academy-teacher__portrait b { z-index:3; top:40px; right:40px; bottom:auto; color:white; font-size:15px; line-height:1; letter-spacing:.08em; }
.academy-teacher__copy { justify-content:center; padding:clamp(52px,6vw,96px); }
.academy-teacher__copy > p:first-child { color:var(--academy-pink); font-size:9px; }
.academy-teacher h4 { max-width:7ch; margin:35px 0 18px; font-size:clamp(64px,8vw,118px); line-height:.78; }
.academy-teacher__aliases { margin-bottom:30px; color:rgba(0,63,38,.58); }
.academy-teacher__offer { margin-bottom:34px; }
.academy-teacher__offer span { padding:10px 14px; color:white; background:var(--academy-green); }
.academy-teacher__offer span:first-child { background:var(--academy-pink); }
.academy-teacher__bio { max-width:58ch; margin:0 0 24px; padding-left:18px; border-left:3px solid var(--academy-pink); color:rgba(0,63,38,.78); font-size:clamp(15px,1.18vw,18px); font-weight:480; line-height:1.78; letter-spacing:-.012em; text-wrap:pretty; }
.academy-teacher__contact { display:grid; grid-template-columns:1fr auto; gap:5px 18px; align-items:center; max-width:560px; margin:0 0 20px; padding:17px 19px; border:1px solid rgba(0,63,38,.13); border-radius:18px; color:var(--academy-green); background:rgba(0,63,38,.055); text-decoration:none; transition:color .25s ease,background .25s ease,transform .25s ease,border-color .25s ease; }
.academy-teacher__contact span { font-size:7px; font-weight:900; letter-spacing:.15em; opacity:.62; }
.academy-teacher__contact strong { grid-column:1; font-size:19px; letter-spacing:-.025em; }
.academy-teacher__contact b { grid-column:2; grid-row:1/3; padding:11px 14px; border-radius:999px; color:white; background:var(--academy-green); font-size:8px; letter-spacing:.08em; }
.academy-teacher__contact:hover { color:white; border-color:var(--academy-pink); background:var(--academy-pink); transform:translateY(-2px); }
.academy-teacher__contact:hover b { color:var(--academy-green); background:white; }
.academy-teacher h5 { margin-top:24px; color:var(--academy-pink); }
.academy-teacher__topics { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
.academy-teacher__topics li { grid-template-columns:32px 1fr; min-height:60px; padding:13px 0; border-top-color:rgba(0,63,38,.14); font-size:11px; }
.academy-teacher__topics li b { color:var(--academy-pink); }
@media(hover:hover) { .academy-teacher:hover .academy-teacher__portrait img { transform:scale(1.035); filter:saturate(1.02) contrast(1.05); } }
@media(max-width:900px) { .academy-teacher{grid-template-columns:1fr;min-height:0;border-radius:40px}.academy-teacher__portrait,.academy-teacher__portrait img{min-height:680px}.academy-teacher__copy{min-height:0}.academy-teacher__topics{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:620px) { .academy-teacher{border-radius:30px}.academy-teacher__portrait,.academy-teacher__portrait img{min-height:520px}.academy-teacher__portrait::before{inset:12px;border-radius:20px}.academy-teacher__portrait figcaption{left:28px;bottom:26px}.academy-teacher__portrait b{top:28px;right:28px}.academy-teacher__copy{padding:46px 26px 42px}.academy-teacher h4{font-size:clamp(58px,18vw,82px)}.academy-teacher__topics{grid-template-columns:1fr}.academy-teacher__bio{padding-left:14px;font-size:16px;line-height:1.72}.academy-teacher__contact{grid-template-columns:1fr;padding:16px}.academy-teacher__contact b{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px} }

/* Menú móvil: panel independiente, desplazable y sin solaparse con la página. */
@media(max-width:850px) {
  body.menu-open { overflow:hidden; overscroll-behavior:none; }
  .site-header,
  .site-header.is-scrolled { z-index:100; overflow:visible; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .site-header .main-nav {
    position:fixed;
    z-index:99;
    inset:74px 0 auto;
    width:100%;
    height:calc(100dvh - 74px);
    max-height:none;
    margin:0;
    padding:18px 18px calc(34px + env(safe-area-inset-bottom));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    border:0;
    border-top:1px solid rgba(0,63,38,.12);
    border-radius:0;
    background:#fffdf7;
    box-shadow:0 24px 45px rgba(0,40,24,.16);
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
  }
  .site-header .main-nav:not(.is-open) { display:none; }
  .site-header .main-nav.is-open { display:flex; }
  .main-nav > a,
  .nav-more > summary {
    display:flex;
    width:100%;
    min-height:58px;
    align-items:center;
    justify-content:space-between;
    padding:14px 8px;
    border-bottom:1px solid rgba(0,63,38,.13);
    color:var(--mx-green);
    font-size:clamp(18px,5vw,24px);
    line-height:1.15;
  }
  .nav-more { width:100%; }
  .nav-more > summary span { font-size:22px; transition:transform .2s ease; }
  .nav-more[open] > summary span { transform:rotate(180deg); }
  .nav-more__menu {
    position:static;
    min-width:0;
    padding:6px 0 12px 18px;
    background:#f2f6ef;
    box-shadow:none;
  }
  .nav-more__menu a {
    display:flex;
    min-height:50px;
    align-items:center;
    padding:12px 14px;
    border-bottom:1px solid rgba(0,63,38,.1);
    border-radius:0;
    color:var(--mx-green);
    font-size:16px;
  }
  .menu-button { position:relative; z-index:101; min-width:102px; min-height:44px; white-space:nowrap; }
}

@media(max-width:560px) {
  .site-header .main-nav { inset-block-start:74px; height:calc(100dvh - 74px); padding-inline:14px; }
}

/* Portada lista: elimina el vacío heredado del antiguo indicador de progreso. */
body:not(.route-view) .editorial-home {
  padding-top:clamp(24px,3vw,42px);
}
body:not(.route-view) .editorial-home__head {
  min-height:58px;
}
body:not(.route-view) .identity-hero {
  min-height:clamp(500px,50vw,610px);
  margin-top:18px;
  margin-bottom:clamp(46px,6vw,72px);
}
body:not(.route-view) .identity-hero__copy {
  padding-block:clamp(34px,4vw,58px);
}
body:not(.route-view) .identity-hero__copy > h1 {
  margin-block:18px 20px;
}
body:not(.route-view) .identity-hero__logo {
  max-height:560px;
}

@media(max-width:850px) {
  body:not(.route-view) .editorial-home { padding-top:18px; }
  body:not(.route-view) .editorial-home__head { min-height:48px; }
  body:not(.route-view) .identity-hero { min-height:0; margin-top:10px; }
  body:not(.route-view) .identity-hero__copy { padding:32px 7% 12px; }
  body:not(.route-view) .identity-hero__art { min-height:360px; }
}

@media(max-width:560px) {
  body:not(.route-view) .editorial-home { padding-top:12px; }
  body:not(.route-view) .identity-hero__copy { padding:26px 20px 8px; }
  body:not(.route-view) .identity-hero__art { min-height:285px; }
}

/* Mi Perfil y catálogo visual del sello */
body:not(.route-view) #mi-perfil{display:none}.release-entry__cover{grid-column:1/-1;width:100%;aspect-ratio:1.35/1;object-fit:cover;border-bottom:1px solid rgba(0,63,38,.1)}.release-entry:has(.release-entry__cover){grid-template-rows:auto 1fr auto}.release-entry:has(.release-entry__cover) .release-entry__number{grid-row:2/4}.release-entry:has(.release-entry__cover) .release-entry__main{grid-column:2;grid-row:2}.release-entry:has(.release-entry__cover) .release-entry__buy{grid-column:2;grid-row:3}
.member-hub{min-height:calc(100vh - 94px);padding-top:48px;background:#f4f3ee}.member-hub__hero{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding-bottom:34px;border-bottom:1px solid rgba(0,63,38,.14)}.member-hub__hero h1{margin:10px 0 0;font-size:clamp(66px,10vw,142px);line-height:.75;letter-spacing:-.075em}.member-hub__identity{display:grid;justify-items:end;gap:4px}.member-hub__identity img{width:110px;margin-bottom:12px}.member-hub__identity span{color:var(--mx-pink);font-size:8px;font-weight:900;letter-spacing:.12em}.member-hub__identity strong{font-size:20px}.member-hub__identity small{color:#66766d}.member-nav{position:sticky;top:94px;z-index:8;display:flex;gap:4px;padding:13px 0;background:rgba(244,243,238,.94);backdrop-filter:blur(12px)}.member-nav button{padding:11px 15px;border:1px solid rgba(0,63,38,.14);border-radius:999px;color:var(--mx-green);background:transparent;font-size:9px;font-weight:850;cursor:pointer}.member-nav button.is-active,.member-nav button:hover{color:white;background:var(--mx-green)}.member-panel{padding:34px 0}.member-panel[hidden]{display:none!important}.member-panel.is-active{animation:identity-route .35s ease both}.member-panel[data-member-panel=resumen]{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.member-welcome{min-height:440px;padding:42px;border-radius:28px;color:white;background:radial-gradient(circle at 90% 10%,rgba(245,0,120,.72),transparent 34%),var(--mx-green)}.member-welcome h2{margin:80px 0 22px;font-size:clamp(48px,7vw,86px);line-height:.82;letter-spacing:-.07em}.member-welcome h2 em{color:#ff76ad}.member-welcome p{max-width:42ch;line-height:1.6}.member-stats{display:grid;gap:10px}.member-stats article{display:grid;grid-template-columns:90px 1fr;align-content:center;padding:25px;border-radius:22px;background:white}.member-stats span{grid-row:1/3;color:var(--mx-pink);font-size:44px;font-weight:900}.member-stats strong{font-size:15px}.member-stats small{margin-top:5px;color:#77847c}.member-panel__head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:26px}.member-panel__head h2{margin:7px 0 0;font-size:clamp(42px,7vw,78px);line-height:.9}.member-panel__head p{max-width:48ch;line-height:1.6}.member-panel__head a{padding:12px 16px;border-radius:999px;color:white;background:var(--mx-pink);font-size:9px;font-weight:900}.member-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.member-library article{overflow:hidden;border-radius:18px;background:white}.member-library img{width:100%;aspect-ratio:1;object-fit:cover}.member-library article>div{padding:16px}.member-library small{color:#7b867f;font-size:7px}.member-library h3{min-height:44px;margin:10px 0 18px;font-size:16px;line-height:1.1}.member-library a{color:var(--mx-pink);font-size:8px;font-weight:900}.member-class{display:grid;grid-template-columns:130px 1fr auto;gap:30px;align-items:center;padding:26px;border-radius:22px;background:white}.member-class>span{display:grid;place-items:center;min-height:130px;border-radius:15px;color:white;background:var(--mx-green);font-size:11px;font-weight:900}.member-class h3{margin:8px 0;font-size:28px}.member-class a{padding:13px 16px;border-radius:999px;color:white;background:var(--mx-pink);font-size:9px;font-weight:900}.member-coming{padding:50px;border-radius:28px;color:white;background:#111}.member-coming h3{margin:45px 0 12px;font-size:clamp(46px,8vw,100px);line-height:.85}.member-coming p{max-width:55ch;color:#bbb;line-height:1.6}.member-coming button{margin-top:25px;padding:13px 17px;border:1px solid #555;color:#888;background:transparent}.member-demos{display:grid;gap:8px}.member-demos article{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;padding:20px 24px;border-radius:16px;background:white}.member-demos h3{margin:5px 0}.member-demos p{margin:0;color:#6f7b74;font-size:11px}.member-demos span{padding:8px 11px;border-radius:999px;color:var(--mx-green);background:#e4eee6;font-size:8px;font-weight:900}.member-demos a{color:var(--mx-pink);font-size:9px;font-weight:900}.member-empty{padding:35px;border-radius:20px;background:white}.member-empty a{display:block;margin-top:15px}
@media(max-width:900px){.member-panel[data-member-panel=resumen]{grid-template-columns:1fr}.member-library{grid-template-columns:repeat(2,1fr)}.member-nav{overflow-x:auto}.member-nav button{flex:0 0 auto}}@media(max-width:600px){.member-hub__hero{grid-template-columns:1fr}.member-hub__identity{justify-items:start}.member-hub__identity img{width:90px}.member-library{grid-template-columns:1fr}.member-panel__head{display:block}.member-class{grid-template-columns:1fr}.member-class>span{min-height:80px}.member-demos article{grid-template-columns:1fr}.release-entry__cover{aspect-ratio:1}}
