  :root {
    --mqr-primary: #00cec9;
    --mqr-dark: #2d3436;
    --mqr-muted: #636e72;
    --mqr-bg: linear-gradient(120deg, #f0f8ff, #ffffff);
    --mqr-border: rgba(0,0,0,0.08);
  }

  body {
    margin: 0;
    padding: 0;
  /* background: var(--mqr-bg);*/
    font-family: 'Inter', sans-serif;
    color: var(--mqr-dark);
  }

  .card{
    max-width: 960px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  }

  /* ==== Containers & Layout ==== */
  .container {
    max-width: 960px;
    margin: auto;
    padding: 2rem 1rem;
  }

  section {
    margin-bottom: 3rem;
  }

  /* ==== Typo & Titres ==== */
  h1, h2 {
    font-weight: 700;
    position: relative;
  }

  [data-typewriter] {
    display: inline-block;
    font-weight: 700;
    font-size: 1.8rem;
    border-right: 2px solid var(--mqr-primary);
    white-space: nowrap;
    overflow: hidden;
    animation: blinkCaret 0.7s step-end infinite;
  }

  .btn-outline-dark:hover i {
    color: #00cec9;
    transition: color 0.3s ease;
  }

  @keyframes blinkCaret {
    50% { border-color: transparent; }
  }

  h1.typing-effect::after {
    content: "";
    position: absolute;
    top: 0;
    right: -5px;
    width: 2px;
    height: 100%;
    background: var(--mqr-primary);
    animation: blink 0.6s step-end infinite;
  }

  .typing-effect {
    overflow: hidden;
    white-space: nowrap;
    width: 0;
    border-right: 3px solid var(--mqr-primary);
    animation: typing 4.5s steps(30, end) forwards;
  }

  @keyframes typing {
    from { width: 0 }
    to   { width: 100% }
  }

  @keyframes blink {
    50% { opacity: 0; }
  }

  /* ==== Listes & Icônes ==== */
  .list-unstyled li {
    padding: 0.4rem 0;
    font-size: 1rem;
  }

  .list-unstyled li i {
    margin-right: 0.5rem;
    color: var(--mqr-primary);
  }

  /* ==== Réseaux Sociaux ==== */
  .d-flex a {
    width: 48px;
    height: 48px;
    border: 2px solid var(--mqr-border);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--mqr-muted);
    transition: all 0.3s ease;
    text-decoration: none;
  }

  .d-flex a:hover {
    color: var(--mqr-primary);
    border-color: var(--mqr-primary);
    transform: scale(1.1);
  }

  /* ==== Formulaire Contact ==== */

  .alert {
    background: #f0f8ff;
    border-left: 5px solid #3498db;
    padding: 10px 15px;
    margin: 15px 0;
    font-weight: bold;
    color: #2c3e50;
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
  }

  form {
    max-width: 600px;
    margin: auto;
  }

  form label {
    font-weight: 600;
  }

  .img-fluid.rounded.shadow-sm {
    width: 150px;
    border: 3px solid var(--mqr-primary);
    transition: transform 0.3s ease;
  }

  .img-fluid:hover {
    transform: scale(1.05);
  }

  h1 i,
  h2 i {
    color: #00b0b5;
  }

  .bi-info-circle-fill {
    color: #0984e3;
  }

  .bi-person-fill {
    color: #636e72;
  }

  .bi-stars {
    color: #fdcb6e;
  }

  .btn-outline-dark i {
    color: #2d3436;
  }