:root {
  --ref-navy: #072f5b;
  --ref-navy-deep: #032445;
  --ref-blue: #0786ca;
  --ref-cyan: #56d1e4;
  --ref-ink: #082b50;
  --ref-muted: #617285;
  --ref-line: #d4e0e6;
  --ref-pale: #f1f8fa;
  --ref-max: 1160px;
}

.reference-opportunity { background: #fff; color: var(--ref-ink); }
.reference-opportunity main { overflow: clip; padding-top: 136px; }
.reference-opportunity *, .reference-opportunity *::before, .reference-opportunity *::after { box-sizing: border-box; }
.reference-opportunity h1, .reference-opportunity h2, .reference-opportunity h3, .reference-opportunity p { overflow-wrap: normal; }
.ref-skip { position: fixed; z-index: 10000; top: 8px; left: 8px; padding: 10px 14px; color: #fff; background: var(--ref-navy); transform: translateY(-150%); }
.ref-skip:focus { transform: none; }
.ref-eyebrow { margin: 0; color: #0889a1; font-size: 10px; font-weight: 850; letter-spacing: .19em; text-transform: uppercase; }
.ref-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 22px; padding: 0 24px; border: 0; background: var(--ref-blue); color: #fff; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.ref-button:hover { transform: translateY(-2px); background: #006fab; }
.ref-button:focus-visible, .reference-opportunity input:focus-visible, .reference-opportunity select:focus-visible, .reference-opportunity textarea:focus-visible, .reference-opportunity a:focus-visible { outline: 3px solid rgba(4,132,203,.35); outline-offset: 3px; }

.ref-split-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; background: #fff; }
.ref-hero-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 62px clamp(36px, 7vw, 108px); }
.ref-hero-copy h1 { max-width: 660px; margin: 20px 0 24px; color: var(--ref-ink); font-size: clamp(48px, 4.25vw, 68px); font-weight: 560; letter-spacing: -.052em; line-height: 1.01; }
.ref-hero-copy > p:not(.ref-eyebrow) { max-width: 590px; margin: 0; color: #344d64; font-size: clamp(17px, 1.45vw, 21px); line-height: 1.5; }
.ref-hero-copy .ref-button { align-self: flex-start; margin-top: 38px; }
.ref-hero-visual { position: relative; min-width: 0; min-height: 520px; margin: 0; overflow: hidden; background: #e7eff2; }
.ref-hero-visual img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.career-ref-hero { position: relative; isolation: isolate; min-height: 520px; overflow: hidden; background: var(--ref-navy); }
.career-ref-hero::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(3,36,69,.95) 0%, rgba(3,36,69,.9) 37%, rgba(3,36,69,.58) 49%, rgba(3,36,69,.12) 69%, rgba(3,36,69,.03) 100%); content: ""; pointer-events: none; }
.career-ref-hero .ref-hero-copy { position: relative; z-index: 2; grid-column: 1 / 2; color: #fff; }
.career-ref-hero .ref-hero-copy h1 { color: #fff; }
.career-ref-hero .ref-hero-copy > p:not(.ref-eyebrow) { color: rgba(255,255,255,.84); }
.career-ref-hero .ref-eyebrow { color: var(--ref-cyan); }
.career-ref-hero .ref-hero-visual { position: absolute; z-index: 0; inset: 0; width: 100%; min-height: 100%; }
.career-ref-hero .ref-hero-visual img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; }
.career-ref-hero .ref-hero-visual figcaption { z-index: 2; }
.ref-hero-visual figcaption { position: absolute; right: 18px; bottom: 14px; margin: 0; padding: 7px 10px; background: rgba(3,36,69,.78); color: #fff; font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.investment-ref-hero { position: relative; isolation: isolate; grid-template-columns: .88fr 1.12fr; min-height: 450px; overflow: hidden; background: var(--ref-navy); }
.investment-ref-hero::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(3,36,69,.95) 0%, rgba(3,36,69,.9) 37%, rgba(3,36,69,.58) 49%, rgba(3,36,69,.12) 69%, rgba(3,36,69,.03) 100%); content: ""; pointer-events: none; }
.investment-ref-hero .ref-hero-copy { position: relative; z-index: 2; grid-column: 1 / 2; color: #fff; }
.investment-ref-hero .ref-hero-copy h1 { color: #fff; font-size: clamp(46px, 4.1vw, 64px); }
.investment-ref-hero .ref-hero-copy > p:not(.ref-eyebrow) { max-width: 510px; color: rgba(255,255,255,.83); }
.investment-ref-hero .ref-eyebrow { color: var(--ref-cyan); }
.investment-ref-hero .ref-hero-visual { position: absolute; z-index: 0; inset: 0; width: 100%; min-height: 100%; }
.investment-ref-hero .ref-hero-visual img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; }
.investment-ref-hero .ref-hero-visual figcaption { z-index: 2; }

.career-ref-hero .ref-hero-copy,
.investment-ref-hero .ref-hero-copy {
  grid-column: 1 / -1;
  max-width: none;
  padding-right: clamp(24px, 5vw, 72px);
}

.career-ref-hero .ref-hero-copy h1,
.investment-ref-hero .ref-hero-copy h1 {
  max-width: none;
  white-space: nowrap;
}

.career-ref-hero .ref-hero-copy h1 { font-size: clamp(38px, 3.8vw, 58px); }
.investment-ref-hero .ref-hero-copy h1 { font-size: clamp(34px, 3.45vw, 50px); }
.career-ref-hero .ref-button,
.investment-ref-hero .ref-button { margin-top: 14px; }

.ref-section-heading { max-width: 760px; }
.ref-section-heading h2, .jobs-title-row h2, .quick-application h2, .inquiry-heading h2, .partnership-contact h2 { margin: 12px 0 0; color: var(--ref-ink); font-size: clamp(34px, 3.4vw, 48px); font-weight: 590; letter-spacing: -.042em; line-height: 1.05; }
.ref-section-heading > p:last-child { max-width: 680px; margin: 20px 0 0; color: var(--ref-muted); line-height: 1.7; }

.career-life { padding: 78px max(28px, calc((100vw - var(--ref-max)) / 2)) 54px; }
.jobs-panel { margin-top: 50px; }
.jobs-title-row { display: grid; grid-template-columns: .72fr 1.28fr; gap: 50px; align-items: end; }
.job-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.job-filters label, .ref-form label { display: flex; min-width: 0; color: #607386; font-size: 11px; font-weight: 700; flex-direction: column; gap: 7px; }
.job-filters input, .job-filters select, .ref-form input, .ref-form select, .ref-form textarea { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid #ccd9e0; border-radius: 0; background: #fff; color: var(--ref-ink); font: inherit; font-size: 14px; }
.ref-form textarea { min-height: 112px; resize: vertical; }
.job-table { margin-top: 34px; border-top: 1px solid var(--ref-line); }
.job-row { display: grid; grid-template-columns: 52px minmax(180px, 1.45fr) minmax(130px, .8fr) 100px 100px 105px; gap: 18px; align-items: center; min-height: 64px; padding: 10px 14px; border-bottom: 1px solid var(--ref-line); color: #334d64; font-size: 14px; transition: background .2s ease; }
.job-row:not(.job-row-head):hover { background: #f4f9fb; }
.job-row-head { min-height: 44px; color: #7b8c99; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.job-row strong { color: var(--ref-ink); font-size: 16px; font-weight: 650; }
.job-row a { color: var(--ref-blue); font-weight: 800; text-decoration: none; }
.job-row a:hover { text-decoration: underline; }
.job-row[hidden] { display: none; }
.job-empty { margin: 24px 0 0; padding: 20px; border: 1px solid var(--ref-line); color: var(--ref-muted); text-align: center; }

.quick-application { display: grid; grid-template-columns: .62fr 1.38fr; gap: clamp(52px, 8vw, 120px); padding: 72px max(28px, calc((100vw - var(--ref-max)) / 2)); border-top: 1px solid var(--ref-line); }
.quick-application > div > p:last-child, .inquiry-heading > p:last-child, .partnership-contact > div > p:last-child { max-width: 430px; margin: 20px 0 0; color: var(--ref-muted); line-height: 1.65; }
.ref-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; align-items: end; }
.ref-form .form-wide { grid-column: 1 / -1; }
.ref-form .ref-button { justify-self: end; min-width: 190px; }
.ref-form-status { grid-column: 1 / -1; min-height: 20px; margin: 0; color: var(--ref-blue); font-size: 13px; line-height: 1.45; }
.ref-form-status[data-state="success"] { color: #087a52; }
.ref-form-status[data-state="error"] { color: #b42318; }
.ref-form button:disabled { cursor: wait; opacity: .68; }

.career-benefits { display: grid; grid-template-columns: 1.45fr .8fr .95fr; padding: 56px max(28px, calc((100vw - var(--ref-max)) / 2)); background: linear-gradient(105deg, #07335f, #04558a 72%, #168fb2); color: #fff; }
.career-benefits article { min-height: 190px; padding: 18px 34px; border-right: 1px solid rgba(255,255,255,.26); }
.career-benefits article:first-child { padding-left: 0; }
.career-benefits article:last-child { border-right: 0; }
.career-benefits span { color: #62d6e6; font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.career-benefits h2 { margin: 18px 0 14px; color: #fff; font-size: clamp(24px, 2.25vw, 34px); font-weight: 600; line-height: 1.06; }
.career-benefits p { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.65; }

.partnership-models, .partnership-process, .investment-inquiry { padding: 72px max(28px, calc((100vw - var(--ref-max)) / 2)); }
.partnership-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 34px; }
.partnership-cards article { min-height: 310px; padding: 34px 30px; border: 1px solid var(--ref-line); background: #fff; box-shadow: 0 14px 30px rgba(6,52,91,.08); }
.line-icon { display: block; width: 62px; height: 62px; color: var(--ref-navy); }
.line-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.partnership-cards h3 { margin: 30px 0 12px; color: var(--ref-ink); font-size: 22px; font-weight: 650; }
.partnership-cards p { min-height: 66px; margin: 0; color: var(--ref-muted); line-height: 1.55; }
.partnership-cards a { display: inline-flex; min-height: 42px; align-items: center; gap: 25px; margin-top: 24px; padding: 0 18px; background: var(--ref-blue); color: #fff; font-size: 13px; font-weight: 800; text-decoration: none; }

.partnership-process { padding-top: 42px; }
.partnership-process ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 42px 0 0; padding: 0; list-style: none; }
.partnership-process li { position: relative; min-height: 210px; padding: 0 28px 0 0; }
.partnership-process li::after { content: ""; position: absolute; top: 28px; right: 10px; left: 48px; height: 1px; background: #a6bcc8; }
.partnership-process li:last-child::after { display: none; }
.partnership-process li > span { display: grid; position: relative; z-index: 1; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--ref-navy); color: #fff; font-size: 10px; font-weight: 800; }
.partnership-process li i { display: block; width: 46px; height: 46px; margin: 22px 0 18px; border: 2px solid #0d587e; transform: rotate(45deg); }
.partnership-process h3 { margin: 0 0 10px; color: var(--ref-ink); font-size: 19px; font-weight: 650; }
.partnership-process li p { max-width: 230px; margin: 0; color: var(--ref-muted); font-size: 13px; line-height: 1.6; }

.investment-inquiry { background: #fff; border-top: 1px solid var(--ref-line); }
.inquiry-heading { display: grid; grid-template-columns: .45fr 1fr; gap: 12px 60px; align-items: end; }
.inquiry-heading .ref-eyebrow { grid-column: 1; }
.inquiry-heading h2 { grid-column: 1; }
.inquiry-heading > p:last-child { grid-column: 2; grid-row: 2; }
.capability-pills { display: flex; justify-content: flex-end; gap: 16px; margin: 32px 0 24px; }
.capability-pills span { min-width: 190px; padding: 12px 20px; border-radius: 999px; background: #ecf9fb; color: #25647d; font-size: 13px; text-align: center; }
.investment-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.partnership-contact { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 50px; align-items: center; padding: 62px max(28px, calc((100vw - var(--ref-max)) / 2)); background: linear-gradient(90deg, #eefafd, #f8fcfd); }
.partnership-contact article { display: grid; grid-template-columns: 64px 1fr; gap: 4px 18px; align-items: center; }
.partnership-contact article .line-icon { grid-row: 1 / 3; }
.partnership-contact article strong { color: var(--ref-ink); }
.partnership-contact article a, .partnership-contact article p { margin: 0; color: #3d6578; font-size: 13px; text-decoration: none; }

@media (max-width: 1060px) {
  .reference-opportunity main { padding-top: 74px; }
}

@media (max-width: 1020px) {
  .ref-split-hero { grid-template-columns: 1fr; }
  .career-ref-hero::after { background: linear-gradient(90deg, rgba(3,36,69,.93), rgba(3,36,69,.72)); }
  .career-ref-hero .ref-hero-copy { grid-column: 1; }
  .investment-ref-hero::after { background: linear-gradient(90deg, rgba(3,36,69,.93), rgba(3,36,69,.72)); }
  .investment-ref-hero .ref-hero-copy { grid-column: 1; }
  .ref-hero-visual, .ref-hero-visual img { min-height: 460px; }
  .investment-ref-hero .ref-hero-visual, .investment-ref-hero .ref-hero-visual img { min-height: 420px; }
  .jobs-title-row, .quick-application, .inquiry-heading { grid-template-columns: 1fr; }
  .inquiry-heading .ref-eyebrow, .inquiry-heading h2, .inquiry-heading > p:last-child { grid-column: 1; grid-row: auto; }
  .job-filters { margin-top: 25px; }
  .job-row { grid-template-columns: 44px minmax(170px, 1.4fr) minmax(110px, .8fr) 85px 90px; }
  .job-row > :nth-child(5) { display: none; }
  .career-benefits { grid-template-columns: 1fr; }
  .career-benefits article, .career-benefits article:first-child { min-height: 0; padding: 30px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.26); }
  .career-benefits article:last-child { border-bottom: 0; }
  .partnership-contact { grid-template-columns: 1fr 1fr; }
  .partnership-contact > div { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .ref-hero-copy { padding: 58px 24px; }
  .ref-hero-copy h1, .investment-ref-hero .ref-hero-copy h1 { font-size: clamp(40px, 12vw, 56px); }
  .career-ref-hero .ref-hero-copy h1,
  .investment-ref-hero .ref-hero-copy h1 { white-space: normal; }
  .ref-hero-visual, .ref-hero-visual img { min-height: 360px; }
  .career-life, .quick-application, .partnership-models, .partnership-process, .investment-inquiry, .partnership-contact { padding-right: 20px; padding-left: 20px; }
  .job-filters, .ref-form, .investment-form { grid-template-columns: 1fr; }
  .ref-form .form-wide { grid-column: 1; }
  .job-row-head { display: none; }
  .job-row { grid-template-columns: 38px 1fr auto; gap: 8px 12px; padding: 16px 4px; }
  .job-row > span:nth-child(3), .job-row > span:nth-child(5) { display: none; }
  .job-row > span:nth-child(4) { grid-column: 2; color: #728697; font-size: 12px; }
  .job-row > a { grid-column: 3; grid-row: 1 / 3; }
  .quick-application { gap: 35px; }
  .ref-form .ref-button { width: 100%; justify-self: stretch; }
  .partnership-cards, .partnership-process ol { grid-template-columns: 1fr; }
  .partnership-process li { padding-bottom: 35px; padding-left: 48px; }
  .partnership-process li > span { position: absolute; left: 0; top: 0; }
  .partnership-process li::after { top: 28px; right: auto; bottom: 0; left: 14px; width: 1px; height: auto; }
  .partnership-process li i { margin-top: 0; }
  .capability-pills { overflow-x: auto; justify-content: flex-start; }
  .capability-pills span { min-width: 165px; }
  .partnership-contact { grid-template-columns: 1fr; }
  .partnership-contact > div { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .reference-opportunity *, .reference-opportunity *::before, .reference-opportunity *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
