.site-utilities{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:.875rem}.site-utilities a{text-decoration:underline;text-underline-offset:4px}
.site-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.site-map .map-group{padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.map-group h2{font-size:1.4rem;color:var(--navy);margin:0 0 18px}.map-group ul{padding-left:20px;margin:0}.map-group li+li{margin-top:12px}.map-group a{text-decoration:underline;text-underline-offset:3px}
.site-map-links{margin:0 0 28px}.site-map-links a,.site-map-heading a{text-decoration:underline;text-underline-offset:3px}.site-map-heading{margin:48px 0 24px;color:var(--navy);font-size:1.75rem}
@media(max-width:1200px){.nav .links{display:none}.nav .menu{display:block}.nav{gap:12px}}
@media(max-width:620px){.site-map{grid-template-columns:1fr}.nav .brand-logo{width:clamp(150px,60vw,225px)}}
.card-cta{display:block;margin-top:20px;font-size:.875rem;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:4px;color:var(--navy)}
.school .card-cta{color:var(--gold-2)}
.org-link .card-cta{color:#fff;font-weight:700;margin-top:16px}
.faculty-card-body .card-cta{margin-top:0}

.faculty-addition .section-head{grid-template-columns:1fr;gap:0;margin-bottom:28px}.faculty-addition .section-head h2{max-width:none}

/* Stable image sizing and flexible content across viewport sizes. */
img{max-width:100%;height:auto}
.hero-mark img{height:100%}
.wrap>*{min-width:0}
.cards>*,.faculty-grid>*,.institution-grid>*,.org-links>*,.foot>*,.legal>*{min-width:0}
h1,h2,h3,.legal,.program-list{overflow-wrap:anywhere}
.institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.institution-grid .school,.institution-grid .institute{grid-column:auto}
.nav .menu{min-width:44px;min-height:44px;flex-shrink:0;cursor:pointer}
html{scroll-padding-top:100px}
@media(max-width:1200px){
 .nav .links.is-open{display:flex;position:absolute;top:100%;left:14px;right:14px;background:#fff;padding:16px;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 20px 40px rgba(0,38,70,.18);border-radius:10px;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}
 .nav .links a{display:flex;align-items:center;min-height:44px;white-space:normal;padding:8px}
}
@media(max-width:900px){.purpose-grid{grid-template-columns:1fr}.actions{flex-wrap:wrap}.btn{white-space:normal;text-align:center}}
@media(max-width:620px){
 .institution-grid{grid-template-columns:1fr}
 .hero h1,.page-hero h1{font-size:clamp(1.9rem,8vw,2.8rem);line-height:1.12}
 .section-head h2{font-size:clamp(1.65rem,7vw,2.2rem)}
 .nav .brand{min-width:0}.nav .brand-logo{max-width:100%}
}
@media(hover:none){.school:hover,.institute:hover,.faculty-photo-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Search remains accessible beside the navigation on every screen. */
.site-search-link{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;flex-shrink:0;color:var(--navy);border-radius:8px}
.site-search-link:hover{background:var(--paper)}
.nav>.links{margin-left:auto}
.nav>a:first-child{min-width:0;flex-shrink:1}
.search-page{min-height:60vh}.search-page .crumb{color:var(--muted)}.search-page .crumb a{color:var(--navy);text-decoration:underline}
.search-page h1{font-size:clamp(2rem,5vw,3.2rem);color:var(--navy);line-height:1.15;margin:0 0 32px}
#site-search{max-width:800px}#site-search label{display:block;font-weight:700;margin-bottom:12px;color:var(--navy)}
.search-controls{display:flex;gap:12px}.search-controls input{width:100%;min-width:0;min-height:50px;padding:12px 16px;font:inherit;border:1px solid #8da2b3;border-radius:8px;background:#fff;color:var(--ink)}
.search-controls button{min-height:50px;padding:12px 24px;font:inherit;font-weight:700;background:var(--navy);color:white;border:0;border-radius:8px;cursor:pointer}
.search-controls input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
#search-status{margin:26px 0;color:var(--muted);overflow-wrap:anywhere}
.search-result{max-width:900px;border-top:1px solid var(--line);padding:24px 0}.search-result h2{font-size:1.25rem;line-height:1.4;margin:0 0 10px;color:var(--navy)}.search-result h2 a{text-decoration:underline;text-underline-offset:4px}.search-result p{margin:0;overflow-wrap:anywhere}
@media(max-width:1200px){.nav>a:first-child{margin-right:auto}.nav .brand-logo{max-width:100%}}
@media(max-width:620px){.nav>a:first-child{flex:1}.nav .brand-logo{width:225px}.search-controls{flex-direction:column}.search-controls button{align-self:flex-start}}

/* Natural photography stays unfiltered; a neutral shade supports the text. */
.photo-hero{isolation:isolate;background:#26343e}
.page-hero-image{position:absolute;inset:0;z-index:0}
.page-hero-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.photo-hero:after{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}
.photo-hero>.wrap{position:relative;z-index:2}
.photo-hero h1{max-width:min(880px,72%);color:#fff}
.photo-hero p{max-width:min(760px,68%);color:#fff}
.photo-hero .crumb{color:#f1f3f5}
.photo-hero .crumb a,.photo-hero .eyebrow{color:#ffe09a}
.statute-source{margin:28px 0 0;font-size:.875rem}
.statute-source a{text-decoration:underline;text-underline-offset:3px}
.faculty-council details{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-weight:400}
.faculty-council summary{font-weight:700;cursor:pointer;font-size:.9375rem}
.faculty-council summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.faculty-council details p{font-size:.9375rem;color:var(--muted)}
.program-list .faculty-council ul{display:block;list-style:disc;padding-left:20px;margin:16px 0 0}
.program-list .faculty-council ul li{padding:0;border:0;background:none;border-radius:0;font-size:.9375rem;font-weight:400;margin:0 0 10px;color:var(--ink)}
@media(max-width:900px){
 header{background:#fff;backdrop-filter:none}
 .page-hero-image img{object-position:65% center}
 .photo-hero h1,.photo-hero p{max-width:100%}
 .photo-hero:after{background:linear-gradient(90deg,rgba(10,17,23,.86),rgba(10,17,23,.7))}
}
.program-list .faculty-council .council-seats{display:block;list-style:decimal;padding-left:24px;margin:16px 0 0}
.program-list .faculty-council .council-seats li{padding:0 0 0 4px;border:0;background:none;border-radius:0;font-size:.9375rem;font-weight:400;margin:0 0 12px;color:var(--ink)}
.council-seats a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* Shared footer: monochrome social and license marks on the institutional blue. */
footer .footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
footer .footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;border:1px solid #476178;border-radius:7px;background:transparent;transition:background-color .15s,border-color .15s}
footer .footer-social a:hover{background:#163e5c;border-color:#cda44b}
footer .footer-social img{display:block;width:20px;height:20px;object-fit:contain}
footer a:focus-visible{outline:2px solid #e9c46a;outline-offset:4px}
footer .legal{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start;font-size:.875rem;line-height:1.65;color:#b8cbd9}
footer .cc-symbols{display:flex;gap:9px;width:max-content;margin-bottom:14px}
footer .cc-symbols img{display:block;width:27px;height:27px}
footer .footer-license>span>a{text-decoration:underline;text-underline-offset:3px}
footer .association-contact strong{display:block;color:#fff;font-weight:700;margin-bottom:0}
footer .association-contact address{font-style:normal;margin:0 0 12px}
footer .association-contact>a{display:block;width:fit-content;color:#d7e5ef;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
@media(max-width:620px){footer .legal{grid-template-columns:minmax(0,1fr);gap:28px}}

footer .association-contact{text-align:right}
footer .association-contact>a{margin-left:auto}

/* One shared grid aligns social links and site utilities beneath their columns. */
footer .foot{grid-template-areas:"brand institutional organization" "social utilities .";column-gap:48px;row-gap:24px;align-items:start}
footer .footer-brand{grid-area:brand}footer .footer-institutional{grid-area:institutional}footer .footer-organization{grid-area:organization}
footer .foot .footer-social{grid-area:social;align-self:center;margin:0}
footer .foot .site-utilities{grid-area:utilities;align-self:center;display:flex;gap:10px 18px;margin:0;padding:0;border:0;align-items:center;min-height:40px}
footer .foot .site-utilities a{margin:0;font-size:.875rem}
@media(max-width:900px){footer .foot{grid-template-columns:1fr 1fr;grid-template-areas:"brand brand" "institutional organization" "social utilities";column-gap:28px}}
@media(max-width:620px){footer .foot{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "institutional" "utilities" "organization" "social";row-gap:24px}}

.program-list .degree-with-orientations details{margin-top:14px;font-weight:400}
.program-list .degree-with-orientations summary{cursor:pointer;color:var(--navy);font-size:.875rem}
.program-list .degree-with-orientations ul{display:block;padding-left:18px;margin:12px 0 0}
.program-list .degree-with-orientations ul li{display:list-item;padding:0;border:0;background:none;margin:0 0 8px;font-size:.875rem;font-weight:400;border-radius:0}

.statute-source,.statute-source a{font-size:.6875rem;line-height:1.4}
.statute-source{text-align:right}

/* Match the Asociación Civil submenu: highlights fill only their own link box. */
.nav .links{gap:6px;font-size:.875rem;font-weight:700}
.nav .links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;padding:9px 13px;border-radius:7px;font-size:.875rem;font-weight:700;color:#486277;background:transparent;transition:background-color .2s ease,color .2s ease}
.nav .links a:hover,.nav .links a:focus-visible{background:#003a63;color:#fff}
.nav .links a:focus-visible{outline:2px solid #d9a21b;outline-offset:2px}
.subnav a{transition:background-color .2s ease,color .2s ease}
.subnav a:hover,.subnav a:focus-visible{background:#003a63;color:#fff}
.subnav a:focus-visible{outline:2px solid #d9a21b;outline-offset:2px}

/* The selected item matches the existing Asociación Civil submenu state. */
.nav .links a[aria-current="page"]{background:var(--paper);color:var(--navy)}
.nav .links a[aria-current="page"]:hover,.nav .links a[aria-current="page"]:focus-visible{background:#003a63;color:#fff}
.subnav a[aria-current="page"]{background:var(--paper);color:var(--navy);font-weight:700}
.subnav a[aria-current="page"]:hover,.subnav a[aria-current="page"]:focus-visible{background:#003a63;color:#fff}

/* UPYME Virtual shortcuts sit at the far end of its submenu. */
.virtual-subnav .virtual-shortcuts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto}
.virtual-subnav .virtual-shortcuts a{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #003a63;background:#e7eef4;color:#003a63}
.virtual-subnav .virtual-shortcuts a:hover,.virtual-subnav .virtual-shortcuts a:focus-visible{background:#003a63;border-color:#003a63;color:#fff}
.virtual-subnav .virtual-shortcuts a[aria-current="page"]{background:var(--paper);border-color:var(--line);color:var(--navy)}
.virtual-subnav .virtual-shortcuts a[aria-current="page"]:hover,.virtual-subnav .virtual-shortcuts a[aria-current="page"]:focus-visible{background:#003a63;border-color:#003a63;color:#fff}

@media(max-width:300px){footer .foot .footer-social{flex-wrap:wrap!important;width:100%}}

/* Official UPYME logo: preserve its approved colors on the dark footer. */
footer .footer-logo{background:transparent;border-radius:0;filter:none}

/* Institutional project: direct PDF download in the upper bar. */
.top .institutional-project{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:5px 0;flex-wrap:wrap}
.top .institutional-project .project-label{display:inline;color:var(--gold-2);font-weight:600}
.top .project-download{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid rgba(217,231,242,.55);border-radius:3px;color:#fff;text-decoration:none;letter-spacing:normal;font-size:.72rem;line-height:1.4;white-space:nowrap}
.top .project-download span{display:inline;color:inherit;font-weight:400}
.top .project-download small{font-size:inherit}
.top .project-download:hover,.top .project-download:focus-visible{background:#fff;color:#003a63;border-color:#fff}
.top .project-download:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
@media(max-width:620px){.top .institutional-project{justify-content:center;gap:8px}.top .project-download{min-height:32px}}

/* Negative footer wordmark; retain the approved seal and its gold. */
footer .footer-logo{position:relative;background:transparent;filter:none}
footer .footer-logo img{display:block;width:100%;height:auto}

/* Identidad Visual UPYME v1.0: logos originales, sin filtros. */
.unit-hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;max-width:min(820px,72%);letter-spacing:-.035em}
.unit-brand{display:flex;align-items:center;min-width:0}
.unit-brand img{display:block;width:min(100%,440px);height:auto;object-fit:contain}
@media(max-width:900px){.unit-brand{padding-top:16px}.unit-brand img{width:min(100%,360px)}}
@media(max-width:620px){.unit-hero h1{max-width:100%;font-size:clamp(1.85rem,7vw,2.5rem)}.unit-brand img{width:min(100%,320px)}}

/* Six unit logos: center at two thirds of the content width. */
.unit-introduction{grid-template-columns:1fr 2fr;gap:0}
.unit-introduction>div:first-child{padding-right:28px}
.unit-introduction .unit-brand{justify-content:center;padding-left:28px;padding-right:28px}
@media(max-width:900px){.unit-introduction{grid-template-columns:1fr;gap:10px}.unit-introduction>div:first-child{padding-right:0}.unit-introduction .unit-brand{padding:16px 0 0;justify-content:center}}

/* Six unit logos: center at two thirds of the content width. */
.unit-introduction{grid-template-columns:1fr 2fr;gap:0}
.unit-introduction>div:first-child{padding-right:28px}
.unit-introduction .unit-brand{justify-content:center;padding-left:28px;padding-right:28px}
@media(max-width:900px){.unit-introduction{grid-template-columns:1fr;gap:10px}.unit-introduction>div:first-child{padding-right:0}.unit-introduction .unit-brand{padding:16px 0 0;justify-content:center}}

/* IV consolidada: altura visible uniforme, incluido EmprendePYME. */
.unit-introduction .unit-brand{min-height:120px}
.unit-introduction .unit-brand img{width:auto;height:100px;max-width:100%;object-fit:contain}
@media(max-width:620px){.unit-introduction .unit-brand{min-height:90px}.unit-introduction .unit-brand img{height:clamp(40px,10vw,65px);max-width:100%}}

/* Logos in the existing gap above the card heading; no text layout changes. */
.unit-logo-card{position:relative}
.card-unit-logo{position:absolute;right:var(--card-logo-right,28px);top:var(--card-logo-top,40px);width:var(--card-logo-width,125px);height:var(--card-logo-height,24px);object-fit:contain;object-position:right center;transform:translateY(-50%);pointer-events:none;visibility:hidden}
.card-unit-logo.is-positioned{visibility:visible}

/* Reduce only the logos on the four individual institute pages by 10%. */



/* Ecosystem: the logo replaces the acronym heading at its existing size. */
.institution-grid .ecosystem-logo-heading .ecosystem-unit-logo{display:block;position:static;width:min(245px,87.5%);height:42px;object-fit:contain;object-position:left center;transform:none;visibility:visible}

/* Institutional card logos start on the same top line as their number. */
.institutional-logo-top .card-unit-logo{transform:none;object-position:right top}
.institutional-logo-top .institute-symbol-row{display:flex;justify-content:flex-end;align-items:flex-start;gap:10px;width:auto;height:var(--card-logo-height,24px)}
.institute-symbol-row img{display:block;width:auto;height:100%;max-width:24px;object-fit:contain}

/* Institute card brands replace the former acronym labels in normal flow. */
.institute-photo-card .institute-logo-heading{display:block}
.institute-photo-card .institute-heading-logo{display:block;position:static;width:min(245px,87.5%);height:42px;object-fit:contain;object-position:left center;transform:none;visibility:visible}

/* Reference: EmprendePYME ends at the right content margin; all six share its center. */
@media(min-width:901px){
 .unit-introduction{container-type:inline-size;grid-template-columns:1fr 2fr;gap:0}
 .unit-introduction>div:first-child{max-width:100%;padding-right:28px}
 .unit-introduction .unit-brand{
  --unit-logo-height:min(100px,9.9040139616cqw);
  --unit-reference-width:calc(var(--unit-logo-height) * 6.731277533);
  padding-left:0;padding-right:0;justify-content:flex-start;transform:none
 }
 .unit-introduction .unit-brand img{
  height:var(--unit-logo-height);width:auto;max-width:none;flex-shrink:0;
  margin-left:calc(100% - var(--unit-reference-width) / 2);transform:translateX(-50%)
 }
}

/* Extra heading space for all six unit pages; logo geometry remains unchanged. */
.unit-introduction>div:first-child h2{hyphens:none;word-break:normal;overflow-wrap:normal}
@media(min-width:901px){
 .unit-introduction>div:first-child{width:calc(100% + 80px);max-width:none}
}

/* Common section heading width: first theoretical column plus 80px. */
@media(min-width:901px){
 .section-head:not(.unit-introduction){grid-template-columns:calc(33.333333% + 80px) minmax(0,1fr);gap:40px}
 .section-head:not(.unit-introduction)>div:first-child{width:100%;max-width:none}
}
