/* ==========================================================================
   Territoire Intelligence — composants (bundle.css)
   Chargé après tokens.css. Toutes les classes sont préfixées « ti- ».
   Mobile d'abord; points de rupture 768 / 1024 / 1280 px.
   Satoshi (titres) : ajouter les fichiers woff2 500 et 700 dans fonts/ ;
   en attendant, la pile retombe sur Inter puis Arial.
   ========================================================================== */

/* Motifs et chevron en data URI (décoratifs) */
:root {
  --ti-motif-courbes-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='320' viewBox='0 0 480 320' fill='none' stroke='%23726F40' stroke-width='1.25' stroke-opacity='.18'%3E%3Cpath d='M357.1 150.0 L357.9 154.5 L356.0 158.9 L352.4 162.7 L348.1 166.0 L343.4 169.0 L338.0 171.2 L332.0 172.3 L325.7 172.1 L320.0 170.9 L314.8 169.9 L309.5 169.7 L303.0 170.0 L295.7 169.7 L288.9 167.8 L284.5 163.9 L283.4 159.1 L284.8 154.2 L287.1 150.0 L288.9 146.3 L290.2 142.6 L291.8 138.9 L294.5 135.4 L298.4 132.5 L303.0 130.0 L308.0 127.6 L313.6 125.2 L320.0 123.3 L327.0 123.0 L333.4 125.0 L338.0 128.8 L340.7 133.2 L342.5 137.2 L345.1 140.1 L349.1 142.8 L353.7 146.0 L357.1 150.0Z'/%3E%3Cpath d='M394.3 150.0 L395.2 159.0 L390.3 167.4 L382.0 174.3 L372.8 180.1 L363.4 185.2 L353.4 189.3 L342.3 191.7 L330.9 191.9 L320.0 190.7 L309.7 189.6 L298.8 189.7 L285.9 190.2 L271.7 189.1 L259.3 184.7 L251.9 176.7 L251.0 167.1 L254.7 157.8 L259.3 150.0 L262.2 143.1 L263.4 136.0 L265.1 128.4 L269.4 121.1 L276.6 114.8 L285.9 109.8 L296.2 105.4 L307.4 101.5 L320.0 98.9 L333.2 99.2 L344.9 103.4 L353.4 110.7 L358.5 118.8 L362.7 125.6 L368.8 130.8 L377.9 135.7 L387.7 141.9 L394.3 150.0Z'/%3E%3Cpath d='M433.7 150.0 L433.4 163.6 L424.1 175.8 L410.1 185.4 L395.4 193.0 L381.6 199.9 L367.6 206.1 L352.4 210.5 L336.1 212.1 L320.0 211.8 L304.1 211.2 L287.1 211.5 L267.6 211.7 L247.1 209.0 L230.0 201.3 L220.9 188.9 L221.2 174.4 L227.4 161.1 L233.7 150.0 L236.4 140.0 L236.2 129.2 L236.8 117.4 L242.2 105.6 L253.0 95.7 L267.6 88.3 L284.0 82.7 L301.4 78.2 L320.0 75.8 L338.9 77.2 L355.5 83.7 L367.6 93.9 L375.7 104.9 L383.2 113.9 L394.2 120.9 L409.2 127.9 L424.4 137.5 L433.7 150.0Z'/%3E%3Cpath d='M474.2 150.0 L471.2 168.1 L456.1 183.7 L435.6 195.4 L415.7 204.6 L398.3 213.4 L381.3 222.2 L362.6 229.5 L341.7 233.6 L320.0 234.7 L298.0 234.7 L274.6 234.8 L248.8 233.8 L222.9 228.7 L202.2 217.2 L192.4 200.1 L194.2 181.1 L202.4 164.1 L209.2 150.0 L210.2 136.8 L207.1 122.1 L206.1 105.3 L212.7 88.8 L227.9 75.4 L248.8 66.2 L271.9 60.2 L295.7 56.1 L320.0 54.5 L344.1 57.2 L365.3 65.4 L381.3 77.8 L393.2 90.7 L405.2 101.4 L421.9 110.0 L443.3 119.5 L463.4 132.8 L474.2 150.0Z'/%3E%3Cpath d='M514.4 150.0 L507.1 172.4 L485.3 190.9 L458.4 204.3 L434.0 215.1 L414.1 226.3 L395.2 238.6 L373.4 249.8 L347.8 257.1 L320.0 259.9 L291.5 260.0 L261.7 258.9 L230.2 255.7 L199.8 247.4 L176.8 231.7 L166.8 210.2 L169.8 187.2 L178.8 166.9 L184.4 150.0 L182.1 133.5 L175.2 114.2 L172.6 92.1 L181.2 70.8 L202.0 54.4 L230.2 44.3 L260.5 38.9 L290.5 36.1 L320.0 35.5 L348.8 39.0 L374.6 48.1 L395.2 61.4 L411.9 75.5 L429.6 87.5 L452.6 98.0 L479.9 110.4 L503.7 128.0 L514.4 150.0Z'/%3E%3Cpath d='M552.7 150.0 L539.8 176.4 L511.2 197.3 L478.5 212.2 L451.0 224.8 L430.0 239.1 L410.1 256.1 L385.4 272.1 L354.5 283.0 L320.0 287.2 L284.6 286.4 L248.8 283.0 L212.6 276.6 L178.8 264.4 L154.0 244.7 L143.7 219.2 L146.9 192.8 L155.0 169.8 L157.7 150.0 L150.8 129.7 L140.0 105.4 L136.4 77.9 L148.4 52.1 L176.1 33.4 L212.6 23.4 L250.3 19.7 L285.9 18.5 L320.0 18.6 L353.2 21.9 L383.9 30.6 L410.1 43.9 L432.7 58.7 L456.6 72.0 L485.8 84.9 L518.1 101.0 L544.0 123.1 L552.7 150.0Z'/%3E%3Cpath d='M587.6 150.0 L568.7 179.8 L533.7 202.9 L496.8 219.4 L467.9 234.4 L447.1 253.0 L426.5 275.5 L398.6 296.9 L361.8 311.2 L320.0 315.9 L277.7 313.0 L236.5 305.9 L196.5 295.4 L160.3 279.4 L134.0 256.1 L122.5 227.5 L124.2 198.5 L129.4 172.9 L127.6 150.0 L115.7 125.5 L101.5 95.9 L98.4 63.0 L115.5 33.3 L151.4 13.4 L196.5 4.6 L241.3 3.0 L281.9 3.2 L320.0 3.1 L357.6 5.0 L393.9 12.0 L426.5 24.5 L456.0 39.8 L486.4 55.1 L520.9 71.1 L556.4 91.5 L582.4 118.5 L587.6 150.0Z'/%3E%3Cpath d='M618.3 150.0 L593.7 182.8 L553.8 207.9 L514.5 226.4 L486.0 244.7 L466.3 268.6 L445.1 297.4 L413.3 324.3 L369.6 341.2 L320.0 345.0 L271.1 338.5 L225.4 326.7 L182.6 311.8 L144.4 292.3 L116.0 266.4 L101.9 235.6 L99.9 204.5 L100.5 176.3 L93.3 150.0 L76.6 120.8 L60.5 85.8 L59.8 47.9 L83.8 15.2 L128.8 -4.9 L182.6 -11.8 L233.7 -11.2 L278.4 -10.4 L320.0 -12.0 L362.3 -13.1 L405.0 -8.8 L445.1 2.6 L481.9 18.8 L518.2 36.9 L556.5 57.1 L593.3 82.4 L617.6 114.3 L618.3 150.0Z'/%3E%3Cpath d='M644.6 150.0 L615.4 185.4 L572.7 212.6 L533.3 233.7 L506.6 256.5 L488.4 286.5 L466.0 322.0 L429.0 353.7 L377.6 372.0 L320.0 373.3 L265.1 361.8 L215.8 344.6 L171.0 325.5 L130.6 303.5 L98.9 276.2 L80.1 244.2 L72.6 211.2 L67.2 180.3 L54.6 150.0 L34.4 115.8 L18.3 75.3 L22.4 33.1 L54.6 -1.4 L109.2 -20.9 L171.0 -25.5 L227.3 -23.3 L275.1 -23.1 L320.0 -27.9 L367.5 -33.3 L417.6 -32.4 L466.0 -22.0 L509.8 -3.9 L550.8 18.3 L591.1 43.6 L627.0 74.0 L648.3 110.6 L644.6 150.0Z'/%3E%3Cpath d='M666.8 150.0 L635.3 187.8 L592.4 217.4 L554.9 242.2 L530.8 270.3 L513.7 307.0 L488.8 348.8 L445.4 384.4 L385.4 402.3 L320.0 399.4 L259.9 381.9 L208.0 359.3 L161.3 336.9 L118.0 313.7 L81.2 286.3 L55.7 253.8 L40.9 219.1 L29.0 184.9 L11.8 150.0 L-9.7 110.5 L-23.1 65.1 L-12.4 19.5 L29.0 -16.0 L92.7 -34.2 L161.3 -36.9 L221.4 -34.2 L271.7 -36.3 L320.0 -46.0 L373.6 -56.7 L432.0 -59.3 L488.8 -48.8 L539.0 -27.5 L582.9 -0.0 L622.9 31.1 L656.4 66.7 L674.0 107.6 L666.8 150.0Z'/%3E%3Cpath d='M686.4 150.0 L655.4 190.2 L614.7 222.9 L580.5 252.3 L559.2 286.5 L542.1 330.0 L513.0 377.3 L461.8 414.9 L392.8 430.7 L320.0 422.3 L255.6 398.4 L201.7 371.0 L153.0 346.7 L105.3 324.0 L61.3 297.6 L27.1 265.0 L4.0 228.2 L-13.9 190.0 L-33.6 150.0 L-53.7 105.2 L-61.9 55.5 L-43.0 7.5 L7.6 -28.2 L79.3 -45.1 L153.0 -46.7 L215.6 -45.1 L267.8 -51.5 L320.0 -67.3 L380.6 -83.8 L448.0 -89.1 L513.0 -77.3 L568.1 -51.1 L612.9 -17.1 L650.6 20.2 L680.6 60.8 L695.2 105.0 L686.4 150.0Z'/%3E%3C/svg%3E");
  --ti-motif-rues-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320' fill='none' stroke='%234A8151' stroke-opacity='.16' stroke-linecap='round'%3E%3Cg stroke-width='1'%3E%3Cpath d='M0 40H320M0 104H320M0 168H320M0 232H320M0 296H320M40 0V320M112 0V320M184 0V320M256 0V320'/%3E%3C/g%3E%3Cg stroke-width='3'%3E%3Cpath d='M0 250 L320 60'/%3E%3Cpath d='M148 0 V320'/%3E%3C/g%3E%3C/svg%3E");
  --ti-chevron-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1119' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6' /%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
.ti-base, .ti-base *, .ti-base *::before, .ti-base *::after { box-sizing: border-box; }
.ti-base {
  margin: 0;
  font-family: var(--font-texte);
  font-size: 17px; line-height: 1.6;
  color: var(--texte-principal);
  background: var(--fond-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
@media (min-width: 1024px) { .ti-base { font-size: 18px; } }
.ti-base img { max-width: 100%; height: auto; display: block; }
.ti-base p { margin: 0 0 var(--espace-4); max-width: var(--mesure-lecture); }

/* Focus global : 2 px, décalé de 2 px, toujours visible au clavier */
.ti-base :focus { outline: none; }
.ti-base :focus-visible {
  outline: var(--trait-2) solid var(--focus);
  outline-offset: 2px;
  border-radius: 2px;
}
.ti-sombre :focus-visible, .ti-base .ti-sombre :focus-visible { outline-color: var(--focus-inverse); }

@media (prefers-reduced-motion: reduce) {
  .ti-base *, .ti-base *::before, .ti-base *::after {
    transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important;
  }
}

.ti-visuellement-cache {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Typographie fluide ---------- */
.ti-affichage, .ti-h1, .ti-h2, .ti-h3, .ti-h4 { font-family: var(--font-titre); color: var(--texte-principal); margin: 0 0 var(--espace-4); text-wrap: balance; }
.ti-affichage { font-size: clamp(2.5rem, 1.8rem + 3vw, 4rem); line-height: 1.04; font-weight: 700; letter-spacing: -0.02em; }
.ti-h1 { font-size: clamp(2.125rem, 1.7rem + 1.8vw, 3rem); line-height: 1.1; font-weight: 700; letter-spacing: -0.015em; }
.ti-h2 { font-size: clamp(1.75rem, 1.5rem + 1.1vw, 2.25rem); line-height: 1.15; font-weight: 700; letter-spacing: -0.01em; }
.ti-h3 { font-size: clamp(1.375rem, 1.25rem + 0.5vw, 1.625rem); line-height: 1.25; font-weight: 500; }
.ti-h4 { font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem); line-height: 1.3; font-weight: 700; }
.ti-chapeau { font-size: clamp(1.1875rem, 1.13rem + 0.25vw, 1.3125rem); line-height: 1.5; color: var(--texte-principal); max-width: 60ch; }
.ti-petit { font-size: 15px; line-height: 1.5; }
.ti-legende { font-size: 14px; line-height: 1.45; color: var(--texte-secondaire); }
.ti-etiquette, .ti-surtitre {
  font-family: var(--font-texte); font-size: 14px; line-height: 1.3; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
}
.ti-surtitre { display: block; color: var(--texte-accent); margin-bottom: var(--espace-3); }
.ti-sombre .ti-surtitre { color: var(--texte-inverse-accent); }
.ti-accent { color: var(--texte-accent); }

/* ---------- Mise en page ---------- */
.ti-conteneur { width: 100%; max-width: calc(var(--conteneur-max) + 2 * var(--marge-mobile)); margin: 0 auto; padding: 0 var(--marge-mobile); }
@media (min-width: 768px) { .ti-conteneur { padding: 0 var(--marge-tablette); max-width: calc(var(--conteneur-max) + 2 * var(--marge-tablette)); } }
@media (min-width: 1024px) { .ti-conteneur { padding: 0 var(--marge-ordi); max-width: calc(var(--conteneur-max) + 2 * var(--marge-ordi)); } }
.ti-section { padding: var(--espace-8) 0; }
@media (min-width: 1024px) { .ti-section { padding: var(--espace-9) 0; } }
.ti-section--creme { background: var(--fond-section); }
.ti-section--brume { background: var(--fond-carte); }
.ti-grille { display: grid; gap: var(--gouttiere-mobile); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 768px) { .ti-grille { gap: var(--gouttiere-tablette); grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ti-grille { gap: var(--gouttiere-ordi); grid-template-columns: repeat(12, minmax(0, 1fr)); } }
.ti-grille-3 { display: grid; gap: var(--espace-5); grid-template-columns: 1fr; }
@media (min-width: 768px) { .ti-grille-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ti-grille-3 { grid-template-columns: repeat(3, 1fr); gap: var(--espace-6); } }
.ti-grille-4 { display: grid; gap: var(--espace-5); grid-template-columns: 1fr; }
@media (min-width: 768px) { .ti-grille-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .ti-grille-4 { grid-template-columns: repeat(4, 1fr); } }
.ti-entete-section { max-width: 720px; margin-bottom: var(--espace-7); }

/* Motifs de fond (faible opacité, décoratifs) */
.ti-motif-courbes, .ti-motif-rues { position: relative; isolation: isolate; }
.ti-motif-courbes::before, .ti-motif-rues::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-repeat: no-repeat; background-position: right -80px center; background-size: 720px auto;
}
.ti-motif-courbes::before { background-image: var(--ti-motif-courbes-url, none); }
.ti-motif-rues::before { background-image: var(--ti-motif-rues-url, none); background-repeat: repeat; background-size: 320px; background-position: 0 0; opacity: .8; }

/* ---------- Icônes ---------- */
.ti-icone { width: 24px; height: 24px; flex: none; display: inline-block; vertical-align: middle; }
.ti-icone svg { width: 100%; height: 100%; display: block; }
.ti-icone--sm { width: 20px; height: 20px; }
.ti-icone--lg { width: 32px; height: 32px; }

/* ---------- Logo ---------- */
.ti-logo { display: inline-flex; align-items: center; gap: 16px; text-decoration: none; color: var(--texte-principal); line-height: 1; }
.ti-logo__picto { width: 40px; height: 40px; flex: none; }
.ti-logo__picto svg { width: 100%; height: 100%; display: block; }
.ti-logo__mots { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0.26em; white-space: nowrap; font-family: var(--font-logo, "Manrope", "Inter", Arial, sans-serif); font-size: 27px; line-height: 1; letter-spacing: -0.035em; text-transform: none; }
.ti-logo__l1 { color: var(--encre); font-weight: 800; }
.ti-logo__l2 { color: var(--olive); font-weight: 500; }
.ti-logo--deux-lignes { gap: 13px; }
.ti-logo--deux-lignes .ti-logo__mots { flex-direction: column; gap: 0; line-height: 0.98; font-size: 19.5px; }
.ti-logo--empile { flex-direction: column; align-items: center; text-align: center; gap: 19px; }
.ti-logo--empile .ti-logo__picto { width: 64px; height: 64px; }
.ti-logo--empile .ti-logo__mots { flex-direction: column; align-items: center; gap: 0; font-size: 25.6px; }
.ti-logo--mono-encre .ti-logo__l1, .ti-logo--mono-encre .ti-logo__l2 { color: var(--encre); }
.ti-logo--mono-blanc .ti-logo__l1, .ti-logo--mono-blanc .ti-logo__l2 { color: var(--blanc); }
.ti-logo--inverse .ti-logo__l1 { color: var(--blanc); }
.ti-logo--inverse .ti-logo__l2 { color: var(--sauge); }
.ti-logo--grand { gap: 28px; }
.ti-logo--grand .ti-logo__picto { width: 72px; height: 72px; }
.ti-logo--grand .ti-logo__mots { font-size: 48px; }
.ti-logo--grand.ti-logo--deux-lignes { gap: 23px; }
.ti-logo--grand.ti-logo--deux-lignes .ti-logo__mots { font-size: 35px; }

/* ---------- Boutons ---------- */
.ti-bouton {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--espace-2);
  min-height: var(--cible-min); padding: var(--espace-3) var(--espace-5);
  font-family: var(--font-texte); font-size: 16px; line-height: 1.25; font-weight: 600;
  border-radius: var(--rayon-md); border: var(--trait-2) solid transparent;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ti-bouton--principal { background: var(--action-principale); color: var(--texte-inverse); }
.ti-bouton--principal:hover, .ti-bouton--principal.is-survol { background: var(--action-survol); }
.ti-bouton--principal:active, .ti-bouton--principal.is-presse { background: var(--action-presse); }
.ti-bouton--secondaire { background: var(--fond-page); color: var(--texte-lien); border-color: var(--foret-700); }
.ti-bouton--secondaire:hover, .ti-bouton--secondaire.is-survol { background: var(--foret-50); color: var(--foret-900); border-color: var(--foret-900); }
.ti-bouton--secondaire:active, .ti-bouton--secondaire.is-presse { background: var(--sauge); color: var(--foret-900); }
.ti-bouton--tertiaire { background: transparent; color: var(--texte-lien); padding-left: var(--espace-2); padding-right: var(--espace-2); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.ti-bouton--tertiaire:hover, .ti-bouton--tertiaire.is-survol { color: var(--texte-lien-survol); text-decoration-thickness: 2px; }
.ti-bouton--icone { width: var(--cible-min); height: var(--cible-min); padding: 0; background: transparent; color: var(--texte-principal); border-color: transparent; }
.ti-bouton--icone:hover, .ti-bouton--icone.is-survol { background: var(--fond-carte); }
.ti-bouton[disabled], .ti-bouton[aria-disabled="true"] { background: var(--action-desactivee); color: var(--texte-desactive); border-color: transparent; cursor: not-allowed; text-decoration: none; }
.ti-bouton.is-focus { outline: var(--trait-2) solid var(--focus); outline-offset: 2px; }
.ti-sombre .ti-bouton.is-focus { outline-color: var(--focus-inverse); }
.ti-bouton--pleine-largeur { width: 100%; }
.ti-sombre .ti-bouton--secondaire { background: transparent; color: var(--blanc); border-color: var(--creme); }
.ti-sombre .ti-bouton--secondaire:hover { background: rgba(245, 243, 230, 0.12); color: var(--blanc); }
.ti-bouton .ti-roue { width: 18px; height: 18px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: ti-tourne .8s linear infinite; }
@keyframes ti-tourne { to { transform: rotate(360deg); } }

/* ---------- Liens ---------- */
.ti-lien { color: var(--texte-lien); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ti-lien:hover, .ti-lien.is-survol { color: var(--texte-lien-survol); text-decoration-thickness: 2px; }
.ti-lien:visited { color: var(--texte-lien); }
.ti-sombre .ti-lien { color: var(--texte-inverse-accent); }
.ti-lien-fleche { display: inline-flex; align-items: center; gap: var(--espace-2); font-weight: 600; color: var(--texte-lien); text-decoration: none; min-height: var(--cible-min); }
.ti-lien-fleche span:first-child { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ti-lien-fleche:hover span:first-child { text-decoration-thickness: 2px; color: var(--texte-lien-survol); }

/* ---------- Lien d'évitement ---------- */
.ti-evitement {
  position: absolute; left: var(--espace-4); top: -100px; z-index: 100;
  background: var(--encre); color: var(--blanc); padding: var(--espace-3) var(--espace-4);
  border-radius: var(--rayon-md); font-weight: 600; text-decoration: none;
}
.ti-evitement:focus, .ti-evitement.is-visible { top: var(--espace-3); outline: var(--trait-2) solid var(--focus-inverse); outline-offset: 2px; }

/* ---------- En-tête ---------- */
.ti-entete { position: relative; background: var(--fond-page); border-bottom: var(--trait-1) solid var(--bordure-discrete); }
.ti-entete__barre { display: flex; align-items: center; justify-content: space-between; gap: var(--espace-4); min-height: 72px; }
.ti-entete .ti-logo__picto { width: 36px; height: 36px; }
.ti-entete .ti-logo { gap: 14px; }
.ti-entete .ti-logo__mots { font-size: 24px; }
.ti-nav { display: none; }
.ti-entete__actions { display: flex; align-items: center; gap: var(--espace-2); }
.ti-entete__cta { display: inline-flex; }
.ti-bouton--icone svg { width: 24px; height: 24px; }
@media (max-width: 479px) {
  .ti-entete .ti-logo__mots { display: none; }
  .ti-entete__cta { padding: 10px 14px; font-size: 15px; }
}
@media (min-width: 1024px) {
  .ti-entete__barre { min-height: 80px; }
  .ti-nav { display: flex; align-items: center; gap: var(--espace-1); list-style: none; margin: 0 auto 0 var(--espace-6); padding: 0; }
  .ti-entete__burger { display: none; }
}
.ti-nav__lien {
  display: inline-flex; align-items: center; gap: 6px; min-height: var(--cible-min); padding: 0 var(--espace-3);
  font: 600 16px/1.25 var(--font-texte); color: var(--texte-principal); text-decoration: none;
  background: none; border: 0; border-radius: var(--rayon-md); cursor: pointer; white-space: nowrap;
}
.ti-nav__lien:hover { color: var(--texte-lien); background: var(--fond-carte); }
.ti-nav__lien[aria-current="page"] { color: var(--texte-lien); box-shadow: inset 0 -2px 0 var(--foret); border-radius: 0; }
.ti-nav__lien .ti-icone { width: 18px; height: 18px; transition: transform .15s ease; }
.ti-nav__lien[aria-expanded="true"] .ti-icone { transform: rotate(180deg); }
.ti-deroulant { position: relative; }
.ti-deroulant__panneau {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 20; min-width: 320px;
  background: var(--fond-page); border: var(--trait-1) solid var(--bordure-discrete); border-radius: var(--rayon-lg);
  box-shadow: var(--ombre-menu); padding: var(--espace-2); list-style: none; margin: 0;
}
.ti-deroulant__panneau[hidden] { display: none; }
.ti-deroulant__item a { display: flex; gap: var(--espace-3); padding: var(--espace-3); border-radius: var(--rayon-md); text-decoration: none; color: var(--texte-principal); }
.ti-deroulant__item a:hover { background: var(--fond-section); }
.ti-deroulant__item strong { display: block; font-weight: 600; }
.ti-deroulant__item small { display: block; font-size: 14px; color: var(--texte-secondaire); line-height: 1.4; }
.ti-deroulant__item .ti-icone { color: var(--olive); margin-top: 2px; }

/* ---------- Menu mobile ---------- */
.ti-menu-mobile { background: var(--fond-page); border-top: var(--trait-1) solid var(--bordure-discrete); padding: var(--espace-4) 0 var(--espace-5); }
.ti-menu-mobile[hidden] { display: none; }
.ti-menu-mobile ul { list-style: none; margin: 0; padding: 0; }
.ti-menu-mobile__lien { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 var(--espace-1); font: 600 18px/1.3 var(--font-texte); color: var(--texte-principal); text-decoration: none; border-bottom: var(--trait-1) solid var(--bordure-discrete); }
.ti-menu-mobile__groupe { padding: var(--espace-3) 0 var(--espace-2); }
.ti-menu-mobile__groupe > span { display: block; color: var(--texte-accent); padding: 0 var(--espace-1) var(--espace-2); }
.ti-menu-mobile__groupe a { display: flex; align-items: center; min-height: var(--cible-min); padding: 0 var(--espace-4); color: var(--texte-principal); text-decoration: none; font-size: 17px; }
.ti-menu-mobile .ti-bouton { margin-top: var(--espace-5); width: 100%; }

/* ---------- Pied de page ---------- */
.ti-pied { background: var(--fond-sombre); color: var(--creme); padding: var(--espace-8) 0 var(--espace-5); }
.ti-pied__grille { display: grid; gap: var(--espace-6); grid-template-columns: 1fr; }
@media (min-width: 768px) { .ti-pied__grille { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.ti-pied .ti-logo__l1, .ti-pied .ti-logo__l2 { color: var(--blanc); }
.ti-pied .ti-logo__l2 { color: var(--sauge); }
.ti-pied__signature { color: var(--creme); font-size: 15px; margin-top: var(--espace-4); max-width: 32ch; }
.ti-pied h2 { font: 600 14px/1.3 var(--font-texte); letter-spacing: .06em; text-transform: uppercase; color: var(--sauge); margin: 0 0 var(--espace-3); }
.ti-pied ul { list-style: none; margin: 0; padding: 0; }
.ti-pied li a { display: inline-flex; align-items: center; min-height: 36px; color: var(--creme); text-decoration: none; font-size: 15px; }
.ti-pied li a:hover { color: var(--blanc); text-decoration: underline; text-underline-offset: 3px; }
.ti-pied__bas { margin-top: var(--espace-7); padding-top: var(--espace-5); border-top: var(--trait-1) solid rgba(245, 243, 230, 0.2); display: flex; flex-wrap: wrap; gap: var(--espace-3) var(--espace-5); font-size: 14px; color: var(--creme); }
.ti-pied__bas a { color: var(--creme); }

/* ---------- Fil d'Ariane ---------- */
.ti-ariane ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espace-1); list-style: none; margin: 0; padding: 0; font-size: 15px; }
.ti-ariane li { display: inline-flex; align-items: center; gap: var(--espace-1); color: var(--texte-secondaire); }
.ti-ariane li + li::before { content: "/"; color: var(--gris-500); margin-right: var(--espace-1); }
.ti-ariane a { color: var(--texte-lien); text-underline-offset: 3px; }
.ti-ariane [aria-current="page"] { color: var(--texte-principal); font-weight: 600; }

/* ---------- Table des matières ---------- */
.ti-tdm { border-left: var(--trait-2) solid var(--bordure-discrete); padding-left: var(--espace-4); }
.ti-tdm__titre { color: var(--texte-accent); margin: 0 0 var(--espace-3); }
.ti-tdm ol { list-style: none; margin: 0; padding: 0; counter-reset: tdm; }
.ti-tdm li { counter-increment: tdm; }
.ti-tdm a { display: flex; gap: var(--espace-2); padding: 6px 0; min-height: 36px; font-size: 15px; line-height: 1.45; color: var(--texte-secondaire); text-decoration: none; }
.ti-tdm a::before { content: counter(tdm, decimal-leading-zero); font-weight: 600; color: var(--gris-500); font-variant-numeric: tabular-nums; }
.ti-tdm a:hover { color: var(--texte-lien); text-decoration: underline; text-underline-offset: 3px; }
.ti-tdm a[aria-current="true"] { color: var(--texte-principal); font-weight: 600; margin-left: calc(-1 * var(--espace-4) - 2px); padding-left: calc(var(--espace-4)); border-left: var(--trait-2) solid var(--foret); }

/* ---------- Bande d'appel à l'action ---------- */
.ti-bande { background: var(--fond-sombre); color: var(--blanc); border-radius: var(--rayon-lg); padding: var(--espace-7) var(--espace-5); overflow: hidden; }
@media (min-width: 1024px) { .ti-bande { padding: var(--espace-8) var(--espace-8); display: grid; grid-template-columns: 1.6fr 1fr; align-items: center; gap: var(--espace-7); } }
.ti-bande .ti-h2 { color: var(--blanc); }
.ti-bande p { color: var(--creme); margin-bottom: 0; }
.ti-bande__actions { display: flex; flex-wrap: wrap; gap: var(--espace-3); margin-top: var(--espace-5); }
@media (min-width: 1024px) { .ti-bande__actions { margin-top: 0; justify-content: flex-end; } }
.ti-bande--sauge { background: var(--fond-accent); color: var(--texte-principal); }
.ti-bande--sauge .ti-h2 { color: var(--texte-principal); }
.ti-bande--sauge p { color: var(--texte-principal); }

/* ---------- Cartes ---------- */
.ti-carte { position: relative; display: flex; flex-direction: column; gap: var(--espace-3); background: var(--fond-page); border: var(--trait-1) solid var(--bordure-discrete); border-radius: var(--rayon-lg); padding: var(--espace-5); color: var(--texte-principal); }
@media (min-width: 1024px) { .ti-carte { padding: var(--espace-6); } }
.ti-carte--brume { background: var(--fond-carte); border-color: transparent; }
.ti-carte--creme { background: var(--fond-section); border-color: transparent; }
.ti-carte--cliquable { transition: box-shadow .15s ease, border-color .15s ease; }
.ti-carte--cliquable:hover, .ti-carte--cliquable.is-survol { box-shadow: var(--ombre-survol); border-color: var(--bordure-forte); }
.ti-carte--cliquable:focus-within { outline: var(--trait-2) solid var(--focus); outline-offset: 2px; }
.ti-carte--cliquable a.ti-carte__lien-etire::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.ti-carte--cliquable a.ti-carte__lien-etire:focus-visible { outline: none; }
.ti-carte__pastille { width: 48px; height: 48px; border-radius: var(--rayon-md); background: var(--fond-accent); color: var(--foret-900); display: grid; place-items: center; }
.ti-carte__titre { font-family: var(--font-titre); font-size: clamp(1.375rem, 1.25rem + 0.5vw, 1.625rem); line-height: 1.25; font-weight: 500; margin: 0; }
.ti-carte__titre a { color: inherit; text-decoration: none; }
.ti-carte__probleme { color: var(--texte-secondaire); font-size: 16px; margin: 0; }
.ti-carte__resultat { margin: 0; font-size: 17px; }
.ti-carte__pied { margin-top: auto; padding-top: var(--espace-2); }
.ti-carte__meta { display: flex; flex-wrap: wrap; gap: 4px var(--espace-3); color: var(--texte-secondaire); font-size: 14px; }
.ti-carte__meta span + span::before { content: "·"; margin-right: var(--espace-3); color: var(--gris-500); }
.ti-carte__image { margin: calc(-1 * var(--espace-5)) calc(-1 * var(--espace-5)) var(--espace-2); border-radius: var(--rayon-lg) var(--rayon-lg) 0 0; overflow: hidden; aspect-ratio: 16 / 9; }
@media (min-width: 1024px) { .ti-carte__image { margin: calc(-1 * var(--espace-6)) calc(-1 * var(--espace-6)) var(--espace-2); } }
.ti-carte--benefice { padding: 0; border: 0; background: none; gap: var(--espace-2); }
.ti-carte--benefice .ti-icone { color: var(--olive); width: 32px; height: 32px; }
.ti-carte--benefice h3 { font: 700 20px/1.3 var(--font-titre); margin: var(--espace-2) 0 0; }
.ti-carte--benefice p { margin: 0; color: var(--texte-principal); font-size: 16px; }

/* ---------- Étiquette de thème ---------- */
.ti-theme { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; min-height: 28px; border-radius: var(--rayon-pilule); background: var(--fond-accent); color: var(--texte-principal); font: 600 13px/1.2 var(--font-texte); letter-spacing: .04em; text-transform: uppercase; text-decoration: none; width: fit-content; white-space: nowrap; }
.ti-theme--contour { background: transparent; box-shadow: inset 0 0 0 1px var(--bordure-forte); }
.ti-theme--creme { background: var(--fond-section); }
a.ti-theme { min-height: var(--cible-min); }
a.ti-theme:hover { background: var(--carto-3); }

/* ---------- Frise d'étapes ---------- */
.ti-frise { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--espace-5); counter-reset: etape; }
@media (min-width: 1024px) { .ti-frise { grid-template-columns: repeat(4, 1fr); gap: var(--espace-6); } }
.ti-frise__etape { position: relative; counter-increment: etape; padding-left: 64px; }
@media (min-width: 1024px) { .ti-frise__etape { padding-left: 0; padding-top: 72px; } }
.ti-frise__etape::before {
  content: counter(etape); position: absolute; left: 0; top: 0; width: 48px; height: 48px; border-radius: 50%;
  display: grid; place-items: center; background: var(--foret); color: var(--blanc);
  font: 700 20px/1 var(--font-titre);
}
.ti-frise__etape::after { content: ""; position: absolute; left: 23px; top: 56px; bottom: calc(-1 * var(--espace-5) + 8px); width: 2px; background: var(--sauge); }
.ti-frise__etape:last-child::after { display: none; }
@media (min-width: 1024px) { .ti-frise__etape::after { left: 60px; right: -16px; top: 23px; bottom: auto; width: auto; height: 2px; } }
.ti-frise__etape h3 { font: 700 20px/1.3 var(--font-titre); margin: 0 0 var(--espace-2); }
.ti-frise__etape p { margin: 0; font-size: 16px; color: var(--texte-principal); }

/* ---------- Accordéon FAQ ---------- */
.ti-faq { border-top: var(--trait-1) solid var(--bordure-discrete); max-width: 820px; }
.ti-faq__item { border-bottom: var(--trait-1) solid var(--bordure-discrete); }
.ti-faq__item > summary { list-style: none; }
.ti-faq__item > summary::-webkit-details-marker { display: none; }
.ti-faq__question {
  display: flex; align-items: center; justify-content: space-between; gap: var(--espace-4);
  min-height: 64px; padding: var(--espace-4) 0; cursor: pointer;
  font: 700 clamp(1.125rem, 1.05rem + .3vw, 1.25rem)/1.35 var(--font-titre); color: var(--texte-principal);
}
.ti-faq__question:hover { color: var(--texte-lien); }
.ti-faq__signe { position: relative; width: 32px; height: 32px; flex: none; border-radius: 50%; background: var(--fond-accent); }
.ti-faq__signe::before, .ti-faq__signe::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: var(--foret-900); transform: translate(-50%, -50%); transition: transform .15s ease; }
.ti-faq__signe::after { transform: translate(-50%, -50%) rotate(90deg); }
.ti-faq__item[open] .ti-faq__signe::after { transform: translate(-50%, -50%) rotate(0deg); }
.ti-faq__reponse { padding: 0 var(--espace-7) var(--espace-5) 0; }
.ti-faq__reponse p:last-child { margin-bottom: 0; }

/* ---------- Encadrés ---------- */
.ti-en-bref { background: var(--fond-accent); border-radius: var(--rayon-md); padding: var(--espace-5); max-width: 760px; }
.ti-en-bref__titre { display: flex; align-items: center; gap: var(--espace-2); margin: 0 0 var(--espace-3); color: var(--texte-principal); }
.ti-en-bref ul { margin: 0; padding-left: 1.2em; }
.ti-en-bref li { margin-bottom: var(--espace-2); }
.ti-en-bref li::marker { color: var(--foret-900); }
.ti-definition { background: var(--fond-page); border: var(--trait-1) solid var(--bordure-discrete); border-radius: var(--rayon-md); padding: var(--espace-5); max-width: 760px; }
.ti-definition dt { font: 700 20px/1.3 var(--font-titre); margin-bottom: var(--espace-1); }
.ti-definition dt .ti-etiquette { display: block; color: var(--texte-accent); margin-bottom: var(--espace-2); }
.ti-definition dd { margin: 0; }
.ti-definition__source { margin-top: var(--espace-3) !important; }

/* ---------- Citation ---------- */
.ti-citation { margin: 0; max-width: 760px; }
.ti-citation blockquote { margin: 0; font: 500 clamp(1.375rem, 1.2rem + .8vw, 1.875rem)/1.35 var(--font-titre); color: var(--texte-principal); }
.ti-citation blockquote::before { content: "« "; color: var(--olive); }
.ti-citation blockquote::after { content: " »"; color: var(--olive); }
.ti-citation figcaption { margin-top: var(--espace-4); display: flex; align-items: center; gap: var(--espace-3); font-size: 15px; color: var(--texte-secondaire); }
.ti-citation figcaption strong { color: var(--texte-principal); font-weight: 600; display: block; }
.ti-citation__trait { width: 32px; height: 2px; background: var(--mais); flex: none; }

/* ---------- Notes et sources ---------- */
.ti-appel-note { font-size: .7em; vertical-align: super; line-height: 0; }
.ti-appel-note a { color: var(--texte-lien); text-decoration: none; font-weight: 600; padding: 0 2px; }
.ti-appel-note a:hover { text-decoration: underline; }
.ti-sources { border-top: var(--trait-1) solid var(--bordure-discrete); padding-top: var(--espace-5); max-width: 820px; }
.ti-sources h2 { font: 700 20px/1.3 var(--font-titre); margin: 0 0 var(--espace-3); }
.ti-sources ol { margin: 0; padding-left: 1.6em; font-size: 15px; line-height: 1.55; color: var(--texte-secondaire); }
.ti-sources li { margin-bottom: var(--espace-2); padding-left: 4px; }
.ti-sources li::marker { color: var(--texte-principal); font-weight: 600; }
.ti-sources li:target { background: var(--ocre-50); }
.ti-sources a { color: var(--texte-lien); word-break: break-word; }

/* ---------- Bloc auteur ---------- */
.ti-auteur { display: flex; gap: var(--espace-4); align-items: flex-start; padding: var(--espace-5); background: var(--fond-section); border-radius: var(--rayon-lg); max-width: 760px; }
.ti-auteur img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: none; }
.ti-auteur__nom { font: 700 18px/1.3 var(--font-titre); margin: 0; }
.ti-auteur__role { font-size: 15px; color: var(--texte-secondaire); margin: 2px 0 var(--espace-2); }
.ti-auteur p { font-size: 16px; margin: 0; }

/* ---------- Comparaison ---------- */
.ti-comparaison { display: grid; gap: var(--espace-4); grid-template-columns: 1fr; }
@media (min-width: 768px) { .ti-comparaison { grid-template-columns: 1fr 1fr; gap: 0; } }
.ti-comparaison__col { padding: var(--espace-5); border-radius: var(--rayon-lg); }
@media (min-width: 1024px) { .ti-comparaison__col { padding: var(--espace-6); } }
.ti-comparaison__col--avant { background: var(--fond-carte); }
.ti-comparaison__col--apres { background: var(--fond-page); border: var(--trait-2) solid var(--foret); }
@media (min-width: 768px) { .ti-comparaison__col--avant { border-radius: var(--rayon-lg) 0 0 var(--rayon-lg); } .ti-comparaison__col--apres { border-radius: 0 var(--rayon-lg) var(--rayon-lg) 0; } }
.ti-comparaison h3 { display: flex; align-items: center; gap: var(--espace-2); font: 700 20px/1.3 var(--font-titre); margin: var(--espace-2) 0 var(--espace-4); }
.ti-comparaison ul { list-style: none; margin: 0; padding: 0; }
.ti-comparaison li { display: flex; gap: var(--espace-3); padding: var(--espace-3) 0; border-top: var(--trait-1) solid var(--bordure-discrete); font-size: 16px; }
.ti-comparaison li .ti-icone { width: 20px; height: 20px; margin-top: 3px; }
.ti-comparaison__col--avant li .ti-icone { color: var(--texte-secondaire); }
.ti-comparaison__col--apres li .ti-icone { color: var(--foret-700); }

/* ---------- Réassurance ---------- */
.ti-reassurance { display: grid; gap: var(--espace-4); grid-template-columns: 1fr; }
@media (min-width: 768px) { .ti-reassurance { grid-template-columns: repeat(3, 1fr); gap: var(--espace-5); } }
.ti-reassurance__item { display: flex; gap: var(--espace-3); align-items: flex-start; }
.ti-reassurance__item .ti-icone { color: var(--foret-700); width: 28px; height: 28px; }
.ti-reassurance__item h3 { font: 700 18px/1.3 var(--font-titre); margin: 0 0 4px; }
.ti-reassurance__item p { font-size: 15px; margin: 0; color: var(--texte-secondaire); }

/* ---------- Partenaires ---------- */
.ti-partenaires__titre { text-align: center; color: var(--texte-secondaire); margin: 0 0 var(--espace-5); }
.ti-partenaires ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--espace-4); align-items: center; }
@media (min-width: 768px) { .ti-partenaires ul { grid-template-columns: repeat(4, 1fr); gap: var(--espace-6); } }
.ti-partenaires li { display: grid; place-items: center; height: 72px; }
.ti-partenaires img { max-height: 56px; max-width: 176px; width: auto; height: auto; filter: grayscale(1); opacity: .85; }
.ti-partenaires--couleur img { filter: none; opacity: 1; }
.ti-partenaires--tuiles li { background: var(--blanc); border-radius: var(--rayon-md); height: 80px; padding: var(--espace-3) var(--espace-4); }
.ti-partenaires--tuiles img { max-height: 48px; max-width: 150px; }
.ti-pied__partenaires { margin-top: var(--espace-7); padding-top: var(--espace-6); border-top: var(--trait-1) solid rgba(245, 243, 230, 0.2); }
.ti-pied__partenaires .ti-partenaires__titre { color: var(--sauge); }
.ti-logo-attente { display: grid; place-items: center; width: 100%; max-width: 168px; height: 56px; border: 1px dashed var(--bordure-forte); border-radius: var(--rayon-md); font: 600 14px/1.2 var(--font-texte); color: var(--texte-secondaire); text-align: center; padding: 0 8px; }

/* ---------- Portraits ---------- */
.ti-portrait { display: grid; gap: var(--espace-5); align-items: center; background: var(--fond-section); border-radius: var(--rayon-lg); padding: var(--espace-5); }
@media (min-width: 768px) { .ti-portrait { grid-template-columns: 280px 1fr; padding: var(--espace-6); gap: var(--espace-7); } }
.ti-portrait__photo { margin: 0; }
.ti-portrait__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; border-radius: var(--rayon-lg); }
.ti-portrait__nom { font: 700 clamp(1.5rem, 1.3rem + .8vw, 2rem)/1.15 var(--font-titre); margin: 0; }
.ti-portrait__role { color: var(--texte-accent); font-weight: 600; margin: 4px 0 var(--espace-4); }
.ti-photo--cercle { border-radius: 50% !important; aspect-ratio: 1 / 1 !important; object-fit: cover; }
.ti-photo--carre { border-radius: var(--rayon-lg) !important; aspect-ratio: 1 / 1 !important; object-fit: cover; }
.ti-photo--45 { border-radius: var(--rayon-lg) !important; aspect-ratio: 4 / 5 !important; object-fit: cover; object-position: 50% 20%; }
.ti-equipe { display: flex; flex-direction: column; gap: var(--espace-3); }
.ti-equipe__photo { aspect-ratio: 1 / 1; border-radius: var(--rayon-lg); overflow: hidden; background: var(--fond-carte); }
.ti-equipe__nom { font: 700 20px/1.3 var(--font-titre); margin: 0; }
.ti-equipe__role { font-size: 15px; color: var(--texte-secondaire); margin: 0; }

