/* ==========================================================
   NEXA — style.css
   Índice:
     1. Reset & Base
     2. Header / Navbar / Menú
     3. Botones globales
     4. Hero (Inicio)
     5. Page Hero (encabezado genérico subpáginas)
     6. Servicios (Metodología)
     7. Proceso (Metodología)
     8. FAQ (Metodología)
     9. Nosotros (Filosofía / Misión-Visión / Valores / Why Nexa)
    10. Contacto
    11. Footer
    12. Modales (video / imagen)
    13. Nuestro Trabajo — Encabezado + Tarjetas superiores
    14. Nuestro Trabajo — Bloques de servicio (01 / 02 / 03)
    15. Nuestro Trabajo — CTA final
    16. Scroll Reveal
    17. Animaciones (@keyframes)
    18. Responsive
   ========================================================== */

/* ==========================================================
   1. RESET & BASE
   ========================================================== */
html{
    scroll-behavior:smooth;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    background:#050505;
    color:white;
    padding-top:90px;
}

/* ==========================================================
   2. HEADER / NAVBAR / MENÚ
   ========================================================== */
header{
    width:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    background:rgba(0,0,0,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,0.08);
}

.navbar{
    max-width:1400px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 60px;
}

.logo img{
    height:110px;
    width:auto;
    max-width:280px;
    object-fit:contain;
    object-position:left center;
    display:block;
}

.nav-links{
    display:flex;
    gap:35px;
    list-style:none;
}

.nav-links a{
    text-decoration:none;
    color:white;
    font-weight:500;
    transition:.3s;
}

.nav-links a:hover{
    color:#2D8CFF;
}

.menu-toggle,
.mobile-btn{
    display:none;
}

/* ==========================================================
   3. BOTONES GLOBALES
   ========================================================== */
.btn-cotizar{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    padding:12px 22px;
    border-radius:30px;
    background:linear-gradient(90deg,#2D8CFF,#9C27FF,#FF2D95);
    color:white;
    font-weight:600;
}

.btn-cotizar:hover{
    transform:translateY(-2px);
}

.btn-cotizar svg,
.mobile-btn svg{
    flex-shrink:0;
    transition:transform .35s;
}

.btn-cotizar:hover svg,
.mobile-btn:hover svg{
    transform:translateX(3px);
}

.btn-primary{
    text-decoration:none;
    color:white;
    padding:15px 30px;
    border-radius:50px;
    background:linear-gradient(90deg,#2D8CFF,#9C27FF,#FF2D95);
    font-weight:600;
}

.btn-secondary{
    text-decoration:none;
    color:white;
    padding:15px 30px;
    border-radius:50px;
    border:1px solid #2D8CFF;
}

/* ==========================================================
   4. HERO (INICIO) — Ecosistema NEXA
   ========================================================== */

:root{
    --bg:#050505;
    --card:#101010;
    --border:rgba(255,255,255,.08);
    --text:#ffffff;
    --text-soft:#A5A5A5;
    --blue:#2D8CFF;
    --purple:#8C52FF;
    --pink:#FF2D95;
    --gradient:linear-gradient(135deg, var(--blue), var(--purple));
}

.hero{
    position:relative;
    overflow:hidden;
    background:var(--bg);
    padding-top:170px;
    padding-bottom:110px;
}

/* Fondo */
.hero-bg{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

.hero-bg::before{
    content:"";
    position:absolute;
    width:900px;
    height:900px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(45,140,255,.18), transparent 70%);
    top:-350px;
    left:-250px;
    filter:blur(90px);
}

.hero-bg::after{
    content:"";
    position:absolute;
    width:900px;
    height:900px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(140,82,255,.16), transparent 70%);
    bottom:-350px;
    right:-250px;
    filter:blur(90px);
}

/* Grid principal */
.hero-grid{
    position:relative;
    z-index:5;
    width:min(1450px,92%);
    margin:auto;
    display:grid;
    grid-template-columns:620px 1fr;
    align-items:center;
    gap:80px;
}

/* Columna izquierda */
.hero-left{
    display:flex;
    flex-direction:column;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:12px;
    width:max-content;
    padding:12px 22px;
    border-radius:100px;
    border:1px solid rgba(140,82,255,.35);
    background:rgba(140,82,255,.08);
    color:#B98CFF;
    font-size:.82rem;
    letter-spacing:2px;
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:32px;
}

.badge-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--purple);
    box-shadow:0 0 20px var(--purple);
}

.hero-title{
    color:white;
    font-size:60px;
    line-height:1.15;
    font-weight:700;
    margin-bottom:28px;
}

.hero-title span{
    background:linear-gradient(135deg, #FFFFFF, #8C52FF);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero-description{
    max-width:480px;
    color:var(--text-soft);
    font-size:17px;
    line-height:1.75;
    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:55px;
}

.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:18px 32px;
    border-radius:18px;
    background:var(--gradient);
    color:white;
    text-decoration:none;
    font-weight:600;
    transition:.35s;
}

.btn-primary:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(45,140,255,.35);
}

.btn-arrow{
    display:inline-flex;
    transition:transform .35s;
}

.btn-primary:hover .btn-arrow,
.hero-footer-btn:hover .btn-arrow{
    transform:translateX(4px);
}

.btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:18px 32px;
    border-radius:18px;
    border:1px solid var(--border);
    color:white;
    text-decoration:none;
    transition:.35s;
}

.btn-secondary:hover{
    border-color:var(--purple);
    transform:translateY(-6px);
}

/* Beneficios */
.hero-stats{
    display:flex;
    flex-wrap:wrap;
    gap:26px 34px;
}

.hero-stat{
    display:flex;
    align-items:center;
    gap:12px;
}

.stat-icon{
    flex-shrink:0;
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(140,82,255,.12);
    display:flex;
    justify-content:center;
    align-items:center;
}

.stat-icon svg{
    width:17px;
    height:17px;
    color:#8C52FF;
}

.hero-stat span{
    color:#E4E4E4;
    font-size:14.5px;
    white-space:nowrap;
}
/* ==========================================================
   Columna derecha — Ecosistema
   ========================================================== */

.hero-right{
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

.ecosystem{
    position:relative;
    width:680px;
    height:680px;
    animation:ecosystemFloat 10s ease-in-out infinite;
}

.ecosystem-glow{
    position:absolute;
    inset:50% auto auto 50%;
    transform:translate(-50%,-50%);
    width:500px;
    height:500px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(140,82,255,.25), transparent 70%);
    filter:blur(80px);
    animation:ecosystemGlowPulse 6s ease infinite;
}

.ecosystem-ring{
    position:absolute;
    border-radius:50%;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}

.ring-1{
    width:520px;
    height:520px;
    border:1px solid rgba(255,255,255,.08);
    animation:rotateSlow 80s linear infinite;
}

.ring-2{
    width:360px;
    height:360px;
    border:1px solid rgba(255,255,255,.05);
    animation:rotateReverse 120s linear infinite;
}

.ecosystem::before,
.ecosystem::after{
    content:"";
    position:absolute;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#8C52FF;
    box-shadow:0 0 12px #8C52FF;
    opacity:.6;
    animation:particleFloat 8s ease-in-out infinite;
}

.ecosystem::before{
    top:110px;
    left:130px;
}

.ecosystem::after{
    bottom:130px;
    right:140px;
    animation-delay:4s;
}

/* Centro */
.ecosystem-center{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:180px;
    height:180px;
    border-radius:50%;
    background:linear-gradient(180deg, rgba(22,22,22,.98), rgba(10,10,10,.98));
    border:1px solid rgba(255,255,255,.08);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    box-shadow:0 0 70px rgba(140,82,255,.18), inset 0 0 40px rgba(255,255,255,.03);
    z-index:20;
    overflow:visible;
}

.ecosystem-center::before{
    content:"";
    position:absolute;
    inset:-14px;
    border-radius:50%;
    border:1px solid rgba(140,82,255,.22);
    animation:centerHalo 4s ease-in-out infinite;
}

