/* Oregon Productions — feuille de style */
:root {
  /* Charte Oregon Live (janvier 2026) */
  --bleu: #273571;       /* couleur principale */
  --bleu-2: #354F9E;
  --orange: #DA5F3E;     /* accents, CTA */
  --dore: #EAA93D;       /* accents */
  --mauve: #785365;
  --vert: #A7BCB7;       /* fonds, respiration */
  /* Charte The Circle (janvier 2026) */
  --c-brun: #655544;
  --c-sable: #A89371;
  --c-creme: #FCF4CC;
  --c-noir: #2E2E2E;
  --c-or: #EAA93D;

  --ink: var(--bleu);
  --ink-2: var(--bleu-2);
  --paper: #ffffff;
  --accent: var(--orange);
  --accent-ink: #ffffff;
  --muted: #b8c0de;
  --line: rgba(255, 255, 255, .2);
  --rail: 92px;
  --display: "League Spartan", "Arial", sans-serif;
  --sans: "Questrial", system-ui, -apple-system, sans-serif;
  --serif: "Playfair Display", Georgia, serif;     /* proche de Maharlika */
  --c-sans: "Outfit", system-ui, sans-serif;       /* proche de Madani Arabic */
  --script: "Pinyon Script", cursive;              /* proche de Sloop Script Pro */
  --gutter: clamp(16px, 4vw, 56px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
/* Transitions entre les pages : un rideau (bleu, liseré orange) se relève à l'arrivée et monte au départ */
body::after { content: ""; position: fixed; inset: 0; z-index: 200; pointer-events: none;
  background: linear-gradient(var(--accent) 0 5px, var(--ink) 5px calc(100% - 5px), var(--accent) calc(100% - 5px));
  transform: translateY(0); animation: rideauLeve .7s cubic-bezier(.7,0,.2,1) .05s forwards; }
html:not(.sans-intro) body::after, html.intro-vue body::after { animation: none; transform: translateY(-101%); }
html.page-sortie body::after { animation: rideauCouvre .42s cubic-bezier(.7,0,.3,1) forwards; }
@keyframes rideauLeve { to { transform: translateY(-101%); } }
@keyframes rideauCouvre { from { transform: translateY(101%); } to { transform: translateY(0); } }
.page-sortie main, .page-sortie .page { transition: transform .42s cubic-bezier(.7,0,.3,1), opacity .42s; transform: translateY(-40px); opacity: .4; }
body { margin: 0; background: var(--ink); color: var(--paper); font: 400 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.menu-ouvert { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.sr, .hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--accent); color: #fff; padding: 8px 14px; }
.skip:focus { left: 8px; }

main, .foot { margin-left: var(--rail); }
.wrap { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: clamp(72px, 10vw, 140px) 0; position: relative; }
.title { font: 800 clamp(52px, 8.4vw, 124px)/.92 var(--display); text-transform: uppercase; letter-spacing: -.02em; margin: 0; }
.kicker { font: 700 13px/1 var(--display); letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin: 0 0 18px; }
.lead { font-size: clamp(17px, 1.6vw, 20px); color: #dfe3f2; max-width: 520px; margin: 0; }
.head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 48px; margin-bottom: clamp(36px, 5vw, 64px); }

/* Boutons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 26px; border-radius: 999px; font: 700 15px/1 var(--display); letter-spacing: .06em; padding-top: 3px; text-transform: uppercase; text-decoration: none; border: 2px solid transparent; transition: background .2s, color .2s, border-color .2s, transform .2s; white-space: nowrap; }
.btn:hover { transform: translateY(-2px); }
.btn[hidden], .chips[hidden] { display: none; }
.btn-accent { background: var(--accent); color: var(--accent-ink); }
.btn-accent:hover { background: #fff; color: var(--ink); }
.btn-ghost { border-color: #fff; color: #fff; }
.btn-ghost:hover { background: #fff; color: var(--ink); }
.btn-line { border-color: currentColor; }
.btn-line:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn-dark { background: var(--ink); color: var(--paper); }
.btn-dark:hover { background: var(--accent); }
.btn-complet { background: transparent; border-color: var(--line); color: var(--muted); cursor: default; }
.btn-complet:hover { transform: none; }
.btn-sm { min-height: 40px; padding: 0 18px; font-size: 13px; }

/* Barre latérale */
.rail { position: fixed; z-index: 50; left: 0; top: 0; bottom: 0; width: var(--rail); background: var(--ink); border-right: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; padding: 22px 0; gap: 26px; }
.rail-logo { display: flex; align-items: center; justify-content: center; width: 70px; height: 150px; margin-top: 6px; }  /* flex : le logo (plus large que le lien avant rotation) reste centré sur la barre */
.rail-logo img { width: 150px; max-width: none; transform: rotate(-90deg); }
.burger { width: 48px; height: 48px; display: grid; place-content: center; gap: 6px; border-radius: 50%; background: var(--accent); }
.burger span { display: block; width: 20px; height: 2px; background: #fff; transition: transform .25s, opacity .25s; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.rail-cta { writing-mode: vertical-rl; transform: rotate(180deg); font: 800 18px/1 var(--display); letter-spacing: .2em; text-transform: uppercase; text-decoration: none; color: var(--paper); padding: 10px 0; }
.rail-cta:hover { color: var(--accent); }
.rail-social { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
.rail-social a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); }
.rail-social a:hover { background: var(--accent); border-color: var(--accent); }
.rail-social svg { width: 17px; height: 17px; fill: currentColor; }

/* Menu plein écran */
.menu { position: fixed; z-index: 40; inset: 0 0 0 var(--rail); background: var(--accent); color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 40px var(--gutter); animation: entree .35s ease; }
.menu[hidden] { display: none; }
.menu.fermeture { animation: sortieMenu .28s ease forwards; }
@keyframes sortieMenu { to { opacity: 0; transform: translateY(-12px); } }
.menu nav { display: flex; flex-direction: column; }
.menu nav a { font: 800 clamp(40px, 7.4vw, 96px)/1.05 var(--display); text-transform: uppercase; text-decoration: none; display: flex; align-items: baseline; gap: 18px; transition: color .2s, padding .2s; }
.menu nav a span { font: 600 15px/1 var(--display); opacity: .7; }
.menu nav a:hover { color: var(--ink); padding-left: 12px; }
.menu-foot { margin-top: 40px; font-weight: 600; }
@keyframes entree { from { opacity: 0; transform: translateY(-12px); } }

/* Hero */
.hero { position: relative; height: 100vh; height: 100svh; min-height: 620px; overflow: hidden; background: var(--ink); }
.slide { position: absolute; inset: 0; display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 4vw; padding: 80px var(--gutter) 110px; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; }
.slide::before { content: ""; position: absolute; inset: -40px; background: var(--fond) center/cover; filter: blur(28px) saturate(1.2) brightness(.45); transform: scale(1.1); z-index: 0; }
.slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(39,53,113,.92) 0%, rgba(39,53,113,.55) 55%, rgba(39,53,113,.2) 100%); z-index: 0; }
.slide.actif { opacity: 1; visibility: visible; }
.slide > * { position: relative; z-index: 1; }
.slide-date { display: inline-flex; flex-wrap: wrap; margin: 0 0 22px; font: 700 clamp(15px, 1.6vw, 19px)/1 var(--display); text-transform: uppercase; letter-spacing: .04em; }
.slide-date span { padding: 10px 16px; }
.slide-date span:first-child { background: var(--accent); }
.slide-date span:last-child { background: var(--dore); color: var(--bleu); }
.slide-titre { font: 800 clamp(56px, 9.4vw, 160px)/.9 var(--display); text-transform: uppercase; margin: 0 0 20px; letter-spacing: -.015em; overflow-wrap: normal; word-break: keep-all; hyphens: none; }
.slide-titre--long { font-size: clamp(44px, 7vw, 118px); }
.slide-accroche { font: 400 clamp(19px, 2vw, 25px)/1.35 var(--sans); margin: 0 0 32px; max-width: 32ch; color: #e6e9f5; }
.slide-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.slide-affiche { justify-self: center; width: auto; height: auto; max-width: min(100%, 420px); max-height: 72vh; object-fit: contain; box-shadow: 0 40px 80px rgba(0,0,0,.6); transform: rotate(3deg) translateY(30px); opacity: 0; transition: transform 1s cubic-bezier(.2,.8,.2,1), opacity 1s; }
.slide.actif .slide-affiche { transform: rotate(3deg); opacity: 1; }
.slide.actif .slide-titre { animation: monte .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes monte { from { opacity: 0; transform: translateY(40px); } }
.hero-nav { position: absolute; z-index: 2; left: var(--gutter); bottom: 26px; display: flex; align-items: flex-end; gap: 18px; }
.hero-nav[hidden] { display: none; }
.hero-compteur { margin: 0 0 4px; font: 800 15px/1 var(--display); letter-spacing: .08em; color: rgba(255,255,255,.6); display: flex; align-items: baseline; gap: 6px; }
.hero-compteur b { font-size: 44px; color: #fff; letter-spacing: -.02em; }
.hero-compteur span::before { content: "/ "; }
.hero-dots { display: flex; align-items: flex-end; gap: 8px; }
.hero-dots button { width: 46px; aspect-ratio: 60 / 82; padding: 0; border-radius: 4px; overflow: hidden; opacity: .45; filter: grayscale(.6); outline: 2px solid transparent; outline-offset: 2px; transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .3s, filter .3s, outline-color .3s; }
.hero-dots button:hover { opacity: .85; filter: none; }
.hero-dots img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-dots [aria-selected="true"] { opacity: 1; filter: none; transform: translateY(-10px) rotate(-4deg); outline-color: var(--accent); }

/* Billet : renvoi vers l'agenda (talon détachable) */
.billet-zone { padding-top: 8px; padding-bottom: 56px; }
.billet { --encoche: 18px; display: flex; align-items: stretch; color: #fff; text-decoration: none; background: var(--accent);
  -webkit-mask: radial-gradient(circle var(--encoche) at calc(100% - 200px) 0, #0000 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle var(--encoche) at calc(100% - 200px) 100%, #0000 98%, #000) bottom / 100% 51% no-repeat;
          mask: radial-gradient(circle var(--encoche) at calc(100% - 200px) 0, #0000 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle var(--encoche) at calc(100% - 200px) 100%, #0000 98%, #000) bottom / 100% 51% no-repeat;
  transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.billet:hover { transform: rotate(-.6deg) translateY(-3px); }
.billet-corps { flex: 1; display: grid; gap: 6px; padding: 30px 36px 26px; }
.billet-kicker { font: 700 14px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.billet-titre { font: 800 clamp(34px, 5vw, 64px)/.95 var(--display); text-transform: uppercase; letter-spacing: -.01em; }
.billet-talon { width: 200px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border-left: 3px dashed rgba(255,255,255,.55); font: 800 18px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.billet-talon i { font-style: normal; font-size: 30px; transition: transform .3s; }
.billet:hover .billet-talon i { transform: translateY(6px); }
/* Billet d'annonce (site dédié d'un spectacle) : doré, ouvre un autre site */
.billet-zone-annonce { padding-top: 0; }
.billet-annonce { background: var(--dore); color: var(--bleu); }
.billet-annonce .billet-talon { border-left-color: rgba(39, 53, 113, .45); }
.billet-annonce:hover .billet-talon i { transform: translate(4px, -4px); }
.billet-info { font: 600 17px/1.3 var(--display); }

/* Agenda */
.agenda { background: var(--ink); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.chips button { padding: 11px 18px 8px; border-radius: 999px; border: 1.5px solid var(--line); font: 600 14px/1.1 var(--display); transition: all .2s; }
.chips button:hover { border-color: var(--paper); }
.chips button[aria-pressed="true"] { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.dates { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.date { display: grid; grid-template-columns: 110px 64px 1fr auto; align-items: center; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); transition: background .2s, padding .2s; }
.date:hover { background: rgba(255,255,255,.06); padding-left: 14px; padding-right: 14px; }
.date-cal { display: flex; align-items: center; gap: 10px; }
.date-cal .j { font: 800 54px/.8 var(--display); color: var(--dore); padding-top: 6px; }
.date-cal .m { font: 700 13px/1.15 var(--display); text-transform: uppercase; letter-spacing: .06em; }
.date-img { width: 64px; height: 80px; object-fit: cover; }
.date-titre { font: 700 clamp(22px, 2.4vw, 32px)/1.05 var(--display); text-transform: uppercase; text-align: left; }
.date-titre:hover { color: var(--dore); }
.date-lieu, .date-quand { margin: 6px 0 0; font-size: 15px; }
.date-quand { color: var(--muted); font-size: 14px; margin-top: 2px; }
.vide { padding: 32px 0; color: var(--muted); }
.more { text-align: center; margin-top: 36px; }

/* Mosaïque des spectacles */
.shows { background: var(--paper); color: var(--ink); overflow: hidden; }
.shows .lead { color: #4b5584; }
.shows-word { position: absolute; right: -0.12em; top: 60px; writing-mode: vertical-rl; font: 800 clamp(110px, 15vw, 240px)/.8 var(--display); text-transform: uppercase; color: transparent; -webkit-text-stroke: 2px var(--accent); pointer-events: none; opacity: .9; }
.mosaic { list-style: none; margin: 0; padding: 0 var(--gutter); max-width: 1280px; margin-inline: auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(12px, 1.6vw, 22px); position: relative; }
/* Cartes spectacle : image au format affiche (2:3), nom et genre en dessous */
.tuile { display: block; width: 100%; text-align: left; text-decoration: none; color: inherit; }
.tuile-img { position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; background: var(--ink); }
.tuile-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.tuile-img.remplit img { object-fit: cover; object-position: 50% 30%; }
.tuile-txt { display: block; padding: 14px 2px 0; }
.tuile-titre { display: block; font: 700 clamp(19px, 1.8vw, 24px)/1.05 var(--display); text-transform: uppercase; transition: color .2s; }
.tuile-genre { display: block; font-size: 13px; margin-top: 6px; opacity: .75; }
.tuile:hover img, .tuile:focus-visible img { transform: scale(1.05); }
.tuile:hover .tuile-titre, .tuile:focus-visible .tuile-titre { color: var(--accent); }


/* Hub */
.hub { padding-top: 0; background: #000; }
.hub-img img { width: 100%; height: clamp(220px, 34vw, 480px); object-fit: cover; }
.hub-in { display: grid; grid-template-columns: auto 1fr; gap: 24px clamp(32px, 6vw, 96px); align-items: end; margin-top: -0.55em; position: relative; }
.hub-in .kicker { grid-column: 1 / -1; margin-top: 48px; }
.hub-in .title { font-size: clamp(60px, 10vw, 156px); }
.hub-txt { font-size: 18px; color: #e3e3e3; max-width: 560px; }
.hub-txt strong { color: #fff; }

/* Contact */
.contact { background: var(--ink-2); }
.contact-in { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(40px, 6vw, 96px); }
.contact .lead { margin: 24px 0 36px; }
.coords { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0; }
.coords dt { font: 700 12px/1 var(--display); text-transform: uppercase; letter-spacing: .14em; color: var(--dore); margin-bottom: 8px; }
.coords dd { margin: 0; }
.coords a { text-decoration: none; border-bottom: 1px solid var(--line); }
.coords a:hover { color: var(--accent); }
.form { display: grid; gap: 18px; align-content: start; }
.form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form label { display: grid; gap: 8px; font: 600 14px/1.3 var(--display); }
.form input, .form select, .form textarea, .nl-form input { width: 100%; font: 400 16px/1.4 var(--sans); color: var(--paper); background: transparent; border: 0; border-bottom: 2px solid var(--line); padding: 10px 2px; border-radius: 0; transition: border-color .2s; }
.form select option { color: var(--ink); }
.form input:focus, .form select:focus, .form textarea:focus, .nl-form input:focus { outline: none; border-color: var(--accent); }
.form textarea { resize: vertical; }
.form .check { display: flex; gap: 10px; align-items: flex-start; font: 400 14px/1.5 var(--sans); color: #dfe3f2; }
.form .check input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--accent); flex: none; }
.form .btn { justify-self: start; }
.form-msg { margin: 0; min-height: 1.4em; font-weight: 600; }

/* Newsletter */
.newsletter { background: var(--mauve); }
.nl-titre { font: 800 clamp(40px, 6vw, 84px)/.95 var(--display); text-transform: uppercase; letter-spacing: -.015em; margin: 0; padding-top: 64px; }
.nl-in { padding-bottom: 72px; text-align: center; }
.nl-in > p { font-size: 18px; margin: 8px 0 24px; }
.nl-form { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; max-width: 560px; margin: 0 auto; }
.nl-form input { flex: 1 1 260px; color: #fff; border-color: rgba(255,255,255,.4); }
.nl-form .form-msg { flex-basis: 100%; }
.nl-rgpd { max-width: 560px; margin: 18px auto 0; font-size: 13px; line-height: 1.5; opacity: .85; }
.nl-rgpd a { text-decoration: underline; }

/* Pied de page */
.foot { border-top: 1px solid var(--line); padding: 56px 0; }
.foot-in { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; font-size: 14px; color: var(--muted); }
.foot-in p:last-child { margin-left: auto; }
.foot img { width: 170px; }
.foot p { margin: 0; }
.foot a { text-decoration: none; }
.foot a:hover { color: var(--accent); }
.foot-social { display: flex; gap: 10px; }
.foot-social a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); color: var(--paper); }
.foot-social a:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.foot-social svg { width: 17px; height: 17px; fill: currentColor; }

/* Fiche spectacle */
.fiche { width: min(1100px, calc(100% - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; background: var(--paper); color: #1d2550; overflow: auto; }
.fiche::backdrop { background: rgba(39,53,113,.82); backdrop-filter: blur(6px); }
.fiche[open] { animation: entree .3s ease; }
.fiche-in { display: grid; grid-template-columns: 1fr 1.4fr; }
.fiche-in > img { width: 100%; height: 100%; object-fit: cover; max-height: calc(100vh - 48px); position: sticky; top: 0; }
.fiche-txt { padding: clamp(28px, 4vw, 56px); }
.fiche h2 { font: 800 clamp(40px, 5vw, 72px)/.95 var(--display); color: var(--bleu); text-transform: uppercase; margin: 0 0 10px; }
.fiche-par { font: 400 19px/1.35 var(--sans); margin: 0 0 24px; color: var(--mauve); }
.fiche-txt > div p { margin: 0 0 14px; }
.fiche h3 { font: 700 24px/1 var(--display); color: var(--bleu); text-transform: uppercase; margin: 32px 0 12px; }
.fiche ul { list-style: none; margin: 0; padding: 0; }
.fiche li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid rgba(39,53,113,.14); }
.fiche li small { color: var(--mauve); font-size: 13px; }
.fiche-liens { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.fiche-close { position: sticky; float: right; top: 12px; margin: 12px 12px -60px 0; z-index: 2; width: 48px; height: 48px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 30px; line-height: 1; }
.fiche-close:hover { background: var(--accent); }

/* Pages secondaires */
.page { padding: 120px 0 80px; }
.page .wrap { max-width: 820px; }
.page h1 { font: 800 clamp(44px, 6.4vw, 88px)/.95 var(--display); text-transform: uppercase; margin: 0 0 36px; }
.page h2 { font: 700 28px/1 var(--display); text-transform: uppercase; margin: 48px 0 16px; color: var(--dore); }
.page p { color: #e6e9f5; }

/* ---------- Écran d'entrée ---------- */
html:not(.sans-intro) body { overflow: hidden; }
.sans-intro .intro { display: none; }
.intro { position: fixed; inset: 0; z-index: 200; background: #000; overflow: hidden; transition: transform 1s cubic-bezier(.7,0,.2,1); }
.intro.sortie { transform: translateY(-100%); }
.intro-logo { position: absolute; z-index: 3; left: 50%; top: 50%; width: min(620px, 78vw); text-align: center; transform: translate(-50%, -50%); mix-blend-mode: difference; animation: logoSort .6s cubic-bezier(.7,0,.2,1) 4.7s forwards; pointer-events: none; }
/* Logo découpé : O · Re · G · O · N */
.logo-anim { position: relative; width: 100%; aspect-ratio: 900 / 444; }
.l { position: absolute; top: 0; bottom: 0; left: calc(var(--a) / 900 * 100%); width: calc((var(--b) - var(--a)) / 900 * 100%); overflow: hidden; }
.l img { position: absolute; top: 0; max-width: none; width: calc(900 / (var(--b) - var(--a)) * 100%); left: calc(var(--a) / (var(--b) - var(--a)) * -100%); transform: translateY(104%); animation: leve 1.5s cubic-bezier(.2,.8,.2,1) calc(.85s + var(--i) * .23s) forwards; }
@keyframes leve { to { transform: translateY(0); } }
/* Éclat de lumière qui traverse les lettres.
   Le masque est intégré (data:) : Chrome refuse les masques chargés depuis un fichier local (file://). */
.intro { --masque-logo: url("data:image/png;base64,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BJywVTVy9tsETMAETMAETKAxBJywNSbUbqgJmIAJmIAJmEBVCThhq2rk7LcJmIAJmIAJmEBjCDhha0yo3VATMAETMAETMIGqEnDCVtXI2W8TMAETMAETMIHGEHDC1phQu6EmYAImYAImYAJVJeCEraqRs98mYAImYAImYAKNIeCErTGhdkNNwARMwARMwASqSsAJW1UjZ79NwARMwARMwAQaQ8AJW2NC7YaagAmYgAmYgAlUlYATtqpGzn6bgAmYgAmYgAk0hoATtsaE2g01ARMwARMwAROoKgEnbFWNnP02ARMwARMwARNoDAEnbI0JtRtqAiZgAiZgAiZQVQJO2KoaOfttAiZgAiZgAibQGAJO2BoTajfUBEzABEzABEygqgScsFU1cvbbBEzABEzABEygMQScsDUm1G6oCZiACZiACZhAVQk4Yatq5Oy3CZiACWQn0JN911x7xqo3l9Pe2QRSIDBlCk7YBxMwARMwgaAEJlLbW6g3YK1K1iYgJ20Bobuq+hBwwlafWLolJmACJtApgUvZ8HkUOmF7gzof69RJb2cCJvAeASds77HwOxMwARNoBIGenp77aahkMwETqAgBr2GrSKDspgmYgAmYgAmYQHMJOGFrbuzdchMwARMwARMwgYoQcMJWkUDZTRMwARMwARMwgeYScMLW3Ni75SZgAiZgAiZgAhUh4IStIoGymyZgAiZgAiZgAs0l4IStubF3y03ABEzABEzABCpCwAlbRQJlN03ABEzABEzABJpLwAlbc2PvlpuACZiACZiACVSEgBO2igTKbpqACZiACZiACTSXgBO25sbeLTcBEzABEzABE6gIASdsFQmU3TQBEzABEzABE2guASdszY29W24CJmACJmACJlARAk7YKhIou2kCJmACJmACJtBcAk7Ymht7t9wETMAETMAETKAiBJywVSRQdtMETMAETMAETKC5BJywNTf2brkJmIAJmIAJmEBFCExZET/tpgmYgAmYwGQEent7p+KjWVDPZF+l+Kd8nIjG9fT0vJ2ig/bJBFIm4IQt5ejYNxMwARMYnsCKfH0imh4pGUrZpsC559CWaHTKjto3E0iRgBO2FKNin0zABEygMwIfYLPF0LSdbR59q5nxYJroXtgBE6ggAa9hq2DQ7LIJmIAJtAj08vpOhWjIV/lsMwET6JKAE7YugXlzEzABEzABEzABEwhNwAlbaOKuzwRMwARMwARMwAS6JOCErUtg3twETMAETMAETMAEQhNwwhaauOszARMwARMwARMwgS4JOGHrEpg3NwETMAETMAETMIHQBJywhSbu+kzABEzABEzABEygSwJO2LoE5s1NwARMwARMwARMIDQBJ2yhibs+EzABEzABEzABE+iSgBO2LoF5cxMwARMwARMwARMITcAJW2jirs8ETMAETMAETMAEuiTghK1LYN7cBEzABEzABEzABEITcMIWmrjrMwETMAETMAETMIEuCThh6xKYNzcBEzABEzABEzCB0AScsIUm7vpMwARMwARMwARMoEsCTti6BObNTcAETMAETMAETCA0ASdsoYm7PhMwARMwARMwARPokoATti6BeXMTMAETMAETMAETCE3ACVto4q7PBEzABEzABEzABLok4IStS2De3ARMwARMwARMwARCE3DCFpq46zMBEzABEzABEzCBLgk4YesSmDc3ARMwARMwARMwgdAEnLCFJu76TMAETMAETMAETKBLAk7YugTmzU3ABEzABEzABEwgNAEnbKGJuz4TMAETMAETMAET6JKAE7YugXlzEzABEzABEzABEwhNwAlbaOKuzwRMwARMwARMwAS6JOCErUtg3twETMAEEiIwJb5Mn5A/dsUETKAkAjrYbSZgAiZgAtUk8CBu/whNjXo7bMLbbPcZtH6H23szEzCBBAg4YUsgCHbBBEzABLIQ6OnpeYT9ftXtvr29va+wjxO2bsF5exOISMC3RCPCd9UmYAImEImAB+uRwLtaE8hKwAlbVnLezwRMwARMwARMwAQCEXDCFgi0qzEBEzABEzABEzCBrAScsGUl5/1MwARMwARMwARMIBABJ2yBQLsaEzABEzABEzABE8hKwAlbVnLezwTSJDAxolvvRKzbVZuACZhArQn4SaFah9eNayCBGfnJhvlpd0+Ets8YoU5XaQImYAKNIOCErRFhdiMbRGBz2roaijF7PkeDOLupJmACJhCUgBO2oLhdmQmUTmAWapBsJmACJmACNSIQYxReI3xuigmYgAmYgAmYgAmUT8AJW/mMXYMJmIAJmIAJmIAJ5CLghC0XPu9sAiZgAiZgAiZgAuUTcMJWPmPXYAImYAImYAImYAK5CDhhy4XPO5uACZiACZiACZhA+QScsJXP2DWYgAmYgAmYgAmY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"); }
.eclat { position: absolute; inset: 0; background: linear-gradient(100deg, transparent 35%, #ffd2b8 46%, var(--accent) 50%, transparent 62%) no-repeat; background-size: 250% 100%; background-position: 150% 0; -webkit-mask: var(--masque-logo) 0 0 / 100% 100% no-repeat; mask: var(--masque-logo) 0 0 / 100% 100% no-repeat; animation: eclat 1.7s ease-in-out 2.85s forwards; }
@keyframes eclat { to { background-position: -50% 0; } }
/* Bord de scène : la ligne d'où sortent les lettres */
.scene { display: block; height: 3px; margin: 10px auto 0; background: var(--accent); transform: scaleX(0); animation: scene 1.2s cubic-bezier(.7,0,.2,1) .2s forwards; }
@keyframes scene { to { transform: scaleX(1); } }
.intro-logo p { margin: 18px 0 0; font: 700 clamp(12px, 1.3vw, 15px)/1 var(--display); letter-spacing: 1em; text-transform: uppercase; color: var(--accent); opacity: 0; animation: tagline 1.6s cubic-bezier(.2,.8,.2,1) 3s forwards; }
@keyframes tagline { to { opacity: 1; letter-spacing: .4em; } }
@keyframes apparait { to { opacity: 1; } }
@keyframes disparait { to { opacity: 0; } }
@keyframes logoSort { to { opacity: 0; transform: translate(-50%, -50%) scale(.92); visibility: hidden; } }
.intro-choix { position: absolute; inset: 0; display: flex; }
.porte { position: relative; flex: 1; display: flex; align-items: flex-end; overflow: hidden; text-decoration: none; transition: flex-grow .7s cubic-bezier(.2,.8,.2,1); }
.porte-live { color: #fff; clip-path: inset(0 0 0 100%); animation: ouvre 1.2s cubic-bezier(.7,0,.2,1) 5s forwards; }
.porte-circle { color: var(--c-noir); clip-path: inset(0 100% 0 0); animation: ouvre 1.2s cubic-bezier(.7,0,.2,1) 5s forwards; }
@keyframes ouvre { to { clip-path: inset(0 0 0 0); } }
.porte-fond { position: absolute; inset: 0; transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter .6s; }
.porte-live .porte-fond { background: radial-gradient(120% 90% at 30% 15%, var(--bleu-2) 0%, var(--bleu) 70%); }
.porte-circle .porte-fond { background: var(--c-creme); }
.porte-circle .porte-fond::after { content: ""; position: absolute; left: 50%; top: 50%; width: min(80vmin, 640px); aspect-ratio: 420 / 380; background: url("img/cercle-or.svg") center/contain no-repeat; transform: translate(-50%, -50%); opacity: .35; }
.porte:hover .porte-fond, .porte:focus-visible .porte-fond { transform: scale(1.05); }
.porte-txt { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 14px; padding: clamp(28px, 5vw, 72px); opacity: 0; transform: translateY(30px); animation: monteTxt .8s cubic-bezier(.2,.8,.2,1) 5.8s forwards; }
@keyframes monteTxt { to { opacity: 1; transform: none; } }
.porte-circle .porte-txt { margin-left: auto; text-align: right; align-items: flex-end; }
.porte-logo-live { width: clamp(220px, 26vw, 400px); }
.porte-logo-circle { width: clamp(180px, 20vw, 290px); }
.porte-k { font: 700 13px/1 var(--display); letter-spacing: .2em; text-transform: uppercase; color: var(--dore); }
.porte-circle .porte-k { font: 400 clamp(30px, 3vw, 42px)/1 var(--script); letter-spacing: 0; text-transform: none; color: var(--c-brun); }
.porte-cta { display: inline-flex; align-items: center; gap: 10px; font: 700 15px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.porte-cta i { font-style: normal; display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 2px solid currentColor; transition: background .3s, transform .3s; }
.porte-live:hover .porte-cta i { background: var(--accent); border-color: var(--accent); transform: translateX(6px); }
.porte-circle .porte-cta { font-family: var(--c-sans); font-weight: 500; }
.porte-circle:hover .porte-cta i { background: var(--c-noir); color: var(--c-creme); transform: translateX(6px); }
@media (hover: hover) and (min-width: 761px) { .intro-choix:hover .porte { flex-grow: .8; } .intro-choix .porte:hover { flex-grow: 1.4; } }
.intro.vers-circle .porte-circle { flex-grow: 100; }
.intro.vers-circle .porte-live { flex-grow: 0; }
.menu-univers { margin-top: 28px; align-self: flex-start; font-weight: 700; border-bottom: 2px solid currentColor; padding-bottom: 4px; }
.menu-univers:hover { color: var(--ink); }
@media (max-width: 760px) {
  .intro-choix { flex-direction: column; }
  .porte-live { clip-path: inset(100% 0 0 0); }
  .porte-circle { clip-path: inset(0 0 100% 0); }
  .porte-circle .porte-txt { margin-left: 0; align-items: flex-start; text-align: left; }
  .porte-txt { gap: 10px; }
  .porte-logo-live { width: 200px; }
  .porte-logo-circle { width: 150px; }
  .intro-logo { width: 80vw; }
  .porte-live .porte-txt { padding-top: 60px; }
  .porte-live .porte-txt { padding-bottom: 64px; }
  .intro-logo p { font-size: 11px; white-space: nowrap; }
  @keyframes tagline { to { opacity: 1; letter-spacing: .18em; } }
}
@media (prefers-reduced-motion: reduce) {
  .intro-logo, .l img, .porte, .porte-txt, .eclat { animation: none !important; clip-path: none !important; opacity: 1 !important; transform: none; }
  .scene, .eclat { display: none; }
  .intro-logo { display: none; }
}

/* Tablette */
/* Écrans larges mais peu hauts (tablette à l'horizontale, ex. iPad Air sous Safari ≈ 1180 × 750) :
   le titre du carrousel suit aussi la hauteur, pour que les boutons ne passent pas sous le compteur et les mini-affiches */
@media (min-width: 761px) and (max-height: 860px) {
  .slide { padding-top: 72px; padding-bottom: 118px; }
  .slide-date { margin-bottom: 14px; }
  .slide-titre { font-size: clamp(44px, min(9.4vw, 12.5svh), 160px); margin-bottom: 12px; }
  .slide-titre--long { font-size: clamp(40px, min(7vw, 10svh), 118px); }
  .slide-accroche { margin-bottom: 22px; }
  .slide-affiche { max-height: 66svh; }
}
@media (max-width: 1080px) {
  .mosaic { grid-template-columns: repeat(3, 1fr); }
}
/* Mobile : la barre latérale devient une barre en haut */
@media (max-width: 760px) {
  :root { --rail: 0px; }
  main { padding-top: 64px; }
  .rail { bottom: auto; right: 0; width: 100%; height: 64px; flex-direction: row; padding: 0 16px; gap: 14px; border-right: 0; border-bottom: 1px solid var(--line); }
  .rail-logo { margin: 0; width: 104px; height: auto; }
  .rail-logo img { width: 104px; transform: none; }
  .burger { margin: 0 0 0 auto; order: 3; width: 44px; height: 44px; }
  .rail-cta { writing-mode: horizontal-tb; transform: none; margin-left: auto; font-size: 16px; }
  .rail-social { display: none; }
  .menu { inset: 64px 0 0 0; }
  .hero { height: auto; min-height: 0; }
  .slide { position: relative; grid-template-columns: 1fr; padding: 40px 16px 90px; display: none; }
  .slide.actif { display: grid; }
  .slide-affiche { grid-row: 1; width: auto; max-width: 62%; max-height: 46vh; }
  .hero-nav { bottom: 22px; left: 16px; gap: 12px; }
  .hero-compteur b { font-size: 32px; }
  .hero-dots button { width: 34px; }
  .billet { --encoche: 14px; -webkit-mask: none; mask: none; flex-direction: column; border-radius: 6px; }
  .billet-corps { padding: 22px 20px 18px; }
  .billet-talon { width: auto; flex-direction: row; padding: 14px; border-left: 0; border-top: 3px dashed rgba(255,255,255,.55); }
  .circle .billet-talon { border-top-color: rgba(46,46,46,.45); }
  .billet-annonce .billet-talon { border-top-color: rgba(39, 53, 113, .45); }
  .date { grid-template-columns: 74px 1fr; gap: 6px 14px; }
  .date-img { display: none; }
  .date-cal { flex-direction: column; align-items: flex-start; gap: 4px; grid-row: span 2; }
  .date-cal .j { font-size: 46px; }
  .date .btn { grid-column: 2; justify-self: start; }
  .mosaic { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0 16px; }
  .shows-word { display: none; }
  .hub-in { grid-template-columns: 1fr; margin-top: 0; }
  .form .row, .coords, .contact-in { grid-template-columns: 1fr; }
  .foot-in { flex-direction: column; align-items: flex-start; }
  .foot-in p:last-child { margin-left: 0; }
  .fiche-in { grid-template-columns: 1fr; }
  .fiche-in > img { position: static; max-height: 46vh; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
  body::after { display: none; }
  .page-sortie main, .page-sortie .page { transform: none; opacity: 1; }
}

/* ---------- Page The Circle ---------- */
body.cp { --c-paper: #ffffff; --c-ink: var(--c-noir); --c-or: var(--c-brun); background: var(--c-paper); color: var(--c-ink); font-family: var(--c-sans); font-weight: 300; }
.cp main, .cp .cp-foot { margin-left: 0; }
.cp-top { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 12px var(--gutter); background: rgba(252,244,204,.92); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(101,85,68,.15); }
.cp-top a { text-decoration: none; font: 500 14px/1 var(--c-sans); letter-spacing: .12em; text-transform: uppercase; }
.cp-retour span { display: inline-block; transition: transform .3s; }
.cp-retour:hover span { transform: translateX(-4px); }
.cp-marque img { width: 64px; }
.cp-lien { justify-self: end; }
.cp-top a:hover { color: var(--c-or); }
.cp-hero { position: relative; background: var(--c-creme); min-height: calc(100svh - 89px); display: grid; place-items: center; padding: 60px var(--gutter); overflow: hidden; text-align: center; }
@property --tour { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.cp-cercle { position: absolute; width: min(110vmin, 960px); left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-mask: conic-gradient(from -40deg, #000 var(--tour), transparent 0); mask: conic-gradient(from -40deg, #000 var(--tour), transparent 0); animation: trace 2.6s cubic-bezier(.6,0,.2,1) .2s forwards; }
@keyframes trace { to { --tour: 360deg; } }
.cp-hero-txt { position: relative; max-width: 760px; }
.cp-hero-txt > * { opacity: 0; transform: translateY(24px); animation: monteTxt .9s cubic-bezier(.2,.8,.2,1) forwards; }
.cp-hero-txt > :nth-child(1) { animation-delay: .6s; }
.cp-hero-txt > :nth-child(2) { animation-delay: .8s; }
.cp-hero-txt > :nth-child(3) { animation-delay: 1.1s; }
.cp-hero-txt > :nth-child(4) { animation-delay: 1.3s; }
.cp-hero-txt > :nth-child(5) { animation-delay: 1.5s; }
.cp-hero-txt > :nth-child(6) { animation-delay: 1.7s; }
.cp-k { font: 500 13px/1 var(--c-sans); letter-spacing: .3em; text-transform: uppercase; color: var(--c-brun); margin: 0 0 24px; }
.cp h1 { font: 400 clamp(64px, 12vw, 180px)/.95 var(--serif); letter-spacing: -.03em; margin: 0; }
.cp h1 span { color: var(--c-or-vif, #EAA93D); }
.cp-sous { font: 400 clamp(36px, 4.4vw, 60px)/1.1 var(--script); margin: 10px 0 26px; color: var(--c-brun); }
.cp-signature { font: 500 13px/1 var(--c-sans); letter-spacing: .3em; text-transform: uppercase; color: var(--c-sable); margin: -8px 0 26px; }
.cp-intro { font-size: 18px; line-height: 1.7; color: var(--c-noir); max-width: 56ch; margin: 0 auto 36px; }
.cp-btn { display: inline-flex; align-items: center; min-height: 50px; padding: 0 30px; border-radius: 999px; background: var(--c-ink); color: var(--c-paper); font: 500 14px/1 var(--c-sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border: 1.5px solid var(--c-ink); transition: background .3s, color .3s; cursor: pointer; }
.cp-btn:hover { background: var(--c-brun); border-color: var(--c-brun); }
.cp-btn-line { background: transparent; color: var(--c-ink); }
.cp-btn-line:hover { color: #fff; }
.cp-h2 { font: 400 clamp(42px, 5.6vw, 80px)/1.05 var(--serif); margin: 0 0 clamp(40px, 6vw, 80px); }
.cp-h2 em { font: 400 1.15em/1 var(--script); color: var(--c-or-vif, #EAA93D); }
.cp-programme { max-width: 1180px; margin: 0 auto; padding: clamp(60px, 9vw, 130px) var(--gutter); }
.cp-programme > .cp-h2 { text-align: center; }
.cp-artiste { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; margin-bottom: clamp(60px, 9vw, 130px); opacity: 0; transform: translateY(40px); transition: opacity 1s, transform 1s cubic-bezier(.2,.8,.2,1); }
.cp-artiste.vu { opacity: 1; transform: none; }
.cp-artiste img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.cp-inverse img { order: 2; }
.cp-num { font: 400 34px/1 var(--script); color: var(--c-sable); margin: 0 0 18px; }
.cp-artiste h3 { font: 400 clamp(40px, 5vw, 68px)/1 var(--serif); margin: 0 0 12px; }
.cp-role { font-size: 17px; color: var(--c-brun); margin: 0 0 32px; }
.cp-contact { background: var(--c-ink); color: var(--c-paper); padding: clamp(70px, 9vw, 130px) var(--gutter); }
.cp-contact-in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(40px, 6vw, 96px); }
.cp-contact p { color: var(--c-creme); font-size: 17px; }
.cp-contact a { color: inherit; }
.cp-contact .cp-h2 { margin-bottom: 28px; }
.cp-form .cp-btn { background: var(--c-paper); color: var(--c-ink); border-color: var(--c-paper); justify-self: start; }
.cp-form .cp-btn:hover { background: var(--c-or-vif, #EAA93D); border-color: var(--c-or-vif, #EAA93D); color: var(--c-noir); }
.cp-form input:focus, .cp-form textarea:focus { border-color: #EAA93D; }
.cp-form label { font-family: var(--c-sans); font-weight: 500; }
.cp-form .check { font-family: var(--c-sans); color: var(--c-creme); }
.cp-form .check input { accent-color: #EAA93D; }
.cp-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; padding: 40px var(--gutter); font-size: 14px; color: var(--c-brun); }
.cp-foot img { width: 130px; }
.cp-foot p { margin: 0; }
.cp-foot a { text-decoration: none; }
.cp-foot a:hover { color: var(--c-or); }
@media (max-width: 760px) {
  .cp main { padding-top: 0; }
  .cp-top { grid-template-columns: auto 1fr auto; gap: 12px; }
  .cp-top a { font-size: 12px; letter-spacing: .08em; }
  .cp-marque { justify-self: center; }
  .cp-marque img { width: 52px; }
  .cp-artiste, .cp-contact-in { grid-template-columns: 1fr; }
  .cp-inverse img { order: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-cercle { -webkit-mask: none; mask: none; }
  .cp-hero-txt > *, .cp-artiste { opacity: 1 !important; transform: none !important; }
}

/* ---------- Page d'un spectacle (inspirée des fiches artistes W Spectacle) ---------- */
.tuile { text-decoration: none; }
a.date-titre { display: inline-block; text-decoration: none; }
.btn-light { background: #fff; color: var(--bleu); }
.btn-light:hover { background: var(--dore); color: var(--bleu); }
.sp-hero { position: relative; min-height: min(92vh, 860px); display: grid; grid-template-columns: 1fr 1.15fr; align-items: end; overflow: hidden; background: var(--bleu); }
.sp-hero-img { position: absolute; inset: 0 0 0 30%; }
.sp-hero-img img { width: 100%; height: 100%; object-fit: cover; }
.sp-hero-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--bleu) 0%, rgba(39,53,113,.55) 30%, rgba(39,53,113,.05) 70%); }
.sp-mot { position: absolute; z-index: 1; right: -.06em; top: 50%; margin: 0; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); font: 800 clamp(90px, 13vw, 210px)/.82 var(--display); text-transform: uppercase; color: transparent; -webkit-text-stroke: 2px #fff; white-space: nowrap; max-height: 100%; overflow: hidden; pointer-events: none; opacity: .9; }
.sp-hero-bloc { position: relative; z-index: 2; grid-column: 1; background: var(--orange); padding: clamp(28px, 4vw, 56px); margin: 0 0 0 0; max-width: 640px; }
.sp-hero-bloc .kicker { color: var(--bleu); }
.sp-hero h1 { font: 800 clamp(44px, 6vw, 92px)/.95 var(--display); text-transform: uppercase; letter-spacing: -.02em; margin: 0 0 12px; padding-top: .06em; }
.sp-par { font-size: 18px; margin: 0 0 26px; color: #fff; }
.sp-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.sp-nav { padding-top: 28px; }
.sp-nav a { font: 700 14px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--dore); }
.sp-nav a:hover { color: #fff; }
.sp-contenu { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(36px, 6vw, 96px); padding-top: clamp(32px, 5vw, 64px); padding-bottom: clamp(56px, 8vw, 110px); }
.sp-accroche { font: 700 clamp(26px, 3vw, 40px)/1.1 var(--display); color: var(--dore); margin: 0 0 28px; }
.sp-bio p { font-size: 18px; line-height: 1.75; color: #e6e9f5; margin: 0 0 18px; }
.sp-cote { display: grid; gap: 28px; align-content: start; }
.sp-affiche { width: 100%; max-width: 360px; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.sp-infos { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.sp-infos div { display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.sp-infos dt { font: 700 12px/1.6 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--dore); }
.sp-infos dd { margin: 0; }
.sp-liens { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sp-liens a { display: inline-block; padding: 10px 16px 8px; border: 1.5px solid var(--line); border-radius: 999px; font: 600 13px/1.2 var(--display); text-transform: uppercase; letter-spacing: .06em; text-decoration: none; }
.sp-liens a:hover { border-color: var(--dore); color: var(--dore); }
.sp-booking { background: var(--bleu-2); padding: 26px; }
.sp-booking p { margin: 0 0 16px; }
.sp-booking .kicker { margin-bottom: 12px; color: var(--dore); }
.sp-booking-tel { margin: 14px 0 0 !important; font-size: 14px; }
.sp-booking-tel a { text-decoration: none; }
/* Blocs à icône */
.sp-bloc { border-top: 1px solid var(--line); }
.sp-bloc-tete { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 22px var(--gutter); }
.sp-bloc-icone { display: grid; place-items: center; width: 58px; height: 58px; background: var(--orange); }
.sp-bloc-icone svg { width: 26px; height: 26px; fill: #fff; }
.sp-bloc-titre { font: 800 clamp(30px, 4vw, 52px)/1 var(--display); text-transform: uppercase; margin: 0; padding-top: .08em; }
.sp-onglets, .sp-fleches { margin-left: auto; display: flex; gap: 8px; }
.sp-onglets button { padding: 11px 18px 8px; border-radius: 999px; border: 1.5px solid var(--line); font: 700 13px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.sp-onglets button[aria-pressed="true"] { background: var(--dore); border-color: var(--dore); color: var(--bleu); }
.sp-fleches button { width: 46px; height: 46px; background: var(--orange); color: #fff; font-size: 20px; }
.sp-fleches button:hover { background: var(--dore); color: var(--bleu); }
.sp-bloc-corps { padding: 0 var(--gutter) clamp(40px, 6vw, 80px); }
.concerts { list-style: none; margin: 0; padding: 0; max-width: 1100px; }
.concert { display: grid; grid-template-columns: 120px 1fr auto; align-items: center; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.concert-date { font: 800 22px/1 var(--display); color: var(--dore); letter-spacing: .02em; }
.concert-date i { font-style: normal; color: #fff; margin: 0 .3em; }
.concert-lieu small { display: block; color: var(--muted); font-size: 14px; margin-top: 3px; }
.concert-billet { font: 800 14px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--orange); text-decoration: none; padding: 10px 0; }
.concert-billet:hover { color: var(--dore); }
.concert-passe { font: 700 12px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.sp-video { position: relative; display: block; width: 100%; max-width: 1000px; aspect-ratio: 16 / 9; background: #000 var(--vignette) center/cover; border: 0; }
.sp-video span { position: absolute; inset: 0; margin: auto; width: 84px; height: 84px; display: grid; place-items: center; border-radius: 50%; background: var(--orange); color: #fff; font-size: 30px; transition: transform .3s; }
button.sp-video:hover span { transform: scale(1.1); }
.sp-video iframe { width: 100%; height: 100%; border: 0; }
.sp-note { font-size: 13px; color: var(--muted); margin: 10px 0 0; }
.sp-photos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.sp-photos img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.sp-autres { list-style: none; margin: 0; padding: 0 0 10px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 22%); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.sp-autres li { scroll-snap-align: start; }
@media (max-width: 900px) {
  .sp-contenu { grid-template-columns: 1fr; }
  .sp-cote { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sp-hero { grid-template-columns: 1fr; min-height: 0; }
  .sp-hero-img { position: relative; inset: auto; height: 62vw; }
  .sp-hero-img::after { background: linear-gradient(0deg, var(--orange) 0%, rgba(218,95,62,0) 35%); }
  .sp-mot { font-size: 64px; -webkit-text-stroke-width: 1.5px; top: 31vw; }
  .sp-hero-bloc { max-width: none; }
  .sp-infos div { grid-template-columns: 1fr; gap: 4px; }
  .concert { grid-template-columns: 1fr auto; gap: 6px 14px; }
  .concert-date { grid-column: 1 / -1; }
  .sp-onglets, .sp-fleches { margin-left: 0; }
  .sp-autres { grid-auto-columns: 62%; }
}

/* ---------- The Circle : artistes, agenda, pages artistes (même structure qu'Oregon Live, charte The Circle) ---------- */
.cp-liens { justify-self: end; display: flex; gap: 22px; }
.c-artistes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: clamp(16px, 3vw, 40px); }
.c-artiste { position: relative; display: grid; text-decoration: none; color: var(--c-ink); }
.c-artiste-img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--c-creme); }
.c-artiste-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.8,.2,1), filter .6s; filter: saturate(.85); }
.c-artiste:hover .c-artiste-img img, .c-artiste:focus-visible .c-artiste-img img { transform: scale(1.05); filter: saturate(1); }
.c-artiste-num { font: 400 40px/1 var(--script); color: var(--c-sable); margin: 18px 0 4px; }
.c-artiste-nom { font: 400 clamp(36px, 4vw, 56px)/1.02 var(--serif); }
.c-artiste-role { color: var(--c-brun); font-size: 16px; margin: 8px 0 18px; }
.c-artiste-lien { font: 500 13px/1 var(--c-sans); letter-spacing: .16em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; }
.c-artiste-lien i { font-style: normal; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid currentColor; transition: background .3s, color .3s, transform .3s; }
.c-artiste:hover .c-artiste-lien i { background: var(--c-ink); color: var(--c-creme); transform: translateX(6px); }
.cp-agenda { background: var(--c-creme); padding: clamp(60px, 9vw, 120px) var(--gutter); }
.cp-agenda-in { max-width: 1000px; margin: 0 auto; }
.c-dates { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(101,85,68,.25); }
.c-date { display: grid; grid-template-columns: 130px 1fr auto; gap: 20px; align-items: center; padding: 20px 0; border-bottom: 1px solid rgba(101,85,68,.25); }
.c-date-j { font: 400 44px/1 var(--serif); color: var(--c-brun); display: grid; }
.c-date-j small { font: 500 12px/1.4 var(--c-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--c-sable); margin-top: 4px; }
.c-date-info a { font: 400 26px/1.15 var(--serif); color: var(--c-ink); text-decoration: none; }
.c-date-info a:hover { color: var(--c-brun); }
.c-date-info small { display: block; color: var(--c-brun); font-size: 15px; margin-top: 4px; }
.c-date-etat { font: 500 13px/1 var(--c-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--c-sable); }
.c-vide { padding: 26px 0; color: var(--c-brun); font-size: 17px; }
.c-vide a { color: inherit; }

/* Page d'un artiste The Circle : reprend la fiche spectacle avec la charte The Circle */
body.cp.sp { background: #fff; }
.cp .sp-hero { background: var(--c-creme); min-height: min(86vh, 820px); }
.cp .sp-hero-img::after { background: linear-gradient(90deg, var(--c-creme) 0%, rgba(252,244,204,.5) 30%, rgba(252,244,204,0) 65%); }
.cp .sp-mot { -webkit-text-stroke: 1.5px var(--c-or-vif, #EAA93D); font-family: var(--serif); font-weight: 400; text-transform: none; }
.cp .sp-hero-bloc { background: var(--c-noir); color: var(--c-creme); }
.cp .sp-hero-bloc .kicker { color: var(--c-or-vif, #EAA93D); font-family: var(--c-sans); font-weight: 500; }
.cp .sp-hero h1 { font: 400 clamp(46px, 6vw, 88px)/1 var(--serif); text-transform: none; letter-spacing: -.02em; }
.cp .sp-par { font: 400 clamp(26px, 2.6vw, 34px)/1.1 var(--script); color: var(--c-creme); }
.cp .btn { font-family: var(--c-sans); font-weight: 500; }
.cp .btn-light { background: var(--c-creme); color: var(--c-noir); }
.cp .btn-light:hover { background: #EAA93D; color: var(--c-noir); }
.cp .btn-ghost { border-color: rgba(252,244,204,.7); color: var(--c-creme); }
.cp .btn-ghost:hover { background: var(--c-creme); color: var(--c-noir); }
.cp .btn-accent { background: var(--c-noir); color: var(--c-creme); }
.cp .btn-accent:hover { background: var(--c-brun); color: #fff; }
.cp .sp-nav a { color: var(--c-brun); font-family: var(--c-sans); font-weight: 500; }
.cp .sp-nav a:hover { color: var(--c-noir); }
.cp .sp-accroche { font: 400 clamp(26px, 3vw, 38px)/1.2 var(--serif); color: var(--c-brun); }
.cp .sp-bio p { color: var(--c-noir); }
.cp .sp-infos, .cp .sp-infos div { border-color: rgba(101,85,68,.22); }
.cp .sp-infos dt { color: var(--c-sable); font-family: var(--c-sans); font-weight: 500; }
.cp .sp-liens a { border-color: rgba(46,46,46,.25); font-family: var(--c-sans); font-weight: 500; }
.cp .sp-liens a:hover { border-color: var(--c-brun); color: var(--c-brun); }
.cp .sp-booking { background: var(--c-creme); }
.cp .sp-booking .kicker { color: var(--c-brun); font-family: var(--c-sans); }
.cp .sp-booking-tel a { color: var(--c-noir); }
.cp .sp-affiche { box-shadow: 0 30px 60px rgba(46,46,46,.18); }
.cp .sp-bloc { border-color: rgba(101,85,68,.22); }
.cp .sp-bloc-icone { background: #EAA93D; border-radius: 50%; }
.cp .sp-bloc-icone svg { fill: var(--c-noir); }
.cp .sp-bloc-titre { font: 400 clamp(32px, 4vw, 52px)/1 var(--serif); text-transform: none; }
.cp .sp-onglets button { border-color: rgba(46,46,46,.2); font-family: var(--c-sans); font-weight: 500; }
.cp .sp-onglets button[aria-pressed="true"] { background: var(--c-noir); border-color: var(--c-noir); color: var(--c-creme); }
.cp .sp-fleches button { background: var(--c-noir); color: var(--c-creme); border-radius: 50%; }
.cp .sp-fleches button:hover { background: #EAA93D; color: var(--c-noir); }
.cp .concert { border-color: rgba(101,85,68,.22); }
.cp .concert-date { font-family: var(--serif); font-weight: 400; color: var(--c-brun); }
.cp .concert-date i { color: var(--c-noir); }
.cp .concert-lieu small, .cp .concert-passe, .cp .sp-note { color: var(--c-sable); }
.cp .concert-billet { color: var(--c-brun); font-family: var(--c-sans); }
.cp .concert-billet:hover { color: var(--c-noir); }
.cp .sp-video span { background: #EAA93D; color: var(--c-noir); }
.cp .tuile-titre { font: 400 clamp(22px, 2.2vw, 30px)/1.05 var(--serif); text-transform: none; }
.cp .vide { color: var(--c-sable); }
@media (max-width: 760px) {
  .cp-liens a:not(.cp-lien) { display: none; }
  .c-date { grid-template-columns: 1fr; gap: 8px; }
  .cp .sp-hero-img::after { background: linear-gradient(0deg, var(--c-noir) 0%, rgba(46,46,46,0) 35%); }
  .cp .sp-mot { -webkit-text-stroke-width: 1px; }
  .cp .sp-hero { min-height: 0; }
}

/* ---------- The Circle : mise en page d'Oregon Live, couleurs de la charte The Circle ---------- */
body.circle {
  --bleu: #2E2E2E; --bleu-2: #45413b; --orange: #EAA93D; --dore: #EAA93D; --mauve: #655544;
  --ink: #2E2E2E; --ink-2: #3a3734; --accent: #EAA93D; --accent-ink: #2E2E2E;
  --muted: #cbbfa8; --line: rgba(252, 244, 204, .18);
}
.circle .rail-logo-circle { width: 70px; height: auto; margin-top: 4px; }
.circle .rail-logo-circle img { width: 66px; transform: none; }
.circle .foot-circle { width: 120px; }
.circle .burger span { background: var(--c-noir); }
.circle .billet { color: var(--c-noir); }
.circle .billet-talon { border-left-color: rgba(46,46,46,.45); }
.circle .menu { color: var(--c-noir); }
.circle .menu nav a:hover, .circle .menu-foot a:hover { color: #fff; }
.circle .slide::after { background: linear-gradient(90deg, rgba(46,46,46,.94) 0%, rgba(46,46,46,.6) 55%, rgba(46,46,46,.2) 100%); }
.circle .slide-date span:first-child { color: var(--c-noir); }
.circle .slide-date span:last-child { background: var(--c-creme); color: var(--c-noir); }
.circle .btn-accent:hover { background: var(--c-creme); color: var(--c-noir); }
.circle .shows .lead { color: #6a655b; }
.circle .tuile:hover .tuile-titre, .circle .tuile:focus-visible .tuile-titre { color: var(--c-brun); }
.circle .hero-dots [aria-selected="true"] { outline-color: var(--c-or); }
.circle .sp-hero-img::after { background: linear-gradient(90deg, var(--c-noir) 0%, rgba(46,46,46,.55) 30%, rgba(46,46,46,.05) 70%); }
.circle .sp-hero-bloc, .circle .sp-hero-bloc .sp-par { color: var(--c-noir); }
.circle .sp-hero-bloc .kicker { color: var(--c-brun); }
.circle .sp-hero-bloc .btn-ghost { border-color: var(--c-noir); color: var(--c-noir); }
.circle .sp-hero-bloc .btn-ghost:hover { background: var(--c-noir); color: var(--c-creme); }
.circle .sp-bloc-icone svg { fill: var(--c-noir); }
.circle .sp-fleches button { color: var(--c-noir); }
.circle .sp-fleches button:hover { background: var(--c-creme); }
.circle .sp-booking { background: var(--bleu-2); }
@media (max-width: 760px) {
  .circle .rail-logo-circle { width: auto; }
  .circle .rail-logo-circle img { width: 50px; }
  .circle .sp-hero-img::after { background: linear-gradient(0deg, var(--c-or) 0%, rgba(234,169,61,0) 35%); }
}


/* ---------- Nos festivals (accueil Oregon Live) ---------- */
.festivals { background: var(--bleu-2); }
.festivals[hidden] { display: none; }
.festivals .lead { color: #e6e9f5; }
.festivals .kicker { color: var(--dore); }
.fest { display: grid; grid-template-columns: minmax(220px, 380px) 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.fest + .fest { margin-top: clamp(48px, 7vw, 96px); }
.fest-aff { display: block; transform: rotate(-2deg); box-shadow: 0 30px 60px rgba(0,0,0,.35); transition: transform .4s; }
.fest-aff:hover { transform: rotate(0) scale(1.02); }
.fest-aff img { width: 100%; }
.fest-titre { font: 800 clamp(40px, 5.5vw, 84px)/.95 var(--display); text-transform: uppercase; margin: 0 0 10px; padding-top: .06em; }
.fest-devise { font: 400 clamp(18px, 2vw, 24px)/1.3 var(--sans); font-style: italic; color: var(--dore); margin: 0 0 22px; }
.fest-quand { display: inline-grid; gap: 4px; background: var(--orange); padding: 12px 18px 10px; margin: 0 0 22px; font: 700 clamp(16px, 1.6vw, 20px)/1.2 var(--display); text-transform: uppercase; }
.fest-quand span { font-size: 12px; letter-spacing: .14em; opacity: .85; }
.fest-desc { font-size: 17px; line-height: 1.7; color: #e6e9f5; margin: 0 0 14px; max-width: 60ch; }
.fest-editions { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 18px 0 26px; }
.fest-editions dt { font: 800 22px/1 var(--display); color: var(--dore); }
.fest-editions dd { margin: 4px 0 0; font-size: 15px; }
.fest-btns { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
@media (max-width: 760px) {
  .fest { grid-template-columns: 1fr; }
  .fest-aff { max-width: 280px; }
}

/* Espace pro (pro.html) : documents réservés aux programmateurs */
.sp-pro { margin: 4px 0 8px; }
.sp-pro-txt { font-size: 13px; opacity: .8; margin: 0 0 16px !important; }
.pro { padding: 110px 0 90px; min-height: 70vh; }
.pro-tete { max-width: 1080px; }
.pro-retour { display: inline-block; margin-bottom: 28px; font: 600 15px/1 var(--display); text-decoration: none; opacity: .8; }
.pro-retour:hover { opacity: 1; color: var(--accent); }
.pro-tete .kicker { color: var(--dore); }
.pro-tete h1 { font: 800 clamp(44px, 7vw, 104px)/.92 var(--display); text-transform: uppercase; margin: 6px 0 18px; }
.pro-lead { font-size: 19px; max-width: 46ch; margin: 0 0 44px; color: #e6e9f5; }
.pro-corps { max-width: 1080px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 48px; align-items: start; }
.pro-form { display: grid; gap: 22px; }
.pro-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.pro-info { background: var(--bleu-2); padding: 26px; }
.pro-info p { margin: 0 0 12px; }
.pro-info p:last-child { margin: 0; }
.pro-bonjour { font-size: 19px; margin: 0 0 22px; }
.pro-liste { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 12px; }
.pro-doc { position: relative; display: grid; gap: 4px; padding: 18px 64px 16px 20px; background: rgba(255,255,255,.06); border-left: 4px solid var(--accent); text-decoration: none; transition: background .2s, transform .2s; }
.pro-doc:hover { background: rgba(255,255,255,.12); transform: translateX(4px); }
.pro-type { font: 700 12px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--dore); }
.pro-doc strong { font: 700 20px/1.2 var(--display); }
.pro-doc small { font-size: 13px; opacity: .75; }
.pro-dl { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #fff; font-weight: 700; }
.pro-sortir { font: 600 14px/1 var(--display); text-decoration: underline; opacity: .75; }
.pro-sortir:hover { opacity: 1; }
.circle .pro-doc { border-left-color: var(--c-or); }
.circle .pro-dl { background: var(--c-or); color: var(--c-noir); }
.circle .pro-info { background: rgba(252,244,204,.08); }
@media (max-width: 760px) {
  .pro { padding-top: 40px; }
  .pro-corps, .pro-form .row { grid-template-columns: 1fr; gap: 28px; }
}
