/* Showcase V7 / 5.8.3. Scoped refinements; content and visuals unchanged. */
.showcase-v7 {
  --sc-ink:var(--text); --sc-muted:var(--muted); --sc-accent:#b71958;
  --sc-line:var(--line); --sc-tint:#fff0f6; --sc-surface:var(--surface);
  --sc-gap:24px; color:var(--sc-ink); font-size:1rem; padding-block:24px 0;
}
html[data-theme="dark"] .showcase-v7 { --sc-accent:#ff9ac1; --sc-tint:#291823; }
.showcase-v7 .section-shell { width:min(calc(100% - 40px),1240px); margin-inline:auto; }
.showcase-v7 :is(h1,h2,h3,p) { word-break:normal; overflow-wrap:break-word; hyphens:none; }
.showcase-v7 :is(h1,h2,h3) { color:var(--sc-ink); letter-spacing:-.03em; text-wrap:balance; }
.showcase-v7 p { color:var(--sc-muted); line-height:1.65; }
.showcase-v7 a { color:var(--sc-accent); text-underline-offset:.22em; }
.showcase-v7 :is(a,summary):focus-visible { outline:3px solid var(--sc-accent); outline-offset:4px; border-radius:4px; }
.showcase-v7 [id] { scroll-margin-top:148px; }
.showcase-v7 .sc-visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.showcase-v7 .sc-icon { width:22px;height:22px;max-width:none;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.showcase-v7 .sc-kicker { display:flex;align-items:center;gap:10px;margin:0 0 16px;color:var(--sc-accent);font-size:.75rem;line-height:1.5;font-weight:750;letter-spacing:.13em;text-transform:uppercase; }
.showcase-v7 .sc-kicker::after { content:"";flex:0 0 36px; height:1px;background:currentColor;opacity:.4; }
.showcase-v7 .sc-hero { padding-block:16px 40px; }
.showcase-v7 .sc-hero__heading { display:grid;gap:24px;align-items:center; }
.showcase-v7 .sc-hero h1 { margin:0;max-width:23ch;font-family:var(--font-serif);font-size:clamp(2.25rem,4.6vw,4rem);font-weight:600;line-height:1.12;letter-spacing:-.035em; }
.showcase-v7 .sc-hero h1 em { color:var(--sc-accent);font-weight:inherit; }
.showcase-v7 .sc-overview { display:flex;flex-wrap:wrap;gap:16px 20px;margin:0;padding:0; }
.showcase-v7 .sc-overview div { display:flex;flex-direction:column-reverse;gap:3px; }
.showcase-v7 .sc-overview dd { margin:0;color:var(--sc-ink);font-size:1.75rem;line-height:1.1;letter-spacing:-.04em; }
.showcase-v7 .sc-overview dt { color:var(--sc-muted);font-size:.8125rem;line-height:1.45;max-width:12ch; }
.showcase-v7 .sc-hero__intro { margin:24px 0 0;max-width:74ch;font-size:1.0625rem; }
.showcase-v7 .sc-jump { display:flex;flex-wrap:wrap;gap:8px;margin-top:24px; }
.showcase-v7 .sc-jump a { display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--sc-line);border-radius:999px;background:var(--sc-surface);font-size:.875rem;color:var(--sc-ink);text-decoration:none;transition:background .15s,border-color .15s; }
.showcase-v7 .sc-jump a:hover { background:var(--sc-tint);border-color:var(--sc-accent); }
.showcase-v7 .sc-section-head { margin-bottom:28px; }
.showcase-v7 .sc-section-head h2 { margin:0 0 12px;font-size:clamp(1.625rem,2.5vw,2.25rem);line-height:1.2; }
.showcase-v7 .sc-section-head > p:last-child { margin:0;max-width:85ch;font-size:1rem; }
/* Let these two intros use their section width; mobile keeps natural wrapping. */
.showcase-v7 .sc-map-heading > p:last-child,
.showcase-v7 .sc-method .sc-section-head > p:last-child { max-width:none; }
.showcase-v7 .sc-strategic { padding:20px 16px;border:1px solid var(--sc-line);border-top:2px solid var(--sc-accent);border-radius:24px;background:var(--sc-tint); }
.showcase-v7 .sc-strategic-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start; }
.showcase-v7 .sc-project { min-width:0;position:relative; }
.showcase-v7 .sc-project--strategic { padding:16px;background:var(--sc-surface);border:1px solid var(--sc-line);border-radius:16px;box-shadow:0 4px 14px rgb(35 10 22 / 3%); }
.showcase-v7 .sc-project__role { margin:0 0 14px;font-size:.8125rem;font-weight:650;line-height:1.4;color:var(--sc-accent); }
.showcase-v7 .sc-project__main { display:grid;grid-template-columns:68px minmax(0,1fr);gap:14px;align-items:start; }
.showcase-v7 .sc-logo { display:flex;align-items:center;justify-content:center;width:100%;height:62px;min-width:0;border:1px solid var(--sc-line);border-radius:10px;background:#f8f3f6; }
.showcase-v7 .sc-logo img { display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;filter:none;padding:6px; }
.showcase-v7 .sc-logo--dark { background:#0b0e0e;border-color:#0b0e0e; }
.showcase-v7 .sc-logo--navy { background:#152031;border-color:#152031; }
.showcase-v7 .sc-logo--ocean { background:#001a29;border-color:#001a29; }
.showcase-v7 .sc-logo--white { background:#fff;border-color:#e7dde3; }
.showcase-v7 .sc-project__copy { min-width:0; }
.showcase-v7 .sc-project__copy h3 { margin:0 0 8px;font-size:1.0625rem;font-weight:750;line-height:1.4;text-wrap:wrap; }
.showcase-v7 .sc-project__copy h3 a { color:var(--sc-ink);text-decoration:none;display:inline-block;padding-block:3px;min-height:32px; }
.showcase-v7 .sc-project__copy h3 a:hover { color:var(--sc-accent);text-decoration:underline; }
.showcase-v7 .sc-arrow { color:var(--sc-accent);font-size:.875rem;margin-left:7px;white-space:nowrap; }
.showcase-v7 .sc-project__copy p { margin:0;font-size:1rem;line-height:1.6; }
.showcase-v7 .sc-tags { list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:5px 12px; }
.showcase-v7 .sc-tags li { margin:0;padding:0;color:var(--sc-muted);font-size:.8125rem;line-height:1.5; }
.showcase-v7 .sc-tags li + li::before { content:"/";margin-right:12px;color:var(--sc-muted); }
.showcase-v7 .sc-details { margin-top:4px; }
.showcase-v7 .sc-details > summary { display:list-item;width:fit-content;max-width:100%;min-height:44px;padding:10px 4px 10px 0;cursor:pointer;color:var(--sc-accent);font-size:.875rem;font-weight:600; }
.showcase-v7 .sc-details[open] > summary { margin-bottom:8px; }
.showcase-v7 .sc-details__body { padding:16px 0 0;border-top:1px solid var(--sc-line); }
.showcase-v7 .sc-details__body p { font-size:.9375rem;margin:0 0 16px; }
.showcase-v7 .sc-details__limit strong { color:var(--sc-ink);font-weight:650; }
.showcase-v7 .sc-details__body .sc-details__provenance { font-size:.8125rem; }
.showcase-v7 .sc-source-links { list-style:none;padding:0;margin:0;display:grid;gap:4px; }
.showcase-v7 .sc-source-links a { display:inline-block;min-height:44px;padding-block:8px;font-size:.875rem;overflow-wrap:anywhere; }
.showcase-v7 .sc-ecosystem { margin-top:48px; }
.showcase-v7 .sc-map { display:grid;grid-template-columns:minmax(0,1fr);gap:24px;position:relative;isolation:isolate;align-items:start; }
.showcase-v7 .sc-connections { display:none;position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible; }
.showcase-v7 .sc-connections path { fill:none;stroke:var(--sc-accent);stroke-width:1.3;opacity:.4; }
.showcase-v7 .sc-connections circle { fill:var(--sc-accent); }
.showcase-v7 .sc-hub { display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 0 16px;text-align:left; }
.showcase-v7 .sc-hub__circle { flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:112px;aspect-ratio:1;border:1px solid var(--sc-line);border-radius:50%;background:var(--sc-surface);box-shadow:0 6px 30px rgb(177 25 88 / 7%); }
.showcase-v7 .sc-hub__circle img { width:48px;height:48px; }
.showcase-v7 .sc-hub__circle strong { font-size:1.125rem;letter-spacing:-.04em;margin-top:3px; }
.showcase-v7 .sc-hub p { font-size:.875rem;margin:0;line-height:1.5; }
.showcase-v7 .sc-pole { min-width:0;padding:22px 16px 12px;border:1px solid var(--sc-line);border-radius:20px;background:var(--sc-surface);box-shadow:0 5px 24px rgb(35 10 22 / 3%); }
.showcase-v7 .sc-pole__head { display:flex;gap:12px;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid var(--sc-line); }
.showcase-v7 .sc-pole__icon { display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:var(--sc-tint);color:var(--sc-accent); }
.showcase-v7 .sc-pole__head h2 { font-size:1.25rem;line-height:1.3;margin:0 0 9px;letter-spacing:-.02em;text-wrap:wrap; }
.showcase-v7 .sc-pole__head p { font-size:.9375rem;margin:0; }
.showcase-v7 .sc-pole__head .sc-pole__index { font-size:.6875rem;letter-spacing:.11em;text-transform:uppercase;color:var(--sc-accent);margin:0 0 6px;font-weight:750; }
.showcase-v7 .sc-pole__projects { display:grid;gap:20px; }
.showcase-v7 .sc-pole .sc-project + .sc-project { padding-top:20px;border-top:1px solid var(--sc-line); }
.showcase-v7 .sc-accent--purple { --sc-accent:#7533a2;--sc-tint:#f7f0fc; }
.showcase-v7 .sc-accent--amber { --sc-accent:#805016;--sc-tint:#fcf6eb; }
.showcase-v7 .sc-accent--teal { --sc-accent:#126764;--sc-tint:#edf8f5; }
html[data-theme="dark"] .showcase-v7 .sc-accent--purple { --sc-accent:#d6acfa;--sc-tint:#291f35; }
html[data-theme="dark"] .showcase-v7 .sc-accent--amber { --sc-accent:#edc285;--sc-tint:#30261c; }
html[data-theme="dark"] .showcase-v7 .sc-accent--teal { --sc-accent:#80d6ca;--sc-tint:#182e2b; }
.showcase-v7 .sc-caption { max-width:88ch;margin:26px auto 0;text-align:center;font-size:.875rem; }
.showcase-v7 .sc-latest { margin-top:28px;padding-block:18px;border-block:1px solid var(--sc-line); }
.showcase-v7 .sc-latest p { margin:0;display:grid;gap:6px;font-size:.9375rem; }
.showcase-v7 .sc-latest p > span { font-size:.75rem;text-transform:uppercase;letter-spacing:.08em; }
.showcase-v7 .sc-latest a { display:inline-block;min-height:44px;padding-block:8px;color:var(--sc-ink); }
.showcase-v7 .sc-method { margin-top:48px;padding-block:32px;background:var(--sc-surface);border-block:1px solid var(--sc-line); }
.showcase-v7 .sc-method__steps { display:grid;gap:24px; }
.showcase-v7 .sc-method__step { min-width:0;position:relative;padding-left:54px; }
.showcase-v7 .sc-method__step > span { position:absolute;left:0;top:0;font-family:var(--font-serif);font-size:2rem;line-height:1;color:var(--sc-accent); }
.showcase-v7 .sc-method__step h3 { font-size:1.125rem;line-height:1.35;margin:0 0 10px;text-wrap:wrap; }
.showcase-v7 .sc-method__step p { margin:0;font-size:.9375rem; }
.showcase-v7 .sc-conclusion { margin-top:48px;display:grid;gap:24px; }
.showcase-v7 :is(.sc-contact,.sc-lab) { min-width:0;padding:24px 20px;border-radius:22px; }
.showcase-v7 .sc-contact { border:1px solid var(--sc-line);background:var(--sc-tint); }
.showcase-v7 .sc-lab { padding-block:24px;background:var(--sc-surface); }
.showcase-v7 .sc-contact h2 { max-width:26ch;font-size:clamp(1.75rem,2.7vw,2.5rem);line-height:1.2;margin:0 0 20px; }
.showcase-v7 .sc-lab h2 { font-size:1.75rem;line-height:1.2;margin:0 0 20px; }
.showcase-v7 .sc-conclusion p { font-size:1rem; }
.showcase-v7 .sc-conclusion .sc-kicker { font-size:.75rem; }
.showcase-v7 .sc-conclusion .sc-contact__note { margin:20px 0 0;font-size:.875rem;max-width:68ch; }
.showcase-v7 .sc-cta { display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 20px;background:#b71958;color:#fff;border:1px solid #b71958;border-radius:999px;text-decoration:none;font-weight:700;font-size:.9375rem; }
.showcase-v7 .sc-cta:hover { background:#961447;border-color:#961447; }
.showcase-v7 .sc-text-link { display:inline-flex;gap:12px;align-items:center;min-height:48px;font-size:.9375rem;font-weight:650; }
.showcase-v7 .sc-source-note { margin-top:32px;padding-block:16px;border-block:1px solid var(--sc-line); }
.showcase-v7 .sc-source-note > summary { width:fit-content;max-width:100%;min-height:44px;padding-block:9px;color:var(--sc-accent);font-size:.9375rem;cursor:pointer; }
.showcase-v7 .sc-source-note > div { padding-block:20px 4px;max-width:90ch; }
.showcase-v7 .sc-source-note p { font-size:.9375rem; }
.showcase-v7 .sc-metrics { display:flex;flex-wrap:wrap;gap:12px 24px;padding-block:20px;font-size:.8125rem;color:var(--sc-muted); }
.showcase-v7 .sc-metrics strong { color:var(--sc-ink);font-size:1rem;margin-right:4px; }
@media (min-width:600px) {
  .showcase-v7 .sc-strategic { padding:28px; }
  /* Equal height per row, without fixed heights or empty lines in the copy. */
  .showcase-v7 .sc-strategic-grid { grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch; }
  .showcase-v7 .sc-project--strategic { display:flex;flex-direction:column; }
  .showcase-v7 .sc-project--strategic .sc-details { margin-top:auto;padding-top:4px; }
  .showcase-v7 .sc-project--strategic .sc-project__main { grid-template-columns:minmax(0,1fr); }
  .showcase-v7 .sc-project--strategic .sc-logo { height:104px;margin-bottom:4px; }
  .showcase-v7 .sc-project--strategic .sc-logo img { padding:10px; }
  .showcase-v7 .sc-project--strategic .sc-project__copy h3 { min-height:calc(2.8em + 6px); }
  .showcase-v7 .sc-method__steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .showcase-v7 .sc-pole { padding:24px 24px 12px; }
  .showcase-v7 .sc-project__main { grid-template-columns:84px minmax(0,1fr);gap:16px; }
  .showcase-v7 .sc-logo { height:66px; }
}
@media (min-width:800px) {
  .showcase-v7 .sc-hero { padding-block:24px 48px; }
  .showcase-v7 .sc-hero__heading { grid-template-columns:minmax(0,1fr) 200px;gap:40px; }
  .showcase-v7 .sc-overview { display:grid;border-left:1px solid var(--sc-line);padding-left:24px;gap:16px; }
  .showcase-v7 .sc-overview div { display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px; }
  .showcase-v7 .sc-overview dd { grid-column:1;grid-row:1;font-size:2rem; }
  .showcase-v7 .sc-overview dt { grid-column:2;grid-row:1;max-width:none; }
  .showcase-v7 .sc-strategic-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .showcase-v7 .sc-project--strategic { grid-column:span 2; }
  .showcase-v7 .sc-project--strategic:nth-child(4) { grid-column:2 / span 2; }
  .showcase-v7 .sc-map { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .showcase-v7 .sc-hub { grid-column:1/-1; }
  .showcase-v7 .sc-pole--decision { grid-column:1/4; }
  .showcase-v7 .sc-pole--outils { grid-column:4/7; }
  .showcase-v7 :is(.sc-pole--coordination,.sc-pole--memoire,.sc-pole--trajectoire) { grid-column:span 2; }
  .showcase-v7 :is(.sc-pole--coordination,.sc-pole--memoire,.sc-pole--trajectoire) .sc-project__main { grid-template-columns:minmax(0,1fr); }
  .showcase-v7 :is(.sc-pole--coordination,.sc-pole--memoire,.sc-pole--trajectoire) .sc-logo { width:100px;height:64px; }
  .showcase-v7 .sc-conclusion { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px;align-items:start; }
  .showcase-v7 :is(.sc-contact,.sc-lab) { padding:32px; }
  .showcase-v7 .sc-latest p { grid-template-columns:180px minmax(0,1fr);align-items:center;gap:20px; }
}
@media (min-width:1180px) {
  .showcase-v7 .sc-hero__heading { grid-template-columns:minmax(0,1fr) 240px;gap:60px; }
  .showcase-v7 .sc-strategic-grid { grid-template-columns:repeat(5,minmax(0,1fr));gap:14px; }
  .showcase-v7 .sc-project--strategic,.showcase-v7 .sc-project--strategic:nth-child(4) { grid-column:auto; }
  .showcase-v7 .sc-project--strategic .sc-project__copy p { font-size:.9375rem; }
  .showcase-v7 .sc-ecosystem,.showcase-v7 .sc-method,.showcase-v7 .sc-conclusion { margin-top:64px; }
  .showcase-v7 .sc-map { grid-template-columns:repeat(12,minmax(0,1fr));column-gap:22px;row-gap:56px; }
  .showcase-v7 .sc-hub { grid-column:6/8;grid-row:2;align-self:center;display:flex;flex-direction:column;gap:14px;text-align:center;padding:0; }
  .showcase-v7 .sc-hub__circle { width:156px; }
  .showcase-v7 .sc-hub__circle img { width:64px;height:64px; }
  .showcase-v7 .sc-hub__circle strong { font-size:1.375rem; }
  .showcase-v7 .sc-pole--decision { grid-column:1/7;grid-row:1; }
  .showcase-v7 .sc-pole--outils { grid-column:7/13;grid-row:1; }
  .showcase-v7 .sc-pole--coordination { grid-column:1/4;grid-row:3; }
  .showcase-v7 .sc-pole--memoire { grid-column:4/10;grid-row:3; }
  .showcase-v7 .sc-pole--trajectoire { grid-column:10/13;grid-row:3; }
  .showcase-v7 :is(.sc-pole--coordination,.sc-pole--memoire,.sc-pole--trajectoire) .sc-project__main { grid-template-columns:76px minmax(0,1fr);gap:14px; }
  .showcase-v7 :is(.sc-pole--coordination,.sc-pole--memoire,.sc-pole--trajectoire) .sc-logo { width:100%; }
  .showcase-v7 .sc-pole--outils .sc-pole__projects { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px; }
  .showcase-v7 .sc-pole--outils .sc-project__main { grid-template-columns:minmax(0,1fr);gap:12px; }
  .showcase-v7 .sc-pole--outils .sc-logo { width:96px;height:62px; }
  .showcase-v7 .sc-pole--outils .sc-project + .sc-project { padding-top:0;border-top:0; }
  .showcase-v7 .sc-pole--outils .sc-project:nth-child(n+3) { padding-top:20px;border-top:1px solid var(--sc-line); }
  .showcase-v7 :is(.sc-pole--coordination,.sc-pole--trajectoire) .sc-project__main { grid-template-columns:minmax(0,1fr);gap:12px; }
  .showcase-v7 :is(.sc-pole--coordination,.sc-pole--trajectoire) .sc-logo { width:96px; }
  .showcase-v7 .sc-connections { display:block; }
  .showcase-v7 .sc-method { padding-block:40px; }
  .showcase-v7 .sc-method__steps { grid-template-columns:repeat(4,minmax(0,1fr));gap:24px; }
  .showcase-v7 .sc-method__step { padding:0 0 0 24px;border-left:1px solid var(--sc-line); }
  .showcase-v7 .sc-method__step:first-child { border-left:0;padding-left:0; }
  .showcase-v7 .sc-method__step > span { display:block;position:static;margin-bottom:20px;font-size:2.75rem; }
}
@media (prefers-reduced-motion:reduce) {
  .showcase-v7 *, .showcase-v7 *::before, .showcase-v7 *::after { transition:none;animation:none;scroll-behavior:auto; }
}
@media print {
  .showcase-v7 .sc-connections,.showcase-v7 .sc-jump { display:none; }
  .showcase-v7 .sc-project,.showcase-v7 .sc-method__step { break-inside:avoid; }
  .showcase-v7 .sc-map { display:block; }
  .showcase-v7 .sc-pole { margin-block:20px; }
}
/* Avoid legacy article container constraints on this self-contained page. */
.showcase-content { min-width:0; }
.showcase-v7 { --container:1240px; }
.showcase-v7 .sc-pole { width:100%;max-width:none;margin-inline:0; }
.showcase-v7 :is(.sc-contact,.sc-lab) { width:100%;max-width:none;margin-inline:0; }
@media (max-width:767px) {
  .showcase-v7 .sc-hero h1 { font-size:clamp(2.25rem,9.4vw,2.5rem) !important;line-height:1.12 !important; }
}
