:root{
  --rec-blue:#008bd5;
  --rec-blue-dark:#086fa9;
  --rec-orange:#f08326;
  --rec-text:#111827;
  --rec-sub:#667085;
  --rec-line:#e6ebf2;
  --rec-bg:#f7f9fc;
}

.recruit-page{
  color:var(--rec-text);
  background:#fff;
}

.rec-wrap{
  width:min(1270px, 92vw);
  margin:0 auto;
}

.rec-hero{
  position:relative;
  min-height:430px;
  display:grid;
  align-items:end;
  color:#fff;
  overflow:hidden;
  background:#0f172a;
}

.rec-hero__media{
  position:absolute;
  inset:0;
}

.rec-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.rec-hero__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.68) 100%);
}

.rec-hero__inner{
  position:relative;
  z-index:1;
  padding:84px 0 56px;
}

.rec-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:28px;
  font-size:14px;
  color:rgba(255,255,255,.78);
}

.rec-breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.rec-breadcrumb a:hover{
  color:#fff;
}

.rec-hero h1{
  margin:0;
  font-size:clamp(42px, 6vw, 76px);
  line-height:1.05;
  font-weight:400;
}

.rec-hero__lead{
  max-width:680px;
  margin:20px 0 0;
  font-size:18px;
  line-height:1.85;
  color:rgba(255,255,255,.88);
}

.rec-searchbar{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:24px;
  margin-top:72px;
}

.rec-searchbar__field{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.72);
}

.rec-searchbar__icon{
  font-size:25px;
  line-height:1;
}

.rec-searchbar input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font-size:17px;
}

.rec-searchbar input::placeholder{
  color:#fff;
  opacity:1;
}

.rec-btn{
  box-sizing:border-box;
  min-height:48px;
  padding:0 22px;
  border:1px solid transparent;
  border-radius:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:15px;
  color:#fff;
  background:var(--rec-blue);
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}

.rec-btn:hover{
  background:var(--rec-blue-dark);
}

.rec-btn--ghost{
  color:var(--rec-text);
  background:#fff;
  border-color:#d8e0ea;
}

.rec-btn--ghost:hover{
  color:var(--rec-blue);
  background:#fff;
  border-color:var(--rec-blue);
}

.rec-section{
  padding:72px 0;
}

.rec-section--soft{
  background:var(--rec-bg);
}

.rec-filter-row{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-bottom:28px;
}

.rec-select{
  min-width:150px;
  height:44px;
  padding:0 48px 0 14px;
  border:0;
  border-radius:0;
  appearance:none;
  -webkit-appearance:none;
  background-color:#f3f5f7;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23111827' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:calc(100% - 20px) center;
  background-size:10px 6px;
  color:var(--rec-text);
  font-size:15px;
}

.rec-select::-ms-expand{
  display:none;
}

.rec-input-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-bottom:34px;
  color:var(--rec-sub);
  font-size:14px;
}

.rec-input-tags strong{
  color:var(--rec-text);
  font-weight:500;
}

.rec-clear-filter{
  border:0;
  padding:0;
  background:transparent;
  color:var(--rec-sub);
  font:inherit;
  cursor:pointer;
}

.rec-clear-filter:hover{
  color:var(--rec-blue);
}

.rec-jobs-head{
  display:grid;
  grid-template-columns:minmax(330px, 1.55fr) .7fr .7fr 1fr .9fr;
  gap:18px;
  padding:0 8px 12px;
  border-bottom:1px solid #cbd5e1;
  font-size:16px;
  font-weight:700;
}

.rec-job-row{
  display:grid;
  grid-template-columns:minmax(330px, 1.55fr) .7fr .7fr 1fr .9fr;
  gap:18px;
  align-items:center;
  min-height:54px;
  padding:0 8px;
  border-bottom:1px solid #d8dee7;
  color:var(--rec-text);
  text-decoration:none;
  transition:background .18s ease;
}

.rec-job-row:hover{
  background:#f8fbff;
}

.rec-job-row strong{
  font-weight:500;
}

.rec-job-row span{
  color:#111827;
}

.rec-location{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.rec-load{
  margin-top:26px;
  display:flex;
  justify-content:center;
}

.rec-empty{
  margin-top:24px;
  padding:34px 20px;
  border:1px dashed #d8e0ea;
  background:#fafcff;
  color:var(--rec-sub);
  text-align:center;
  font-size:15px;
}

.rec-empty[hidden]{
  display:none;
}

.rec-load .rec-btn{
  background:#f1f3f5;
  color:var(--rec-text);
}

.rec-load .rec-btn:hover{
  background:#e5e9ef;
}

.rec-detail-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 330px;
  gap:56px;
  align-items:start;
}

