/* =========================================================
   FENIFOOT — PRÉSENTATION
   Page institutionnelle — contenu ancien site / nouveau design
   ========================================================= */

:root{
    --fpv-green:#006b3c;
    --fpv-green-dark:#003d27;
    --fpv-green-deep:#061810;
    --fpv-orange:#f5a400;
    --fpv-orange-dark:#c87900;
    --fpv-white:#fff;
    --fpv-cream:#f4f2ed;
    --fpv-ink:#0a1711;
    --fpv-text:#39443e;
    --fpv-muted:#6f7772;
    --fpv-line:rgba(7,27,19,.12);
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:var(--fpv-cream);
    color:var(--fpv-ink);
    font-family:Arial,Helvetica,sans-serif;
}

.fp-v-hidden{
    display:none!important;
}

.fpv-container{
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}

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

.fpv-hero{
    position:relative;
    min-height:610px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    color:#fff;
    background:#063a25;
}

.fpv-hero-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(0,43,27,.98) 0%,rgba(0,83,48,.78) 52%,rgba(0,0,0,.34) 100%),
        url("../images/Héro/Mena.png") center/cover no-repeat;
    transform:scale(1.02);
}

.fpv-hero-grid{
    position:absolute;
    inset:0;
    opacity:.18;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:80px 80px;
    mask-image:linear-gradient(90deg,#000,transparent 80%);
}

.fpv-hero-inner{
    position:relative;
    z-index:2;
    padding:170px 0 82px;
}

.fpv-hero-kicker{
    margin-bottom:22px;
    color:rgba(255,255,255,.58);
    font-size:10px;
    font-weight:800;
    letter-spacing:4px;
}

.fpv-hero h1{
    max-width:900px;
    margin:0;
    font-size:clamp(54px,8vw,96px);
    line-height:.91;
    letter-spacing:-5px;
}

.fpv-hero h1 span{
    display:block;
    color:var(--fpv-orange);
}

.fpv-hero p{
    margin:28px 0 0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.fpv-hero-scroll{
    display:inline-flex;
    align-items:center;
    gap:18px;
    margin-top:40px;
    padding:13px 18px;
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.fpv-hero-scroll b{
    color:var(--fpv-orange);
    font-size:16px;
}

.fpv-hero-index{
    position:absolute;
    right:38px;
    bottom:38px;
    z-index:3;
    color:rgba(255,255,255,.4);
    font-size:8px;
    font-weight:800;
    letter-spacing:3px;
}

/* =========================================================
   SECTIONS
   ========================================================= */

.fpv-section{
    padding:105px 0;
}

.fpv-light{
    background:var(--fpv-cream);
}

.fpv-dark{
    color:#fff;
    background:
        radial-gradient(circle at 80% 20%,rgba(0,107,60,.34),transparent 30%),
        var(--fpv-green-deep);
}

.fpv-orange{
    color:#fff;
    background:
        radial-gradient(circle at 85% 25%,rgba(255,255,255,.14),transparent 30%),
        linear-gradient(135deg,#c77700,#f5a400);
}

.fpv-heading{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:24px;
    align-items:start;
    margin-bottom:55px;
}

.fpv-section-number{
    padding-top:4px;
    color:var(--fpv-orange-dark);
    font-size:10px;
    font-weight:900;
    letter-spacing:3px;
}

.fpv-heading-light .fpv-section-number{
    color:rgba(255,255,255,.48);
}

.fpv-overline{
    color:var(--fpv-orange-dark);
    font-size:9px;
    font-weight:800;
    letter-spacing:3px;
}

.fpv-heading-light .fpv-overline{
    color:rgba(255,255,255,.58);
}

.fpv-heading h2{
    margin:10px 0 0;
    font-size:clamp(38px,5vw,64px);
    line-height:.96;
    letter-spacing:-3px;
}

.fpv-heading-light h2{
    color:#fff;
}

/* =========================================================
   STATUT
   ========================================================= */

.fpv-statute-layout{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);
    gap:24px;
}

.fpv-text-card{
    padding:48px;
    background:#fff;
    border:1px solid var(--fpv-line);
    box-shadow:0 25px 70px rgba(0,0,0,.07);
}

.fpv-text-card p{
    margin:0 0 22px;
    color:#505a55;
    font-size:15px;
    line-height:1.95;
}

.fpv-text-card p:last-child{
    margin-bottom:0;
}

.fpv-affiliations{
    padding:38px;
    color:#fff;
    background:var(--fpv-green);
}

.fpv-card-kicker{
    margin-bottom:25px;
    color:rgba(255,255,255,.5);
    font-size:9px;
    font-weight:800;
    letter-spacing:3px;
}

.fpv-affiliation{
    padding:20px 0;
    border-top:1px solid rgba(255,255,255,.16);
}

.fpv-affiliation:last-child{
    border-bottom:1px solid rgba(255,255,255,.16);
}

.fpv-affiliation span{
    display:block;
    margin-bottom:10px;
    color:var(--fpv-orange);
    font-size:9px;
    font-weight:900;
    letter-spacing:2px;
}

.fpv-affiliation strong{
    display:block;
    font-size:21px;
    letter-spacing:1px;
}

.fpv-affiliation p{
    margin:7px 0 0;
    color:rgba(255,255,255,.63);
    font-size:11px;
    line-height:1.6;
}

.fpv-note{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:20px;
    align-items:center;
    margin-top:24px;
    padding:28px 32px;
    background:#fff;
    border-left:4px solid var(--fpv-orange);
}

.fpv-note-mark{
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    color:#fff;
    background:var(--fpv-green);
    font-size:19px;
    font-weight:900;
}

.fpv-note span{
    display:block;
    margin-bottom:8px;
    color:var(--fpv-green);
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
}

.fpv-note p{
    margin:0;
    color:#59635e;
    font-size:13px;
    line-height:1.75;
}

/* =========================================================
   IDENTITÉ
   ========================================================= */

.fpv-identity{
    display:grid;
    grid-template-columns:minmax(0,1fr) 370px;
    gap:80px;
    align-items:center;
}

.fpv-identity-text p{
    margin:0 0 22px;
    color:rgba(255,255,255,.66);
    font-size:15px;
    line-height:1.9;
}

.fpv-logo-stage{
    position:relative;
    min-height:390px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.035);
}

.fpv-logo-orbit{
    position:absolute;
    width:275px;
    height:275px;
    border:1px solid rgba(245,164,0,.24);
    border-radius:50%;
}

.fpv-logo-circle{
    position:relative;
    z-index:2;
    width:190px;
    height:190px;
    display:grid;
    place-items:center;
    border:1px solid rgba(245,164,0,.5);
    border-radius:50%;
    background:rgba(255,255,255,.035);
}

.fpv-logo-circle img{
    width:135px;
    height:135px;
    object-fit:contain;
}

.fpv-logo-stage>span{
    position:relative;
    z-index:2;
    margin-top:25px;
    color:#fff;
    font-size:21px;
    font-weight:800;
    letter-spacing:3px;
}

.fpv-logo-stage>small{
    position:relative;
    z-index:2;
    margin-top:7px;
    color:rgba(255,255,255,.36);
    font-size:7px;
    letter-spacing:2px;
}

/* =========================================================
   FONCTIONNEMENT — ACCORDÉON
   ========================================================= */

.fpv-function-intro{
    max-width:860px;
    margin-bottom:38px;
}

.fpv-function-intro p{
    margin:0;
    color:#5b655f;
    font-size:15px;
    line-height:1.9;
}

.fpv-accordion{
    border-top:1px solid var(--fpv-line);
}

.fpv-accordion-item{
    border-bottom:1px solid var(--fpv-line);
    background:#fff;
    transition:background .3s ease;
}

.fpv-accordion-item.is-open{
    background:#fff;
}

.fpv-accordion-trigger{
    width:100%;
    min-height:82px;
    display:grid;
    grid-template-columns:55px 1fr 70px;
    align-items:center;
    gap:15px;
    padding:0 28px;
    border:0;
    cursor:pointer;
    text-align:left;
    color:var(--fpv-green-dark);
    background:transparent;
}

.fpv-accordion-number{
    color:var(--fpv-orange-dark);
    font-size:9px;
    font-weight:900;
    letter-spacing:2px;
}

.fpv-accordion-title{
    font-size:17px;
    font-weight:700;
    line-height:1.3;
}

.fpv-accordion-icon{
    width:70px;
    height:82px;
    display:grid;
    place-items:center;
    justify-self:end;
    border-left:1px solid var(--fpv-line);
    color:#707771;
    font-size:25px;
    font-weight:300;
}

.fpv-accordion-content{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .42s ease;
}

.fpv-accordion-content>div{
    overflow:hidden;
}

.fpv-accordion-item.is-open .fpv-accordion-content{
    grid-template-rows:1fr;
}

.fpv-accordion-content p{
    margin:0;
    padding:0 100px 34px 98px;
    color:#4e5853;
    font-size:15px;
    line-height:1.9;
}

.fpv-structures{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:35px;
    border:1px solid var(--fpv-line);
    background:#fff;
}

.fpv-structures a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:75px;
    padding:0 24px;
    border-right:1px solid var(--fpv-line);
    color:var(--fpv-green-dark);
    font-size:13px;
    font-weight:700;
    transition:background .25s ease,color .25s ease;
}

.fpv-structures a:last-child{
    border-right:0;
}

.fpv-structures a:hover{
    color:#fff;
    background:var(--fpv-green);
}

.fpv-structures b{
    color:var(--fpv-orange-dark);
}

.fpv-function-note{
    max-width:950px;
    margin-top:30px;
    padding-top:28px;
    border-top:1px solid var(--fpv-line);
}

.fpv-function-note p{
    margin:0 0 16px;
    color:#5b655f;
    font-size:14px;
    line-height:1.85;
}

/* =========================================================
   MISSIONS
   ========================================================= */

.fpv-mission-intro{
    max-width:850px;
}

.fpv-mission-intro p{
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:15px;
    line-height:1.9;
}

.fpv-mission{
    display:grid;
    grid-template-columns:70px 1fr;
    gap:30px;
    margin-top:48px;
    padding:43px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.1);
}

