/* ===== Dossier de compétences techniques ===== */
.tsr-page .section__title{ letter-spacing:-.3px; }
.tsr-hero{ min-height:46vh; background-image:url("../img/projects_wallpaper/network2.jpg"); }
.tsr-hero__content{ max-width:1050px; }
.tsr-kicker,
.tsr-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  color:#2ea8ff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
}
.tsr-kicker{ color:rgba(255,255,255,.82); }
.tsr-hero__actions,
.tsr-projects-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.tsr-btn--ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:12px;
  border:1px solid rgba(46,168,255,.32);
  color:inherit;
  text-decoration:none;
  font-weight:700;
  background:rgba(255,255,255,.08);
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.tsr-btn--ghost:hover{ transform:translateY(-1px); border-color:rgba(46,168,255,.58); background:rgba(46,168,255,.12); }
.tsr-summary{
    margin-top:40px;
    position:relative;
}
.tsr-section-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:start;
}
.tsr-lead{ font-size:18px; }
.tsr-timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.tsr-timeline__item{
  margin:0;
  padding:24px 22px 22px 30px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(0,0,0,.075);
  box-shadow:0 14px 34px rgba(0,0,0,.055);
}
.tsr-timeline__item p:last-child{ color:rgba(0,0,0,.70); line-height:1.65; margin-bottom:0; }
.tsr-tech-table{
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 14px 40px rgba(0,0,0,.06);
  background:#fff;
}
.tsr-row{
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:64px;
  border-bottom:1px solid rgba(0,0,0,.075);
}
.tsr-row:last-child{ border-bottom:0; }
.tsr-row strong{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:18px 22px;
  background:linear-gradient(180deg, rgba(46,168,255,.10), rgba(46,168,255,.03));
  border-right:1px solid rgba(0,0,0,.075);
}
.tsr-row span{
  display:flex;
  align-items:center;
  padding:18px 24px;
  color:rgba(0,0,0,.72);
  line-height:1.6;
}
.tsr-skill-grid.cards{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.tsr-skill-grid .skill-card{ min-height:285px; display:flex; flex-direction:column; }
.tsr-cta{
  text-align:center;
  max-width:820px;
}
.tsr-cta .tsr-projects-cta{ justify-content:center; }
.tsr-cta .muted{ margin-left:auto; margin-right:auto; }

.tsr-missions{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.tsr-mission-card{
    position:relative;

    padding:12px;

    border-radius:22px;

    background:#fff;

    border:1px solid rgba(47, 27, 233, 0.253);

    box-shadow:0 14px 40px rgba(0,0,0,.06);
}

.tsr-mission-pill{
    top:16px;
    right:16px;

    padding:6px 12px;

    border-radius:999px;

    font-size:12px;
    font-weight:600;

    background:rgba(10, 59, 94, 0.12);

    border:1px solid rgba(12, 69, 109, 0.25);

    color:#2ea8ff;
}

/* Chips */
.tsr-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.tsr-chip {
  font-size: 12px;
  padding: 6px 10px;

  border-radius: 999px;

  background: rgba(46, 168, 255, .12);

  border: 1px solid rgba(46, 168, 255, .25);

  color: rgb(46, 168, 255);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85);
}

.tsr-pill--available{
  border-color: rgba(60,220,140,.28);
  background: rgba(60,220,140,.08);
}

.tsr-pill--not-available{
  border-color: rgba(220, 84, 60, 0.28);
  background: rgba(220, 60, 60, 0.08);
}

.tsr-pill--transition{
  border-color: rgba(220, 196, 60, 0.28);
  background: rgba(209, 220, 60, 0.08);
}

.tsr-dot{
    width: 10px;
    height: 10px;
    border-radius: 999px;
}

.tsr-dot--ok{
  background: rgba(60,220,140,1);
  box-shadow: 0 0 0 6px rgba(7, 180, 93, 0.8);
}

.tsr-dot--not-available{
    background:#ff5c5c;
    box-shadow:0 0 12px rgba(255,92,92,.8);
}

.tsr-dot--not-yet-available{
    background:#ff9f43;
    box-shadow:0 0 12px rgba(255,159,67,.8);
}


.tsr-mission-card__company{
    align-items:center;

    display:flex;
    justify-content:center;

    border-radius:20px;

    font-size:20px;
    font-weight:700;
    letter-spacing:0.2em;
    text-transform:uppercase;

    color:#0a487e;
}

@media (max-width:1100px){
  .tsr-timeline,
  .tsr-skill-grid.cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width:1100px){

    .tsr-missions{
        grid-template-columns:1fr;
    }

    .tsr-mission-pill{
        position:static;
        display:inline-flex;
        margin-bottom:12px;
    }

    .tsr-mission-card{
        padding-top:24px;
    }
}
@media (max-width:780px){
  .tsr-section-grid,
  .tsr-row{ grid-template-columns:1fr; }
  .tsr-row strong{ justify-content:flex-start; border-right:0; border-bottom:1px solid rgba(0,0,0,.06); }
  .tsr-timeline,
  .tsr-skill-grid.cards{ grid-template-columns:1fr; }
  .tsr-hero__actions,.projects-cta{ flex-direction:column; }
  .tsr-hero__actions .btn,.projects-cta .btn{ width:100%; }
}