/* ══════════════════════════════
   Careers / Nous rejoindre — prefix: jr-
   Root: #redia-join
   ══════════════════════════════ */

#redia-join { background: #ffffff; font-family: 'Urbanist', sans-serif; }
#redia-join h1, #redia-join h2, #redia-join h3,
#redia-join h4, #redia-join h5 { font-family: 'Urbanist', sans-serif; color: #121c27; margin: 0; padding: 0; }
#redia-join p { margin: 0; color: #6b7280; }
#redia-join a { text-decoration: none; transition: all .3s; }

.jr-label { display: inline-flex; align-items: center; gap: 14px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 3px; color: #6b7280; margin-bottom: 14px; }
.jr-label::before, .jr-label::after { content: ''; width: 28px; height: 1px; background: rgba(18,28,39,.2); }

/* main section */
.jr-main { background: #fff; padding: 100px 0; }
@media (max-width: 767px) { .jr-main { padding: 70px 0; } }
.jr-form-col { padding-right: 52px; }
@media (max-width: 991px) { .jr-form-col { padding-right: 0; margin-bottom: 64px; } }

/* form card */
.jr-form-card { background: #fff; border: 1px solid rgba(18,28,39,.08); box-shadow: 0 8px 48px rgba(18,28,39,.07); padding: 44px 44px 48px; }
@media (max-width: 575px) { .jr-form-card { padding: 32px 24px 36px; } }
.jr-form-head { margin-bottom: 36px; padding-bottom: 28px; border-bottom: 1px solid rgba(18,28,39,.07); }
.jr-form-head h2 { font-size: 24px; font-weight: 700; color: #121c27; letter-spacing: -.3px; margin-bottom: 6px; }
.jr-form-head p { font-size: 14px; color: #9ea8b0; line-height: 1.6; font-family: 'Mulish', sans-serif; }

.jr-form-section { margin-bottom: 8px; }
.jr-form-section-title { display: flex; align-items: center; gap: 12px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 2.5px; color: rgba(18,28,39,.38); margin-bottom: 22px; margin-top: 30px; }
.jr-form-section-title::after { content: ''; flex: 1; height: 1px; background: rgba(18,28,39,.07); }
.jr-form-section:first-child .jr-form-section-title { margin-top: 0; }

/* floating label */
.jr-field { position: relative; margin-bottom: 22px; }
.jr-field--float { position: relative; }
.jr-field--float .jr-float-label { position: absolute; left: 0; top: 14px; font-family: 'Urbanist', sans-serif; font-size: 15px; font-weight: 500; color: rgba(18,28,39,.38); pointer-events: none; transition: all .25s ease; transform-origin: left center; }
.jr-field--float input:focus ~ .jr-float-label,
.jr-field--float input:not(:placeholder-shown) ~ .jr-float-label,
.jr-field--float textarea:focus ~ .jr-float-label,
.jr-field--float textarea:not(:placeholder-shown) ~ .jr-float-label { top: -2px; font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #121c27; }

.jr-input, .jr-textarea {
  width: 100%; background: transparent; border: none; border-bottom: 1.5px solid rgba(18,28,39,.14); border-radius: 0;
  padding: 14px 0 10px; font-family: 'Urbanist', sans-serif; font-size: 15px; font-weight: 500; color: #121c27;
  outline: none; transition: border-color .3s ease; appearance: none; -webkit-appearance: none; display: block;
}
.jr-input::placeholder, .jr-textarea::placeholder { color: transparent; }
.jr-input:focus, .jr-textarea:focus { border-bottom-color: #121c27; }
.jr-textarea { resize: vertical; min-height: 110px; padding-top: 16px; }

.jr-static-label { display: block; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; color: rgba(18,28,39,.45); margin-bottom: 10px; }

/* civilité pills */
.jr-pills { display: flex; gap: 10px; }
.jr-pill-label { display: inline-flex; align-items: center; gap: 7px; padding: 10px 22px; border: 1.5px solid rgba(18,28,39,.14); font-family: 'Urbanist', sans-serif; font-size: 13px; font-weight: 700; color: rgba(18,28,39,.55); cursor: pointer; user-select: none; transition: all .28s ease; position: relative; }
.jr-pill-label input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.jr-pill-label:hover { border-color: rgba(18,28,39,.4); color: #121c27; }
.jr-pill-label:has(input:checked) { background: #121c27; color: #fff; border-color: #121c27; }

/* select */
.jr-select-wrap { display: block; }
.jr-select { display: block; width: 100%; border: none; border-bottom: 1.5px solid rgba(18,28,39,.14); border-radius: 0; padding: 13px 28px 10px 0; font-family: 'Urbanist', sans-serif; font-size: 15px; font-weight: 500; color: #121c27; outline: none; cursor: pointer; transition: border-bottom-color .3s ease; background: transparent; }
.jr-select:focus { border-bottom-color: #121c27; }
.jr-select option { color: #121c27; }
.jr-select option:disabled { color: rgba(18,28,39,.38); }

.jr-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
@media (max-width: 480px) { .jr-grid-2 { grid-template-columns: 1fr; } }

/* file zone */
.jr-file-zone { position: relative; border: 1.5px dashed rgba(18,28,39,.2); padding: 24px 20px; text-align: center; cursor: pointer; transition: border-color .3s, background .3s; background: #fafafa; }
.jr-file-zone:hover { border-color: #121c27; background: #f5f5f5; }
.jr-file-zone input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; z-index: 2; }
.jr-file-zone__icon { font-size: 22px; color: rgba(18,28,39,.3); margin-bottom: 8px; display: block; }
.jr-file-zone__text { font-family: 'Urbanist', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.8px; color: rgba(18,28,39,.45); }
.jr-file-zone__sub { font-family: 'Mulish', sans-serif; font-size: 12px; color: #9ea8b0; margin-top: 4px; }
#jr_cv_name { display: none; font-size: 12px; color: #121c27; font-weight: 600; margin-top: 8px; font-family: 'Urbanist', sans-serif; }

/* checkbox consent */
.jr-consent { display: flex; align-items: flex-start; gap: 14px; cursor: pointer; }
.jr-consent input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.jr-consent__box { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; border: 1.5px solid rgba(18,28,39,.25); display: flex; align-items: center; justify-content: center; transition: all .25s; position: relative; cursor: pointer; }
.jr-consent__box i { font-size: 9px; color: #fff; opacity: 0; transition: opacity .2s; }
.jr-consent input:checked ~ .jr-consent__box { background: #121c27; border-color: #121c27; }
.jr-consent input:checked ~ .jr-consent__box i { opacity: 1; }
.jr-consent__text { font-family: 'Mulish', sans-serif; font-size: 13px; color: #6b7280; line-height: 1.65; }
.jr-consent__text a { color: #121c27; border-bottom: 1px solid rgba(18,28,39,.2); }
.jr-consent__text a:hover { border-color: #121c27; }

/* submit */
.jr-submit { width: 100%; background: #121c27; color: #fff; border: 1.5px solid #121c27; padding: 17px 28px; font-family: 'Urbanist', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 2.2px; cursor: pointer; transition: all .35s; display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 28px; }
.jr-submit:hover { background: transparent; color: #121c27; }
.jr-submit i { font-size: 12px; transition: transform .35s; }
.jr-submit:hover i { transform: translateX(4px); }

/* culture column */
.jr-culture-col { padding-left: 28px; }
@media (max-width: 991px) { .jr-culture-col { padding-left: 0; } }
.jr-culture-sticky { position: sticky; top: 120px; }
.jr-culture-img { position: relative; margin-bottom: 36px; overflow: hidden; }
.jr-culture-img img { width: 100%; height: 280px; object-fit: cover; display: block; }
.jr-culture-img__badge { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(18,28,39,.82); backdrop-filter: blur(8px); padding: 16px 22px; display: flex; align-items: center; gap: 14px; }
.jr-culture-img__badge-icon { font-size: 18px; color: rgba(255,255,255,.7); }
.jr-culture-img__badge p { font-family: 'Urbanist', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.8px; color: #fff; margin: 0; }
.jr-culture-col h3 { font-size: 22px; font-weight: 700; letter-spacing: -.3px; margin-bottom: 14px; line-height: 1.3; }
.jr-culture-body { font-family: 'Mulish', sans-serif; font-size: 14.5px; line-height: 1.8; color: #6b7280; margin-bottom: 28px; }
.jr-check-list { list-style: none; margin: 0 0 30px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.jr-check-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; font-weight: 600; color: #121c27; line-height: 1.5; }
.jr-chk-dot { width: 20px; height: 20px; border-radius: 50%; background: #121c27; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; flex-shrink: 0; margin-top: 1px; }
.jr-stats { display: flex; border: 1px solid rgba(18,28,39,.08); }
.jr-stat { flex: 1; padding: 18px 14px; border-right: 1px solid rgba(18,28,39,.07); text-align: center; }
.jr-stat:last-child { border-right: none; }
.jr-stat__val { font-family: 'Urbanist', sans-serif; font-size: 12px; font-weight: 800; color: #121c27; text-transform: uppercase; letter-spacing: .5px; display: block; margin-bottom: 4px; }
.jr-stat__lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: rgba(18,28,39,.35); font-family: 'Mulish', sans-serif; display: block; }
@media (max-width: 767px) { .jr-stats { flex-direction: column; } .jr-stat { border-right: none; border-bottom: 1px solid rgba(18,28,39,.07); } .jr-stat:last-child { border-bottom: none; } }

/* values section */
.jr-values { background: #f5f5f5; padding: 80px 0; }
@media (max-width: 767px) { .jr-values { padding: 60px 0; } }
.jr-values-head { text-align: center; margin-bottom: 50px; }
.jr-values-head h2 { font-size: clamp(24px,3vw,36px); font-weight: 600; color: #121c27; letter-spacing: -.5px; margin-top: 12px; }
.jr-card { background: #fff; border: 1px solid rgba(18,28,39,.07); padding: 36px 30px; height: 100%; transition: box-shadow .35s, transform .35s; }
.jr-card:hover { box-shadow: 0 16px 48px rgba(18,28,39,.09); transform: translateY(-5px); }
.jr-card-icon { width: 50px; height: 50px; border: 1px solid rgba(18,28,39,.1); display: flex; align-items: center; justify-content: center; color: #121c27; font-size: 19px; margin-bottom: 22px; transition: background .3s, color .3s; }
.jr-card:hover .jr-card-icon { background: #121c27; color: #fff; }
.jr-card h4 { font-size: 17px; font-weight: 700; color: #121c27; margin-bottom: 10px; }
.jr-card p { font-size: 14px; line-height: 1.75; color: #6b7280; font-family: 'Mulish', sans-serif; }
