* =====================================================
   PSIX INVEST — HOME PAGE ONLY
===================================================== */

.psix-home{
    background:#ffffff;
}


/* =====================================================
   HERO
===================================================== */

.psix-hero-section{
    padding:34px 28px 42px;
    background:#ffffff;
}

.psix-hero-carousel{
    position:relative;

    width:100%;
    max-width:1500px;
    height:650px;

    margin:0 auto;

    overflow:hidden;

    border-radius:32px;

    background:#e9eef7;

    box-shadow:
        0 24px 70px rgba(15,23,42,.10);
}


.psix-hero-slide{
    position:absolute;
    inset:0;

    display:flex;
    align-items:center;

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    opacity:0;
    visibility:hidden;

    transition:
        opacity .55s ease,
        visibility .55s ease;
}


.psix-hero-slide.is-active{
    z-index:2;

    opacity:1;
    visibility:visible;
}


.psix-hero-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.93) 31%,
            rgba(255,255,255,.55) 52%,
            rgba(255,255,255,.06) 78%
        );
}


.psix-hero-content{
    position:relative;
    z-index:3;

    width:58%;
    max-width:760px;

    padding:72px;
}


.psix-hero-kicker{
    margin-bottom:20px;

    color:#2867ed;

    font-size:14px;
    font-weight:900;

    letter-spacing:.12em;
}


.psix-hero-content h1,
.psix-hero-content h2{
    margin:0 0 24px;

    color:#101828;

    font-size:58px;
    line-height:1.06;

    letter-spacing:-2px;

    font-weight:900;
}


.psix-hero-content h1 span,
.psix-hero-content h2 span{
    display:block;

    color:#2867ed;
}


.psix-hero-content p{
    max-width:620px;

    margin:0;

    color:#5f6d85;

    font-size:19px;
    line-height:1.6;
}


.psix-hero-buttons{
    display:flex;
    flex-wrap:wrap;

    gap:14px;

    margin-top:34px;
}


.psix-button{
    min-height:50px;

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

    padding:0 28px;

    border-radius:999px;

    font-size:14px;
    font-weight:900;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.psix-button:hover{
    transform:translateY(-2px);
}


.psix-button-primary{
    color:#ffffff;

    background:#2867ed;

    box-shadow:
        0 10px 26px rgba(40,103,237,.25);
}


.psix-button-dark{
    color:#ffffff;

    background:#111827;

    box-shadow:
        0 10px 26px rgba(17,24,39,.18);
}


/* HERO ARROWS */

.psix-hero-arrow{
    position:absolute;
    z-index:15;

    top:50%;

    width:48px;
    height:48px;

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

    padding:0;

    transform:translateY(-50%);

    border:
        1px solid rgba(15,23,42,.08);

    border-radius:50%;

    background:
        rgba(255,255,255,.94);

    color:#111827;

    font-size:34px;

    cursor:pointer;

    box-shadow:
        0 8px 24px rgba(15,23,42,.12);
}


.psix-hero-prev{
    left:20px;
}


.psix-hero-next{
    right:20px;
}


/* HERO DOTS */

.psix-hero-dots{
    position:absolute;
    z-index:15;

    left:50%;
    bottom:20px;

    display:flex;

    gap:9px;

    transform:translateX(-50%);
}


.psix-hero-dot{
    width:11px;
    height:11px;

    padding:0;

    border:0;

    border-radius:50%;

    background:
        rgba(255,255,255,.90);

    cursor:pointer;

    box-shadow:
        0 0 0 1px rgba(15,23,42,.15);
}


.psix-hero-dot.is-active{
    background:#2867ed;
}


/* =====================================================
   COMMON SECTION HEADER
===================================================== */

.psix-section-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:30px;

    margin-bottom:38px;
}


.psix-section-header-center{
    display:block;

    max-width:800px;

    margin-left:auto;
    margin-right:auto;

    text-align:center;
}


.psix-section-kicker{
    margin-bottom:10px;

    color:#2867ed;

    font-size:12px;
    font-weight:900;

    letter-spacing:.11em;
}


.psix-section-header h2{
    margin:0;

    color:#101828;

    font-size:44px;
    line-height:1.1;

    letter-spacing:-1.4px;
}


.psix-section-header p{
    max-width:720px;

    margin:16px auto 0;

    color:#667085;

    font-size:16px;
    line-height:1.65;
}


/* =====================================================
   DIRECTIONS
===================================================== */

.psix-directions{
    padding:82px 30px 96px;

    background:#f7f9fc;
}


.psix-directions-container{
    width:100%;
    max-width:1580px;

    margin:0 auto;
}


.psix-directions-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:24px;
}


