/* Recruiter skill finder: a lightweight, accessible liquid-glass command surface. */
.skill-search-is-open { overflow: hidden; }
.skill-search-trigger {
  position: relative; isolation: isolate; display: inline-flex; flex: 0 0 auto;
  gap: 10px; align-items: center; justify-content: center; height: 46px;
  padding: 0 14px; border: 1px solid rgba(97,243,255,.27);
  border-radius: 999px; background: rgba(97,243,255,.075);
  color: #edfaff; cursor: pointer;
  box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset, 0 12px 35px rgba(0,0,0,.2);
  font: 700 13px "SFMono-Regular",Consolas,Menlo,monospace;
  transition: background .25s ease, border-color .25s ease, transform .4s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
.skill-search-trigger::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background: linear-gradient(110deg,transparent 15%,rgba(97,243,255,.14) 52%,transparent 78%);
  background-size: 220% 100%; animation: recruiter-search-shine 6.5s ease-in-out infinite;
}
.skill-search-trigger:hover, .skill-search-trigger:focus-visible {
  transform:translateY(-2px); border-color:rgba(97,243,255,.65);
  background:rgba(97,243,255,.15);
  box-shadow:0 0 28px rgba(97,243,255,.14),0 14px 36px rgba(0,0,0,.23);
}
.skill-search-trigger:focus-visible { outline: 2px solid #61f3ff; outline-offset: 3px; }
.skill-search-trigger svg { width:19px; height:19px; stroke:#61f3ff; stroke-width:2; fill:none; flex-shrink:0; }
.skill-search-trigger kbd {
  font: 700 10px Consolas,monospace; color:rgba(237,250,255,.64);
  border:1px solid rgba(255,255,255,.13); border-radius:7px; padding:3px 5px;
}
.skill-search-mobile-launch { display: none; }
.skill-search-scrim {
  position:fixed; z-index:950; inset:0;
  background:rgba(2,4,16,.78); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  animation: recruiter-scrim-in .28s ease both;
}
.skill-search-dialog {
  --liquid-x:74%; --liquid-y:13%;
  position:fixed; z-index:951; top:max(26px,7.5vh); left:50%;
  transform:translateX(-50%); width:min(760px,calc(100vw - 28px));
  max-height:min(810px,calc(100dvh - 44px)); min-height:320px;
  display:flex; flex-direction:column; isolation:isolate; overflow:hidden;
  border-radius:30px; border:1px solid rgba(158,227,255,.29);
  background:linear-gradient(152deg,rgba(14,23,46,.98),rgba(6,9,28,.985) 58%,rgba(27,12,39,.97));
  box-shadow:0 48px 130px rgba(0,0,0,.67),0 0 0 1px rgba(255,255,255,.06) inset,0 0 100px rgba(100,76,194,.18);
  animation: recruiter-modal-in .55s cubic-bezier(.16,1,.3,1) both;
}
.skill-search-dialog[hidden], .skill-search-scrim[hidden], .skill-search-suggestions[hidden] { display:none!important; }
.skill-search-dialog::before {
  content:""; position:absolute; inset:-48%; pointer-events:none; z-index:-1;
  background:
    radial-gradient(ellipse at var(--liquid-x) var(--liquid-y),rgba(97,243,255,.16),transparent 33%),
    radial-gradient(ellipse at 14% 72%,rgba(165,140,255,.22),transparent 38%),
    radial-gradient(ellipse at 87% 38%,rgba(255,139,212,.18),transparent 33%);
  animation:recruiter-liquid-drift 13s ease-in-out infinite alternate;
}
.skill-search-dialog::after {
  content:""; position:absolute; pointer-events:none; z-index:-1;
  width:360px; height:360px; border-radius:50%; top:-280px; right:-120px;
  background:conic-gradient(from 90deg,transparent,rgba(97,243,255,.16),rgba(255,139,212,.15),transparent);
  filter:blur(28px); animation:recruiter-liquid-spin 16s linear infinite;
}
.skill-search-top {
  position:relative; display:flex; justify-content:space-between; align-items:flex-start;
  padding:30px 30px 14px; gap:14px;
}
.skill-search-eyebrow {
  display:flex; align-items:center; gap:9px;
  font:700 11px "SFMono-Regular",Consolas,Menlo,monospace;
  letter-spacing:.17em; text-transform:uppercase; color:#7df2fe;
}
.skill-search-eyebrow::before {
  content:""; width:7px; height:7px; background:#7df2fe; border-radius:50%;
  box-shadow:0 0 15px rgba(97,243,255,.8); animation:recruiter-heartbeat 2.4s ease-in-out infinite;
}
.skill-search-top h2 { margin:10px 0 0; font-size:clamp(25px,3.8vw,38px); letter-spacing:-.05em; line-height:1.08; font-weight:800; color:#fbfcff; }
.skill-search-top h2 em { font-style:normal; background:linear-gradient(90deg,#61f3ff,#a58cff,#ff8bd4); color:transparent; background-clip:text; -webkit-background-clip:text; }
.skill-search-close {
  display:grid; place-items:center; flex:0 0 auto; width:40px; height:40px;
  border:1px solid rgba(255,255,255,.19); border-radius:13px;
  background:rgba(255,255,255,.08); color:white; font-size:22px; cursor:pointer;
  transition:transform .23s ease,background .23s ease;
}
.skill-search-close:hover { transform:rotate(90deg); background:rgba(255,255,255,.18); }
.skill-search-field {
  position:relative; display:flex; align-items:center; gap:14px;
  margin:0 26px; padding:0 18px; height:69px; flex:0 0 auto;
  background:rgba(250,252,255,.085); border:1px solid rgba(97,243,255,.3);
  border-radius:19px; overflow:hidden;
  box-shadow:0 0 30px rgba(97,243,255,.06),inset 0 1px 0 rgba(255,255,255,.11);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.skill-search-field:focus-within {
  border-color:rgba(97,243,255,.85);
  box-shadow:0 0 0 3px rgba(97,243,255,.11),0 0 50px rgba(97,243,255,.13);
}
.skill-search-field::after {
  content:""; position:absolute; inset:auto 16px 0; height:2px;
  background:linear-gradient(90deg,transparent,#61f3ff,#a58cff,#ff8bd4,transparent);
  transform:scaleX(.15); opacity:.4; transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s;
}
.skill-search-field:focus-within::after { transform:scaleX(1); opacity:1; }
.skill-search-field svg { width:23px; height:23px; fill:none; stroke:#61f3ff; stroke-width:2; flex:0 0 auto; }
#skillSearchInput {
  min-width:0; width:100%; height:100%; border:0; outline:0; background:transparent;
  color:#fbfcff; font:500 clamp(15px,2.4vw,19px) "Aptos Display","Trebuchet MS",Arial,sans-serif;
  box-shadow:none; border-radius:0;
}
#skillSearchInput::placeholder { color:rgba(237,245,255,.5); }
#skillSearchInput::-webkit-search-cancel-button { cursor:pointer; filter:grayscale(1) brightness(2.4); }
.skill-search-field kbd { flex:0 0 auto; font:700 12px monospace; border:1px solid rgba(255,255,255,.15); border-radius:7px; padding:5px 7px; color:rgba(255,255,255,.55); }
.skill-search-suggestions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:18px 30px 4px; }
.skill-search-suggestions > span {
  font:700 11px "SFMono-Regular",Consolas,monospace;
  color:rgba(255,255,255,.54); text-transform:uppercase; letter-spacing:.13em;
  margin-right:5px;
}
.skill-search-suggestions button {
  border:1px solid rgba(255,255,255,.18); border-radius:999px;
  background:rgba(255,255,255,.055); color:#d7e8ff;
  font:700 12px Consolas,monospace; padding:9px 12px; cursor:pointer;
  transition:border-color .2s,background .2s,transform .25s cubic-bezier(.16,1,.3,1);
}
.skill-search-suggestions button:hover, .skill-search-suggestions button:focus-visible {
  background:rgba(97,243,255,.14); border-color:rgba(97,243,255,.65);
  transform:translateY(-3px);
}
.skill-search-status {
  display:block; font:600 12px "SFMono-Regular",Consolas,monospace;
  letter-spacing:.015em; color:rgba(225,233,249,.69);
  padding:17px 30px 12px; flex-shrink:0;
}
.skill-search-results { min-height:60px; overflow-y:auto; overscroll-behavior:contain; padding:0 17px 18px; scrollbar-color:rgba(165,140,255,.45) transparent; }
.skill-search-result {
  position:relative; display:flex; width:100%; align-items:center; justify-content:space-between;
  gap:13px; padding:14px 18px; text-align:left;
  color:#fff; background:transparent; border:1px solid transparent; border-radius:16px;
  cursor:pointer; margin-bottom:5px; transition:transform .28s cubic-bezier(.16,1,.3,1),background .25s,border-color .25s;
  animation:recruiter-result-in .35s cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(var(--item-index) * 28ms);
}
.skill-search-result::before {
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(95deg,rgba(97,243,255,.11),transparent 42%,rgba(255,139,212,.1));
  opacity:0; transition:opacity .3s;
}
.skill-search-result:hover, .skill-search-result.is-selected, .skill-search-result:focus-visible {
  background:rgba(255,255,255,.085); border-color:rgba(97,243,255,.31);
  transform:translateX(3px); outline:none;
}
.skill-search-result:hover::before,.skill-search-result.is-selected::before { opacity:1; }
.skill-search-result-copy { position:relative; display:grid; min-width:0; gap:5px; flex:1; }
.skill-search-type {
  font:700 10px "SFMono-Regular",Consolas,monospace;
  text-transform:uppercase; letter-spacing:.16em; color:#61f3ff;
}
.skill-search-result strong { font-size:15px; font-weight:800; line-height:1.3; color:#fbfcff; }
.skill-search-result small { display:block; font-size:12.5px; line-height:1.5; font-weight:400; color:rgba(230,235,251,.73); max-width:620px; }
.skill-search-arrow {
  position:relative; display:grid; place-items:center; flex:0 0 auto;
  width:34px; height:34px; border-radius:11px; background:rgba(97,243,255,.1);
  color:#61f3ff; font-size:22px; transition:transform .25s cubic-bezier(.16,1,.3,1);
}
.skill-search-result:hover .skill-search-arrow { transform:translate(3px,-3px); }
.skill-search-empty { padding:28px 15px 40px; display:grid; gap:12px; color:#fff; }
.skill-search-empty strong { font-size:18px; }
.skill-search-empty p { font-size:14px; color:rgba(234,239,255,.73); line-height:1.6; }
.skill-search-contact {
  width:max-content; max-width:100%; display:inline-block; margin-top:8px; padding:12px 17px;
  background:rgba(97,243,255,.14); border-radius:999px; color:#7df2fe; font-weight:800;
}
.skill-search-footer {
  flex:0 0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px;
  padding:13px 30px; border-top:1px solid rgba(255,255,255,.075);
  color:rgba(232,240,255,.45); font:600 10px Consolas,monospace; letter-spacing:.02em;
}
.recruiter-spotlight {
  position:relative!important; isolation:isolate; scroll-margin-top:150px;
  outline:2px solid #61f3ff!important; outline-offset:6px;
  box-shadow:0 0 0 10px rgba(97,243,255,.1),0 0 52px rgba(97,243,255,.2)!important;
  animation:recruiter-spotlight-in 1.1s cubic-bezier(.16,1,.3,1) both;
}
.recruiter-spotlight::after {
  content:""; position:absolute; pointer-events:none; z-index:6;
  inset:-8px; border-radius:inherit; border:2px solid rgba(255,139,212,.45);
  animation:recruiter-spotlight-wave 1.4s ease-out 2;
}
mark.recruiter-keyword {
  position:relative; padding:0 .09em; border-radius:.19em;
  color:#03121b; background:#61f3ff; font-weight:900;
  box-shadow:0 0 24px rgba(97,243,255,.38);
}
@keyframes recruiter-scrim-in { from { opacity:0; } to { opacity:1; } }
@keyframes recruiter-modal-in { from { opacity:0; transform:translate(-50%,-16px) scale(.95); filter:blur(7px); } to { opacity:1; transform:translateX(-50%) scale(1); filter:blur(0); } }
@keyframes recruiter-result-in { from { opacity:0; transform:translateY(11px); } to { opacity:1; transform:translateY(0); } }
@keyframes recruiter-liquid-drift { from { transform:translate3d(-3%,1%,0) rotate(-4deg); } to { transform:translate3d(4%,-3%,0) rotate(5deg); } }
@keyframes recruiter-liquid-spin { to { transform:rotate(360deg); } }
@keyframes recruiter-heartbeat { 50% { transform:scale(1.55); box-shadow:0 0 25px rgba(97,243,255,1); } }
@keyframes recruiter-search-shine { 50% { background-position:100% 0; } }
@keyframes recruiter-spotlight-in { 0% { filter:brightness(1.45); } 100% { filter:brightness(1); } }
@keyframes recruiter-spotlight-wave { 0% { opacity:1; transform:scale(.985); } 100% { opacity:0; transform:scale(1.035); } }
/* Reserve navigation width for the recruiter search, without wrapping links. */
@media(min-width:821px) {
  .nav-wrap .nav { width:min(1540px,100%); }
  .nav-links { min-width:0; }
  .nav-links a, .nav-actions .btn, .skill-search-trigger { white-space:nowrap; }
  .nav-actions .btn { flex-shrink:0; min-height:48px; padding:13px 18px; font-size:14px; }
  .nav-links a { padding:10px 10px; font-size:13px; }
}
@media(max-width:1490px) and (min-width:821px) {
  /* Less-used sections remain reachable through search and page scrolling. */
  .nav-links a:nth-child(2),.nav-links a:nth-child(4),.nav-links a:nth-child(5) { display:none; }
}
@media(max-width:1200px) and (min-width:821px) {
  .skill-search-trigger kbd { display:none; }
  .nav-links a { padding:10px 8px; font-size:12px; }
}
@media(max-width:940px) and (min-width:821px) {
  .nav-links a:nth-child(1) { display:none; }
}
@media(max-width:820px) {
  .skill-search-trigger { width:44px; height:44px; padding:0; margin-left:auto; }
  .skill-search-trigger span, .skill-search-trigger kbd { display:none; }
  .skill-search-mobile-launch {
    display:flex; align-items:center; gap:12px; width:calc(100% - 24px);
    margin:12px; padding:15px 17px; color:#e8fcff; border:1px solid rgba(97,243,255,.38);
    background:rgba(97,243,255,.09); border-radius:18px; cursor:pointer;
    text-align:left; font:800 15px "Aptos Display",Arial,sans-serif;
  }
  .skill-search-mobile-launch svg { width:20px; height:20px; stroke:#61f3ff; fill:none; stroke-width:2; }
  .skill-search-dialog { top:12px; max-height:calc(100dvh - 24px); border-radius:24px; }
  .skill-search-top { padding:25px 20px 14px; }
  .skill-search-field { margin:0 15px; height:60px; padding:0 13px; }
  .skill-search-suggestions { margin:16px 18px 3px; }
  .skill-search-status { padding:15px 19px 10px; }
  .skill-search-results { padding:0 9px 10px; }
  .skill-search-footer { padding:12px 19px; }
  .skill-search-field kbd { display:none; }
}
@media(max-width:430px) {
  .skill-search-top h2 { font-size:27px; }
  .skill-search-result { padding:13px 12px; gap:8px; }
  .skill-search-result strong { font-size:14px; }
  .skill-search-result small { font-size:12px; }
  .skill-search-arrow { width:29px; height:29px; }
}
@media(prefers-reduced-motion:reduce) {
  .skill-search-dialog,.skill-search-scrim,.skill-search-result,.skill-search-trigger::before,
  .skill-search-dialog::before,.skill-search-dialog::after,.skill-search-eyebrow::before,
  .recruiter-spotlight,.recruiter-spotlight::after { animation:none!important; }
  .skill-search-dialog,.skill-search-result,.skill-search-trigger { transition:none!important; }
}

@media (hover:none) {
  .skill-search-trigger:hover, .menu-button:hover {
    transform:none!important;
  }
}

@media(max-width:380px){ .nav {gap:8px;} .brand {gap:7px;} .brand-copy strong {max-width:100px;} }
