/* Chrono Équitation, home « la piste du chrono » (passe 8). Couleurs, polices, rayons, ombres : variables de da.css uniquement. */
html{overflow-x:clip}html:has(.tn-home){scroll-behavior:auto}body{overflow-x:clip}
body:has(.tn-home){--tn-larg:min(var(--largeur,1200px),calc(100vw - 3rem))}
.tn-home-shell{position:relative}
.tn-home{font-family:var(--f-texte);color:var(--c-texte);background:var(--c-fond)}
.tn-home *,.tn-home *::before,.tn-home *::after{box-sizing:border-box}
.tn-home h1,.tn-home h2,.tn-home h3{font-family:var(--f-titre);color:var(--c-texte);margin:0;font-weight:var(--f-graisse-titre,700)}
.tn-home img{display:block;max-width:100%}
.tn-scene-photo img,.tn-vir-photo img,.tn-jou-photo img,.tn-mat-photo img,.tn-rub-photo img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
.tn-home p{margin:0}
.tn-home ol,.tn-home ul{list-style:none;margin:0;padding:0}

/* ---------- en-tête et pied de page : même conteneur, même bouton que la home ---------- */
body:has(.tn-home) [data-bandeau]{display:none!important}
body:has(.tn-home) .site-sticky-shell,body:has(.tn-home) #site-header{background:var(--c-fond)}
body:has(.tn-home) #site-header nav.header-inner,body:has(.tn-home) #site-header nav [data-usine='logo']{zoom:1!important}
/* logo chronomètre (le build régénère logo.svg : la home sert logo-chrono.svg) */
body:has(.tn-home) [data-usine='logo'] img{content:url(/assets/chrono-equitation-fr/logo-chrono.svg)}
body:has(.tn-home) #site-header .header-inner{width:100%!important;max-width:none!important;height:80px;padding-inline:max(1.5rem,calc((100% - var(--largeur,1200px)) / 2))!important;gap:28px!important}
body:has(.tn-home) #site-header .header-group{gap:40px!important}
body:has(.tn-home) #site-header [data-usine='logo'] img{height:40px!important;width:auto}
body:has(.tn-home) #site-header .desktop-nav{gap:26px!important}
body:has(.tn-home) #site-header .desktop-nav a{font-size:.95rem!important;font-weight:700;color:var(--c-texte)}
body:has(.tn-home) #site-header .desktop-nav a:hover{color:var(--c-primaire-texte);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
body:has(.tn-home) #site-header .archive-button,.tn-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:0 1.4rem;border:var(--btn-bord);border-radius:var(--r-bouton);background:var(--btn-fond);color:var(--btn-texte)!important;font:700 1rem/1.15 var(--f-texte);text-decoration:none!important;text-align:center;box-shadow:none;transition:background .18s,color .18s,border-color .18s}
body:has(.tn-home) #site-header .archive-button:hover,.tn-btn-plein:hover{background:var(--c-primaire-texte);border-color:var(--c-primaire-texte)}
body:has(.tn-home) .site-footer .footer-cta{display:inline-flex;align-items:center;min-height:50px;padding:0 1.4rem;border:2px solid var(--c-sur-voile);border-radius:var(--r-bouton);background:transparent;color:var(--c-sur-voile);box-shadow:none;font:700 1rem/1.15 var(--f-texte)}
body:has(.tn-home) .site-footer .footer-cta:hover{background:var(--c-sur-voile);color:var(--c-voile)}
body:has(.tn-home) .site-footer{padding-inline:max(1.5rem,calc((100vw - var(--largeur,1200px)) / 2))}
.tn-btn-plein::after{content:"→";font-weight:400}
.tn-btn-ligne{background:transparent;color:var(--c-texte)!important}
.tn-btn-ligne:hover{background:var(--c-texte);color:var(--c-fond)!important}
@media (max-width:520px){body:has(.tn-home) #site-header .archive-button{display:none}body:has(.tn-home) #site-header .header-inner{height:68px}body:has(.tn-home) #site-header [data-usine='logo'] img{height:30px!important}}

/* ---------- pied de page : polices du site et barre des quatre secteurs du chrono ---------- */
body:has(.tn-home) .site-footer{position:relative;font-family:var(--f-texte)}
body:has(.tn-home) .site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--c-primaire) 0 23.5%,var(--c-voile) 23.5% 23.9%,var(--c-primaire) 23.9% 51.4%,var(--c-voile) 51.4% 51.8%,var(--c-primaire) 51.8% 75.6%,var(--c-voile) 75.6% 76%,var(--c-primaire) 76% 100%)}
body:has(.tn-home) .site-footer :is(p,a,span){font-family:var(--f-texte)}
body:has(.tn-home) .site-footer .footer-brand p{font-size:1rem;line-height:1.55;color:color-mix(in srgb,var(--c-sur-voile) 82%,transparent)}
body:has(.tn-home) .site-footer .footer-links h2{font:700 1.3rem/1.2 var(--f-titre);margin:0 0 1.1rem;color:var(--c-sur-voile)}
body:has(.tn-home) .site-footer .footer-links>div{counter-reset:tn-rub}
body:has(.tn-home) .site-footer .footer-links a{font:600 1rem/1.4 var(--f-texte);padding:.4rem 0;color:color-mix(in srgb,var(--c-sur-voile) 88%,transparent);transition:color .18s}
body:has(.tn-home) .site-footer .footer-links>div:first-child a::before{counter-increment:tn-rub;content:counter(tn-rub,decimal-leading-zero);display:inline-block;min-width:2.1rem;font:700 .85rem/1 var(--f-titre);color:var(--c-primaire)}
body:has(.tn-home) .site-footer .footer-links a:hover{color:var(--c-primaire);text-decoration:underline;text-underline-offset:5px}
body:has(.tn-home) .site-footer .footer-bottom{font:600 .82rem/1.4 var(--f-texte);color:color-mix(in srgb,var(--c-sur-voile) 72%,transparent)}