/* ---------- Image de remplacement ---------- */
.ti-remplacement {
  position: relative; display: grid; place-items: center; text-align: center; gap: var(--espace-2);
  aspect-ratio: var(--ratio, 16 / 9); width: 100%; border-radius: var(--rayon-lg); overflow: hidden;
  background: var(--fond-section); border: 1px dashed var(--bordure-forte); color: var(--texte-secondaire); padding: var(--espace-4);
}
.ti-remplacement__contenu { display: grid; justify-items: center; gap: var(--espace-2); max-width: 36ch; }
.ti-remplacement .ti-icone { color: var(--olive); width: 32px; height: 32px; }
.ti-remplacement strong { color: var(--texte-principal); font-weight: 600; font-size: 15px; }
.ti-remplacement small { font-size: 14px; }

/* ---------- Formulaires ---------- */
.ti-champ { display: flex; flex-direction: column; gap: var(--espace-2); margin-bottom: var(--espace-5); max-width: 560px; }
.ti-champ__libelle { font: 600 16px/1.35 var(--font-texte); color: var(--texte-principal); }
.ti-obligatoire { color: var(--erreur); font-weight: 600; margin-left: 2px; }
.ti-champ__aide { font-size: 15px; line-height: 1.45; color: var(--texte-secondaire); margin: 0; }
.ti-champ__saisie {
  width: 100%; min-height: 48px; padding: 10px 14px;
  font: 400 17px/1.4 var(--font-texte); color: var(--texte-principal);
  background: var(--fond-page); border: var(--trait-1) solid var(--bordure-forte); border-radius: var(--rayon-sm);
  transition: border-color .15s ease, box-shadow .15s ease;
}
textarea.ti-champ__saisie { min-height: 140px; resize: vertical; }
select.ti-champ__saisie { appearance: none; padding-right: 44px; background-image: var(--ti-chevron-url, none); background-repeat: no-repeat; background-position: right 14px center; background-size: 20px; }
.ti-champ__saisie:hover { border-color: var(--encre); }
.ti-champ__saisie:focus, .ti-champ__saisie.is-focus { outline: var(--trait-2) solid var(--focus); outline-offset: 1px; border-color: var(--foret); }
.ti-champ__saisie[disabled] { background: var(--fond-carte); color: var(--texte-desactive); border-color: var(--bordure-discrete); cursor: not-allowed; }
.ti-champ--erreur .ti-champ__saisie { border: var(--trait-2) solid var(--erreur); padding: 9px 13px; }
.ti-champ__erreur { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--erreur); }
.ti-champ__erreur .ti-icone { width: 18px; height: 18px; margin-top: 1px; }
.ti-champ__erreur[hidden] { display: none; }
.ti-case { display: flex; gap: var(--espace-3); align-items: flex-start; margin-bottom: var(--espace-4); max-width: 560px; cursor: pointer; font-size: 16px; line-height: 1.5; }
.ti-case input { appearance: none; flex: none; width: 24px; height: 24px; margin: 0; border: var(--trait-2) solid var(--bordure-forte); border-radius: var(--rayon-sm); background: var(--fond-page); display: grid; place-items: center; cursor: pointer; }
.ti-case input::after { content: ""; width: 12px; height: 7px; border-left: 2.5px solid var(--blanc); border-bottom: 2.5px solid var(--blanc); transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
.ti-case input:checked { background: var(--foret); border-color: var(--foret); }
.ti-case input:checked::after { opacity: 1; }
.ti-case input:focus-visible { outline: var(--trait-2) solid var(--focus); outline-offset: 2px; }
.ti-case input:disabled { background: var(--fond-carte); border-color: var(--bordure-discrete); }
.ti-case--erreur input { border-color: var(--erreur); }
.ti-case__cible { padding: 10px 0; }
.ti-formulaire { max-width: 560px; }
.ti-formulaire__rangee { display: grid; gap: 0 var(--espace-4); grid-template-columns: 1fr; }
@media (min-width: 768px) { .ti-formulaire__rangee { grid-template-columns: 1fr 1fr; } }
.ti-formulaire__note { font-size: 14px; color: var(--texte-secondaire); margin: var(--espace-3) 0 0; }

/* ---------- Messages d'état ---------- */
.ti-message { display: flex; gap: var(--espace-3); align-items: flex-start; padding: var(--espace-4); border-radius: var(--rayon-md); max-width: 640px; font-size: 16px; line-height: 1.5; color: var(--texte-principal); border: 1px solid transparent; }
.ti-message .ti-icone { margin-top: 1px; }
.ti-message__titre { font-weight: 600; display: block; margin-bottom: 2px; }
.ti-message p { margin: 0; }
.ti-message--succes { background: var(--succes-fond); border-color: color-mix(in srgb, var(--succes) 30%, transparent); }
.ti-message--succes .ti-icone, .ti-message--succes .ti-message__titre { color: var(--succes); }
.ti-message--avertissement { background: var(--avertissement-fond); border-color: color-mix(in srgb, var(--avertissement) 30%, transparent); }
.ti-message--avertissement .ti-icone, .ti-message--avertissement .ti-message__titre { color: var(--avertissement); }
.ti-message--erreur { background: var(--erreur-fond); border-color: color-mix(in srgb, var(--erreur) 30%, transparent); }
.ti-message--erreur .ti-icone, .ti-message--erreur .ti-message__titre { color: var(--erreur); }
.ti-message--info { background: var(--info-fond); border-color: color-mix(in srgb, var(--info) 30%, transparent); }
.ti-message--info .ti-icone, .ti-message--info .ti-message__titre { color: var(--info); }
.ti-message a { color: inherit; font-weight: 600; }

/* ---------- Bannière de témoins ---------- */
.ti-temoins { background: var(--fond-page); border: var(--trait-1) solid var(--bordure-discrete); border-radius: var(--rayon-lg); box-shadow: var(--ombre-menu); padding: var(--espace-5); max-width: 720px; }
.ti-temoins h2 { font: 700 20px/1.3 var(--font-titre); margin: 0 0 var(--espace-2); }
.ti-temoins p { font-size: 15px; margin: 0 0 var(--espace-4); }
.ti-temoins__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espace-3); }
@media (min-width: 768px) { .ti-temoins__actions { display: flex; flex-wrap: wrap; align-items: center; } }
.ti-temoins__actions .ti-bouton--tertiaire { grid-column: 1 / -1; justify-self: start; }
/* Refuser et Accepter : même forme, même poids visuel */
.ti-temoins__choix { background: var(--fond-page); color: var(--texte-principal); border: var(--trait-2) solid var(--encre); }
.ti-temoins__choix:hover { background: var(--encre); color: var(--blanc); }
.ti-temoins[hidden] { display: none; }

