/* ===========================================================
   Preuniversitario Premilitar Gral. Baquedano
   Paleta basada en el escudo: azul marino, dorado, rojo, negro
   =========================================================== */

:root{
    --navy-950:#0a1428;
    --navy-900:#0d1b35;
    --navy-800:#1a2a4a;
    --navy-700:#26385e;
    --gold-700:#8a6a14;
    --gold-500:#d4af37;
    --gold-400:#e8c96a;
    --gold-100:#f8efd4;
    --gold-grad:linear-gradient(135deg,#f3dfa0 0%,#d4af37 45%,#a97e1f 100%);
    --red-700:#7a1f1f;
    --red-600:#8f2626;
    --cream:#f7f5f0;
    --ink:#1c1c1c;
    --gray-600:#5b6472;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:'Georgia', 'Times New Roman', serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
}
h1,h2,h3,h4{font-family:'Arial Black','Arial',sans-serif;letter-spacing:.3px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section-alt{background:#fff}

/* ---------- BOTONES ---------- */
.btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 28px;border-radius:4px;
    font-family:'Arial',sans-serif;font-weight:bold;font-size:14px;
    letter-spacing:.5px;text-transform:uppercase;
    cursor:pointer;border:2px solid transparent;transition:all .2s;
}
.btn-gold{background:var(--gold-grad);color:var(--navy-950)}
.btn-gold:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 6px 16px rgba(169,126,31,.4)}
.btn-outline{background:transparent;border-color:var(--gold-500);color:var(--gold-100)}
.btn-outline:hover{background:rgba(201,162,39,.12)}
.btn-red{background:var(--red-700);color:#fff}
.btn-red:hover{background:var(--red-600);transform:translateY(-2px)}

/* ---------- HEADER ---------- */
.site-header{
    background:var(--navy-950);
    border-bottom:3px solid var(--gold-500);
    position:sticky;top:0;z-index:100;
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{
    height:56px;width:56px;object-fit:cover;border-radius:50%;
    box-shadow:
        inset 0 3px 6px rgba(0,0,0,.6),
        inset 0 -2px 5px rgba(255,255,255,.08),
        0 0 0 2px rgba(6,13,28,.9),
        0 0 0 3px rgba(201,162,39,.55);
}
.brand-text{color:var(--gold-100);line-height:1.2}
.brand-text strong{display:block;font-size:15px;font-family:'Arial',sans-serif;letter-spacing:.5px;color:var(--gold-400)}
.brand-text span{display:block;font-size:11px;color:#c8cede;letter-spacing:1px}

.nav-links{display:flex;align-items:center;gap:26px;font-family:'Arial',sans-serif}
.nav-links a{
    font-size:13px;font-weight:bold;letter-spacing:.4px;text-transform:uppercase;
    color:#dfe3ec;padding:8px 0;border-bottom:2px solid transparent;transition:all .2s;
}
.nav-links a:hover{color:var(--gold-400);border-color:var(--gold-500)}
.icon-row{display:flex;align-items:center;gap:14px}
.icon-link{display:flex;align-items:center;color:#dfe3ec;opacity:.9;padding:8px 0}
.icon-link:hover{opacity:1;color:var(--gold-400)}
.nav-toggle{display:none;background:none;border:none;color:var(--gold-100);font-size:26px;cursor:pointer}

@media(max-width:860px){
    .nav-links{
        position:absolute;top:100%;left:0;right:0;
        background:var(--navy-900);flex-direction:column;gap:0;
        max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .nav-links.open{max-height:400px;border-top:1px solid var(--navy-700)}
    .nav-links a{width:100%;padding:14px 20px;border-bottom:1px solid var(--navy-800)}
    .icon-row{width:100%;justify-content:center;gap:28px;padding:14px 20px;border-bottom:1px solid var(--navy-800)}
    .icon-row .icon-link{width:auto;padding:0}
    .nav-toggle{display:block}
}

/* ---------- HERO ---------- */
.hero{
    position:relative;overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%,rgba(201,162,39,.10) 0%,transparent 45%),
        radial-gradient(circle at 85% 80%,rgba(122,31,31,.18) 0%,transparent 50%),
        linear-gradient(135deg,var(--navy-950) 0%,var(--navy-900) 55%,var(--navy-950) 100%);
    color:#fff;padding:76px 0 90px;
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;text-align:center}}

.hero-eyebrow{
    display:inline-block;font-family:'Arial',sans-serif;font-size:12px;font-weight:bold;
    letter-spacing:2px;text-transform:uppercase;color:var(--gold-400);
    border:1px solid var(--gold-500);padding:6px 14px;border-radius:20px;margin-bottom:18px;
}
.hero h1{font-size:44px;line-height:1.15;margin-bottom:18px;color:#fff}
.hero h1 em{font-style:normal;color:var(--gold-400)}
.hero p{font-size:16px;color:#c8cede;max-width:520px;margin-bottom:28px;font-family:'Arial',sans-serif}
@media(max-width:900px){.hero p{margin-left:auto;margin-right:auto}}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:900px){.hero-actions{justify-content:center}}
.hero-emblem{
    display:flex;align-items:center;justify-content:center;position:relative;
}
.hero-emblem::before{
    content:'';
    position:absolute;
    width:min(380px, 90%);
    aspect-ratio:1/1;
    border-radius:50%;
    background:radial-gradient(circle at 32% 28%, #1c2d52 0%, #0a1428 65%, #060d1c 100%);
    box-shadow:
        inset 0 12px 26px rgba(0,0,0,.75),
        inset 0 -8px 16px rgba(255,255,255,.05),
        inset 0 0 0 1px rgba(0,0,0,.6),
        0 0 0 3px rgba(201,162,39,.45);
}
.hero-emblem img{
    position:relative;
    max-width:290px;
    width:78%;
    border-radius:50%;
    box-shadow:
        inset 0 8px 16px rgba(0,0,0,.6),
        inset 0 -5px 12px rgba(255,255,255,.08),
        0 0 0 4px rgba(6,13,28,.9),
        0 0 0 7px rgba(201,162,39,.55),
        0 2px 4px rgba(0,0,0,.4);
}

/* ---------- PROXIMO EVENTO ---------- */
.proximo-evento{
    background:
        radial-gradient(circle at 85% 30%,rgba(212,175,55,.14) 0%,transparent 50%),
        linear-gradient(135deg,var(--navy-900) 0%,var(--navy-950) 100%);
    padding:40px 0;border-top:1px solid rgba(212,175,55,.35);border-bottom:1px solid rgba(212,175,55,.35);
}
.proximo-evento-head{margin-bottom:28px}
.proximo-evento-head h2{font-size:22px;color:#fff;margin:12px 0 0}
.proximo-evento-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:28px}
.proximo-evento-frame{width:260px}
.proximo-evento-frame img{aspect-ratio:auto}

/* ---------- STATS BAR ---------- */
.stats-bar{background:var(--gold-grad);padding:0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
@media(max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.stat-item{padding:26px 12px;border-right:1px solid rgba(10,20,40,.15)}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Arial Black',sans-serif;font-size:32px;color:var(--navy-950);line-height:1}
.stat-label{font-family:'Arial',sans-serif;font-size:12px;color:var(--navy-900);margin-top:6px;font-weight:bold;letter-spacing:.3px}

/* ---------- SECTION HEADINGS ---------- */
.section-head{text-align:center;max-width:640px;margin:0 auto 44px}
.section-eyebrow{
    font-family:'Arial',sans-serif;font-size:12px;font-weight:bold;letter-spacing:2px;
    text-transform:uppercase;color:var(--red-700);margin-bottom:10px;
}
.section-head h2{font-size:30px;color:var(--navy-950);margin-bottom:12px}
.section-head p{font-family:'Arial',sans-serif;color:var(--gray-600);font-size:15px}

/* ---------- DESTACADOS ---------- */
.destacados-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){.destacados-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.destacados-grid{grid-template-columns:1fr}}
.destacado-frame{
    position:relative;background:var(--navy-950);padding:10px;
    border:1px solid var(--gold-700);border-radius:2px;cursor:zoom-in;
    box-shadow:0 10px 24px rgba(13,27,53,.15);transition:transform .2s;
}
.destacado-frame:hover{transform:translateY(-4px)}
.destacado-frame::before{
    content:'';position:absolute;inset:5px;border:1px solid var(--gold-500);pointer-events:none;z-index:1;
}
.destacado-frame::after{
    content:'';position:absolute;inset:5px;pointer-events:none;z-index:2;
    background:
        linear-gradient(135deg,var(--gold-400) 0,var(--gold-400) 2px,transparent 2px) top left,
        linear-gradient(-135deg,var(--gold-400) 0,var(--gold-400) 2px,transparent 2px) top right,
        linear-gradient(45deg,var(--gold-400) 0,var(--gold-400) 2px,transparent 2px) bottom left,
        linear-gradient(-45deg,var(--gold-400) 0,var(--gold-400) 2px,transparent 2px) bottom right;
    background-repeat:no-repeat;background-size:14px 14px;
}
.destacado-frame img{
    display:block;width:100%;aspect-ratio:3/4;object-fit:contain;position:relative;
}

/* ---------- PROGRAMAS ---------- */
.programas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.programas-grid{grid-template-columns:1fr}}
.programa-card{
    background:#fff;border:1px solid #e7e2d5;border-top:4px solid var(--gold-500);
    border-radius:8px;padding:30px 26px;transition:all .2s;
}
.programa-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(13,27,53,.12)}
.programa-icon{font-size:34px;margin-bottom:14px}
.programa-card h3{font-size:19px;color:var(--navy-950);margin-bottom:10px}
.programa-card p{font-family:'Arial',sans-serif;font-size:13.5px;color:var(--gray-600);margin-bottom:16px}
.programa-list{list-style:none;font-family:'Arial',sans-serif;font-size:13px;color:var(--ink)}
.programa-list li{padding:5px 0;padding-left:22px;position:relative}
.programa-list li::before{content:'✓';position:absolute;left:0;color:var(--red-700);font-weight:bold}

/* ---------- CARTA DE BIENVENIDA ---------- */
.carta-marco{
    max-width:900px;margin:0 auto;background:#fff;
    border:3px solid var(--gold-500);border-radius:4px;
    outline:1px solid var(--gold-700);outline-offset:-8px;
    padding:40px 44px;box-shadow:0 10px 28px rgba(13,27,53,.08);
}
@media(max-width:600px){.carta-marco{padding:26px 20px}}
.carta-grid{display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:start}
@media(max-width:600px){.carta-grid{grid-template-columns:1fr;text-align:center}}
.carta-foto{
    width:180px;aspect-ratio:3/4;margin:0 auto;border-radius:6px;overflow:hidden;
    background:#e2e6ee;border:1px solid #d7dce6;
}
@media(max-width:600px){.carta-foto{width:150px;margin:0 auto}}
.carta-foto img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.carta-texto p{
    font-family:'EB Garamond','Georgia',serif;margin-bottom:19px;
    font-size:19px;line-height:1.75;color:var(--ink);
}
.carta-texto p:first-child{font-weight:600;font-size:20px}
.carta-texto p.carta-destacado{font-weight:600;font-style:italic;color:var(--navy-950);font-size:21px}
.carta-despedida{margin-top:30px;text-align:center}
.carta-despedida p{margin-bottom:4px;font-style:italic}
.carta-firma-nombre{
    font-family:'EB Garamond',serif;font-style:italic;font-weight:600;
    font-size:26px;color:var(--navy-950);margin-top:12px;letter-spacing:.3px;
}
.carta-firma-rol{font-family:'Arial',sans-serif;font-size:12.5px;font-style:normal;letter-spacing:.2px;color:var(--gray-600);line-height:1.6}

/* ---------- METODOLOGIA ---------- */
.metodologia{background:var(--navy-950);color:#fff;position:relative;overflow:hidden}
.metodologia::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(circle at 80% 20%,rgba(201,162,39,.10) 0%,transparent 50%);
}
.metodologia .section-head h2,.metodologia .section-head p{color:#fff}
.metodologia .section-head p{color:#c8cede}
.metodo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
@media(max-width:900px){.metodo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.metodo-grid{grid-template-columns:1fr}}
.metodo-item{
    background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.25);
    border-radius:8px;padding:24px 18px;text-align:center;
}
.metodo-num{
    width:40px;height:40px;border-radius:50%;background:var(--gold-grad);color:var(--navy-950);
    display:flex;align-items:center;justify-content:center;font-family:'Arial Black',sans-serif;
    font-size:16px;margin:0 auto 14px;
}
.metodo-item h4{font-size:14px;color:var(--gold-400);margin-bottom:8px;font-family:'Arial',sans-serif;letter-spacing:.3px}
.metodo-item p{font-size:12.5px;color:#c8cede;font-family:'Arial',sans-serif}

/* ---------- ESCUELAS DESTINO ---------- */
.escuelas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:900px){.escuelas-grid{grid-template-columns:repeat(2,1fr)}}
.escuela-card{
    background:var(--cream);border:1px solid #e7e2d5;border-radius:8px;
    padding:26px 16px;text-align:center;
}
.escuela-card .badge-ico{
    width:56px;height:56px;border-radius:50%;background:var(--navy-950);
    color:var(--gold-400);display:flex;align-items:center;justify-content:center;
    margin:0 auto 12px;border:2px solid var(--gold-500);
}
.escuela-card .badge-ico svg{width:26px;height:26px}
.escuela-card h4{font-size:14px;color:var(--navy-950);font-family:'Arial',sans-serif}

/* ---------- TESTIMONIOS ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr}}
.testi-card{
    background:#fff;border:1px solid #e7e2d5;border-radius:8px;padding:26px;
    font-family:'Arial',sans-serif;position:relative;
}
.testi-stars{color:var(--gold-500);margin-bottom:12px;font-size:14px}
.testi-card p{font-size:13.5px;color:var(--gray-600);margin-bottom:16px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:10px}
.testi-avatar{
    width:38px;height:38px;border-radius:50%;background:var(--navy-900);
    color:var(--gold-400);display:flex;align-items:center;justify-content:center;
    font-weight:bold;font-size:13px;
}
.testi-name{font-size:13px;font-weight:bold;color:var(--navy-950)}
.testi-role{font-size:11.5px;color:var(--gray-600)}

/* ---------- CTA FINAL ---------- */
.cta-final{
    background:linear-gradient(135deg,var(--red-700),var(--navy-950));
    color:#fff;text-align:center;padding:60px 20px;border-radius:0;
}
.cta-final h2{font-size:28px;margin-bottom:12px}
.cta-final p{font-family:'Arial',sans-serif;color:#e7e2d5;margin-bottom:26px;max-width:560px;margin-left:auto;margin-right:auto}

/* ---------- REQUISITOS POR RAMA (Acordeón) ---------- */
.rama-acc{display:flex;flex-direction:column;gap:12px}
.rama-item{
    background:#fff;border:1px solid #e7e2d5;border-left:4px solid var(--gold-500);
    border-radius:8px;overflow:hidden;
}
.rama-item summary{
    cursor:pointer;list-style:none;padding:18px 22px;
    font-family:'Arial',sans-serif;font-weight:bold;color:var(--navy-950);font-size:15px;
    display:flex;align-items:center;gap:12px;
}
.rama-item summary::-webkit-details-marker{display:none}
.rama-item summary::before{content:'+';color:var(--red-700);font-size:18px;font-weight:bold;width:16px}
.rama-item[open] summary::before{content:'−'}
.rama-item .rama-icon{display:inline-flex;flex-shrink:0;width:20px;height:20px;color:var(--gold-700)}
.rama-item .rama-icon svg{width:100%;height:100%}
.rama-body{
    padding:0 22px 20px 50px;font-family:'Arial',sans-serif;font-size:13.5px;color:var(--gray-600);
}
.rama-body ul{list-style:none}
.rama-body li{padding:5px 0;padding-left:20px;position:relative}
.rama-body li::before{content:'✓';position:absolute;left:0;color:var(--red-700);font-weight:bold}
.rama-body li strong{color:var(--ink)}

/* ---------- FORM (Contacto / Admisión) ---------- */
.form-card{
    background:#fff;border:1px solid #e7e2d5;border-radius:10px;
    padding:32px;box-shadow:0 10px 30px rgba(13,27,53,.06);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.form-group label{
    display:block;font-family:'Arial',sans-serif;font-size:12.5px;font-weight:bold;
    color:var(--navy-950);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px;
}
.form-group input,.form-group select,.form-group textarea{
    width:100%;padding:11px 14px;font-size:14px;font-family:'Arial',sans-serif;
    border:1.5px solid #d8d2c2;border-radius:6px;background:var(--cream);color:var(--ink);
    outline:none;transition:all .15s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
    border-color:var(--gold-500);background:#fff;box-shadow:0 0 0 3px rgba(201,162,39,.15);
}
.form-group textarea{resize:vertical;min-height:110px}
.form-msg{
    padding:12px 16px;border-radius:6px;font-family:'Arial',sans-serif;font-size:13px;
    margin-bottom:18px;font-weight:bold;
}
.form-msg.ok{background:#eaf7ea;color:#1e7d32;border:1px solid #b7e1b8}
.form-msg.error{background:#fdecec;color:var(--red-700);border:1px solid #f3b8b8}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--navy-950);color:#c8cede;padding:50px 0 20px;font-family:'Arial',sans-serif}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:34px}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr;text-align:center}}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
@media(max-width:760px){.footer-brand{justify-content:center}}
.footer-brand img{
    height:46px;width:46px;object-fit:cover;border-radius:50%;
    box-shadow:
        inset 0 3px 6px rgba(0,0,0,.6),
        inset 0 -2px 4px rgba(255,255,255,.08),
        0 0 0 2px rgba(6,13,28,.9),
        0 0 0 3px rgba(201,162,39,.55);
}
.footer-brand strong{color:var(--gold-400);font-size:14px;display:block}
.site-footer h5{color:#fff;font-size:13px;letter-spacing:.5px;margin-bottom:14px;text-transform:uppercase}
.footer-links{list-style:none;font-size:13px}
.footer-links li{margin-bottom:9px}
.footer-links a:hover{color:var(--gold-400)}
.footer-bottom{
    border-top:1px solid var(--navy-800);padding-top:18px;text-align:center;
    font-size:12px;color:#8a91a6;
}
.footer-bottom strong{color:var(--gold-400)}

/* ---------- PAGE HERO (páginas internas) ---------- */
.page-hero{
    background:linear-gradient(135deg,var(--navy-950),var(--navy-900));
    color:#fff;padding:56px 0;text-align:center;
}
.page-hero .section-eyebrow{color:var(--gold-400)}
.page-hero h1{font-size:32px;margin-bottom:10px}
.page-hero p{font-family:'Arial',sans-serif;color:#c8cede}

.breadcrumb{font-family:'Arial',sans-serif;font-size:12px;color:#9aa2b8;margin-top:10px}
.breadcrumb a{color:var(--gold-400)}

/* ---------- CONTACTO ---------- */
.contacto-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:36px}
@media(max-width:680px){.contacto-grid{grid-template-columns:1fr}}
