const {Card,Icon,Button,Badge,GradientRule}=window.KinroAcademyDesignSystem_f0472d;
const STATS=[
{key:"grade",value:94,suffix:"%",label:"Improved by a grade or more",detail:"Students completing two terms, 2024–25."},
{key:"gain",value:2.1,dec:1,label:"Average grades gained",detail:"Across students with us for a full year."},
{key:"taught",value:1200,suffix:"+",label:"Students taught since 2019"},
{key:"rating",value:4.9,dec:1,label:"Parent rating",detail:"317 reviews."}];
const CHARTS={
grade:{title:"Grade movement after two terms",note:"Percentage of students by grades gained.",
rows:[["No change",6],["+1 grade",38],["+2 grades",41],["+3 grades or more",15]],max:45,unit:"%"},
gain:{title:"Median finishing grade by starting grade",note:"Students completing two full terms.",
rows:[["Started grade 3",4],["Started grade 4",5],["Started grade 5",6],["Started grade 6",7],["Started grade 7",8]],max:9,unit:""},
taught:{title:"Students taught per year",note:"Cohorts have grown every year since we started.",
rows:[["2019–20",64],["2020–21",112],["2021–22",168],["2022–23",214],["2023–24",283],["2024–25",341]],max:360,unit:""},
rating:{title:"Review distribution",note:"317 verified parent reviews.",
rows:[["5 star",89],["4 star",8],["3 star",2],["2 star",1],["1 star",0]],max:90,unit:"%"}};
function StatTile({s,on,onClick,run}){
const v=useCountUp(s.value,run);
return ;
}
function StatChart({k}){
const c=CHARTS[k];
return
;
}
const QUOTES=[
["She went from crying over past papers to explaining circle theorems to her brother. The group was the part I was worried about and it turned out to be the reason it worked.","Naomi B.","Parent of a Year 11 student, Leeds","4 → 7"],
["He always said he understood it. The marked papers showed exactly where the marks were going, and within a month he had stopped doing it.","Adeel R.","Parent of a Year 10 student, Birmingham","5 → 8"],
["The monthly report is the thing. One page, no jargon, and I could see precisely which topics had moved.","Claire T.","Parent of a Year 11 student, Bristol","3 → 6"],
["Two years of a private tutor and nothing shifted. One term here and she was correcting her own working before she handed it in.","Priya S.","Parent of a Year 11 student, Harrow","4 → 7"],
["The mark scheme sessions were the turning point. He finally understood what the examiner is actually paying for.","Daniel O.","Parent of a Year 11 student, Manchester","5 → 7"],
["My son is quiet and I assumed a group would swallow him. He ended up being the one explaining it to everyone else.","Fatima A.","Parent of a Year 10 student, Luton","3 → 6"],
["She sat the mock in November predicted a 4 and came out with a 7 in the summer. I still have the report.","Jonathan H.","Parent of a Year 11 student, Reading","4 → 7"],
["Workbooks arrive already marked up with the examiner notes. Nothing else we tried came close to that level of detail.","Ruth M.","Parent of a Year 11 student, Glasgow","6 → 9"],
["Booked the call expecting a sales pitch. Got fifteen minutes of straight talk about which topics were costing her marks.","Tom W.","Parent of a Year 10 student, Cardiff","5 → 8"]];
function QuoteCard({q,n,r,jump}){
return
{[0,1,2,3,4].map(s=>★)}
{jump}
“{q}”
{n[0]}
{n}{r}
;
}
function ReviewRow({items,reverse,dur}){
const [paused,setPaused]=React.useState(false);
const row=[...items,...items];
return
;
}
function SocialProof(){
const [ref,inv]=useInView();
const dist=[["5",89],["4",8],["3",2],["2",1],["1",0]];
return
4.9
{[0,1,2,3,4].map(s=>★)}
317 verified parent reviews
{dist.map(([s,pct],i)=>
{s}★
{pct}%
)}
{["Google","Trustpilot","Facebook groups","Word of mouth"].map(p=>
{p})}
{[["heart-handshake","72%","of new students come from a parent referral"],
["repeat","9 in 10","families stay for a second term"],
["file-check","14,000+","exam questions marked against the mark scheme"],
["calendar-check","98%","session attendance across the last cohort"]]
.map(([ic,v,l])=>
{v}{l}
)}
;
}
function Teachers({onBook}){
return
Who teaches your child
Expert teachers who make an hour of maths worth watching.
Your child is assigned to one of our specialist GCSE maths teachers, matched to their grade and to the gaps in their papers. Every teacher is a subject specialist, DBS checked, and trained on our method and our workbooks before they take a session. They teach one specification, all day, every day, which is why they can tell you what an examiner will do with a line of working before your child has finished writing it.
{[["Subject specialists","GCSE maths only, no generalist tutors"],
["Trained on our method","Mark scheme analysis, ladders, workbooks"],
["DBS checked","Safeguarding policy available before you book"]]
.map(([a,b])=>
{a}{b}
)}
;
}
function Guarantee(){
return
14 days, no risk. If it is not working, you get your money back.
Two full weeks of sessions, marked homework and workbooks. If you do not think your child is better off, tell us inside 14 days and we refund you in full. No form to fill in, no notice period, no argument.