:root {
  --ccv-primary: #111827;
  --ccv-secondary: #c8a35d;
  --ccv-accent: #4f6f70;
  --ccv-light: #f7f3ec;
  --ccv-dark: #141414;
  --ccv-header-bg: #fffdf8;
  --ccv-footer-bg: #0b1220;
  --ccv-footer-text: #e8dec8;
  --ccv-white: #ffffff;
  --ccv-cream: #fffdf8;
  --ccv-muted: #667085;
  --ccv-soft: #ebe2d2;
  --ccv-border: rgba(17, 24, 39, 0.12);
  --ccv-border-gold: rgba(200, 163, 93, 0.34);
  --ccv-radius: 26px;
  --ccv-radius-small: 16px;
  --ccv-shadow: 0 28px 80px rgba(17, 24, 39, 0.12);
  --ccv-shadow-soft: 0 16px 44px rgba(17, 24, 39, 0.07);
  --ccv-container: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ccv-dark);
  background:
    radial-gradient(circle at 8% 0%, rgba(200, 163, 93, 0.08), transparent 30%),
    linear-gradient(180deg, var(--ccv-cream), #ffffff 420px);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: rgba(200, 163, 93, 0.28);
}

img,
svg,
iframe {
  max-width: 100%;
}

img {
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  color: var(--ccv-secondary);
}

.ccv-container {
  width: min(var(--ccv-container), calc(100% - 44px));
  margin-inline: auto;
}

.site-header {
  top: 0;
  z-index: 1000;
  background: var(--ccv-header-bg);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 12px 34px rgba(17, 24, 39, 0.04);
}

.ccv-header-sticky {
  position: sticky;
}

.ccv-header-static {
  position: relative;
}

.ccv-header-inner {
  width: min(var(--ccv-container), calc(100% - 44px));
  margin-inline: auto;
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.ccv-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 180px;
  color: var(--ccv-primary);
  font-weight: 760;
  letter-spacing: -0.03em;
}

.ccv-brand span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
}

.ccv-brand img {
  max-height: 58px;
  width: auto;
}

.ccv-nav-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  gap: 22px;
}

.ccv-menu,
.ccv-menu ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 0;
}

.ccv-menu a {
  position: relative;
  display: inline-flex;
  padding: 12px 0;
  color: var(--ccv-primary);
  font-weight: 650;
  font-size: 0.92em;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.ccv-menu a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 2px;
  background: var(--ccv-secondary);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.22s ease;
}

.ccv-menu .current-menu-item > a,
.ccv-menu a:hover {
  color: var(--ccv-primary);
}

.ccv-menu .current-menu-item > a::after,
.ccv-menu a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.ccv-header-cta,
.ccv-button,
.wp-block-button__link,
.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 22px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  background: linear-gradient(135deg, #d7b66f, var(--ccv-secondary));
  color: #ffffff !important;
  font-weight: 760;
  letter-spacing: 0.01em;
  box-shadow: 0 18px 42px rgba(200, 163, 93, 0.24);
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.ccv-header-cta:hover,
.ccv-button:hover,
.wp-block-button__link:hover,
.elementor-button:hover {
  transform: translateY(-2px);
  filter: saturate(1.06);
  box-shadow: 0 22px 48px rgba(200, 163, 93, 0.34);
  color: #ffffff !important;
}

.ccv-mobile-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(17, 24, 39, 0.14);
  border-radius: 16px;
  background: #ffffff;
  color: var(--ccv-primary);
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(17, 24, 39, 0.06);
}

.ccv-mobile-toggle span,
.ccv-mobile-toggle::before,
.ccv-mobile-toggle::after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  margin: 5px auto;
  background: currentColor;
  transition: transform 0.2s ease;
}

.ccv-mobile-menu {
  display: none;
  border-top: 1px solid var(--ccv-border);
  background: var(--ccv-header-bg);
}

.ccv-mobile-menu.is-open {
  display: block;
}

