
    :root{
      --bleu:#002f6c;
      --accent:#1e88e5;
      --gris:#f5f7fa;
      --texte:#222;
      --card:#ffffff;
      --arr:12px;
      --shadow: 0 6px 18px rgba(0,0,0,0.08);
      font-family: "Segoe UI", Roboto, Arial, sans-serif;
    }

    *{box-sizing:border-box}
    body{margin:0;background:var(--gris);color:var(--texte);line-height:1.6}

    header{background:linear-gradient(180deg, rgba(0,47,108,0.95), rgba(30,136,229,0.9));color:#fff;padding:28px 20px}
    .container{max-width:1100px;margin:0 auto;padding:0 18px}
    .brand{display:flex;align-items:center;gap:16px}
    .logo{width:64px;height:64px;border-radius:8px;object-fit:cover;border:2px solid rgba(255,255,255,0.12)}
    header h1{font-size:1.6rem;margin:0}
    header p.lead{margin:8px 0 0;opacity:0.95}

    main{padding:28px 0}
    .hero{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start}

    /* photo du colonel */
    .colonel-card{background:var(--card);border-radius:var(--arr);padding:12px;box-shadow:var(--shadow);text-align:center}
    .colonel-photo{width:100%;height:320px;object-fit:cover;border-radius:8px}
    .colonel-name{margin:12px 0 4px;font-weight:700;color:var(--bleu)}
    .colonel-role{margin:0;font-size:0.95rem;color:#666}

    /* récit */
    article.story{background:var(--card);padding:20px;border-radius:var(--arr);box-shadow:var(--shadow)}
    article.story h2{margin-top:0;color:var(--bleu)}
    .lead-quote{font-style:italic;background:linear-gradient(90deg, rgba(30,136,229,0.06), transparent);padding:12px;border-left:4px solid var(--accent);margin:14px 0;border-radius:6px}
    .text-block p{margin:12px 0}

    /* encadré hommage */
    aside.hommage{margin-top:18px;background:linear-gradient(180deg,#fff,#f7fbff);border-left:4px solid var(--accent);padding:14px;border-radius:8px}
    aside.hommage h3{margin:0 0 8px;color:var(--bleu)}
    .meta{font-size:0.95rem;color:#555}

    footer{padding:18px 0;text-align:center;color:#fff;background:transparent;margin-top:28px}

    /* responsive */
    @media (max-width:900px){
      .hero{grid-template-columns:1fr;}
      .colonel-photo{height:300px}
    }

    @media (max-width:480px){
      header h1{font-size:1.25rem}
      .logo{width:52px;height:52px}
    }
    .photo-row {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 16px;
      padding: 10px;
      max-width: 1000px;
      margin: auto;
    }

    .photo-row img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      border-radius: 20px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.15);
      cursor: pointer;
      transition: transform 0.3s ease;
    }

    .photo-row img:hover {
      transform: scale(1.05);
    }
     /* --- Lightbox --- */
    .lightbox {
      display: none; /* cachée par défaut */
      position: fixed;
      z-index: 1000;
      inset: 0;
      background: rgba(0, 0, 0, 0.85);
      justify-content: center;
      align-items: center;
    }

    .lightbox img {
      max-width: 90%;
      max-height: 90%;
      border-radius: 8px;
      box-shadow: 0 0 10px rgba(255,255,255,0.3);
    }
    .lightbox:target {
      display: flex;
    }
#_ {
  display: none;
}
    /* --- Bouton de fermeture --- */
    .close {
      position: absolute;
      top: 20px;
      right: 30px;
      color: white;
      font-size: 36px;
      text-decoration: none;
      font-weight: bold;
    }

    .close:hover {
      color: #ccc;
    }
    .legende {
  text-align: center;
  background: #485663;
  color: white;
  padding: 6px;
  font-size: 0.9em;
  border-radius: 8px;
}
#_{
  display: none;
}
.stele-section{margin-top:30px;background:var(--card);padding:20px;border-radius:var(--arr);box-shadow:var(--shadow);}
.stele-section h2{color:var(--bleu);margin-top:0;}
.stele{display:grid;
  grid-template-columns:250px 500px;
  gap:10px;
  align-items:center;}
.stele img{width:100%;border-radius:10px;box-shadow:var(--shadow);}
.stele-text p{margin:12px 0;}
