/* Palette shared by the three languages; no layout or document-colour override. */
body.tc-direction-20260928 { --dv-material:#143b31; --dv-air:#abc9bc; }
body.tc-direction-20260928.page-la-maison { --dv-material:#38342b; --dv-air:#d4c6aa; }
body.tc-direction-20260928.page-italia { --dv-material:#494128; --dv-air:#d8b68e; }
body.tc-direction-20260928.page-champagne { --dv-material:#263c3c; --dv-air:#d8e6df; }
body.tc-direction-20260928.page-notre-metier { --dv-material:#19352e; --dv-air:#c0cab8; }
body.tc-direction-20260928.page-relations { --dv-material:#30332b; --dv-air:#d4caba; }
body[data-tc-cine-paused="true"]:not(#tc-cartes) :is(.tc-cartography,.pe-sheet img,.ip-arch img),
body[data-tc-cine-paused="true"]:not(#tc-cartes) .gi-fragment::before { animation-play-state:paused!important; }
body[data-tc-cine-paused="true"] :is(.tc-fondu,.tc-cine-bande,.tc-ci-bague,.tc-ci-etiquette,.tc-ci-loupe){display:none!important;}
body[data-tc-cursor-owner="cinema"] .tc-context-cursor{display:none!important;}
/* Small official mark remains visible while reading; original SVG and cycle untouched. */
body.tc-direction-20260928 .tc-header { position:sticky; top:0; z-index:100; }
body.tc-direction-20260928 canvas.tc-logo-cycle { z-index:101!important; }
body.tc-direction-20260928 { scroll-padding-top:85px; }
body.tc-direction-20260928 main [id] { scroll-margin-top:90px; }
/* Empty overlays must never leave the document clipped if their animation is interrupted. */
.tc-fondu { overflow:hidden; contain:paint; }
body.tc-direction-20260928[data-tc-cine-paused="true"] .sg-piste { animation-play-state:paused!important; }
@media (prefers-contrast:more), (forced-colors:active) {
  body.tc-direction-20260928 .sg-piste { animation:none!important; }
}
@media(max-width:700px){body.tc-respiration .tc-cine-bande{height:2.5vh;} body.tc-direction-20260928 main [id]{scroll-margin-top:75px;}}
/* Keyboard focus never ends under the sticky header (85 px; 137 px at 1100 px and below; 65 px at 700 px and below),
   in either direction. Margin carried by focusable content and the chapter bar only: anchor landings (main [id]) and the header are unchanged. */
body.tc-direction-20260928 :is(main, footer, .tf-chapter) :is(a[href], area[href], button, summary, input, select, textarea, [tabindex]:not([tabindex="-1"])) { scroll-margin-top:93px; }
@media (max-width:1100px) { body.tc-direction-20260928 :is(main, footer, .tf-chapter) :is(a[href], area[href], button, summary, input, select, textarea, [tabindex]:not([tabindex="-1"])) { scroll-margin-top:145px; } }
@media (max-width:700px) { body.tc-direction-20260928 :is(main, footer, .tf-chapter) :is(a[href], area[href], button, summary, input, select, textarea, [tabindex]:not([tabindex="-1"])) { scroll-margin-top:73px; } }
/* The focused skip link rises above the sticky header (100) and the mark canvas (101). */
body.tc-direction-20260928 :is(.skip-link, .ed-skip):focus { z-index:1000; }
/* ---- Système de mouvement partagé (Claude, 29/09/2026) : trois durées, trois courbes, pour les six pages et les trois langues.
   Posé sur :root aussi, car les pseudo-éléments ::view-transition-* héritent de l'élément racine, pas de body.
   vif = réponses d'interface ; passage = sortie/entrée de page, bandes, voiles courts ; minéral = fondus enchaînés, dissipations. ---- */
:root, body.tc-direction-20260928 {
  --tc-dur-vif: 320ms;
  --tc-dur-passage: 650ms;
  --tc-dur-mineral: 1400ms;
  --tc-ease-vif: cubic-bezier(.2,.7,.2,1);
  --tc-ease-cine: cubic-bezier(.22,.72,.18,1);
  --tc-ease-mineral: cubic-bezier(.16,.6,.1,1);
}
/* Mouvement réduit : tout ce qui consomme les jetons devient instantané (les voiles et bandes sont déjà retirés par leurs propres règles). */
@media (prefers-reduced-motion: reduce) {
  :root, body.tc-direction-20260928 { --tc-dur-vif: 1ms; --tc-dur-passage: 1ms; --tc-dur-mineral: 1ms; }
}
