/* --- PAGE HERO --- */
.page-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #1e3a8a 100%);
    padding: 5rem 0 6rem;
    position: relative;
    overflow: hidden;
}
.page-hero::after {
    content:'';
    position:absolute;
    inset:0;
    background: radial-gradient(ellipse 70% 80% at 80% 50%, rgba(99,102,241,.12) 0%, transparent 70%);
    pointer-events:none;
}
.page-hero .container { position:relative; z-index:2; }
.page-hero-eyebrow {
    display:inline-block;
    background:rgba(99,102,241,.15);
    border:1px solid rgba(99,102,241,.25);
    color:#a5b4fc;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    padding:.3rem 1rem;
    border-radius:9999px;
    margin-bottom:1rem;
}
.page-hero h1 {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight:900;
    color:white;
    letter-spacing:-.03em;
    margin-bottom:.75rem;
    line-height:1.1;
}
.page-hero-sub {
    color:rgba(255,255,255,.55);
    font-size:1.05rem;
    max-width:520px;
}
.page-hero-wave {
    position:absolute;
    bottom:-1px; left:0; right:0;
    height:70px;
    color:#fff;
}
.page-hero-wave svg { display:block; width:100%; height:100%; }

/* ---- SECTIONS ---- */
.about-full-section { padding:5rem 0; }
.about-full-section:nth-child(even) { background:var(--bg-light); }

/* Histoire layout */
.histoire-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4rem;
    align-items:center;
}
.histoire-visual {
    position:relative;
}
.histoire-card {
    width:100%;
    aspect-ratio:4/3;
    border-radius:1.5rem;
    background:linear-gradient(135deg,#1e3a8a,#312e81);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:5rem;
    opacity:.7;
    position:relative;
    overflow:hidden;
}
.histoire-card::after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(99,102,241,.2),transparent);
}
.histoire-text h2 {
    font-size:clamp(1.5rem,3vw,2.25rem);
    font-weight:800;
    color:var(--text-color);
    letter-spacing:-.02em;
    margin-bottom:1rem;
    line-height:1.2;
}
.histoire-text p {
    color:var(--text-light);
    line-height:1.8;
    margin-bottom:1rem;
    font-size:.95rem;
}

/* Valeurs */
.valeurs-section { padding:5rem 0; background:var(--bg-light); }
.valeurs-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1.5rem;
}
.valeur-card {
    background:white;
    border-radius:1.25rem;
    padding:2rem;
    border:1px solid var(--border-color);
    transition:transform .25s, box-shadow .25s, border-color .25s;
    position:relative;
    overflow:hidden;
}
.valeur-card::before {
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:3px;
    background:linear-gradient(90deg, var(--primary-color), #7c3aed);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s;
}
.valeur-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.08); border-color:transparent; }
.valeur-card:hover::before { transform:scaleX(1); }
.valeur-icon {
    width:48px; height:48px;
    border-radius:.875rem;
    background:rgba(37,99,235,.08);
    display:flex; align-items:center; justify-content:center;
    font-size:1.4rem;
    margin-bottom:1.25rem;
}
.valeur-card h3 { font-size:1.05rem; font-weight:700; color:var(--text-color); margin-bottom:.75rem; }
.valeur-card p { font-size:.875rem; color:var(--text-light); line-height:1.7; }

/* Mission bloc */
.mission-bloc {
    background:linear-gradient(135deg,#2563eb,#7c3aed);
    border-radius:1.5rem;
    padding:3.5rem;
    color:white;
    position:relative;
    overflow:hidden;
}
.mission-bloc::before {
    content:'';
    position:absolute;
    top:-80px; right:-80px;
    width:300px; height:300px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
}
.mission-bloc h2 { font-size:1.75rem; font-weight:800; margin-bottom:1rem; }
.mission-bloc p { opacity:.85; line-height:1.8; max-width:700px; }

/* Equipe */
.equipe-section { padding:5rem 0; }
.equipe-section h2 {
    font-size:clamp(1.5rem,3vw,2.25rem);
    font-weight:800;
    color:var(--text-color);
    letter-spacing:-.02em;
    margin-bottom:1rem;
}
.equipe-section p { color:var(--text-light); line-height:1.8; max-width:700px; }

@media(max-width:768px) {
    .histoire-grid { grid-template-columns:1fr; gap:2rem; }
    .valeurs-grid  { grid-template-columns:1fr; }
    .mission-bloc  { padding:2rem; }
}
