#corfedes-landing {
  --accent:#039be5;
  --dark:#0f1720;
  --muted:#6b7280;
  --card-bg:#fff;
  --glass: rgba(255,255,255,0.85);
  --radius:12px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

#corfedes-landing *,
#corfedes-landing *::before,
#corfedes-landing *::after {
  box-sizing: border-box;
}

/* GLOBALS */
#corfedes-landing body{ margin:0; background:#f3f6fb; color:var(--dark); -webkit-font-smoothing:antialiased;}
#corfedes-landing a{ color:var(--accent); text-decoration:none}
#corfedes-landing .container{ max-width:1100px; margin:0 auto; padding:40px 20px; }

/* CTA BAR */
#corfedes-landing .top-cta{
  position:fixed; left:0; right:0; top:0; z-index:1000;
  background:linear-gradient(90deg,var(--accent),#0288d1);
  color:#fff; padding:10px 16px; display:flex; justify-content:center; gap:12px;
  align-items:center; font-weight:600; transform:translateY(-110%); transition:transform .45s cubic-bezier(.2,.9,.3,1);
}
#corfedes-landing .top-cta.show{ transform:translateY(0); }
#corfedes-landing .top-cta button{ background:rgba(255,255,255,0.12); border:0; color:#fff; padding:8px 14px; border-radius:8px; cursor:pointer; }

/* HERO */
#corfedes-landing .hero{
  min-height:68vh; display:flex; align-items:center; position:relative; overflow:hidden;
  background: linear-gradient(0deg, rgba(3,155,229,0.06), rgba(3,155,229,0.02));
  padding-top:70px;
}
#corfedes-landing .hero .hero-inner{ display:flex; gap:40px; align-items:center; width:100%; }
#corfedes-landing .hero .text{ flex:1; }

#corfedes-landing .brand{ font-size:28px; margin:0 0 12px; color:var(--accent); font-weight:700; letter-spacing:0.6px;}
#corfedes-landing h2{ font-size:34px; margin:0 0 12px; line-height:1.05; }
#corfedes-landing .typing{ color:var(--accent); font-weight:700; }
#corfedes-landing p.textosp{ color:var(--muted); margin:0 0 16px; }

#corfedes-landing .hero .image{
  width:420px; height:260px; border-radius:14px; overflow:hidden; flex-shrink:0;
  box-shadow: 0 10px 30px rgba(3,27,77,0.08);
  transform: translateY(0);
  transition:transform .35s ease;
}
#corfedes-landing .hero .image img{ width:100%; height:100%; object-fit:cover; display:block; }

/* VALUES */
#corfedes-landing .values{ padding:40px 0; }
#corfedes-landing .value-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:18px; margin-top:18px; }
#corfedes-landing .program-card,
#corfedes-landing .card{
  background:var(--card-bg);
  padding:18px;
  border-radius:12px;
  box-shadow: 0 6px 18px rgba(12,20,40,0.06);
  text-align:center;
  transition:transform .25s ease, box-shadow .25s ease;
}
#corfedes-landing .card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(12,20,40,0.08); }
#corfedes-landing .card i{ display:block; font-size:22px; margin-bottom:12px; color:var(--accent); }

/* FLIP CARDS */
#corfedes-landing .program-card{ perspective:1200px; padding:0; box-shadow:none; background:none; }
#corfedes-landing .flip{
  position:relative; height:220px; border-radius:12px; overflow:visible;
  transform-style:preserve-3d; transition: transform .6s cubic-bezier(.2,.9,.3,1);
}
#corfedes-landing .flip-inner{ position:absolute; inset:0; border-radius:12px; transform-style:preserve-3d; transition: transform .6s; }
#corfedes-landing .face{
  position:absolute; inset:0; backface-visibility:hidden; padding:18px;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  border-radius:12px; box-shadow: 0 10px 30px rgba(12,20,40,0.06);
  background:var(--card-bg);
}
#corfedes-landing .face .icon{ font-size:28px; margin-bottom:8px; color:var(--accent);}
#corfedes-landing .face.back{ transform:rotateY(180deg); background:linear-gradient(180deg,#fff, #f8fbff); }
#corfedes-landing .program-card:hover .flip-inner{ transform:rotateY(180deg); }

#corfedes-landing .program-more{
  margin-top:12px; display:inline-block; padding:8px 12px; border-radius:10px;
  background:rgba(3,155,229,0.1); color:var(--accent); font-weight:600; cursor:pointer;
}

