/* =====================================================
   PAGE D'ACCUEIL PREMIUM
   Mutuelle des Agents de Santé INFAS 15-18
===================================================== */

.premium-home{
    background:#f5f8fc;
    color:#203040;
    font-family:Inter,"Segoe UI",Arial,sans-serif;
}

/* HERO */

.premium-hero{

    position:relative;

    overflow:hidden;

    min-height:720px;

    display:grid;

    grid-template-columns:1.2fr .8fr;

    align-items:center;

    gap:70px;

    padding:90px 8%;

    background:
        radial-gradient(circle at top right,#1fa15d22,transparent 40%),
        linear-gradient(135deg,#0d3f2d,#14694b,#1b8b60);

    color:white;

}

.premium-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(

        rgba(0,0,0,.10),

        rgba(0,0,0,.25)

    );

}

.hero-content{

    position:relative;

    z-index:2;

}

.hero-content h1{

    font-size:3.5rem;

    line-height:1.15;

    margin:20px 0;

    font-weight:800;

}

.hero-lead{

    font-size:1.2rem;

    line-height:1.8;

    opacity:.96;

    max-width:700px;

}

.hero-signature{

    margin-top:30px;

    font-size:1.05rem;

    font-weight:600;

    color:#ffd86c;

}

.hero-actions{

    display:flex;

    gap:20px;

    margin-top:45px;

    flex-wrap:wrap;

}
.button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:50px;

    text-decoration:none;

    transition:.35s;

    font-weight:700;

}

.button.primary{

    background:#ffbf00;

    color:#163b2b;

}

.button.primary:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 35px rgba(0,0,0,.20);

}

.button.secondary{

    border:2px solid white;

    color:white;

}

.button.secondary:hover{

    background:white;

    color:#145c41;

}
.premium-hero-logo{

    position:relative;

    z-index:2;

    display:flex;

    flex-direction:column;

    align-items:center;

}

.hero-logo-circle{

    width:320px;

    height:320px;

    border-radius:50%;

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:

    0 30px 80px rgba(0,0,0,.25);

}

.hero-logo-circle img{

    width:220px;

}

.hero-logo-message{

    margin-top:35px;

    text-align:center;

    color:white;

}
.premium-stats{

    margin-top:-70px;

    position:relative;

    z-index:5;

    display:grid;

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

    gap:25px;

    padding:0 8%;

}

.premium-stats>div{

    background:white;

    border-radius:22px;

    padding:35px;

    text-align:center;

    box-shadow:

    0 20px 40px rgba(0,0,0,.08);

}

.premium-stats strong{

    display:block;

    font-size:2.5rem;

    color:#158657;

}

.premium-stats span{

    display:block;

    margin-top:10px;

    font-weight:700;

}

.premium-stats small{

    display:block;

    margin-top:8px;

    color:#6d7a88;

}
@media(max-width:1000px){

.premium-hero{

grid-template-columns:1fr;

text-align:center;

}

.hero-actions{

justify-content:center;

}

.premium-stats{

grid-template-columns:1fr 1fr;

}

.hero-logo-circle{

width:240px;

height:240px;

}

.hero-logo-circle img{

width:170px;

}

}

@media(max-width:700px){

.hero-content h1{

font-size:2.3rem;

}

.premium-stats{

grid-template-columns:1fr;

}

}
/* =====================================================
   POURQUOI ADHÉRER
===================================================== */

.benefits-section{
    padding:100px 8%;
}

.section-heading{
    max-width:760px;
    margin:0 auto 60px;
    text-align:center;
}

.section-heading h2{
    font-size:2.6rem;
    color:#0d3f2d;
    margin-bottom:20px;
}

.section-heading p{
    color:#64748b;
    line-height:1.8;
}

.benefits-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:28px;
}

.benefit-card{
    background:#fff;
    border-radius:24px;
    padding:35px;
    transition:.35s;
    box-shadow:0 18px 40px rgba(0,0,0,.08);
    border-top:5px solid #158657;
}

.benefit-card:hover{
    transform:translateY(-10px);
    box-shadow:0 30px 60px rgba(0,0,0,.15);
}

.benefit-icon{
    font-size:48px;
    margin-bottom:20px;
}

.benefit-card h3{
    color:#0d3f2d;
    margin-bottom:15px;
}

.benefit-card p{
    color:#667085;
    line-height:1.8;
}

.benefits-action{
    margin-top:50px;
    text-align:center;
}
/* =====================================================
   NOTRE RAISON D'ÊTRE
===================================================== */

.purpose-section{
    padding:110px 8%;
}

.purpose-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:60px;
    align-items:center;
}

