/* Careers page — AYS editorial / architectural style */
.careers-hero {
  background: #171b20;
  color: #fff;
}
.careers-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  padding-top: 76px;
  padding-bottom: 76px;
}
.careers-hero-copy { max-width: 880px; }
.careers-hero-copy .eyebrow { color: #c1c5c9; }
.careers-hero-copy .eyebrow::before { background: #8e959c; }
.careers-hero-copy h1 {
  max-width: 740px;
  margin-top: 22px;
  color: #fff;
  font-family: var(--font-body);
  font-size: clamp(42px, 6.2vw, 76px);
  font-weight: 600;
  letter-spacing: -.065em;
  line-height: .99;
  text-transform: none;
}
.careers-hero-copy h1 span { color: #fff; }
.careers-hero-copy > p {
  max-width: 570px;
  margin-top: 22px;
  color: #c1c5c9;
  font-size: 15px;
  line-height: 1.75;
}
.careers-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}
.careers-hero-note {
  color: #aeb3b8;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.career-positions {
  padding: 94px 0 108px;
  background: #fff;
}
.career-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 40px;
  margin-bottom: 42px;
}
.career-section-head h2 {
  margin-top: 16px;
  color: #171b20;
  font-family: var(--font-body);
  font-size: clamp(34px, 4.8vw, 58px);
  font-weight: 600;
  letter-spacing: -.06em;
  line-height: 1.02;
  text-transform: none;
}
.career-section-head > p {
  max-width: 310px;
  margin-bottom: 5px;
  color: #737980;
  font-size: 14px;
  line-height: 1.7;
}
.career-roles { border-top: 1px solid #deddd8; }
.career-role { border-bottom: 1px solid #deddd8; }
.career-role summary {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 38px;
  gap: 17px;
  align-items: center;
  min-height: 102px;
  padding: 19px 8px 19px 0;
  cursor: pointer;
  list-style: none;
}
.career-role summary::-webkit-details-marker { display: none; }
.career-role summary:focus-visible {
  outline: 3px solid rgba(29, 78, 137, .3);
  outline-offset: 4px;
}
.career-role-number {
  align-self: start;
  padding-top: 5px;
  color: #9a9fa4;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .06em;
}
.career-role-heading { display: grid; gap: 5px; }
.career-role-title {
  color: #22272e;
  font-size: clamp(20px, 2.8vw, 25px);
  font-weight: 600;
  letter-spacing: -.04em;
}
.career-role-summary { color: #858b90; font-size: 13.5px; line-height: 1.5; }
.career-role-toggle {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #deddd8;
  color: #1d4e89;
  font-size: 20px;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}
.career-role[open] .career-role-toggle {
  transform: rotate(45deg);
  background: #1d4e89;
  border-color: #1d4e89;
  color: white;
}
.career-role-content {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 28px 56px;
  padding: 0 62px 31px 65px;
}
.career-role-copy h3 {
  margin: 4px 0 11px;
  color: #858b90;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.career-role-copy p,
.career-role-copy li {
  color: #5f666d;
  font-size: 15px;
  line-height: 1.75;
}
.career-role-copy ul { margin: 0; padding-left: 17px; }
.career-role-copy li + li { margin-top: 5px; }
.career-role-note {
  margin-top: 15px !important;
  padding: 12px 14px;
  background: #f6f4ee;
  font-size: 13px !important;
}
.career-role-note strong { color: #363c43; }
.career-apply {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 8px 0;
  border-bottom: 1px solid #b9c7d8;
  color: #1d4e89;
  font-size: 13.5px;
  font-weight: 650;
}
.career-apply:hover { border-color: #1d4e89; }

.careers-enquiry {
  padding: 76px 0;
  background: #171b20;
  color: #fff;
}
.careers-enquiry-layout {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 48px;
}
.careers-enquiry .eyebrow { color: #aeb3b8; }
.careers-enquiry .eyebrow::before { background: #818990; }
.careers-enquiry h2 {
  max-width: 650px;
  margin-top: 17px;
  color: #fff;
  font-family: var(--font-body);
  font-size: clamp(36px, 5.1vw, 59px);
  font-weight: 600;
  letter-spacing: -.06em;
  line-height: 1.02;
  text-transform: none;
}
.careers-enquiry p {
  max-width: 630px;
  margin-top: 16px;
  color: #aeb3b8;
  font-size: 14px;
  line-height: 1.75;
}
.careers-enquiry p a { color: #fff; border-bottom: 1px solid #777f87; }
.careers-enquiry-actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 22px;
}
.careers-enquiry .footer-arrow-link { color: #d4d6d8; }

@media (max-width: 900px) {
  .careers-hero-grid { gap: 42px; }
  .careers-enquiry-layout { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
  .careers-hero-grid { padding-top: 54px; padding-bottom: 54px; }
  .careers-hero-copy h1 { font-size: clamp(42px, 11vw, 60px); }
  .career-positions { padding: 70px 0 76px; }
  .career-section-head { display: block; margin-bottom: 28px; }
  .career-section-head > p { margin-top: 13px; }
  .career-role summary { grid-template-columns: 30px minmax(0, 1fr) 34px; gap: 11px; min-height: 84px; padding-right: 0; }
  .career-role-content { grid-template-columns: 1fr; gap: 19px; padding: 0 2px 27px 41px; }
  .careers-enquiry { padding: 62px 0; }
  .careers-enquiry-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .career-role-toggle { transition: none; }
}
