/* Portfolio 4.2.3 · Recruiter mode visual repair
   Dedicated file loaded last to avoid legacy/cache conflicts. */
.recruiter-overlay.recruiter-plus{
  --rp-ink:#223149;
  --rp-muted:#68716d;
  --rp-line:rgba(67,61,52,.12);
  --rp-paper:#fffaf0;
  --rp-card:#fffdf8;
  --rp-accent:#c97a22;
  --rp-blue:#315f91;
  --rp-green:#3f8c68;
  overflow:hidden;
}
.recruiter-overlay.recruiter-plus.open{
  display:grid!important;
  place-items:center!important;
}
.recruiter-overlay.recruiter-plus .recruiter-card{
  width:min(1280px,calc(100vw - 26px))!important;
  height:min(92dvh,900px)!important;
  max-height:none!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  padding:24px 28px 26px!important;
  border:1px solid var(--rp-line)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 88% 7%,rgba(230,163,58,.09),transparent 24%),
    linear-gradient(180deg,#fffaf1 0%,#fffdf8 100%)!important;
  color:var(--rp-ink)!important;
  box-shadow:0 34px 90px rgba(73,53,30,.20)!important;
}
.recruiter-overlay.recruiter-plus .panel-close{
  position:absolute!important;
  z-index:8!important;
  top:20px!important;
  right:20px!important;
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  border-radius:50%!important;
  border:1px solid var(--rp-line)!important;
  background:rgba(255,255,255,.78)!important;
  color:#5f6a72!important;
  font-size:25px!important;
  display:grid!important;
  place-items:center!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
.recruiter-overlay.recruiter-plus .panel-close:hover{
  transform:rotate(4deg) scale(1.04)!important;
  background:#fff!important;
  border-color:rgba(49,95,145,.23)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-kicker{
  margin:0 0 13px!important;
  padding-right:66px!important;
  color:var(--rp-accent)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.2em!important;
}
.recruiter-overlay.recruiter-plus .recruiter-identity-line{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0!important;
  padding:0 72px 13px 0!important;
  border-bottom:1px solid var(--rp-line)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-identity-line div{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-identity-line small{
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  color:#4f5b61!important;
}
.recruiter-overlay.recruiter-plus .recruiter-identity-line strong{
  font:700 16px/1.15 "DM Sans",system-ui,sans-serif!important;
  color:var(--rp-ink)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-identity-line>span{
  max-width:540px!important;
  color:#445467!important;
  font-size:11px!important;
  line-height:1.35!important;
  text-align:right!important;
}
.recruiter-overlay.recruiter-plus .recruiter-quicknav{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:11px 0 10px!important;
  border-bottom:1px solid var(--rp-line)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-quicknav button{
  min-height:32px!important;
  padding:0 11px!important;
  border:1px solid var(--rp-line)!important;
  border-radius:999px!important;
  background:#fffdf8!important;
  color:#65706d!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease!important;
}
.recruiter-overlay.recruiter-plus .recruiter-quicknav button:hover,
.recruiter-overlay.recruiter-plus .recruiter-quicknav button.is-active{
  transform:translateY(-1px)!important;
  background:#f4f8fc!important;
  border-color:rgba(49,95,145,.22)!important;
  color:var(--rp-blue)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-grid{
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.62fr) minmax(300px,.62fr)!important;
  align-items:start!important;
  gap:30px!important;
  padding:18px 4px 24px 0!important;
}
.recruiter-overlay.recruiter-plus .recruiter-main{
  min-width:0!important;
}
.recruiter-overlay.recruiter-plus .recruiter-main h2{
  max-width:820px!important;
  margin:0 0 14px!important;
  color:var(--rp-ink)!important;
  font:800 clamp(30px,2.8vw,44px)/1.02 "Fraunces",Georgia,serif!important;
  letter-spacing:-.03em!important;
  text-wrap:balance!important;
}
.recruiter-overlay.recruiter-plus .recruiter-main h2.is-long{
  font-size:clamp(25px,2.2vw,36px)!important;
  line-height:1.06!important;
  max-width:900px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-main>p{
  max-width:850px!important;
  margin:0!important;
  color:var(--rp-muted)!important;
  font-size:12px!important;
  line-height:1.65!important;
}
.recruiter-overlay.recruiter-plus .recruiter-main>p strong{
  color:#505b55!important;
}
.recruiter-overlay.recruiter-plus .recruiter-section-label{
  scroll-margin-top:14px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:20px 0 9px!important;
  color:#936326!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.recruiter-overlay.recruiter-plus .recruiter-section-label::after{
  content:""!important;
  height:1px!important;
  flex:1!important;
  background:linear-gradient(90deg,rgba(201,122,34,.2),transparent)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-proof-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-proof{
  min-width:0!important;
  min-height:190px!important;
  display:flex!important;
  flex-direction:column!important;
  padding:14px 14px 13px!important;
  border:1px solid var(--rp-line)!important;
  border-radius:17px!important;
  background:var(--rp-card)!important;
  box-shadow:0 7px 18px rgba(76,58,34,.05)!important;
  transform:none!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
.recruiter-overlay.recruiter-plus .recruiter-proof:hover,
.recruiter-overlay.recruiter-plus .recruiter-proof.is-focus{
  transform:translateY(-3px)!important;
  box-shadow:0 13px 26px rgba(76,58,34,.09)!important;
  border-color:rgba(49,95,145,.22)!important;
}
.recruiter-overlay.recruiter-plus .proof-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.recruiter-overlay.recruiter-plus .proof-top b{
  display:grid!important;
  place-items:center!important;
  width:25px!important;
  height:25px!important;
  border-radius:50%!important;
  background:#fbefe1!important;
  color:var(--rp-accent)!important;
  font-size:9px!important;
}
.recruiter-overlay.recruiter-plus .proof-top span{
  color:#8a8276!important;
  font-size:7.5px!important;
  letter-spacing:.06em!important;
}
.recruiter-overlay.recruiter-plus .recruiter-proof h3{
  margin:10px 0 4px!important;
  color:var(--rp-ink)!important;
  font:700 17px/1.08 "Fraunces",Georgia,serif!important;
}
.recruiter-overlay.recruiter-plus .recruiter-proof>strong{
  display:block!important;
  min-height:24px!important;
  color:#4d6072!important;
  font-size:8.5px!important;
  line-height:1.4!important;
}
.recruiter-overlay.recruiter-plus .recruiter-proof>p{
  flex:1!important;
  margin:8px 0 10px!important;
  color:#686f6c!important;
  font-size:8.3px!important;
  line-height:1.48!important;
}
.recruiter-overlay.recruiter-plus .proof-tags,
.recruiter-overlay.recruiter-plus .recruiter-taglist,
.recruiter-overlay.recruiter-plus .recruiter-tool-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.recruiter-overlay.recruiter-plus .proof-tags span,
.recruiter-overlay.recruiter-plus .recruiter-taglist span,
.recruiter-overlay.recruiter-plus .recruiter-tool-list span{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  padding:5px 7px!important;
  border:1px solid rgba(63,73,75,.10)!important;
  border-radius:999px!important;
  background:#f8f4ed!important;
  color:#596765!important;
  font-size:7.2px!important;
  line-height:1.1!important;
  white-space:normal!important;
}
.recruiter-overlay.recruiter-plus .recruiter-taglist span{
  background:#f2f7fc!important;
  border-color:rgba(49,95,145,.14)!important;
  color:#3f6184!important;
  font-weight:700!important;
}
.recruiter-overlay.recruiter-plus .recruiter-values{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:0!important;
}
.recruiter-overlay.recruiter-plus .recruiter-values>div{
  display:flex!important;
  gap:10px!important;
  padding:11px 12px!important;
  border:1px solid var(--rp-line)!important;
  border-radius:13px!important;
  background:rgba(255,253,248,.86)!important;
  transition:background .18s ease,border-color .18s ease!important;
}
.recruiter-overlay.recruiter-plus .recruiter-values>div:hover{
  background:#fff!important;
  border-color:rgba(201,122,34,.22)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-values b{
  color:var(--rp-accent)!important;
  font-size:8px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-values span{
  display:grid!important;
  gap:3px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-values strong{
  color:var(--rp-ink)!important;
  font-size:9px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-values small{
  color:#70756f!important;
  font-size:7.5px!important;
  line-height:1.4!important;
}
.recruiter-overlay.recruiter-plus .recruiter-difference{
  margin-top:10px!important;
  padding:11px 13px!important;
  border:1px solid rgba(201,122,34,.13)!important;
  border-left:4px solid var(--rp-accent)!important;
  border-radius:4px 13px 13px 4px!important;
  background:linear-gradient(90deg,rgba(230,163,58,.09),rgba(255,253,248,.6))!important;
}
.recruiter-overlay.recruiter-plus .recruiter-difference small{
  display:block!important;
  margin-bottom:4px!important;
  color:#936326!important;
  font-size:7px!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
}
.recruiter-overlay.recruiter-plus .recruiter-difference p{
  margin:0!important;
  color:#58625e!important;
  font-size:8.5px!important;
  line-height:1.5!important;
}
.recruiter-overlay.recruiter-plus .recruiter-side{
  position:sticky!important;
  top:0!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:0 0 0 22px!important;
  border-left:1px solid var(--rp-line)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-side>img{
  width:100%!important;
  height:190px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center 22%!important;
  border:8px solid #fff!important;
  border-radius:19px!important;
  transform:rotate(1.2deg)!important;
  box-shadow:7px 8px 0 rgba(230,163,58,.14),0 16px 28px rgba(75,56,35,.12)!important;
  filter:none!important;
}
.recruiter-overlay.recruiter-plus .availability{
  display:flex!important;
  gap:9px!important;
  align-items:flex-start!important;
  margin:14px 0 12px!important;
  padding:9px 10px!important;
  border:1px solid rgba(63,140,104,.15)!important;
  border-radius:12px!important;
  background:#f4f8f4!important;
}
.recruiter-overlay.recruiter-plus .availability>span{
  flex:0 0 auto!important;
  width:8px!important;
  height:8px!important;
  margin-top:4px!important;
  border-radius:50%!important;
  background:#58cda0!important;
}
.recruiter-overlay.recruiter-plus .availability div{
  display:grid!important;
  gap:2px!important;
}
.recruiter-overlay.recruiter-plus .availability small{
  color:#74847d!important;
  font-size:7px!important;
  letter-spacing:.12em!important;
}
.recruiter-overlay.recruiter-plus .availability strong{
  color:#3d4c48!important;
  font-size:9px!important;
  line-height:1.4!important;
}
.recruiter-overlay.recruiter-plus .recruiter-side-block{
  scroll-margin-top:14px!important;
  padding:11px 0 0!important;
  margin:0 0 11px!important;
  border-top:1px solid var(--rp-line)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-side-block .recruiter-section-label{
  margin:0 0 7px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-project-links{
  display:grid!important;
  gap:6px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-project-links a{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:2px 8px!important;
  padding:8px 9px!important;
  border:1px solid var(--rp-line)!important;
  border-radius:11px!important;
  background:var(--rp-card)!important;
  color:var(--rp-ink)!important;
  text-decoration:none!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
.recruiter-overlay.recruiter-plus .recruiter-project-links a:hover{
  transform:translateX(3px)!important;
  background:#f4f8fc!important;
  border-color:rgba(49,95,145,.22)!important;
}
.recruiter-overlay.recruiter-plus .recruiter-project-links strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:var(--rp-ink)!important;
  font-size:8.4px!important;
  white-space:nowrap!important;
}
.recruiter-overlay.recruiter-plus .recruiter-project-links small{
  grid-column:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#7b7f79!important;
  font-size:7px!important;
  white-space:nowrap!important;
}
.recruiter-overlay.recruiter-plus .recruiter-project-links i{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  color:var(--rp-accent)!important;
  font-style:normal!important;
}
.recruiter-overlay.recruiter-plus .recruiter-actions-rich{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  margin-top:2px!important;
}
.recruiter-overlay.recruiter-plus .recruiter-actions-rich a{
  min-height:38px!important;
  display:grid!important;
  place-items:center!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  text-align:center!important;
  text-decoration:none!important;
  font-size:8px!important;
  font-weight:800!important;
}
.recruiter-overlay.recruiter-plus .recruiter-actions-rich .primary{
  background:var(--rp-ink)!important;
  color:#fff!important;
}
.recruiter-overlay.recruiter-plus .recruiter-actions-rich .secondary{
  border:1px solid var(--rp-line)!important;
  background:#fffdf8!important;
  color:var(--rp-ink)!important;
}

/* Entrance motion: subtle, useful, and disabled with reduced motion. */
.recruiter-overlay.recruiter-plus.open .recruiter-card{
  animation:rpCardIn .28s cubic-bezier(.2,.8,.2,1) both;
}
.recruiter-overlay.recruiter-plus.open .recruiter-proof{
  animation:rpItemIn .32s cubic-bezier(.2,.8,.2,1) both;
}
.recruiter-overlay.recruiter-plus.open .recruiter-proof:nth-child(2){animation-delay:.04s}
.recruiter-overlay.recruiter-plus.open .recruiter-proof:nth-child(3){animation-delay:.08s}
@keyframes rpCardIn{from{opacity:.5;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}
@keyframes rpItemIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:1000px){
  .recruiter-overlay.recruiter-plus .recruiter-card{
    height:min(94dvh,980px)!important;
    padding:22px 20px 24px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-side{
    position:static!important;
    padding:18px 0 0!important;
    border-left:0!important;
    border-top:1px solid var(--rp-line)!important;
    display:grid!important;
    grid-template-columns:130px minmax(0,1fr)!important;
    gap:11px 16px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-side>img{
    grid-row:1 / span 2!important;
    height:145px!important;
  }
  .recruiter-overlay.recruiter-plus .availability{
    margin:0!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-side-block,
  .recruiter-overlay.recruiter-plus .recruiter-actions-rich{
    grid-column:1/-1!important;
  }
}
@media(max-width:720px){
  .recruiter-overlay.recruiter-plus .recruiter-card{
    width:calc(100vw - 10px)!important;
    height:95dvh!important;
    padding:18px 13px 20px!important;
    border-radius:24px!important;
  }
  .recruiter-overlay.recruiter-plus .panel-close{
    top:12px!important;right:12px!important;width:42px!important;height:42px!important;min-height:42px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-kicker{
    font-size:8px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-identity-line{
    display:grid!important;
    gap:4px!important;
    padding-right:52px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-identity-line>span{
    text-align:left!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-quicknav{
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-quicknav::-webkit-scrollbar{display:none}
  .recruiter-overlay.recruiter-plus .recruiter-quicknav button{
    flex:0 0 auto!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-grid{
    padding-top:14px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-main h2{
    font-size:clamp(31px,11vw,43px)!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-proof-grid,
  .recruiter-overlay.recruiter-plus .recruiter-values{
    grid-template-columns:1fr!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-proof{
    min-height:0!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-side{
    grid-template-columns:92px minmax(0,1fr)!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-side>img{
    height:112px!important;
    border-width:6px!important;
  }
  .recruiter-overlay.recruiter-plus .recruiter-actions-rich{
    grid-template-columns:1fr!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .recruiter-overlay.recruiter-plus *,
  .recruiter-overlay.recruiter-plus *::before,
  .recruiter-overlay.recruiter-plus *::after{
    animation:none!important;
    transition:none!important;
  }
}
