/* Business Crimea, home « Le registre de contrôle ». Charte : site.css (Unbounded 800, Rubik, encre #2d2131, violet #952db9). */
.tn-home { --tn-h: 141px; --tn-air: clamp(4rem, 8vw, 6.5rem); --tn-duo-h: 470px; color: var(--im-texte); }
.tn-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.tn-ico { width: 1.1em; height: 1.1em; flex: none; display: inline-block; vertical-align: -.18em; }
.tn-home a.tn-lien, .tn-lien { display: inline-flex; align-items: center; gap: .45rem; color: var(--im-lien); font-weight: 800; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.tn-lien .tn-ico { transition: transform .25s ease; }
.tn-lien:hover { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 4px; }
.tn-lien:hover .tn-ico { transform: translateX(4px); }

/* Le pré-pied « recherche + vignettes » injecté au build redit le sommaire : la home finit sur son bloc de chute. */
[data-avant-footer] { display: none !important; }

/* Grammaire commune : pastille, H2 centré à fin violette, fiches blanches à filet, tampons de verdict */
.tn-sec { padding-block: var(--tn-air); overflow-x: clip; }
.tn-bande { background: var(--im-bande); }
.tn-in { max-width: var(--im-largeur); margin: 0 auto; padding-inline: 1rem; box-sizing: border-box; }
.tn-tete { text-align: center; max-width: 760px; margin: 0 auto clamp(2.25rem, 4vw, 3.25rem); display: flex; flex-direction: column; align-items: center; }
.tn-kicker { display: inline-flex; align-items: center; gap: .55rem; min-height: 34px; padding: 0 .95rem; border: 1px solid var(--im-filet); background: #fff; border-radius: 999px; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--im-texte); margin-bottom: 1.1rem; }
.tn-kicker .tn-ico { color: var(--im-rouge); }
.tn-h2 { font-family: var(--im-titre); font-weight: 800; font-size: clamp(1.6rem, 2.9vw, 2.45rem); line-height: 1.16; margin: 0; color: var(--im-texte); text-wrap: balance; }
.tn-h2 em { font-style: normal; color: var(--im-rouge); }
.tn-sous { color: var(--im-texte-2); font-size: 1.08rem; margin: 1rem 0 0; max-width: 60ch; }
.tn-fiche { background: #fff; border: 1px solid var(--im-filet); border-radius: 6px; box-shadow: var(--im-ombre); box-sizing: border-box; }
.tn-meta { font-size: .84rem; color: var(--im-texte-2); margin: .6rem 0 0; }
.tn-carte-titre { font-family: var(--im-titre); font-weight: 800; font-size: 1.02rem; line-height: 1.3; margin: 0; }
.tn-home .tn-carte-titre a, .tn-home .tn-signature-id a, .tn-home .tn-chute-op a { color: var(--im-texte); text-decoration: underline; text-decoration-color: var(--im-teinte); text-decoration-thickness: 3px; text-underline-offset: 4px; text-decoration-skip-ink: none; }
.tn-home .tn-carte-titre a:hover, .tn-home .tn-signature-id a:hover, .tn-home .tn-chute-op a:hover { color: var(--im-lien); text-decoration-color: var(--im-rouge); }
.tn-suite { text-align: center; margin: 2rem 0 0; }
.tn-suite .tn-lien { justify-content: center; text-align: center; }
.tn-note { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: .9rem; color: var(--im-texte-2); margin: 1.25rem 0 0; }
.tn-note > .tn-ico { color: var(--im-rouge); }
.tn-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.tn-actions .im-bouton, .tn-actions .cs-button-solid { gap: .6rem; min-height: 52px; padding-inline: 1.6rem; }
.tn-hero .tn-actions { gap: 1rem; }
.tn-hero .tn-actions .im-bouton, .tn-hero .tn-actions .cs-button-solid { padding-inline: 1.2rem; }

/* Tampon de verdict : le même partout (registre du hero, bloc de chute) */
.tn-pastille-v { display: inline-flex; align-items: center; gap: .3rem; padding: .22rem .55rem; border: 2px solid currentColor; border-radius: 3px; background: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; transform: rotate(-2deg); line-height: 1.3; }
.tn-pastille-v[data-verdict="interdit"] { color: var(--im-rouge); }
.tn-pastille-v[data-verdict="souvent"] { color: var(--im-lien); border-style: dashed; background: var(--im-teinte); }
.tn-pastille-v[data-verdict="autorise"] { color: var(--im-texte); background: var(--im-bande); }

/* HERO : texte à droite, registre de contrôle à gauche (photo de la marchandise + fiche, un seul objet) */
.tn-hero { padding-block: 0; background: var(--im-fond); border-bottom: 1px solid var(--im-filet); }
.tn-hero-in { max-width: 1320px; margin: 0 auto; padding: clamp(2rem, 3.5vw, 2.75rem) clamp(1rem, 2.5vw, 2rem); box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 740px) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; min-height: calc(100svh - var(--tn-h)); }
.tn-hero-texte { grid-column: 2; grid-row: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; align-self: stretch; }
.tn-hero-scene { grid-column: 1; grid-row: 1; }
.tn-h1 { font-family: var(--im-titre); font-weight: 800; font-size: clamp(2.1rem, 3.1vw, 2.8rem); line-height: 1.12; letter-spacing: -.01em; margin: 0 0 1.4rem; color: var(--im-texte); text-wrap: balance; }
.tn-h1 em { font-style: normal; display: inline-block; color: var(--im-rouge); padding: 0 .16em .04em; margin: 0 .04em; border: .07em solid currentColor; border-radius: .08em; transform: rotate(-3deg); background: #fff; line-height: 1.02; }
.tn-chapo { font-size: 1.1rem; line-height: 1.6; color: var(--im-texte-2); max-width: 52ch; margin: 0 0 2rem; }

.tn-registre { min-width: 0; display: grid; grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); background: #fff; border: 1px solid var(--im-filet); border-radius: 6px; box-shadow: var(--im-ombre); overflow: hidden; }
.tn-hero-photo { margin: 0; position: relative; min-height: 100%; background: var(--im-teinte); overflow: hidden; }
.tn-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 24% 50%; display: block; }
.tn-hero-tampon { position: absolute; left: 50%; bottom: 9%; margin: 0; display: flex; flex-direction: row; align-items: center; gap: .75rem; padding: .55rem 1rem .55rem .95rem; background: #fff; border: 4px solid currentColor; border-radius: 4px; box-shadow: 0 10px 28px rgba(45, 33, 49, .3); transform: translateX(-50%) rotate(-7deg); color: var(--im-rouge); white-space: nowrap; }
.tn-hero-tampon[data-verdict="souvent"] { color: var(--im-lien); border-style: dashed; }
.tn-hero-tampon[data-verdict="autorise"] { color: var(--im-texte); }
.tn-hero-tampon-cas { order: 2; padding-left: .75rem; border-left: 2px solid var(--im-filet); line-height: 1.25; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--im-texte-2); }
.tn-hero-tampon-cas b { color: var(--im-texte); }
.tn-hero-tampon-statut { font-family: var(--im-titre); font-weight: 800; font-size: 1.3rem; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; }

.tn-registre-fiche { min-width: 0; padding: 1.2rem 1.3rem 1.25rem; display: flex; flex-direction: column; }
.tn-registre-tete { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding-bottom: .75rem; border-bottom: 2px solid var(--im-texte); }
.tn-registre-titre { display: inline-flex; align-items: center; gap: .45rem; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--im-lien); }
.tn-registre-ref { font-size: .74rem; color: var(--im-texte-2); white-space: nowrap; }
.tn-registre-compte { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .85rem 0 .95rem; }
.tn-registre-compte > div { display: flex; align-items: baseline; gap: .4rem; background: var(--im-bande); border-radius: 4px; padding: .45rem .6rem; border-left: 3px solid var(--im-rouge); }
.tn-registre-compte > [data-verdict="souvent"] { border-left-style: dashed; border-left-color: var(--im-lien); }
.tn-registre-compte > [data-verdict="autorise"] { border-left-color: var(--im-texte); }
.tn-registre-compte dt { font-family: var(--im-titre); font-weight: 800; font-size: 1.35rem; line-height: 1; }
.tn-registre-compte dd { margin: 0; font-size: .76rem; line-height: 1.2; color: var(--im-texte-2); }
.tn-registre-liste { display: flex; flex-direction: column; border-top: 1px solid var(--im-filet); }
.tn-cas { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr) auto; gap: .65rem; align-items: center; width: 100%; padding: .52rem .55rem; margin: 0; border: 0; border-bottom: 1px solid var(--im-filet); background: transparent; color: var(--im-texte); font: inherit; text-align: left; cursor: pointer; transition: background .2s, box-shadow .2s; }
.tn-cas-num { font-family: var(--im-titre); font-weight: 800; font-size: .78rem; color: var(--im-texte-2); }
.tn-cas-nom { font-size: .86rem; font-weight: 600; line-height: 1.3; }
.tn-cas[aria-pressed="true"] { background: var(--im-bande); box-shadow: inset 3px 0 0 var(--im-rouge); }
.tn-cas[aria-pressed="true"] .tn-cas-num { color: var(--im-rouge); }
.tn-cas:hover { background: var(--im-bande); }
.tn-cas:focus-visible { outline: 3px solid var(--im-rouge); outline-offset: -3px; }
.tn-registre-vigilance { display: flex; gap: .55rem; align-items: flex-start; margin: 1rem 0 .8rem; font-size: .86rem; line-height: 1.45; color: var(--im-texte-2); min-height: 2.9em; }
.tn-registre-vigilance .tn-ico { color: var(--im-rouge); margin-top: .1em; }
.tn-registre-fiche > .tn-lien { margin-top: auto; align-self: flex-start; }