.ccv-mobile-menu .ccv-menu {
  width: min(var(--ccv-container), calc(100% - 44px));
  margin: 0 auto;
  padding: 18px 0 26px;
  display: grid;
  gap: 6px;
}

.ccv-mobile-menu .ccv-menu a {
  padding: 12px 0;
}

.ccv-mobile-menu .ccv-menu a::after {
  display: none;
}

.ccv-main {
  min-height: 60vh;
}

.ccv-page-wrapper {
  width: min(var(--ccv-container), calc(100% - 44px));
  margin: 64px auto 90px;
}

.ccv-page-header {
  margin-bottom: 38px;
}

.ccv-eyebrow,
.ccv-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  color: var(--ccv-secondary);
  font-weight: 820;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.74rem;
}

.ccv-eyebrow::before,
.ccv-section-kicker::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
}

.ccv-title,
.entry-title,
h1, h2, h3, h4 {
  color: var(--ccv-primary);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.ccv-title,
.entry-title,
h1 {
  font-size: clamp(2.45rem, 5.4vw, 5.85rem);
  margin: 0 0 24px;
}

h2 {
  font-size: clamp(1.85rem, 3.1vw, 3.3rem);
  margin: 0 0 18px;
}

h3 {
  font-size: clamp(1.22rem, 2vw, 1.72rem);
  margin: 0 0 12px;
}

p {
  margin: 0 0 18px;
}

.ccv-lead {
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  color: var(--ccv-muted);
  max-width: 820px;
}

.ccv-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 16%, rgba(200, 163, 93, 0.34), transparent 25%),
    radial-gradient(circle at 14% 90%, rgba(79, 111, 112, 0.24), transparent 30%),
    linear-gradient(135deg, #0b1220 0%, #111827 54%, #182235 100%);
  color: #ffffff;
  padding: clamp(82px, 10vw, 150px) 0;
}

.ccv-hero::before {
  content: "";
  position: absolute;
  inset: 34px 34px auto auto;
  width: min(32vw, 360px);
  aspect-ratio: 1;
  border: 1px solid rgba(200, 163, 93, 0.34);
  border-radius: 50%;
  opacity: 0.72;
}

.ccv-hero::after {
  content: "";
  position: absolute;
  inset: auto -180px -300px auto;
  width: 650px;
  height: 650px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
}

.ccv-hero-inner,
.elementor .ccv-hero > .e-con-inner,
.elementor .ccv-hero.e-con {
  position: relative;
  z-index: 1;
  width: min(var(--ccv-container), calc(100% - 44px));
  margin-inline: auto;
}

.ccv-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.72fr);
  gap: clamp(34px, 6vw, 76px);
  align-items: center;
}

.elementor .ccv-hero.e-con {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ccv-hero h1 {
  color: #ffffff;
  max-width: 980px;
}

.ccv-hero p {
  color: rgba(255, 255, 255, 0.84);
  max-width: 820px;
}

.ccv-hero .ccv-eyebrow,
.ccv-hero .ccv-section-kicker {
  color: #ead6aa;
}

.ccv-hero-card {
  padding: clamp(24px, 3vw, 34px);
  border-radius: var(--ccv-radius);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.07));
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
}

.ccv-hero-card img {
  width: 100%;
  border-radius: calc(var(--ccv-radius) - 8px);
  display: block;
}

.ccv-hero-card p {
  margin-top: 18px;
}

.ccv-content-section {
  padding: clamp(58px, 8vw, 104px) 0;
}

.ccv-content-section.ccv-light,
.ccv-light {
  background: var(--ccv-light);
}

.ccv-section-inner,
.elementor .ccv-content-section > .e-con-inner,
.elementor .ccv-content-section.e-con {
  width: min(var(--ccv-container), calc(100% - 44px));
  margin-inline: auto;
}

.ccv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ccv-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  align-items: start;
}

.ccv-card,
.ccv-editable-block,
.ccv-proof-card {
  position: relative;
  padding: clamp(24px, 3vw, 36px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--ccv-border);
  border-radius: var(--ccv-radius);
  box-shadow: var(--ccv-shadow-soft);
}

