/* ==================================================
   PAGE HERO (ABOUT)
================================================== */

.page-hero{

    position:relative;

    height:40vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    background:url('https://images.unsplash.com/photo-1581092580497-e0d23cbdf1dc?auto=format&fit=crop&w=1920&q=80');

    background-size:cover;

    background-position:center;
}

/* OVERLAY MIL */

.page-hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(30,27,75,.92),
        rgba(67,56,202,.75)
    );
}

/* CONTENU */

.page-hero-content{

    position:relative;

    z-index:2;

    color:white;

    max-width:800px;
}

/* TITRE */

.page-hero-content h1{

    font-size:52px;

    font-weight:800;

    margin-bottom:15px;
}

/* TEXTE */

.page-hero-content p{

    font-size:18px;

    color:#e2e8f0;

    max-width:600px;

    margin:auto;
}

/* ==================================================
   CEO SECTION
================================================== */

.ceo-section{

    padding:50px 0;

    background:#f8fafc;
}

.ceo-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;
}

/* IMAGE */

.ceo-image img{

    width:100%;

    height:500px;

    object-fit:cover;

    border-radius:25px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);
}

/* TEXTE */

.ceo-content h2{

    font-size:36px;

    font-weight:800;

    color:#1e293b;

    margin:15px 0;
}

.ceo-content p{

    color:#475569;

    margin-bottom:15px;

    font-size:15px;

    line-height:1.8;
}

/* BADGE */

.section-badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(99,102,241,.12);

    color:#4338ca;

    font-size:13px;

    font-weight:600;
}

/* SIGNATURE */

.ceo-signature{

    margin-top:25px;

    padding-top:15px;

    border-top:1px solid #e2e8f0;
}

.ceo-signature h4{

    margin:0;

    color:#4338ca;

    font-weight:700;
}

.ceo-signature span{

    font-size:13px;

    color:#64748b;
}

/* ==========================================
RESPONSIVE CEO SECTION
========================================== */

@media (max-width: 992px){

    .ceo-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    /* Image en premier */
    .ceo-image{
        order:1;
    }

    /* Texte en dessous */
    .ceo-content{
        order:2;
    }

    .ceo-image img{
        height:auto !important;
        max-height:550px;
        object-fit:contain;
    }

    .ceo-content h2{
        font-size:30px;
        text-align:center;
    }

    .ceo-content{
        text-align:center;
    }

    .ceo-content p{
        text-align:justify !important;
    }

    .ceo-signature{
        text-align:center;
    }
}

@media (max-width: 768px){

    .ceo-section{
        padding:60px 0;
    }

    .ceo-grid{
        gap:30px;
    }

    .ceo-image img{
        width:100%;
        height:auto !important;
        border-radius:20px;
    }

    .ceo-content h2{
        font-size:26px;
        line-height:1.4;
    }

    .ceo-content p{
        font-size:15px;
        line-height:1.9;
    }

    .section-badge{
        display:table;
        margin:0 auto 15px;
    }

    .ceo-signature{
        margin-top:25px;
    }
}

@media (max-width: 576px){

    .ceo-content h2{
        font-size:22px;
    }

    .ceo-content p{
        font-size:14px;
    }

    .ceo-image img{
        max-height:400px;
    }
}

/* ==================================================
   HISTORY SECTION
================================================== */

.history-section{

    padding-top:30px;

    background:#d8d8d8ea;
}

/* HEADER */

.section-header{

    text-align:center;

    margin-bottom:60px;
}

.section-header h2{

    font-size:38px;

    font-weight:800;

    color:#1e293b;
}

.section-header p{

    color:#64748b;

    max-width:600px;

    margin:auto;
}

/* TIMELINE */

.timeline{

    position:relative;

    max-width:1000px;

    margin:auto;
}

/* LIGNE CENTRALE */