/* LA UNE */
.tn-une-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.tn-une-carte .im-pastille { white-space: nowrap; font-size: .66rem; }
.tn-une-carte { padding: 1.35rem 1.25rem 1.3rem; display: flex; flex-direction: column; align-items: flex-start; border-top: 4px solid var(--im-rouge); }
.tn-chiffre { font-family: var(--im-titre); font-weight: 800; font-size: clamp(1.6rem, 2.3vw, 2rem); line-height: 1.05; margin: 1.1rem 0 .3rem; color: var(--im-texte); white-space: nowrap; }
.tn-chiffre-l { margin: 0 0 1.1rem; font-size: .9rem; color: var(--im-texte-2); padding-bottom: 1rem; border-bottom: 1px solid var(--im-filet); width: 100%; }
.tn-une-carte .tn-meta { margin-top: auto; padding-top: .8rem; }

/* Fiches dossiers des rubriques */
.tn-dossiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem; }
.tn-dossiers--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tn-dossier { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1.1rem; padding: 1.1rem 1.2rem; align-items: start; }
.tn-dossier-chiffre { margin: 0; display: flex; flex-direction: column; gap: .3rem; padding-right: 1rem; border-right: 1px solid var(--im-filet); height: 100%; box-sizing: border-box; }
.tn-dossier-chiffre b { font-family: var(--im-titre); font-weight: 800; font-size: 1.1rem; line-height: 1.15; color: var(--im-rouge); }
.tn-dossier-chiffre span { font-size: .78rem; line-height: 1.35; color: var(--im-texte-2); }
.tn-dossier-corps { min-width: 0; }
.tn-dossiers--3 .tn-dossier { grid-template-columns: 1fr; }
.tn-dossiers--3 .tn-dossier-chiffre { border-right: 0; border-bottom: 1px solid var(--im-filet); padding: 0 0 .8rem; flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: .5rem; }