.psix-direction-card{
    position:relative;

    aspect-ratio:4 / 3;

    overflow:hidden;

    display:flex;
    align-items:flex-end;

    padding:30px;

    border-radius:26px;

    background-color:#172033;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    isolation:isolate;

    box-shadow:
        0 14px 38px rgba(15,23,42,.15);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.psix-direction-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 24px 58px rgba(15,23,42,.22);
}


.psix-direction-overlay{
    position:absolute;
    inset:0;

    z-index:-1;

    background:
        linear-gradient(
            180deg,
            rgba(5,10,22,.03) 0%,
            rgba(5,10,22,.08) 34%,
            rgba(5,10,22,.60) 70%,
            rgba(5,10,22,.94) 100%
        );
}


.psix-direction-number{
    position:absolute;

    top:22px;
    right:24px;

    color:
        rgba(255,255,255,.82);

    font-size:34px;
    font-weight:900;

    text-shadow:
        0 2px 14px rgba(0,0,0,.4);
}


.psix-direction-icon{
    position:absolute;

    top:22px;
    left:24px;

    width:48px;
    height:48px;

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

    border:
        1px solid rgba(255,255,255,.28);

    border-radius:15px;

    background:
        rgba(10,18,35,.44);

    backdrop-filter:blur(8px);

    font-size:23px;
}


.psix-direction-content{
    position:relative;

    z-index:3;
}


.psix-direction-content h3{
    max-width:95%;

    margin:0 0 10px;

    color:#ffffff;

    font-size:25px;
    line-height:1.15;

    letter-spacing:-.4px;

    text-shadow:
        0 2px 16px rgba(0,0,0,.55);
}


.psix-direction-content p{
    max-width:94%;

    margin:0 0 18px;

    color:
        rgba(255,255,255,.88);

    font-size:14px;
    line-height:1.5;

    text-shadow:
        0 2px 12px rgba(0,0,0,.50);
}


.psix-direction-link{
    color:#ffffff;

    font-size:14px;
    font-weight:900;

    text-shadow:
        0 2px 12px rgba(0,0,0,.55);
}


/* =====================================================
   LATEST POSTS
===================================================== */

.psix-latest{
    padding:90px 30px 105px;

    background:#ffffff;
}


.psix-post-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:26px;
}


.psix-post-card{
    overflow:hidden;

    border:
        1px solid #e6eaf1;

    border-radius:22px;

    background:#ffffff;

    box-shadow:
        0 8px 28px rgba(28,44,76,.05);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.psix-post-card:hover{
    transform:translateY(-4px);

    box-shadow:
        0 18px 42px rgba(28,44,76,.10);
}


.psix-post-image{
    display:block;

    width:100%;

    aspect-ratio:16 / 10;

    overflow:hidden;

    background:#e9eef7;
}


.psix-post-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .4s ease;
}


.psix-post-card:hover
.psix-post-image img{
    transform:scale(1.035);
}


.psix-post-placeholder{
    width:100%;
    height:100%;

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

    color:#ffffff;

    font-size:25px;
    font-weight:900;

    background:
        linear-gradient(
            135deg,
            #2867ed,
            #7555d9
        );
}


.psix-post-content{
    padding:24px;
}


.psix-post-category{
    margin-bottom:10px;

    color:#2867ed;

    font-size:11px;
    font-weight:900;

    text-transform:uppercase;

    letter-spacing:.07em;
}


.psix-post-content h3{
    margin:0 0 10px;

    color:#101828;

    font-size:23px;
    line-height:1.25;
}


.psix-post-meta{
    margin-bottom:14px;

    color:#98a2b3;

    font-size:12px;
    font-weight:600;
}


.psix-post-content p{
    margin:0 0 19px;

    color:#667085;

    font-size:15px;
    line-height:1.55;
}


.psix-post-read{
    color:#2867ed;

    font-size:14px;
    font-weight:900;
}


.psix-no-posts{
    grid-column:1 / -1;

    padding:60px 30px;

    border:
        1px dashed #cbd4e4;

    border-radius:24px;

    background:#f8faff;

    text-align:center;
}


.psix-no-posts h3{
    margin:0 0 10px;

    color:#101828;
}


.psix-no-posts p{
    margin:0;

    color:#667085;
}


/* =====================================================
   HOME FINAL CTA
===================================================== */

.psix-home-final-cta{
    padding:
        0
        30px
        82px;

    background:#ffffff;
}


.psix-home-final-cta-card{
    width:100%;
    max-width:1440px;

    margin:0 auto;

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

    gap:50px;

    padding:
        42px
        46px;

    border-radius:28px;

    background:
        linear-gradient(
            135deg,
            #101828 0%,
            #172a4b 100%
        );

    box-shadow:
        0 18px 48px rgba(15,23,42,.14);
}