.timeline::after{

    content:"";

    position:absolute;

    width:4px;

    background:linear-gradient(#6366f1,#4338ca);

    top:0;

    bottom:0;

    left:50%;

    transform:translateX(-50%);
}

/* ITEM */

.timeline-item{

    padding:20px 40px;

    position:relative;

    width:50%;
}

/* LEFT */

.timeline-item.left{

    left:0;
    text-align:right;
}

/* RIGHT */

.timeline-item.right{

    left:50%;
}

/* CONTENT BOX */

.timeline-item .content{

    background:white;

    padding:25px;

    border-radius:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.06);

    position:relative;
}

/* POINT CENTRAL */

.timeline-item::before{

    content:"";

    position:absolute;

    width:18px;

    height:18px;

    background:#4338ca;

    border-radius:50%;

    top:30px;

    z-index:2;

    border:3px solid white;
}

/* POSITION POINT */

.timeline-item.left::before{

    right:-9px;
}

.timeline-item.right::before{

    left:-9px;
}

/* TITRE ANNÉE */

.timeline-item h3{

    margin:0;

    color:#4338ca;

    font-size:20px;

    font-weight:800;
}

/* SOUS TITRE */

.timeline-item h4{

    margin:5px 0;

    color:#1e293b;

    font-size:18px;
}

/* TEXTE */

.timeline-item p{

    color:#64748b;

    font-size:14px;
}

/* RESPONSIVE */

@media(max-width:768px){

    .timeline::after{

        left:10px;
    }

    .timeline-item{

        width:100%;

        padding-left:40px;

        padding-right:0;

        text-align:left !important;
    }

    .timeline-item.right{

        left:0;
    }

    .timeline-item::before{

        left:0;
    }
}

/* ==================================================
   ENGAGEMENT SECTION
================================================== */

.engagement-section{

    padding-top:40px ;

    background:#f8fafc;
}

/* HEADER */

.section-header{

    text-align:center;

    margin-bottom:50px;
}

.section-header h2{

    font-size:38px;

    font-weight:800;

    color:#1e293b;
}

.section-header p{

    color:#64748b;

    max-width:650px;

    margin:auto;
}

/* TABS WRAPPER */

.tabs{

    max-width:900px;

    margin:auto;
}

/* BUTTONS */

.tab-buttons{

    display:flex;

    justify-content:center;

    gap:10px;

    flex-wrap:wrap;

    margin-bottom:30px;
}

.tab-btn{

    padding:12px 20px;

    border:none;

    border-radius:50px;

    cursor:pointer;

    background:#e2e8f0;

    color:#334155;

    font-weight:600;

    transition:.3s;
}

.tab-btn.active{

    background:linear-gradient(135deg,#6366f1,#4338ca);

    color:white;

    box-shadow:0 10px 25px rgba(67,56,202,.25);
}

/* CONTENT */

.tab-content{

    background:white;

    padding:40px;

    border-radius:20px;

    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

/* PANELS */

.tab-panel{

    display:none;

    animation:fadeIn .4s ease;
}

.tab-panel.active{

    display:block;
}

/* TEXT */

.tab-panel h3{

    color:#4338ca;

    margin-bottom:15px;
}

.tab-panel p,
.tab-panel li{

    color:#475569;

    font-size:15px;
}

.tab-panel ul{

    padding-left:20px;
}

/* ANIMATION */

@keyframes fadeIn{

    from{opacity:0; transform:translateY(10px);}
    to{opacity:1; transform:translateY(0);}
}

/* ==================================================
   TAB PREMIUM GRID
================================================== */

.tab-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:30px;

    align-items:center;
}

/* IMAGE */

.tab-grid img{

    width:100%;

    height:280px;

    object-fit:cover;

    border-radius:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.10);
}

/* TITRES */

.tab-panel h3{

    font-size:22px;

    color:#4338ca;

    margin-bottom:15px;
}

/* LIST */

.tab-panel ul{

    margin-top:10px;
}

.tab-panel ul li{

    margin-bottom:8px;

    color:#475569;

    font-size:14px;
}

/* RESPONSIVE */

@media(max-width:768px){

    .tab-grid{

        grid-template-columns:1fr;
    }

    .tab-grid img{

        height:200px;
    }
}