/* Duo photo + démonstration : même haut, même hauteur (photo cadrée, jamais étirée par le texte) */
.tn-duo { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: clamp(1.5rem, 3.5vw, 3rem); align-items: start; }
.tn-duo--photo-droite { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
.tn-photo { margin: 0; position: relative; height: var(--tn-duo-h); border-radius: 6px; overflow: hidden; box-shadow: var(--im-ombre); background: var(--im-teinte); }
.tn-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.tn-carte-demo { min-height: var(--tn-duo-h); display: flex; flex-direction: column; justify-content: space-between; }
.tn-carte-demo .tn-note { margin-top: .9rem; }
.tn-etiquette { position: absolute; left: 14px; right: 14px; bottom: 14px; display: flex; align-items: center; gap: .5rem; padding: .7rem .9rem; background: #fff; border-radius: 4px; font-size: .86rem; font-weight: 700; box-shadow: var(--im-ombre); }
.tn-etiquette .tn-ico { color: var(--im-rouge); }

/* Routes : barres min-max */
.tn-delais { padding: 1.2rem 1.5rem 1.15rem; }
.tn-delais-axe { position: relative; height: 1.3rem; margin-left: calc(13.5rem + 1rem); margin-right: 4.8rem; font-size: .72rem; color: var(--im-texte-2); border-bottom: 1px solid var(--im-filet); }
.tn-delais-axe span { position: absolute; left: calc(var(--p) * 100%); transform: translateX(-50%); white-space: nowrap; }
.tn-delais-liste { list-style: none; margin: 0; padding: 0; }
.tn-delai { display: grid; grid-template-columns: 13.5rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: .5rem 0; border-bottom: 1px dashed var(--im-filet); }
.tn-delai:last-child { border-bottom: 0; }
.tn-delai-nom { margin: 0; display: flex; flex-direction: column; line-height: 1.25; }
.tn-delai-nom strong { font-size: .9rem; }
.tn-delai-nom span { font-size: .76rem; color: var(--im-texte-2); }
.tn-delai-piste { position: relative; margin: 0 4.8rem 0 0; height: 14px; background: var(--im-bande); border-radius: 7px; }
.tn-delai-barre { position: absolute; top: 0; bottom: 0; left: calc(var(--a) * 100%); width: calc((var(--b) - var(--a)) * 100%); min-width: 10px; background: var(--im-texte); border-radius: 7px; transform-origin: left center; }
.tn-delai:hover .tn-delai-barre { background: var(--im-rouge); }
.tn-delai-val { position: absolute; top: 50%; left: calc(var(--b) * 100% + 10px); transform: translateY(-50%); font-size: .8rem; font-weight: 800; white-space: nowrap; }
.tn-delais .tn-note { margin-top: .8rem; }

/* Grille des 8 critères */
.tn-grille-fiche { max-width: 920px; margin: 0 auto; padding: .5rem 1.5rem 1.3rem; }
.tn-grille-tete { display: grid; grid-template-columns: 2.4rem minmax(0, 15rem) minmax(0, 1fr) auto; gap: 1rem; padding: .9rem 0; border-bottom: 2px solid var(--im-texte); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--im-texte-2); }
.tn-grille-tete > span:first-child { grid-column: 2; }
.tn-grille-score { color: var(--im-lien); text-align: right; }
.tn-grille-score b { font-family: var(--im-titre); font-size: 1.05rem; color: var(--im-rouge); }
.tn-grille-liste { list-style: none; margin: 0; padding: 0; }
.tn-critere { display: grid; grid-template-columns: 2.4rem minmax(0, 15rem) minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: .72rem 0; border-bottom: 1px solid var(--im-filet); }
.tn-critere-num { font-family: var(--im-titre); font-weight: 800; color: var(--im-texte-2); font-size: .9rem; }
.tn-critere-nom { font-size: .95rem; }
.tn-critere-constat { font-size: .92rem; color: var(--im-texte-2); }
.tn-critere-tampon { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .6rem; border: 2px solid var(--im-rouge); color: var(--im-rouge); border-radius: 3px; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-3deg); background: #fff; }
.tn-grille-pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin: 1.2rem 0 0; font-size: .95rem; }

