:root{
--green:#168b73;--dark:#0b5144;--soft:#eaf6f2;--ink:#20322e;
--muted:#687975;--bg:#f7faf9;--line:#deebe7;--white:#fff;
}
*{box-sizing:border-box;scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}

.site-header{height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;
padding:0 6%;position:sticky;top:0;z-index:40;box-shadow:0 2px 18px rgba(20,59,51,.07)}
.brand {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.brand-logo {
    width: 200px;
    height: auto;
    display: block;
}

.brand span {
    font-size: 10px;
    line-height: 1.25;
    font-weight: 700;
    color: #20322e;
}
nav{display:flex;align-items:center;gap:19px;font-size:13px;font-weight:700}nav a:hover{color:var(--green)}
.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:25px;left:-15px;background:#fff;padding:15px;min-width:230px;border-radius:10px;box-shadow:0 15px 35px rgba(22,59,51,.12)}
.dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:9px}.dropdown-menu a:hover{color:var(--green)}
.menu-toggle{display:none;border:0;background:none;font-size:25px;cursor:pointer}

/* =====================================================
   CIED - ORBITA DEL HERO
===================================================== */

.hero-visual {
    position: relative;

    width: 100%;
    height: 500px;

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

    overflow: visible;
}


/* CONTENEDOR DE LA ÓRBITA */

.cied-orbit {
    position: relative;

    width: 440px;
    height: 440px;

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


/* =====================================================
   CÍRCULO CENTRAL CIED
===================================================== */

.cied-center {

    position: absolute;

    top: 50%;
    left: 50%;

    width: 230px;
    height: 230px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background: rgba(22,139,115,.94);

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

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

    color: #ffffff;

    font-size: 55px;
    font-weight: 900;

    z-index: 10;

    box-shadow:
        0 20px 45px rgba(0,0,0,.22),
        inset 0 0 30px rgba(255,255,255,.10);
}


/* EFECTO DE PULSO */

.cied-center::after {

    content: "";

    position: absolute;

    inset: -10px;

    border-radius: 50%;

    border: 1px solid rgba(150,235,215,.55);

    animation: ciedPulse 3s ease-in-out infinite;
}


@keyframes ciedPulse {

    0% {
        transform: scale(.98);
        opacity: .35;
    }

    50% {
        transform: scale(1.04);
        opacity: .8;
    }

    100% {
        transform: scale(.98);
        opacity: .35;
    }
}


/* =====================================================
   CÍRCULO DE ÓRBITA
===================================================== */

.orbit-ring {

    position: absolute;

    top: 50%;
    left: 50%;

    width: 360px;
    height: 360px;

    margin-left: -180px;
    margin-top: -180px;

    border-radius: 50%;

    border: 2px solid rgba(130,230,210,.65);

    animation: orbitRotate 24s linear infinite;

    z-index: 5;
}


@keyframes orbitRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* =====================================================
   TARJETAS DE LA ÓRBITA
===================================================== */

.orbit-item {

    position: absolute;

    width: 155px;
    height: 55px;

    background: #ffffff;

    border-radius: 35px;

    display: flex;

    align-items: center;

    gap: 9px;

    padding: 8px 15px;

    color: #20322e;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    white-space: nowrap;

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

    /*
       La cápsula gira en sentido contrario
       para mantenerse horizontal.
    */

    animation:
        counterRotate 24s linear infinite;

    z-index: 20;
}


/* =====================================================
   CONTRARROTACIÓN
===================================================== */

@keyframes counterRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }
}


/* =====================================================
   POSICIONES
===================================================== */

/* INNOVACIÓN */

.item-1 {

    top: -28px;

    left: 50%;

    margin-left: -77.5px;
}


/* FORMACIÓN */

.item-2 {

    left: -77.5px;

    top: 50%;

    margin-top: -27.5px;
}


/* DIFUSIÓN */

.item-3 {

    right: -77.5px;

    top: 50%;

    margin-top: -27.5px;
}


/* INVESTIGACIÓN */

.item-4 {

    bottom: -28px;

    left: 50%;

    margin-left: -77.5px;
}


/* =====================================================
   ÍCONOS
===================================================== */

.orbit-icon {

    width: 38px;
    height: 38px;

    min-width: 38px;

    border-radius: 50%;

    display: flex;

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

    font-size: 19px;
}


/* COLORES DE LOS ÍCONOS */

