
    #uxpa-archive-root {
        --blue: #004aad;
        --navy: #10345f;
        --ink: #152c46;
        --muted: #64758b;
        --line: #e2e9f1;
        --soft: #f5f8fc;

        font-family: Assistant, Arial, sans-serif;
        color: var(--ink);
        width: 100%;
        margin: 0;
        line-height: 1.7;
    }

    #uxpa-archive-root * {
        box-sizing: border-box;
    }

    /* HERO */

    #uxpa-archive-root .uxp-hero {
        min-height: 285px;
        position: relative;
        overflow: hidden;
        background: linear-gradient(
            105deg,
            #e7f0fa,
            #ffffff
        );
        display: flex;
        align-items: center;
    }

    #uxpa-archive-root .uxp-hero-img {
        position: absolute;
        inset: 0 auto 0 0;
        width: 61%;
        background-size: cover;
        background-position: center;

        mask-image: linear-gradient(
            to right,
            #000 35%,
            transparent 100%
        );

        -webkit-mask-image: linear-gradient(
            to right,
            #000 35%,
            transparent 100%
        );
    }

    #uxpa-archive-root .uxp-hero-inner {
        position: relative;
        z-index: 1;
        width: min(1480px, 94%);
        margin: auto;
        padding: 38px 0;
    }

    #uxpa-archive-root .uxp-crumb {
        font-size: 13px;
        color: #4a6686;
        margin-bottom: 20px;
    }

    #uxpa-archive-root .uxp-crumb a {
        color: var(--blue);
        text-decoration: none;
    }

    #uxpa-archive-root h1 {
        font-size: clamp(30px, 3vw, 48px);
        line-height: 1.2;
        color: var(--blue);
        font-weight: 600;
        margin: 0 0 14px;
    }

    #uxpa-archive-root .uxp-description {
        font-size: 18px;
        max-width: 650px;
        margin: 0;
        color: #263e5c;
    }

    /* MAIN */

    #uxpa-archive-root .uxp-main {
        width: min(1480px, 94%);
        margin: 0 auto;
        padding: 26px 0 60px;
    }

    /* SEARCH AND SORT */

    #uxpa-archive-root .uxp-tools {
        display: grid;
        grid-template-columns:
            1fr auto minmax(220px, 310px);
        align-items: center;
        gap: 18px;
        margin-bottom: 24px;
    }

    #uxpa-archive-root .uxp-count {
        font-size: 14px;
        font-weight: 600;
    }

    #uxpa-archive-root .uxp-tools select,
    #uxpa-archive-root .uxp-tools input {
        height: 45px;
        width: 100%;
        border: 1px solid #d9e3ee;
        background: #fff;
        border-radius: 10px;
        padding: 0 14px;
        font: inherit;
        color: var(--ink);
    }

    #uxpa-archive-root .uxp-search {
        display: flex;
        align-items: center;
        gap: 7px;
    }

    #uxpa-archive-root .uxp-search button {
        border: 0;
        border-radius: 9px;
        background: var(--blue);
        color: #fff;
        height: 45px;
        padding: 0 17px;
        font: inherit;
        cursor: pointer;
    }

    /* POST GRID */

    #uxpa-archive-root .uxp-grid {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    #uxpa-archive-root .uxp-card {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 11px;
        box-shadow:
            0 6px 18px rgba(20, 53, 91, .055);
        transition:
            transform .2s,
            box-shadow .2s;
    }

    #uxpa-archive-root .uxp-card:hover {
        transform: translateY(-3px);
        box-shadow:
            0 12px 28px rgba(20, 53, 91, .12);
    }

    #uxpa-archive-root .uxp-card-img {
        display: block;
        height: 185px;
        overflow: hidden;
        background: #e8eff7;
    }

    #uxpa-archive-root .uxp-card-img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .35s;
    }

    #uxpa-archive-root .uxp-card:hover img {
        transform: scale(1.035);
    }

    #uxpa-archive-root .uxp-card-content {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 18px 20px 19px;
    }

    #uxpa-archive-root .uxp-card h2 {
        font-size: 21px;
        line-height: 1.4;
        margin: 0 0 7px;
        font-weight: 600;
    }

    #uxpa-archive-root .uxp-card h2 a {
        color: var(--navy);
        text-decoration: none;
    }

    #uxpa-archive-root .uxp-card p {
        font-size: 15px;
        color: #56687d;
        margin: 0 0 14px;
        line-height: 1.75;
        flex: 1;
    }

    #uxpa-archive-root .uxp-meta {
        font-size: 12px;
        color: #7b8ca0;
        margin-bottom: 9px;
    }

    #uxpa-archive-root .uxp-more {
        font-size: 15px;
        font-weight: 600;
        color: var(--blue);
        text-decoration: none;
        align-self: flex-start;
    }

    /* PAGINATION */

    #uxpa-archive-root .uxp-pagination {
        display: flex;
        justify-content: center;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: 34px;
    }

    #uxpa-archive-root .uxp-pagination a,
    #uxpa-archive-root .uxp-pagination span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 38px;
        height: 38px;
        padding: 0 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        text-decoration: none;
        color: var(--blue);
    }

    #uxpa-archive-root .uxp-pagination .current {
        background: var(--blue);
        border-color: var(--blue);
        color: #fff;
    }

    #uxpa-archive-root .uxp-empty {
        padding: 45px;
        text-align: center;
        background: var(--soft);
        border: 1px solid var(--line);
    }

    /* RESPONSIVE */

    @media (max-width: 1000px) {
        #uxpa-archive-root .uxp-grid {
            grid-template-columns:
                repeat(2, minmax(0, 1fr));
        }

        #uxpa-archive-root .uxp-hero-img {
            width: 65%;
            opacity: .5;
        }
    }

    @media (max-width: 650px) {
        #uxpa-archive-root .uxp-hero {
            min-height: 240px;
        }

        #uxpa-archive-root .uxp-hero-img {
            width: 100%;
            opacity: .17;
        }

        #uxpa-archive-root .uxp-description {
            font-size: 15px;
        }

        #uxpa-archive-root .uxp-tools {
            grid-template-columns: 1fr;
            gap: 10px;
        }

        #uxpa-archive-root .uxp-grid {
            grid-template-columns: 1fr;
        }

        #uxpa-archive-root .uxp-card-img {
            height: 200px;
        }
    }
    