/* ---------- Vignettes cartographiques ---------- */
.ti-vignette { margin: 0; background: var(--fond-carte); border-radius: var(--rayon-lg); overflow: hidden; border: var(--trait-1) solid var(--bordure-discrete); }
.ti-vignette__entete { display: flex; justify-content: space-between; align-items: center; gap: var(--espace-3); padding: var(--espace-3) var(--espace-4); background: var(--fond-page); border-bottom: var(--trait-1) solid var(--bordure-discrete); }
.ti-vignette__entete strong { font: 700 16px/1.3 var(--font-titre); }
.ti-vignette__carte { display: block; width: 100%; height: auto; background: var(--blanc); }
.ti-vignette__legende { display: flex; flex-wrap: wrap; gap: var(--espace-2) var(--espace-4); list-style: none; margin: 0; padding: var(--espace-3) var(--espace-4); font-size: 14px; background: var(--fond-page); border-top: var(--trait-1) solid var(--bordure-discrete); }
.ti-vignette__legende li { display: inline-flex; align-items: center; gap: 6px; }
.ti-vignette__legende svg { width: 18px; height: 18px; flex: none; }
.ti-vignette figcaption { padding: 0 var(--espace-4) var(--espace-3); background: var(--fond-page); }
.ti-carte-rue { stroke: var(--blanc); fill: none; stroke-linecap: round; }
.ti-carte-rue--principale { stroke: var(--gris-200); }
.ti-carte-ilot { fill: var(--creme); }
.ti-carte-eau { fill: var(--lac-50); }
.ti-carte-texte { font: 600 11px/1 var(--font-texte); fill: var(--encre); paint-order: stroke; stroke: var(--blanc); stroke-width: 3px; stroke-linejoin: round; }