.ecosystem-center::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(140,82,255,.10), transparent 70%);
    z-index:-1;
    animation:centerGlow 6s ease-in-out infinite;
}

.ecosystem-center img{
    width:76px;
    margin-bottom:12px;
    filter:drop-shadow(0 0 18px rgba(140,82,255,.35));
}

.ecosystem-center h3{
    color:white;
    font-size:24px;
    margin-bottom:6px;
    font-weight:700;
}

.ecosystem-center p{
    color:#B5B5B5;
    letter-spacing:2px;
    font-size:11px;
    text-transform:uppercase;
}

/* Tarjetas de servicio */
.service{
    position:absolute;
    width:150px;
    background:rgba(16,16,16,.82);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:20px 16px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    transition:transform .45s ease, border-color .45s ease, box-shadow .45s ease;
    cursor:pointer;
    z-index:15;
    box-shadow:0 20px 50px rgba(0,0,0,.35);
    overflow:hidden;
    isolation:isolate;
}

.service::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:linear-gradient(135deg, rgba(255,255,255,.10), transparent 40%, transparent 60%, rgba(140,82,255,.10));
    opacity:.45;
    z-index:-2;
}

.service::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    background:radial-gradient(circle, rgba(255,255,255,.18), transparent 70%);
    top:-120px;
    left:-120px;
    opacity:0;
    transition:1s;
    z-index:-1;
}

.service:hover{
    transform:translateY(-10px) scale(1.03);
    border-color:rgba(140,82,255,.55);
    box-shadow:0 25px 70px rgba(0,0,0,.45), 0 0 35px rgba(140,82,255,.18);
}

.service:hover::after{
    opacity:1;
    top:-40px;
    left:-40px;
}

.service-icon{
    width:56px;
    height:56px;
    border-radius:16px;
    background:linear-gradient(180deg, rgba(45,140,255,.15), rgba(140,82,255,.12));
    border:1px solid rgba(255,255,255,.08);
    margin-bottom:14px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    overflow:hidden;
}

.service-icon::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:16px;
    background:radial-gradient(circle, rgba(140,82,255,.28), transparent 70%);
}

.service-icon svg{
    width:26px;
    height:26px;
    stroke:#FFFFFF;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    fill:none;
    z-index:2;
}

.service h4{
    color:white;
    font-size:16px;
    font-weight:600;
    margin-bottom:4px;
    transition:.35s;
}

.service span{
    color:#B5B5B5;
    font-size:13px;
    transition:.35s;
}

.service:hover h4{
    color:#FFFFFF;
}

.service:hover span{
    color:#D8D8D8;
}

/* Posiciones — hexágono (en %, escalan junto con .ecosystem) */
.service-top{
    top:10.3%;
    left:50%;
    transform:translate(-50%,-50%);
}

.service-top-right{
    top:30.1%;
    left:84.4%;
    transform:translate(-50%,-50%);
}

.service-bottom-right{
    top:69.9%;
    left:84.4%;
    transform:translate(-50%,-50%);
}

.service-bottom{
    top:89.7%;
    left:50%;
    transform:translate(-50%,-50%);
}

.service-bottom-left{
    top:69.9%;
    left:15.6%;
    transform:translate(-50%,-50%);
}

.service-top-left{
    top:30.1%;
    left:15.6%;
    transform:translate(-50%,-50%);
}

/* Líneas SVG */
.ecosystem-lines{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:8;
    overflow:visible;
}

.connection{
    stroke:#8C52FF;
    stroke-width:2;
    stroke-linecap:round;
    fill:none;
    opacity:.3;
    filter:drop-shadow(0 0 6px rgba(140,82,255,.45));
    stroke-dasharray:8 10;
    animation:connectionFlow 16s linear infinite;
    transition:.35s;
}

.node{
    fill:#8C52FF;
    filter:drop-shadow(0 0 10px #8C52FF);
    animation:nodePulse 3.5s ease infinite;
}

.node:nth-child(8){ animation-delay:.4s; }
.node:nth-child(9){ animation-delay:.8s; }
.node:nth-child(10){ animation-delay:1.2s; }
.node:nth-child(11){ animation-delay:1.6s; }
.node:nth-child(12){ animation-delay:2s; }

.service:hover ~ .ecosystem-lines .connection{
    opacity:.6;
    stroke-width:2.4;
    filter:drop-shadow(0 0 10px rgba(140,82,255,.65));
}

.service:hover ~ .ecosystem-lines .node{
    filter:drop-shadow(0 0 14px #8C52FF);
}

/* Animaciones */
@keyframes rotateSlow{
    from{ transform:translate(-50%,-50%) rotate(0deg); }
    to{ transform:translate(-50%,-50%) rotate(360deg); }
}

@keyframes rotateReverse{
    from{ transform:translate(-50%,-50%) rotate(360deg); }
    to{ transform:translate(-50%,-50%) rotate(0deg); }
}

@keyframes ecosystemGlowPulse{
    0%{ transform:translate(-50%,-50%) scale(1); opacity:.55; }
    50%{ transform:translate(-50%,-50%) scale(1.08); opacity:1; }
    100%{ transform:translate(-50%,-50%) scale(1); opacity:.55; }
}

@keyframes ecosystemFloat{
    0%{ transform:translateY(0px); }
    50%{ transform:translateY(-12px); }
    100%{ transform:translateY(0px); }
}

@keyframes centerHalo{
    0%{ transform:scale(.92); opacity:.25; }
    50%{ transform:scale(1.08); opacity:.75; }
    100%{ transform:scale(.92); opacity:.25; }
}

@keyframes centerGlow{
    0%{ transform:scale(1); opacity:.55; }
    50%{ transform:scale(1.08); opacity:1; }
    100%{ transform:scale(1); opacity:.55; }
}

@keyframes nodePulse{
    0%{ transform:scale(.9); opacity:.8; }
    50%{ transform:scale(1.25); opacity:1; }
    100%{ transform:scale(.9); opacity:.8; }
}

@keyframes connectionFlow{
    from{ stroke-dashoffset:0; }
    to{ stroke-dashoffset:-320; }
}

@keyframes particleFloat{
    0%{ transform:translateY(0px) scale(.8); opacity:0; }
    20%{ opacity:.7; }
    50%{ transform:translateY(-18px) scale(1.1); opacity:1; }
    100%{ transform:translateY(-36px) scale(.8); opacity:0; }
}
/*=========================================================
                HERO PREMIUM
                BANNER CTA INFERIOR
=========================================================*/

.hero-footer{
    position:relative;
    width:min(1300px,92%);
    margin:120px auto 0;
    z-index:10;
    display:flex;
    align-items:center;
    gap:34px;
    background:linear-gradient(135deg, rgba(45,140,255,.08), rgba(140,82,255,.08));
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    padding:44px 55px;
    overflow:hidden;
}

.hero-footer::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(140,82,255,.18), transparent 70%);
    top:-250px;
    right:-150px;
    pointer-events:none;
}

.hero-footer-icon{
    position:relative;
    z-index:2;
    flex-shrink:0;
    width:64px;
    height:64px;
    border-radius:50%;
    background:var(--gradient);
    display:flex;
    justify-content:center;
    align-items:center;
    box-shadow:0 15px 40px rgba(140,82,255,.35);
}

