/* Home tunée : « le créneau du soin ». Charte : global.css et da.css (Inter, bleu #2667ff, nuit #001a57). */
.tn-home{--tn-bleu:#2667ff;--tn-nuit:#001a57;--tn-pale:#ebf1ff;--tn-clair:#f8fafc;--tn-bord:#dbe7ff;--tn-gris:#5d6f8d;--tn-texte:#334155;--tn-lien:#174fdb;
  --tn-ombre:0 10px 30px rgba(0,26,87,.08);--tn-ombre-forte:0 30px 70px -24px rgba(0,26,87,.32);color:var(--tn-texte);font-family:"Inter",sans-serif}
.tn-home *,.tn-home *::before,.tn-home *::after{box-sizing:border-box}
.tn-l{width:min(100% - 3rem,1232px);margin-inline:auto}
.tn-sec{padding:6.5rem 0;scroll-margin-top:var(--header-stack-h)}
.tn-fond-clair{background:var(--tn-clair)}
.tn-fond-doux{background:var(--tn-pale)}
.tn-fond-nuit{background:var(--tn-nuit);color:var(--tn-bord)}
.tn-home h1,.tn-home h2,.tn-home h3{font-family:"Inter",sans-serif;color:var(--tn-nuit);margin:0}
.tn-home h1 em,.tn-home h2 em{font-style:normal;color:var(--tn-bleu)}
.tn-home svg{width:18px;height:18px;flex:none}

