:root {
  --exxell-shadow: 0 24px 70px rgba(7, 21, 33, 0.12);
  --exxell-line: rgba(7, 21, 33, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: 0.2em; }
.wp-site-blocks { display: block; overflow: hidden; }
.wp-site-blocks > * { margin-block-start: 0 !important; }

.exxell-shell {
  width: min(1440px, calc(100% - 3rem));
  max-width: 1440px !important;
  margin-inline: auto;
}

.exxell-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: #071521;
}

.exxell-header__inner {
  min-height: 70px;
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto auto;
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2.5rem);
}

.exxell-wordmark {
  margin: 0;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.exxell-wordmark a { color: inherit; text-decoration: none; }
.exxell-brand-logo { display: inline-flex; align-items: center; justify-content: center; width: fit-content; background: #fff; border-radius: 12px; box-shadow: 0 8px 22px rgba(0,0,0,.16); }
.exxell-brand-logo img { display: block; width: auto; object-fit: contain; }
.exxell-brand-logo--header { padding: 4px 10px; }
.exxell-brand-logo--header img { height: 58px; }
.exxell-brand-logo--footer { margin-bottom: 1.35rem; padding: 9px 14px; }
.exxell-brand-logo--footer img { height: 94px; }
.exxell-header .wp-block-navigation { justify-self: center; color: #dfeaf0; font-size: .9rem; }
.exxell-header .wp-block-navigation__container { flex-wrap: nowrap; gap: .9rem; }
.exxell-header .wp-block-navigation-item { white-space: nowrap; }
.exxell-header .wp-block-navigation a { color: inherit; text-decoration: none; }
.exxell-header .wp-block-navigation a:hover,
.exxell-header .wp-block-navigation a:focus-visible { color: #5de2e7; }
.exxell-header .wp-block-button__link { background: #5de2e7; color: #071521; }
.exxell-header .wp-block-button__link { padding: .72rem 1.1rem; font-size: .86rem; white-space: nowrap; }

.exxell-stage-note {
  margin: 0;
  padding: 0.6rem 1rem;
  background: #f8b84e;
  color: #071521;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.exxell-hero {
  position: relative;
  min-height: 690px;
  padding: clamp(4.5rem, 9vw, 8rem) 0;
  background:
    linear-gradient(90deg, rgba(7,21,33,.98) 0%, rgba(7,21,33,.92) 40%, rgba(7,21,33,.46) 72%, rgba(7,21,33,.2) 100%),
    url('../images/hero-metiers-securite.webp') center / cover no-repeat;
  color: #fff;
}

.exxell-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.18;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}

.exxell-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
}

.exxell-eyebrow {
  margin: 0 0 1.25rem;
  color: #5de2e7;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.exxell-section:not(.exxell-section--navy) .exxell-eyebrow,
.exxell-references .exxell-eyebrow { color: #075f69; }

.exxell-hero h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem, 7vw, 6.4rem);
  line-height: .94;
  letter-spacing: -.055em;
}

.exxell-hero__lead {
  max-width: 640px;
  margin: 1.75rem 0 0;
  color: #c6d4dc;
  font-size: clamp(1.08rem, 2vw, 1.3rem);
}

.exxell-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.exxell-actions .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; }
.exxell-actions .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.35); color: #fff; }

.exxell-console {
  padding: 1.25rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(7,21,33,.7);
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
}

.exxell-console__head { display: flex; justify-content: space-between; gap: 1rem; padding: .25rem .25rem 1rem; color: #a9bbc6; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.exxell-console__dot { color: #5de2e7; }
.exxell-console__item { display: grid; grid-template-columns: 42px 1fr auto; gap: .85rem; align-items: center; padding: 1rem .75rem; border-top: 1px solid rgba(255,255,255,.1); }
.exxell-console__number { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(93,226,231,.1); color: #5de2e7; font-size: .8rem; font-weight: 800; }
.exxell-console__label { margin: 0; color: #fff; font-weight: 700; }
.exxell-console__meta { margin: .15rem 0 0; color: #91a7b5; font-size: .82rem; }
.exxell-console__status { max-width: 9rem; color: #f8b84e; font-size: .75rem; font-weight: 800; text-align: right; text-transform: uppercase; letter-spacing: .06em; line-height: 1.35; }

.exxell-section { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.exxell-stats { padding: clamp(3.5rem, 6vw, 5.5rem) 0; background: #071a28; color: #fff; }
.exxell-stats--compact { background: #0d2638; }
.exxell-stats__head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: clamp(2rem, 5vw, 5rem); align-items: end; margin-bottom: 2rem; }
.exxell-stats__head h2 { max-width: 18ch; margin: .35rem 0 0; color: #fff; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; }
.exxell-stats__head > p { margin: 0; color: #aec0cb; line-height: 1.65; }
.exxell-stats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.exxell-stats--compact .exxell-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.exxell-stat { padding: clamp(1.5rem, 3vw, 2.5rem); border-right: 1px solid rgba(255,255,255,.18); }
.exxell-stat:last-child { border-right: 0; }
.exxell-stat strong { display: block; color: #5de2e7; font-size: clamp(2.7rem, 6vw, 5.5rem); line-height: .95; letter-spacing: -.05em; }
.exxell-stat p { max-width: 34ch; margin: 1rem 0 0; color: #e1eaf0; line-height: 1.5; }
.exxell-stats__sources { margin: 1.25rem 0 0; color: #8fa6b4; font-size: .78rem; line-height: 1.55; }
.exxell-stats__sources a { color: #bfeff1; }
.exxell-contact-details { margin-top: 1.5rem; font-style: normal; line-height: 1.75; }
.exxell-contact-details a { font-weight: 700; }
.exxell-section--mist { background: #e9f0f4; }
.exxell-section--navy { background: #0b2235; color: #fff; }
.exxell-section__intro { max-width: 760px; margin-bottom: clamp(2rem, 5vw, 4rem); }
.exxell-section__intro h2 { margin: 0; font-size: clamp(2.2rem, 5vw, 4rem); }
.exxell-section__intro p { color: #526474; font-size: 1.12rem; }
.exxell-section--navy .exxell-section__intro p { color: #b6c7d1; }

.exxell-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.exxell-card { grid-column: span 6; min-height: 280px; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--exxell-line); border-radius: 22px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.exxell-card:hover { transform: translateY(-3px); box-shadow: var(--exxell-shadow); }
.exxell-card__index { color: #1466e2; font-size: .8rem; font-weight: 800; letter-spacing: .1em; }
.exxell-card h3 { margin: 2.4rem 0 .75rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.exxell-card p { color: #526474; }
.exxell-card a { font-weight: 750; }

.exxell-card--visual {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-color: rgba(255,255,255,.12);
  background: #071521;
  color: #fff;
}
.exxell-card--visual::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(7,21,33,.08) 0%, rgba(7,21,33,.48) 40%, rgba(7,21,33,.97) 100%); }
.exxell-card__media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.exxell-card--visual:hover .exxell-card__media { transform: scale(1.025); }
.exxell-card--visual .exxell-card__index { color: #5de2e7; }
.exxell-card--visual h3 { margin-top: auto; color: #fff; }
.exxell-card--visual p { color: #cbd9e1; }
.exxell-card--visual a { color: #5de2e7; }

.exxell-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.exxell-split h2 { margin-top: 0; font-size: clamp(2.2rem, 5vw, 4rem); }
.exxell-panel { padding: clamp(1.5rem, 4vw, 3rem); border-radius: 24px; background: #fff; color: #071521; box-shadow: var(--exxell-shadow); }
.exxell-panel--visual { position: relative; isolation: isolate; overflow: hidden; min-height: 440px; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; }
.exxell-panel--visual::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(7,21,33,.1), rgba(7,21,33,.96)); }
.exxell-panel__media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.exxell-panel--visual .exxell-checklist li { border-color: rgba(255,255,255,.2); color: #fff; }
.exxell-panel--visual .exxell-checklist li::before { color: #5de2e7; }
.exxell-panel__media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.exxell-panel--visual .exxell-checklist li { border-color: rgba(255,255,255,.2); }
.exxell-panel--visual .exxell-checklist li::before { color: #5de2e7; }
.exxell-checklist { list-style: none; margin: 0; padding: 0; }
.exxell-checklist li { position: relative; padding: 1rem 0 1rem 2rem; border-top: 1px solid var(--exxell-line); }
.exxell-checklist li::before { content: "→"; position: absolute; left: 0; color: #1466e2; font-weight: 800; }

.exxell-steps { counter-reset: steps; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.exxell-step { counter-increment: steps; padding: 1.5rem 0; border-top: 2px solid #1466e2; }
.exxell-step::before { content: "0" counter(steps); display: block; margin-bottom: 2rem; color: #1466e2; font-size: .8rem; font-weight: 800; }
.exxell-step h3 { margin: 0 0 .5rem; }
.exxell-step p { color: #526474; }
.exxell-method-layout { display: grid; grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }
.exxell-method-media, .exxell-zone-media { position: relative; min-height: 440px; margin: 0; overflow: hidden; border-radius: 24px; background: #0b2235; }
.exxell-method-media::after, .exxell-zone-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,21,33,.06), rgba(7,21,33,.86)); }
.exxell-method-media img, .exxell-zone-media img { width: 100%; height: 100%; object-fit: cover; }
.exxell-method-media figcaption, .exxell-zone-media figcaption { position: absolute; z-index: 1; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; color: #fff; font-size: 1.15rem; font-weight: 750; }
.exxell-method-layout .exxell-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; }

.exxell-references { padding: clamp(3rem, 6vw, 5.5rem) 0; border-block: 1px solid var(--exxell-line); background: #fff; }
.exxell-references__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr); align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.exxell-references__head h2 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 4vw, 3.2rem); }
.exxell-references__head > p { margin: 0; color: #526474; }
.exxell-logo-strip { display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); align-items: center; gap: clamp(1rem, 2.5vw, 2.5rem); padding: 1.5rem; border-radius: 20px; background: #f5f8fa; }
.exxell-logo-strip img { width: 100%; max-width: 145px; max-height: 58px; margin: auto; object-fit: contain; filter: grayscale(1); opacity: .72; }

.exxell-tags { display: flex; flex-wrap: wrap; gap: .7rem; }
.exxell-tag { display: inline-flex; align-items: center; margin: 0; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #dce7ed; text-decoration: none; transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease; }
.exxell-tag:hover, .exxell-tag:focus-visible { border-color: #54d9e4; background: rgba(84,217,228,.12); color: #fff; transform: translateY(-2px); }
.exxell-profile-priorities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2.25rem; }
.exxell-profile-priority { min-height: 180px; padding: 1.5rem; border-top: 3px solid #1466e2; background: #edf3f6; }
.exxell-profile-priority span { color: #1466e2; font-size: .8rem; font-weight: 850; letter-spacing: .08em; }
.exxell-profile-priority p { margin: 2.5rem 0 0; color: #071521; font-size: 1.05rem; font-weight: 750; line-height: 1.45; }
.exxell-profile-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem; }
.exxell-profile-benefit { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid #d4e0e7; border-radius: 18px; background: #fff; }
.exxell-profile-benefit__label { margin: 0 0 .6rem; color: #1466e2; font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.exxell-profile-benefit h3 { margin: 0; color: #071521; font-size: clamp(1.3rem, 2vw, 1.65rem); }
.exxell-profile-benefit p { color: #486171; line-height: 1.65; }
.exxell-profile-benefit a { color: #075fc7; font-weight: 800; text-underline-offset: .2em; }
.exxell-sectors-note { margin: 1.25rem 0 0; color: #91a7b5; line-height: 1.8; }

.exxell-cta { padding: clamp(2rem, 5vw, 4rem); border-radius: 28px; background: #1466e2; color: #fff; }
.exxell-cta h2 { max-width: 17ch; margin: 0; font-size: clamp(2.2rem, 5vw, 4.2rem); }
.exxell-cta p { max-width: 620px; color: #dce9ff; }
.exxell-cta .wp-block-button__link { background: #fff; color: #0b2235; }

.exxell-page-hero { position: relative; padding: clamp(4.5rem, 7vw, 6.75rem) 0; background: #071521; color: #fff; }
.exxell-page-hero--access {
  background:
    linear-gradient(90deg, rgba(7,21,33,.98) 0%, rgba(7,21,33,.92) 45%, rgba(7,21,33,.42) 74%, rgba(7,21,33,.18) 100%),
    url('../images/hero-controle-acces.webp') center / cover no-repeat;
}
.exxell-page-hero--image {
  background:
    linear-gradient(90deg, rgba(7,21,33,.98) 0%, rgba(7,21,33,.9) 45%, rgba(7,21,33,.38) 76%, rgba(7,21,33,.2) 100%),
    var(--exxell-hero-image) center / cover no-repeat;
}
.exxell-page-hero__content { position: relative; z-index: 1; max-width: 940px; }
.exxell-page-hero h1 { max-width: 18ch; margin: 0; font-size: clamp(2.75rem, 5.2vw, 5.15rem); }
.exxell-page-hero p { max-width: 680px; color: #c3d1da; font-size: 1.2rem; }
.exxell-kicker { color: #5de2e7; font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.exxell-problems { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.exxell-problem { padding: 1.5rem; border-left: 3px solid #f8b84e; background: #fff; }
.exxell-problem h3 { margin-top: 0; }

.exxell-editorial { background: #f4f7f9; }
.exxell-editorial-list { border-top: 1px solid #cbd6dc; }
.exxell-editorial-item { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: clamp(1.25rem, 4vw, 4rem); padding: clamp(2rem, 4vw, 3.5rem) 0; border-bottom: 1px solid #cbd6dc; }
.exxell-editorial-item__index { margin: .25rem 0 0; color: #1466e2; font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
.exxell-editorial-item > div { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); column-gap: clamp(2rem, 6vw, 6rem); }
.exxell-editorial-item h3 { grid-row: 1 / span 4; margin: 0; font-size: clamp(1.55rem, 3vw, 2.35rem); }
.exxell-editorial-item p { margin: 0 0 1rem; color: #425565; font-size: 1.05rem; }
.exxell-editorial-item p:last-child { margin-bottom: 0; }

.exxell-validation-note { margin: 2rem 0 0; padding: 1rem 1.25rem; border-left: 4px solid #f8b84e; background: #fff3d8; color: #5e430d; }
.exxell-ai-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.exxell-ai-intro h2 { max-width: 16ch; margin: 0; font-size: clamp(2.3rem, 5vw, 4.4rem); }
.exxell-ai-intro > div > p:not(.exxell-eyebrow) { max-width: 680px; color: #b6c7d1; }
.exxell-ai-search { padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid rgba(93,226,231,.3); border-radius: 24px; background: rgba(7,21,33,.7); box-shadow: 0 26px 70px rgba(0,0,0,.25); }
.exxell-ai-search__label { margin: 0 0 .75rem; color: #5de2e7; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.exxell-ai-search__query { margin: 0; padding: 1rem 1.1rem; border-radius: 12px; background: #fff; color: #071521; font-weight: 700; }
.exxell-ai-search__filters { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.exxell-ai-search__filters span { padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #c8d5dc; font-size: .78rem; }
.exxell-ai-search__result { display: flex; gap: .75rem; align-items: center; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.12); color: #fff; }
.exxell-ai-search__result > span { color: #5de2e7; font-size: 1.4rem; }
.exxell-ai-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.exxell-ai-card { padding: 1.5rem; border-top: 2px solid #5de2e7; background: rgba(255,255,255,.055); }
.exxell-ai-card > span { color: #5de2e7; font-size: .8rem; font-weight: 800; }
.exxell-ai-card h3 { margin: 2rem 0 .7rem; color: #fff; }
.exxell-ai-card p { margin-bottom: 0; color: #b6c7d1; }
.exxell-button { min-height: 48px; display: inline-flex; align-items: center; padding: .85rem 1.35rem; border-radius: 999px; background: #5de2e7; color: #071521; font-weight: 800; text-decoration: none; }
.exxell-button:hover { background: #fff; }
.exxell-link-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.exxell-link-grid a { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; color: inherit; font-size: 1.05rem; font-weight: 750; text-decoration: none; }
.exxell-section:not(.exxell-section--navy) .exxell-link-grid a { border-color: var(--exxell-line); background: #fff; color: #071521; }
.exxell-link-grid a:hover, .exxell-link-grid a:focus-visible { border-color: #5de2e7; color: #5de2e7; }
.exxell-section:not(.exxell-section--navy) .exxell-link-grid a:hover,
.exxell-section:not(.exxell-section--navy) .exxell-link-grid a:focus-visible { color: #1466e2; }
.exxell-zone-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.exxell-zone-layout { display: grid; grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); gap: 1rem; }
.exxell-zone-layout .exxell-zone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.exxell-zone { min-height: 210px; padding: 1.5rem; border-top: 3px solid #1466e2; background: #e9f0f4; }
.exxell-zone > span { color: #1466e2; font-size: 2rem; }
.exxell-zone h3 { margin-top: 3rem; }
.exxell-link-grid--visual a { position: relative; isolation: isolate; overflow: hidden; min-height: 230px; align-items: flex-end; border-color: rgba(7,21,33,.14) !important; color: #fff !important; font-size: 1.2rem; }
.exxell-link-grid--visual a::before { content: ""; position: absolute; z-index: -2; inset: 0; background: var(--exxell-card-image) center / cover no-repeat; transition: transform .35s ease; }
.exxell-link-grid--visual a::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(7,21,33,.08), rgba(7,21,33,.92)); }
.exxell-link-grid--visual a:hover::before { transform: scale(1.025); }
.exxell-architecture-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 3rem; }
.exxell-architecture-card { position: relative; isolation: isolate; overflow: hidden; min-height: 300px; display: flex; align-items: flex-end; padding: 1.5rem; border-radius: 20px; color: #fff; font-size: 1.15rem; font-weight: 800; text-decoration: none; }
.exxell-architecture-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(7,21,33,.08), rgba(7,21,33,.9)); }
.exxell-architecture-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.exxell-architecture-card:hover img { transform: scale(1.025); }

.exxell-faq details { padding: 1.25rem 0; border-top: 1px solid var(--exxell-line); }
.exxell-faq summary { cursor: pointer; font-weight: 750; }

.exxell-landing { background: #f4f7f9; }
.exxell-landing-hero { position: relative; padding: clamp(3rem, 7vw, 6.5rem) 0; }
.exxell-landing-hero--access {
  background:
    linear-gradient(90deg, rgba(7,21,33,.58) 0%, rgba(7,21,33,.78) 48%, rgba(7,21,33,.9) 100%),
    url('../images/hero-landing-controle-acces.webp') center / cover no-repeat;
}
.exxell-landing-hero--dynamic {
  background:
    linear-gradient(90deg, rgba(7,21,33,.62) 0%, rgba(7,21,33,.78) 48%, rgba(7,21,33,.92) 100%),
    var(--exxell-hero-image) center / cover no-repeat;
}
.exxell-landing-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.exxell-landing h1 { margin: 0; font-size: clamp(2.8rem, 6vw, 5.4rem); }
.exxell-landing-copy { padding: clamp(1rem, 4vw, 3rem) 0; color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.3); }
.exxell-landing-copy .exxell-hero__lead { color: #d4e0e6; }
.exxell-landing-copy .exxell-checklist li { border-color: rgba(255,255,255,.2); }
.exxell-landing-copy .exxell-checklist li::before { color: #5de2e7; }
.exxell-form-preview { padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 24px; background: #fff; box-shadow: var(--exxell-shadow); }
.exxell-form-preview__note { padding: .75rem 1rem; border-radius: 10px; background: #fff3d8; color: #5e430d; font-size: .85rem; }
.exxell-form-section { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.exxell-form-section h2 { margin-top: 0; font-size: clamp(2.2rem, 5vw, 4rem); }
.exxell-form-card { padding: clamp(1.25rem, 3.5vw, 2.5rem); border-radius: 24px; background: #fff; color: #071521; box-shadow: var(--exxell-shadow); }
.exxell-landing-grid > .exxell-form-card { align-self: start; }
.exxell-lead-form { margin-top: 1.4rem; }
.exxell-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.exxell-form-grid label > span, .exxell-form-grid legend { display: block; margin-bottom: .4rem; font-size: .9rem; font-weight: 750; }
.exxell-form-grid input:not([type="checkbox"]):not([type="radio"]), .exxell-form-grid select, .exxell-form-grid textarea { box-sizing: border-box; width: 100%; min-height: 48px; padding: .75rem .85rem; border: 1px solid #b8c7d0; border-radius: 10px; background: #fff; color: #071521; font: inherit; }
.exxell-form-grid textarea { min-height: 135px; resize: vertical; }
.exxell-form-grid input:focus, .exxell-form-grid select:focus, .exxell-form-grid textarea:focus { border-color: #1466e2; outline: 3px solid rgba(20,102,226,.16); }
.exxell-form-grid__wide { grid-column: 1 / -1; }
.exxell-form-grid fieldset { min-width: 0; margin: 0; padding: .7rem .85rem; border: 1px solid #b8c7d0; border-radius: 10px; }
.exxell-radio { display: inline-flex; align-items: center; gap: .4rem; margin-right: 1rem; }
.exxell-consent { display: flex !important; align-items: flex-start; gap: .7rem; padding: .9rem; border-radius: 10px; background: #eef4f7; }
.exxell-consent > span { margin: 0 !important; font-weight: 500 !important; }
.exxell-consent input { margin-top: .3rem; }
.exxell-submit { width: 100%; min-height: 52px; margin-top: 1.1rem; border: 0; border-radius: 999px; background: #1466e2; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.exxell-submit:hover { background: #0d4fae; }
.exxell-form-help { margin-bottom: 0; color: #617381; font-size: .82rem; }
.exxell-form-message { margin-bottom: 1rem; padding: 1rem; border-radius: 12px; }
.exxell-form-message--success { background: #dff5e9; color: #174a2f; }
.exxell-form-message--error { background: #ffe7e4; color: #74261f; }
.exxell-test-reference { display: grid; gap: .45rem; max-width: 720px !important; margin: 1.4rem 0; padding: 1rem 1.15rem; border: 1px solid rgba(93,226,231,.5); border-radius: 12px; background: #e8fbfc; color: #071521 !important; }
.exxell-test-reference strong { color: #071521; font-size: .9rem; }
.exxell-test-reference code { display: block; width: fit-content; max-width: 100%; padding: .35rem .5rem; border-radius: 6px; background: #fff; color: #071521; font-size: .95rem; font-weight: 750; overflow-wrap: anywhere; }
.exxell-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.exxell-field { margin-top: 1rem; }
.exxell-field strong { display: block; margin-bottom: .4rem; font-size: .9rem; }
.exxell-field span { display: block; min-height: 48px; padding: .72rem .85rem; border: 1px solid #cbd6dc; border-radius: 10px; color: #7b8c97; }
.exxell-disabled-button { margin: 1rem 0 0; padding: .9rem 1.2rem; border-radius: 999px; background: #9aa9b2; color: #fff; text-align: center; font-weight: 750; }

.exxell-footer { padding: 0 0 1.5rem; background: radial-gradient(circle at 15% 0%, #12324b 0, #071521 42%); color: #b9c9d2; }
.exxell-footer__callout { display: grid; grid-template-columns: minmax(0, 1.5fr) auto; align-items: center; gap: 2rem; padding: clamp(2.5rem, 5vw, 4.5rem) 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.exxell-footer__callout h2 { max-width: 20ch; margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); }
.exxell-footer__callout p { max-width: 680px; color: #b9c9d2; }
.exxell-footer__grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: clamp(2rem, 5vw, 5rem); padding-top: 3rem; }
.exxell-footer h2, .exxell-footer h3 { color: #fff; }
.exxell-footer a { color: #dce7ed; }
.exxell-footer a.exxell-button { color: #071521; }
.exxell-footer__grid p a { min-height: 24px; display: inline-flex; align-items: center; padding-block: .16rem; }
.exxell-footer__brand { max-width: 36ch; }
.exxell-footer__brand .exxell-wordmark { font-size: clamp(1.35rem, 2vw, 2rem); }
.exxell-social-links { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.25rem 0; }
.exxell-social-links a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; text-decoration: none; }
.exxell-social-links svg { width: 21px; height: 21px; fill: currentColor; }
.exxell-social-links a:hover { border-color: #58d9e6; color: #58d9e6; }
.exxell-footer__meta { display: flex; justify-content: space-between; gap: 2rem; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; }

:focus-visible { outline: 3px solid #f8b84e; outline-offset: 3px; }

@media (max-width: 900px) {
  .exxell-stats__head { grid-template-columns: 1fr; gap: 1rem; }
  .exxell-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exxell-stats:not(.exxell-stats--compact) .exxell-stat:last-child { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.18); }
  .exxell-header__inner { grid-template-columns: minmax(0, 1fr) auto; padding: .9rem 0; }
  .exxell-wordmark { white-space: nowrap; font-size: .92rem; }
  .exxell-header .wp-block-navigation { grid-column: auto; grid-row: auto; width: auto; justify-self: end; }
  .exxell-header__inner > .wp-block-buttons { display: none; }
  .exxell-hero { min-height: auto; }
  .exxell-hero,
  .exxell-page-hero--access { background-position: 62% center; }
  .exxell-landing-hero--access {
    background:
      linear-gradient(rgba(7,21,33,.84), rgba(7,21,33,.94)),
      url('../images/hero-landing-controle-acces.webp') 34% center / cover no-repeat;
  }
  .exxell-hero__grid, .exxell-split, .exxell-landing-grid { grid-template-columns: 1fr; }
  .exxell-method-layout, .exxell-zone-layout, .exxell-ai-intro, .exxell-form-section { grid-template-columns: 1fr; }
  .exxell-hero h1, .exxell-page-hero h1 { max-width: none; }
  .exxell-card { grid-column: span 12; min-height: 0; }
  .exxell-steps { grid-template-columns: repeat(2, 1fr); }
  .exxell-problems { grid-template-columns: 1fr; }
  .exxell-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exxell-zone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exxell-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .exxell-footer__callout { grid-template-columns: 1fr; }
  .exxell-logo-strip { grid-template-columns: repeat(4, minmax(80px, 1fr)); }
  .exxell-ai-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exxell-editorial-item > div { grid-template-columns: 1fr; }
  .exxell-editorial-item h3 { grid-row: auto; margin-bottom: 1rem; }
}

@media (max-width: 600px) {
  .exxell-shell { width: min(100% - 1.25rem, 1440px); }
  .exxell-stats__head { grid-template-columns: 1fr; gap: 1rem; }
  .exxell-stats__grid, .exxell-stats--compact .exxell-stats__grid { grid-template-columns: 1fr; }
  .exxell-stats:not(.exxell-stats--compact) .exxell-stat:last-child { grid-column: auto; }
  .exxell-stat { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .exxell-stat:last-child { border-bottom: 0; }
  .exxell-header { min-height: 58px; }
  .exxell-header__inner { min-height: 58px; gap: .75rem; }
  .exxell-header__descriptor { display: none; }
  .exxell-wordmark { max-width: 210px; overflow: hidden; text-overflow: ellipsis; font-size: .78rem; letter-spacing: .08em; }
  .exxell-brand-logo--header { padding: 3px 7px; border-radius: 9px; }
  .exxell-brand-logo--header img { height: 46px; }
  .exxell-brand-logo--footer img { height: 82px; }
  .exxell-section { padding: 3.5rem 0; }
  .exxell-hero { padding: 3.25rem 0; }
  .exxell-hero {
    background:
      linear-gradient(rgba(7,21,33,.88), rgba(7,21,33,.96)),
      url('../images/hero-metiers-securite.webp') 68% center / cover no-repeat;
  }
  .exxell-page-hero--access {
    background:
      linear-gradient(rgba(7,21,33,.86), rgba(7,21,33,.96)),
      url('../images/hero-controle-acces.webp') 68% center / cover no-repeat;
  }
  .exxell-page-hero--image,
  .exxell-landing-hero--dynamic {
    background:
      linear-gradient(rgba(7,21,33,.86), rgba(7,21,33,.96)),
      var(--exxell-hero-image) 62% center / cover no-repeat;
  }
  .exxell-hero h1 { font-size: clamp(2.55rem, 13vw, 3.7rem); line-height: .98; }
  .exxell-hero__lead { margin-top: 1.25rem; font-size: 1rem; }
  .exxell-actions { display: grid !important; grid-template-columns: 1fr; gap: .7rem; }
  .exxell-actions .wp-block-button, .exxell-actions .wp-block-button__link { width: 100%; }
  .exxell-actions .wp-block-button__link { justify-content: center; text-align: center; }
  .exxell-console { margin-top: .75rem; padding: .85rem; border-radius: 18px; }
  .exxell-console__item { grid-template-columns: 38px 1fr; }
  .exxell-console__item { padding: .8rem .35rem; }
  .exxell-console__status { grid-column: 2; max-width: none; text-align: left; }
  .exxell-steps { grid-template-columns: 1fr; }
  .exxell-footer__grid { grid-template-columns: 1fr; }
  .exxell-footer__meta { flex-direction: column; gap: .5rem; }
  .exxell-architecture-grid { grid-template-columns: 1fr; }
  .exxell-link-grid, .exxell-zone-grid { grid-template-columns: 1fr; }
  .exxell-zone-layout .exxell-zone-grid { grid-template-columns: 1fr; }
  .exxell-method-media, .exxell-zone-media { min-height: 300px; border-radius: 18px; }
  .exxell-method-layout .exxell-steps { grid-template-columns: 1fr; }
  .exxell-references__head { grid-template-columns: 1fr; gap: 1rem; }
  .exxell-logo-strip { grid-template-columns: repeat(2, minmax(90px, 1fr)); gap: 1.5rem; padding: 1.25rem; }
  .exxell-logo-strip img { max-height: 50px; }
  .exxell-ai-grid, .exxell-form-grid { grid-template-columns: 1fr; }
  .exxell-profile-priorities, .exxell-profile-benefits { grid-template-columns: 1fr; }
  .exxell-profile-priority { min-height: 0; }
  .exxell-profile-priority p { margin-top: 1.25rem; }
  .exxell-form-grid__wide { grid-column: auto; }
  .exxell-ai-search { border-radius: 18px; }
  .exxell-form-card { border-radius: 18px; }
  .exxell-editorial-item { grid-template-columns: 44px minmax(0, 1fr); gap: .75rem; }
  .exxell-card--visual { min-height: 340px; }
  .exxell-cta { border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
