:root{
    --blue:#0f67f5;
    --deep:#143d9d;
    --pink:#ff3fa4;
    --green:#73cf00;
    --purple:#7438ff;
    --yellow:#ffb300;
    --ink:#153268;
    --soft:#f6f8ff;
    --card:#fff;
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    background:linear-gradient(180deg,#f4f6ff 0,#fff 70%);
    color:var(--ink);
    font-family:Inter,Segoe UI,Arial,sans-serif;
    overflow-x:hidden
}
a{
    text-decoration:none
}
.container-xxl{
    max-width:1540px
}

.pb-hero{
    position:relative;
    min-height:690px;
    overflow:hidden
}
.pb-hero-bg{
    position:absolute;
    inset:0;
    background:url('../img/hero-bg.webp') center 46%/cover no-repeat;
    transform:scale(1.03)
}
.pb-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.02) 50%,rgba(255,255,255,.04) 100%),linear-gradient(180deg,rgba(104,85,197,.14) 0%,rgba(255,255,255,0) 62%,rgba(246,248,255,.08) 72%,rgba(246,248,255,.42) 84%,rgba(246,248,255,.82) 94%,#f6f8ff 100%)
}
.pb-hero-inner{
    position:relative;
    z-index:2;
    padding-top:18px
}

.pb-topbar{
    display:flex;
    align-items:center;
    gap:36px
}
.pb-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:292px;
    min-width:292px;
    filter:drop-shadow(0 6px 10px rgba(9,48,119,.28));
    position:relative
}
.pb-brand-bot{
    position:absolute;
    top:-15px;
    left:50%;
    transform:translateX(-50%);
    width:55px;
    height:42px;
    border-radius:22px 22px 14px 14px;
    background:#071d50;
    border:4px solid #fff;
    color:#57dfff;
    display:grid;
    place-items:center;
    font-size:27px
}
.pb-brand-text{
    font-size:50px;
    font-weight:900;
    letter-spacing:-3px;
    line-height:1;
    background:#fff;
    border:5px solid #fff;
    border-radius:26px;
    padding:9px 13px 5px;
    box-shadow:0 0 0 5px #1553a4,0 7px 16px rgba(23,63,132,.28);
    -webkit-text-stroke:1px rgba(0,44,116,.15)
}
.c-blue{
    color:#188cf4
}
.c-pink{
    color:#ff3fa4
}
.c-green{
    color:#83d20f
}
.c-yellow{
    color:#ffbd11
}
.pb-nav{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    background:rgba(255,255,255,.94);
    border-radius:999px;
    padding:9px 13px;
    box-shadow:0 12px 30px rgba(62,64,144,.18);
    backdrop-filter:blur(12px)
}
.pb-nav-link{
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 19px;
    border-radius:999px;
    color:#14295d;
    font-weight:700;
    font-size:14px;
    white-space:nowrap
}
.pb-nav-link i{
    font-size:17px
}
.pb-nav-link.active{
    background:linear-gradient(#47b8ff,#176cf4);
    color:#fff;
    box-shadow:0 7px 16px rgba(34,112,255,.35)
}
.pb-nav-link:hover{
    background:#eef5ff;
    color:#176cf4
}
.pb-mobile-toggle{
    display:none
}

.pb-hero-content{
    min-height:590px;
    padding-top:10px
}
.pb-hero-copy{
    padding-left:55px;
    z-index:3
}
.pb-hero-copy h1{
    font-size:60px;
    line-height:.96;
    font-weight:900;
    letter-spacing:-3px;
    text-shadow:0 4px 0 #fff,0 0 8px rgba(255,255,255,.9)
}
.pb-hero-copy h1 span{
    display:inline-block
}
.pb-hero-copy h1 small{
    display:block;
    font-size:38px;
    color:#fff;
    letter-spacing:-1px;
    margin:12px 0 4px;
    text-shadow:0 2px 3px rgba(14,33,98,.45)
}
.line-green{
    color:#77c900
}
.line-pink{
    color:#ff43a8
}
.line-blue{
    color:#25a8ff
}
.brand-word{
    font-size:64px;
    color:#1681f7;
    -webkit-text-stroke:3px #fff;
    text-shadow:0 4px 0 #1048a1,0 8px 16px rgba(17,70,153,.25)
}
.pb-hero-copy p{
    color:#fff;
    font-weight:700;
    font-size:20px;
    text-shadow:0 2px 4px rgba(13,36,89,.55);
    margin:18px 0
}
.pb-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    border-radius:999px;
    padding:12px 22px;
    color:#fff;
    font-weight:800;
    border:3px solid rgba(255,255,255,.8);
    box-shadow:0 0 18px currentColor
}
.pb-btn-pink{
    background:linear-gradient(90deg,#ff2c97,#ff48be)
}
.pb-btn-blue{
    background:linear-gradient(90deg,#1687ff,#08b5ff)
}

.pb-characters{
    position:relative;
    height:580px
}
.bot{
    position:absolute;
    object-fit:contain;
    filter:drop-shadow(0 22px 15px rgba(32,42,91,.22));
    transition:transform .25s ease
}
.bot:hover{
    transform:translateY(-8px) rotate(-1deg)
}
.byte{
    height:420px;
    left:5%;
    bottom:20px
}
.lumi{
    height:390px;
    left:27%;
    bottom:30px
}
.roko{
    height:420px;
    left:42%;
    bottom:20px;
    z-index: 999999;
}
.nexa{
    height:408px;
    left:64%;
    bottom:18px
}
.pipo{
    height:330px;
    right:-1%;
    bottom:8px
}

.pb-overlap-section{
    position:relative;
    z-index:8;
    margin-top:-15px
}
.pb-casita-card{
    background:rgba(255,255,255,.97);
    border-radius:28px;
    padding:12px;
    box-shadow:0 16px 50px rgba(40,60,120,.18);
    border:1px solid rgba(255,255,255,.8)
}
.pb-casita-copy{
    padding:28px 28px 16px
}
.pb-casita-copy h2,.pb-section-title h2{
    color:#1161d7;
    font-weight:900
}
.pb-casita-copy p{
    font-weight:600;
    line-height:1.6
}
.pb-small-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:#106cf3;
    color:#fff;
    padding:11px 20px;
    border-radius:999px;
    font-weight:800;
    box-shadow:0 8px 18px rgba(16,108,243,.25)
}
.pb-symbols{
    display:flex;
    gap:18px;
    margin-top:34px
}
.pb-symbols span{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border:4px solid currentColor;
    border-radius:14px;
    font-weight:900;
    font-size:24px;
    background:#fff;
    box-shadow:0 0 18px currentColor;
    transform:rotate(30deg)
}
.pb-symbols span::first-letter{
    transform:rotate(-30deg)
}
.s-blue{
    color:#00a8ff
}
.s-pink{
    color:#ff3fa4
}
.s-green{
    color:#73cf00
}
.s-purple{
    color:#7438ff
}
.s-yellow{
    color:#ffb300
}
.pb-casita-image-wrap{
    height:100%;
    min-height:300px;
    border-radius:24px;
    overflow:hidden
}
.pb-casita-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}

