/* Page Remise en forme : seulement ses sections propres. Haut de page, bandeau, titres et
   fin de page viennent des styles communs (accueil, page Hyrox). */

.rf-icon{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rf-badge{flex:none;width:30px;height:30px;padding:13px;border-radius:50%;background:var(--fluo);color:var(--night);fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;box-sizing:content-box}

/* 3. La séance se règle sur votre niveau du jour. */
.rf-start{background:var(--soft);padding:96px 0}
.rf-start-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}
.rf-tuner{padding:38px 40px 34px;border-radius:14px;background:var(--night);color:var(--paper);box-shadow:10px 10px 0 var(--fluo);transform:rotate(-1.2deg)}
.rf-tuner-label{margin:0 0 18px;font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--fluo)}
.rf-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border-radius:40px;background:#ffffff14}
.rf-levels button{padding:12px 10px;border:0;border-radius:30px;background:none;color:var(--paper);font:inherit;font-size:14px;font-weight:800;line-height:1.2;cursor:pointer;transition:background .25s,color .25s}
.rf-levels button[aria-checked=true]{background:var(--fluo);color:var(--night)}
.rf-gauges{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:18px}
.rf-gauges li{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:16px;font-size:15px;font-weight:750}
.rf-gauges i{display:block;height:14px;border-radius:10px;background:#ffffff1f;overflow:hidden}
.rf-gauges b{display:block;height:100%;width:calc(var(--v,.3)*100%);border-radius:10px;background:repeating-linear-gradient(125deg,var(--fluo) 0 10px,#c4e82b 10px 13px);transition:width .5s cubic-bezier(.3,.8,.3,1)}
.rf-tuner-result{margin:28px 0 0;font-size:17px;font-weight:850}
.rf-tuner-result span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:50%;background:var(--fluo);color:var(--night);font-size:15px}
.rf-start-copy article{display:flex;gap:22px;align-items:flex-start}
.rf-start-copy article+article{margin-top:34px;padding-top:34px;border-top:1px solid #d8ddd5}
.rf-start-copy h3{margin:4px 0 14px;font-size:26px}
.rf-start-copy p{margin:0;font-size:17.5px;line-height:1.65;color:#474b47}

/* 4. Les activités : chapô et carte d'orientation de même hauteur, puis trois billets. */
.rf-activities-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:stretch;padding:0 10px 10px 0}
.rf-lead{display:flex;align-items:center}
.rf-lead p{margin:0;font-size:20px!important;line-height:1.6!important}
.rf-lead a,.rf-tickets a{color:inherit}
.rf-lead a{text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:4px;text-underline-offset:3px}
.rf-orient{display:flex;gap:20px;align-items:center;padding:28px 30px;border-radius:12px;background:var(--fluo);box-shadow:10px 10px 0 var(--night);transform:rotate(1deg)}
.rf-orient .rf-badge{background:var(--night);color:var(--fluo)}
.rf-orient p{margin:0}
.rf-tickets{list-style:none;margin:56px 0 0;padding:0 10px 10px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.rf-ticket{position:relative;display:block;height:300px;overflow:hidden;border-radius:14px;box-shadow:10px 10px 0 var(--night);text-decoration:none;transition:transform .25s}
.rf-tickets li:nth-child(1) .rf-ticket{transform:rotate(-1.5deg)}
.rf-tickets li:nth-child(2) .rf-ticket{transform:rotate(1deg) translateY(18px)}
.rf-tickets li:nth-child(3) .rf-ticket{transform:rotate(-.6deg)}
.rf-tickets .rf-ticket:hover{transform:rotate(0) translateY(-6px)}
.rf-ticket img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rf-ticket:hover img{transform:scale(1.05)}
.rf-ticket:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#0d0f0dcc)}
.rf-ticket-name{position:absolute;z-index:1;left:24px;bottom:58px;color:var(--paper);font-size:28px;font-weight:900;letter-spacing:-.03em}
.rf-ticket-go{position:absolute;z-index:1;left:24px;bottom:22px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:30px;background:var(--fluo);color:var(--night);font-size:13px;font-weight:850}
.rf-ticket-go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6}

/* 5. Les résultats : trois cartes de même hauteur, un anneau qui se remplit au défilement. */
.rf-results{background:var(--soft)}
.rf-results .hx-title{text-align:center}  /* au-dessus des trois anneaux (Virginie, 01/10) */
.rf-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0 10px 10px 0}
.rf-result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:38px 30px 40px;border-radius:12px;background:var(--paper);box-shadow:10px 10px 0 var(--night);transform:rotate(-1deg)}
.rf-result:nth-child(2){background:var(--fluo);transform:rotate(1.1deg)}
.rf-result:nth-child(3){background:var(--sky);transform:rotate(-.6deg)}
.rf-result h3{margin:26px 0 14px;font-size:23px!important}
.rf-result p{margin:0;font-size:16.5px!important;line-height:1.6!important}
.rf-ring{position:relative;width:120px;height:120px;display:grid;place-items:center}
.rf-ring .rf-ring-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.rf-ring .rf-icon{position:relative;width:46px;height:46px}
.rf-ring-svg circle{fill:none;stroke-width:10;stroke-linecap:round}
.rf-ring-bg{stroke:#20232214}
.rf-ring-fill{stroke:var(--night);stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset 1.6s cubic-bezier(.3,.8,.3,1)}
.rf-result:nth-child(2) .rf-ring-bg{stroke:#20232226}
.rf-results.is-visible .rf-ring-fill{stroke-dashoffset:0}
.rf-results.is-visible .rf-result:nth-child(2) .rf-ring-fill{transition-delay:.25s}
.rf-results.is-visible .rf-result:nth-child(3) .rf-ring-fill{transition-delay:.5s}

/* 6. Pas besoin d'être en forme : la seule section sombre mouchetée de la page ; le texte
   courant reste sur une carte unie. */
.rf-noneed{background:var(--night) url('/m/assets/v2c-fluo/mouchete.svg') center/240px;color:var(--paper)}
.rf-noneed-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:center}
.rf-strike p{margin:0 0 14px;font-size:24px!important;line-height:1.2!important;font-weight:850;letter-spacing:-.02em}
/* Chaque ligne sur une étiquette unie : le texte ne se pose jamais directement sur le moucheté. */
.rf-strike-item{display:flex;align-items:center;gap:16px;width:max-content;padding:14px 22px 14px 14px;border-radius:12px;background:#2c312d;color:#ffffffd9;box-shadow:0 10px 24px #0d0f0d55}
.rf-strike-item:nth-child(2){margin-left:34px!important}
.rf-strike-item:nth-child(3){margin-left:12px!important}
.rf-strike-item s{text-decoration:none;background:linear-gradient(var(--fluo),var(--fluo)) left 55%/0 2px no-repeat;transition:background-size .6s cubic-bezier(.3,.8,.3,1)}
.rf-noneed.is-visible .rf-strike-item s{background-size:100% 2px}
.rf-noneed.is-visible .rf-strike-item:nth-child(2) s{transition-delay:.35s}
.rf-noneed.is-visible .rf-strike-item:nth-child(3) s{transition-delay:.7s}
.rf-mark{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:15px;font-weight:900}
.rf-strike-item .rf-mark{background:#ffffff1a;color:var(--fluo)}
.rf-strike-yes{display:flex!important;align-items:center;gap:16px;width:max-content;margin-top:26px!important;padding:16px 24px 16px 16px;border-radius:12px;background:var(--fluo);color:var(--night);font-size:28px!important;box-shadow:8px 8px 0 #0d0f0d;transform:rotate(-2deg);opacity:0;transition:opacity .5s 1.1s}
.rf-strike-yes .rf-mark{background:var(--night);color:var(--fluo)}
.rf-noneed.is-visible .rf-strike-yes{opacity:1}
.rf-noneed-card{padding:42px 46px;border-radius:14px;background:var(--paper);color:var(--night)}
.rf-noneed-card .hx-title{margin-bottom:26px;color:var(--night)}
.rf-noneed-card p{color:#474b47}
.rf-noneed-card p+p{margin-top:16px}

@media(prefers-reduced-motion:reduce){.rf-ring-fill,.rf-strike-item s,.rf-strike-yes,.rf-gauges b{transition:none}}
@media(max-width:1179px){.rf-start-grid,.rf-noneed-grid{gap:40px}}
@media(max-width:1023px){
  .rf-start-grid,.rf-activities-intro,.rf-tickets,.rf-results-grid,.rf-noneed-grid{grid-template-columns:1fr}
  .rf-levels{grid-template-columns:1fr}
  .rf-tuner,.rf-orient,.rf-result,.rf-ticket{transform:none!important}
  /* Téléphone (22/10) : l'icône au-dessus du texte — à côté, la colonne de texte faisait 190 px et le texte 12 lignes. */
  .rf-orient{flex-direction:column;align-items:flex-start;gap:18px;padding:26px 24px}
  /* Version téléphone (08/10) : la liste barrée tient dans l'écran (« Connaître les mouvements » en 24 px demandait
     410 px), la carte de texte respire moins, les boutons du réglage passent à 44 px. */
  .rf-strike p{font-size:19px!important}
  .rf-strike-item{width:auto;max-width:100%;gap:12px;padding:12px 16px 12px 12px}
  .rf-strike-item:nth-child(2){margin-left:18px!important}
  .rf-strike-item:nth-child(3){margin-left:6px!important}
  .rf-strike-yes{width:auto;max-width:100%;font-size:21px!important;padding:14px 18px 14px 14px}
  .rf-noneed-card{padding:30px 24px}
  .rf-levels button{min-height:44px}
  .rf-ticket-go{font-size:14px}
}

/* La fin de page arrondie suit une section sombre : le fond sombre passe sous le coin arrondi,
   sinon un morceau de fond clair apparaît dans l'angle (Virginie, 01/10). */
.rf-noneed{padding-bottom:170px;margin-bottom:-70px}
.rf-noneed + .hm-closing{z-index:1}

/* Planche du fil d'Ariane. */
.rf-crumbs{display:flex;align-items:center;gap:10px;margin-bottom:26px;font-size:13px;font-weight:700;letter-spacing:.04em}
.rf-crumbs a{color:var(--muted);text-decoration:none;transition:color .2s}
.rf-crumbs a:hover{color:var(--night);text-decoration:underline;text-decoration-color:var(--fluo);text-decoration-thickness:3px;text-underline-offset:4px}
.rf-crumbs [aria-current]{color:var(--night)}
.rf-crumbs-texte .rf-crumbs-sep{color:#9aa29c}
.rf-crumbs-pastille{width:max-content;padding:8px 16px;border-radius:30px;background:var(--soft)}
.rf-crumbs-pastille .rf-crumbs-sep{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--fluo);color:var(--night);font-size:11px}
/* Grand titre sur téléphone (22/10) : « Remise en forme » fait 288 px à 40 px ; la taille se réduit pour qu'il tienne (hyrox-mix/page.css). */
.hy-hero-copy h1.pg-h1-grand{--pg-h1-ratio:0.1389}
