
:root{
    --navy:#071a3b;
    --navy-2:#0d2d5f;
    --orange:#df8a25;
    --orange-dark:#b96b14;
    --cream:#f8f5ef;
    --paper:#fffdfa;
    --ink:#1d2430;
    --muted:#626b78;
    --line:#ddd8ce;
    --white:#ffffff;
    --soft:#f3f5f8;
    --shadow:0 18px 42px rgba(7,26,59,.12);
    --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    color:var(--ink);
    background:var(--paper);
    font-family:"Source Serif 4", Georgia, serif;
    font-size:17px;
    line-height:1.78;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:0 auto}

p{
    text-align:justify;
    text-justify:inter-word;
}
.card p,.program-card p,.contact-card p,.footer-grid p{
    text-align:justify;
}

.topbar{
    background:var(--navy);
    color:#dbe4f0;
    font-size:13px;
}
.topbar-inner{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.top-links{display:flex;gap:22px}

.site-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,253,250,.97);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(12px);
}
.nav-wrap{
    min-height:94px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.brand{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:260px;
}
.brand img{
    width:72px;
    height:72px;
    object-fit:contain;
    background:white;
    border-radius:50%;
}
.brand-text strong{
    display:block;
    font-family:"Cormorant Garamond", Georgia, serif;
    font-size:26px;
    line-height:1;
    letter-spacing:.5px;
    color:var(--navy);
}
.brand-text span{
    display:block;
    max-width:300px;
    margin-top:5px;
    color:var(--muted);
    font-size:11px;
    line-height:1.25;
}
.main-nav{
    display:flex;
    align-items:center;
    gap:20px;
    font-size:15px;
    font-weight:600;
}
.main-nav>a,.nav-dropbtn{
    color:var(--navy);
    border:0;
    background:none;
    font:inherit;
    cursor:pointer;
    padding:10px 0;
}
.main-nav>a.active,.nav-dropbtn.active,
.main-nav>a:hover,.nav-dropbtn:hover{color:var(--orange-dark)}
.nav-cta{
    padding:10px 17px !important;
    background:var(--navy) !important;
    color:white !important;
    border-radius:8px;
}
.nav-dropdown{position:relative}
.dropdown-menu{
    display:none;
    position:absolute;
    min-width:210px;
    top:43px;
    left:0;
    background:white;
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:var(--shadow);
    padding:8px;
}
.nav-dropdown:hover .dropdown-menu{display:block}
.dropdown-menu a{
    display:block;
    padding:10px 12px;
    border-radius:8px;
    color:var(--navy);
}
.dropdown-menu a:hover{background:var(--cream);color:var(--orange-dark)}
.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--navy)}

.page-hero{
    position:relative;
    background:
      linear-gradient(120deg,rgba(7,26,59,.97),rgba(13,45,95,.94)),
      radial-gradient(circle at 82% 15%,rgba(223,138,37,.24),transparent 35%);
    color:white;
    padding:82px 0 78px;
    overflow:hidden;
}
.page-hero::after{
    content:"";
    position:absolute;
    width:360px;height:360px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    right:-80px;bottom:-220px;
}
.page-hero .container{position:relative;z-index:2}
.kicker{
    display:inline-block;
    color:#f0b86d;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;
    font-weight:700;
    margin-bottom:13px;
}
.page-hero h1,.hero-home h1,.section-title{
    font-family:"Cormorant Garamond", Georgia, serif;
    font-weight:700;
    letter-spacing:-.3px;
}
.page-hero h1{
    margin:0 0 16px;
    font-size:clamp(42px,5vw,66px);
    line-height:1.03;
}
.page-hero p{
    max-width:760px;
    font-size:19px;
    color:#e0e7f1;
    text-align:justify;
    margin:0;
}

.hero-home{
    background:linear-gradient(120deg,#071a3b 0%,#0e315f 62%,#174a83 100%);
    color:white;
    padding:78px 0;
}
.hero-home-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:60px;
    align-items:center;
}
.hero-home h1{
    font-size:clamp(48px,6vw,76px);
    line-height:1.02;
    margin:10px 0 22px;
}
.hero-home p{font-size:19px;color:#dce6f2;max-width:760px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:8px;
    background:var(--orange);
    color:#1c160d;
    font-weight:700;
    border:1px solid var(--orange);
    transition:.2s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.16)}
