    :root {
        --violet: #9a89c3;
        --blue: #7fa1eb;
        --pink: #e8649b;
        --green: #aaca83;
        --teal: #67b9c2;
        --sunset: #fdc77b;
        --onyx: #434142;
        --lilac: #baaed6;
        --pale: #f5f0ff;
        --purple-bg: #E9DEFF;
        --text: #7A6E86;
        --white: #fff;
        --border: #D2D2D2;
        --bg-input: #F5F5F5;
    }

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        line-height: 140%;
    }

    html {
        scroll-behavior: smooth
    }

    body {
        font-family: 'Onest', sans-serif;
        color: var(--text);
        background: #fdfaff;
        overflow-x: hidden
    }

    /*////////////////////////////////////////// NAV //////////////////////////////////////////*/
    nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 48px;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid rgba(154, 137, 195, 0.15);
        transition: all .3s
    }

    nav.scrolled {
        box-shadow: 0 4px 30px rgba(154, 137, 195, .15)
    }

    .nav-logo img {
        height: 40px;
        object-fit: contain;
        mix-blend-mode: multiply
    }

    .nav-links {
        display: flex;
        gap: 26px;
        list-style: none;
        margin-bottom: 0;
    }

    .nav-links a {
        text-decoration: none;
        font-size: 14px;
        font-weight: 700;
        color: var(--onyx);
        transition: color .2s;
        position: relative;
        padding-bottom: 4px
    }

    .nav-links a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        background: var(--pink);
        border-radius: 2px;
        transition: width .3s
    }

    .nav-links a:hover {
        color: var(--violet)
    }

    .nav-links a:hover::after {
        width: 100%
    }

    .nav-cta {
        background: linear-gradient(135deg, var(--violet), var(--blue));
        color: white;
        border: none;
        border-radius: 50px;
        padding: 10px 22px;
        font-size: 14px;
        font-weight: 800;
        cursor: pointer;
        transition: all .3s;
        font-family: 'Onest', sans-serif;
        text-decoration: none;
        box-shadow: 0 4px 15px rgba(127, 161, 235, .4)
    }

    .nav-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(127, 161, 235, .5)
    }

    .hamburger {
        display: none;
        flex-direction: column;
        gap: 5px;
        cursor: pointer
    }

    .hamburger span {
        width: 24px;
        height: 2px;
        background: var(--onyx);
        border-radius: 2px
    }

    /*////////////////////////////////////////// TITULOS //////////////////////////////////////////*/

    .title-cat {
        color: var(--violet);
    }

    /*////////////////////////////////////////// CRITERIOS //////////////////////////////////////////*/

    .hcard {
        border-radius: 24px;
        overflow: hidden;
        box-shadow: 0 8px 28px rgba(154, 137, 195, .1);
        transition: all .3s;
        background: white;
    }

    .hh {
        padding: 26px 22px 18px;
        color: white;
        position: relative;
    }

    .hname h3,
    .accordion-button h3 {
        font-weight: 700;
        font-size: 1.2rem;
        /* margin-bottom: 5px; */
    }

    .htype {
        font-size: 13px;
        opacity: .85;
    }

    .hbody {
        padding: 18px 22px 22px;
    }

    .hdist {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--violet);
        font-size: 13px;
        font-weight: 700;
        margin-bottom: 14px;
    }

    .hams {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 16px;
    }

    .ham {
        line-height: 140%;
    }

    .criterios-porcent {
        background-color: var(--purple-bg);
        padding: 5px 14px;
        border-radius: 25px;
        margin-bottom: 6px;
        color: var(--text);
    }

    ul.criterios {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    ul.criterios li {
        background-image: url('/img/postulaciones/sparkle.svg');
        background-repeat: no-repeat;
        background-position: left 3px;
        background-size: 16px 16px;
        padding-left: 24px;
        display: flex;
        align-items: center;
        line-height: 140%;
        margin-bottom: 10px;
    }

    .responsive-criteriossm {
        display: none;
    }

    .accordion-button:focus {
        box-shadow: none;
        border-color: rgba(0, 0, 0, 0);
    }

    .accordion-button:focus-visible {
        outline: none;
    }

    .accordion-button::after {
        background-image: url("/img/postulaciones/cheveron-icono.svg") !important;
    }

    .accordion-button:not(.collapsed)::after {
        transform: rotate(180deg);
    }

    /*////////////////////////////////////////// FORMULARIO //////////////////////////////////////////*/
    form {
        background-color: var(--white);
        border: 2px solid var(--border);
        border-radius: 25px;
        padding: 40px 30px;
        height: 100%;
    }

    label {
        font-weight: 700;
        margin-bottom: 6px;
    }

    input {
        border: 1px solid var(--border);
        border-radius: 15px;
        padding: 10px 14px;
        margin-bottom: 32px;
        background-color: var(--bg-input);
    }

    textarea {
        border: 1px solid var(--border);
        border-radius: 15px;
        padding: 10px 14px;
        margin-bottom: 32px;
        background-color: var(--bg-input);
    }

    small {
        font-style: italic;
    }

    .btn-enviar {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: linear-gradient(135deg, var(--pink), var(--violet));
        color: white;
        border: none;
        border-radius: 50px;
        padding: 15px 30px;
        font-size: 16px;
        font-weight: 800;
        cursor: pointer;
        transition: all .3s;
        text-decoration: none;
        font-family: 'Onest', sans-serif;
        box-shadow: 0 8px 28px rgba(232, 100, 155, .4);
    }


    .accordion-item {
        background: transparent;
    }

    .accordion-body {
        background-color: var(--white);
    }

    .accordion-button {
        border-radius: 25px !important;
        border: 0px solid;
    }

    .accordion-button:not(.collapsed) {
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    .accordion-button h3 {
        color: var(--white);
    }

    .btn-enviar:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 40px rgba(232, 100, 155, .5);
    }

    .select-ejes {
        margin-bottom: 32px;
        border: 1px solid var(--border);
        border-radius: 15px;
        padding: 10px 14px;
        margin-bottom: 32px;
        background-color: var(--bg-input);
        box-shadow: 0px 0px 0px 0px !important;
    }

    .select-ejes:focus {
        border-color: #434142 !important;
    }

    /*////////////////////////////////////////// FOOTER //////////////////////////////////////////*/

    footer {
        background: #978bc7;
        padding: 36px 48px;
        text-align: center;
        color: rgba(255, 255, 255, .4);
        font-size: 13px;
        font-weight: 600
    }

    footer img {
        height: 36px;
        object-fit: contain;
        margin-bottom: 14px;
        mix-blend-mode: screen;
        opacity: 1
    }

    footer strong {
        color: rgba(255, 255, 255, .72)
    }

    /*////////////////////////////////////////// RESPONSIVE //////////////////////////////////////////*/
    @media(max-width:1199px) {
        form {
            padding: 40px 18px;
        }

        input,
        textarea {
            margin-bottom: 1rem;
        }
    }

    @media(max-width:900px) {
        nav {
            padding: 12px 24px
        }

        .nav-links {
            display: none
        }

        .hamburger {
            display: flex
        }
    }

    @media(max-width:1200px) {
        .responsive-criteriosxl {
            display: none;
        }

        .responsive-criteriossm {
            display: block;
        }

    }