.fpv-mission>span{
    color:rgba(255,255,255,.5);
    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
}

.fpv-mission .fpv-overline{
    color:rgba(255,255,255,.53);
}

.fpv-mission p{
    margin:15px 0 0;
    color:#fff;
    font-size:17px;
    line-height:1.85;
}

/* =========================================================
   DOCUMENTS
   ========================================================= */

.fpv-documents{
    background:#fff;
}

.fpv-doc-intro{
    max-width:850px;
    margin-bottom:40px;
}

.fpv-doc-intro p{
    margin:0;
    color:#5a645e;
    font-size:15px;
    line-height:1.85;
}

.fpv-doc-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.fpv-doc-card{
    min-height:230px;
    display:flex;
    flex-direction:column;
    padding:28px;
    border:1px solid var(--fpv-line);
    background:var(--fpv-cream);
    transition:transform .3s ease,background .3s ease,border-color .3s ease;
}

.fpv-doc-card:hover{
    transform:translateY(-5px);
    background:var(--fpv-green);
    border-color:var(--fpv-green);
}

.fpv-doc-card>span{
    color:var(--fpv-orange-dark);
    font-size:9px;
    font-weight:900;
    letter-spacing:2px;
}

.fpv-doc-card strong{
    margin-top:35px;
    color:var(--fpv-green-dark);
    font-size:18px;
}

