.client-page main {
  color:#000000;
  font-weight:400;
}
.client-page .section-inner {
  width:min(1180px, calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  padding:0;
}
.client-page .nav-client[aria-current="page"] {
  text-decoration:underline;
  text-underline-offset:5px;
}
.client-hero {
  position:relative;
  isolation:isolate;
  background:linear-gradient(180deg, rgba(3,26,44,.45), transparent 180px), linear-gradient(rgba(3,26,44,.24), rgba(3,26,44,.24)), #082E51 url("../zone-client-soutien-bleu.webp") right center / cover no-repeat;
}
.client-hero::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.2;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' viewBox='0 0 192 192'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E");
}
.client-hero .section-inner {
  position:relative;
  z-index:1;
}
.client-hero h1 {
  margin:0 0 12px;
}
.client-hero p {
  margin:0;
  max-width:800px;
  color:#FFFFFF;
  font-size:19px;
  line-height:1.6;
}
.client-page .client-tools {
  padding-top:36px;
  padding-bottom:56px;
}
.client-intro {
  margin:0 0 28px;
  font-size:17px;
  line-height:1.65;
}
.client-access-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
}
.client-access-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px;
  background:#F7F8FA;
  border:1px solid #DDE4EB;
  border-radius:8px;
}
.client-icon {
  display:block;
  width:36px;
  height:36px;
  margin:0 0 18px;
  flex-shrink:0;
  color:#1769E0;
}
.client-access-card h2 {
  margin:0 0 12px;
  color:#000000;
  font-size:18px;
  line-height:1.45;
  font-weight:600;
}
.client-access-card p,
.client-contact-item p {
  flex:1;
  margin:0 0 24px;
  color:#000000;
  font-size:16px;
  line-height:1.65;
}
.client-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #1769E0;
  border-radius:5px;
  background:#1769E0;
  color:#FFFFFF;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  text-align:center;
  transition:background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.client-action svg {
  width:18px;
  height:18px;
  flex-shrink:0;
}
.client-action:hover {
  background:#1254B5;
  border-color:#1254B5;
  color:#FFFFFF;
}
.client-action:focus-visible {
  outline:2px solid #1769E0;
  outline-offset:4px;
}
.client-contacts {
  padding:48px 0 56px;
  background:#E7EFF5;
}
.client-contacts h2 {
  margin:0 0 36px;
  color:#000000;
  font-size:28px;
  font-weight:600;
  line-height:1.35;
  text-align:center;
}
.client-contact-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
}
.client-contact-item {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.client-contact-item + .client-contact-item {
  padding-left:32px;
  border-left:1px solid #CCD9E3;
}
.client-contact-item h3 {
  min-height:56px;
  margin:0 0 12px;
  color:#000000;
  font-size:20px;
  font-weight:600;
  line-height:1.4;
}
.client-contact-item .client-action {
  align-self:flex-start;
  padding:10px 16px;
}
.client-action-outline {
  background:#FFFFFF;
  color:#1769E0;
}
.client-page .client-faq .section-inner {
  max-width:960px;
  padding:48px 0 56px;
}
.client-faq .serif-title {
  scroll-margin-top:100px;
}

/* Utility banner follows the shared title baseline and grows with its copy. */
@media (min-width:1051px) {
  .client-page main .client-hero {
    min-height:300px;
    padding-bottom:36px;
    background:
      linear-gradient(180deg,rgba(6,33,54,.45),rgba(6,33,54,0) 190px),
      linear-gradient(90deg,rgba(3,26,44,.3),rgba(3,26,44,.12) 60%,rgba(3,26,44,.16)),
      #082E51 url("../gestion-parc-fond-bleu-texture-v1.webp") center / cover no-repeat;
  }
  .client-hero::before {
    content:none;
  }
  .client-page .client-tools {
    width:min(var(--alt-interior-content-width), calc(100% - 48px));
  }
  .client-access-grid {
    gap:24px;
  }
  .client-contact-item [data-contact-department] {
    min-width:180px;
    cursor:pointer;
  }
  .client-page .client-contact-form {
    padding:80px 0 0;
  }
  .client-page .client-contact-form .section-inner {
    width:min(828px, calc(100% - 48px));
  }
  .client-contact-form .contact-submit {
    align-self:center;
  }
  .client-contact-form .contact-form-status {
    grid-column:1 / -1;
  }
  .client-page .client-contact-form:not([hidden]) + .client-faq .section-inner {
    padding-top:80px;
  }
}
