.dossier-page { color: var(--ink); background: var(--paper); }

.dossier-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(440px, 0.92fr);
  min-height: 780px;
  color: var(--white);
  background: var(--navy);
}

.dossier-hero-copy { display: flex; padding: calc(var(--header-total) + 100px) 7vw 90px max(5vw, 48px); flex-direction: column; justify-content: center; }
.dossier-hero-copy h1 { max-width: 820px; margin: 0; font-size: clamp(64px, 7vw, 106px); font-weight: 700; letter-spacing: -0.06em; line-height: 0.92; }
.dossier-hero-copy > p:not(.overline) { max-width: 760px; margin: 35px 0 0; color: rgba(255,255,255,0.7); font-size: 18px; line-height: 1.7; }
.dossier-hero-media { position: relative; min-height: 780px; overflow: hidden; }
.dossier-hero-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, var(--navy), transparent 18%), linear-gradient(0deg, rgba(7,26,45,0.52), transparent 45%); }
.dossier-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 43% center; filter: saturate(0.9) contrast(1.03) brightness(0.95); }

.dossier-status-list { display: flex; gap: 9px; margin-top: 40px; flex-wrap: wrap; }
.status-tag { display: inline-flex; align-items: center; width: max-content; min-height: 27px; padding: 0 10px; font-size: 7px; font-weight: 850; letter-spacing: 0.13em; line-height: 1.4; text-transform: uppercase; border: 1px solid currentColor; }
.status-confirmed { color: var(--champagne); }
.status-active { color: #8bc8b1; }
.status-participation { color: #d7b66f; }
.status-development { color: #9bb9d4; }
.status-planned { color: #b0b6bc; }

.dossier-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); color: var(--white); background: var(--navy-2); }
.dossier-facts article { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; min-height: 142px; padding: 27px 4vw; }
.dossier-facts strong { color: var(--champagne); font-size: clamp(36px, 4vw, 58px); font-weight: 650; letter-spacing: -0.055em; }
.dossier-facts span { display: block; color: var(--champagne); font-size: 8px; font-weight: 850; letter-spacing: 0.16em; text-transform: uppercase; }
.dossier-facts p { max-width: 250px; margin: 9px 0 0; color: rgba(255,255,255,0.56); font-size: 11px; line-height: 1.55; }

.dossier-section { padding: 112px 0; }
.dossier-split { display: grid; grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1.55fr); gap: 8vw; }
.dossier-heading .overline { margin-bottom: 26px; }
.dossier-copy h2, .model-heading h2, .service-copy h2, .timeline-heading h2, .programme-heading h2 { max-width: 900px; margin: 0; font-size: clamp(46px, 5vw, 76px); letter-spacing: -0.055em; line-height: 0.99; }
.dossier-copy .dossier-lead { max-width: 880px; margin: 32px 0 0; color: var(--ink); font-size: 22px; line-height: 1.55; }
.dossier-copy > p:last-child { max-width: 780px; margin: 25px 0 0; color: var(--muted); font-size: 16px; line-height: 1.75; }

.mandate-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 70px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.mandate-grid article { display: flex; min-height: 280px; padding: 28px 25px; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,0.42); }
.mandate-grid article > span { color: var(--gold); font-size: 10px; font-weight: 850; letter-spacing: 0.14em; }
.mandate-grid h3 { margin: auto 0 14px; font-size: 20px; line-height: 1.25; }
.mandate-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

.operating-model { color: var(--white); background: var(--navy); }
.model-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr); gap: 7vw; align-items: end; }
.model-heading .overline { grid-column: 1 / -1; margin-bottom: -25px; }
.model-heading > p:last-child { max-width: 560px; margin: 0 0 5px; color: rgba(255,255,255,0.6); font-size: 15px; line-height: 1.7; }
.model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 62px; border-top: 1px solid rgba(255,255,255,0.15); border-left: 1px solid rgba(255,255,255,0.15); }
.model-grid article { display: flex; min-height: 370px; padding: 32px; flex-direction: column; border-right: 1px solid rgba(255,255,255,0.15); border-bottom: 1px solid rgba(255,255,255,0.15); }
.model-grid article > span { color: var(--champagne); font-size: 8px; font-weight: 850; letter-spacing: 0.16em; }
.model-grid article > strong { margin-top: 36px; color: rgba(255,255,255,0.14); font-size: clamp(50px, 6vw, 86px); font-weight: 800; letter-spacing: -0.06em; }
.model-grid h3 { margin: auto 0 14px; font-size: 23px; }
.model-grid p { margin: 0; color: rgba(255,255,255,0.58); font-size: 12px; line-height: 1.65; }

.dossier-timeline { background: var(--paper-warm); }
.timeline-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); gap: 7vw; align-items: end; }
.timeline-heading > p { max-width: 600px; margin: 0 0 7px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.dossier-timeline-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 55px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.dossier-timeline-grid article { display: flex; min-height: 360px; padding: 27px 24px; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,0.55); }
.dossier-timeline-grid article > strong { color: var(--gold); font-size: clamp(31px, 3.1vw, 47px); font-weight: 650; letter-spacing: -0.055em; }
.dossier-timeline-grid .status-tag { margin-top: 15px; }
.dossier-timeline-grid h3 { margin: auto 0 13px; font-size: 20px; line-height: 1.25; }
.dossier-timeline-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.62; }
.dossier-timeline-grid .timeline-source { width: max-content; max-width: 100%; margin-top: 17px; color: var(--navy); font-size: 8px; font-weight: 850; letter-spacing: 0.1em; line-height: 1.45; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid rgba(7,29,44,0.28); }
.dossier-timeline-grid .timeline-source:hover { color: var(--gold); border-color: currentColor; }
.dossier-timeline-grid .dossier-timeline-future { color: var(--white); background: var(--navy); }
.dossier-timeline-grid .dossier-timeline-future > strong { color: var(--champagne); }
.dossier-timeline-grid .dossier-timeline-future p { color: rgba(255,255,255,0.58); }

