:root {
    color-scheme: light;
    --unach-blue: #0b1844;
    --unach-blue-bright: #2a66b5;
    --unach-text-muted: #65728c;
    --unach-surface: #fff;
    --unach-surface-soft: #f4f8fd;
    --unach-surface-raised: #fff;
    --unach-border: #dfe7f2;
    --unach-focus: #2a66b5;
    --unach-shadow: rgba(11, 24, 68, .08);
    --unach-accent: #f86f8b;
    --unach-mid: #916aa0;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --unach-blue: #f2f6ff;
    --unach-blue-bright: #6785ae;
    --unach-text-muted: #b8c6dc;
    --unach-surface: #07102c;
    --unach-surface-soft: #0c1834;
    --unach-surface-raised: #142f5b;
    --unach-border: #36547f;
    --unach-focus: #8aace0;
    --unach-shadow: rgba(0, 0, 0, .32);
    --unach-accent: #ab506a;
    --unach-mid: #6d5078;
}

:root[data-theme="contrast"] {
    color-scheme: light;
    --unach-blue: #000;
    --unach-blue-bright: #14305e;
    --unach-text-muted: #111;
    --unach-surface: #fff;
    --unach-surface-soft: #fff;
    --unach-surface-raised: #fff;
    --unach-border: #000;
    --unach-focus: #14305e;
    --unach-shadow: transparent;
    --unach-accent: #ab506a;
    --unach-mid: #5173a2;
}

html { scroll-behavior: smooth; scroll-padding-top: 72px; }

body.unach-redesign {
    background-color: #f4f8fd;
    background-image:
        radial-gradient(ellipse at left top, rgba(114, 177, 255, .34), transparent 58%),
        radial-gradient(ellipse at right top, rgba(242, 158, 215, .38), transparent 58%),
        linear-gradient(180deg, rgba(247, 231, 247, .72), rgba(232, 240, 252, .46) 55%, rgba(244, 248, 253, 0));
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left 280px, right 280px, center 280px;
    background-size: 58% 720px, 58% 720px, 100% 720px;
    color: var(--unach-blue);
}

body.unach-redesign .legacy-hero { display: none; }

.systems-backdrop {
    position: relative;
    padding-bottom: 34px;
    background-color: var(--unach-surface-soft);
    background-image:
        linear-gradient(180deg, rgba(244, 248, 253, 0) 0%, rgba(244, 248, 253, .18) 30%, rgba(244, 248, 253, .78) 68%, #f4f8fd 100%),
        url("../images/banner.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.systems-backdrop::before {
    position: absolute;
    z-index: 3;
    top: 4.6vw;
    left: 14.5%;
    width: clamp(38px, 4.2vw, 72px);
    aspect-ratio: 1;
    background:
        linear-gradient(90deg, transparent 47%, rgba(255, 255, 255, .95) 50%, transparent 53%),
        linear-gradient(0deg, transparent 47%, rgba(255, 255, 255, .95) 50%, transparent 53%),
        radial-gradient(circle, #fff 0 5%, rgba(255, 255, 255, .9) 8%, rgba(255, 205, 235, .55) 25%, transparent 64%);
    border-radius: 50%;
    content: "";
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.15) rotate(0deg);
    animation: unach-plus-flash 1.35s .3s ease-out 1 both;
}

@keyframes unach-plus-flash {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(.15) rotate(0deg); }
    24% { opacity: 1; }
    48% { opacity: .95; transform: translate(-50%, -50%) scale(1) rotate(35deg); }
    72% { opacity: .45; }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(1.35) rotate(55deg); }
}

.unach-header {
    position: sticky;
    z-index: 1000;
    top: 0;
    background: #fff;
    border-bottom: 1px solid rgba(0, 40, 88, .06);
    box-shadow: 0 2px 12px rgba(0, 40, 88, .04);
}

.unach-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 62px;
}

.unach-brand { display: inline-flex; align-items: center; }
.unach-brand img { display: block; width: 180px; height: auto; }