.hero-footer-icon svg{
    width:28px;
    height:28px;
    stroke:white;
    stroke-width:1.8;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.hero-footer-text{
    position:relative;
    z-index:2;
    flex:1;
}

.hero-footer-title{
    color:white;
    font-size:26px;
    font-weight:700;
    line-height:1.3;
    margin-bottom:8px;
}

.hero-footer-title span{
    background:linear-gradient(90deg, var(--blue), var(--purple), var(--pink));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero-footer-text p{
    color:var(--text-soft);
    font-size:15px;
    line-height:1.6;
    max-width:540px;
}

.hero-footer-btn{
    position:relative;
    z-index:2;
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 30px;
    border-radius:16px;
    background:var(--gradient);
    color:white;
    text-decoration:none;
    font-weight:600;
    white-space:nowrap;
    transition:.35s;
}

.hero-footer-btn:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(45,140,255,.35);
}

/*========================================
        ANIMACIÓN ENTRADA
========================================*/

.hero-left{
    animation:fadeLeft .9s ease;
}

.hero-right{
    animation:fadeRight 1s ease;
}

@keyframes fadeLeft{
    from{ opacity:0; transform:translateX(-40px); }
    to{ opacity:1; transform:translateX(0); }
}

@keyframes fadeRight{
    from{ opacity:0; transform:translateX(40px); }
    to{ opacity:1; transform:translateX(0); }
}

.hero *{
    backface-visibility:hidden;
    -webkit-font-smoothing:antialiased;
}

/*========================================
        RESPONSIVE — HERO
========================================*/

@media (max-width:1200px){
    .hero-grid{
        grid-template-columns:540px 1fr;
        gap:55px;
    }
    .hero-title{
        font-size:50px;
    }
    .hero-description{
        font-size:16.5px;
    }
    .ecosystem{
        width:560px;
        height:560px;
    }
}

@media (max-width:992px){
    .hero{
        padding-top:150px;
        padding-bottom:80px;
    }
    .hero-grid{
        grid-template-columns:1fr;
        text-align:center;
        gap:70px;
    }
    .hero-left{
        align-items:center;
    }
    .hero-description{
        max-width:600px;
    }
    .hero-buttons{
        justify-content:center;
    }
    .hero-stats{
        justify-content:center;
        max-width:600px;
    }
    .ecosystem{
        width:520px;
        height:520px;
    }
    .hero-footer{
        flex-wrap:wrap;
        text-align:center;
        justify-content:center;
        padding:38px 40px;
    }
    .hero-footer-text{
        flex:0 0 100%;
    }
    .hero-footer-text p{
        max-width:100%;
        margin:auto;
    }
}

@media (max-width:768px){
    .hero{
        padding-top:130px;
        padding-bottom:70px;
    }
    .hero-title{
        font-size:36px;
        line-height:1.22;
    }
    .hero-description{
        font-size:16px;
        line-height:1.7;
    }
    .hero-buttons{
        flex-direction:column;
        width:100%;
    }
    .btn-primary,
    .btn-secondary{
        width:100%;
        max-width:340px;
        margin:0 auto;
    }
    .hero-stats{
        flex-direction:column;
        align-items:center;
        gap:16px;
    }
    .ecosystem{
        width:320px;
        height:320px;
    }
    .service{
        width:100px;
        padding:12px 8px;
        border-radius:16px;
    }
    .service h4{
        font-size:11.5px;
        margin-bottom:0;
    }
    .service span{
        display:none;
    }
    .service-icon{
        width:38px;
        height:38px;
        border-radius:12px;
        margin-bottom:8px;
    }
    .service-icon svg{
        width:17px;
        height:17px;
    }
    .ecosystem-center{
        width:104px;
        height:104px;
    }
    .ecosystem-center img{
        width:44px;
        margin-bottom:4px;
    }
    .ecosystem-center h3{
        font-size:15px;
    }
    .ecosystem-center p{
        font-size:8.5px;
    }
    .hero-footer{
        flex-direction:column;
        text-align:center;
        padding:34px 26px;
        gap:20px;
        margin-top:70px;
    }
    .hero-footer-title{
        font-size:21px;
    }
    .hero-footer-btn{
        width:100%;
        justify-content:center;
    }
}

@media (max-width:576px){
    .hero-title{
        font-size:30px;
    }
    .hero-description{
        font-size:15px;
    }
    .hero-badge{
        font-size:.72rem;
        padding:9px 16px;
    }
    .ecosystem{
        width:270px;
        height:270px;
    }
    .service{
        width:84px;
        padding:10px 6px;
    }
    .service h4{
        font-size:10px;
    }
}
/* ==========================================================
   5. PAGE HERO (encabezado genérico subpáginas)
   ========================================================== */
.page-hero{
    min-height:60vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    max-width:1200px;
    margin:auto;
    padding:180px 40px 140px;
}

.page-hero-content{
    max-width:1000px;
    margin:auto;
    text-align:center;
    padding:100px 80px;
    border-radius:30px;
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    backdrop-filter:blur(20px);
    position:relative;
    overflow:hidden;
    transition:.4s ease;
}

.page-hero-content::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    background:radial-gradient(circle,rgba(45,140,255,0.20),transparent 70%);
    top:-250px;
    left:-150px;
    z-index:-1;
}

.page-hero-content::after{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    background:radial-gradient(circle,rgba(156,39,255,0.20),transparent 70%);
    bottom:-250px;
    right:-150px;
    z-index:-1;
}

.page-hero-content:hover{
    border-color:#9C27FF;
    box-shadow:0 0 30px rgba(156,39,255,.15),0 0 80px rgba(45,140,255,.08);
}

.page-hero h1{
    font-size:5.5rem;
    line-height:1.1;
    max-width:700px;
    margin:auto;
}

.page-hero p{
    color:#b5b5b5;
    font-size:1.1rem;
    line-height:1.8;
}

/* ==========================================================
   6. SERVICIOS (Metodología)
   ========================================================== */
