 

/* =========================================================
   TSCN — OBJECTIVES SECTION
   Premium Responsive UI
========================================================= */

.tscn-objectives{
    position:relative;
    overflow:hidden;

    padding:105px 0 95px;

    background:
        radial-gradient(
            circle at 8% 18%,
            rgba(169,29,57,.055),
            transparent 24%
        ),
        radial-gradient(
            circle at 92% 78%,
            rgba(198,154,74,.09),
            transparent 25%
        ),
        #fffaf3;
}


/* =========================================================
   BACKGROUND CIRCLES
========================================================= */

.tscn-objectives-bg-circle{
    position:absolute;

    width:420px;
    height:420px;

    border:1px solid rgba(169,29,57,.07);

    border-radius:50%;

    pointer-events:none;
}

.tscn-objectives-circle-one{
    left:-280px;
    top:-160px;
}

.tscn-objectives-circle-two{
    right:-250px;
    bottom:-220px;

    border-color:rgba(198,154,74,.12);
}


/* =========================================================
   HEADER
========================================================= */

.tscn-objectives-header{
    position:relative;

    max-width:760px;

    margin:0 auto 55px;

    text-align:center;

    z-index:2;
}


.tscn-objectives-eyebrow{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:9px;

    padding:8px 15px;

    color:#a91d39;

    background:rgba(169,29,57,.055);

    border:1px solid rgba(169,29,57,.10);

    border-radius:50px;

    font-size:9px;
    font-weight:900;

    letter-spacing:2px;
}


.tscn-objectives-eyebrow i{
    font-size:11px;
    color:#c69a4c;
}


.tscn-objectives-header h2{
    margin:20px 0 15px;

    color:#222126;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:clamp(38px,5vw,62px);

    line-height:1.05;

    letter-spacing:-1.5px;
}


.tscn-objectives-header h2 em{
    color:#a91d39;

    font-style:normal;
}


.tscn-objectives-header p{
    max-width:680px;

    margin:0 auto;

    color:#707178;

    font-size:14px;

    line-height:1.85;
}


/* =========================================================
   GRID
========================================================= */

.tscn-objectives-grid{
    position:relative;

    display:grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap:20px;

    z-index:2;
}


/* =========================================================
   CARD
========================================================= */

.tscn-objective-card{
    position:relative;

    min-height:285px;

    display:flex;
    flex-direction:column;

    padding:29px 27px 25px;

    background:rgba(255,255,255,.92);

    border:1px solid #eee4da;

    border-radius:24px;

    box-shadow:
        0 15px 45px rgba(43,25,31,.055);

    overflow:hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


.tscn-objective-card::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:3px;

    background:
        linear-gradient(
            90deg,
            #a91d39,
            #c69a4c
        );

    transform:scaleX(0);

    transform-origin:left;

    transition:transform .4s ease;
}


.tscn-objective-card:hover{
    transform:translateY(-8px);

    border-color:rgba(169,29,57,.17);

    box-shadow:
        0 24px 60px rgba(43,25,31,.11);
}


.tscn-objective-card:hover::before{
    transform:scaleX(1);
}


/* =========================================================
   FEATURED CARD
========================================================= */

.tscn-objective-featured{
    background:
        linear-gradient(
            145deg,
            #681329,
            #951b38
        );

    border-color:transparent;

    box-shadow:
        0 25px 60px rgba(105,19,42,.18);
}


.tscn-objective-featured h3,
.tscn-objective-featured p{
    color:#fff;
}


.tscn-objective-featured p{
    color:rgba(255,255,255,.76);
}


.tscn-objective-featured .tscn-objective-number{
    color:rgba(255,255,255,.30);
}


.tscn-objective-featured .tscn-objective-icon{
    background:#fff;

    color:#a91d39;
}


.tscn-objective-featured .tscn-objective-arrow{
    color:#fff;

    background:rgba(255,255,255,.13);
}


/* =========================================================
   NUMBER
========================================================= */

.tscn-objective-number{
    position:absolute;

    right:22px;
    top:17px;

    color:rgba(169,29,57,.13);

    font-size:30px;

    font-weight:900;

    line-height:1;
}


/* =========================================================
   ICON
========================================================= */

.tscn-objective-icon{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:22px;

    color:#fff;

    background:#a91d39;

    border-radius:16px;

    box-shadow:
        0 10px 22px rgba(169,29,57,.17);

    transition:
        transform .35s ease,
        border-radius .35s ease;
}


