/* ============================================
   FORMATION DIRECTEUR — Page dédiée
   ============================================ */

@property --director-line-flow {
  syntax: '<length>';
  initial-value: 0px;
  inherits: false;
}

.director-page {
  --director-blue: #1f2f63;
  --director-deep: #15234d;
  --director-mid: #314b91;
  --director-pale: #e7edf8;
  --director-paper: #f8f7f3;
  --director-gold: #d99b2b;
  overflow: clip;
  background: var(--director-paper);
}

.director-page ul,
.director-page ol { list-style: none; }

.director-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--color-or-sombre);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.director-eyebrow::before { content: ''; width: 1.9rem; height: 1px; background: currentColor; }
.director-eyebrow--light { color: var(--color-or-clair); }

.director-text-link { display: inline-flex; align-items: center; gap: 0.65rem; color: var(--director-blue); font-size: 0.84rem; font-weight: 700; }
.director-text-link span { transition: translate var(--transition); }
.director-text-link:hover span { translate: 0 4px; }

.director-wave { position: absolute; left: -5%; right: -5%; pointer-events: none; }

/* ---------- Hero ---------- */
.director-hero {
  position: relative;
  min-height: min(920px, 94svh);
  display: grid;
  align-items: center;
  padding: calc(74px + 3.8rem) 0 9rem;
  background:
    radial-gradient(circle at 7% 24%, rgba(233, 181, 77, 0.17), transparent 21%),
    radial-gradient(circle at 88% 68%, rgba(49, 75, 145, 0.14), transparent 28%),
    linear-gradient(135deg, #fbfaf6, #f0f3fa 64%, #f8f7f3);
  isolation: isolate;
}

.director-hero__lines {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(31, 47, 99, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 47, 99, 0.035) 1px, transparent 1px);
  background-size: 90px 90px;
  mask-image: radial-gradient(ellipse 70% 78% at 75% 48%, #000, transparent 78%);
  transform: translateY(calc(var(--director-scroll, 0) * 20px));
}

.director-hero__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(440px, 0.95fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.director-hero__copy { position: relative; z-index: 2; }
.director-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 2rem; color: var(--color-texte-tres-doux); font-size: 0.69rem; }
.director-breadcrumb a { color: var(--color-texte-doux); }
.director-breadcrumb strong { color: var(--director-blue); font-weight: 650; }
.director-breadcrumb span { color: rgba(31, 47, 99, 0.26); }

.director-hero h1 { max-width: 790px; margin: 1.15rem 0 1.35rem; color: var(--director-blue); font-size: clamp(3rem, 5.25vw, 5.2rem); line-height: 0.98; letter-spacing: -0.04em; }
.director-hero h1 em { color: var(--color-or-sombre); font-style: normal; }
.director-hero__copy > p { max-width: 660px; color: var(--color-texte-doux); font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.72; }
.director-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.director-hero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 620px; margin-top: 2.6rem; padding-top: 1.4rem; border-top: 1px solid rgba(31, 47, 99, 0.12); }
.director-hero__facts li { display: flex; flex-direction: column; gap: 0.1rem; padding-right: 1rem; }
.director-hero__facts li + li { padding-left: 1.2rem; border-left: 1px solid rgba(31, 47, 99, 0.1); }
.director-hero__facts strong { color: var(--director-blue); font-family: var(--font-titre); font-size: 1.22rem; line-height: 1.2; }
.director-hero__facts span { color: var(--color-texte-tres-doux); font-size: 0.68rem; font-weight: 600; }
.director-wave--hero { bottom: -1px; height: 82px; border-radius: 50% 50% 0 0 / 48% 48% 0 0; background: var(--director-paper); }