.services-section{
    max-width:1400px;
    margin:auto;
    padding:80px 40px 120px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.service-card{
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:24px;
    padding:40px;
    transition:0.3s ease;
}

.service-card:hover{
    transform:translateY(-8px);
    border-color:#9C27FF;
    box-shadow:0 0 30px rgba(156,39,255,0.15);
}

.service-number{
    font-size:0.9rem;
    color:#9C27FF;
    margin-bottom:20px;
    font-weight:600;
    letter-spacing:2px;
}

.service-card h2{
    font-size:2rem;
    margin-bottom:15px;
}

.service-card p{
    color:#b5b5b5;
    line-height:1.8;
    margin-bottom:25px;
}

.service-card ul{
    list-style:none;
}

.service-card li{
    color:#ffffff;
    margin-bottom:12px;
    position:relative;
    padding-left:20px;
}

.service-card li::before{
    content:"•";
    color:#FF2D95;
    position:absolute;
    left:0;
}

/* ==========================================================
   7. PROCESO (Metodología)
   ========================================================== */
.process-section{
    max-width:1400px;
    margin:auto;
    padding:120px 40px;
}

.section-title{
    text-align:center;
    margin-bottom:80px;
}

.section-title span{
    color:#9C27FF;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.section-title h2{
    font-size:3rem;
    margin-top:20px;
}

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

.process-step{
    text-align:center;
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:24px;
    padding:40px 25px;
}

.step-number{
    width:60px;
    height:60px;
    margin:auto;
    margin-bottom:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,#2D8CFF,#9C27FF,#FF2D95);
    color:white;
    font-weight:700;
}

.process-step h3{
    margin-bottom:15px;
}

.process-step p{
    color:#b5b5b5;
    line-height:1.8;
}

/* ==========================================================
   8. FAQ (Metodología)
   ========================================================== */
.faq-section{
    max-width:1200px;
    margin:auto;
    padding:120px 40px;
}

.faq-container{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.faq-item{
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:20px;
    padding:30px;
}

.faq-item h3{
    margin-bottom:15px;
}

.faq-item p{
    color:#b5b5b5;
    line-height:1.8;
}

/* ==========================================================
   9. NOSOTROS
   ========================================================== */

.page-hero.about-page-hero{
    max-width:1320px;
    padding:170px 40px 90px;
    min-height:auto;
}

.page-hero-content.about-hero-content{
    max-width:100%;
    padding:0;
    background:none;
    border:none;
    backdrop-filter:none;
    box-shadow:none;
}

.page-hero-content.about-hero-content::before,
.page-hero-content.about-hero-content::after{
    display:none;
}

.page-hero-content.about-hero-content:hover{
    border-color:transparent;
    box-shadow:none;
}

.about-label{
    display:block;
    text-align:center;
    color:#FF6EC0;
    font-size:.82rem;
    letter-spacing:3px;
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:40px;
}

.about-hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:60px;
    align-items:center;
    text-align:left;
}

.about-hero-title{
    color:white;
    font-size:44px;
    line-height:1.25;
    font-weight:700;
    margin-bottom:22px;
}

.about-hero-title span{
    display:block;
    background:linear-gradient(135deg,var(--blue),var(--purple));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.about-hero-desc{
    color:var(--text-soft);
    font-size:16px;
    line-height:1.85;
    max-width:520px;
    margin-bottom:26px;
}

.about-hero-quote{
    margin:0;
    padding-left:20px;
    border-left:2px solid var(--blue);
    color:#cfcfcf;
    font-size:14.5px;
    font-style:normal;
    line-height:1.7;
    max-width:460px;
}

.about-mission-card{
    position:relative;
    padding:34px 30px;
    border-radius:24px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
    text-align:center;
}

.about-mission-label{
    display:block;
    color:var(--blue);
    font-size:13px;
    letter-spacing:1px;
    font-weight:600;
    margin-bottom:14px;
}

.about-mission-card p{
    color:var(--text-soft);
    font-size:14px;
    line-height:1.7;
    max-width:340px;
    margin:0 auto;
}

.about-orbit{
    position:relative;
    width:220px;
    height:220px;
    margin:34px auto 6px;
}

.about-orbit-ring{
    position:absolute;
    top:50%;
    left:50%;
    border-radius:50%;
    border:1px solid rgba(45,140,255,.25);
    transform:translate(-50%,-50%);
}

.about-orbit-ring--1{
    width:100%;
    height:100%;
    border-color:rgba(45,140,255,.3);
}

.about-orbit-ring--2{
    width:72%;
    height:72%;
    border-color:rgba(140,82,255,.3);
    transform:translate(-50%,-50%) rotate(25deg);
}

.about-orbit-ring--3{
    width:46%;
    height:46%;
    border-color:rgba(255,45,149,.3);
    transform:translate(-50%,-50%) rotate(-20deg);
}

.about-orbit-core{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:52px;
    height:52px;
    border-radius:50%;
    border:1px solid rgba(45,140,255,.5);
    background:rgba(45,140,255,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-weight:700;
    font-size:20px;
    box-shadow:0 0 30px rgba(45,140,255,.25);
    animation:aboutCorePulse 4s ease-in-out infinite;
}

.about-orbit-dot{
    position:absolute;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--blue);
    box-shadow:0 0 10px var(--blue);
}

.about-orbit-dot--1{ top:2%; left:50%; background:var(--purple); box-shadow:0 0 10px var(--purple); }
.about-orbit-dot--2{ top:50%; left:99%; }
.about-orbit-dot--3{ top:96%; left:52%; background:var(--pink); box-shadow:0 0 10px var(--pink); }
.about-orbit-dot--4{ top:15%; left:12%; }
.about-orbit-dot--5{ top:80%; left:88%; background:var(--purple); box-shadow:0 0 10px var(--purple); }
.about-orbit-dot--6{ top:20%; left:85%; background:var(--pink); box-shadow:0 0 10px var(--pink); }

.about-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:60px;
}

.about-stat{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding:26px 24px;
    border-radius:20px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    text-align:left;
    transition:.35s;
}

.about-stat:hover{
    transform:translateY(-6px);
    border-color:rgba(45,140,255,.4);
}

.about-stat-icon{
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(45,140,255,.12);
    border:1px solid rgba(45,140,255,.3);
    color:var(--blue);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:10px;
}

.about-stat-icon svg{
    width:19px;
    height:19px;
}

.about-stat strong{
    color:white;
    font-size:26px;
    font-weight:700;
}

.about-stat span{
    color:var(--text-soft);
    font-size:13px;
    line-height:1.5;
}

/* --- Bloques genéricos Nosotros --- */
.about-section{
    max-width:1320px;
    margin:auto;
    padding:110px 6% 0;
}

.about-section-head{
    text-align:center;
    max-width:760px;
    margin:0 auto 60px;
}

.about-eyebrow{
    display:inline-block;
    font-size:.82rem;
    letter-spacing:3px;
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:18px;
}

.about-eyebrow--pink{ color:#FF6EC0; }
.about-eyebrow--blue{ color:#5FA8FF; }

.about-heading{
    color:white;
    font-size:38px;
    font-weight:700;
    line-height:1.25;
}

.about-heading span{
    background:linear-gradient(135deg,var(--purple),var(--pink));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* --- Nuestros valores --- */
.about-values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.about-value-card{
    padding:34px 26px;
    border-radius:22px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    text-align:center;
    transition:.4s;
}

.about-value-card--accent{
    background:linear-gradient(160deg, rgba(255,45,149,.10), rgba(140,82,255,.06));
    border-color:rgba(255,45,149,.25);
}

.about-value-card:hover{
    transform:translateY(-8px);
    border-color:var(--purple);
    box-shadow:0 20px 45px rgba(0,0,0,.35);
}

.about-value-icon{
    width:52px;
    height:52px;
    margin:0 auto 20px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(45,140,255,.12);
    border:1px solid rgba(45,140,255,.3);
    color:var(--blue);
}

.about-value-card--accent .about-value-icon{
    background:rgba(255,45,149,.12);
    border-color:rgba(255,45,149,.35);
    color:var(--pink);
}

.about-value-icon svg{
    width:24px;
    height:24px;
}

.about-value-card h3{
    color:white;
    font-size:19px;
    font-weight:600;
    margin-bottom:12px;
}

.about-value-card p{
    color:var(--text-soft);
    font-size:14px;
    line-height:1.7;
}

/* --- Misión y visión --- */
.about-mv-card{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:0;
    padding:50px 60px;
    border-radius:28px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
}

.about-mv-side{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.about-mv-mission{
    text-align:left;
    padding-right:50px;
}

.about-mv-vision{
    text-align:right;
    align-items:flex-end;
    padding-left:50px;
}

.about-mv-label{
    font-size:13px;
    letter-spacing:1.5px;
    font-weight:600;
    text-transform:uppercase;
}

.about-mv-label--blue{ color:var(--blue); }
.about-mv-label--pink{ color:var(--pink); }

.about-mv-icon{
    width:48px;
    height:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.about-mv-icon--blue{
    background:rgba(45,140,255,.12);
    border:1px solid rgba(45,140,255,.3);
    color:var(--blue);
}

.about-mv-icon--pink{
    background:rgba(255,45,149,.12);
    border:1px solid rgba(255,45,149,.3);
    color:var(--pink);
}

.about-mv-icon svg{
    width:22px;
    height:22px;
}

.about-mv-side p{
    color:var(--text-soft);
    font-size:15px;
    line-height:1.8;
    max-width:340px;
}

.about-mv-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    width:60px;
    height:60px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.15);
    background:var(--bg);
    margin:0 -30px;
    position:relative;
    z-index:2;
}

.about-mv-divider-icon{
    font-weight:800;
    font-size:20px;
    background:linear-gradient(135deg,var(--blue),var(--pink));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* --- Proceso (Filosofía) --- */
.about-process-track{
    position:relative;
    display:flex;
    gap:30px;
}

.about-process-track::before{
    content:"";
    position:absolute;
    top:26px;
    left:8%;
    right:8%;
    height:1px;
    background:rgba(255,255,255,.1);
    z-index:0;
}

.about-process-step{
    position:relative;
    z-index:1;
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:0 10px;
}

.about-process-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--card);
    border:1px solid var(--purple);
    color:var(--purple);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
}

.about-process-icon svg{
    width:24px;
    height:24px;
}

.about-process-num{
    display:inline-block;
    color:var(--text-soft);
    font-size:12px;
    letter-spacing:1px;
    font-weight:700;
    margin-bottom:10px;
}

.about-process-step h3{
    color:white;
    font-size:19px;
    font-weight:600;
    margin-bottom:10px;
}

.about-process-step p{
    color:var(--text-soft);
    font-size:14px;
    line-height:1.7;
    max-width:230px;
}

/* --- Quiénes somos (Por qué Nexa) --- */
.about-team-card{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:36px 50px;
    padding:50px 55px;
    border-radius:28px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
}

.about-team-item{
    display:flex;
    align-items:flex-start;
    gap:16px;
}

.about-check{
    flex-shrink:0;
    width:26px;
    height:26px;
    color:var(--pink);
    margin-top:2px;
}

.about-team-item h4{
    color:white;
    font-size:16px;
    font-weight:600;
    margin-bottom:8px;
}

.about-team-item p{
    color:var(--text-soft);
    font-size:14px;
    line-height:1.7;
}

/* --- CTA final --- */
.about-cta{
    position:relative;
    max-width:1320px;
    margin:110px auto 0;
    padding:90px 6% 70px;
    text-align:center;
    border-radius:32px;
    background:linear-gradient(160deg, rgba(45,140,255,.08), rgba(140,82,255,.06));
    border:1px solid rgba(255,255,255,.08);
    overflow:hidden;
}

.about-cta h2{
    position:relative;
    z-index:2;
    color:white;
    font-size:38px;
    font-weight:700;
    line-height:1.3;
    margin-bottom:18px;
}

.about-cta h2 span{
    background:linear-gradient(135deg,var(--purple),var(--pink));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.about-cta p{
    position:relative;
    z-index:2;
    max-width:560px;
    margin:0 auto 36px;
    color:var(--text-soft);
    font-size:16px;
    line-height:1.8;
}

.about-cta-btn{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 32px;
    border-radius:16px;
    background:var(--gradient);
    color:white;
    text-decoration:none;
    font-weight:600;
    transition:.35s;
}

.about-cta-btn:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 45px rgba(45,140,255,.35);
}

.about-cta-wave{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:110px;
    z-index:1;
    pointer-events:none;
}

/* --- Mini features inferiores --- */
.about-features{
    max-width:1320px;
    margin:70px auto 0;
    padding:0 6% 110px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.about-feature{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.about-feature-icon{
    flex-shrink:0;
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(140,82,255,.12);
    color:#B98CFF;
    display:flex;
    align-items:center;
    justify-content:center;
}

.about-feature-icon svg{
    width:18px;
    height:18px;
}

.about-feature h5{
    color:white;
    font-size:14.5px;
    font-weight:600;
    margin-bottom:6px;
}

.about-feature p{
    color:var(--text-soft);
    font-size:13px;
    line-height:1.6;
}

/* ==========================================================
   10. CONTACTO
   ========================================================== */
.contact-section{
    max-width:1400px;
    margin:auto;
    padding:140px 60px;
}

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

.contact-subtitle{
    display:inline-block;
    padding:10px 22px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:40px;
    color:#9CA3AF;
    font-size:.85rem;
    letter-spacing:2px;
    margin-bottom:30px;
}

.contact-header h2{
    font-size:3rem;
    color:white;
    margin-bottom:25px;
}

.contact-header p{
    color:#A1A1AA;
    line-height:1.8;
    font-size:1.1rem;
}

.contact-container{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:60px;
    align-items:start;
}

.contact-form{
    background:#0B0B0B;
    border:1px solid rgba(255,255,255,.06);
    border-radius:30px;
    padding:45px;
}

.input-group{
    display:flex;
    flex-direction:column;
    margin-bottom:28px;
}

.input-group label{
    color:white;
    margin-bottom:12px;
    font-weight:500;
}

.input-group input,
.input-group select,
.input-group textarea{
    background:#111;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    padding:18px;
    color:white;
    font-size:16px;
    transition:.35s;
    outline:none;
}

.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus{
    border-color:#2D8CFF;
    box-shadow:0 0 25px rgba(45,140,255,.20);
}

textarea{
    resize:vertical;
    min-height:180px;
}

.contact-btn{
    width:100%;
    padding:18px;
    border:none;
    border-radius:14px;
    cursor:pointer;
    font-size:17px;
    font-weight:600;
    color:white;
    background:linear-gradient(90deg,#2D8CFF,#9C27FF,#FF2D95);
    transition:.35s;
}

.contact-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 45px rgba(45,140,255,.30);
}

.contact-info{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.info-card{
    background:#0B0B0B;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    padding:30px;
    transition:.35s;
}

.info-card:hover{
    transform:translateY(-6px);
    border-color:#2D8CFF;
}

.info-card h3{
    color:white;
    margin-bottom:10px;
}

.info-card p{
    color:#9CA3AF;
    line-height:1.7;
}

.info-card a{
    display:inline-block;
    margin-top:15px;
    color:#2D8CFF;
    text-decoration:none;
    font-weight:600;
}

.contact-benefits{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-top:10px;
}

.contact-benefits span{
    color:#CFCFCF;
    font-size:.95rem;
}

/* ==========================================================
   11. FOOTER
   ========================================================== */
.footer{
    background:#050505;
    padding-top:90px;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-cta{
    max-width:900px;
    margin:auto;
    text-align:center;
    padding:0 20px 70px;
}

.footer-cta h2{
    font-size:2.6rem;
    color:#fff;
    margin-bottom:20px;
}

.footer-cta p{
    color:#9ca3af;
    font-size:1.1rem;
    line-height:1.8;
    max-width:650px;
    margin:auto;
}

.footer-btn{
    display:inline-block;
    margin-top:40px;
    padding:16px 36px;
    border-radius:50px;
    text-decoration:none;
    color:white;
    font-weight:600;
    background:linear-gradient(90deg,#2D8CFF,#8B5CF6,#FF2D95);
    transition:.35s;
}

.footer-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(45,140,255,.25);
}

.footer-divider{
    width:90%;
    height:1px;
    margin:auto;
    background:rgba(255,255,255,.08);
}

.footer-grid{
    max-width:1350px;
    margin:auto;
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:80px;
    padding:70px 40px;
}

.footer-logo{
    width:180px;
    height:auto;
    max-width:100%;
    object-fit:contain;
    display:block;
    margin-bottom:25px;
}

.footer-brand p{
    color:#9ca3af;
    line-height:1.9;
    max-width:450px;
}

.footer-column{
    display:flex;
    flex-direction:column;
}

.footer-column h3{
    color:white;
    margin-bottom:25px;
    font-size:1.15rem;
}

.footer-column a{
    color:#a8a8a8;
    text-decoration:none;
    margin-bottom:18px;
    transition:.3s;
}

.footer-column a:hover{
    color:white;
    padding-left:10px;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    max-width:1350px;
    margin:auto;
    padding:30px 40px;
    display:flex;
    justify-content:space-between;
    color:#6f6f6f;
    font-size:.95rem;
}

/* ==========================================================
   12. MODALES (video / imagen)
   ========================================================== */
.video-modal,
.img-modal{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.9);
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.video-container{
    width:360px;
    height:640px;
}

.video-container video{
    width:100%;
    max-height:85vh;
    border:none;
    border-radius:20px;
    background:#000;
    object-fit:contain;
    display:block;
}

.img-modal img{
    max-width:90%;
    max-height:90%;
}

.close{
    position:absolute;
    top:20px;
    right:30px;
    font-size:40px;
    color:white;
    cursor:pointer;
}

/* ==========================================================
   13. NUESTRO TRABAJO — Encabezado + Tarjetas superiores
   ========================================================== */

.page-hero.work-page-hero{
    max-width:1320px;
    padding:170px 40px 70px;
    min-height:auto;
}

.page-hero-content.work-hero-content{
    max-width:100%;
    padding:0;
    background:none;
    border:none;
    backdrop-filter:none;
    box-shadow:none;
}

.page-hero-content.work-hero-content::before,
.page-hero-content.work-hero-content::after{
    display:none;
}

.page-hero-content.work-hero-content:hover{
    border-color:transparent;
    box-shadow:none;
}

.work-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#B98CFF;
    font-size:.82rem;
    letter-spacing:3px;
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:22px;
}

.work-label-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--purple);
    box-shadow:0 0 16px var(--purple);
}

.work-hero-content .work-title{
    font-size:52px;
    line-height:1.15;
    font-weight:700;
    color:white;
    max-width:100%;
    margin:0 0 20px;
}

.work-title span{
    background:linear-gradient(135deg,var(--blue),var(--purple));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.work-hero-content .work-subtitle{
    max-width:640px;
    margin:0 auto;
    color:var(--text-soft);
    font-size:17px;
    line-height:1.8;
}

.work-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
    margin-top:60px;
    text-align:left;
}

.work-card{
    position:relative;
    display:flex;
    flex-direction:column;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:26px 26px 34px;
    text-decoration:none;
    backdrop-filter:blur(18px);
    transition:.4s;
}

.work-card:hover{
    transform:translateY(-8px);
    border-color:rgba(140,82,255,.45);
    box-shadow:0 25px 60px rgba(0,0,0,.35);
}

.work-card-top{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:20px;
}

.work-card-number{
    font-size:.85rem;
    font-weight:700;
    color:#B98CFF;
    letter-spacing:1px;
}

.work-card-top h3{
    color:white;
    font-size:16px;
    font-weight:600;
    line-height:1.3;
}

.work-card-media{
    position:relative;
    height:170px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    margin-bottom:20px;
    background:#0a0a0a;
}

.work-card-media::before{
    content:"";
    position:absolute;
    inset:0;
}

.work-card-media--web::before{
    background:radial-gradient(circle at 50% 60%, rgba(45,140,255,.35), rgba(140,82,255,.12) 55%, transparent 75%);
}

.work-card-media--audiovisual::before{
    background:radial-gradient(circle at 50% 60%, rgba(255,45,149,.30), rgba(140,82,255,.16) 55%, transparent 75%);
}

.work-card-media--aereo::before{
    background:radial-gradient(circle at 50% 60%, rgba(0,217,255,.28), rgba(45,140,255,.16) 55%, transparent 75%);
}

.work-card-media img{
    position:relative;
    z-index:2;
    max-width:80%;
    max-height:80%;
    object-fit:contain;
    filter:drop-shadow(0 15px 25px rgba(0,0,0,.5));
    transition:transform .5s ease;
}

.work-card:hover .work-card-media img{
    transform:scale(1.05);
}

.work-card p{
    color:var(--text-soft);
    font-size:14px;
    line-height:1.7;
}

.work-card-arrow{
    position:absolute;
    left:50%;
    bottom:-18px;
    transform:translateX(-50%);
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--card);
    border:1px solid rgba(140,82,255,.4);
    color:#B98CFF;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.35s;
}

.work-card-arrow svg{
    width:16px;
    height:16px;
}

.work-card:hover .work-card-arrow{
    background:var(--gradient);
    border-color:transparent;
    color:white;
    transform:translateX(-50%) translateY(4px);
}

/* ==========================================================
   14. NUESTRO TRABAJO — Bloques de servicio (01 / 02 / 03)
   ========================================================== */

.service-block{
    position:relative;
    padding:110px 8% 90px;
    overflow:hidden;
    background:var(--bg);
}

#desarrollo-web{ --accent:var(--blue); --accent-soft:rgba(45,140,255,.14); }
#audiovisual-marketing{ --accent:var(--pink); --accent-soft:rgba(255,45,149,.14); background:#070508; }
#tomas-aereas{ --accent:#00D9FF; --accent-soft:rgba(0,217,255,.14); }

.service-block::before{
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    border-radius:50%;
    top:-250px;
    left:-200px;
    background:radial-gradient(circle, var(--accent-soft), transparent 70%);
    filter:blur(60px);
    pointer-events:none;
}

.service-tag{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:14px;
    margin-bottom:50px;
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:600;
    font-size:14px;
}

.service-tag-number{
    width:34px;
    height:34px;
    border-radius:10px;
    background:var(--accent-soft);
    border:1px solid var(--accent);
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-weight:700;
    font-size:13px;
}

.service-block-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:70px;
    align-items:start;
}

.service-block-info h2{
    color:white;
    font-size:38px;
    line-height:1.2;
    font-weight:700;
    margin-bottom:20px;
    max-width:480px;
}

.service-block-info h2 span{
    background:linear-gradient(135deg, var(--accent), var(--purple));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.service-block-info p{
    color:var(--text-soft);
    font-size:16px;
    line-height:1.85;
    max-width:460px;
}

.service-block-offer h3{
    color:white;
    font-size:19px;
    font-weight:600;
    margin-bottom:24px;
}

.mini-cards{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

.mini-card{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:24px 16px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:12px;
    transition:.35s;
}

.mini-card:hover{
    transform:translateY(-6px);
    border-color:var(--accent);
    background:rgba(255,255,255,.05);
}

.mini-card-icon{
    width:44px;
    height:44px;
    border-radius:50%;
    background:var(--accent-soft);
    border:1px solid rgba(255,255,255,.1);
    color:var(--accent);
    display:flex;
    align-items:center;
    justify-content:center;
}

.mini-card-icon svg{
    width:20px;
    height:20px;
}

.mini-card span{
    color:#dedede;
    font-size:13.5px;
    font-weight:500;
    line-height:1.4;
}

.service-block-bottom{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:.85fr 1.3fr;
    gap:70px;
    margin-top:70px;
    padding-top:55px;
    border-top:1px solid rgba(255,255,255,.08);
}

.service-includes h4,
.service-process h4{
    color:var(--text-soft);
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:26px;
}

.check-list{
    list-style:none;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px 20px;
}

.check-list li{
    display:flex;
    align-items:center;
    gap:12px;
    color:#e2e2e2;
    font-size:14.5px;
}

.check-dot{
    flex-shrink:0;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 12px var(--accent);
}

.process-track{
    position:relative;
    display:flex;
    gap:20px;
}

.process-track::before{
    content:"";
    position:absolute;
    top:20px;
    left:5%;
    right:5%;
    height:1px;
    background:rgba(255,255,255,.1);
    z-index:0;
}

.process-track .process-step{
    position:relative;
    z-index:1;
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.process-num{
    width:40px;
    height:40px;
    border-radius:50%;
    background:var(--card);
    border:1px solid var(--accent);
    color:white;
    font-weight:700;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
}

.process-track .process-step h5{
    color:white;
    font-size:15px;
    font-weight:600;
    margin-bottom:8px;
}

.process-track .process-step p{
    color:var(--text-soft);
    font-size:12.5px;
    line-height:1.55;
    max-width:150px;
}

.drone-specs{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:60px;
}

.drone-spec{
    text-align:center;
    padding:30px 20px;
    border-radius:20px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
    transition:.35s;
}

.drone-spec:hover{
    transform:translateY(-8px);
    border-color:var(--accent);
}

.spec-icon{
    width:54px;
    height:54px;
    border-radius:50%;
    margin:0 auto 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--accent-soft);
    border:1px solid var(--accent);
    color:var(--accent);
}

.spec-icon svg{
    width:24px;
    height:24px;
}

.drone-spec h3{
    color:white;
    font-size:24px;
    margin-bottom:6px;
    font-weight:700;
}

.drone-spec span{
    color:var(--text-soft);
    font-size:12.5px;
}

.service-cta{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:24px;
    margin-top:60px;
    padding:30px 40px;
    border-radius:24px;
    background:linear-gradient(135deg, var(--accent-soft), rgba(140,82,255,.08));
    border:1px solid rgba(255,255,255,.08);
}

.service-cta-icon{
    flex-shrink:0;
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--gradient);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 30px var(--accent-soft);
}

.service-cta-icon svg{
    width:24px;
    height:24px;
    stroke:white;
}

.service-cta p{
    flex:1;
    color:white;
    font-size:16px;
    font-weight:500;
}

.service-cta-btn{
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 28px;
    border-radius:14px;
    background:var(--gradient);
    color:white;
    text-decoration:none;
    font-weight:600;
    white-space:nowrap;
    transition:.35s;
}

.service-cta-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 40px var(--accent-soft);
}

/* --- Galería de referencias (compartida en bloques 02 y 03) --- */
.work-gallery{
    position:relative;
    z-index:2;
    margin-top:90px;
    padding-top:60px;
    border-top:1px solid rgba(255,255,255,.08);
}

.work-gallery-header{
    max-width:680px;
    margin:0 auto 45px;
    text-align:center;
}

.work-gallery-subtitle{
    display:inline-block;
    color:var(--accent);
    font-size:13px;
    letter-spacing:3px;
    font-weight:600;
    margin-bottom:14px;
}

.work-gallery-header h3{
    color:white;
    font-size:28px;
    font-weight:700;
    margin-bottom:14px;
    line-height:1.3;
}

.work-gallery-header p{
    color:var(--text-soft);
    font-size:15px;
    line-height:1.75;
}

.work-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:200px;
    gap:18px;
}

.work-gallery-grid--2{
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:280px;
}

.work-gallery-large{
    grid-column:span 2;
    grid-row:span 2;
}

.work-gallery-item{
    position:relative;
    border-radius:20px;
    overflow:hidden;
    cursor:pointer;
    background:#000;
}

.work-gallery-preview{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.work-gallery-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.4);
    opacity:0;
    transition:.35s;
}

