*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#edf1f4,#dce6ec);font-family:system-ui,sans-serif;color:#fff}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #f9c446;outline-offset:4px}.frame{position:relative;isolation:isolate;width:min(1360px,100%);min-height:clamp(620px,65vw,880px);overflow:clip;background:#06376a;border-radius:14px;box-shadow:0 22px 52px #1636553b}.art{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.top{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4.1%;min-width:0}
.top.is-stuck{background:rgba(7,42,82,.94);backdrop-filter:blur(10px)}
.top nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:transparent}
.top nav a{position:relative;display:block;font-size:.87rem;padding:9px 9px 10px;font-weight:650}
.top nav a:hover,.top nav a[aria-current="page"]{color:#ffdc71}
.top nav a[aria-current="page"]::after{content:"";position:absolute;inset:auto 9px 4px;height:2px;border-radius:4px;background:#ffca37}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 260px;min-width:0;margin-left:auto}
.login{display:inline-grid;place-items:center;flex:none;width:42px;height:42px;color:#fff;border-radius:50%}
.login:hover{color:#ffdc71}
.primary{display:inline-flex;align-items:center;gap:.55em;border-radius:999px;padding:12px 17px;font-weight:800;background:#ffbd26;color:#082c58}
#contenido,.inner-page [id]{scroll-margin-top:115px}
.hero{padding:clamp(110px,15vw,190px) 4.1% 110px;max-width:64%}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.73rem;font-weight:800}.hero .eyebrow{color:#ffdc85}.hero h1{font-size:clamp(2.6rem,5.7vw,5.15rem);line-height:.96;margin:20px 0;letter-spacing:-.04em;font-style:italic}.hero h1 em{display:block;color:#ffc332;font-family:Georgia,serif;font-weight:400;font-size:1.12em}.lead{max-width:34ch;font-size:clamp(.98rem,1.5vw,1.24rem);line-height:1.5;margin:22px 0 26px;color:#f2f8ff}.credit{position:absolute;bottom:24px;right:27px;font-size:.69rem;background:#fff3c8;color:#15315a;padding:6px 9px;border-radius:5px}.primary:hover{background:#ffd466}
@media(max-width:900px){.hero{max-width:76%;padding-top:100px}}
@media(max-width:600px){body{padding:10px}.frame{min-height:700px}.art{transform:translateX(-8%);width:116%;opacity:.66}.hero{max-width:98%;padding:100px 5% 130px}.lead{max-width:27ch}.credit{bottom:12px;right:11px;font-size:.59rem}}

.section-frame{background:#f4f8fc;color:#12345b}
.section-frame .top{background:#092f60;color:white}
.inner-page .wrap{max-width:1120px;width:90%;margin-inline:auto}
.inner-page h1,.inner-page h2,.inner-page h3{line-height:1.13}
.inner-page h2{font-size:clamp(1.4rem,3vw,2rem);margin-top:0}
.inner-page h3{margin:0 0 .5em}
.inner-page p{line-height:1.55}
.subhero{position:relative;isolation:isolate;padding:clamp(42px,7vw,96px) 0;background:#124473;color:#fff;overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#062a56 8%,#123f73ef 44%,#123f733b 80%)}
.subhero .photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.subhero .eyebrow{color:#ffd56f}
.subhero h1{font-size:clamp(2.15rem,5.5vw,4.4rem);letter-spacing:-.035em;margin:.25em 0}
.subhero p{max-width:40ch;margin:0;font-size:clamp(1rem,2vw,1.22rem)}
.subhero .caption{position:absolute;bottom:12px;right:4%;background:#092f60e8;padding:5px 9px;border-radius:6px;font-size:.7rem}
.crumb{padding:14px 0;background:#e5eef7;font-size:.88rem;color:#2c4a68}
.inner-page .content{padding:32px 0 40px}
.inner-page a:not(.cta){color:#0a4d79;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.inner-page .cta{display:inline-block;background:#ffbf30;color:#092f60;padding:.65em .95em;border-radius:.55em;font-weight:750}
.inner-page .cta:hover{background:#ffd466}
.inner-page .grid,.inner-page .split,.inner-page .info-grid,.inner-page .news-grid,.inner-page .campus-grid{display:grid;gap:15px;align-items:start}
.inner-page .grid,.inner-page .split{grid-template-columns:repeat(2,minmax(0,1fr))}
.inner-page .info-grid,.inner-page .news-grid,.inner-page .campus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.inner-page .split{grid-template-columns:2fr 1fr}
.inner-page .panel,.inner-page .aside,.inner-page .steps li,.inner-page .calendar-status,.inner-page .programs,.inner-page .campus-feature,.inner-page .news-item{padding:20px;background:#fff;border:1px solid #dce7f0;border-radius:14px}
.inner-page .steps{list-style:none;counter-reset:step;display:grid;gap:12px;padding:0;margin:0}
.inner-page .steps li{counter-increment:step;padding-left:58px;position:relative}
.inner-page .steps li::before{content:counter(step,decimal-leading-zero);position:absolute;top:20px;left:18px;color:#0e527e;font-weight:800}
.inner-page .aside,.inner-page .calendar-status{border-top:4px solid #ffbf30}
.inner-page .calendar-status,.inner-page .campus-feature{margin-bottom:20px}
.inner-page .programs{margin-top:16px}
.inner-page .campus-feature{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center}
.inner-page .campus-feature img{width:100%;max-height:185px;object-fit:cover;border-radius:9px}
.inner-page .panel summary{cursor:pointer;font-weight:750}
.inner-page .actions,.inner-page .filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inner-page .filters{margin-bottom:18px}
.inner-page .filter{font:inherit;cursor:pointer;padding:8px 12px;background:#fff;color:#12345b;border:1px solid #c4d6e6;border-radius:999px}
.inner-page .filter[aria-pressed="true"]{background:#123f73;color:#fff}
.inner-page .news-item{padding:0;overflow:hidden;height:100%}
.inner-page .news-item img{width:100%;height:146px;object-fit:cover}
.inner-page .news-item div{padding:16px}
.inner-page .news-item small{display:block;color:#80550a;font-weight:750;margin-bottom:6px}
.inner-page .image-attribution{font-size:.72rem;padding-bottom:18px}
@media(max-width:700px){
  .inner-page .grid,.inner-page .split,.inner-page .info-grid,.inner-page .news-grid,.inner-page .campus-grid,.inner-page .campus-feature{grid-template-columns:1fr}
  .subhero .caption{position:static;width:max-content;max-width:90%;margin:12px 5% 0}
}

.skip{position:absolute;top:12px;left:12px;z-index:5;background:#fff;color:#092f60;padding:8px 14px;border-radius:6px;transform:translateY(-160%)}
.skip:focus{transform:none}
@media(max-width:380px){.credit{max-width:95%;text-align:right}}

.site-search{display:flex;align-items:center;position:relative;width:min(100%,390px);min-width:0;padding:3px;background:#fff;border-radius:999px;box-shadow:0 0 0 1px #dde6ef}
.site-search input{width:100%;min-width:0;padding:4px 7px 4px 11px;border:0;border-radius:999px;font:inherit;font-size:.88rem;color:#092f60;background:white}
.site-search input::placeholder{color:#3d526a;opacity:1}
.site-search button{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:7px;border:0;border-radius:50%;background:#092f60;color:white;cursor:pointer}
.site-search button:hover{background:#165386}
.site-search :focus-visible{outline:2px solid #a86c00;outline-offset:2px}
.search-results{position:absolute;z-index:1;right:0;top:calc(100% + 8px);width:min(300px,80vw);padding:12px;border-radius:12px;background:#fff;color:#14385c;box-shadow:0 12px 26px #0c254b50}
.search-results p{margin:0 0 4px;font-size:.83rem}
.search-results ul{list-style:none;margin:0;padding:0}
.search-results a{display:block;padding:7px 4px;font-size:.88rem;border-radius:5px}
.search-results a:hover{background:#e5eef7}
.social-rail{position:absolute;z-index:2;right:0;top:50%;transform:translateY(-50%);display:grid;padding:4px 2px;border-radius:13px 0 0 13px;background:#092f60;color:white;box-shadow:0 5px 16px #092f6030}
.social-rail a{display:grid;place-items:center;width:39px;height:38px}
.social-rail a:hover,.social-rail a:focus-visible{color:#ffdc71}
.social-rail svg{width:18px;height:18px}
@media(max-width:720px){
 .top{flex-wrap:wrap}
 .top nav{width:100%}
 .header-actions{flex:1 0 100%}
}
@media(max-width:600px){
 .site-search{width:100%}
 .hero{padding-top:65px}
}

.institutional-strip{position:relative;z-index:3;background:#fff;padding-inline:clamp(4px,2vw,26px)}
.institutional-marks{display:block;max-width:1240px;margin-inline:auto}
.institutional-marks img{display:block;width:100%;height:auto}


.home-intro{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(480px,53vw,700px)}
.home-intro .hero{position:relative;z-index:1}
.merida-ride{position:absolute;inset:50% 1% auto auto;width:52%;height:auto;transform:translateY(-50%);overflow:visible;pointer-events:none}
.ride-cabin{--ride-start:-130px,25.3px;--ride-end:397px,-77.3px;filter:drop-shadow(5px 13px 12px #071c3480)}
@media(max-width:700px){
 .home-intro .hero{max-width:100%;padding:58px 5% clamp(188px,57vw,300px)}
 .merida-ride{inset:auto 0 0 auto;width:min(100%,480px);height:auto;transform:none}
}
@media(prefers-reduced-motion:no-preference){
 .home-intro[data-ride-motion] .ride-cabin{animation:ride-across 10s ease-in-out infinite alternate}
 .home-intro[data-ride-motion] .ride-cloud-back{animation:ride-drift 14s ease-in-out infinite alternate}
 .home-intro[data-ride-motion] .ride-cloud-front{animation:ride-drift 14s ease-in-out infinite alternate-reverse}
 .home-intro[data-ride-motion="paused"] .ride-cabin,
 .home-intro[data-ride-motion="paused"] .ride-cloud{animation-play-state:paused}
}
@keyframes ride-across{from{transform:translate(var(--ride-start))}to{transform:translate(var(--ride-end))}}
@keyframes ride-drift{from{transform:translateX(-17px)}to{transform:translateX(19px)}}
@media(max-width:700px){
 .ride-cabin{--ride-start:-118px,23px;--ride-end:370px,-72.1px}
}

.ride-controls{position:absolute;z-index:2;right:4.1%;bottom:14px;display:flex;align-items:center;gap:7px}
.ride-toggle{display:grid;place-items:center;min-height:36px;padding:0 10px;border:1px solid #e1eaf39c;border-radius:999px;background:#082c62e8;color:#fff;font:inherit;font-size:.78rem;cursor:pointer}
.ride-toggle[hidden]{display:none}
.ride-toggle:focus-visible{outline:3px solid #f9c446;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.ride-toggle{display:none}}

.hero-title-lead{display:block}

@media(prefers-reduced-motion:no-preference){
 .hero-title-lead{animation:title-arrive .65s ease-out backwards}
 #home-title em{animation:title-arrive .75s ease-out .16s backwards}
}

@media(prefers-reduced-motion:no-preference) and (forced-colors:none){
 @supports (background-clip:text) or (-webkit-background-clip:text){
  #home-title em{
   width:fit-content;
   max-width:100%;
   padding:.06em .09em .10em 0;
   margin-top:-.06em;
   margin-bottom:-.10em;
   color:transparent;
   background-color:#ffc332;
   background-image:linear-gradient(105deg,#ffc332 42%,#ffe6a0 50%,#ffc332 58%);
   background-size:235% 100%;
   background-position:100% center;
   -webkit-background-clip:text;
   background-clip:text;
   animation:title-arrive .75s ease-out .16s backwards,title-glow 1.35s ease-in-out .75s both;
  }
 }
}

@keyframes title-arrive{
 from{opacity:0;transform:translateY(.18em)}
 to{opacity:1;transform:translateY(0)}
}
@keyframes title-glow{
 from{background-position:100% center}
 to{background-position:0 center}
}

.home-scene{position:absolute;inset:0;pointer-events:none}
.home-scene .social-rail,.ride-controls{pointer-events:auto}
.home-panorama{display:none}
.subhero>.wrap{position:relative;z-index:1}
.inner-page .social-rail a{color:#fff;text-decoration:none}
.inner-page .social-rail a:hover,.inner-page .social-rail a:focus-visible{color:#ffdc71}
@media(max-width:720px){
 .top nav{flex-wrap:nowrap;justify-content:space-between;gap:2px}
 .top nav a{flex:none;white-space:nowrap;font-size:clamp(.625rem,3.1vw,.875rem);padding-inline:2px}
 .top nav a[aria-current="page"]::after{inset-inline:2px}
}
@media(max-width:700px){
 body{padding:0}
 .frame{border-radius:0}
 .frame:has(.home-intro){display:flex;flex-direction:column;min-height:100svh}
 #contenido:has(.home-intro){display:flex;flex:1;flex-direction:column}
 .home-intro{flex:1;min-height:0;background:linear-gradient(180deg,#082c62 36%,#075478 57%,#a3c1d1 84%,#b9d3e1)}
 .home-intro .art{display:none}
 .home-panorama{position:absolute;inset:auto 0 0;display:block;width:100%;height:auto;mask-image:linear-gradient(transparent,#000 27%)}
 .home-scene .social-rail,.subhero .social-rail{top:auto;bottom:10px;display:flex;transform:none;border-radius:12px}
 .home-scene .social-rail{left:10px;right:auto}
 .subhero .social-rail{right:10px}
 .social-rail a{width:34px;height:34px}
 .social-rail svg{width:16px;height:16px}
 .subhero{padding-bottom:62px}
 .ride-controls{right:10px;bottom:10px}
}
@media(max-width:360px){
 .top{padding-inline:6px}
 .top nav{gap:0}
 .top nav a{font-size:clamp(.5625rem,3.35vw,.75rem);padding-inline:1px}
}

@media (min-width:701px) and (hover:hover) and (pointer:fine){
 .frame{background-color:#063c78}
 .section-frame{background-color:#f4f8fc}
 .top.is-stuck,.section-frame .top{background-color:#052c63}
 .home-intro .art,.subhero .photo{filter:saturate(1.18) contrast(1.1)}
 .subhero::before{background:linear-gradient(100deg,#06295c 8%,#073a77e8 42%,#0d4d8c1f 80%)}
 .primary,.inner-page .cta{background-color:#ffc31d;color:#062552}
 .primary:hover,.inner-page .cta:hover{background-color:#ffdc55}
}

.access-dialog{position:fixed;width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:clamp(24px,5vw,38px);border:1px solid #d9e5ef;border-radius:22px;background:#fff;color:#102e53;box-shadow:0 24px 64px #071a3b60}
.access-dialog::backdrop{background:#061b39bd;backdrop-filter:blur(3px)}
.access-dialog h2{margin:0 0 22px;font-size:clamp(1.4rem,5vw,1.75rem);line-height:1.2;letter-spacing:-.025em}
.access-brand{margin:0 0 8px;color:#9c4800;font-size:.76rem;font-weight:800;letter-spacing:.18em}
.access-close{position:absolute;inset:12px 12px auto auto;width:36px;height:36px;border:0;border-radius:50%;background:#edf4fa;color:#102e53;font-size:1.4rem;line-height:1;cursor:pointer}
.access-form{display:grid;gap:8px}
.access-form label{font-size:.9rem;font-weight:650}
.access-form input:not([type=checkbox]){width:100%;min-width:0;padding:11px 12px;border:1px solid #9baec2;border-radius:10px;background:#f9fbfe;color:#102e53;font:inherit;font-size:1rem}
.access-password{display:flex;align-items:center;gap:6px}
.access-toggle{align-self:stretch;padding:0 9px;border:1px solid #9baec2;border-radius:10px;background:#edf4fa;color:#102e53;font:inherit;font-size:.81rem;font-weight:650;cursor:pointer}
.access-form .access-remember{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:.81rem;font-weight:500}
.access-remember input{width:16px;height:16px;margin:0;accent-color:#0b3c77}
.access-status,.access-error{margin:2px 0;font-size:.85rem;line-height:1.4}
.access-status:empty,.access-error:empty{margin:0;height:0}
.access-error{color:#a52d26}
.access-submit{padding:11px;border:0;border-radius:10px;background:#ffbf26;color:#102e53;font:inherit;font-weight:800;cursor:pointer}
.access-submit:disabled{opacity:.64;cursor:wait}
.access-direct{justify-self:center;margin-top:6px;color:#153e69;font-size:.82rem;text-decoration:underline;text-underline-offset:3px}
.access-dialog :focus-visible{outline:2px solid #145aaf;outline-offset:2px}
