*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:#eef3f7;
    color:#1f2937;
}

.congreso-page{
    overflow-x:hidden;
}

/* BANNER */

.congreso-banner{
    background:white;
    padding:0;
}

.congreso-banner img{
    width:100%;
    max-height:320px;
    object-fit:contain;
    display:block;
}

/* HERO */

.congreso-hero{
    position:relative;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 30%),
        linear-gradient(135deg,#0f3f63 0%,#1f5f8b 45%,#17496b 100%);
    color:white;
    text-align:center;
    padding:70px 24px 105px;
}

.congreso-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:55px;
    background:#eef3f7;
    border-radius:55% 55% 0 0;
}

.contenedor{
    max-width:1180px;
    margin:0 auto;
    position:relative;
    z-index:2;
}

.etiqueta{
    display:inline-block;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.25);
    padding:10px 22px;
    border-radius:999px;
    font-size:15px;
    margin-bottom:26px;
}

.congreso-hero h1{
    margin:0 auto 24px;
    max-width:1050px;
    line-height:1.12;
    font-weight:800;
}

.congreso-hero h1 span{
    display:block;
}

.congreso-hero h1 span:nth-child(1){
    font-size:58px;
}

.congreso-hero h1 span:nth-child(2){
    font-size:48px;
    margin-top:8px;
}

.congreso-hero h1 span:nth-child(3){
    font-size:44px;
    margin-top:12px;
    font-weight:600;
    opacity:.95;
}

.congreso-hero p{
    max-width:880px;
    margin:0 auto 28px;
    font-size:20px;
    line-height:1.75;
    color:rgba(255,255,255,.92);
}

.datos-hero{
    font-size:17px;
    line-height:1.8;
    margin-bottom:30px;
    color:rgba(255,255,255,.95);
}

.boton-principal,
.boton-secundario{
    display:inline-block;
    padding:15px 30px;
    border-radius:12px;
    text-decoration:none;
    font-size:17px;
    font-weight:700;
    transition:.2s ease;
}

.boton-principal{
    background:white;
    color:#1f5f8b;
    box-shadow:0 14px 30px rgba(0,0,0,.18);
}

.boton-principal:hover{
    transform:translateY(-2px);
}

/* DATOS CLAVE */

.datos-clave{
    max-width:1120px;
    margin:-45px auto 55px;
    padding:0 24px;
    position:relative;
    z-index:5;
}

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

.dato-card{
    background:white;
    padding:28px;
    border-radius:18px;
    box-shadow:0 18px 38px rgba(15,23,42,.13);
    border-top:5px solid #1f5f8b;
}

.dato-card span{
    display:block;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#64748b;
    margin-bottom:10px;
}

.dato-card strong{
    font-size:23px;
    color:#0f172a;
    line-height:1.35;
}

.dato-card p{
    margin:8px 0 0;
    color:#475569;
}

/* SECCIONES */

.seccion{
    max-width:1120px;
    margin:0 auto 55px;
    padding:0 24px;
}

.caja{
    background:white;
    padding:48px 54px;
    border-radius:22px;
    box-shadow:0 12px 28px rgba(15,23,42,.08);
    border:1px solid rgba(15,23,42,.05);
}

.caja h2,
.titulo-centro h2{
    font-size:40px;
    line-height:1.15;
    margin:0 0 24px;
    color:#0f172a;
}

.caja h2::after,
.titulo-centro h2::after{
    content:"";
    display:block;
    width:72px;
    height:4px;
    background:#1f5f8b;
    border-radius:999px;
    margin-top:16px;
}

.caja p,
.caja li{
    font-size:19px;
    line-height:1.85;
    color:#374151;
}

.caja ul{
    padding-left:24px;
    margin-bottom:0;
}

.caja a{
    color:#1f5f8b;
    font-weight:700;
}

/* EJES */

.titulo-centro{
    text-align:center;
    margin-bottom:30px;
}

.titulo-centro h2::after{
    margin-left:auto;
    margin-right:auto;
}

.titulo-centro p{
    max-width:780px;
    margin:0 auto;
    font-size:18px;
    line-height:1.7;
    color:#64748b;
}