.work-gallery-item:hover .work-gallery-overlay{
    opacity:1;
}

.work-gallery-button{
    width:54px;
    height:54px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.35);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    transition:.35s;
}

.work-gallery-item:hover .work-gallery-button{
    transform:scale(1.1);
    border-color:var(--accent);
}

/* ==========================================================
   15. NUESTRO TRABAJO — CTA final
   ========================================================== */
.work-final-cta{
    position:relative;
    text-align:center;
    padding:130px 6% 90px;
    overflow:hidden;
    background:var(--bg);
}

.work-final-cta::before{
    content:"";
    position:absolute;
    width:900px;
    height:600px;
    top:-250px;
    left:50%;
    transform:translateX(-50%);
    background:radial-gradient(circle, rgba(140,82,255,.16), transparent 70%);
    filter:blur(60px);
    pointer-events:none;
}

.work-final-label{
    position:relative;
    z-index:2;
    display:inline-block;
    color:#B98CFF;
    font-size:.82rem;
    letter-spacing:3px;
    font-weight:600;
    margin-bottom:24px;
}

.work-final-cta h2{
    position:relative;
    z-index:2;
    color:white;
    font-size:44px;
    line-height:1.25;
    font-weight:700;
    margin-bottom:22px;
}

.work-final-cta h2 span{
    display:block;
    background:linear-gradient(90deg, var(--blue), var(--purple), var(--pink));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.work-final-cta > p{
    position:relative;
    z-index:2;
    max-width:640px;
    margin:0 auto 40px;
    color:var(--text-soft);
    font-size:16.5px;
    line-height:1.8;
}

.work-final-btn{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:18px 36px;
    border-radius:18px;
    background:var(--gradient);
    color:white;
    text-decoration:none;
    font-weight:600;
    transition:.35s;
    margin-bottom:60px;
}

.work-final-btn:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(45,140,255,.35);
}