.purpose-grid h2{
    font-size:2.8rem;
    color:#0d3f2d;
    margin:20px 0;
}

.purpose-grid p{
    color:#5d6b79;
    line-height:1.9;
}

.institution-card{
    background:linear-gradient(135deg,#14694b,#0d3f2d);
    color:white;
    padding:40px;
    border-radius:24px;
    box-shadow:0 30px 70px rgba(0,0,0,.20);
}

.institution-card blockquote{
    font-size:1.2rem;
    line-height:1.8;
    margin:25px 0;
    font-style:italic;
}
/* =====================================================
   MOT DU PRESIDENT
===================================================== */

.president-section{
    padding:100px 8%;
}

.president-card{
    background:white;
    border-radius:28px;
    display:grid;
    grid-template-columns:280px 1fr;
    gap:50px;
    padding:50px;
    box-shadow:0 25px 60px rgba(0,0,0,.08);
}

.president-visual{
    display:flex;
    justify-content:center;
    align-items:center;
}

.president-photo{

    width:260px;

    height:320px;

    object-fit:cover;

    border-radius:22px;

    border:6px solid #ffffff;

    box-shadow:
        0 20px 45px rgba(0,0,0,.18);

    transition:.35s;

}

.president-photo:hover{

    transform:scale(1.03);

}
.president-caption{

    margin-top:20px;

    text-align:center;

}

.president-caption strong{

    display:block;

    color:#0d3f2d;

    font-size:1.2rem;

    font-weight:700;

}

.president-caption span{

    color:#b8860b;

    font-weight:600;

}
/* =====================================================
   APPEL FINAL
===================================================== */

.final-cta-section{

    margin-top:100px;

    padding:100px 8%;

    background:linear-gradient(
        135deg,
        #0d3f2d,
        #158657
    );

    color:white;

    text-align:center;

}

.final-cta-section h2{

    font-size:3rem;

    margin:20px 0;

}

.final-cta-section p{

    max-width:800px;

    margin:auto;

    line-height:2;

    opacity:.95;

}
/*=====================================================
 MOT DU PRESIDENT
=====================================================*/

.president-section{
    padding:90px 8%;
}

.president-card{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:60px;

    align-items:center;

    background:#fff;

    border-radius:28px;

    padding:45px;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.president-visual{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

}

.president-photo{

    width:260px;

    height:330px;

    object-fit:cover;

    border-radius:18px;

    border:6px solid #fff;

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

}

.president-caption{

    margin-top:18px;

    text-align:center;

}

.president-caption strong{

    display:block;

    font-size:1.35rem;

    color:#0d3f2d;

}

.president-caption span{

    color:#b8860b;

    font-weight:600;

}

.president-card blockquote{

    font-size:1.08rem;

    line-height:2;

    color:#425466;

    border-left:5px solid #158657;

    padding-left:25px;

    margin-bottom:25px;

}

.president-card .eyebrow{

    color:#158657;

    font-weight:700;

    letter-spacing:2px;

}

@media (max-width:900px){

.president-card{

grid-template-columns:1fr;

text-align:center;

padding:30px;

gap:35px;

}

.president-card blockquote{

text-align:left;

padding-left:20px;

}

.president-photo{

width:220px;

height:280px;

}

}

@media (max-width:600px){

.president-section{

padding:60px 18px;

}

.president-card{

padding:22px;

border-radius:20px;

}

.president-photo{

width:190px;

height:245px;

}

.president-card blockquote{

font-size:.98rem;

line-height:1.8;

}

}
.quote-icon{

font-size:65px;

color:#15865720;

margin-bottom:-15px;

font-family:Georgia,serif;

}
.quote-icon{

font-size:65px;

color:#15865720;

margin-bottom:-15px;

font-family:Georgia,serif;

}
.signature-line{

margin:25px 0;

border:none;

height:1px;

background:#d7e2db;

}
.home-banner{
    background:#0b6b43;
    color:#fff;
    padding:18px 28px;
}

.home-banner-content{
    max-width:1200px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.home-banner h2{
    margin:0;
    font-size:1.25rem;
}

.home-banner p{
    margin:6px 0 0;
    opacity:.95;
}

@media(max-width:768px){

.home-banner-content{
    flex-direction:column;
    align-items:flex-start;
}

}
.animated-counter {
    display: inline-block;
    min-width: 2ch;
    font-variant-numeric: tabular-nums;
    transition:
        transform .25s ease,
        color .25s ease;
}

.public-map-stat:hover .animated-counter {
    transform: translateY(-3px) scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
    .animated-counter {
        transition: none;
    }
}
