/*==================================================
  CORDILLERA CIBERSEGURIDAD
  style.css
==================================================*/

/*==================================================
  VARIABLES
==================================================*/

:root {

    /* Colores */

    --primary: #0F4C81;
    --primary-dark: #0B355A;
    --secondary: #1F6FB2;

    --accent: #3FA9F5;

    --white: #FFFFFF;
    --light: #F7F9FC;
    --gray-100: #EEF2F6;
    --gray-200: #D9E1EA;
    --gray-500: #6B7280;
    --gray-700: #374151;
    --gray-900: #111827;

    --success: #1D9A6C;

    /* Tipografía */

    --font: 'Inter', sans-serif;

    /* Tamaños */

    --container: 1200px;

    --radius: 14px;

    --transition: .30s ease;

    /* Sombras */

    --shadow-sm: 0 4px 15px rgba(0,0,0,.05);

    --shadow-md: 0 12px 35px rgba(0,0,0,.08);

    --shadow-lg: 0 20px 45px rgba(0,0,0,.12);

}

/*==================================================
  RESET
==================================================*/

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

html{

    scroll-behavior:smooth;

}

body{

    font-family:var(--font);

    background:var(--white);

    color:var(--gray-700);

    line-height:1.7;

    overflow-x:hidden;

}

img{

    display:block;

    max-width:100%;

}

a{

    color:inherit;

    text-decoration:none;

}

ul{

    list-style:none;

}

button{

    border:none;

    background:none;

    cursor:pointer;

    font-family:inherit;

}

/*==================================================
  CONTENEDOR
==================================================*/

.container{

    width:min(92%, var(--container));

    margin:auto;

}

/*==================================================
  ESPACIADO GENERAL
==================================================*/

section{

    padding:110px 0;

}

.bg-light{

    background:var(--light);

}

/*==================================================
  TÍTULOS
==================================================*/

.section-title{

    text-align:center;

    max-width:850px;

    margin:0 auto 70px;

}

.section-title span{

    display:inline-block;

    color:var(--primary);

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:.82rem;

    margin-bottom:15px;

}

.section-title h2{

    font-size:clamp(2rem,4vw,3rem);

    color:var(--gray-900);

    line-height:1.2;

    margin-bottom:20px;

    font-weight:700;

}

.section-title p{

    color:var(--gray-500);

    font-size:1.05rem;

}

/*==================================================
  PÁRRAFOS
==================================================*/

p{

    margin-bottom:20px;

}

/*==================================================
  BOTONES
==================================================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    background:var(--primary);

    color:var(--white);

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:50px;

    border:2px solid var(--primary);

    color:var(--primary);

    font-weight:600;

    transition:var(--transition);

}

.btn-secondary:hover{

    background:var(--primary);

    color:var(--white);

}

/*==================================================
  TARJETAS
==================================================*/

.info-card,
.framework-card,
.solution-card,
.capability-card,
.roadmap-card,
.connection-item,
.contact-card{

    background:var(--white);

    border-radius:var(--radius);

    padding:35px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.info-card:hover,
.framework-card:hover,
.solution-card:hover,
.capability-card:hover,
.roadmap-card:hover,
.connection-item:hover,
.contact-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-md);

}

/*==================================================
  GRID BASE
==================================================*/

.empresa-grid,
.framework-grid,
.solutions-grid,
.capabilities-grid,
.roadmap-grid,
.connection-grid,
.footer-grid{

    display:grid;

    gap:30px;

}
/*==================================================
  HEADER
==================================================*/

.header{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    z-index:1000;

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

    backdrop-filter:blur(12px);

    -webkit-backdrop-filter:blur(12px);

    border-bottom:1px solid rgba(0,0,0,.05);

    transition:all .35s ease;

}

.header .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:85px;

}

/*==================================================
  LOGO
==================================================*/

.logo{

    display:flex;

    align-items:center;

    gap:14px;

}

.logo img{

    width:58px;

    height:auto;

}