.rec-detail-main h2,
.rec-form-card h2{
  margin:0 0 18px;
  font-size:30px;
  line-height:1.25;
  font-weight:400;
}

.rec-detail-main h3{
  margin:42px 0 16px;
  font-size:22px;
  line-height:1.3;
  font-weight:500;
}

.rec-detail-main p,
.rec-detail-main li{
  font-size:16px;
  line-height:1.9;
  color:#475467;
}

.rec-detail-main ul{
  margin:0;
  padding-left:20px;
}

.rec-side{
  position:sticky;
  top:112px;
  padding:26px 0;
  border-top:3px solid var(--rec-blue);
  border-bottom:1px solid var(--rec-line);
}

.rec-side__title{
  margin:0 0 18px;
  font-size:22px;
  font-weight:500;
}

.rec-side__meta{
  display:grid;
  gap:12px;
  margin-bottom:24px;
}

.rec-side__meta div{
  display:grid;
  gap:4px;
}

.rec-side__meta span{
  font-size:13px;
  color:var(--rec-sub);
}

.rec-side__meta strong{
  font-size:15px;
  font-weight:500;
}

.rec-side .rec-btn{
  width:100%;
  max-width:100%;
}

.rec-related{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--rec-line);
}

.rec-related a{
  display:block;
  margin-top:10px;
  color:var(--rec-blue);
  text-decoration:none;
}

.rec-form-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:54px;
  align-items:start;
}

.rec-form-card{
  background:transparent;
}

.rec-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.rec-form__field{
  display:grid;
  gap:8px;
}

.rec-form__field--full{
  grid-column:1 / -1;
}

.rec-form label{
  font-size:14px;
  color:#344054;
}

.rec-form input,
.rec-form select,
.rec-form textarea{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  border:1px solid #d8e0ea;
  border-radius:0;
  padding:0 14px;
  font:inherit;
  color:var(--rec-text);
  background:#fff;
}

.rec-form textarea{
  min-height:128px;
  padding:14px;
  resize:vertical;
}

.rec-form__note{
  grid-column:1 / -1;
  margin:0;
  font-size:13px;
  line-height:1.8;
  color:var(--rec-sub);
}

.rec-apply-aside{
  padding:28px;
  background:transparent;
  border-left:4px solid var(--rec-orange);
}

.rec-apply-aside h2{
  margin:0 0 16px;
  font-size:24px;
  font-weight:400;
}

.rec-apply-aside p{
  margin:0;
  color:#475467;
  line-height:1.85;
}

.rec-apply-aside__action{
  margin-top:18px;
}

.rec-process{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin-top:44px;
  border:1px solid #dbe3ec;
}

.rec-process__item{
  min-height:120px;
  padding:22px;
  background:var(--rec-bg);
  border-right:1px solid #dbe3ec;
}

.rec-process__item:last-child{
  border-right:0;
}

.rec-process__num{
  color:var(--rec-orange);
  font-weight:700;
  margin-bottom:10px;
}

.rec-process__title{
  font-size:18px;
  font-weight:500;
}

@media (max-width: 980px){
  .rec-searchbar,
  .rec-detail-layout,
  .rec-form-layout{
    grid-template-columns:1fr;
  }

  .rec-side{
    position:static;
  }

  .rec-jobs-head{
    display:none;
  }

  .rec-job-row{
    grid-template-columns:1fr;
    gap:6px;
    padding:18px 0;
  }

  .rec-job-row span::before{
    content:attr(data-label);
    display:inline-block;
    min-width:86px;
    color:var(--rec-sub);
  }

  .rec-process{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 640px){
  .rec-hero{
    min-height:520px;
  }

  .rec-hero__inner{
    padding:58px 0 42px;
  }

  .rec-searchbar{
    gap:14px;
    margin-top:44px;
  }

  .rec-section{
    padding:48px 0;
  }

  .rec-form{
    grid-template-columns:1fr;
  }

  .rec-process{
    grid-template-columns:1fr;
  }

  .rec-process__item{
    border-right:0;
    border-bottom:1px solid #dbe3ec;
  }

  .rec-process__item:last-child{
    border-bottom:0;
  }
}