.work-final-stats{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:45px;
    margin-bottom:60px;
}

.work-final-stat{
    display:flex;
    align-items:center;
    gap:10px;
    color:#dedede;
    font-size:14.5px;
}

.work-final-stat-icon{
    width:34px;
    height:34px;
    border-radius:50%;
    background:rgba(140,82,255,.12);
    color:#8C52FF;
    display:flex;
    align-items:center;
    justify-content:center;
}

.work-final-stat-icon svg{
    width:16px;
    height:16px;
}

.work-final-brand{
    position:relative;
    z-index:2;
    font-size:22px;
    font-weight:800;
    letter-spacing:5px;
    color:rgba(255,255,255,.22);
}

/* ==========================================================
   16. SCROLL REVEAL
   ========================================================== */
.reveal{
    opacity:0;
    transform:translateY(70px);
    transition:opacity .8s ease, transform .8s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

/* ==========================================================
   17. ANIMACIONES (@keyframes)
   ========================================================== */
@keyframes menuFade{
    from{ opacity:0; transform:translateY(-15px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes aboutCorePulse{
    0%,100%{ box-shadow:0 0 30px rgba(45,140,255,.25); transform:translate(-50%,-50%) scale(1); }
    50%{ box-shadow:0 0 45px rgba(140,82,255,.35); transform:translate(-50%,-50%) scale(1.06); }
}

/* ==========================================================
   18. RESPONSIVE
   ========================================================== */

/* --- Escritorio pequeño / laptop (max-width:1200px) --- */
@media screen and (max-width:1200px){

    .page-hero.work-page-hero{
        padding:160px 30px 60px;
    }

    .work-cards{
        gap:20px;
    }

    .service-block{
        padding:100px 5% 80px;
    }

    .service-block-grid{
        gap:45px;
    }

    .service-block-bottom{
        gap:45px;
    }

    /* --- Nosotros --- */
    .about-hero-grid{
        gap:40px;
    }

    .about-hero-title{
        font-size:38px;
    }

    .about-mv-card{
        padding:45px 40px;
    }

}

/* --- Tablet (max-width:992px) --- */
@media screen and (max-width:992px){

    .services-section,
    .process-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .page-hero{
        padding:150px 30px 70px;
    }

    .page-hero-content{
        padding:70px 40px;
    }

    .page-hero h1{
        font-size:3.2rem;
    }

    .services-section,
    .process-section,
    .faq-section{
        padding:90px 30px;
    }

    /* --- Nosotros --- */
    .page-hero.about-page-hero{
        padding:150px 30px 70px;
    }

    .about-hero-grid{
        grid-template-columns:1fr;
        gap:40px;
        text-align:center;
    }

    .about-hero-left{
        text-align:center;
    }

    .about-hero-title{
        font-size:36px;
    }

    .about-hero-desc,
    .about-hero-quote{
        margin-left:auto;
        margin-right:auto;
    }

    .about-hero-quote{
        text-align:left;
    }

    .about-mission-card{
        max-width:420px;
        margin:0 auto;
    }

    .about-stats{
        grid-template-columns:repeat(2,1fr);
    }

    .about-section{
        padding:90px 6% 0;
    }

    .about-heading{
        font-size:32px;
    }

    .about-values-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .about-mv-card{
        grid-template-columns:1fr;
        gap:30px;
        padding:45px 40px;
        text-align:center;
    }

    .about-mv-mission,
    .about-mv-vision{
        text-align:center;
        align-items:center;
        padding:0;
    }

    .about-mv-divider{
        margin:10px auto;
    }

    .about-process-track{
        flex-wrap:wrap;
        justify-content:center;
        gap:40px 20px;
    }

    .about-process-track::before{
        display:none;
    }

    .about-process-step{
        flex:0 0 calc(50% - 15px);
    }

    .about-team-card{
        grid-template-columns:1fr;
        padding:40px;
        gap:30px;
    }

    .about-cta{
        margin-top:90px;
        padding:70px 6% 60px;
    }

    .about-cta h2{
        font-size:32px;
    }

    .about-features{
        grid-template-columns:repeat(2,1fr);
        gap:30px 24px;
    }

    /* --- Nuestro Trabajo --- */
    .page-hero.work-page-hero{
        padding:140px 24px 50px;
    }

    .work-hero-content .work-title{
        font-size:40px;
    }

    .work-cards{
        grid-template-columns:1fr;
        max-width:460px;
        margin:50px auto 0;
        gap:24px;
    }

    .service-block{
        padding:90px 6% 70px;
    }

    .service-block-grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .service-block-info h2,
    .service-block-info p{
        max-width:100%;
    }

    .service-block-bottom{
        grid-template-columns:1fr;
        gap:55px;
    }

    .process-track{
        flex-wrap:wrap;
        justify-content:center;
        gap:35px 25px;
    }

    .process-track::before{
        display:none;
    }

    .process-track .process-step{
        flex:0 0 calc(33.333% - 20px);
    }

    .drone-specs{
        grid-template-columns:repeat(2,1fr);
    }

    .work-gallery-grid{
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:180px;
    }

    .work-gallery-large{
        grid-row:span 1;
    }

    .work-final-cta h2{
        font-size:36px;
    }

}

/* --- Contacto (max-width:980px) --- */
@media(max-width:980px){

    .contact-container{
        grid-template-columns:1fr;
    }

    .contact-form{
        order:2;
    }

    .contact-info{
        order:1;
    }

    .contact-section{
        padding:100px 25px;
    }

    .contact-header h2{
        font-size:2.3rem;
    }

}

/* --- Footer / Hero (max-width:900px) --- */
@media(max-width:900px){

    .footer-grid{
        grid-template-columns:1fr;
        gap:55px;
        text-align:center;
    }

    .footer-brand p{
        margin:auto;
    }

    .footer-bottom{
        flex-direction:column;
        gap:15px;
        text-align:center;
    }

    .footer-cta h2{
        font-size:2rem;
    }

}

/* --- Tablet pequeña / móvil (max-width:768px) --- */
@media screen and (max-width:768px){

    header{
        position:fixed;
    }

    .navbar{
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:15px 20px;
    }

    .logo img{
        height:70px;
        width:auto;
        max-width:180px;
        object-fit:contain;
    }

    .menu-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
        width:42px;
        height:42px;
        font-size:30px;
        color:#ffffff;
        cursor:pointer;
        margin-left:auto;
    }

    .nav-links{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        display:none;
        flex-direction:column;
        align-items:center;
        gap:30px;
        padding:40px 0;
        background:rgba(10,10,10,.98);
        backdrop-filter:blur(20px);
        border-top:1px solid rgba(255,255,255,.08);
        box-shadow:0 15px 40px rgba(0,0,0,.45);
        z-index:999;
    }

    .nav-links.active{
        display:flex;
        animation:menuFade .35s ease;
    }

    .nav-links a{
        font-size:16px;
    }

    .btn-cotizar{
        display:none;
    }

    .mobile-btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        padding:14px 28px;
        border-radius:40px;
        background:linear-gradient(90deg,#2D8CFF,#9C27FF,#FF2D95);
        color:#fff !important;
        font-weight:600;
        text-decoration:none;
    }

    /* Secciones (paddings y títulos) */
    .page-hero{
        padding:130px 20px 60px;
        min-height:auto;
    }

    .page-hero-content{
        padding:50px 20px;
    }

    .page-hero h1{
        font-size:2.3rem;
        max-width:100%;
    }

    .page-hero p{
        font-size:1rem;
    }

    .section-title h2{
        font-size:2rem;
    }

    /* Grids a una columna */
    .services-section,
    .process-grid{
        grid-template-columns:1fr;
    }

    .services-section{
        padding:60px 20px 90px;
    }

    .process-section,
    .faq-section{
        padding:80px 20px;
    }

    /* --- Nosotros --- */
    .page-hero.about-page-hero{
        padding:120px 20px 60px;
    }

    .about-label{
        margin-bottom:26px;
    }

    .about-hero-title{
        font-size:28px;
    }

    .about-hero-desc{
        font-size:15px;
    }

    .about-orbit{
        width:170px;
        height:170px;
    }

    .about-stats{
        grid-template-columns:1fr 1fr;
        gap:14px;
        margin-top:44px;
    }

    .about-stat{
        padding:20px 18px;
    }

    .about-section{
        padding:70px 6% 0;
    }

    .about-section-head{
        margin-bottom:40px;
    }

    .about-heading{
        font-size:26px;
    }

    .about-values-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .about-mv-card{
        padding:36px 26px;
    }

    .about-process-step{
        flex:0 0 100%;
    }

    .about-process-step p{
        max-width:280px;
    }

    .about-team-card{
        padding:34px 26px;
    }

    .about-cta{
        border-radius:24px;
        padding:60px 6% 50px;
    }

    .about-cta h2{
        font-size:27px;
    }

    .about-features{
        grid-template-columns:1fr;
        gap:22px;
    }

    /* --- Nuestro Trabajo --- */
    .page-hero.work-page-hero{
        padding:120px 18px 45px;
    }

    .work-hero-content .work-title{
        font-size:32px;
    }

    .work-hero-content .work-subtitle{
        font-size:15px;
    }

    .work-label{
        font-size:.75rem;
    }

    .work-cards{
        margin-top:40px;
    }

    .work-card{
        padding:22px 22px 30px;
    }

    .service-block{
        padding:80px 6% 60px;
        overflow:visible;
    }

    .service-tag{
        font-size:12.5px;
        gap:10px;
        margin-bottom:36px;
    }

    .service-block-info h2{
        font-size:28px;
    }

    .mini-cards{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .mini-card{
        padding:20px 14px;
    }

    .check-list{
        grid-template-columns:1fr;
    }

    .process-track .process-step{
        flex:0 0 calc(50% - 15px);
    }

    .drone-specs{
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }

    .service-cta{
        flex-direction:column;
        text-align:center;
        padding:30px 24px;
    }

    .service-cta-btn{
        width:100%;
        justify-content:center;
    }

    .work-gallery-grid{
        grid-template-columns:1fr;
        grid-auto-rows:220px;
    }

    .work-gallery-grid--2{
        grid-template-columns:1fr;
        grid-auto-rows:220px;
    }

    .work-gallery-large{
        grid-column:span 1;
        grid-row:span 1;
    }

    .work-final-cta{
        padding:100px 6% 70px;
    }

    .work-final-cta h2{
        font-size:30px;
    }

    .work-final-stats{
        flex-direction:column;
        align-items:center;
        gap:18px;
    }

}

/* --- Celulares (max-width:576px) --- */
@media screen and (max-width:576px){

    .page-hero-content{
        padding:40px 18px;
    }

    .page-hero h1{
        font-size:1.9rem;
    }

    .contact-section{
        padding:110px 18px 60px;
    }

    .footer-cta h2{
        font-size:1.7rem;
    }

    /* --- Nuestro Trabajo --- */
    .work-hero-content .work-title{
        font-size:27px;
    }

    .work-card-top h3{
        font-size:14.5px;
    }

    .service-block-info h2{
        font-size:24px;
    }

    .mini-cards{
        grid-template-columns:1fr;
    }

    .process-track .process-step{
        flex:0 0 100%;
    }

    .process-track .process-step p{
        max-width:220px;
    }

    .drone-specs{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .drone-spec{
        padding:22px 14px;
    }

    .work-final-cta h2{
        font-size:26px;
    }

    .work-final-btn{
        width:100%;
        justify-content:center;
        padding:16px 24px;
    }

    /* --- Nosotros --- */
    .about-hero-title{
        font-size:24px;
    }

    .about-stats{
        grid-template-columns:1fr;
    }

    .about-heading{
        font-size:22px;
    }

    .about-mv-card{
        padding:30px 20px;
    }

    .about-mv-side p{
        max-width:100%;
    }

    .about-team-card{
        padding:28px 20px;
        gap:24px;
    }

    .about-team-item{
        gap:12px;
    }

    .about-cta h2{
        font-size:23px;
    }

    .about-cta-btn{
        width:100%;
        justify-content:center;
    }

}