/* ---------- grammaire commune ---------- */
.tn-dossard{display:inline-flex;align-items:center;gap:.65rem;margin:0;padding:.5rem .9rem .5rem .65rem;background:var(--c-doux);color:var(--c-sur-doux);font:800 .72rem/1 var(--f-texte);letter-spacing:.1em;text-transform:var(--f-casse-kicker,uppercase)}
.tn-dossard b{font:700 .98rem/1 var(--f-titre);letter-spacing:0;color:var(--c-primaire-texte);font-variant-numeric:tabular-nums}
.tn-dossard i{flex:none;width:34px;height:6px;background:linear-gradient(90deg,var(--c-primaire) 0 22%,transparent 22% 27%,var(--c-primaire) 27% 52%,transparent 52% 57%,var(--c-primaire) 57% 77%,transparent 77% 82%,var(--c-texte) 82% 100%)}
/* le mot fort repose sur une règle de chronométrage graduée */
.tn-trait{font-style:normal;color:var(--c-primaire-texte);padding-bottom:.16em;background-image:linear-gradient(var(--c-primaire),var(--c-primaire)),repeating-linear-gradient(90deg,var(--c-primaire) 0 2px,transparent 2px 11px);background-repeat:no-repeat;background-position:left bottom,left bottom;background-size:var(--tn-trait,100%) 2px,var(--tn-trait,100%) .15em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.2s cubic-bezier(.2,.7,.2,1)}
.tn-mini{font:800 .7rem/1.2 var(--f-texte);letter-spacing:.1em;text-transform:var(--f-casse-kicker,uppercase);color:var(--c-texte-2)}
.tn-lien{color:var(--lien-couleur);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.tn-lien:hover{color:var(--c-texte)}
.tn-carte{background:var(--carte-fond);border:var(--carte-bord);border-radius:var(--r-carte);color:var(--carte-encre)}
.tn-sec{padding:clamp(4.5rem,8vw,7rem) 0;background:var(--c-fond)}
.tn-fond2{background:var(--c-fond-2)}
.tn-col{width:var(--tn-larg);margin:0 auto}
.tn-tete{max-width:760px;margin:0 auto clamp(2.4rem,4vw,3.4rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.tn-tete h2{font-size:clamp(2rem,3.6vw,3.05rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.tn-tete h2 img,.tn-tete h2 svg{display:inline-block}
.tn-tete>p:not(.tn-dossard){font-size:1.08rem;line-height:1.65;color:var(--c-texte-2);max-width:640px}
.tn-pied{margin-top:2.4rem!important;text-align:center;color:var(--c-texte-2);font-size:1rem;line-height:1.6;max-width:760px;margin-inline:auto!important}
.tn-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.tn-actions-centre{justify-content:center;margin-top:2.6rem}

/* ---------- 01 hero : photo du saut, puis la piste du passage sur toute la largeur ---------- */
.tn-hero{padding:clamp(1.4rem,2.6vw,2.1rem) 0 clamp(2.4rem,4vw,3.2rem);background:var(--c-fond);border-bottom:1px solid var(--c-bord)}
.tn-hero-grille{width:var(--tn-larg);margin:0 auto;display:grid;grid-template-columns:minmax(0,410px) minmax(0,1fr);grid-template-areas:"photo texte" "tableau tableau";column-gap:clamp(2.5rem,5vw,4.5rem);row-gap:1.4rem;align-items:center}
.tn-hero-texte{grid-area:texte;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1.3rem}
.tn-hero h1{font-size:clamp(2.3rem,4.2vw,3.7rem);line-height:1.04;letter-spacing:-.03em;text-wrap:balance}
.tn-chapeau{font-size:1.1rem;line-height:1.62;color:var(--c-texte-2);max-width:36rem}
.tn-reperes{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 0;font-size:.9rem;font-weight:600;color:var(--c-texte-2)}
.tn-reperes span{display:inline-flex;align-items:baseline;gap:.4rem}
.tn-reperes span+span::before{content:"";align-self:center;width:6px;height:6px;margin:0 1rem 0 1.1rem;background:var(--c-primaire)}
.tn-reperes strong{font:700 1.4rem/1 var(--f-titre);color:var(--c-texte);font-variant-numeric:tabular-nums}

.tn-scene{display:contents}
.tn-scene-photo{grid-area:photo;position:relative;margin:0;min-width:0;aspect-ratio:4/5;border-radius:var(--r-image);overflow:hidden;background:var(--c-fond-2)}
.tn-scene-photo img{object-fit:cover;object-position:66% 45%}
.tn-scene-photo::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--cx,1) * 100%);width:2px;margin-left:-1px;background:var(--c-surface);opacity:0;pointer-events:none;transition:opacity .25s}
.tn-scene.tn-main .tn-scene-photo::after{opacity:.9}
.tn-direct{position:absolute;left:.9rem;top:.9rem;white-space:nowrap;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .7rem;background:var(--c-surface);color:var(--c-texte);font:800 .72rem/1 var(--f-texte);letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.tn-direct i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--c-primaire);box-shadow:0 0 0 3px var(--c-doux)}
.tn-tableau{grid-area:tableau;min-width:0;display:grid;grid-template-columns:minmax(0,235px) minmax(0,1fr) minmax(0,255px);background:var(--c-voile);color:var(--c-sur-voile);border-radius:var(--r-carte);box-shadow:var(--o-survol)}
.tn-tableau .tn-mini{color:color-mix(in srgb,var(--c-sur-voile) 70%,transparent)}
.tn-tab-chrono{display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:1.1rem 1.4rem;border-right:1px solid color-mix(in srgb,var(--c-sur-voile) 14%,transparent)}
.tn-temps{display:flex;align-items:baseline;gap:.3rem}
.tn-temps strong{font:700 3rem/.9 var(--f-titre);font-variant-numeric:tabular-nums;color:var(--c-sur-voile)}
.tn-temps small{font:700 1.05rem/1 var(--f-titre);color:color-mix(in srgb,var(--c-sur-voile) 70%,transparent)}
.tn-tab-ecart{font-size:.84rem;line-height:1.3;color:color-mix(in srgb,var(--c-sur-voile) 75%,transparent)}
.tn-tab-pen{font-size:.78rem;color:color-mix(in srgb,var(--c-sur-voile) 62%,transparent)}
.tn-tab-ecart b{font:700 1.05rem/1 var(--f-titre);color:var(--c-primaire);font-variant-numeric:tabular-nums}
.tn-piste-zone{position:relative;min-width:0;display:flex;flex-direction:column;gap:.55rem;padding:.95rem 1.2rem 1.1rem}
.tn-regle{display:flex;justify-content:space-between;padding-bottom:11px;font:700 .68rem/1 var(--f-texte);letter-spacing:.05em;color:color-mix(in srgb,var(--c-sur-voile) 62%,transparent);background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--c-sur-voile) 34%,transparent) 0 1px,transparent 1px 12px) left bottom/100% 6px no-repeat}
.tn-piste{display:grid;gap:4px}
.tn-secteur{min-width:0}
.tn-secteur a{height:100%;display:flex;flex-direction:column;gap:.5rem;padding:.55rem .65rem .65rem;border:1px solid color-mix(in srgb,var(--c-sur-voile) 16%,transparent);color:var(--c-sur-voile);text-decoration:none;transition:background .2s,border-color .2s}
.tn-secteur a:hover,.tn-secteur.tn-actif a{border-color:var(--c-primaire);background:color-mix(in srgb,var(--c-primaire) 13%,transparent)}
.tn-secteur.tn-cle.tn-fait a{border-color:var(--c-primaire)}
.tn-sec-barre{display:block;height:5px;background:color-mix(in srgb,var(--c-sur-voile) 16%,transparent);overflow:hidden}
.tn-sec-barre i{display:block;height:100%;width:var(--rempli,0%);background:var(--c-primaire)}
.tn-secteur.tn-fait .tn-sec-barre i{width:100%}
.tn-sec-nom{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;font:800 .9rem/1.15 var(--f-texte)}
.tn-sec-nom small{font-weight:600;font-size:.72rem;color:color-mix(in srgb,var(--c-sur-voile) 65%,transparent);white-space:nowrap}
.tn-sec-chiffres{display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.tn-sec-t{font:700 1.22rem/1 var(--f-titre);font-variant-numeric:tabular-nums}
.tn-sec-ecart{padding:.22rem .38rem;font:800 .78rem/1 var(--f-texte);font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--c-sur-voile) 12%,transparent);color:var(--c-sur-voile)}
.tn-sec-ecart.tn-gain{background:var(--c-primaire);color:var(--c-sur-primaire)}
.tn-secteur:not(.tn-fait) .tn-sec-chiffres{visibility:hidden}
.tn-curseur{position:absolute;top:2.1rem;bottom:1.1rem;left:calc(1.2rem + (100% - 2.4rem) * var(--cx,1));width:2px;margin-left:-1px;background:var(--c-primaire);pointer-events:none;opacity:0;transition:opacity .25s}
.tn-curseur::before{content:"";position:absolute;top:-5px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--c-primaire);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-primaire) 30%,transparent)}
.tn-tableau.tn-roule .tn-curseur,.tn-tableau.tn-survol .tn-curseur{opacity:1}
.tn-verdict{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.55rem;padding:1.1rem 1.4rem;border-left:1px solid color-mix(in srgb,var(--c-sur-voile) 14%,transparent);font:600 1.12rem/1.32 var(--f-titre);transition:opacity .4s}
.tn-verdict strong{color:var(--c-primaire);font-weight:700}
.tn-verdict-lien{font:700 .86rem/1.35 var(--f-texte);color:var(--c-sur-voile);text-decoration:underline;text-decoration-color:var(--c-primaire);text-decoration-thickness:2px;text-underline-offset:4px}
.tn-verdict-lien:hover{color:var(--c-primaire)}

