/* style.css */
header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    margin-bottom: 20px;
    padding: 10px 0;
  }
  
  .portrait-left {
    width: 180px;
    height: auto;
    border: 4px solid #1F4215;
    flex-shrink: 0;
  }
  
  .header-text {
    flex: 1;
    text-align: center;
    color: #1F4215
  }
  
  .photo {
      display: block;        
      width: 400px;
      height: auto;
      border: 2px solid #000; 
      margin: 0 auto;        
  }
  
  .photobis {
      display: block;        
      width: 200px;
      height: auto;
      border: 2px solid #000; 
      margin: 0 auto;        
  }
  
  .container-photo {
      display: flex;
      justify-content: center;
  }
  
  section p {
      line-height: 1.6;     
      margin-bottom: 12px;   
  }
  main {
      gap: 28px;           
      margin-top: 22px;
  }
  
  nav ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      justify-content: center; 
      gap: 30px;               
  }
  
  nav a {
      color: #F5F5DC;           
      font-size: 1.3rem;    
      font-weight: bold;
      text-decoration: none;
      padding: 0 15px;      
  }
  
  :root{--maxw:900px;--accent:#111}
  html,
  body {
      background-color: #F5F5DC;
      font-family: Georgia, 'Times New Roman', serif;
      margin: 0;
      color: #111;
  }
  .container{max-width:var(--maxw);margin:40px auto;padding:20px}
  header h1{font-size:2.1rem;margin:0;color: #1F4215}
  header p.role{margin:6px 0 0;font-style:italic}
  .contact{font-size:0.95rem;margin-top:8px}
  .contact a{color:var(--accent);text-decoration:none}
  nav {
      background-color: #1F4215; 
      padding: 12px 0;
      width: 95%;               
      margin: 0 auto;           
      box-sizing: border-box;
      border-radius: 6px;       
  }
  h2 {
      color: #1A3812;  
      font-size: 1.8rem; 
      margin-top: 20px;  
      margin-bottom: 12px; 
  }
  
  h3 {
      color: #1A3812;
      font-size: 2rem;
      margin-top: 20px;
      margin-bottom: 12px;
      text-align: center;   
  }
  
  main{gap:28px;margin-top:22px}
  aside{width:260px;flex:0 0 260px}
  .card{background:transparent;padding:6px}
  .card h3{margin:0 0 8px 0;font-size:1rem}
  .card p{margin:0;font-size:0.95rem}
  
  article{flex:1}
  article h2{font-size:1.05rem;margin-top:0}
  article p{line-height:1.6}
  
  footer{margin-top:30px;border-top:1px solid #eee;padding-top:12px;font-size:0.9rem;text-align:center;color:#444}
  
  @media (max-width:800px){
    main{flex-direction:column}
    aside{width:auto}
    nav ul{flex-wrap:wrap}
  }
  
  .teaching-layout {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 2rem;
      margin-top: 1.5rem;
  }
  
  .teaching-text {
      flex: 2;
  }
  
  .teaching-photo {
      flex: 1;
  }
  
  .teaching-photo img {
      width: 100%;
      height: auto;
      border-radius: 8px;
      object-fit: cover;
  }
  
  .photo-with-caption {
      text-align: center;     /* centre la légende */
      margin: 1rem 0;
  }
  
  .photo-with-caption img {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
  }
  
  .photo-with-caption figcaption {
      font-size: 0.9rem;
      color: #555;
      margin-top: 0.5rem;
      font-style: italic;
  }