.page-logiciel { --dcc-rgb: 255 117 32; --dcc-encre: #ffaf75; }
.page-logiciel[data-logiciel="maya"] { --dcc-rgb: 51 187 213; --dcc-encre: #8bd6e4; }
.page-logiciel[data-logiciel="blender"] { --dcc-rgb: 242 152 67; --dcc-encre: #ecc29d; }

.orbis-studio.page-logiciel main > section > .wrap.grille-barre.fa-films { --fa-accent: var(--dcc-encre); }

.page-logiciel main > section:not(.acte) { padding-top: clamp(48px, 5.2vw, 88px); padding-bottom: clamp(48px, 5.2vw, 88px); }

.page-logiciel main > section.lg-heros { padding-top: clamp(36px, 5vw, 80px); padding-bottom: clamp(28px, 3.4vw, 52px); }
.page-logiciel .lg-heros .fil { margin: 0 0 22px; }
.lg-h1 {
  display: flex; align-items: center; gap: .32em;
  margin: 0; max-width: none;
  color: var(--encre); font-size: clamp(40px, 5vw, 72px); font-weight: 500;
  line-height: 1.04; letter-spacing: -.04em;
}
.lg-h1 img { width: .78em; height: .78em; flex: none; object-fit: contain; }
.page-logiciel .lg-lead { max-width: 54ch; margin: 22px 0 0; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.6; }
.lg-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.lg-plateforme { margin: 18px 0 0; color: var(--encre-3); font-size: 14px; line-height: 1.6; }

.page-logiciel main > section.lg-film { padding-top: clamp(20px, 2.4vw, 36px); }

.lg-nombres {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0; padding: 0; list-style: none;
  border-top: 2px solid rgb(var(--dcc-rgb) / .5);
}
.lg-nombres li { min-width: 0; padding: 24px 24px 0 0; }
.lg-nombres li + li { padding-left: 24px; border-left: 1px solid var(--trait); }
.lg-nombres b {
  display: block; color: var(--encre); font-size: clamp(40px, 4.2vw, 62px); font-weight: 500;
  line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums;
}
.lg-nombres span { display: block; max-width: 30ch; margin-top: 12px; color: var(--encre-2); font-size: 15px; line-height: 1.5; }

.lg-apercu-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 96px); align-items: start; }
.lg-apercu-grille .pa-h { margin: 0; }
.lg-apercu-grille .pa-chapeau { margin: 0; max-width: 60ch; font-size: clamp(17px, 1.25vw, 19px); line-height: 1.7; }

.lg-fonctions .pa-h { margin: 0; max-width: 22ch; }
.lg-cartes { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.lg-carte {
  grid-column: span 7; min-width: 0;
  padding: clamp(24px, 2.4vw, 36px);
  border: 1px solid var(--trait); border-radius: var(--r-l); background: var(--papier);
}
.lg-carte:nth-child(2), .lg-carte:nth-child(3) { grid-column: span 5; }
.lg-carte h3 { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--encre); font-size: 21px; font-weight: 500; letter-spacing: -.01em; }
.lg-carte h3 img { width: 32px; height: 32px; flex: none; }
.lg-carte p { margin: 16px 0 0; max-width: 58ch; color: var(--encre-2); font-size: 16px; line-height: 1.65; }

.lg-parcours .pa-h { margin: 0; max-width: 22ch; }
.lg-etapes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; margin: 36px 0 0; padding: 0; list-style: none; counter-reset: lg-etape; }
.lg-etapes li { counter-increment: lg-etape; min-width: 0; padding: 18px 0 20px; border-top: 1px solid var(--trait); }
.lg-etapes li::before { content: counter(lg-etape, decimal-leading-zero); display: block; margin-bottom: 8px; color: var(--encre-3); font-size: 14px; font-variant-numeric: tabular-nums; }
.lg-etapes p { margin: 0; color: var(--encre-2); font-size: 16px; line-height: 1.6; }