/* ---------- 02 méthode ---------- */
.tn-met-piste{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-bottom:1.2rem}
.tn-met-etape{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:0 0 .2rem;background:none;border:0;cursor:pointer;text-align:left;color:var(--c-texte-2);font:700 1.02rem/1.2 var(--f-texte)}
.tn-met-etape i{order:-1;display:block;width:100%;height:5px;background:var(--c-bord);position:relative;overflow:hidden}
.tn-met-etape i::after{content:"";position:absolute;inset:0;width:var(--avance,0%);background:var(--c-primaire)}
.tn-met-etape b{font:700 .9rem/1 var(--f-titre);color:var(--c-texte-2)}
.tn-met-etape[aria-selected="true"]{color:var(--c-texte)}
.tn-met-etape[aria-selected="true"] b{color:var(--c-primaire-texte)}
.tn-met-etape[aria-selected="true"] i::after{width:var(--avance,100%)}
.tn-met-etape.tn-passe i::after{width:100%}
.tn-met-panneau{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.5rem,3.4vw,2.6rem)}
.tn-met-panneau.tn-on{display:grid}
.tn-met-cle{display:flex;flex-direction:column;gap:.8rem}
.tn-met-cle h3{font-size:2.2rem;line-height:1}
.tn-met-cle dl{margin:.6rem 0 0;display:grid;gap:.6rem}
.tn-met-cle dl div{display:grid;grid-template-columns:7.5rem 1fr;gap:.8rem;padding:.75rem 0;border-top:1px solid var(--c-bord)}
.tn-met-cle dt{font:800 .72rem/1.4 var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--c-primaire-texte)}
.tn-met-cle dd{margin:0;font-weight:700;line-height:1.4}
.tn-met-qr{display:flex;flex-direction:column;gap:.8rem;padding-left:clamp(1.2rem,3vw,2.6rem);border-left:1px solid var(--c-bord)}
.tn-met-q{font:700 1.35rem/1.3 var(--f-titre)}
.tn-met-r{font-size:1.05rem;line-height:1.7;color:var(--c-texte-2)}