.logo-text h2{

    font-size:1.15rem;

    color:var(--gray-900);

    margin:0;

    line-height:1;

}

.logo-text span{

    display:block;

    margin-top:4px;

    color:var(--primary);

    font-size:.90rem;

    font-weight:600;

}

/*==================================================
  MENU
==================================================*/

.navbar ul{

    display:flex;

    align-items:center;

    gap:38px;

}

.navbar a{

    position:relative;

    color:var(--gray-700);

    font-weight:500;

    transition:var(--transition);

}

.navbar a:hover{

    color:var(--primary);

}

.navbar a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.30s;

}

.navbar a:hover::after{

    width:100%;

}

/*==================================================
  BOTON HEADER
==================================================*/

.btn-header{

    display:flex;

    align-items:center;

    justify-content:center;

    padding:13px 28px;

    background:var(--primary);

    color:#fff;

    border-radius:50px;

    font-weight:600;

    transition:.30s;

}

.btn-header:hover{

    background:var(--primary-dark);

    transform:translateY(-2px);

}

/*==================================================
  HERO
==================================================*/
.hero{

    position: relative;
    min-height: 100vh;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            rgba(10,35,60,.60),
            rgba(10,35,60,.55)
        ),
        url("img/hero.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    radial-gradient(circle at top right,
    rgba(63,169,245,.18),
    transparent 55%);

}

.overlay{

    display:none;

}

/*==================================================
  CONTENIDO HERO
==================================================*/

.hero-content{

    position:relative;

    z-index:2;

}

.hero-text{

    max-width:700px;

    color:#fff;

}

.hero-label{

    display:inline-block;

    margin-bottom:20px;

    padding:8px 18px;

    border-radius:40px;

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

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

    font-size:.85rem;

    letter-spacing:1px;

    text-transform:uppercase;

    backdrop-filter:blur(5px);

}

.hero-text h1{

    font-size:clamp(2.8rem,5vw,4.8rem);

    line-height:1.12;

    margin-bottom:28px;

    font-weight:700;

}

.hero-text p{

    font-size:1.15rem;

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

    margin-bottom:42px;

    max-width:650px;

}

/*==================================================
  BOTONES HERO
==================================================*/

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

}

.hero-buttons .btn-primary{

    background:#fff;

    color:var(--primary);

}

.hero-buttons .btn-primary:hover{

    background:var(--light);

}

.hero-buttons .btn-secondary{

    border:2px solid rgba(255,255,255,.75);

    color:#fff;

}

.hero-buttons .btn-secondary:hover{

    background:#fff;

    color:var(--primary);

}

/*==================================================
  ESPACIADO
==================================================*/

.hero{

    padding-top:90px;

}
/*==================================================
  EMPRESA
==================================================*/

.empresa-grid{

    grid-template-columns:2fr 1fr;

    align-items:start;

}

.empresa-content h3{

    font-size:2rem;

    color:var(--gray-900);

    margin-bottom:30px;

}

.empresa-content p{

    color:var(--gray-500);

    margin-bottom:24px;

    text-align:justify;

}

