/* Careers page — tokens inherit from assets/css/tokens.css */

body.hub-careers main *{box-sizing:border-box}
body.hub-careers{scroll-behavior:smooth}
body.hub-careers{
  margin:0;
  color:var(--ink);
  background:#fff;
  line-height:1.55;
}
body.hub-careers main a{color:inherit;text-decoration:none}
body.hub-careers main .container{max-width:var(--max);margin:auto;padding:0 28px}
body.hub-careers main .section{padding:96px 0}
body.hub-careers main .soft{background:var(--surface)}
body.hub-careers main .eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  text-transform:uppercase;letter-spacing:.14em;font-size:12px;
  font-weight:900;color:var(--blue)
}
body.hub-careers main .eyebrow:before{content:"";width:22px;height:2px;background:currentColor;border-radius:999px}
body.hub-careers main .section-head{max-width:780px;margin-bottom:44px}
body.hub-careers main .section-head h2{
  font-size:var(--text-h2);line-height:var(--lh-h2);
  letter-spacing:var(--tracking-heading);margin:12px 0 18px;color:var(--navy)
}
body.hub-careers main .section-head p{font-size:var(--text-body-large);color:var(--slate);margin:0;line-height:var(--lh-body-large);max-width:42rem}
body.hub-careers main .section[id],
body.hub-careers main #open-roles,
body.hub-careers main #talent{scroll-margin-top:calc(var(--header-h,76px) + 8px)}