/* Grammaire commune : pastille, titre centré, carte */
.tn-pastille{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.1rem;padding:.38rem .85rem .38rem .6rem;border:1px solid var(--tn-bord);border-radius:999px;background:#fff;color:var(--tn-lien);font-size:.8rem;font-weight:600;letter-spacing:.02em}
.tn-pastille>span{width:.5rem;height:.5rem;border-radius:50%;background:var(--tn-bleu);box-shadow:0 0 0 4px var(--tn-pale)}
.tn-tete{max-width:780px;margin:0 auto 3.5rem;text-align:center}
.tn-tete h2{font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.1;letter-spacing:-.03em;font-weight:700;margin-bottom:1rem;text-wrap:balance}
.tn-tete>p:not(.tn-pastille){color:var(--tn-gris);font-size:1.08rem;line-height:1.6;max-width:60ch;margin:0 auto}
.tn-fond-nuit .tn-pastille{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff}
.tn-fond-nuit .tn-pastille>span{box-shadow:0 0 0 4px rgba(38,103,255,.35)}
.tn-fond-nuit .tn-tete h2{color:#fff}
.tn-fond-nuit .tn-tete h2 em{color:var(--tn-bord)}
.tn-fond-nuit .tn-tete>p:not(.tn-pastille){color:var(--tn-bord)}
.tn-carte{background:#fff;border:1px solid var(--tn-bord);border-radius:16px;box-shadow:var(--tn-ombre)}
.tn-etiquette-pale{display:inline-flex;align-self:flex-start;padding:.28rem .65rem;border-radius:999px;background:var(--tn-pale);color:var(--tn-nuit);font-size:.75rem;font-weight:600}
.tn-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.tn-centre{text-align:center;margin:3rem 0 0}
.tn-home .btn-primary,.tn-home .oasis-btn-light{transition:background .2s,border-color .2s,color .2s}
.tn-home .btn-primary:hover{background:var(--tn-nuit)}
.tn-home .oasis-btn-light:hover{border-color:var(--tn-bleu)}
.tn-aparte a,.tn-inci-liens a{display:inline-flex;align-items:center;gap:.3rem;color:var(--tn-lien);font-weight:600}
.tn-aparte a svg,.tn-inci-liens a svg{width:16px;height:16px;transition:transform .2s}
.tn-aparte a:hover svg,.tn-inci-liens a:hover svg{transform:translateX(3px)}

/* ---------- Hero : le créneau du soin ---------- */
.tn-creneau{padding:2.2rem 0;background:linear-gradient(180deg,#fff 0,var(--tn-clair) 100%);min-height:calc(100svh - var(--header-stack-h));display:grid;align-items:center}
.tn-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:4.5rem;align-items:center}
.tn-hero-texte{min-width:0}
.tn-creneau h1{font-size:clamp(2.6rem,4.5vw,4.15rem);line-height:1.03;letter-spacing:-.045em;font-weight:800;margin:0 0 1.5rem;max-width:12.5ch}
.tn-chapeau{font-size:1.13rem;line-height:1.62;color:var(--tn-texte);max-width:50ch;margin:0 0 2rem}
.tn-preuve{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:1.8rem 0 0;color:var(--tn-gris);font-size:.92rem}
.tn-preuve b{color:var(--tn-nuit);font-size:1.05rem;margin-right:-.3rem}
.tn-preuve i{width:4px;height:4px;border-radius:50%;background:var(--tn-bord)}

.tn-scene{min-width:0;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--tn-bord);box-shadow:var(--tn-ombre-forte)}
.tn-photo{position:relative;margin:0;aspect-ratio:1/1;background:var(--tn-pale);overflow:hidden}
.tn-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Repères ancrés sur la photo (recadrage 1/1 fixe : les coordonnées restent exactes) */
.tn-point{position:absolute;left:var(--x);top:var(--y);z-index:2;display:block;width:0;height:0;color:var(--tn-nuit);text-decoration:none}
.tn-point b{position:absolute;left:-14px;top:-14px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--tn-bleu);font-size:.78rem;font-weight:800;color:var(--tn-lien);box-shadow:0 4px 12px rgba(0,26,87,.25);transition:background .3s,color .3s,transform .3s}
.tn-point span{position:absolute;top:-16px;white-space:nowrap;padding:.42rem .75rem;border-radius:8px;background:#fff;color:var(--tn-nuit);font-size:.8rem;font-weight:700;line-height:1.2;box-shadow:0 10px 24px rgba(0,26,87,.22);opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s;pointer-events:none}
.tn-point-d span{left:22px}
.tn-point-g span{right:22px}
.tn-point.tn-on b{background:var(--tn-bleu);color:#fff;transform:scale(1.1);animation:tn-pouls 1.8s ease-out infinite}
.tn-point.tn-on span{opacity:1;transform:none}
@keyframes tn-pouls{0%{box-shadow:0 0 0 0 rgba(38,103,255,.55),0 4px 12px rgba(0,26,87,.25)}100%{box-shadow:0 0 0 14px rgba(38,103,255,0),0 4px 12px rgba(0,26,87,.25)}}

/* Réglette du créneau */
.tn-reglette{padding:1.15rem 1.35rem 1.2rem;background:#fff}
.tn-reglette-tete{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem}
.tn-reglette-tete p{margin:0;line-height:1.25}
.tn-reglette-tete p span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tn-gris)}
.tn-reglette-tete strong{color:var(--tn-nuit);font-size:1.02rem}
.tn-duree{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:var(--tn-pale);color:var(--tn-lien);font-weight:700;font-size:.85rem;white-space:nowrap}
.tn-duree svg{width:15px;height:15px}
.tn-piste{position:relative;display:flex;gap:3px;height:10px;margin-bottom:.9rem}
.tn-seg{flex:0 0 calc(var(--w) - 3px);border-radius:6px;background:var(--tn-pale);transition:background .35s}
.tn-seg-avant{background:repeating-linear-gradient(135deg,var(--tn-bord) 0 3px,#fff 3px 6px)}
.tn-seg.tn-fait{background:var(--tn-bord)}
.tn-seg.tn-on{background:var(--tn-bleu)}
.tn-tete-lecture{position:absolute;top:-5px;bottom:-5px;left:var(--t,0%);width:3px;border-radius:2px;background:var(--tn-nuit);opacity:0;transition:opacity .3s}
.tn-anime .tn-tete-lecture{opacity:1}
.tn-temps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.tn-temps li{min-width:0;border-top:2px solid var(--tn-pale);transition:border-color .3s}
.tn-temps a{display:block;padding-top:.55rem;color:inherit;text-decoration:none}
.tn-temps time{display:block;font-size:.72rem;font-weight:600;color:var(--tn-gris);font-variant-numeric:tabular-nums}
.tn-temps strong{display:flex;gap:.35rem;align-items:baseline;color:var(--tn-nuit);font-size:.84rem;line-height:1.25;margin:.15rem 0 .2rem}
.tn-temps strong b{flex:none;font-size:.72rem;color:var(--tn-lien)}
.tn-temps small{display:block;font-size:.74rem;line-height:1.35;color:var(--tn-gris)}
.tn-temps li.tn-on{border-top-color:var(--tn-bleu)}
.tn-temps li.tn-on strong{color:var(--tn-bleu)}

/* ---------- Durées : comparatif en barres ---------- */
.tn-durees-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:1.5rem;align-items:stretch}
.tn-graphe{padding:2rem 2rem 1.4rem}
.tn-graphe ul{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.tn-graphe li{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr) 8.5rem;gap:1.2rem;align-items:center}
.tn-graphe-nom{color:var(--tn-nuit);font-weight:600;font-size:.95rem;line-height:1.3}
.tn-graphe-piste{position:relative;height:14px;border-radius:8px;background:var(--tn-clair);border:1px solid var(--tn-bord)}
.tn-graphe-piste i{position:absolute;top:-1px;bottom:-1px;left:var(--de);width:calc(var(--a) - var(--de));border-radius:8px;background:var(--tn-bord);border:2px solid var(--tn-bleu);transform-origin:left}
.tn-graphe li.tn-fort .tn-graphe-piste i{background:var(--tn-bleu)}
.tn-graphe li strong{color:var(--tn-nuit);font-size:.95rem;text-align:right;white-space:nowrap}
.tn-graphe li.tn-fort strong{color:var(--tn-bleu)}
.tn-graphe-axe{position:relative;height:1.4rem;margin:1rem 9.7rem 0 16.2rem;border-top:1px dashed var(--tn-bord)}
.tn-graphe-axe span{position:absolute;left:var(--p);top:.3rem;transform:translateX(-50%);font-size:.72rem;color:var(--tn-gris)}
.tn-source{margin:1.6rem 0 0;font-size:.85rem;color:var(--tn-gris)}
.tn-source a{color:var(--tn-lien);text-decoration:underline;text-underline-offset:3px}
.tn-aparte{padding:2rem;display:flex;flex-direction:column;gap:.8rem;background:var(--tn-pale);border-color:var(--tn-bord);box-shadow:none}
.tn-aparte>svg{width:28px;height:28px;color:var(--tn-bleu)}
.tn-aparte h3{font-size:1.3rem;line-height:1.25}
.tn-aparte p{color:var(--tn-texte);margin:0;line-height:1.6}
.tn-aparte a{margin-top:auto}

/* ---------- Frise : avant, pendant, après ---------- */
.tn-frise-axe{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1rem}
.tn-frise-ligne{position:absolute;left:10px;right:10px;top:9px;height:2px;background:rgba(255,255,255,.24)}
.tn-frise-ligne i{position:absolute;inset:0;background:var(--tn-bleu);transform-origin:left;transform:scaleX(var(--tn-frise,1))}
.tn-jalon{position:relative;min-width:0;display:flex;flex-direction:column}
.tn-jalon-point{position:relative;z-index:1;display:block;width:20px;height:20px;border-radius:50%;background:var(--tn-nuit);border:3px solid var(--tn-bleu);box-shadow:0 0 0 5px rgba(38,103,255,.18)}
.tn-jalon-quand{margin:1.1rem 0 .8rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tn-bord)}
.tn-jalon a{flex:1;display:flex;flex-direction:column;gap:.75rem;padding:1.4rem 1.3rem 1.2rem;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);color:inherit;text-decoration:none;transition:background .25s,border-color .25s,transform .25s}
.tn-jalon a:hover{background:rgba(255,255,255,.09);border-color:var(--tn-bleu);transform:translateY(-3px)}
.tn-jalon-chiffre{display:block;color:#fff;font-size:clamp(1.8rem,2.5vw,2.35rem);font-weight:800;letter-spacing:-.03em;line-height:1;white-space:nowrap}
.tn-jalon-chiffre small{display:block;margin-top:.45rem;font-size:.85rem;font-weight:600;letter-spacing:0;color:var(--tn-bord);white-space:normal}
.tn-jalon-texte{color:rgba(255,255,255,.78);font-size:.92rem;line-height:1.5}
.tn-jalon-guide{margin-top:auto;display:inline-flex;align-items:center;gap:.35rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.12);color:#fff;font-weight:600;font-size:.88rem}
.tn-jalon-guide svg{width:15px;height:15px;transition:transform .2s}
.tn-jalon a:hover .tn-jalon-guide svg{transform:translateX(3px)}

/* ---------- Fiche de réservation ---------- */
.tn-fiche-carte{max-width:960px;margin:0 auto;padding:1.4rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.4rem}
.tn-fiche-carte ul{list-style:none;margin:0;padding:0;align-self:center}
.tn-fiche-carte li+li{border-top:1px dashed var(--tn-bord)}
.tn-fiche-carte label{position:relative;display:flex;align-items:center;gap:1rem;padding:1rem .6rem;cursor:pointer;border-radius:10px;transition:background .2s}
.tn-fiche-carte label:hover{background:var(--tn-clair)}
.tn-fiche-carte input{position:absolute;opacity:0;width:1px;height:1px}
.tn-case{flex:none;display:grid;place-items:center;width:1.7rem;height:1.7rem;border:2px solid #94a3b8;border-radius:7px;color:transparent;transition:all .2s}
.tn-case svg{width:16px;height:16px}
.tn-fiche-carte input:checked+.tn-case{background:var(--tn-bleu);border-color:var(--tn-bleu);color:#fff}
.tn-fiche-carte input:focus-visible+.tn-case{outline:3px solid var(--tn-bord);outline-offset:2px}
.tn-q{color:var(--tn-texte);line-height:1.45}
.tn-q b{display:inline-block;min-width:7.5rem;color:var(--tn-nuit)}
.tn-fiche-carte input:checked~.tn-q{color:var(--tn-gris)}
.tn-fiche-bilan{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1.5rem;border-radius:14px;background:var(--tn-pale);text-align:center}
.tn-fiche-bilan>p:first-child{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tn-gris)}
.tn-anneau{--n:0;display:grid;place-items:center;width:148px;height:148px;border-radius:50%;background:conic-gradient(var(--tn-bleu) calc(var(--n) * 20%),#fff 0);transition:--n .5s}
.tn-anneau strong{display:grid;grid-auto-flow:column;place-content:center;align-items:baseline;gap:.1rem;width:118px;height:118px;border-radius:50%;background:var(--tn-pale);color:var(--tn-nuit);font-size:2.6rem;font-weight:800;line-height:1}
.tn-anneau strong small{display:inline;font-size:1rem;color:var(--tn-gris);font-weight:600}
.tn-anneau strong span{display:inline}
.tn-fiche-etat{margin:0;color:var(--tn-texte);font-size:.95rem;line-height:1.45;min-height:2.9em;max-width:26ch}

/* ---------- Routine du soir ---------- */
.tn-routine-grille{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3.5rem;align-items:center;max-width:1080px;margin:0 auto}
.tn-routine-photo{position:relative;margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--tn-ombre-forte)}
.tn-routine-photo img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:35% 50%;display:block}
.tn-routine-photo figcaption{position:absolute;left:1rem;bottom:1rem;display:flex;flex-direction:column;padding:.7rem 1rem;border-radius:12px;background:#fff;box-shadow:0 10px 26px rgba(0,26,87,.2)}
.tn-routine-photo figcaption span{font-size:.75rem;color:var(--tn-gris)}
.tn-routine-photo figcaption strong{color:var(--tn-nuit);font-size:1.1rem}
.tn-routine-piste{padding:1.6rem}
.tn-chrono{display:flex;align-items:center;gap:.8rem;font-size:.8rem;font-weight:600;color:var(--tn-gris);margin-bottom:1.2rem}
.tn-chrono-ligne{position:relative;flex:1;height:6px;border-radius:6px;background:var(--tn-pale)}
.tn-chrono-ligne i{position:absolute;left:0;top:0;bottom:0;width:100%;border-radius:6px;background:var(--tn-bleu);transform-origin:left;transform:scaleX(var(--tn-chrono,1))}
.tn-routine-piste ol{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.5rem}
.tn-routine-piste li{display:flex;gap:1rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--tn-bord);border-radius:12px;background:#fff;transition:border-color .3s,box-shadow .3s,background .3s}
.tn-routine-piste li b{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--tn-pale);color:var(--tn-lien);font-size:.85rem;transition:all .3s}
.tn-routine-piste li strong{display:block;color:var(--tn-nuit);font-size:1.02rem}
.tn-routine-piste li small{display:block;color:var(--tn-gris);font-size:.92rem;line-height:1.45}
.tn-routine-piste li.tn-on{border-color:var(--tn-bleu);background:var(--tn-clair);box-shadow:0 12px 28px -16px rgba(38,103,255,.6)}
.tn-routine-piste li.tn-on b{background:var(--tn-bleu);color:#fff}

/* ---------- Étiquette ---------- */
.tn-etiquette-grille{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3rem;align-items:center;max-width:1080px;margin:0 auto}
.tn-etiquette-photo{position:relative;margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--tn-ombre-forte)}
.tn-etiquette-photo img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;object-position:62% 50%;display:block}
.tn-etiquette-photo figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.7rem;padding:.65rem .9rem;border-radius:12px;background:#fff;color:var(--tn-texte);font-size:.85rem;line-height:1.35;box-shadow:0 10px 26px rgba(0,26,87,.2)}
.tn-etiquette-photo figcaption span{flex:none;padding:.25rem .5rem;border-radius:6px;background:var(--tn-nuit);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.06em}
.tn-inci{padding:1.8rem}
.tn-inci-titre{margin:0 0 1rem;padding-bottom:.9rem;border-bottom:2px solid var(--tn-nuit);font-weight:800;font-size:1.15rem;color:var(--tn-nuit);letter-spacing:.02em}
.tn-inci ol{list-style:none;margin:0;padding:0}
.tn-inci li{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1rem;align-items:baseline;padding:.6rem;border-radius:10px;cursor:default;outline:0;transition:background .3s}
.tn-inci li code{font-family:"Inter",sans-serif;font-weight:700;color:var(--tn-nuit);font-size:.95rem}
.tn-inci li strong{display:block;color:var(--tn-lien);font-size:.85rem}
.tn-inci li small{display:block;color:var(--tn-gris);font-size:.85rem;line-height:1.4}
.tn-inci li.tn-on,.tn-inci li:focus-visible{background:var(--tn-pale)}
.tn-inci-pao{display:flex;align-items:center;gap:.8rem;margin:1rem 0 0;padding:.8rem .6rem 0;border-top:1px solid var(--tn-bord);font-size:.88rem;color:var(--tn-texte)}
.tn-inci-pao span{flex:none;display:grid;place-items:center;width:2.6rem;height:2.4rem;border:2px solid var(--tn-nuit);border-radius:4px 4px 8px 8px;font-weight:800;font-size:.75rem;color:var(--tn-nuit)}
.tn-inci-liens{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.3rem;font-size:.92rem}

/* ---------- Carte des guides (rubriques) ---------- */
.tn-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);overflow:hidden}
.tn-menu-col{min-width:0;display:flex;flex-direction:column;padding:2rem 1.6rem 1.5rem}
.tn-menu-col+.tn-menu-col{border-left:1px dashed var(--tn-bord)}
.tn-menu-col header{padding-bottom:1.2rem;margin-bottom:.4rem;border-bottom:2px solid var(--tn-nuit)}
.tn-menu-icone{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--tn-pale);color:var(--tn-bleu);margin-bottom:1rem}
.tn-menu-icone svg{width:20px;height:20px}
.tn-menu-col h3{font-size:1.2rem;line-height:1.25;margin-bottom:.7rem}
.tn-menu-col h3 a{color:inherit;text-decoration:none}
.tn-menu-col h3 a:hover{color:var(--tn-bleu)}
.tn-menu-repere{display:flex;align-items:baseline;gap:.5rem;margin:0;font-size:.84rem;color:var(--tn-gris);line-height:1.3}
.tn-menu-repere b{flex:none;color:var(--tn-bleu);font-size:1.35rem;font-weight:800;letter-spacing:-.02em}
.tn-menu-col ul{list-style:none;margin:0;padding:0;min-height:calc(var(--lignes) * 4.1rem)}
.tn-menu-col li a{display:flex;align-items:flex-end;gap:.4rem;padding:.8rem 0;color:var(--tn-nuit);text-decoration:none;font-size:.93rem;font-weight:500;line-height:1.35}
.tn-menu-col li a span{flex:0 1 auto;min-width:0}
.tn-menu-col li a i{flex:1 0 1.6rem;margin-bottom:.32rem;border-bottom:2px dotted var(--tn-bord)}
.tn-menu-col li a small{flex:none;color:var(--tn-gris);font-size:.8rem;font-weight:600;white-space:nowrap}
.tn-menu-col li a:hover span{color:var(--tn-bleu)}
.tn-menu-pied{display:flex;align-items:center;gap:.35rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--tn-bord);color:var(--tn-lien);font-weight:600;font-size:.9rem;text-decoration:none}
.tn-menu-pied b{color:var(--tn-nuit)}
.tn-menu-pied svg{width:16px;height:16px;margin-left:auto;transition:transform .2s}
.tn-menu-pied:hover svg{transform:translateX(3px)}

