/* Career page: supplied alpine artwork and reference layout. */
main#main-content { background: #f0f7ff; }
.career-hero, .career-values-section, .career-offers-surface, .career-cta-section { font-family: Arial, sans-serif; }
.career-values-section .container, .career-offers-surface .container { width: min(89%, 1500px); max-width: 1500px; padding: 0; }
.career-hero { --career-hero-height: clamp(420px,27vw,510px); min-height: var(--career-hero-height); height: var(--career-hero-height); aspect-ratio: auto; padding: 24px; align-items: center; justify-content: center; background: #d9edff url('../images/career/career-hero.png') center 38% / cover no-repeat; }
.career-hero::before, .career-hero::after { display: none; }
.career-hero .hero-content { width: 100%; max-width: 700px; margin: 0 auto; text-shadow: none; animation: none; }
.career-hero .hero-title { font-family: Arial,sans-serif; font-size: clamp(38px,5.6vw,82px); line-height: 1.28; font-weight: 700; color: #06147e; margin: 0 0 20px; text-shadow: none; }
.career-hero .hero-title span:last-child { background: linear-gradient(100deg,#07147e 20%,#006aff 100%); background-clip: text; -webkit-background-clip: text; color: transparent; }
.career-hero .hero-subtitle { max-width: 580px; margin: auto; font-size: clamp(15px,2vw,28px); line-height: 1.25; color: #17268c; }
.career-values-section { padding: 25px 0 46px; background: #f0f7ff; position: relative; }
.career-values-section::before { content: ''; position: absolute; inset: 0; background: url('../images/career/career-topography.png') center top / cover no-repeat; opacity: .12; pointer-events: none; }
.career-values-section .container { position: relative; }
.career-values-section .section-title, .career-offers-surface .section-title { margin: 0 0 32px; }
.career-values-section .section-title h2, .career-offers-surface .section-title h2 { font-family: Arial,sans-serif; font-size: clamp(30px,3vw,46px); line-height: 1.15; color: #0875ff; margin: 0 0 16px; }
.career-values-section .section-subtitle, .career-offers-surface .section-subtitle { font-size: clamp(15px,1.25vw,20px); color: #7b879b; margin: 0; }
.career-values-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 0; }
.career-values-grid .card { position: relative; display: block; min-width: 0; min-height: 340px; padding: 24px 30px 30px; border-radius: 18px; border: 1px solid #e5edf5; background: linear-gradient(135deg,#fff,#fafcff); box-shadow: 0 12px 28px #24457808; overflow: hidden; }
.career-values-grid .card::before { content: ''; position: absolute; top: 14px; right: -4%; width: 65%; height: 52%; background: url('../images/career/career-mist.png') right top / 100% 100% no-repeat; opacity: .65; mix-blend-mode: multiply; -webkit-mask-image: radial-gradient(ellipse at 75% 42%, #000 20%, transparent 72%); mask-image: radial-gradient(ellipse at 75% 42%, #000 20%, transparent 72%); pointer-events: none; }
.career-value-icon { position: relative; flex: none; width: clamp(72px,7.7vw,106px); height: clamp(72px,7.7vw,106px); margin: 0 0 30px; background: none; border-radius: 50%; }
.career-value-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.career-value-icon::after { content: ''; position: absolute; left: 0; bottom: -17px; width: 32px; height: 4px; background: #ff20bd; }
.career-values-grid .card:nth-child(2) .career-value-icon::after { background: #ff9d22; }
.career-values-grid .card:nth-child(3) .career-value-icon::after, .career-values-grid .card:nth-child(5) .career-value-icon::after { background: #ff3549; }
.career-values-grid .card:nth-child(6) .career-value-icon::after { background: #00b88b; }
.career-values-grid .card-content { position: relative; display: block; flex: none; padding: 0; text-align: left; }
.career-values-grid .card-title { font-size: clamp(19px,1.8vw,26px); color: #173270; margin: 0 0 14px; font-weight: 700; }
.career-values-grid .card-description { flex: none; font-size: clamp(14px,1.35vw,19px); line-height: 1.48; color: #788598; margin: 0; }
.career-offers-surface { position: relative; padding: 76px 0 46px; background: #edf6ff url('../images/career/career-topography.png') center top / 100% auto no-repeat; }
.career-offers-surface::before { content: ''; position: absolute; top: -1px; left: 0; width: 100%; height: 55px; background: #f0f7ff; border-radius: 0 0 50% 50%; }
.career-offers-surface .section-title { margin-bottom: 36px; }
.career-offers-surface .section-title h2 { margin-bottom: 28px; }
.career-filters-wrapper { position: static; margin: 0 0 32px; }
.career-filter-summary { font-size: 16px; color: #273e89; margin-bottom: 28px; }
.career-filters { grid-template-columns: 1.3fr 1fr 1.05fr 1.15fr; gap: 18px; margin: 0; }
.career-filter-field label { font-size: 15px; color: #283d78; }
.career-filter-field input, .career-filter-field select { height: 46px; border: 1px solid #e2e9f3; border-radius: 15px; font-size: 15px; }
.career-filter-field .career-filter-icon { bottom: 15px; }
.career-filter-actions button, .career-filter-actions a { height: 46px; border-radius: 14px; font-size: 15px; display: flex; align-items: center; justify-content: center; padding: 10px; }
.career-filter-actions button, .career-btn-apply { background: linear-gradient(110deg,#203286,#2549b5) !important; }
.career-offers-surface .career-offers-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.career-offer-card { padding: 30px 24px 24px; min-height: 540px; border-radius: 20px; border-color: #e4edf7; box-shadow: 0 12px 24px #24457809; background: linear-gradient(135deg,#fff,#f9fbff); }
.career-offer-card::before { width: 5px; height: 80px; background: var(--offer-accent,#233fff); }
.career-offer-header { display: block; margin-bottom: 30px; }
.career-offer-title { max-width: 100%; padding-right: 0; font-size: clamp(21px,1.65vw,27px); line-height: 1.22; color: #153071; margin-bottom: 24px; }
.career-offer-title::before { content: ''; float: right; width: 74px; height: 32px; }
.career-offer-badge { position: absolute; top: 24px; right: 18px; padding: 9px 12px; font-size: 15px; border-radius: 10px; }
.career-company-badge { font-size: 15px; padding: 10px 14px; border-color: #cedcff; color: #233d85; margin-bottom: 22px; }
.career-offer-meta { color: #7b879b; font-size: 16px; }
.career-offer-meta svg { vertical-align: middle; margin-right: 8px; }
.career-offer-description { display: block; min-height: 0; font-size: 17px; line-height: 1.5; color: #788598; overflow: visible; margin-bottom: 30px; }
.career-offer-details { margin-top: 0; border: 0; padding: 24px 0; min-height: 80px; }
.career-offer-detail { font-size: 16px; color: #788598; }
.career-offer-actions { margin-top: auto; flex-shrink: 0; gap: 10px; padding-top: 25px; border-top: 1px solid #e9edf4; }
.career-offer-actions .btn { font-size: 16px; min-height: 48px; padding: 10px 8px; border-radius: 12px; letter-spacing: -.5px; }
.career-btn-see { border-color: #b9c5e5 !important; color: #243c85; }
.career-cta-section { position: relative; min-height: clamp(450px,42vw,620px); padding: 40px 20px; display: flex; align-items: center; justify-content: center; background: #e5f3ff url('../images/career/career-lake.png') center bottom / 100% 100% no-repeat; }
.career-cta-section::before { content: ''; position: absolute; top: -1px; left: 0; width: 100%; height: 50px; border-radius: 0 0 50% 50%; background: #edf6ff; }
.career-cta-section .container { position: relative; z-index: 1; width: 100%; max-width: 1000px; margin: 0 auto; }
.career-cta-section h2 { font-family: Arial,sans-serif; font-size: clamp(30px,3vw,46px); line-height: 1.2; color: #101c83; margin: 0; }
.career-gradient { background: linear-gradient(90deg,#12178f,#004dff); background-clip: text; -webkit-background-clip: text; color: transparent; }
.career-cta-section p { font-size: clamp(15px,1.25vw,20px) !important; line-height: 1.5; color: #788598 !important; margin: 22px 0 38px !important; }
.career-cta-section .btn { border-radius: 999px; background: linear-gradient(100deg,#093bff,#1939ff); padding: 16px 32px; min-height: 54px; font-size: 16px; text-transform: uppercase; box-shadow: 0 12px 24px #205aff22; }
/* Match Transformation's rendered height, including its desktop body zoom. */
@media (min-width: 1200px) {
  .career-hero { --career-hero-height: clamp(483px,31.05vw,586.5px); }
}
@media (min-width: 721px) and (max-width: 1100px) {
  .career-values-grid { gap: 18px; margin: 0 12px; }
  .career-values-grid .card { padding: 20px; min-height: 285px; }
  .career-value-icon { width: 80px; height: 80px; }
  .career-filters { gap: 10px; }
  .career-filter-field label, .career-filter-field input, .career-filter-field select, .career-filter-actions button, .career-filter-actions a { font-size: 14px; }
  .career-offer-card { padding: 38px 20px 24px; min-height: 500px; }
  .career-offer-badge { font-size: 12px; right: 15px; padding: 9px; }
  .career-company-badge { font-size: 13px; }
  .career-offer-description, .career-offer-meta, .career-offer-detail { font-size: 16px; }
  .career-offer-actions .btn { font-size: 12px; min-height: 48px; }
}
@media (max-width: 720px) {
  .career-hero { min-height: var(--career-hero-height) !important; height: var(--career-hero-height); background-size: cover; background-position: 58% 38%; padding: 24px 16px !important; }
  .career-hero .hero-title { font-size: 38px; }
  .career-hero .hero-subtitle { max-width: 310px; font-size: 18px; }
  .career-values-section { padding: 30px 0 40px; }
  .career-values-section .section-title, .career-offers-surface .section-title { margin-bottom: 30px; }
  .career-values-grid { grid-template-columns: 1fr; margin: 0 8px; gap: 20px; }
  .career-values-grid .card { min-height: 0; padding: 24px; }
  .career-value-icon { width: 80px; height: 80px; }
  .career-values-grid .card-title { font-size: 22px; }
  .career-values-grid .card-description { font-size: 18px; }
  .career-offers-surface { padding: 80px 0 40px; background-size: auto 440px; }
  .career-offers-surface .section-title h2 { margin-bottom: 15px; }
  .career-filters { grid-template-columns: 1fr; }
  .career-filter-summary { flex-wrap: wrap; font-size: 16px; }
  .career-offers-surface .career-offers-grid { grid-template-columns: 1fr; }
  .career-offer-card { min-height: 0; padding: 35px 24px 24px; }
  .career-offer-title { font-size: 26px; }
  .career-offer-description { font-size: 18px; }
  .career-offer-actions { grid-template-columns: 1fr 1fr; }
  .career-offer-actions .btn { font-size: 13px; min-height: 52px; }
  .career-offer-badge { font-size: 13px; padding: 10px; }
  .career-cta-section { min-height: 500px; padding: 32px 16px; background-size: cover; }
  .career-cta-section p { font-size: 18px !important; }
  .career-cta-section .btn { padding: 18px 24px; font-size: 16px; min-height: 60px; }
}
