Skip to main content Skip to sidebar navigation

Referral Partners

.csrp-page :is(h1,h2,h3,h4,p,li,span,small,b,label,summary,figcaption){color:inherit;font-family:inherit;text-transform:none} .csrp-page :is(h1,h2,h3,h4){line-height:1.1} .csrp-page{color:var(–ink);font-family:var(–body)} .csrp-page{ –ink:#0F172A; –ink-2:#334155; –muted:#64748B; –paper:#F4F2FF; –card:#FFFFFF; –line:#E3DFF6; –teal:#6D28D9; –teal-soft:#EDE9FE; –teal-ink:#4C1D95; –amber:#EA580C; –amber-soft:#FFEDD5; –cta:#FF6A00; –cta-2:#FF9A1F; –cta-ink:#0F172A; –navy:#0A1038; –navy-2:#312E81; –on-navy:#FFFFFF; –on-navy-2:#E0E7FF; –on-navy-accent:#C4B5FD; –note:#FFF4E5; –note-ink:#7C3A0A; –shadow:0 1px 2px rgba(15,23,42,.05),0 10px 30px rgba(49,46,129,.10); –display:”Plus Jakarta Sans”,”Segoe UI”,system-ui,-apple-system,sans-serif; –body:”Plus Jakarta Sans”,”Segoe UI”,system-ui,-apple-system,sans-serif; –mono:”Plus Jakarta Sans”,”Segoe UI”,system-ui,sans-serif; } .csrp-page, .csrp-page *{box-sizing:border-box} .csrp-page{background:var(–paper);color:var(–ink);font:18px/1.65 var(–body);margin:0} .csrp-page .wrap{max-width:1120px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)} .csrp-page h1,.csrp-page h2,.csrp-page h3{font-family:var(–display);line-height:1.08;text-wrap:balance;margin:0;letter-spacing:-.01em} .csrp-page h1{font-size:clamp(2rem,4.4vw,3.1rem);font-weight:800;letter-spacing:-.02em} .csrp-page h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:700} .csrp-page h3{font-size:1.15rem;font-weight:700;letter-spacing:0} .csrp-page p{margin:0} .csrp-page .eyebrow{font:700 .74rem/1.3 var(–body);text-transform:uppercase;letter-spacing:.14em;color:var(–teal)} .csrp-page .lede{font-size:1.15rem;color:var(–ink-2);max-width:60ch} .csrp-page a{color:var(–teal)} .csrp-page :focus-visible{outline:3px solid var(–amber);outline-offset:2px;border-radius:4px} .csrp-page /* draft note */ .draft{background:var(–note);color:var(–note-ink);font-size:.86rem;padding-block:8px} .csrp-page .draft .wrap{display:flex;gap:12px;align-items:center;justify-content:space-between} .csrp-page .draft button{background:none;border:1px solid currentColor;color:inherit;border-radius:6px;font:inherit;padding:2px 10px;cursor:pointer} .csrp-page /* top bar */ .top{padding-block:18px;border-bottom:1px solid var(–line)} .csrp-page .top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap} .csrp-page .brand{font:800 1.2rem var(–display);letter-spacing:-.02em;color:var(–ink);text-decoration:none} .csrp-page .brand span{color:var(–teal);font-weight:600} .csrp-page .btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(–cta-2),var(–cta));color:var(–cta-ink);border:0;border-radius:999px;padding:14px 24px;font:800 1rem var(–body);text-decoration:none;cursor:pointer} .csrp-page .btn:hover{filter:brightness(1.08)} .csrp-page .btn.ghost{background:transparent;color:var(–teal);border:1.5px solid currentColor} .csrp-page .btn.sm{padding:9px 14px;font-size:.92rem} .csrp-page /* audience switch */ .who{padding-block:26px 0} .csrp-page .who p{font-size:.92rem;color:var(–muted);margin-bottom:10px} .csrp-page .seg{display:flex;flex-wrap:wrap;gap:8px} .csrp-page .seg button{font:700 .95rem var(–body);background:var(–card);color:var(–ink-2);border:1.5px solid var(–line);border-radius:999px;padding:9px 16px;cursor:pointer} .csrp-page .seg button[aria-pressed=”true”]{background:var(–ink);color:var(–paper);border-color:var(–ink)} .csrp-page /* hero */ .hero{padding-block:36px 64px;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center} .csrp-page .hero .copy{display:flex;flex-direction:column;gap:20px} .csrp-page .hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px} .csrp-page .fee-chip{display:inline-flex;align-items:baseline;gap:8px;background:var(–teal-soft);color:var(–ink);border-radius:8px;padding:6px 12px;font-size:.95rem;align-self:flex-start} .csrp-page .fee-chip b{font:800 1.3rem var(–display);color:var(–teal-ink)} .csrp-page /* statement card */ .stmt{background:var(–card);border:1px solid var(–line);border-radius:14px;box-shadow:var(–shadow);overflow:hidden;font-variant-numeric:tabular-nums} .csrp-page .stmt header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px dashed var(–line)} .csrp-page .stmt header h3{font-size:1rem} .csrp-page .stmt .meta{font:400 .74rem/1.5 var(–mono);color:var(–muted)} .csrp-page .stmt .tag{font:500 .68rem var(–mono);text-transform:uppercase;letter-spacing:.08em;background:var(–teal-soft);color:var(–teal-ink);padding:3px 8px;border-radius:5px;white-space:nowrap} .csrp-page .stmt table{width:100%;border-collapse:collapse;font-size:.86rem} .csrp-page .stmt td{padding:11px 20px;border-bottom:1px solid var(–line);vertical-align:top} .csrp-page .stmt td:last-child{text-align:right;font-family:var(–mono);white-space:nowrap} .csrp-page .stmt .sub{display:block;font:400 .74rem var(–mono);color:var(–muted);margin-top:2px} .csrp-page .bar{height:5px;background:var(–line);border-radius:4px;margin-top:7px;overflow:hidden} .csrp-page .bar i{display:block;height:100%;background:var(–teal);border-radius:4px} .csrp-page .stmt .pending{color:var(–muted)} .csrp-page .stmt footer{display:flex;justify-content:space-between;align-items:baseline;padding:14px 20px;background:var(–teal-soft)} .csrp-page .stmt footer b{font:800 1.5rem var(–display);color:var(–teal-ink)} .csrp-page .path{padding:18px 20px;display:grid;gap:10px} .csrp-page .step-box{border:1px solid var(–line);border-radius:10px;padding:12px 14px} .csrp-page .step-box .eyebrow{font-size:.68rem} .csrp-page .step-box.ours{border-color:var(–teal);background:var(–teal-soft)} .csrp-page .arrow{font:500 .8rem var(–mono);color:var(–muted);padding-left:14px} .csrp-page /* proof strip */ .proof{border-block:1px solid var(–line);background:var(–card)} .csrp-page .proof .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-block:22px} .csrp-page .proof div b{display:block;font:800 1.7rem var(–display);color:var(–ink)} .csrp-page .proof div span{font-size:.88rem;color:var(–muted)} .csrp-page section.block{padding-block:72px} .csrp-page .head{display:flex;flex-direction:column;gap:12px;margin-bottom:34px;max-width:62ch} .csrp-page /* problem → fix */ .pairs{display:grid;gap:14px} .csrp-page .pair{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;background:var(–card);border:1px solid var(–line);border-radius:12px;padding:18px 22px} .csrp-page .pair .now{color:var(–ink-2)} .csrp-page .pair .now::before{content:”Now”;display:block;font:500 .7rem var(–mono);letter-spacing:.08em;text-transform:uppercase;color:var(–muted);margin-bottom:4px} .csrp-page .pair .then{font-weight:700} .csrp-page .pair .then::before{content:”With City Skills”;display:block;font:500 .7rem var(–mono);letter-spacing:.08em;text-transform:uppercase;color:var(–teal);margin-bottom:4px;font-weight:400} .csrp-page .pair .to{font:700 1.1rem var(–body);color:var(–teal)} .csrp-page /* spot it */ .spot{display:grid;grid-template-columns:repeat(2,1fr);gap:14px} .csrp-page .quote{border-left:3px solid var(–teal);padding:6px 0 6px 18px} .csrp-page .quote q{display:block;font:500 1.12rem/1.35 var(–display);quotes:”“” “””} .csrp-page .quote span{display:block;font-size:.92rem;color:var(–muted);margin-top:6px} .csrp-page /* steps */ .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s} .csrp-page .steps li{list-style:none;background:var(–card);border:1px solid var(–line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px} .csrp-page .steps li::before{counter-increment:s;content:counter(s);font:800 1.6rem var(–display);color:var(–teal)} .csrp-page .steps .who-does{font:500 .72rem var(–mono);text-transform:uppercase;letter-spacing:.08em;color:var(–muted)} .csrp-page .steps p{font-size:.95rem;color:var(–ink-2)} .csrp-page ol.steps{padding:0;margin:0} .csrp-page /* calculator */ .calc{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(–card);border:1px solid var(–line);border-radius:16px;overflow:hidden;box-shadow:var(–shadow)} .csrp-page .calc .in{padding:28px;display:flex;flex-direction:column;gap:24px} .csrp-page .calc label{display:flex;justify-content:space-between;font-weight:700;gap:12px} .csrp-page .calc label output{font:500 1rem var(–mono);color:var(–teal)} .csrp-page .calc input[type=range]{width:100%;accent-color:var(–teal);margin-top:10px} .csrp-page .calc .hint{font-size:.85rem;color:var(–muted);margin-top:4px} .csrp-page .calc .out{background:linear-gradient(135deg,var(–navy),var(–navy-2));color:var(–on-navy);padding:28px;display:flex;flex-direction:column;justify-content:center;gap:10px} .csrp-page .calc .out .eyebrow{color:var(–on-navy-accent)} .csrp-page .calc .big{font:800 clamp(2.6rem,6vw,3.8rem)/1 var(–display);font-variant-numeric:tabular-nums} .csrp-page .calc .out p{color:var(–on-navy-2);font-size:.92rem} .csrp-page /* stack */ .stack{display:grid;grid-template-columns:repeat(3,1fr);gap:16px} .csrp-page .item{background:var(–card);border:1px solid var(–line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px} .csrp-page .item.lead{grid-column:span 3;flex-direction:row;align-items:center;gap:24px;background:var(–teal-soft);border-color:transparent} .csrp-page .item.lead b{font:800 3rem/1 var(–display);color:var(–teal-ink);white-space:nowrap} .csrp-page .item p{color:var(–ink-2);font-size:.95rem} .csrp-page .places{margin-top:22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.95rem} .csrp-page /* promises & rules */ .two{display:grid;grid-template-columns:1fr 1fr;gap:20px} .csrp-page .panel{background:var(–card);border:1px solid var(–line);border-radius:14px;padding:26px} .csrp-page .panel h3{margin-bottom:14px} .csrp-page .panel ul{margin:0;padding:0;list-style:none;display:grid;gap:12px} .csrp-page .panel li{padding-left:26px;position:relative;color:var(–ink-2)} .csrp-page .panel li b{color:var(–ink)} .csrp-page .panel.promise li::before{content:”✓”;position:absolute;left:0;top:0;color:var(–teal);font-weight:700} .csrp-page .panel.rules li::before{content:”§”;position:absolute;left:2px;top:0;color:var(–teal);font-weight:700} .csrp-page /* faq */ .faq{display:grid;gap:10px;max-width:780px} .csrp-page details{background:var(–card);border:1px solid var(–line);border-radius:10px;padding:0 20px} .csrp-page summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px} .csrp-page summary::after{content:”+”;font:500 1.2rem var(–mono);color:var(–teal)} .csrp-page details[open] summary::after{content:”–”} .csrp-page details p{padding-bottom:16px;color:var(–ink-2)} .csrp-page /* form */ .apply{background:linear-gradient(135deg,var(–navy),var(–navy-2));color:var(–on-navy);border-radius:20px;padding:clamp(24px,5vw,48px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,48px)} .csrp-page .apply .eyebrow{color:var(–on-navy-accent)} .csrp-page .apply .lede{color:var(–on-navy-2)} .csrp-page .apply form{display:grid;grid-template-columns:1fr 1fr;gap:14px} .csrp-page .apply .full{grid-column:1/-1} .csrp-page .apply label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:700} .csrp-page .apply input,.csrp-page .apply select,.csrp-page .apply textarea{font:400 1rem var(–body);padding:11px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(–on-navy) 25%,transparent);background:color-mix(in srgb,var(–on-navy) 8%,transparent);color:var(–on-navy);width:100%} .csrp-page .apply select option{color:#0F172A} .csrp-page .apply textarea{min-height:96px;resize:vertical} .csrp-page .apply .btn{justify-self:start} .csrp-page .apply small{font-size:.8rem;color:color-mix(in srgb,var(–on-navy) 65%,transparent);font-weight:400} .csrp-page .done{grid-column:1/-1;background:color-mix(in srgb,var(–on-navy) 10%,transparent);border-radius:10px;padding:18px} .csrp-page .hero-side{display:flex;flex-direction:column;gap:14px} .csrp-page .person{margin:0;background:var(–card);border-radius:24px;overflow:hidden;box-shadow:var(–shadow)} .csrp-page .photo{aspect-ratio:4/3.4;max-width:100%;background:linear-gradient(135deg,var(–teal-soft),color-mix(in srgb,var(–navy-2) 25%,var(–teal-soft)));display:flex;align-items:flex-end;padding:16px} .csrp-page .photo span{font-size:.8rem;font-weight:600;color:var(–teal-ink);background:var(–card);border-radius:999px;padding:5px 12px} .csrp-page .person figcaption{padding:14px 18px;display:flex;flex-direction:column} .csrp-page .person figcaption span{font-size:.9rem;color:var(–muted)} .csrp-page .trust{display:flex;flex-wrap:wrap;gap:8px} .csrp-page .badge{font-size:.82rem;font-weight:600;color:var(–ink-2);background:var(–card);border:1px solid var(–line);border-radius:999px;padding:6px 12px} .csrp-page .badge b{color:var(–ink)} .csrp-page .calc-wrap{display:grid;grid-template-columns:1fr;gap:24px} .csrp-page #heroCard{max-width:560px} .csrp-page .stmt{border-radius:20px} .csrp-page .calc{border-radius:24px} .csrp-page .item,.csrp-page .pair,.csrp-page .panel,.csrp-page details,.csrp-page .steps li{border-radius:18px} .csrp-page .apply{border-radius:28px} .csrp-page .mcta{display:none} @media (max-width:880px){.csrp-page .calc-wrap{grid-template-columns:1fr}} @media (max-width:640px){.csrp-page .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(–card) 94%,transparent);border-top:1px solid var(–line);backdrop-filter:blur(8px)} .csrp-page .mcta .btn{width:100%;justify-content:center} .csrp-page footer.site{padding-bottom:96px} } .csrp-page footer.site{padding-block:40px;color:var(–muted);font-size:.85rem} @media (max-width:880px){.csrp-page .hero,.csrp-page .calc,.csrp-page .two,.csrp-page .apply{grid-template-columns:1fr} .csrp-page .steps{grid-template-columns:1fr 1fr} .csrp-page .stack{grid-template-columns:1fr 1fr} .csrp-page .item.lead{grid-column:1/-1} .csrp-page .proof .wrap{grid-template-columns:1fr 1fr} } @media (max-width:560px){.csrp-page .steps,.csrp-page .stack,.csrp-page .spot,.csrp-page .apply form{grid-template-columns:1fr} .csrp-page .pair{grid-template-columns:1fr} .csrp-page .pair .to{display:none} .csrp-page .item.lead{flex-direction:column;align-items:flex-start} .csrp-page section.block{padding-block:52px} } @media (prefers-reduced-motion:no-preference){.csrp-page .bar i{transition:width .8s ease} .csrp-page .swap{animation:fade .35s ease} @keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}} } .csrp-page h1 em{font-style:normal;background:linear-gradient(135deg,var(–cta-2),var(–cta));-webkit-background-clip:text;background-clip:text;color:transparent} .csrp-page .earn{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px} .csrp-page .tile{background:var(–card);border:1px solid var(–line);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;box-shadow:var(–shadow)} .csrp-page .tile b{font:800 clamp(1.7rem,3.2vw,2.3rem)/1 var(–display);color:var(–teal-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em} .csrp-page .tile span{font-size:.8rem;line-height:1.3;color:var(–muted)} .csrp-page .fine{font-size:.78rem;color:var(–muted);margin-top:-8px} .csrp-page .photo{position:relative} .csrp-page .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1} .csrp-page .photo span{position:relative;z-index:0} .csrp-page .progs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px} .csrp-page .prog{background:var(–card);border:1px solid var(–line);border-radius:18px;padding:20px} .csrp-page .prog h3{margin-bottom:10px} .csrp-page .prog ul{margin:0;padding:0;list-style:none;display:grid;gap:6px} .csrp-page .prog li{display:flex;justify-content:space-between;gap:10px;font-size:.95rem;color:var(–ink-2);border-top:1px solid var(–line);padding-top:6px} .csrp-page .prog li span{font-weight:700;color:var(–teal);white-space:nowrap} @media (max-width:880px){.csrp-page .progs{grid-template-columns:1fr}} @media (max-width:560px){.csrp-page .progs,.csrp-page .earn{grid-template-columns:1fr} .csrp-page .earn .tile{flex-direction:row;align-items:center;gap:12px}} .csrp-page /* motion */ .pair,.csrp-page .quote,.csrp-page .steps li,.csrp-page .item,.csrp-page .panel,.csrp-page details,.csrp-page .stmt,.csrp-page .prog,.csrp-page .tile,.csrp-page .person,.csrp-page .calc{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease} .csrp-page .pair:hover,.csrp-page .steps li:hover,.csrp-page .item:hover,.csrp-page .panel:hover,.csrp-page .prog:hover,.csrp-page .tile:hover,.csrp-page .stmt:hover{transform:translateY(-4px);box-shadow:var(–shadow);border-color:color-mix(in srgb,var(–teal) 45%,var(–line))} .csrp-page .btn{transition:transform .2s ease,box-shadow .2s ease} .csrp-page .btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,106,0,.28)} @media (prefers-reduced-motion:no-preference){.csrp-page.anim .rise{transform:translateY(22px) scale(.98);opacity:.35;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s ease} .csrp-page.anim .rise.in{transform:none;opacity:1} .csrp-page .btn.pulse{animation:pulse 2.4s ease-in-out 1.2s 2} @keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,106,0,.45)}50%{box-shadow:0 0 0 10px rgba(255,106,0,0)}} } .csrp-page .rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px} .csrp-page .rule{background:var(–card);border:1px solid var(–line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease} .csrp-page .rule:hover{transform:translateY(-4px);box-shadow:var(–shadow);border-color:color-mix(in srgb,var(–teal) 45%,var(–line))} .csrp-page .rule .ref{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(–teal-ink);background:var(–teal-soft);border-radius:999px;padding:4px 10px} .csrp-page .rule h3{font-size:1.05rem} .csrp-page .rule .says{font-size:.9rem;color:var(–muted)} .csrp-page .rule .how{font-size:.93rem;color:var(–ink-2);border-top:1px solid var(–line);padding-top:8px} .csrp-page .rule .how b{color:var(–ink)} @media (max-width:880px){.csrp-page .rules-grid{grid-template-columns:1fr 1fr}} @media (max-width:560px){.csrp-page .rules-grid{grid-template-columns:1fr}} .csrp-page .stepper{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px} .csrp-page .stepper li{display:flex;align-items:center;gap:12px;color:var(–on-navy-2);opacity:.6;transition:opacity .3s ease} .csrp-page .stepper li.on,.csrp-page .stepper li.done-step{opacity:1} .csrp-page .stepper b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:2px solid var(–on-navy-accent);color:var(–on-navy);font-weight:800;flex:none;transition:background .3s ease} .csrp-page .stepper li.on b{background:linear-gradient(135deg,var(–cta-2),var(–cta));border-color:transparent;color:var(–cta-ink)} .csrp-page .stepper li.done-step b{background:var(–on-navy-accent);color:var(–navy);border-color:transparent} .csrp-page .stepper span{display:flex;flex-direction:column;font-weight:700;color:var(–on-navy)} .csrp-page .stepper small{font-weight:400;color:var(–on-navy-2);font-size:.82rem} .csrp-page .step2{display:flex;flex-direction:column;gap:14px;align-self:center} .csrp-page .step2 h3{font-size:1.5rem;color:var(–on-navy)} .csrp-page .step2 p{color:var(–on-navy-2)} .csrp-page .step2 .btn{align-self:flex-start} .csrp-page .linkbtn{background:none;border:0;color:var(–on-navy-accent);font:600 .9rem var(–body);text-decoration:underline;cursor:pointer;align-self:flex-start;padding:0} @media (prefers-reduced-motion:no-preference){.csrp-page .step2:not([hidden]){animation:fade .4s ease}} .csrp-page [hidden]{display:none!important} @media (min-width:881px){.csrp-page .apply>form,.csrp-page .apply>.step2{grid-column:2;grid-row:1}} .csrp-page .ans{padding-bottom:16px;display:grid;gap:10px;color:var(–ink-2)} .csrp-page .ans p{padding-bottom:0} .csrp-page .reasons{margin:0;padding:0;list-style:none;display:grid;gap:10px} .csrp-page .reasons li{background:var(–paper);border-radius:12px;padding:12px 14px;font-size:.95rem;border-left:3px solid var(–teal)} .csrp-page .reasons b{display:block;color:var(–ink);margin-bottom:2px} .csrp-page details.comp summary::before{content:”Compliance”;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(–teal-ink);background:var(–teal-soft);border-radius:999px;padding:3px 9px;margin-right:10px;align-self:center;white-space:nowrap} .csrp-page details.comp summary{justify-content:flex-start} .csrp-page details.comp summary::after{margin-left:auto} @media (prefers-reduced-motion:no-preference){.csrp-page details[open] .ans{animation:fade .35s ease}} .csrp-page .cal{background:#fff;border-radius:16px;overflow:hidden;width:100%;height:760px} .csrp-page .cal iframe,.csrp-page .cal .calendly-inline-widget{width:100%!important;height:100%!important;min-height:0!important;border:0} @media (max-width:560px){.csrp-page .cal{height:1000px}} .csrp-page .step2 .btn.small{font-size:.9rem;padding:10px 18px} .csrp-page{padding-top:0}

Choose what describes you:

£900AI and Automation Practitioner, Level 4
£550People Professional, Level 5
£450Improvement Specialist, Level 5

Maximum fee per learner: 5% of the government funding band. Actual fees depend on the agreed price for each learner.

James Cox, Head of Client Solutions at City SkillsJames Cox headshot
James CoxHead of Client Solutions · your partner contact
4.8★ Google, 30 reviews 1,000+ apprentices trained National, online delivery
1,000+apprentices trained
700employers supported
250,000hours of off-the-job training
4.8★Google rating, 30 reviews
Why partners join

Spot the opportunity

You’ll hear these every week

You don’t need to know apprenticeship rules. When you hear something like this, make the introduction and our team will check what fits.

What you can introduce

Apprenticeships we deliver

All funded apprenticeships, delivered nationally and online with a development coach for every learner.

Human resources

  • HR Support L3
  • People Professional L5

Learning and development

  • Learning and Development Practitioner L3
  • Learning and Development Consultant L5

AI and data

  • Data Technician L3
  • Data Analyst L4
  • AI and Automation Practitioner L4

Improvement and administration

  • Improvement Technician L3
  • Improvement Specialist L5
  • Business Administrator L3
How it works

One introduction from you. We do the rest.

    What it could be worth

    5% of every programme, paid per learner

    Programme values vary by apprenticeship and level. Higher-level programmes can be worth up to £18,000, which means £900 to you for one learner.

    Each learner qualifies after 90 active days in learning.

    Your referral income
    £3,600

    6 learners × £12,000 × 5%. Illustrative only; actual fees depend on each learner’s programme.

    Founding partner offer

    Everything you get as a founding partner

    10 founding places in the pilot. Founding partners help set the terms at the 90-day review.

    Our promises to you

      The rules we both follow

      • Tell your client in writing that City Skills pays you a fee, and how it’s worked out. Clients trust advisers who are open about this.
      • You introduce, we advise. We check eligibility and funding. Please don’t promise funding, places or free training.
      • No fee-sharing. Fees can’t be passed on to the employer, its staff or the learner.
      • Fees come from City Skills. They are never taken from apprenticeship funding or the employer’s contribution.
      Questions

      What partners ask us

      Talk to James

      Book a 20‑minute partner call

      Two quick steps. Tell us about your business, then pick a time with James. You won’t be asked for anything twice.

      1. 1About you1 minute
      2. 2Pick a timewith James Cox
      (()=>{ const S = { “hr-services”: { eyebrow:”For outsourced HR and HR services firms”, h1:”Earn up to £900 for every learner you introduce. We do the rest.”, sub:”Your advisers already spot which client staff need developing. Make one warm introduction and City Skills handles funding, enrolment and delivery. You earn 5% of the programme value once each learner passes 90 days.”, chip:’1 introduction · no selling · no targets’, pairsTitle:”More value for your clients, more revenue for you, no new hires”, pairs:[ [“Clients see HR support as a cost line.”,”You bring them funded development with a clear outcome.”], [“Advisers spot capability gaps they can’t fix inside the retainer.”,”One warm introduction, and our team takes it from there.”], [“Growing revenue means hiring more advisers.”,”Referral income that needs no extra headcount.”] ], spot:[ [“Our HR administrator is picking up more and more.”,”HR Support apprenticeship, Level 3.”], [“Our processes are slow and nobody owns fixing them.”,”Improvement Technician (Level 3) or Improvement Specialist (Level 5).”], [“We spend hours every week on manual reports and admin.”,”AI and Automation Practitioner (Level 4) or Data Analyst (Level 4).”], [“We need someone in-house who can run our training.”,”Learning and Development Practitioner, Level 3.”] ], stepYou:”Share the client’s details through your partner link, with their permission. Your advisers can all submit under one partner ID.”, formQ:”Think of one client right now. What development need do they have?”, faqExtra:[[“Can everyone on my team make referrals?”,”Yes. Your business has one partner account and any adviser can submit introductions under it. We can report referrals by adviser if that helps you.”]], calc:{l:8,v:12000} }, “consultants”: { eyebrow:”For independent HR and L&D consultants and fractional HR directors”, h1:”Recommend it once. Earn up to £900 per learner.”, sub:”You diagnose the capability gap. We turn it into a funded apprenticeship, handle the paperwork and deliver it. You stay the adviser who solved it, and earn 5% of the programme value once each learner passes 90 days.”, chip:’1 introduction · no selling · no targets’, pairsTitle:”Your recommendations happen, and you get paid for them”, pairs:[ [“Development recommendations stall at budget sign-off.”,”Apprenticeship funding covers most or all of the cost.”], [“You can’t deliver 12 to 18 months of training yourself.”,”We deliver nationally and online, with a development coach for every learner.”], [“More income means selling more of your hours.”,”A referral fee for an introduction and, if you like, one joint call.”] ], spot:[ [“We know our people need developing, but there’s no budget.”,”Funded apprenticeships in HR, L&D, data and improvement.”], [“Our people lead wants to get qualified.”,”People Professional apprenticeship, Level 5.”], [“Our processes are slow and nobody owns fixing them.”,”Improvement Technician (Level 3) or Improvement Specialist (Level 5).”], [“We want to build a proper L&D function.”,”Learning and Development Consultant, Level 5.”] ], stepYou:”Share the client’s details through your partner link, with their permission, or ask us to join a call with you.”, formQ:”Think of one client right now. What development need do they have?”, faqExtra:[[“Will City Skills try to take over my client relationship?”,”No. We only discuss the opportunity you introduced, and we don’t offer consultancy. You stay your client’s adviser.”]], calc:{l:3,v:12000} }, “providers”: { eyebrow:”For commercial training providers”, h1:”Your course ends. Their development doesn’t have to.”, sub:”Many learners finish a short course wanting a full qualification. Refer them into a funded City Skills apprenticeship, keep the relationship, and give your clients a progression route you can’t offer on your own.”, chip:’Progression partnership · terms agreed individually’, pairsTitle:”A progression route for your learners, without competing with you”, pairs:[ [“Learners finish your course and you lose touch.”,”A funded next step that keeps them developing.”], [“Clients ask for longer programmes you’re not approved to deliver.”,”Point them to a funded apprenticeship instead of turning them away.”], [“You need evidence of what your learners go on to do.”,”Agreed progression updates you can use in your own reporting.”] ], spot:[ [“That course was great. What’s the next level?”,”A funded apprenticeship that builds on it.”], [“Can you run something longer for our HR team?”,”HR Support (Level 3) or People Professional (Level 5).”], [“I want a qualification I can put on my CV.”,”A nationally recognised apprenticeship.”], [“Our levy is going unspent.”,”A funded way to keep developing the same people.”] ], stepYou:”Introduce the employer or learner, with their permission, when they ask what comes after your course.”, formQ:”Which of your courses do learners most often want to progress from?”, faqExtra:[[“Is there a referral fee for training providers?”,”Apprenticeship funding rules restrict payments between training providers, so our standard 5% referral fee doesn’t apply. We agree the terms of each progression partnership individually.”]], calc:null } }; const shared = { steps:[ [“You”,”Make the introduction”,null], [“City Skills”,”We assess and enrol”,”We contact your client within 3 business days, check eligibility and funding, and agree the right programme.”], [“City Skills”,”Your learner starts”,”We deliver online with a development coach. You get status updates at least every 20 business days.”], [“You”,”You get paid”,”Once a learner reaches 90 active days, we send your statement. Invoice us and we pay within 30 days.”] ], stack:[ [“Client-ready introduction kit”,”Email templates, one-page programme guides and approved wording on funding, so you never have to explain the rules yourself.”], [“A free development snapshot for your client”,”A 30-minute call where our team turns your client’s development needs into a plan. It gives you something useful to offer.”], [“Co-hosted client webinar”,”You present the workforce problem. We cover the funded routes. Your clients see you bringing them a solution.”], [“Referral tracking”,”See where every introduction is, from accepted to enrolled to paid.”], [“A named partner manager”,”One person who knows your clients’ referrals and keeps you updated.”], [“A say in the scheme”,”Founding partners review the terms with us at 90 days, before the scheme opens more widely.”] ], promises:[ “We contact your client within 3 business days of accepting your referral.”, “Your client stays your client. We only discuss the opportunity you introduced.”, “No targets, joining fee or exclusivity. Leave with 30 days’ notice. Accepted referrals still count.”, “Once a fee is earned, it’s yours, even if the learner leaves later.” ], faq:[ [“Is the scheme compliant with the apprenticeship funding rules?”,`

      Yes. Here is exactly how it works against the Apprenticeship funding rules, August 2026 to July 2027 (version 3).

      • Para 111.1: referral fees are an ineligible cost. The rules list external referral services and lead generation as costs that must not be funded. Your fee is never included in the price agreed with the employer (para 105) and is never charged to the employer or the apprentice.
      • Para 121: fees come from our own surplus. Providers may use their profit to pay for ineligible costs. City Skills pays your fee from its own commercial surplus. It never comes out of apprenticeship funding or the employer\’s contribution, which is collected in full.
      • Para 120: no inducements. No unauthorised payment may be made to an apprentice, employer, training provider or end-point assessment organisation. Fees go only to independent partners, and partners can\’t pass any part of a fee to the employer, its staff or the learner. That is also why training providers join as progression partners without a fee.
      • Para 111.1: you must be independent of the buyer. Costs paid to employers or their representatives to secure business are also ineligible. You can\’t make the buying decision for the employer or act as its agent. If you have a connection, tell us before referring and we check it first.
      • Para 21: you introduce, you don\’t deliver. A subcontractor is anyone contracted to deliver training in the apprenticeship. City Skills does all assessment, eligibility checks, advice to learners, enrolment and training, so partners are not subcontractors.
      • Transparency: your client always knows. You tell your client in writing, before introducing them, that we pay you a fee and how it\’s worked out. We record that confirmation with each referral.

      This is a summary, not legal advice. The Referral Partner Agreement sets out the full terms, and City Skills completes a compliance check before activating each partner.

      `], [“Do I have to sell apprenticeships?”,”No. You spot the need and make a warm introduction. Our team explains the options, checks eligibility and funding, and handles enrolment.”], [“How is the 5% worked out?”,”It’s 5% of the agreed programme value for that learner, excluding VAT. For example, an AI and Automation Practitioner apprenticeship at £18,000 earns £900.”], [“When do I get paid?”,”When the learner has completed 90 active days on their apprenticeship and been included in our funding return. We send a statement, you invoice, and we pay within 30 days.”], [“What if my client already knows City Skills?”,”If they’re already a client, or have had a recorded sales conversation with us in the last 90 days, we’ll tell you straight away and explain why.”], [“What if the learner leaves early?”,”No fee is due if a learner withdraws before 90 days. After that, the fee is yours to keep.”], [“Do I have to tell my client you pay me?”,”Yes, in writing, before you introduce them. Being open about it protects you and your client, and it’s a condition of the scheme.”] ] }; const $ = s => document.querySelector(s); const fmt = n => “£” + Math.round(n).toLocaleString(“en-GB”); function statementCard(){ return `

      Commission statement

      Partner CSRP-0142 · Example figures
      Example
      Learner A · AI and Automation Practitioner, L4Value £18,000 · day 90 reached
      £900
      Learner B · People Professional, L5Value £11,000 · day 90 reached
      £550
      Learner C · Improvement Specialist, L5Day 47 of 90
      Pending
      Payable this month£1,450
      `; } function pathwayCard(){ return `

      Progression pathway

      Example learner journey
      Example
      Your course
      Introduction to HR Practice
      2 days · your certificate
      ↓ prior learning assessed
      City Skills apprenticeship
      HR Support, Level 3
      Funded · online · development coach
      ↓ agreed progression update
      Back to you
      Evidence of learner impact
      For your reports and marketing
      `; } function render(key){ const d = S[key]; document.querySelectorAll(“[data-f]”).forEach(el=>{ const v = d[el.dataset.f]; if(v!==undefined) el.innerHTML = v; }); $(“#heroCard”).innerHTML = statementCard(); $(“#provCard”).innerHTML = key===”providers” ? pathwayCard() : “”; $(“#pairs”).innerHTML = d.pairs.map(p=>`
      ${p[0]}
      ${p[1]}
      `).join(“”); $(“#spot”).innerHTML = d.spot.map(q=>`
      ${q[0]}${q[1]}
      `).join(“”); $(“#steps”).innerHTML = shared.steps.map((s,i)=>`
    • ${s[0]}

      ${s[1]}

      ${i===0?d.stepYou:(i===3&&key===”providers”?”We keep you updated on your learner’s progress and agree how you’re recognised as a partner.”:s[2])}

    • `).join(“”); const lead = key===”providers” ? `
      Partner

      A recognised progression partner

      Terms are agreed individually because funding rules restrict payments between training providers.

      ` : `
      5%

      Of the programme value, for every qualifying learner

      Up to £900 per learner on the AI and Automation Practitioner apprenticeship. No cap on how many learners you introduce.

      `; $(“#stack”).innerHTML = lead + shared.stack.map((s,i)=> `

      ${s[0]}

      ${s[1]}

      `).join(“”); const proms = key===”providers” ? shared.promises.slice(0,3) : shared.promises; $(“#promises”).innerHTML = proms.map(p=>`
    • ${p}
    • `).join(“”); const faq = key===”providers” ? [shared.faq[0]].concat(d.faqExtra,[shared.faq[1], shared.faq[4], [“Will City Skills compete for my commercial clients?”,”We only discuss the apprenticeship opportunity you introduced. We’ll put the details in writing when we agree your partnership.”]]) : shared.faq.concat(d.faqExtra); $(“#faq”).innerHTML = faq.map((f,i)=>`
      ${f[0]}
      ${f[1].startsWith(“<")?f[1]:"

      “+f[1]+”

      “}
      `).join(“”); $(“#calcBlock”).hidden = !d.calc; $(“#provBlock”).hidden = !!d.calc; if(d.calc){ $(“#learners”).value=d.calc.l; $(“#value”).value=d.calc.v; calc(); } $(“#f-type”).value = key; $(“#earn”).hidden = key===”providers”; $(“#earnNote”).hidden = key===”providers”; if(typeof watch===”function” && io) watch(); document.querySelectorAll(“.seg button”).forEach(b=>b.setAttribute(“aria-pressed”, b.dataset.seg===key)); const h=$(“#hero”); h.classList.remove(“swap”); void h.offsetWidth; h.classList.add(“swap”); } function calc(){ const l=+$(“#learners”).value, v=+$(“#value”).value; $(“#lOut”).textContent=l; $(“#vOut”).textContent=fmt(v); $(“#total”).textContent=fmt(l*v*0.05); $(“#calcNote”).textContent=`${l} learner${l>1?”s”:””} × ${fmt(v)} × 5%. Illustrative only; actual fees depend on each learner’s programme.`; } $(“#learners”).addEventListener(“input”,calc); $(“#value”).addEventListener(“input”,calc); document.querySelectorAll(“.seg button”).forEach(b=>b.addEventListener(“click”,()=>{ render(b.dataset.seg); try{ history.replaceState(null,””,”#”+b.dataset.seg); }catch(e){} })); $(“#f-type”).addEventListener(“change”,e=>render(e.target.value)); $(“#form”).addEventListener(“submit”,e=>{ e.preventDefault(); const name=$(“#f-name”).value.trim(), email=$(“#f-email”).value.trim(), biz=$(“#f-biz”).value.trim(); const old=$(“#form .done”); if(old) old.remove(); [“#f-name”,”#f-email”,”#f-biz”].forEach(s=>{$(s).style.borderColor=””;}); if(!name||!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email)||!biz){ const msg=document.createElement(“div”); msg.className=”done”; msg.setAttribute(“role”,”alert”); const okEmail=/^[^@ ]+@[^@ ]+[.][^@ ]+$/.test(email); const miss=[]; if(!name) miss.push(“your name”); if(!okEmail) miss.push(“a valid work email address, such as name@company.co.uk”); if(!biz) miss.push(“your business name”); msg.textContent=”Please add “+miss.join(” and “)+”.”; [[!name,”#f-name”],[!okEmail,”#f-email”],[!biz,”#f-biz”]].forEach(x=>{ if(x[0]) $(x[1]).style.borderColor=”#FF9A1F”; }); $(!okEmail?”#f-email”:(!name?”#f-name”:”#f-biz”)).focus(); $(“#form”).appendChild(msg); return; } const opt=$(“#f-type”).selectedOptions[0]; const data=new URLSearchParams(); [[“u”,”6ABA62E1741D0″],[“f”,”74″],[“s”,””],[“c”,”0″],[“m”,”0″],[“act”,”sub”],[“v”,”2″],[“or”,”fdd9990a-a74c-48bb-a352-548bb4854d86″], [“firstname”,name],[“email”,email],[“field[21]”,biz],[“field[517]”,opt.dataset.ac],[“field[518]”,$(“#f-clients”).value],[“field[519]”,$(“#f-need”).value.trim()]].forEach(p=>data.append(p[0],p[1])); fetch(“https://city-skills.activehosted.com/proc.php”,{method:”POST”,mode:”no-cors”,body:data}).catch(()=>{}); const url=”https://calendly.com/james-cox-city-skills/referral-partner-call?name=”+encodeURIComponent(name)+”&email=”+encodeURIComponent(email)+”&hide_gdpr_banner=1″; $(“#calLink”).href=url; $(“#s2title”).textContent=”Thanks, “+name.split(” “)[0]+”. Now pick a time with James.”; $(“#form”).hidden=true; $(“#step2”).hidden=false; $(“#st1”).classList.remove(“on”); $(“#st1”).classList.add(“done-step”); $(“#st2”).classList.add(“on”); const go=()=>{ $(“#calBox”).innerHTML=””; window.Calendly.initInlineWidget({url:url+”&primary_color=7c3aed”,parentElement:$(“#calBox”),prefill:{name:name,email:email}}); }; if(window.Calendly) go(); else { const sc=document.createElement(“script”); sc.src=”https://assets.calendly.com/assets/external/widget.js”; sc.async=true; sc.onload=go; document.head.appendChild(sc); } $(“#step2″).scrollIntoView({behavior:”smooth”,block:”start”}); if(window.gtag) window.gtag(“event”,”referral_partner_apply”,{partner_type:opt.dataset.ac}); }); $(“#back”).addEventListener(“click”,()=>{ $(“#form”).hidden=false; $(“#step2”).hidden=true; $(“#st2”).classList.remove(“on”); $(“#st1”).classList.remove(“done-step”); $(“#st1”).classList.add(“on”); }); // motion: reveal on scroll (from a visible state), count-up tiles const RM = matchMedia(“(prefers-reduced-motion: reduce)”).matches; let io = null; if(!RM && “IntersectionObserver” in window){ document.querySelector(“.csrp-page”).classList.add(“anim”); io = new IntersectionObserver(es=>es.forEach(e=>{ if(e.isIntersecting){ const el=e.target; const i=[…el.parentElement.children].indexOf(el); el.style.transitionDelay=(Math.min(i,6)*70)+”ms”; el.classList.add(“in”); io.unobserve(el);} }),{threshold:.15}); } function watch(){ document.querySelectorAll(“.pair,.quote,.steps li,.item,.panel,.faq details,.stmt,.prog,.tile,.person,.calc,.rule”).forEach(el=>{ if(!io){ return; } if(!el.classList.contains(“rise”)) el.classList.add(“rise”); if(!el.classList.contains(“in”)) io.observe(el); }); } function countUp(){ if(RM) return; document.querySelectorAll(“[data-count]”).forEach(el=>{ const end=+el.dataset.count, t0=performance.now(), d=1100; const step=t=>{ const k=Math.min(1,(t-t0)/d), v=Math.round(end*(1-Math.pow(1-k,3))); el.textContent=”£”+v.toLocaleString(“en-GB”); if(k<1) requestAnimationFrame(step); }; requestAnimationFrame(step); }); } const start = (location.hash||"").replace("#","") || document.querySelector(".csrp-page").dataset.segment || ""; render(S[start] ? start : "hr-services"); watch(); countUp(); })();
      Tooltip Text