/*
Theme Name: TLM - Théâtre la Madeleine
Theme URI: https://la-madeleine-troyes.fr/
Description: Thème du site du TLM - Théâtre la Madeleine, Troyes. Saison 26/27.
Version: 2.0
Text Domain: tlm
*/

/* ==== Styles repris des pages de la maquette ==== */

[data-haut]{ opacity:0; pointer-events:none; transition:color 200ms cubic-bezier(0.4,0,0.2,1); }

[data-haut]:hover{ color:#E5251E !important; }

@keyframes tlm-haut { from { opacity:0; pointer-events:none; } to { opacity:1; pointer-events:auto; } }

[data-haut]{ animation:tlm-haut 1ms linear both; animation-timeline:scroll(root); animation-range:62vh 70vh; }

[data-social]{ transition:color 180ms cubic-bezier(0.4,0,0.2,1); }

[data-social]:hover{ color:#E5251E !important; }

@media (max-width:520px){ a[href^="mailto:"]{ white-space:nowrap; font-size:13px !important; letter-spacing:0 !important; } }

html{ scroll-behavior:smooth; }

@font-face { font-family:"Work Sans"; font-style:normal; font-weight:100 900; font-display:swap;
    src:url("fonts/WorkSans-VariableFont_wght.ttf") format("truetype-variations"); }

@font-face { font-family:"Work Sans"; font-style:italic; font-weight:100 900; font-display:swap;
    src:url("fonts/WorkSans-Italic-VariableFont_wght.ttf") format("truetype-variations"); }

*{ box-sizing:border-box; }

html,body{ margin:0; padding:0; background:#FAF7F0; color:#2A2A2C;
    font-family:"Work Sans","Helvetica Neue",system-ui,sans-serif; font-size:15px; line-height:1.6;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

::selection{ background:#E5251E; color:#FFFFFF; }

a{ color:inherit; text-decoration:none; }

a:not([data-btn]):not([data-show]):not([data-row]):hover{ color:#E5251E; }

a[data-btn]:hover{ text-decoration:none; }

input{ font-family:inherit; }

[data-btn-icon]{ color:#111111; }

[data-btn-icon]:hover{ background:#111111; color:#FFFFFF; }

[data-nav]:hover{ border-bottom:2px solid #E5251E !important; }

[data-link]{ color:#3A3A3C; }

[data-link]:hover{ color:#E5251E; }

[data-link-strong]{ color:#111111; font-weight:600; }

[data-link-strong]:hover{ color:#E5251E; }









[data-theme-link]{ transition:color 200ms cubic-bezier(0.4,0,0.2,1); }

[data-theme-link]:hover{ color:#E5251E; }

[data-theme-link]:hover [data-theme-arrow]{ transform:translateX(5px); }

@media (max-width:760px){ [data-grid="theme"]{ grid-template-columns:minmax(0,1fr) !important; align-items:start !important; } }



[data-sub]{ transition:background 180ms cubic-bezier(0.4,0,0.2,1), color 180ms cubic-bezier(0.4,0,0.2,1); }

[data-big]{ color:#111111; transition:color 180ms cubic-bezier(0.4,0,0.2,1); }

[data-big]:hover{ color:#E5251E; }

[data-sub]:hover{ background:#F2EDE1; color:#E5251E; }

[data-sub]:hover [data-subdesc]{ color:#3A3A3C; }

@media (max-width:1240px){ [data-grid="sub"]{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }

@media (max-width:900px){ [data-grid="sub"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

[data-row]{ transition:color 200ms cubic-bezier(0.4,0,0.2,1), border-top-color 200ms cubic-bezier(0.4,0,0.2,1), background 200ms cubic-bezier(0.4,0,0.2,1), padding-left 200ms cubic-bezier(0.4,0,0.2,1); }

[data-row]:hover{ color:#E5251E; border-top-color:#E5251E; background:#F2EDE1; padding-left:16px; padding-right:16px; }

[data-rowtitle]{ color:#111111; }

[data-accroche]{ color:#5A5A5E; }

[data-row]:hover [data-rowtitle]{ color:#E5251E; }

[data-row]:hover [data-accroche]{ color:#2A2A2C; }

[data-arrow]{ transition:opacity 200ms cubic-bezier(0.4,0,0.2,1), transform 200ms cubic-bezier(0.4,0,0.2,1); }

[data-row]:hover [data-arrow]{ opacity:1; transform:translateX(0); }

@media (max-width:1180px){
    [data-grid="dates"]{ display:flex !important; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; }
    [data-grid="dates"] > a{ flex:0 0 clamp(200px,42vw,260px); scroll-snap-align:start; }
  }

@media (max-width:560px){
    [data-grid="tlm"]{ grid-template-columns:minmax(0,1fr) !important; }
    [data-tlm-rule]{ height:1px; align-self:auto !important; }
  }

@media (max-width:620px){ [data-row]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:600px){
    [data-slide-title]{ font-size:clamp(30px,8.4vw,42px) !important; line-height:1.1 !important; }
    [data-slide-eyebrow]{ font-size:12px !important; letter-spacing:0.16em !important; }
    [data-slide-meta]{ font-size:15px !important; }
    [data-slide-company]{ font-size:15.5px !important; }
  }

@media (max-width:1040px){ [data-grid="foot"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:600px){ [data-grid="foot"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
    @keyframes tlm-reveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
    [data-hero-rise]{ animation:tlm-rise 720ms cubic-bezier(0.4,0,0.2,1) both; }
    [data-reveal]{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 4% entry 32%; }
    [data-reveal-stagger] > *{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); }
    [data-reveal-stagger] > *:nth-child(1){ animation-range:entry 2% entry 28%; }
    [data-reveal-stagger] > *:nth-child(2){ animation-range:entry 6% entry 32%; }
    [data-reveal-stagger] > *:nth-child(3){ animation-range:entry 10% entry 36%; }
    [data-reveal-stagger] > *:nth-child(4){ animation-range:entry 14% entry 40%; }
    [data-reveal-stagger] > *:nth-child(5){ animation-range:entry 18% entry 44%; }
    @keyframes tlm-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
    [data-marquee-track]{ animation:tlm-marquee 32s linear infinite; }
    [data-marquee]:hover [data-marquee-track]{ animation-play-state:paused; }
  }

@media (max-width:620px){
    [data-grid="dates"]{ display:grid !important; grid-template-columns:minmax(0,1fr) !important; overflow-x:visible !important; }
    [data-grid="dates"] > a{ flex:none !important; }
    [data-grid="projet"]{ grid-template-columns:minmax(0,1fr) !important; align-items:start !important; }
    [data-grid="tlm"]{ grid-template-columns:minmax(0,1fr) !important; gap:22px !important; }
    [data-grid="tlm"] > div{ justify-content:center !important; text-align:center !important; }
    [data-tlm-rule]{ display:none !important; }
    section[style*="440px"]{ height:52vh !important; }
    section[style*="360px"]{ height:40vh !important; }
    [data-hero-title]{ font-size:32px !important; line-height:1.26 !important; }
    [data-hero-sub]{ font-size:16px !important; line-height:1.55 !important; }
    h1{ font-size:32px !important; line-height:1.26 !important; }
    h2{ font-size:24px !important; line-height:1.22 !important; }
    h3{ font-size:19px !important; line-height:1.2 !important; }
    [data-btn],[data-btn-solid],[data-btn-outline],[data-btn-light],[data-btn-resa],[data-chip]{ font-size:10px !important; letter-spacing:0.12em !important; padding:14px 20px !important; }
  }



p{ max-width:none; }

@media (max-width:760px){ [data-grid="bloc"]{ grid-template-columns:minmax(0,1fr) !important; gap:10px !important; } }

@media (max-width:640px){ [data-grid="etab-row"]{ grid-template-columns:minmax(0,1fr) !important; gap:6px !important; } }

@media (max-width:860px){ [data-grid="tete"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:1000px){ [data-grid="artistes"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:600px){ [data-grid="artistes"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:900px){ [data-grid="vision"],[data-grid="chapo"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:900px){ [data-grid="edito"],[data-grid="chapo"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:900px){ [data-grid="tete"],[data-grid="plan"],[data-grid="billet"],[data-grid="lettre"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:820px){ [data-grid="venir"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:860px){ [data-grid="tete"]{ grid-template-columns:minmax(0,1fr) !important; } [data-facade]{ width:100% !important; height:auto !important; } }

[data-link-dark]{ color:#F4F0E6; font-weight:600; }

[data-link-dark]:hover{ color:#FFFFFF; }

[data-link-onred]{ color:#FFFFFF; text-decoration:none; transition:color 180ms cubic-bezier(0.4,0,0.2,1); }

[data-link-onred]:hover{ color:#14100E; }

[data-site]{ transition:color 180ms cubic-bezier(0.4,0,0.2,1), border-color 180ms cubic-bezier(0.4,0,0.2,1); }

[data-site]:hover{ color:#111111 !important; }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-mask { from { clip-path:inset(0 0 100% 0); transform:translateY(24px); } to { clip-path:inset(0 0 0 0); transform:none; } }
    @keyframes tlm-fade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
    @keyframes tlm-reveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
    @keyframes tlm-wipe { from { transform:scaleX(0); } to { transform:scaleX(1); } }
    @keyframes tlm-cache { 0% { transform:none; } 100% { transform:translateY(101%); } }
    @keyframes tlm-trait { 0% { transform:none; opacity:1; } 88% { opacity:1; } 100% { transform:translateY(calc(100% + 0px)) translateY(var(--h, 600px)); opacity:0; } }
    [data-cache]{ animation:tlm-cache 1000ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:180ms; }
    [data-trait]{ animation:tlm-cache 1000ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:180ms; }
    @keyframes tlm-fade-out { from { opacity:1; } to { opacity:0; } }
    [data-hero-title]{ animation:tlm-mask 900ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:760ms; }
    [data-hero-sub]{ animation:tlm-fade 760ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:1000ms; }
    @keyframes tlm-filet { from { transform:scaleX(0); } to { transform:scaleX(1); } }
    @keyframes tlm-duree { 0%{ transform:scaleX(0.14); } 50%{ transform:scaleX(1); } 100%{ transform:scaleX(0.14); } }
    [data-filet]{ transform-origin:left center; animation:tlm-duree 5200ms cubic-bezier(0.4,0,0.2,1) infinite; }
    [data-fiche]:nth-child(2) [data-filet]{ animation-delay:340ms; }
    [data-fiche]:nth-child(3) [data-filet]{ animation-delay:680ms; }
    [data-fiche]:nth-child(4) [data-filet]{ animation-delay:1020ms; }
    [data-fiche]:nth-child(5) [data-filet]{ animation-delay:1360ms; }
    [data-fiche]:nth-child(6) [data-filet]{ animation-delay:1700ms; }
    [data-reveal]{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 4% entry 30%; }
    [data-reveal-stagger] > *{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); }
    [data-reveal-stagger] > *:nth-child(1){ animation-range:entry 2% entry 22%; }
    [data-reveal-stagger] > *:nth-child(2){ animation-range:entry 7% entry 27%; }
    [data-reveal-stagger] > *:nth-child(3){ animation-range:entry 12% entry 32%; }
    [data-reveal-stagger] > *:nth-child(4){ animation-range:entry 17% entry 37%; }
    [data-reveal-stagger] > *:nth-child(5){ animation-range:entry 22% entry 42%; }
    [data-reveal-stagger] > *:nth-child(6){ animation-range:entry 27% entry 47%; }
    [data-reveal-stagger] > *:nth-child(n+7){ animation-range:entry 32% entry 52%; }
    [data-rule]{ transform-origin:left center; animation:tlm-wipe both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 6% entry 34%; }
  }

[data-perche]{ display:block; width:2px; margin:0 auto; height:34%; }

@media (max-width:1040px){ [data-grid="assos"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:640px){ [data-grid="assos"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:1040px){ [data-grid="equipe"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:640px){ [data-grid="equipe"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (prefers-reduced-motion:no-preference){
  }

@media (prefers-reduced-motion:reduce){ [data-orga]{ display:none; } }

[data-vue]{ position:relative; overflow:hidden; transition:transform 260ms cubic-bezier(0.4,0,0.2,1), filter 260ms cubic-bezier(0.4,0,0.2,1); }

[data-vue]:hover{ transform:scale(1.02); filter:brightness(1.06); }

@media (max-width:760px){ [data-grid="galerie"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:760px){ [data-grid="espaces"],[data-grid="horaires"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-rideau { from{ transform:translateY(0); } to{ transform:translateY(-101%); } }
    [data-rideau]{ animation:tlm-rideau 1400ms cubic-bezier(0.4,0,0.2,1) 300ms both; }
  }

@media (prefers-reduced-motion:reduce){ [data-rideau]{ display:none; } }

@media (max-width:620px){
    section[style*="440px"]{ height:52vh !important; }
    section[style*="360px"]{ height:40vh !important; }
    [data-hero-title]{ font-size:32px !important; line-height:1.26 !important; }
    [data-hero-sub]{ font-size:16px !important; line-height:1.55 !important; }
    h1{ font-size:32px !important; line-height:1.26 !important; }
    h2{ font-size:24px !important; line-height:1.22 !important; }
    h3{ font-size:19px !important; line-height:1.2 !important; }
    [data-btn],[data-btn-solid],[data-btn-outline],[data-btn-light],[data-btn-resa],[data-chip]{ font-size:10px !important; letter-spacing:0.12em !important; padding:14px 20px !important; }
  }

[data-bulle]{ position:absolute; bottom:-18px; border-radius:999px; background:#E5251E; box-shadow:0 0 0 3px rgba(229,37,30,0.18); }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-cache { 0% { transform:none; } 100% { transform:translateY(101%); } }
    @keyframes tlm-mask { from { clip-path:inset(0 0 100% 0); transform:translateY(24px); } to { clip-path:inset(0 0 0 0); transform:none; } }
    @keyframes tlm-fade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
    @keyframes tlm-reveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
    @keyframes tlm-bulle { 0% { transform:translateY(0) scale(0.7); opacity:0; } 14% { opacity:0.95; } 82% { opacity:0.6; } 100% { transform:translateY(-620px) scale(1.1); opacity:0; } }
    [data-cache], [data-trait]{ animation:tlm-cache 1000ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:180ms; }
    [data-hero-title]{ animation:tlm-mask 900ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:760ms; }
    [data-hero-sub]{ animation:tlm-fade 760ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:1000ms; }
    [data-reveal]{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 4% entry 30%; }
    [data-bulle]{ animation-name:tlm-bulle; animation-timing-function:cubic-bezier(0.4,0,0.2,1); animation-iteration-count:infinite; }
  }

@media (prefers-reduced-motion:reduce){ [data-bulle]{ display:none; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-bulle { 0%{ transform:translateY(0) translateX(0); opacity:0; } 10%{ opacity:0.4; } 85%{ opacity:0.4; } 100%{ transform:translateY(-560px) translateX(14px); opacity:0; } }
    [data-bulle]{ display:block; position:absolute; bottom:-24px; border-radius:999px; border:1px solid rgba(244,240,230,0.42); animation-name:tlm-bulle; animation-timing-function:linear; animation-iteration-count:infinite; }
  }

html,body{ margin:0; padding:0; background:#FAF7F0; color:#2A2A2C;
    font-family:"Work Sans","Helvetica Neue",system-ui,sans-serif; font-size:15px; line-height:1.6;
    font-variant-numeric:tabular-nums; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

sup{ font-size:0.62em; line-height:0; vertical-align:super; }

@media (max-width:1080px){ [data-grid="foot"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:560px){ [data-grid="foot"]{ grid-template-columns:minmax(0,1fr) !important; } }

[data-perfo]{ background:repeating-linear-gradient(90deg, rgba(17,17,17,0.3) 0 10px, transparent 10px 24px); }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-mask { from { clip-path:inset(0 0 100% 0); transform:translateY(24px); } to { clip-path:inset(0 0 0 0); transform:none; } }
    @keyframes tlm-fade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
    @keyframes tlm-reveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
    [data-hero-title]{ animation:tlm-mask 900ms cubic-bezier(0.4,0,0.2,1) both; }
    [data-hero-sub]{ animation:tlm-fade 760ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:340ms; }
    [data-reveal]{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 4% entry 30%; }
    [data-reveal-stagger] > *{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); }
    [data-reveal-stagger] > *:nth-child(1){ animation-range:entry 2% entry 22%; }
    [data-reveal-stagger] > *:nth-child(2){ animation-range:entry 8% entry 28%; }
    [data-reveal-stagger] > *:nth-child(3){ animation-range:entry 14% entry 34%; }
  }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-souche {
      0%, 38%{ transform:none; opacity:1; }
      42%{ transform:rotate(3deg); opacity:1; }
      46%{ transform:rotate(-2deg); opacity:1; }
      54%{ transform:translate(14px,2px) rotate(8deg); opacity:1; }
      72%{ transform:translate(52px,34px) rotate(18deg); opacity:1; }
      84%{ transform:translate(78px,70px) rotate(24deg); opacity:0; }
      85%, 92%{ transform:none; opacity:0; }
      100%{ transform:none; opacity:1; }
    }
    [data-souche]{ animation:tlm-souche 8s cubic-bezier(0.4,0,0.2,1) infinite; transform-origin:left bottom; }
  }

@media (max-width:720px){
    [data-grid="def"]{ grid-template-columns:minmax(0,1fr) !important; }
    [data-grid="def"] dt{ padding-bottom:2px !important; padding-right:0 !important; }
    [data-grid="def"] dd{ padding-top:0 !important; border-top:none !important; }
  }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-mask { from { clip-path:inset(0 0 100% 0); transform:translateY(24px); } to { clip-path:inset(0 0 0 0); transform:none; } }
    @keyframes tlm-fade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
    @keyframes tlm-reveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
    @keyframes tlm-wipe { from { transform:scaleX(0); } to { transform:scaleX(1); } }
    @keyframes tlm-cache { 0% { transform:none; } 100% { transform:translateY(101%); } }
    @keyframes tlm-trait { 0% { transform:none; opacity:1; } 88% { opacity:1; } 100% { transform:translateY(calc(100% + 0px)) translateY(var(--h, 600px)); opacity:0; } }
    [data-cache]{ animation:tlm-cache 1000ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:180ms; }
    [data-trait]{ animation:tlm-cache 1000ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:180ms; }
    @keyframes tlm-fade-out { from { opacity:1; } to { opacity:0; } }
    [data-hero-title]{ animation:tlm-mask 900ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:760ms; }
    [data-hero-sub]{ animation:tlm-fade 760ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:1000ms; }
    [data-reveal]{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 4% entry 30%; }
    [data-reveal-stagger] > *{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); }
    [data-reveal-stagger] > *:nth-child(1){ animation-range:entry 2% entry 22%; }
    [data-reveal-stagger] > *:nth-child(2){ animation-range:entry 7% entry 27%; }
    [data-reveal-stagger] > *:nth-child(3){ animation-range:entry 12% entry 32%; }
    [data-reveal-stagger] > *:nth-child(4){ animation-range:entry 17% entry 37%; }
    [data-reveal-stagger] > *:nth-child(5){ animation-range:entry 22% entry 42%; }
    [data-reveal-stagger] > *:nth-child(6){ animation-range:entry 27% entry 47%; }
    [data-reveal-stagger] > *:nth-child(n+7){ animation-range:entry 32% entry 52%; }
    [data-rule]{ transform-origin:left center; animation:tlm-wipe both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 6% entry 34%; }
  }

@media (max-width:760px){ [data-grid="stages"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-temps { 0%, 6% { color:rgba(17,17,17,0.16); } 14%, 28% { color:#E5251E; } 36%, 100% { color:rgba(17,17,17,0.16); } }
    [data-temps-m]{ animation:tlm-temps 6600ms cubic-bezier(0.4,0,0.2,1) infinite; }
    [data-temps-m="1"]{ animation-delay:0ms; }
    [data-temps-m="2"]{ animation-delay:2200ms; }
    [data-temps-m="3"]{ animation-delay:4400ms; }
  }

input::placeholder{ color:#111111; opacity:1; }

[data-link-onred]:hover{ color:#14100E !important; }

@media (max-width:720px){ [data-grid="horaires"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-mask { from { clip-path:inset(0 0 100% 0); transform:translateY(24px); } to { clip-path:inset(0 0 0 0); transform:none; } }
    @keyframes tlm-fade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
    @keyframes tlm-reveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
    [data-hero-title]{ animation:tlm-mask 900ms cubic-bezier(0.4,0,0.2,1) both; }
    [data-hero-sub]{ animation:tlm-fade 760ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:340ms; }
    [data-reveal]{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 4% entry 30%; }
    [data-reveal-stagger] > *{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); }
    [data-reveal-stagger] > *:nth-child(1){ animation-range:entry 2% entry 22%; }
    [data-reveal-stagger] > *:nth-child(2){ animation-range:entry 8% entry 28%; }
    [data-reveal-stagger] > *:nth-child(3){ animation-range:entry 14% entry 34%; }
    @keyframes tlm-marche { 0%{ left:0; } 46%{ left:calc(100% - 10px); } 50%{ left:calc(100% - 10px); } 96%{ left:0; } 100%{ left:0; } }
    [data-marcheur]{ animation:tlm-marche 9s cubic-bezier(0.45,0.05,0.55,0.95) infinite; }
  }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-mask { from { clip-path:inset(0 0 100% 0); transform:translateY(24px); } to { clip-path:inset(0 0 0 0); transform:none; } }
    @keyframes tlm-fade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
    @keyframes tlm-reveal { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
    @keyframes tlm-grandir { 0% { transform:scaleY(0.18); } 55% { transform:scaleY(1); } 100% { transform:scaleY(0.18); } }
    [data-hero-title]{ animation:tlm-mask 900ms cubic-bezier(0.4,0,0.2,1) both; }
    [data-hero-sub]{ animation:tlm-fade 760ms cubic-bezier(0.4,0,0.2,1) both; animation-delay:340ms; }
    [data-reveal]{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); animation-range:entry 4% entry 30%; }
    [data-reveal-stagger] > *{ animation:tlm-reveal both cubic-bezier(0.4,0,0.2,1); animation-timeline:view(); }
    [data-reveal-stagger] > *:nth-child(1){ animation-range:entry 2% entry 22%; }
    [data-reveal-stagger] > *:nth-child(2){ animation-range:entry 8% entry 28%; }
    [data-reveal-stagger] > *:nth-child(3){ animation-range:entry 14% entry 34%; }
    [data-grandir] span{ transform-origin:bottom center; animation:tlm-grandir 5400ms cubic-bezier(0.4,0,0.2,1) infinite; }
    [data-grandir] span:nth-child(2){ animation-delay:220ms; }
    [data-grandir] span:nth-child(3){ animation-delay:440ms; }
    [data-grandir] span:nth-child(4){ animation-delay:660ms; }
    [data-grandir] span:nth-child(5){ animation-delay:880ms; }
    [data-grandir] span:nth-child(6){ animation-delay:1100ms; }
    [data-grandir] span:nth-child(7){ animation-delay:1320ms; }
    [data-grandir] span:nth-child(8){ animation-delay:1540ms; }
  }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-rassemble { 0%, 100% { padding-left:0; padding-right:0; } 46%, 62% { padding-left:38%; padding-right:38%; } }
    [data-rassemble]{ animation:tlm-rassemble 7000ms cubic-bezier(0.4,0,0.2,1) infinite; }
  }

@media (prefers-reduced-motion:reduce){ [data-rassemble]{ display:none; } }

[data-coeur]{ display:inline-block; position:relative; width:0.34em; height:0.34em; margin-left:0.22em; background:#E5251E; transform:rotate(-45deg); vertical-align:0.34em; }

[data-coeur]::before, [data-coeur]::after{ content:''; position:absolute; width:100%; height:100%; border-radius:999px; background:#E5251E; }

[data-coeur]::before{ top:-50%; left:0; }

[data-coeur]::after{ top:0; right:-50%; }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-coeur { 0%, 62%, 100% { transform:rotate(-45deg) scale(1); } 70% { transform:rotate(-45deg) scale(1.04); } 78% { transform:rotate(-45deg) scale(1); } 86% { transform:rotate(-45deg) scale(1.03); } }
    [data-coeur]{ animation:tlm-coeur 4200ms cubic-bezier(0.4,0,0.2,1) infinite; }
  }

[data-mail] summary::-webkit-details-marker{ display:none; }

[data-mail] summary::marker{ content:''; }

[data-mail] summary{ transition:color 180ms cubic-bezier(0.4,0,0.2,1); }

[data-mail] summary:hover{ color:#E5251E; }

[data-mail][open] summary{ display:none; }

@media (max-width:900px){ [data-grid="interm"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:560px){ [data-grid="interm"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (prefers-reduced-motion:reduce){ [data-trombi] [data-case]{ animation:none !important; } }

aside a[data-btn]:hover{ text-decoration:none; }



[data-site]{ display:inline-block; transition:color 180ms cubic-bezier(0.4,0,0.2,1); }

@media (max-width:900px){ [data-grid="fiche"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-coup { 0%{ transform:scaleY(0.5); background:rgba(17,17,17,0.22); } 4%{ transform:scaleY(1.24); background:#E5251E; } 11%{ transform:scaleY(1); background:#E5251E; } 26%,100%{ transform:scaleY(0.5); background:rgba(17,17,17,0.22); } }
    [data-coup] span{ animation:tlm-coup 4.4s cubic-bezier(0.2,0,0.2,1) infinite; transform-origin:bottom; }
    [data-coup] span:nth-child(2){ animation-delay:0.26s; }
    [data-coup] span:nth-child(3){ animation-delay:0.52s; }
  }

@media (max-width:620px){
    h1{ font-size:32px !important; line-height:1.28 !important; }
    h2{ font-size:24px !important; line-height:1.22 !important; }
    [data-distrib] dt{ font-size:10px !important; }
    [data-distrib] dd{ font-size:14.5px !important; }
    [data-btn],[data-btn-solid],[data-btn-outline],[data-btn-light],[data-btn-resa],[data-chip]{ font-size:9.5px !important; letter-spacing:0.12em !important; padding:12px 16px !important; }
  }

@media (max-width:620px){
    figcaption{ font-size:11px !important; }
    [data-site]{ font-size:11px !important; }
    [data-hero-title]{ font-size:30px !important; }
    section[style*="440px"]{ height:52vh !important; }
    section[style*="360px"]{ height:40vh !important; }
    [data-hero-title]{ font-size:32px !important; line-height:1.26 !important; }
    [data-hero-sub]{ font-size:16px !important; line-height:1.55 !important; }
    h1{ font-size:32px !important; line-height:1.26 !important; }
    h3{ font-size:19px !important; line-height:1.2 !important; }
    [data-btn],[data-btn-solid],[data-btn-outline],[data-btn-light],[data-btn-resa],[data-chip]{ font-size:10px !important; letter-spacing:0.12em !important; padding:14px 20px !important; }
  }

@media (max-width:1000px){ [data-resa]{ font-size:9px !important; letter-spacing:0.08em !important; } }

::selection{ background:#6B0F0A; color:#FFFFFF; }









[data-plan]{ transition:color 200ms cubic-bezier(0.4,0,0.2,1), border-top-color 200ms cubic-bezier(0.4,0,0.2,1), padding-left 200ms cubic-bezier(0.4,0,0.2,1); }

[data-plan]:hover{ color:#E5251E !important; border-top-color:#E5251E; padding-left:12px; }

[data-plan-arrow]{ transition:opacity 200ms cubic-bezier(0.4,0,0.2,1), transform 200ms cubic-bezier(0.4,0,0.2,1); }

[data-plan]:hover [data-plan-arrow]{ opacity:1; transform:translateX(0); }

@media (max-width:900px){ [data-grid="tech"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (max-width:620px){
    figcaption{ font-size:11px !important; }
    [data-site]{ font-size:11px !important; }
    [data-hero-title]{ font-size:30px !important; }
    [data-tech-img]{ display:none !important; }
    section[style*="440px"]{ height:52vh !important; }
    section[style*="360px"]{ height:40vh !important; }
    [data-hero-title]{ font-size:32px !important; line-height:1.26 !important; }
    [data-hero-sub]{ font-size:16px !important; line-height:1.55 !important; }
    h1{ font-size:32px !important; line-height:1.26 !important; }
    h3{ font-size:19px !important; line-height:1.2 !important; }
    [data-btn],[data-btn-solid],[data-btn-outline],[data-btn-light],[data-btn-resa],[data-chip]{ font-size:10px !important; letter-spacing:0.12em !important; padding:14px 20px !important; }
  }

[data-asso]{ transition:border-color 200ms cubic-bezier(0.4,0,0.2,1); }

[data-asso]:hover{ border-top-color:#111111 !important; }

[data-asso]:hover span:first-child{ color:#111111; }

@media (max-width:900px){ [data-grid="assos-projet"]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

@media (max-width:560px){ [data-grid="assos-projet"]{ grid-template-columns:minmax(0,1fr) !important; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-rail { 0% { transform:scaleY(0); } 55%, 92% { transform:scaleY(1); } 100% { transform:scaleY(0); } }
    [data-rail]{ animation:tlm-rail 7000ms cubic-bezier(0.4,0,0.2,1) infinite; }
  }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-perche { 0%, 100% { height:34%; } 50% { height:100%; } }
    [data-cintres] [data-perche]{ animation:tlm-perche 5200ms cubic-bezier(0.4,0,0.2,1) infinite; }
  }

[data-show]{ transition:background 200ms cubic-bezier(0.4,0,0.2,1), border-top-color 200ms cubic-bezier(0.4,0,0.2,1), padding-left 200ms cubic-bezier(0.4,0,0.2,1); }

[data-show]:hover{ background:#F2EDE1; border-top-color:#E5251E; padding-left:14px; padding-right:14px; color:#111111; }

[data-show] [data-thumb]{ transition:transform 300ms cubic-bezier(0.4,0,0.2,1); }

[data-cta]{ color:#E5251E; border:1px solid #E5251E; }

[data-show]:hover [data-cta]{ background:#E5251E; color:#FDFBF6; border-color:#E5251E; }

[data-cta]{ transition:background 180ms cubic-bezier(0.4,0,0.2,1), color 180ms cubic-bezier(0.4,0,0.2,1); }

@media (max-width:1120px){ [data-show]{ grid-template-columns:minmax(0,100px) minmax(0,166px) minmax(200px,1fr) minmax(0,auto) minmax(0,auto) !important; } [data-show] [data-cta]{ display:none !important; } }

@media (max-width:860px){ [data-show]{ grid-template-columns:minmax(0,84px) minmax(160px,1fr) minmax(0,auto) !important; } [data-show] [data-thumb]{ display:none !important; } }

@media (prefers-reduced-motion:no-preference){
    @keyframes tlm-spot { 0%{ background-position:165% 0; } 100%{ background-position:-65% 0; } }
    [data-spot]{ animation:tlm-spot 7s cubic-bezier(0.45,0,0.55,1) infinite alternate; }
  }

@media (max-width:620px){
    [data-spot]{ font-size:32px !important; line-height:1.34 !important; padding-bottom:0.12em; }
    [data-hero-grid]{ grid-template-columns:minmax(0,1fr) !important; }
    [data-btn],[data-btn-solid],[data-btn-outline],[data-btn-light],[data-chip]{ font-size:10px !important; letter-spacing:0.12em !important; padding:14px 18px !important; }
    [data-pastilles]{ display:none !important; }
    [data-show]{ grid-template-columns:minmax(0,64px) minmax(0,1fr) !important; gap:4px 14px !important; align-items:start !important; }
    [data-show] [data-thumb]{ display:none !important; }
    [data-titre-spectacle]{ font-size:18px !important; }
    [data-heure]{ text-align:left !important; padding-right:0 !important; grid-column:2 !important; }
    [data-cta]{ grid-column:2 !important; justify-self:start; padding:12px 18px !important; }
    [data-mois]{ font-size:22px !important; }
  }


/* ==== Règles propres au thème ==== */

[data-nav-desk]{ display:flex; align-items:center; flex:1 1 auto; justify-content:flex-end; flex-wrap:nowrap; white-space:nowrap; gap:0 clamp(16px,1.8vw,27px); font:700 14px/1 'Work Sans',sans-serif; letter-spacing:0.16em; text-transform:uppercase; color:#111111; }
[data-burger]{ display:none; }
@media (max-width:1120px){
  [data-nav-desk]{ display:none; }
  [data-burger]{ display:flex; }
}

.tlm-sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.tlm-skip{ position:absolute; left:-9999px; top:0; z-index:999; background:#111111; color:#FFFFFF; padding:12px 20px; font:700 12px/1 'Work Sans',sans-serif; letter-spacing:0.14em; text-transform:uppercase; }
.tlm-skip:focus{ left:0; }

[data-corps] p{ margin:0 0 clamp(15px,1.5vw,20px); font-size:16px; line-height:1.8; color:#2A2A2C; }
[data-corps] h2{ margin:clamp(34px,4vw,56px) 0 clamp(14px,1.6vw,22px); font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:0.03em; font-size:clamp(28px,3.3vw,50px); line-height:1.14; color:#111111; }
[data-corps] h3{ margin:clamp(24px,2.8vw,38px) 0 clamp(10px,1.2vw,16px); font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:0.03em; font-size:clamp(20px,2.1vw,27px); line-height:1.2; color:#111111; }
[data-corps] a{ color:#111111; border-bottom:1px solid rgba(17,17,17,0.35); }
[data-corps] a:hover{ color:#E5251E; border-bottom-color:#E5251E; }
[data-corps] img{ max-width:100%; height:auto; display:block; }
[data-corps] ul{ margin:0 0 clamp(15px,1.5vw,20px); padding-left:1.1em; }
[data-corps] li{ font-size:16px; line-height:1.8; color:#2A2A2C; }

[data-propos]{ display:block; }
[data-propos] p{ margin:0 0 clamp(15px,1.5vw,20px); font-size:16px; line-height:1.8; color:#2A2A2C; max-width:none; text-wrap:pretty; }
[data-propos] p:last-child{ margin-bottom:0; }
[data-propos] p:empty{ display:none; }
[data-propos] br{ display:none; }
[data-propos] a{ color:#111111; border-bottom:1px solid rgba(17,17,17,0.35); }
[data-propos] a:hover{ color:#E5251E; border-bottom-color:#E5251E; }

@media (max-width:1000px){
  [data-show]{ grid-template-columns:minmax(0,100px) minmax(0,166px) minmax(200px,1fr) minmax(0,auto) minmax(0,auto) !important; }
  [data-show] [data-fleche]{ display:none !important; }
}
@media (max-width:720px){
  [data-show]{ grid-template-columns:minmax(0,84px) minmax(160px,1fr) minmax(0,auto) !important; }
  [data-show] [data-thumb]{ display:none !important; }
  [data-show] [data-pastilles]{ display:none !important; }
}
@media (max-width:900px){
  [data-grid="fiche"]{ grid-template-columns:minmax(0,1fr) !important; }
  [data-grid="fiche"] aside{ position:static !important; }
  [data-distrib]{ grid-template-columns:minmax(0,1fr) !important; }
}


/* ==== Derniers correctifs de survol ==== */
a[data-link-onred]:hover, a[data-link-onred]:focus{ color:#14100E !important; }
a[data-social]:hover, a[data-social]:focus{ color:#E5251E !important; }


/* ==== Boutons : définition unique, en fin de feuille ==== */
[data-btn-solid],[data-btn-outline],[data-btn-light],[data-btn-resa],[data-chip]{
  transition:background 200ms cubic-bezier(0.4,0,0.2,1), color 200ms cubic-bezier(0.4,0,0.2,1), border-color 200ms cubic-bezier(0.4,0,0.2,1);
}
[data-btn-solid]{ background:#E5251E; color:#FFFFFF; border:1px solid #E5251E; }
[data-btn-solid]:hover, [data-btn-solid]:focus{ background:#B81C16 !important; border-color:#B81C16 !important; color:#FFFFFF !important; }

[data-btn-outline]{ color:#111111; border:1px solid #111111; background:transparent; }
[data-btn-outline]:hover, [data-btn-outline]:focus{ background:#E5251E !important; border-color:#E5251E !important; color:#FFFFFF !important; }

[data-btn-light]{ color:#F4F0E6; border:1px solid rgba(244,240,230,0.7); background:transparent; }
[data-btn-light]:hover, [data-btn-light]:focus{ background:#E5251E !important; border-color:#E5251E !important; color:#FFFFFF !important; }

[data-btn-resa]{ color:#FFFFFF; }
[data-btn-resa]:hover, [data-btn-resa]:focus{ background:#B81C16 !important; border-color:#B81C16 !important; color:#FFFFFF !important; }

[data-chip]:hover, [data-chip]:focus{ background:#E5251E !important; border-color:#E5251E !important; color:#FFFFFF !important; }

a[data-link-onred]:hover, a[data-link-onred]:focus{ color:#14100E !important; }
a[data-social]:hover, a[data-social]:focus{ color:#E5251E !important; }

[data-link-menta]{ color:inherit; border-bottom:1px solid rgba(17,17,17,0.35); }
[data-link-menta]:hover{ color:#E5251E !important; border-bottom-color:#E5251E; }


/* ==== Survols : rouge TLM partout, définition finale ==== */
a:not([data-btn]):not([data-show]):not([data-row]):not([data-link-onred]):hover{ color:#E5251E; }
[data-nav]:hover{ border-bottom:2px solid #E5251E !important; }
[data-link]:hover, [data-link-strong]:hover, [data-theme-link]:hover, [data-big]:hover, [data-plan]:hover, [data-link-menta]:hover{ color:#E5251E !important; }
[data-sub]:hover{ background:#F2EDE1; color:#E5251E !important; }
[data-row]:hover, [data-row]:hover [data-rowtitle]{ color:#E5251E !important; }
[data-row]:hover{ border-top-color:#E5251E; background:#F2EDE1; }
[data-show]:hover{ background:#F2EDE1; border-top-color:#E5251E; color:#111111; }
[data-site]:hover{ color:#E5251E !important; }


/* ==== Concept TLM : les trois lettres s'allument à tour de rôle ==== */
@media (prefers-reduced-motion:no-preference){
  @keyframes tlm-lettre { 0%, 26% { color:#E5251E; } 34%, 100% { color:rgba(229,37,30,0.26); } }
  [data-tlm]{ animation:tlm-lettre 6600ms linear infinite; }
  [data-tlm="l"]{ animation-delay:2200ms; }
  [data-tlm="m"]{ animation-delay:4400ms; }
}


/* ==== Visuel du spectacle : sous le module en bureau, en bas en mobile ==== */
[data-visuel-bas]{ display:none; }
[data-visuel="bureau"]{ display:block; }
@media (max-width:900px){
  [data-visuel="bureau"]{ display:none; }
  [data-visuel-bas]{ display:block; }
}

[data-link-legal]{ transition:color 180ms cubic-bezier(0.4,0,0.2,1); }
[data-link-legal]:hover, [data-link-legal]:focus{ color:#E5251E !important; }


/* ==== Page contact : la carte passe après les transports sur mobile ==== */
@media (max-width:900px){
  [data-grid="plan"]{ display:flex !important; flex-direction:column; }
  [data-grid="plan"] > [data-plan-carte]{ order:2; }
  [data-grid="plan"] > [data-plan-infos]{ order:1; }
  [data-plan-carte]{ min-height:0 !important; }
  [data-plan-carte] iframe{ height:300px !important; }
}

@media (max-width:720px){ [data-hero-pastilles]{ display:none !important; } }

@media (max-width:720px){
  [data-slide-eyebrow]{ position:absolute; top:clamp(16px,4vw,26px); left:clamp(20px,4vw,56px); margin:0 !important; z-index:4; }
  [data-slide] > div:last-child{ display:flex; flex-direction:column; }
  [data-slide-title]{ order:1; margin:0 0 8px !important; }
  [data-slide-meta]{ order:2; margin:0 0 10px !important; }
  [data-slide-company]{ order:3; }
  [data-slide] > div:last-child > span{ order:4; }
}

@media (max-width:720px){
  aside h2, [data-distrib] ~ h2, section > h2[style*="14px"]{ font-size:13px !important; letter-spacing:0.16em !important; line-height:1.4 !important; }
}

@media (max-width:900px){
  [data-grid="fiche"] > div{ width:100% !important; }
  [data-grid="fiche"] aside{ width:100% !important; box-sizing:border-box; }
}

h2[data-label]{ font-size:14px !important; letter-spacing:0.18em !important; line-height:1.4 !important; }
@media (max-width:720px){ h2[data-label]{ font-size:13px !important; } }

@media (max-width:900px){
  [data-grid="fiche"]{ display:flex !important; flex-direction:column; }
  [data-col-texte]{ order:1; }
  [data-col-resa]{ order:2; }
  [data-col-distrib]{ order:3; }
}
