/* ÓRBITA — GALAXY EDITION */
:root {
    --ice: #85edff;
    --electric: #6779ff;
    --pulse: #ef64e8;
    --ink: #090617;
    --muted: #c0b8d8
}

body.galaxy-edition {
    background: #070414;
    font-family: Montserrat, Arial, sans-serif;
    isolation: isolate;
    overflow-x: clip
}

body:before {
    display: none
}

.nebula {
    position: fixed;
    inset: -10%;
    z-index: -2;
    pointer-events: none;
    background: radial-gradient(ellipse at 14% 20%, #9528d77a 0, transparent 42%), radial-gradient(ellipse at 78% 62%, #144ba966 0, transparent 50%), radial-gradient(ellipse at 58% 5%, #ad269e45 0, transparent 35%), linear-gradient(125deg, #220b43 4%, #120c37 44%, #071d3f 78%, #06071a);
    transform: translate3d(0, var(--nebula-shift, 0px), 0)
}

#cosmos {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none
}

.scroll-track {
    height: 2px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: #ffffff0a
}

.scroll-track i {
    height: 100%;
    width: 100%;
    display: block;
    background: linear-gradient(90deg, #ca59ff, #68dfff);
    transform: scaleX(0);
    transform-origin: left;
    box-shadow: 0 0 15px #88dfff
}

header {
    height: 106px;
    max-width: 1520px;
    border-bottom: 1px solid #ffffff20;
    padding: 0 5.5%;
    gap: 20px
}

nav {
    gap: 35px;
    color: #e1d4f0;
    font-size: 13px;
    font-weight: 600
}

.original-brand {
    width: 145px;
    height: 88px
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 22px
}

.motion-toggle {
    color: #c6badb;
    display: flex;
    align-items: center;
    gap: 9px;
    background: transparent;
    border: 0;
    font-size: 12px;
    padding: 10px;
    white-space: nowrap
}

.motion-toggle>i {
    font-size: 15px
}

.motion-toggle[aria-pressed=true] {
    color: #89e3fa
}

.small-button {
    border-radius: 3px;
    border: 1px solid #afa0da;
    padding: 12px 18px;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 20px;
    background: #ffffff05
}

.small-button i {
    margin: 0
}

.hero {
    max-width: 1520px;
    grid-template-columns: 1.05fr 1fr;
    padding: 48px 5.5% 85px;
    gap: 65px;
    align-items: center;
    min-height: calc(100svh - 106px)
}

.hero-copy {
    position: relative
}

.eyebrow {
    color: #cfc0f3;
    font-family: Montserrat, Arial;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.8
}

.hero-copy>.eyebrow {
    font-size: 12px;
    letter-spacing: 1.7px
}

.eyebrow span {
    background: #83e8ff;
    box-shadow: 0 0 12px #62beff
}

.hero-logo {
    width: 295px;
    margin: -15px 0 -16px -22px;
    filter: drop-shadow(0 0 30px #ce64eb18)
}

h1 {
    font: 900 clamp(42px, 4.7vw, 74px)/.97 Montserrat, Arial;
    letter-spacing: -3.3px;
    margin: 14px 0 27px;
    color: #fff
}

h1 span {
    display: block;
    background: linear-gradient(105deg, #dcc5ff 5%, #be7bff 45%, #78dafa 95%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    line-height: 1.04
}

h1 br {
    display: none
}

.hero-copy .intro {
    font: 400 16px/1.85 Montserrat, Arial;
    color: #d3c7e5;
    max-width: 490px;
    margin: 0 0 30px
}

.button {
    font-family: Montserrat, Arial;
    font-size: 15px;
    font-weight: 800;
    border-radius: 3px;
    background: #90ecff;
    color: #09182b;
    box-shadow: 6px 6px 0 #5365c550;
    padding: 19px 28px;
    gap: 30px
}

.button:hover {
    background: #c6f8ff;
    transform: translate(-2px, -2px);
    box-shadow: 8px 8px 0 #5365c550
}

.hero-meta {
    margin: 22px 0 35px;
    font-family: Montserrat;
    font-size: 12px;
    color: #c0aed4;
    letter-spacing: .25px;
    gap: 8px;
    flex-wrap: wrap
}

.store-badges {
    gap: 12px
}

.store-badge {
    border-color: #a596b775;
    min-width: 164px;
    border-radius: 6px;
    background: #0707139e;
    backdrop-filter: blur(8px);
    font-family: Arial
}

.store-badge:hover {
    border-color: #81d6fa;
    background: #131326
}

.platform-note {
    font-size: 12px;
    color: #c8b8dd
}

.game-card {
    border: 1px solid #9f86f670;
    border-radius: 4px;
    box-shadow: 18px 18px 0 #07091640, 0 0 70px #9279e419;
    background: radial-gradient(ellipse, #251c48, #070414);
    overflow: visible;
    margin-top: 34px;
    transform: translateY(18px)
}

.game-card canvas {
    width: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    border-radius: 0
}

.game-card .overlay {
    border-radius: 0;
    overflow: hidden
}

.arena-caption {
    position: absolute;
    top: -31px;
    left: -1px;
    right: -1px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font: 600 12px Montserrat;
    letter-spacing: 2px;
    color: #d2c6ef
}

.arena-caption b {
    font-size: 12px;
    font-weight: 500;
    color: #98dced;
    letter-spacing: 1px
}

.game-card:after {
    content: '';
    position: absolute;
    inset: -8px;
    pointer-events: none;
    z-index: 3;
    background: linear-gradient(var(--ice), var(--ice)) top left/34px 2px no-repeat, linear-gradient(var(--ice), var(--ice)) top left/2px 34px no-repeat, linear-gradient(var(--pulse), var(--pulse)) bottom right/34px 2px no-repeat, linear-gradient(var(--pulse), var(--pulse)) bottom right/2px 34px no-repeat
}

.game-top {
    padding: 15px 18px
}

.game-top button {
    border-radius: 3px;
    border-color: #8d74a45c;
    background: #311a4e55;
    color: #e3d4fa
}

.scores {
    top: 65px
}

.scores small {
    font-size: 12px;
    color: #c3aed8
}

.scores strong {
    font-family: Space;
    font-size: 30px
}

.game-bottom {
    color: #ccb8e4;
    border-top: 1px solid #8e77bf33;
    padding: 16px 20px;
    font-size: 12px;
    font-family: Montserrat
}

.home-overlay {
    background: radial-gradient(ellipse, #5421704d, #10061955);
    inset: 58px 0 51px
}

.overlay .native-button {
    font-family: Space;
    box-shadow: 0 0 20px #eb41d723;
    border-radius: 8px
}

.overlay .native-button:hover {
    transform: translateY(-2px)
}

.power-timer {
    z-index: 2
}

.game-card:fullscreen,
.game-card.expanded {
    transform: none;
    border-radius: 0;
    overflow: hidden
}

.game-card:fullscreen:after,
.game-card.expanded:after,
.game-card:fullscreen .arena-caption,
.game-card.expanded .arena-caption {
    display: none
}

.ticker {
    background: #06081966;
    backdrop-filter: blur(8px);
    padding: 25px 5.5%;
    font: 700 13px Montserrat;
    letter-spacing: 1px;
    border-color: #baa2e72a;
    color: #e3d4f3;
    gap: 24px
}

.ticker b {
    color: #95e8fa
}

.section {
    max-width: 1520px;
    padding: 110px 5.5%;
    position: relative
}

.section-heading h2 {
    font: 800 clamp(32px, 3.7vw, 58px)/1.04 Montserrat, Arial;
    letter-spacing: -1.8px;
    margin: 23px 0 25px
}

.section-heading h2 span {
    color: #c1a6e2
}

.section-heading p {
    font-size: 16px;
    color: #ccbcdf;
    line-height: 1.8
}

.how {
    grid-template-columns: .9fr 1.25fr;
    gap: 65px
}

.steps {
    grid-template-columns: 1fr;
    gap: 0
}

.steps article {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 0 25px;
    border-top: 1px solid #b599df39;
    padding: 24px 0
}

.steps .number {
    grid-column: 1;
    grid-row: 1;
    font: 700 12px Montserrat;
    color: #c1a3e6
}

.steps .step-icon {
    grid-column: 1;
    grid-row: 2 / 4;
    font-size: 25px;
    margin: 10px 0
}

.steps h3 {
    grid-column: 2;
    grid-row: 1 / 3;
    font: 700 21px Montserrat;
    margin: 2px 0 8px
}

.steps p {
    grid-column: 2;
    grid-row: 3;
    margin: 0;
    color: #c9b9dd;
    font-size: 15px;
    line-height: 1.9
}

.powers {
    padding-top: 35px
}

.inline {
    gap: 30px;
    margin-bottom: 44px
}

.inline>p {
    max-width: 380px
}

.power-grid {
    gap: 0;
    border-top: 1px solid #ad94d45c;
    border-bottom: 1px solid #ad94d45c;
    backdrop-filter: blur(7px);
    background: #08091955
}

.power {
    background: transparent !important;
    border: 0;
    border-right: 1px solid #ad94d439;
    border-radius: 0;
    padding: 36px 38px 40px
}

.power:last-child {
    border-right: 0
}

.power:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--color)
}

.power-orb {
    width: 55px;
    height: 55px;
    margin: 5px 0 45px
}

.duration {
    color: var(--color);
    font-size: 12px;
    font-weight: 700;
    top: 38px;
    right: 34px
}

.power h3 {
    font: 800 29px Montserrat
}

.power p {
    color: #d3c3e3;
    font: 400 15px/1.9 Montserrat
}

.power-tag {
    font: 600 12px Montserrat;
    letter-spacing: 1px;
    margin-top: 30px
}

.wave-banner {
    border: 0;
    border-left: 3px solid #80e8ff;
    border-radius: 0;
    background: #0a1c3b99;
    padding: 25px 30px;
    margin-top: 30px;
    backdrop-filter: blur(7px)
}

.wave-banner>span {
    color: #8fe6ff;
    font-size: 38px
}

.wave-banner h3 {
    font: 700 18px Montserrat
}

.wave-banner p {
    font: 400 14px/1.9 Montserrat;
    color: #d0c7e3
}

.wave-banner b {
    font: 700 18px Montserrat;
    color: #b2e5ff
}

.universe {
    padding-top: 35px
}

.universe-grid {
    gap: 60px
}

.universe-grid article {
    border-color: #aaa1e950;
    padding: 30px 0;
    background: none
}

.universe-grid article>i {
    font-size: 29px;
    color: #c69cff
}

.universe-grid article:nth-child(2)>i {
    color: #8be6ff
}

.universe-grid article:nth-child(3)>i {
    color: #f596f1
}

.universe-grid h3 {
    font: 700 21px Montserrat
}

.universe-grid p {
    font: 400 15px/1.9 Montserrat;
    color: #d0c0df
}

.ranking-banner {
    background: #1414359e;
    border: 1px solid #b58ce738;
    border-radius: 0;
    border-left: 3px solid #c081ff;
    backdrop-filter: blur(7px);
    margin-top: 38px
}

.ranking-banner>i {
    color: #c69dff
}

.ranking-banner h3 {
    font: 700 19px Montserrat
}

.ranking-banner p {
    font: 400 14px/1.9 Montserrat;
    color: #d1c3e4
}

.faq {
    grid-template-columns: .9fr 1.25fr;
    gap: 65px;
    padding-top: 30px
}

.faq summary {
    font: 600 15px/1.7 Montserrat
}

.faq details {
    border-color: #b39dd73a;
    padding: 23px 0
}

.faq details p {
    font: 400 14px/1.9 Montserrat;
    color: #c9badf
}

.faq summary:after {
    color: #a4e9f7
}

.closing {
    margin: 30px 0 0;
    padding: 100px 5.5% 120px;
    background: linear-gradient(180deg, transparent, #421a764a, #0c193e66);
    position: relative;
    border-top: 1px solid #a68fd424
}

.closing h2 {
    font: 900 clamp(33px, 4.7vw, 70px)/1.04 Montserrat;
    letter-spacing: -2px;
    margin: 28px 0 38px
}

.closing h2 span {
    color: #9bd6fc
}

.closing .eyebrow {
    color: #d4b8f6
}

footer {
    background: #060717bf;
    border-color: #8376b542;
    font: 400 12px Montserrat;
    backdrop-filter: blur(10px)
}

footer>span {
    line-height: 1.8
}

footer a {
    color: #cab6e4
}

dialog {
    background: radial-gradient(ellipse at top, #422259, #0b1126);
    border-radius: 8px;
    border-color: #ab8ce7a1
}

dialog h2 {
    font-family: Montserrat;
    font-weight: 800;
    font-size: 34px
}

dialog p {
    font-family: Montserrat;
    font-size: 15px
}

.reveal {
    transition: opacity .65s ease, transform .65s ease
}

.motion-ready .reveal:not(.visible) {
    opacity: 0;
    transform: translateY(24px)
}

.motion-ready .reveal.visible {
    opacity: 1;
    transform: translateY(0)
}

.motion-paused .nebula {
    transform: none !important
}

.motion-paused .reveal {
    transition: none
}

@media(min-width:1600px) {
    .hero {
        min-height: 850px
    }

    .game-card {
        max-width: 580px;
        justify-self: end
    }
}

@media(max-width:1120px) {
    header {
        padding: 0 4%;
        gap: 10px
    }

    nav {
        gap: 20px
    }

    .header-actions {
        gap: 8px
    }

    .motion-toggle span {
        display: none
    }

    .hero {
        gap: 40px;
        padding-inline: 5%;
        min-height: auto
    }

    .hero-logo {
        width: 255px
    }

    h1 {
        font-size: 50px;
        letter-spacing: -2.5px
    }

    .game-card {
        margin-top: 18px
    }

    .hero-meta {
        font-size: 12px;
        display: block;
        line-height: 1.9
    }

    .hero-meta i {
        display: none
    }

    .hero-meta span {
        display: block
    }

    .how,
    .faq {
        gap: 40px
    }

    .power {
        padding: 30px 25px
    }

    .power h3 {
        font-size: 25px
    }

    .universe-grid {
        gap: 30px
    }

    .home-overlay {
        gap: 8px
    }

    .demo-logo {
        width: 45%
    }
}

@media(max-width:760px) {
    header {
        height: 83px;
        padding: 0 6%
    }

    nav {
        display: none
    }

    .header-actions {
        gap: 10px
    }

    .original-brand {
        height: 76px;
        width: 119px
    }

    .small-button {
        font-size: 12px;
        padding: 10px 14px;
        gap: 12px
    }

    .motion-toggle {
        padding: 10px 3px
    }

    .hero {
        grid-template-columns: 1fr;
        padding: 35px 6% 70px;
        gap: 47px;
        min-height: auto
    }

    .hero-copy {
        width: 100%;
        max-width: 540px
    }

    .hero-copy>.eyebrow {
        font-size: 12px;
        letter-spacing: .8px
    }

    .hero-logo {
        width: 270px;
        margin: -12px 0 -12px -22px
    }

    h1 {
        font-size: clamp(41px, 10vw, 67px);
        letter-spacing: -2px;
        margin: 10px 0 23px
    }

    .hero-copy .intro {
        font-size: 15px
    }

    .hero-meta {
        margin: 22px 0 28px;
        display: flex;
        gap: 5px 8px;
        flex-wrap: wrap
    }

    .hero-meta span {
        font-size: 12px
    }

    .store-badges {
        gap: 8px
    }

    .store-badge {
        min-width: 152px
    }

    .game-card {
        transform: none;
        margin: 15px auto 0;
        max-width: 540px;
        min-height: 0
    }

    .arena-caption {
        font-size: 12px;
        letter-spacing: 1.2px
    }

    .arena-caption b {
        font-size: 12px
    }

    .game-card:after {
        inset: -6px
    }

    .home-overlay {
        gap: 11px
    }

    .demo-logo {
        width: 49%
    }

    .ticker {
        font-size: 12px;
        justify-content: flex-start;
        padding: 20px 6%
    }

    .section {
        padding: 70px 6%
    }

    .how,
    .faq {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .section-heading h2 {
        font-size: 38px;
        letter-spacing: -1.4px;
        margin-bottom: 20px
    }

    .section-heading p {
        font-size: 15px
    }

    .steps {
        gap: 0
    }

    .steps article {
        padding: 23px 0;
        column-gap: 15px;
        grid-template-columns: 40px 1fr
    }

    .steps h3 {
        font-size: 20px
    }

    .steps p {
        font-size: 14px
    }

    .steps .step-icon {
        font-size: 23px
    }

    .inline {
        display: block;
        margin-bottom: 28px
    }

    .power-grid {
        grid-template-columns: 1fr;
        background: #08091970
    }

    .power {
        border-right: 0;
        border-bottom: 1px solid #ad94d439;
        display: grid;
        grid-template-columns: 55px 1fr;
        column-gap: 22px;
        padding: 30px 24px
    }

    .power:last-child {
        border-bottom: 0
    }

    .power-orb {
        grid-column: 1;
        grid-row: 1 / 4;
        margin: 10px 0;
        width: 42px;
        height: 42px
    }

    .power h3 {
        grid-column: 2;
        font-size: 25px;
        margin: 0 0 10px
    }

    .power p {
        grid-column: 2;
        font-size: 14px;
        margin: 0
    }

    .power-tag {
        grid-column: 2;
        margin-top: 20px;
        font-size: 12px
    }

    .duration {
        position: static;
        grid-column: 2;
        grid-row: 1;
        font-size: 12px;
        justify-self: end;
        margin: 0 0 12px
    }

    .power h3 {
        margin-top: 23px;
        grid-row: 1
    }

    .wave-banner {
        padding: 25px 20px;
        gap: 18px;
        margin-top: 24px
    }

    .wave-banner>span {
        font-size: 29px
    }

    .wave-banner h3 {
        font-size: 17px
    }

    .wave-banner p {
        font-size: 14px
    }

    .wave-banner b {
        margin-left: 47px
    }

    .universe-grid {
        grid-template-columns: 1fr;
        gap: 0
    }

    .universe-grid article {
        padding: 24px 0
    }

    .universe-grid h3 {
        font-size: 20px
    }

    .universe-grid p {
        font-size: 14px
    }

    .ranking-banner {
        padding: 24px 20px;
        gap: 16px
    }

    .ranking-banner>i {
        font-size: 28px
    }

    .ranking-banner h3 {
        font-size: 17px
    }

    .faq summary {
        font-size: 14px
    }

    .closing {
        padding: 75px 6% 90px;
        margin-top: 0
    }

    .closing h2 {
        font-size: 39px;
        letter-spacing: -1.5px
    }

    .closing .eyebrow {
        letter-spacing: 1.5px
    }

    footer {
        padding: 30px 6%;
        gap: 17px
    }

    footer>span {
        width: 100%
    }

    footer a {
        font-size: 12px
    }

    .game-card .scores strong {
        font-size: 27px
    }

    .game-card .scores small {
        font-size: 12px
    }
}

@media(max-width:390px) {
    .hero-copy>.eyebrow {
        font-size: 12px;
        letter-spacing: 0
    }

    .hero-logo {
        width: 240px
    }

    h1 {
        font-size: 40px
    }

    .store-badge {
        min-width: 143px;
        padding: 10px
    }

    .demo-logo {
        width: 42%
    }

    .home-overlay {
        gap: 7px
    }

    .hero-meta {
        display: block
    }

    .game-card .scores {
        top: 57px
    }

    .original-brand {
        width: 100px
    }

    .arena-caption {
        letter-spacing: .5px
    }
}

@media(prefers-reduced-motion:reduce) {
    .reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important
    }

    .nebula {
        transform: none !important
    }

    .button {
        transition: none
    }

    html {
        scroll-behavior: auto
    }
}

/* Portada sin el logo grande: el mensaje comienza arriba. */
.hero {
    align-items: start;
    min-height: 0;
    padding-top: 62px
}

.hero-copy {
    align-self: start;
    padding-top: 14px
}

.hero-copy h1 {
    margin-top: 24px
}

.hero .game-card {
    align-self: start
}

@media(max-width:760px) {
    .hero {
        padding-top: 38px
    }

    .hero-copy {
        padding-top: 0
    }

    .hero-copy h1 {
        margin-top: 22px
    }
}