.psix-home-final-cta-content{
    max-width:760px;
}


.psix-home-final-cta-kicker{
    margin-bottom:10px;

    color:#6fa6ff;

    font-size:12px;
    font-weight:900;

    letter-spacing:.11em;
}


.psix-home-final-cta-card h2{
    margin:
        0
        0
        12px;

    color:#ffffff;

    font-size:34px;
    line-height:1.2;

    letter-spacing:-.6px;
}


.psix-home-final-cta-card p{
    max-width:700px;

    margin:0;

    color:
        rgba(255,255,255,.74);

    font-size:16px;
    line-height:1.7;
}


.psix-home-final-cta-topics{
    margin-top:18px;

    color:
        rgba(255,255,255,.52);

    font-size:13px;
    font-weight:700;
}


.psix-home-final-cta-actions{
    flex-shrink:0;

    display:flex;
    flex-direction:column;

    gap:10px;

    min-width:220px;
}


.psix-home-final-cta-actions a{
    min-height:50px;

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

    padding:
        0
        24px;

    border-radius:999px;

    font-size:14px;
    font-weight:900;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}


.psix-home-final-cta-actions a:hover{
    transform:translateY(-2px);
}


.psix-home-final-cta-primary{
    background:#2867ed;

    color:#ffffff;

    box-shadow:
        0 10px 26px rgba(40,103,237,.25);
}


.psix-home-final-cta-primary:hover{
    background:#1854d8;
}


.psix-home-final-cta-secondary{
    border:
        1px solid rgba(255,255,255,.20);

    background:
        rgba(255,255,255,.06);

    color:#ffffff;
}


.psix-home-final-cta-secondary:hover{
    border-color:
        rgba(255,255,255,.34);

    background:
        rgba(255,255,255,.10);
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1100px){


    .psix-home-final-cta-card{
        align-items:flex-start;

        flex-direction:column;
    }


    .psix-home-final-cta-actions{
        width:100%;

        flex-direction:row;

        min-width:0;
    }


    .psix-home-final-cta-actions a{
        flex:1;
    }


    .psix-hero-carousel{
        height:590px;
    }


    .psix-hero-content{
        width:65%;

        padding:54px;
    }


    .psix-hero-content h1,
    .psix-hero-content h2{
        font-size:48px;
    }


    .psix-directions-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .psix-post-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:760px){


    .psix-home-final-cta{
        padding:
            0
            18px
            58px;
    }


    .psix-home-final-cta-card{
        gap:28px;

        padding:
            30px
            26px;

        border-radius:24px;
    }


    .psix-home-final-cta-card h2{
        font-size:29px;
    }


    .psix-home-final-cta-card p{
        font-size:15px;
    }


    .psix-home-final-cta-topics{
        font-size:12px;
        line-height:1.6;
    }


    .psix-home-final-cta-actions{
        flex-direction:column;
    }


    .psix-home-final-cta-actions a{
        width:100%;
    }


    .psix-hero-section{
        padding:
            18px 14px 26px;
    }


    .psix-hero-carousel{
        height:670px;

        border-radius:24px;
    }


    .psix-hero-slide{
        align-items:flex-end;

        background-position:
            68% center;
    }


    .psix-hero-overlay{
        background:
            linear-gradient(
                0deg,
                rgba(255,255,255,.99) 0%,
                rgba(255,255,255,.96) 56%,
                rgba(255,255,255,.10) 100%
            );
    }


    .psix-hero-content{
        width:100%;
        max-width:none;

        padding:
            32px 28px 82px;
    }


    .psix-hero-content h1,
    .psix-hero-content h2{
        font-size:38px;

        letter-spacing:-1px;
    }


    .psix-hero-content p{
        font-size:16px;
    }


    .psix-hero-buttons{
        flex-direction:column;
    }


    .psix-button{
        width:100%;
    }


    .psix-hero-arrow{
        top:auto;
        bottom:18px;

        width:42px;
        height:42px;

        transform:none;
    }


    .psix-hero-prev{
        left:16px;
    }


    .psix-hero-next{
        right:16px;
    }


    .psix-directions{
        padding:
            62px 18px 72px;
    }


    .psix-directions-grid{
        grid-template-columns:1fr;
    }


    .psix-direction-card{
        padding:24px;

        border-radius:22px;
    }


    .psix-section-header{
        align-items:flex-start;

        flex-direction:column;
    }


    .psix-section-header-center{
        align-items:center;
    }


    .psix-section-header h2{
        font-size:35px;
    }


    .psix-latest{
        padding:
            66px 18px 76px;
    }


    .psix-post-grid{
        grid-template-columns:1fr;
    }

}