body{
    background:
    radial-gradient(circle at top left,
    rgba(37,99,255,.18),
    transparent 40%),
    #07111f;

    color:#fff;
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
}

/* HERO */

.branding-hero{
    position:relative;
    padding:160px 0 120px;
    overflow:hidden;
}

.branding-grid{
    position:absolute;
    inset:0;
    background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size:80px 80px;
}

.branding-glow{
    position:absolute;
    width:700px;
    height:700px;
    background:#245dff;
    filter:blur(160px);
    opacity:.18;
    top:-200px;
    right:-200px;
    animation:glowFloat 8s ease-in-out infinite;
}

@keyframes glowFloat{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(30px);
    }

    100%{
        transform:translateY(0px);
    }

}

.branding-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
    position:relative;
    z-index:2;
}

.branding-tag{
    display:inline-flex;
    padding:10px 18px;
    border-radius:100px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.1);
    font-size:12px;
    letter-spacing:2px;
    margin-bottom:28px;
    backdrop-filter:blur(12px);
}

.branding-left h1{
    font-size:78px;
    line-height:1;
    margin-bottom:30px;
    font-weight:800;
    letter-spacing:-3px;
}

.branding-left p{
    font-size:18px;
    line-height:1.8;
    opacity:.8;
    max-width:620px;
}

.branding-buttons{
    display:flex;
    gap:20px;
    margin-top:40px;
}

.branding-btn-primary{
    position:relative;
    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    #2563ff,
    #6ea8ff
    );

    padding:16px 34px;
    border-radius:16px;
    color:#fff;
    text-decoration:none;
    font-weight:700;

    box-shadow:
    0 20px 60px
    rgba(37,99,255,.35);

    transition:.4s;
}

.branding-btn-primary:hover{

    transform:
    translateY(-4px);

    box-shadow:
    0 30px 80px
    rgba(37,99,255,.5);

}

.branding-btn-secondary{
    border:1px solid rgba(255,255,255,.15);
    padding:16px 34px;
    border-radius:16px;
    color:#fff;
    text-decoration:none;
    backdrop-filter:blur(10px);
    transition:.4s;
}

.branding-btn-secondary:hover{

    background:rgba(255,255,255,.06);

    transform:translateY(-4px);

}

/* MOCKUP */

.branding-right{
    position:relative;
    height:600px;
}

.branding-mockup{
    position:relative;
    width:100%;
    height:100%;
}

.mockup-card{
    position:absolute;
    border-radius:30px;
    backdrop-filter:blur(30px);
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    box-shadow:0 30px 80px rgba(0,0,0,.4);
    transition:.5s;
}

.mockup-card:hover{

    transform:
    translateY(-10px)
    scale(1.02);

}

.card-1{
    width:340px;
    height:420px;
    top:40px;
    left:40px;
    transform:rotate(-8deg);
}

.card-2{
    width:260px;
    height:360px;
    top:180px;
    right:40px;
    transform:rotate(12deg);
}

.card-3{
    width:240px;
    height:240px;
    bottom:20px;
    left:120px;
}

.branding-circle{
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    background:#2563ff;
    filter:blur(120px);
    opacity:.35;
    top:100px;
    right:100px;
}

/* HEADINGS */

.branding-heading{
    text-align:center;
    margin-bottom:80px;
}

.branding-heading span{
    color:#7fa4ff;
    letter-spacing:2px;
    font-size:12px;
}

.branding-heading h2{
    font-size:58px;
    margin-top:20px;
    letter-spacing:-2px;
}

.branding-heading p{
    max-width:760px;
    margin:20px auto 0;
    opacity:.7;
}

.light h2,
.light p{
    color:#fff;
}

/* SERVICES */

.branding-services{
    padding:120px 0;
    background:#fff;
    color:#111;
}

.branding-services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.branding-service-card{
    position:relative;
    overflow:hidden;

    background:#f7f9fc;
    border-radius:30px;
    padding:40px;

    border:1px solid transparent;

    transition:.4s;
}

.branding-service-card::before{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    135deg,
    rgba(37,99,255,.08),
    transparent
    );

    opacity:0;

    transition:.4s;

}

.branding-service-card:hover{

    transform:
    translateY(-12px)
    scale(1.02);

    border-color:
    rgba(37,99,255,.25);

    box-shadow:
    0 30px 80px
    rgba(0,0,0,.08);

}