/* ---------- Héros (page d'exemple) ---------- */
.ti-heros { background: var(--fond-section); padding: var(--espace-8) 0; }
@media (min-width: 1024px) { .ti-heros { padding: var(--espace-9) 0; } }
.ti-heros__grille { display: grid; gap: var(--espace-7); align-items: center; }
@media (min-width: 1024px) { .ti-heros__grille { grid-template-columns: 1.1fr 1fr; gap: var(--espace-8); } }
.ti-heros__actions { display: flex; flex-wrap: wrap; gap: var(--espace-3); margin-top: var(--espace-6); }
.ti-heros__preuve { margin-top: var(--espace-5); color: var(--texte-secondaire); font-size: 15px; }

/* ---------- Gabarits de pages (maquettes du site, étapes 1 et 2) ---------- */
/* Navigation : page courante */
.ti-nav__lien[aria-current="page"] { color: var(--texte-lien); box-shadow: inset 0 -2px 0 var(--foret); border-radius: 0; }

/* FriseScience : frise horizontale des modèles scientifiques (année + modèle + une phrase) */
.ti-science { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--espace-5); grid-template-columns: 1fr; }
@media (min-width: 768px) { .ti-science { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ti-science { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--espace-6); } .ti-science--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ti-science li { border-top: var(--trait-2) solid var(--olive); padding-top: var(--espace-4); }
.ti-science__annee { display: block; font-family: var(--font-titre); font-size: 28px; line-height: 1; font-weight: 700; color: var(--texte-accent); margin-bottom: var(--espace-2); }
.ti-science__annee--mot { font-size: 14px; font-family: var(--font-texte); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3; padding-top: 10px; padding-bottom: 4px; }
.ti-science h3 { margin: 0 0 var(--espace-2); }
.ti-science p { margin: 0; font-size: 16px; color: var(--texte-principal); }
.ti-science__modele { margin: 0 0 var(--espace-2) !important; color: var(--texte-secondaire) !important; font-size: 15px !important; }

/* ListeCoches et ListeParcours : listes à icône (coche ou repère) */
.ti-liste-coches, .ti-parcours { list-style: none; margin: var(--espace-4) 0 0; padding: 0; display: grid; gap: var(--espace-3); }
.ti-parcours { margin: 0 0 var(--espace-5); }
.ti-liste-coches li, .ti-parcours li { display: flex; gap: var(--espace-3); align-items: flex-start; font-size: 16px; line-height: 1.5; }
.ti-liste-coches .ti-icone, .ti-parcours .ti-icone { color: var(--foret-700); margin-top: 3px; }
.ti-parcours .ti-icone { margin-top: 2px; }
@media (min-width: 768px) { .ti-liste-coches--2col { grid-template-columns: 1fr 1fr; gap: var(--espace-3) var(--espace-6); } }

/* ExempleUsage : cas fictif défi / démarche / résultat + vignette */
.ti-exemple { display: grid; gap: var(--espace-6); align-items: start; }
@media (min-width: 1024px) { .ti-exemple { grid-template-columns: 1.1fr 1fr; gap: var(--espace-8); } }
.ti-exemple__texte { background: var(--fond-section); border-radius: var(--rayon-lg); padding: var(--espace-5); }
@media (min-width: 1024px) { .ti-exemple__texte { padding: var(--espace-6); } }
.ti-exemple__texte .ti-h3 { margin: var(--espace-3) 0 var(--espace-2); }
.ti-exemple__etapes { margin: 0 0 var(--espace-4); }
.ti-exemple__etapes dt { font: 600 14px/1.3 var(--font-texte); letter-spacing: .06em; text-transform: uppercase; color: var(--texte-accent); margin-top: var(--espace-4); }
.ti-exemple__etapes dd { margin: var(--espace-1) 0 0; font-size: 16px; }

/* RangeeFonction : une fonctionnalité décrite, texte + vignette, en alternance */
.ti-fonction { display: grid; gap: var(--espace-6); align-items: center; margin-bottom: var(--espace-8); }
@media (min-width: 1024px) { .ti-fonction { grid-template-columns: 1fr 1.1fr; gap: var(--espace-8); } .ti-fonction--inverse .ti-fonction__texte { order: 2; } }
.ti-fonction__texte .ti-h3 { margin: var(--espace-3) 0 var(--espace-3); }
.ti-fonction__texte p { max-width: 56ch; }

/* CarteAvenir : fonctionnalité en développement (contour pointillé, jamais de capture) */
.ti-avenir { background: var(--fond-page); border: var(--trait-1) dashed var(--bordure-forte); border-radius: var(--rayon-md); padding: var(--espace-5); }
.ti-avenir h3 { margin: 0 0 var(--espace-2); }
.ti-avenir p { margin: 0; font-size: 15px; color: var(--texte-secondaire); }

/* EtapesDetaillees : la démarche en 4 cartes numérotées (page Notre approche) */
.ti-etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--espace-5); counter-reset: et; }
@media (min-width: 768px) { .ti-etapes { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1200px) { .ti-etapes { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espace-6); } }
.ti-etapes__item { background: var(--fond-page); border: var(--trait-1) solid var(--bordure-discrete); border-radius: var(--rayon-lg); padding: var(--espace-5); }
.ti-etapes__num { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--foret); color: var(--blanc); font: 700 20px/1 var(--font-titre); margin-bottom: var(--espace-4); }
.ti-etapes__item h3 { margin: 0 0 var(--espace-3); }
.ti-etapes__lib { font: 600 13px/1.3 var(--font-texte); letter-spacing: .06em; text-transform: uppercase; color: var(--texte-accent); margin: var(--espace-4) 0 var(--espace-1) !important; }
.ti-etapes__item p { font-size: 16px; margin: 0; }