/* ---------- 03 pièges : quatre moments du même concours ---------- */
.tn-vir-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.tn-vir{display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}
.tn-vir:hover{transform:translate(-3px,-3px);box-shadow:var(--o-carte)}
.tn-vir-photo{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden}
.tn-vir-photo img{object-fit:cover}
.tn-vir-photo figcaption{position:absolute;left:.8rem;bottom:.8rem;display:inline-flex;align-items:center;max-width:calc(100% - 1.6rem);background:var(--c-surface);color:var(--c-texte);font:800 .82rem/1.2 var(--f-texte);padding-right:.7rem}
.tn-vir-photo figcaption b{align-self:stretch;display:grid;place-items:center;padding:.45rem .55rem;margin-right:.6rem;background:var(--c-doux);color:var(--c-primaire-texte);font:700 .88rem/1 var(--f-titre)}
.tn-vir-corps{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem 1.15rem 1.2rem;flex:1}
.tn-vir-corps .tn-mini{display:block;margin-bottom:.3rem}
.tn-vir-err{color:var(--c-texte-2);font-size:.95rem;line-height:1.45}
.tn-vir-err s{text-decoration:none;background:linear-gradient(var(--c-texte-2),var(--c-texte-2)) 0 58%/var(--barre,100%) 1.5px no-repeat;transition:background-size .7s ease}
.tn-vir-ref{font-weight:700;font-size:1rem;line-height:1.45}
.tn-vir-ref .tn-mini{color:var(--c-primaire-texte)}
.tn-vir-cout{margin-top:auto!important;display:flex;align-items:center;gap:.8rem;padding-top:.9rem;border-top:1px solid var(--c-bord)}
.tn-vir-cout strong{flex:none;font:700 1.7rem/1 var(--f-titre);font-variant-numeric:tabular-nums;min-width:3.3ch}
.tn-vir-cout span{font-size:.82rem;line-height:1.35;color:var(--c-texte-2)}

/* ---------- 04 journée : photo et carnet à la hauteur du fil ---------- */
.tn-jou{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,4.5rem);align-items:stretch}
.tn-jou-gauche{min-width:0;display:flex;flex-direction:column;gap:1rem}
.tn-jou-photo{position:relative;flex:1 1 auto;min-height:340px;margin:0;border-radius:var(--r-image);overflow:hidden}
.tn-jou-photo img{object-fit:cover;object-position:55% 35%}
.tn-jou-photo figcaption,.tn-mat-photo figcaption{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;background:var(--c-surface);color:var(--c-texte);max-width:calc(100% - 2rem)}
.tn-jou-photo figcaption b{font:700 1.7rem/1 var(--f-titre);color:var(--c-primaire-texte);white-space:nowrap}
.tn-jou-photo figcaption span{font-size:.9rem;line-height:1.35;font-weight:700}
.tn-carnet{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.7rem}
.tn-carnet h3{font-size:1.35rem;line-height:1.15}
.tn-carnet ul{display:grid;grid-template-columns:1fr 1fr;column-gap:1.2rem}
.tn-carnet li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--c-bord);font-size:.92rem;font-weight:700;line-height:1.3}
.tn-carnet li i{flex:none;position:relative;width:18px;height:18px;border:2px solid var(--c-bord);transition:background .25s,border-color .25s}
.tn-carnet li.tn-on i{background:var(--c-primaire);border-color:var(--c-primaire)}
.tn-carnet li i::after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid var(--c-sur-primaire);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s}
.tn-carnet li.tn-on i::after{opacity:1}
.tn-carnet .tn-lien{align-self:flex-start;margin-top:.3rem;font-size:.92rem}
.tn-jou-fil{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding-left:4.2rem!important}
.tn-jou-fil::before,.tn-jou-fil::after{content:"";position:absolute;left:21px;top:22px;width:2px;bottom:22px;background:var(--c-bord)}
.tn-jou-fil::after{background:var(--c-primaire);bottom:auto;height:calc((100% - 44px) * var(--rail,1))}
.tn-jou-jalon{position:relative}
.tn-jou-n{position:absolute;left:-4.2rem;top:1.1rem;z-index:1;width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--c-texte);background:var(--c-surface);font:700 1.05rem/1 var(--f-titre);transition:background .3s,color .3s}
.tn-jou-jalon.tn-on .tn-jou-n{background:var(--c-texte);color:var(--c-fond)}
.tn-jou-jalon .tn-carte{padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .2s,box-shadow .2s}
.tn-jou-jalon .tn-carte:hover{transform:translate(-3px,-3px);box-shadow:var(--o-carte)}
.tn-jou-jalon h3{font-size:1.4rem}
.tn-jou-jalon p{line-height:1.6;color:var(--c-texte-2)}
.tn-jou-jalon .tn-lien{align-self:flex-start}

