/* =============================================================================
   French Class Prestige — Home (mobile-first)
   Points de rupture : 360, 390, 768, 1024, 1440 px.
   ========================================================================== */

body.fcp {
    margin: 0;
    background: var(--fcp-bg);
    color: var(--fcp-text);
    font-family: var(--fcp-font-body);
    font-size: var(--fcp-fs-body);
    line-height: 1.6;
}

/* --- En-tête sticky --- */
.fcp-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--fcp-white);
    border-bottom: 1px solid rgba(11, 27, 43, 0.08);
}

.fcp-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fcp-space-sm);
    padding: var(--fcp-space-sm);
    max-width: 1200px;
    margin: 0 auto;
}

.fcp-brand {
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--fcp-navy);
    text-decoration: none;
}

/* --- Navigation --- */
.fcp-nav {
    font-family: var(--fcp-font-ui);
}

.fcp-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--fcp-touch);
    min-height: var(--fcp-touch);
    background: none;
    border: 1px solid rgba(11, 27, 43, 0.2);
    border-radius: var(--fcp-radius);
    cursor: pointer;
}

.fcp-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fcp-nav__list a {
    display: block;
    min-height: var(--fcp-touch);
    padding: var(--fcp-space-sm);
    color: var(--fcp-navy);
    text-decoration: none;
}

/* Menu déroulant sur mobile, en ligne dès 1024px. */
@media (max-width: 1023px) {
    .fcp-nav__list[hidden] { display: none; }
    .fcp-nav__list {
        position: absolute;
        left: 0;
        right: 0;
        background: var(--fcp-white);
        border-bottom: 1px solid rgba(11, 27, 43, 0.08);
    }
}

@media (min-width: 1024px) {
    .fcp-nav__toggle { display: none; }
    .fcp-nav__list {
        display: flex !important;
        gap: var(--fcp-space-sm);
    }
    .fcp-nav__list a { padding: var(--fcp-space-xs) var(--fcp-space-sm); }
}

/* --- Hero --- */
.fcp-hero {
    padding: var(--fcp-space-xl) var(--fcp-space-md);
    text-align: center;
}

.fcp-hero__title {
    font-size: var(--fcp-fs-hero);
    color: var(--fcp-navy);
    margin: 0 0 var(--fcp-space-sm);
}

.fcp-hero__lead {
    max-width: 42rem;
    margin: 0 auto var(--fcp-space-lg);
    color: var(--fcp-grey);
}

/* --- Sélecteur d'intention --- */
.fcp-intent {
    display: grid;
    gap: var(--fcp-space-sm);
    padding: 0 var(--fcp-space-md) var(--fcp-space-xl);
    max-width: 1000px;
    margin: 0 auto;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .fcp-intent { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .fcp-intent { grid-template-columns: repeat(3, 1fr); }
}

.fcp-intent__card {
    display: flex;
    align-items: center;
    min-height: var(--fcp-touch);
    padding: var(--fcp-space-md);
    background: var(--fcp-surface);
    border: 1px solid rgba(11, 27, 43, 0.1);
    border-radius: var(--fcp-radius);
    color: var(--fcp-navy);
    text-decoration: none;
    transition: border-color var(--fcp-transition), transform var(--fcp-transition);
}

.fcp-intent__card:hover,
.fcp-intent__card:focus-visible {
    border-color: var(--fcp-gold);
    transform: translateY(-2px);
}

/* --- CTA principal --- */
.fcp-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--fcp-touch);
    padding: var(--fcp-space-sm) var(--fcp-space-lg);
    background: var(--fcp-navy);
    color: var(--fcp-white);
    border-radius: var(--fcp-radius);
    text-decoration: none;
    font-family: var(--fcp-font-ui);
}

.fcp-cta--gold { background: var(--fcp-gold); color: var(--fcp-navy); }

/* --- Focus visible (accessibilité AA) --- */
a:focus-visible,
button:focus-visible {
    outline: 3px solid var(--fcp-gold);
    outline-offset: 2px;
}

/* --- Pied de page --- */
.fcp-footer {
    background: var(--fcp-navy);
    color: var(--fcp-white);
    padding: var(--fcp-space-xl) var(--fcp-space-md);
    text-align: center;
    font-family: var(--fcp-font-ui);
    font-size: 0.9rem;
}