.empresa-side{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.info-card h4{

    color:var(--primary);

    margin-bottom:18px;

    font-size:1.15rem;

}

.info-card ul{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.info-card li{

    color:var(--gray-700);

    padding-left:18px;

    position:relative;

}

.info-card li::before{

    content:"";

    position:absolute;

    left:0;

    top:11px;

    width:7px;

    height:7px;

    border-radius:50%;

    background:var(--primary);

}

/*==================================================
  METODOLOGÍA
==================================================*/

.metodologia{

    position:relative;

}

.methodology-intro{

    max-width:900px;

    margin:0 auto 70px;

    text-align:center;

}

.methodology-intro p{

    font-size:1.08rem;

    color:var(--gray-500);

}

.framework-grid{

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

}

.framework-card{

    border-top:5px solid transparent;

}

.framework-card:hover{

    border-top-color:var(--primary);

}

.framework-icon{

    width:70px;

    height:70px;

    border-radius:18px;

    margin-bottom:28px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

}

.framework-card h3{

    font-size:1.55rem;

    color:var(--gray-900);

    margin-bottom:6px;

}

.framework-card h4{

    color:var(--primary);

    margin-bottom:20px;

    font-weight:600;

}

.framework-card p{

    color:var(--gray-500);

    margin-bottom:25px;

}

.framework-card h5{

    color:var(--gray-900);

    margin-bottom:18px;

}

.framework-card ul{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.framework-card li{

    position:relative;

    padding-left:18px;

    color:var(--gray-700);

}

.framework-card li::before{

    content:"";

    position:absolute;

    left:0;

    top:11px;

    width:6px;

    height:6px;

    border-radius:50%;

    background:var(--accent);

}

/*==================================================
  EFECTOS GENERALES
==================================================*/

.info-card,
.framework-card{

    position:relative;

    overflow:hidden;

}

.info-card::before,
.framework-card::before{

    content:"";

    position:absolute;

    top:0;

    left:-100%;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        transparent,
        var(--accent),
        transparent
    );

    transition:.7s;

}

.info-card:hover::before,
.framework-card:hover::before{

    left:100%;

}

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

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.framework-card{

    animation:fadeUp .8s ease both;

}

.framework-card:nth-child(2){

    animation-delay:.08s;

}

.framework-card:nth-child(3){

    animation-delay:.16s;

}

.framework-card:nth-child(4){

    animation-delay:.24s;

}

.framework-card:nth-child(5){

    animation-delay:.32s;

}

.framework-card:nth-child(6){

    animation-delay:.40s;

}
/*==================================================
  SOLUCIONES
==================================================*/

.solutions-grid{

    display:grid;

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

    gap:30px;

}

.solution-card{

    display:flex;

    flex-direction:column;

    position:relative;

    overflow:hidden;

    border:1px solid transparent;

    transition:all .35s ease;

}

.solution-card:hover{

    border-color:var(--primary);

}

.solution-icon{

    width:72px;

    height:72px;

    border-radius:18px;

    background:linear-gradient(135deg,
        var(--primary),
        var(--secondary));

    margin-bottom:28px;

}

.solution-card h3{

    font-size:1.45rem;

    color:var(--gray-900);

    margin-bottom:18px;

}

.solution-card p{

    color:var(--gray-500);

    margin-bottom:24px;

    flex:1;

}

.solution-card ul{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.solution-card li{

    position:relative;

    padding-left:18px;

}

.solution-card li::before{

    content:"";

    position:absolute;

    left:0;

    top:11px;

    width:6px;

    height:6px;

    border-radius:50%;

    background:var(--accent);

}

/*==================================================
  CAPACIDADES
==================================================*/

.capabilities-grid{

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

}

.capability-card{

    text-align:center;

}

.capability-card h3{

    color:var(--gray-900);

    margin-bottom:28px;

    font-size:1.4rem;

}

.capability-card ul{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.capability-card li{

    padding:12px;

    border-radius:10px;

    background:var(--gray-100);

    transition:.30s;

}

.capability-card li:hover{

    background:var(--primary);

    color:white;

}

/*==================================================
  ROADMAP
==================================================*/

.roadmap-grid{

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

}

.roadmap-card{

    border-top:5px solid var(--primary);

}

.roadmap-card h3{

    color:var(--gray-900);

    margin-bottom:30px;

    font-size:1.6rem;

}

.roadmap-card ul{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.roadmap-card li{

    position:relative;

    padding-left:25px;

    color:var(--gray-700);

}

.roadmap-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--success);

    font-weight:700;

}

/*==================================================
  HOVER
==================================================*/

.solution-card:hover,
.capability-card:hover,
.roadmap-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

/*==================================================
  TRANSICIONES
==================================================*/

.solution-card,
.capability-card,
.roadmap-card{

    transition:.35s ease;

}

/*==================================================
  TITULOS
==================================================*/

.solution-card h3,
.capability-card h3,
.roadmap-card h3{

    line-height:1.3;

}
/*==================================================
  INFORMACIÓN DE LA SESIÓN
==================================================*/

.connection-grid{

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

}

.connection-item{

    text-align:center;

}

.connection-item span{

    display:block;

    font-size:.85rem;

    text-transform:uppercase;

    letter-spacing:1px;

    color:var(--gray-500);

    margin-bottom:12px;

}

.connection-item strong{

    display:block;

    font-size:1.1rem;

    color:var(--gray-900);

    word-break:break-word;

}

/*==================================================
  CONTACTO
==================================================*/

.contact-wrapper{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:40px;

    align-items:start;

}

.contact-info span{

    color:var(--primary);

    text-transform:uppercase;

    font-weight:700;

    letter-spacing:2px;

}

.contact-info h2{

    font-size:clamp(2rem,4vw,3rem);

    margin:15px 0 25px;

    color:var(--gray-900);

}

.contact-items{

    display:grid;

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

    gap:25px;

    margin-top:40px;

}

.contact-item{

    padding:25px;

    border-radius:12px;

    background:var(--gray-100);

}

.contact-item h4{

    color:var(--primary);

    margin-bottom:10px;

}

.contact-card{

    position:sticky;

    top:120px;

}

.contact-card h3{

    font-size:1.7rem;

    margin-bottom:20px;

    color:var(--gray-900);

}

.contact-card p{

    margin-bottom:35px;

}

.contact-card .btn-primary,

.contact-card .btn-secondary{

    width:100%;

    margin-bottom:15px;

}

/*==================================================
  FOOTER
==================================================*/

.footer{

    background:var(--gray-900);

    color:#fff;

    padding:80px 0 30px;

}

.footer-grid{

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:40px;

    margin-bottom:60px;

}

.footer-column h3,

.footer-column h4{

    margin-bottom:22px;

}

.footer-column h4{

    color:var(--accent);

}

.footer-column p{

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

}

.footer-column ul{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.footer-column a{

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

    transition:.3s;

}

.footer-column a:hover{

    color:white;

    padding-left:6px;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.12);

    padding-top:30px;

    text-align:center;

}

.footer-bottom p{

    margin:8px 0;

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

}

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

.menu-toggle{

    display:none;

}

/*==================================================
  TABLET
==================================================*/

@media (max-width:992px){

    .empresa-grid,

    .contact-wrapper{

        grid-template-columns:1fr;

    }

    .framework-grid,

    .solutions-grid,

    .capabilities-grid{

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

    }

    .connection-grid{

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

    }

    .roadmap-grid{

        grid-template-columns:1fr;

    }

    .footer-grid{

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

    }

    .contact-card{

        position:relative;

        top:auto;

    }

}

/*==================================================
  MOVIL
==================================================*/

@media (max-width:768px){

    section{

        padding:80px 0;

    }

    .header .container{

        height:75px;

    }

    .navbar{

        display:none;

    }

    .btn-header{

        display:none;

    }

    .menu-toggle{

        display:flex;

        align-items:center;

        justify-content:center;

        font-size:2rem;

    }

    .hero{

        min-height:auto;

        padding:160px 0 100px;

    }

    .hero-text{

        text-align:center;

        margin:auto;

    }

    .hero-buttons{

        justify-content:center;

    }

    .framework-grid,

    .solutions-grid,

    .capabilities-grid,

    .connection-grid,

    .contact-items,

    .footer-grid{

        grid-template-columns:1fr;

    }

}

/*==================================================
  TELEFONOS
==================================================*/

@media (max-width:576px){

    .container{

        width:94%;

    }

    .hero-text h1{

        font-size:2.2rem;

    }

    .section-title h2{

        font-size:2rem;

    }

    .btn-primary,

    .btn-secondary{

        width:100%;

    }

}

/*==================================================
  SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#eef2f6;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}

/*==================================================
  SELECCIÓN
==================================================*/

::selection{

    background:var(--primary);

    color:white;

}