/* ---------- Signatures ---------- */
.tn-equipe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1rem}
.tn-auteur{display:flex;flex-direction:column;gap:.3rem;padding:.7rem .7rem 1.1rem;color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s}
.tn-auteur:hover{transform:translateY(-4px);box-shadow:0 18px 40px -12px rgba(0,26,87,.2)}
.tn-auteur img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;border-radius:12px;margin-bottom:.6rem}
.tn-auteur-texte{display:flex;flex-direction:column;gap:.3rem;padding-inline:.25rem}
.tn-auteur strong{color:var(--tn-nuit);font-size:1rem}
.tn-auteur small{color:var(--tn-gris);font-size:.85rem;margin-bottom:.35rem}
.tn-signe{margin-top:auto;padding:.6rem .25rem 0;border-top:1px solid var(--tn-bord);font-size:.85rem;color:var(--tn-gris)}
.tn-signe b{color:var(--tn-bleu);font-size:1.1rem}
.tn-principes{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:2rem}
.tn-principes p{display:flex;gap:.9rem;align-items:flex-start;margin:0;padding:1.2rem 1.4rem;border-radius:14px;background:var(--tn-clair);border:1px solid var(--tn-bord);line-height:1.5}
.tn-principes svg{color:var(--tn-bleu);width:22px;height:22px;margin-top:.1rem}
.tn-principes strong{color:var(--tn-nuit)}

