/* Page Offre IA — le calendrier d'un engagement */
.ia-layout{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}
.ia-layout>*{min-width:0}
.rail{position:sticky;top:92px;align-self:start;padding-bottom:2rem}
.rail-title{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin:0 0 1rem;font-weight:400}
.rail ol{list-style:none;margin:0;padding:0;position:relative}
.rail ol::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line)}
@property --p{syntax:"<percentage>";inherits:false;initial-value:0%}
.rail li.rail-progress{padding:0}
.rail-progress{position:absolute;left:7px;top:8px;width:2px;height:calc((100% - 16px) * 1);background:linear-gradient(180deg,var(--citric) 0,var(--citric) var(--p,0%),transparent var(--p,0%));transition:--p .4s}
.rail li{position:relative;padding:0 0 1.5rem 1.9rem}
.rail a{text-decoration:none;color:var(--muted);display:block;transition:color .25s}
.rail a::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--navy);border:2px solid var(--muted-2);transition:all .25s}
.rail a .when{display:block;font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--white)}
.rail a .what{display:block;font-size:.85rem;line-height:1.4;margin-top:.15rem}
.rail a.is-active{color:var(--white)}
.rail a.is-active::before{background:var(--citric);border-color:var(--citric);box-shadow:0 0 0 5px rgba(218,233,79,.18)}
.rail a.is-active .when{color:var(--citric)}
.rail a:hover .when{text-decoration:underline}
@media (max-width:1000px){
  .ia-layout{grid-template-columns:1fr;gap:0}
  .rail{position:sticky;top:68px;z-index:20;background:rgba(0,0,46,.94);backdrop-filter:blur(8px);margin:0 -1.5rem;padding:.6rem 1.5rem;border-bottom:1px solid var(--line);max-width:calc(100% + 3rem)}
  .rail-title{display:none}
  .rail ol{display:flex;gap:.75rem;overflow-x:auto;padding:0 0 .25rem;scrollbar-width:none;max-width:100%}
  .rail ol::-webkit-scrollbar{display:none}
  .rail ol::before,.rail-progress{display:none}
  .rail li{padding:0;flex:none}
  .station{scroll-margin-top:140px}
  .rail a{padding:.3rem .8rem;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
  .rail a::before{display:none}
  .rail a .when{font-size:.9rem}
  .rail a .what{display:none}
  .rail a.is-active{border-color:var(--citric)}
}

/* Stations : un produit = une station sur le calendrier */
.station{padding:clamp(3.5rem,6vw,5.5rem) 0;border-top:1px solid var(--line)}
.station:first-of-type{border-top:0}
.station-head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:2.25rem}
.station-head .when{text-align:right;white-space:nowrap;padding-bottom:.4rem;border-bottom:2px solid var(--blue)}
.station-head .when span{display:block;font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:-.01em;color:var(--white)}
.station-head .when small{display:block;font-family:var(--body);font-weight:400;font-size:.9rem;letter-spacing:0;color:var(--muted);margin-top:.3rem}
.station-head h2{font-size:clamp(2.4rem,4.5vw,3.6rem);letter-spacing:-.03em;color:var(--citric)}
.station-head .thesis{font-family:var(--display);font-weight:700;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.25;letter-spacing:-.01em;color:var(--white);margin:.9rem 0 0;max-width:30ch;text-wrap:balance}
.station-head .sub{font-size:1.15rem;line-height:1.5;color:var(--muted);margin-top:.9rem;max-width:56ch}
@media (max-width:760px){.station-head{grid-template-columns:1fr}.station-head .when{text-align:left;order:-1;white-space:normal;border-bottom:0;padding-bottom:0}}

/* Phases empilées en colonnes, avec la semaine en tête */
.phases{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.phase{border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem;background:rgba(255,255,255,.02)}
.phase .w{font-family:var(--display);font-weight:700;color:var(--sky);font-size:.95rem;letter-spacing:.02em}
.phase h3{font-size:1.15rem;margin:.4rem 0 .7rem;color:var(--white)}
.phase p,.phase li{font-size:.95rem;color:var(--muted)}
.phase .list{margin-top:.5rem}
.phase .out{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--white)}
.phase .out b{color:var(--citric);font-weight:500}
@media (max-width:560px){.phases{grid-template-columns:1fr}}

