/* Page Nos Solutions / Secteurs — dense en contenu, mais volontairement aérée. */
.solutions-kicker { margin: 0 0 14px; color: var(--color-accent); font-size: .75rem; line-height: 1.3; text-transform: uppercase; letter-spacing: .17em; font-weight: 850; }
.solutions-kicker--light { color: #ffc39b; }

/* F6 — bannière photo pleine largeur, sans les anciens encarts. */
.solutions-hero--photo {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #091b2b;
  color: #fff;
  border-bottom: 0;
}
.solutions-hero--photo .solutions-hero__image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 50%;
}
.solutions-hero--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, rgb(4 19 34 / 93%) 0%, rgb(4 19 34 / 83%) 30%, rgb(4 19 34 / 40%) 65%, rgb(4 19 34 / 12%) 100%);
}
.solutions-hero__inner {
  display: flex;
  align-items: center;
  min-height: clamp(400px, 38vw, 560px);
  padding-block: clamp(64px, 6vw, 100px);
}
.solutions-hero--photo .solutions-hero__copy { width: min(100%, 760px); }
.solutions-hero--photo .solutions-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: #ffd2b4;
  font-size: .77rem;
  line-height: 1.5;
}
.solutions-hero--photo .solutions-kicker::before {
  content: '';
  flex: 0 0 32px;
  height: 3px;
  border-radius: 2px;
  background: #f58a43;
}
.solutions-hero--photo h1 {
  max-width: 19ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.3rem, 4.6vw, 4.5rem);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
  overflow-wrap: break-word;
  text-shadow: 0 2px 20px rgb(0 0 0 / 16%);
}
/* L'image et ses couleurs restent naturelles dans les deux thèmes. */
:root[data-public-theme="dark"] .solutions-hero--photo::after {
  background: linear-gradient(90deg, rgb(4 14 24 / 95%) 0%, rgb(4 14 24 / 86%) 30%, rgb(4 14 24 / 44%) 65%, rgb(4 14 24 / 16%) 100%);
}
html[dir="rtl"] .solutions-hero--photo::after {
  background: linear-gradient(270deg, rgb(4 19 34 / 93%) 0%, rgb(4 19 34 / 83%) 30%, rgb(4 19 34 / 40%) 65%, rgb(4 19 34 / 12%) 100%);
}
html[dir="rtl"][data-public-theme="dark"] .solutions-hero--photo::after {
  background: linear-gradient(270deg, rgb(4 14 24 / 95%) 0%, rgb(4 14 24 / 86%) 30%, rgb(4 14 24 / 44%) 65%, rgb(4 14 24 / 16%) 100%);
}
html[lang="ar"] .solutions-hero--photo h1 { letter-spacing: 0; line-height: 1.38; max-width: 21ch; }
html[lang="ar"] .solutions-hero--photo .solutions-kicker { letter-spacing: 0; }
html[lang="zh"] .solutions-hero--photo h1 { max-width: 13em; line-height: 1.32; letter-spacing: 0; }
@media(max-width: 760px) {
  .solutions-hero__inner { min-height: 420px; padding-block: 64px; align-items: end; }
  .solutions-hero--photo .solutions-hero__image { object-position: 66% center; }
  .solutions-hero--photo::after,
  :root[data-public-theme="dark"] .solutions-hero--photo::after,
  html[dir="rtl"] .solutions-hero--photo::after,
  html[dir="rtl"][data-public-theme="dark"] .solutions-hero--photo::after {
    background: linear-gradient(0deg, rgb(4 19 34 / 96%) 0%, rgb(4 19 34 / 83%) 35%, rgb(4 19 34 / 45%) 72%, rgb(4 19 34 / 16%) 100%);
  }
  .solutions-hero--photo h1 { font-size: clamp(2rem, 7.7vw, 3.4rem); max-width: 22ch; }
  .solutions-hero--photo .solutions-kicker { font-size: .68rem; letter-spacing: .11em; margin-bottom: 18px; gap: 10px; }
  .solutions-hero--photo .solutions-kicker::before { flex-basis: 24px; }
}
@media(max-width: 380px) {
  .solutions-hero__inner { min-height: 400px; padding-block: 50px; }
}

