/*==========================================================
    SOLUTIONS
==========================================================*/

.solutions{

    position:relative;

    padding:140px 0;

    background:#050505;

    overflow:hidden;

}

.solutions::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        radial-gradient(

            circle at top right,

            rgba(215,38,30,.06),

            transparent 45%

        );

    pointer-events:none;

}

/*==========================================================
    SECTION HEADER
==========================================================*/

.section-header{

    position:relative;

    z-index:2;

    max-width:760px;

    margin:0 auto 90px;

    text-align:center;

}

.section-tag{

    display:inline-flex;

    align-items:center;

    gap:14px;

    margin-bottom:24px;

    color:rgba(255,255,255,.72);

    font-size:13px;

    font-weight:700;

    letter-spacing:.22em;

    text-transform:uppercase;

}

.section-tag::before{

    content:"";

    width:42px;

    height:2px;

    border-radius:999px;

    background:#D7261E;

}

.section-title{

    margin:0;

    color:#FFFFFF;

    font-size:clamp(44px,5vw,68px);

    line-height:1.05;

    letter-spacing:-2px;

    font-weight:800;

}

.section-description{

    margin:28px auto 0;

    max-width:700px;

    color:rgba(255,255,255,.72);

    font-size:19px;

    line-height:1.8;

}

/*==========================================================
    GRID
==========================================================*/

.solutions-grid{

    display:grid;

    grid-template-columns:

        repeat(2,1fr);

    gap:32px;

    position:relative;

    z-index:2;

}

/*==========================================================
    CARD
==========================================================*/

.solution-card{

    position:relative;

    display:flex;

    flex-direction:column;

    overflow:hidden;

    min-height:520px;

    border-radius:30px;

    background:#111111;

    border:1px solid rgba(255,255,255,.06);

    cursor:pointer;

    transition:

        transform .45s ease,

        border-color .45s ease,

        box-shadow .45s ease;

}

.solution-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,255,255,.14);

    box-shadow:

        0 30px 80px rgba(0,0,0,.35);

}

/*==========================================================
    IMAGE CONTAINER
==========================================================*/

.solution-image{

    position:relative;

    width:100%;

    height:100%;

    min-height:520px;

    overflow:hidden;

    background:#0B0B0B;

}

/*==========================================================
    IMAGE
==========================================================*/

.solution-image img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    object-position:center;

    transition:

        transform .9s cubic-bezier(.19,1,.22,1),

        filter .8s ease,

        opacity .4s ease;

    filter:

        brightness(.90)

        saturate(.92)

        contrast(1.05);

}

/*==========================================================
    IMAGE HOVER
==========================================================*/

.solution-card:hover .solution-image img{

    transform:scale(1.08);

    filter:

        brightness(1)

        saturate(1)

        contrast(1.08);

}

/*==========================================================
    IMAGE SHADOW
==========================================================*/

.solution-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            to top,

            rgba(0,0,0,.92) 0%,

            rgba(0,0,0,.55) 28%,

            rgba(0,0,0,.15) 55%,

            rgba(0,0,0,0) 100%

        );

    pointer-events:none;

}

/*==========================================================
    CARD CONTENT
==========================================================*/

.solution-content{

    position:absolute;

    left:38px;

    right:38px;

    bottom:38px;

    z-index:5;

    display:flex;

    flex-direction:column;

}

/*==========================================================
    TITLE
==========================================================*/

.solution-content h3{

    margin:0;

    color:#FFFFFF;

    font-size:38px;

    font-weight:800;

    line-height:1.05;

    letter-spacing:-1px;

}

/*==========================================================
    DESCRIPTION
==========================================================*/

.solution-content p{

    margin-top:18px;

    color:rgba(255,255,255,.75);

    font-size:17px;

    line-height:1.7;

    max-width:420px;

}

/*==========================================================
    CATEGORY
==========================================================*/

.solution-content::before{

    content:"Solução";

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:max-content;

    margin-bottom:18px;

    padding:8px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(16px);

    -webkit-backdrop-filter:blur(16px);

    color:#FFFFFF;

    font-size:12px;

    font-weight:700;

    letter-spacing:.15em;

    text-transform:uppercase;

    transition:

        background .35s ease,

        border-color .35s ease,

        transform .35s ease;

}

.solution-card:hover .solution-content::before{

    background:rgba(215,38,30,.18);

    border-color:rgba(215,38,30,.35);

    transform:translateY(-2px);

}

/*==========================================================
    LINK
==========================================================*/

.solution-content a{

    display:inline-flex;

    align-items:center;

    gap:12px;

    width:max-content;

    margin-top:28px;

    color:#FFFFFF;

    font-size:15px;

    font-weight:700;

    letter-spacing:.02em;

    transition:

        color .35s ease,

        transform .35s ease;

}

.solution-content a::after{

    content:"→";

    font-size:18px;

    transition:

        transform .35s ease;

}

.solution-card:hover .solution-content a{

    color:#D7261E;

}

.solution-card:hover .solution-content a::after{

    transform:translateX(8px);

}

/*==========================================================
    CONTENT ANIMATION
==========================================================*/

.solution-content{

    transition:

        transform .45s ease;

}

