/* Portfolio 2026 · projets publics */
.project-live-link{
  text-decoration:none!important;
  white-space:normal;
  line-height:1.25;
  text-align:center;
}
.panel-tools .project-live-link{
  min-height:38px;
  padding:8px 13px;
}
@media(max-width:560px){
  .panel-tools .panel-chips{
    align-items:stretch;
  }
  .panel-tools .project-live-link{
    width:100%;
    justify-content:center;
  }
}

/* Portfolio 4.2.2 · Mode recruteur enrichi */
.recruiter-plus .recruiter-card{
  width:min(1240px,calc(100vw - 28px));
  max-height:min(92vh,960px);
  overflow:auto;
  padding:28px 30px 30px;
}
.recruiter-identity-line{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:-3px 0 20px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(76,67,55,.11);
}
.recruiter-identity-line div{display:grid;gap:3px}
.recruiter-identity-line small{
  font-size:8px;
  letter-spacing:.17em;
  color:#a27542;
  font-weight:800;
}
.recruiter-identity-line strong{
  font:700 17px/1.1 "Fraunces",Georgia,serif;
  color:#223149;
}
.recruiter-identity-line>span{
  max-width:500px;
  color:#66706e;
  font-size:10px;
  line-height:1.45;
  text-align:right;
}
.recruiter-plus .recruiter-grid{
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.64fr);
  gap:28px;
  align-items:start;
}
.recruiter-plus .recruiter-main h2{
  max-width:820px;
  font-size:clamp(33px,4.1vw,54px);
  margin-top:4px;
}
.recruiter-plus .recruiter-main>p{
  max-width:840px;
  margin-bottom:0;
}
.recruiter-section-label{
  margin:22px 0 9px;
  color:#9a6c32;
  font-size:8px;
  font-weight:800;
  letter-spacing:.17em;
}
.recruiter-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.recruiter-proof{
  position:relative;
  min-width:0;
  padding:14px;
  border:1px solid rgba(72,67,58,.10);
  border-radius:17px 14px 19px 13px;
  background:#fffdf8;
  box-shadow:0 7px 18px rgba(83,62,35,.04);
}
.recruiter-proof:nth-child(1){transform:rotate(-.35deg)}
.recruiter-proof:nth-child(2){transform:translateY(4px) rotate(.25deg)}
.recruiter-proof:nth-child(3){transform:rotate(-.18deg)}
.proof-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.proof-top b{
  color:#d9872f;
  font-size:10px;
}
.proof-top span{
  color:#968979;
  font-size:7.5px;
  letter-spacing:.08em;
}
.recruiter-proof h3{
  margin:8px 0 4px;
  font:700 17px/1.05 "Fraunces",Georgia,serif;
  color:#26364c;
}
.recruiter-proof>strong{
  display:block;
  color:#526171;
  font-size:8.5px;
  line-height:1.35;
}
.recruiter-proof>p{
  margin:8px 0 10px;
  color:#686c67;
  font-size:8.3px;
  line-height:1.46;
}
.proof-tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.proof-tags span{
  padding:4px 6px;
  border:1px solid rgba(70,91,113,.10);
  border-radius:999px;
  background:#f7f4ed;
  color:#65707a;
  font-size:6.8px;
  font-weight:700;
}
.recruiter-values{
  margin-top:0;
}
.recruiter-values>div{
  padding:11px 12px!important;
}
.recruiter-difference{
  margin-top:12px;
  padding:12px 14px;
  border-left:4px solid #d9872f;
  border-radius:0 14px 14px 0;
  background:linear-gradient(90deg,rgba(230,163,58,.11),rgba(255,253,248,.72));
}
.recruiter-difference small{
  display:block;
  margin-bottom:4px;
  color:#9a6c32;
  font-size:7px;
  font-weight:800;
  letter-spacing:.14em;
}
.recruiter-difference p{
  margin:0;
  color:#59615d;
  font-size:9px;
  line-height:1.5;
}
.recruiter-side-rich{
  gap:0;
  padding-left:24px;
}
.recruiter-side-rich>img{
  max-height:225px;
  object-position:center 22%;
}
.recruiter-side-rich .availability{
  padding:10px 11px;
  border:1px solid rgba(79,157,105,.15);
  border-radius:13px;
}
.recruiter-side-block{
  padding-top:13px;
  margin-top:2px;
  border-top:1px solid rgba(72,67,58,.10);
}
.recruiter-side-block .recruiter-section-label{
  margin:0 0 8px;
}
.recruiter-taglist,
.recruiter-tool-list{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.recruiter-taglist span,
.recruiter-tool-list span{
  border:1px solid rgba(72,67,58,.10);
  border-radius:999px;
  padding:5px 7px;
  background:#fffdf8;
  color:#5d6665;
  font-size:7.2px;
  line-height:1.15;
}
.recruiter-taglist span{
  border-color:rgba(47,111,187,.13);
  color:#405f80;
  background:#f5f8fb;
  font-weight:700;
}
.recruiter-project-links{
  display:grid;
  gap:5px;
}
.recruiter-project-links a{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:2px 9px;
  padding:8px 9px;
  border:1px solid rgba(72,67,58,.10);
  border-radius:11px;
  background:#fffdf8;
  color:#26364c;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.recruiter-project-links a:hover{
  transform:translateX(2px);
  border-color:rgba(47,111,187,.22);
  background:#f6f9fc;
}
.recruiter-project-links strong{
  font-size:8.3px;
}
.recruiter-project-links small{
  color:#7b7e78;
  font-size:7px;
  grid-column:1;
}
.recruiter-project-links i{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  color:#d9872f;
  font-style:normal;
}
.recruiter-actions-rich{
  margin-top:14px;
  grid-template-columns:1fr 1fr;
}
.recruiter-actions-rich a{
  text-align:center;
  text-decoration:none;
  min-height:40px;
  display:grid;
  place-items:center;
}

@media(max-width:980px){
  .recruiter-plus .recruiter-grid{
    grid-template-columns:1fr;
  }
  .recruiter-proof-grid{
    grid-template-columns:1fr 1fr;
  }
  .recruiter-proof:nth-child(3){
    grid-column:1/-1;
  }
  .recruiter-side-rich{
    border-left:0!important;
    border-top:1px solid rgba(72,67,58,.10)!important;
    padding:20px 0 0!important;
    display:grid!important;
    grid-template-columns:130px 1fr!important;
    gap:12px 16px!important;
  }
  .recruiter-side-rich>img{
    grid-row:1 / span 2!important;
  }
  .recruiter-side-rich .availability{
    margin:0!important;
  }
  .recruiter-side-block,
  .recruiter-actions-rich{
    grid-column:1/-1;
  }
}
@media(max-width:620px){
  .recruiter-plus .recruiter-card{
    width:calc(100vw - 14px);
    max-height:94dvh;
    padding:20px 14px 22px;
  }
  .recruiter-identity-line{
    display:grid;
    align-items:start;
  }
  .recruiter-identity-line>span{
    text-align:left;
  }
  .recruiter-plus .recruiter-main h2{
    font-size:32px;
  }
  .recruiter-proof-grid{
    grid-template-columns:1fr;
  }
  .recruiter-proof:nth-child(n){
    grid-column:auto;
    transform:none;
  }
  .recruiter-side-rich{
    grid-template-columns:90px 1fr!important;
  }
  .recruiter-side-rich>img{
    max-height:118px;
  }
  .recruiter-actions-rich{
    grid-template-columns:1fr;
  }
}

/* Portfolio · IKIGAI professionnel */
.ikigai-overlay{
  position:fixed;
  inset:0;
  z-index:92;
  display:grid;
  place-items:center;
  padding:18px;
  background:
    radial-gradient(circle at 18% 18%,rgba(217,135,47,.17),transparent 26%),
    radial-gradient(circle at 82% 76%,rgba(79,157,105,.13),transparent 28%),
    rgba(246,240,228,.91);
  backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}
.ikigai-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
.ikigai-card{
  position:relative;
  width:min(980px,calc(100vw - 28px));
  max-height:min(90dvh,860px);
  overflow:auto;
  border:1px solid rgba(72,67,58,.12);
  border-radius:30px;
  padding:28px;
  background:linear-gradient(180deg,#fffaf1 0%,#fffdf8 100%);
  box-shadow:0 34px 90px rgba(73,53,30,.19);
  color:#223149;
}
.ikigai-card .panel-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(72,67,58,.12);
  background:#fff;
  color:#5d676e;
  font-size:23px;
}
.ikigai-kicker{
  padding-right:60px;
  color:#c97a22;
  font-size:9px;
  font-weight:800;
  letter-spacing:.19em;
}
.ikigai-card h2{
  margin:8px 54px 7px 0;
  max-width:760px;
  font:800 clamp(34px,4.6vw,58px)/.98 "Fraunces",Georgia,serif;
  letter-spacing:-.035em;
}
.ikigai-lead{
  max-width:720px;
  margin:0;
  color:#69716d;
  font-size:11px;
  line-height:1.6;
}
.ikigai-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
  margin-top:24px;
}
.ikigai-grid article{
  position:relative;
  min-height:135px;
  padding:17px;
  border:1px solid rgba(72,67,58,.11);
  border-radius:18px;
  background:#fffdf8;
}
.ikigai-grid article>b{
  position:absolute;
  right:13px;
  top:8px;
  color:rgba(34,49,73,.07);
  font:800 32px "Fraunces",Georgia,serif;
}
.ikigai-grid article strong{
  display:block;
  padding-right:44px;
  color:#26364c;
  font:700 16px "Fraunces",Georgia,serif;
}
.ikigai-grid article p{
  margin:9px 0 0;
  color:#666e69;
  font-size:9.5px;
  line-height:1.55;
}
.ikigai-grid article[hidden]{display:none}
.ikigai-interests{
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid rgba(72,67,58,.11);
}
.ikigai-interests small{
  display:block;
  color:#9a6c32;
  font-size:7.5px;
  font-weight:800;
  letter-spacing:.16em;
}
.ikigai-interests>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.ikigai-interests span{
  border:1px solid rgba(72,67,58,.11);
  border-radius:999px;
  padding:6px 9px;
  background:#fff;
  color:#59615d;
  font-size:8px;
}
@media(max-width:620px){
  .ikigai-overlay{padding:7px}
  .ikigai-card{width:calc(100vw - 14px);max-height:94dvh;padding:21px 15px 22px}
  .ikigai-card h2{font-size:36px}
  .ikigai-grid{grid-template-columns:1fr}
}
