{"id":7181,"date":"2026-06-20T22:28:19","date_gmt":"2026-06-20T20:28:19","guid":{"rendered":"https:\/\/franceletour.com\/?page_id=7181"},"modified":"2026-06-20T22:28:23","modified_gmt":"2026-06-20T20:28:23","slug":"tour-de-france-2026-startlist","status":"publish","type":"page","link":"https:\/\/franceletour.com\/fr\/tour-de-france-2026-startlist\/","title":{"rendered":"Tour de France 2026 Startlist: All 184 Riders, Teams, Contenders &#038; Full Guide"},"content":{"rendered":"<h1 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 Startlist: All 184 Riders, Teams, Contenders &amp; Full Guide<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><code><strong>Last Updated:<\/strong> June 21, 2026<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La liste de d\u00e9part du Tour de France 2026 comprend 23 \u00e9quipes et 184 coureurs qui s'affronteront entre Barcelone et Paris, du 4 au 26 juillet. Ce document est la r\u00e9f\u00e9rence compl\u00e8te\u00a0: tous les coureurs confirm\u00e9s, tous les r\u00f4les au sein des \u00e9quipes, les pr\u00e9tendants au classement g\u00e9n\u00e9ral, les outsiders, les d\u00e9butants, les pronostics pour les maillots et les prix. Il est mis \u00e0 jour au fur et \u00e0 mesure que les compositions des \u00e9quipes sont finalis\u00e9es avant la pr\u00e9sentation des \u00e9quipes le 1er juillet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u26a0 Breaking \u2014 June 17, 2026:<\/strong> Wout van Aert (Visma-Lease a Bike) is OUT of the Tour de France after an elbow wound infection failed to heal in time. Visma confirmed his replacement will be announced June 23. This page updates as further changes are confirmed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The preliminary startlist currently shows 111 confirmed riders across all 23 teams. Most squads have not submitted their full 8-rider roster yet. Final selections land June 23\u201324. The complete official startlist is confirmed at the team presentation in Barcelona on July 1.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_d86a15-d6 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_d86a15-d6 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_d86a15-d6\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.startlist-tldr-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.startlist-tldr-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.startlist-tldr-header {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.startlist-tldr-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n}\n\n.startlist-tldr-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.startlist-tldr-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n}\n\n.tldr-list {\n  list-style: none;\n  padding: 0;\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.tldr-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 12px;\n}\n\n.tldr-icon {\n  width: 24px;\n  height: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: #27500A;\n  margin-top: 2px;\n}\n\n.tldr-icon svg {\n  width: 20px;\n  height: 20px;\n  stroke: #27500A;\n}\n\n.tldr-text {\n  font-size: 0.9rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n  margin: 0;\n}\n\n.tldr-text strong {\n  font-weight: 600;\n  color: #000;\n}\n\n.highlight-note {\n  margin-top: 1rem;\n  padding: 0.8rem 1rem;\n  background: #fffdee;\n  border-left: 3px solid #FFC72C;\n  border-radius: 8px;\n  font-size: 0.85rem;\n  color: #4a3b00;\n  line-height: 1.5;\n}\n\n@media (max-width: 600px) {\n  .startlist-tldr-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n}\n<\/style>\n\n<div class=\"startlist-tldr-wrap\">\n  <div class=\"startlist-tldr-card\">\n    \n    <div class=\"startlist-tldr-header\">\n      <h2 class=\"startlist-tldr-title\">TL;DR \u2014 Tour de France 2026 Startlist at a Glance<\/h2>\n      <span class=\"startlist-tldr-badge\">Startlist<\/span>\n    <\/div>\n\n    <div class=\"startlist-tldr-body\">\n      <ul class=\"tldr-list\">\n        <!-- Bullet 1: The field -->\n        <li class=\"tldr-item\">\n          <div class=\"tldr-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/>\n            <\/svg>\n          <\/div>\n          <p class=\"tldr-text\">\n            <strong>The field:<\/strong> 23 teams, 184 riders, 113th edition. 18 UCI WorldTeams with automatic entry, 3 ProTeams via 2025 UCI ranking (Tudor, Pinarello-Q36.5, Cofidis), and 2 wildcards (TotalEnergies and Caja Rural). The official team presentation is July 1, 2026, at Pla\u00e7a de Catalunya in Barcelona at 18:00 CEST \u2014 three days before Stage 1.\n          <\/p>\n        <\/li>\n\n        <!-- Bullet 2: Who leads the race -->\n        <li class=\"tldr-item\">\n          <div class=\"tldr-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2z\"\/>\n            <\/svg>\n          <\/div>\n          <p class=\"tldr-text\">\n            <strong>Who leads the race:<\/strong> <strong>Tadej Poga\u010dar<\/strong> (UAE Team Emirates-XRG) is the clear favourite, chasing a fifth Tour title. <strong>Jonas Vingegaard<\/strong> (Visma-Lease a Bike) is the main challenger after winning the 2026 Giro d&#8217;Italia, but now races without Wout van Aert \u2014 a major blow. <strong>Remco Evenepoel<\/strong> (Red Bull-BORA-hansgrohe) and <strong>Florian Lipowitz<\/strong> complete the top tier, with 19-year-old <strong>Paul Seixas<\/strong> (Decathlon CMA CGM) carrying France&#8217;s GC hopes on his Tour debut.\n          <\/p>\n        <\/li>\n\n        <!-- Bullet 3: What's changed recently -->\n        <li class=\"tldr-item\">\n          <div class=\"tldr-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/>\n            <\/svg>\n          <\/div>\n          <p class=\"tldr-text\">\n            <strong>What&#8217;s changed recently:<\/strong> <strong>Van Aert OUT<\/strong> (elbow infection \u2014 replacement June 23). Paul Seixas crashed at the Tour Auvergne-Rh\u00f4ne-Alpes but is confirmed racing. <strong>Isaac del Toro<\/strong> won that same race overall \u2014 arriving in Barcelona in peak form as Poga\u010dar&#8217;s lieutenant and potential Plan B. Tom Pidcock (Pinarello-Q36.5) recovers from a Volta a Catalunya crash but remains on the startlist for his Tour debut.\n          <\/p>\n        <\/li>\n      <\/ul>\n      \n      <div class=\"highlight-note\">\n        <strong>\ud83d\udd25 Van Aert&#8217;s absence reshapes Visma&#8217;s entire Tour strategy. Del Toro&#8217;s form gives UAE a tactical option no other team possesses.<\/strong>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<style>\n.startlist-numbers-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.startlist-numbers-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.startlist-numbers-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.startlist-numbers-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.startlist-numbers-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.startlist-numbers-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n}\n\n\/* 2-column grid *\/\n.numbers-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 0.8rem 1.5rem;\n}\n\n.number-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 8px;\n  padding: 0.6rem 0;\n  border-bottom: 1px solid rgba(99,153,34,0.1);\n}\n\n.number-item:last-child {\n  border-bottom: none;\n}\n\n.number-icon {\n  width: 20px;\n  height: 20px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: #27500A;\n  margin-top: 2px;\n}\n\n.number-icon svg {\n  width: 16px;\n  height: 16px;\n  stroke: #27500A;\n}\n\n.number-content {\n  flex: 1;\n}\n\n.number-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.68rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n  margin: 0 0 2px 0;\n}\n\n.number-value {\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.4;\n  margin: 0;\n}\n\n.number-value strong {\n  font-weight: 600;\n  color: #000;\n}\n\n\/* Responsive: single column on mobile *\/\n@media (max-width: 600px) {\n  .numbers-grid {\n    grid-template-columns: 1fr;\n  }\n}\n<\/style>\n\n<div class=\"startlist-numbers-wrap\">\n  <div class=\"startlist-numbers-card\">\n    \n    <div class=\"startlist-numbers-header\">\n      <h2 class=\"startlist-numbers-title\">Tour de France 2026 Startlist \u2014 Essential Numbers<\/h2>\n      <span class=\"startlist-numbers-badge\">Startlist<\/span>\n    <\/div>\n\n    <div class=\"startlist-numbers-body\">\n      \n      <div class=\"numbers-grid\">\n        \n        <!-- Total teams -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Total des \u00e9quipes<\/div>\n            <div class=\"number-value\">23<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- UCI WorldTeams -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">UCI WorldTeams<\/div>\n            <div class=\"number-value\">18 (entr\u00e9e automatique)<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- ProTeams \u2014 direct ranking -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\"\/><polyline points=\"17 6 23 6 23 12\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">ProTeams \u2014 classement direct<\/div>\n            <div class=\"number-value\">3 (Tudor, Pinarello-Q36.5, Cofidis)<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- ProTeams \u2014 wildcard -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">ProTeams \u2014 wildcard<\/div>\n            <div class=\"number-value\">2 (TotalEnergies, Caja Rural)<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Riders per team -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M22 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Coureurs par \u00e9quipe<\/div>\n            <div class=\"number-value\">8<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Total riders -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Total riders (full startlist)<\/div>\n            <div class=\"number-value\">184<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Confirmed on preliminary list -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Confirmed on preliminary list (June 20)<\/div>\n            <div class=\"number-value\">111<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Startlist status -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Startlist status<\/div>\n            <div class=\"number-value\">Preliminary \u2014 final confirmed July 1<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Roster submission deadline -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Roster submission deadline<\/div>\n            <div class=\"number-value\">June 23\u201324, 2026<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Team presentation -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Pr\u00e9sentation de l'\u00e9quipe<\/div>\n            <div class=\"number-value\">July 1 \u00b7 Pla\u00e7a de Catalunya \u00b7 Barcelona \u00b7 18:00 CEST<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Stage 1 -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Stage 1<\/div>\n            <div class=\"number-value\">July 4, 2026 \u00b7 Barcelona TTT \u00b7 19.7 km<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Stage 21 \/ Final -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"\/>\n              <line x1=\"4\" y1=\"22\" x2=\"4\" y2=\"15\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Stage 21 \/ Final<\/div>\n            <div class=\"number-value\">July 26, 2026 \u00b7 Paris Champs-\u00c9lys\u00e9es<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Major confirmed withdrawal -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Major confirmed withdrawal<\/div>\n            <div class=\"number-value\"><strong>Wout van Aert (Visma)<\/strong> \u2014 elbow infection<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Race distance -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Race distance<\/div>\n            <div class=\"number-value\">3,333 km across 21 stages<\/div>\n          <\/div>\n        <\/div>\n\n        <!-- Total climbing -->\n        <div class=\"number-item\">\n          <div class=\"number-icon\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <polyline points=\"3 17 9 11 13 15 21 5\"\/>\n            <\/svg>\n          <\/div>\n          <div class=\"number-content\">\n            <div class=\"number-label\">Total climbing<\/div>\n            <div class=\"number-value\">54,450 metres<\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_ea9dd5-7d .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_ea9dd5-7d .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_ea9dd5-7d\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">What Is the Tour de France 2026 Startlist \u2014 and When Is It Final?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Tour de France 2026 startlist is the official list of every rider confirmed to race the 113th edition of the event. It goes through two stages before the race begins.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Preliminary vs Final Startlist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The preliminary startlist is published by ASO months before the race. Teams submit the riders they intend to bring, but this is not legally binding. Riders can be added or removed right up to the roster deadline of June 23\u201324, 2026, when each team submits their official 8-rider selection. The final startlist is confirmed at the July 1 team presentation in Barcelona and becomes the legal document for the race.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What you are reading now is the preliminary list. 111 riders are confirmed as of June 20. The remaining 73 slots across 23 teams will be filled in the coming days.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How Riders Get Added or Removed<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Teams make selection decisions based on form, fitness, and tactical role. An injury can remove a confirmed rider right up to race morning; the Van Aert situation is the live example. He was on the preliminary list, crashed in training, developed an elbow infection, and was withdrawn on June 17. Visma will name his replacement on June 23 when they submit the final roster.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A DNS (Did Not Start) occurs when a rider is confirmed on the final list but does not appear at Stage 1. <\/li>\n\n\n\n<li>A DNF (Did Not Finish) occurs during the race \u2014 a crash, illness, or time cut. <\/li>\n\n\n\n<li>DSQ (Disqualified) is rare and requires a rule infringement. OTL (Outside Time Limit) removes a rider who finishes a stage more than a percentage above the winner&#8217;s time.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Race Numbers \u2014 Who Wears What<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Race numbers are assigned by team ranking, with the defending champion&#8217;s team always receiving numbers 1\u20138. UAE Team Emirates-XRG holds those numbers in 2026. Tadej Poga\u010dar wears number 1. Each team&#8217;s 8 riders receive consecutive numbers from their block, UAE run 1\u20138, Visma-Lease a Bike the next block, and so on through all 23 teams.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where to Download the Official Startlist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The official PDF startlist is published by ASO on letour.fr before July 1. We maintain the most current preliminary version. This page tracks changes as they are confirmed.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_29a980-a9 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_29a980-a9 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_29a980-a9\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Tour de France 2026 Startlist \u2014 Confirmed Withdrawals &amp; Latest Changes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This section updates as news breaks. Check back daily through July 3.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wout van Aert (Visma-Lease a Bike) \u2014 CONFIRMED OUT<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Van Aert crashed in training the week before the Tour Auvergne-Rh\u00f4ne-Alpes, the renamed Dauphin\u00e9, cycling&#8217;s traditional Tour warm-up race. An elbow wound that seemed manageable became serious when an infection developed during the race itself. He finished Stage 5, winning the sprint, then the situation worsened overnight. He spent a night in hospital, the medical team cleaned the wound again, and on June 17, Visma confirmed the decision: he will not be included in the Tour de France selection.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Van Aert issued a statement: &#8220;This is, of course, a big disappointment. The Tour de France is one of my main goals every year. Unfortunately, a crash during training has put a spanner in the works, and the injury to my elbow has worsened and has still not healed sufficiently. Together with the team, we have concluded that starting the Tour in top form is not feasible at this point.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The impact on Visma-Lease a Bike is real and immediate. Van Aert handles the TTT motor role, the sprint stage positioning for Vingegaard through nervous flat days, the crosswind echelon control, and the mountain lead-out that sets up the final climb. He can also win stages himself; this was to be his eighth Tour and he was chasing an 11th career stage win. Losing that versatility before the race begins removes Visma&#8217;s safety net and forces their remaining seven riders to cover ground Van Aert would normally handle alone. His replacement will be announced June 23.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paul Seixas (Decathlon CMA CGM) \u2014 RACING CONFIRMED<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Seixas crashed during the Tour Auvergne-Rh\u00f4ne-Alpes. Decathlon CMA CGM have confirmed he is racing the Tour. His spring form, winner of La Fl\u00e8che Wallonne and the Tour of the Basque Country, second at Li\u00e8ge-Bastogne-Li\u00e8ge, second at Strade Bianche, remains the strongest foundation of any first-time Tour rider in recent memory. <br>Status: confirmed, monitoring fitness ahead of July 4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tom Pidcock (Pinarello-Q36.5) \u2014 CONFIRMED, FORM QUESTION MARK<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pidcock&#8217;s 2026 season hit a serious obstacle at the Volta a Catalunya, where he went off a ravine in a crash. His recovery timeline raised questions about Tour readiness. He is confirmed on the Pinarello-Q36.5 startlist. His form approaching Barcelona remains the biggest unknown among the race&#8217;s stage-win contenders.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Isaac del Toro (UAE Team Emirates-XRG) \u2014 PEAK FORM CONFIRMED<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Del Toro won the Tour Auvergne-Rh\u00f4ne-Alpes outright, two stage wins and the overall, ahead of Luke Tuckwell and Juan Ayuso. He arrives in Barcelona as Poga\u010dar&#8217;s support rider but also as the clearest Plan B in the peloton if anything disrupts Poga\u010dar&#8217;s race. His 2026 form is not the form of a lieutenant. It is the form of a leader.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>This section updates as further roster changes are confirmed. Visma replacement announced June 23. All teams submit final rosters June 23\u201324.<\/em><\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_4004b6-e3 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_4004b6-e3 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_4004b6-e3\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" style=\"text-transform:uppercase\">Complete Tour de France 2026 Startlist \u2014 All 23 Teams &amp; Confirmed Riders<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Role tags: GC = general classification leader \u00b7 Dom = domestique \u00b7 Sprint = sprint specialist \u00b7 Climb = climber\/breakaway \u00b7 TT = time trial specialist \u00b7 All = all-rounder \u00b7 \u2605 = team leader<\/em> <em>Riders marked TBC are expected additions before the July 1 deadline.<\/em><\/p>\n\n\n\n<style>\n.uae-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.uae-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.uae-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.uae-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.uae-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.uae-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.uae-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.uae-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.uae-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.uae-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.uae-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.uae-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.uae-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .uae-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .uae-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .uae-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .uae-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .uae-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .uae-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .uae-title-row {\n    justify-content: center;\n  }\n  .uae-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"uae-profile-wrap\">\n  <div class=\"uae-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"uae-profile-hero\">\n      <div class=\"uae-jersey-frame\">\n        <img decoding=\"async\" class=\"uae-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/uae-team-emirates-xrg.png\" alt=\"UAE Team Emirates-XRG jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"uae-hero-content\">\n        <div class=\"uae-title-row\">\n          <h3 class=\"uae-profile-title\">UAE Team Emirates-XRG<\/h3>\n          <span class=\"uae-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"uae-country\"><strong>United Arab Emirates<\/strong><\/p>\n      <\/div>\n      <div class=\"uae-badge-frame\">\n        <img decoding=\"async\" class=\"uae-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/uae-team-emirates-xrg-badge.png\" alt=\"UAE Team Emirates-XRG badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"uae-profile-body\">\n\n      <!-- GC Leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader<\/div>\n          <div class=\"gc-name\">Tadej Poga\u010dar<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">POGA\u010cAR Tadej<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">Four-time Tour winner. Chasing record-equalling fifth.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">DEL TORO Isaac<\/td>\n              <td>GC \/ Dom<\/td>\n              <td class=\"rider-note\">Won Tour Auvergne 2026. Tour debut. UAE&#8217;s Plan B.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MCNULTY Brandon<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">One of the best mountain domestiques in the race.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">YATES Adam<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Sacrifices GC ambition to pace Poga\u010dar every July.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">WELLENS Tim<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">Crosswind specialist and all-terrain support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VERMEERSCH Florian<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Protects UAE through sprint stages and nervous days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">POLITT Nils<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Flat stage protection. Crosswind threat.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">Final slot to be confirmed June 23\u201324.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">UAE arrive with the deepest squad in the race. The TTT is theirs to lose. The mountains are Poga\u010dar&#8217;s to control. The only scenario where this squad struggles is one involving bad luck, a crash, illness, or the kind of day the race simply cannot be planned for.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_c2a169-9c .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_c2a169-9c .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_c2a169-9c\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.visma2-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.visma2-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.visma2-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.visma2-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.visma2-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.visma2-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.visma2-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.visma2-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.visma2-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.visma2-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.visma2-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.visma2-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.visma2-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 0.6rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Warning row *\/\n.warning-row {\n  display: flex;\n  align-items: flex-start;\n  gap: 8px;\n  padding: 0.7rem 1rem;\n  background: #FFF3CD;\n  border-radius: 10px;\n  border: 1px solid rgba(200,160,0,0.3);\n  margin-bottom: 1rem;\n  font-size: 0.82rem;\n  color: #5a4200;\n  line-height: 1.5;\n}\n\n.warning-row strong {\n  color: #000;\n}\n\n.warning-icon {\n  font-size: 1.2rem;\n  flex-shrink: 0;\n  margin-top: 1px;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .visma2-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .visma2-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .visma2-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .visma2-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .visma2-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .visma2-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .visma2-title-row {\n    justify-content: center;\n  }\n  .visma2-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"visma2-profile-wrap\">\n  <div class=\"visma2-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"visma2-profile-hero\">\n      <div class=\"visma2-jersey-frame\">\n        <img decoding=\"async\" class=\"visma2-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/team-visma-lease-a-bike.png\" alt=\"Team Visma\u2013Lease a Bike jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"visma2-hero-content\">\n        <div class=\"visma2-title-row\">\n          <h3 class=\"visma2-profile-title\">Team Visma \u2014 Lease a Bike<\/h3>\n          <span class=\"visma2-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"visma2-country\"><strong>Netherlands<\/strong><\/p>\n      <\/div>\n      <div class=\"visma2-badge-frame\">\n        <img decoding=\"async\" class=\"visma2-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/team-visma-lease-a-bike-badge.png\" alt=\"Team Visma\u2013Lease a Bike badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"visma2-profile-body\">\n\n      <!-- GC Leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader<\/div>\n          <div class=\"gc-name\">Jonas Vingegaard<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Warning: Van Aert OUT -->\n      <div class=\"warning-row\">\n        <span class=\"warning-icon\">\u26a0\ufe0f<\/span>\n        <span><strong>Major change:<\/strong> Wout van Aert OUT \u2014 replacement announced June 23<\/span>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">VINGEGAARD Jonas<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">2026 Giro winner. Chasing third Tour title.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">JORGENSON Matteo<\/td>\n              <td>GC \/ Dom<\/td>\n              <td class=\"rider-note\">Expanded role post\u2011Van Aert. Could race GC freedom.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">KUSS Sepp<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Guarded two yellow jerseys. Mountain specialist.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">CAMPENAERTS Victor<\/td>\n              <td>TT \/ Dom<\/td>\n              <td class=\"rider-note\">Hour record holder. TTT engine.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ARMIRAIL Bruno<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Flat stage and transition day protection.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TULETT Ben<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Young British support rider growing into Grand Tour role.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">AFFINI Edoardo<\/td>\n              <td>TT \/ Dom<\/td>\n              <td class=\"rider-note\">Strong time trialist who adds depth to Stage\u202f16 ambitions.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">Van Aert replacement \u2014 announced June\u202f23.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The Van Aert withdrawal changes the tactical picture entirely. Vingegaard won the Giro. The fitness is there. But the infrastructure around him is smaller than it was 14 days ago. Jorgenson now carries more tactical responsibility than originally planned.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_7a33be-4c .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_7a33be-4c .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_7a33be-4c\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.rb2-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.rb2-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.rb2-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.rb2-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.rb2-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.rb2-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.rb2-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.rb2-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.rb2-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.rb2-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.rb2-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.rb2-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.rb2-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .rb2-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .rb2-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .rb2-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .rb2-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .rb2-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .rb2-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .rb2-title-row {\n    justify-content: center;\n  }\n  .rb2-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"rb2-profile-wrap\">\n  <div class=\"rb2-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"rb2-profile-hero\">\n      <div class=\"rb2-jersey-frame\">\n        <img decoding=\"async\" class=\"rb2-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/red-bull-bora-hansgrohe.png\" alt=\"Red Bull\u2013BORA\u2013hansgrohe jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"rb2-hero-content\">\n        <div class=\"rb2-title-row\">\n          <h3 class=\"rb2-profile-title\">Red Bull \u2014 BORA \u2014 hansgrohe<\/h3>\n          <span class=\"rb2-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"rb2-country\"><strong>Germany<\/strong><\/p>\n      <\/div>\n      <div class=\"rb2-badge-frame\">\n        <img decoding=\"async\" class=\"rb2-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/red-bull-bora-hansgrohe-badge.png\" alt=\"Red Bull\u2013BORA\u2013hansgrohe badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"rb2-profile-body\">\n\n      <!-- GC Leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leaders<\/div>\n          <div class=\"gc-name\">Remco Evenepoel \u2605 + Florian Lipowitz \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">EVENEPOEL Remco<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">Olympic ITT champion. 68 days without racing pre\u2011Tour.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">LIPOWITZ Florian<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">4th on 2025 Tour debut. Serious podium threat.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">CATTANEO Mattia<\/td>\n              <td>TT \/ Dom<\/td>\n              <td class=\"rider-note\">Drives Evenepoel to the base of every final climb.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAN GILS Maxim<\/td>\n              <td>All<\/td>\n              <td class=\"rider-note\">Versatile. Stage threat on punchy mountain finishes.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">HINDLEY Jai<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Grand Tour experience. Mountain support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MART\u00cdNEZ Daniel Felipe<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Strong climber. Stage winner in previous Tours.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">DENZ Nico<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Flat and transition stage protection.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAN DIJKE Mick<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Developing domestique. Stage 1 TTT strength.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MEEUS Jordi<\/td>\n              <td>Sprint<\/td>\n              <td class=\"rider-note\">Sprint option on flat stages before the mountains begin.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MOSCON Gianni<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Experience. Physical presence on tough days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TRATNIK Jan<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Reliable support across all terrain.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">More confirmed riders than any other team, Red Bull has submitted early and gone deep. Two genuine GC leaders give rivals two threats to track simultaneously. Evenepoel has been altitude training in Sierra Nevada for 68 days. He arrives in Barcelona fresh, rested, and pointed at Stage 1 and Stage 16.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_6ee664-5c .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_6ee664-5c .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_6ee664-5c\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.lidl2-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.lidl2-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.lidl2-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.lidl2-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.lidl2-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.lidl2-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.lidl2-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.lidl2-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.lidl2-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.lidl2-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.lidl2-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.lidl2-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.lidl2-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .lidl2-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .lidl2-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .lidl2-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .lidl2-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .lidl2-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .lidl2-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .lidl2-title-row {\n    justify-content: center;\n  }\n  .lidl2-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"lidl2-profile-wrap\">\n  <div class=\"lidl2-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"lidl2-profile-hero\">\n      <div class=\"lidl2-jersey-frame\">\n        <img decoding=\"async\" class=\"lidl2-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/lidl-trek.png\" alt=\"Lidl\u2013Trek jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"lidl2-hero-content\">\n        <div class=\"lidl2-title-row\">\n          <h3 class=\"lidl2-profile-title\">Lidl \u2014 Trek<\/h3>\n          <span class=\"lidl2-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"lidl2-country\"><strong>Germany<\/strong><\/p>\n      <\/div>\n      <div class=\"lidl2-badge-frame\">\n        <img decoding=\"async\" class=\"lidl2-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/lidl-trek-badge.png\" alt=\"Lidl\u2013Trek badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"lidl2-profile-body\">\n\n      <!-- GC Leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leaders<\/div>\n          <div class=\"gc-name\">Juan Ayuso \u2605 + Mattias Skjelmose \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">AYUSO Juan<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">First Tour as undisputed leader post\u2011UAE move.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">SKJELMOSE Mattias<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">Versatile. Stage wins and GC potential.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">PEDERSEN Mads<\/td>\n              <td>Sprint \/ Punch<\/td>\n              <td class=\"rider-note\">Punchy sprint stages and medium\u2011mountain finishes.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">CICCONE Giulio<\/td>\n              <td>Climb \/ Break<\/td>\n              <td class=\"rider-note\">Breakaway stage hunter. KOM points threat.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VACEK Mathias<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Young Czech support rider.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">SIMMONS Quinn<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">American power. Domestic support on hard days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">KRAGH ANDERSEN S\u00f8ren<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">The quiet engine that makes Ayuso&#8217;s attacks possible.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Lidl-Trek arrive with real options. Ayuso&#8217;s move from UAE means he leads his own race for the first time at the Tour. Skjelmose adds a second card. Pedersen can win sprint stages that pure sprinters can&#8217;t get over the climbs. The team direction depends entirely on the first mountain stage; whoever sits better after the Pyrenees gets the leadership.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_de7f3b-8e .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_de7f3b-8e .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_de7f3b-8e\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.decathlon2-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.decathlon2-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.decathlon2-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.decathlon2-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.decathlon2-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.decathlon2-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.decathlon2-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.decathlon2-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.decathlon2-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.decathlon2-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.decathlon2-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.decathlon2-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.decathlon2-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .decathlon2-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .decathlon2-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .decathlon2-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .decathlon2-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .decathlon2-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .decathlon2-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .decathlon2-title-row {\n    justify-content: center;\n  }\n  .decathlon2-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"decathlon2-profile-wrap\">\n  <div class=\"decathlon2-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"decathlon2-profile-hero\">\n      <div class=\"decathlon2-jersey-frame\">\n        <img decoding=\"async\" class=\"decathlon2-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/decathlon-cma-cgm-team.png\" alt=\"Decathlon CMA CGM Team jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"decathlon2-hero-content\">\n        <div class=\"decathlon2-title-row\">\n          <h3 class=\"decathlon2-profile-title\">Decathlon CMA CGM Team<\/h3>\n          <span class=\"decathlon2-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"decathlon2-country\"><strong>France<\/strong><\/p>\n      <\/div>\n      <div class=\"decathlon2-badge-frame\">\n        <img decoding=\"async\" class=\"decathlon2-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/decathlon-cma-cgm-team-badge.png\" alt=\"Decathlon CMA CGM Team badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"decathlon2-profile-body\">\n\n      <!-- GC Leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader<\/div>\n          <div class=\"gc-name\">Paul Seixas \u2605 (Tour debut)<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">SEIXAS Paul<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">19. Tour debut. France&#8217;s biggest GC hope in a generation.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">KOOIJ Olav<\/td>\n              <td>Sprint<\/td>\n              <td class=\"rider-note\">One of the fastest pure sprinters in the peloton.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">BENOOT Tiesj<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">All-terrain support. Crosswind specialist.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">BISSEGGER Stefan<\/td>\n              <td>TT \/ Dom<\/td>\n              <td class=\"rider-note\">Strong time trialist. Stage 16 support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">HOOLE Daan<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Flat stage protection. TTT work.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">3 slots to be confirmed June 23\u201324.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Seixas is the name on every French lip from Lyon to Paris. At 19, he won La Fl\u00e8che Wallonne and the Tour of the Basque Country in the same spring. His Dauphin\u00e9 crash slowed the build-up but the team confirmed his Tour start. Kooij&#8217;s sprint speed means Decathlon can race flat stages without sitting entirely defensively, protecting Seixas&#8217;s energy for the mountains.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_e0568e-fe .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_e0568e-fe .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_e0568e-fe\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.ineos2-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.ineos2-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.ineos2-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.ineos2-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.ineos2-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.ineos2-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.ineos2-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.ineos2-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.ineos2-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.ineos2-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.ineos2-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.ineos2-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.ineos2-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .ineos2-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .ineos2-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .ineos2-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .ineos2-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .ineos2-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .ineos2-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .ineos2-title-row {\n    justify-content: center;\n  }\n  .ineos2-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"ineos2-profile-wrap\">\n  <div class=\"ineos2-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"ineos2-profile-hero\">\n      <div class=\"ineos2-jersey-frame\">\n        <img decoding=\"async\" class=\"ineos2-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/netcompany-ineos.png\" alt=\"Netcompany INEOS jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"ineos2-hero-content\">\n        <div class=\"ineos2-title-row\">\n          <h3 class=\"ineos2-profile-title\">Netcompany INEOS<\/h3>\n          <span class=\"ineos2-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"ineos2-country\"><strong>Great Britain<\/strong><\/p>\n      <\/div>\n      <div class=\"ineos2-badge-frame\">\n        <img decoding=\"async\" class=\"ineos2-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/netcompany-ineos-badge.jpg\" alt=\"Netcompany INEOS badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"ineos2-profile-body\">\n\n      <!-- GC Leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leaders<\/div>\n          <div class=\"gc-name\">Carlos Rodr\u00edguez + K\u00e9vin Vauquelin<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">GANNA Filippo<\/td>\n              <td>TT \u2605<\/td>\n              <td class=\"rider-note\">Among the best time trialists in the world. Stage\u202f16 target.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">RODR\u00cdGUEZ Carlos<\/td>\n              <td>GC<\/td>\n              <td class=\"rider-note\">Consistent top\u201110 finisher. Lacks TT edge for podium.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAUQUELIN K\u00e9vin<\/td>\n              <td>GC \/ Climb<\/td>\n              <td class=\"rider-note\">7th at 2025 Tour. French climber with genuine ambition.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">KWIATKOWSKI Micha\u0142<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">Reads the race better than most people in the team car.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">GODON Dorian<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">French climbing support. Stage freedom on breakaway days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ARENSMAN Thymen<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Grand Tour climbing experience. Mountain support.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">INEOS are not the team they were in the Froome-Thomas-Bernal era. They are building around a different kind of depth \u2014 multiple stage-win options, strong time trial capability through Ganna, and GC presence through Rodr\u00edguez and Vauquelin. The yellow jersey is not the target. A stage win, a top-5, and the development of Vauquelin into a future GC contender are.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_dea210-c6 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_dea210-c6 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_dea210-c6\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.alpecin-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.alpecin-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.alpecin-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.alpecin-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.alpecin-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.alpecin-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.alpecin-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.alpecin-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.alpecin-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.alpecin-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.alpecin-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.alpecin-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.alpecin-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .alpecin-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .alpecin-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .alpecin-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .alpecin-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .alpecin-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .alpecin-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .alpecin-title-row {\n    justify-content: center;\n  }\n  .alpecin-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"alpecin-profile-wrap\">\n  <div class=\"alpecin-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"alpecin-profile-hero\">\n      <div class=\"alpecin-jersey-frame\">\n        <img decoding=\"async\" class=\"alpecin-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/alpecin-premier-tech.png\" alt=\"Alpecin\u2013Premier Tech jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"alpecin-hero-content\">\n        <div class=\"alpecin-title-row\">\n          <h3 class=\"alpecin-profile-title\">Alpecin \u2014 Premier Tech<\/h3>\n          <span class=\"alpecin-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"alpecin-country\"><strong>Belgium<\/strong><\/p>\n      <\/div>\n      <div class=\"alpecin-badge-frame\">\n        <img decoding=\"async\" class=\"alpecin-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/alpecin-premier-tech-badge.png\" alt=\"Alpecin\u2013Premier Tech badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"alpecin-profile-body\">\n\n      <!-- Stage leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Stage leaders<\/div>\n          <div class=\"gc-name\">Mathieu van der Poel \u2605 + Jasper Philipsen \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">VAN DER POEL Mathieu<\/td>\n              <td>All \u2605<\/td>\n              <td class=\"rider-note\">Stage wins on punchy and circuit finishes. No GC interest.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">PHILIPSEN Jasper<\/td>\n              <td>Sprint \u2605<\/td>\n              <td class=\"rider-note\">One of the best pure sprinters in the race.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">GROVES Kaden<\/td>\n              <td>Sprint<\/td>\n              <td class=\"rider-note\">Second sprint option. Wins when Philipsen can&#8217;t lead.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VERSTRYNGE Emiel<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Domestique who can survive into mountains.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">RICKAERT Jonas<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Flat stage and transition protection.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">3 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Alpecin arrive without GC ambition and with maximum stage-win intent. Van der Poel on the Stage 1 TTT circuit \u2014 with Montju\u00efc&#8217;s ramps suiting his power and acceleration \u2014 is a genuine threat from the gun. Philipsen is the race&#8217;s most complete pure sprinter. On flat days, Alpecin win.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_862ec5-1f .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_862ec5-1f .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_862ec5-1f\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.bahrain-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.bahrain-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.bahrain-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.bahrain-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.bahrain-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.bahrain-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.bahrain-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.bahrain-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.bahrain-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.bahrain-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.bahrain-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.bahrain-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.bahrain-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .bahrain-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .bahrain-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .bahrain-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .bahrain-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .bahrain-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .bahrain-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .bahrain-title-row {\n    justify-content: center;\n  }\n  .bahrain-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"bahrain-profile-wrap\">\n  <div class=\"bahrain-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"bahrain-profile-hero\">\n      <div class=\"bahrain-jersey-frame\">\n        <img decoding=\"async\" class=\"bahrain-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/bahrain-victorious.png\" alt=\"Bahrain Victorious jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"bahrain-hero-content\">\n        <div class=\"bahrain-title-row\">\n          <h3 class=\"bahrain-profile-title\">Bahrain Victorious<\/h3>\n          <span class=\"bahrain-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"bahrain-country\"><strong>Bahrain<\/strong><\/p>\n      <\/div>\n      <div class=\"bahrain-badge-frame\">\n        <img decoding=\"async\" class=\"bahrain-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/bahrain-victorious-badge.png\" alt=\"Bahrain Victorious badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"bahrain-profile-body\">\n\n      <!-- GC leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader: Antonio Tiberi \u00b7 KOM: Lenny Martinez \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">TIBERI Antonio<\/td>\n              <td>GC<\/td>\n              <td class=\"rider-note\">Tour debut. Italian climber. Giro 2026 experience.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MARTINEZ Lenny<\/td>\n              <td>KOM \u2605 \/ Climb<\/td>\n              <td class=\"rider-note\">Best polka dot jersey contender in the race.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MOHORI\u010c Matej<\/td>\n              <td>All \/ Stage<\/td>\n              <td class=\"rider-note\">Descending specialist. Long-range breakaway threat.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">BILBAO Pello<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Climbing support and stage freedom on hard days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">4 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Bahrain switched from Merida\/White to Bianchi for 2026, the biggest equipment change in the peloton this year. Martinez is the KOM favourite. Tiberi carries the GC flag on his Tour debut. Mohori\u010d on a long descent after a mountain stage is one of the most dangerous riders in any peloton.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_902659-7a .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_902659-7a .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_902659-7a\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.ef-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.ef-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.ef-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.ef-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.ef-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.ef-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.ef-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.ef-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.ef-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.ef-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.ef-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.ef-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.ef-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .ef-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .ef-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .ef-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .ef-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .ef-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .ef-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .ef-title-row {\n    justify-content: center;\n  }\n  .ef-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"ef-profile-wrap\">\n  <div class=\"ef-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"ef-profile-hero\">\n      <div class=\"ef-jersey-frame\">\n        <img decoding=\"async\" class=\"ef-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/ef-education-easypost.png\" alt=\"EF Education\u2013EasyPost jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"ef-hero-content\">\n        <div class=\"ef-title-row\">\n          <h3 class=\"ef-profile-title\">EF Education \u2014 EasyPost<\/h3>\n          <span class=\"ef-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"ef-country\"><strong>United States<\/strong><\/p>\n      <\/div>\n      <div class=\"ef-badge-frame\">\n        <img decoding=\"async\" class=\"ef-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/ef-education-easypost-badge.png\" alt=\"EF Education\u2013EasyPost badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"ef-profile-body\">\n\n      <!-- Stage leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Stage leaders<\/div>\n          <div class=\"gc-name\">Ben Healy \u2605 + Richard Carapaz<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">HEALY Ben<\/td>\n              <td>Break \u2605 \/ Stage<\/td>\n              <td class=\"rider-note\">Yellow jersey days in 2025. Longest solo range in the race.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">CARAPAZ Richard<\/td>\n              <td>GC \/ Stage<\/td>\n              <td class=\"rider-note\">2019 Giro winner. Grand Tour experience unmatched.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ASGREEN Kasper<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">All-terrain classics support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">HONOR\u00c9 Mikkel<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Mountain support. Replaces Baudin on updated list.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">4 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">EF are the race&#8217;s chaos specialists. When the peloton miscalculates a breakaway on a hard stage, Healy is the name that appears at the front. He can stay alone for longer than almost anyone. Combined with Carapaz&#8217;s Grand Tour reading of a race, EF are dangerous on any day the favourites are watching each other instead of the road ahead.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_15add0-a0 .kt-block-spacer{height:39px;}.wp-block-kadence-spacer.kt-block-spacer-7181_15add0-a0 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_15add0-a0\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.groupama-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.groupama-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.groupama-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.groupama-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.groupama-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.groupama-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.groupama-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.groupama-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.groupama-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.groupama-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.groupama-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.groupama-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.groupama-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .groupama-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .groupama-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .groupama-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .groupama-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .groupama-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .groupama-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .groupama-title-row {\n    justify-content: center;\n  }\n  .groupama-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"groupama-profile-wrap\">\n  <div class=\"groupama-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"groupama-profile-hero\">\n      <div class=\"groupama-jersey-frame\">\n        <img decoding=\"async\" class=\"groupama-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/groupama-fdj-united.png\" alt=\"Groupama\u2013FDJ United jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"groupama-hero-content\">\n        <div class=\"groupama-title-row\">\n          <h3 class=\"groupama-profile-title\">Groupama \u2014 FDJ United<\/h3>\n          <span class=\"groupama-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"groupama-country\"><strong>France<\/strong><\/p>\n      <\/div>\n      <div class=\"groupama-badge-frame\">\n        <img decoding=\"async\" class=\"groupama-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/groupama-fdj-united-badge.png\" alt=\"Groupama\u2013FDJ United badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"groupama-profile-body\">\n\n      <!-- GC leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader: David Gaudu \u00b7 Stage: Romain Gr\u00e9goire \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">GAUDU David<\/td>\n              <td>GC<\/td>\n              <td class=\"rider-note\">French GC option. Top-10 realistic on the right Tour.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">GR\u00c9GOIRE Romain<\/td>\n              <td>Break \u2605 \/ Stage<\/td>\n              <td class=\"rider-note\">21. Tour debut. Breakaway specialist with big upside.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MARTIN Guillaume<\/td>\n              <td>Break \/ Climb<\/td>\n              <td class=\"rider-note\">Climber and writer. Breakaway threat on mountain stages.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">5 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Gr\u00e9goire is the name to add alongside Seixas in the French story of 2026. Two young French riders on Tour debut \u2014 Gr\u00e9goire for stage wins and Seixas for the GC. FDJ give Gr\u00e9goire the freedom to hunt stages from the break while Gaudu protects GC position.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_8bcae7-54 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_8bcae7-54 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_8bcae7-54\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.jayco-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.jayco-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.jayco-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.jayco-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.jayco-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.jayco-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.jayco-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.jayco-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.jayco-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.jayco-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.jayco-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.jayco-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.jayco-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .jayco-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .jayco-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .jayco-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .jayco-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .jayco-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .jayco-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .jayco-title-row {\n    justify-content: center;\n  }\n  .jayco-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"jayco-profile-wrap\">\n  <div class=\"jayco-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"jayco-profile-hero\">\n      <div class=\"jayco-jersey-frame\">\n        <img decoding=\"async\" class=\"jayco-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/team-jayco-alula.png\" alt=\"Team Jayco AlUla jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"jayco-hero-content\">\n        <div class=\"jayco-title-row\">\n          <h3 class=\"jayco-profile-title\">Team Jayco AlUla<\/h3>\n          <span class=\"jayco-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"jayco-country\"><strong>Australia<\/strong><\/p>\n      <\/div>\n      <div class=\"jayco-badge-frame\">\n        <img decoding=\"async\" class=\"jayco-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/team-jayco-alula-badge.png\" alt=\"Team Jayco AlUla badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"jayco-profile-body\">\n\n      <!-- GC leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader: Ben O&#8217;Connor \u00b7 Stage: Michael Matthews \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">MATTHEWS Michael<\/td>\n              <td>Sprint \/ Punch \u2605<\/td>\n              <td class=\"rider-note\">Wins medium-mountain stages where pure sprinters can&#8217;t follow.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">PLAPP Luke<\/td>\n              <td>Dom \/ GC<\/td>\n              <td class=\"rider-note\">Best young Australian stage racer currently active.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ACKERMANN Pascal<\/td>\n              <td>Sprint<\/td>\n              <td class=\"rider-note\">Pure sprint speed on flat days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">O&#8217;CONNOR Ben<\/td>\n              <td>GC<\/td>\n              <td class=\"rider-note\">Top-10 GC finisher in previous Tours.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">SCHMID Mauro<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Swiss climbing support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">3 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_2681fe-06 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_2681fe-06 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_2681fe-06\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.lotto-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.lotto-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.lotto-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.lotto-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.lotto-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.lotto-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.lotto-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.lotto-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.lotto-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.lotto-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.lotto-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.lotto-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.lotto-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .lotto-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .lotto-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .lotto-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .lotto-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .lotto-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .lotto-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .lotto-title-row {\n    justify-content: center;\n  }\n  .lotto-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"lotto-profile-wrap\">\n  <div class=\"lotto-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"lotto-profile-hero\">\n      <div class=\"lotto-jersey-frame\">\n        <img decoding=\"async\" class=\"lotto-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/lotto-intermarche.png\" alt=\"Lotto Intermarch\u00e9 jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"lotto-hero-content\">\n        <div class=\"lotto-title-row\">\n          <h3 class=\"lotto-profile-title\">Lotto Intermarch\u00e9<\/h3>\n          <span class=\"lotto-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"lotto-country\"><strong>Belgium<\/strong><\/p>\n      <\/div>\n      <div class=\"lotto-badge-frame\">\n        <img decoding=\"async\" class=\"lotto-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/lotto-intermarche-badge.png\" alt=\"Lotto Intermarch\u00e9 badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"lotto-profile-body\">\n\n      <!-- Sprint \/ GC leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Sprint: Arnaud De Lie \u2605 \u00b7 GC: Lennert Van Eetvelt<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">DE LIE Arnaud<\/td>\n              <td>Sprint \u2605<\/td>\n              <td class=\"rider-note\">One of the most powerful sprinters in the race.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAN EETVELT Lennert<\/td>\n              <td>GC \/ Climb<\/td>\n              <td class=\"rider-note\">Young Belgian climber with uncapped potential.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ZIMMERMANN Georg<\/td>\n              <td>Break \/ Climb<\/td>\n              <td class=\"rider-note\">Breakaway specialist. Stage threat on medium-mountain days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">5 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_c5b11d-02 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_c5b11d-02 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_c5b11d-02\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.movistar-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.movistar-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.movistar-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.movistar-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.movistar-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.movistar-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.movistar-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.movistar-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.movistar-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.movistar-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.movistar-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.movistar-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.movistar-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .movistar-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .movistar-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .movistar-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .movistar-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .movistar-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .movistar-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .movistar-title-row {\n    justify-content: center;\n  }\n  .movistar-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"movistar-profile-wrap\">\n  <div class=\"movistar-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"movistar-profile-hero\">\n      <div class=\"movistar-jersey-frame\">\n        <img decoding=\"async\" class=\"movistar-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/movistar-team.png\" alt=\"Movistar Team jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"movistar-hero-content\">\n        <div class=\"movistar-title-row\">\n          <h3 class=\"movistar-profile-title\">Movistar Team<\/h3>\n          <span class=\"movistar-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"movistar-country\"><strong>Spain<\/strong><\/p>\n      <\/div>\n      <div class=\"movistar-badge-frame\">\n        <img decoding=\"async\" class=\"movistar-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/movistar-team-badge.png\" alt=\"Movistar Team badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"movistar-profile-body\">\n\n      <!-- GC leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader<\/div>\n          <div class=\"gc-name\">Cian Uijtdebroeks \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">UIJTDEBROEKS Cian<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">21. Spanish team at Spanish start. Mountain ability confirmed.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ROMEO Iv\u00e1n<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Young Spanish climbing talent.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">RUBIO Einer<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Colombian climber. Mountain support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">CASTRILLO Pablo<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Flat and transition protection.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ADRI\u00c0 Roger<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Young Catalan rider. Home start at Barcelona.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">3 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Movistar&#8217;s Spanish identity makes the Barcelona Grand D\u00e9part personal. Uijtdebroeks leads a team that punches above budget on mountain stages. The tactical freedom Movistar give their leaders, compared to the rigid structure of UAE or Visma, can produce surprising results when the race fragments.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_e07d7c-a0 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_e07d7c-a0 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_e07d7c-a0\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.nsn-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.nsn-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.nsn-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.nsn-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.nsn-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.nsn-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.nsn-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.nsn-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.nsn-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.nsn-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.nsn-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.nsn-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.nsn-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .nsn-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .nsn-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .nsn-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .nsn-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .nsn-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .nsn-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .nsn-title-row {\n    justify-content: center;\n  }\n  .nsn-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"nsn-profile-wrap\">\n  <div class=\"nsn-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"nsn-profile-hero\">\n      <div class=\"nsn-jersey-frame\">\n        <img decoding=\"async\" class=\"nsn-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/nsn-cycling-team.png\" alt=\"NSN Cycling Team jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"nsn-hero-content\">\n        <div class=\"nsn-title-row\">\n          <h3 class=\"nsn-profile-title\">NSN Cycling Team<\/h3>\n          <span class=\"nsn-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"nsn-country\"><strong>Switzerland<\/strong><\/p>\n      <\/div>\n      <div class=\"nsn-badge-frame\">\n        <img decoding=\"async\" class=\"nsn-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/nsn-cycling-team-badge.png\" alt=\"NSN Cycling Team badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"nsn-profile-body\">\n\n      <!-- Sprint leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Sprint leader<\/div>\n          <div class=\"gc-name\">Biniam Girmay \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">GIRMAY Biniam<\/td>\n              <td>Sprint \u2605<\/td>\n              <td class=\"rider-note\">First African to win Tour stages. Scott bikes.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">STEWART Jake<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Sprint support and stage protection.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">6 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_9f51ae-b2 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_9f51ae-b2 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_9f51ae-b2\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.picnic-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.picnic-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.picnic-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.picnic-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.picnic-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.picnic-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.picnic-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.picnic-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.picnic-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.picnic-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.picnic-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.picnic-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.picnic-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .picnic-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .picnic-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .picnic-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .picnic-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .picnic-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .picnic-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .picnic-title-row {\n    justify-content: center;\n  }\n  .picnic-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"picnic-profile-wrap\">\n  <div class=\"picnic-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"picnic-profile-hero\">\n      <div class=\"picnic-jersey-frame\">\n        <img decoding=\"async\" class=\"picnic-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/team-picnic-postnl.png\" alt=\"Team Picnic PostNL jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"picnic-hero-content\">\n        <div class=\"picnic-title-row\">\n          <h3 class=\"picnic-profile-title\">Team Picnic PostNL<\/h3>\n          <span class=\"picnic-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"picnic-country\"><strong>Netherlands<\/strong><\/p>\n      <\/div>\n      <div class=\"picnic-badge-frame\">\n        <img decoding=\"async\" class=\"picnic-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/team-picnic-postnl-badge.png\" alt=\"Team Picnic PostNL badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"picnic-profile-body\">\n\n      <!-- Sprint leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Sprint leader<\/div>\n          <div class=\"gc-name\">Pavel Bittner \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">BITTNER Pavel<\/td>\n              <td>Sprint \u2605<\/td>\n              <td class=\"rider-note\">Czech sprinter targeting flat stage wins.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">BARGUIL Warren<\/td>\n              <td>Break \/ Climb<\/td>\n              <td class=\"rider-note\">2017 polka dot jersey. Breakaway legend.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAN DEN BROEK Frank<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Dutch workhorse support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">5 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_3a9cb2-fc .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_3a9cb2-fc .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_3a9cb2-fc\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.soudal-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.soudal-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.soudal-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.soudal-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.soudal-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.soudal-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.soudal-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.soudal-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.soudal-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.soudal-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.soudal-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.soudal-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.soudal-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .soudal-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .soudal-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .soudal-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .soudal-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .soudal-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .soudal-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .soudal-title-row {\n    justify-content: center;\n  }\n  .soudal-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"soudal-profile-wrap\">\n  <div class=\"soudal-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"soudal-profile-hero\">\n      <div class=\"soudal-jersey-frame\">\n        <img decoding=\"async\" class=\"soudal-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/soudal-quick-step.png\" alt=\"Soudal Quick-Step jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"soudal-hero-content\">\n        <div class=\"soudal-title-row\">\n          <h3 class=\"soudal-profile-title\">Soudal Quick-Step<\/h3>\n          <span class=\"soudal-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"soudal-country\"><strong>Belgium<\/strong><\/p>\n      <\/div>\n      <div class=\"soudal-badge-frame\">\n        <img decoding=\"async\" class=\"soudal-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/soudal-quick-step-badge.png\" alt=\"Soudal Quick-Step badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"soudal-profile-body\">\n\n      <!-- Leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Leaders: Mikel Landa (GC) \u00b7 Valentin Paret-Peintre (Stage) \u00b7 Tim Merlier (Sprint) \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">PARET-PEINTRE Valentin<\/td>\n              <td>Stage \u2605 \/ Climb<\/td>\n              <td class=\"rider-note\">Mountain stage hunter. Breakaway threat.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">LANDA Mikel<\/td>\n              <td>GC<\/td>\n              <td class=\"rider-note\">Basque climber. Multiple Grand Tour podiums, never won.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">MERLIER Tim<\/td>\n              <td>Sprint \u2605<\/td>\n              <td class=\"rider-note\">Pure sprint speed. Wins on flat days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">STUYVEN Jasper<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">All-terrain classics experience. Crosswind control.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAN WILDER Ilan<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Young Belgian climbing support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VERVAEKE Louis<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Mountain protection.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAN BAARLE Dylan<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">All-terrain versatility. Transition stage control.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">VAN LERBERGHE Bert<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Flat stage motor. TTT contribution.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Post-Evenepoel, the Soudal question becomes tactical. No single protected leader changes how the team races, they now hunt stages from multiple angles rather than building everything around one jersey. Merlier on flat days, Paret-Peintre on mountain stages, Landa when the GC race opens up.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_dd455e-53 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_dd455e-53 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_dd455e-53\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.unox-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.unox-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.unox-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.unox-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.unox-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.unox-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.unox-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.unox-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.unox-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.unox-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.unox-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.unox-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.unox-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .unox-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .unox-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .unox-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .unox-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .unox-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .unox-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .unox-title-row {\n    justify-content: center;\n  }\n  .unox-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"unox-profile-wrap\">\n  <div class=\"unox-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"unox-profile-hero\">\n      <div class=\"unox-jersey-frame\">\n        <img decoding=\"async\" class=\"unox-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/uno-x-mobility.png\" alt=\"Uno-X Mobility jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"unox-hero-content\">\n        <div class=\"unox-title-row\">\n          <h3 class=\"unox-profile-title\">Uno-X Mobility<\/h3>\n          <span class=\"unox-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"unox-country\"><strong>Norway<\/strong><\/p>\n      <\/div>\n      <div class=\"unox-badge-frame\">\n        <img decoding=\"async\" class=\"unox-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/uno-x-mobility-badge.png\" alt=\"Uno-X Mobility badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"unox-profile-body\">\n\n      <!-- GC leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">GC leader<\/div>\n          <div class=\"gc-name\">Tobias Halland Johannessen \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">JOHANNESSEN Tobias Halland<\/td>\n              <td>GC \u2605<\/td>\n              <td class=\"rider-note\">6th at 2025 Tour debut. Dark horse for top 5.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">CORT Magnus<\/td>\n              <td>Stage \/ Sprint<\/td>\n              <td class=\"rider-note\">Wins medium-mountain stages and breakaway bunch kicks.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">KRON Andreas<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Climbing support. Stage freedom on hard days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">5 slots including Waerenskjold (sprint support) and Traeen TBC.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_b23a3f-b1 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_b23a3f-b1 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_b23a3f-b1\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.astana-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.astana-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.astana-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.astana-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.astana-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.astana-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.astana-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.astana-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.astana-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.astana-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.astana-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.astana-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.astana-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .astana-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .astana-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .astana-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .astana-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .astana-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .astana-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .astana-title-row {\n    justify-content: center;\n  }\n  .astana-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"astana-profile-wrap\">\n  <div class=\"astana-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"astana-profile-hero\">\n      <div class=\"astana-jersey-frame\">\n        <img decoding=\"async\" class=\"astana-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/xds-astana-team.png\" alt=\"XDS Astana Team jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"astana-hero-content\">\n        <div class=\"astana-title-row\">\n          <h3 class=\"astana-profile-title\">XDS Astana Team<\/h3>\n          <span class=\"astana-profile-badge\">WorldTeam<\/span>\n        <\/div>\n        <p class=\"astana-country\"><strong>Kazakhstan<\/strong><\/p>\n      <\/div>\n      <div class=\"astana-badge-frame\">\n        <img decoding=\"async\" class=\"astana-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/xds-astana-team-badge.png\" alt=\"XDS Astana Team badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"astana-profile-body\">\n\n      <!-- Leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Leaders: Sergio Higuita (GC) \u00b7 Lorenzo Fortunato (KOM) \u2605<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">TEUNISSEN Mike<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">Dutch all-rounder. TTT strength and transition control.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">HIGUITA Sergio<\/td>\n              <td>GC \/ Climb \u2605<\/td>\n              <td class=\"rider-note\">Colombian climber targeting top 10.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TEJADA Harold<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Mountain support. Stage freedom.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">FORTUNATO Lorenzo<\/td>\n              <td>KOM \/ Climb<\/td>\n              <td class=\"rider-note\">Polka dot jersey threat in the mountains.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">4 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_2cbc6b-48 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_2cbc6b-48 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_2cbc6b-48\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.tudor-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.tudor-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.tudor-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.tudor-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.tudor-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.tudor-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.tudor-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.tudor-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.tudor-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.tudor-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.tudor-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.tudor-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.tudor-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .tudor-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .tudor-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .tudor-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .tudor-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .tudor-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .tudor-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .tudor-title-row {\n    justify-content: center;\n  }\n  .tudor-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"tudor-profile-wrap\">\n  <div class=\"tudor-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"tudor-profile-hero\">\n      <div class=\"tudor-jersey-frame\">\n        <img decoding=\"async\" class=\"tudor-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/tudor-pro-cycling-team.png\" alt=\"Tudor Pro Cycling Team jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"tudor-hero-content\">\n        <div class=\"tudor-title-row\">\n          <h3 class=\"tudor-profile-title\">Tudor Pro Cycling Team<br>(ProTeam \u2014 automatic, 1st ranked 2025)<\/h3>\n          <span class=\"tudor-profile-badge\">ProTeam<\/span>\n        <\/div>\n        <p class=\"tudor-country\"><strong>Switzerland<\/strong><\/p>\n      <\/div>\n      <div class=\"tudor-badge-frame\">\n        <img decoding=\"async\" class=\"tudor-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/tudor-pro-cycling-team-badge.png\" alt=\"Tudor Pro Cycling Team badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"tudor-profile-body\">\n\n      <!-- Leaders -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Leaders: Stefan K\u00fcng \u2605 (TT) + Julian Alaphilippe \u2605 (Stage)<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">ALAPHILIPPE Julian<\/td>\n              <td>Stage \u2605 \/ Punch<\/td>\n              <td class=\"rider-note\">34. Two World titles. Hunting one more stage win.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">K\u00dcNG Stefan<\/td>\n              <td>TT \u2605<\/td>\n              <td class=\"rider-note\">World TT champion. Stage 16 ITT top contender.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">STORER Michael<\/td>\n              <td>Break \/ Climb<\/td>\n              <td class=\"rider-note\">Australian breakaway specialist. Stage threat.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TRENTIN Matteo<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">All-terrain experience.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">PLUIMERS Rick<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Young Dutch support rider.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">3 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tudor are not at the Tour to make up numbers. K\u00fcng on the Stage 16 ITT is one of the event&#8217;s most compelling individual matchups \u2014 World TT champion against Evenepoel, Ganna, and Campenaerts on a 26 km course by Lake Geneva. Alaphilippe on Montju\u00efc in Stage 2 is the other one to watch from day two.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_44d1d0-cc .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_44d1d0-cc .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_44d1d0-cc\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.pinarello-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.pinarello-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.pinarello-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.pinarello-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.pinarello-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.pinarello-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.pinarello-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.pinarello-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.pinarello-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.pinarello-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.pinarello-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.pinarello-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.pinarello-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .pinarello-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .pinarello-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .pinarello-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .pinarello-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .pinarello-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .pinarello-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .pinarello-title-row {\n    justify-content: center;\n  }\n  .pinarello-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"pinarello-profile-wrap\">\n  <div class=\"pinarello-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"pinarello-profile-hero\">\n      <div class=\"pinarello-jersey-frame\">\n        <img decoding=\"async\" class=\"pinarello-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/pinarello-q-36-5-pro-cycling-team.png\" alt=\"Pinarello Q36.5 Pro Cycling Team jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"pinarello-hero-content\">\n        <div class=\"pinarello-title-row\">\n          <h3 class=\"pinarello-profile-title\">Pinarello Q36.5 Pro Cycling Team<\/br>(ProTeam \u2014 automatic, 2nd ranked 2025)<\/h3>\n          <span class=\"pinarello-profile-badge\">ProTeam<\/span>\n        <\/div>\n        <p class=\"pinarello-country\"><strong>Switzerland<\/strong><\/p>\n      <\/div>\n      <div class=\"pinarello-badge-frame\">\n        <img decoding=\"async\" class=\"pinarello-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/pinarello-q-36-5-pro-cycling-team-badge.png\" alt=\"Pinarello Q36.5 Pro Cycling Team badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"pinarello-profile-body\">\n\n      <!-- Leader -->\n      <div class=\"gc-leader-row\">\n        <span class=\"gc-star\">\u2605<\/span>\n        <div>\n          <div class=\"gc-label\">Leader: Tom Pidcock \u2605 (Tour debut)<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">PIDCOCK Tom<\/td>\n              <td>Stage \u2605<\/td>\n              <td class=\"rider-note\">Olympic MTB champion. Tour debut. Crash concerns easing.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">WRIGHT Fred<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">British all-rounder. Strong breakaway rider.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">HERMANS Quinten<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">Belgian climber. Mountain stage support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">5 slots to be confirmed.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Pidcock on a mountain stage with 60 km remaining and a splintered peloton is one of the race&#8217;s genuine wildcard moments. He does not need the perfect setup. He needs a gap, a descent, and the legs that made him an Olympic champion. After a disrupted build-up, the question is whether he arrives at Stage 3 in the Pyrenees at race weight and race fitness. If he does, expect him in a break.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_3075cc-11 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_3075cc-11 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_3075cc-11\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.cofidis-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.cofidis-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.cofidis-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.cofidis-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.cofidis-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.cofidis-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.cofidis-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.cofidis-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.cofidis-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.cofidis-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.cofidis-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.cofidis-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.cofidis-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* GC leader row *\/\n.gc-leader-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.15);\n  margin-bottom: 1rem;\n}\n\n.gc-star {\n  color: #FFC72C;\n  font-size: 1.3rem;\n  line-height: 1;\n}\n\n.gc-label {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n}\n\n.gc-name {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #111;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .cofidis-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .cofidis-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .cofidis-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .cofidis-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .cofidis-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .cofidis-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .cofidis-title-row {\n    justify-content: center;\n  }\n  .cofidis-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"cofidis-profile-wrap\">\n  <div class=\"cofidis-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"cofidis-profile-hero\">\n      <div class=\"cofidis-jersey-frame\">\n        <img decoding=\"async\" class=\"cofidis-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/cofidis.png\" alt=\"Cofidis jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"cofidis-hero-content\">\n        <div class=\"cofidis-title-row\">\n          <h3 class=\"cofidis-profile-title\">Cofidis<br>(ProTeam \u2014 automatic, 3rd ranked 2025)<\/h3>\n          <span class=\"cofidis-profile-badge\">ProTeam<\/span>\n        <\/div>\n        <p class=\"cofidis-country\"><strong>France<br>30th consecutive Tour de France<\/strong><\/p>\n      <\/div>\n      <div class=\"cofidis-badge-frame\">\n        <img decoding=\"async\" class=\"cofidis-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/cofidis-badge.png\" alt=\"Cofidis badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"cofidis-profile-body\">\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">IZAGIRRE Ion<\/td>\n              <td>Stage \u2605 \/ Climb<\/td>\n              <td class=\"rider-note\">Basque climber. Stage threat on hard days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">BUCHMANN Emanuel<\/td>\n              <td>GC<\/td>\n              <td class=\"rider-note\">German climber. Quiet top-10 potential.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ARANBURU Alex<\/td>\n              <td>Stage \/ Punch<\/td>\n              <td class=\"rider-note\">Punchy finishes and classics-style stages.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">KIRSCH Alex<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Luxembourg domestique. Flat stage protection.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">FRETIN Milan<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Young French support.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">CARR Simon<\/td>\n              <td>Dom \/ Climb<\/td>\n              <td class=\"rider-note\">British climbing support. Mountain days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">PAGE Hugo<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">French all-rounder.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">ALLEGAERT Piet<\/td>\n              <td>Dom \/ All<\/td>\n              <td class=\"rider-note\">Belgian classics support. Transition stages.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">BIERMANS Jenthe<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">Belgian domestique. Flat and transition days.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">THOMAS Benjamin<\/td>\n              <td>Dom<\/td>\n              <td class=\"rider-note\">French veteran. Tour debut in Cofidis&#8217;s 30th.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Thirty consecutive Tours. No ProTeam comes close to that number. Cofidis also carries the tech story of the race, Campagnolo Super Record 13, the new 13-speed drivetrain, makes its Grand Tour debut on Cofidis bikes in 2026. The most experienced team in the ProTeam category racing on the newest groupset technology.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_ae4bf6-0b .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_ae4bf6-0b .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_ae4bf6-0b\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.totalenergies-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.totalenergies-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.totalenergies-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.totalenergies-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.totalenergies-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.totalenergies-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.totalenergies-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.totalenergies-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.totalenergies-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.totalenergies-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.totalenergies-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.totalenergies-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.totalenergies-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .totalenergies-profile-hero {\n    flex-wrap: wrap;\n    justify-content: center;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .totalenergies-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .totalenergies-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .totalenergies-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .totalenergies-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .totalenergies-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .totalenergies-title-row {\n    justify-content: center;\n  }\n  .totalenergies-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"totalenergies-profile-wrap\">\n  <div class=\"totalenergies-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"totalenergies-profile-hero\">\n      <div class=\"totalenergies-jersey-frame\">\n        <img decoding=\"async\" class=\"totalenergies-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/totalenergies.png\" alt=\"TotalEnergies jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"totalenergies-hero-content\">\n        <div class=\"totalenergies-title-row\">\n          <h3 class=\"totalenergies-profile-title\">TotalEnergies<br>(ProTeam \u2014 wildcard)<\/h3>\n          <span class=\"totalenergies-profile-badge\">ProTeam<\/span>\n        <\/div>\n        <p class=\"totalenergies-country\"><strong>France<\/strong><\/p>\n      <\/div>\n      <div class=\"totalenergies-badge-frame\">\n        <img decoding=\"async\" class=\"totalenergies-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/totalenergies-badge.png\" alt=\"TotalEnergies badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"totalenergies-profile-body\">\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">JEGAT Jordan<\/td>\n              <td>Stage \/ Break<\/td>\n              <td class=\"rider-note\">French breakaway specialist.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">7 slots to be confirmed June 23\u201324.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_e621df-d5 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_e621df-d5 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_e621df-d5\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n.cajarural-profile-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.cajarural-profile-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.cajarural-profile-hero {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 1.5rem 1.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.cajarural-jersey-frame {\n  flex-shrink: 0;\n  width: 90px;\n  height: 90px;\n  background: #ffffff;\n  border-radius: 16px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: 2px solid rgba(99,153,34,0.25);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n}\n\n.cajarural-jersey-img {\n  width: 80px;\n  height: 80px;\n  object-fit: contain;\n}\n\n.cajarural-hero-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.cajarural-title-row {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 4px;\n}\n\n.cajarural-profile-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.3rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  white-space: nowrap;\n}\n\n.cajarural-profile-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n.cajarural-country {\n  font-size: 0.85rem;\n  color: #555;\n  font-weight: 700;\n  margin: 0;\n}\n\n.cajarural-badge-frame {\n  flex-shrink: 0;\n  width: 72px;\n  height: 72px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.cajarural-badge-img {\n  width: 72px;\n  height: 72px;\n  object-fit: contain;\n}\n\n.cajarural-profile-body {\n  padding: 1.2rem 1.8rem 1.5rem;\n}\n\n\/* Roster table *\/\n.roster-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.roster-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 550px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.roster-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: rgba(234,243,222,0.4);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.roster-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.roster-table tbody tr:hover {\n  background: rgba(255,255,255,0.5);\n}\n\n.roster-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.rider-name {\n  font-weight: 600;\n  color: #111;\n}\n\n.rider-note {\n  font-size: 0.8rem;\n  color: #666;\n}\n\n@media (max-width: 600px) {\n  .cajarural-profile-hero {\n    flex-wrap: wrap;\n    justify-content: centitleter;\n    text-align: center;\n    gap: 14px;\n    padding: 1.2rem;\n  }\n  .cajarural-jersey-frame {\n    width: 80px;\n    height: 80px;\n  }\n  .cajarural-jersey-img {\n    width: 70px;\n    height: 70px;\n  }\n  .cajarural-badge-frame {\n    width: 60px;\n    height: 60px;\n  }\n  .cajarural-badge-img {\n    width: 60px;\n    height: 60px;\n  }\n  .cajarural-hero-content {\n    order: 3;\n    flex: 1 1 100%;\n  }\n  .cajarural-title-row {\n    justify-content: center;\n  }\n  .cajarural-profile-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .roster-table thead th,\n  .roster-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"cajarural-profile-wrap\">\n  <div class=\"cajarural-profile-card\">\n    \n    <!-- Hero section with jersey left, badge right -->\n    <div class=\"cajarural-profile-hero\">\n      <div class=\"cajarural-jersey-frame\">\n        <img decoding=\"async\" class=\"cajarural-jersey-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/caja-rural-seguros-rga.png\" alt=\"Caja Rural\u2013Seguros RGA jersey\" loading=\"lazy\" title=\"\">\n      <\/div>\n      <div class=\"cajarural-hero-content\">\n        <div class=\"cajarural-title-row\">\n          <h3 class=\"cajarural-profile-title\">Caja Rural \u2014 Seguros RGA<br>(ProTeam \u2014 wildcard, Tour debut)<\/h3>\n          <span class=\"cajarural-profile-badge\">ProTeam<\/span>\n        <\/div>\n        <p class=\"cajarural-country\"><strong>Spain \u2014 Tour debut<\/strong><\/p>\n      <\/div>\n      <div class=\"cajarural-badge-frame\">\n        <img decoding=\"async\" class=\"cajarural-badge-img\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/caja-rural-seguros-rga-badge.png\" alt=\"Caja Rural\u2013Seguros RGA badge\" loading=\"lazy\" title=\"\">\n      <\/div>\n    <\/div>\n\n    <div class=\"cajarural-profile-body\">\n\n      <!-- Roster table -->\n      <div class=\"roster-scroll\">\n        <table class=\"roster-table\">\n          <thead>\n            <tr>\n              <th>Confirmed Rider<\/th>\n              <th>Role<\/th>\n              <th>Note<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td class=\"rider-name\">MOLENAAR Alex<\/td>\n              <td>Stage<\/td>\n              <td class=\"rider-note\">Dutch rider. Tour debut as part of team&#8217;s first-ever start.<\/td>\n            <\/tr>\n            <tr>\n              <td class=\"rider-name\">TBC<\/td>\n              <td>\u2014<\/td>\n              <td class=\"rider-note\">7 slots to be confirmed June 23\u201324.<\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Caja Rural&#8217;s first Tour de France. Founded in 2000, they have built steadily through Spanish domestic cycling to reach this moment. The wildcard made sense, a Spanish team at a Spanish start in Barcelona. On every stage in Spain, they will have the loudest crowd support of any team in the race.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_83dfda-d9 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_83dfda-d9 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_83dfda-d9\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 GC Contenders \u2014 Who Can Win the Yellow Jersey?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tier 1 \u2014 The Favourites<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Tadej Poga\u010dar (UAE Team Emirates-XRG)<\/strong> <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Four Tour titles. The <strong><a href=\"https:\/\/franceletour.com\/fr\/tour-de-france-2026-route\/\">TDF 2026 route<\/a><\/strong>, with its double Alpe d&#8217;Huez finale and 54,450 metres of climbing, suits him perfectly. His spring was commanding: four Classics wins from five races, losing only to Van Aert at Paris-Roubaix. The Tour de Suisse is his only warm-up race before Barcelona. He arrives focused, rested, and pointed at a fifth title that would put him alongside Anquetil, Merckx, Hinault, and Indurain.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Jonas Vingegaard (Visma-Lease a Bike)<\/strong> <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">He won the 2026 Giro d&#8217;Italia on May 31. The Giro-Tour double attempt is among the rarest and hardest achievements in professional cycling. He has not raced since, training at altitude in Tignes. Van Aert&#8217;s absence changes his race \u2014 the support infrastructure is thinner, the tactical options fewer. But Vingegaard without Van Aert is still the only rider to have beaten Poga\u010dar twice at the Tour. He does not need the perfect setup. He just needs his legs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tier 2 \u2014 Podium Challengers<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Remco Evenepoel (Red Bull-BORA-hansgrohe)<\/strong> <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">68 days without racing before Barcelona. Altitude work in Sierra Nevada. The preparation is unconventional for a Tour de France. Stage 1 and Stage 16 are his windows \u2014 if he gains 90 seconds in the ITT and holds his own in the mountains, the final podium becomes possible. The question is whether the Alps, in week three, take what the TT gave back.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Florian Lipowitz (Red Bull-BORA-hansgrohe)<\/strong> <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">4th on his 2025 Tour debut. Not talked about enough. His presence as co-leader means every mountain stage carries two Red Bull threats instead of one. If Evenepoel cracks on Alpe d&#8217;Huez, Lipowitz inherits leadership of the race&#8217;s best domestique squad.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Juan Ayuso (Lidl-Trek)<\/strong> <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">His first Tour without Poga\u010dar watching over him. Won Algarve overall, wore yellow at Paris-Nice before a crash. The move from UAE was exactly this, the chance to find out how good he is when the team is built around his race, not someone else&#8217;s. The Pyrenees in week one will give the first answer.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Paul Seixas (Decathlon CMA CGM)<\/strong> <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">19 years old. Tour debut. France&#8217;s best GC hope since Thibaut Pinot&#8217;s peak years. He is not here to survive three weeks. He is here to race. Decathlon have built the squad around his ambition, not around protecting him. Whether a 19-year-old can manage the psychology of three weeks as a GC leader at his first Tour is the race&#8217;s most compelling human question.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tier 3 \u2014 Dark Horses<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">See the dedicated section below.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_e09982-60 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_e09982-60 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_e09982-60\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 Dark Horses \u2014 Who Can Spring a GC Surprise?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tobias Halland Johannessen (Uno-X Mobility)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">6th at the 2025 Tour on his debut. 3rd at Itzulia 2026. 2nd at Milano-Torino. At 26, the Norwegian has stopped being a promising talent and started being a reliable result. He finished close to Seixas and Lipowitz in the Basque Country, not ahead of them, but not far behind. Cyclingnews ranked him as one of the most underrated GC options heading into July. Uno-X are in their first WorldTour season. If their leader delivers a top-5 in July, they validate everything.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">K\u00e9vin Vauquelin (Netcompany INEOS)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">7th at the 2025 Tour de France. French climber. The strongest French GC option after Seixas. INEOS give him space on mountain stages rather than chaining him to Rodr\u00edguez&#8217;s wheel. On a day when Poga\u010dar and Vingegaard are watching each other rather than the road, Vauquelin can take 30 seconds. Enough of those and a top-5 is within reach.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ben Healy (EF Education-EasyPost)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">He wore yellow at the 2025 Tour. Not for a day or two, for meaningful stretches. His ability to stay alone off the front of a mountain stage for longer than almost anyone in the race creates scenarios that don&#8217;t appear in any tactical plan. EF&#8217;s approach is always controlled chaos. Healy is the chaos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cian Uijtdebroeks (Movistar Team)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">21 years old. Spanish team at a Spanish start. His climbing has been confirmed at the highest level. Movistar&#8217;s tactical freedom, compared to the rigid structure of the top-three squads, gives him room to race instinctively. In a Tour where the favourites neutralise each other, a rider racing without a fixed script can find gaps.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Carlos Rodr\u00edguez (Netcompany INEOS)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Top-10 Tour finisher consistently. Lacks the TT edge to challenge the top three directly but reads mountain stages better than his ranking suggests. In a race disrupted by crashes or illness, his consistency becomes a weapon. He is always there. He never disappears. Sometimes that is enough.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Isaac del Toro (UAE Team Emirates-XRG)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">UAE&#8217;s Plan B is better than most teams&#8217; Plan A. Del Toro won the Tour Auvergne-Rh\u00f4ne-Alpes in June. If Poga\u010dar has a problem, any problem, the squad already has a second GC rider who has been racing in peak form for six weeks. That is not a conventional dark horse. That is a locked loaded option the UAE hold in reserve.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Matteo Jorgenson (Visma-Lease a Bike)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Post-Van Aert, Jorgenson&#8217;s role expands. He proved in 2024\u20132025 that he can race for GC when given freedom. Visma may give him that freedom earlier than originally planned. On a mountain stage where Vingegaard is already in control, Jorgenson attacking for the stage changes the tactical picture entirely and accumulates time bonuses that matter across three weeks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lennert Van Eetvelt (Lotto Intermarch\u00e9)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Young Belgian climber with potential that no one has yet put a ceiling on. Lotto give him stage freedom on mountain days. His Dauphin\u00e9 2025 result flagged him as a coming force. In 2026, he is confirmed, motivated, and on a team that will not hold him back.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Antonio Tiberi (Bahrain Victorious)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tour debut at 23. Giro 2026 gave him three-week racing confidence. Italian climber who sat close to the leaders on hard Giro stages without cracking. Bahrain built their Tour roster around his GC ambitions. A quiet top-8 is realistic. A top-5 is possible if the race breaks the right way.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tom Pidcock (Pinarello-Q36.5)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not a GC dark horse, a stage dark horse with a real chance. On any summit finish where the GC leaders have emptied themselves and no one is watching the move that goes with 5 km remaining, Pidcock is the name to fear. He attacks the way no other rider in this race does. The crash recovery question is the only variable.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_be92ad-90 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_be92ad-90 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_be92ad-90\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 Riders by Speciality<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Sprint Stage Hunters \u2014 Green Jersey Battle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The 2026 route includes seven sprint stages: <strong><a href=\"https:\/\/franceletour.com\/fr\/tour-de-france-2026-stage-5\/\">5<\/a><\/strong>, 7, 8, 11, 13, 17, and 21. The green jersey goes to the rider who accumulates the most points across sprint stages and intermediate sprints throughout the race.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pure sprinters (wins Stage 5, 7, 8, 11, 13, 17, 21):<\/strong> <em>Jasper Philipsen (Alpecin)<\/em> is the green jersey favourite. He has the speed, the team, and the experience. <em>Biniam Girmay (NSN)<\/em> is the main challenger, one of the fastest riders in the world, the first African to win Tour stages, and highly motivated. <em>Tim Merlier (Soudal)<\/em> provides a third elite option. <em>Arnaud De Lie (Lotto)<\/em> is raw power. <em>Olav Kooij (Decathlon)<\/em> adds pace from a GC team that needs sprint stage neutrality.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Punchy sprint finishers (wins Stage 2, and selected hilly days):<\/strong> <em>Mads Pedersen, Michael Matthews, Julian Alaphilippe, Matej Mohori\u010d, and Magnus Cort<\/em> win the stages that end on short climbs or circuits where the pure sprinters cannot survive the final kilometre&#8217;s gradient.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mountain Specialists \u2014 Polka Dot Jersey Battle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The polka dot jersey rewards the first rider over the categorised climbs throughout the race. Summit finishes score double points. A dedicated KOM hunter who gets into breakaways every mountain stage can win this classification even while finishing 30 minutes behind the GC leaders.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Polka dot contenders:<\/strong> <em>Lenny Martinez (Bahrain)<\/em> is the clear favourite; his climbing profile suits the aggressive KOM hunting style. <em>Lorenzo Fortunato (Astana)<\/em> is the other dedicated option. <em>Giulio Ciccone (Lidl-Trek)<\/em> et <em>Warren Barguil (Picnic PostNL)<\/em> target KOM points from breakaways. <em>Magnus Cort (Uno-X)<\/em> takes points on the medium mountain stages in the race&#8217;s middle week.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Time Trial Specialists \u2014 Stage 16 (26km, Lake Geneva)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 16 is the race&#8217;s only individual time trial, 26 km from \u00c9vian-les-Bains to Thonon-les-Bains. The first 9 km climb steadily from the lake before a fast, flat finish into Thonon. It is short enough to limit the gaps but long enough to matter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Stage 16 contenders:<\/strong> <em>Stefan K\u00fcng (Tudor)<\/em>, World TT champion. <em>Filippo Ganna (INEOS)<\/em>, multiple World TT titles. <em>Remco Evenepoel<\/em>, Olympic ITT champion. <em>Victor Campenaerts<\/em>, Hour record holder. <em>Stefan Bissegger (Decathlon)<\/em>. <em>Edoardo Affini (Visma).<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Evenepoel can gain 60\u201390 seconds on Poga\u010dar over 26 km. He cannot gain 3 minutes. The time trial shapes the final week&#8217;s narrative but does not decide the Tour alone.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">All-Rounders \u2014 The Race-Shaping Riders<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Mathieu van der Poel, Michael Matthews, Matej Mohori\u010d, Micha\u0142 Kwiatkowski, Dylan Van Baarle, Jasper Stuyven, Matteo Jorgenson<\/em> (expanded role post-Van Aert), and Wout van Aert&#8217;s replacement (TBC June 23). These riders do not appear on the final podium. They decide which teams control the race on the days that look flat on paper but end up shaping the GC.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">White Jersey Contenders \u2014 Best U25 Rider<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The white jersey goes to the best-placed rider in the GC who was born on or after January 1, 2002, making them 24 or younger at the race start. Confirmed eligible riders: <strong>Paul Seixas<\/strong> (born 2006 \u2014 if he finishes top 10 GC, the white jersey is his), <strong>Isaac del Toro<\/strong> (born 2003), <strong>Cian Uijtdebroeks<\/strong> (born 2003), <strong>K\u00e9vin Vauquelin<\/strong> (born 2000 \u2014 not eligible), <strong>Florian Lipowitz<\/strong> (born 2000 \u2014 not eligible). The white jersey likely comes down to <strong>Seixas vs del Toro<\/strong>.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_d08a63-87 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_d08a63-87 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_d08a63-87\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 Riders by Nationality<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83c\udde7\ud83c\uddea<\/strong> Belgium \u2014 Most Watched Peloton, Van Aert&#8217;s Shadow<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Confirmed Belgians in the 2026 startlist: <\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\udde7\ud83c\uddea <strong>Remco Evenepoel<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Jasper Philipsen<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Arnaud De Lie<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Tiesj Benoot<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Jasper Stuyven<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Bert Van Lerberghe<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Ilan Van Wilder<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Maxim Van Gils<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Emiel Verstrynge<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Gianni Vermeersch<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Victor Campenaerts<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Lennert Van Eetvelt<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Jenthe Biermans<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li> \ud83c\udde7\ud83c\uddea <strong>Pieter Allegaert<\/strong>&nbsp;\u2013 Belgian<\/li>\n\n\n\n<li><strong>??? (Van Aert&#8217;s replacement \u2013 TBC)<\/strong>&nbsp;\u2013 \ud83c\udde7\ud83c\uddea Belgian&nbsp;<em>(expected)<\/em><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Belgium produces more WorldTour riders than any other nation per capita, and 2026 puts them at the centre of the race&#8217;s biggest pre-race story. Van Aert&#8217;s withdrawal casts a shadow over every Belgian name in the peloton.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83c\uddeb\ud83c\uddf7<\/strong> France \u2014 Seixas Carries a Nation<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">The French riders confirmed:<\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Paul Seixas<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>David Gaudu<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>K\u00e9vin Vauquelin<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Romain Gr\u00e9goire<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Guillaume Martin<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Bruno Armirail<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Dorian Godon<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Warren Barguil<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Valentin Paret-Peintre<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Hugo Page<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Elian Jegat<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Milan Fretin<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Thomas Bonnet<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li><strong>Lenny Martinez<\/strong>&nbsp;\u2013 \ud83c\uddeb\ud83c\uddf7 French \/ \ud83c\uddea\ud83c\uddf8 Spanish (dual nationality \u2013 competes under French licence)<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">France has not had a genuine Tour GC contender since Thibaut Pinot. Seixas changes that. At 19, he is the first French rider in years who the country believes can genuinely race for yellow, not just for a stage win or a top-10 finish. The emotion around his Tour debut will be unlike anything French cycling has experienced since Pinot&#8217;s mountain moments.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83c\uddf3\ud83c\uddf1<\/strong> Netherlands \u2014 Sprint and Classics Power<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">French-born racing Dutch team <\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\uddf3\ud83c\uddf1 <strong>Mathieu van der Poel<\/strong>&nbsp;\u2013 Dutch<\/li>\n\n\n\n<li> \ud83c\uddf3\ud83c\uddf1 <strong>Olav Kooij<\/strong>&nbsp;\u2013 Dutch<\/li>\n\n\n\n<li> \ud83c\uddf3\ud83c\uddf1 <strong>Frank van den Broek<\/strong>&nbsp;\u2013 Dutch<\/li>\n\n\n\n<li> \ud83c\uddeb\ud83c\uddf7 <strong>Bruno Armirail<\/strong>&nbsp;\u2013 French<\/li>\n\n\n\n<li> \ud83c\uddf3\ud83c\uddf1 <strong>Dylan van Baarle<\/strong>&nbsp;\u2013 Dutch<\/li>\n\n\n\n<li> \ud83c\uddf3\ud83c\uddf1 <strong>Frank van den Broek<\/strong>&nbsp;\u2013 Dutch<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The Netherlands punches well above its size in WorldTour cycling and concentrates that talent on sprint and classics-style stages. Van der Poel may be the rider who decides the outcome of Stage 1&#8217;s individual time component on the Montju\u00efc circuit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83c\udde9\ud83c\uddf0<\/strong> Denmark \u2014 Two Champions, One Race<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\udde9\ud83c\uddf0 <strong>Jonas Vingegaard<\/strong>&nbsp;\u2013 Danish<\/li>\n\n\n\n<li> \ud83c\udde9\ud83c\uddf0 <strong>Mads Pedersen<\/strong>&nbsp;\u2013 Danish<\/li>\n\n\n\n<li> \ud83c\udde9\ud83c\uddf0 <strong>S\u00f8ren Kragh Andersen<\/strong>&nbsp;\u2013 Danish<\/li>\n\n\n\n<li> \ud83c\udde9\ud83c\uddf0 <strong>Mikkel Honor\u00e9<\/strong>&nbsp;\u2013 Danish<\/li>\n\n\n\n<li> \ud83c\udde9\ud83c\uddf0 <strong>Magnus Cort<\/strong>&nbsp;\u2013 Danish<\/li>\n\n\n\n<li> \ud83c\udde9\ud83c\uddf0 <strong>Kasper Asgreen<\/strong>&nbsp;\u2013 Danish<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Denmark&#8217;s two most prominent riders in the race occupy opposite ends of the terrain spectrum, Vingegaard targets the overall title in the mountains while Pedersen hunts the sprint and punchy stage wins. Small nation, enormous cycling footprint.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83c\uddec\ud83c\udde7<\/strong> Great Britain \u2014 Deepest GC Country in the Peloton<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\ud83c\uddec\ud83c\udde7 <strong>Tom Pidcock<\/strong>&nbsp;\u2013 British<\/li>\n\n\n\n<li>\ud83c\uddec\ud83c\udde7 <strong>Fred Wright<\/strong>&nbsp;\u2013 British<\/li>\n\n\n\n<li>\ud83c\uddec\ud83c\udde7 <strong>Carr Simon<\/strong>&nbsp;\u2013 British<\/li>\n\n\n\n<li>\ud83c\uddec\ud83c\udde7 <strong>Adam Yates<\/strong>&nbsp;\u2013 British<\/li>\n\n\n\n<li>\ud83c\uddec\ud83c\udde7 <strong>Ben Tulett<\/strong>&nbsp;\u2013 British<\/li>\n\n\n\n<li>\ud83c\uddec\ud83c\udde7 <strong>Jack Stewart<\/strong>&nbsp;\u2013 British<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Analysis published earlier in 2026 ranked Great Britain first globally for GC contenders across the WorldTour, with 50% more top-20 GC-ranked riders than second-place Slovenia. Pidcock&#8217;s Tour debut is the British storyline, an Olympic champion making his first appearance at cycling&#8217;s biggest race.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83c\uddea\ud83c\uddf8<\/strong> Spain \u2014 Home Start Energy<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\uddea\ud83c\uddf8 <strong>Juan Ayuso<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li> \ud83c\uddea\ud83c\uddf8 <strong>Mikel Landa<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li> \ud83c\udde8\ud83c\uddf4 <strong>Einer Rubio<\/strong>&nbsp;\u2013 Colombian<\/li>\n\n\n\n<li><strong> \ud83c\uddea\ud83c\uddf8 Pablo Castrillo<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li><strong> \ud83c\uddea\ud83c\uddf8 Roger Adri\u00e0<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li><strong> \ud83c\uddea\ud83c\uddf8 Iv\u00e1n Romeo<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li><strong> \ud83c\uddea\ud83c\uddf8 Alex Aranburu<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li><strong> \ud83c\uddea\ud83c\uddf8 Ion Izagirre<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li> \ud83c\uddea\ud83c\uddf8 <strong>Pello Bilbao<\/strong>&nbsp;\u2013 Spanish<\/li>\n\n\n\n<li> \ud83c\uddea\ud83c\uddf8 <strong>Carlos Rodriguez<\/strong>&nbsp;\u2013 Spanish<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Movistar, a Spanish team with a Spanish GC leader in Uijtdebroeks, plus Caja Rural&#8217;s wildcard debut \u2014 Spain has not had this volume of emotional investment in a Tour start in years. Every stage on Spanish soil in the first two days will feel like a home race for half the peloton.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Colombia and Latin America \u2014 Climbing Strength<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\udde8\ud83c\uddf4 <strong>Daniel Felipe Mart\u00ednez<\/strong>&nbsp;\u2013 Colombian<\/li>\n\n\n\n<li> \ud83c\udde8\ud83c\uddf4 <strong>Harold Tejada<\/strong>&nbsp;\u2013 Colombian<\/li>\n\n\n\n<li> \ud83c\udde8\ud83c\uddf4 <strong>Sergio Higuita<\/strong>&nbsp;\u2013 Colombian<\/li>\n\n\n\n<li> \ud83c\udde8\ud83c\uddf4 <strong>Einer Rubio<\/strong>&nbsp;\u2013 Colombian<\/li>\n\n\n\n<li> \ud83c\uddea\ud83c\udde8 <strong>Richard Carapaz<\/strong>&nbsp;\u2013 Ecuadorian<\/li>\n\n\n\n<li> \ud83c\uddf2\ud83c\uddfd <strong>Isaac del Toro<\/strong>&nbsp;\u2013 Mexican<\/li>\n<\/ol>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Latin American climbing talent has reshaped Grand Tour racing over the past decade \u2014 and 2026 continues that trend, with del Toro arriving as one of the race&#8217;s most in-form riders.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Eritrea \u2014 Girmay Making History<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li> \ud83c\uddea\ud83c\uddf7  <strong>Biniam Girmay<\/strong>&nbsp;\u2013 Eritrean<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Girmay made history at the 2022 Tour de France as the first African rider to win a stage. He returns in 2026 as NSN&#8217;s centrepiece and one of the fastest sprinters in the peloton. His story extends beyond cycling into something larger \u2014 the representation of a continent in the world&#8217;s biggest bike race.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Other Nations Represented<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud83c\uddee\ud83c\uddf9 Italy<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\uddee\ud83c\uddf9 <strong>Filippo Ganna<\/strong>&nbsp;\u2013 Italian<\/li>\n\n\n\n<li> \ud83c\uddee\ud83c\uddf9 <strong>Antonio Tiberi<\/strong>&nbsp;\u2013 Italian<\/li>\n\n\n\n<li><strong> \ud83c\uddee\ud83c\uddf9 Giulio Ciccone<\/strong>&nbsp;\u2013 Italian<\/li>\n\n\n\n<li><strong> \ud83c\uddee\ud83c\uddf9 Lorenzo Fortunato<\/strong>&nbsp;\u2013 Italian<\/li>\n\n\n\n<li> \ud83c\uddee\ud83c\uddf9 <strong>Gianni Moscon<\/strong>&nbsp;\u2013 Italian<\/li>\n\n\n\n<li> \ud83c\uddee\ud83c\uddf9 <strong>Mattia Cattaneo<\/strong>&nbsp;\u2013 Italian<\/li>\n\n\n\n<li> \ud83c\uddee\ud83c\uddf9 <strong>Edoardo Affini<\/strong>&nbsp;\u2013 Italian<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud83c\uddf8\ud83c\uddee Slovenia<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\uddf8\ud83c\uddee <strong>Tadej Poga\u010dar<\/strong>&nbsp;\u2013Slovenian<\/li>\n\n\n\n<li> \ud83c\uddf8\ud83c\uddee <strong>Matej Mohori\u010d<\/strong>&nbsp;\u2013 Slovenian<\/li>\n\n\n\n<li> \ud83c\uddf8\ud83c\uddee <strong>Jan Tratnik<\/strong>&nbsp;\u2013 Slovenian<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud83c\udde6\ud83c\uddfa Australia<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\udde6\ud83c\uddfa <strong>Michael Matthews<\/strong>&nbsp;\u2013 Australian<\/li>\n\n\n\n<li> \ud83c\udde6\ud83c\uddfa <strong>Jay Hindley<\/strong>&nbsp;\u2013 Australian<\/li>\n\n\n\n<li> \ud83c\udde6\ud83c\uddfa <strong>Lucas Plapp<\/strong>&nbsp;\u2013 Australian&nbsp;<em>(often referred to as Luke Plapp)<\/em><\/li>\n\n\n\n<li> \ud83c\udde6\ud83c\uddfa <strong>Michael Storer<\/strong>&nbsp;\u2013 Australian<\/li>\n\n\n\n<li> \ud83c\udde6\ud83c\uddfa <strong>Kaden Groves<\/strong>&nbsp;\u2013 Australian<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud83c\uddfa\ud83c\uddf8 United States<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li> \ud83c\uddfa\ud83c\uddf8 <strong>Brandon McNulty<\/strong>&nbsp;\u2013 American<\/li>\n\n\n\n<li> \ud83c\uddfa\ud83c\uddf8 <strong>Quinn Simmons<\/strong>&nbsp;\u2013 American<\/li>\n\n\n\n<li> \ud83c\uddfa\ud83c\uddf8 <strong>Sepp Kuss<\/strong>&nbsp;\u2013 American<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Norway:<\/strong> Johannessen, Cort (Danish \u2014 races for Uno-X). <br><strong>Switzerland:<\/strong> K\u00fcng, Bissegger. <strong>Poland:<\/strong> Kwiatkowski. <br><strong>Czech Republic:<\/strong> Bittner, Vacek. <br><strong>Luxembourg:<\/strong> Kirsch. <strong>Rwanda:<\/strong> \u2014 (Girmay races for Eritrea).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Full nationality confirmation for all 184 riders will be published with the final startlist July 1.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_adf432-13 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_adf432-13 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_adf432-13\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Tour de France 2026 Debutants \u2014 Riders Making Their Grand Boucle Debut<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Paul Seixas (Decathlon CMA CGM)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">19 years old. Won La Fl\u00e8che Wallonne and the Tour of the Basque Country in the same spring. Second at Strade Bianche and Li\u00e8ge-Bastogne-Li\u00e8ge. No French rider has arrived at their Tour debut with results like these since \u2014 arguably \u2014 the sport has existed. He crashed at the Dauphin\u00e9 but is confirmed racing. France has waited years for this moment. Seixas arrives carrying the weight of a nation&#8217;s hope at an age when most riders are still learning what a Grand Tour feels like.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tom Pidcock (Pinarello-Q36.5)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Olympic mountain bike gold. Strade Bianche winner. A rider who has spent his career proving he belongs at the very top of the sport in every format except a Grand Tour. His Tour debut comes on a ProTeam that exists, in large part, because of him. The crash at Volta a Catalunya added a question mark. His mountain ability, when healthy, is not in question. The Tour&#8217;s mountain stages from week two onwards are where the answer arrives.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Antonio Tiberi (Bahrain Victorious)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">23 years old. Italian climber who built his Grand Tour understanding through the 2026 Giro. He stayed near the leaders on hard mountain stages without cracking. Bahrain took that Giro experience and pointed it at the Tour. A quiet top-8 would make him one of the most successful Tour debutants in recent seasons. He has the legs for it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Romain Gr\u00e9goire (Groupama-FDJ United)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">21 years old. Breakaway specialist with the engine to bridge gaps that open up on hard mountain days and the finishing speed to convert them. His Tour debut alongside Gaudu gives FDJ two different race options simultaneously. France watches Seixas for the GC. FDJ fans watch Gr\u00e9goire for the stage wins.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Isaac del Toro (UAE Team Emirates-XRG)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Technically a Tour debutant \u2014 this is his first start. In terms of form and racing readiness, he arrives as one of the top riders in the peloton. Winning the Tour Auvergne-Rh\u00f4ne-Alpes as Poga\u010dar&#8217;s supposed warm-up ride says everything about where del Toro is in his development. 22 years old. Mexican. The first Mexican rider with genuine Tour de France GC ambitions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Caja Rural-Seguros RGA (Team debut)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not just individual debutants \u2014 an entire team making their first Tour start. Founded in 2000, racing the Tour for the first time in 2026. Alex Molenaar leads the confirmed riders. Every stage is new territory. Every morning they sign on is the fulfilment of 26 years of work.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_f54739-3f .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_f54739-3f .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_f54739-3f\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The Super Domestiques \u2014 The Riders Who Decide the Tour Without Winning It<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The best-known names in professional cycling win races. The people who make those wins possible are rarely talked about until they stop making them possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sepp Kuss (Visma-Lease a Bike)<\/strong> won the 2023 Vuelta a Espa\u00f1a when Visma asked him to. He then handed that career-defining victory aside to protect Vingegaard at subsequent Tours. Post-Van Aert, Kuss&#8217;s role expands in ways that will be tested earlier than expected. He is the rider who determines how deep into the mountain stages Vingegaard can maintain speed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Adam Yates (UAE Team Emirates-XRG)<\/strong> is one of the best GC riders never to have won a Grand Tour in his own right. Every July, he sacrifices his own ambitions to pace Poga\u010dar. In any other team, he is a Tour podium candidate. At UAE, he is the second man up the road who sets the tempo before standing aside. That choice defines the squad&#8217;s dominance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Victor Campenaerts (Visma-Lease a Bike)<\/strong> holds the Hour Record \u2014 the purest measure of sustained speed in cycling. As a team time trial engine he is invaluable, and as a flat stage motor he covers the ground Van Aert no longer can. He will be used differently in 2026 than originally planned.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mattia Cattaneo (Red Bull-BORA-hansgrohe)<\/strong> is the human bridge between the flat finish of each day&#8217;s rolling kilometres and the final climb where Evenepoel takes over. Without Cattaneo controlling the pace through the final valley, Evenepoel reaches the climb with less in reserve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Micha\u0142 Kwiatkowski (Netcompany INEOS)<\/strong> has been reading Grand Tour races from inside the peloton since 2012. He won the World Championships in 2014. Now he reads the race so his teammates do not have to \u2014 a role that cannot be replicated by raw climbing power.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>S\u00f8ren Kragh Andersen (Lidl-Trek)<\/strong> \u2014 the quiet engine behind Ayuso. He does not appear in any GC conversation. He appears at the front of the peloton on the day that matters, setting a tempo Ayuso can follow and rivals cannot.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_a56913-e6 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_a56913-e6 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_a56913-e6\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" style=\"text-transform:uppercase\">Tour de France 2026 Stage Predictions \u2014 Which Rider Wins Which Stage?<\/h2>\n\n\n\n<style>\n.stage-favs-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.stage-favs-card {\n  background: #ffffff;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.stage-favs-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: #EFEEEB;\n}\n\n.stage-favs-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.stage-favs-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: orange;\n  color: #000000;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.stage-favs-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  background: #ffffff;\n}\n\n.stage-favs-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 750px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.stage-favs-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: #EFEEEB;\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.stage-favs-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.stage-favs-table tbody tr:hover {\n  background: #F8F8F6;\n}\n\n.stage-favs-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.stage-favs-table tbody tr.rest-row {\n  background: rgba(0,0,0,0.02);\n  color: #aaa;\n  font-style: italic;\n}\n\n.stage-num {\n  font-weight: 600;\n  color: #111;\n}\n\n@media (max-width: 600px) {\n  .stage-favs-table thead th,\n  .stage-favs-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"stage-favs-wrap\">\n  <div class=\"stage-favs-card\">\n    \n    <div class=\"stage-favs-header\">\n      <h3 class=\"stage-favs-title\">Stage-by-Stage Favourites \u2014 Tour de France 2026<\/h3>\n      <span class=\"stage-favs-badge\">Predictions<\/span>\n    <\/div>\n\n    <div class=\"stage-favs-scroll\">\n      <table class=\"stage-favs-table\">\n        <thead>\n          <tr>\n            <th>Stage<\/th>\n            <th>Date<\/th>\n            <th>Route<\/th>\n            <th>Type<\/th>\n            <th>Sprint favourite<\/th>\n            <th>Stage win contenders<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr><td class=\"stage-num\">1<\/td><td>Jul 4<\/td><td>Barcelona TTT<\/td><td>TTT 19.7km<\/td><td>\u2014<\/td><td>UAE, Visma, Red Bull<\/td><\/tr>\n          <tr><td class=\"stage-num\">2<\/td><td>Jul 5<\/td><td>Tarragona \u203a Montju\u00efc<\/td><td>Hilly \/ Punch<\/td><td>Pedersen<\/td><td>Alaphilippe, Van der Poel, Pidcock, Gr\u00e9goire<\/td><\/tr>\n          <tr><td class=\"stage-num\">3<\/td><td>Jul 6<\/td><td>\u203a Les Angles<\/td><td>Montagne<\/td><td>\u2014<\/td><td>Poga\u010dar, Vingegaard, Seixas<\/td><\/tr>\n          <tr><td class=\"stage-num\">4<\/td><td>Jul 7<\/td><td>\u203a Foix<\/td><td>vallonn\u00e9<\/td><td>\u2014<\/td><td>Gr\u00e9goire, Healy, Izagirre, Barguil<\/td><\/tr>\n          <tr><td class=\"stage-num\">5<\/td><td>Jul 8<\/td><td>\u203a Pau<\/td><td>Sprint<\/td><td>Philipsen<\/td><td>Girmay, Merlier, De Lie<\/td><\/tr>\n          <tr><td class=\"stage-num\">6<\/td><td>Jul 9<\/td><td>\u203a Gavarnie-G\u00e8dre<\/td><td>Montagne<\/td><td>\u2014<\/td><td>Poga\u010dar, Vingegaard, Lipowitz, Evenepoel<\/td><\/tr>\n          <tr><td class=\"stage-num\">7<\/td><td>Jul 10<\/td><td>\u203a Bordeaux<\/td><td>Sprint<\/td><td>Philipsen<\/td><td>De Lie, Kooij, Girmay<\/td><\/tr>\n          <tr><td class=\"stage-num\">8<\/td><td>Jul 11<\/td><td>\u203a Bergerac<\/td><td>Sprint<\/td><td>Merlier<\/td><td>Girmay, Groves, Bittner<\/td><\/tr>\n          <tr><td class=\"stage-num\">9<\/td><td>Jul 12<\/td><td>\u203a Ussel<\/td><td>vallonn\u00e9<\/td><td>\u2014<\/td><td>Healy, Barguil, Cort, Zimmermann<\/td><\/tr>\n          <tr class=\"rest-row\"><td class=\"stage-num\">REST<\/td><td>Jul 13<\/td><td>Rest Day 1<\/td><td>\u2014<\/td><td>\u2014<\/td><td>\u2014<\/td><\/tr>\n          <tr><td class=\"stage-num\">10<\/td><td>Jul 14<\/td><td>\u203a Le Lioran<\/td><td>Montagne<\/td><td>\u2014<\/td><td>Poga\u010dar, Seixas, Johannessen<\/td><\/tr>\n          <tr><td class=\"stage-num\">11<\/td><td>Jul 15<\/td><td>\u203a Nevers<\/td><td>Sprint<\/td><td>Philipsen<\/td><td>De Lie, Girmay<\/td><\/tr>\n          <tr><td class=\"stage-num\">12<\/td><td>Jul 16<\/td><td>\u203a Chalon-sur-Sa\u00f4ne<\/td><td>vallonn\u00e9<\/td><td>\u2014<\/td><td>Gr\u00e9goire, Ciccone, Cort<\/td><\/tr>\n          <tr><td class=\"stage-num\">13<\/td><td>Jul 17<\/td><td>\u203a Belfort<\/td><td>Sprint<\/td><td>Merlier<\/td><td>Girmay, Groves, Ackermann<\/td><\/tr>\n          <tr><td class=\"stage-num\">14<\/td><td>Jul 18<\/td><td>\u203a Le Markstein<\/td><td>Montagne<\/td><td>\u2014<\/td><td>Pidcock, Ciccone, Healy, Gr\u00e9goire<\/td><\/tr>\n          <tr><td class=\"stage-num\">15<\/td><td>Jul 19<\/td><td>\u203a Solaison<\/td><td>Montagne<\/td><td>\u2014<\/td><td>Poga\u010dar, Vingegaard, Evenepoel<\/td><\/tr>\n          <tr class=\"rest-row\"><td class=\"stage-num\">REST<\/td><td>Jul 20<\/td><td>Rest Day 2<\/td><td>\u2014<\/td><td>\u2014<\/td><td>\u2014<\/td><\/tr>\n          <tr><td class=\"stage-num\">16<\/td><td>Jul 21<\/td><td>\u00c9vian \u203a Thonon ITT<\/td><td>ITT 26km<\/td><td>\u2014<\/td><td>K\u00fcng, Ganna, Evenepoel, Campenaerts<\/td><\/tr>\n          <tr><td class=\"stage-num\">17<\/td><td>Jul 22<\/td><td>\u203a Voiron<\/td><td>Sprint<\/td><td>Philipsen<\/td><td>Kooij, Girmay, De Lie<\/td><\/tr>\n          <tr><td class=\"stage-num\">18<\/td><td>Jul 23<\/td><td>\u203a Orci\u00e8res-Merlette<\/td><td>Montagne<\/td><td>\u2014<\/td><td>Poga\u010dar, Seixas, Lipowitz, Tiberi<\/td><\/tr>\n          <tr><td class=\"stage-num\">19<\/td><td>Jul 24<\/td><td>\u203a Alpe d&#8217;Huez #1<\/td><td>Montagne<\/td><td>\u2014<\/td><td>Poga\u010dar, Vingegaard, Pidcock<\/td><\/tr>\n          <tr><td class=\"stage-num\">20<\/td><td>Jul 25<\/td><td>\u203a Alpe d&#8217;Huez #2<\/td><td>Queen Stage<\/td><td>\u2014<\/td><td>Poga\u010dar, Vingegaard<\/td><\/tr>\n          <tr><td class=\"stage-num\">21<\/td><td>Jul 26<\/td><td>Thoiry \u203a Paris<\/td><td>Finale<\/td><td>Philipsen<\/td><td>Girmay, De Lie, Merlier<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 20 is the queen stage \u2014 Galibier at 2,642 m, Col de Sarenne, then Alpe d&#8217;Huez. 5,600 metres of climbing in a single day. If the Tour is still undecided at the base of that final climb, what happens in the next 13.9 km at 8% average gradient will be one of the most watched moments in cycling&#8217;s recent history.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_965829-4d .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-7181_965829-4d .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_965829-4d\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 Jersey Contenders \u2014 All Four Classifications<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Yellow Jersey (GC) \u2014 Maillot Jaune<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Favourite:<\/strong> Tadej Poga\u010dar (UAE) <strong>Challenger:<\/strong> Jonas Vingegaard (Visma) <strong>Dark horses:<\/strong> Evenepoel, Lipowitz, Ayuso, Seixas<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The yellow jersey goes to the rider with the lowest cumulative time after all 21 stages. Time bonuses are awarded at summit finishes (10, 6, 4 seconds for the first three) and intermediate sprint points (3, 2, 1 seconds). The Stage 1 TTT sets the first GC order before a mountain has been climbed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Green Jersey (Points) \u2014 Maillot Vert<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Favourite:<\/strong> Jasper Philipsen (Alpecin) <strong>Challengers:<\/strong> Biniam Girmay (NSN), Tim Merlier (Soudal), Arnaud De Lie (Lotto)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Points are awarded at each stage finish and at designated intermediate sprint locations. Sprint stage wins carry the most points. The green jersey battle in 2026 is a three-way fight between Philipsen&#8217;s experience, Girmay&#8217;s speed, and Merlier&#8217;s positioning \u2014 with De Lie&#8217;s raw power capable of winning any sprint on the right day.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Polka Dot Jersey (KOM) \u2014 Maillot \u00e0 Pois<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Favourite:<\/strong> Lenny Martinez (Bahrain) <strong>Challengers:<\/strong> Lorenzo Fortunato (Astana), Giulio Ciccone (Lidl-Trek), Warren Barguil (Picnic PostNL), Magnus Cort (Uno-X)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The polka dot jersey rewards the first rider over each categorised climb. There are 30 categorised climbs in the 2026 route. A dedicated KOM hunter who gets into the right breakaways on mountain stages can accumulate enough points to win this classification without ever threatening the GC. Martinez is the favourite, his climbing profile and team freedom make him the most likely daily points leader in the mountains.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">White Jersey (Best U25) \u2014 Maillot Blanc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Favourite:<\/strong> Paul Seixas (Decathlon) or Isaac del Toro (UAE) <strong>Eligibility:<\/strong> Born on or after January 1, 2002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The white jersey goes to the highest-placed GC rider born on or after January 1, 2002. Seixas (born 2006) and del Toro (born 2003) are the two contenders. Seixas races as a GC leader; if his GC result is strong, the white jersey follows automatically. Del Toro&#8217;s role as Poga\u010dar&#8217;s support rider means his GC result depends on when and whether UAE give him individual freedom. Seixas is the favourite to wear white in Paris.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_1bdd15-93 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-7181_1bdd15-93 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_1bdd15-93\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Tour de France 2026 Prize Money \u2014 What Every Rider Competes For<\/h2>\n\n\n\n<style>\n.prize-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.prize-card {\n  background: #ffffff;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.prize-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: #EFEEEB;\n}\n\n.prize-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.prize-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: orange;\n  color: #000000;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.prize-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  background: #ffffff;\n}\n\n.prize-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 500px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.prize-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #555;\n  text-align: left;\n  padding: 0.7rem 0.9rem;\n  background: #EFEEEB;\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.prize-table tbody td {\n  padding: 0.7rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n  line-height: 1.4;\n}\n\n.prize-table tbody tr:hover {\n  background: #F8F8F6;\n}\n\n.prize-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.prize-class {\n  font-weight: 600;\n  color: #111;\n}\n\n.prize-amount {\n  font-weight: 700;\n  color: #27500A;\n}\n\n@media (max-width: 600px) {\n  .prize-table thead th,\n  .prize-table tbody td {\n    padding: 0.5rem 0.6rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"prize-wrap\">\n  <div class=\"prize-card\">\n    \n    <div class=\"prize-header\">\n      <h3 class=\"prize-title\">Tour de France 2026 \u2014 Prize Money<\/h3>\n      <span class=\"prize-badge\">Prizes<\/span>\n    <\/div>\n\n    <div class=\"prize-scroll\">\n      <table class=\"prize-table\">\n        <thead>\n          <tr>\n            <th>Classification<\/th>\n            <th>Prize<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr>\n            <td class=\"prize-class\">Overall winner \u2014 yellow jersey<\/td>\n            <td class=\"prize-amount\">\u20ac500,000<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">2nd place GC<\/td>\n            <td class=\"prize-amount\">\u20ac200,000<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">3rd place GC<\/td>\n            <td class=\"prize-amount\">\u20ac100,000<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">Stage winner<\/td>\n            <td class=\"prize-amount\">\u20ac11,000<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">Green jersey final winner<\/td>\n            <td class=\"prize-amount\">\u20ac25,000 (est.)<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">Polka dot jersey final winner<\/td>\n            <td class=\"prize-amount\">\u20ac25,000 (est.)<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">White jersey final winner<\/td>\n            <td class=\"prize-amount\">\u20ac25,000 (est.)<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">Team classification winner<\/td>\n            <td class=\"prize-amount\">Shared pool<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">Total prize pool<\/td>\n            <td class=\"prize-amount\">~\u20ac2.3 million<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"prize-class\">Most combative rider (daily)<\/td>\n            <td class=\"prize-amount\">\u20ac2,000 per stage<\/td>\n          <\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The \u20ac500,000 GC prize represents approximately 6% of Poga\u010dar&#8217;s base annual salary of \u20ac8 million. Prize money is not why WorldTour riders race the Tour de France. EF Education-EasyPost generated \u20ac98 million in media value during the 2025 Tour after Ben Healy wore yellow. That is the real prize, the commercial visibility that justifies \u20ac10\u201350 million annual sponsorship investments. Every stage win is worth far more in brand exposure than the \u20ac11,000 it pays on the day.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_ee84fb-a6 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_ee84fb-a6 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_ee84fb-a6\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">What This Startlist Means for the Race \u2014 Tactical Implications<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Van Aert withdrawal is the defining pre-race storyline. It does not remove Visma from the GC fight, Vingegaard won the Giro without Van Aert&#8217;s help. But it changes the shape of 21 stages. The TTT on Stage 1 loses its most powerful motor. The sprint stage positioning, those nervous hours in a 184-rider peloton on flat roads before the mountains arrive, loses its most experienced handler. The mountain lead-out that sets up Vingegaard for a solo attack loses the rider who can drive harder than anyone at the base of a final climb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Del Toro&#8217;s form shifts the UAE dynamic in the opposite direction. They arrived in 2025 with Poga\u010dar and support. They arrive in 2026 with Poga\u010dar and a Plan B who just won a WorldTour stage race. Rivals must track two UAE riders on mountain stages rather than one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Red Bull&#8217;s double GC leadership, Evenepoel and Lipowitz confirmed simultaneously, forces every other GC team into a positioning problem. You cannot follow both riders when they go in different directions on a mountain stage. One will get away. That is the tactical design.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caja Rural&#8217;s first Tour start adds something less quantifiable: a team racing with nothing to lose on a stage that might not be watched as carefully as it should be. Breakaway specialists from new teams have won more stages than pre-race favourites expect. Caja Rural will try something every day they can.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7181_c8915d-c2 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-7181_c8915d-c2 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7181_c8915d-c2\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Tour de France 2026 Startlist \u2014 FAQs<\/h2>\n\n\n\n<style>\n.startlist-faq-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.startlist-faq-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.startlist-faq-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.startlist-faq-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.startlist-faq-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.startlist-faq-list {\n  padding: 0.8rem 1.5rem 1.5rem;\n  display: flex;\n  flex-direction: column;\n  gap: 0.55rem;\n}\n\n.startlist-faq-item {\n  background: rgba(255,255,255,0.45);\n  border: 1px solid rgba(99,153,34,0.12);\n  border-radius: 12px;\n  overflow: hidden;\n  transition: background 0.2s ease, border-color 0.2s ease;\n}\n\n.startlist-faq-item:hover {\n  background: rgba(255,255,255,0.7);\n  border-color: rgba(99,153,34,0.25);\n}\n\n.startlist-faq-item.open {\n  background: rgba(255,255,255,0.7);\n  border-color: rgba(99,153,34,0.3);\n}\n\n.startlist-faq-question {\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  background: none;\n  border: none;\n  padding: 1rem 1.2rem;\n  cursor: pointer;\n  font-family: 'DM Sans', sans-serif;\n  font-size: 0.9rem;\n  font-weight: 600;\n  color: #111;\n  text-align: left;\n  line-height: 1.4;\n  transition: background 0.15s ease;\n}\n\n.startlist-faq-question:hover {\n  background: rgba(234,243,222,0.35);\n}\n\n.startlist-faq-question-text {\n  flex: 1;\n  min-width: 0;\n}\n\n.startlist-faq-icon {\n  width: 22px;\n  height: 22px;\n  flex-shrink: 0;\n  transition: transform 0.25s ease;\n  stroke: #27500A;\n}\n\n.startlist-faq-item.open .startlist-faq-icon {\n  transform: rotate(45deg);\n}\n\n.startlist-faq-answer {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.4s ease, padding 0.4s ease;\n  padding: 0 1.2rem;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.65;\n  background: rgba(255,255,255,0.2);\n  border-top: 1px solid transparent;\n}\n\n.startlist-faq-item.open .startlist-faq-answer {\n  max-height: 900px;\n  padding: 0.9rem 1.2rem 1.1rem;\n  border-top-color: rgba(99,153,34,0.1);\n}\n\n.startlist-faq-answer p {\n  margin: 0;\n}\n\n.startlist-faq-answer strong {\n  color: #000;\n  font-weight: 600;\n}\n\n@media (max-width: 600px) {\n  .startlist-faq-list {\n    padding: 0.6rem 1rem 1.2rem;\n    gap: 0.45rem;\n  }\n  .startlist-faq-question {\n    padding: 0.85rem 1rem;\n    font-size: 0.85rem;\n  }\n  .startlist-faq-answer {\n    padding: 0 1rem;\n    font-size: 0.8rem;\n  }\n  .startlist-faq-item.open .startlist-faq-answer {\n    padding: 0.75rem 1rem 0.95rem;\n  }\n}\n<\/style>\n\n<div class=\"startlist-faq-wrap\">\n  <div class=\"startlist-faq-card\">\n    \n    <div class=\"startlist-faq-header\">\n      <h2 class=\"startlist-faq-title\">Tour de France 2026 Startlist \u2014 Frequently Asked Questions<\/h2>\n      <span class=\"startlist-faq-badge\">FAQ<\/span>\n    <\/div>\n\n    <div class=\"startlist-faq-list\" id=\"startlistFaqAccordion\">\n\n      <!-- Q1 open by default -->\n      <div class=\"startlist-faq-item open\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"true\">\n          <span class=\"startlist-faq-question-text\">Q: How many riders are in the Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>The Tour de France 2026 has <strong>184 riders<\/strong> across 23 teams \u2014 8 riders per team. The preliminary startlist shows 111 confirmed riders as of June 20, 2026. Final rosters are submitted June 23\u201324, with the complete official startlist confirmed at the team presentation in Barcelona on <strong>July 1<\/strong>.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q2 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: How many teams are in the Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p><strong>23 teams<\/strong> compete in the 2026 Tour. The field includes 18 UCI WorldTeams, 3 ProTeams via 2025 UCI ranking (Tudor, Pinarello-Q36.5, Cofidis), and 2 wildcard ProTeams (TotalEnergies and Caja Rural). Each team races with exactly 8 riders.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q3 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Who is the favourite to win the Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p><strong>Tadej Poga\u010dar<\/strong> (UAE Team Emirates-XRG) is the clear favourite \u2014 chasing a fifth title that would match the record. Jonas Vingegaard (Visma) is the main challenger after winning the 2026 Giro, though he races without Wout van Aert. Remco Evenepoel and Florian Lipowitz (Red Bull-BORA) complete the top tier.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q4 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Is Wout van Aert racing the Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p><strong>No.<\/strong> Wout van Aert was officially withdrawn on June 17 after an elbow wound infection failed to heal in time. He crashed in training before the Tour Auvergne-Rh\u00f4ne-Alpes. Visma confirmed his replacement will be announced <strong>June 23<\/strong> when they submit their final 8-rider roster.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q5 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Is Paul Seixas confirmed for the Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p><strong>Yes.<\/strong> Paul Seixas is confirmed racing despite crashing at the Tour Auvergne-Rh\u00f4ne-Alpes. The 19-year-old arrives as France&#8217;s biggest GC hope in a generation \u2014 winner of La Fl\u00e8che Wallonne and the Tour of the Basque Country in 2026. This is his Tour debut.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q6 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: When is the Tour de France 2026 startlist confirmed?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Teams submit final 8-rider rosters on <strong>June 23\u201324, 2026<\/strong>. The complete official startlist is confirmed at the team presentation in Barcelona on <strong>July 1<\/strong> \u2014 three days before Stage 1.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q7 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: What is the difference between a preliminary and final startlist?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>The preliminary startlist lists riders teams intend to bring \u2014 it is not legally binding. The final startlist is submitted June 23\u201324 and confirmed July 1. It becomes the official legal document. Riders removed after this result in a DNS at Stage 1, not a startlist change.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q8 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Who wears race number 1 at the Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p><strong>Tadej Poga\u010dar<\/strong> wears race number 1. The defending champion&#8217;s team always receives numbers 1\u20138. UAE Team Emirates-XRG hold those numbers in 2026.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q9 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Which riders are making their Tour de France debut in 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Confirmed first-time starters include Paul Seixas, Tom Pidcock, Antonio Tiberi, Isaac del Toro, Romain Gr\u00e9goire, and Alex Molenaar. Caja Rural-Seguros RGA also make their team debut. Full debutant list confirmed July 1.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q10 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: How many French riders are in the Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Confirmed French riders include Paul Seixas, David Gaudu, K\u00e9vin Vauquelin, Romain Gr\u00e9goire, Guillaume Martin, Dorian Godon, Warren Barguil, Valentin Paret-Peintre, Hugo Page, Jordan Jegat, Milan Fretin, and Benjamin Thomas. Lenny Martinez carries French identity through Bahrain. Full French contingent confirmed July 1.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q11 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Who are the best sprinters in the 2026 Tour de France startlist?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Top sprint contenders: <strong>Jasper Philipsen<\/strong> (Alpecin), <strong>Biniam Girmay<\/strong> (NSN), <strong>Tim Merlier<\/strong> (Soudal Quick-Step), and <strong>Arnaud De Lie<\/strong> (Lotto). Olav Kooij (Decathlon) adds pace. Punchy finishers Mads Pedersen, Michael Matthews, and Julian Alaphilippe win medium-mountain sprint stages.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q12 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Who is defending the white jersey at Tour de France 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Florian Lipowitz won the white jersey in 2025 but is no longer U25 eligible. The 2026 battle is expected between <strong>Paul Seixas<\/strong> (Decathlon, born 2006) and <strong>Isaac del Toro<\/strong> (UAE, born 2003), both on their Tour debuts.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q13 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: What happens if a rider withdraws after the startlist is confirmed?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>After July 1, teams cannot add replacements. A withdrawal results in a DNS (Did Not Start) \u2014 the team races with 7 riders. During the race, a rider who abandons results in a DNF (Did Not Finish).<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q14 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Who are the dark horses for the Tour de France 2026 GC?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Most credible dark horses: <strong>Tobias Halland Johannessen<\/strong> (Uno-X \u2014 6th in 2025), <strong>K\u00e9vin Vauquelin<\/strong> (INEOS \u2014 7th in 2025), <strong>Ben Healy<\/strong> (EF \u2014 yellow jersey days in 2025), <strong>Cian Uijtdebroeks<\/strong> (Movistar), and <strong>Carlos Rodr\u00edguez<\/strong> (INEOS). Lennert Van Eetvelt and Antonio Tiberi round out the list.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q15 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Where can I find the full updated Tour de France 2026 startlist?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>This page is the most comprehensive startlist reference, updated daily through July 3. The official startlist PDF publishes on <strong>letour.fr<\/strong> on or before July 1. Final rosters are confirmed at the Barcelona team presentation on <strong>July 1 at 18:00 CEST<\/strong>.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q16 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Do you update the startlist when riders withdraw?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Yes. This page updates within hours of any confirmed withdrawal. The Van Aert withdrawal was added the day of Visma&#8217;s announcement. All June 23\u201324 roster submissions will be reflected here. During the race, DNS and DNF updates publish in real time.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q17 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Which riders are you watching most closely at TdF 2026?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Seixas and del Toro in the white jersey battle \u2014 both on Tour debut, completely different roles. Vingegaard-without-Van Aert is the most compelling tactical unknown. Pidcock on a mountain stage in week two. K\u00fcng vs Evenepoel in the Stage 16 ITT will tell us more than any pre-race prediction.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q18 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Where do you publish live stage results during the Tour?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Live stage results, GC standings with time gaps, intermediate sprint and KOM points, and jersey updates publish on this site&#8217;s live results section during each stage day from Stage 1 (July 4) through Stage 21 (July 26).<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q19 -->\n      <div class=\"startlist-faq-item\">\n        <button class=\"startlist-faq-question\" aria-expanded=\"false\">\n          <span class=\"startlist-faq-question-text\">Q: Do you cover Tour de France Femmes 2026 riders?<\/span>\n          <svg class=\"startlist-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"startlist-faq-answer\">\n          <p>Yes. The Tour de France Femmes avec Zwift runs <strong>August 1\u20139, 2026<\/strong>, with 21 teams and full coverage on this site. Team rosters, rider profiles, GC contender analysis, and stage-by-stage coverage are available in the dedicated Femmes section.<\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  const accordion = document.getElementById('startlistFaqAccordion');\n  if (!accordion) return;\n\n  accordion.addEventListener('click', function(e) {\n    const button = e.target.closest('.startlist-faq-question');\n    if (!button) return;\n\n    const currentItem = button.closest('.startlist-faq-item');\n    const isOpen = currentItem.classList.contains('open');\n\n    \/\/ Close all items\n    accordion.querySelectorAll('.startlist-faq-item').forEach(item => {\n      item.classList.remove('open');\n      item.querySelector('.startlist-faq-question').setAttribute('aria-expanded', 'false');\n    });\n\n    \/\/ Open clicked item if it wasn't already open\n    if (!isOpen) {\n      currentItem.classList.add('open');\n      button.setAttribute('aria-expanded', 'true');\n    }\n  });\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Last updated: June 20, 2026. This page updates daily as rosters are finalised. Final startlist confirmed July 1, 2026 \u2014 team presentation, Pla\u00e7a de Catalunya, Barcelona, 18:00 CEST.<\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Tour de France 2026 Startlist: All 184 Riders, Teams, Contenders &amp; Full Guide Last Updated: June 21, 2026 The Tour de France 2026 startlist covers 23 teams and 184 riders racing from Barcelona to Paris, July 4\u201326. This is the complete reference, every confirmed rider, every team role, GC contenders, dark horses, debutants, jersey predictions,&#8230;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-7181","page","type-page","status-publish","hentry"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"Gautier Durfort","author_link":"https:\/\/franceletour.com\/fr\/author\/gautier-durfort\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/7181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/comments?post=7181"}],"version-history":[{"count":19,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/7181\/revisions"}],"predecessor-version":[{"id":7246,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/7181\/revisions\/7246"}],"wp:attachment":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/media?parent=7181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}