.lg-installer .pa-h { margin: 0; max-width: 24ch; }
.lg-pas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 36px 0 0; padding: 0; list-style: none; counter-reset: lg-pas; }
.lg-pas li { counter-increment: lg-pas; min-width: 0; padding-top: 18px; border-top: 2px solid rgb(var(--dcc-rgb) / .5); }
.lg-pas li::before { content: counter(lg-pas); display: block; margin-bottom: 10px; color: var(--encre); font-size: 22px; font-weight: 500; font-variant-numeric: tabular-nums; }
.lg-pas p { margin: 0; color: var(--encre-2); font-size: 16px; line-height: 1.6; }
.lg-pas a { color: var(--bleu-clair); text-underline-offset: 3px; }
.lg-note { max-width: 70ch; margin: 28px 0 0; color: var(--encre-3); font-size: 14px; line-height: 1.65; }

.lg-autres-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 96px); align-items: end; }
.lg-autres-grille .pa-h { margin: 0; }
.lg-autres-grille .pa-chapeau { margin: 16px 0 0; max-width: 40ch; }
.lg-liens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.lg-lien {
  --c: 255 117 32;
  display: flex; align-items: center; gap: 16px; min-width: 0; min-height: 96px;
  padding: 20px 22px; border: 1px solid var(--trait); border-radius: var(--r-l);
  background: var(--papier); color: var(--encre); text-decoration: none;
  transition: border-color .2s ease;
}
.lg-lien[data-vers="maya"] { --c: 51 187 213; }
.lg-lien[data-vers="blender"] { --c: 242 152 67; }
.lg-lien img { width: 40px; height: 40px; flex: none; object-fit: contain; }
.lg-lien > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.lg-lien b { font-size: 20px; font-weight: 500; letter-spacing: -.01em; }
.lg-lien small { color: var(--encre-3); font-size: 14px; line-height: 1.5; }
.lg-lien svg { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--encre-3); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.lg-lien:hover, .lg-lien:focus-visible { border-color: rgb(var(--c) / .55); }
.lg-lien:hover svg, .lg-lien:focus-visible svg { transform: translateX(3px); stroke: var(--encre); }
.lg-lien:focus-visible { outline: 2px solid var(--bleu-clair); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .lg-lien, .lg-lien svg { transition: none; }
  .lg-lien:hover svg, .lg-lien:focus-visible svg { transform: none; }
}

@media (max-width: 1024px) {
  .lg-nombres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg-nombres li:nth-child(3) { padding-left: 0; border-left: 0; }
  .lg-nombres li:nth-child(n + 3) { padding-top: 22px; margin-top: 22px; border-top: 1px solid var(--trait); }
  .lg-apercu-grille, .lg-autres-grille { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lg-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg-cartes { grid-template-columns: minmax(0, 1fr); }
  .lg-carte, .lg-carte:nth-child(2), .lg-carte:nth-child(3) { grid-column: 1 / -1; }
  .lg-pas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
}

@media (max-width: 760px) {
  .orbis-studio.page-logiciel .fa-credit { font-size: 12px; }
}
@media (max-width: 600px) {
  .orbis-studio.page-logiciel main > section > .wrap.grille-barre.fa-films { width: calc(100% - 48px); }
  .lg-h1 { font-size: clamp(34px, 9vw, 44px); }
  .lg-actions .btn { flex: 1 1 100%; justify-content: center; }
  .lg-nombres li, .lg-nombres li + li { padding-right: 12px; }
  .lg-nombres li + li { padding-left: 12px; }
  .lg-nombres li:nth-child(3) { padding-left: 0; }
  .lg-nombres span { font-size: 14px; }
  .lg-etapes { grid-template-columns: minmax(0, 1fr); }
  .lg-pas { grid-template-columns: minmax(0, 1fr); }
  .lg-liens { grid-template-columns: minmax(0, 1fr); }
}
