/* Careers Hub V2 — current openings, role paths and Talent Network */
.careers-v2,
.careers-generated {
  --careers-navy-950: #061a2c;
  --careers-navy-900: #08243b;
  --careers-navy-800: #0d3554;
  --careers-green-700: #0f633c;
  --careers-green-600: #137347;
  --careers-green-500: #25a66a;
  --careers-mint: #dff8ea;
  --careers-blue: #e9f3f8;
  --careers-slate-50: #f7fafb;
  --careers-slate-100: #eef3f5;
  --careers-border: #d7e4ea;
  --careers-ink: #10283a;
  --careers-muted: #5a7080;
  --careers-shadow: 0 22px 60px rgba(4,28,47,.13);
  color: var(--careers-ink);
  background: var(--careers-slate-50);
}

.careers-v2 *,
.careers-v2 *::before,
.careers-v2 *::after,
.careers-generated *,
.careers-generated *::before,
.careers-generated *::after { box-sizing: border-box; }
.careers-v2 main { overflow: hidden; }
.careers-v2 .container,
.careers-generated .container { width: min(1180px, calc(100% - 40px)); }

.careers-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 2147483647;
  padding: 12px 16px;
  border-radius: 9px;
  color: #fff;
  background: var(--careers-navy-950);
  font-weight: 800;
  transform: translateY(-160%);
}
.careers-skip-link:focus { transform: translateY(0); }