/* FiltresThemes : filtres du centre de ressources (étiquettes cliquables) */
.ti-filtres { display: flex; flex-wrap: wrap; gap: var(--espace-2); }
.ti-filtres .ti-theme { min-height: var(--cible-min); padding: 0 var(--espace-4); text-transform: none; letter-spacing: 0; font-size: 15px; }
.ti-filtres .is-actif { background: var(--encre); color: var(--blanc); box-shadow: none; }

/* Gabarit de lecture (article, page pilier, page légale) : table des matières collante + corps */
.ti-article { display: grid; gap: var(--espace-7); align-items: start; }
@media (min-width: 1024px) { .ti-article { grid-template-columns: 280px minmax(0, 1fr); gap: var(--espace-9); } .ti-article__cote { position: sticky; top: var(--espace-6); } }
.ti-article__corps { max-width: 760px; }
.ti-article__corps .ti-h2 { margin-top: var(--espace-7); }
.ti-article__corps .ti-en-bref { margin-bottom: var(--espace-6); }
.ti-article__corps .ti-definition { margin: var(--espace-6) 0; }
.ti-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espace-2) var(--espace-4); margin-top: var(--espace-5); font-size: 15px; color: var(--texte-secondaire); }
.ti-article__meta img { width: 40px; height: 40px; object-fit: cover; }
.ti-article__meta strong { color: var(--texte-principal); font-weight: 600; }
.ti-legal__autres { list-style: none; margin: var(--espace-6) 0 0; padding: 0; display: grid; gap: var(--espace-2); font-size: 15px; }
.ti-legal .ti-h3 { margin-top: var(--espace-6); }
.ti-legal ul { padding-left: 1.2em; }
.ti-legal li { margin-bottom: var(--espace-2); }

/* Gabarit Planifier une démo : formulaire + colonne « ce qui se passe ensuite » */
.ti-demo { display: grid; gap: var(--espace-7); align-items: start; }
@media (min-width: 1024px) { .ti-demo { grid-template-columns: minmax(0, 1fr) 360px; gap: var(--espace-9); } .ti-demo__cote { position: sticky; top: var(--espace-6); } }
.ti-demo__etapes { list-style: none; margin: 0; padding: 0; counter-reset: d; display: grid; gap: var(--espace-3); }
.ti-demo__etapes li { counter-increment: d; display: grid; grid-template-columns: 32px 1fr; gap: var(--espace-3); font-size: 15px; line-height: 1.5; }
.ti-demo__etapes li::before { content: counter(d); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--foret); color: var(--blanc); font: 700 15px/1 var(--font-titre); grid-row: span 2; }
.ti-demo__etapes strong { font-weight: 600; display: block; }
.ti-demo__etapes span { grid-column: 2; color: var(--texte-secondaire); }

