
/* Botones */
.btn {
    padding: 12px 28px;
    border-radius: 30px;
    font-weight: 700;
    font-family: var(--font-title);
    text-transform: uppercase;
    transition: all 0.3s ease;
    display: inline-block;
    cursor: pointer;
}
.btn-primary {
    background: linear-gradient(45deg, var(--rosa), var(--violeta));
    color: white;
    box-shadow: 0 4px 15px rgba(232, 21, 109, 0.4);
}
.btn-primary:hover {
    box-shadow: 0 6px 20px rgba(0, 212, 247, 0.6);
    transform: translateY(-2px);
}
.btn-outline {
    background: transparent;
    border: 2px solid var(--violeta);
    color: white;
}
.btn-outline:hover {
    background: var(--violeta);
}

/* Navbar */
.navbar {
    position: fixed;
    top: 0; width: 100%;
    background: rgba(13, 6, 24, 0.85);
    backdrop-filter: blur(10px);
    z-index: 1000;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.navbar-container {
    width: 90%; max-width: 1200px; margin: 0 auto;
    display: flex; justify-content: space-between; align-items: center;
}
.logo img { height: 40px; }
.nav-links { display: flex; gap: 30px; list-style: none; }
.nav-links a { font-weight: 600; font-size: 1.1rem; transition: color 0.3s; }
.nav-links a:hover { color: var(--cyan); }

/* Hero */
.hero {

    position: relative;

    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: var(--bg-dark);
}

/* VIDEO */
.hero-video {

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 1;

    filter:
        brightness(0.60)
        contrast(1.1)
        saturate(1.15);

    transform: scale(1.04);

    opacity: 1 !important;
}

/* OVERLAY */
.hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to bottom,
            rgba(243,238,232,0.35),
            rgba(243,238,232,0.72)
        );

    z-index: 2;
}

/* CONTENIDO */
.hero-content {

    position: relative;

    z-index: 3;

    max-width: 1000px;

    padding: 5rem;

    border-radius: 32px;

    background:
        rgba(255,255,255,0.12);

    backdrop-filter: blur(18px);

    border:
        1px solid rgba(255,255,255,0.25);

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

    text-align: center;
}

/* TITULO */
.hero-content h1 {

    font-size: clamp(4rem, 8vw, 7rem);

    margin-bottom: 20px;

    font-weight: 800;

    line-height: 0.95;

    color: var(--text-main);
}

/* EFECTO ACCIÓN */
.hero-content h1 span {

    background:
        linear-gradient(
            90deg,
            var(--cyan),
            var(--violeta),
            var(--rosa)
        );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    text-shadow:
        0 0 20px rgba(0,212,247,0.35);
}

/* TEXTO */
.hero-content p {

    font-size: 1.25rem;

    color: var(--text-muted);

    margin-bottom: 40px;

    line-height: 1.8;
}

/* BOTONES */
.hero-buttons {

    display: flex;

    gap: 20px;

    justify-content: center;

    flex-wrap: wrap;
}
/* =========================================
   SERVICES PREVIEW
========================================= */

.services-preview{
    width:100%;
    background:#f4f4f4;
    padding:90px 7%;
}

.service-cards{
    display:flex;
    gap:40px;
    justify-content:center;
    flex-wrap:wrap;
}

.service-card-modern{
    background:#0d1020;
    color:white;
    width:520px;
    padding:50px;
    border-radius:12px;
    transition:0.3s ease;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
}

.service-card-modern:hover{
    transform:translateY(-10px);
}

.service-card-modern h3{
    font-size:42px;
    margin-bottom:25px;
    font-weight:800;
    letter-spacing:1px;
}

.service-card-modern p{
    font-size:19px;
    line-height:1.7;
    margin-bottom:30px;
    color:#d8d8d8;
}

.service-card-modern ul{
    margin-bottom:35px;
    padding-left:20px;
}

.service-card-modern ul li{
    margin-bottom:14px;
    font-size:18px;
    font-weight:600;
}