/* Groupes */
.solutions-group { padding: clamp(78px, 8vw, 112px) 0; border-top: 1px solid #edf1f5; background: #f8fafc; }
.solutions-group:nth-of-type(odd) { background: #fff; }
#liste-secteurs { scroll-margin-top: calc(var(--header-height) + 24px); }
.solutions-group__heading { max-width: 760px; margin-bottom: clamp(42px, 5vw, 64px); }
.solutions-group__heading h2 { margin: 0; color: var(--color-navy); font-size: clamp(2.05rem, 3.8vw, 3.35rem); line-height: 1.08; letter-spacing: -.045em; }
.solutions-group__heading > p:not(.solutions-kicker) { margin: 20px 0 0; color: var(--color-muted); line-height: 1.85; }
.solutions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.solutions-sector { display: grid; grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr); min-height: 320px; overflow: hidden; border: 1px solid var(--color-line); border-radius: 22px; background: #fff; box-shadow: 0 12px 34px rgb(9 36 65 / 4%); scroll-margin-top: calc(var(--header-height) + 24px); }
.solutions-sector__media { position: relative; min-height: 320px; background-image: linear-gradient(180deg, transparent 35%, rgb(7 27 50 / 45%)), var(--sector-detail-image), linear-gradient(145deg, #7aa6c2, #0b2545); background-size: cover; background-position: center; }
.solutions-sector__media span { position: absolute; left: 18px; right: 18px; bottom: 18px; color: #fff; font-size: .76rem; font-weight: 850; letter-spacing: .04em; line-height: 1.4; }
.solutions-sector__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 3vw, 42px); }
.solutions-sector h3 { margin: 0; color: var(--color-navy); font-size: clamp(1.25rem, 1.9vw, 1.58rem); line-height: 1.25; }
.solutions-sector__body > p { margin: 14px 0 0; color: var(--color-muted); font-size: .93rem; line-height: 1.75; }
.solutions-sector__highlights { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.solutions-sector__highlights span { display: inline-flex; padding: 7px 9px; border-radius: 999px; background: #eef5f9; color: #355a76; font-size: .72rem; font-weight: 700; line-height: 1.2; }
.solutions-sector__details { margin-top: 21px; padding-top: 18px; border-top: 1px solid var(--color-line); }
.solutions-sector__details summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; cursor: pointer; list-style: none; color: var(--color-blue); font-size: .84rem; font-weight: 800; }
.solutions-sector__details summary::-webkit-details-marker { display: none; }
.solutions-sector__details summary span { display: inline-grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; border: 1px solid #cfdce6; transition: transform var(--ease-ui); }
.solutions-sector__details[open] summary span { transform: rotate(45deg); }
.solutions-sector__details ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 24px; margin: 20px 0 0; padding: 0; list-style: none; }
.solutions-sector__details li { position: relative; padding-left: 15px; color: #566d82; font-size: .83rem; line-height: 1.5; }
.solutions-sector__details li::before { content: ''; position: absolute; left: 0; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: var(--color-accent); }

/* CTA */
.solutions-cta { padding: clamp(68px, 7vw, 95px) 0; background: linear-gradient(115deg, var(--color-navy-deep), #123f63); color: #fff; }
.solutions-cta__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 50px; align-items: center; }
.solutions-cta h2 { margin: 0; color: #fff; font-size: clamp(2.15rem, 4vw, 3.6rem); line-height: 1.05; letter-spacing: -.045em; }
.solutions-cta p:not(.solutions-kicker) { max-width: 680px; margin: 17px 0 0; color: #c7d6e4; line-height: 1.75; }

@media(max-width: 1080px) {
  .solutions-grid { grid-template-columns: 1fr; }
}
@media(max-width: 760px) {
  .solutions-sector { grid-template-columns: 1fr; }
  .solutions-sector__media { min-height: 240px; }
  .solutions-sector__details ul { grid-template-columns: 1fr; }
  .solutions-cta__inner { grid-template-columns: 1fr; }
}
@media(max-width: 520px) {
  .solutions-cta .btn { width: 100%; }
  .solutions-sector__body { padding: 27px 24px 30px; }
}
