/* ===== CAREERS (listing + job page) ===== */
.pg-careers a { text-decoration: none }

/* hero: listing page has no right-hand column */
.cr-hero-wrap { grid-template-columns: 1fr }
.cr-hero-wrap .hero-inner { padding-bottom: .4rem }
.cr-hero-act { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; margin-top: .4rem }
.cr-back { font: 600 .95rem Inter, sans-serif; color: var(--indigo) }
.cr-back:hover { text-decoration: underline; text-underline-offset: 3px }

/* summary card in the job hero */
.cr-sum { display: grid; gap: .9rem; padding: 1.6rem; border-radius: 24px; background: rgba(255,255,255,.82); border: 1px solid rgba(37,39,201,.14); box-shadow: 0 30px 60px -34px rgba(37,39,201,.55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px) }
.cr-sum-row { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 16px; background: #f5f6ff }
.cr-sum .ic, .cr-meta .ic { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(135deg, #2527c9, #7a44dc) }
.cr-sum .ic svg, .cr-meta .ic svg { width: 19px; height: 19px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round }
.cr-sum small { display: block; margin-bottom: .3rem; font: 500 .68rem/1 'IBM Plex Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--grey) }
.cr-sum b { display: block; font: 700 1.05rem/1.5 Manrope, sans-serif; color: var(--ink); overflow-wrap: anywhere }

/* listing */
.cr-list-sec { padding-bottom: 5rem }
.cr-list { display: grid; gap: 1.2rem; max-width: 980px }
.cr-card { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1.6rem; padding: 1.8rem 2rem; border-radius: 22px; background: #fff; border: 1px solid rgba(37,39,201,.12); box-shadow: 0 22px 44px -32px rgba(37,39,201,.5); transition: transform .4s var(--ease), box-shadow .4s, border-color .4s; overflow: hidden }
.cr-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #2527c9, #7a44dc) }
.cr-card:hover { transform: translateY(-4px); border-color: rgba(37,39,201,.35); box-shadow: 0 30px 56px -28px rgba(37,39,201,.6) }
.cr-card-main { min-width: 0 }
.cr-card h2 { font: 800 clamp(1.25rem, 2.2vw, 1.65rem)/1.25 Manrope, sans-serif; letter-spacing: -.01em; margin: 0 0 1rem }
.cr-card h2 a { color: var(--ink) }
.cr-card h2 a:hover { color: var(--indigo) }
.cr-meta { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem }
.cr-meta li { display: flex; align-items: center; gap: .8rem; font: 500 .96rem/1.5 Inter, sans-serif; color: #3d465a }
.cr-meta .ic { width: 34px; height: 34px; border-radius: 10px }
.cr-meta .ic svg { width: 16px; height: 16px }
.cr-card-act { flex: none }
.cr-none { padding: 2rem 0; color: var(--grey); font-size: 1.05rem }

/* job details */
.cr-detail { padding-bottom: 1rem }
.cr-cols { display: grid; grid-template-columns: 1.25fr 1fr; gap: 1.6rem; align-items: start }
.cr-block { padding: 2.2rem 2.2rem 1.8rem; border-radius: 24px; background: #fff; border: 1px solid rgba(37,39,201,.1); box-shadow: 0 22px 44px -34px rgba(37,39,201,.45) }
.cr-block h2 { font: 800 1.45rem/1.2 Manrope, sans-serif; letter-spacing: -.01em; color: var(--ink); margin: 0 0 1.2rem; padding-bottom: .9rem; position: relative }
.cr-block h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 44px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #2527c9, #7a44dc) }
.cr-block p { font: 400 1.02rem/1.75 Inter, sans-serif; color: #3d465a; margin: 0 0 1rem }
.cr-ticks { list-style: none; padding: 0; margin: 0 }
.cr-ticks li { position: relative; padding: 0 0 1rem 2rem; font: 400 1.02rem/1.7 Inter, sans-serif; color: #3d465a }
.cr-ticks li::before { content: ""; position: absolute; left: 0; top: .32rem; width: 18px; height: 18px; border-radius: 50%; background: #e5e7ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232527c9' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat }

/* apply form additions */
.cr-apply { padding-top: 3.4rem; scroll-margin-top: 90px }
.cr-apply .cf-info > p { font-weight: 600; color: #fff }
.cr-file input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none }
.cr-drop { position: static !important; display: flex !important; align-items: center; gap: 1rem; padding: 1rem 1.1rem; border: 1.5px dashed rgba(37,39,201,.4); border-radius: 14px; background: #f5f6ff; cursor: pointer; pointer-events: auto !important; transition: background .3s, border-color .3s, box-shadow .3s; font-size: 1rem !important; color: var(--ink) !important; transform: none !important; letter-spacing: 0 !important }
.cr-drop:hover, .cr-file input:focus-visible + .cr-drop, .cr-file.drag .cr-drop { background: #fff; border-color: var(--indigo); box-shadow: 0 8px 24px -10px rgba(37,39,201,.45) }
.cr-drop-ic { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, #2527c9, #7a44dc) }
.cr-drop-ic svg { width: 21px; height: 21px; fill: none; stroke: #fff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round }
.cr-drop-t { flex: 1; min-width: 0 }
.cr-drop-t b { display: block; font: 700 .98rem/1.3 Manrope, sans-serif; color: var(--ink); overflow-wrap: anywhere }
.cr-drop-t small { display: block; margin-top: .2rem; font: 400 .8rem Inter, sans-serif; color: var(--grey) }
.cr-drop-btn { flex: none; padding: .5rem 1.1rem; border-radius: 999px; font: 700 .85rem Manrope, sans-serif; color: var(--indigo); background: #fff; border: 1.5px solid rgba(37,39,201,.3) }
.cr-file.has .cr-drop { border-style: solid; border-color: #2e9e6b; background: #f1fbf6 }
.cr-file.has .cr-drop-ic { background: #2e9e6b }
.cr-file.err .cr-drop { border-color: #d93b4f; background: #fff5f6; animation: cfShake .4s }

.cr-check { position: static !important; display: flex !important; gap: .7rem; align-items: flex-start; cursor: pointer; pointer-events: auto !important; font: 400 .9rem/1.5 Inter, sans-serif !important; color: #3d465a !important; transform: none !important; letter-spacing: 0 !important }
.cr-check input { flex: none; width: 18px !important; height: 18px; margin-top: .15rem; padding: 0 !important; -webkit-appearance: checkbox !important; appearance: auto !important; accent-color: #2527c9; box-shadow: none !important }
.cr-consent.err .cr-check { color: #d93b4f !important }
.cr-consent input { background: none; border: 0; box-shadow: none }

/* ===== responsive ===== */
@media (max-width: 991px) {
  .cr-cols { grid-template-columns: 1fr }
  .cr-sum { margin-top: 1.4rem }
}
@media (max-width: 575px) {
  .cr-card { flex-direction: column; align-items: flex-start; padding: 1.4rem 1.3rem 1.4rem 1.5rem }
  .cr-card-act, .cr-card-act .btn-pill { width: 100% }
  .cr-card-act .btn-pill { justify-content: center }
  .cr-block { padding: 1.6rem 1.3rem 1.2rem; border-radius: 20px }
  .cr-hero-act .btn-pill { width: 100%; justify-content: center }
  .cr-sum { padding: 1.1rem }
  .cr-drop { flex-wrap: wrap }
  .cr-drop-btn { display: none }
}
@media (prefers-reduced-motion: reduce) { .cr-card, .cr-file.err .cr-drop { transition: none; animation: none } }