.careers-v2 .site-header,
.careers-generated .site-header {
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: var(--careers-navy-950);
  box-shadow: 0 8px 28px rgba(4,28,47,.14);
}
.careers-v2 .brand-lockup,
.careers-generated .brand-lockup { height: 60px !important; }
.careers-v2 .nav-links,
.careers-generated .nav-links { gap: clamp(12px,1.1vw,22px); }
.careers-v2 .nav-links > a,
.careers-generated .nav-links > a { font-size: .91rem; white-space: nowrap; }
.careers-v2 .header-call,
.careers-v2 .header-cta,
.careers-generated .header-call,
.careers-generated .header-cta { white-space: nowrap; }
.careers-v2 .header-cta,
.careers-generated .header-cta { border-color: var(--careers-green-600); color: #fff; background: var(--careers-green-600); }
.careers-v2 .header-cta:hover,
.careers-generated .header-cta:hover { border-color: #0c5935; background: #0c5935; }

.careers-breadcrumb { border-top: 1px solid rgba(255,255,255,.08); color: #afc1cc; background: var(--careers-navy-950); font-size: .9rem; }
.careers-breadcrumb .container { display: flex; gap: 10px; align-items: center; padding: 14px 0; }
.careers-breadcrumb a { color: #fff; text-decoration: none; }
.careers-breadcrumb a:hover { text-decoration: underline; }

.careers-hero {
  position: relative;
  padding: clamp(58px,7vw,92px) 0 clamp(66px,8vw,105px);
  color: #fff;
  background:
    radial-gradient(circle at 86% 10%, rgba(37,166,106,.3), transparent 36%),
    linear-gradient(120deg,var(--careers-navy-950),#0b3552 70%,#16413d);
}
.careers-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to right,#000,transparent 78%);
}
.careers-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.82fr); gap: clamp(40px,6vw,78px); align-items: center; }
.careers-hero__content { max-width: 720px; }
.careers-v2 .kicker { display: block; margin: 0 0 14px; padding: 0; color: var(--careers-green-700); background: transparent; font-size: .78rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.careers-hero .kicker { color: #9cf0c1; }
.careers-hero h1 { max-width: 780px; margin: 0; color: #fff; font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-size: clamp(2.8rem,5.1vw,4.7rem); font-weight: 900; letter-spacing: -.055em; line-height: .98; }
.careers-hero .lead { max-width: 680px; margin: 22px 0 0; color: #d3e1e9; font-size: clamp(1.05rem,1.45vw,1.22rem); line-height: 1.65; }
.careers-hero__actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.careers-hero__actions .btn { min-height: 50px; }
.careers-hero__actions .btn-primary { border-color: #64dfa0; color: #062719; background: #64dfa0; }
.careers-hero__actions .btn-primary:hover { border-color: #81e9b1; background: #81e9b1; }
.careers-hero__actions .btn-ghost { border-color: rgba(255,255,255,.55); color: #fff; background: rgba(255,255,255,.06); }
.careers-hero__actions .btn-ghost:hover { background: rgba(255,255,255,.13); }
.careers-hero__facts { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 9px; }
.careers-hero__facts span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #d9e7ee; background: rgba(255,255,255,.05); font-size: .82rem; font-weight: 700; }

.careers-visual { position: relative; min-height: 480px; }
.careers-visual__main,
.careers-visual__support { position: absolute; overflow: hidden; border: 5px solid rgba(255,255,255,.14); border-radius: 24px; background: var(--careers-navy-800); box-shadow: 0 24px 58px rgba(2,19,32,.34); }
.careers-visual__main { inset: 0 72px 38px 0; }
.careers-visual__support { width: 48%; height: 46%; right: 0; bottom: 0; }
.careers-visual img { width: 100%; height: 100%; object-fit: cover; }
.careers-visual__label { position: absolute; z-index: 2; left: 18px; bottom: 17px; max-width: calc(100% - 36px); padding: 10px 13px; border-radius: 12px; color: #fff; background: rgba(5,28,45,.9); font-size: .83rem; font-weight: 800; }

.careers-section { padding: clamp(68px,8vw,106px) 0; }
.careers-section--soft { background: var(--careers-slate-100); }
.careers-section--dark { color: #fff; background: var(--careers-navy-950); }
.careers-section__head { max-width: 760px; margin-bottom: 34px; }
.careers-section__head h2 { margin: 0; color: var(--careers-navy-950); font-size: clamp(2rem,4vw,3.35rem); letter-spacing: -.045em; line-height: 1.03; }
.careers-section__head p { margin: 16px 0 0; color: var(--careers-muted); line-height: 1.7; }
.careers-section--dark .kicker { color: #9cf0c1; }
.careers-section--dark .careers-section__head h2 { color: #fff; }
.careers-section--dark .careers-section__head p { color: #c7d7df; }

.open-role-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.open-role-card { display: flex; flex-direction: column; min-height: 350px; padding: 26px; border: 1px solid var(--careers-border); border-radius: 20px; background: #fff; box-shadow: 0 14px 42px rgba(4,28,47,.08); }
.open-role-card__top { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.open-role-card__status { padding: 7px 10px; border-radius: 999px; color: #0a5b36; background: var(--careers-mint); font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.open-role-card__category { color: var(--careers-muted); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.open-role-card h3 { margin: 23px 0 10px; color: var(--careers-navy-950); font-size: 1.35rem; line-height: 1.18; }
.open-role-card__description { margin: 0; color: var(--careers-muted); line-height: 1.62; }
.open-role-card__facts { margin: 22px 0 0; display: grid; gap: 9px; }
.open-role-card__facts span { display: flex; gap: 9px; align-items: flex-start; color: #355263; font-size: .88rem; }
.open-role-card__facts svg { flex: 0 0 auto; margin-top: 1px; color: var(--careers-green-700); }
.open-role-card .btn { width: 100%; min-height: 48px; margin-top: auto; justify-content: center; color: #fff; background: var(--careers-green-700); }
.careers-openings-footer { margin-top: 24px; display: flex; gap: 18px; justify-content: space-between; align-items: center; }
.careers-openings-footer p { margin: 0; color: var(--careers-muted); }

.careers-value-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.careers-value { padding: 24px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.05); }
.careers-value__icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #9cf0c1; background: rgba(37,166,106,.16); }
.careers-value h3 { margin: 20px 0 8px; color: #fff; font-size: 1.08rem; }
.careers-value p { margin: 0; color: #bdcfd8; line-height: 1.62; }

.role-path-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.role-path { padding: 28px; border: 1px solid var(--careers-border); border-radius: 20px; background: #fff; box-shadow: 0 12px 36px rgba(4,28,47,.07); }
.role-path__head { display: flex; gap: 14px; align-items: center; }
.role-path__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--careers-green-700); background: var(--careers-mint); }
.role-path h3 { margin: 0; color: var(--careers-navy-950); font-size: 1.28rem; }
.role-path p { margin: 14px 0 0; color: var(--careers-muted); line-height: 1.6; }
.role-path__links { margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--careers-border); display: flex; flex-wrap: wrap; gap: 9px; }
.role-path__links a { padding: 8px 11px; border: 1px solid #c9dce5; border-radius: 999px; color: var(--careers-navy-800); background: var(--careers-slate-50); font-size: .82rem; font-weight: 800; text-decoration: none; }
.role-path__links a:hover { border-color: var(--careers-green-600); color: var(--careers-green-700); }

.careers-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.careers-process__step { padding: 24px; border-left: 3px solid var(--careers-green-500); background: rgba(255,255,255,.05); }
.careers-process__step span { color: #9cf0c1; font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.careers-process__step h3 { margin: 13px 0 8px; color: #fff; }
.careers-process__step p { margin: 0; color: #c1d2db; line-height: 1.65; }

.talent-layout { display: grid; grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr); gap: clamp(28px,5vw,64px); align-items: start; }
.talent-intro { position: sticky; top: 100px; padding: 30px; border-radius: 22px; color: #fff; background: var(--careers-navy-950); box-shadow: var(--careers-shadow); }
.talent-intro .kicker { color: #9cf0c1; }
.talent-intro h2 { margin: 10px 0 14px; color: #fff; font-size: clamp(2rem,3.5vw,3rem); letter-spacing: -.045em; line-height: 1.04; }
.talent-intro p { color: #c6d7df; line-height: 1.68; }
.talent-intro ul { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.talent-intro li { display: flex; gap: 10px; color: #e0ebf0; }
.talent-intro li::before { content: "✓"; color: #9cf0c1; font-weight: 900; }
.talent-form-card { padding: clamp(24px,4vw,40px); border: 1px solid var(--careers-border); border-radius: 24px; background: #fff; box-shadow: var(--careers-shadow); }
.talent-form-card__head { margin-bottom: 26px; }
.talent-form-card__head h2 { margin: 0; color: var(--careers-navy-950); font-size: clamp(1.65rem,3vw,2.25rem); }
.talent-form-card__head p { margin: 9px 0 0; color: var(--careers-muted); line-height: 1.62; }
.talent-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.talent-form-card .field { margin: 0; }
.talent-form-card fieldset.field { min-width: 0; padding: 0; border: 0; }
.talent-form-card fieldset.field legend { margin-bottom: 7px; padding: 0; font-weight: 800; }
.talent-form-card .field > label { display: block; margin-bottom: 7px; color: var(--careers-navy-950); font-weight: 800; }
.talent-form-card .input { min-height: 50px; border-color: #bfd0da; background: #fff; }
.talent-form-card textarea.input { min-height: 132px; }
.talent-form-card select[multiple] { min-height: 215px; }
.talent-form-card .input:focus { border-color: var(--careers-green-600); outline: 3px solid rgba(37,166,106,.18); outline-offset: 1px; }
.talent-form-card .chips { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.talent-form-card .chips label { min-height: 46px; padding: 10px 12px; border: 1px solid var(--careers-border); border-radius: 11px; display: flex; gap: 9px; align-items: center; background: var(--careers-slate-50); }
.talent-form-card .form-micro { margin: 7px 0 0; color: var(--careers-muted); font-size: .82rem; }
.talent-form-card .career-disclaimer { margin: 18px 0 0; padding: 14px; border: 1px solid #cfe0e8; border-radius: 12px; color: #355263; background: var(--careers-blue); font-size: .9rem; line-height: 1.55; }
.talent-form-card__actions { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 12px; }
.talent-form-card__actions .btn { min-height: 50px; }
.talent-form-card__actions .btn-primary { color: #fff; background: var(--careers-green-700); }
.job-prefill-notice { margin: 0 0 18px; padding: 12px 14px; border: 1px solid #9fd8b9; border-radius: 11px; color: #0a5b36; background: var(--careers-mint); font-weight: 700; }

.careers-faq { max-width: 850px; }
.careers-faq .faq-item { border-color: var(--careers-border); background: #fff; }

.careers-closing { padding: 42px 0; color: #fff; background: var(--careers-green-700); }
.careers-closing .container { display: flex; gap: 28px; justify-content: space-between; align-items: center; }
.careers-closing h2 { margin: 0; color: #fff; font-size: clamp(1.55rem,3vw,2.25rem); }
.careers-closing p { margin: 7px 0 0; color: #e4f6ec; }
.careers-closing .btn { flex: 0 0 auto; min-height: 50px; border-color: #fff; color: var(--careers-navy-950); background: #fff; }

.careers-v2 .site-footer h3,
.careers-generated .site-footer h3 { color: #fff; }
.careers-v2 .site-footer .footer-badge__count,
.careers-v2 .site-footer .center.small.muted,
.careers-v2 .site-footer .center.small.muted p,
.careers-generated .site-footer .footer-badge__count,
.careers-generated .site-footer .center.small.muted,
.careers-generated .site-footer .center.small.muted p { color: #c6d5df; }

.careers-sticky-actions { display: none; }

@media (max-width: 1080px) {
  .careers-v2 .nav-links,
  .careers-generated .nav-links { display: none; }
  .careers-v2 .menu-btn,
  .careers-generated .menu-btn { display: inline-flex; }
  .careers-v2 .header-call,
  .careers-generated .header-call { margin-left: auto; }
  .careers-hero__grid { grid-template-columns: minmax(0,1fr) minmax(340px,.75fr); gap: 36px; }
  .careers-value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 860px) {
  .careers-v2 { padding-bottom: 74px; }
  .careers-v2 .brand-lockup,
  .careers-generated .brand-lockup { height: 48px !important; }
  .careers-v2 .header-call,
  .careers-v2 .header-cta,
  .careers-generated .header-call,
  .careers-generated .header-cta { display: none; }
  .careers-hero { padding: 48px 0 64px; }
  .careers-hero__grid,
  .talent-layout { grid-template-columns: 1fr; }
  .careers-visual { min-height: 390px; margin-top: 8px; }
  .open-role-grid,
  .careers-process { grid-template-columns: 1fr; }
  .open-role-card { min-height: 0; }
  .careers-openings-footer,
  .careers-closing .container { align-items: flex-start; flex-direction: column; }
  .talent-intro { position: static; }
  .careers-sticky-actions {
    position: fixed;
    z-index: 1100;
    left: 0;
    right: 0;
    bottom: 0;
    min-height: 68px;
    padding: 9px 14px calc(9px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    border-top: 1px solid rgba(255,255,255,.1);
    background: rgba(6,26,44,.97);
    backdrop-filter: blur(12px);
  }
  .careers-sticky-actions .btn { min-height: 48px; justify-content: center; }
  .careers-sticky-actions .btn-primary { color: #062719; background: #64dfa0; }
  .careers-sticky-actions .btn-ghost { border-color: rgba(255,255,255,.52); color: #fff; background: transparent; }
}

@media (max-width: 620px) {
  .careers-v2 .container,
  .careers-generated .container { width: min(100% - 28px,1180px); }
  .careers-v2 .brand-lockup,
  .careers-generated .brand-lockup { height: 40px !important; }
  .careers-breadcrumb .container { padding: 11px 0; }
  .careers-hero h1 { font-size: clamp(2.45rem,12vw,3.35rem); }
  .careers-hero__actions { display: grid; grid-template-columns: 1fr; }
  .careers-hero__actions .btn { width: 100%; justify-content: center; }
  .careers-visual { min-height: 330px; }
  .careers-visual__main { inset: 0 46px 28px 0; border-radius: 19px; }
  .careers-visual__support { width: 52%; height: 43%; border-radius: 17px; }
  .careers-section { padding: 62px 0; }
  .careers-value-grid,
  .role-path-grid,
  .talent-form-grid,
  .talent-form-card .chips { grid-template-columns: 1fr; }
  .open-role-card,
  .role-path,
  .talent-form-card { padding: 21px; }
  .talent-form-card__actions { display: grid; grid-template-columns: 1fr; }
  .talent-form-card__actions .btn { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .careers-v2 *,
  .careers-v2 *::before,
  .careers-v2 *::after,
  .careers-generated *,
  .careers-generated *::before,
  .careers-generated *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
