:root{
    --bg:#0f1116;
    --surface:#141923;
    --surface-2:#1a2230;
    --surface-3:#ffffff;
    --line:#283246;
    --line-soft:#e7e1cf;
    --text:#111827;
    --text-soft:#5c6472;
    --white:#ffffff;

    --gold:#c8a54b;
    --gold-strong:#af8b2e;
    --gold-soft:#f1e4b8;
    --gold-glow:rgba(200,165,75,.22);

    --navy:#0c1628;
    --navy-2:#13233d;
    --navy-3:#1b3154;

    --shadow-sm:0 8px 20px rgba(7,12,20,.08);
    --shadow-md:0 18px 38px rgba(7,12,20,.12);
    --shadow-lg:0 24px 55px rgba(7,12,20,.18);

    --radius-sm:14px;
    --radius-md:22px;
    --radius-lg:28px;
    --container:1200px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--text);
    background:linear-gradient(180deg,#f8f6f0 0%, #fbfbfd 32%, #f4f6fa 100%);
}

a{text-decoration:none}

.container{
    width:min(var(--container), calc(100% - 40px));
    margin:0 auto;
}

.site-header{
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter:blur(12px);
    background:rgba(12,22,40,.92);
    border-bottom:1px solid rgba(200,165,75,.18);
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.header-wrap{
    min-height:86px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.brand{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--white);
}

.brand-mark{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:linear-gradient(135deg,var(--gold-strong),var(--gold));
    color:#fff;
    box-shadow:0 0 0 6px rgba(200,165,75,.12);
    font-size:22px;
}

.brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}

.brand-text strong{
    font-family:'Montserrat',sans-serif;
    font-size:18px;
    font-weight:800;
    letter-spacing:.01em;
}

.brand-text small{
    color:#e5d4a0;
    font-size:12px;
    font-weight:600;
    margin-top:4px;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:24px;
}

.main-nav a{
    color:#f4ead1;
    font-weight:700;
    font-size:14px;
    letter-spacing:.02em;
    transition:.25s ease;
}

.main-nav a:hover{
    color:var(--gold);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:999px;
    font-weight:800;
    letter-spacing:.02em;
    transition:.28s ease;
    border:1px solid transparent;
}

.btn-header,
.btn-primary{
    background:linear-gradient(135deg,var(--gold-strong),var(--gold));
    color:#fff;
    box-shadow:0 10px 22px var(--gold-glow);
}

.btn-header:hover,
.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 28px rgba(175,139,46,.28);
}

.btn-secondary{
    background:#fff;
    color:var(--navy);
    border-color:rgba(12,22,40,.12);
    box-shadow:var(--shadow-sm);
}

.btn-secondary:hover{
    transform:translateY(-2px);
    border-color:rgba(200,165,75,.4);
}

.site-main{display:block}

.hero-section{
    position:relative;
    overflow:hidden;
    padding:76px 0 48px;
    background:
        radial-gradient(circle at top right, rgba(200,165,75,.18), transparent 28%),
        radial-gradient(circle at left center, rgba(200,165,75,.10), transparent 32%),
        linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 48%, #0e1930 100%);
}

.hero-section::before{
    content:"";
    position:absolute;
    inset:auto -120px -120px auto;
    width:340px;
    height:340px;
    border-radius:50%;
    border:1px solid rgba(200,165,75,.12);
    opacity:.8;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:34px;
    align-items:center;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#ead7a1;
    margin-bottom:14px;
}

.hero-copy h1{
    margin:0 0 18px;
    font-family:'Montserrat',sans-serif;
    font-size:clamp(34px, 5vw, 58px);
    line-height:1.03;
    color:#fff;
    letter-spacing:-.03em;
}

.hero-copy p{
    margin:0;
    max-width:700px;
    font-size:17px;
    line-height:1.8;
    color:rgba(255,255,255,.82);
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}

.hero-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    margin-top:30px;
}