/* ---------- 05 matériel ---------- */
.tn-mat{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.tn-mat-photo{position:relative;margin:0;border-radius:var(--r-image);overflow:hidden;aspect-ratio:1/1;width:100%;max-width:480px;max-height:480px}
.tn-mat-photo img{object-fit:cover}
.tn-mat-photo figcaption{font-weight:700;font-size:.92rem;line-height:1.4}
.tn-mat-fiche{display:flex;flex-direction:column;gap:1rem;min-width:0}
.tn-onglets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--c-texte)}
.tn-onglet{position:relative;min-height:52px;padding:.6rem .8rem;background:var(--c-surface);border:0;cursor:pointer;font:700 .98rem/1.2 var(--f-texte);color:var(--c-texte);overflow:hidden}
.tn-onglet+.tn-onglet{border-left:2px solid var(--c-texte)}
.tn-onglet[aria-selected="true"]{background:var(--c-texte);color:var(--c-fond)}
.tn-onglet i{position:absolute;left:0;bottom:0;height:3px;width:var(--avance,0%);background:var(--c-primaire)}
.tn-mat-panneau{display:none;grid-template-columns:1fr 1fr;padding:0}
.tn-mat-panneau.tn-on{display:grid}
.tn-mat-ligne{padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.55rem}
.tn-mat-ligne+.tn-mat-ligne{border-left:1px solid var(--c-bord)}
.tn-mat-ligne h3{font-size:1.45rem;line-height:1.15}
.tn-mat-ligne dl{margin:.4rem 0 0;display:grid}
.tn-mat-ligne dl div{display:grid;gap:.25rem;padding:.7rem 0;border-top:1px solid var(--c-bord)}
.tn-mat-ligne dt{font:800 .7rem/1.3 var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--c-primaire-texte)}
.tn-mat-ligne dd{margin:0;line-height:1.5}
.tn-mat-liens{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;padding-top:.4rem}

