/* =========================
   ABOUT — page-only styles
   ========================= */

/* Overrides page-only : neutraliser le centrage/overflow du global */
html, body { height: auto; overflow: auto; }
body { display: block; }

/* Section ABOUT */
#about{
  position: relative; z-index: 10;
  padding: 90px 20px 60px 20px;
}
#about .about-inner{ max-width:1100px; margin:0 auto; }
#about .about-head{ text-align:center; margin-bottom:24px; }
#about .about-title{ font-size:clamp(1.8rem,4vw,2.2rem); letter-spacing:-.02em; }
#about .about-kicker{ margin-top:6px; opacity:.85; font-size:.95rem; text-transform:none; letter-spacing:0; }

/* Grille robuste */
#about .about-grid{
  display:grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  gap:18px; margin-top:18px;
}

/* Cartes */
#about .about-card{
  background:#1f1f1f; border:1px solid rgba(248,245,242,.1);
  padding:18px 18px 20px; min-height:180px; min-width:0;
}

/* Typographies internes */
#about .about-subtitle{ font-size:1.05rem; margin-bottom:10px; }
#about .about-text, #about .about-list, #about .timeline .t-body{
  text-transform:none; letter-spacing:0; line-height:1.5; opacity:.95;
}
#about .about-list{ margin-top:10px; padding-left:0; list-style:none; }
#about .about-list li + li{ margin-top:6px; }

/* Tags */
#about .about-tags{ display:flex; gap:8px; flex-wrap:wrap; }
#about .tag{
  font-size:.8rem; padding:6px 10px; border:1px solid rgba(248,245,242,.14);
  letter-spacing:.04em; text-transform:uppercase; opacity:.92; white-space:normal;
}

/* Stats */
#about .about-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:14px; }
#about .stat{ border:1px solid rgba(248,245,242,.1); padding:12px 10px; text-align:center; }
#about .stat-num{ font-size:1.2rem; margin-bottom:4px; }
#about .stat-label{ font-size:.8rem; opacity:.85; }

/* Groupes d’outils */
#about .tools-groups{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
#about .tools-title{ font-size:.9rem; margin-bottom:8px; opacity:.9; }

/* Boutons (effet navbar) */
#about .about-actions{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; }
#about .btn{
  position:relative; display:inline-block; text-decoration:none; text-transform:uppercase; font-weight:700;
  text-align:center; color:var(--warm-off-white); padding:12px 18px; overflow:hidden; transition:color .3s ease; z-index:1; border:none;
}
#about .btn::before{
  content:""; position:absolute; bottom:0; left:0; width:100%; height:0;
  background-color:var(--warm-off-white); z-index:-1; transition:height .25s cubic-bezier(.445,.05,.55,.95);
}
#about .btn:hover{ color:var(--warm-off-black); }
#about .btn:hover::before{ height:100%; }
#about .btn:not(:hover)::before{ transition-duration:.8s; }

/* Timeline */
#about .about-timeline{
  margin-top:22px; background:#1f1f1f; border:1px solid rgba(248,245,242,.1);
  padding:16px 18px 20px;
}
#about .timeline{ list-style:none; margin:0; padding:0; }
#about .timeline li{
  display:grid; grid-template-columns:90px 1fr; gap:12px; padding:10px 0;
  border-bottom:1px solid rgba(248,245,242,.06);
}
#about .timeline li:last-child{ border-bottom:0; }
#about .timeline .t-year{ opacity:.8; }
#about .timeline .t-body{ opacity:.95; }

/* Responsive */
@media (max-width:1200px){ #about .about-grid{ grid-template-columns:1fr; } }
@media (max-width:900px){
  #about{ padding:80px 16px 56px; }
  #about .about-card{ padding:16px; }
  #about .about-title{ font-size:clamp(1.6rem,4vw,2rem); }
  #about .about-kicker{ font-size:.92rem; }
  #about .tag{ padding:5px 9px; font-size:.78rem; }
  #about .about-stats{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  #about .tools-groups{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  #about .about-actions .btn{ width:100%; text-align:center; }
  #about .about-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #about .timeline li{ grid-template-columns:70px 1fr; gap:10px; }
}
@media (max-width:400px){
  #about .stat{ padding:10px 8px; }
  #about .stat-num{ font-size:1.05rem; }
  #about .tag{ font-size:.74rem; padding:4px 8px; }
}
/* Césures sûres */
#about .about-text, #about .timeline .t-body{ overflow-wrap:anywhere; word-break:break-word; }