.stat-box{
    padding:18px 20px;
    border-radius:20px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(200,165,75,.16);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.stat-box strong{
    display:block;
    color:#fff;
    font-size:17px;
    font-weight:800;
    margin-bottom:6px;
}

.stat-box span{
    color:rgba(255,255,255,.74);
    font-size:14px;
    line-height:1.6;
}

.hero-panel{
    display:flex;
    justify-content:flex-end;
}

.hero-card{
    width:min(100%, 470px);
    padding:28px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, #f7f3e8 100%);
    border:1px solid rgba(200,165,75,.28);
    box-shadow:var(--shadow-lg);
}

.hero-card-top{
    display:flex;
    justify-content:flex-start;
    margin-bottom:10px;
}

.badge-gold,
.badge-outline{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.badge-gold{
    background:#f6e7b9;
    color:#7e651e;
}

.badge-outline{
    background:rgba(255,255,255,.08);
    color:#f3e4b3;
    border:1px solid rgba(200,165,75,.18);
}

.hero-card h3{
    margin:0 0 10px;
    font-family:'Montserrat',sans-serif;
    font-size:30px;
    color:var(--navy);
    letter-spacing:-.02em;
}

.hero-card p{
    margin:0 0 18px;
    color:#4f5563;
    line-height:1.8;
    font-size:15px;
}

.feature-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:12px;
}

.feature-list li{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:700;
    color:var(--navy);
}

.feature-list i{
    width:26px;
    height:26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(135deg,var(--gold-strong),var(--gold));
    font-size:12px;
}

.section-block{
    padding:82px 0;
}

.section-heading{
    text-align:center;
    max-width:860px;
    margin:0 auto 34px;
}

.section-heading.left{
    text-align:left;
    max-width:unset;
    margin:0 0 26px;
}

.section-heading h2{
    margin:0 0 16px;
    font-family:'Montserrat',sans-serif;
    font-size:clamp(28px, 4vw, 42px);
    line-height:1.1;
    letter-spacing:-.02em;
    color:var(--navy);
}

.section-heading p{
    margin:0;
    color:var(--text-soft);
    font-size:16px;
    line-height:1.85;
}

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

.info-card,
.contact-card{
    background:#fff;
    border:1px solid rgba(12,22,40,.08);
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow-sm);
}

.info-card.dark{
    background:linear-gradient(160deg,var(--navy),var(--navy-3));
    border-color:rgba(200,165,75,.2);
    color:#fff;
}

.info-card h3,
.contact-card h3{
    margin:0 0 10px;
    font-family:'Montserrat',sans-serif;
    font-size:22px;
}

.info-card p,
.contact-card p{
    margin:0;
    line-height:1.8;
    color:var(--text-soft);
}

.info-card.dark p{
    color:rgba(255,255,255,.8);
}

.icon-wrap{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    margin-bottom:18px;
    background:linear-gradient(135deg,var(--gold-strong),var(--gold));
    color:#fff;
    font-size:22px;
    box-shadow:0 12px 24px rgba(175,139,46,.18);
}

.section-categories{
    background:linear-gradient(180deg,#fcfbf7 0%, #f8f5ec 100%);
}

.category-highlight{
    padding:30px;
    border-radius:30px;
    background:linear-gradient(160deg,#0c1628 0%, #142542 100%);
    border:1px solid rgba(200,165,75,.18);
    box-shadow:var(--shadow-md);
}

.highlight-header h3{
    margin:12px 0 12px;
    font-family:'Montserrat',sans-serif;
    font-size:32px;
    line-height:1.08;
    color:#fff;
    letter-spacing:-.02em;
}

.highlight-header p{
    margin:0;
    color:rgba(255,255,255,.8);
    line-height:1.8;
    max-width:850px;
}

.mini-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:22px;
}

.mini-card{
    padding:18px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.mini-card strong{
    display:block;
    color:#f0d892;
    font-size:15px;
    font-weight:900;
    margin-bottom:8px;
}

.mini-card span{
    display:block;
    color:rgba(255,255,255,.78);
    line-height:1.7;
    font-size:14px;
}

.section-activities{
    background:#f7f8fb;
}

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

.activity-card{
    background:#fff;
    border:1px solid rgba(12,22,40,.08);
    border-radius:22px;
    padding:28px 22px;
    box-shadow:var(--shadow-sm);
    text-align:center;
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.activity-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-md);
    border-color:rgba(200,165,75,.35);
}

.activity-icon{
    width:72px;
    height:72px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,var(--navy),var(--navy-3));
    color:var(--gold);
    box-shadow:0 0 0 8px rgba(200,165,75,.08);
    font-size:28px;
}

