/* Careers page only. Header and footer styles are intentionally untouched. */
.ha-careers-page{
  --ha-careers-border:rgba(16,43,58,.11);
  --ha-careers-shadow:0 20px 55px rgba(9,43,62,.09);
  color:var(--ha-ink);
  background:#fff;
}

.ha-careers-page .ha-page-hero--careers{
  padding:clamp(3.25rem,6vw,5.75rem) 0 clamp(3.75rem,7vw,6.25rem);
  background:var(--ha-page-hero-background);
}
.ha-careers-page .ha-page-hero--careers::after{
  right:-175px;
  bottom:-350px;
  width:620px;
  height:620px;
}
.ha-careers-page .ha-breadcrumbs{margin-bottom:clamp(1.75rem,3vw,2.5rem)}
.ha-careers-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.62fr);
  align-items:center;
  gap:clamp(2.5rem,6vw,6.5rem);
}
.ha-careers-page .ha-careers-hero__content h1{
  max-width:760px;
  margin-bottom:1rem;
  font-size:clamp(3rem,5.7vw,5.45rem);
  text-wrap:balance;
}
.ha-careers-page .ha-careers-hero__content .ha-page-lead{
  max-width:690px;
  margin-bottom:0;
  color:#49616d;
  font-size:clamp(1.06rem,1.55vw,1.25rem);
  line-height:1.72;
}
.ha-careers-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.9rem;
}
.ha-careers-hero__panel{
  position:relative;
  padding:clamp(1.5rem,3vw,2rem);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.75);
  border-radius:24px;
  background:linear-gradient(145deg,#102b3a,#174b61);
  color:#fff;
  box-shadow:0 26px 65px rgba(9,43,62,.2);
}
.ha-careers-hero__panel::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-110px;
  width:230px;
  height:230px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018);
}
.ha-careers-hero__icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin-bottom:1.25rem;
  border-radius:16px;
  background:linear-gradient(135deg,var(--ha-primary),var(--ha-secondary));
  color:#fff;
  font-size:1.3rem;
}
.ha-careers-hero__panel .ha-card-kicker{color:#98dcea}
.ha-careers-hero__panel h2{
  max-width:340px;
  margin-bottom:1.25rem;
  color:#fff;
  font-size:clamp(1.55rem,2.8vw,2.2rem);
  line-height:1.13;
}
.ha-careers-hero__panel ul{
  position:relative;
  z-index:1;
  display:grid;
  gap:.75rem;
  margin:0;
  padding:1.15rem 0 0;
  border-top:1px solid rgba(255,255,255,.14);
  list-style:none;
}
.ha-careers-hero__panel li{
  display:flex;
  align-items:center;
  gap:.65rem;
  color:#dceaf0;
  font-size:.9rem;
  font-weight:700;
}
.ha-careers-hero__panel li .ha-icon{color:#76d7e9}

.ha-careers-overview{padding:clamp(4.25rem,7vw,7rem) 0;background:#fff}
.ha-careers-page .ha-careers-intro{
  grid-template-columns:minmax(0,1.06fr) minmax(330px,.72fr);
  align-items:center;
  gap:clamp(3rem,7vw,7rem);
  margin:0;
}
.ha-careers-story{max-width:760px}
.ha-careers-page .ha-careers-story>p:first-of-type{
  color:var(--ha-navy);
  font-size:clamp(1.12rem,1.8vw,1.32rem);
  line-height:1.7;
}
.ha-careers-page .ha-careers-story>h2{
  margin:2.1rem 0 1.15rem;
  padding:0;
  font-size:clamp(1.75rem,3vw,2.55rem);
}
.ha-careers-page .ha-careers-story>h2::after{
  width:48px;
  margin-top:.75rem;
}
.ha-careers-page .ha-careers-story>ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin:1.35rem 0 1.4rem;
  padding:0;
  list-style:none;
}
.ha-careers-page .ha-careers-story>ul li{
  position:relative;
  min-height:58px;
  margin:0;
  padding:.9rem 1rem .9rem 2.85rem;
  border:1px solid var(--ha-careers-border);
  border-radius:14px;
  background:#fff;
  color:#334c58;
  font-size:.91rem;
  font-weight:700;
  line-height:1.45;
  box-shadow:0 8px 22px rgba(9,43,62,.04);
}
.ha-careers-page .ha-careers-story>ul li::before{
  content:"";
  position:absolute;
  top:1.08rem;
  left:1rem;
  width:.75rem;
  height:.42rem;
  border-bottom:2px solid var(--ha-success);
  border-left:2px solid var(--ha-success);
  transform:rotate(-45deg);
}
.ha-careers-page .ha-careers-story>p:last-child{
  margin:1.2rem 0 0;
  padding:1rem 1.1rem;
  border-left:3px solid var(--ha-secondary);
  border-radius:0 12px 12px 0;
  background:#f4fafc;
  color:#516974;
  font-size:.86rem;
  line-height:1.65;
}
.ha-careers-visual{
  position:relative;
  margin:0;
  padding:clamp(1.1rem,2.5vw,1.7rem);
  border:1px solid var(--ha-careers-border);
  border-radius:26px;
  background:linear-gradient(145deg,#f0f9fb,#fff6fb);
  box-shadow:var(--ha-careers-shadow);
}
.ha-careers-visual__image{
  overflow:hidden;
  border-radius:18px;
  background:rgba(255,255,255,.68);
}
.ha-careers-visual__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain}
.ha-careers-visual figcaption{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:.8rem;
  margin:-1.25rem .65rem 0;
  padding:1rem;
  border:1px solid rgba(255,255,255,.86);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 36px rgba(9,43,62,.12);
}
.ha-careers-visual figcaption>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#f8e9f3;
  color:var(--ha-primary);
}
.ha-careers-visual figcaption strong,.ha-careers-visual figcaption small{display:block;line-height:1.35}
.ha-careers-visual figcaption strong{color:var(--ha-navy);font-size:.9rem}
.ha-careers-visual figcaption small{color:var(--ha-muted);font-size:.75rem}

.ha-careers-opportunities{
  scroll-margin-top:130px;
  padding:clamp(4.25rem,7vw,7rem) 0;
  border-block:1px solid var(--ha-careers-border);
  background:linear-gradient(180deg,#f3f9fb,#f8fbfc);
}
.ha-careers-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:2rem;
}
.ha-careers-section-head>div{max-width:760px}
.ha-careers-section-head h2{
  margin-bottom:.7rem;
  font-size:clamp(2rem,4vw,3.5rem);
  text-wrap:balance;
}
.ha-careers-section-head>div>p:last-child{margin:0;color:var(--ha-muted);line-height:1.72}
.ha-careers-role-count{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  min-height:42px;
  padding:.65rem .9rem;
  border:1px solid #cfe5eb;
  border-radius:12px;
  background:#fff;
  color:var(--ha-navy);
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(9,43,62,.05);
}
.ha-careers-page .ha-job-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
}
.ha-careers-page .ha-job-card{
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  align-items:start;
  gap:.15rem .85rem;
  min-height:205px;
  padding:1.05rem;
  border:1px solid var(--ha-careers-border);
  border-radius:15px;
  box-shadow:0 10px 30px rgba(9,43,62,.055);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ha-careers-page .ha-job-card:hover{
  transform:translateY(-4px);
  border-color:rgba(39,169,204,.38);
  box-shadow:0 20px 46px rgba(9,43,62,.1);
}
.ha-careers-page .ha-job-icon{
  grid-row:1/3;
  width:44px;
  height:44px;
  border-radius:11px;
  background:linear-gradient(135deg,#f8e9f3,#e5f6fa);
}
.ha-careers-page .ha-job-card>div:nth-child(2){min-width:0}
.ha-careers-page .ha-job-card .ha-card-kicker{
  min-height:1.2em;
  margin-bottom:.35rem;
  color:#617781;
  font-size:.7rem;
  line-height:1.45;
}
.ha-careers-page .ha-job-card h3{margin:0 0 .4rem;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.28}
.ha-careers-page .ha-job-card h3 a{transition:color .2s ease}
.ha-careers-page .ha-job-card:hover h3 a{color:var(--ha-primary)}
.ha-careers-page .ha-job-card p:not(.ha-card-kicker){
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:#596f79;
  font-size:.82rem;
  line-height:1.55;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.ha-careers-page .ha-job-card>.ha-button{
  grid-column:1/-1;
  width:100%;
  min-height:44px;
  margin-top:.8rem;
  padding:.7rem 1rem;
  border-radius:10px;
  box-shadow:none;
}
.ha-careers-page .ha-job-card>.ha-button::after{
  content:"\2192";
  margin-left:.15rem;
  transition:transform .2s ease;
}
.ha-careers-page .ha-job-card>.ha-button:hover::after{transform:translateX(3px)}
.ha-careers-page .ha-empty-state{grid-column:1/-1;padding:clamp(2rem,5vw,3.5rem);background:#fff;text-align:center}

.ha-careers-process{
  scroll-margin-top:130px;
  padding:clamp(4.25rem,7vw,7rem) 0;
  background:#fff;
}
.ha-careers-section-head--narrow{max-width:780px;margin-bottom:2.2rem}
.ha-careers-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.ha-careers-steps li{
  position:relative;
  min-height:225px;
  padding:1.35rem;
  border:1px solid var(--ha-careers-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(9,43,62,.05);
}
.ha-careers-steps li>span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:1.2rem;
  border-radius:11px;
  background:var(--ha-navy);
  color:#fff;
  font-size:.85rem;
  font-weight:850;
}
.ha-careers-steps li:nth-child(even)>span{background:var(--ha-primary)}
.ha-careers-steps h3{margin-bottom:.55rem;font-size:1.08rem}
.ha-careers-steps p{margin:0;color:var(--ha-muted);font-size:.86rem;line-height:1.65}
.ha-careers-adjustments{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1.15rem;
  margin-top:1.25rem;
  padding:clamp(1.3rem,2.7vw,1.75rem);
  border:1px solid #cae4eb;
  border-radius:20px;
  background:linear-gradient(135deg,#eef9fb,#fff8fc);
}
.ha-careers-adjustments__icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:15px;
  background:#fff;
  color:var(--ha-primary);
  box-shadow:0 8px 22px rgba(9,43,62,.08);
}
.ha-careers-adjustments h2{margin:0 0 .25rem;font-size:1.18rem}
.ha-careers-adjustments p{max-width:760px;margin:0;color:#526973;font-size:.86rem;line-height:1.62}
.ha-careers-adjustments .ha-button{flex:0 0 auto;border-radius:12px;white-space:nowrap}

@media(max-width:1120px){
  .ha-careers-page .ha-job-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
  .ha-careers-hero__grid{grid-template-columns:minmax(0,1fr) minmax(290px,.7fr);gap:2rem}
  .ha-careers-page .ha-careers-intro{grid-template-columns:1fr;gap:2.6rem}
  .ha-careers-visual{width:min(620px,100%);margin-inline:auto}
  .ha-careers-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ha-careers-steps li{min-height:195px}
}
@media(max-width:780px){
  .ha-careers-hero__grid{grid-template-columns:1fr}
  .ha-careers-page .ha-careers-hero__content h1{font-size:clamp(2.75rem,12vw,4rem)}
  .ha-careers-hero__panel{max-width:620px}
  .ha-careers-section-head{display:block}
  .ha-careers-role-count{margin-top:1rem}
  .ha-careers-page .ha-job-list{grid-template-columns:1fr}
  .ha-careers-page .ha-job-card{min-height:0}
  .ha-careers-adjustments{grid-template-columns:auto 1fr}
  .ha-careers-adjustments .ha-button{grid-column:1/-1;width:100%}
}
@media(max-width:560px){
  .ha-careers-page .ha-page-hero--careers{padding:2.75rem 0 3.5rem}
  .ha-careers-hero__actions{display:grid}
  .ha-careers-hero__actions .ha-button{width:100%;min-height:52px}
  .ha-careers-hero__panel{padding:1.35rem;border-radius:20px}
  .ha-careers-page .ha-careers-story>ul{grid-template-columns:1fr}
  .ha-careers-steps{grid-template-columns:1fr}
  .ha-careers-steps li{min-height:0}
  .ha-careers-adjustments{grid-template-columns:1fr}
  .ha-careers-adjustments__icon{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){
  .ha-careers-page .ha-job-card,.ha-careers-page .ha-job-card h3 a,.ha-careers-page .ha-job-card>.ha-button::after{transition:none}
}