/* Gabarit Page introuvable */
.ti-404__bloc { max-width: 760px; }
.ti-404__recherche { display: grid; gap: var(--espace-3); margin: var(--espace-6) 0; align-items: end; }
@media (min-width: 768px) { .ti-404__recherche { grid-template-columns: 1fr auto; } }
.ti-404__liens { display: flex; flex-wrap: wrap; gap: var(--espace-3); }
.ti-404__liste { list-style: none; margin: var(--espace-3) 0 0; padding: 0; display: grid; gap: var(--espace-1); }
@media (min-width: 768px) { .ti-404__liste { grid-template-columns: 1fr 1fr; } }
.ti-404__liste .ti-lien-fleche { display: flex; align-items: flex-start; min-height: 0; padding: 6px 0; }
.ti-404__liste .ti-lien-fleche .ti-icone { margin-top: 3px; }

/* ==========================================================
   Cartographie v2 : fond de carte commun et VignetteCarto enrichie
   (ajout au système de design, sprint de refonte semaine 1)
   ========================================================== */
.ti-vignette { container-type: inline-size; }
.ti-vignette__carte { background: var(--creme); }
.ti-vignette__entete { flex-wrap: wrap; }
.ti-vignette__description { margin: 0; padding: var(--espace-3) var(--espace-4); background: var(--fond-page); border-top: var(--trait-1) solid var(--bordure-discrete); font-size: 14px; line-height: 1.45; color: var(--texte-secondaire); }
.ti-vignette__legende + .ti-vignette__description { border-top: 0; padding-top: 0; }
.ti-vignette__repli { background: var(--fond-page); border-top: var(--trait-1) solid var(--bordure-discrete); }
.ti-vignette__repli > summary { display: flex; align-items: center; gap: var(--espace-2); min-height: var(--cible-min); padding: 0 var(--espace-4); font: 600 15px/1.25 var(--font-texte); color: var(--texte-lien); text-decoration: underline; cursor: pointer; list-style: none; }
.ti-vignette__repli > summary::-webkit-details-marker { display: none; }
.ti-vignette__repli > summary::before { content: ""; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .15s ease; }
.ti-vignette__repli[open] > summary::before { transform: rotate(45deg); }
.ti-vignette__repli > summary:focus-visible { outline: var(--trait-2) solid var(--focus); outline-offset: -2px; }
.ti-vignette__repli .ti-vignette__legende { border-top: 0; padding-top: 0; }

/* Fond de carte */
.ti-carto-sol { fill: var(--creme); }
.ti-carto-parc { fill: var(--foret-50); }
.ti-carto-eau { fill: var(--sauge); stroke: var(--foret); stroke-width: .75; }
.ti-carto-rue { fill: none; stroke: var(--blanc); stroke-linecap: round; stroke-linejoin: round; }
.ti-carto-rue--bord { stroke: var(--gris-200); }
.ti-carto-rues-legeres .ti-carto-rue { stroke-opacity: .72; }
.ti-carto-rues-legeres .ti-carto-rue--bord { stroke-opacity: .5; }
.ti-carto-pont { fill: none; stroke: var(--ardoise); stroke-width: 1.25; stroke-linecap: round; }
.ti-carto-reseau path { fill: none; stroke: var(--blanc); stroke-opacity: .7; stroke-linecap: round; stroke-linejoin: round; }
/* Vue régionale */
.ti-carto-exterieur-fond { fill: var(--brume); }
.ti-carto-mrc { fill: var(--creme); }
.ti-carto-mrc-contour { fill: none; stroke: var(--ardoise); stroke-width: 1.6; stroke-linejoin: round; }
.ti-carto-limite-muni { fill: none; stroke: var(--ardoise); stroke-width: .9; stroke-linecap: round; }
.ti-carto-ville { fill: var(--gris-200); stroke: var(--ardoise); stroke-width: .75; }
.ti-carto-village { fill: var(--ardoise); }
.ti-carto-pole-prop { stroke: var(--blanc); stroke-width: 1.5; }
.ti-carto-pole.ti-carto-pole-prop { stroke: var(--encre); }
/* Noyaux villageois */
.ti-carto-bati { fill: var(--gris-200); opacity: .5; }
/* Tronçon d'artère */
.ti-carto-lot { stroke: none; }
.ti-carto-lot-vacant { stroke: var(--ardoise); stroke-width: 1.2; }
.ti-carto-glyphe { fill: var(--blanc); }
.ti-carto-flux { fill: none; stroke: var(--ardoise); stroke-width: 1.5; stroke-dasharray: 2 4; stroke-linecap: round; }

/* Couches commerciales */
.ti-carto-cat { stroke: var(--blanc); stroke-width: 1.5; stroke-linejoin: round; }
.ti-carto-cat--alim { fill: var(--foret); }
.ti-carto-cat--detail { fill: var(--olive); }
.ti-carto-cat--serv { fill: var(--foret-900); }
.ti-carto-cat--resto { fill: var(--encre); }
.ti-carto-vacant { fill: var(--blanc); stroke: var(--ardoise); stroke-width: 1.75; }
.ti-carto-vacant-hachure { stroke: var(--ardoise); stroke-width: 1.2; }
.ti-carto-densite-1 { fill: var(--carto-2); opacity: .8; }
.ti-carto-densite-2 { fill: var(--carto-3); opacity: .5; }
.ti-carto-chalandise { fill: none; stroke: var(--foret); stroke-width: 1.75; stroke-dasharray: 6 5; stroke-linecap: round; }
.ti-carto-pole { fill: var(--carto-pole); stroke: var(--encre); stroke-width: 1.5; }
.ti-carto-repere circle { fill: var(--gris-500); opacity: .75; }

/* Paliers d'accessibilité (isochrones sur réseau) */
.ti-carto-iso-3 { fill: var(--carto-2); }
.ti-carto-iso-2 { fill: var(--carto-3); }
.ti-carto-iso-1 { fill: var(--carto-5); }
.ti-carto-iso { stroke: var(--foret-900); stroke-width: 1; stroke-opacity: .55; stroke-linejoin: round; }
.ti-carto-iso-bord { fill: none; stroke: var(--foret-900); stroke-width: 1; stroke-opacity: .55; stroke-linejoin: round; }
.ti-carto-hachure-trait { stroke: var(--carto-4); stroke-width: 2; stroke-opacity: .6; }

/* Étiquettes : jamais sous 12 px rendus */
.ti-carto-texte { font: 600 12px/1 var(--font-texte); fill: var(--encre); text-anchor: middle; paint-order: stroke; stroke: var(--creme); stroke-width: 4px; stroke-linejoin: round; }
.ti-carto-texte--inv { fill: var(--blanc); stroke: var(--carto-5); }
.ti-carto-texte--g { font-size: 24px; stroke-width: 7px; }

/* Infobulle (survol et focus) */
.ti-carto-pt { cursor: default; outline: none; }
.ti-carto-bulle { opacity: 0; pointer-events: none; transform-origin: 0 0; transition: opacity .15s ease; }
.ti-carto-bulle rect { fill: var(--encre); }
.ti-carto-bulle text { font: 600 12px/1 var(--font-texte); fill: var(--blanc); text-anchor: middle; }
.ti-carto-pt:hover .ti-carto-bulle, .ti-carto-pt:focus .ti-carto-bulle { opacity: 1; }
.ti-carto-pt:focus-visible > :first-child { stroke: var(--focus); stroke-width: 3; }
@media (prefers-reduced-motion: reduce) { .ti-carto-bulle { transition: none; } }

/* Onglets de mode */
.ti-onglets { display: flex; gap: var(--espace-1); padding: var(--espace-2) var(--espace-3) 0; background: var(--fond-page); border-bottom: var(--trait-1) solid var(--bordure-discrete); overflow-x: auto; }
.ti-onglet { min-height: var(--cible-min); padding: 0 var(--espace-4); border: 0; border-bottom: 3px solid transparent; background: none; font: 600 15px/1.2 var(--font-texte); color: var(--texte-secondaire); cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: var(--espace-2); }
.ti-onglet:hover { color: var(--texte-principal); }
.ti-onglet[aria-selected="true"] { color: var(--texte-principal); border-bottom-color: var(--foret); }
.ti-onglet:focus-visible { outline: var(--trait-2) solid var(--focus); outline-offset: -2px; border-radius: var(--rayon-sm); }
.ti-onglet .ti-icone { width: 20px; height: 20px; }
.ti-carto-cache, .ti-vignette__legende li.ti-carto-cache { display: none; }

/* Mobile (vignette de 440 px et moins) : on retire le secondaire, jamais sous 12 px */
@container (max-width: 440px) {
  .ti-carto-texte { font-size: 18px; stroke-width: 5px; }
  .ti-carto-texte--g { font-size: 36px; stroke-width: 9px; }
  .ti-carto-texte--sec { display: none; }
  .ti-carto-bulle { transform: scale(1.5); }
  .ti-onglet { padding: 0 var(--espace-3); font-size: 14px; }
  .ti-onglet .ti-icone { display: none; }
}

/* Motifs de courbes de niveau v2 (décoratifs, répétables) */
.ti-motif-courbes--404 { background-color: var(--creme); background-image: var(--ti-courbes-olive-url); background-size: 480px 320px; background-repeat: repeat; }
.ti-motif-courbes--sombre { background-color: var(--olive); background-image: var(--ti-courbes-sauge-url); background-size: 480px 320px; background-repeat: repeat; }