.fpv-doc-card small{
    margin-top:10px;
    color:#69726d;
    font-size:12px;
    line-height:1.65;
}

.fpv-doc-card b{
    margin-top:auto;
    color:var(--fpv-orange-dark);
    font-size:9px;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.fpv-doc-card:hover strong,
.fpv-doc-card:hover small{
    color:#fff;
}

.fpv-doc-card:hover>span,
.fpv-doc-card:hover b{
    color:var(--fpv-orange);
}

.fpv-doc-action{
    margin-top:25px;
    text-align:right;
}

.fpv-doc-action a{
    color:var(--fpv-green);
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.fpv-doc-action span{
    color:var(--fpv-orange-dark);
}

/* =========================================================
   PRÉSIDENT
   ========================================================= */

.fpv-president{
    padding:85px 0;
    color:#fff;
    background:var(--fpv-green-dark);
}

.fpv-president-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.fpv-president h2{
    margin:12px 0 15px;
    font-size:clamp(40px,5vw,62px);
    letter-spacing:-3px;
}

.fpv-president p{
    max-width:650px;
    margin:0;
    color:rgba(255,255,255,.62);
    font-size:14px;
    line-height:1.8;
}

.fpv-president a{
    flex:0 0 auto;
    padding:15px 20px;
    border:1px solid rgba(255,255,255,.2);
    color:#fff;
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.fpv-president a span{
    margin-left:14px;
    color:var(--fpv-orange);
}

/* =========================================================
   FOOTER
   ========================================================= */

.fpv-footer{
    color:rgba(255,255,255,.65);
    background:#06140e;
}

.fpv-footer-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:38px 0;
}

.fpv-footer strong{
    display:block;
    color:#fff;
    font-size:15px;
    letter-spacing:1px;
}

.fpv-footer-inner>div>span{
    display:block;
    margin-top:6px;
    font-size:9px;
    letter-spacing:1px;
}

.fpv-footer nav{
    display:flex;
    gap:24px;
}

.fpv-footer nav a{
    color:rgba(255,255,255,.62);
    font-size:9px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.fpv-footer-bottom{
    display:flex;
    justify-content:space-between;
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.3);
    font-size:8px;
    letter-spacing:1.5px;
}

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

@media(max-width:1050px){
    .fpv-doc-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .fpv-identity{
        grid-template-columns:1fr 340px;
        gap:45px;
    }
}

@media(max-width:900px){
    .fpv-statute-layout,
    .fpv-identity{
        grid-template-columns:1fr;
    }

    .fpv-logo-stage{
        min-height:340px;
    }

    .fpv-structures{
        grid-template-columns:1fr;
    }

    .fpv-structures a{
        border-right:0;
        border-bottom:1px solid var(--fpv-line);
    }

    .fpv-structures a:last-child{
        border-bottom:0;
    }

    .fpv-president-inner{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:700px){
    .fpv-container{
        width:calc(100% - 30px);
    }

    .fpv-hero{
        min-height:570px;
    }

    .fpv-hero-inner{
        padding:150px 0 65px;
    }

    .fpv-hero h1{
        font-size:52px;
        letter-spacing:-3px;
    }

    .fpv-hero-index{
        right:20px;
        bottom:20px;
    }

    .fpv-section{
        padding:75px 0;
    }

    .fpv-heading{
        grid-template-columns:40px 1fr;
        gap:14px;
        margin-bottom:38px;
    }

    .fpv-heading h2{
        font-size:38px;
        letter-spacing:-2px;
    }

    .fpv-text-card{
        padding:30px 23px;
    }

    .fpv-affiliations{
        padding:30px 23px;
    }

    .fpv-note{
        grid-template-columns:1fr;
        padding:25px;
    }

    .fpv-accordion-trigger{
        min-height:72px;
        grid-template-columns:35px 1fr 45px;
        padding:0 15px;
    }

    .fpv-accordion-icon{
        width:45px;
        height:72px;
    }

    .fpv-accordion-title{
        font-size:14px;
    }

    .fpv-accordion-content p{
        padding:0 25px 28px 65px;
        font-size:14px;
    }

    .fpv-doc-grid{
        grid-template-columns:1fr;
    }

    .fpv-mission{
        grid-template-columns:1fr;
        gap:15px;
        padding:28px 24px;
    }

    .fpv-mission p{
        font-size:15px;
    }

    .fpv-footer-inner,
    .fpv-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
    }

    .fpv-footer nav{
        flex-wrap:wrap;
    }
}


/* =========================================================
   REVEAL
   ========================================================= */

.fpv-reveal{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .7s ease,transform .7s ease;
}

.fpv-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}