/* ==================================================
   WHY CHOOSE CTA
================================================== */

.why-choose-section{

    position:relative;

    padding:50px 0;

    background:url('https://images.unsplash.com/photo-1581092335397-9fa0f5c2b0d8?auto=format&fit=crop&w=1920&q=80');

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

    overflow:hidden;
}

/* OVERLAY MIL */

.why-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(30,27,75,.95),
        rgba(67,56,202,.85)
    );

    z-index:1;
}

/* CONTENT */

.why-content{

    position:relative;

    z-index:2;

    text-align:center;

    color:white;
}

/* TITLE */

.why-content h2{

    font-size:42px;

    font-weight:800;

    margin-bottom:10px;
}

/* SUBTITLE */

.subtitle{

    max-width:700px;

    margin:0 auto 40px;

    color:#e2e8f0;

    font-size:16px;
}

/* GRID */

.why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin-bottom:40px;
}

/* ITEM */

.why-item{

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

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

    backdrop-filter:blur(12px);

    padding:25px;

    border-radius:18px;

    transition:.3s;
}

.why-item:hover{

    transform:translateY(-8px);

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

.why-item h3{

    font-size:18px;

    margin-bottom:10px;
}

.why-item p{

    font-size:14px;

    color:#e2e8f0;
}

/* BUTTON */

.why-btn{

    display:inline-block;

    padding:16px 40px;

    border-radius:50px;

    font-weight:700;

    color:white;

    background:linear-gradient(
        135deg,
        #6366f1,
        #4338ca
    );

    box-shadow:0 20px 50px rgba(67,56,202,.35);

    transition:.3s;
}

.why-btn:hover{

    transform:translateY(-5px);

    box-shadow:0 25px 60px rgba(67,56,202,.45);

    color:white;
}

/* RESPONSIVE */

@media(max-width:991px){

    .why-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:576px){

    .why-grid{
        grid-template-columns:1fr;
    }

    .why-content h2{
        font-size:30px;
    }
}

/* ==================================================
   PARTNERS SECTION
================================================== */

.partners-section{

    padding-top:70px;
    background:#f8fafc;
}

/* HEADER */

.section-header{

    text-align:center;

    margin-bottom:40px;
}

.section-header h2{

    font-size:36px;

    font-weight:800;

    color:#1e293b;
}

.section-header p{

    color:#64748b;

    max-width:600px;

    margin:auto;
}

/* SLIDER WRAPPER */

.partners-slider{

    overflow:hidden;

    position:relative;
}

/* TRACK ANIMATION */

.partners-track{

    display:flex;

    align-items:center;

    gap:60px;

    width:max-content;

    animation:scroll 20s linear infinite;
}

/* LOGOS */

.partners-track img{

    height:60px;

    filter:grayscale(100%);

    opacity:.7;

    transition:.3s;
}

.partners-track img:hover{

    filter:grayscale(0%);

    opacity:1;

    transform:scale(1.05);
}

/* ANIMATION */

@keyframes scroll{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(-50%);
    }
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-top:40px;
}

.why-item{
    background:#fff;
    padding:35px 25px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
    transition:.3s;
}

.why-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 50px rgba(0,0,0,.12);
}

.why-icon{
    font-size:40px;
    margin-bottom:15px;
    display:flex;
    justify-content:center;
    align-items:center;
}

.why-item h3{
    font-size:20px;
    margin-bottom:10px;
    color:#111827;
}

.why-item p{
    font-size:14px;
    color:#6b7280;
    line-height:1.6;
}

/* RESPONSIVE */
@media(max-width:991px){
    .why-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){
    .why-grid{
        grid-template-columns:1fr;
    }
}

.why-icon{
    width:70px;
    height:70px;

    margin:0 auto 15px;

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

    border-radius:50%;

    background:linear-gradient(135deg,#6366f1,#4f46e5);

    color:#fff;

    font-size:26px;

    box-shadow:0 10px 25px rgba(99,102,241,.25);
    transition:.3s;
}

.why-item:hover .why-icon{
    transform:scale(1.1) rotate(5deg);
}