.activity-card h3{
    margin:0 0 10px;
    font-family:'Montserrat',sans-serif;
    font-size:18px;
    color:var(--navy);
    min-height:48px;
}

.activity-card p{
    margin:0;
    color:var(--text-soft);
    line-height:1.75;
    font-size:14px;
}

.section-payments{
    background:
        radial-gradient(circle at 90% 10%, rgba(200,165,75,.10), transparent 18%),
        linear-gradient(180deg,#f9f7f0 0%, #fff 100%);
}

.payments-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
    align-items:stretch;
}

.payment-copy,
.payment-box{
    background:#fff;
    border:1px solid rgba(12,22,40,.08);
    border-radius:26px;
    padding:30px;
    box-shadow:var(--shadow-sm);
}

.payment-copy h2{
    margin:8px 0 14px;
    font-family:'Montserrat',sans-serif;
    color:var(--navy);
    font-size:34px;
    line-height:1.15;
}

.payment-copy p{
    margin:0;
    color:var(--text-soft);
    line-height:1.85;
}

.payment-box{
    background:linear-gradient(160deg,var(--navy),var(--navy-3));
    border-color:rgba(200,165,75,.18);
}

.payment-box h3{
    margin:0 0 18px;
    font-family:'Montserrat',sans-serif;
    color:#fff;
    font-size:26px;
}

.payment-box .feature-list li{
    color:#fff;
}

.section-contact{
    padding-bottom:92px;
}

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

.contact-card{
    text-align:center;
}

.site-footer{
    background:linear-gradient(180deg,#0b1323 0%, #111f38 100%);
    color:#fff;
    border-top:1px solid rgba(200,165,75,.16);
}

.footer-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:24px;
    padding:46px 0 28px;
}