/* COUNTERS */
#corfedes-landing .stats{
  background:#fff; margin:28px 0; padding:24px; border-radius:12px;
  display:flex; gap:18px; justify-content:space-between; align-items:center;
  box-shadow:0 8px 30px rgba(12,20,40,0.04);
}
#corfedes-landing .stat{ text-align:center; flex:1; }
#corfedes-landing .stat h3{ margin:0; font-size:28px; color:var(--accent); }
#corfedes-landing .stat p{ margin:6px 0 0; color:var(--muted); font-size:14px; }

/* QUOTE */
#corfedes-landing .quote{
  background:linear-gradient(180deg,#03a9f4, #0288d1);
  color:#fff; padding:34px 0; margin-top:20px;
}
#corfedes-landing .quote blockquote{
  margin:0; font-style:italic; max-width:780px;
}

/* BENEFITS */
#corfedes-landing .benefits .grid{
  display:grid; grid-template-columns: 1fr 360px; gap:24px; align-items:center; margin-top:18px;
}
#corfedes-landing .benefits img{
  width:100%; border-radius:10px; box-shadow:0 12px 30px rgba(12,20,40,0.06);
}

/* CAROUSEL */
#corfedes-landing .carousel{
  display:flex; gap:12px; align-items:center; overflow:hidden; position:relative;
}
#corfedes-landing .slide{
  min-width:300px; background:#fff; padding:18px; border-radius:12px;
  box-shadow:0 10px 30px rgba(12,20,40,0.06);
}
#corfedes-landing .carousel-controls{ display:flex; gap:8px; margin-top:12px; }

/* MODAL */
#corfedes-landing .modal{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(2,6,23,0.4); opacity:0; pointer-events:none; transition:opacity .2s; z-index:1200;
}
#corfedes-landing .modal.show{ opacity:1; pointer-events:auto; }
#corfedes-landing .modal-card{
  background:#fff; padding:20px; border-radius:12px; width:420px;
  box-shadow:0 20px 50px rgba(2,6,23,0.4);
}

/* BUTTONS */
#corfedes-landing .btn{
  background:var(--accent); color:#fff; padding:10px 14px;
  border-radius:10px; border:0; cursor:pointer; font-weight:700;
}

/* REVEAL */
#corfedes-landing .reveal{
  opacity:0; transform:translateY(16px);
  transition:opacity .6s ease, transform .6s ease;
}
#corfedes-landing .reveal.in{
  opacity:1; transform:none;
}

/* RESPONSIVE */
@media (max-width:1000px){
  #corfedes-landing .value-grid{ grid-template-columns: repeat(2,1fr); }
  #corfedes-landing .hero .image{ display:none; }
  #corfedes-landing .program-grid{ grid-template-columns: repeat(2,1fr); }
  #corfedes-landing .benefits .grid{ grid-template-columns: 1fr; }
  #corfedes-landing .carousel{ overflow-x:auto; }
}
@media (max-width:620px){
  #corfedes-landing .value-grid{ grid-template-columns: 1fr; }
  #corfedes-landing .program-grid{ grid-template-columns: 1fr; }
  #corfedes-landing h2{ font-size:24px;}
}

/* ------- */

/* Tarjetas móviles - versión estable y estética */
@media (max-width: 600px) {

    #corfedes-landing .value-grid {
        display: flex;
        flex-direction: column;
        gap: 22px;
    }

    /* Tarjeta */
    #corfedes-landing .program-card {
        width: 100%;
        max-width: 330px;
        margin: 0 auto;
    }

    /* Contenedor flip */
    #corfedes-landing .program-card .flip {
        width: 100%;
    }

    /* Lo más importante: evitar deformación del FLIP */
    #corfedes-landing .program-card .flip-inner {
        min-height: 220px;
        height: auto;
    }

    /* Caras */
    #corfedes-landing .program-card .face {
        padding: 22px;
    }

    /* Título */
    #corfedes-landing .program-card h4 {
        font-size: 19px;
        text-align: center;
    }

    /* Texto */
    #corfedes-landing .program-card p {
        font-size: 14.5px;
        text-align: center;
    }

    /* Icono */
    #corfedes-landing .program-card .icon {
        font-size: 30px;
        margin-bottom: 12px;
        display: block;
        text-align: center;
    }

    /* Botón Más info */
    #corfedes-landing .program-more {
        font-size: 14px;
        padding: 6px 12px;
        margin: 0 auto;
    }
}