/* =========================================
   ASN PROJECT SHOWCASE
========================================= */

.asn-project-showcase{
    position:relative;
    width:100%;
    overflow:hidden;
}

.asn-project-track{
    display:flex;
    transition:transform .65s ease;
    will-change:transform;
}

.asn-project-slide{
    flex:0 0 100%;
    min-width:0;
}

.asn-project-grid{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:32px;
}

.asn-project-left{
    width:calc(100% - 414px);
    height:670px;
    border-radius:12px;
    overflow:hidden;
    background:#f5f5f5;
}

.asn-project-main-image{
    width:100%;
    height:100%!important;
    object-fit:cover;
    display:block;
}

.asn-project-right{
    width:382px;
    min-height:670px;
    display:flex;
    flex-direction:column;
    gap:36px;
}

.asn-project-heading{
    display:flex;
    flex-direction:column;
    gap:0px;
}

.asn-project-category{
    font-family:Manrope, sans-serif;
    font-weight:700;
    font-size:18px;
    line-height:145%;
    color:var(--e-global-color-primary);
}

.asn-project-title{
    margin:0;
    font-family:Manrope, sans-serif;
    font-weight:700;
    font-size:24px;
    line-height:145%;
}

.asn-project-title a{
    color:#171717;
    text-decoration:none;
}

.asn-project-info{
    display:flex;
    flex-direction:column;
    gap:32px;
}

.asn-project-thumb-wrap{
    position:relative;
    width:100%;
    height:295px;
    border-radius:12px;
    overflow:hidden;
    background:#f5f5f5;
}

.asn-project-thumb{
    width:100%;
    height:100%!important;
    object-fit:cover;
    display:block;
}

.asn-project-rating{
    position:absolute;
    top:13px;
    right:17px;

    display:flex;
    align-items:center;
    gap:6px;

    padding:7px 12px;

    background:rgba(255,255,255,0.75);
    backdrop-filter:blur(4.8px);
    -webkit-backdrop-filter:blur(4.8px);

    border-radius:999px;
}

.asn-project-rating svg{
    width:12px;
    height:12px;
    color:#F59E0B;
}

.asn-project-rating span{
    font-family:Inter, sans-serif;
    font-size:10px;
    line-height:1;
    color:#171717;
}

.asn-project-desc{
    font-family:Manrope, sans-serif;
    font-weight:400;
    font-size:16px;
    line-height:160%;
    color:#000;
}

.asn-project-btn{
    width:100%;
    height:54px;

    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:10px;

    padding:12px 30px;

    background:#6D6E71;
    border:1px solid #6D6E71;
    border-radius:10px;

    color:var(--e-global-color-accent);
    text-decoration:none;

    font-family:Manrope, sans-serif;
    font-size:16px;
    line-height:160%;
    font-weight:600;

    transition:.3s ease;
}

.asn-project-btn:hover{
    background:var(--e-global-color-primary);
    border-color:var(--e-global-color-primary);
    color:var(--e-global-color-accent);
}

.asn-project-btn svg{
    width:24px;
    height:24px;
}

/* =========================================
   NAV BUTTON GLASS
========================================= */

.asn-project-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:56px;
    height:56px;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
    overflow:hidden;

    border-radius:100%;
    color:var(--e-global-color-primary);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,0.20) 0%,
            rgba(255,255,255,0.08) 100%
        );

    border:1px solid rgba(255,255,255,0.36);

    backdrop-filter:
        blur(8px)
        saturate(180%)
        contrast(106%);

    -webkit-backdrop-filter:
        blur(8px)
        saturate(180%)
        contrast(106%);

    box-shadow:
        inset 0 1px 1px rgba(255,255,255,0.45),
        inset 0 -18px 30px rgba(0,0,0,0.16),
        0 10px 30px rgba(0,0,0,0.22);

    transition:
        background .35s ease,
        box-shadow .35s ease,
        border-color .35s ease,
        transform .25s ease;

    z-index:20;
}

.asn-project-nav svg{
    position:relative;
    z-index:3;
    width:20px;
    height:20px;
    transition:transform .25s ease;
}

.asn-project-nav::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;

    background:
        linear-gradient(
            -45deg,
            rgba(255,255,255,0.80) 0%,
            rgba(255,255,255,0.26) 18%,
            rgba(255,255,255,0.10) 38%,
            rgba(255,255,255,0) 58%
        );

    mix-blend-mode:screen;
    opacity:.9;
    pointer-events:none;
}

.asn-project-nav::after{
    content:"";
    position:absolute;
    inset:-12%;
    border-radius:inherit;

    background:
        radial-gradient(circle at top left, rgba(255,120,120,0.16), transparent 28%),
        radial-gradient(circle at bottom right, rgba(120,180,255,0.16), transparent 28%);

    filter:blur(16px);
    opacity:.75;
    mix-blend-mode:soft-light;
    pointer-events:none;
}

.asn-project-nav:hover{
    background:
        linear-gradient(
            180deg,
            rgba(255,170,90,0.34),
            rgba(255,170,90,0.22) 60%
        );

    border-color:rgba(255,255,255,0.48);

    box-shadow:
        inset 0 1px 1px rgba(255,255,255,0.52),
        inset 0 -22px 36px rgba(0,0,0,0.18),
        0 18px 42px rgba(0,0,0,0.28);
}

.asn-project-nav:active{
    transform:translateY(-50%) scale(.96);
}

.asn-project-nav:active svg{
    transform:scale(1.18);
}

.asn-project-prev{
    left:16px;
}

.asn-project-next{
    right:16px;
}

.asn-project-nav.is-hidden{
    display:none;
}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1024px){
    .asn-project-grid{
        flex-direction:column;
    }

    .asn-project-left,
    .asn-project-right{
        width:100%;
        min-height:auto;
    }

    .asn-project-left{
        height:520px;
    }
}

@media(max-width:767px){
    .asn-project-left{
        height:420px;
    }

    .asn-project-thumb-wrap{
        height:230px;
    }

    .asn-project-nav{
        width:46px;
        height:46px;
    }

    .asn-project-prev{
        left:8px;
    }

    .asn-project-next{
        right:8px;
    }
}

.asn-project-empty{
    width:100%;

    padding:60px 30px;

    border-radius:20px;

    text-align:center;

    font-size:18px;
    font-weight:400;

    color:#6D6E71;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.9),
            rgba(255,255,255,.7)
        );

    border:1px solid rgba(0,0,0,.06);

    backdrop-filter:blur(10px);

    box-shadow:
        0 10px 30px rgba(0,0,0,.04);
}