.solution-card:hover .solution-content{

    transform:translateY(-8px);

}

.solution-card:hover h3{

    color:#FFFFFF;

}

.solution-card:hover p{

    color:#FFFFFF;

}

/*==========================================================
    SHINE EFFECT
==========================================================*/

.solution-card::before{

    content:"";

    position:absolute;

    top:-150%;

    left:-60%;

    width:70%;

    height:320%;

    background:

        linear-gradient(

            transparent,

            rgba(255,255,255,.10),

            transparent

        );

    transform:rotate(25deg);

    transition:1.1s ease;

    pointer-events:none;

    z-index:8;

}

.solution-card:hover::before{

    left:160%;

}

/*==========================================================
    PREMIUM CARD EFFECT
==========================================================*/

.solution-card{

    isolation:isolate;

    transform-style:preserve-3d;

    perspective:1200px;

}

.solution-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:inherit;

    border:1px solid rgba(255,255,255,.05);

    pointer-events:none;

    transition:

        border-color .4s ease,

        opacity .4s ease;

}

.solution-card:hover::after{

    border-color:rgba(255,255,255,.14);

}

/*==========================================================
    LIGHT EFFECT
==========================================================*/

.solution-card .solution-image::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:2;

    opacity:0;

    background:

        radial-gradient(

            circle at top right,

            rgba(255,255,255,.18),

            transparent 45%

        );

    transition:opacity .5s ease;

}

.solution-card:hover .solution-image::before{

    opacity:1;

}

/*==========================================================
    IMAGE COLOR
==========================================================*/

.solution-image img{

    filter:

        brightness(.88)

        contrast(1.08)

        saturate(.90);

}

.solution-card:hover .solution-image img{

    filter:

        brightness(1)

        contrast(1.12)

        saturate(1);

}

/*==========================================================
    CONTENT
==========================================================*/

.solution-content{

    text-shadow:

        0 4px 18px rgba(0,0,0,.45);

}

.solution-content h3{

    transition:

        transform .35s ease,

        letter-spacing .35s ease;

}

.solution-card:hover h3{

    letter-spacing:-.5px;

}

.solution-content p{

    transition:

        opacity .35s ease,

        transform .35s ease;

}

.solution-card:hover p{

    transform:translateY(-2px);

}

/*==========================================================
    BUTTON
==========================================================*/

.solution-content a{

    position:relative;

}

.solution-content a::before{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    border-radius:999px;

    background:#D7261E;

    transition:width .35s ease;

}

.solution-card:hover .solution-content a::before{

    width:100%;

}

/*==========================================================
    RESPONSIVE
==========================================================*/

@media (max-width:1400px){

    .solutions-grid{

        gap:26px;

    }

}

@media (max-width:1200px){

    .solutions{

        padding:120px 0;

    }

    .solutions-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .solution-card{

        min-height:480px;

    }

    .section-header{

        margin-bottom:70px;

    }

}

@media (max-width:992px){

    .solutions{

        padding:100px 0;

    }

    .solution-card{

        min-height:420px;

    }

    .solution-image{

        min-height:420px;

    }

    .solution-content{

        left:30px;

        right:30px;

        bottom:30px;

    }

    .solution-content h3{

        font-size:34px;

    }

    .solution-content p{

        font-size:16px;

        max-width:100%;

    }

}

@media (max-width:768px){

    .section-title{

        font-size:42px;

    }

    .section-description{

        font-size:17px;

        line-height:1.7;

    }

    .solution-card{

        border-radius:24px;

        min-height:360px;

    }

    .solution-image{

        min-height:360px;

    }

    .solution-content{

        left:24px;

        right:24px;

        bottom:24px;

    }

    .solution-content h3{

        font-size:30px;

    }

    .solution-content p{

        margin-top:14px;

        font-size:15px;

    }

}

@media (max-width:576px){

    .solutions{

        padding:90px 0;

    }

    .solutions-grid{

        gap:20px;

    }

    .solution-card{

        min-height:320px;

    }

    .solution-image{

        min-height:320px;

    }

    .solution-content{

        left:20px;

        right:20px;

        bottom:20px;

    }

    .solution-content h3{

        font-size:26px;

    }

    .solution-content p{

        display:none;

    }

    .solution-content a{

        margin-top:18px;

        font-size:14px;

    }

}

/*==========================================================
    PERFORMANCE
==========================================================*/

.solution-card,

.solution-image,

.solution-image img,

.solution-content{

    backface-visibility:hidden;

    -webkit-backface-visibility:hidden;

    will-change:transform;

}

.solution-card{

    contain:layout paint;

}

/*==========================================================
    ACCESSIBILITY
==========================================================*/

.solution-card:focus-within{

    outline:2px solid #D7261E;

    outline-offset:6px;

    border-radius:30px;

}

.solution-content a:focus-visible{

    outline:2px solid #D7261E;

    outline-offset:4px;

    border-radius:6px;

}

/*==========================================================
    REDUCED MOTION
==========================================================*/

@media (prefers-reduced-motion:reduce){

    .solution-card,

    .solution-card *{

        animation:none !important;

        transition:none !important;

        transform:none !important;

    }

}

/*==========================================================
    END
==========================================================*/