/* ---------- FAQ et contact ---------- */
.tn-faq-grille{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.5rem;align-items:start;max-width:1080px;margin:0 auto}
.tn-faq-liste{display:grid;gap:.75rem}
.tn-faq details{padding:0 1.4rem}
.tn-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;cursor:pointer;list-style:none;color:var(--tn-nuit);font-weight:700;font-size:1.05rem}
.tn-faq summary::-webkit-details-marker{display:none}
.tn-faq summary svg{color:var(--tn-bleu);transition:transform .3s}
.tn-faq details[open] summary svg{transform:rotate(45deg)}
.tn-faq details p{margin:0;padding:0 0 1.3rem;color:var(--tn-texte);line-height:1.6}
.tn-contact{padding:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;border-color:var(--tn-bleu)}
.tn-contact-icone{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:12px;background:var(--tn-pale);color:var(--tn-bleu)}
.tn-contact h3{font-size:1.3rem;line-height:1.25}
.tn-contact p{margin:0 0 .4rem;color:var(--tn-texte);line-height:1.6}

/* ---------- Bas de page : bandeau de marque dans la charte, pied pleine largeur ---------- */
.uf-block{--accent:#001a57;--af-on-accent:#fff;width:min(100% - 3rem,1232px)!important;max-width:none!important;margin:5rem auto!important;border:0!important;border-radius:22px!important;box-shadow:var(--tn-ombre-forte,0 30px 70px -24px rgba(0,26,87,.32))}
.uf-block .about-banner{background:#001a57!important;padding:2.6rem 3rem!important}
.uf-block .about-banner :is(h2,.brand-name){color:#fff!important}
.uf-block .about-banner p{color:#dbe7ff!important}
.uf-block .af-button.dark-button{background:#fff!important;color:#001a57!important;border:1px solid #dbe7ff;border-radius:.25rem;min-height:44px;font-size:1rem;font-weight:600}
.uf-block .af-button.dark-button:hover{background:#ebf1ff!important}
footer.footer{display:block!important;background:#f8fafc}
footer.footer>div{width:100%}
footer.footer .footer-btm{padding-bottom:.6rem}
footer.footer>p[class^="rv-"]{margin:0!important;padding:.4rem 1rem 1.6rem!important;background:#f8fafc;color:#5d6f8d;opacity:1!important;font-size:.85rem!important}
footer.footer>p[class^="rv-"] a{color:#174fdb}

/* ---------- Tablette ---------- */
@media (max-width:1100px){
  .tn-graphe li{grid-template-columns:minmax(0,11rem) minmax(0,1fr) 7.5rem}
  .tn-graphe-axe{margin-left:12.2rem;margin-right:8.7rem}
  .tn-equipe{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tn-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-menu-col:nth-child(3){border-left:0}
  .tn-menu-col:nth-child(n+3){border-top:1px dashed var(--tn-bord)}
  .tn-frise-axe{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2.5rem}
  .tn-frise-ligne{display:none}
}
@media (max-width:1023px){
  .tn-hero{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:2.5rem}
  .tn-durees-grille{grid-template-columns:minmax(0,1fr)}
  .tn-faq-grille{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  .tn-l{width:min(100% - 2rem,1232px)}
  .tn-sec{padding:4.2rem 0}
  .tn-tete{margin-bottom:2.2rem}
  .tn-tete h2{font-size:clamp(1.75rem,7.4vw,2.2rem)}
  .tn-creneau{min-height:0;display:block;padding:1.1rem 0 3rem}
  .tn-hero{display:flex;flex-direction:column;gap:1.1rem}
  .tn-hero-texte,.tn-scene{display:contents}
  .tn-hero-haut{order:1}
  .tn-reglette{order:2;align-self:stretch;width:100%;border:1px solid var(--tn-bord);border-radius:16px;box-shadow:var(--tn-ombre);padding:.9rem 1rem}
  .tn-hero-bas{order:3}
  .tn-photo{order:4;align-self:stretch;width:100%;border-radius:20px;box-shadow:var(--tn-ombre-forte);margin-top:.6rem}
  .tn-creneau .tn-pastille{margin-bottom:.8rem}
  .tn-creneau h1{font-size:clamp(2.1rem,9.4vw,2.6rem);margin-bottom:0;max-width:none}
  .tn-chapeau{font-size:1rem;line-height:1.55;margin-bottom:1.2rem}
  .tn-preuve{margin-top:1.2rem;font-size:.86rem}
  .tn-reglette-tete{margin-bottom:.7rem}
  .tn-reglette-tete strong{font-size:.95rem}
  .tn-piste{margin-bottom:.6rem}
  .tn-temps{grid-template-columns:minmax(0,1fr)}
  .tn-temps li{display:none;border-top:0}
  .tn-temps li.tn-on{display:block}
  .tn-temps a{display:flex;align-items:baseline;gap:.6rem;padding-top:0}
  .tn-temps strong{margin:0;font-size:.9rem}
  .tn-temps small{margin-left:auto;white-space:nowrap}
  .tn-temps small{font-size:.78rem}
  .tn-detail{display:none}
  .tn-point span{font-size:.74rem;padding:.35rem .6rem}
  .tn-graphe{padding:1.4rem 1.1rem 1.1rem}
  .tn-graphe li{grid-template-columns:minmax(0,1fr) auto;gap:.45rem .8rem}
  .tn-graphe-nom{grid-column:1}
  .tn-graphe li strong{grid-column:2;grid-row:1}
  .tn-graphe-piste{grid-column:1 / -1}
  .tn-graphe-axe{margin:1rem 0 0}
  .tn-frise-axe{grid-template-columns:minmax(0,1fr);row-gap:1.4rem;padding-left:2rem}
  .tn-frise-ligne{display:block;left:9px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .tn-frise-ligne i{transform-origin:top;transform:scaleY(var(--tn-frise,1))}
  .tn-jalon-point{position:absolute;left:-2rem;top:0}
  .tn-jalon-quand{margin:0 0 .6rem;line-height:20px}
  .tn-fiche-carte{grid-template-columns:minmax(0,1fr);padding:1rem}
  .tn-q b{display:block;min-width:0}
  .tn-routine-grille,.tn-etiquette-grille{grid-template-columns:minmax(0,1fr);gap:2rem}
  .tn-routine-piste{padding:1.1rem}
  .tn-inci{padding:1.2rem}
  .tn-inci li{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .tn-menu{grid-template-columns:minmax(0,1fr)}
  .tn-menu-col+.tn-menu-col{border-left:0;border-top:1px dashed var(--tn-bord)}
  .tn-menu-col ul{min-height:0}
  .tn-menu-col{padding:1.5rem 1.2rem 1.2rem}
  .tn-equipe{grid-template-columns:minmax(0,1fr);gap:.7rem}
  .tn-auteur{flex-direction:row;align-items:center;gap:1rem;padding:.6rem}
  .tn-auteur img{width:72px;aspect-ratio:4/5;margin:0;flex:none}
  .tn-auteur-texte{flex:1;min-width:0;padding:0}
  .tn-auteur small{margin:0}
  .tn-signe{margin:0;padding:0;border:0;text-align:center;flex:none;width:4.2rem;font-size:.72rem;line-height:1.2}
  .tn-signe b{display:block;font-size:1.3rem}
  .tn-principes{grid-template-columns:minmax(0,1fr)}
  .uf-block{width:min(100% - 2rem,1232px)!important;margin:3.5rem auto!important}
  .uf-block .about-banner{padding:1.8rem 1.4rem!important}
}
@media (max-width:700px){[data-bandeau],.announcement-bar{display:none!important}}

@media (prefers-reduced-motion:reduce){
  .tn-point.tn-on b{animation:none}
  .tn-tete-lecture{display:none}
}