.btn-secondary{background:transparent;border-color:rgba(255,255,255,.45);color:white}
.hero-logo{
    background:rgba(255,255,255,.96);
    border-radius:28px;
    padding:34px;
    box-shadow:0 20px 55px rgba(0,0,0,.2);
}
.hero-logo img{width:100%;max-height:430px;object-fit:contain;margin:auto}

.section{padding:82px 0}
.section.alt{background:var(--cream)}
.section-heading{max-width:780px;margin-bottom:38px}
.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}
.section-heading.center p{text-align:center}
.section-title{
    color:var(--navy);
    font-size:clamp(36px,4vw,50px);
    line-height:1.12;
    margin:0 0 16px;
}
.section-heading>p{color:var(--muted);font-size:18px}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:35px;
}
.stat{
    padding:24px;
    border-top:3px solid var(--orange);
    background:white;
    box-shadow:0 8px 20px rgba(7,26,59,.06);
}
.stat strong{
    display:block;
    font-family:"Cormorant Garamond",serif;
    font-size:38px;
    color:var(--navy);
}
.stat span{font-size:14px;color:var(--muted)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{
    background:white;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:30px;
    box-shadow:0 10px 26px rgba(7,26,59,.05);
}
.card.accent{border-top:4px solid var(--orange)}
.card h2,.card h3{
    font-family:"Cormorant Garamond",serif;
    color:var(--navy);
    margin-top:0;
}
.card h2{font-size:34px}
.card h3{font-size:27px}
.card p{color:#47515f}
.card .small-label{
    display:block;
    color:var(--orange-dark);
    text-transform:uppercase;
    letter-spacing:1.5px;
    font-size:11px;
    font-weight:700;
    margin-bottom:8px;
}

.values-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.value-card{
    border:1px solid var(--line);
    background:white;
    padding:26px;
    border-radius:14px;
}
.value-card h3{
    font-family:"Cormorant Garamond",serif;
    font-size:26px;
    margin:0 0 9px;
    color:var(--navy);
}
.value-card p{margin:0;color:var(--muted)}

.program-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.program-card{
    display:flex;
    flex-direction:column;
    min-height:280px;
    background:white;
    border:1px solid var(--line);
    border-top:4px solid var(--navy);
    border-radius:14px;
    padding:28px;
    transition:.2s ease;
}
.program-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.program-type{
    font-size:11px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--orange-dark);
    font-weight:700;
}
.program-card h2{
    font-family:"Cormorant Garamond",serif;
    font-size:28px;
    line-height:1.12;
    color:var(--navy);
    margin:12px 0 14px;
}
.program-card p{font-size:15px;color:var(--muted);margin:0}
.program-card .program-link{
    margin-top:auto;
    padding-top:24px;
    color:var(--navy-2);
    font-weight:700;
    font-size:14px;
}

.prose{max-width:900px}
.prose p{margin:0 0 18px;color:#3f4956}
.prose strong{color:var(--navy)}
.quote-box{
    margin-top:28px;
    padding:30px;
    border-left:5px solid var(--orange);
    background:white;
    box-shadow:0 8px 25px rgba(7,26,59,.05);
}
.quote-box p{margin:0;font-size:20px;color:var(--navy)}

.why-grid,.steps-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.why-item,.step{
    background:white;
    border:1px solid var(--line);
    border-radius:14px;
    padding:25px;
}
.why-item h3,.step h3{
    font-family:"Cormorant Garamond",serif;
    color:var(--navy);
    font-size:24px;
    margin:7px 0 10px;
}
.why-item p,.step p{margin:0;color:var(--muted);font-size:15px}
.step-num{
    color:var(--orange-dark);
    font-weight:700;
    letter-spacing:1px;
    font-size:13px;
}

.cta-band{
    background:var(--navy);
    color:white;
    padding:52px 0;
}
.cta-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-grid h2{
    font-family:"Cormorant Garamond",serif;
    font-size:40px;
    margin:0 0 8px;
}
.cta-grid p{margin:0;color:#dbe4ef}
.cta-band .btn{flex:none}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px}
.contact-list{display:grid;gap:16px}
.contact-card{
    background:white;border:1px solid var(--line);padding:22px;border-radius:14px;
}
.contact-card h3{font-family:"Cormorant Garamond",serif;color:var(--navy);font-size:24px;margin:0 0 7px}
.contact-card p,.contact-card a{margin:0;color:var(--muted)}

.contact-form{
    background:white;
    border:1px solid var(--line);
    border-radius:18px;
    padding:30px;
    box-shadow:var(--shadow);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:block;margin-bottom:17px;font-weight:600;color:var(--navy)}
.contact-form input,.contact-form select,.contact-form textarea{
    width:100%;margin-top:7px;padding:13px 14px;
    border:1px solid #cfc8bb;border-radius:8px;background:#fff;
    font-family:"Source Serif 4",Georgia,serif;font-size:15px;color:var(--ink);
}
.contact-form textarea{resize:vertical}
.form-message{padding:13px 14px;border-radius:8px;margin-bottom:18px}
.form-message.ok{background:#e9f7ed;color:#176033}
.form-message.error{background:#fff0f0;color:#982c2c}

.site-footer{
    background:#05142f;
    color:#c7d0dc;
    padding:58px 0 24px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.5fr repeat(3,1fr);
    gap:38px;
}
.footer-brand{display:flex;gap:16px;align-items:flex-start}
.footer-brand img{width:82px;height:82px;object-fit:contain;background:white;border-radius:50%}
.footer-brand h3{
    font-family:"Cormorant Garamond",serif;
    color:white;font-size:28px;margin:0;
}
.footer-brand p{margin:4px 0;max-width:300px}
.site-footer h4{font-family:"Cormorant Garamond",serif;color:white;font-size:20px;margin:0 0 12px}
.site-footer a{display:block;margin:7px 0;color:#c7d0dc;font-size:14px}
.site-footer p{font-size:14px;line-height:1.65}
.footer-bottom{
    margin-top:38px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.12);
    display:flex;
    justify-content:space-between;
    gap:20px;
    font-size:12px;
    color:#8796a9;
}
.whatsapp-float{
    position:fixed;
    z-index:1200;
    right:20px;
    bottom:20px;
    padding:12px 18px;
    border-radius:999px;
    background:#188b4b;
    color:white;
    font-weight:700;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
}

@media(max-width:980px){
    .menu-toggle{display:block}
    .main-nav{
        display:none;
        position:absolute;
        top:94px;left:0;right:0;
        background:var(--paper);
        border-bottom:1px solid var(--line);
        padding:20px 4%;
        flex-direction:column;
        align-items:stretch;
    }
    .main-nav.open{display:flex}
    .nav-dropdown{width:100%}
    .nav-dropbtn{width:100%;text-align:left}
    .dropdown-menu{
        position:static;display:block;box-shadow:none;border:0;background:var(--cream);
        margin:4px 0 8px;
    }
    .hero-home-grid,.grid-2,.contact-grid{grid-template-columns:1fr}
    .program-grid,.values-grid,.why-grid,.steps-grid{grid-template-columns:1fr 1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
    body{font-size:16px}
    .top-links{display:none}
    .brand img{width:60px;height:60px}
    .brand-text span{max-width:205px}
    .nav-wrap{min-height:78px}
    .main-nav{top:78px}
    .hero-home,.page-hero{padding:62px 0}
    .hero-home h1{font-size:46px}
    .hero-logo{padding:20px}
    .section{padding:62px 0}
    .program-grid,.values-grid,.why-grid,.steps-grid,.stats-grid,.form-row,.footer-grid{grid-template-columns:1fr}
    .cta-grid,.footer-bottom{display:block}
    .cta-grid .btn{margin-top:20px}
    .page-hero p,.hero-home p,p{text-align:left}
}

/* IUCSO V5.1 - Tipografia general Courier New */
html, body, body *, button, input, select, textarea {
    font-family: "Courier New", Courier, monospace !important;
}