/* Ticket blé */
.tn-ticket { padding: 1.2rem 1.5rem 1.15rem; }
.tn-ticket-titre { display: flex; align-items: center; gap: .5rem; margin: 0 0 .9rem; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--im-lien); }
.tn-ticket-lignes { margin: 0; }
.tn-ticket-lignes > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: .55rem 0; border-bottom: 1px dashed var(--im-filet); }
.tn-ticket-lignes dt { font-size: .95rem; }
.tn-ticket-lignes dd { margin: 0; font-family: var(--im-titre); font-weight: 800; font-size: 1.25rem; white-space: nowrap; }
.tn-ticket-total { border-bottom: 2px solid var(--im-texte) !important; }
.tn-ticket-total dt { font-weight: 800; }
.tn-ticket-total dd { color: var(--im-rouge); font-size: 1.6rem !important; }
.tn-ticket-seuil { margin: .75rem 0 .9rem; font-size: .93rem; color: var(--im-texte-2); }
.tn-ticket-seuil b { color: var(--im-texte); }
.tn-variations { display: grid; gap: .55rem; }
.tn-variation { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr) 3.6rem; gap: .9rem; align-items: center; margin: 0; font-size: .88rem; }
.tn-variation-piste { position: relative; height: 12px; background: var(--im-bande); border-radius: 6px; }
.tn-variation-barre { position: absolute; top: 0; bottom: 0; left: 50%; width: calc(var(--v) * 50%); background: var(--im-texte); border-radius: 0 6px 6px 0; transform-origin: left center; }
.tn-variation[data-signe="moins"] .tn-variation-barre { left: auto; right: 50%; background: var(--im-rouge); border-radius: 6px 0 0 6px; transform-origin: right center; }
.tn-variation-piste::before { content: ""; position: absolute; left: 50%; top: -3px; bottom: -3px; width: 2px; background: var(--im-texte-2); }
.tn-variation b { font-family: var(--im-titre); text-align: right; white-space: nowrap; }

