/* Neve encadre notre shortcode dans ses propres conteneurs de page
(fond clair par défaut) : sans ça, un bandeau clair apparaît entre notre
contenu et le footer, sous le dernier élément de .hopp-home. Couleur en
dur (et non var(–bg)) car ces sélecteurs sont hors de .hopp-home, donc
hors de portée de la variable. */
.nv-content-wrap.entry-content,
.nv-single-page-wrap,
.single-page-container .row,
.container-fluid.single-page-container{background:#0B0B0B;}
.hopp-home{
–yellow:#FFED00;
–bg:#0B0B0B;
–surface:#242420;
–white:#ffffff;
–ink-soft:#c2c2bc;
–ink-mute:#8a8a83;
–line:#3a3a33;
–radius:16px;
font-family:”Poppins”,-apple-system,BlinkMacSystemFont,”Segoe UI”,Inter,Roboto,Arial,sans-serif;
background:var(–bg);
color:var(–white);
line-height:1.7;
}
.hopp-home *{box-sizing:border-box;}
.hopp-home a{color:inherit;text-decoration:none;}
.hopp-home img{max-width:100%;display:block;border-radius:12px;height:auto;}
/* —- HERO —- */
.hopp-home .hero-duo{max-width:1160px;margin:0 auto;padding:20px 24px 6px;}
.hopp-home .hero-duo-grid{
display:grid;
grid-template-columns:1fr 1fr;
column-gap:50px;
row-gap:0;
align-items:start;
grid-template-areas:
“visual h1”
“visual lead”
“visual badges”
“visual cta”;
}
.hopp-home .hero-visual-cluster{grid-area:visual;position:relative;height:500px;}
.hopp-home .hero-visual-cluster figure.phone-frame{position:absolute;margin:0;width:190px;}
.hopp-home .hero-visual-cluster figure.phone-frame.phone-a{left:0;top:90px;z-index:1;transform:rotate(-7deg);}
.hopp-home .hero-visual-cluster figure.phone-frame.phone-b{left:160px;top:30px;z-index:2;transform:rotate(5deg);}
.hopp-home .hero-visual-cluster .pack-photo{position:absolute;right:-6px;bottom:0;width:225px;z-index:3;filter:drop-shadow(0 22px 30px rgba(0,0,0,.55));border-radius:0;}
.hopp-home .hero-visual-cluster .social-proof{position:absolute;right:8px;bottom:340px;z-index:4;display:flex;flex-direction:column;align-items:center;width:145px;}
.hopp-home .hero-visual-cluster .social-proof img{width:100%;border-radius:0;}
.hopp-home .hero-visual-cluster figure.phone-frame.phone-b::after{content:none;}
.hopp-home h1.title{grid-area:h1;margin:100px 0 28px;font-size:clamp(38px,5vw,62px);font-weight:900;line-height:.95;letter-spacing:-.5px;}
.hopp-home h1.title span{display:block;}
.hopp-home h1.title .t-y{color:var(–yellow);text-shadow:2px 3px 0 rgba(0,0,0,.55);}
.hopp-home h1.title .t-w{color:#f2f2ee;text-shadow:2px 3px 0 rgba(0,0,0,.55);}
.hopp-home .hero-lead{grid-area:lead;font-size:18px;font-weight:700;color:var(–white);margin:0 0 16px;}
.hopp-home .hero-badges{grid-area:badges;display:flex;gap:14px;flex-wrap:wrap;margin:32px 0 0;}
.hopp-home .hero-badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;width:152px;}
.hopp-home .hero-badge .ic{flex:none;width:56px;height:56px;display:flex;align-items:center;justify-content:center;}
.hopp-home .hero-badge .ic img{width:100%;height:100%;object-fit:contain;border-radius:0;}
.hopp-home .hero-badge p{font-size:12px;font-weight:700;color:var(–white);margin:0;line-height:1.35;}
.hopp-home .cta-wrap{grid-area:cta;margin-top:44px;}
.hopp-home .hero-cta{display:inline-flex;align-items:center;gap:14px;background:var(–yellow);color:var(–bg);padding:17px 17px 17px 30px;border-radius:999px;font-weight:800;font-size:16px;box-shadow:0 14px 28px rgba(255,237,0,.25);transition:transform .15s ease,box-shadow .15s ease;}
.hopp-home .hero-cta:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(255,237,0,.35);color:var(–bg);}
.hopp-home .hero-cta .arrow{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;background:var(–bg);color:var(–yellow);border-radius:50%;}
.hopp-home .hero-cta .arrow svg{width:13px;height:13px;stroke:currentColor;}
@media(max-width:1060px){
.hopp-home .hero-duo-grid{
grid-template-columns:1fr;
gap:0;
grid-template-areas:
“h1”
“lead”
“visual”
“cta”
“badges”;
}
.hopp-home h1.title{
margin:4px 0 14px;
font-size:clamp(34px,11vw,58px);
line-height:.8;
letter-spacing:-0.02em;
text-align:center;
}
.hopp-home .hero-lead{margin:16px 0 10px;text-align:center;}
.hopp-home .cta-wrap{text-align:center;margin:20px 0 30px;}
.hopp-home .hero-visual-cluster{height:440px;}
.hopp-home .hero-visual-cluster figure.phone-frame{width:150px;}
.hopp-home .hero-visual-cluster figure.phone-frame.phone-b{left:120px;}
.hopp-home .hero-visual-cluster .pack-photo{width:175px;}
.hopp-home .hero-visual-cluster .social-proof{bottom:250px;width:98px;}
.hopp-home .hero-badges{flex-direction:column;align-items:center;gap:24px;margin:30px 0 8px;}
.hopp-home .hero-badge .ic{width:76px;height:76px;}
.hopp-home .hero-badge p{font-size:16px;}
}
/* —- SECTIONS —- */
.hopp-home .layout{max-width:900px;margin:0 auto;padding:6px 24px 0;}
.hopp-home .layout h2{font-size:26px;font-weight:800;text-align:center;margin:0 0 10px;color:var(–white);}
.hopp-home .layout h2 .y{color:var(–yellow);}
.hopp-home #guide h2{font-size:clamp(20px,6vw,26px);white-space:nowrap;}
.hopp-home .layout > section > p.section-dek{font-size:14.5px;color:var(–ink-mute);text-align:center;max-width:560px;margin:0 auto 44px;}
.hopp-home #guide{margin-top:36px;}
/* —- CADRE TÉLÉPHONE —- */
.hopp-home figure.phone-frame{
background:linear-gradient(155deg,#2c2c26,#0c0c0a);
border-radius:34px;padding:10px 10px 14px;border:2.5px solid #000;
box-shadow:0 18px 34px rgba(0,0,0,.45);position:relative;
}
.hopp-home figure.phone-frame::before{content:””;position:absolute;top:20px;left:50%;transform:translateX(-50%);width:46px;height:6px;background:#000;border-radius:4px;z-index:2;}
.hopp-home figure.phone-frame::after{content:””;position:absolute;top:50%;left:50%;width:230px;height:230px;transform:translate(-50%,-50%);background:var(–yellow);filter:blur(75px);opacity:.4;border-radius:50%;z-index:-1;}
.hopp-home figure.phone-frame img{width:100%;object-fit:contain;border-radius:22px;border:none;display:block;}
/* —- ÉTAPES DU PARCOURS —- */
.hopp-home .guide{margin:0;}
.hopp-home .guide-step{display:flex;gap:40px;align-items:center;margin:0 0 12px;}
.hopp-home .guide-step.reverse{flex-direction:row-reverse;}
.hopp-home .guide-step > figure.phone-frame{flex:0 0 210px;max-width:210px;margin:0;}
.hopp-home .g-text{flex:1 1 360px;}
.hopp-home .g-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(–yellow);color:var(–bg);font-weight:900;font-size:15px;margin-bottom:14px;}
.hopp-home .g-text h3{font-size:21px;font-weight:800;margin:0 0 10px;color:var(–white);}
.hopp-home .g-text p.g-desc{font-size:14.5px;color:var(–ink-soft);margin:0;}
.hopp-home .g-reassure{background:var(–surface);border:1px solid var(–line);border-left:3px solid var(–yellow);border-radius:0 12px 12px 0;padding:14px 18px;margin-top:16px;display:flex;gap:12px;align-items:flex-start;}
.hopp-home .g-reassure svg{flex:none;width:20px;height:20px;stroke:var(–yellow);margin-top:1px;}
.hopp-home .g-reassure p{font-size:13px;color:var(–ink-soft);margin:0;line-height:1.55;}
.hopp-home .g-reassure p b{color:var(–white);}
.hopp-home .g-cta{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:13px 11px 13px 24px;border-radius:999px;background:var(–yellow);color:var(–bg);font-weight:800;font-size:15px;box-shadow:0 12px 24px rgba(255,237,0,.24);transition:transform .15s ease,box-shadow .15s ease;}
.hopp-home .g-cta:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(255,237,0,.34);color:var(–bg);}
.hopp-home .g-cta .arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;background:var(–bg);color:var(–yellow);border-radius:50%;}
.hopp-home .g-cta .arrow svg{width:14px;height:14px;stroke:currentColor;}
@media(max-width:720px){
.hopp-home .guide-step,.hopp-home .guide-step.reverse{flex-direction:column;gap:8px;margin-bottom:40px;}
.hopp-home .guide-step > figure.phone-frame{flex:none;max-width:190px;margin:0 auto;}
.hopp-home .g-text{text-align:left;}
.hopp-home .g-cta{display:flex;width:fit-content;margin:30px auto 0;text-align:center;}
}
/* —- ÉQUIPE / EXPERTISE —- */
.hopp-home .keypoints{background:var(–surface);border:1px solid var(–line);border-radius:var(–radius);padding:22px 26px;margin:22px 0 0;}
.hopp-home .keypoints-title{font-size:15px;font-weight:800;text-transform:uppercase;color:var(–yellow);margin:0 0 12px;}
.hopp-home .keypoints ul{margin:0;padding-left:0;list-style:none;display:grid;grid-template-columns:1fr;gap:12px;}
.hopp-home .keypoints ul li{position:relative;padding-left:30px;color:var(–white);font-size:14px;}
.hopp-home .keypoints ul li svg{position:absolute;left:0;top:1px;width:19px;height:19px;stroke:var(–yellow);flex:none;}
.hopp-home .team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:26px 0;}
.hopp-home .team-card{text-align:center;}
.hopp-home .team-card img.photo{width:100%;max-width:300px;border-radius:16px;margin:0 auto 16px;object-fit:cover;}
.hopp-home .team-card h4{font-size:16px;font-weight:800;margin:0 0 4px;color:var(–white);}
.hopp-home .team-card p.role{font-size:12.5px;color:var(–ink-soft);margin:0 0 12px;line-height:1.4;}
.hopp-home .team-card img.fifa{height:34px;width:auto;max-width:none;margin:0 auto;border-radius:0;filter:grayscale(1) brightness(1.6);}
@media(max-width:560px){.hopp-home .team-grid{grid-template-columns:1fr;}}
.hopp-home .team-cta-wrap{text-align:center;margin:22px 0 0;}
.hopp-home .team-cta-wrap .g-cta{display:inline-flex;margin-top:0;}
.hopp-home .visio-banner{display:flex;gap:20px;align-items:center;background:var(–surface);border:1px solid var(–yellow);border-radius:var(–radius);padding:24px 28px;margin:26px 0;}
.hopp-home .visio-badge{flex:none;width:56px;height:56px;border-radius:50%;background:var(–yellow);display:flex;align-items:center;justify-content:center;}
.hopp-home .visio-badge svg{width:26px;height:26px;stroke:var(–bg);}
.hopp-home .visio-banner p{margin:0;font-size:14px;color:var(–ink-soft);}
.hopp-home .visio-banner p b{color:var(–white);}
.hopp-home .callout{background:var(–surface);border-left:4px solid var(–yellow);border-radius:0 12px 12px 0;padding:16px 20px;margin:22px 0;font-size:14.5px;color:var(–ink-soft);}
.hopp-home .callout b{color:var(–yellow);font-size:16.5px;}
.hopp-home .slogan{width:170px;margin:40px auto 0;border-radius:0;display:block;}
.hopp-home .divider{border:none;border-top:1px solid var(–line);margin:36px 0;}
/* —- CTA final —- */
.hopp-home .cta{border-radius:var(–radius);padding:22px 28px;margin:24px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.hopp-home .cta-primary{background:var(–yellow);color:var(–bg);}
.hopp-home .cta-title{font-size:17px;font-weight:800;margin:0 0 4px;color:var(–bg);}
.hopp-home .cta-sub{font-size:13.5px;margin:0;max-width:420px;color:#3a3600;}
.hopp-home .cta-btn{white-space:nowrap;padding:12px 22px;border-radius:999px;font-weight:800;font-size:14px;background:var(–bg);color:var(–yellow);}
.hopp-home .cta-btn:hover{color:var(–yellow);}
@media(max-width:720px){.hopp-home .cta{flex-direction:column;align-items:flex-start;}}


In Pain ?Injured ?
Quickly find the right rehab programme

Info on your injury in 3 min

Your personalised care programme

Getting back to your activities
How does HOPP work?
From the first question to a full return to your activity, one single pathway, personalised every day.

You tell us where it hurts
On an interactive body diagram, you simply tap the area that’s hurting you. Within seconds, HOPP knows what to work on.
Don’t know how to name your pain? That’s not a problem: just show the area on the diagram, HOPP takes care of the rest.

You answer a quick assessment
A guided 2-minute assessment about the circumstances and intensity of your pain, or the “I already know my injury” option if you’ve already seen a professional.
No commitment, no medical data required. Just a few simple questions to understand your situation, at your own pace.

A physio explains your injury
A short video, filmed by a HOPP sports physiotherapist, explains in plain language what’s probably happening in your body.
No jargon, no scary words. The explanation is designed to reassure you, not to worry you unnecessarily.

You choose your pack based on your goal
Getting back to competition, running pain-free, regaining everyday mobility: you choose the pack that matches your real goal.
Not sure which one to pick? Every pack details exactly what’s included before you confirm, no bad surprises afterwards.

You start your personalised programme
A programme of exercises built for your specific injury and your sporting level, with clear instructions for every session.
Worried about doing an exercise wrong, or too much of it? Every movement is explained and calibrated for exactly what your body can handle at this precise stage.

You adjust every day based on how you feel
Every morning, you indicate how you feel after your effort. Your programme adjusts automatically: more or less load, more or less intensity.
A bad night, a session that was too hard? Just say so, and the programme automatically eases off — no need to push through.

You can talk by video call, any time
A doubt about an exercise, a question about your injury, need some reassurance: you book a video-call slot with a HOPP sports physiotherapist, whenever you need it.
You’re never alone facing the app. A real sports physiotherapist, reachable by video call at any point in your programme, can answer your questions.

You track your progress all the way to your return
Your dashboard tracks your progress week after week, up to your return-to-play assessment and the return-to-play training specific to your sport.
Worried about coming back too soon or too late? The return-to-play assessment objectively evaluates where you’re at, before giving you the green light.
A guide, but never on your own
Behind every screen, there are FIFA-certified sports physiotherapists, with over 17 years of experience in clinic and alongside athletes at competition venues.
Hemrick VERWAERDE
Certified sports physiotherapist and osteopath
Thibault VIGNAIS
Certified sports physiotherapist and osteopath
Why it changes your experience
- 17 years of experience with athletes of every level, from recreational to elite
- Real field expertise, directly at competition venues
- A sports physiotherapist reachable by video call any time, not just an app
- Every screen, every piece of advice, designed and validated by our team, not by an algorithm alone

Ready to try HOPP?
Start with the first step: indicate your area of pain, for free.