.branding-service-card:hover::before{

    opacity:1;

}

.branding-service-card i{
    width:34px;
    height:34px;
    color:#2563ff;
    margin-bottom:24px;
}

.branding-service-card h3{
    margin-bottom:16px;
    font-size:24px;
}

/* ENTERTAINMENT */

.branding-entertainment{
    position:relative;
    padding:140px 0;
    overflow:hidden;
}

.entertainment-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(rgba(5,10,20,.7),rgba(5,10,20,.9)),
    url('../img/branding-bg.webp') center/cover;
}

.entertainment-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.ent-card{
    position:relative;
    overflow:hidden;

    height:320px;
    border-radius:30px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);

    display:flex;
    align-items:end;

    padding:30px;

    font-weight:700;
    letter-spacing:2px;

    backdrop-filter:blur(20px);

    transition:.5s;
}

.ent-card::before{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    180deg,
    transparent,
    rgba(37,99,255,.25)
    );

    opacity:0;

    transition:.5s;

}

.ent-card:hover{

    transform:
    translateY(-12px);

    border-color:
    rgba(37,99,255,.4);

}

.ent-card:hover::before{

    opacity:1;

}

/* SHOWCASE */

.branding-showcase{
    padding:120px 0;
    background:#f8fafc;
}

.branding-showcase-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.showcase-item{
    position:relative;
    overflow:hidden;

    height:260px;
    border-radius:28px;

    background:
    linear-gradient(
    135deg,
    #1d4eff,
    #4e7bff
    );

    transition:.5s;
}

.showcase-item:hover{

    transform:
    scale(1.03);

    box-shadow:
    0 30px 90px
    rgba(37,99,255,.25);

}

.showcase-item::after{

    content:'';

    position:absolute;

    top:-100%;

    left:-40%;

    width:60%;

    height:300%;

    background:
    rgba(255,255,255,.15);

    transform:
    rotate(25deg);

    transition:.8s;

}

.showcase-item:hover::after{

    left:120%;

}

.showcase-item.tall{
    height:540px;
}

.showcase-item.wide{
    grid-column:span 2;
}

/* PROCESS */

.branding-process{
    padding:120px 0;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.process-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    padding:40px;

    transition:.4s;
}

.process-card:hover{

    transform:translateY(-10px);

    border-color:
    rgba(37,99,255,.35);

    background:
    rgba(255,255,255,.06);

}

.process-card strong{
    font-size:54px;
    color:#2563ff;
}

/* CTA */

.branding-cta{
    position:relative;
    padding:160px 0;
    overflow:hidden;
    text-align:center;
}

.branding-cta-glow{
    position:absolute;
    width:700px;
    height:700px;
    background:#2563ff;
    filter:blur(180px);
    opacity:.18;
    top:-200px;
    left:50%;
    transform:translateX(-50%);
}

.branding-cta-container{
    position:relative;
    z-index:2;
}

.branding-cta h2{
    font-size:72px;
    margin:24px 0;
    letter-spacing:-3px;
}

.branding-cta p{
    font-size:20px;
    opacity:.75;
    margin-bottom:40px;
}

/* RESPONSIVE */

@media(max-width:992px){

    .branding-container,
    .branding-services-grid,
    .entertainment-grid,
    .process-grid{
        grid-template-columns:1fr;
    }

    .branding-left h1,
    .branding-heading h2,
    .branding-cta h2{
        font-size:48px;
    }

    .branding-buttons{
        flex-direction:column;
    }

}

/* =========================================
ENTERTAINMENT PREMIUM
========================================= */

.branding-entertainment{
    position:relative;
    padding:180px 0;
    overflow:hidden;
    background:#050816;
}

.entertainment-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
    180deg,
    rgba(4,8,18,.82),
    rgba(4,8,18,.94)
    ),
    url('../img/branding-bg.webp') center/cover;

    transform:scale(1.05);
}

.branding-entertainment::before{

    content:'';

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(37,99,255,.22),
    transparent 70%
    );

    top:-300px;
    right:-180px;

    filter:blur(40px);

}

.branding-entertainment::after{

    content:'';

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(120,160,255,.12),
    transparent 70%
    );

    bottom:-250px;
    left:-120px;

    filter:blur(50px);

}

