.page-job-openings main{
  position:relative;
  z-index:1;
}

.page-job-openings .page-title{
  box-sizing:border-box;
  margin:0 auto;
  padding-bottom:0;
}

.job-openings-content{
  padding-bottom:0;
}

/* Keep the existing empty-state spacing for ?department=none. */
.page-job-openings[data-department="none"] .job-openings-content{
  padding-bottom:clamp(110px,calc(75px + 5vw),180px);
}

.job-openings-empty{
  margin-top:0;
  font-family:var(--font-ja);
  font-size:clamp(16px,calc(14.592px + .376vw),20px);
  font-weight:500;
  line-height:1.8;
}

.job-openings-section + .job-openings-section{
  margin-top:clamp(76px,calc(49px + 3.75vw),130px);
}

/* A filtered department becomes the first visible section. */
.page-job-openings[data-department]:not([data-department="all"]):not([data-department="none"])
  .job-openings-section:not([hidden]){
  margin-top:0;
}

.job-openings-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:clamp(40px,calc(27px + 1.8vw),66px);
}

/* Same card composition and hover behavior as TOP / JOBS. */
.page-job-openings .job-card{
  display:block;
  position:relative;
  min-height:316px;
  padding:34px;
  border-radius:20px;
  background:rgba(255,255,255,.5);
  box-shadow:var(--shared-card-shadow);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  transition:background-color .35s ease,box-shadow .4s ease;
}

.page-job-openings .job-card h3{
  font-size:20px;
  font-weight:600;
  line-height:40px;
  letter-spacing:2px;
}

.page-job-openings .job-card hr{
  height:1px;
  margin:10px 0 12px;
  border:0;
  background-image:var(--gradient-button-background),linear-gradient(#bbb,#bbb);
  background-repeat:no-repeat;
  background-position:left center;
  background-size:0 100%,100% 100%;
  transition:background-size .45s cubic-bezier(.22,1,.36,1);
}

.page-job-openings .job-card__place{
  display:flex;
  margin-top:14.5px;
  align-items:flex-start;
  gap:11px;
  font-size:14px;
  font-weight:400;
  line-height:28px;
}

.page-job-openings .job-card__pin{
  flex:none;
  width:19.247px;
  height:24.075px;
}

.page-job-openings .job-card>p:last-of-type{
  margin-top:17px;
  font-size:16px;
  font-weight:400;
  line-height:30px;
  letter-spacing:1px;
}

.page-job-openings .job-card .more{
  position:absolute;
  right:35px;
  bottom:28px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  color:#f18d78;
  font-family:var(--font-en);
  font-size:17.879px;
  line-height:35.758px;
  letter-spacing:0;
  text-align:right;
  white-space:nowrap;
}

.page-job-openings .more__paren,
.page-job-openings .more__label{
  display:inline-flex;
  align-items:center;
  align-self:center;
  line-height:1;
}

.page-job-openings .more__label{
  margin-left:.75em;
}

.page-job-openings .more .ui-arrow{
  align-self:center;
  margin-left:1em;
}

.page-job-openings .more__paren:last-child{
  margin-left:.75em;
}

.page-job-openings .job-card .more-link{
  transition:filter .35s ease;
}

@media(hover:hover) and (pointer:fine){
  .page-job-openings .job-card:hover{
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.14);
  }
  .page-job-openings .job-card:hover hr{
    background-size:100% 100%,100% 100%;
  }
  .page-job-openings .job-card:hover .more-link{
    filter:saturate(1.25) brightness(.92);
  }
}

@media(min-width:768px) and (max-width:1023px){
  .job-openings-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(18px,2.5vw,24px);
  }
  .page-job-openings .job-card{
    min-height:clamp(286px,32vw,316px);
    padding:clamp(26px,3.25vw,32px);
  }
  .page-job-openings .job-card h3{
    font-size:clamp(18px,2.15vw,20px);
  }
  .page-job-openings .job-card>p:last-of-type{
    font-size:clamp(14px,1.75vw,15px);
    line-height:clamp(28px,3.4vw,30px);
  }
}

@media(max-width:767px){
  .page-job-openings[data-department="none"] .job-openings-content{
    padding-bottom:90px;
  }
  .job-openings-section + .job-openings-section{
    margin-top:76px;
  }
  .job-openings-grid{
    grid-template-columns:1fr;
    gap:20px;
    margin-top:35px;
  }
  .page-job-openings .job-card{
    min-height:252px;
    padding:24px 32px;
    border-radius:18px;
  }
  .page-job-openings .job-card h3{
    font-size:16px;
    line-height:32px;
  }
  .page-job-openings .job-card hr{
    margin:7px 0;
  }
  .page-job-openings .job-card__place{
    gap:11px;
    margin-top:12px;
    font-size:13px;
    line-height:26px;
  }
  .page-job-openings .job-card__pin{
    width:16px;
    height:20.013px;
    margin-top:2px;
  }
  .page-job-openings .job-card>p:last-of-type{
    margin-top:11px;
    font-size:14px;
    line-height:28px;
    letter-spacing:2px;
  }
  .page-job-openings .job-card .more{
    right:25px;
    bottom:26px;
    font-size:16px;
    line-height:35.758px;
  }
}