body.hub-careers main .btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 19px;border-radius:13px;
  border:1px solid transparent;font-weight:900;font-size:14px;transition:.2s ease;
  cursor:pointer
}
body.hub-careers main .btn:hover{box-shadow:0 10px 24px rgba(11,31,77,.16)}
body.hub-careers main .btn-primary{background:var(--champagne);color:var(--navy)}
body.hub-careers main .btn-primary:hover{background:var(--j2p-cta-hover);color:var(--navy)}
body.hub-careers main .btn-blue{background:var(--blue);color:#fff;box-shadow:0 12px 28px rgba(29,78,216,.22)}
body.hub-careers main .btn-outline{border-color:var(--line);color:var(--navy);background:#fff}
body.hub-careers main .btn-light{background:#fff;color:var(--navy);border-color:var(--line)}
body.hub-careers main .link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:900;font-size:14px}
body.hub-careers main .link-arrow span,
body.hub-careers main .link-arrow .ph{transition:.2s}
body.hub-careers main .link-arrow:hover span,
body.hub-careers main .link-arrow:hover .ph{transform:translateX(4px)}
body.hub-careers main .btn:focus-visible,
body.hub-careers main .link-arrow:focus-visible,
body.hub-careers main select:focus-visible,
body.hub-careers main input:focus-visible,
body.hub-careers main textarea:focus-visible,
body.hub-careers main button:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px
}
body.hub-careers main .hero .btn:focus-visible,
body.hub-careers main .equal .btn:focus-visible{
  outline-color:var(--champagne)
}

/* Hero */
body.hub-careers main .hero{
  color:var(--navy);overflow:hidden;position:relative;padding:92px 0 72px;
  background:var(--j2p-hero-bg)
}
body.hub-careers main .hero:after{
  content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.08);
  border-radius:50%;right:-170px;bottom:-330px;box-shadow:
  0 0 0 75px rgba(255,255,255,.02),0 0 0 150px rgba(255,255,255,.015)
}
body.hub-careers main .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center;position:relative;z-index:2}
body.hub-careers main .hero .eyebrow{color:var(--blue)}
body.hub-careers main .hero h1{
  font-size:var(--text-h1);line-height:var(--lh-h1);letter-spacing:var(--tracking-heading);
  margin:17px 0 25px;overflow-wrap:break-word;max-width:18em
}
body.hub-careers main .hero h1 span{color:var(--blue)}
body.hub-careers main .hero-copy{font-size:var(--text-body-large);color:var(--slate);max-width:var(--j2p-hero-copy-max);margin:0;text-align:start}
body.hub-careers main .hero-actions{display:flex;justify-content:flex-start;gap:12px;flex-wrap:wrap;margin-top:31px}
body.hub-careers main .hero-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px}
body.hub-careers main .hero-visual{position:relative;min-height:0;height:auto;overflow:visible}
body.hub-careers main .work-card{
  position:relative;inset:auto;width:100%;height:auto;min-height:0;
  background:#fff;border:1px solid var(--line);
  border-radius:28px;box-shadow:0 34px 90px rgba(11,31,77,.12);
  overflow:visible;padding:24px;display:flex;flex-direction:column;gap:16px
}
body.hub-careers main .work-card:before{display:none}
body.hub-careers main .work-kicker{
  position:relative;z-index:2;font-size:var(--text-h3);font-weight:var(--fw-heading);line-height:var(--lh-h3);
  letter-spacing:var(--tracking-heading);color:var(--navy);max-width:22ch
}
body.hub-careers main .work-list{
  position:relative;z-index:2;list-style:none;margin:0;padding:0;display:grid;gap:12px
}
body.hub-careers main .work-list li{
  color:var(--slate);font-size:var(--text-body);line-height:var(--lh-card);display:flex;align-items:flex-start;gap:10px;padding-inline-start:0;position:relative
}
body.hub-careers main .work-list li:before{
  content:"\e182";font-family:"Phosphor";width:20px;height:20px;border-radius:50%;
  background:var(--surface-blue-soft,#EEF4FF);color:var(--blue);display:grid;place-items:center;
  font-weight:normal;flex:0 0 20px;font-size:13px;position:static;inset:auto
}
body.hub-careers main .float-note{
  position:static;left:auto;bottom:auto;background:var(--surface);color:var(--navy);border-radius:14px;
  padding:14px 16px 16px;box-shadow:none;z-index:auto;font-weight:700;font-size:var(--text-small);
  line-height:var(--lh-card);width:100%;height:auto;white-space:normal
}
body.hub-careers main .float-note small{display:block;color:var(--slate);font-size:var(--text-meta);font-weight:650;margin-top:4px;line-height:1.55}

/* FROZEN 2026-09-03 — Careers .subnav placement + document flow. See docs/audit/subnav-flow-freeze.md. Do not use sticky, fixed, header top, spacers, or JS positioning. */
body.hub-careers main .subnav{position:static;top:auto;z-index:auto;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;max-width:100%}
body.hub-careers main .subnav-inner{
  height:58px;display:flex;align-items:center;gap:23px;overflow:auto;white-space:nowrap;
  font-size:13px;font-weight:850;color:var(--slate)
}
body.hub-careers main .subnav-inner a{cursor:pointer}
body.hub-careers main .subnav-inner a:hover{color:var(--blue)}

/* Why */
body.hub-careers main .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body.hub-careers main .why-card,
body.hub-careers main .principle,
body.hub-careers main .area-card{
  border:1px solid var(--line);border-radius:20px;padding:25px;background:#fff
}
body.hub-careers main .why-card .num,
body.hub-careers main .principle .num{
  font-size:var(--text-meta);color:var(--blue);font-weight:800
}
body.hub-careers main .why-card h3,
body.hub-careers main .principle h3,
body.hub-careers main .area-card h3{
  font-size:var(--text-card-title);color:var(--navy);margin:8px 0 9px;letter-spacing:var(--tracking-heading);line-height:var(--lh-card)
}
body.hub-careers main .why-card p,
body.hub-careers main .principle p,
body.hub-careers main .area-card p{font-size:var(--text-body);color:var(--slate);margin:0;line-height:var(--lh-card)}

/* Principles */
body.hub-careers main .principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* Areas */
body.hub-careers main .area-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.hub-careers main .area-card{padding:28px}
body.hub-careers main .area-kicker{
  display:inline-flex;min-height:28px;padding:0 10px;border-radius:999px;
  background:var(--blue-soft);color:var(--blue);font-size:var(--text-meta);font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;align-items:center
}
html[lang="ar"] body.hub-careers main .area-kicker{letter-spacing:normal;text-transform:none}

/* Journey */
body.hub-careers main .journey{position:relative}
body.hub-careers main .journey:before{
  content:"";position:absolute;left:30px;right:30px;top:43px;height:2px;
  background:linear-gradient(90deg,var(--champagne),var(--blue))
}
body.hub-careers main .journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
body.hub-careers main .stage{position:relative;padding-top:74px}
body.hub-careers main .stage-dot{
  position:absolute;top:26px;left:18px;width:34px;height:34px;border-radius:50%;background:var(--navy);
  color:#fff;display:grid;place-items:center;font-size:10px;font-weight:950;border:5px solid var(--surface);box-shadow:0 0 0 1px var(--line)
}
body.hub-careers main .stage-card{
  border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff;min-height:210px;
  box-shadow:0 8px 26px rgba(2,6,23,.04)
}
body.hub-careers main .stage-card small{font-size:var(--text-meta);color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
html[lang="ar"] body.hub-careers main .why-card .num,
html[lang="ar"] body.hub-careers main .principle .num,
html[lang="ar"] body.hub-careers main .area-kicker,
html[lang="ar"] body.hub-careers main .stage-card small {
  letter-spacing: normal;
  text-transform: none;
}
body.hub-careers main .stage-card h3{font-size:var(--text-card-title);color:var(--navy);margin:8px 0 10px;line-height:var(--lh-card);letter-spacing:var(--tracking-heading)}
body.hub-careers main .stage-card p{font-size:var(--text-body);color:var(--slate);margin:0;line-height:var(--lh-card)}

/* Roles */
body.hub-careers main .roles-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px
}
body.hub-careers main .roles-head .section-head{margin-bottom:0}
body.hub-careers main .hub-preview-toggle{
  border:0;background:none;color:var(--blue);font:inherit;font-size:var(--text-small);font-weight:800;
  cursor:pointer;padding:8px 0;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center
}
body.hub-careers main .hub-preview-toggle:hover{text-decoration:underline}
body.hub-careers main .roles-filters{
  display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:32px 0 22px
}
body.hub-careers main .filter-field{display:grid;gap:6px;min-width:min(220px,100%);max-width:100%}
body.hub-careers main .filter-field label{
  font-size:var(--text-small);font-weight:800;color:var(--navy)
}
body.hub-careers main .roles-filters select{
  width:100%;max-width:100%;box-sizing:border-box;
  min-height:48px;padding-inline:14px 40px;border:1px solid var(--line);border-radius:12px;
  background:var(--surface);color:var(--ink);font:inherit;font-size:16px;appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);
  background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat
}
html[dir="rtl"] body.hub-careers main .roles-filters select{
  background-position:16px calc(50% - 3px),21px calc(50% - 3px)
}
body.hub-careers main .roles-board{display:grid;gap:14px}
body.hub-careers main .role-card{
  display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 26px;
  box-shadow:var(--soft-shadow)
}
body.hub-careers main .role-meta{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px
}
body.hub-careers main .role-chip{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;
  background:var(--surface);border:1px solid var(--line);color:var(--navy);
  font-size:var(--text-meta);font-weight:800
}
body.hub-careers main .role-chip.is-preview{background:var(--champagne-soft);border-color:transparent;color:#63502D}
body.hub-careers main .role-card h3{margin:0 0 8px;font-size:var(--text-card-title);color:var(--navy);letter-spacing:var(--tracking-heading);line-height:var(--lh-card)}
body.hub-careers main .role-card p{margin:0;color:var(--slate);font-size:var(--text-body);line-height:var(--lh-card)}
body.hub-careers main .role-card ul{margin:12px 0 0;padding:0;list-style:none;color:var(--slate);font-size:var(--text-body);line-height:var(--lh-card);display:grid;gap:8px}
body.hub-careers main .role-card li{margin:0;display:flex;align-items:flex-start;gap:10px}
body.hub-careers main .role-card li:before{
  content:"\e182";font-family:"Phosphor";width:20px;height:20px;border-radius:50%;
  background:var(--surface-blue-soft,#EEF4FF);color:var(--blue);display:grid;place-items:center;
  font-weight:normal;flex:0 0 20px;font-size:13px
}
body.hub-careers main .role-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
body.hub-careers main .empty-state,
body.hub-careers main .filter-empty,
body.hub-careers main .roles-loading{
  border:1px dashed #D7DEE8;border-radius:22px;background:#fff;padding:42px 32px;text-align:center
}
body.hub-careers main .empty-state h3,
body.hub-careers main .filter-empty h3{margin:0 0 8px;color:var(--navy);font-size:26px;letter-spacing:-.03em}
body.hub-careers main .empty-state p,
body.hub-careers main .filter-empty p{margin:0 auto 22px;max-width:52ch;color:var(--slate);font-size:16px}
body.hub-careers main .roles-loading{color:var(--slate);font-weight:700}
body.hub-careers main .roles-skel{
  display:grid;gap:12px
}
body.hub-careers main .roles-skel span{
  display:block;height:92px;border-radius:18px;background:linear-gradient(90deg,#EEF2F7 0%,#F8FAFC 50%,#EEF2F7 100%);
  background-size:200% 100%;animation:careers-skel 1.2s ease-in-out infinite
}

/* Talent */
body.hub-careers main .talent-layout{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start
}
body.hub-careers main .talent-copy h2{
  font-size:var(--text-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-heading);margin:12px 0 18px;color:var(--navy)
}
body.hub-careers main .talent-copy > p{font-size:18px;color:var(--slate);margin:0 0 22px}
body.hub-careers main .talent-notes{margin:0;padding:0;list-style:none;display:grid;gap:12px}
body.hub-careers main .talent-notes li{
  color:var(--slate);font-size:var(--text-body);line-height:var(--lh-card);display:flex;align-items:flex-start;gap:10px;padding-inline-start:0;position:relative
}
body.hub-careers main .talent-notes li:before{
  content:"\e182";font-family:"Phosphor";width:20px;height:20px;border-radius:50%;
  background:var(--surface-blue-soft,#EEF4FF);color:var(--blue);display:grid;place-items:center;
  font-weight:normal;flex:0 0 20px;font-size:13px;position:static;inset:auto
}
body.hub-careers main .talent-notes a{color:var(--blue);font-weight:700}
body.hub-careers main .talent-panel{
  background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:30px 28px 32px
}
body.hub-careers main .talent-panel h3{margin:0 0 6px;font-size:var(--text-h3);letter-spacing:var(--tracking-heading);color:var(--navy);line-height:var(--lh-h3)}
body.hub-careers main .talent-panel > p{margin:0 0 16px;color:var(--slate);font-size:var(--text-body);line-height:var(--lh-card)}
body.hub-careers main .talent-form .field{margin:0 0 15px}
body.hub-careers main .talent-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.hub-careers main .talent-form label:not(.consent-label){
  display:block;font-size:var(--text-small);font-weight:800;letter-spacing:normal;color:var(--navy);margin:0 0 6px
}
body.hub-careers main .talent-form input,
body.hub-careers main .roles-filters select {
  font-size: 16px;
}
body.hub-careers main .talent-form input[type="text"],
body.hub-careers main .talent-form input[type="email"],
body.hub-careers main .talent-form input[type="url"],
body.hub-careers main .talent-form select,
body.hub-careers main .talent-form textarea{
  width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;
  color:var(--ink);min-height:48px;padding:0 14px;font:inherit;font-size:16px
}
body.hub-careers main .talent-form textarea{min-height:136px;padding:14px;resize:vertical}
body.hub-careers main .talent-form select{
  appearance:none;cursor:pointer;
  padding-inline-start:14px;padding-inline-end:40px;
  background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);
  background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;background-color:var(--surface)
}
html[dir="rtl"] body.hub-careers main .talent-form select{
  background-position:16px calc(50% - 3px),21px calc(50% - 3px)
}
body.hub-careers main .talent-form input:focus,
body.hub-careers main .talent-form select:focus,
body.hub-careers main .talent-form textarea:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.14);background:#fff
}
body.hub-careers main .required-mark{color:#C9A46A}
body.hub-careers main .optional-mark{font-size:.85em;font-weight:400;opacity:.75}
body.hub-careers main .field-error{display:block;margin-top:6px;font-size:var(--text-meta);color:#B42318}
body.hub-careers main .talent-form input[aria-invalid="true"],
body.hub-careers main .talent-form textarea[aria-invalid="true"],
body.hub-careers main .talent-form select[aria-invalid="true"]{border-color:#E07070}
body.hub-careers main .talent-form .consent-label{
  display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;
  font-size:var(--text-small);font-weight:650;color:var(--navy);cursor:pointer;margin:0;
  min-height:44px
}
body.hub-careers main .consent-label input{margin-top:3px;width:20px;height:20px;min-width:20px;accent-color:var(--blue);cursor:pointer}
body.hub-careers main .consent-label a{color:var(--blue);font-weight:800}
body.hub-careers main .form-actions{margin-top:8px}
body.hub-careers main .form-status{
  margin-top:14px;padding:12px 14px;border-radius:12px;font-size:var(--text-small);line-height:var(--lh-card)
}
body.hub-careers main .form-status.is-error{background:#FEF3F2;color:#B42318}
body.hub-careers main .form-status.is-info{background:var(--blue-soft);color:var(--navy)}

/* Equal opportunity */
body.hub-careers main .equal{
  padding:82px 0;color:#fff;
  background:linear-gradient(110deg,#081638,#0B1F4D 55%,#163E8A)
}
body.hub-careers main .equal .eyebrow{color:var(--champagne)}
body.hub-careers main .equal-row{display:flex;justify-content:space-between;align-items:center;gap:40px}
body.hub-careers main .equal h2{
  font-size:var(--text-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-heading);margin:12px 0 14px
}
body.hub-careers main .equal p{color:rgba(255,255,255,.7);max-width:650px;margin:0}
body.hub-careers main .equal-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}

@keyframes careers-skel{
  0%{background-position:100% 0}
  100%{background-position:-100% 0}
}

@media (prefers-reduced-motion: reduce){
  body.hub-careers main .btn,
  body.hub-careers main .link-arrow span{transition:none}
  body.hub-careers main .btn:hover{transform:none}
  body.hub-careers main .roles-skel span{animation:none}
}

@media(max-width:1279px){
  body.hub-careers main .section[id],
  body.hub-careers main #open-roles,
  body.hub-careers main #talent{scroll-margin-top:calc(var(--header-h,68px) + 8px)}
}

@media(max-width:1020px){
  body.hub-careers main .hero-grid,
  body.hub-careers main .talent-layout,
  body.hub-careers main .equal-row{grid-template-columns:1fr}
  body.hub-careers main .equal-row{display:block}
  body.hub-careers main .equal-actions{margin-top:26px}
  body.hub-careers main .why-grid{grid-template-columns:1fr}
  body.hub-careers main .principle-grid{grid-template-columns:1fr 1fr}
  body.hub-careers main .area-grid{grid-template-columns:1fr}
  body.hub-careers main .journey-grid{grid-template-columns:1fr 1fr}
  body.hub-careers main .journey:before{display:none}
  body.hub-careers main .roles-head{display:grid;align-items:start}
  body.hub-careers main .role-card{grid-template-columns:1fr}
  body.hub-careers main .role-actions{align-items:flex-start}
}

@media(max-width:767px){
  body.hub-careers main .section{padding:72px 0}
  body.hub-careers main .hero{padding-top:68px}
  body.hub-careers main .hero h1{font-size:var(--text-h1);line-height:var(--lh-h1)}
  body.hub-careers main .hero-visual{min-height:0}
  body.hub-careers main .work-card{position:relative;width:100%;right:auto;top:auto}
  body.hub-careers main .float-note{position:relative;left:auto;bottom:auto;margin-top:16px;display:inline-block}
  body.hub-careers main .principle-grid,
  body.hub-careers main .journey-grid,
  body.hub-careers main .talent-form .field-row{grid-template-columns:1fr}
  body.hub-careers main .stage{padding-top:14px}
  body.hub-careers main .stage-dot{display:none}
  body.hub-careers main .hero-actions .btn,
  body.hub-careers main .equal-actions .btn,
  body.hub-careers main .form-actions .btn{width:100%}
  body.hub-careers main .roles-filters{flex-direction:column;align-items:stretch}
  body.hub-careers main .filter-field,
  body.hub-careers main .roles-filters .btn{width:100%;min-width:0}
  body.hub-careers main .roles-filters select{width:100%;max-width:100%}
  body.hub-careers main .section[id],
  body.hub-careers main #open-roles,
  body.hub-careers main #talent{scroll-margin-top:calc(var(--header-h,68px) + 8px)}
  body.hub-careers main .container{padding:0 16px}
}
