/* Shared presentation pass for public, registration and candidate pages. */
:root{
  --ui-ink:#102844;
  --ui-muted:#52657d;
  --ui-border:#dbe5f0;
  --ui-shadow:0 12px 34px rgba(15,52,91,.075);
  --ui-shadow-hover:0 20px 42px rgba(15,52,91,.14);
}
html{font-size:16px}
body{color:var(--ui-ink)}
img,svg{max-width:100%}
.container{width:min(calc(100% - 48px),1360px)}
.section{padding-block:clamp(48px,5vw,76px)}
.section-head{gap:16px;align-items:end}
.section-head h2{font-size:clamp(1.55rem,2.3vw,2.1rem);line-height:1.2}
.section-head p,.page-heading p{font-size:1rem;line-height:1.55;color:var(--ui-muted)}
.section-head>a{font-size:.94rem;white-space:normal}

/* A hover state should remain legible and never move surrounding text. */
:where(.job-card,.home-job-card-v091,.job-card-v053,.co-card-v094,.category-card,.location-card,.company-tile,.career26-card,.ux-history-card){
  min-width:0;
  border-radius:18px;
  box-shadow:var(--ui-shadow);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
@media(hover:hover){
  :where(.job-card,.home-job-card-v091,.job-card-v053,.co-card-v094,.category-card,.location-card,.company-tile,.career26-card,.ux-history-card):hover{
    transform:translateY(-3px);
    box-shadow:var(--ui-shadow-hover);
    border-color:#a9c8ed;
  }
}
:where(.job-card,.home-job-card-v091,.job-card-v053,.co-card-v094,.career26-card,.ux-history-card) :is(h2,h3,strong,a){overflow-wrap:anywhere}
:where(.job-meta,.job-meta-v053,.home-job-meta-v091,.co-meta-v094,.career26-card__foot,.ux-history-card) small,
:where(.job-card,.job-card-v053,.home-job-card-v091,.co-card-v094,.career26-card) time{font-size:max(.875rem,14px);line-height:1.45}
:where(.job-card,.job-card-v053,.home-job-card-v091,.co-card-v094,.career26-card) a:hover,
.site-footer a:hover{color:#0759b8;text-decoration-color:currentColor}
.home-job-grid-v091{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-job-card-v091{height:100%;padding:22px}
.home-job-title-v091,.job-card-v053 .ux-job-card-link{font-size:1.12rem;line-height:1.35}
.job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.job-card{min-height:0;display:flex;flex-direction:column;padding:22px}
.job-card .posted{margin-top:auto;padding-top:12px}
.category-grid.category-grid-v018{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;overflow:visible}
.category-card{min-height:110px;padding:18px}
.location-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible}
.co-container-v094{width:min(calc(100% - 48px),1360px);max-width:1360px}
.co-grid-v094{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.co-card-v094{height:100%;padding:22px}
.job-list-v053{gap:16px}
.job-card-v053{padding:22px}
.career26-container{width:min(calc(100% - 48px),1360px);max-width:1360px}
.career26-card{height:100%}
.site-footer :is(p,a,small),.footer-bottom{font-size:max(.875rem,14px);line-height:1.5}
.footer-grid{gap:clamp(18px,3vw,40px)}
.footer-grid>div>a{font-size:max(.875rem,14px)}

/* Signup stays a coherent three step flow at every viewport. */
.jf-reg-v132{padding:clamp(24px,4vw,64px) 24px 64px}
.jf-reg-v132 .jf-reg-shell{width:min(100%,1320px);max-width:1320px;grid-template-columns:minmax(0,1fr) minmax(400px,490px);gap:clamp(24px,4vw,64px);min-height:0}
.jf-reg-v132 .jf-reg-left{min-height:590px;padding:48px 0 0 12px}
.jf-reg-v132 .jf-reg-copy{width:52%;min-width:260px}
.jf-reg-v132 .jf-reg-copy h1{font-size:clamp(2.5rem,4vw,3.6rem);line-height:1.08}
.jf-reg-v132 .jf-reg-copy>p{font-size:1.08rem;line-height:1.55}
.jf-reg-v132 .jf-reg-benefits{width:min(100%,310px)}
.jf-reg-v132 .jf-reg-benefits strong{font-size:1rem}
.jf-reg-v132 .jf-reg-benefits small{font-size:.9rem}
.jf-reg-v132 .jf-reg-visual{width:57%;height:88%}
.jf-reg-v132 .jf-reg-card{width:100%;max-width:none;padding:clamp(24px,3vw,40px)}
.jf-reg-card .jf-reg-stepper{display:grid;grid-template-columns:auto minmax(10px,1fr) auto minmax(10px,1fr) auto;align-items:center;gap:8px;margin-bottom:26px}
.jf-reg-card .jf-reg-stepper>div{display:flex;align-items:center;gap:6px;color:#60718a;font-size:.78rem;font-weight:700;white-space:nowrap}
.jf-reg-card .jf-reg-stepper .active{color:#1262bd}
.jf-reg-card .jf-reg-stepper i{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:#edf3fa;font-style:normal;font-size:.82rem}
.jf-reg-card .jf-reg-stepper .active i{background:#1262bd;color:#fff}
.jf-reg-card .jf-reg-stepper b{height:2px;background:#dce7f3}
.jf-reg-v132 .jf-reg-card h2{font-size:1.7rem}
.jf-reg-v132 .jf-reg-sub{font-size:1rem;line-height:1.45}
.jf-reg-v132 .jf-reg-form>label,.jf-reg-flow-v132 .jf-reg-profile-form>label{font-size:.94rem}
.jf-reg-v132 .jf-reg-input,.jf-reg-v132 .jf-reg-primary{min-height:50px}
.jf-reg-v132 .jf-reg-input input{font-size:1rem}
.jf-reg-v132 .jf-reg-login-link{font-size:.94rem}
.jf-reg-flow-v132{padding:clamp(24px,4vw,56px) 20px 64px}
.jf-reg-flow-v132 .jf-reg-flow-card{width:min(100%,760px);padding:clamp(24px,4vw,48px)}
.jf-reg-flow-v132 .jf-reg-stepper>div{font-size:.9rem}
.jf-reg-flow-v132 .jf-reg-profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.jf-reg-profile-form>label,.jf-reg-profile-form fieldset{min-width:0}
.jf-reg-profile-form fieldset{margin:0}
.jf-reg-profile-form>label:nth-of-type(4),.jf-reg-profile-form .jf-reg-flow-actions{grid-column:1/-1}
.jf-reg-flow-v132 .jf-reg-profile-form :is(input,select){min-width:0;font-size:1rem}
.jf-reg-flow-v132 .jf-reg-profile-form :is(input,select,.jf-phone-row){min-height:48px}
.jf-reg-flow-v132 .jf-reg-flow-head h1{font-size:clamp(1.65rem,3vw,2.2rem)}
.jf-reg-flow-v132 .jf-reg-flow-head p{font-size:1rem}
.jf-reg-flow-v132 .jf-reg-stepper{margin-bottom:26px}
.jf-reg-flow-v132 .jf-otp-inputs{gap:clamp(5px,2vw,16px)}
.jf-reg-flow-v132 .jf-otp-inputs input{width:clamp(40px,8vw,58px);height:clamp(52px,9vw,64px)}

/* Candidate content uses the available desktop width. */
.jf-dashboard-v137{max-width:1600px;margin-inline:auto}
.jf-dashboard-v137 .jf-dash-main{min-width:0;padding-inline:clamp(20px,2.5vw,40px)}
.jf-dashboard-v137 .jf-dash-grid{gap:18px}
.jf-dashboard-v137 .jf-dash-card,.jf-candidate-page :is(.jf-profile-real-card,.ux-history-card){border-radius:18px;box-shadow:var(--ui-shadow)}
.jf-candidate-page{width:min(calc(100% - 48px),1360px);max-width:1360px}
.jf-dashboard-v137 .jf-dash-location-ac{display:block}
.jf-dashboard-v137 .jf-dash-search-row{min-width:0}
.jf-dashboard-v137 .jf-dash-search-row>*{min-width:0}

/* Header hover changes text only; selected states keep their own styling. */
body .site-header .desktop-nav>a:hover,
body .site-header .desktop-nav>a:focus-visible,
body .site-header .mobile-nav>a:hover,
body .site-header .mobile-nav>a:focus-visible,
body .site-header .jf-user-dropdown>a:not(.danger):hover,
body .site-header .jf-user-dropdown>a:not(.danger):focus-visible{
  color:#0b67d3!important;
  background:transparent!important;
}
body .site-header .nav-text-action:hover,
body .site-header .nav-text-action:focus-visible,
body .site-header .jf-nav-user:hover,
body .site-header .jf-nav-user:focus-visible{
  color:#0b67d3!important;
  background:transparent!important;
}
body .site-header .btn-ghost:hover,
body .site-header .btn-ghost:focus-visible{
  color:#0b67d3!important;
  background:transparent!important;
  border-color:var(--mk-colors-blue-100)!important;
  box-shadow:none!important;
  transform:none!important;
}
body .site-header .jf-nav-user:hover .jf-nav-user-copy strong,
body .site-header .jf-nav-user:focus-visible .jf-nav-user-copy strong,
body .site-header .jf-nav-user:hover .nav-chevron,
body .site-header .jf-nav-user:focus-visible .nav-chevron{color:#0b67d3!important}

:where(a,button,input,select,textarea,[role=button]):focus-visible{outline:3px solid #2b78d0;outline-offset:3px}
@media(prefers-reduced-motion:reduce){:where(.job-card,.home-job-card-v091,.job-card-v053,.co-card-v094,.category-card,.location-card,.company-tile,.career26-card,.ux-history-card){transition:none;transform:none!important}}

@media(max-width:1100px){
  .home-job-grid-v091,.job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-grid-v094{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jf-reg-v132 .jf-reg-shell{grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:20px}
  .jf-reg-v132 .jf-reg-left{min-height:540px;padding-left:0}
  .jf-reg-v132 .jf-reg-copy{width:58%;min-width:240px}
  .jf-reg-v132 .jf-reg-visual{width:51%}
}
@media(max-width:1023.98px){
  .jf-reg-v132 .jf-reg-shell{grid-template-columns:1fr;max-width:680px}
  .jf-reg-v132 .jf-reg-left{min-height:190px;padding:22px 28px;background:#eaf4ff;border-radius:18px}
  .jf-reg-v132 .jf-reg-copy{width:68%;min-width:0}
  .jf-reg-v132 .jf-reg-copy h1{font-size:2.4rem;margin:8px 0}
  .jf-reg-v132 .jf-reg-copy>p{font-size:1rem;margin:0}
  .jf-reg-v132 .jf-reg-visual{width:36%;height:100%}
  .jf-reg-v132 .jf-reg-visual>img{height:100%;width:auto;right:0}
  .jf-reg-v132 .jf-reg-float,.jf-reg-v132 .jf-reg-benefits{display:none}
  .jf-dashboard-v137 .jf-dash-location-ac{display:block!important}
  .jf-dashboard-v137 .jf-dash-search-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .jf-dashboard-v137 .jf-dash-search-row button[type=submit]{grid-column:1/-1}
}
@media(max-width:767.98px){
  .container,.co-container-v094,.career26-container,.jf-candidate-page{width:min(calc(100% - 32px),680px)}
  .section{padding-block:44px}
  .section-head{align-items:flex-start;flex-wrap:wrap}
  .section-head>a{display:inline-flex;font-size:.94rem}
  .home-job-grid-v091,.job-grid,.co-grid-v094{grid-template-columns:1fr;gap:14px}
  .category-grid.category-grid-v018,.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-job-card-v091,.job-card-v053,.co-card-v094{padding:18px}
  .jf-reg-v132{padding:18px 16px 40px}
  .jf-reg-v132 .jf-reg-shell{max-width:540px;gap:14px}
  .jf-reg-v132 .jf-reg-left{display:block;min-height:0;padding:20px 22px}
  .jf-reg-v132 .jf-reg-copy{width:100%}
  .jf-reg-v132 .jf-reg-copy h1{font-size:1.9rem}
  .jf-reg-v132 .jf-reg-copy h1 br{display:none}
  .jf-reg-v132 .jf-reg-copy>p{font-size:.94rem}
  .jf-reg-v132 .jf-reg-visual{display:none}
  .jf-reg-v132 .jf-reg-card{padding:24px 20px}
  .jf-reg-flow-v132 .jf-reg-flow-card{padding:24px 20px}
  .jf-reg-flow-v132 .jf-reg-profile-form{grid-template-columns:1fr}
  .jf-reg-profile-form>label:nth-of-type(4),.jf-reg-profile-form .jf-reg-flow-actions{grid-column:auto}
  .jf-reg-flow-v132 .jf-reg-stepper>div span{display:inline}
  .jf-dashboard-v137 .jf-dash-main{padding-inline:16px!important}
  .jf-dashboard-v137 .jf-dash-search-row{grid-template-columns:1fr!important}
  .jf-dashboard-v137 .jf-dash-search-row button[type=submit]{grid-column:auto}
}
@media(max-width:480px){
  .jf-reg-card .jf-reg-stepper>div,.jf-reg-flow-v132 .jf-reg-stepper>div{font-size:.7rem}
  .jf-reg-card .jf-reg-stepper>div span,.jf-reg-flow-v132 .jf-reg-stepper>div span{max-width:60px;white-space:normal;line-height:1.15}
  .jf-reg-card .jf-reg-stepper{gap:5px}
  .jf-reg-flow-v132 .jf-reg-stepper{gap:5px}
  .jf-reg-v132 .jf-reg-card{padding:22px 16px}
  .jf-reg-flow-v132{padding:16px 12px 40px}
  .jf-reg-flow-v132 .jf-reg-flow-card{padding:22px 16px}
}
