:root{--black:#05060a;--gold:#d9b35d;--silver:#d7d9df;--red:#951b30;--white:#f7f4ed;--muted:#aaa8aa}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:30;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.nav{position:fixed;top:0;left:0;right:0;height:74px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#05060af4,#05060a55,transparent);z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:600 .76rem Cinzel;letter-spacing:.17em}.brand img{width:46px;height:34px;object-fit:cover;border-radius:2px}.nav nav{display:flex;gap:30px}.nav nav a{color:#ddd9d1;text-decoration:none;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase}.nav nav a:hover{color:var(--gold)}.menu{display:none;background:none;border:0;color:#fff;font-size:1.45rem}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;background:#000}.hero-emblem{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 14s ease-out both}@keyframes heroZoom{from{transform:scale(1.12)}to{transform:scale(1)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0002,#0001 40%,#05060ae8),radial-gradient(circle,transparent 15%,#0009 85%)}.hero-copy{position:relative;z-index:2;margin-top:40vh;padding:30px 20px}.eyebrow{color:var(--gold);font-size:.64rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600}.hero h1{font:700 clamp(2.3rem,6vw,5.3rem)/1.04 Cinzel;margin:.28em 0;text-shadow:0 6px 35px #000}.hero h1 span{color:#e4c878;font-size:.52em;letter-spacing:.13em}.hero-copy>p:not(.eyebrow){color:#ddd;letter-spacing:.08em}.button{display:inline-block;margin-top:18px;padding:14px 25px;text-decoration:none;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;border:1px solid #c9a552}.primary{background:linear-gradient(135deg,#ae8330,#ecd083);color:#080808}.primary:hover{box-shadow:0 0 34px #dfbd6b77;transform:translateY(-2px)}.scroll{position:absolute;bottom:24px;z-index:2;font-size:.54rem;letter-spacing:.25em;color:#aaa}.scroll span{display:block;font-size:1.15rem;margin-top:6px;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(6px)}}
.portal-section{padding:clamp(85px,9vw,130px) clamp(18px,5vw,70px);background:radial-gradient(circle at 50% 10%,#7e172429,transparent 38%),#07080d}.portal-heading{text-align:center;margin-bottom:46px}.portal-heading h2,.section-head h3,.world-intro h3,.statement h2,.contact h2{font:600 clamp(2rem,5vw,4.2rem)/1.18 Cinzel;margin:.28em 0}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1500px;margin:auto}.portal{position:relative;min-height:76vh;color:#fff;text-decoration:none;overflow:hidden;border:1px solid #ffffff1c;isolation:isolate}.portal>img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform 1.7s ease,filter .8s}.portal:hover>img{transform:scale(1.1);filter:saturate(1.15)}.portal::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 20%,#05060ae9 90%);z-index:0}.portal-fog{position:absolute;z-index:1;inset:auto -10% 0;height:35%;background:linear-gradient(90deg,transparent,#dce7f52e,transparent);filter:blur(22px);animation:fog 8s ease-in-out infinite alternate}@keyframes fog{to{transform:translateX(12%)}}.portal-ring{position:absolute;z-index:2;inset:9%;border:1px solid #d4b15d55;box-shadow:inset 0 0 45px #d4b15d22,0 0 45px #d4b15d18;opacity:0;transform:scale(.92);transition:.7s}.portal:hover .portal-ring{opacity:1;transform:scale(1)}.portal-copy{position:absolute;z-index:3;left:8%;right:8%;bottom:8%}.portal-copy small{color:var(--gold);letter-spacing:.25em;font-size:.58rem}.portal-copy h3{font:700 clamp(2.4rem,5vw,5rem)/1 Cinzel;margin:.12em 0}.portal-light .portal-copy h3{color:#ffe66d;text-shadow:0 3px 0 #153374}.portal-copy h3 b{color:var(--gold)}.portal-copy p{font:500 .85rem Cinzel;letter-spacing:.14em}.portal-copy span{display:inline-block;margin-top:14px;color:#efd17e;font-size:.68rem;letter-spacing:.16em;border-bottom:1px solid #efd17e;padding-bottom:7px}
.world-page{position:relative}.world-hero{height:min(92vh,940px);position:relative;overflow:hidden}.world-hero>img{width:100%;height:100%;object-fit:cover;transition:transform .2s linear}.world-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#05060a25,#05060a05 40%,#05060af5)}.world-title{position:absolute;left:7%;bottom:9%;text-shadow:0 5px 40px #000}.world-title h2{font:800 clamp(3.2rem,10vw,9rem)/.9 Cinzel;margin:.1em 0;letter-spacing:.06em}.world-title>p:last-child{font:500 clamp(.75rem,2vw,1.25rem) Cinzel;letter-spacing:.28em}.world-title b{color:var(--gold)}.aelyra-world{background:radial-gradient(circle at 20% 20%,#71122538,transparent 32%),#07080d}.milo-world{background:linear-gradient(180deg,#0a1626,#192e48 30%,#0b111c)}.milo-world .world-hero-overlay{background:linear-gradient(180deg,#07111d08,#07111d15 35%,#0a1626f6)}.milo-world .world-title h2{color:#ffe560;text-shadow:0 5px 0 #173c7c,0 10px 40px #000}.world-intro{padding:clamp(75px,9vw,130px) 7%;max-width:1100px}.chapter{font-size:.62rem;letter-spacing:.28em;color:var(--gold)}.world-intro>p:last-child{max-width:830px;color:#bbb;line-height:1.9;font-size:1.02rem}.cast-wrap{padding:0 5% clamp(90px,10vw,150px)}.section-head{margin-bottom:38px}.character-track{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.character{position:relative;min-height:510px;overflow:hidden;background:#111;border:1px solid #ffffff14}.character img{width:100%;height:100%;object-fit:cover;transition:.8s;filter:saturate(.82)}.character:hover img{transform:scale(1.06);filter:saturate(1.08)}.character>div{position:absolute;inset:auto 0 0;padding:55px 22px 24px;background:linear-gradient(transparent,#05060afa)}.character h4{font:600 1.55rem Cinzel;margin:0 0 5px}.character p{margin:0;color:#bbb;font-size:.78rem;line-height:1.5}.lore-card{margin-top:24px;display:grid;grid-template-columns:1.25fr 1fr;min-height:430px;background:#0c0d13;border:1px solid #ffffff14}.lore-card img{width:100%;height:100%;object-fit:cover}.lore-card>div{padding:clamp(32px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.lore-card h3{font:600 clamp(1.8rem,4vw,3.5rem) Cinzel;margin:.25em 0}.lore-card p:last-child{color:#aaa;line-height:1.8}.world-quote{padding:clamp(90px,12vw,180px) 8%;text-align:center;background:radial-gradient(circle,#77162a40,transparent 58%)}.world-quote blockquote{font:500 clamp(1.6rem,4vw,3.6rem)/1.5 Cinzel;max-width:1100px;margin:0 auto 26px}.world-quote span{color:var(--gold);letter-spacing:.3em;font-size:.65rem}.world-quote.warm{background:radial-gradient(circle,#d9903050,transparent 55%)}
.story-grid{padding:0 5% clamp(90px,10vw,150px);display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story-card{position:relative;min-height:610px;background:#f2e5ca;color:#17263a;overflow:hidden;border-radius:4px}.story-card img{width:100%;height:100%;object-fit:cover;transition:.8s}.story-card:hover img{transform:scale(1.05)}.story-card>div:not(.paw){position:absolute;inset:auto 0 0;padding:60px 26px 28px;background:linear-gradient(transparent,#081321ee);color:white}.story-card small{color:#ffd75d;font-weight:700;letter-spacing:.2em}.story-card h3{font:700 1.8rem Cinzel;margin:.3em 0}.story-card p{line-height:1.65}.text-story{padding:50px 38px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 60% 20%,#ffe395,#f1bd58 30%,#2f5982 78%);color:white}.text-story::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#0a1938bb)}.text-story>*{position:relative}.paw{font-size:4rem;margin:auto;text-shadow:0 5px 30px #0006}
.section{padding:clamp(78px,10vw,145px) clamp(22px,7vw,110px)}.statement{text-align:center;max-width:1150px;margin:auto;background:#05060a}.statement h2 em{font-style:normal;color:var(--gold)}.statement>p:last-child{max-width:800px;margin:24px auto 0;color:var(--muted);line-height:1.85}.contact{position:relative;background:linear-gradient(135deg,#080910,#0d0a0d);border-top:1px solid #ffffff0e}.contact-intro{max-width:740px}.contact-intro p:last-child{color:var(--muted);line-height:1.8}.contact-panel{margin-top:42px;display:grid;grid-template-columns:1fr 1.4fr;border:1px solid #ffffff18;background:#05060a99}.contact-item{padding:27px 31px;border-right:1px solid #ffffff12;border-bottom:1px solid #ffffff12}.contact-item span{display:block;color:var(--gold);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:9px}.contact-item a,.contact-item strong{color:#f4f0e7;text-decoration:none;font-weight:400;font-size:clamp(.88rem,2vw,1.07rem);overflow-wrap:anywhere}.made-in{margin-top:36px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.made-in small,.made-in strong{display:block;text-align:right}.made-in small{color:#888;font-size:.53rem;letter-spacing:.22em}.made-in strong{font:600 .78rem Cinzel;letter-spacing:.14em}.mexico-mark{display:flex;width:48px;height:30px;border:1px solid #ffffff33}.mexico-mark i{flex:1;background:#006847}.mexico-mark i:nth-child(2){background:#fff}.mexico-mark i:nth-child(3){background:#ce1126}
footer{padding:65px 20px;text-align:center;border-top:1px solid #ffffff12}footer img{width:150px;border-radius:4px}footer p{font-family:Cinzel;letter-spacing:.25em}footer small{color:#777}.footer-place{font:500 .58rem Inter;letter-spacing:.35em;color:#9d9a94;margin:18px 0}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav nav{display:none;position:absolute;top:66px;left:16px;right:16px;padding:22px;background:#090a10;border:1px solid #ffffff18;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}.portal-grid{grid-template-columns:1fr}.portal{min-height:78vh}.character-track{grid-template-columns:1fr 1fr}.story-grid{grid-template-columns:1fr 1fr}.text-story{grid-column:1/-1;min-height:420px}.lore-card{grid-template-columns:1fr}.lore-card img{height:480px}}
@media(max-width:560px){.nav{height:64px}.brand img{width:40px;height:30px}.brand span{font-size:.65rem}.hero{align-items:start;background:#000}.hero-emblem{inset:92px 0 auto;width:100%;height:auto;max-height:43vh;object-fit:contain;object-position:center;animation:none}.hero-shade{background:linear-gradient(180deg,#0001 0,#0000 35%,#05060a 62%,#05060a 100%)}.hero-copy{margin-top:46vh;padding-top:38px}.hero h1{font-size:2rem}.scroll{bottom:16px}.portal-section{padding-left:14px;padding-right:14px}.portal{min-height:72vh}.world-hero{height:82vh}.world-title{left:20px;right:18px}.world-title h2{font-size:3rem}.character-track,.story-grid{grid-template-columns:1fr}.character{min-height:600px}.text-story{grid-column:auto}.lore-card img{height:360px}.contact-panel{grid-template-columns:1fr}.contact-item{padding:22px}.made-in{justify-content:flex-start}.made-in small,.made-in strong{text-align:left}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Identidad oficial MJ Universe: logos completos, limpios y sin sombras */
.brand img{width:52px;height:52px;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:none}
.hero-emblem{object-fit:contain;object-position:center top;box-shadow:none;filter:none}
footer img{width:150px;height:105px;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:none}
@media(max-width:560px){
  .brand img{width:48px;height:48px}
  .hero-emblem{inset:82px 0 auto;width:100%;height:auto;max-height:44vh;object-fit:contain;object-position:center;box-shadow:none;filter:none}
}

/* Páginas independientes para cada universo */
.portal-intro{max-width:650px;margin:12px auto 0;color:var(--muted);line-height:1.7}
.world-title h1{font:800 clamp(3.2rem,10vw,9rem)/.9 Cinzel;margin:.1em 0;letter-spacing:.06em}
.milo-world .world-title h1{color:#ffe560;text-shadow:0 5px 0 #173c7c,0 10px 40px #000}
.world-title h1 b{color:var(--gold)}
.world-intro h2{font:600 clamp(2rem,5vw,4.2rem)/1.18 Cinzel;margin:.28em 0}
.world-nav{background:linear-gradient(#05060af8,#05060acc,transparent)}
.world-exit{padding:90px 20px 110px;text-align:center;background:#05060a}
.world-exit p{font:500 clamp(1.2rem,3vw,2rem) Cinzel;margin:0 auto 20px}
.world-exit .button{margin:10px 6px}
.ghost-link{color:#eee;background:transparent;border-color:#ffffff55}
.ghost-link:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:560px){
  .world-title h1{font-size:3rem}
  .world-exit .button{display:block;max-width:290px;margin:12px auto}
}

/* Tráileres, piezas destacadas y guías visuales */
.media-feature{padding:0 6% clamp(90px,10vw,150px);max-width:1500px;margin:auto}
.media-heading{max-width:850px;margin-bottom:34px}.media-heading h2,.character-guide h2,.coming-story h2{font:600 clamp(2rem,5vw,4.2rem)/1.15 Cinzel;margin:.25em 0}.media-heading>p:last-child,.character-guide>div>p:last-child,.coming-story>p:last-of-type{color:#aaa;line-height:1.8}
.media-feature video{display:block;width:100%;aspect-ratio:16/9;background:#000;border:1px solid #d3af5944;box-shadow:0 30px 100px #0009}
.portrait-feature{background:radial-gradient(circle at 50% 35%,rgba(134,18,24,.18),transparent 46%)}
.gothic-video-frame{width:min(100%,440px);margin:0 auto;padding:7px;border:1px solid #c9a35f88;background:linear-gradient(145deg,#281014,#08090d 45%,#21150e);box-shadow:0 30px 100px #000c,0 0 42px rgba(150,22,28,.16)}
.media-feature .gothic-video-frame video{aspect-ratio:9/16;object-fit:cover;border:0;box-shadow:none}
.character-guide{padding:clamp(85px,10vw,150px) 6%;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:center;background:radial-gradient(circle at 72% 45%,#7b162a35,transparent 45%),#090a10}
.character-guide img{width:100%;max-height:920px;object-fit:contain;border:1px solid #ffffff18;box-shadow:0 30px 90px #000b}
.coming-story{margin:0 5% 90px;padding:clamp(55px,8vw,100px);text-align:center;background:radial-gradient(circle at 50% 0,#ffd47755,transparent 55%),linear-gradient(135deg,#234b74,#0d1d32);border:1px solid #ffffff1c}
.coming-story p{max-width:760px;margin:18px auto}.coming-story span{display:inline-block;margin-top:18px;padding:10px 16px;border:1px solid #ffe18488;color:#ffe184;font-size:.62rem;letter-spacing:.22em}
@media(max-width:760px){.character-guide{grid-template-columns:1fr}.character-guide>div{text-align:center}.media-feature{padding-left:18px;padding-right:18px}.coming-story{margin-left:18px;margin-right:18px;padding:48px 22px}}
.kids-video-frame{width:min(100%,390px);margin:28px auto 18px;padding:8px;border-radius:24px;background:linear-gradient(145deg,#ffd75b,#f4a62a 55%,#315f92);box-shadow:0 20px 50px rgba(13,38,63,.22)}
.kids-video-frame video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:17px;background:#081526}
.video-story{display:flex;flex-direction:column;overflow:hidden}
.video-story .kids-video-frame{width:100%;max-width:none;margin:0;padding:0;border-radius:0;background:none;box-shadow:none}
.video-story .kids-video-frame video{border-radius:0}

#registro{max-width:760px;margin:auto}#registro-form{display:grid;gap:20px;text-align:left}#registro-form label{display:grid;gap:8px}#registro-form input:not([type=checkbox]){width:100%;padding:14px;border:1px solid #85754c;border-radius:8px;background:#101219;color:#fff;font:inherit}#registro-form .consent{display:flex;align-items:flex-start;line-height:1.6}#registro-form input[type=checkbox]{margin-top:6px;flex-shrink:0}.privacy{font-size:13px;line-height:1.7;color:#bbb}#registro-status{min-height:1.5em}