/* ---------- 06 sommaire : tableau de résultats des rubriques ---------- */
.tn-classement{display:flex;flex-direction:column;gap:.8rem}
.tn-rub{display:grid;grid-template-columns:128px minmax(0,1fr) minmax(0,1.4fr) 150px;gap:1.6rem;align-items:center;padding:.9rem 1.4rem .9rem .9rem;transition:transform .2s,box-shadow .2s}
.tn-rub:hover{transform:translate(-3px,-3px);box-shadow:var(--o-carte)}
.tn-rub-photo{position:relative;margin:0;aspect-ratio:1/1;border-radius:var(--r-image);overflow:hidden}
.tn-rub-photo img{object-fit:cover}
.tn-rub-tete{min-width:0;display:flex;flex-direction:column;gap:.4rem}
.tn-rub h3{font-size:1.38rem;line-height:1.15}
.tn-rub h3 a{color:inherit;text-decoration:none}
.tn-rub h3 a:hover{color:var(--c-primaire-texte)}
.tn-rub-intro{font-size:.88rem;line-height:1.5;color:var(--c-texte-2)}
.tn-rub-liens{display:flex;align-items:center;gap:1.3rem;padding-top:.2rem;font-size:.88rem}
.tn-rub-archive{color:var(--c-texte-2);font-size:.82rem;font-weight:700}
.tn-rub-dossiers{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.2rem}
.tn-rub-dossiers li a{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--c-bord);color:var(--c-texte);text-decoration:none;font-size:.9rem;line-height:1.38;font-weight:700}
.tn-rub-dossiers li a:hover span{color:var(--c-primaire-texte);text-decoration:underline}
.tn-rub-dossiers small{flex:none;padding-top:.15rem;font-size:.74rem;font-weight:800;color:var(--c-texte-2)}
.tn-rub-compte{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:.55rem;padding-left:1.4rem;border-left:1px solid var(--c-bord);text-align:right}
.tn-rub-compte p{display:flex;align-items:baseline;gap:.4rem;font-weight:700;font-size:.88rem}
.tn-rub-compte strong{font:700 2.6rem/1 var(--f-titre);font-variant-numeric:tabular-nums}
.tn-rub-compte small{font-size:.8rem;font-weight:700;color:var(--c-texte-2)}
.tn-cas-jauge{display:block;width:100%;height:5px;background:var(--c-bord)}
.tn-cas-jauge i{display:block;height:100%;width:var(--p);margin-left:auto;background:var(--c-primaire);transform-origin:right;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.tn-signe{margin-top:2.4rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.tn-signe ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;width:100%}
.tn-signe li a{display:flex;align-items:center;justify-content:space-between;gap:.7rem;height:100%;padding:.7rem .7rem .7rem .95rem;text-align:left;border:var(--carte-bord);background:var(--c-surface);color:var(--c-texte);text-decoration:none;font-size:.9rem;transition:border-color .2s}
.tn-signe li a:hover{border-color:var(--c-texte)}
.tn-signe li a>span{display:flex;flex-direction:column;gap:.15rem}
.tn-signe li small{color:var(--c-texte-2);font-size:.78rem;line-height:1.3}
.tn-signe li b{display:grid;place-items:center;min-width:28px;height:28px;background:var(--c-doux);color:var(--c-primaire-texte);font:700 .9rem/1 var(--f-titre)}
.tn-signe-liens{display:flex;gap:1.6rem;flex-wrap:wrap;justify-content:center}

/* ---------- 07 vrai ou faux ---------- */
.tn-quiz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.tn-qz{display:flex;flex-direction:column;gap:1.1rem;padding:1.5rem}
.tn-qz-q{display:flex;flex-direction:column;gap:.7rem;font:700 1.25rem/1.3 var(--f-titre)}
.tn-qz-q b{font:800 .72rem/1 var(--f-texte);letter-spacing:.1em;color:var(--c-primaire-texte)}
.tn-qz-boutons{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:auto!important}
.tn-qz-boutons button{min-height:48px;border:var(--btn-bord);border-radius:var(--r-bouton);background:transparent;color:var(--c-texte);font:700 1rem/1 var(--f-texte);cursor:pointer;transition:background .18s,color .18s}
.tn-qz-boutons button:hover,.tn-qz-boutons button[aria-pressed="true"]{background:var(--c-texte);color:var(--c-fond)}
.tn-qz-rep{line-height:1.55;color:var(--c-texte-2);padding-top:1rem;border-top:1px solid var(--c-bord)}
.tn-qz-rep strong{color:var(--c-texte)}
.tn-qz.tn-juste .tn-qz-rep strong{color:var(--c-primaire-texte)}
.tn-js .tn-qz:not(.tn-repondu) .tn-qz-rep{display:none}
.tn-final .tn-tete b[data-tn-score]{color:var(--c-texte)}

/* ---------- 08 saisie : vos secteurs, le même tableau que le hero ---------- */
.tn-saisie{padding-bottom:1.6rem}
.tn-sai{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:1.4rem;align-items:stretch}
.tn-sai-saisie{display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;padding:1.4rem 1.6rem 1.5rem}
.tn-sai-note{padding:.9rem 1rem;background:var(--c-fond-2);font-size:.9rem;line-height:1.55;color:var(--c-texte-2)}
.tn-sai-note strong{color:var(--c-texte)}
.tn-sai table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tn-sai caption{text-align:left;padding-bottom:.9rem}
.tn-sai th,.tn-sai td{padding:.55rem .5rem .55rem 0;border-top:1px solid var(--c-bord);text-align:left;vertical-align:middle}
.tn-sai thead th{border-top:0;padding-bottom:.4rem;font:800 .7rem/1.2 var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--c-texte-2)}
.tn-sai tbody th{font:800 1rem/1.2 var(--f-texte)}
.tn-sai tbody th small{display:block;margin-top:.15rem;font-size:.75rem;font-weight:600;color:var(--c-texte-2)}
.tn-sai input{width:100%;max-width:8rem;min-height:46px;padding:0 .8rem;border:2px solid var(--c-texte);border-radius:var(--r-bouton);background:var(--c-surface);color:var(--c-texte);font:700 1.1rem/1 var(--f-titre);font-variant-numeric:tabular-nums}
.tn-sai input:focus{outline:3px solid var(--c-primaire);outline-offset:1px}
.tn-sai input[aria-invalid="true"]{border-color:var(--c-texte-2);border-style:dashed}
.tn-sai tfoot th,.tn-sai tfoot td{padding-top:.8rem;border-top:2px solid var(--c-texte);font:700 1.2rem/1 var(--f-titre)}
.tn-sai-tableau{display:flex;flex-direction:column;gap:1rem;padding:1.4rem 1.6rem 1.5rem;background:var(--c-voile);color:var(--c-sur-voile);border-radius:var(--r-carte)}
.tn-sai-tableau .tn-mini{color:color-mix(in srgb,var(--c-sur-voile) 70%,transparent)}
.tn-sai-haut{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid color-mix(in srgb,var(--c-sur-voile) 14%,transparent)}
.tn-sai-haut .tn-temps strong{font-size:2.6rem}
.tn-sai-barres{display:flex;flex-direction:column;gap:.7rem}
.tn-sai-barres li,.tn-sai-legende{display:grid;grid-template-columns:5.2rem minmax(0,1fr) 4.4rem;gap:.9rem;align-items:center}
.tn-sai-nom{font:800 .92rem/1 var(--f-texte)}
.tn-sai-axe{position:relative;height:16px;background:color-mix(in srgb,var(--c-sur-voile) 8%,transparent)}
.tn-sai-axe::before{content:"";position:absolute;left:50%;top:-5px;bottom:-5px;width:2px;margin-left:-1px;background:color-mix(in srgb,var(--c-sur-voile) 55%,transparent)}
.tn-sai-axe i{position:absolute;top:0;bottom:0;right:50%;width:var(--e,0%);background:var(--c-primaire);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.tn-perte .tn-sai-axe i{right:auto;left:50%;background:var(--c-sur-voile)}
.tn-sai-val{text-align:right;font:700 1.05rem/1 var(--f-titre);font-variant-numeric:tabular-nums;color:var(--c-primaire)}
.tn-perte .tn-sai-val{color:var(--c-sur-voile)}
.tn-sai-legende{font:700 .7rem/1 var(--f-texte);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--c-sur-voile) 60%,transparent)}
.tn-sai-legende span{grid-column:2;grid-row:1}
.tn-sai-legende span:last-child{text-align:right}
.tn-sai-verdict{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--c-sur-voile) 14%,transparent);font:600 1.18rem/1.35 var(--f-titre)}
.tn-sai-verdict strong{color:var(--c-primaire);font-weight:700}
.tn-btn-clair{min-height:46px;background:var(--c-sur-voile);border-color:var(--c-sur-voile);color:var(--c-voile)!important}
.tn-btn-clair::after{content:"→";font-weight:400}
.tn-btn-clair:hover{background:var(--c-primaire);border-color:var(--c-primaire)}
.tn-sai-dossiers{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.82rem;font-weight:700}
.tn-sai-dossiers a{color:color-mix(in srgb,var(--c-sur-voile) 78%,transparent);text-decoration:underline;text-underline-offset:3px}
.tn-sai-dossiers a:hover{color:var(--c-primaire)}
.tn-sai-cherche{margin-top:3.2rem!important;text-align:center;font:600 clamp(1.25rem,2vw,1.5rem)/1.3 var(--f-titre);color:var(--c-texte)}