.footer-card{
    padding:26px;
    border-radius:22px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.footer-card h4{
    margin:0 0 14px;
    font-family:'Montserrat',sans-serif;
    font-size:20px;
    color:#fff;
}

.footer-card p{
    margin:0 0 10px;
    color:rgba(255,255,255,.76);
    line-height:1.8;
}

.footer-card i{
    color:var(--gold);
    margin-right:8px;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding:18px 0 24px;
    color:rgba(255,255,255,.66);
    font-size:14px;
}

@media (max-width:1100px){
    .hero-grid,
    .payments-grid,
    .footer-grid{
        grid-template-columns:1fr;
    }

    .hero-panel{
        justify-content:flex-start;
    }

    .activities-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .info-grid.three-cols,
    .mini-cards,
    .contact-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:860px){
    .header-wrap{
        flex-wrap:wrap;
        justify-content:center;
        padding:16px 0;
    }

    .main-nav{
        flex-wrap:wrap;
        justify-content:center;
        gap:16px;
    }

    .hero-section{
        padding-top:48px;
    }

    .hero-stats{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .container{
        width:min(var(--container), calc(100% - 26px));
    }

    .section-block{
        padding:64px 0;
    }

    .hero-copy h1{
        font-size:34px;
    }

    .section-heading h2,
    .payment-copy h2{
        font-size:28px;
    }

    .highlight-header h3{
        font-size:26px;
    }

    .activities-grid{
        grid-template-columns:1fr;
    }

    .activity-card h3{
        min-height:auto;
    }

    .hero-card,
    .payment-copy,
    .payment-box,
    .category-highlight,
    .info-card,
    .contact-card,
    .footer-card{
        padding:22px;
    }
}


.header-actions{display:flex;align-items:center;gap:12px}
.btn-admin-header{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.16);box-shadow:none}
.btn-admin-header:hover{color:#fff;background:rgba(255,255,255,.16)}
.cenit-inscripcion-wrap{padding-top:10px;padding-bottom:24px}
.cenit-form-shell{display:grid;grid-template-columns:.92fr 1.08fr;gap:28px;align-items:start}
.cenit-form-intro,.cenit-form-card,.cenit-login-card,.cenit-login-copy{background:#fff;border:1px solid rgba(12,22,40,.08);border-radius:28px;box-shadow:var(--shadow-md)}
.cenit-form-intro{padding:34px;position:sticky;top:110px}
.cenit-form-card,.cenit-login-copy,.cenit-login-card{padding:34px}
.cenit-form-lead{color:var(--text-soft);line-height:1.85;margin-bottom:22px}
.cenit-info-grid,.cenit-login-benefits{display:grid;gap:14px}
.cenit-info-card,.cenit-login-benefit{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px}
.cenit-info-card{background:linear-gradient(180deg,#fbfaf6 0%, #ffffff 100%);border:1px solid rgba(200,165,75,.22)}
.cenit-login-benefit{background:#f8fafc;border:1px solid rgba(12,22,40,.08)}
.cenit-info-card i,.cenit-login-benefit i{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:#fff;flex:0 0 42px}
.cenit-info-card i{background:linear-gradient(135deg,var(--gold-strong),var(--gold))}
.cenit-login-benefit i{background:linear-gradient(135deg,var(--navy-2),var(--navy-3))}
.cenit-info-card strong,.cenit-form-section-title h4,.cenit-login-benefit strong,.cenit-login-copy h1,.cenit-login-card-head h2{display:block;font-family:'Montserrat',sans-serif;color:var(--navy);font-weight:800}
.cenit-info-card span,.cenit-info-card a,.cenit-form-section-title p,.cenit-help-text,.cenit-back-link,.cenit-login-copy p,.cenit-login-card-head p{color:var(--text-soft)}
.cenit-form-section-title,.cenit-login-card-head{margin-bottom:18px}
.cenit-label{display:block;margin-bottom:8px;font-weight:800;color:var(--navy)}
.cenit-input.form-control{min-height:54px;border-radius:16px;border:1px solid #d7deea;box-shadow:none;padding:12px 16px}
textarea.cenit-input.form-control{min-height:148px;resize:vertical}
.cenit-input.form-control:focus{border-color:rgba(200,165,75,.7);box-shadow:0 0 0 4px rgba(200,165,75,.12)}
.cenit-file{padding-top:12px}.cenit-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cenit-submit-btn{min-width:230px;min-height:54px;border-radius:16px !important;font-weight:800}
.cenit-admin-inline-link,.cenit-back-link{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.cenit-admin-inline-link:hover,.cenit-back-link:hover,.cenit-info-card a:hover{color:var(--gold-strong)}
.cenit-login-shell{padding:48px 0 68px;background:radial-gradient(circle at top right, rgba(200,165,75,.18), transparent 22%),linear-gradient(135deg, #eef2f8 0%, #f8f6f0 100%)}
.cenit-login-grid{display:grid;grid-template-columns:1fr 480px;gap:28px;align-items:stretch}
.cenit-login-copy h1,.cenit-login-card-head h2{margin-bottom:12px}
.cenit-login-benefits{margin:24px 0 28px}
.cenit-login-badge{display:inline-flex;padding:8px 14px;border-radius:999px;background:#f4efe0;color:var(--gold-strong);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.cenit-login-btn.btn-primary{border-radius:16px;font-size:16px}
.cenit-login-actions{margin-top:18px;text-align:center}
@media (max-width:1100px){.cenit-form-shell,.cenit-login-grid{grid-template-columns:1fr}.cenit-form-intro{position:relative;top:auto}}
@media (max-width:900px){.header-wrap{flex-wrap:wrap;justify-content:center;padding:14px 0}.main-nav{width:100%;justify-content:center;flex-wrap:wrap;gap:14px}.header-actions{width:100%;justify-content:center;flex-wrap:wrap}}
@media (max-width:640px){.container{width:min(var(--container), calc(100% - 24px))}.cenit-form-intro,.cenit-form-card,.cenit-login-copy,.cenit-login-card{padding:22px;border-radius:22px}.cenit-form-actions{align-items:stretch}.cenit-submit-btn{width:100%}}