.branding-entertainment .container{
    position:relative;
    z-index:2;
}

/* HEADING */

.branding-entertainment .branding-heading{
    max-width:950px;
    margin:0 auto 90px;
    text-align:center;
}

.branding-entertainment .branding-heading span{

    display:inline-flex;

    padding:10px 22px;

    border-radius:100px;

    background:
    rgba(255,255,255,.05);

    border:
    1px solid rgba(255,255,255,.08);

    color:#9bb8ff;

    letter-spacing:3px;

    font-size:12px;

    backdrop-filter:blur(14px);

    box-shadow:
    0 10px 40px rgba(0,0,0,.25);

}

.branding-entertainment .branding-heading h2{

    font-size:72px;

    line-height:1;

    letter-spacing:-3px;

    margin-top:30px;

    color:#ffffff;

    font-weight:800;

    text-shadow:
    0 10px 40px rgba(0,0,0,.45);

}

.branding-entertainment .branding-heading p{

    max-width:760px;

    margin:28px auto 0;

    font-size:20px;

    line-height:1.9;

    color:
    rgba(255,255,255,.78);

    font-weight:400;

}

/* GRID */

.entertainment-grid{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:30px;
}

/* CARD */

.ent-card{

    position:relative;

    overflow:hidden;

    height:360px;

    border-radius:34px;

    background:
    linear-gradient(
    180deg,
    rgba(255,255,255,.08),
    rgba(255,255,255,.03)
    );

    border:
    1px solid rgba(255,255,255,.08);

    display:flex;
    align-items:end;

    padding:34px;

    font-weight:700;

    letter-spacing:2px;

    color:#fff;

    backdrop-filter:blur(20px);

    transition:.55s cubic-bezier(.16,1,.3,1);

    box-shadow:
    0 30px 80px rgba(0,0,0,.28);

}

.ent-card::before{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    180deg,
    transparent,
    rgba(37,99,255,.35)
    );

    opacity:0;

    transition:.5s;

}

.ent-card::after{

    content:'';

    position:absolute;

    top:-120%;

    left:-30%;

    width:60%;

    height:300%;

    background:
    rgba(255,255,255,.10);

    transform:
    rotate(24deg);

    transition:1s;

}

.ent-card:hover{

    transform:
    translateY(-14px)
    scale(1.02);

    border-color:
    rgba(37,99,255,.4);

    box-shadow:
    0 40px 100px rgba(0,0,0,.4);

}

.ent-card:hover::before{
    opacity:1;
}

.ent-card:hover::after{
    left:140%;
}

.ent-card span{

    position:relative;
    z-index:2;

    font-size:15px;

    letter-spacing:3px;

}

/* RESPONSIVE */

@media(max-width:992px){

    .branding-entertainment{
        padding:120px 0;
    }

    .branding-entertainment .branding-heading h2{
        font-size:48px;
    }

    .branding-entertainment .branding-heading p{
        font-size:18px;
    }

    .entertainment-grid{
        grid-template-columns:1fr;
    }

}

/* SHOWCASE TITLES */

.branding-showcase .branding-heading span{

    color:#2563ff;

}

.branding-showcase .branding-heading h2{

    color:#2563ff;

}
/* =========================================
FIX HEADER DARK/LIGHT DETECTION
========================================= */

.branding-services,
.branding-showcase{

    position:relative;
    z-index:2;

    background:#ffffff !important;

}

/* fuerza visual clara */

.branding-services::before,
.branding-showcase::before{

    content:'';

    position:absolute;

    inset:0;

    background:#ffffff;

    z-index:-1;

}

/* dark sections reales */

.branding-hero,
.branding-entertainment,
.branding-process,
.branding-cta{

    background:#07111f;

}.branding-mini-text{

    margin:22px 0;

    font-size:15px;

    line-height:1.8;

    color:rgba(255,255,255,.65);

    max-width:520px;

}

.branding-proof-bar{

    display:flex;

    gap:14px;

    flex-wrap:wrap;

    margin-top:40px;

}

.branding-proof-bar span{

    padding:10px 18px;

    border-radius:100px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    color:rgba(255,255,255,.85);

    font-size:13px;

    backdrop-filter:blur(12px);

}