Choose your plan
/* ================= Listing plans (/choose-plan/; /pricing/ redirects here) on MSC 2.0, from Brydee’s 28 Sep 2026 draft ================= Drawn from this page’s own HTML. The plans shortcode (msc_plans) is not used here: its buttons are plain links, so they are copied exactly. Prices, features and limits are the live page’s. *//* Heading: the H1 “Choose your plan” is the small gold label; Brydee’s heading is the H2 under it */ .lhead{padding:64px 0 10px;text-align:center} .lhead .kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(–mono);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(–gold-text)} .lhead .kicker::before{content:””;flex:none;width:7px;height:7px;border-radius:50%;background:currentColor} .lhead h2{max-width:880px;margin:18px auto 0;font-size:clamp(46px,6vw,86px);line-height:1.04} .lhead .lede{max-width:640px;margin:20px auto 0} @media (max-width:640px){.lhead{padding-top:40px}.lhead .lede{font-size:17px}}/* The two plans, centred side by side: ivory cards, a gold “Most popular” pill, gold-dot feature lists */ .lplans-sec{padding:20px 0 120px} @media (max-width:640px){.lplans-sec{padding-bottom:80px}} .lplans{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:40px auto 0} @media (max-width:760px){.lplans{grid-template-columns:1fr;gap:34px;max-width:520px}} .lplan{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 28px;background:var(–card);border:1px solid var(–hair);border-radius:24px} .lplan.hot{border:1.5px solid var(–ink);box-shadow:10px 10px 0 var(–accent-soft)} .lplan .pill{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:5px 12px;border:1px solid var(–ink);border-radius:999px;background:var(–accent);color:var(–ink);font-family:var(–mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap} .lplan h3{font-family:var(–serif);font-size:32px;font-weight:400;line-height:1.1} .lplan .sub{margin-top:-6px;font-size:15px;color:var(–muted)} .lplan .price{font-family:var(–serif);font-size:58px;line-height:1} .lplan .price small{font-size:22px;color:var(–muted)} .lplan .per{margin-top:6px;font-family:var(–mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(–muted)} .lplan ul{list-style:none;display:grid;gap:10px;margin:4px 0 8px;padding-top:14px;border-top:1px dashed var(–hair)} .lplan li{display:grid;grid-template-columns:16px 1fr;gap:8px;font-size:15px;line-height:1.5;color:var(–ink-2)} .lplan li::before{content:””;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(–accent)} .lplan li strong{font-weight:500;color:var(–ink)} .lplan .btn{margin-top:auto;justify-content:center} .lplan .fine{font-size:13px;text-align:center;color:var(–muted)}/* “Cheaper than a badge that sends you nothing”: the live figures as bars */ .lcmp{padding:100px 0} @media (max-width:640px){.lcmp{padding:80px 0}} .lcmp-head{margin-bottom:44px;text-align:center} .lcmp-head .mono{margin-bottom:14px} .lcmp-head h2{margin:0 auto;color:var(–paper)} .cmp{list-style:none;display:grid;gap:18px;max-width:760px;margin:0 auto} .cbar{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:center} @media (max-width:640px){.cbar{grid-template-columns:1fr;gap:6px}} .cbar .lbl{font-size:15px;line-height:1.4;color:#E7EFEA} .cbar .lbl small{display:block;margin-top:2px;font-family:var(–mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#9FB6AC} .cbar .track{display:block;height:38px;border-radius:10px;background:#0F4A3A;overflow:hidden} .cbar .fill{display:flex;align-items:center;justify-content:flex-end;width:var(–w);height:100%;padding:0 12px;border-radius:10px;background:#2C6B57;color:var(–paper);white-space:nowrap} .cbar .fill b{font-family:var(–serif);font-size:20px;font-weight:400} .cbar.us .fill{background:var(–accent);color:var(–ink)} /* With JavaScript the bars grow once, as they come into view (never with “reduce motion”). Without it they are simply drawn full. The transition is on the “in” state only, so setting the bars up never animates them backwards. */ .cmp.grow .fill{width:24px} .cmp.grow .fill b{opacity:0} .cmp.grow.in .fill{width:var(–w);transition:width 1.4s cubic-bezier(.2,.7,.2,1)} .cmp.grow.in .fill b{opacity:1;transition:opacity .4s ease 1s} .cmp.grow.in .cbar:nth-child(2) .fill{transition-delay:.15s} .cmp.grow.in .cbar:nth-child(3) .fill{transition-delay:.3s} .cmp-note{max-width:600px;margin:32px auto 0;text-align:center;font-size:17px;font-weight:300;line-height:1.6;color:#CFDDD6} .promises{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:40px} .promises li{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:#E7EFEA} .promises li::before{content:””;flex:none;width:9px;height:9px;border-radius:50%;background:var(–accent)}/* Join the network */ .joinwrap{padding-top:100px;padding-bottom:110px} @media (max-width:640px){.joinwrap{padding-top:80px;padding-bottom:80px}} .joinband{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;padding:52px 50px;background:var(–ink);color:var(–paper);border-radius:28px} @media (max-width:860px){.joinband{grid-template-columns:1fr;padding:36px 24px}} .joinband .mono{color:#9FB6AC} .joinband h2{margin-top:14px;font-size:clamp(38px,4.6vw,64px);color:var(–paper)} .joinband p{max-width:460px;margin:14px 0 26px;font-size:17px;font-weight:300;line-height:1.6;color:#CFDDD6} .joinband .btns{display:flex;flex-wrap:wrap;gap:12px} .joinband .pic{width:100%;aspect-ratio:160/110;color:#F7F1E6;–paper:#083a2d} .joinband .pic svg{width:100%;height:auto;overflow:visible} @media (max-width:860px){.joinband .pic{max-width:260px;margin:0 auto}} .btn-paper{background:var(–paper);border-color:var(–paper);color:var(–ink)} .btn-paper:hover{background:var(–accent);border-color:var(–accent)}/* Drawing motion (the chrome’s “reduce motion” rule stops it) */ .pin{animation:pin 2.2s ease-in-out infinite} @keyframes pin{0%,100%{transform:translateY(0)}45%{transform:translateY(-9px)}}Choose your plan
Be found by the people already searching.
Start free in under a minute. Upgrade whenever it pays for itself.
Free
Get found
£0
Forever · no card required
- Your company profile in the UK’s safety & FM directory
- 1 service, within a 25-mile radius of your base
- Company overview & insurance details
- Clients contact you through the site
Live in minutes, free forever
Featured
Top of local searches
£99 / year
About £1.90 a week, billed yearly
- Pinned at the top of searches for your services, one of three Featured companies (we rotate them daily)
- Unlimited services + nationwide coverage
- Register checks on your profile: a dated green chip for each public register you hold (OSHCR, BAFE SP205, LCA, NFRAR, Companies House)
- A Featured badge on your search listing and profile
About 7× the views. On mysafety, Featured profiles are seen around seven times as often as free ones.