#main .careers-sections {
  --careers-ink: #203443;
  --careers-accent: #ab3e54;
  --careers-inset: clamp(20px, 2.5vw, 32px);
  width: min(90%, 1160px);
  margin-inline: auto;
  padding-block: clamp(24px, 3vw, 44px);
  font-family: 'Hanken Grotesk', Arial, sans-serif;
}
#main .careers-intro {
  text-align: center !important;
  padding-block: 0 clamp(14px, 1.8vw, 24px);
  margin-bottom: clamp(16px, 2vw, 26px);
  border-bottom: 1px solid #eedde2;
  background: #fff;
}
#main .careers-intro h1 {
  color: #cf4763 !important;
  font-size: clamp(36px, 4vw, 54px) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 12px !important;
}
#main .careers-sections p {
  color: #425965 !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
#main .careers-intro p { max-width: 62ch; margin-inline: auto !important; color: #425965 !important; }
#main .careers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 30px);
}
#main .careers-grid > section,
#main .careers-enquiry {
  min-width: 0;
  padding: var(--careers-inset);
  border: 1px solid #dce3e7;
  border-radius: 18px;
  background: #fff;
}
#main .careers-grid > section {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 10px;
  align-content: start;
  background: #f8fafb;
  border-top: 3px solid var(--careers-accent);
}
#main .careers-grid > section:nth-child(2) {
  border-top-color: var(--careers-ink);
}
#main .careers-sections h2 {
  margin: 0 0 10px !important;
  color: #173747 !important;
  font-size: clamp(23px, 2.2vw, 30px) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
#main .careers-grid > section > h2 { margin-bottom: 0 !important; }
#main .careers-grid > section > p { max-width: 44ch; font-size: 17px !important; }
#main [data-careers-list] {
  margin-top: 6px;
  border-top: 1px solid #dce3e7;
  padding-top: 12px;
}
#main .careers-sections [data-careers-list] > p {
  font-size: 15px !important;
}
#main .careers-job + .careers-job {
  margin-top: 18px;
  border-top: 1px solid #dce3e7;
  padding-top: 18px;
}
#main .careers-job p { white-space: pre-wrap; overflow-wrap: anywhere; }
#main .careers-opening-count { padding-bottom: 12px; font-weight: 600; }
#main .careers-job details {
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #dce3e7;
  border-radius: 10px;
}
#main .careers-job summary { cursor: pointer; color: #173747; }
#main .careers-job summary h3 {
  display: inline;
  margin: 0;
  font-size: 20px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
#main .careers-job-action {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  color: #a42f49;
}
#main .careers-job details > p { padding-top: 12px; }
#main .careers-apply-button {
  margin-top: 14px;
  padding: 9px 15px;
  border: 1px solid #a42f49;
  border-radius: 7px;
  background: #a42f49;
  color: #fff;
  cursor: pointer;
}
#main #careers-application {
  width: min(90vw, 500px);
  max-height: 90dvh;
  padding: 24px;
  border: 1px solid #dce3e7;
  border-radius: 14px;
  color: #173747;
  background: #fff;
}
#main #careers-application::backdrop { background: #17374799; }
#main #careers-application label { display: block; margin-top: 14px; }
#main #careers-application :is(input[type="file"], textarea) {
  display: block;
  width: 100%;
  margin-top: 5px;
}
#main .careers-application-actions { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; }
#main #careers-application [role="status"]:not(:empty) { padding-top: 12px; }
#main .careers-enquiry {
  margin-top: clamp(20px, 3vw, 32px);
  scroll-margin-top: 110px;
  background: #f8f1f3;
  border-color: #eedde2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px 24px;
  padding-block: clamp(16px, 2vw, 24px);
}
#main .careers-enquiry h2 { margin: 0 !important; }
#main .careers-enquiry a { color: #b93651; font-weight: 600; text-underline-offset: 4px; }
#main .careers-grid > #careers-admin { grid-column: 1 / -1; }
#main #careers-admin [hidden], #main #careers-admin[hidden] { display: none !important; }
#main #careers-admin summary { cursor: pointer; color: #173747; font-size: 24px; font-weight: 600; }
#main #careers-admin details[open] h2 { margin-top: 18px !important; }
#main #careers-admin-form form { max-width: 480px; }
#main #careers-admin-form label { display: block; margin: 12px 0; font-weight: 600; }
#main #careers-admin-form :is(input, select, textarea) { display: block; width: 100%; margin-top: 4px; }
@media (max-width: 700px) {
  #main .careers-grid { grid-template-columns: minmax(0, 1fr); }
  #main .careers-grid > section {
    grid-row: auto;
    grid-template-rows: auto;
  }
}
body.careers-admin-page { margin: 0; font-family: system-ui, sans-serif; color: #173747; background: #f5f7f8; }
.careers-admin-page nav { display: flex; gap: 20px; margin-bottom: 32px; }
.careers-admin-page a { color: #a42f49; }
.careers-admin-page button { margin: 8px 8px 0 0; padding: 9px 14px; border: 1px solid #173747; border-radius: 6px; background: #173747; color: white; cursor: pointer; }
.careers-admin-page input, .careers-admin-page select, .careers-admin-page textarea { box-sizing: border-box; padding: 9px; border: 1px solid #9eacb4; border-radius: 6px; font: inherit; }
.careers-admin-page [data-admin-jobs] { margin-top: 24px; }