.ejes-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.eje-card{
    background:white;
    padding:24px 26px;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(15,23,42,.07);
    border-left:5px solid #1f5f8b;
    font-size:19px;
    line-height:1.55;
    color:#1f2937;
}

.eje-card span{
    display:block;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:#1f5f8b;
    font-weight:800;
    margin-bottom:8px;
}

/* DOS COLUMNAS */

.dos-columnas{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

/* FECHAS */

.caja-oscura{
    background:linear-gradient(135deg,#0f172a,#173b5a);
    color:white;
}

.caja-oscura h2{
    color:white;
}

.caja-oscura h2::after{
    background:white;
}

.fechas-lista{
    display:grid;
    gap:14px;
}

.fechas-lista div{
    background:rgba(255,255,255,.09);
    padding:18px 22px;
    border-radius:12px;
    font-size:18px;
    line-height:1.6;
}

/* INFORMES */

.informes-box{
    background:#ffffff;
    border-left:8px solid #1f5f8b;
}

.correo a{
    display:inline-block;
    margin-top:10px;
    font-size:30px;
    font-weight:700;
    color:#1f5f8b;
    text-decoration:none;
    transition:all .2s ease;
}

.correo a:hover{
    color:#17496b;
}

.boton-secundario{
    background:#1f5f8b;
    color:white;
    margin-top:10px;
}

/* COMITÉ */

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

.persona-card{
    background:#f8fafc;
    border-radius:16px;
    padding:24px;
    border-left:5px solid #1f5f8b;
}

.persona-card strong{
    display:block;
    font-size:19px;
    color:#0f172a;
    margin-bottom:10px;
}

.persona-card span{
    font-size:16px;
    line-height:1.7;
    color:#475569;
}

/* CIERRE */

.cierre{
    max-width:1120px;
    margin:20px auto 70px;
    padding:48px 42px;
    background:linear-gradient(135deg,#1f5f8b,#17496b);
    color:white;
    text-align:center;
    border-radius:22px;
    box-shadow:0 14px 32px rgba(15,23,42,.14);
}

.cierre p{
    max-width:900px;
    margin:0 auto 18px;
    font-size:21px;
    line-height:1.75;
}

.cierre span{
    font-size:17px;
    opacity:.9;
}

/* RESPONSIVE */

@media(max-width:900px){
    .datos-grid,
    .dos-columnas,
    .comite-grid,
    .ejes-grid{
        grid-template-columns:1fr;
    }

    .congreso-hero h1 span:nth-child(1){
        font-size:42px;
    }

    .congreso-hero h1 span:nth-child(2){
        font-size:36px;
    }

    .congreso-hero h1 span:nth-child(3){
        font-size:32px;
    }

    .datos-clave{
        margin-top:-30px;
    }

    .caja{
        padding:36px 28px;
    }
}

@media(max-width:560px){
    .congreso-hero{
        padding:48px 18px 90px;
    }

    .etiqueta{
        font-size:13px;
    }

    .congreso-hero h1 span:nth-child(1){
        font-size:32px;
    }

    .congreso-hero h1 span:nth-child(2){
        font-size:28px;
    }

    .congreso-hero h1 span:nth-child(3){
        font-size:25px;
    }

    .congreso-hero p,
    .caja p,
    .caja li{
        font-size:17px;
    }

    .caja h2,
    .titulo-centro h2{
        font-size:32px;
    }

      .cierre{
        margin:20px 20px 50px;
        padding:34px 24px;
    }
}
    
/* =========================
   INDICACIONES DE PAGO
========================= */

.pago-card {
    padding: 55px 70px !important;
}

.pago-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 70px !important;
    row-gap: 0 !important;
    margin-top: 35px !important;
}

.pago-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 24px 0 !important;
    border-bottom: 1px solid #d8e0e8 !important;
}

.pago-inciso {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 50% !important;
    background: #1f5f8b !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.pago-item h3 {
    margin: 0 0 8px !important;
    color: #12203b !important;
    font-size: 24px !important;
    font-weight: 700 !important;
}

.pago-item p {
    margin: 0 0 6px !important;
    color: #273246 !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
}

@media (max-width: 768px) {
    .pago-card {
        padding: 35px 28px !important;
    }

    .pago-grid {
        grid-template-columns: 1fr !important;
    }
}