Welcome to WordPress! This is your first post. Edit or delete it to take the first…
fxm recruitment — hospitality, retail and warehouse staffing
:root{
–navy:#131B2C;
–navy-2:#1E2A40;
–cream:#F4EFE6;
–white:#FFFFFF;
–slate:#7C889B;
–gold:#C6A15B;
–gold-dark:#8C6E36;
–line:#E4DFD3;
–line-dark: rgba(244,239,230,0.14);
–text-soft:#5B6472;
–text-soft-inv:#BFC6D2;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
font-family:’Manrope’, sans-serif;
background:var(–cream);
color:var(–navy);
line-height:1.6;
-webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{ font-family:’Fraunces’, serif; font-weight:500; letter-spacing:-0.01em; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1100px; margin:0 auto; padding:0 32px; }
@media(max-width:640px){ .wrap{ padding:0 20px; } }
::selection{ background:var(–gold); color:var(–navy); }
.logo{ display:flex; flex-direction:column; line-height:1; }
.logo .mark{ font-family:’Fraunces’, serif; font-weight:500; font-size:22px; }
.logo .sub{ font-family:’Manrope’, sans-serif; font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(–text-soft); margin-top:3px; }
footer .logo .mark{ color:var(–cream); }
footer .logo .sub{ color:var(–text-soft-inv); }
nav{ display:flex; align-items:center; justify-content:space-between; padding:20px 32px; border-bottom:1px solid var(–line); }
.nav-links{ display:flex; align-items:center; gap:30px; font-size:14px; }
.nav-links a{ color:var(–text-soft); }
.nav-links a:hover{ color:var(–navy); }
.nav-cta{ padding:10px 18px; border:1px solid var(–navy); border-radius:2px; font-weight:500; }
.nav-cta:hover{ background:var(–navy); color:var(–cream); }
@media(max-width:760px){ .nav-links a:not(.nav-cta){ display:none; } }
.hero{ border-bottom:1px solid var(–line); }
.hero-grid{ display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:420px; }
@media(max-width:800px){ .hero-grid{ grid-template-columns:1fr; } }
.hero-art{ height:100%; min-height:340px; background:var(–navy); position:relative; overflow:hidden; }
.hero-copy{ padding:56px 48px; }
@media(max-width:640px){ .hero-copy{ padding:40px 24px; } }
.eyebrow{ font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(–gold-dark); font-weight:600; margin-bottom:16px; }
.hero h1{ font-size:40px; line-height:1.12; max-width:14ch; margin-bottom:16px; }
@media(max-width:640px){ .hero h1{ font-size:30px; } }
.hero p{ font-size:15px; color:var(–text-soft); max-width:44ch; margin-bottom:26px; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.btn{ display:inline-flex; align-items:center; gap:8px; padding:12px 22px; font-family:’Manrope’, sans-serif; font-size:14px; font-weight:600; border-radius:2px; border:1px solid var(–navy); }
.btn-solid{ background:var(–navy); color:var(–cream); }
.btn-solid:hover{ background:var(–navy-2); }
.btn-ghost{ background:transparent; color:var(–navy); }
.btn-ghost:hover{ border-color:var(–gold-dark); color:var(–gold-dark); }
.section{ padding:64px 0; }
.section-head{ margin-bottom:36px; max-width:56ch; }
.section-head .eyebrow{ margin-bottom:8px; }
.section-head h2{ font-size:28px; }
.section-head p{ color:var(–text-soft); font-size:15px; margin-top:10px; font-family:’Manrope’, sans-serif; }
.sectors{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(–line); border:1px solid var(–line); }
@media(max-width:760px){ .sectors{ grid-template-columns:repeat(2,1fr); } }
.sector-card{ background:var(–white); padding:26px 22px; transition:background 0.15s ease; }
.sector-card:hover{ background:var(–cream); }
.sector-card h3{ font-size:17px; margin-bottom:8px; font-weight:500; }
.sector-card .detail{ font-size:13px; color:var(–text-soft); max-height:0; opacity:0; overflow:hidden; transition:max-height 0.25s ease, opacity 0.25s ease; font-family:’Manrope’, sans-serif; }
.sector-card:hover .detail{ max-height:100px; opacity:1; margin-top:6px; }
.about{ background:var(–navy); color:var(–cream); padding:64px 0; }
.about-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:start; }
@media(max-width:760px){ .about-grid{ grid-template-columns:1fr; } }
.about h2{ font-size:28px; margin-bottom:16px; color:var(–cream); }
.about p{ color:var(–text-soft-inv); font-size:15px; margin-bottom:22px; max-width:48ch; font-family:’Manrope’, sans-serif; }
.stats{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.stat .num{ font-family:’Fraunces’, serif; font-size:28px; font-weight:500; color:var(–gold); }
.stat .label{ font-size:13px; color:var(–text-soft-inv); margin-top:4px; font-family:’Manrope’, sans-serif; }
.jobs-list{ border-top:1px solid var(–line); }
.job-row{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto; align-items:center; padding:16px 0; border-bottom:1px solid var(–line); font-size:14px; gap:12px; font-family:’Manrope’, sans-serif; }
.job-row.head{ font-size:12px; color:var(–text-soft); text-transform:uppercase; letter-spacing:0.06em; }
@media(max-width:700px){ .job-row{ grid-template-columns:2fr 1fr auto; } .job-row > div:nth-child(3), .job-row > div:nth-child(4){ display:none; } }
.job-row .role{ font-weight:600; }
.job-row .loc, .job-row .type{ color:var(–text-soft); }
.job-row .apply{ color:var(–gold-dark); font-size:13px; font-weight:600; justify-self:end; }
.job-row .apply:hover{ text-decoration:underline; }
.jobs-foot{ margin-top:18px; font-size:14px; font-family:’Manrope’, sans-serif; }
.jobs-foot a{ color:var(–gold-dark); font-weight:600; }
.jobs-foot a:hover{ text-decoration:underline; }
.enquiry{ background:var(–white); border:1px solid var(–line); border-radius:4px; padding:36px; }
.toggle{ display:inline-flex; border:1px solid var(–navy); border-radius:2px; margin-bottom:28px; overflow:hidden; }
.toggle button{ font-family:’Manrope’, sans-serif; font-size:14px; font-weight:600; padding:10px 20px; border:none; background:var(–white); color:var(–navy); cursor:pointer; }
.toggle button.active{ background:var(–navy); color:var(–cream); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:640px){ .form-grid{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:6px; }
.field.full{ grid-column:1 / -1; }
.field label{ font-size:13px; color:var(–text-soft); font-family:’Manrope’, sans-serif; }
.field input, .field textarea{ font-family:’Manrope’, sans-serif; font-size:14px; padding:11px 12px; border:1px solid var(–line); border-radius:2px; background:var(–cream); }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(–gold-dark); }
.field.hidden-field{ display:none; }
.enquiry .submit{ margin-top:22px; }
footer{ background:var(–navy); border-top:1px solid var(–line-dark); padding:44px 0; }
.foot-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:28px; }
.foot-col h4{ font-size:12px; margin-bottom:12px; color:var(–text-soft-inv); font-weight:600; letter-spacing:0.04em; text-transform:uppercase; font-family:’Manrope’, sans-serif; }
.foot-col a{ display:block; font-size:14px; margin-bottom:8px; color:var(–cream); font-family:’Manrope’, sans-serif; }
.foot-col a:hover{ color:var(–gold); }
.foot-bottom{ margin-top:32px; padding-top:20px; border-top:1px solid var(–line-dark); font-size:13px; color:var(–text-soft-inv); font-family:’Manrope’, sans-serif; }
fxm Recruitment
Recruitment · Luton & Bedfordshire
Staffing that works for people, not around them
fxm recruitment places candidates into hospitality, retail and warehouse roles — and helps employers fill shifts without the usual back-and-forth.
Specialisms
Where we place people
Hospitality Reception, front of house and guest services roles across hotels and venues.
Retail Sales assistants and team members for high street and shopping centre stores.
Warehouse & logistics Warehouse operatives, pickers and shift-based logistics support.
Customer service Front-line and support roles for businesses that put service first.
Small agency, straightforward process
We work one shift and one vacancy at a time. Candidates get a real conversation, not an automated rejection. Employers get a shortlist of people who’ve actually confirmed they can do the hours — not a CV dump.
Get in touch
2 days
Average time to first interview
340+
Placements made locally
92%
Still in role at 90 days
48 hrs
Typical shortlist turnaround
Live roles
Currently hiring
Hotel Receptionist
Luton
Full-time
£13.50/hr
Apply →
Warehouse Operative
Dunstable
Shifts
£12.20/hr
Apply →
Retail Sales Assistant
Luton
Part-time
£11.80/hr
Apply →
Customer Service Assistant
Leighton Buzzard
Part-time
£11.44/hr
Apply →
Get started
Tell us what you need
Same form for candidates and employers — just tell us which you are.
I’m looking for work
I’m hiring
Full name
Email
Phone
Role you’re looking for
Company name
Roles to fill
Anything else we should know
Send
function setMode(mode){
const isEmployer = mode === ’employer’;
document.getElementById(‘tab-candidate’).classList.toggle(‘active’, !isEmployer);
document.getElementById(‘tab-employer’).classList.toggle(‘active’, isEmployer);
document.getElementById(‘field-company’).classList.toggle(‘hidden-field’, !isEmployer);
document.getElementById(‘field-headcount’).classList.toggle(‘hidden-field’, !isEmployer);
document.getElementById(‘label-role’).textContent = isEmployer ? ‘Role you need to fill’ : “Role you’re looking for”;
document.getElementById(‘role’).placeholder = isEmployer ? ‘e.g. Warehouse Operative’ : ‘e.g. Hotel Receptionist’;
document.getElementById(‘label-message’).textContent = isEmployer ? ‘Shift pattern and any other details’ : ‘Availability, experience, or what you\’re looking for’;
}