/* Refinamiento editorial: identidad de la versión 14 preservada. */
.hero{padding:0;isolation:isolate}
.hero-background{position:absolute;inset:0;z-index:0}
.hero-background img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.hero:before{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,rgba(10,17,23,.83) 0%,rgba(10,17,23,.78) 40%,rgba(10,17,23,.3) 60%,rgba(10,17,23,0) 75%);z-index:1;pointer-events:none}
.hero-grid{min-height:526px;gap:40px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch}
.hero-grid>div:first-child{align-self:center;padding:48px 0}
.hero-grid{z-index:2}
.hero h1,.hero p{color:#fff}
.hero .eyebrow{color:#ffe09a}
.hero .eyebrow:before{background:#ffe09a}
.hero .btn.ghost{color:#fff;background:rgba(0,25,44,.6);border-color:rgba(255,255,255,.8)}
.hero .btn.ghost:hover{background:#003a63}
.hero-mark{position:relative;justify-self:start;align-self:stretch;width:calc(100% + max(20px,(100vw - 1180px)/2));max-width:none;height:auto;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none}
.hero-mark img{position:absolute;inset:0}
.hero-mark img{object-position:center}
.institution-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.institution-grid .school{grid-column:span 3}
.institution-grid .institute{grid-column:span 2}
.institution-grid .official-name{font-size:1rem;min-height:0;line-height:1.5}
.institution-grid .institute .official-name{color:var(--navy)}
.institution-grid .school .official-name{color:#fff}
.school p,.institute p,.cycle p,.purpose p,.degree-list{font-size:1rem}
.tag,.kicker{font-size:.875rem;color:#886000}
.school .tag{color:#fff}
.school h3{color:var(--gold-2)}
.institute .tag{color:var(--navy)}
.institute h3,.cycle h3{color:#886000}
.cycles{gap:24px;position:relative}
.cycles:before{content:"";position:absolute;top:37px;left:24px;right:24px;height:2px;background:var(--gold)}
.cycle{overflow:visible;padding-top:24px}
.cycle:before{position:relative;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:white;margin-bottom:24px;z-index:1}
.cycle:after{border-radius:0 0 12px 12px}
.cycle-outcome{display:block;color:var(--navy);font-size:.875rem;margin:0 0 12px}
.links{gap:20px}
section[id]{scroll-margin-top:110px}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:1000px){.hero-grid{gap:28px}.brand-logo{max-width:280px}.links{gap:14px}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0;padding:0;gap:32px}.hero-mark{display:block;max-width:600px;aspect-ratio:2;justify-self:start}.hero-mark img{object-position:center 44%}.hero{padding:40px 0}.cycles:before{display:none}.institution-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.institution-grid .school{grid-column:span 3}.institution-grid .institute{grid-column:span 2;padding:22px}.institution-grid h3{font-size:1.25rem;overflow-wrap:anywhere}}
@media(max-width:620px){.hero{padding:32px 0}.hero-grid{padding:0}.hero-mark{aspect-ratio:1.8;max-height:240px}.hero h1{margin-top:16px}.hero p{margin-bottom:24px}.institution-grid{grid-template-columns:1fr}.institution-grid .school,.institution-grid .institute{grid-column:auto;padding:26px;min-height:0}.institution-grid h3{font-size:1.45rem;margin-top:18px}.cycles{grid-template-columns:1fr;border-left:2px solid var(--gold);padding-left:18px}.cycle:before{margin-left:-36px}.cycle{padding-left:24px}.actions .btn{font-size:.875rem}.brand-logo{max-width:225px}}
@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}

/* Navegación de las áreas académicas e institucionales. */
.institution-grid .institute{grid-column:span 3}
@media(max-width:620px){.institution-grid .institute{grid-column:auto}}
.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}}

.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}}

/* A continuous photograph behind the content at every screen width. */
@media(max-width:900px){
 .hero{padding:0}.hero-grid{gap:0;min-height:526px}
 .hero-grid>div:first-child{padding:40px 0}
 .hero-background img{object-position:65% center}
 .hero:before{background:linear-gradient(90deg,rgba(10,17,23,.86),rgba(10,17,23,.7))}
}
@media(max-width:620px){
 .hero-grid>div:first-child{padding:40px 0}
 .hero-background img{object-position:70% center}
}