.unach-nav {
    display: flex;
    align-items: center;
    gap: 34px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.unach-header-actions { display: flex; align-items: center; gap: 26px; }
.unach-theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: auto; min-width: 86px; height: 34px; padding: 0 11px; color: var(--unach-blue); background: var(--unach-surface-soft); border: 1px solid var(--unach-border); border-radius: 18px; font-size: 11px; font-weight: 600; line-height: 1; cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.unach-theme-toggle:hover { background: var(--unach-surface-raised); border-color: var(--unach-blue-bright); transform: translateY(-1px); }
.unach-theme-toggle:focus-visible { outline: 3px solid var(--unach-focus); outline-offset: 3px; }
.unach-theme-toggle em { font-size: 15px; }

.unach-nav a {
    position: relative;
    display: block;
    padding: 21px 0 18px;
    color: var(--unach-text-muted);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease;
}

.unach-nav a::after {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    height: 2px;
    background: var(--unach-blue-bright);
    content: "";
    opacity: 0;
    transform: scaleX(.5);
    transition: opacity .2s ease, transform .2s ease;
}

.unach-nav a:hover,
.unach-nav a:focus,
.unach-nav a[aria-current="page"] { color: var(--unach-blue); }

.unach-nav a:hover::after,
.unach-nav a:focus::after,
.unach-nav a[aria-current="page"]::after { opacity: 1; transform: scaleX(1); }



.unach-banner {
    position: relative;
    height: 350px;
    background: transparent;
    overflow: hidden;
}

.unach-banner::after { display: none; }
.unach-banner > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 80%, rgba(0, 0, 0, .72) 88%, rgba(0, 0, 0, .28) 95%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 80%, rgba(0, 0, 0, .72) 88%, rgba(0, 0, 0, .28) 95%, transparent 100%);
    opacity: 0;
}
.unach-banner-content { position: relative; z-index: 2; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; width: calc(100% - 180px); max-width: 1460px; height: 100%; margin: 0 auto; }
.unach-banner-copy { padding-left: 16px; }
.unach-plus-lockup { display: flex; align-items: center; height: 104px; margin-bottom: 3px; }
.unach-plus-symbol { color: #032d68; font-size: 104px; font-weight: 700; line-height: .75; letter-spacing: -.13em; }
.unach-plus-sign { position: relative; width: 47px; height: 47px; margin: -57px 23px 0 -3px; filter: drop-shadow(0 5px 8px rgba(22, 104, 206, .2)); transform: rotate(8deg); }
.unach-plus-sign::before, .unach-plus-sign::after { position: absolute; top: 19px; left: 0; width: 47px; height: 10px; background: linear-gradient(90deg, #006ee8, #55aaff 45%, #fb4d9d); border-radius: 8px; content: ""; }
.unach-plus-sign::after { transform: rotate(90deg); }
.unach-plus-message { padding-left: 22px; color: #173966; border-left: 2px solid #285ca7; font-size: 19px; font-style: italic; line-height: 1.02; }
.unach-plus-message strong { font-weight: 700; }
.unach-banner-copy h1 { margin: 5px 0 8px; color: #002858; font-size: 34px; font-weight: 700; letter-spacing: -.04em; }
.unach-banner-copy h1 span { margin-left: 2px; font-weight: 300; }
.unach-banner-copy p { margin: 0; color: #294b79; font-size: 14px; line-height: 1.4; }
.unach-banner-copy p strong { color: #002858; font-size: 15px; }
.unach-banner-values { display: flex; align-items: center; gap: 10px; margin-top: 19px; color: #286fd2; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.unach-banner-values span { width: 1px; height: 13px; background: #6f91c0; }
.unach-device-scene { position: relative; align-self: end; height: 325px; }
.unach-laptop { position: absolute; right: 100px; bottom: 18px; width: min(630px, 78%); height: 276px; padding: 12px 12px 24px; background: linear-gradient(145deg, #06162d, #1a355b); border: 2px solid #345078; border-radius: 14px 14px 7px 7px; box-shadow: 0 24px 32px rgba(26, 53, 91, .23); transform: perspective(900px) rotateY(-3deg) rotateX(1deg); }
.unach-laptop::after { position: absolute; right: -45px; bottom: -9px; left: -45px; height: 14px; background: linear-gradient(#b9c4d2, #63758b); border-radius: 2px 2px 12px 12px; content: ""; }
.unach-laptop-screen { height: 100%; padding: 16px 20px; background: linear-gradient(145deg, #fff, #eef7ff); border-radius: 5px; overflow: hidden; }
.unach-preview-top { display: flex; align-items: center; justify-content: space-between; color: #1b477e; font-size: 10px; font-style: italic; }
.unach-preview-top img { width: 102px; height: auto; }
.unach-preview-search { display: flex; align-items: center; gap: 7px; height: 27px; margin: 13px 0 15px; padding: 0 10px; color: #8c9bb1; background: #fff; border: 1px solid #dbe7f5; border-radius: 14px; font-size: 8px; }
.unach-preview-title { margin-bottom: 9px; color: #003574; font-size: 11px; font-weight: 700; }
.unach-preview-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.unach-preview-grid span { display: grid; gap: 7px; min-width: 0; padding: 10px 5px; color: #174677; background: #fff; border: 1px solid #e2eaf4; border-radius: 6px; font-size: 7px; font-weight: 600; text-align: center; }
.unach-preview-grid em { color: #1672e8; font-size: 18px; }
.unach-phone { position: absolute; right: 7px; bottom: 5px; display: flex; flex-direction: column; width: 112px; height: 235px; padding: 20px 9px 11px; background: linear-gradient(#eef8ff, #fff); border: 7px solid #09213f; border-radius: 20px; box-shadow: 0 20px 25px rgba(22, 47, 82, .24); transform: rotate(2deg); }
.unach-phone-speaker { position: absolute; top: 6px; left: 39px; width: 27px; height: 4px; background: #213650; border-radius: 5px; }
.unach-phone > img { width: 72px; height: auto; margin: 1px auto 14px; }
.unach-phone > strong { margin-bottom: 11px; color: #174677; font-size: 8px; line-height: 1.25; text-align: center; }
.unach-phone-search { display: grid; place-items: center; width: 100%; height: 22px; margin-bottom: 8px; color: #fff; background: #1375e8; border-radius: 6px; font-size: 9px; }
.unach-phone-item { display: flex; align-items: center; gap: 6px; padding: 7px 3px; color: #244d7d; border-bottom: 1px solid #e0e8f2; font-size: 7px; font-weight: 600; }
.unach-phone-item em { color: #1375e8; font-size: 10px; }
.unach-banner-orbit { position: absolute; border: 1px solid rgba(255, 255, 255, .72); border-radius: 50%; }
.unach-banner-orbit::before, .unach-banner-orbit::after { position: absolute; width: 12px; height: 12px; background: #b9d3ff; border-radius: 50%; box-shadow: 0 0 0 5px rgba(255, 255, 255, .18); content: ""; }
.unach-banner-orbit-left { bottom: -120px; left: -125px; width: 390px; height: 390px; }
.unach-banner-orbit-left::before { top: 37px; right: 43px; }
.unach-banner-orbit-left::after { top: 125px; right: -4px; }
.unach-banner-orbit-right { top: -185px; right: -95px; width: 430px; height: 430px; }
.unach-banner-orbit-right::before { bottom: 72px; left: 26px; }
.unach-banner-orbit-right::after { bottom: 7px; left: 103px; }

.systems-search-wrap {
    position: relative;
    z-index: 5;
    width: min(670px, calc(100% - 40px));
    margin: 10px auto 12px;
    padding: 0;
}

.systems-search-wrap::before { display: none; }

.systems-search {
    display: flex;
    align-items: center;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 14px;
    background: #fff;
    border: 1px solid #dce6f3;
    border-radius: 7px;
    box-shadow: 0 5px 18px rgba(0, 40, 88, .06);
}

.systems-search-icon { margin-right: 10px; color: #637898; font-size: 22px; line-height: 1; }
.systems-search input { flex: 1; min-width: 0; border: 0; outline: 0; color: var(--unach-blue); font-size: 13px; }
.systems-search input::placeholder { color: #8290a8; }
.systems-search-status { min-height: 16px; width: 100%; max-width: 670px; margin: 6px auto 0; color: var(--unach-text-muted); font-size: 11px; text-align: right; }

.academic-systems,
.administrative-systems { background: transparent; }

.academic-systems .container,
.administrative-systems .container { width: calc(100% - 216px); max-width: 1455px; margin: 0 auto; padding-right: 0; padding-left: 0; }

.academic-systems, .administrative-systems { padding-top: 0; padding-bottom: 0; }
.administrative-systems { margin-top: 18px; }
.features-content { padding: 16px 18px; background: rgba(255, 255, 255, .92); border: 1px solid #e6ebf2; border-radius: 12px; box-shadow: 0 6px 20px rgba(0, 40, 88, .035); }
.academic-systems .features-content { min-height: 245px; }
.administrative-systems .features-content { min-height: 320px; }
.systems-section-heading { display: flex; align-items: center; gap: 12px; min-height: 42px; margin: 0 0 10px; padding: 0 0 9px; border-bottom: 1px solid #edf2f8; }
.systems-heading-icon { display: grid; flex: 0 0 42px; place-items: center; width: 42px; height: 42px; color: #0756be; background: #eaf2ff; border: none; border-radius: 50%; font-size: 18px; }
.systems-section-heading h2 { margin: 0; color: var(--unach-blue); font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.systems-section-heading p { margin: 3px 0 0; color: var(--unach-text-muted); font-size: 11.5px; }
.systems-see-all { margin-left: auto; color: #006dff; font-size: 12px; text-decoration: none; white-space: nowrap; }
.systems-see-all span { margin-left: 7px; font-size: 18px; vertical-align: -1px; }

.academic-systems .col-md-8,
.administrative-systems .col-md-8 { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.academic-systems .features-content,
.administrative-systems .features-content { text-align: left !important; }
.academic-systems .row,
.administrative-systems .row { margin-right: 0 !important; margin-left: 0 !important; }
.systems-illustration { display: none; }
.academic-systems .row > .col-md-8 > .row,
.administrative-systems .row > .col-md-8 > .row { display: grid; grid-auto-flow: row dense; margin: 0; width: 100%; justify-content: start; align-content: start; justify-items: stretch; }
.academic-systems .row > .col-md-8 > .row::before,
.academic-systems .row > .col-md-8 > .row::after,
.administrative-systems .row > .col-md-8 > .row::before,
.administrative-systems .row > .col-md-8 > .row::after { display: none !important; content: none !important; }
.academic-systems .row > .col-md-8 > .row { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.administrative-systems .row > .col-md-8 > .row { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px 10px; }
.academic-systems .box-app,
.administrative-systems .box-app { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.academic-systems .box-app { min-height: 92px; }
.administrative-systems .box-app { min-height: 92px; }
.academic-systems .row > .col-md-8 > .row { grid-auto-rows: minmax(92px, auto); }
.administrative-systems .row > .col-md-8 > .row { grid-auto-rows: minmax(92px, auto); }
.box-app > div { display: flex; align-items: center; height: 100%; margin: 0 !important; padding: 10px 14px; text-align: left !important; background: #fff; border: 1px solid #e2e7ef; border-radius: 8px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.box-app > div:hover { border-color: #cbd8ea; box-shadow: 0 5px 16px rgba(20, 45, 90, .08); transform: translateY(-2px); }
.box-app > div:focus-within { border-color: var(--unach-focus); outline: 3px solid var(--unach-focus); outline-offset: 2px; box-shadow: 0 7px 18px var(--unach-shadow); transform: translateY(-2px); }
.box-app img { flex: 0 0 44px; width: 44px; height: 38px; margin-right: 12px; object-fit: contain; }
.box-app .m-t { flex: 1 1 auto; min-width: 0; margin: 0 !important; line-height: 1.25; }
.box-app a { display: block; overflow-wrap: break-word; word-break: break-word; hyphens: auto; color: var(--unach-blue); font-size: 12px; font-weight: 600; text-decoration: none; }
.box-app a:hover { color: var(--unach-blue-bright); }
.box-app > div > a { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; }
.box-app > div > .system-card-link:focus-visible { outline: none; }
.box-app .m-t a[aria-hidden="true"] { cursor: pointer; }
.system-description { display: block; overflow-wrap: break-word; word-break: break-word; margin-top: 3px; color: var(--unach-text-muted); font-size: 10px; line-height: 1.25; }

.systems-filter-empty { display: none; padding: 25px; color: var(--unach-text-muted); text-align: center; }
.systems-filter-empty.is-visible { display: block; }

.legacy-privacy { display: none; }
.privacy-section { padding: 12px 0 42px; background: #f4f8fd; }
.privacy-section .container { max-width: 1460px; padding-right: 28px; padding-left: 28px; }
.privacy-card { display: flex; align-items: center; gap: 18px; padding: 25px 30px; background: #fff; border: 1px solid #e0e9f4; border-radius: 12px; box-shadow: 0 7px 24px rgba(0, 40, 88, .045); }
.privacy-icon { display: grid; flex: 0 0 46px; place-items: center; width: 46px; height: 46px; color: #0870e8; background: #eaf3ff; border-radius: 50%; font-size: 23px; font-weight: 700; }
.privacy-copy { flex: 1; }
.privacy-eyebrow { color: #0870e8; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.privacy-copy h2 { margin: 4px 0 5px; color: var(--unach-blue); font-size: 21px; }
.privacy-copy p { max-width: 740px; margin: 0; color: var(--unach-text-muted); font-size: 12px; line-height: 1.6; }
.privacy-link { padding: 11px 17px; color: #fff; background: #006dff; border-radius: 6px; font-size: 12px; text-decoration: none; white-space: nowrap; transition: background .2s ease; }
.privacy-link:hover { color: #fff; background: #0056cf; }
.privacy-link span { margin-left: 7px; font-size: 16px; }

#privacidad {
    position: relative;
    min-height: 390px;
    margin-top: 30px;
    padding: 72px 0 68px !important;
    background: transparent;
    isolation: isolate;
    overflow: hidden;
}
#privacidad .imagebg {
    opacity: 1;
    z-index: 0;
    filter: saturate(.72) contrast(.92) brightness(.9) blur(.6px);
    transform: scale(1.005);
}
#privacidad .imagebg::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 16, 44, .3), rgba(11, 24, 68, .18) 55%, rgba(20, 47, 91, .08));
    content: "";
}
#privacidad > .container { position: relative; z-index: 1; width: calc(100% - 216px); max-width: 1455px; padding: 0; }
#privacidad .section-head { max-width: 820px; margin: 0 auto 18px; padding: 0; text-align: center !important; }
#privacidad .section-head .row, #privacidad .faq-alt .row { margin: 0; }
#privacidad .section-head .col-md-8, #privacidad .faq-alt .col-md-12 { width: 100%; margin: 0; padding: 0; float: none; }
#privacidad .heading { margin: 0; color: #fff !important; font-size: 38px; font-weight: 700; letter-spacing: -.025em; text-shadow: 0 2px 12px rgba(0, 0, 0, .2); }
#privacidad .side-heading { max-width: 820px; margin: 0 auto; color: #fff !important; text-align: center; }
#privacidad .side-heading p { margin: 0 0 22px; color: #eef4ff !important; font-size: 15px; line-height: 1.65; text-align: justify; text-shadow: 0 1px 8px rgba(0, 0, 0, .18); }
#privacidad .side-heading .btn { min-width: 124px; padding: 11px 20px; color: #fff !important; background: #1672e8; border: 1px solid #1672e8; border-radius: 8px; box-shadow: 0 7px 18px rgba(22, 114, 232, .2); font-size: 13px; font-weight: 600; text-align: center; }
#privacidad .side-heading .btn:hover, #privacidad .side-heading .btn:focus { color: #fff !important; background: #075bc5; border-color: #075bc5; }

body.unach-redesign #feedback-button { display: flex; align-items: center; gap: 7px; width: auto; min-width: 43px; padding: 12px 10px; color: #fff; background: #f5a000; border: 0; border-radius: 8px 0 0 8px; box-shadow: 0 4px 14px rgba(130, 78, 0, .18); font-size: 12px; font-weight: 600; }
body.unach-redesign #feedback-button span { font-size: 16px; }
body.unach-redesign #feedback-form { width: min(450px, calc(100vw - 30px)); padding: 25px; border: 1px solid #e0e9f4; border-radius: 12px; box-shadow: 0 16px 45px rgba(0, 40, 88, .18); }
body.unach-redesign #feedback-form h4 { margin: 0; color: var(--unach-blue); font-size: 18px; }
body.unach-redesign #feedback-form p { margin: 5px 0 14px; color: var(--unach-text-muted); font-size: 12px; }
body.unach-redesign #feedback-form .close-button { color: #6d7d98; font-size: 24px; font-weight: 400; }
body.unach-redesign #feedback-form select, body.unach-redesign #feedback-form textarea, body.unach-redesign #feedback-form input[type="email"] { margin: 7px 0; border-color: #dce6f3; font-size: 13px; }
body.unach-redesign #feedback-form button:not(.close-button) { background: #006dff; font-size: 13px; }

.campuses-section {
    position: relative;
    padding: 30px 0 28px;
    background:
        radial-gradient(ellipse at left bottom, rgba(234, 222, 255, .45), transparent 32%),
        radial-gradient(ellipse at right bottom, rgba(250, 220, 244, .45), transparent 30%),
        #f7faff;
    overflow: hidden;
}
.campuses-section .container { width: calc(100% - 96px); max-width: 1540px; padding: 0; }
.campuses-heading { display: flex; align-items: center; gap: 20px; margin: 0 10px 20px; }
.campuses-heading-icon { display: grid; flex: 0 0 62px; place-items: center; width: 62px; height: 58px; color: #0756be; background: #e8f1ff; border-radius: 15px; font-size: 31px; }
.campuses-heading > div { display: flex; align-items: baseline; gap: 14px; }
.campuses-heading h2 { margin: 0; color: var(--unach-blue); font-size: 25px; font-weight: 700; letter-spacing: -.02em; }
.campuses-heading p { margin: 0; color: #65728c; font-size: 13px; }
.campuses-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 360px)); justify-content: center; gap: 16px; }
.campus-card { min-width: 0; min-height: 233px; padding: 19px 25px 18px; background: rgba(255, 255, 255, .94); border: 1px solid #edf1f7; border-radius: 13px; box-shadow: 0 6px 22px rgba(0, 40, 88, .035); }
.campus-card-heading { display: flex; align-items: center; justify-content: center; gap: 24px; margin-bottom: 18px; }
.campus-card-icon { display: grid; flex: 0 0 73px; place-items: center; width: 73px; height: 69px; color: #0756be; background: #e8f1ff; border-radius: 13px; font-size: 32px; }
.campus-card h3 { margin: 0; color: var(--unach-blue); font-size: 17px; font-weight: 700; line-height: 1.25; }
.campus-details { display: grid; gap: 9px; width: fit-content; max-width: 100%; margin: 0 auto; padding: 0; list-style: none; }
.campus-details li { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 10px; color: #667592; font-size: 13px; line-height: 1.35; }
.campus-details em { margin-top: 2px; color: #29569b; font-size: 15px; text-align: center; }
.campus-details a { min-width: 0; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.campus-details a:hover, .campus-details a:focus { color: var(--unach-blue-bright); text-decoration: underline; }

.unach-footer {
    padding: 20px 0 17px;
    color: var(--unach-blue);
    background: #fff;
    border-top: 1px solid rgba(0, 40, 88, .05);
}

.unach-footer .container { width: calc(100% - 96px); max-width: 1540px; padding: 0; }
.unach-footer-content { display: grid; grid-template-columns: minmax(350px, 1fr) auto minmax(350px, 1fr); align-items: center; gap: 38px; }
.unach-footer-identity, .unach-footer-end { display: flex; align-items: center; }
.unach-footer-brand { flex: 0 0 auto; }
.unach-footer-brand img { display: block; width: 180px; height: auto; }
.unach-footer-divider { flex: 0 0 1px; width: 1px; height: 33px; margin: 0 28px; background: #b8c2d1; }
.unach-footer-university { margin: 0; color: #63718b; font-size: 11px; line-height: 1.25; }
.unach-footer-university strong, .unach-footer-university span { display: block; }
.unach-footer-university strong { font-weight: 500; }
.unach-footer-university span { color: #93a0b5; font-size: 9px; font-style: italic; }
.unach-footer-center { text-align: center; }
.unach-social-links { display: flex; justify-content: center; gap: 10px; }
.unach-social-links a { display: grid; place-items: center; width: 34px; height: 34px; color: #073a83; background: #f1f5fb; border-radius: 50%; font-size: 15px; text-decoration: none; transition: color .2s ease, background .2s ease, transform .2s ease; }
.unach-social-links a:hover, .unach-social-links a:focus { color: #fff; background: #126ce5; transform: translateY(-2px); }
.unach-footer-copyright { margin: 11px 0 0; color: #8a98af; font-size: 10px; white-space: nowrap; }
.unach-footer-copyright span { margin-left: 8px; }
.unach-footer-end { justify-content: flex-end; }
.unach-footer-policy { color: #073a83; font-size: 10px; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.unach-footer-policy:hover, .unach-footer-policy:focus { color: var(--unach-blue-bright); }
.unach-footer-slogan { position: relative; min-width: 135px; margin: 0; color: #002858; font-family: "Segoe Script", "Brush Script MT", cursive; font-size: 15px; font-style: italic; line-height: 1.05; text-align: center; transform: rotate(-4deg); }
.unach-footer-slogan strong { font-weight: 600; }
.unach-footer-slogan::after { position: absolute; right: 14px; bottom: -7px; left: 18px; height: 3px; background: linear-gradient(90deg, #2478df, #dc5bac); border-radius: 100%; content: ""; transform: rotate(-4deg); }
@media (max-width: 767px) {
    #privacidad { min-height: 0; margin-top: 20px; padding: 48px 0 46px !important; }
    #privacidad .imagebg { background-position: 40% center !important; }
    #privacidad .imagebg::after { background: rgba(7, 16, 44, .28); }
    #privacidad > .container { width: calc(100% - 30px); }
    #privacidad .heading { font-size: 29px; }
    #privacidad .side-heading p { font-size: 13px; line-height: 1.6; }
    .campuses-section { padding: 25px 0; }
    .campuses-section .container { width: calc(100% - 30px); }
    .campuses-heading { align-items: flex-start; gap: 13px; margin: 0 0 18px; }
    .campuses-heading-icon { flex-basis: 48px; width: 48px; height: 48px; border-radius: 12px; font-size: 25px; }
    .campuses-heading > div { display: block; padding-top: 3px; }
    .campuses-heading h2 { font-size: 21px; }
    .campuses-heading p { margin-top: 3px; font-size: 12px; }
    .campuses-grid { grid-template-columns: 1fr; gap: 12px; }
    .campus-card { min-height: 0; padding: 17px 18px; }
    .campus-card-heading { gap: 16px; margin-bottom: 16px; }
    .campus-card-icon { flex-basis: 58px; width: 58px; height: 55px; font-size: 27px; }
    .campus-card h3 { font-size: 16px; }
    .unach-footer { padding: 25px 0; }
    .unach-footer .container { width: calc(100% - 30px); }
    .unach-footer-content { grid-template-columns: 1fr; gap: 26px; }
    .unach-footer-identity, .unach-footer-end { justify-content: center; }
    .unach-footer-brand img { width: 160px; }
    .unach-footer-divider { height: 30px; margin: 0 18px; }
    .unach-footer-end .unach-footer-divider { display: none; }
    .unach-footer-end { flex-direction: column; gap: 18px; }
    .unach-footer-copyright { white-space: normal; }
    body.unach-redesign {
        background-position: left 140px, right 140px, center 140px;
        background-size: 75% 520px, 75% 520px, 100% 520px;
    }
    .unach-banner { height: clamp(140px, 42vw, 175px); min-height: 0; }
    .unach-banner-content { display: block; width: calc(100% - 30px); padding: 30px 0 20px; }
    .unach-banner-copy { padding: 0; text-align: center; }
    .unach-plus-lockup { justify-content: center; transform: scale(.85); }
    .unach-banner-copy p br { display: none; }
    .unach-banner-values { justify-content: center; gap: 7px; font-size: 8px; }
    .unach-device-scene { height: 215px; margin-top: 18px; }
    .unach-laptop { right: 55px; bottom: 8px; width: calc(100% - 75px); height: 190px; padding: 7px 7px 16px; }
    .unach-laptop-screen { padding: 10px; }
    .unach-preview-search { margin: 7px 0; }
    .unach-preview-grid span { padding: 5px 2px; }
    .unach-phone { right: 3px; width: 75px; height: 160px; padding: 16px 5px 6px; border-width: 5px; border-radius: 14px; }
    .unach-phone-speaker { top: 5px; left: 25px; width: 18px; }
    .unach-phone > img { width: 52px; margin-bottom: 6px; }
    .unach-phone > strong { margin-bottom: 5px; font-size: 6px; }
    .unach-phone-search { height: 15px; margin-bottom: 3px; }
    .unach-phone-item { gap: 3px; padding: 4px 1px; font-size: 5px; }
    .unach-header .container {
        display: block;
        padding-top: 14px;
        padding-bottom: 8px;
    }

    .unach-brand { justify-content: center; width: 100%; }
    .unach-nav { justify-content: center; gap: 20px; margin-top: 4px; }
    .unach-nav a { padding: 10px 0 12px; font-size: 12px; }
    .unach-nav a::after { bottom: 4px; }

    .systems-search { height: 44px; }
    .systems-search-wrap { margin-top: -12px; }
    .systems-search-status { text-align: center; }
    .academic-systems .container, .administrative-systems .container { padding-right: 15px; padding-left: 15px; }
    .features-content { padding: 20px 10px 14px; border-radius: 12px; }
    .systems-section-heading { align-items: flex-start; gap: 9px; }
    .systems-heading-icon { flex-basis: 36px; width: 36px; height: 36px; font-size: 18px; }
    .systems-section-heading h2 { font-size: 18px; }
    .systems-section-heading p { font-size: 11px; }
    .systems-see-all { display: none; }
    .academic-systems .row > .col-md-8 > .row, .administrative-systems .row > .col-md-8 > .row { grid-template-columns: 1fr; gap: 7px; }
    .academic-systems .row > .col-md-8 > .row, .administrative-systems .row > .col-md-8 > .row { grid-auto-rows: minmax(78px, auto); }
    .box-app > div { min-height: 70px; padding: 10px; }
    .box-app img { flex-basis: 40px; width: 40px; height: 40px; }
    .box-app > div > a { flex-basis: 40px; }
    .privacy-section .container { padding-right: 15px; padding-left: 15px; }
    .privacy-card { display: block; padding: 22px; }
    .privacy-icon { margin-bottom: 14px; }
    .privacy-copy h2 { font-size: 19px; }
    .privacy-link { display: inline-block; margin-top: 16px; }
}

@media (max-width: 1200px) and (min-width: 768px) {
    .unach-banner-content { width: calc(100% - 48px); grid-template-columns: .9fr 1.1fr; }
    .unach-plus-symbol { font-size: 82px; }
    .unach-plus-sign { width: 38px; height: 38px; margin: -46px 16px 0 -2px; }
    .unach-plus-sign::before, .unach-plus-sign::after { top: 15px; width: 38px; height: 8px; }
    .unach-plus-message { padding-left: 14px; font-size: 15px; }
    .unach-banner-copy h1 { font-size: 28px; }
    .unach-banner-copy p { font-size: 12px; }
    .unach-banner-values { gap: 6px; font-size: 8px; }
    .unach-laptop { right: 65px; width: calc(100% - 80px); }
    .unach-phone { right: 0; width: 92px; }
    #privacidad > .container { width: calc(100% - 96px); }
    .campuses-section .container { width: calc(100% - 48px); }
    .campuses-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 360px)); }
    .unach-footer .container { width: calc(100% - 48px); }
    .unach-footer-content { grid-template-columns: 1fr auto; gap: 24px 40px; }
    .unach-footer-end { grid-column: 1 / -1; justify-content: center; }
}

@media (max-width: 1400px) {
    .academic-systems .row > .col-md-8 > .row,
    .administrative-systems .row > .col-md-8 > .row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 992px) {
    .academic-systems .row > .col-md-8 > .row,
    .administrative-systems .row > .col-md-8 > .row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .academic-systems .container,
    .administrative-systems .container { width: calc(100% - 48px); }
}

@media (max-width: 767px) {
    .academic-systems .row > .col-md-8 > .row,
    .administrative-systems .row > .col-md-8 > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .academic-systems .row > .col-md-8 > .row,
    .administrative-systems .row > .col-md-8 > .row { grid-template-columns: 1fr; }
    .academic-systems .container,
    .administrative-systems .container { width: calc(100% - 24px); }
    .unach-header-actions { gap: 10px; }
    .unach-theme-toggle { min-width: 34px; width: 34px; padding: 0; }
    .unach-theme-toggle span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}

/* Semantic theme mapping based on the Unach plus palette. */
body.unach-redesign { transition: color .2s ease, background-color .2s ease; }
.unach-header { background: var(--unach-surface); border-color: var(--unach-border); }
.unach-nav a { color: var(--unach-text-muted); }
.unach-nav a:hover, .unach-nav a:focus, .unach-nav a[aria-current="page"] { color: var(--unach-blue); }
.systems-search, .features-content, .box-app > div, .privacy-card, .campus-card, body.unach-redesign #feedback-form, #cookieConsent .modal-content { color: var(--unach-blue); background: var(--unach-surface-raised); border-color: var(--unach-border); box-shadow: 0 6px 20px var(--unach-shadow); }
.systems-search input { color: var(--unach-blue); background: transparent; }
.systems-search input::placeholder, .systems-search-status, .systems-section-heading p, .system-description, .privacy-copy p, .campus-details, .unach-footer-university, .unach-footer-copyright { color: var(--unach-text-muted); }
.systems-section-heading { border-color: var(--unach-border); }
.systems-heading-icon, .privacy-icon, .campuses-heading-icon, .campus-card-icon { color: var(--unach-blue-bright); background: color-mix(in srgb, var(--unach-blue-bright) 13%, var(--unach-surface-raised)); }
.box-app a, .systems-section-heading h2, .privacy-copy h2, .campuses-heading h2, .campus-card h3 { color: var(--unach-blue); }
.box-app > div:hover { border-color: var(--unach-blue-bright); box-shadow: 0 7px 18px var(--unach-shadow); }
.campuses-section { background: var(--unach-surface-soft); }
.campus-details li, .campus-details a, .campuses-heading p { color: var(--unach-text-muted); }
.campus-details em { color: var(--unach-blue-bright); }
.unach-footer { color: var(--unach-blue); background: var(--unach-surface); border-color: var(--unach-border); }
.unach-footer-divider { background: var(--unach-border); }
.unach-footer-policy, .unach-footer-slogan { color: var(--unach-blue); }
.unach-social-links a { color: var(--unach-blue-bright); background: var(--unach-surface-soft); }

:root[data-theme="dark"] body.unach-redesign {
    background-color: #07102c;
    background-image:
        radial-gradient(ellipse at left top, rgba(32, 76, 136, .35), transparent 58%),
        radial-gradient(ellipse at right top, rgba(109, 80, 120, .32), transparent 58%),
        linear-gradient(180deg, #0c1834, #07102c 72%);
}
:root[data-theme="dark"] .systems-backdrop {
    background-image:
        linear-gradient(180deg, rgba(7, 16, 44, .1) 0%, rgba(7, 16, 44, .42) 30%, rgba(7, 16, 44, .86) 68%, #07102c 100%),
        url("../images/banner.png");
}
:root[data-theme="dark"] .unach-brand img,
:root[data-theme="dark"] .unach-footer-brand img { filter: brightness(0) invert(1); }
:root[data-theme="dark"] .unach-banner > img { filter: brightness(.62) saturate(.82); }
:root[data-theme="dark"] #privacidad .imagebg { filter: brightness(.45) saturate(.75); }
:root[data-theme="dark"] #privacidad .imagebg::after { background: rgba(7, 16, 44, .24); }
:root[data-theme="dark"] #privacidad .heading,
:root[data-theme="dark"] #privacidad .side-heading,
:root[data-theme="dark"] #privacidad .side-heading p { color: var(--unach-blue) !important; }
:root[data-theme="dark"] .campuses-section {
    background:
        radial-gradient(ellipse at left bottom, rgba(32, 76, 136, .28), transparent 36%),
        radial-gradient(ellipse at right bottom, rgba(109, 80, 120, .25), transparent 34%),
        var(--unach-surface-soft);
}

:root[data-theme="contrast"] body.unach-redesign { background: #fff; color: #000; }
:root[data-theme="contrast"] .systems-backdrop {
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .18) 0%, rgba(255, 255, 255, .72) 38%, #fff 75%),
        url("../images/banner.png");
}
:root[data-theme="contrast"] .unach-header,
:root[data-theme="contrast"] .features-content,
:root[data-theme="contrast"] .box-app > div,
:root[data-theme="contrast"] .campus-card,
:root[data-theme="contrast"] .unach-footer { border-color: #000; box-shadow: none; }
:root[data-theme="contrast"] .unach-banner > img { filter: contrast(1.18) saturate(.75); }
:root[data-theme="contrast"] #privacidad .imagebg { opacity: .2; filter: grayscale(1); }
:root[data-theme="contrast"] #privacidad .imagebg::after { background: rgba(255, 255, 255, .72); }
:root[data-theme="contrast"] #privacidad .heading,
:root[data-theme="contrast"] #privacidad .side-heading,
:root[data-theme="contrast"] #privacidad .side-heading p { color: #000 !important; }
:root[data-theme="contrast"] .unach-theme-toggle,
:root[data-theme="contrast"] .systems-search,
:root[data-theme="contrast"] .privacy-link,
:root[data-theme="contrast"] #privacidad .side-heading .btn { border: 2px solid #000; }
:root[data-theme="contrast"] a { text-decoration-thickness: 2px; }

:focus-visible { outline: 3px solid var(--unach-focus); outline-offset: 3px; }

@media (max-width: 767px) {
    .unach-header-actions { justify-content: center; gap: 14px; }
}

@media (forced-colors: active) {
    .unach-theme-toggle, .systems-search, .features-content, .box-app > div, .campus-card { border: 1px solid CanvasText; }
}

@media (prefers-reduced-motion: reduce) {
    .systems-backdrop::before { animation: none; }
}