.pb-home-section{
    margin-top:18px
}
.pb-section-card{
    background:rgba(255,255,255,.96);
    border:1px solid #e8ecff;
    border-radius:28px;
    padding:18px 22px;
    box-shadow:0 12px 30px rgba(53,68,133,.10)
}
.pb-section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px
}
.pb-section-title h2{
    font-size:25px;
    margin:0
}
.pb-section-title a{
    color:#1264db;
    font-weight:800
}
.pb-media-card{
    display:block;
    color:#17336b
}
.pb-media-card .thumb{
    height:165px;
    border-radius:18px;
    overflow:hidden;
    position:relative;
    background:linear-gradient(135deg,#dff3ff,#ffe7f5)
}
.pb-media-card img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:8px
}
.pb-media-card strong{
    display:block;
    margin-top:7px
}
.duration{
    position:absolute;
    right:7px;
    bottom:7px;
    background:#18213a;
    color:#fff;
    padding:2px 7px;
    border-radius:8px;
    font-size:12px
}
.pb-player-card{
    height:180px;
    border:1px solid #dfe5ff;
    border-radius:22px;
    padding:16px;
    display:flex;
    gap:16px;
    align-items:center
}
.cover-mini{
    width:125px;
    height:125px;
    border-radius:16px;
    background:linear-gradient(135deg,#2078ff,#ff49ab,#6edb20);
    color:#fff;
    font-weight:900;
    display:grid;
    place-items:center
}
.pb-player-card small{
    display:block
}
.wave{
    height:28px;
    margin:12px 0;
    background:repeating-linear-gradient(90deg,#ff4ba9 0 3px,transparent 3px 7px);
    opacity:.8
}
.player-controls{
    display:flex;
    align-items:center;
    gap:20px
}
.play-circle{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#ff4ca9;
    color:#fff;
    display:inline-grid;
    place-items:center;
    font-size:24px
}
.pb-album{
    height:180px;
    border-radius:20px;
    padding:16px;
    color:#fff;
    font-weight:900;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    box-shadow:inset 0 -70px 60px rgba(0,0,0,.2)
}
.pb-album small{
    font-weight:600
}
.pb-album.pink{
    background:linear-gradient(135deg,#ff64b6,#ff2c7f)
}
.pb-album.green{
    background:linear-gradient(135deg,#83df45,#17a96b)
}
.pb-album.purple{
    background:linear-gradient(135deg,#775dff,#bd6cff)
}
.pb-album.night{
    background:linear-gradient(135deg,#15284d,#5062c7)
}
.pb-product{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    color:#1e3465;
    border:1px solid #e2e7ff;
    border-radius:18px;
    padding:10px;
    height:215px
}
.pb-product img{
    width:100%;
    height:135px;
    object-fit:contain
}
.pb-product span{
    margin-top:auto;
    background:#1e9af7;
    color:#fff;
    border-radius:999px;
    padding:3px 8px;
    font-weight:800;
    font-size:12px
}
.pb-character-card{
    height:190px;
    border-radius:20px;
    padding:10px;
    display:flex;
    gap:10px;
    align-items:center;
    border:1px solid #e7ebff
}
.pb-character-card img{
    width:44%;
    height:170px;
    object-fit:contain
}
.pb-character-card h3{
    font-size:20px;
    font-weight:900
}
.pb-character-card p{
    font-size:12px;
    line-height:1.3
}
.pb-character-card a{
    display:inline-block;
    color:#fff;
    border-radius:999px;
    padding:6px 11px;
    font-size:12px;
    font-weight:800
}
.pb-character-card.blue{
    background:#eef8ff
}
.pb-character-card.blue h3{
    color:#1370df
}
.pb-character-card.blue a{
    background:#1370df
}
.pb-character-card.pink{
    background:#fff0f7
}
.pb-character-card.pink h3{
    color:#ff409e
}
.pb-character-card.pink a{
    background:#ff409e
}
.pb-character-card.green{
    background:#f1ffe9
}
.pb-character-card.green h3{
    color:#5bad00
}
.pb-character-card.green a{
    background:#63b800
}
.pb-character-card.purple{
    background:#f5efff
}
.pb-character-card.purple h3{
    color:#713bdf
}
.pb-character-card.purple a{
    background:#713bdf
}
.pb-character-card.yellow{
    background:#fff8e6
}
.pb-character-card.yellow h3{
    color:#e69a00
}
.pb-character-card.yellow a{
    background:#f0a800
}
.pb-footer{
    background:linear-gradient(90deg,#0b2b94,#0d66d9,#161b6c);
    color:#fff;
    padding:22px 0;
    border-radius:34px 34px 0 0
}
.pb-footer-brand{
    font-size:25px;
    font-weight:900
}
.pb-footer a{
    color:#fff;
    font-size:24px;
    margin:0 7px
}

@media(max-width:1200px){
    .pb-topbar{
        gap:15px
    }
    .pb-brand{
        width:220px;
        min-width:220px
    }
    .pb-brand-text{
        font-size:38px
    }
    .pb-nav-link{
        padding:10px 12px;
        font-size:13px
    }
    .pb-hero-copy h1{
        font-size:48px
    }
    .brand-word{
        font-size:52px
    }
    .byte{
        left:0
    }
    .lumi{
        left:23%
    }
    .roko{
        left:43%
    }
    .nexa{
        left:62%
    }
    .pipo{
        right:-5%
    }
}
@media(max-width:991px){
    .pb-hero{
        min-height:950px
    }
    .pb-topbar{
        align-items:flex-start
    }
    .pb-nav{
        display:none;
        position:absolute;
        top:92px;
        left:15px;
        right:15px;
        border-radius:24px;
        flex-direction:column;
        z-index:20
    }
    .pb-nav.open{
        display:flex
    }
    .pb-mobile-toggle{
        display:grid;
        place-items:center;
        margin-left:auto;
        width:48px;
        height:48px;
        border-radius:50%;
        border:0;
        background:#fff;
        color:#176cf4;
        font-size:24px;
        box-shadow:0 8px 25px rgba(52,83,150,.15)
    }
    .pb-brand{
        width:200px;
        min-width:200px
    }
    .pb-brand-text{
        font-size:34px
    }
    .pb-hero-content{
        padding-top:35px
    }
    .pb-hero-copy{
        padding-left:20px
    }
    .pb-characters{
        height:520px;
        margin-top:20px
    }
    .bot{
        max-height:360px
    }
    .byte{
        left:0
    }
    .lumi{
        left:20%
    }
    .roko{
        left:39%
    }
    .nexa{
        left:60%
    }
    .pipo{
        right:-3%;
        height:280px
    }
    .pb-overlap-section{
        margin-top:-55px
    }
    .pb-casita-copy{
        padding:22px
    }
    .pb-symbols{
        margin-top:20px
    }
}
@media(max-width:650px){
    .pb-hero{
        min-height:1110px
    }
    .pb-brand{
        width:165px;
        min-width:165px
    }
    .pb-brand-text{
        font-size:28px
    }
    .pb-brand-bot{
        width:42px;
        height:34px;
        font-size:20px
    }
    .pb-hero-copy h1{
        font-size:43px
    }
    .brand-word{
        font-size:48px
    }
    .pb-hero-copy p{
        font-size:16px
    }
    .pb-characters{
        height:610px
    }
    .bot{
        height:auto!important
    }
    .byte{
        width:38%;
        left:0;
        bottom:225px
    }
    .lumi{
        width:34%;
        left:32%;
        bottom:230px
    }
    .roko{
        width:38%;
        right:0;
        left:auto;
        bottom:225px
    }
    .nexa{
        width:36%;
        left:16%;
        bottom:0
    }
    .pipo{
        width:32%;
        right:12%;
        bottom:0
    }
    .pb-section-title{
        align-items:flex-start;
        flex-direction:column
    }
    .pb-media-card .thumb{
        height:140px
    }
    .pb-symbols{
        gap:10px
    }
    .pb-symbols span{
        width:40px;
        height:40px;
        font-size:18px
    }
    .pb-character-card{
        height:auto;
        min-height:180px;
        flex-direction:column
    }
    .pb-character-card img{
        width:100%;
        height:150px
    }
}

.pb-brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.pb-brand-logo {
    width: clamp(150px, 16vw, 220px);
    height: auto;
    display: block;
    object-fit: contain;
}

.pb-symbols {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pb-symbol {
    width: 42px;   /* ajusta tamaño si quieres */
    height: auto;
    display: block;
}

/* Internas, personajes, música y tienda */
.pb-inner-hero{position:relative;background:linear-gradient(180deg,rgba(239,242,255,.82),#f7f9ff);padding:18px 0 34px;overflow:hidden}
.pb-inner-hero::before{content:"";position:absolute;inset:0;background:url('../img/hero-bg.webp') center 42%/cover no-repeat;opacity:.16;filter:blur(1px)}
.pb-inner-hero>.container-xxl{position:relative;z-index:2}
.pb-inner-hero.compact{min-height:330px}
.pb-inner-title{padding:70px 4vw 35px;max-width:760px}
.pb-inner-title h1,.pb-inner-hero-card h1{font-size:clamp(42px,6vw,76px);font-weight:900;color:#155fda;letter-spacing:-2px}
.pb-inner-title p,.pb-inner-hero-card p{font-size:20px;font-weight:650;color:#314476}
.pb-inner-hero-card{margin-top:45px;background:rgba(255,255,255,.94);border-radius:30px;box-shadow:0 18px 45px rgba(48,63,133,.15);display:grid;grid-template-columns:1fr 1.35fr;overflow:hidden;align-items:center}
.pb-inner-hero-card>div{padding:40px}.pb-inner-hero-card>img{width:100%;height:330px;object-fit:cover}
.pb-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:#ff3fa4;margin-bottom:8px}
.pb-content-section{padding-top:28px}.pb-story{padding:36px}.pb-richtext{max-width:980px;margin:auto;font-size:19px;line-height:1.75}
.pb-inline-empty,.pb-empty-state{border:2px dashed #d8e1ff;border-radius:22px;padding:26px;text-align:center;color:#60709c;background:#f9fbff}
.pb-empty-state{padding:70px 25px}.pb-empty-state i{font-size:58px;color:#1d73ef}
.pb-video-card,.pb-song-card,.pb-shop-card{background:#fff;border:1px solid #e5eaff;border-radius:22px;overflow:hidden;height:100%;box-shadow:0 10px 26px rgba(45,61,120,.08)}
.pb-video-card h2,.pb-song-card h2,.pb-shop-card h2{font-size:20px;font-weight:900;color:#193f93}
.pb-video-thumb{position:relative;aspect-ratio:16/9;background:#eef3ff}.pb-video-thumb>img{width:100%;height:100%;object-fit:cover}
.pb-play-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;border:3px solid #fff;background:linear-gradient(135deg,#ff3fa4,#7b43f5);color:#fff;font-size:30px;display:grid;place-items:center}
.pb-media-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#dff2ff,#ffe4f3);color:#4b66b5;font-weight:800}.pb-media-placeholder i{font-size:44px}
.pb-tag{display:inline-block;border-radius:999px;padding:4px 10px;background:#edf3ff;color:#2467db;font-size:12px;font-weight:800}
.pb-song-card{display:flex;padding:18px;gap:18px}.pb-song-cover{width:150px;min-width:150px;height:150px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#1f7dff,#ff51ad)}
.pb-song-cover img{width:100%;height:100%;object-fit:contain;padding:8px}.pb-song-info{flex:1}.pb-platforms{display:flex;gap:8px;flex-wrap:wrap}
.pb-character-grid{display:grid;gap:28px}.pb-character-profile{display:grid;grid-template-columns:minmax(280px,.75fr) 1.25fr;background:#fff;border-radius:30px;overflow:hidden;border:1px solid #e4e9ff;box-shadow:0 14px 36px rgba(44,63,132,.1);scroll-margin-top:20px}
.pb-profile-image{background:linear-gradient(135deg,color-mix(in srgb,var(--char-color) 12%,white),#fff);display:grid;place-items:center;min-height:430px}.pb-profile-image img{width:100%;height:430px;object-fit:contain;padding:20px}
.pb-profile-copy{padding:45px;align-self:center}.pb-profile-copy h2{font-size:52px;font-weight:900;color:var(--char-color)}.pb-profile-copy h3{font-size:21px;color:#293f75}.pb-profile-copy p{font-size:17px;line-height:1.65}
.pb-profile-badge{width:64px;height:64px;object-fit:contain;float:right}
.pb-shop-image{aspect-ratio:1/1;background:linear-gradient(135deg,#edf5ff,#fff0f8);display:grid;place-items:center}.pb-shop-image>img{width:100%;height:100%;object-fit:contain;padding:14px}
.pb-product-placeholder{display:grid;place-items:center;width:100%;height:100%}.pb-product-placeholder img{width:65%;height:auto}.pb-price{font-size:24px;font-weight:900;color:#0c9a61}
.pb-cart-link{position:relative}.pb-cart-count{min-width:20px;height:20px;border-radius:999px;background:#ff3fa4;color:#fff;display:grid;place-items:center;font-size:11px;padding:0 5px}
.pb-footer-brand img{max-width:170px;height:auto}.pb-footer .small{color:#fff}.pb-album.dynamic{background-position:center;background-size:cover;text-decoration:none}
.pb-character-card.byte{background:#eef8ff}.pb-character-card.byte h3{color:#1370df}.pb-character-card.byte a{background:#1370df}
.pb-character-card.lumi{background:#fff0f7}.pb-character-card.lumi h3{color:#ff409e}.pb-character-card.lumi a{background:#ff409e}
.pb-character-card.roko{background:#f1ffe9}.pb-character-card.roko h3{color:#5bad00}.pb-character-card.roko a{background:#63b800}
.pb-character-card.nexa{background:#f5efff}.pb-character-card.nexa h3{color:#713bdf}.pb-character-card.nexa a{background:#713bdf}
.pb-character-card.pipo{background:#fff8e6}.pb-character-card.pipo h3{color:#e69a00}.pb-character-card.pipo a{background:#f0a800}
@media(max-width:991px){.pb-inner-hero-card,.pb-character-profile{grid-template-columns:1fr}.pb-song-card{flex-direction:column}.pb-song-cover{width:100%;height:220px}.pb-profile-copy{padding:28px}.pb-profile-image,.pb-profile-image img{min-height:320px;height:360px}}