.current-programme { background: var(--white); }
.programme-heading { max-width: 980px; }
.programme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 55px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.programme-grid article { display: grid; min-height: 520px; padding: 0; grid-template-rows: 205px 1fr; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.programme-visual { position: relative; height: 205px; margin: 0; overflow: hidden; background: var(--navy); }
.programme-visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(7,26,45,0.42), transparent 58%); }
.programme-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease); }
.programme-card:hover .programme-visual img { transform: scale(1.035); }
.programme-card-copy { display: flex; min-height: 0; padding: 27px 29px 30px; flex-direction: column; }
.programme-grid small { margin-top: 23px; color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: 0.16em; }
.programme-grid h3 { margin: 28px 0 15px; font-size: 25px; line-height: 1.22; }
.programme-grid p { margin: 0 0 25px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.programme-grid a { align-self: flex-start; margin-top: auto; color: var(--navy); font-size: 9px; font-weight: 850; letter-spacing: 0.11em; text-transform: uppercase; border-bottom: 1px solid var(--gold); }

.dossier-cta { color: var(--navy); background: linear-gradient(110deg, var(--mist-blue), var(--mist-blue-soft)); border-top: 1px solid rgba(7,26,45,0.1); }
.dossier-cta-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 38px; align-items: center; min-height: 200px; padding: 34px 0; }
.dossier-cta p { margin: 0 0 12px; color: #8a692d; font-size: 8px; font-weight: 850; letter-spacing: 0.16em; text-transform: uppercase; }
.dossier-cta h2 { max-width: 850px; margin: 0; font-size: clamp(31px, 3.4vw, 48px); letter-spacing: -0.045em; line-height: 1.08; }

@media (max-width: 1220px) {
  .dossier-hero { grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr); }
  .dossier-timeline-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 940px) {
  .dossier-hero { grid-template-columns: 1fr; }
  .dossier-hero-copy { min-height: 720px; padding: 185px 7vw 85px; }
  .dossier-hero-media { min-height: 440px; }
  .dossier-facts { grid-template-columns: 1fr; }
  .dossier-facts article { min-height: 112px; }
  .dossier-split, .model-heading, .timeline-heading { grid-template-columns: 1fr; }
  .dossier-heading { display: flex; gap: 20px; align-items: center; }
  .dossier-heading .overline { margin: 0; }
  .mandate-grid, .model-grid, .programme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .model-heading .overline { grid-column: auto; margin-bottom: 0; }
  .model-heading > p:last-child { margin-top: 25px; }
  .timeline-heading > p { margin-top: 25px; }
  .dossier-cta-inner { grid-template-columns: 1fr; gap: 24px; min-height: 220px; padding: 38px 0; }
  .dossier-cta .button { width: max-content; }
}

@media (max-width: 640px) {
  .dossier-hero-copy { min-height: 680px; padding: 145px 18px 68px; }
  .dossier-hero-copy h1 { font-size: 54px; }
  .dossier-hero-copy > p:not(.overline) { font-size: 15px; }
  .dossier-hero-media { min-height: 330px; }
  .dossier-facts article { grid-template-columns: 82px 1fr; gap: 14px; padding: 22px 18px; }
  .dossier-facts strong { font-size: 34px; }
  .dossier-section { padding: 76px 0; }
  .dossier-heading { display: block; }
  .dossier-heading .overline { margin-bottom: 20px; }
  .dossier-copy h2, .model-heading h2, .timeline-heading h2, .programme-heading h2 { font-size: 40px; }
  .dossier-copy .dossier-lead { font-size: 19px; }
  .mandate-grid, .model-grid, .programme-grid, .dossier-timeline-grid { display: flex; gap: 12px; margin-right: -18px; padding-right: 18px; overflow-x: auto; border: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .mandate-grid::-webkit-scrollbar, .model-grid::-webkit-scrollbar, .programme-grid::-webkit-scrollbar, .dossier-timeline-grid::-webkit-scrollbar { display: none; }
  .mandate-grid article, .model-grid article, .programme-grid article, .dossier-timeline-grid article { min-height: 320px; flex: 0 0 min(84vw, 340px); border: 1px solid var(--line); scroll-snap-align: start; }
  .model-grid article { min-height: 350px; border-color: rgba(255,255,255,0.15); }
  .programme-grid article { min-height: 500px; flex-basis: min(86vw, 355px); grid-template-rows: 200px 1fr; }
  .programme-visual { height: 200px; }
  .programme-card-copy { padding: 24px 24px 27px; }
  .dossier-cta-inner { min-height: 230px; padding: 36px 0; }
  .dossier-cta h2 { font-size: 35px; }
  .dossier-cta .button { width: 100%; }
}