.tscn-objective-card:hover
.tscn-objective-icon{
    transform:rotate(-4deg) scale(1.06);

    border-radius:50%;
}


.tscn-objective-icon i{
    font-size:18px;
}


/* =========================================================
   CONTENT
========================================================= */

.tscn-objective-content{
    position:relative;

    z-index:2;
}


.tscn-objective-content h3{
    margin:0 0 12px;

    color:#25242a;

    font-size:18px;

    font-weight:800;

    letter-spacing:-.2px;
}


.tscn-objective-content p{
    margin:0;

    color:#74767c;

    font-size:13px;

    line-height:1.8;
}


/* =========================================================
   ARROW
========================================================= */

.tscn-objective-arrow{
    width:34px;
    height:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-top:auto;

    color:#a91d39;

    background:#fff5f2;

    border-radius:50%;

    font-size:11px;

    transition:
        transform .3s ease,
        background .3s ease;
}


.tscn-objective-card:hover
.tscn-objective-arrow{
    transform:translateX(5px);

    background:#f8e9e8;
}


/* =========================================================
   WIDE LAST CARD
========================================================= */

.tscn-objective-wide{
    grid-column:span 3;

    min-height:210px;

    display:grid;

    grid-template-columns:auto 60px 1fr auto;

    align-items:center;

    column-gap:24px;

    padding:28px 35px;
}


.tscn-objective-wide
.tscn-objective-number{
    position:static;

    font-size:38px;
}


.tscn-objective-wide
.tscn-objective-icon{
    margin:0;
}


.tscn-objective-wide
.tscn-objective-arrow{
    margin:0;
}


/* =========================================================
   FOOTER STATEMENT
========================================================= */

.tscn-objectives-footer{
    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    gap:18px;

    max-width:850px;

    margin:55px auto 0;

    padding:22px 27px;

    background:#fff;

    border:1px solid #eee3d8;

    border-radius:20px;

    box-shadow:
        0 15px 40px rgba(40,25,28,.05);
}


.tscn-objectives-footer-icon{
    flex:0 0 48px;

    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    background:#a91d39;

    border-radius:50%;
}


.tscn-objectives-footer strong{
    display:block;

    margin-bottom:4px;

    color:#29272c;

    font-size:14px;
}


.tscn-objectives-footer span{
    display:block;

    color:#85858a;

    font-size:12px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .tscn-objectives{
        padding:85px 0 80px;
    }

    .tscn-objectives-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .tscn-objective-wide{
        grid-column:span 2;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .tscn-objectives{
        padding:70px 0 65px;
    }

    .tscn-objectives-header{
        margin-bottom:38px;
    }

    .tscn-objectives-header h2{
        font-size:39px;

        letter-spacing:-1px;
    }

    .tscn-objectives-header p{
        font-size:13px;

        line-height:1.75;
    }

    .tscn-objectives-grid{
        grid-template-columns:1fr;

        gap:15px;
    }

    .tscn-objective-card{
        min-height:250px;

        padding:25px 23px 22px;

        border-radius:20px;
    }

    .tscn-objective-wide{
        grid-column:auto;

        min-height:250px;

        display:flex;

        align-items:flex-start;

        flex-direction:column;

        gap:0;

        padding:25px 23px 22px;
    }

    .tscn-objective-wide
    .tscn-objective-number{
        position:absolute;

        right:22px;
        top:17px;
    }

    .tscn-objective-wide
    .tscn-objective-icon{
        margin-bottom:20px;
    }

    .tscn-objective-content h3{
        font-size:17px;
    }

    .tscn-objective-content p{
        font-size:12.5px;

        line-height:1.75;
    }

    .tscn-objectives-footer{
        margin-top:35px;

        padding:18px;

        gap:13px;

        border-radius:17px;
    }

    .tscn-objectives-footer-icon{
        flex:0 0 42px;

        width:42px;
        height:42px;
    }

    .tscn-objectives-footer strong{
        font-size:12px;
    }

    .tscn-objectives-footer span{
        font-size:10px;

        line-height:1.5;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:420px){

    .tscn-objectives-header h2{
        font-size:34px;
    }

    .tscn-objectives-eyebrow{
        font-size:8px;

        letter-spacing:1.5px;

        padding:7px 12px;
    }

    .tscn-objective-card{
        min-height:245px;
    }

    .tscn-objective-number{
        font-size:26px;
    }

}

 
