:root{--navy:#003a63;--navy-2:#00243d;--blue:#0b5b8c;--gold:#d9a21b;--gold-2:#f0c75e;--paper:#f5f8fb;--white:#fff;--ink:#253746;--muted:#5d6d7d;--line:#d8e2ea;--shadow:0 18px 44px rgba(0,36,61,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.65}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.top{background:var(--navy-2);color:#d9e7f2;font-size:.78rem;letter-spacing:.05em}.top .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px}.top span:last-child{color:var(--gold-2);font-weight:600}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,54,99,.12)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-logo{display:block;width:clamp(235px,26vw,340px);height:auto}.links{display:flex;align-items:center;gap:22px;font-size:.86rem;font-weight:600;color:#28445b}.links a:hover,.links a[aria-current="page"]{color:var(--blue)}.nav-cta{padding:11px 16px;background:var(--navy);color:#fff!important;border-radius:8px}.menu{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy)}
.page-hero{background:linear-gradient(118deg,var(--navy-2),var(--navy) 66%,#07588b);color:#fff;padding:72px 0 76px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-100px;top:-210px;width:480px;height:480px;border:1px solid rgba(240,199,94,.24);border-radius:50%;box-shadow:0 0 0 62px rgba(255,255,255,.025)}.crumb{position:relative;color:#bcd1e0;font-size:.82rem;margin-bottom:22px}.crumb a{color:var(--gold-2)}.eyebrow{position:relative;color:var(--gold-2);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800}.page-hero h1{position:relative;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.045em;margin:14px 0 20px;max-width:880px}.page-hero p{position:relative;font-size:1.08rem;color:#d8e7f2;max-width:760px;margin:0}
main section{padding:76px 0}.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;margin-bottom:42px}.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800}.section-head h2{color:var(--navy);font-size:clamp(1.8rem,3vw,3rem);line-height:1.12;letter-spacing:-.035em;margin:10px 0}.section-head p{color:var(--muted);margin:7px 0 0;font-size:1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{display:block;padding:28px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(0,58,99,.045)}a.card{transition:.2s ease}a.card:hover{transform:translateY(-3px);border-color:#aac0d0;box-shadow:var(--shadow)}.card .number{display:block;color:var(--gold);font-weight:800;font-size:.75rem;letter-spacing:.12em;margin-bottom:24px}.card h2,.card h3{color:var(--navy);line-height:1.24;margin:0 0 10px;font-size:1.18rem}.card p{color:var(--muted);font-size:.9rem;margin:0}.card ul{padding-left:18px;margin:16px 0 0;color:var(--muted);font-size:.9rem}.card li+li{margin-top:7px}
.tint{background:var(--paper)}.wide{grid-column:span 2}.structure{display:grid;grid-template-columns:1fr 1fr;gap:18px}.unit{border-left:4px solid var(--gold);background:white;border-radius:0 12px 12px 0;padding:26px 28px;box-shadow:0 8px 22px rgba(0,58,99,.05)}.unit h2,.unit h3{color:var(--navy);margin:0 0 12px;line-height:1.3}.unit ul{margin:0;padding-left:19px;color:var(--muted)}.unit li+li{margin-top:8px}.vice-card{padding:28px 22px}.vice-card>h2{min-height:3em;margin-bottom:20px}.vice-components{display:grid;gap:10px}.component{border-left:4px solid var(--gold);background:var(--paper);border-radius:0 9px 9px 0;padding:15px 16px}.component h3{font-size:.86rem;line-height:1.35;margin:0;color:var(--navy)}.component p{font-size:.76rem;line-height:1.4;margin:5px 0 0;color:var(--muted)}.members{display:grid;grid-template-columns:1fr 1fr;gap:12px}.member{padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:white;font-weight:600;color:var(--navy)}.departments{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:dept}.department{counter-increment:dept;padding:21px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--navy);font-weight:650}.department:before{content:counter(dept,decimal-leading-zero);display:block;color:var(--gold);font-size:.72rem;letter-spacing:.1em;margin-bottom:12px}
.subnav{background:#fff;border-bottom:1px solid var(--line)}.subnav .wrap{display:flex;gap:6px;overflow:auto;padding-top:10px;padding-bottom:10px}.subnav a{white-space:nowrap;padding:9px 13px;border-radius:7px;font-size:.78rem;font-weight:700;color:#486277}.subnav a:hover,.subnav a[aria-current="page"]{background:var(--paper);color:var(--navy)}
footer{background:#001f38;color:#c3d4e1;padding:52px 0 28px}.foot{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:48px}.footer-logo{display:block;width:min(100%,320px);height:auto}.foot p{font-size:.84rem;max-width:430px}.foot h4{font-size:.79rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:0 0 14px}.foot a{display:block;font-size:.83rem;margin:8px 0}.legal{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;font-size:.74rem;color:#89a1b4;display:flex;justify-content:space-between;gap:20px}
@media(max-width:900px){.links{display:none}.menu{display:block}.section-head{grid-template-columns:1fr;gap:10px}.cards,.departments{grid-template-columns:1fr 1fr}.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:span 2}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1180px)}.top span:first-child{display:none}.top .wrap{justify-content:center}.brand-logo{width:225px}.nav{min-height:72px}.page-hero{padding:54px 0 58px}main section{padding:58px 0}.cards,.structure,.members,.departments,.foot{grid-template-columns:1fr}.wide,.foot>div:first-child{grid-column:auto}.legal{flex-direction:column}}
.card p,.card ul,.component h3{font-size:1rem;line-height:1.6}
.component p,.subnav a,.links,.foot a{font-size:.875rem;line-height:1.5}
.card .number,.kicker{font-size:.875rem;color:#886000}
.component{padding:18px 16px}
.card h2,.card h3{overflow-wrap:break-word}
.editorial-image{margin:0 0 42px}
.institute-photo{margin:0 0 24px}
.institute-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px}
.institute-photo figcaption{font-size:.8125rem;color:var(--muted);margin-top:6px}
.editorial-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:14px}
.editorial-image figcaption{font-size:.8125rem;color:var(--muted);margin-top:8px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:620px){.editorial-image img{aspect-ratio:1.5}.editorial-image{margin-bottom:30px}.page-hero h1{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.legal a[rel="license"]{color:#f0c75e;text-decoration:underline;text-underline-offset:3px}.legal>span:first-child{max-width:720px}

.unit details{border-top:1px solid var(--line);padding-top:14px}.unit summary,.statute-reader summary{cursor:pointer;color:var(--navy);font-weight:700}.unit a{text-decoration:underline;text-underline-offset:3px}.statute-reader{margin-top:32px;padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.statute-reader p{overflow-wrap:anywhere}.unit summary:focus-visible,.statute-reader summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* Navegación de las áreas académicas e institucionales. */
.institute-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
.institute-lines-title{color:var(--navy);font-size:1.125rem;margin:0 0 22px}
.institute-link{display:block;margin-top:22px;color:var(--navy);font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:620px){.institute-directory{grid-template-columns:1fr}}
.links{gap:18px;font-size:.875rem}.links a{white-space:nowrap}
@media(min-width:901px) and (max-width:1100px){.nav{gap:16px}.brand-logo{width:235px}.links{gap:12px}.links a{white-space:normal}}
.subnav .wrap{flex-wrap:wrap;overflow:visible}.subnav a{white-space:normal}
.faculty-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.faculty-unit h2{font-size:1.5rem;line-height:1.3}.faculty-unit h3{font-size:1rem;margin-top:24px}
.faculty-unit,.institute-photo-card[id]{scroll-margin-top:110px}
.page-hero:after{pointer-events:none}
@media(max-width:620px){.faculty-directory{grid-template-columns:1fr}.subnav a{padding:9px 10px}}

.faculty-photo-card{display:block;min-width:0;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 8px 24px rgba(0,58,99,.045);transition:transform .2s ease,box-shadow .2s ease}
.faculty-photo-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,36,61,.1)}
.faculty-photo-card figure{margin:0}.faculty-photo-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.faculty-photo-card figcaption{font-size:.8125rem;color:var(--muted);padding:6px 26px 0}
.faculty-card-body{padding:22px 26px 28px}.faculty-card-body h2,.faculty-card-body h3{font-size:1.4rem;line-height:1.3;color:var(--navy);margin:0 0 14px}
.faculty-card-body p{font-size:1rem;color:var(--muted);margin:0 0 20px}.faculty-card-body span{color:var(--navy);font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.program-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.program-list li{padding:22px 24px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;background:#fff;color:var(--navy);font-weight:600;font-size:1rem;line-height:1.5}
.postgraduate-programs>section{padding:0;scroll-margin-top:110px}.postgraduate-programs>section+section{margin-top:48px}.postgraduate-programs h2{color:var(--navy);font-size:1.75rem;margin:0 0 24px}
@media(max-width:620px){.program-list{grid-template-columns:1fr}.faculty-card-body{padding:20px}.faculty-card-body h2,.faculty-card-body h3{font-size:1.25rem}}

.department strong{display:block;color:var(--navy);font-size:1rem;line-height:1.45}
.department p{margin:10px 0 0;color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.5}
.institute-training-note{margin:18px 0 0 auto;color:var(--muted);font-size:.6875rem;line-height:1.45;text-align:right}
