@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

/* ================= ROOT ================= */
:root {
    --bg:#0b1220;
    --card:#0f1720;
    --muted:#9aa7b2;
    --accent:#06f;
    --glass:rgba(255,255,255,0.04);
    --glass-2:rgba(255,255,255,0.02);
    --accent-2:#0af;
    --footer-height:72px;
}

/* ================= GLOBAL ================= */
* { box-sizing:border-box }

html, body { height:100%; }

body {
    margin:0;
    font-family:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
    background:
        radial-gradient(1200px 400px at 10% 10%,rgba(6,15,36,0.6),transparent),
        radial-gradient(900px 300px at 90% 90%,rgba(8,18,30,0.6),transparent),
        linear-gradient(180deg,#071021 0%,#081426 100%);
    color:#e6eef6;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    padding-bottom:var(--footer-height);
}

body::before {
    content:"";
    position:fixed;
    inset:0;
    background-image:
        radial-gradient(circle at 10% 20%,rgba(10,30,60,0.08),transparent 8%),
        linear-gradient(90deg,rgba(255,255,255,0.02),transparent 30%),
        repeating-linear-gradient(0deg,rgba(255,255,255,0.01) 0 1px,transparent 1px 40px);
    pointer-events:none;
    opacity:0.6;
    mix-blend-mode:overlay;
    transform:translateZ(0);
}

/* ================= KEYFRAMES ================= */
@keyframes floatBG {
    0% { transform:translateY(0) translateX(0) }
    50% { transform:translateY(-6px) translateX(4px) }
    100% { transform:translateY(0) translateX(0) }
}

@keyframes pop {
    from { transform:translateY(6px) scale(.98); opacity:0 }
    to { transform:translateY(0) scale(1); opacity:1 }
}

@keyframes fadeZoomIn {
    0% { opacity:0; transform:scale(0.9); }
    100% { opacity:1; transform:scale(1); }
}

@keyframes heroEntrance {
    0% { opacity:0; transform:scale(0.8) rotate(-5deg); }
    60% { opacity:1; transform:scale(1.05) rotate(1deg); }
    100% { transform:scale(1) rotate(0deg); }
}

/* ================= LAYOUT ================= */
.container {
    max-width:1100px;
    margin:0 auto;
    padding:24px;
}

.section { padding:28px 0 }

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

/* ================= HEADER ================= */
.header {
    position:sticky;
    top:0;
    z-index:1000;
    backdrop-filter:blur(6px);
    background:linear-gradient(180deg,rgba(11,18,28,0.55),rgba(11,18,28,0.35));
    border-bottom:1px solid rgba(255,255,255,0.03);
}

.nav {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.brand {
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:700;
    font-size:20px;
    color:var(--accent-2);
    text-decoration:none;
}

.brand img {
    width:34px;
    height:34px;
    object-fit:contain;
    border-radius:6px;
    filter:grayscale(20%) contrast(1.1) saturate(.6);
}

.nav-links {
    display:flex;
    gap:18px;
    align-items:center;
}

.nav-links a {
    color:var(--muted);
    text-decoration:none;
    padding:10px 12px;
    border-radius:8px;
}

.nav-links a:hover {
    color:var(--accent-2);
    transform:translateY(-3px);
}

.menu-toggle { display:none }

/* ================= HERO ================= */
.hero {
    display:flex;
    align-items:center;
    gap:28px;
    padding:48px 0;
    min-height:240px;
}

.hero .left { flex:1 }

.hero h1 {
    font-size:42px;
    margin:0 0 8px 0;
    line-height:1.02;
}

.lead {
    color:var(--muted);
    font-size:15px;
}

/* ================= CARDS ================= */
.card {
    background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));
    padding:14px;
    border-radius:14px;
    box-shadow:0 6px 26px rgba(2,6,14,0.6);
    overflow:hidden;
}

.card img {
    width:100%;
    height:160px;
    object-fit:cover;
    border-radius:10px;
}

.card h3 { margin:10px 0 6px 0 }

.card p {
    margin:0 0 8px 0;
    color:var(--muted);
    font-size:14px;
}

.card:hover {
    transform:translateY(-8px);
    box-shadow:0 18px 60px rgba(3,8,20,0.6);
}

.footer.visible { transform:translateY(0) }

/* ================= MEDIA ================= */
@media (max-width:1000px) {
    .grid { grid-template-columns:repeat(2,1fr) }
}

@media (max-width:640px) {
    .hero { flex-direction:column }
    .grid { grid-template-columns:1fr }
    .container { padding:16px }
    .brand { font-size:18px }
    .footer { height:88px }
}
/* ===== FOOTER PROFESIONAL SUCOMO ===== */
.footer{
    background:#050b14;
    color:#cfd8e3;
    padding:60px 20px 20px;
    font-size:15px;
}

.footer-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
    gap:40px;
}


.footer h3{
    color:white;
    margin-bottom:18px;
    font-size:18px;
}

.footer p{
    line-height:1.7;
    color:#9fb3c8;
}

.footer-links a{
    display:block;
    color:#9fb3c8;
    text-decoration:none;
    margin:8px 0;
    transition:0.3s;
}

.footer-links a:hover{
    color:#0b74ff;
    padding-left:6px;
}

/* CONTACTO */
.footer-contact span{
    display:block;
    margin:8px 0;
}

/* REDES */
.footer-social{
    display:flex;
    gap:15px;
    margin-top:15px;
}

.footer-social a{
    width:42px;
    height:42px;
    background:#0e1624;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:0.3s;
    box-shadow:0 0 0 transparent;
}

.footer-social img{
    width:20px;
    filter:brightness(0) invert(1);
}

.footer-social a:hover{
    background:#0b74ff;
    transform:translateY(-4px);
    box-shadow:0 0 18px #0b74ff;
}

/* LINEA FINAL */
.footer-bottom{
    border-top:1px solid rgba(255,255,255,0.08);
    margin-top:40px;
    padding-top:20px;
    text-align:center;
    font-size:13px;
    color:#7f93a8;
}

/* RESPONSIVE */
@media(max-width:900px){
    .footer-container{
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width:500px){
    .footer-container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-social{
        justify-content:center;
    }
}
/* FIX BRILLO EN MOVIL */
@media (max-width:768px){
    body::before{
        opacity:0.25;
        mix-blend-mode:normal;
    }
}