.ccv-card::before,
.ccv-proof-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  right: 28px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--ccv-secondary), transparent);
  opacity: 0.72;
}

.ccv-card {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.ccv-card:hover {
  transform: translateY(-4px);
  border-color: var(--ccv-border-gold);
  box-shadow: var(--ccv-shadow);
}

.ccv-card h3 {
  color: var(--ccv-primary);
}

.ccv-card p,
.ccv-proof-card p,
.ccv-editable-block p {
  color: var(--ccv-muted);
}

.ccv-proof-band {
  background:
    radial-gradient(circle at 10% 0%, rgba(200, 163, 93, 0.22), transparent 28%),
    var(--ccv-primary);
  color: #ffffff;
  padding: clamp(52px, 7vw, 84px) 0;
}

.ccv-proof-band h2,
.ccv-proof-band h3 {
  color: #ffffff;
}

.ccv-proof-band p {
  color: rgba(255, 255, 255, 0.82);
}

.ccv-cta-section {
  position: relative;
  overflow: hidden;
  width: min(var(--ccv-container), calc(100% - 44px));
  margin: 76px auto;
  padding: clamp(38px, 6vw, 78px);
  border-radius: calc(var(--ccv-radius) + 12px);
  background:
    radial-gradient(circle at top right, rgba(200, 163, 93, 0.28), transparent 34%),
    linear-gradient(135deg, #111827, #0b1220);
  color: #ffffff;
  text-align: center;
  box-shadow: var(--ccv-shadow);
}

.ccv-cta-section::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(200, 163, 93, 0.22);
  border-radius: calc(var(--ccv-radius) + 4px);
  pointer-events: none;
}

.ccv-cta-section > * {
  position: relative;
  z-index: 1;
}

.ccv-cta-section h2 {
  color: #ffffff;
}

.ccv-cta-section p {
  color: rgba(255, 255, 255, 0.82);
  max-width: 740px;
  margin-inline: auto;
}

.site-footer {
  background:
    radial-gradient(circle at 86% 0%, rgba(200, 163, 93, 0.16), transparent 28%),
    var(--ccv-footer-bg);
  color: var(--ccv-footer-text);
  padding: 68px 0 30px;
}

.site-footer a,
.site-footer p,
.site-footer li,
.site-footer div {
  color: var(--ccv-footer-text);
}

.site-footer a:hover {
  color: #ffffff;
}

.ccv-footer-grid {
  width: min(var(--ccv-container), calc(100% - 44px));
  margin-inline: auto;
  display: grid;
  gap: 30px;
}

.ccv-footer-grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ccv-footer-grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ccv-footer-grid.cols-4 {
  grid-template-columns: 1.25fr 1fr 1fr 1.05fr;
}

.ccv-footer-widget {
  min-width: 0;
}

.ccv-footer-widget h2,
.ccv-footer-widget h3,
.ccv-footer-widget .widget-title {
  color: #ffffff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}

.ccv-footer-widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ccv-footer-widget li {
  margin: 9px 0;
}

.ccv-footer-widget a {
  border-bottom: 1px solid rgba(232, 222, 200, 0.18);
}

.ccv-footer-contact,
.ccv-footer-map {
  margin-top: 20px;
}

.ccv-footer-logo-link,
.ccv-footer-logo {
  display: inline-block;
  margin-bottom: 16px;
}

.ccv-footer-logo {
  max-height: 74px;
  width: auto;
}

.ccv-footer-custom-content p:last-child,
.ccv-footer-custom-content ul:last-child {
  margin-bottom: 0;
}

.ccv-footer-map iframe {
  width: 100%;
  min-height: 240px;
  border: 0;
  border-radius: 20px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.ccv-footer-bottom {
  width: min(var(--ccv-container), calc(100% - 44px));
  margin: 38px auto 0;
  padding-top: 26px;
  border-top: 1px solid rgba(232, 222, 200, 0.16);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  font-size: 0.92rem;
}

.alignwide,
.alignfull {
  max-width: none;
}

.elementor-page .ccv-page-wrapper {
  width: auto;
  margin: 0;
}

.elementor-page .entry-content {
  margin: 0;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: inherit;
}

.elementor-widget-text-editor {
  color: inherit;
}

.elementor .ccv-card,
.elementor .ccv-proof-card,
.elementor .ccv-editable-block {
  width: 100%;
}

@media (max-width: 1080px) {
  .ccv-menu,
  .ccv-menu ul {
    gap: 14px;
  }

  .ccv-header-cta {
    padding-inline: 16px;
  }
}

@media (max-width: 980px) {
  .ccv-desktop-nav,
  .ccv-header-cta {
    display: none;
  }

  .ccv-mobile-toggle {
    display: inline-block;
    margin-left: auto;
  }

  .ccv-header-inner {
    min-height: 76px;
  }

  .ccv-hero-inner,
  .ccv-grid,
  .ccv-grid-2,
  .ccv-footer-grid.cols-2,
  .ccv-footer-grid.cols-3,
  .ccv-footer-grid.cols-4 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .ccv-container,
  .ccv-page-wrapper,
  .ccv-section-inner,
  .ccv-hero-inner,
  .ccv-footer-grid,
  .ccv-footer-bottom,
  .ccv-cta-section,
  .elementor .ccv-hero > .e-con-inner,
  .elementor .ccv-hero.e-con,
  .elementor .ccv-content-section > .e-con-inner,
  .elementor .ccv-content-section.e-con {
    width: min(100% - 30px, var(--ccv-container));
  }

  .ccv-hero {
    padding: 70px 0;
  }

  .ccv-card,
  .ccv-editable-block,
  .ccv-proof-card,
  .ccv-hero-card {
    padding: 22px;
  }

  .ccv-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* v1.1.2 — Ergonomie contrastée, photo-led, schémas et blocs dirigeants */
:root {
  --ccv-primary: #071a36;
  --ccv-secondary: #d5a33a;
  --ccv-accent: #0d8b8f;
  --ccv-light: #f4efe7;
  --ccv-dark: #111827;
  --ccv-header-bg: #071a36;
  --ccv-footer-bg: #061225;
  --ccv-footer-text: #dbe8f5;
  --ccv-blue: #0b57d0;
}

body {
  background: #ffffff;
}

.site-header {
  background: rgba(7, 26, 54, 0.96) !important;
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 46px rgba(2, 8, 23, 0.22);
}

.ccv-brand,
.ccv-menu a {
  color: #ffffff;
}
.ccv-menu a:hover,
.ccv-menu .current-menu-item > a { color: #ffffff; }
.ccv-mobile-toggle { background: rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.24); }

.ccv-hero-v2 {
  padding: clamp(68px, 8vw, 118px) 0 clamp(54px, 7vw, 92px);
  background:
    radial-gradient(circle at 92% 8%, rgba(13, 139, 143, .45), transparent 24%),
    radial-gradient(circle at 18% 84%, rgba(213, 163, 58, .18), transparent 32%),
    linear-gradient(120deg, #061225 0%, #071a36 48%, #083c68 100%);
}
.ccv-hero-v2::before {
  width: 520px;
  height: 520px;
  border: 0;
  background: repeating-linear-gradient(110deg, rgba(213,163,58,.28) 0 1px, transparent 1px 11px);
  border-radius: 0;
  transform: rotate(-7deg);
  opacity:.4;
}
.ccv-hero-v2 .ccv-hero-inner {
  grid-template-columns: minmax(0, .92fr) minmax(340px, 1.08fr);
}
.ccv-hero-copy h1 {
  max-width: 740px;
  font-size: clamp(2.8rem, 6.4vw, 5.8rem);
  line-height: .95;
  letter-spacing: -.06em;
}
.ccv-hero-copy .ccv-lead {
  font-size: clamp(1.08rem, 1.5vw, 1.35rem);
  max-width: 640px;
}
.ccv-hero-kicker .ccv-eyebrow,
.ccv-section-kicker {
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 900;
  color: var(--ccv-accent);
  font-size: .78rem;
}
.ccv-hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin:28px 0; }
.ccv-button-outline {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.48) !important;
  box-shadow: none !important;
}
.ccv-trust-row { display:flex; flex-wrap:wrap; gap:18px; margin-top:26px; color:rgba(255,255,255,.88); font-weight:700; font-size:.92rem; }

.ccv-hero-visual {
  position:relative;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.ccv-hero-visual img {
  width:100%;
  display:block;
  border-radius: 28px;
  box-shadow: 0 34px 90px rgba(0,0,0,.36);
  border: 1px solid rgba(255,255,255,.18);
}
.ccv-kpi-card,
.ccv-roadmap-card {
  position:absolute;
  background:#fff;
  color: var(--ccv-primary);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(2,8,23,.25);
  border:1px solid rgba(7,26,54,.08);
}
.ccv-kpi-card { right: 26px; bottom: 36px; width:min(420px, 72%); padding:20px; }
.ccv-kpi-card strong { display:block; margin-bottom:12px; }
.ccv-kpi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; text-align:center; }
.ccv-kpi-grid b { display:block; color:var(--ccv-primary); font-size:1.35rem; }
.ccv-kpi-grid small { display:block; color:#5b6778; font-size:.72rem; }
.ccv-roadmap-card { left:24px; top:24px; padding:14px 18px; display:flex; gap:10px; align-items:center; font-weight:800; font-size:.78rem; }
.ccv-roadmap-card i { width:30px; height:2px; background:linear-gradient(90deg,var(--ccv-accent),var(--ccv-secondary)); display:block; }

.ccv-proof-strip { background:#fff; border-bottom:1px solid rgba(7,26,54,.08); box-shadow:0 15px 40px rgba(7,26,54,.06); }
.ccv-proof-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.ccv-proof-strip-grid > div { padding:24px 28px; border-right:1px solid rgba(7,26,54,.13); }
.ccv-proof-strip-grid > div:last-child { border-right:0; }
.ccv-proof-strip strong { display:block; color:var(--ccv-primary); font-weight:900; }
.ccv-proof-strip span { color:#667085; font-size:.9rem; }

.ccv-section-heading { text-align:center; max-width:820px; margin:0 auto 36px; }
.ccv-section-heading h2 { font-size:clamp(2rem,3.5vw,3.4rem); line-height:1.02; }
.ccv-expertise-section { background:#fff; }
.ccv-expertise-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ccv-expertise-card { padding:0; overflow:hidden; background:#fff; border:1px solid rgba(7,26,54,.10); border-radius:22px; box-shadow:0 18px 44px rgba(7,26,54,.10); transition:.22s ease; }
.ccv-expertise-card:hover { transform:translateY(-5px); box-shadow:0 30px 70px rgba(7,26,54,.18); }
.ccv-expertise-card img { width:100%; height:160px; object-fit:cover; display:block; border-radius:0; }
.ccv-card-body { padding:24px; }
.ccv-card-icon { width:48px; height:48px; margin-top:-50px; margin-bottom:18px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--ccv-secondary),#ba7f10); border:4px solid #fff; box-shadow:0 12px 26px rgba(7,26,54,.18); }
.ccv-card-body h3 { margin-top:0; font-size:1.25rem; }
.ccv-card-body p { color:#5b6778; }
.ccv-card-body a { color:var(--ccv-accent); font-weight:900; }

.ccv-process-band { color:#fff; padding:clamp(52px,7vw,88px) 0; background:linear-gradient(135deg,#061225,#071a36 65%,#053f62); }
.ccv-process-layout { display:grid; grid-template-columns:.8fr 1.4fr; gap:54px; align-items:center; }
.ccv-process-layout h2 { color:#fff; font-size:clamp(2rem,3.8vw,3.3rem); }
.ccv-process-layout p { color:rgba(255,255,255,.8); }
.ccv-process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; }
.ccv-process-step { padding:22px 18px; border-radius:22px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); text-align:center; box-shadow:none; }
.ccv-process-step span { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 14px; border-radius:50%; background:linear-gradient(135deg,var(--ccv-accent),#0b57d0); color:#fff; font-weight:900; }
.ccv-process-step strong { display:block; color:#fff; margin-bottom:8px; }
.ccv-process-step p { font-size:.86rem; margin:0; }

.ccv-split-section { display:grid; grid-template-columns:1.02fr .98fr; gap:52px; align-items:center; }
.ccv-split-reverse .ccv-split-media { order:2; }
.ccv-split-media { padding:0; background:transparent; box-shadow:none; border:0; }
.ccv-split-media img { width:100%; border-radius:26px; box-shadow:0 24px 70px rgba(7,26,54,.16); border:1px solid rgba(7,26,54,.10); }
.ccv-split-copy h2 { font-size:clamp(1.9rem,3.2vw,3.2rem); line-height:1.05; }
.ccv-mini-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:22px; }
.ccv-mini-card { padding:18px; border-radius:18px; background:#fff; border:1px solid rgba(7,26,54,.10); box-shadow:0 12px 30px rgba(7,26,54,.08); }
.ccv-mini-card h3 { font-size:1rem; margin:0 0 8px; }
.ccv-mini-card p { font-size:.9rem; margin:0; }

.ccv-results-band { padding:clamp(52px,7vw,86px) 0; background:linear-gradient(135deg,#061225,#071a36); color:#fff; }
.ccv-results-grid { display:grid; grid-template-columns:1.4fr repeat(4, .7fr); gap:24px; align-items:stretch; }
.ccv-results-grid h2 { color:#fff; }
.ccv-results-grid p { color:rgba(255,255,255,.78); }
.ccv-stat { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border-left:1px solid rgba(255,255,255,.14); padding:20px; background:rgba(255,255,255,.04); border-radius:20px; }
.ccv-stat strong { color:#fff; font-size:2.2rem; line-height:1; }
.ccv-stat span { color:rgba(255,255,255,.82); font-size:.88rem; }

.ccv-diagram-section { background:linear-gradient(180deg,#fff,#f4efe7); padding:clamp(56px,7vw,96px) 0; }
.ccv-diagram-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:44px; align-items:center; }
.ccv-diagram { position:relative; min-height:420px; padding:0; border:0; box-shadow:none; background:transparent; }
.ccv-diagram::before { content:""; position:absolute; inset:46px; border:2px dashed rgba(7,26,54,.22); border-radius:50%; }
.ccv-diagram-node { position:absolute; min-width:160px; padding:18px 20px; border-radius:18px; background:#fff; color:var(--ccv-primary); font-weight:900; text-align:center; box-shadow:0 18px 44px rgba(7,26,54,.12); border:1px solid rgba(7,26,54,.08); }
.ccv-diagram-node.center { left:50%; top:50%; transform:translate(-50%,-50%); min-width:190px; min-height:110px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--ccv-primary),#0b57d0); }
.ccv-diagram-node.n1 { left:6%; top:10%; }
.ccv-diagram-node.n2 { left:4%; bottom:12%; }
.ccv-diagram-node.n3 { right:4%; top:12%; }
.ccv-diagram-node.n4 { right:0; bottom:12%; }

.ccv-testimonial-band { background:#071a36; color:#fff; padding:clamp(50px,7vw,86px) 0; }
.ccv-testimonial-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center; }
.ccv-testimonial-grid h2 { color:#fff; }
.ccv-testimonial-card { padding:32px; border-radius:24px; background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.06)); border:1px solid rgba(255,255,255,.16); box-shadow:0 22px 64px rgba(0,0,0,.18); }
.ccv-testimonial-card p { color:#fff; font-size:1.12rem; }
.ccv-testimonial-card strong { color:#dbe8f5; }

.ccv-final-cta { background:linear-gradient(135deg,#0b57d0,#071a36 68%,#0d8b8f); text-align:left; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
.ccv-final-cta h2,.ccv-final-cta p { margin-left:0; margin-right:0; }

.site-footer { background:linear-gradient(135deg,#061225,#071a36) !important; }

@media (max-width: 1100px) {
  .ccv-hero-v2 .ccv-hero-inner,
  .ccv-process-layout,
  .ccv-split-section,
  .ccv-diagram-layout,
  .ccv-testimonial-grid,
  .ccv-final-cta { grid-template-columns: 1fr; }
  .ccv-expertise-grid { grid-template-columns: repeat(2,1fr); }
  .ccv-results-grid { grid-template-columns: repeat(2,1fr); }
  .ccv-results-grid > div:first-child { grid-column: 1 / -1; }
  .ccv-proof-strip-grid { grid-template-columns: repeat(2,1fr); }
  .ccv-split-reverse .ccv-split-media { order:0; }
}
@media (max-width: 760px) {
  .ccv-expertise-grid,
  .ccv-process-steps,
  .ccv-results-grid,
  .ccv-proof-strip-grid,
  .ccv-mini-card-grid { grid-template-columns: 1fr; }
  .ccv-kpi-card, .ccv-roadmap-card { position:relative; inset:auto; width:auto; margin:14px 0 0; }
  .ccv-kpi-grid { grid-template-columns:1fr; text-align:left; }
  .ccv-diagram { min-height:auto; display:grid; gap:14px; }
  .ccv-diagram::before { display:none; }
  .ccv-diagram-node,.ccv-diagram-node.center,.ccv-diagram-node.n1,.ccv-diagram-node.n2,.ccv-diagram-node.n3,.ccv-diagram-node.n4 { position:relative; left:auto; right:auto; top:auto; bottom:auto; transform:none; width:100%; }
  .ccv-hero-copy h1 { font-size:2.5rem; }
}


/* v1.1.3 — Développement complet des pages : cas d’usage, formulaire, contrastes et blocs éditables */
.ccv-case-section {
  padding: clamp(56px, 7vw, 96px) 0;
  background: #ffffff;
}
.ccv-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.ccv-case-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(7,26,54,.18);
  border: 1px solid rgba(7,26,54,.12);
  background: #071a36;
}
.ccv-case-card img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  display: block;
  opacity: .78;
  transform: scale(1.01);
}
.ccv-case-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,26,54,.10) 0%, rgba(7,26,54,.82) 74%, rgba(7,26,54,.96) 100%);
}
.ccv-case-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 28px;
  color: #fff;
}
.ccv-case-overlay h3 { color:#fff; margin-bottom: 10px; }
.ccv-case-overlay p { color: rgba(255,255,255,.84); }
.ccv-case-overlay span { color: #f4d99b; font-weight: 900; }
.ccv-contact-section { background: linear-gradient(180deg,#fff,#f4efe7); }
.ccv-contact-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
}
.ccv-contact-panel {
  border-radius: 26px;
  padding: clamp(28px, 4vw, 46px);
  background: #ffffff;
  border: 1px solid rgba(7,26,54,.10);
  box-shadow: 0 24px 70px rgba(7,26,54,.10);
}
.ccv-form-placeholder {
  margin-top: 22px;
  padding: 24px;
  border-radius: 20px;
  border: 1px dashed rgba(7,26,54,.30);
  background: #f8fafc;
  color: #667085;
  font-weight: 800;
}
.ccv-card-image {
  padding: 0;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  background: transparent;
}
.ccv-card-body .ccv-editable-block {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.ccv-hero-actions.ccv-editable-block,
.ccv-kpi-card.ccv-editable-block,
.ccv-roadmap-card.ccv-editable-block,
.ccv-proof-strip .ccv-editable-block,
.ccv-process-step.ccv-editable-block,
.ccv-stat.ccv-editable-block {
  box-shadow: none;
}
.ccv-proof-strip .ccv-editable-block { background: transparent; border: 0; border-radius: 0; padding: 24px 28px; }
.ccv-hero-actions.ccv-editable-block { padding: 0; border: 0; background: transparent; }
@media (max-width: 1100px) {
  .ccv-case-grid,
  .ccv-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ccv-case-card, .ccv-case-card img { min-height: 300px; }
}