/* Motifs de courbes répétables (tuile 480 × 320, aria-hidden, décoratif) */
:root {
  --ti-courbes-olive-url: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22480%22 height=%22320%22 viewBox=%220 0 480 320%22%3E%3Cg fill=%22none%22 stroke=%22%23726F40%22 stroke-opacity=%22.2%22 stroke-width=%221.25%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M74 114L68 116 63 118 58 122 55 126 54 132 55 138 60 142 65 144 72 145 80 145 86 143 92 140 96 136 98 131 98 125 96 120 91 116 86 114 78 113%22/%3E%3Cpath d=%22M292 4L286 6 282 8 276 12 273 16 271 22 272 29 274 34 278 39 282 42 288 46 293 48 300 50 306 51 314 50 320 50 328 48 334 46 339 44 344 41 348 37 350 32 350 24 348 19 344 14 340 11 335 8 330 6 324 4 316 3 308 2 300 2 292 4%22/%3E%3Cpath d=%22M74 98L68 99 62 101 56 103 50 106 46 109 41 112 36 116 33 120 30 124 28 130 26 138 28 146 30 150 34 154 40 158 46 160 52 161 60 162 68 162 76 162 84 161 90 159 96 158 102 155 107 152 112 148 115 144 118 138 119 132 119 124 117 118 114 112 111 108 107 104 102 101 96 99 90 97 82 97 74 98%22/%3E%3Cpath d=%22M432 220L426 222 421 224 416 228 412 231 408 234 404 239 401 244 398 250 396 256 397 264 400 268 406 271 412 270 418 268 424 265 428 262 433 258 437 254 440 250 444 244 446 240 448 233 448 228 446 222 440 219 432 220%22/%3E%3Cpath d=%22M259 0L255 4 252 8 250 14 249 22 250 29 252 34 255 40 258 44 262 49 266 53 270 56 275 60 280 63 286 65 292 67 298 69 306 69 314 69 322 69 330 68 336 67 344 66 350 66 358 65 365 64 372 63 379 62 386 60 392 58 396 55 399 50 400 42 398 34 397 28 395 22 394 16 392 8 392 0%22/%3E%3Cpath d=%22M392 320L394 314 397 308 401 304 405 300 410 296 414 293 418 290 423 286 428 282 432 279 436 275 440 272 444 268 448 263 452 259 455 254 458 250 462 244 464 239 466 234 468 228 470 222 472 214 472 208 472 200 470 195 464 192 460 192 452 194 446 196 441 198 436 200 430 203 425 206 420 209 415 212 410 216 406 219 402 222 398 226 394 230 390 234 386 239 382 244 380 248 377 254 374 259 372 264 369 270 367 276 364 282 362 286 358 290 353 294 348 297 342 299 336 300 328 301 321 302 314 303 306 304 300 304 292 306 286 307 280 309 274 311 268 314 264 316 259 320%22/%3E%3Cpath d=%22M74 86L68 87 62 89 56 91 50 93 44 95 38 98 34 100 28 103 24 106 19 110 15 114 12 118 8 124 6 130 5 136 4 142 3 150 3 158 4 166 6 172 10 175 18 176 26 176 34 176 42 175 50 175 58 175 66 175 74 174 80 174 88 173 94 172 102 170 108 168 114 166 118 164 124 160 128 156 131 152 133 146 135 140 135 132 134 125 132 118 130 113 128 108 124 102 120 98 116 94 112 91 106 88 100 86 94 85 86 85 78 85%22/%3E%3Cpath d=%22M234 164L228 166 223 168 218 171 214 175 210 179 208 184 207 192 209 198 214 202 218 204 226 205 234 205 240 203 246 200 250 197 254 192 256 188 258 182 258 175 256 169 252 165 246 163 238 163%22/%3E%3Cpath d=%22M235 0L232 6 231 12 231 20 232 27 234 33 237 38 240 44 243 48 246 52 250 57 254 61 258 65 262 69 266 72 271 76 276 79 281 82 287 84 294 85 302 86 310 85 318 84 324 84 332 82 338 82 346 81 354 80 360 80 368 80 376 80 384 80 390 80 398 80 406 80 412 80 420 78 425 76 429 72 431 66 431 58 430 52 428 46 426 40 424 34 422 28 420 22 418 14 418 6%22/%3E%3Cpath d=%22M480 100L475 104 472 108 469 114 468 120 467 128 466 134 464 142 463 148 461 154 459 160 456 165 453 170 449 174 445 178 440 182 436 185 432 188 427 192 422 195 418 198 412 202 408 205 404 208 399 212 394 216 390 220 386 224 382 227 378 232 374 236 371 240 367 244 364 248 360 254 357 258 354 262 350 266 346 271 342 274 336 278 332 280 326 283 320 285 314 287 307 288 300 289 294 291 286 292 280 293 274 295 268 297 262 299 256 302 252 304 246 308 242 312 238 316 235 320%22/%3E%3Cpath d=%22M0 236L3 230 6 224 8 219 11 214 14 209 18 204 22 200 26 197 32 194 37 192 44 190 50 189 56 188 64 187 72 186 78 186 86 185 94 185 102 184 108 184 116 183 122 182 130 180 136 179 142 177 148 174 152 171 155 166 156 158 154 150 153 144 152 138 150 131 148 124 146 119 144 114 141 108 138 102 136 98 132 92 128 88 124 84 120 81 116 78 110 75 104 73 96 72 88 73 80 74 74 75 68 76 61 78 55 80 48 82 42 84 36 86 30 88 24 90 19 92 13 94 8 96 2 99%22/%3E%3Cpath d=%22M419 320L421 314 424 309 427 304 430 300 434 295 438 291 442 287 446 283 450 278 454 274 457 270 461 266 464 262 468 256 471 252 474 247 477 242 480 236%22/%3E%3Cpath d=%22M248 142L242 143 236 144 230 146 224 148 218 151 212 153 206 156 201 158 196 160 190 163 184 166 180 168 174 171 170 174 167 180 166 188 168 196 169 202 171 208 174 214 177 218 181 222 186 224 192 226 200 227 208 228 216 228 224 227 230 226 238 224 243 222 248 220 254 216 258 214 262 210 266 206 270 200 272 196 274 190 276 184 277 176 277 168 276 162 274 156 270 150 266 146 262 143 256 142 248 142%22/%3E%3Cpath d=%22M130 265L125 268 121 272 118 276 116 284 118 290 122 294 130 295 136 293 140 289 144 284 145 278 145 270 142 266 134 264%22/%3E%3Cpath d=%22M104 0L109 4 114 6 120 8 128 9 134 8 141 6 146 4 152 1%22/%3E%3Cpath d=%22M208 0L208 8 209 14 210 20 213 26 216 32 218 36 222 42 224 46 228 51 232 56 235 60 238 64 242 68 246 73 250 78 253 82 256 87 259 92 262 97 264 104 264 108 260 114 256 117 251 120 246 123 240 126 235 128 230 130 224 133 218 135 212 137 206 139 200 140 192 141 184 141 178 139 174 136 170 132 166 127 163 122 160 117 157 112 154 106 152 101 149 96 146 90 143 86 140 81 136 76 133 72 129 68 124 64 120 62 114 59 108 57 100 57 93 58 86 59 80 61 74 63 68 65 62 67 56 68 50 70 44 72 36 74 30 75 24 76 16 77 8 78 0 77%22/%3E%3Cpath d=%22M480 77L474 75 468 72 464 69 460 65 456 60 453 56 450 50 448 46 445 40 442 34 440 29 438 22 437 16 436 8 437 0%22/%3E%3Cpath d=%22M0 259L4 254 6 250 10 244 13 240 16 234 19 230 22 225 26 220 29 216 34 212 38 209 43 206 48 204 55 202 62 201 69 200 76 200 84 200 90 200 98 202 104 203 110 205 114 208 118 212 120 218 119 224 117 230 114 235 110 240 107 244 104 248 100 253 97 258 94 263 92 268 90 274 88 282 88 290 90 298 92 303 94 308 98 313 102 318%22/%3E%3Cpath d=%22M155 320L160 317 165 314 170 310 174 306 177 302 180 298 183 292 185 286 187 280 189 274 192 269 195 264 200 260 204 257 210 254 215 252 221 250 227 248 233 246 239 244 244 242 250 239 256 236 260 233 264 230 269 226 272 222 276 217 280 212 282 208 285 202 287 196 288 190 289 182 290 176 290 168 290 160 289 154 288 146 287 140 286 132 285 126 286 118 288 114 293 110 298 107 304 104 310 102 315 100 322 98 328 96 334 95 340 94 348 93 356 92 362 92 370 92 376 92 384 93 392 94 398 95 405 96 412 97 418 99 424 101 430 104 434 106 439 110 442 114 445 120 447 126 448 134 447 142 446 149 444 155 442 160 438 166 435 170 431 174 427 178 423 182 418 186 414 190 410 193 406 196 401 200 396 204 392 207 388 210 383 214 379 218 374 222 370 226 366 229 362 233 358 237 354 241 350 245 346 249 342 253 338 256 333 260 328 263 323 266 318 268 312 270 306 272 298 274 292 275 285 276 278 277 272 278 264 280 258 282 252 284 246 286 241 288 236 290 230 294 226 296 221 300 216 304 213 308 210 312 208 318%22/%3E%3Cpath d=%22M437 320L439 314 442 308 444 304 448 298 451 294 455 290 458 286 462 281 466 277 470 272 473 268 476 264 480 259%22/%3E%3Cpath d=%22M79 0L82 5 84 10 87 16 89 22 89 30 86 36 83 40 78 44 74 47 69 50 64 52 58 55 52 57 46 59 40 61 33 62 26 63 18 63 12 62 6 60 0 57%22/%3E%3Cpath d=%22M480 57L475 54 471 50 467 46 464 42 460 36 458 32 455 26 454 20 452 12 452 4%22/%3E%3Cpath d=%22M0 279L4 274 8 270 11 266 15 262 18 258 22 253 26 248 29 244 32 240 36 236 40 231 44 228 50 224 56 222 62 221 70 222 75 224 79 228 80 236 78 243 76 249 74 254 72 260 70 267 69 274 69 282 69 290 71 296 72 302 74 308 77 314 79 320%22/%3E%3Cpath d=%22M453 320L455 314 458 308 460 304 464 298 467 294 470 290 474 285 478 281%22/%3E%3Cpath d=%22M166 30L174 29 181 30 186 32 192 36 196 39 200 43 204 47 208 51 212 56 216 60 219 64 223 68 226 73 230 78 232 82 234 88 236 96 234 103 231 108 227 112 222 116 218 118 212 120 206 122 198 123 191 122 186 120 180 116 176 112 173 108 170 104 166 98 164 93 161 88 159 82 156 76 154 72 152 66 149 60 148 54 147 46 150 40 153 36 158 33 164 30%22/%3E%3Cpath d=%22M350 104L358 103 366 103 374 103 382 104 388 105 394 106 401 108 406 110 412 113 418 116 422 119 426 124 429 128 431 134 432 142 431 150 429 156 426 162 423 166 420 171 416 175 412 179 408 183 404 187 400 190 395 194 390 198 386 201 382 204 377 208 372 212 368 215 364 218 358 222 354 225 350 228 345 232 340 235 336 238 330 242 325 244 320 246 314 248 306 250 298 249 292 246 290 240 291 232 293 226 295 220 296 214 298 207 299 200 300 194 301 186 302 178 302 170 302 164 302 156 303 148 304 140 305 134 308 128 310 124 314 119 318 116 324 112 328 110 334 108 340 106 348 104%22/%3E%3Cpath d=%22M60 0L62 6 63 12 64 20 62 28 60 32 56 37 52 40 46 43 40 45 34 47 26 47 18 46 12 44 8 42 3 38%22/%3E%3Cpath d=%22M480 35L476 30 474 26 471 20 469 14 469 6%22/%3E%3Cpath d=%22M0 301L4 296 8 292 12 289 16 286 22 282 26 280 34 278 40 281 44 285 47 290 50 296 52 301 54 306 57 312 59 318%22/%3E%3Cpath d=%22M470 320L470 320 470 318 471 316 472 314 472 314 473 312 474 310 474 310 475 308 476 306 476 306 478 304 478 303 479 302 480 301%22/%3E%3Cpath d=%22M190 80L197 80 200 84 200 90 194 90 190 85 190 80%22/%3E%3Cpath d=%22M358 114L366 113 374 114 380 115 387 116 393 118 398 120 404 123 408 127 412 131 415 136 417 142 417 150 415 156 412 162 410 166 406 171 402 176 398 180 394 184 390 187 386 190 381 194 376 198 372 200 366 204 362 207 356 210 352 212 346 215 340 217 334 218 326 218 322 216 318 211 316 206 314 198 314 192 313 184 313 176 314 168 314 160 315 154 316 147 318 141 320 136 324 130 328 126 332 123 337 120 342 118 348 116 356 114%22/%3E%3Cpath d=%22M22 3L28 4 31 10 28 16 23 16 19 12 20 4%22/%3E%3Cpath d=%22M360 126L368 125 376 126 382 128 388 130 392 132 396 136 400 142 401 148 401 156 398 162 396 166 392 171 388 175 384 179 380 182 375 186 370 189 365 192 360 194 354 196 346 198 338 196 334 194 330 188 328 182 327 176 326 168 327 160 328 154 330 148 333 142 336 138 340 134 346 130 351 128 358 126%22/%3E%3Cpath d=%22M364 142L370 142 376 145 380 149 381 156 379 162 376 166 372 170 366 174 361 176 354 176 349 174 346 170 344 162 346 155 349 150 353 146 358 143 364 142%22/%3E%3C/g%3E%3C/svg%3E");
  --ti-courbes-sauge-url: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22480%22 height=%22320%22 viewBox=%220 0 480 320%22%3E%3Cg fill=%22none%22 stroke=%22%23DAE8AD%22 stroke-opacity=%22.12%22 stroke-width=%221.25%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M74 114L68 116 63 118 58 122 55 126 54 132 55 138 60 142 65 144 72 145 80 145 86 143 92 140 96 136 98 131 98 125 96 120 91 116 86 114 78 113%22/%3E%3Cpath d=%22M292 4L286 6 282 8 276 12 273 16 271 22 272 29 274 34 278 39 282 42 288 46 293 48 300 50 306 51 314 50 320 50 328 48 334 46 339 44 344 41 348 37 350 32 350 24 348 19 344 14 340 11 335 8 330 6 324 4 316 3 308 2 300 2 292 4%22/%3E%3Cpath d=%22M74 98L68 99 62 101 56 103 50 106 46 109 41 112 36 116 33 120 30 124 28 130 26 138 28 146 30 150 34 154 40 158 46 160 52 161 60 162 68 162 76 162 84 161 90 159 96 158 102 155 107 152 112 148 115 144 118 138 119 132 119 124 117 118 114 112 111 108 107 104 102 101 96 99 90 97 82 97 74 98%22/%3E%3Cpath d=%22M432 220L426 222 421 224 416 228 412 231 408 234 404 239 401 244 398 250 396 256 397 264 400 268 406 271 412 270 418 268 424 265 428 262 433 258 437 254 440 250 444 244 446 240 448 233 448 228 446 222 440 219 432 220%22/%3E%3Cpath d=%22M259 0L255 4 252 8 250 14 249 22 250 29 252 34 255 40 258 44 262 49 266 53 270 56 275 60 280 63 286 65 292 67 298 69 306 69 314 69 322 69 330 68 336 67 344 66 350 66 358 65 365 64 372 63 379 62 386 60 392 58 396 55 399 50 400 42 398 34 397 28 395 22 394 16 392 8 392 0%22/%3E%3Cpath d=%22M392 320L394 314 397 308 401 304 405 300 410 296 414 293 418 290 423 286 428 282 432 279 436 275 440 272 444 268 448 263 452 259 455 254 458 250 462 244 464 239 466 234 468 228 470 222 472 214 472 208 472 200 470 195 464 192 460 192 452 194 446 196 441 198 436 200 430 203 425 206 420 209 415 212 410 216 406 219 402 222 398 226 394 230 390 234 386 239 382 244 380 248 377 254 374 259 372 264 369 270 367 276 364 282 362 286 358 290 353 294 348 297 342 299 336 300 328 301 321 302 314 303 306 304 300 304 292 306 286 307 280 309 274 311 268 314 264 316 259 320%22/%3E%3Cpath d=%22M74 86L68 87 62 89 56 91 50 93 44 95 38 98 34 100 28 103 24 106 19 110 15 114 12 118 8 124 6 130 5 136 4 142 3 150 3 158 4 166 6 172 10 175 18 176 26 176 34 176 42 175 50 175 58 175 66 175 74 174 80 174 88 173 94 172 102 170 108 168 114 166 118 164 124 160 128 156 131 152 133 146 135 140 135 132 134 125 132 118 130 113 128 108 124 102 120 98 116 94 112 91 106 88 100 86 94 85 86 85 78 85%22/%3E%3Cpath d=%22M234 164L228 166 223 168 218 171 214 175 210 179 208 184 207 192 209 198 214 202 218 204 226 205 234 205 240 203 246 200 250 197 254 192 256 188 258 182 258 175 256 169 252 165 246 163 238 163%22/%3E%3Cpath d=%22M235 0L232 6 231 12 231 20 232 27 234 33 237 38 240 44 243 48 246 52 250 57 254 61 258 65 262 69 266 72 271 76 276 79 281 82 287 84 294 85 302 86 310 85 318 84 324 84 332 82 338 82 346 81 354 80 360 80 368 80 376 80 384 80 390 80 398 80 406 80 412 80 420 78 425 76 429 72 431 66 431 58 430 52 428 46 426 40 424 34 422 28 420 22 418 14 418 6%22/%3E%3Cpath d=%22M480 100L475 104 472 108 469 114 468 120 467 128 466 134 464 142 463 148 461 154 459 160 456 165 453 170 449 174 445 178 440 182 436 185 432 188 427 192 422 195 418 198 412 202 408 205 404 208 399 212 394 216 390 220 386 224 382 227 378 232 374 236 371 240 367 244 364 248 360 254 357 258 354 262 350 266 346 271 342 274 336 278 332 280 326 283 320 285 314 287 307 288 300 289 294 291 286 292 280 293 274 295 268 297 262 299 256 302 252 304 246 308 242 312 238 316 235 320%22/%3E%3Cpath d=%22M0 236L3 230 6 224 8 219 11 214 14 209 18 204 22 200 26 197 32 194 37 192 44 190 50 189 56 188 64 187 72 186 78 186 86 185 94 185 102 184 108 184 116 183 122 182 130 180 136 179 142 177 148 174 152 171 155 166 156 158 154 150 153 144 152 138 150 131 148 124 146 119 144 114 141 108 138 102 136 98 132 92 128 88 124 84 120 81 116 78 110 75 104 73 96 72 88 73 80 74 74 75 68 76 61 78 55 80 48 82 42 84 36 86 30 88 24 90 19 92 13 94 8 96 2 99%22/%3E%3Cpath d=%22M419 320L421 314 424 309 427 304 430 300 434 295 438 291 442 287 446 283 450 278 454 274 457 270 461 266 464 262 468 256 471 252 474 247 477 242 480 236%22/%3E%3Cpath d=%22M248 142L242 143 236 144 230 146 224 148 218 151 212 153 206 156 201 158 196 160 190 163 184 166 180 168 174 171 170 174 167 180 166 188 168 196 169 202 171 208 174 214 177 218 181 222 186 224 192 226 200 227 208 228 216 228 224 227 230 226 238 224 243 222 248 220 254 216 258 214 262 210 266 206 270 200 272 196 274 190 276 184 277 176 277 168 276 162 274 156 270 150 266 146 262 143 256 142 248 142%22/%3E%3Cpath d=%22M130 265L125 268 121 272 118 276 116 284 118 290 122 294 130 295 136 293 140 289 144 284 145 278 145 270 142 266 134 264%22/%3E%3Cpath d=%22M104 0L109 4 114 6 120 8 128 9 134 8 141 6 146 4 152 1%22/%3E%3Cpath d=%22M208 0L208 8 209 14 210 20 213 26 216 32 218 36 222 42 224 46 228 51 232 56 235 60 238 64 242 68 246 73 250 78 253 82 256 87 259 92 262 97 264 104 264 108 260 114 256 117 251 120 246 123 240 126 235 128 230 130 224 133 218 135 212 137 206 139 200 140 192 141 184 141 178 139 174 136 170 132 166 127 163 122 160 117 157 112 154 106 152 101 149 96 146 90 143 86 140 81 136 76 133 72 129 68 124 64 120 62 114 59 108 57 100 57 93 58 86 59 80 61 74 63 68 65 62 67 56 68 50 70 44 72 36 74 30 75 24 76 16 77 8 78 0 77%22/%3E%3Cpath d=%22M480 77L474 75 468 72 464 69 460 65 456 60 453 56 450 50 448 46 445 40 442 34 440 29 438 22 437 16 436 8 437 0%22/%3E%3Cpath d=%22M0 259L4 254 6 250 10 244 13 240 16 234 19 230 22 225 26 220 29 216 34 212 38 209 43 206 48 204 55 202 62 201 69 200 76 200 84 200 90 200 98 202 104 203 110 205 114 208 118 212 120 218 119 224 117 230 114 235 110 240 107 244 104 248 100 253 97 258 94 263 92 268 90 274 88 282 88 290 90 298 92 303 94 308 98 313 102 318%22/%3E%3Cpath d=%22M155 320L160 317 165 314 170 310 174 306 177 302 180 298 183 292 185 286 187 280 189 274 192 269 195 264 200 260 204 257 210 254 215 252 221 250 227 248 233 246 239 244 244 242 250 239 256 236 260 233 264 230 269 226 272 222 276 217 280 212 282 208 285 202 287 196 288 190 289 182 290 176 290 168 290 160 289 154 288 146 287 140 286 132 285 126 286 118 288 114 293 110 298 107 304 104 310 102 315 100 322 98 328 96 334 95 340 94 348 93 356 92 362 92 370 92 376 92 384 93 392 94 398 95 405 96 412 97 418 99 424 101 430 104 434 106 439 110 442 114 445 120 447 126 448 134 447 142 446 149 444 155 442 160 438 166 435 170 431 174 427 178 423 182 418 186 414 190 410 193 406 196 401 200 396 204 392 207 388 210 383 214 379 218 374 222 370 226 366 229 362 233 358 237 354 241 350 245 346 249 342 253 338 256 333 260 328 263 323 266 318 268 312 270 306 272 298 274 292 275 285 276 278 277 272 278 264 280 258 282 252 284 246 286 241 288 236 290 230 294 226 296 221 300 216 304 213 308 210 312 208 318%22/%3E%3Cpath d=%22M437 320L439 314 442 308 444 304 448 298 451 294 455 290 458 286 462 281 466 277 470 272 473 268 476 264 480 259%22/%3E%3Cpath d=%22M79 0L82 5 84 10 87 16 89 22 89 30 86 36 83 40 78 44 74 47 69 50 64 52 58 55 52 57 46 59 40 61 33 62 26 63 18 63 12 62 6 60 0 57%22/%3E%3Cpath d=%22M480 57L475 54 471 50 467 46 464 42 460 36 458 32 455 26 454 20 452 12 452 4%22/%3E%3Cpath d=%22M0 279L4 274 8 270 11 266 15 262 18 258 22 253 26 248 29 244 32 240 36 236 40 231 44 228 50 224 56 222 62 221 70 222 75 224 79 228 80 236 78 243 76 249 74 254 72 260 70 267 69 274 69 282 69 290 71 296 72 302 74 308 77 314 79 320%22/%3E%3Cpath d=%22M453 320L455 314 458 308 460 304 464 298 467 294 470 290 474 285 478 281%22/%3E%3Cpath d=%22M166 30L174 29 181 30 186 32 192 36 196 39 200 43 204 47 208 51 212 56 216 60 219 64 223 68 226 73 230 78 232 82 234 88 236 96 234 103 231 108 227 112 222 116 218 118 212 120 206 122 198 123 191 122 186 120 180 116 176 112 173 108 170 104 166 98 164 93 161 88 159 82 156 76 154 72 152 66 149 60 148 54 147 46 150 40 153 36 158 33 164 30%22/%3E%3Cpath d=%22M350 104L358 103 366 103 374 103 382 104 388 105 394 106 401 108 406 110 412 113 418 116 422 119 426 124 429 128 431 134 432 142 431 150 429 156 426 162 423 166 420 171 416 175 412 179 408 183 404 187 400 190 395 194 390 198 386 201 382 204 377 208 372 212 368 215 364 218 358 222 354 225 350 228 345 232 340 235 336 238 330 242 325 244 320 246 314 248 306 250 298 249 292 246 290 240 291 232 293 226 295 220 296 214 298 207 299 200 300 194 301 186 302 178 302 170 302 164 302 156 303 148 304 140 305 134 308 128 310 124 314 119 318 116 324 112 328 110 334 108 340 106 348 104%22/%3E%3Cpath d=%22M60 0L62 6 63 12 64 20 62 28 60 32 56 37 52 40 46 43 40 45 34 47 26 47 18 46 12 44 8 42 3 38%22/%3E%3Cpath d=%22M480 35L476 30 474 26 471 20 469 14 469 6%22/%3E%3Cpath d=%22M0 301L4 296 8 292 12 289 16 286 22 282 26 280 34 278 40 281 44 285 47 290 50 296 52 301 54 306 57 312 59 318%22/%3E%3Cpath d=%22M470 320L470 320 470 318 471 316 472 314 472 314 473 312 474 310 474 310 475 308 476 306 476 306 478 304 478 303 479 302 480 301%22/%3E%3Cpath d=%22M190 80L197 80 200 84 200 90 194 90 190 85 190 80%22/%3E%3Cpath d=%22M358 114L366 113 374 114 380 115 387 116 393 118 398 120 404 123 408 127 412 131 415 136 417 142 417 150 415 156 412 162 410 166 406 171 402 176 398 180 394 184 390 187 386 190 381 194 376 198 372 200 366 204 362 207 356 210 352 212 346 215 340 217 334 218 326 218 322 216 318 211 316 206 314 198 314 192 313 184 313 176 314 168 314 160 315 154 316 147 318 141 320 136 324 130 328 126 332 123 337 120 342 118 348 116 356 114%22/%3E%3Cpath d=%22M22 3L28 4 31 10 28 16 23 16 19 12 20 4%22/%3E%3Cpath d=%22M360 126L368 125 376 126 382 128 388 130 392 132 396 136 400 142 401 148 401 156 398 162 396 166 392 171 388 175 384 179 380 182 375 186 370 189 365 192 360 194 354 196 346 198 338 196 334 194 330 188 328 182 327 176 326 168 327 160 328 154 330 148 333 142 336 138 340 134 346 130 351 128 358 126%22/%3E%3Cpath d=%22M364 142L370 142 376 145 380 149 381 156 379 162 376 166 372 170 366 174 361 176 354 176 349 174 346 170 344 162 346 155 349 150 353 146 358 143 364 142%22/%3E%3C/g%3E%3C/svg%3E");
}
/* Couverture d'article en attendant les photos (16:9) */
.ti-couverture { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--creme); }
.ti-couverture__carte { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ti-couverture__theme { position: absolute; left: var(--espace-4); top: var(--espace-4); }
.ti-carte__image .ti-couverture { height: 100%; }
/* Icônes des modèles */
.ti-icone--modele { width: 40px; height: 40px; color: var(--olive); margin-bottom: var(--espace-3); display: block; }
/* Bande d'appel olive avec motif sauge : bouton principal inversé pour rester lisible sur olive */
.ti-bande.ti-motif-courbes--sombre { background-color: var(--olive); }
.ti-motif-courbes--sombre .ti-bouton--principal { background: var(--creme); color: var(--encre); border-color: var(--creme); }
.ti-motif-courbes--sombre .ti-bouton--principal:hover { background: var(--sauge); border-color: var(--sauge); color: var(--encre); }