/* ---------- recherche de l'usine : rangée dans la section 08, sans second titre ---------- */
body:has(.tn-home) [data-avant-footer]{width:var(--tn-larg)!important;max-width:var(--tn-larg)!important;margin:0 auto clamp(4rem,7vw,6rem)!important;padding:0!important;border:0;border-radius:0;background:transparent;font-family:var(--f-texte)}
body:has(.tn-home) [data-avant-footer] :is(p,a,span,input,button,small){font-family:var(--f-texte)!important}
body:has(.tn-home) [data-avant-footer] .search-split{display:flex!important;flex-direction:column;align-items:center;gap:1.2rem;padding:0!important;background:transparent}
body:has(.tn-home) [data-avant-footer] .search-split>div{width:100%;max-width:980px}
body:has(.tn-home) [data-avant-footer] .search-split>div:has(.af-heading){display:none}
body:has(.tn-home) [data-avant-footer] .af-search-form{max-width:720px;margin:0 auto 1.2rem}
body:has(.tn-home) [data-avant-footer] .af-search-input{min-height:54px;border:2px solid var(--c-texte);border-radius:var(--r-bouton);font-size:1.05rem}
body:has(.tn-home) [data-avant-footer] .af-button{min-height:54px;padding:0 1.4rem;border:var(--btn-bord);border-radius:var(--r-bouton);background:var(--btn-fond);color:var(--btn-texte)!important;font:700 1rem/1 var(--f-texte)}
body:has(.tn-home) [data-avant-footer] .af-button:hover{background:var(--c-primaire-texte)}
body:has(.tn-home) [data-avant-footer] .search-status{text-align:center}
body:has(.tn-home) [data-avant-footer] .af-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem}
body:has(.tn-home) [data-avant-footer] .search-result{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;border:var(--carte-bord);border-radius:var(--r-carte);background:var(--c-surface);transition:transform .2s,box-shadow .2s}
body:has(.tn-home) [data-avant-footer] .search-result:hover{transform:translate(-3px,-3px);box-shadow:var(--o-carte)}
body:has(.tn-home) [data-avant-footer] .search-result img{display:none}
body:has(.tn-home) [data-avant-footer] .search-result h3{font-family:var(--f-titre)!important;font-size:1.05rem!important;line-height:1.3;letter-spacing:0}
body:has(.tn-home) [data-avant-footer] .search-result::after{content:"→";margin-left:auto;font-weight:700;color:var(--c-primaire-texte)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .tn-vir-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-signe ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tn-tableau{grid-template-columns:minmax(0,200px) minmax(0,1fr)}
  .tn-verdict{grid-column:1/-1;border-left:0;border-top:1px solid color-mix(in srgb,var(--c-sur-voile) 14%,transparent);flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem}
  .tn-rub{grid-template-columns:110px minmax(0,1fr) 130px;row-gap:.6rem}
  .tn-rub-dossiers{grid-column:2/4}
  .tn-rub-compte{grid-row:1;grid-column:3}
  .tn-sai{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .tn-hero-grille{display:flex;flex-direction:column;align-items:stretch;gap:1rem}
  .tn-hero-texte{display:contents}
  .tn-hero-texte .tn-dossard{order:1;align-self:flex-start}
  .tn-hero h1{order:2}
  .tn-chapeau{order:3}
  .tn-scene{order:4}
  .tn-hero-texte .tn-actions{order:5}
  .tn-reperes{order:6}
  .tn-scene{display:grid;grid-template-columns:minmax(0,min(40%,240px)) minmax(0,1fr);grid-template-areas:"photo chrono" "photo piste" "verdict verdict";background:var(--c-voile);color:var(--c-sur-voile);border-radius:var(--r-image);overflow:hidden}
  .tn-scene-photo{aspect-ratio:auto;height:100%;border-radius:0}
  .tn-tableau{display:contents}
  .tn-tab-chrono{grid-area:chrono;padding:.75rem .8rem .35rem;border:0;gap:.3rem}
  .tn-piste-zone{grid-area:piste;padding:.3rem .8rem .75rem}
  .tn-regle,.tn-curseur{display:none}
  .tn-piste{grid-template-columns:minmax(0,1fr)!important;gap:3px}
  .tn-secteur a{flex-direction:row;align-items:center;justify-content:space-between;gap:.4rem;padding:.32rem .45rem;border:0;background:color-mix(in srgb,var(--c-sur-voile) 7%,transparent)}
  .tn-secteur:not(.tn-fait) a{opacity:.62}
  .tn-sec-barre,.tn-sec-nom small,.tn-sec-t{display:none}
  .tn-secteur:not(.tn-fait) .tn-sec-chiffres{visibility:visible}
  .tn-sec-nom{font-size:.78rem}
  .tn-sec-ecart{font-size:.72rem;padding:.2rem .32rem}
  .tn-verdict{grid-area:verdict;display:block;padding:.65rem .85rem .75rem;border:0;border-top:1px solid color-mix(in srgb,var(--c-sur-voile) 14%,transparent);font-size:1rem}
  .tn-verdict .tn-mini,.tn-verdict-lien{display:none}
  .tn-jou,.tn-mat{grid-template-columns:minmax(0,1fr)}
  .tn-jou-photo{flex:none;aspect-ratio:4/5;max-width:460px;min-height:0}
  .tn-mat-photo{max-width:460px}
  .tn-met-panneau.tn-on{grid-template-columns:minmax(0,1fr)}
  .tn-met-qr{padding-left:0;border-left:0;padding-top:1.2rem;border-top:1px solid var(--c-bord)}
  .tn-quiz{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  [data-bandeau],.announcement-bar{display:none!important}
  body:has(.tn-home){--tn-larg:calc(100vw - 2rem)}
  .tn-hero{padding-top:1rem;padding-bottom:2.4rem}
  .tn-hero-grille{gap:.9rem}
  .tn-hero h1{font-size:2.1rem;line-height:1.05}
  .tn-chapeau{font-size:1rem;line-height:1.55}
  .tn-dossard{font-size:.62rem;letter-spacing:.06em;white-space:nowrap;padding:.45rem .7rem .45rem .5rem;gap:.5rem}
  .tn-dossard b{font-size:.85rem}
  .tn-dossard i{width:26px}
  .tn-btn-plein::after{display:none}
  .tn-temps strong{font-size:2rem}
  .tn-tab-chrono .tn-mini{font-size:.58rem;letter-spacing:.06em}
  .tn-tab-ecart{font-size:.75rem}
  .tn-tab-pen{font-size:.78rem;color:color-mix(in srgb,var(--c-sur-voile) 62%,transparent)}
.tn-tab-ecart b{font-size:.92rem}
  .tn-direct{left:.45rem;top:.45rem;padding:.32rem .42rem;font-size:.56rem;gap:.35rem}
  .tn-direct i{width:6px;height:6px}
  .tn-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}
  .tn-actions .tn-btn{padding:0 .6rem;font-size:.92rem;min-height:50px}
  .tn-large{display:none}
  .tn-reperes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;width:100%;font-size:.78rem;line-height:1.3;padding-top:.6rem;border-top:1px solid var(--c-bord)}
  .tn-reperes span{flex-direction:column;gap:.25rem}
  .tn-reperes strong{font-size:1.4rem}
  .tn-reperes span+span::before{display:none}
  .tn-met-piste{gap:.35rem}
  .tn-met-etape{font-size:.78rem}
  .tn-vir-grille{grid-template-columns:minmax(0,1fr)}
  .tn-vir{display:grid;grid-template-columns:40% 60%}
  .tn-vir-photo{aspect-ratio:auto;min-height:100%}
  .tn-vir-photo figcaption{left:.4rem;bottom:.4rem;font-size:.7rem;max-width:calc(100% - .8rem)}
  .tn-vir-corps{padding:.9rem}
  .tn-carnet ul{grid-template-columns:minmax(0,1fr)}
  .tn-jou-fil{padding-left:3.4rem!important}
  .tn-jou-n{left:-3.4rem;width:38px;height:38px}
  .tn-jou-fil::before,.tn-jou-fil::after{left:18px}
  .tn-mat-panneau.tn-on{grid-template-columns:minmax(0,1fr)}
  .tn-mat-ligne+.tn-mat-ligne{border-left:0;border-top:1px solid var(--c-bord)}
  .tn-onglet{font-size:.82rem;padding:.5rem .4rem}
  .tn-rub{grid-template-columns:84px minmax(0,1fr);gap:.8rem 1rem;padding:.8rem}
  .tn-rub-photo{align-self:start}
  .tn-rub-compte{grid-row:auto;grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;padding:.6rem 0 0;border-left:0;border-top:1px solid var(--c-bord);text-align:left}
  .tn-rub-compte .tn-cas-jauge{flex:1}
  .tn-rub-compte strong{font-size:1.6rem}
  .tn-rub-dossiers{grid-column:1/-1;grid-template-columns:minmax(0,1fr)}
  .tn-signe ul{grid-template-columns:minmax(0,1fr)}
  .tn-actions-centre{grid-template-columns:minmax(0,1fr)}
  .tn-sai-saisie,.tn-sai-tableau{padding:1.1rem}
  .tn-sai-barres li,.tn-sai-legende{grid-template-columns:4.4rem minmax(0,1fr) 3.6rem;gap:.6rem}
  .tn-sai input{min-height:44px}
  .tn-sai-legende{font-size:.56rem;letter-spacing:0}
  .tn-sai-haut{flex-direction:column;align-items:flex-start;gap:.4rem}
  body:has(.tn-home) [data-avant-footer] .af-results{grid-template-columns:minmax(0,1fr)!important}
  body:has(.tn-home) .site-footer .footer-cta{width:100%;justify-content:center}
}

/* ---------- mouvement réduit : rendu statique complet ---------- */
@media (prefers-reduced-motion:reduce){
  .tn-trait{transition:none;--tn-trait:100%!important}
  .tn-vir,.tn-rub,.tn-jou-jalon .tn-carte,.tn-sai-axe i,.tn-verdict{transition:none}
  .tn-secteur .tn-sec-barre i{width:100%!important}
}