/* Simulateur hôtel */
.tn-simu { padding: 1.2rem 1.5rem 1.15rem; }
.tn-simu-label { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-weight: 800; font-size: .95rem; }
.tn-simu-label output { font-family: var(--im-titre); font-size: 1.8rem; color: var(--im-rouge); white-space: nowrap; flex: none; }
.tn-simu-curseur { width: 100%; margin: .6rem 0 .2rem; accent-color: var(--im-rouge); height: 28px; cursor: pointer; }
.tn-simu-echelle { position: relative; display: flex; justify-content: space-between; margin: 0 0 .9rem; font-size: .76rem; color: var(--im-texte-2); }
.tn-simu-confort { position: absolute; left: 40%; width: 20%; text-align: center; top: 0; border-top: 3px solid var(--im-rouge); padding-top: .2rem; white-space: nowrap; }
.tn-simu-sorties { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: .9rem 0 0; }
.tn-simu-sorties > div { background: var(--im-bande); border-radius: 4px; padding: .6rem .9rem; }
.tn-simu-sorties dt { font-size: .8rem; color: var(--im-texte-2); }
.tn-simu-sorties dd { margin: .2rem 0 0; font-family: var(--im-titre); font-weight: 800; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.tn-simu-reste { grid-column: 1 / -1; background: var(--im-texte) !important; }
.tn-simu-reste dt { color: var(--im-filet) !important; }
.tn-simu-reste dd { color: #fff; font-size: 1.7rem !important; }
.tn-simu-jauge { height: 10px; background: var(--im-bande); border-radius: 5px; margin: .9rem 0 0; overflow: hidden; }
.tn-simu-jauge span { display: block; height: 100%; width: calc(var(--j) * 100%); background: var(--im-rouge); border-radius: 5px; transition: width .3s ease; }

/* Quiz du kit, habillé */
.tn-quiz-boite { max-width: 760px; margin: 0 auto; padding: 1.6rem 1.8rem 1.5rem; --c-primaire: var(--im-texte); --c-texte: var(--im-texte); }
.tn-quiz-score { margin: 0; font-weight: 800; color: var(--im-lien); }
.tn-quiz-score:empty { display: none; }
.tn-quiz-q { padding: .4rem 0 .2rem .9rem; }
.tn-quiz-texte { font-family: var(--im-titre); font-weight: 800; font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.35; margin: 0 0 1rem; }
.tn-quiz-expl { color: var(--im-texte-2); margin: .8rem 0 0; }
.tn-quiz-expl a { color: var(--im-lien); font-weight: 700; }
.tn-quiz .kv-choix { gap: 1rem; }
.tn-quiz .kv-bouton { border-radius: 0; border: 2px solid var(--im-texte); background: #fff; color: var(--im-texte); text-transform: uppercase; font-weight: 800; font-size: .82rem; letter-spacing: .08em; padding: 0 1.4rem; font-family: var(--font-primary); }
.tn-quiz .kv-bouton.kv-choisi, .tn-quiz .kv-bouton:hover { background: var(--im-texte); color: #fff; }
.tn-quiz .kv-suivante, .tn-quiz .kv-encore { background: var(--im-rouge); border-color: var(--im-rouge); color: #fff; }
.tn-quiz .kv-quiz-pied { border-top: 1px solid var(--im-filet); padding-top: 1rem; }
.tn-quiz .kv-quiz-prog { display: flex; gap: 4px; margin-top: .35rem; }
.tn-quiz .kv-quiz-prog span { width: 22px; height: 4px; background: var(--im-filet); }

/* Rédaction */
.tn-signatures { list-style: none; margin: 0 auto; padding: .4rem 1.5rem; max-width: 920px; }
.tn-signature { display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, 15rem); gap: 1.25rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--im-filet); }
.tn-signature:last-child { border-bottom: 0; }
.tn-portrait { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: var(--im-teinte); }
.tn-signature-id { margin: 0; display: flex; flex-direction: column; }
.tn-signature-id a { font-family: var(--im-titre); font-weight: 800; font-size: 1.02rem; }
.tn-signature-id span { font-size: .88rem; color: var(--im-texte-2); }
.tn-signature-part { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; align-items: center; font-size: .85rem; }
.tn-signature-piste { height: 8px; background: var(--im-bande); border-radius: 4px; position: relative; overflow: hidden; }
.tn-signature-piste span { position: absolute; inset: 0 auto 0 0; width: calc(var(--n) * 100%); background: var(--im-rouge); border-radius: 4px; transform-origin: left center; }

/* Chute : cinq gestes, cinq tampons */
.tn-chute-liste { list-style: none; max-width: 920px; margin: 0 auto; padding: .4rem 1.5rem; }
.tn-chute-ligne { display: grid; grid-template-columns: 9rem minmax(0, 1fr) 8.5rem; gap: 1.25rem; align-items: center; padding: 1.05rem 0; border-bottom: 1px solid var(--im-filet); }
.tn-chute-ligne:last-child { border-bottom: 0; }
.tn-chute-geste { font-family: var(--im-titre); font-weight: 800; font-size: 1.05rem; color: var(--im-rouge); }
.tn-chute-op { margin: 0; display: flex; flex-direction: column; gap: .2rem; }
.tn-chute-op a { font-weight: 700; font-size: 1rem; line-height: 1.35; }
.tn-chute-op span { font-size: .86rem; color: var(--im-texte-2); }
.tn-chute-tampon { justify-self: end; font-size: .76rem; padding: .32rem .7rem; }
.tn-chute-actions { justify-content: center; margin-top: 2.25rem; }

/* Écrans moyens */
@media (max-width: 1199.98px) {
	.tn-home { --tn-h: 132px; }
	.tn-hero-in { grid-template-columns: minmax(0, 600px) minmax(0, 1fr); }
	.tn-une-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	.tn-hero-in { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-top: 2rem; padding-bottom: 3rem; gap: 2.5rem; }
	.tn-hero-texte, .tn-hero-scene { grid-column: 1; grid-row: auto; }
	.tn-registre { max-width: 720px; width: 100%; margin-inline: auto; }
	.tn-duo, .tn-duo--photo-droite { grid-template-columns: minmax(0, 1fr); }
	.tn-duo .tn-photo { height: auto; aspect-ratio: 4 / 5; width: 100%; max-width: 420px; margin-inline: auto; }
	.tn-duo--photo-droite .tn-photo { order: -1; }
	.tn-carte-demo { min-height: 0; }
	.tn-dossiers--3 { grid-template-columns: minmax(0, 1fr); }
}
/* Mobile : bandeau masqué, titre et boutons au premier écran, puis la photo tamponnée et le registre */
@media (max-width: 700px) {
	[data-bandeau], .announcement-bar { display: none !important; }
	.tn-home { --tn-h: 64px; --tn-air: 3.5rem; }
	.tn-hero-in { padding-top: 1.5rem; gap: 2rem; }
	.tn-kicker { font-size: .66rem; letter-spacing: .08em; padding: 0 .75rem; }
	.tn-h1 { font-size: clamp(1.75rem, 8vw, 2.25rem); margin-bottom: 1rem; }
	.tn-chapo { font-size: 1.02rem; margin-bottom: 1.5rem; }
	.tn-actions { width: 100%; }
	.tn-actions > * { flex: 1 1 100%; box-sizing: border-box; }
	.tn-registre { grid-template-columns: minmax(0, 1fr); }
	.tn-hero-photo { aspect-ratio: 1 / 1; min-height: 0; }
	.tn-hero-photo img { object-position: 22% 50%; }
	.tn-hero-tampon-statut { font-size: 1.25rem; }
	.tn-registre-fiche { padding: 1rem 1rem 1.1rem; }
	.tn-registre-tete { flex-wrap: wrap; }
	.tn-cas { grid-template-columns: 1.4rem minmax(0, 1fr); gap: .3rem .6rem; }
	.tn-cas .tn-pastille-v { grid-column: 2; justify-self: start; }
	.tn-une-grille, .tn-dossiers { grid-template-columns: minmax(0, 1fr); }
	.tn-dossier { grid-template-columns: minmax(0, 1fr); }
	.tn-dossier-chiffre { border-right: 0; border-bottom: 1px solid var(--im-filet); padding: 0 0 .8rem; flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: .5rem; }
	.tn-delais { padding: 1rem; }
	.tn-delais-axe { display: none; }
	.tn-delai { grid-template-columns: minmax(0, 1fr); gap: .45rem; }
	.tn-delai-piste { margin-right: 4.6rem; }
	.tn-grille-fiche { padding: .25rem 1rem 1rem; }
	.tn-grille-tete { grid-template-columns: minmax(0, 1fr) auto; }
	.tn-grille-tete > span:nth-child(-n+2) { display: none; }
	.tn-grille-tete .tn-grille-score { grid-column: 1 / -1; text-align: left; }
	.tn-critere { grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .35rem .75rem; }
	.tn-critere-constat { grid-column: 2 / -1; }
	.tn-critere-tampon { grid-column: 3; grid-row: 1; }
	.tn-variation { grid-template-columns: minmax(0, 1fr) auto; }
	.tn-variation-piste { grid-column: 1 / -1; grid-row: 2; }
	.tn-simu-sorties { grid-template-columns: minmax(0, 1fr); }
	.tn-signatures, .tn-chute-liste { padding: .25rem 1rem; }
	.tn-signature { grid-template-columns: 56px minmax(0, 1fr); gap: .5rem 1rem; }
	.tn-portrait { width: 56px; height: 56px; }
	.tn-signature-part { grid-column: 1 / -1; }
	.tn-chute-ligne { grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1rem; }
	.tn-chute-op { grid-column: 1 / -1; }
	.tn-chute-tampon { grid-column: 2; grid-row: 1; }
	.tn-quiz-boite { padding: 1.2rem 1rem; }
	.tn-ticket, .tn-simu { padding: 1.2rem 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
	.tn-home *, .tn-home *::before, .tn-home *::after { transition: none !important; animation: none !important; }
}