.service-btn{
    display:inline-block;
    background:linear-gradient(90deg,#ff2d75,#8f3dff);
    color:white;
    text-decoration:none;
    padding:16px 40px;
    border-radius:8px;
    font-weight:700;
    transition:0.3s;
}

.service-btn:hover{
    transform:scale(1.05);
}



/* =========================================
   SERVICES DETAIL
========================================= */

.services-detail{
    width:100%;
    overflow:hidden;
}

.detail-section{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:120px 8%;
    background:linear-gradient(
        135deg,
        #ff2d75,
        #8f3dff
    );
    color:white;
}

.detail-section.alternate{
    background:linear-gradient(
        135deg,
        #8f3dff,
        #ff2d75
    );
}

.detail-content{
    width:100%;
    max-width:900px;
}

.detail-tag{
    display:inline-block;
    margin-bottom:25px;
    padding:10px 20px;
    border:1px solid rgba(255,255,255,0.35);
    border-radius:40px;
    font-size:14px;
    letter-spacing:2px;
    font-weight:700;
    backdrop-filter:blur(10px);
}

.detail-content h2{
    font-size:clamp(3rem, 8vw, 6rem);
    margin-bottom:30px;
    font-weight:900;
    line-height:0.95;
    max-width:700px;
    word-break:break-word;
}

.detail-content p{
    font-size:clamp(1rem, 2vw, 1.35rem);
    line-height:1.9;
    margin-bottom:25px;
    max-width:750px;
    color:rgba(255,255,255,0.92);
}

.detail-btn{
    display:inline-block;
    margin-top:20px;
    background:white;
    color:#8f3dff;
    padding:18px 42px;
    text-decoration:none;
    border-radius:12px;
    font-weight:800;
    transition:all 0.3s ease;
    box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

.detail-btn:hover{
    transform:translateY(-5px) scale(1.03);
}



/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1000px){

    .service-card-modern{
        width:100%;
    }

    .detail-section{
        padding:100px 7%;
    }

    .detail-content h2{
        font-size:clamp(2.8rem, 10vw, 4rem);
    }

    .detail-content p{
        font-size:18px;
    }
}

@media(max-width:600px){

    .service-card-modern{
        padding:35px;
    }

    .service-card-modern h3{
        font-size:32px;
    }

    .detail-section{
        padding:90px 24px;
        min-height:auto;
    }

    .detail-content h2{
        font-size:48px;
        line-height:1;
    }

    .detail-content p{
        font-size:16px;
        line-height:1.7;
    }

    .detail-btn{
        width:100%;
        text-align:center;
    }
}


.gradient-text {

    background:
        linear-gradient(
            90deg,
            #00D4F7,
            #7C3AED,
            #E8156D
        );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    text-shadow:
        0 0 18px rgba(0,212,247,0.25);
}


/* =========================================
   ABOUT SECTION
========================================= */

.about-section{
    padding:120px 8%;
    background:#f5f2ee;
}

.about-container{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:60px;
    align-items:center;
}

.about-tag{
    display:inline-block;
    margin-bottom:20px;
    padding:10px 18px;
    border-radius:40px;
    background:rgba(143,61,255,0.1);
    color:#8f3dff;
    font-weight:700;
    letter-spacing:2px;
    font-size:13px;
}

.about-text h2{
    font-size:clamp(2.5rem,6vw,5rem);
    line-height:1;
    margin-bottom:30px;
    color:#111;
}

.about-text p{
    font-size:1.15rem;
    line-height:1.9;
    color:#555;
    margin-bottom:20px;
}

.about-stats{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.stat-card{
    background:white;
    padding:35px;
    border-radius:24px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.stat-card h3{
    font-size:3rem;
    margin-bottom:10px;
    background:linear-gradient(90deg,#00d4f7,#8f3dff,#ff2d75);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.stat-card p{
    font-size:1.1rem;
    color:#666;
}

/* =========================================
   TEAM SECTION
========================================= */

.team-section{
    padding:120px 8%;
    background:white;
}

.team-header{
    text-align:center;
    margin-bottom:70px;
}

.team-header h2{
    font-size:clamp(2.5rem,5vw,4.5rem);
    color:#111;
    margin-top:20px;
}

.team-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:35px;
}

.team-card{
    background:#f7f7f7;
    padding:40px;
    border-radius:24px;
    text-align:center;
    transition:0.3s;
}

.team-card:hover{
    transform:translateY(-10px);
    box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

.team-avatar{
    width:90px;
    height:90px;
    margin:0 auto 25px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
    font-weight:800;
    color:white;
    background:linear-gradient(135deg,#ff2d75,#8f3dff);
}

.team-card h3{
    font-size:1.6rem;
    margin-bottom:10px;
    color:#111;
}

.team-card span{
    display:block;
    margin-bottom:20px;
    color:#8f3dff;
    font-weight:700;
}

.team-card p{
    color:#666;
    line-height:1.7;
}

/* ======================================
   FAQ
====================================== */

.faq-section{
    padding:120px 8%;
    background:#f8f8f8;
}

.section-header{
    text-align:center;
    max-width:800px;
    margin:0 auto 60px;
}

.section-tag{
    display:inline-block;
    padding:10px 20px;
    border-radius:40px;
    background:linear-gradient(90deg,#ff2d75,#8f3dff);
    color:white;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:20px;
}

.section-header h2{
    font-size:3rem;
    margin-bottom:20px;
    color:#1a1a1a;
}

.section-header p{
    font-size:1.1rem;
    color:#666;
}

.faq-container{
    max-width:1000px;
    margin:auto;
}

.faq-item{
    background:white;
    margin-bottom:18px;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 5px 25px rgba(0,0,0,.08);
}

.faq-question{
    width:100%;
    border:none;
    background:white;
    text-align:left;
    padding:28px;
    font-size:1.1rem;
    font-weight:700;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.faq-question span{
    font-size:28px;
    color:#8f3dff;
    transition:.3s;
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
}

.faq-answer p{
    padding:0 28px 28px;
    line-height:1.8;
    color:#555;
}

.faq-item.active .faq-answer{
    max-height:1000px;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
}

/* =========================================
   WHATSAPP BUTTON
========================================= */

.whatsapp-btn{
    position:fixed;
    bottom:25px;
    right:25px;
    z-index:9999;

    display:flex;
    align-items:center;
    gap:12px;

    background:#25D366;
    color:white;

    padding:16px 24px;
    border-radius:60px;

    font-weight:700;
    text-decoration:none;

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

    transition:0.3s;
}

.whatsapp-btn:hover{
    transform:translateY(-5px) scale(1.03);
}

.whatsapp-btn span{
    font-size:1.5rem;
}

/* =====================================
   PAGINA NOSOTROS
===================================== */

.about-hero{

    padding:180px 8% 120px;

    background:
    linear-gradient(
        135deg,
        #1d1830,
        #2b193f,
        #34133d
    );

    text-align:center;

    color:white;
}

.about-hero-content{

    max-width:900px;

    margin:auto;
}

.about-hero h1{

    font-size:4rem;

    margin:25px 0;
}

.about-hero p{

    font-size:1.2rem;

    line-height:1.8;

    opacity:.9;
}

.about-section{

    padding:100px 8%;

    background:#f7f7f7;
}

.about-section.mission{

    background:white;
}

.about-section.vision{

    background:#f7f7f7;
}

.about-container{

    max-width:1100px;

    margin:auto;
}

.about-card{

    background:white;

    padding:60px;

    border-radius:24px;

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

.about-number{

    font-size:5rem;

    font-weight:900;

    color:#e8156d20;

    display:block;

    margin-bottom:20px;
}

.about-card h2{

    font-size:3rem;

    margin-bottom:30px;

    color:#2c2038;
}

.about-card p{

    font-size:1.15rem;

    line-height:1.9;

    color:#555;

    margin-bottom:20px;
}

.about-cta{

    padding:120px 8%;

    text-align:center;

    background:
    linear-gradient(
        135deg,
        #ff2d75,
        #8f3dff
    );

    color:white;
}

.about-cta h2{

    font-size:3rem;

    margin-bottom:40px;
}

/* ====================================
   PAGINA SERVICIOS
==================================== */

.services-page-hero{

    padding:180px 8% 120px;

    text-align:center;

    color:white;

    background:
    linear-gradient(
        135deg,
        #1d1830,
        #2c1b3d,
        #381746
    );
}

.services-page-content{

    max-width:900px;

    margin:auto;
}

.services-page-content h1{

    font-size:4rem;

    margin:25px 0;
}

.services-page-content p{

    font-size:1.2rem;

    line-height:1.8;
}

.services-categories{

    padding:100px 8%;

    display:flex;

    gap:40px;

    justify-content:center;

    flex-wrap:wrap;

    background:#f8f8f8;
}

.service-category-card{

    width:500px;

    background:white;

    padding:50px;

    border-radius:24px;

    text-align:center;

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

    transition:.3s;
}

.service-category-card:hover{

    transform:translateY(-10px);
}

.service-icon{

    font-size:4rem;

    margin-bottom:25px;
}

.service-category-card h2{

    font-size:2.5rem;

    margin-bottom:20px;

    color:#2c2038;
}

.service-category-card p{

    font-size:1.1rem;

    line-height:1.8;

    margin-bottom:30px;

    color:#666;
}

.service-link{

    display:inline-block;

    padding:14px 30px;

    border-radius:40px;

    background:
    linear-gradient(
        90deg,
        #ff2d75,
        #8f3dff
    );

    color:white;

    text-decoration:none;

    font-weight:700;
}

.why-services{

    padding:100px 8%;

    text-align:center;

    background:white;
}

.why-services h2{

    font-size:3rem;

    margin-bottom:60px;
}

.why-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:30px;
}

.why-item{

    background:#f7f7f7;

    padding:40px;

    border-radius:20px;
}

.why-item h3{

    color:#8f3dff;

    margin-bottom:15px;
}