#uxpa-archive-root .uxp-card-img{flex:0 0 185px;position:relative}
#uxpa-archive-root .uxp-card-img img{max-height:none;margin:0}
#uxpa-archive-root .uxp-description p{margin:0}
#uxpa-archive-root .uxp-card-content{min-width:0}
#uxpa-archive-root .uxp-card h2,#uxpa-archive-root .uxp-description{overflow-wrap:anywhere}
#uxpa-archive-root .uxpa-no-image{display:grid;place-items:center;height:100%;font-size:26px;color:#10345f}
#uxpa-archive-root .uxpa-browse{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:45px;align-items:start}
#uxpa-archive-root .uxpa-panel{min-width:0;background:#f5f8fc;border:1px solid #e2e9f1;border-radius:11px;padding:22px}
#uxpa-archive-root .uxpa-panel h2{font-size:21px;font-weight:600;color:#10345f;margin:0 0 16px}
#uxpa-archive-root .uxpa-panel ul{margin:0;padding-inline-start:20px}
#uxpa-archive-root .uxpa-panel a{color:#004aad;text-decoration:none}
#uxpa-archive-root .uxpa-panel li{margin:8px 0}
#uxpa-archive-root .uxpa-tags a{display:inline-block;font:inherit!important;font-size:14px!important;padding:5px 10px;margin:0 0 7px 7px;background:white;border:1px solid #d9e3ee;border-radius:5px}
#uxpa-archive-root .uxpa-calendar table{display:table!important;table-layout:fixed!important;width:100%!important;min-width:0!important;border-collapse:separate!important;border-spacing:5px!important;margin:0!important}
#uxpa-archive-root .uxpa-calendar caption{text-align:center!important;padding:0 0 12px;color:#10345f;font-weight:600}
#uxpa-archive-root .uxpa-calendar thead{display:table-header-group!important}
#uxpa-archive-root .uxpa-calendar tbody{display:table-row-group!important}
#uxpa-archive-root .uxpa-calendar tr{display:table-row!important}
#uxpa-archive-root .uxpa-calendar th,#uxpa-archive-root .uxpa-calendar td{display:table-cell!important;padding:0!important;height:38px!important;line-height:38px!important;text-align:center!important;vertical-align:middle!important;background:#fff;border:1px solid #e2e9f1;border-radius:8px;text-indent:0!important;font-size:14px;font-variant-numeric:tabular-nums}
#uxpa-archive-root .uxpa-calendar th{background:#e7f0fa;font-weight:600}
#uxpa-archive-root .uxpa-calendar td a{display:flex!important;width:100%!important;height:38px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;line-height:1!important;border-radius:7px;background:#dfeaf8;font-weight:600}
#uxpa-archive-root .uxpa-calendar #today{outline:1px solid #004aad;outline-offset:-1px}
#uxpa-archive-root .uxpa-calendar .wp-calendar-nav{text-align:center!important;margin-top:12px}
#uxpa-archive-root :is(a,select,input,button):focus-visible{outline:3px solid #004aad;outline-offset:3px}
@media(max-width:1000px){#uxpa-archive-root .uxpa-browse{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#uxpa-archive-root .uxpa-browse{grid-template-columns:1fr}#uxpa-archive-root .uxp-card-img{flex-basis:200px}}
@media(prefers-reduced-motion:reduce){#uxpa-archive-root .uxp-card,#uxpa-archive-root .uxp-card-img img{transition:none}#uxpa-archive-root .uxp-card:hover,#uxpa-archive-root .uxp-card:hover img{transform:none}}