/* Cockpit */
.director-hero__cockpit { justify-self: end; width: min(100%, 530px); perspective: 1200px; }
.director-cockpit {
  position: relative;
  aspect-ratio: 0.92;
  overflow: hidden;
  padding: 1.45rem;
  border: 1px solid rgba(233, 181, 77, 0.36);
  border-radius: 52px 16px 52px 16px;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(145deg, var(--director-mid), var(--director-deep));
  background-size: 36px 36px, 36px 36px, auto;
  box-shadow: 0 45px 100px rgba(31, 47, 99, 0.25);
  color: #fff;
  transform: rotateX(calc(var(--director-scroll, 0) * 1deg)) rotateY(calc(var(--director-scroll, 0) * -2deg));
  animation: director-cockpit-float 7s ease-in-out infinite;
}
.director-cockpit::before { content: ''; position: absolute; inset: 11px; pointer-events: none; border: 1px solid rgba(255,255,255,.08); border-radius: 44px 10px 44px 10px; }
.director-cockpit__top { display: flex; align-items: center; gap: 0.7rem; color: rgba(255,255,255,.46); font-size: 0.51rem; font-weight: 750; letter-spacing: 0.13em; }
.director-cockpit__top i { width: 7px; aspect-ratio: 1; margin-left: auto; border-radius: 50%; background: #67d79d; box-shadow: 0 0 0 5px rgba(103,215,157,.12); }
.director-cockpit__top strong { color: var(--color-or-clair); font-size: 0.5rem; }
.director-cockpit__radar { position: relative; height: 62%; margin-top: 0.8rem; }
.director-cockpit__ring { position: absolute; left: 50%; top: 50%; aspect-ratio: 1; translate: -50% -50%; border: 1px solid rgba(233,181,77,.2); border-radius: 50%; }
.director-cockpit__ring--1 { width: 82%; }
.director-cockpit__ring--2 { width: 57%; border-style: dashed; animation: director-rotate 24s linear infinite; }
.director-cockpit__ring--3 { width: 32%; }
.director-cockpit__needle { position: absolute; z-index: 2; left: 50%; top: 50%; width: 39%; height: 1px; transform-origin: 0 50%; rotate: calc(-22deg + var(--director-scroll, 0) * 52deg); background: linear-gradient(90deg, var(--color-or-clair), transparent); transition: rotate .1s linear; }
.director-cockpit__needle::before { content: ''; position: absolute; left: -4px; top: -4px; width: 9px; aspect-ratio: 1; border-radius: 50%; background: var(--color-or-clair); box-shadow: 0 0 0 8px rgba(233,181,77,.12); }
.director-cockpit__radar > b { position: absolute; z-index: 3; left: 50%; top: 50%; width: 135px; aspect-ratio: 1; display: grid; place-content: center; translate: -50% -50%; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; background: rgba(19,34,76,.82); box-shadow: 0 22px 50px rgba(7,15,43,.3), inset 0 0 0 10px rgba(255,255,255,.025); font-family: var(--font-titre); font-size: 1rem; line-height: 1.05; text-align: center; }
.director-cockpit__radar > b small { display: block; margin-bottom: .2rem; color: var(--color-or-clair); font-family: var(--font-corps); font-size: .48rem; letter-spacing: .1em; text-transform: uppercase; }
.director-cockpit .signal { position: absolute; padding: .42rem .66rem; border: 1px solid rgba(255,255,255,.12); border-radius: 100px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.72); font-style: normal; font-size: .52rem; font-weight: 650; backdrop-filter: blur(7px); animation: director-signal-float 5s ease-in-out infinite; }
.director-cockpit .signal--1 { left: 6%; top: 19%; }
.director-cockpit .signal--2 { right: 3%; top: 27%; animation-delay: -1.2s; }
.director-cockpit .signal--3 { left: 5%; bottom: 17%; animation-delay: -2.4s; }
.director-cockpit .signal--4 { right: 4%; bottom: 13%; animation-delay: -3.6s; }
.director-cockpit__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.director-cockpit__metrics > span { position: relative; min-width: 0; padding: .75rem; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(255,255,255,.05); }
.director-cockpit__metrics small { display: block; color: rgba(255,255,255,.38); font-size: .43rem; letter-spacing: .08em; text-transform: uppercase; }
.director-cockpit__metrics b { display: block; margin-top: .25rem; overflow: hidden; color: #fff; font-family: var(--font-titre); font-size: .78rem; text-overflow: ellipsis; }
.director-cockpit__metrics i { display: block; width: 74%; height: 2px; margin-top: .45rem; background: linear-gradient(90deg, var(--color-or-clair), rgba(255,255,255,.08)); }
.director-cockpit__footer { position: absolute; left: 1.45rem; right: 1.45rem; bottom: .8rem; display: flex; justify-content: space-between; color: rgba(255,255,255,.35); font-size: .43rem; letter-spacing: .08em; }
.director-cockpit__footer strong { color: #67d79d; }

/* ---------- Week ---------- */
.director-week {
  position: relative;
  padding: 6.5rem 0 9rem;
  background:
    radial-gradient(circle at 50% 62%, rgba(49,75,145,.12), rgba(49,75,145,.035) 28%, transparent 54%),
    var(--director-paper);
}
.director-section-heading { max-width: 820px; margin-bottom: 3.5rem; }
.director-section-heading--center { margin-inline: auto; text-align: center; }
.director-section-heading h2,
.director-shift h2,
.director-fit h2,
.director-practical h2,
.director-faq h2 { margin: .8rem 0 1rem; color: var(--director-blue); font-size: clamp(2.4rem, 4.3vw, 4.1rem); line-height: 1.02; letter-spacing: -.025em; }
.director-section-heading p,
.director-shift__copy > p,
.director-fit__copy > p,
.director-practical__content > p,
.director-faq__heading > p { color: var(--color-texte-doux); line-height: 1.75; }
.director-section-heading--center p { max-width: 700px; margin-inline: auto; }
.director-week__stage { position: relative; min-height: 630px; max-width: 1160px; margin: 0 auto; isolation: isolate; }
.director-week__stage::before,
.director-week__stage::after { content: ''; position: absolute; z-index: 0; left: 50%; top: 50%; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; pointer-events: none; }
.director-week__stage::before { width: 580px; border: 2px solid rgba(31,47,99,.48); box-shadow: 0 0 0 28px rgba(49,75,145,.07), 0 0 0 92px rgba(217,155,43,.055), 0 0 35px rgba(31,47,99,.12); animation: director-week-halo 4.6s ease-in-out infinite; }
.director-week__stage::after { width: 500px; background: conic-gradient(from 12deg, var(--director-gold) 0 7%, transparent 7% 20%, rgba(31,47,99,.92) 20% 31%, transparent 31% 47%, rgba(217,155,43,.92) 47% 55%, transparent 55% 72%, rgba(49,75,145,.95) 72% 83%, transparent 83% 100%); -webkit-mask: radial-gradient(circle, transparent 0 64%, #000 65% 70%, transparent 71%); mask: radial-gradient(circle, transparent 0 64%, #000 65% 70%, transparent 71%); filter: drop-shadow(0 0 6px rgba(217,155,43,.48)) drop-shadow(0 0 9px rgba(31,47,99,.2)); animation: director-rotate 9s linear infinite; }
.director-week__center { position: absolute; z-index: 3; left: 50%; top: 50%; width: 260px; aspect-ratio: 1; display: grid; place-content: center; isolation: isolate; translate: -50% -50%; border: 2px solid rgba(31,47,99,.42); border-radius: 50%; background: linear-gradient(145deg,#fff 0 68%,#f0f4fb 100%); box-shadow: 0 30px 75px rgba(31,47,99,.23), inset 0 0 0 18px #edf2fa, 0 0 0 8px rgba(255,255,255,.9); text-align: center; animation: director-week-center-breathe 4.8s ease-in-out infinite; }
.director-week__center::before { content: ''; position: absolute; inset: -57px; z-index: -2; border: 3px dashed rgba(217,155,43,.92); border-radius: 50%; filter: drop-shadow(0 0 5px rgba(217,155,43,.38)); animation: director-rotate 14s linear infinite reverse; }
.director-week__center::after { content: ''; position: absolute; inset: -79px; z-index: -1; border-radius: 50%; background: radial-gradient(circle at 50% 0, #fff 0 5px, var(--director-gold) 6px 10px, transparent 11px), radial-gradient(circle at 100% 50%, #fff 0 4px, var(--director-mid) 5px 8px, transparent 9px); filter: drop-shadow(0 0 8px rgba(217,155,43,.72)); animation: director-rotate 7.5s linear infinite; }
.director-week__center span { color: var(--color-or-sombre); font-size: .55rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.director-week__center strong { margin-top: .35rem; color: var(--director-blue); font-family: var(--font-titre); font-size: 1.55rem; line-height: 1.06; }
.director-week__center i { width: 48px; height: 2px; margin: 1rem auto 0; background: var(--director-gold); }
.director-week__card { position: absolute; z-index: 2; width: min(31%, 330px); min-height: 180px; padding: 1.5rem; border: 1px solid rgba(31,47,99,.2); border-radius: 24px 8px 24px 8px; background: linear-gradient(145deg,#fff 0 76%,rgba(231,237,248,.78) 100%); box-shadow: 0 22px 52px rgba(31,47,99,.13); transition: translate .35s ease, border-color .35s ease, box-shadow .35s ease; animation: director-week-card-float 6s ease-in-out infinite; }
.director-week__card::before { content: ''; position: absolute; left: 1.5rem; top: -2px; width: 58px; height: 4px; border-radius: 99px; background: linear-gradient(90deg,var(--director-gold),var(--director-mid)); box-shadow: 0 0 12px rgba(217,155,43,.28); }
.director-week__card::after { content: ''; position: absolute; top: 50%; width: 12px; aspect-ratio: 1; translate: 0 -50%; border: 3px solid #fff; border-radius: 50%; background: var(--director-gold); box-shadow: 0 0 0 2px rgba(31,47,99,.5), 0 0 14px rgba(217,155,43,.55); }
.director-week__card--1::after,
.director-week__card--3::after { right: -7px; }
.director-week__card--2::after,
.director-week__card--4::after { left: -7px; }
.director-week__card:hover { translate: 0 -7px; border-color: rgba(217,155,43,.72); box-shadow: 0 30px 68px rgba(31,47,99,.19); animation-play-state: paused; }
.director-week__card small { color: var(--color-or-sombre); font-size: .55rem; font-weight: 800; letter-spacing: .1em; }
.director-week__card strong { display: block; margin-top: .6rem; color: var(--director-blue); font-family: var(--font-titre); font-size: 1.35rem; }
.director-week__card p { margin-top: .4rem; color: var(--color-texte-doux); font-size: .78rem; line-height: 1.58; }
.director-week__card--1 { left: 2%; top: 3%; }
.director-week__card--2 { right: 2%; top: 3%; animation-delay: -1.5s; }
.director-week__card--3 { left: 2%; bottom: 3%; animation-delay: -3s; }
.director-week__card--4 { right: 2%; bottom: 3%; animation-delay: -4.5s; }
.director-week__connections { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.director-week__connections path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.director-week__connection-base { stroke: rgba(31,47,99,.72); stroke-width: 2.25; filter: drop-shadow(0 1px 1px rgba(255,255,255,.9)); }
.director-week__connection-flow { stroke: rgba(217,155,43,1); stroke-width: 3.4; stroke-dasharray: 20 13; stroke-dashoffset: calc((var(--director-week-scroll, 0) * -190px) + var(--director-line-flow)); filter: drop-shadow(0 0 7px rgba(217,155,43,.7)); animation: director-week-flow 1.9s linear infinite; }

/* ---------- Interactive program ---------- */
.director-program { position: relative; padding: 10rem 0; background: var(--director-blue); color: #fff; }
.director-wave--program-top { top: -1px; height: 78px; border-radius: 0 0 50% 50% / 0 0 70% 70%; background: var(--director-paper); }
.director-wave--program-bottom { bottom: -1px; height: 78px; border-radius: 50% 50% 0 0 / 70% 70% 0 0; background: var(--director-paper); }
.director-program .director-section-heading h2 { color: #fff; }
.director-program .director-section-heading p { color: rgba(255,255,255,.64); }
.director-console { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 20px 58px 20px 20px; background: rgba(255,255,255,.06); box-shadow: 0 35px 90px rgba(8,16,44,.3); }
.director-console__tabs { display: grid; grid-template-columns: repeat(5, 1fr); border-bottom: 1px solid rgba(255,255,255,.11); }
.director-console__tab { display: flex; align-items: center; gap: .75rem; min-height: 78px; padding: 1rem 1.2rem; border: 0; border-right: 1px solid rgba(255,255,255,.09); background: transparent; color: rgba(255,255,255,.47); cursor: pointer; text-align: left; transition: background .3s ease, color .3s ease; }
.director-console__tab:last-child { border-right: 0; }
.director-console__tab span { width: 28px; aspect-ratio: 1; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; font-size: .47rem; }
.director-console__tab strong { font-size: .66rem; letter-spacing: .03em; }
.director-console__tab:hover { color: #fff; background: rgba(255,255,255,.04); }
.director-console__tab.is-active { background: rgba(233,181,77,.11); color: #fff; }
.director-console__tab.is-active span { border-color: var(--color-or-clair); background: var(--director-gold); color: var(--director-deep); }
.director-console__panels { min-height: 560px; }
.director-console__panel { min-height: 560px; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr); align-items: center; gap: clamp(2.5rem, 6vw, 6rem); padding: clamp(2.4rem, 5vw, 5rem); }
.director-console__panel[hidden] { display: none; }
.director-console__panel.is-entering .director-console__copy { animation: director-panel-copy .55s ease both; }
.director-console__panel.is-entering .director-console__visual { animation: director-panel-visual .65s cubic-bezier(.2,.8,.2,1) both; }
.director-console__copy > span { color: var(--color-or-clair); font-size: .58rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.director-console__copy h3 { max-width: 710px; margin: 1rem 0; color: #fff; font-size: clamp(2.2rem, 3.8vw, 3.65rem); line-height: 1.03; }
.director-console__copy > p { max-width: 680px; color: rgba(255,255,255,.65); line-height: 1.75; }
.director-console__output { display: flex; align-items: center; gap: .8rem; margin-top: 1.8rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.11); color: #fff; font-size: .78rem; font-weight: 650; }
.director-console__output svg { width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: rgba(255,255,255,.08); fill: none; stroke: var(--color-or-clair); stroke-width: 2; }
.director-console__output span { display: flex; flex-direction: column; }
.director-console__output small { color: rgba(255,255,255,.36); font-size: .5rem; letter-spacing: .09em; text-transform: uppercase; }
.director-console__visual { position: relative; min-height: 350px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 42px 12px 42px 12px; background: rgba(255,255,255,.055); }

/* Program visual variants */
.director-panel__compass { position: relative; width: 250px; aspect-ratio: 1; border: 1px solid rgba(233,181,77,.3); border-radius: 50%; box-shadow: inset 0 0 0 35px rgba(255,255,255,.025); }
.director-panel__compass::before,
.director-panel__compass::after { content: ''; position: absolute; left: 50%; top: 50%; background: rgba(255,255,255,.13); translate: -50% -50%; }
.director-panel__compass::before { width: 120%; height: 1px; }
.director-panel__compass::after { width: 1px; height: 120%; }
.director-panel__compass > span { position: absolute; left: 50%; top: 50%; width: 42%; height: 2px; transform-origin: 0 50%; rotate: -36deg; background: linear-gradient(90deg, var(--color-or-clair), transparent); animation: director-needle-scan 5s ease-in-out infinite; }
.director-panel__compass > i { position: absolute; left: 50%; top: 50%; width: 16px; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: var(--color-or-clair); box-shadow: 0 0 0 10px rgba(233,181,77,.12); }
.director-panel__compass b { position: absolute; left: 50%; top: 42%; translate: -50% -50%; color: #fff; font-family: var(--font-titre); font-size: 2.1rem; }
.director-panel__compass small { position: absolute; left: 50%; top: 61%; width: 160px; translate: -50% -50%; color: rgba(255,255,255,.48); font-size: .57rem; text-align: center; }
.director-panel__progress { position: relative; width: 270px; height: 250px; display: flex; align-items: end; justify-content: center; gap: 1rem; padding-bottom: 2.2rem; }
.director-panel__progress > span { position: relative; width: 45px; height: var(--level); border-radius: 10px 10px 3px 3px; background: linear-gradient(var(--color-or-clair), rgba(233,181,77,.18)); transform-origin: bottom; animation: director-bar-grow .8s ease both; }
.director-panel__progress > span:nth-child(2) { animation-delay: .12s; }
.director-panel__progress > span:nth-child(3) { animation-delay: .24s; }
.director-panel__progress > span i { position: absolute; left: 50%; bottom: -1.4rem; translate: -50% 0; color: rgba(255,255,255,.48); font-style: normal; font-size: .48rem; }
.director-panel__progress > strong { position: absolute; left: 50%; top: 42%; width: 150px; translate: -50% -50%; padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(20,34,77,.9); color: #fff; font-family: var(--font-titre); text-align: center; }
.director-panel__progress > strong small { color: var(--color-or-clair); font-family: var(--font-corps); font-size: .48rem; }
.director-panel__network { position: relative; width: 280px; aspect-ratio: 1; border: 1px dashed rgba(233,181,77,.28); border-radius: 50%; animation: director-rotate 25s linear infinite; }
.director-panel__network b,
.director-panel__network span { position: absolute; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: var(--director-deep); color: #fff; font-size: .57rem; animation: director-counter-rotate 25s linear infinite; }
.director-panel__network b { left: 50%; top: 50%; width: 105px; aspect-ratio: 1; translate: -50% -50%; color: var(--color-or-clair); font-family: var(--font-titre); font-size: .85rem; }
.director-panel__network span { width: 78px; aspect-ratio: 1; }
.director-panel__network .n1 { left: -8%; top: 30%; }
.director-panel__network .n2 { right: -8%; top: 24%; }
.director-panel__network .n3 { left: 50%; bottom: -12%; translate: -50% 0; }
.director-panel__network i { position: absolute; left: 50%; top: 50%; width: 8px; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: var(--color-or-clair); box-shadow: 0 0 18px var(--color-or-clair); }
.director-panel__team { width: 290px; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.director-panel__team b { grid-column: 1 / -1; padding: 1.1rem; border: 1px solid rgba(233,181,77,.35); border-radius: 12px; color: var(--color-or-clair); font-family: var(--font-titre); text-align: center; }
.director-panel__team span { display: flex; align-items: center; gap: .6rem; padding: .9rem; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; color: rgba(255,255,255,.7); font-size: .57rem; animation: director-team-in .55s both; }
.director-panel__team span:nth-of-type(2) { animation-delay: .1s; }
.director-panel__team span:nth-of-type(3) { animation-delay: .2s; }
.director-panel__team span:nth-of-type(4) { animation-delay: .3s; }
.director-panel__team i { width: 9px; aspect-ratio: 1; border-radius: 50%; background: #67d79d; }
.director-panel__calendar { position: relative; width: 310px; display: grid; grid-template-columns: repeat(5, 1fr); gap: .45rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; }
.director-panel__calendar b { grid-column: 1 / -1; padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,.1); color: #fff; font-family: var(--font-titre); font-size: 1rem; }
.director-panel__calendar span { display: grid; place-items: center; height: 42px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; color: rgba(255,255,255,.48); font-size: .53rem; }
.director-panel__calendar i { position: absolute; height: 7px; border-radius: 100px; background: var(--color-or-clair); animation: director-calendar-in .7s ease both; }
.director-panel__calendar .c1 { left: 12%; right: 47%; bottom: 4.1rem; }
.director-panel__calendar .c2 { left: 37%; right: 12%; bottom: 2.8rem; animation-delay: .15s; background: #67d79d; }
.director-panel__calendar .c3 { left: 22%; right: 30%; bottom: 1.5rem; animation-delay: .3s; background: rgba(255,255,255,.4); }

/* ---------- Shift ---------- */
.director-shift { padding: 8rem 0; }
.director-shift__grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.director-shift__board { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; overflow: hidden; border: 1px solid rgba(31,47,99,.1); border-radius: 30px 10px 30px 10px; background: #fff; box-shadow: 0 28px 75px rgba(31,47,99,.09); }
.director-shift__column { padding: 2rem; }
.director-shift__column > span { display: inline-flex; padding: .4rem .7rem; border-radius: 100px; font-size: .56rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.director-shift__column ul { display: grid; gap: .9rem; margin-top: 1.5rem; }
.director-shift__column li { position: relative; padding-left: 1.3rem; color: var(--color-texte-doux); font-size: .78rem; line-height: 1.5; }
.director-shift__column li::before { content: ''; position: absolute; left: 0; top: .6em; width: .45rem; height: 2px; }
.director-shift__column--before { background: #f1f2f5; }
.director-shift__column--before > span { background: #e3e5ea; color: #707789; }
.director-shift__column--before li::before { background: #a7adba; }
.director-shift__column--after { background: #edf2fb; }
.director-shift__column--after > span { background: var(--director-blue); color: #fff; }
.director-shift__column--after li { color: var(--director-blue); font-weight: 550; }
.director-shift__column--after li::before { background: var(--director-gold); }
.director-shift__switch { display: grid; place-items: center; width: 50px; color: var(--director-blue); font-family: var(--font-titre); font-size: 1.4rem; }

/* ---------- Leadership ---------- */
.director-leadership { position: relative; overflow: hidden; padding: 9rem 0; background: linear-gradient(145deg, var(--director-mid), var(--director-deep)); color: #fff; }
.director-leadership::before { content: ''; position: absolute; width: 720px; aspect-ratio: 1; right: -260px; top: -330px; border: 1px solid rgba(233,181,77,.12); border-radius: 50%; }
.director-leadership__grid { display: grid; grid-template-columns: minmax(390px,.85fr) minmax(0,1.15fr); gap: clamp(3rem,8vw,8rem); align-items: center; }
.director-leadership__scene { position: relative; width: min(100%,460px); aspect-ratio: 1; }
.director-leadership__orbit { position: absolute; left: 50%; top: 50%; aspect-ratio: 1; translate: -50% -50%; border: 1px solid rgba(233,181,77,.24); border-radius: 50%; }
.director-leadership__orbit--1 { width: 84%; animation: director-rotate 28s linear infinite; }
.director-leadership__orbit--2 { width: 60%; border-style: dashed; animation: director-rotate 19s linear infinite reverse; }
.director-leadership__core { position: absolute; left: 50%; top: 50%; width: 220px; aspect-ratio: 1; display: grid; place-content: center; translate: -50% -50%; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 15px rgba(255,255,255,.025), 0 28px 60px rgba(8,16,43,.24); text-align: center; }
.director-leadership__core small { color: var(--color-or-clair); font-size: .55rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.director-leadership__core strong { margin-top: .5rem; font-family: var(--font-titre); font-size: 1.2rem; line-height: 1.12; }
.director-leadership__scene > i { position: absolute; min-width: 82px; padding: .7rem .9rem; border: 1px solid rgba(255,255,255,.14); border-radius: 100px; background: rgba(255,255,255,.08); box-shadow: 0 16px 35px rgba(8,16,43,.2); color: #fff; font-style: normal; font-size: .63rem; text-align: center; backdrop-filter: blur(8px); animation: director-signal-float 5s ease-in-out infinite; }
.director-leadership__scene .p1 { left: 0; top: 20%; }
.director-leadership__scene .p2 { right: 0; top: 35%; animation-delay: -1.6s; }
.director-leadership__scene .p3 { left: 12%; bottom: 10%; animation-delay: -3.2s; }
.director-leadership__copy h2 { margin: .8rem 0 1rem; color: #fff; font-size: clamp(2.5rem,4.5vw,4.2rem); line-height: 1.02; }
.director-leadership__copy > p { max-width: 690px; color: rgba(255,255,255,.66); line-height: 1.75; }
.director-leadership__principles { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin-top: 2rem; }
.director-leadership__principles article { padding: 1.25rem; border: 1px solid rgba(255,255,255,.1); border-radius: 14px 5px 14px 5px; background: rgba(255,255,255,.045); }
.director-leadership__principles span { color: var(--color-or-clair); font-size: .5rem; font-weight: 800; }
.director-leadership__principles strong { display: block; margin-top: .6rem; font-family: var(--font-titre); font-size: .9rem; }
.director-leadership__principles p { margin-top: .35rem; color: rgba(255,255,255,.5); font-size: .66rem; line-height: 1.5; }

/* ---------- Results ---------- */
.director-results { padding: 8rem 0; }
.director-results__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .9rem; }
.director-results__grid article { min-height: 310px; display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid rgba(31,47,99,.1); border-radius: 24px 8px 24px 8px; background: #fff; box-shadow: 0 18px 45px rgba(31,47,99,.06); transition: translate .35s ease, box-shadow .35s ease, border-color .35s ease; }
.director-results__grid article:hover { translate: 0 -5px; border-color: rgba(217,155,43,.45); box-shadow: 0 28px 60px rgba(31,47,99,.11); }
.director-results__grid article > span { color: var(--color-or-sombre); font-size: .55rem; font-weight: 800; }
.director-results__grid svg { width: 44px; height: 44px; margin-top: auto; padding: 10px; border-radius: 13px; background: var(--director-pale); fill: none; stroke: var(--director-blue); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.director-results__grid h3 { margin-top: 1rem; color: var(--director-blue); font-size: 1.2rem; }
.director-results__grid p { margin-top: .45rem; color: var(--color-texte-doux); font-size: .75rem; line-height: 1.55; }

/* ---------- Fit ---------- */
.director-fit { padding: 1rem 0 8rem; }
.director-fit__card { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(3rem,7vw,7rem); padding: clamp(2.5rem,5vw,5rem); border: 1px solid rgba(31,47,99,.1); border-radius: 54px 14px 54px 14px; background: #fff; box-shadow: 0 28px 75px rgba(31,47,99,.08); }
.director-fit__profiles { display: grid; gap: .8rem; }
.director-fit__profiles article { display: grid; grid-template-columns: 2rem 1fr; column-gap: 1rem; padding: 1.35rem; border-radius: 16px 6px 16px 6px; background: #f0f3f9; }
.director-fit__profiles article:nth-child(2) { background: #f8f2e7; }
.director-fit__profiles span { grid-row: 1 / 3; width: 2rem; height: 2rem; display: grid; place-items: center; border: 1px solid rgba(31,47,99,.12); border-radius: 50%; color: var(--color-or-sombre); font-size: .5rem; font-weight: 800; }
.director-fit__profiles strong { color: var(--director-blue); font-family: var(--font-titre); font-size: 1rem; }
.director-fit__profiles p { margin-top: .25rem; color: var(--color-texte-doux); font-size: .74rem; line-height: 1.52; }

/* ---------- Follow-up ---------- */
.director-followup { padding: 0 0 8rem; }
.director-followup__card { display: grid; grid-template-columns: 190px minmax(0,1fr) auto; align-items: center; gap: clamp(2rem,5vw,5rem); padding: clamp(2.2rem,4vw,4rem); border-radius: 18px 56px 18px 18px; background: var(--director-blue); box-shadow: 0 32px 80px rgba(31,47,99,.2); color: #fff; }
.director-followup__number { position: relative; width: 170px; aspect-ratio: 1; display: grid; place-content: center; border: 1px solid rgba(233,181,77,.28); border-radius: 50%; text-align: center; }
.director-followup__number::before { content: ''; position: absolute; inset: 17px; border: 1px dashed rgba(255,255,255,.13); border-radius: 50%; animation: director-rotate 18s linear infinite; }
.director-followup__number strong { font-family: var(--font-titre); font-size: 4rem; line-height: .8; }
.director-followup__number span { color: var(--color-or-clair); font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.director-followup__number i { position: absolute; right: 11px; top: 28px; width: 12px; aspect-ratio: 1; border-radius: 50%; background: var(--color-or-clair); box-shadow: 0 0 0 7px rgba(233,181,77,.12); }
.director-followup__copy h2 { margin: .7rem 0 .8rem; color: #fff; font-size: clamp(2rem,3.4vw,3.2rem); line-height: 1.04; }
.director-followup__copy > p { color: rgba(255,255,255,.62); font-size: .82rem; line-height: 1.7; }
.director-followup__copy ul { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.director-followup__copy li { padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.12); border-radius: 100px; color: rgba(255,255,255,.7); font-size: .6rem; }
.director-followup__card > .btn { white-space: nowrap; }

/* ---------- Practical ---------- */
.director-practical { padding: 8rem 0; background: #edf2f9; }
.director-practical__grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(350px,.88fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.director-practical__facts { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 2rem 0; }
.director-practical__facts article { padding: 1.35rem; border: 1px solid rgba(31,47,99,.1); border-radius: 16px 6px 16px 6px; background: rgba(255,255,255,.75); }
.director-practical__facts strong { display: block; color: var(--director-blue); font-family: var(--font-titre); font-size: 1.2rem; }
.director-practical__facts span { color: var(--color-texte-tres-doux); font-size: .65rem; }
.director-practical__content > p { max-width: 760px; font-size: .79rem; }
.director-practical__cta { position: sticky; top: 112px; padding: clamp(2rem,4vw,3.2rem); border-radius: 18px 52px 18px 18px; background: var(--director-blue); box-shadow: 0 30px 75px rgba(31,47,99,.2); color: #fff; }
.director-practical__cta > span { color: var(--color-or-clair); font-size: .59rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.director-practical__cta h3 { margin: 1rem 0; color: #fff; font-size: clamp(1.7rem,2.7vw,2.4rem); line-height: 1.08; }
.director-practical__cta p { color: rgba(255,255,255,.65); font-size: .82rem; line-height: 1.7; }
.director-practical__cta .btn { width: 100%; justify-content: center; margin-top: 1.7rem; }
.director-practical__cta small { display: block; margin-top: .8rem; color: rgba(255,255,255,.4); font-size: .57rem; text-align: center; }

/* ---------- FAQ and final ---------- */
.director-faq { padding: 8rem 0; }
.director-faq__grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(3rem,8vw,8rem); }
.director-faq__heading { position: sticky; top: 120px; align-self: start; }
.director-faq__heading a { color: var(--color-or-sombre); font-weight: 650; }
.director-faq__items { border-top: 1px solid rgba(31,47,99,.12); }
.director-faq details { border-bottom: 1px solid rgba(31,47,99,.12); }
.director-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.6rem 0; cursor: pointer; list-style: none; color: var(--director-blue); font-family: var(--font-titre); font-size: 1.14rem; line-height: 1.3; }
.director-faq summary::-webkit-details-marker { display: none; }
.director-faq summary i { position: relative; width: 28px; aspect-ratio: 1; flex: 0 0 auto; border: 1px solid rgba(31,47,99,.16); border-radius: 50%; }
.director-faq summary i::before,
.director-faq summary i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 1px; translate: -50% -50%; background: var(--color-or-sombre); transition: rotate .3s ease; }
.director-faq summary i::after { rotate: 90deg; }
.director-faq details[open] summary i::after { rotate: 0deg; }
.director-faq details p { max-width: 700px; padding: 0 3rem 1.6rem 0; color: var(--color-texte-doux); font-size: .84rem; line-height: 1.7; }
.director-final { padding: 1rem 0 8rem; }
.director-final__card { position: relative; overflow: hidden; padding: clamp(3rem,7vw,6.5rem); border-radius: 18px 70px 18px 18px; background: linear-gradient(145deg,var(--director-mid),var(--director-deep)); box-shadow: 0 38px 90px rgba(31,47,99,.22); color: #fff; text-align: center; }
.director-final__card::before { content: ''; position: absolute; width: 560px; aspect-ratio: 1; left: 50%; top: 50%; translate: -50% -50%; border: 1px solid rgba(233,181,77,.13); border-radius: 50%; box-shadow: 0 0 0 100px rgba(255,255,255,.018),0 0 0 200px rgba(255,255,255,.012); }
.director-final__card > * { position: relative; }
.director-final__card h2 { max-width: 900px; margin: 1rem auto; color: #fff; font-size: clamp(2.6rem,5vw,4.7rem); line-height: 1.02; }
.director-final__card > p { max-width: 720px; margin-inline: auto; color: rgba(255,255,255,.65); }
.director-final__card > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.4rem; margin-top: 2rem; }
.director-final__link { color: rgba(255,255,255,.76); font-size: .78rem; font-weight: 650; }
.director-final__link:hover { color: #fff; }

/* ---------- Motion ---------- */
@keyframes director-cockpit-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes director-rotate { to { rotate: 360deg; } }
@keyframes director-counter-rotate { to { rotate: -360deg; } }
@keyframes director-signal-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes director-panel-copy { from { opacity: 0; translate: -18px 0; } to { opacity: 1; translate: 0; } }
@keyframes director-panel-visual { from { opacity: 0; scale: .94; rotate: 1deg; } to { opacity: 1; scale: 1; rotate: 0deg; } }
@keyframes director-needle-scan { 0%,100% { rotate: -42deg; } 50% { rotate: 38deg; } }
@keyframes director-bar-grow { from { scale: 1 0; opacity: 0; } to { scale: 1; opacity: 1; } }
@keyframes director-team-in { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0; } }
@keyframes director-calendar-in { from { scale: 0 1; transform-origin: left; } to { scale: 1; transform-origin: left; } }
@keyframes director-week-flow { to { --director-line-flow: -56px; } }
@keyframes director-week-halo { 0%,100% { opacity: .65; scale: .97; } 50% { opacity: 1; scale: 1.035; } }
@keyframes director-week-center-breathe { 0%,100% { scale: .985; } 50% { scale: 1.02; } }
@keyframes director-week-card-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .director-hero { min-height: auto; padding-top: calc(74px + 3rem); }
  .director-hero__inner { grid-template-columns: 1fr; gap: 4rem; }
  .director-hero__copy { max-width: 830px; }
  .director-hero__cockpit { justify-self: center; width: min(100%,560px); }
  .director-shift__grid,
  .director-leadership__grid,
  .director-fit__card,
  .director-practical__grid,
  .director-faq__grid { grid-template-columns: 1fr; }
  .director-leadership__scene { justify-self: center; }
  .director-practical__cta,
  .director-faq__heading { position: static; }
  .director-practical__cta { max-width: 680px; }
  .director-results__grid { grid-template-columns: 1fr 1fr; }
  .director-followup__card { grid-template-columns: 170px 1fr; }
  .director-followup__card > .btn { grid-column: 2; justify-self: start; }
}

@media (max-width: 800px) {
  .director-hero { padding-bottom: 7rem; }
  .director-hero h1 { font-size: clamp(2.65rem,11.5vw,4rem); }
  .director-hero__cockpit { width: min(100%,470px); }
  .director-cockpit { border-radius: 38px 12px 38px 12px; }
  .director-week { padding: 5rem 0 6.5rem; }
  .director-week__stage { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
  .director-week__stage::before,
  .director-week__stage::after { display: none; }
  .director-week__center { position: relative; grid-column: 1 / -1; left: auto; top: auto; width: 220px; margin: 1rem auto 2.5rem; translate: 0; }
  .director-week__card { position: relative; inset: auto; width: auto; min-height: 180px; }
  .director-week__connections { display: none; }
  .director-week__card::after { display: none; }
  .director-program { padding: 8rem 0; }
  .director-console { border-radius: 16px 38px 16px 16px; }
  .director-console__tabs { overflow-x: auto; grid-template-columns: repeat(5,minmax(126px,1fr)); scrollbar-width: thin; }
  .director-console__tab { min-height: 70px; }
  .director-console__panel { grid-template-columns: 1fr; min-height: 0; padding: 2rem; }
  .director-console__visual { min-height: 330px; }
  .director-shift { padding: 6rem 0; }
  .director-leadership { padding: 6.5rem 0; }
  .director-leadership__copy { order: -1; }
  .director-leadership__principles { grid-template-columns: 1fr; }
  .director-results { padding: 6rem 0; }
  .director-results__grid article { min-height: 260px; }
  .director-fit { padding-bottom: 6rem; }
  .director-followup { padding-bottom: 6rem; }
  .director-followup__card { grid-template-columns: 1fr; text-align: center; }
  .director-followup__number { justify-self: center; }
  .director-followup__copy ul { justify-content: center; }
  .director-followup__card > .btn { grid-column: auto; justify-self: center; }
  .director-practical,
  .director-faq { padding: 6rem 0; }
  .director-final { padding-bottom: 6rem; }
}

@media (max-width: 520px) {
  .director-hero { padding-top: calc(74px + 2rem); }
  .director-breadcrumb { margin-bottom: 1.5rem; font-size: .6rem; }
  .director-hero__actions { align-items: stretch; flex-direction: column; }
  .director-hero__actions .btn { width: 100%; justify-content: center; }
  .director-hero__facts li { padding-right: .5rem; }
  .director-hero__facts li + li { padding-left: .6rem; }
  .director-hero__facts strong { font-size: 1rem; }
  .director-hero__facts span { font-size: .57rem; }
  .director-cockpit { aspect-ratio: .82; padding: 1rem; }
  .director-cockpit__radar { height: 60%; }
  .director-cockpit__radar > b { width: 105px; font-size: .82rem; }
  .director-cockpit .signal { padding: .35rem .5rem; font-size: .43rem; }
  .director-cockpit__metrics > span { padding: .55rem; }
  .director-cockpit__footer { display: none; }
  .director-section-heading h2,
  .director-shift h2,
  .director-fit h2,
  .director-practical h2,
  .director-faq h2 { font-size: 2.2rem; }
  .director-week__stage { grid-template-columns: 1fr; }
  .director-week__center { grid-column: auto; width: 190px; }
  .director-week__center::before { inset: -35px; }
  .director-week__center::after { inset: -52px; }
  .director-week__card { min-height: 155px; }
  .director-console { margin-inline: -.25rem; }
  .director-console__panel { padding: 1.6rem; }
  .director-console__copy h3 { font-size: 2rem; }
  .director-console__visual { min-height: 290px; }
  .director-panel__compass { width: 210px; }
  .director-panel__progress { width: 230px; }
  .director-panel__network { width: 220px; }
  .director-panel__team { width: 240px; }
  .director-panel__calendar { width: 250px; }
  .director-shift__board { grid-template-columns: 1fr; }
  .director-shift__switch { width: auto; height: 46px; rotate: 90deg; }
  .director-leadership__scene { width: 320px; max-width: 100%; }
  .director-leadership__core { width: 155px; }
  .director-leadership__core strong { font-size: .92rem; }
  .director-results__grid { grid-template-columns: 1fr; }
  .director-results__grid article { min-height: 230px; }
  .director-fit__card { margin-inline: -.25rem; padding: 1.7rem; border-radius: 34px 10px 34px 10px; }
  .director-followup__card { margin-inline: -.25rem; padding: 1.8rem; border-radius: 16px 38px 16px 16px; }
  .director-practical__facts { grid-template-columns: 1fr; }
  .director-practical__cta { margin-inline: -.25rem; padding: 1.8rem; }
  .director-faq summary { font-size: 1rem; }
  .director-final__card { margin-inline: -.25rem; padding: 3rem 1.4rem; border-radius: 14px 42px 14px 14px; }
  .director-final__card > div { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .director-cockpit,
  .director-cockpit__ring,
  .director-cockpit .signal,
  .director-week__stage::before,
  .director-week__stage::after,
  .director-week__card,
  .director-week__center::before,
  .director-week__center::after,
  .director-week__center,
  .director-week__connection-flow,
  .director-panel__network,
  .director-panel__network b,
  .director-panel__network span,
  .director-leadership__orbit,
  .director-leadership__scene > i,
  .director-followup__number::before { animation: none !important; }
}