.innovation {
    background: #fff2bd;
}

.formation {
    background: #e1e2ff;
}

.diffusion {
    background: #ffdce8;
}

.research {
    background: #e8ddff;
}


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

.orbit-item:hover {

    box-shadow:
        0 15px 35px rgba(0,0,0,.25);

}


/* DETENER ANIMACIÓN AL PASAR EL MOUSE */

.cied-orbit:hover .orbit-ring,
.cied-orbit:hover .orbit-item {

    animation-play-state: paused;
}


/* LOS ELEMENTOS COMPENSAN LA ROTACIÓN */

.orbit-item span,
.orbit-item .orbit-icon {

    animation:
        counterRotate 20s linear infinite;

}


@keyframes counterRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }

}







.hero{min-height:620px;padding:80px 8%;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px;
background-image:linear-gradient(rgba(5,55,47,.62),rgba(5,55,47,.62)),url("imagenes/fondo.png");
background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff}
.hero-content{position:relative;z-index:2;max-width:720px}
.eyebrow{font-size:11px;letter-spacing:2px;color:#a8e3d5;font-weight:900}
.hero h1{font-size:clamp(42px,5.2vw,70px);line-height:1.04;margin:18px 0}
.hero h1 strong{color:#72d1bb}.hero p{color:#edf8f5;font-size:18px;line-height:1.7;max-width:680px}
.hero-buttons{margin-top:25px}.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:30px;padding:14px 22px;font-weight:800;cursor:pointer;transition:.25s}
.btn:hover{background:#0d6c5a;transform:translateY(-2px)}.btn-light{background:#fff;color:var(--green);border:1px solid #fff;margin-left:8px}
.btn-light:hover{background:#edf8f5;color:var(--dark)}
.hero{
    min-height:620px;
    padding:80px 8%;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:30px;

    background-image:
        linear-gradient(
            rgba(5,55,47,.62),
            rgba(5,55,47,.62)
        ),
        url("imagenes/fondo.png");

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

    color:#fff
}
.float-card{position:absolute;background:rgba(255,255,255,.96);color:var(--ink);padding:13px 18px;border-radius:30px;font-weight:bold;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.fc1{top:25px;right:20px}.fc2{left:0;top:145px}.fc3{right:5px;bottom:80px}.fc4{left:45px;bottom:15px}

.intro-section{background:#fff;text-align:center;padding:85px 7%}.intro-section h2,.section-heading h2{font-size:clamp(30px,4vw,46px);margin:12px 0}
.intro-section>p{max-width:760px;margin:0 auto 40px;color:var(--muted);line-height:1.7}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:auto;gap:20px}
.mini-grid div{padding:25px;border-top:3px solid var(--green);background:#f8fbfa}.mini-grid span{color:var(--green);font-weight:900}

.ecosystem{padding:85px 7%;max-width:1350px;margin:auto}.section-heading{text-align:center;max-width:850px;margin:0 auto 45px}
.section-heading.left{text-align:left;margin-left:0}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

.pillar {
    position: relative;
    overflow: hidden;

    min-height: 360px;

    padding: 0;

    border-radius: 20px;

    color: #ffffff;

    display: flex;
    flex-direction: column;

    transition: all 0.35s ease;
}


/* IMAGEN */

.pillar img {
    position: absolute;

    width: 100%;
    height: 100%;

    object-fit: cover;

    top: 0;
    left: 0;

    z-index: 0;

    transition: transform 0.5s ease;
}


/* CAPA SOBRE LA IMAGEN */

.pillar::after {
    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.20),
        rgba(0, 0, 0, 0.72)
    );

    z-index: 1;
}


/* CONTENIDO */

.pillar-content {
    position: relative;

    z-index: 2;

    height: 100%;

    min-height: 360px;

    padding: 30px;

    display: flex;
    flex-direction: column;

    justify-content: flex-end;
}


/* NUMERO */

.pillar small {
    font-size: 13px;

    font-weight: 800;

    margin-bottom: 8px;

    color: #ffffff;
}


/* TITULO */

.pillar h3 {
    font-size: 25px;

    line-height: 1.15;

    margin: 5px 0 12px;

    color: #ffffff;
}


/* DESCRIPCIÓN */

.pillar p {
    color: rgba(255,255,255,.92);

    line-height: 1.55;

    margin: 0 0 20px;
}


/* BOTÓN */

.pillar b {
    color: #ffffff;

    font-size: 14px;

    margin-top: 0;
}


/* HOVER */

.pillar:hover {
    transform: translateY(-8px);

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


.pillar:hover img {
    transform: scale(1.08);
}
.content-section{padding:85px 7%;max-width:1350px;margin:auto}.tinted{background:#edf7f4;max-width:none}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;min-height:270px;display:flex;flex-direction:column;cursor:pointer;box-shadow:0 7px 25px rgba(22,59,51,.06);transition:.3s}
.info-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(22,59,51,.13)}.info-card>span{font-size:32px}.info-card h3{font-size:20px;margin:18px 0 8px}
.info-card p{color:var(--muted);line-height:1.6}.info-card b{color:var(--green);margin-top:auto}

.feature-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;min-height:250px}
.feature-card.large{background:var(--green);color:#fff}.feature-card span{font-size:32px}.feature-card h3{font-size:23px}.feature-card p{color:var(--muted)}
.feature-card.large p{color:#e1f2ed}.feature-card a{color:var(--green);font-weight:bold}.feature-card.large a{color:#fff}

.activities{padding:85px 7%;background:#fff}.activity-list{max-width:1050px;margin:auto}
.activity-list article{display:grid;grid-template-columns:80px 1fr auto;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0}
.date{width:65px;height:65px;border-radius:50%;background:var(--soft);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green)}
.date strong{font-size:22px}.date small{font-weight:bold}.activity-list span{font-size:10px;letter-spacing:1.5px;color:var(--green);font-weight:bold}
.activity-list h3{margin:7px 0}.activity-list p{margin:0}.activity-list article>a{color:var(--green);font-weight:bold}

.resources{padding:85px 7%;max-width:1300px;margin:auto}.search{margin:0 auto 25px;max-width:700px}.search input{width:100%;padding:17px;border:1px solid var(--line);border-radius:30px;font-size:16px}
.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.resource-grid button{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px;text-align:left;font-size:17px;font-weight:bold;cursor:pointer;transition:.2s}
.resource-grid button:hover{border-color:var(--green);transform:translateY(-4px)}

.network{padding:85px 10%;background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.network-art{height:260px;border-radius:30px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:70px}
.network-art strong{font-size:30px}.network-art span{font-size:13px}

.contact{padding:85px 10%;background:#123f35;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact h2{font-size:45px}
.contact p{color:#d5e8e2}.contact .eyebrow{color:#8edbca}form{display:flex;flex-direction:column;gap:12px}
input,select,textarea{padding:15px;border:0;border-radius:9px;font:inherit}textarea{min-height:125px}.contact .btn{background:#fff;color:var(--dark)}form small{color:#a9e5d7}

footer{background:#092721;color:#d3e5e0;padding:50px 7%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
footer strong{color:#fff;font-size:19px}footer a{display:block;margin-top:10px;font-size:14px}footer p{color:#bcd1cb}

.modal{display:none;position:fixed;inset:0;background:rgba(6,37,31,.91);z-index:70;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}
.modal-box{background:#fff;border-radius:22px;padding:38px;max-width:600px;width:100%;position:relative}.modal-box h2{font-size:35px}
.close{position:absolute;right:15px;top:8px;background:none;border:0;font-size:32px;cursor:pointer}

@media(max-width:1050px){
nav{display:none}.menu-toggle{display:block}.pillar-grid,.cards{grid-template-columns:1fr 1fr}
.feature-grid{grid-template-columns:1fr 1fr}.feature-card.large{grid-column:span 2}.resource-grid{grid-template-columns:1fr 1fr}
.hero{grid-template-columns:1fr}.hero-visual{display:none}
}
@media(max-width:650px){
.pillar-grid,.cards,.mini-grid,.resource-grid,.feature-grid,.network,.contact{grid-template-columns:1fr}
.feature-card.large{grid-column:auto}.site-header{padding:0 20px}.hero{padding:60px 25px;min-height:560px}
.hero h1{font-size:42px}.hero-buttons{display:flex;flex-direction:column;align-items:flex-start}.btn-light{margin-left:0}
.content-section,.ecosystem,.resources{padding:60px 20px}.intro-section{padding:60px 20px}.activities{padding:60px 20px}
.activity-list article{grid-template-columns:60px 1fr}.activity-list article>a{grid-column:2}.contact{padding:60px 25px}
footer{grid-template-columns:1fr;padding:40px 25px}
}