        .hero { text-align: center; padding: 50px; background-color: #e9f0f6; border-radius: 12px; margin-bottom: 40px; }
        .cta-button, .btn { display: inline-block; padding: 15px 30px; background-color: #28a745; color: white; text-decoration: none; border: none; border-radius: 5px; font-weight: bold; font-size: 1.2rem; cursor: pointer; transition: background-color 0.3s, transform 0.2s; }
        .cta-button:hover, .btn:hover { background-color: #218838; transform: translateY(-2px); }
        .form-section { background: #fff; padding: 25px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); margin-top: 40px; }
        label { font-weight: bold; margin-bottom: 5px; color: #555; display: block; }
        input[type="number"], input[type="text"] { width: 100%; padding: 12px; margin-bottom: 15px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; transition: border-color 0.3s; }
        input[type="number"]:focus, input[type="text"]:focus { border-color: #007bff; outline: none; }
        /* Styles spécifiques au générateur de phrases de passe */
        .generator-container { text-align: center; }
        .result-box { background-color: #343a40;color:#FFF; padding: 15px; margin-bottom: 20px; border-radius: 8px; font-size: 1.5rem; font-weight: bold; word-wrap: break-word; display: flex; justify-content: space-between; align-items: center; }
        .result-text { flex-grow: 1; text-align: center; }
        .copy-button { background-color: #007bff; margin-left: 10px; padding: 10px 15px; }
        .copy-button:hover { background-color: #0056b3; }
        .options { text-align: left; margin-bottom: 20px; }
        .options label { display: block; margin-bottom: 10px; }
        .options input[type="number"], .options input[type="text"] { width: auto; display: inline-block; margin-left: 10px; }
        /* Jauge de force */
        .strength-meter { width: 100%; height: 10px; background-color: #ddd; border-radius: 5px; margin-top: 10px; }
        .strength-bar { height: 100%; width: 0; border-radius: 5px; transition: width 0.3s ease, background-color 0.3s ease; }
        .strength-text { font-weight: bold; text-align: center; margin-top: 5px; }
        .strength-0 { width: 0; background-color: #fff; }
        .strength-1 { width: 25%; background-color: #ff4136; }
        .strength-2 { width: 50%; background-color: #ff851b; }
        .strength-3 { width: 75%; background-color: #ffdc00; }
        .strength-4 { width: 100%; background-color: #2ecc40; }
        .faq-section { margin-top: 40px; }
        .faq-item { background: #fff; padding: 20px; border-left: 5px solid #007bff; margin-bottom: 15px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
        .faq-item h3 { margin: 0; }