/* Deux méthodes d'audit côte à côte */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}
.split .block h3{color:var(--white)}
.split .block .list li{color:var(--muted);font-size:.98rem}
@media (max-width:760px){.split{grid-template-columns:1fr}}

/* Calendrier hebdo (Bootcamp, Fellowship) */
.weeks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-top:2rem}
.weeks div{border-radius:8px;padding:.85rem .8rem;background:rgba(255,255,255,.04);border:1px solid var(--line);min-height:112px}
.weeks div.on{background:rgba(0,83,222,.35);border-color:rgba(0,83,222,.7)}
.weeks div.hi{background:var(--citric);border-color:var(--citric);color:var(--navy)}
.weeks .w{display:block;font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.02em}
.weeks .t{display:block;font-weight:500;font-size:.9rem;margin-top:.3rem;line-height:1.3}
.weeks .d{display:block;font-size:.8rem;margin-top:.25rem;color:var(--muted);line-height:1.35}
.weeks div.hi .d{color:#2b2b55}
@media (max-width:760px){.weeks{grid-template-columns:repeat(2,1fr)}}

/* Les cinq étapes du Fellowship */
.steps{counter-reset:s;list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.steps li{counter-increment:s;border-top:2px solid var(--blue);padding-top:1rem}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-weight:700;color:var(--sky);font-size:.9rem}
.steps h3{font-size:1.15rem;margin:.3rem 0 .6rem}
.steps p{font-size:.92rem;color:var(--muted);margin:0 0 .6rem}
.steps p b{color:var(--white);font-weight:500;display:block;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.15rem}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* Entonnoir D·F·C·R */
.funnel{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;align-items:stretch}
.funnel>div{border-radius:var(--radius-lg);padding:1.4rem;border:1px solid var(--line)}
.funnel .n{font-family:var(--display);font-weight:700;font-size:2.6rem;letter-spacing:-.03em;line-height:1}
.funnel .l{font-size:.9rem;color:var(--muted);margin-top:.3rem}
.funnel .f2{background:rgba(0,83,222,.25)}
.funnel .f3{background:var(--citric);color:var(--navy);border-color:var(--citric)}
.funnel .f3 .l{color:#2b2b55}
.funnel .f3 .n{color:var(--navy)}
.dfcr{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem;margin-top:1.25rem}
.dfcr div{padding:1rem 0 0;border-top:1px solid var(--line)}
.dfcr b{font-family:var(--display);font-weight:700;color:var(--citric);display:block;margin-bottom:.3rem}
.dfcr p{font-size:.92rem;color:var(--muted);margin:0}
@media (max-width:760px){.funnel,.dfcr{grid-template-columns:1fr}}

/* Rôles et règles */
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.rules .block{background:rgba(255,255,255,.02)}
.rules .block b{display:block;font-family:var(--display);font-weight:700;font-size:1.25rem;color:var(--white);margin-bottom:.5rem}
.rules .block p{color:var(--muted);margin:0;font-size:.98rem}
@media (max-width:760px){.rules{grid-template-columns:1fr}}

/* Parcours de formation */
.tracks{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}
.track{border:1px solid var(--line-light);border-radius:var(--radius-lg);padding:1.4rem;background:var(--white)}
.track .who{font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;color:var(--blue);line-height:1}
.track .who small{display:block;font-family:var(--body);font-weight:400;font-size:.85rem;color:var(--ink-2);letter-spacing:0;margin-top:.3rem}
.track h3{font-size:1.1rem;margin:1rem 0 .5rem}
.track p{font-size:.95rem;color:var(--ink-2);margin:0 0 .6rem}
.track .trig{font-size:.85rem;color:var(--navy);border-top:1px solid var(--line-light);padding-top:.7rem;margin-top:.7rem}
.track .trig b{font-weight:500}
@media (max-width:560px){.tracks{grid-template-columns:1fr}}

/* Références IA */
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.refs .block h3{color:var(--white)}
.refs .block .r{color:var(--citric);font-weight:400;font-size:.95rem;margin:0}
@media (max-width:900px){.refs{grid-template-columns:1fr}}
