/* SAPFX : sobre, epure, palette des supports de comm SAPFX.
   Bleu #0070F2 dominant, violet #A100FF en ponctuation, navy #0A2145
   pour le moment fort, texte #16213B / #66738C. */

@font-face {
    font-family: 'Segoe UI Fallback';
    src: local('Segoe UI'), local('Arial'), local('sans-serif');
    font-display: swap;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: white;
    color: #16213B;
    line-height: 1.8;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px 20px;
}

.container {
    max-width: 800px;
    width: 100%;
    background: white;
    padding: 0 40px;
    text-align: center;
}

/* En-tête */
.logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px 0 25px;
}

.logo {
    max-width: 220px;
    height: auto;
    display: block;
}

h1 {
    color: #16213B;
    font-size: 2.2em;
    font-weight: 200;
    margin-bottom: 12px;
}

.tagline {
    color: #0070F2;
    font-size: 1.25em;
    font-weight: 300;
    margin-bottom: 10px;
}

/* Le mot mis en avant, en violet accent comme dans les presentations */
.accent {
    color: #A100FF;
}

.meta-line {
    color: #66738C;
    font-size: 0.95em;
    margin-bottom: 45px;
}

/* Sections */
section {
    margin: 0 auto 55px;
    text-align: left;
}

h2 {
    color: #16213B;
    font-size: 1.5em;
    font-weight: 300;
    margin-bottom: 18px;
    text-align: center;
}

.description {
    color: #16213B;
    font-size: 1.05em;
    line-height: 1.8;
}

.description strong {
    font-weight: 600;
}

/* Bande claire : rythme visuel, comme les slides claires du deck */
.band {
    background: #F4F6FB;
    border-radius: 14px;
    padding: 28px 30px 20px;
}

.band .code-sample {
    background: white;
}

/* Extrait de code */
.code-sample {
    background: #F4F6FB;
    border: 1px solid #E5E9F2;
    border-radius: 10px;
    padding: 18px 22px;
    margin: 22px 0;
    overflow-x: auto;
    text-align: left;
}

.code-sample pre {
    font-family: Consolas, 'Courier New', monospace;
    font-size: 0.95em;
    color: #16213B;
    line-height: 1.7;
}

.code-sample .comment {
    color: #66738C;
}

/* Vidéos */
.video-block {
    margin: 30px 0;
    text-align: center;
}

.video-block video {
    width: 100%;
    max-width: 720px;
    border-radius: 10px;
    border: 1px solid #E5E9F2;
    display: block;
    margin: 0 auto;
    background: #0A2145;
}

.video-block figcaption {
    color: #66738C;
    font-size: 0.95em;
    margin-top: 10px;
}

/* Chiffres : le moment fort, sur navy comme dans le deck */
.figures-band {
    background: #0A2145;
    border-radius: 14px;
    padding: 35px 25px 30px;
    margin: 25px 0 15px;
}

.figures {
    display: flex;
    justify-content: center;
    gap: 45px;
    flex-wrap: wrap;
    text-align: center;
}

.figure-item .figure-number {
    display: block;
    font-size: 2.1em;
    font-weight: 200;
    color: #5AA6FF;
}

.figure-item:nth-child(even) .figure-number {
    color: #C47CFF;
}

.figure-item .figure-label {
    display: block;
    font-size: 0.9em;
    color: #FFFFFF;
    opacity: 0.85;
    max-width: 160px;
}

.figures-note {
    color: #66738C;
    font-size: 0.9em;
    text-align: center;
}

/* Listes sobres */
.plain-list {
    list-style: none;
    margin: 15px 0;
}

.plain-list li {
    padding: 7px 0;
    color: #16213B;
}

.plain-list li strong {
    color: #0070F2;
    font-weight: 600;
}

/* Image (matrice) */
.inline-figure {
    margin: 25px 0;
    text-align: center;
}

.inline-figure img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    border: 1px solid #E5E9F2;
}

.inline-figure figcaption {
    color: #66738C;
    font-size: 0.95em;
    margin-top: 10px;
}

/* FAQ */
.faq-item {
    margin-bottom: 28px;
}

.faq-item h3 {
    color: #16213B;
    font-size: 1.1em;
    font-weight: 600;
    margin-bottom: 8px;
}

.faq-item p {
    color: #16213B;
}

.faq-item code {
    font-family: Consolas, 'Courier New', monospace;
    background: #F4F6FB;
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 0.95em;
}

/* Liens et essai */
a {
    color: #0070F2;
    text-decoration: none;
}

a:hover {
    color: #A100FF;
}

.try-links {
    text-align: center;
    margin-top: 20px;
}

.try-links a {
    display: inline-block;
    margin: 6px 14px;
    font-weight: 500;
}

hr.separator {
    border: none;
    border-top: 1px solid #E5E9F2;
    margin: 0 auto 55px;
    max-width: 300px;
}

.contact {
    margin: 20px 0;
    font-size: 1.1em;
    color: #16213B;
    text-align: center;
}

.email-link {
    color: #16213B;
    text-decoration: none;
    font-weight: 500;
    pointer-events: none;
    cursor: default;
    min-width: 200px;
    display: inline-block;
}

footer {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #E5E9F2;
    color: #66738C;
    font-size: 0.9em;
    text-align: center;
}

@media (max-width: 768px) {
    .container {
        padding: 0 20px;
    }

    h1 {
        font-size: 1.8em;
    }

    .figures {
        gap: 25px;
    }

    .figures-band {
        padding: 28px 15px 24px;
    }
}
