.anv-page--sector-detail {
  --sector-ink: #0f1f2f;
  --sector-accent: #234b73;
  --sector-secondary: #d6c7a2;
  --sector-paper: #ffffff;
  --sector-soft: #f6f7f8;
  --sector-line: rgba(15, 31, 47, 0.11);
  --sector-muted: rgba(15, 31, 47, 0.66);
  background: var(--sector-paper);
  color: var(--sector-ink);
}

.anv-page--sector-detail *,
.anv-page--sector-detail *::before,
.anv-page--sector-detail *::after {
  box-sizing: border-box;
}

.anv-page--sector-detail h1,
.anv-page--sector-detail h2,
.anv-page--sector-detail h3,
.anv-page--sector-detail p,
.anv-page--sector-detail a,
.anv-page--sector-detail li,
.anv-page--sector-detail span,
.anv-page--sector-detail strong {
  letter-spacing: 0;
}

.ccsector-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.ccsector-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--sector-accent);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
}

.ccsector-kicker::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 99px;
  background: var(--sector-accent);
  opacity: 0.42;
}

.ccsector-btn {
  min-height: 52px;
  padding: 0 21px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: var(--sector-ink);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none;
  transition: transform 180ms var(--ease-v2), background 180ms var(--ease-v2), border-color 180ms var(--ease-v2);
}

.ccsector-btn:hover {
  transform: translateY(-2px);
}

.ccsector-btn--primary {
  background: var(--sector-ink);
}

.ccsector-btn--ghost {
  color: var(--sector-ink);
  background: #ffffff;
  border: 1px solid var(--sector-line);
}

.ccsector-hero {
  position: relative;
  padding: 132px 0 82px;
  background: linear-gradient(180deg, var(--sector-soft) 0%, #ffffff 100%);
  border-bottom: 1px solid var(--sector-line);
  overflow: hidden;
}

.ccsector-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(15,31,47,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,31,47,0.03) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.58), transparent 82%);
}

.ccsector-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.52fr);
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}

.ccsector-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  color: var(--sector-muted);
  font-size: 13px;
  font-weight: 800;
}

.ccsector-breadcrumb a {
  color: var(--sector-accent);
}

.ccsector-breadcrumb span::before {
  content: "/";
  margin-right: 10px;
  color: rgba(15,31,47,0.32);
}

.ccsector-hero h1 {
  max-width: 840px;
  margin: 0;
  color: var(--sector-ink);
  font-family: var(--font-display);
  font-size: clamp(42px, 5vw, 76px);
  line-height: 0.98;
  font-weight: 900;
}

.ccsector-hero__intro {
  max-width: 720px;
  margin: 26px 0 0;
  color: var(--sector-muted);
  font-size: 17px;
  line-height: 1.72;
  font-weight: 600;
}

.ccsector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.ccsector-visual {
  min-height: 360px;
  display: grid;
  align-items: center;
}

.ccsector-visual__signal {
  display: none;
}

.ccsector-visual__card {
  width: 100%;
  min-height: 250px;
  padding: 24px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid var(--sector-line);
  box-shadow: 0 20px 58px rgba(15, 31, 47, 0.08);
}

.ccsector-visual__card span {
  display: block;
  margin-bottom: 16px;
  color: var(--sector-accent);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccsector-visual__card strong {
  display: block;
  color: var(--sector-ink);
  font-family: var(--font-display);
  font-size: 30px;
  line-height: 1.05;
  font-weight: 900;
}

.ccsector-visual__lines {
  height: 86px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-top: 34px;
}

.ccsector-visual__lines i {
  flex: 1;
  border-radius: 6px 6px 0 0;
  background: rgba(15,31,47,0.09);
}

.ccsector-visual__lines i:nth-child(2) {
  height: 72%;
  background: color-mix(in srgb, var(--sector-accent) 42%, #dfe5eb);
}

.ccsector-visual__lines i:nth-child(1) { height: 44%; }
.ccsector-visual__lines i:nth-child(3) { height: 58%; }
.ccsector-visual__lines i:nth-child(4) {
  height: 86%;
  background: color-mix(in srgb, var(--sector-accent) 28%, #dfe5eb);
}

.ccsector-visual__proof {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 12px;
}

.ccsector-visual__proof b {
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  color: var(--sector-ink);
  background: #ffffff;
  border: 1px solid var(--sector-line);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 900;
}

.ccsector-visual__proof b::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 99px;
  background: var(--sector-accent);
  opacity: 0.5;
}

.ccsector-module {
  padding: clamp(72px, 8vw, 104px) 0;
  background: #ffffff;
  border-bottom: 1px solid var(--sector-line);
}

.ccsector-module:nth-of-type(even) {
  background: var(--sector-soft);
}

.ccsector-module__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 60px);
  align-items: start;
}

.ccsector-module__icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  border-radius: 8px;
  color: var(--sector-accent);
  background: #ffffff;
  border: 1px solid var(--sector-line);
}

.ccsector-module:nth-of-type(even) .ccsector-module__icon {
  background: var(--sector-soft);
}

.ccsector-module__icon svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ccsector-module h2,
.ccsector-final h2 {
  max-width: 720px;
  margin: 0;
  color: var(--sector-ink);
  font-family: var(--font-display);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.02;
  font-weight: 900;
}

.ccsector-module__body,
.ccsector-final p {
  max-width: 660px;
  margin: 20px 0 0;
  color: var(--sector-muted);
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
}

.ccsector-cardset {
  display: grid;
  gap: 12px;
}

.ccsector-module--mosaic .ccsector-cardset {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ccsector-cardset article,
.ccsector-process li,
.ccsector-timeline article,
.ccsector-dashboard-card {
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid var(--sector-line);
  box-shadow: 0 14px 36px rgba(15, 31, 47, 0.045);
}

.ccsector-cardset article {
  min-height: 178px;
  padding: 22px;
}

.ccsector-cardset h3 {
  margin: 0;
  color: var(--sector-ink);
  font-size: 21px;
  line-height: 1.14;
  font-weight: 900;
}

.ccsector-cardset p,
.ccsector-timeline p,
.ccsector-process p {
  margin: 12px 0 0;
  color: var(--sector-muted);
  font-size: 14.5px;
  line-height: 1.62;
  font-weight: 600;
}

.ccsector-process {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.ccsector-process li {
  min-height: 76px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.ccsector-process span {
  min-height: 44px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: var(--sector-accent);
  background: color-mix(in srgb, var(--sector-accent) 8%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--sector-accent) 16%, transparent);
  font-size: 12px;
  font-weight: 900;
}

.ccsector-process p {
  margin: 0;
  color: var(--sector-ink);
  font-size: 15px;
  font-weight: 800;
}

.ccsector-timeline {
  display: grid;
  gap: 10px;
}

.ccsector-timeline article {
  padding: 18px 20px;
}

.ccsector-timeline span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--sector-accent);
  font-size: 12px;
  font-weight: 900;
}

.ccsector-dashboard-card {
  padding: 22px;
}

.ccsector-dashboard-card__top {
  display: flex;
  gap: 7px;
  margin-bottom: 20px;
}

.ccsector-dashboard-card__top span {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: rgba(15,31,47,0.18);
}

.ccsector-dashboard-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ccsector-dashboard-card article {
  min-height: 104px;
  padding: 18px;
  border-radius: 8px;
  background: var(--sector-soft);
  border: 1px solid var(--sector-line);
}

.ccsector-dashboard-card strong {
  display: block;
  color: var(--sector-ink);
  font-size: 30px;
  line-height: 0.98;
  font-weight: 900;
}

.ccsector-dashboard-card span {
  display: block;
  margin-top: 10px;
  color: var(--sector-muted);
  font-size: 12px;
  font-weight: 900;
}

.ccsector-dashboard-card__bars {
  height: 86px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-top: 20px;
}

.ccsector-dashboard-card__bars i {
  flex: 1;
  border-radius: 6px 6px 0 0;
  background: rgba(15,31,47,0.08);
}

.ccsector-dashboard-card__bars i:nth-child(1) { height: 48%; }
.ccsector-dashboard-card__bars i:nth-child(2) { height: 68%; }
.ccsector-dashboard-card__bars i:nth-child(3) { height: 42%; }
.ccsector-dashboard-card__bars i:nth-child(4) {
  height: 86%;
  background: color-mix(in srgb, var(--sector-accent) 38%, #dfe5eb);
}
.ccsector-dashboard-card__bars i:nth-child(5) { height: 58%; }

.ccsector-theme--trust { --sector-accent: #315c86; }
.ccsector-theme--capital { --sector-accent: #35627a; }
.ccsector-theme--terrain { --sector-accent: #3d6f58; }
.ccsector-theme--energy { --sector-accent: #42755a; }
.ccsector-theme--signal { --sector-accent: #345d8c; }
.ccsector-theme--commerce { --sector-accent: #9a594f; }

.ccsector-final {
  padding: clamp(78px, 8vw, 112px) 0;
  text-align: center;
  background: var(--sector-ink);
  color: #ffffff;
}

.ccsector-final .ccsector-wrap {
  width: min(880px, calc(100% - 48px));
}

.ccsector-final h2 {
  margin: 0 auto;
  color: #ffffff;
}

.ccsector-final p:not(.ccsector-kicker) {
  margin: 22px auto 0;
  color: rgba(255,255,255,0.72);
}

.ccsector-final .ccsector-kicker {
  color: rgba(255,255,255,0.82);
}

.ccsector-final .ccsector-kicker::before {
  background: rgba(255,255,255,0.5);
}

.ccsector-final .ccsector-btn {
  margin-top: 30px;
  color: var(--sector-ink);
  background: #ffffff;
}

@media (max-width: 1040px) {
  .ccsector-hero__inner,
  .ccsector-module__inner {
    grid-template-columns: 1fr;
  }

  .ccsector-visual {
    min-height: auto;
  }

  .ccsector-visual__proof {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ccsector-wrap,
  .ccsector-final .ccsector-wrap {
    width: min(100% - 36px, 1180px);
  }

  .ccsector-hero {
    padding-top: 110px;
    padding-bottom: 64px;
  }

  .ccsector-hero h1,
  .ccsector-module h2,
  .ccsector-final h2 {
    font-size: 38px;
  }

  .ccsector-hero__intro,
  .ccsector-module__body,
  .ccsector-final p {
    font-size: 15.5px;
  }

  .ccsector-actions,
  .ccsector-btn {
    width: 100%;
  }

  .ccsector-module {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .ccsector-module--mosaic .ccsector-cardset,
  .ccsector-dashboard-card__grid,
  .ccsector-visual__proof {
    grid-template-columns: 1fr;
  }

  .ccsector-process li {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .ccsector-hero h1,
  .ccsector-module h2,
  .ccsector-final h2 {
    font-size: 34px;
  }
}

/* Assurance & courtage dedicated page */
.ccsector-assurance {
  --assurance-navy: #071a3c;
  --assurance-blue: #5f8fce;
  --assurance-blue-soft: #dcebff;
  --assurance-gold: #c7a45a;
  --assurance-paper: #ffffff;
  --assurance-soft: #f6f8fb;
  --assurance-line: rgba(7, 26, 60, 0.12);
  --assurance-muted: rgba(7, 26, 60, 0.66);
  background: var(--assurance-paper);
  color: var(--assurance-navy);
}

.ccsector-assurance *,
.ccsector-assurance *::before,
.ccsector-assurance *::after {
  box-sizing: border-box;
}

.ccsector-assurance h1,
.ccsector-assurance h2,
.ccsector-assurance h3,
.ccsector-assurance p,
.ccsector-assurance a,
.ccsector-assurance span,
.ccsector-assurance summary,
.ccsector-assurance li {
  letter-spacing: 0;
}

.ccassurance-wrap {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.ccassurance-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--assurance-blue);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
}

.ccassurance-kicker::before {
  content: "";
  width: 30px;
  height: 2px;
  border-radius: 999px;
  background: var(--assurance-gold);
}

.ccassurance-btn {
  min-height: 54px;
  padding: 0 22px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: var(--assurance-navy);
  border: 1px solid var(--assurance-navy);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none;
  transition: transform 220ms var(--ease-v2), box-shadow 220ms var(--ease-v2), background 220ms var(--ease-v2), border-color 220ms var(--ease-v2);
}

.ccassurance-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(7, 26, 60, 0.18);
}

.ccassurance-btn--primary {
  background: var(--assurance-navy);
}

.ccassurance-btn--ghost {
  color: var(--assurance-navy);
  background: rgba(255,255,255,0.86);
  border-color: var(--assurance-line);
}

.ccassurance-hero {
  position: relative;
  overflow: hidden;
  padding: 132px 0 88px;
  background:
    radial-gradient(circle at 82% 18%, rgba(95, 143, 206, 0.22), transparent 32%),
    linear-gradient(180deg, #f6f8fb 0%, #ffffff 100%);
  border-bottom: 1px solid var(--assurance-line);
}

.ccassurance-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(7,26,60,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,26,60,0.03) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.74), transparent 84%);
  pointer-events: none;
}

.ccassurance-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(420px, 0.82fr);
  gap: clamp(36px, 5vw, 70px);
  align-items: center;
}

.ccassurance-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  color: var(--assurance-muted);
  font-size: 13px;
  font-weight: 800;
}

.ccassurance-breadcrumb a {
  color: var(--assurance-blue);
}

.ccassurance-breadcrumb span::before {
  content: "/";
  margin-right: 10px;
  color: rgba(7,26,60,0.3);
}

.ccassurance-hero h1 {
  max-width: 820px;
  margin: 0;
  color: var(--assurance-navy);
  font-family: var(--font-display);
  font-size: clamp(44px, 5.3vw, 78px);
  line-height: 0.98;
  font-weight: 900;
}

.ccassurance-hero__intro {
  max-width: 690px;
  margin: 26px 0 0;
  color: var(--assurance-muted);
  font-size: 17px;
  line-height: 1.72;
  font-weight: 600;
}

.ccassurance-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.ccassurance-hero__visual {
  position: relative;
  margin: 0;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(95, 143, 206, 0.22);
  box-shadow: 0 30px 80px rgba(7, 26, 60, 0.14);
  overflow: hidden;
}

.ccassurance-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.38);
  pointer-events: none;
}

.ccassurance-hero__visual img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.ccassurance-section-head {
  max-width: 780px;
  margin-bottom: 42px;
}

.ccassurance-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.ccassurance-section-head h2,
.ccassurance-final h2 {
  margin: 0;
  color: var(--assurance-navy);
  font-family: var(--font-display);
  font-size: clamp(36px, 4.2vw, 60px);
  line-height: 1.02;
  font-weight: 900;
}

.ccassurance-section-head p:not(.ccassurance-kicker) {
  margin: 20px 0 0;
  color: var(--assurance-muted);
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
}

.ccassurance-trust,
.ccassurance-process-section,
.ccassurance-appointments,
.ccassurance-objections {
  padding: clamp(76px, 8vw, 112px) 0;
}

.ccassurance-trust,
.ccassurance-objections {
  background: #ffffff;
}

.ccassurance-process-section,
.ccassurance-appointments {
  background: var(--assurance-soft);
  border-top: 1px solid var(--assurance-line);
  border-bottom: 1px solid var(--assurance-line);
}

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

.ccassurance-card {
  min-height: 218px;
  padding: 24px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid var(--assurance-line);
  box-shadow: 0 16px 42px rgba(7, 26, 60, 0.06);
  transition: transform 220ms var(--ease-v2), box-shadow 220ms var(--ease-v2), border-color 220ms var(--ease-v2);
}

.ccassurance-card:hover {
  transform: translateY(-5px);
  border-color: rgba(199, 164, 90, 0.36);
  box-shadow: 0 24px 62px rgba(7, 26, 60, 0.1);
}

.ccassurance-card span {
  display: inline-flex;
  margin-bottom: 38px;
  color: var(--assurance-gold);
  font-size: 12px;
  font-weight: 900;
}

.ccassurance-card h3 {
  margin: 0;
  color: var(--assurance-navy);
  font-size: 23px;
  line-height: 1.1;
  font-weight: 900;
}

.ccassurance-card p,
.ccassurance-process p,
.ccassurance-dossier p,
.ccassurance-objection p,
.ccassurance-final p {
  margin: 13px 0 0;
  color: var(--assurance-muted);
  font-size: 15px;
  line-height: 1.62;
  font-weight: 600;
}

.ccassurance-process {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ccassurance-process::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 33px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--assurance-blue), var(--assurance-gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 900ms var(--ease-v2);
}

.ccassurance-process.is-visible::before {
  transform: scaleX(1);
}

.ccassurance-process li {
  position: relative;
  z-index: 1;
  min-height: 244px;
  padding: 22px;
  border-radius: 12px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(95, 143, 206, 0.18);
  box-shadow: 0 16px 42px rgba(7, 26, 60, 0.06);
}

.ccassurance-process span {
  width: 66px;
  height: 66px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  color: var(--assurance-navy);
  background: #ffffff;
  border: 2px solid var(--assurance-blue-soft);
  box-shadow: inset 0 0 0 6px rgba(220, 235, 255, 0.58);
  font-size: 13px;
  font-weight: 900;
}

.ccassurance-process h3 {
  margin: 0;
  color: var(--assurance-navy);
  font-size: 20px;
  line-height: 1.12;
  font-weight: 900;
}

.ccassurance-appointments__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1fr);
  gap: clamp(32px, 5vw, 68px);
  align-items: center;
}

.ccassurance-dossier {
  position: relative;
  padding: 26px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.9)),
    radial-gradient(circle at 92% 10%, rgba(95,143,206,0.2), transparent 34%);
  border: 1px solid rgba(95,143,206,0.2);
  box-shadow: 0 24px 70px rgba(7, 26, 60, 0.1);
}

.ccassurance-dossier::before {
  content: "";
  position: absolute;
  left: 28px;
  top: -12px;
  width: 36%;
  height: 24px;
  border-radius: 12px 12px 0 0;
  background: var(--assurance-blue-soft);
  border: 1px solid rgba(95,143,206,0.18);
  border-bottom: 0;
}

.ccassurance-dossier__top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 24px;
}

.ccassurance-dossier__top strong {
  color: var(--assurance-navy);
  font-family: var(--font-display);
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
}

.ccassurance-dossier__top span {
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--assurance-navy);
  background: rgba(199,164,90,0.16);
  border: 1px solid rgba(199,164,90,0.24);
  font-size: 12px;
  font-weight: 900;
}

.ccassurance-dossier__line {
  height: 10px;
  margin-bottom: 10px;
  border-radius: 999px;
  background: rgba(7,26,60,0.08);
}

.ccassurance-dossier__line--short {
  width: 68%;
  margin-bottom: 22px;
}

.ccassurance-dossier__items {
  display: grid;
  gap: 10px;
}

.ccassurance-dossier__items article {
  padding: 18px;
  border-radius: 10px;
  background: var(--assurance-soft);
  border: 1px solid var(--assurance-line);
}

.ccassurance-dossier h3 {
  margin: 0;
  color: var(--assurance-navy);
  font-size: 18px;
  line-height: 1.16;
  font-weight: 900;
}

.ccassurance-objections__list {
  display: grid;
  gap: 12px;
  max-width: 900px;
  margin: 0 auto;
}

.ccassurance-objection {
  padding: 22px 24px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid var(--assurance-line);
  box-shadow: 0 14px 38px rgba(7, 26, 60, 0.05);
}

.ccassurance-objection summary {
  cursor: pointer;
  color: var(--assurance-navy);
  font-size: 19px;
  line-height: 1.3;
  font-weight: 900;
}

.ccassurance-objection summary::marker {
  color: var(--assurance-gold);
}

.ccassurance-final {
  padding: clamp(82px, 8vw, 116px) 0;
  color: #ffffff;
  text-align: center;
  background:
    radial-gradient(circle at 50% -10%, rgba(95,143,206,0.22), transparent 38%),
    var(--assurance-navy);
}

.ccassurance-final .ccassurance-wrap {
  width: min(900px, calc(100% - 48px));
}

.ccassurance-final h2 {
  color: #ffffff;
}

.ccassurance-final p:not(.ccassurance-kicker) {
  max-width: 720px;
  margin: 22px auto 0;
  color: rgba(255,255,255,0.74);
  font-size: 16px;
}

.ccassurance-final .ccassurance-kicker {
  color: rgba(255,255,255,0.86);
}

.ccassurance-final .ccassurance-btn {
  margin-top: 30px;
  color: var(--assurance-navy);
  background: #ffffff;
  border-color: #ffffff;
}

html.anv-js .ccsector-assurance .anv-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 650ms var(--ease-v2), transform 650ms var(--ease-v2);
}

html.anv-js .ccsector-assurance .anv-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .ccassurance-hero__visual {
    animation: ccAssuranceFloat 7s ease-in-out infinite;
  }
}

@keyframes ccAssuranceFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@media (prefers-reduced-motion: reduce) {
  .ccsector-assurance *,
  .ccsector-assurance *::before,
  .ccsector-assurance *::after {
    animation: none !important;
    transition: none !important;
  }

  html.anv-js .ccsector-assurance .anv-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1080px) {
  .ccassurance-hero__inner,
  .ccassurance-appointments__inner {
    grid-template-columns: 1fr;
  }

  .ccassurance-hero__visual {
    max-width: 760px;
  }

  .ccassurance-process,
  .ccassurance-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ccassurance-process::before {
    display: none;
  }
}

@media (max-width: 760px) {
  .ccassurance-wrap,
  .ccassurance-final .ccassurance-wrap {
    width: min(100% - 36px, 1200px);
  }

  .ccassurance-hero {
    padding-top: 112px;
    padding-bottom: 68px;
  }

  .ccassurance-hero h1,
  .ccassurance-section-head h2,
  .ccassurance-final h2 {
    font-size: 38px;
  }

  .ccassurance-hero__intro,
  .ccassurance-section-head p:not(.ccassurance-kicker),
  .ccassurance-final p:not(.ccassurance-kicker) {
    font-size: 15.5px;
  }

  .ccassurance-actions,
  .ccassurance-btn {
    width: 100%;
  }

  .ccassurance-trust,
  .ccassurance-process-section,
  .ccassurance-appointments,
  .ccassurance-objections {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .ccassurance-process,
  .ccassurance-trust__grid {
    grid-template-columns: 1fr;
  }

  .ccassurance-process li {
    min-height: auto;
  }

  .ccassurance-process span {
    margin-bottom: 18px;
  }

  .ccassurance-dossier {
    padding: 22px;
  }
}

@media (max-width: 480px) {
  .ccassurance-hero h1,
  .ccassurance-section-head h2,
  .ccassurance-final h2 {
    font-size: 34px;
  }

  .ccassurance-dossier__top {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Assurance page refinement: stronger hero, richer motion, modern interactions */
.ccsector-assurance {
  overflow: hidden;
}

.ccsector-assurance .ccassurance-hero {
  padding: 138px 0 96px;
  background:
    radial-gradient(circle at 76% 18%, rgba(95, 143, 206, 0.28), transparent 30%),
    radial-gradient(circle at 42% 94%, rgba(199, 164, 90, 0.14), transparent 28%),
    linear-gradient(135deg, #f6f8fb 0%, #ffffff 48%, #edf5ff 100%);
}

.ccsector-assurance .ccassurance-hero::after {
  content: "";
  position: absolute;
  right: -12%;
  top: 6%;
  width: 56%;
  height: 78%;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(7, 26, 60, 0.08), rgba(95, 143, 206, 0.16));
  filter: blur(12px);
  pointer-events: none;
}

.ccsector-assurance .ccassurance-hero__inner {
  width: min(1420px, calc(100% - 48px));
  grid-template-columns: minmax(0, 0.74fr) minmax(560px, 1.08fr);
  gap: clamp(34px, 4.8vw, 78px);
}

.ccsector-assurance .ccassurance-hero h1 {
  max-width: 760px;
  font-size: clamp(46px, 5.4vw, 82px);
}

.ccsector-assurance .ccassurance-hero__intro {
  max-width: 640px;
}

.ccsector-assurance .ccassurance-hero__visual {
  min-height: 520px;
  border-radius: 26px;
  transform-origin: center;
  box-shadow:
    0 36px 100px rgba(7, 26, 60, 0.18),
    0 0 0 10px rgba(255,255,255,0.52);
}

.ccsector-assurance .ccassurance-hero__visual::before {
  content: "Prospects qualifiés";
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #ffffff;
  background: rgba(7, 26, 60, 0.82);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccsector-assurance .ccassurance-hero__visual::after {
  background:
    linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.18) 42%, transparent 58%),
    linear-gradient(180deg, transparent 58%, rgba(7,26,60,0.18));
  transform: translateX(-120%);
  transition: transform 850ms var(--ease-v2);
}

.ccsector-assurance .ccassurance-hero__visual:hover::after {
  transform: translateX(120%);
}

.ccsector-assurance .ccassurance-hero__visual img {
  min-height: 520px;
  object-position: center;
  transform: scale(1.04);
  transition: transform 720ms var(--ease-v2), filter 720ms var(--ease-v2);
}

.ccsector-assurance .ccassurance-hero__visual:hover img {
  transform: scale(1.09);
  filter: saturate(1.05) contrast(1.03);
}

.ccsector-assurance .ccassurance-btn {
  position: relative;
  overflow: hidden;
}

.ccsector-assurance .ccassurance-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.22) 48%, transparent 58%);
  transform: translateX(-120%);
  transition: transform 620ms var(--ease-v2);
}

.ccsector-assurance .ccassurance-btn:hover::after {
  transform: translateX(120%);
}

.ccsector-assurance .ccassurance-card,
.ccsector-assurance .ccassurance-process li,
.ccsector-assurance .ccassurance-dossier,
.ccsector-assurance .ccassurance-objection,
.ccsector-assurance .ccassurance-dossier__items article {
  transition:
    transform 260ms var(--ease-v2),
    box-shadow 260ms var(--ease-v2),
    border-color 260ms var(--ease-v2),
    background 260ms var(--ease-v2);
}

.ccsector-assurance .ccassurance-card {
  position: relative;
  overflow: hidden;
}

.ccsector-assurance .ccassurance-card::after {
  content: "";
  position: absolute;
  inset: auto 24px 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, var(--assurance-blue), var(--assurance-gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 320ms var(--ease-v2);
}

.ccsector-assurance .ccassurance-card:hover::after {
  transform: scaleX(1);
}

.ccsector-assurance .ccassurance-process li:hover {
  transform: translateY(-6px);
  border-color: rgba(95, 143, 206, 0.34);
  box-shadow: 0 24px 64px rgba(7, 26, 60, 0.11);
}

.ccsector-assurance .ccassurance-process li:hover span {
  color: #ffffff;
  background: var(--assurance-navy);
  border-color: var(--assurance-navy);
  box-shadow: 0 14px 32px rgba(7, 26, 60, 0.18);
}

.ccsector-assurance .ccassurance-dossier:hover {
  transform: translateY(-8px);
  border-color: rgba(95, 143, 206, 0.34);
  box-shadow: 0 34px 86px rgba(7, 26, 60, 0.14);
}

.ccsector-assurance .ccassurance-dossier__items article:hover {
  transform: translateX(6px);
  border-color: rgba(199, 164, 90, 0.34);
  background: #ffffff;
}

.ccsector-assurance .ccassurance-objection {
  position: relative;
  overflow: hidden;
}

.ccsector-assurance .ccassurance-objection::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--assurance-blue), var(--assurance-gold));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 280ms var(--ease-v2);
}

.ccsector-assurance .ccassurance-objection:hover,
.ccsector-assurance .ccassurance-objection[open] {
  border-color: rgba(95, 143, 206, 0.28);
  box-shadow: 0 22px 56px rgba(7, 26, 60, 0.09);
}

.ccsector-assurance .ccassurance-objection:hover::before,
.ccsector-assurance .ccassurance-objection[open]::before {
  transform: scaleY(1);
}

.ccsector-assurance .ccassurance-objection summary {
  list-style: none;
}

.ccsector-assurance .ccassurance-objection summary::-webkit-details-marker {
  display: none;
}

.ccsector-assurance .ccassurance-objection summary::after {
  content: "+";
  float: right;
  color: var(--assurance-gold);
  font-size: 24px;
  line-height: 1;
  transition: transform 220ms var(--ease-v2);
}

.ccsector-assurance .ccassurance-objection[open] summary::after {
  transform: rotate(45deg);
}

@media (prefers-reduced-motion: no-preference) {
  .ccsector-assurance .ccassurance-hero__copy {
    animation: ccAssuranceHeroCopy 720ms var(--ease-v2) both;
  }

  .ccsector-assurance .ccassurance-kicker::before {
    animation: ccAssuranceLinePulse 2.8s ease-in-out infinite;
  }
}

@keyframes ccAssuranceHeroCopy {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

@keyframes ccAssuranceLinePulse {
  0%, 100% { opacity: 0.42; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.28); }
}

@media (max-width: 1180px) {
  .ccsector-assurance .ccassurance-hero__inner {
    width: min(100% - 48px, 1200px);
    grid-template-columns: 1fr;
  }

  .ccsector-assurance .ccassurance-hero__visual {
    max-width: none;
    min-height: auto;
  }

  .ccsector-assurance .ccassurance-hero__visual img {
    min-height: 420px;
  }
}

@media (max-width: 760px) {
  .ccsector-assurance .ccassurance-hero {
    padding-top: 110px;
  }

  .ccsector-assurance .ccassurance-hero__inner {
    width: min(100% - 36px, 1200px);
  }

  .ccsector-assurance .ccassurance-hero h1 {
    font-size: 40px;
  }

  .ccsector-assurance .ccassurance-hero__visual {
    border-radius: 18px;
    box-shadow: 0 24px 68px rgba(7, 26, 60, 0.14);
  }

  .ccsector-assurance .ccassurance-hero__visual img {
    min-height: 340px;
  }

  .ccsector-assurance .ccassurance-hero__visual::before {
    left: 16px;
    bottom: 16px;
    min-height: 38px;
  }
}

/* Services financiers dedicated page */
.ccsector-finance {
  --finance-ink: #06142f;
  --finance-navy: #0b1f3a;
  --finance-panel: #102746;
  --finance-cyan: #28d7ff;
  --finance-silver: #c9d0d6;
  --finance-paper: #ffffff;
  --finance-soft: #f4f8fb;
  --finance-line: rgba(6, 20, 47, 0.12);
  --finance-muted: rgba(6, 20, 47, 0.66);
  background: var(--finance-paper);
  color: var(--finance-ink);
  overflow: hidden;
}

.ccsector-finance *,
.ccsector-finance *::before,
.ccsector-finance *::after {
  box-sizing: border-box;
}

.ccsector-finance h1,
.ccsector-finance h2,
.ccsector-finance h3,
.ccsector-finance p,
.ccsector-finance a,
.ccsector-finance span,
.ccsector-finance li,
.ccsector-finance strong {
  letter-spacing: 0;
}

.ccfinance-wrap {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.ccfinance-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--finance-cyan);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
}

.ccfinance-kicker::before {
  content: "";
  width: 28px;
  height: 2px;
  border-radius: 99px;
  background: var(--finance-cyan);
  box-shadow: 0 0 18px rgba(40, 215, 255, 0.45);
}

.ccfinance-btn {
  position: relative;
  min-height: 54px;
  padding: 0 22px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #ffffff;
  background: linear-gradient(135deg, #0b1f3a, #123a64);
  border: 1px solid rgba(40, 215, 255, 0.28);
  box-shadow: 0 18px 44px rgba(6, 20, 47, 0.2);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none;
  transition: transform 220ms var(--ease-v2), box-shadow 220ms var(--ease-v2), border-color 220ms var(--ease-v2);
}

.ccfinance-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(40,215,255,0.26) 48%, transparent 58%);
  transform: translateX(-120%);
  transition: transform 620ms var(--ease-v2);
}

.ccfinance-btn:hover {
  transform: translateY(-3px);
  border-color: rgba(40,215,255,0.52);
  box-shadow: 0 24px 58px rgba(6, 20, 47, 0.28);
}

.ccfinance-btn:hover::after {
  transform: translateX(120%);
}

.ccfinance-btn--ghost {
  color: #ffffff;
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
  box-shadow: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.ccfinance-hero {
  position: relative;
  overflow: hidden;
  padding: 136px 0 96px;
  color: #ffffff;
  background:
    radial-gradient(circle at 76% 24%, rgba(40, 215, 255, 0.22), transparent 30%),
    radial-gradient(circle at 8% 82%, rgba(201, 208, 214, 0.1), transparent 26%),
    linear-gradient(135deg, #06142f 0%, #0b1f3a 56%, #0f2f55 100%);
}

.ccfinance-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(40,215,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(40,215,255,0.045) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.82), transparent 88%);
  pointer-events: none;
}

.ccfinance-hero::after {
  content: "";
  position: absolute;
  right: -16%;
  top: -18%;
  width: 620px;
  height: 620px;
  border-radius: 999px;
  background: rgba(40, 215, 255, 0.1);
  filter: blur(36px);
  pointer-events: none;
}

.ccfinance-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1420px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(560px, 1.08fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: center;
}

.ccfinance-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  color: rgba(255,255,255,0.58);
  font-size: 13px;
  font-weight: 800;
}

.ccfinance-breadcrumb a {
  color: var(--finance-cyan);
}

.ccfinance-breadcrumb span::before {
  content: "/";
  margin-right: 10px;
  color: rgba(255,255,255,0.28);
}

.ccfinance-hero h1 {
  max-width: 800px;
  margin: 0;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: clamp(46px, 5.4vw, 82px);
  line-height: 0.98;
  font-weight: 900;
}

.ccfinance-hero__intro {
  max-width: 660px;
  margin: 26px 0 0;
  color: rgba(255,255,255,0.72);
  font-size: 17px;
  line-height: 1.72;
  font-weight: 600;
}

.ccfinance-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.ccfinance-hero__visual {
  position: relative;
  margin: 0;
  min-height: 530px;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(40,215,255,0.24);
  box-shadow:
    0 38px 100px rgba(0,0,0,0.34),
    0 0 0 10px rgba(255,255,255,0.035);
}

.ccfinance-hero__visual::before {
  content: "Pipeline financier";
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #ffffff;
  background: rgba(6, 20, 47, 0.76);
  border: 1px solid rgba(40,215,255,0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccfinance-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(110deg, transparent 0%, rgba(40,215,255,0.18) 44%, transparent 58%),
    linear-gradient(180deg, transparent 58%, rgba(6,20,47,0.22));
  transform: translateX(-120%);
  transition: transform 850ms var(--ease-v2);
  pointer-events: none;
}

.ccfinance-hero__visual:hover::after {
  transform: translateX(120%);
}

.ccfinance-hero__visual img {
  display: block;
  width: 100%;
  min-height: 530px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform 720ms var(--ease-v2), filter 720ms var(--ease-v2);
}

.ccfinance-hero__visual:hover img {
  transform: scale(1.09);
  filter: saturate(1.08) contrast(1.05);
}

.ccfinance-section-head {
  max-width: 780px;
  margin-bottom: 42px;
}

.ccfinance-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.ccfinance-section-head h2,
.ccfinance-final h2 {
  margin: 0;
  color: var(--finance-ink);
  font-family: var(--font-display);
  font-size: clamp(36px, 4.2vw, 60px);
  line-height: 1.02;
  font-weight: 900;
}

.ccfinance-section-head p:not(.ccfinance-kicker) {
  margin: 20px 0 0;
  color: var(--finance-muted);
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
}

.ccfinance-targeting,
.ccfinance-pipeline,
.ccfinance-secure,
.ccfinance-decision {
  padding: clamp(76px, 8vw, 112px) 0;
}

.ccfinance-targeting,
.ccfinance-decision {
  background: #ffffff;
}

.ccfinance-pipeline,
.ccfinance-secure {
  background: var(--finance-soft);
  border-top: 1px solid var(--finance-line);
  border-bottom: 1px solid var(--finance-line);
}

.ccfinance-targeting__inner,
.ccfinance-secure__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(420px, 1fr);
  gap: clamp(32px, 5vw, 68px);
  align-items: center;
}

.ccfinance-account-grid,
.ccfinance-decision__grid {
  display: grid;
  gap: 14px;
}

.ccfinance-account-grid {
  grid-template-columns: 1fr;
}

.ccfinance-decision__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ccfinance-account-grid article,
.ccfinance-decision__grid article {
  position: relative;
  min-height: 174px;
  padding: 24px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid var(--finance-line);
  box-shadow: 0 16px 42px rgba(6, 20, 47, 0.06);
  overflow: hidden;
  transition: transform 260ms var(--ease-v2), box-shadow 260ms var(--ease-v2), border-color 260ms var(--ease-v2);
}

.ccfinance-account-grid article::after,
.ccfinance-decision__grid article::after {
  content: "";
  position: absolute;
  inset: auto 24px 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, var(--finance-cyan), var(--finance-silver));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 320ms var(--ease-v2);
}

.ccfinance-account-grid article:hover,
.ccfinance-decision__grid article:hover {
  transform: translateY(-6px);
  border-color: rgba(40, 215, 255, 0.28);
  box-shadow: 0 26px 68px rgba(6, 20, 47, 0.11);
}

.ccfinance-account-grid article:hover::after,
.ccfinance-decision__grid article:hover::after {
  transform: scaleX(1);
}

.ccfinance-account-grid span,
.ccfinance-decision__grid span {
  display: inline-flex;
  margin-bottom: 34px;
  color: #0f86a8;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccfinance-account-grid h3,
.ccfinance-decision__grid h3 {
  margin: 0;
  color: var(--finance-ink);
  font-size: 22px;
  line-height: 1.12;
  font-weight: 900;
}

.ccfinance-account-grid p,
.ccfinance-decision__grid p,
.ccfinance-secure__list,
.ccfinance-final p {
  margin: 13px 0 0;
  color: var(--finance-muted);
  font-size: 15px;
  line-height: 1.62;
  font-weight: 600;
}

.ccfinance-dashboard {
  padding: 26px;
  border-radius: 18px;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 12%, rgba(40,215,255,0.2), transparent 32%),
    linear-gradient(135deg, #06142f, #102746);
  border: 1px solid rgba(40,215,255,0.18);
  box-shadow: 0 32px 90px rgba(6, 20, 47, 0.22);
}

.ccfinance-dashboard__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.ccfinance-dashboard__top strong {
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
}

.ccfinance-dashboard__top span {
  padding: 8px 11px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(40,215,255,0.14);
  border: 1px solid rgba(40,215,255,0.26);
  font-size: 12px;
  font-weight: 900;
}

.ccfinance-dashboard__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ccfinance-dashboard__metrics article {
  min-height: 126px;
  padding: 18px;
  border-radius: 12px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  transition: transform 240ms var(--ease-v2), background 240ms var(--ease-v2);
}

.ccfinance-dashboard__metrics article:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,0.12);
}

.ccfinance-dashboard__metrics strong {
  display: block;
  color: var(--finance-cyan);
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
}

.ccfinance-dashboard__metrics span {
  display: block;
  margin-top: 12px;
  color: rgba(255,255,255,0.7);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 900;
}

.ccfinance-dashboard__chart {
  height: 150px;
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.ccfinance-dashboard__chart i {
  flex: 1;
  border-radius: 999px 999px 8px 8px;
  background: linear-gradient(180deg, var(--finance-cyan), rgba(40,215,255,0.18));
  box-shadow: 0 0 20px rgba(40,215,255,0.18);
  transform-origin: bottom;
}

.ccfinance-dashboard__chart i:nth-child(1) { height: 42%; }
.ccfinance-dashboard__chart i:nth-child(2) { height: 62%; }
.ccfinance-dashboard__chart i:nth-child(3) { height: 54%; }
.ccfinance-dashboard__chart i:nth-child(4) { height: 78%; }
.ccfinance-dashboard__chart i:nth-child(5) { height: 66%; }
.ccfinance-dashboard__chart i:nth-child(6) { height: 88%; }
.ccfinance-dashboard__chart i:nth-child(7) { height: 74%; }

.ccfinance-secure__panel {
  min-height: 430px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(6,20,47,0.96), rgba(16,39,70,0.96));
  border: 1px solid rgba(40,215,255,0.18);
  box-shadow: 0 26px 72px rgba(6, 20, 47, 0.16);
}

.ccfinance-secure__panel div {
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04)),
    radial-gradient(circle at 72% 20%, rgba(40,215,255,0.32), transparent 34%);
  border: 1px solid rgba(255,255,255,0.12);
  transition: transform 260ms var(--ease-v2), background 260ms var(--ease-v2);
}

.ccfinance-secure__panel div:hover {
  transform: translateY(-5px);
  background:
    linear-gradient(135deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06)),
    radial-gradient(circle at 72% 20%, rgba(40,215,255,0.42), transparent 34%);
}

.ccfinance-secure__list {
  margin-top: 24px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.ccfinance-secure__list li {
  position: relative;
  padding: 14px 16px 14px 42px;
  border-radius: 10px;
  color: var(--finance-ink);
  background: #ffffff;
  border: 1px solid var(--finance-line);
  font-weight: 800;
}

.ccfinance-secure__list li::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 21px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--finance-cyan);
  box-shadow: 0 0 16px rgba(40,215,255,0.45);
}

.ccfinance-final {
  padding: clamp(82px, 8vw, 116px) 0;
  text-align: center;
  color: #ffffff;
  background:
    radial-gradient(circle at 50% -10%, rgba(40,215,255,0.2), transparent 38%),
    linear-gradient(135deg, #06142f, #0b1f3a);
}

.ccfinance-final .ccfinance-wrap {
  width: min(900px, calc(100% - 48px));
}

.ccfinance-final h2 {
  color: #ffffff;
}

.ccfinance-final p:not(.ccfinance-kicker) {
  max-width: 720px;
  margin: 22px auto 0;
  color: rgba(255,255,255,0.72);
  font-size: 16px;
}

.ccfinance-final .ccfinance-btn {
  margin-top: 30px;
  background: #ffffff;
  color: var(--finance-ink);
  border-color: #ffffff;
}

html.anv-js .ccsector-finance .anv-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 650ms var(--ease-v2), transform 650ms var(--ease-v2);
}

html.anv-js .ccsector-finance .anv-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .ccfinance-hero__visual {
    animation: ccFinanceFloat 7.2s ease-in-out infinite;
  }

  .ccfinance-dashboard.is-visible .ccfinance-dashboard__chart i {
    animation: ccFinanceBars 760ms var(--ease-v2) both;
  }

  .ccfinance-dashboard.is-visible .ccfinance-dashboard__chart i:nth-child(2) { animation-delay: 70ms; }
  .ccfinance-dashboard.is-visible .ccfinance-dashboard__chart i:nth-child(3) { animation-delay: 140ms; }
  .ccfinance-dashboard.is-visible .ccfinance-dashboard__chart i:nth-child(4) { animation-delay: 210ms; }
  .ccfinance-dashboard.is-visible .ccfinance-dashboard__chart i:nth-child(5) { animation-delay: 280ms; }
  .ccfinance-dashboard.is-visible .ccfinance-dashboard__chart i:nth-child(6) { animation-delay: 350ms; }
  .ccfinance-dashboard.is-visible .ccfinance-dashboard__chart i:nth-child(7) { animation-delay: 420ms; }
}

@keyframes ccFinanceFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes ccFinanceBars {
  from { transform: scaleY(0.12); opacity: 0.2; }
  to { transform: scaleY(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .ccsector-finance *,
  .ccsector-finance *::before,
  .ccsector-finance *::after {
    animation: none !important;
    transition: none !important;
  }

  html.anv-js .ccsector-finance .anv-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1180px) {
  .ccfinance-hero__inner,
  .ccfinance-targeting__inner,
  .ccfinance-secure__inner {
    width: min(100% - 48px, 1220px);
    grid-template-columns: 1fr;
  }

  .ccfinance-hero__visual {
    min-height: auto;
  }

  .ccfinance-hero__visual img {
    min-height: 420px;
  }

  .ccfinance-dashboard__metrics,
  .ccfinance-decision__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ccfinance-wrap,
  .ccfinance-final .ccfinance-wrap,
  .ccfinance-hero__inner,
  .ccfinance-targeting__inner,
  .ccfinance-secure__inner {
    width: min(100% - 36px, 1220px);
  }

  .ccfinance-hero {
    padding-top: 110px;
    padding-bottom: 68px;
  }

  .ccfinance-hero h1,
  .ccfinance-section-head h2,
  .ccfinance-final h2 {
    font-size: 38px;
  }

  .ccfinance-actions,
  .ccfinance-btn {
    width: 100%;
  }

  .ccfinance-hero__visual img {
    min-height: 340px;
  }

  .ccfinance-targeting,
  .ccfinance-pipeline,
  .ccfinance-secure,
  .ccfinance-decision {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .ccfinance-dashboard__metrics,
  .ccfinance-decision__grid,
  .ccfinance-secure__panel {
    grid-template-columns: 1fr;
  }

  .ccfinance-dashboard__top {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .ccfinance-hero h1,
  .ccfinance-section-head h2,
  .ccfinance-final h2 {
    font-size: 34px;
  }
}

/* Immobilier dedicated page */
.ccsector-immobilier {
  --immo-green: #103b2b;
  --immo-green-2: #1f5c43;
  --immo-cream: #f4ecd9;
  --immo-charcoal: #26302b;
  --immo-gold: #c59a47;
  --immo-paper: #ffffff;
  --immo-soft: #fbf7ec;
  --immo-line: rgba(16, 59, 43, 0.14);
  --immo-muted: rgba(38, 48, 43, 0.68);
  background: var(--immo-paper);
  color: var(--immo-charcoal);
  overflow: hidden;
}

.ccsector-immobilier *,
.ccsector-immobilier *::before,
.ccsector-immobilier *::after {
  box-sizing: border-box;
}

.ccsector-immobilier h1,
.ccsector-immobilier h2,
.ccsector-immobilier h3,
.ccsector-immobilier p,
.ccsector-immobilier a,
.ccsector-immobilier span,
.ccsector-immobilier li,
.ccsector-immobilier strong {
  letter-spacing: 0;
}

.ccimmo-wrap {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.ccimmo-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--immo-green-2);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
}

.ccimmo-kicker::before {
  content: "";
  width: 28px;
  height: 2px;
  border-radius: 99px;
  background: var(--immo-gold);
  box-shadow: 0 0 16px rgba(197,154,71,0.34);
}

.ccimmo-btn {
  position: relative;
  min-height: 54px;
  padding: 0 22px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #ffffff;
  background: var(--immo-green);
  border: 1px solid var(--immo-green);
  box-shadow: 0 18px 44px rgba(16, 59, 43, 0.18);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none;
  transition: transform 220ms var(--ease-v2), box-shadow 220ms var(--ease-v2), border-color 220ms var(--ease-v2);
}

.ccimmo-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.22) 48%, transparent 58%);
  transform: translateX(-120%);
  transition: transform 620ms var(--ease-v2);
}

.ccimmo-btn:hover {
  transform: translateY(-3px);
  border-color: var(--immo-gold);
  box-shadow: 0 24px 58px rgba(16, 59, 43, 0.24);
}

.ccimmo-btn:hover::after {
  transform: translateX(120%);
}

.ccimmo-btn--ghost {
  color: var(--immo-green);
  background: rgba(255,255,255,0.78);
  border-color: rgba(16,59,43,0.16);
  box-shadow: none;
}

.ccimmo-hero {
  position: relative;
  overflow: hidden;
  padding: 132px 0 92px;
  background:
    radial-gradient(circle at 16% 26%, rgba(197,154,71,0.16), transparent 30%),
    linear-gradient(115deg, var(--immo-cream) 0%, #fffaf0 52%, #123b2c 52.2%, #103b2b 100%);
}

.ccimmo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(16,59,43,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,59,43,0.04) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.7), transparent 84%);
  pointer-events: none;
}

.ccimmo-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1420px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(560px, 1.08fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: center;
}

.ccimmo-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
  color: rgba(38,48,43,0.62);
  font-size: 13px;
  font-weight: 800;
}

.ccimmo-breadcrumb a {
  color: var(--immo-green);
}

.ccimmo-breadcrumb span::before {
  content: "/";
  margin-right: 10px;
  color: rgba(38,48,43,0.28);
}

.ccimmo-hero h1 {
  max-width: 790px;
  margin: 0;
  color: var(--immo-charcoal);
  font-family: var(--font-display);
  font-size: clamp(46px, 5.2vw, 80px);
  line-height: 0.98;
  font-weight: 900;
}

.ccimmo-hero__intro {
  max-width: 660px;
  margin: 26px 0 0;
  color: var(--immo-muted);
  font-size: 17px;
  line-height: 1.72;
  font-weight: 600;
}

.ccimmo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.ccimmo-hero__visual {
  position: relative;
  margin: 0;
  min-height: 530px;
  border-radius: 26px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(197,154,71,0.28);
  box-shadow:
    0 36px 96px rgba(16, 59, 43, 0.22),
    0 0 0 10px rgba(255,255,255,0.2);
}

.ccimmo-hero__visual::before {
  content: "RDV terrain qualifiés";
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #ffffff;
  background: rgba(16, 59, 43, 0.82);
  border: 1px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccimmo-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(110deg, transparent 0%, rgba(244,236,217,0.28) 44%, transparent 58%),
    linear-gradient(180deg, transparent 58%, rgba(16,59,43,0.18));
  transform: translateX(-120%);
  transition: transform 850ms var(--ease-v2);
  pointer-events: none;
}

.ccimmo-hero__visual:hover::after {
  transform: translateX(120%);
}

.ccimmo-hero__visual img {
  display: block;
  width: 100%;
  min-height: 530px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform 720ms var(--ease-v2), filter 720ms var(--ease-v2);
}

.ccimmo-hero__visual:hover img {
  transform: scale(1.09);
  filter: saturate(1.06) contrast(1.03);
}

.ccimmo-section-head {
  max-width: 780px;
  margin-bottom: 42px;
}

.ccimmo-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.ccimmo-section-head h2,
.ccimmo-final h2 {
  margin: 0;
  color: var(--immo-charcoal);
  font-family: var(--font-display);
  font-size: clamp(36px, 4.2vw, 60px);
  line-height: 1.02;
  font-weight: 900;
}

.ccimmo-section-head p:not(.ccimmo-kicker) {
  margin: 20px 0 0;
  color: var(--immo-muted);
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
}

.ccimmo-projects,
.ccimmo-field,
.ccimmo-reactivation,
.ccimmo-workflow {
  padding: clamp(76px, 8vw, 112px) 0;
}

.ccimmo-projects,
.ccimmo-workflow {
  background: #ffffff;
}

.ccimmo-field,
.ccimmo-reactivation {
  background: var(--immo-soft);
  border-top: 1px solid var(--immo-line);
  border-bottom: 1px solid var(--immo-line);
}

.ccimmo-projects__inner,
.ccimmo-reactivation__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(420px, 1fr);
  gap: clamp(32px, 5vw, 68px);
  align-items: center;
}

.ccimmo-project-stack {
  display: grid;
  gap: 12px;
}

.ccimmo-project-stack article,
.ccimmo-map-board article,
.ccimmo-timeline article,
.ccimmo-workflow__steps li {
  position: relative;
  padding: 22px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid var(--immo-line);
  box-shadow: 0 16px 42px rgba(16, 59, 43, 0.06);
  overflow: hidden;
  transition: transform 260ms var(--ease-v2), box-shadow 260ms var(--ease-v2), border-color 260ms var(--ease-v2), background 260ms var(--ease-v2);
}

.ccimmo-project-stack article:hover,
.ccimmo-map-board article:hover,
.ccimmo-timeline article:hover,
.ccimmo-workflow__steps li:hover {
  transform: translateY(-6px);
  border-color: rgba(197,154,71,0.34);
  box-shadow: 0 26px 68px rgba(16, 59, 43, 0.11);
}

.ccimmo-project-stack article::after,
.ccimmo-map-board article::after,
.ccimmo-workflow__steps li::after {
  content: "";
  position: absolute;
  inset: auto 22px 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, var(--immo-green), var(--immo-gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 320ms var(--ease-v2);
}

.ccimmo-project-stack article:hover::after,
.ccimmo-map-board article:hover::after,
.ccimmo-workflow__steps li:hover::after {
  transform: scaleX(1);
}

.ccimmo-project-stack span,
.ccimmo-map-board span,
.ccimmo-timeline span,
.ccimmo-workflow__steps span {
  display: inline-flex;
  margin-bottom: 26px;
  color: var(--immo-gold);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccimmo-project-stack h3,
.ccimmo-map-board h3,
.ccimmo-workflow__steps strong {
  margin: 0;
  color: var(--immo-charcoal);
  font-size: 21px;
  line-height: 1.14;
  font-weight: 900;
}

.ccimmo-project-stack p,
.ccimmo-map-board p,
.ccimmo-timeline p,
.ccimmo-workflow__steps p,
.ccimmo-final p {
  margin: 13px 0 0;
  color: var(--immo-muted);
  font-size: 15px;
  line-height: 1.62;
  font-weight: 600;
}

.ccimmo-map-board {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 28px;
  border-radius: 20px;
  background:
    linear-gradient(rgba(16,59,43,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,59,43,0.04) 1px, transparent 1px),
    #ffffff;
  background-size: 46px 46px;
  border: 1px solid var(--immo-line);
  box-shadow: 0 24px 72px rgba(16, 59, 43, 0.08);
  overflow: hidden;
}

.ccimmo-map-board__route {
  position: absolute;
  left: 10%;
  right: 10%;
  top: 50%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--immo-gold), var(--immo-green), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 900ms var(--ease-v2);
}

.ccimmo-map-board.is-visible .ccimmo-map-board__route {
  transform: scaleX(1);
}

.ccimmo-map-board article {
  z-index: 1;
  min-height: 210px;
}

.ccimmo-timeline {
  display: grid;
  gap: 12px;
}

.ccimmo-timeline article {
  padding-left: 74px;
}

.ccimmo-timeline span {
  position: absolute;
  left: 20px;
  top: 20px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin: 0;
  color: #ffffff;
  background: var(--immo-green);
  box-shadow: 0 12px 28px rgba(16,59,43,0.16);
}

.ccimmo-workflow__steps {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ccimmo-workflow__steps::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 43px;
  height: 2px;
  background: linear-gradient(90deg, var(--immo-green), var(--immo-gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 900ms var(--ease-v2);
}

.ccimmo-workflow__steps.is-visible::before {
  transform: scaleX(1);
}

.ccimmo-workflow__steps li {
  z-index: 1;
  min-height: 232px;
}

.ccimmo-workflow__steps span {
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  color: var(--immo-green);
  background: #ffffff;
  border: 2px solid rgba(197,154,71,0.28);
}

.ccimmo-final {
  padding: clamp(82px, 8vw, 116px) 0;
  text-align: center;
  color: #ffffff;
  background:
    radial-gradient(circle at 50% -10%, rgba(197,154,71,0.22), transparent 38%),
    linear-gradient(135deg, #103b2b, #26302b);
}

.ccimmo-final .ccimmo-wrap {
  width: min(900px, calc(100% - 48px));
}

.ccimmo-final h2 {
  color: #ffffff;
}

.ccimmo-final p:not(.ccimmo-kicker) {
  max-width: 720px;
  margin: 22px auto 0;
  color: rgba(255,255,255,0.72);
  font-size: 16px;
}

.ccimmo-final .ccimmo-kicker {
  color: rgba(255,255,255,0.86);
}

.ccimmo-final .ccimmo-btn {
  margin-top: 30px;
  color: var(--immo-green);
  background: #ffffff;
  border-color: #ffffff;
}

html.anv-js .ccsector-immobilier .anv-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 650ms var(--ease-v2), transform 650ms var(--ease-v2);
}

html.anv-js .ccsector-immobilier .anv-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .ccimmo-hero__visual {
    animation: ccImmoFloat 7.4s ease-in-out infinite;
  }

  .ccimmo-kicker::before {
    animation: ccImmoPulse 3s ease-in-out infinite;
  }
}

@keyframes ccImmoFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes ccImmoPulse {
  0%, 100% { opacity: 0.5; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.24); }
}

@media (prefers-reduced-motion: reduce) {
  .ccsector-immobilier *,
  .ccsector-immobilier *::before,
  .ccsector-immobilier *::after {
    animation: none !important;
    transition: none !important;
  }

  html.anv-js .ccsector-immobilier .anv-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1180px) {
  .ccimmo-hero__inner,
  .ccimmo-projects__inner,
  .ccimmo-reactivation__inner {
    width: min(100% - 48px, 1220px);
    grid-template-columns: 1fr;
  }

  .ccimmo-hero {
    background: linear-gradient(180deg, var(--immo-cream), #ffffff);
  }

  .ccimmo-hero__visual {
    min-height: auto;
  }

  .ccimmo-hero__visual img {
    min-height: 420px;
  }

  .ccimmo-map-board,
  .ccimmo-workflow__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ccimmo-map-board__route,
  .ccimmo-workflow__steps::before {
    display: none;
  }
}

@media (max-width: 760px) {
  .ccimmo-wrap,
  .ccimmo-final .ccimmo-wrap,
  .ccimmo-hero__inner,
  .ccimmo-projects__inner,
  .ccimmo-reactivation__inner {
    width: min(100% - 36px, 1220px);
  }

  .ccimmo-hero {
    padding-top: 110px;
    padding-bottom: 68px;
  }

  .ccimmo-hero h1,
  .ccimmo-section-head h2,
  .ccimmo-final h2 {
    font-size: 38px;
  }

  .ccimmo-actions,
  .ccimmo-btn {
    width: 100%;
  }

  .ccimmo-hero__visual img {
    min-height: 340px;
  }

  .ccimmo-projects,
  .ccimmo-field,
  .ccimmo-reactivation,
  .ccimmo-workflow {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .ccimmo-map-board,
  .ccimmo-workflow__steps {
    grid-template-columns: 1fr;
  }

  .ccimmo-workflow__steps li {
    min-height: auto;
  }
}

@media (max-width: 480px) {
  .ccimmo-hero h1,
  .ccimmo-section-head h2,
  .ccimmo-final h2 {
    font-size: 34px;
  }

  .ccimmo-map-board {
    padding: 18px;
  }
}

/* Energy & Green Tech sector page */
.ccsector-energy {
  --energy-forest: #0f3326;
  --energy-forest-2: #164532;
  --energy-graphite: #1d2322;
  --energy-lime: #b7ff3c;
  --energy-mint: #e9f7ec;
  --energy-paper: #f8fbf7;
  --energy-line: rgba(15,51,38,0.14);
  --energy-shadow: 0 24px 70px rgba(15,51,38,0.16);
  color: var(--energy-graphite);
  background: var(--energy-paper);
  overflow: hidden;
}

.ccsector-energy *,
.ccsector-energy *::before,
.ccsector-energy *::after {
  box-sizing: border-box;
}

.ccsector-energy h1,
.ccsector-energy h2,
.ccsector-energy h3,
.ccsector-energy p,
.ccsector-energy a,
.ccsector-energy span,
.ccsector-energy li,
.ccsector-energy strong {
  letter-spacing: 0;
}

.ccenergy-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.ccenergy-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
  color: rgba(29,35,34,0.66);
  font-size: 13px;
  font-weight: 760;
}

.ccenergy-breadcrumb a {
  color: inherit;
  text-decoration: none;
  transition: color 200ms ease;
}

.ccenergy-breadcrumb a:hover {
  color: var(--energy-forest);
}

.ccenergy-breadcrumb span::before {
  content: "/";
  margin-right: 10px;
  color: rgba(15,51,38,0.32);
}

.ccenergy-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--energy-forest);
  font-size: 12px;
  font-weight: 860;
  text-transform: uppercase;
}

.ccenergy-kicker::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 999px;
  background: var(--energy-lime);
  box-shadow: 0 0 18px rgba(183,255,60,0.62);
}

.ccenergy-section-head {
  max-width: 620px;
}

.ccenergy-section-head--center {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.ccenergy-section-head h2,
.ccenergy-final h2 {
  margin: 0;
  color: var(--energy-forest);
  font-size: clamp(36px, 4.6vw, 58px);
  line-height: 0.98;
  font-weight: 860;
}

.ccenergy-section-head p:not(.ccenergy-kicker),
.ccenergy-final p:not(.ccenergy-kicker) {
  margin: 20px 0 0;
  color: rgba(29,35,34,0.72);
  font-size: 17px;
  line-height: 1.72;
}

.ccenergy-hero {
  position: relative;
  min-height: 760px;
  padding: 128px 0 88px;
  background:
    linear-gradient(116deg, #ffffff 0 52%, rgba(15,51,38,0.06) 52.1% 100%),
    radial-gradient(circle at 92% 12%, rgba(183,255,60,0.2), transparent 30%);
}

.ccenergy-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.42;
  background-image:
    linear-gradient(rgba(15,51,38,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,51,38,0.08) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, transparent, #000 16%, #000 70%, transparent);
}

.ccenergy-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
  align-items: center;
  gap: clamp(34px, 5vw, 74px);
}

.ccenergy-hero__copy {
  max-width: 610px;
}

.ccenergy-hero h1 {
  margin: 0;
  color: var(--energy-graphite);
  font-size: clamp(46px, 5.8vw, 78px);
  line-height: 0.95;
  font-weight: 900;
}

.ccenergy-hero__intro {
  margin: 24px 0 0;
  color: rgba(29,35,34,0.72);
  font-size: 18px;
  line-height: 1.72;
}

.ccenergy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.ccenergy-btn {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid rgba(15,51,38,0.22);
  border-radius: 999px;
  color: var(--energy-forest);
  background: rgba(255,255,255,0.86);
  font-size: 14px;
  font-weight: 860;
  text-decoration: none;
  overflow: hidden;
  transition: transform 230ms ease, border-color 230ms ease, box-shadow 230ms ease, color 230ms ease;
}

.ccenergy-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(120deg, var(--energy-lime), #e7ffc2);
  transform: translateX(-104%);
  transition: transform 330ms ease;
}

.ccenergy-btn:hover {
  transform: translateY(-3px);
  border-color: rgba(183,255,60,0.68);
  box-shadow: 0 18px 42px rgba(15,51,38,0.18);
}

.ccenergy-btn:hover::after {
  transform: none;
}

.ccenergy-btn--primary {
  color: #0a241b;
  background: var(--energy-lime);
  border-color: var(--energy-lime);
  box-shadow: 0 18px 44px rgba(103,158,34,0.24);
}

.ccenergy-btn--primary::after {
  background: linear-gradient(120deg, #ffffff, #dfff9b);
}

.ccenergy-hero__visual {
  position: relative;
  margin: 0;
  min-height: 590px;
  border-radius: 8px;
  transform: rotate(-1.25deg);
  box-shadow: var(--energy-shadow);
}

.ccenergy-hero__visual::before {
  content: "";
  position: absolute;
  inset: -18px;
  z-index: -1;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(183,255,60,0.35), transparent 34%),
    linear-gradient(315deg, rgba(15,51,38,0.2), transparent 42%);
  clip-path: polygon(9% 0, 100% 0, 93% 100%, 0 100%);
}

.ccenergy-hero__visual::after {
  content: "Détection projet";
  position: absolute;
  left: 24px;
  bottom: 24px;
  padding: 11px 16px;
  border: 1px solid rgba(183,255,60,0.44);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(15,51,38,0.78);
  backdrop-filter: blur(12px);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.ccenergy-hero__visual img {
  display: block;
  width: 100%;
  min-height: 590px;
  object-fit: cover;
  border-radius: 8px;
  transition: transform 700ms ease, filter 700ms ease;
}

.ccenergy-hero__visual:hover img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.02);
}

.ccenergy-education,
.ccenergy-mapping {
  position: relative;
  padding: clamp(80px, 8vw, 120px) 0;
  background: #ffffff;
}

.ccenergy-education::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 110px;
  background: var(--energy-paper);
  clip-path: polygon(0 0, 100% 0, 100% 34%, 0 100%);
}

.ccenergy-education__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
  gap: clamp(34px, 6vw, 84px);
  align-items: start;
}

.ccenergy-lesson-grid {
  display: grid;
  gap: 16px;
}

.ccenergy-lesson-grid article,
.ccenergy-matrix article,
.ccenergy-cycles li {
  position: relative;
  border: 1px solid var(--energy-line);
  background: rgba(255,255,255,0.9);
  box-shadow: 0 18px 52px rgba(15,51,38,0.08);
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.ccenergy-lesson-grid article {
  min-height: 150px;
  padding: 26px 28px 26px 86px;
  border-radius: 8px;
  clip-path: polygon(0 0, 100% 0, 97% 100%, 0 100%);
}

.ccenergy-lesson-grid span {
  position: absolute;
  left: 22px;
  top: 24px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #0a241b;
  background: var(--energy-lime);
  font-weight: 900;
}

.ccenergy-lesson-grid h3,
.ccenergy-matrix h3,
.ccenergy-cycles strong {
  display: block;
  margin: 0;
  color: var(--energy-forest);
  font-size: 20px;
  line-height: 1.18;
}

.ccenergy-lesson-grid p,
.ccenergy-matrix p,
.ccenergy-cycles p {
  margin: 10px 0 0;
  color: rgba(29,35,34,0.68);
  line-height: 1.6;
}

.ccenergy-lesson-grid article:hover,
.ccenergy-matrix article:hover,
.ccenergy-cycles li:hover {
  transform: translateY(-7px);
  border-color: rgba(183,255,60,0.7);
  box-shadow: 0 24px 66px rgba(15,51,38,0.15);
}

.ccenergy-detection {
  position: relative;
  padding: clamp(86px, 9vw, 132px) 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 28% 46%, rgba(183,255,60,0.24), transparent 25%),
    linear-gradient(135deg, #10241f, #0f3326 62%, #1d2322);
}

.ccenergy-detection::before,
.ccenergy-detection::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.ccenergy-detection::before {
  inset: 0;
  opacity: 0.16;
  background-image:
    linear-gradient(30deg, transparent 48%, rgba(255,255,255,0.35) 49%, transparent 50%),
    linear-gradient(150deg, transparent 48%, rgba(183,255,60,0.28) 49%, transparent 50%);
  background-size: 72px 72px;
}

.ccenergy-detection::after {
  top: -1px;
  left: 0;
  right: 0;
  height: 82px;
  background: #ffffff;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.ccenergy-detection__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 7vw, 92px);
  align-items: center;
}

.ccenergy-detection .ccenergy-section-head h2,
.ccenergy-detection .ccenergy-kicker {
  color: #ffffff;
}

.ccenergy-detection .ccenergy-section-head p:not(.ccenergy-kicker) {
  color: rgba(255,255,255,0.76);
}

.ccenergy-radar {
  position: relative;
  aspect-ratio: 1;
  min-height: 440px;
  border: 1px solid rgba(183,255,60,0.3);
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle, rgba(183,255,60,0.16) 0 1px, transparent 1px 68px),
    linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02));
  box-shadow: inset 0 0 60px rgba(183,255,60,0.08), 0 30px 80px rgba(0,0,0,0.28);
}

.ccenergy-radar::before {
  content: "";
  position: absolute;
  inset: 50% 8% auto 50%;
  height: 2px;
  background: linear-gradient(90deg, var(--energy-lime), transparent);
  transform-origin: left center;
  animation: ccEnergySweep 5s linear infinite;
}

.ccenergy-radar::after {
  content: "";
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,0.22);
}

.ccenergy-radar__core {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 190px;
  min-height: 104px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 20px;
  border-radius: 8px;
  color: #ffffff;
  background: rgba(29,35,34,0.84);
  border: 1px solid rgba(183,255,60,0.38);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 32px rgba(183,255,60,0.18);
}

.ccenergy-radar__core strong {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.12;
}

.ccenergy-radar__core span {
  margin-top: 8px;
  color: rgba(255,255,255,0.68);
  font-size: 12px;
  font-weight: 760;
}

.ccenergy-radar__chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  color: #10241f;
  background: var(--energy-lime);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 0 26px rgba(183,255,60,0.36);
  animation: ccEnergyNode 3.4s ease-in-out infinite;
}

.ccenergy-radar__chip--one { left: 42%; top: 7%; animation-delay: 0.1s; }
.ccenergy-radar__chip--two { right: 7%; top: 29%; animation-delay: 0.4s; }
.ccenergy-radar__chip--three { right: 12%; bottom: 22%; animation-delay: 0.7s; }
.ccenergy-radar__chip--four { left: 39%; bottom: 8%; animation-delay: 1s; }
.ccenergy-radar__chip--five { left: 5%; bottom: 28%; animation-delay: 1.3s; }
.ccenergy-radar__chip--six { left: 8%; top: 24%; animation-delay: 1.6s; }

.ccenergy-mapping {
  background:
    linear-gradient(180deg, #ffffff, var(--energy-paper)),
    radial-gradient(circle at 80% 0, rgba(183,255,60,0.18), transparent 30%);
}

.ccenergy-matrix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(15,51,38,0.22), rgba(183,255,60,0.48), rgba(15,51,38,0.12));
  box-shadow: var(--energy-shadow);
}

.ccenergy-matrix article {
  min-height: 214px;
  padding: 28px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.ccenergy-matrix article:nth-child(1) { border-top-left-radius: 8px; }
.ccenergy-matrix article:nth-child(3) { border-top-right-radius: 8px; }
.ccenergy-matrix article:nth-child(4) { border-bottom-left-radius: 8px; }
.ccenergy-matrix article:nth-child(6) { border-bottom-right-radius: 8px; }

.ccenergy-matrix span {
  display: inline-flex;
  margin-bottom: 26px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--energy-forest);
  background: rgba(183,255,60,0.22);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccenergy-nurturing {
  position: relative;
  padding: clamp(86px, 9vw, 132px) 0;
  background: var(--energy-paper);
}

.ccenergy-nurturing::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 96px;
  background: var(--energy-graphite);
  clip-path: polygon(0 100%, 100% 22%, 100% 100%);
}

.ccenergy-nurturing__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(34px, 6vw, 84px);
  align-items: center;
}

.ccenergy-cycles {
  position: relative;
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ccenergy-cycles::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 28px;
  bottom: 28px;
  width: 2px;
  background: linear-gradient(var(--energy-lime), var(--energy-forest));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 900ms var(--ease-v2);
}

.ccenergy-cycles.is-visible::before {
  transform: scaleY(1);
}

.ccenergy-cycles li {
  min-height: 132px;
  padding: 24px 26px 24px 84px;
  border-radius: 8px;
  background: #ffffff;
}

.ccenergy-cycles span {
  position: absolute;
  left: 18px;
  top: 22px;
  z-index: 1;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  overflow: hidden;
  text-indent: 120%;
  white-space: nowrap;
  background: var(--energy-lime);
  box-shadow: 0 0 0 8px #ffffff, 0 0 26px rgba(183,255,60,0.58);
}

.ccenergy-final {
  position: relative;
  padding: clamp(88px, 9vw, 124px) 0;
  color: #ffffff;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgba(183,255,60,0.2), transparent 36%),
    linear-gradient(135deg, var(--energy-graphite), var(--energy-forest));
}

.ccenergy-final::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image: linear-gradient(120deg, transparent 0 44%, rgba(255,255,255,0.38) 45%, transparent 46%);
  background-size: 92px 92px;
}

.ccenergy-final .ccenergy-wrap {
  position: relative;
  z-index: 1;
  width: min(860px, calc(100% - 48px));
}

.ccenergy-final h2,
.ccenergy-final .ccenergy-kicker {
  color: #ffffff;
}

.ccenergy-final p:not(.ccenergy-kicker) {
  max-width: 700px;
  margin: 20px auto 0;
  color: rgba(255,255,255,0.75);
}

.ccenergy-final .ccenergy-btn {
  margin-top: 30px;
}

html.anv-js .ccsector-energy .anv-reveal {
  opacity: 0;
  transform: translateY(22px) skewY(0.8deg);
  transition: opacity 680ms var(--ease-v2), transform 680ms var(--ease-v2);
}

html.anv-js .ccsector-energy .anv-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .ccenergy-hero__visual {
    animation: ccEnergyFloat 8s ease-in-out infinite;
  }

  .ccenergy-kicker::before {
    animation: ccEnergyGlow 3.2s ease-in-out infinite;
  }
}

@keyframes ccEnergyFloat {
  0%, 100% { transform: translateY(0) rotate(-1.25deg); }
  50% { transform: translateY(-12px) rotate(-0.35deg); }
}

@keyframes ccEnergyGlow {
  0%, 100% { opacity: 0.58; box-shadow: 0 0 12px rgba(183,255,60,0.38); }
  50% { opacity: 1; box-shadow: 0 0 26px rgba(183,255,60,0.82); }
}

@keyframes ccEnergySweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes ccEnergyNode {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
  .ccsector-energy *,
  .ccsector-energy *::before,
  .ccsector-energy *::after {
    animation: none !important;
    transition: none !important;
  }

  html.anv-js .ccsector-energy .anv-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1180px) {
  .ccenergy-hero__inner,
  .ccenergy-education__inner,
  .ccenergy-detection__inner,
  .ccenergy-nurturing__inner {
    grid-template-columns: 1fr;
  }

  .ccenergy-hero {
    min-height: auto;
    background: linear-gradient(180deg, #ffffff, var(--energy-paper));
  }

  .ccenergy-hero__visual {
    min-height: auto;
  }

  .ccenergy-hero__visual img {
    min-height: 440px;
  }

  .ccenergy-radar {
    width: min(520px, 100%);
    min-height: auto;
    margin: 0 auto;
  }

  .ccenergy-matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ccenergy-matrix article:nth-child(n) {
    border-radius: 0;
  }

  .ccenergy-matrix article:first-child {
    border-top-left-radius: 8px;
  }

  .ccenergy-matrix article:nth-child(2) {
    border-top-right-radius: 8px;
  }

  .ccenergy-matrix article:nth-child(5) {
    border-bottom-left-radius: 8px;
  }

  .ccenergy-matrix article:nth-child(6) {
    border-bottom-right-radius: 8px;
  }
}

@media (max-width: 760px) {
  .ccenergy-wrap,
  .ccenergy-final .ccenergy-wrap {
    width: min(100% - 36px, 1180px);
  }

  .ccenergy-hero {
    padding-top: 110px;
    padding-bottom: 70px;
  }

  .ccenergy-hero h1,
  .ccenergy-section-head h2,
  .ccenergy-final h2 {
    font-size: 38px;
  }

  .ccenergy-actions,
  .ccenergy-btn {
    width: 100%;
  }

  .ccenergy-hero__visual {
    transform: none;
  }

  .ccenergy-hero__visual img {
    min-height: 340px;
  }

  .ccenergy-education,
  .ccenergy-detection,
  .ccenergy-mapping,
  .ccenergy-nurturing {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .ccenergy-lesson-grid article {
    padding: 76px 22px 24px;
    clip-path: none;
  }

  .ccenergy-matrix {
    grid-template-columns: 1fr;
  }

  .ccenergy-matrix article:nth-child(n) {
    border-radius: 0;
  }

  .ccenergy-matrix article:first-child {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }

  .ccenergy-matrix article:last-child {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }

  .ccenergy-radar__chip {
    min-width: 76px;
    min-height: 34px;
    font-size: 11px;
  }

  .ccenergy-cycles li {
    padding-right: 20px;
  }
}

@media (max-width: 480px) {
  .ccenergy-hero h1,
  .ccenergy-section-head h2,
  .ccenergy-final h2 {
    font-size: 34px;
  }

  .ccenergy-radar__core {
    width: 150px;
    min-height: 92px;
  }

  .ccenergy-radar__chip--two,
  .ccenergy-radar__chip--three {
    right: -2px;
  }

  .ccenergy-radar__chip--five,
  .ccenergy-radar__chip--six {
    left: -2px;
  }
}

/* Telecommunications & IT sector page */
.ccsector-telecom {
  --tel-black: #050a16;
  --tel-navy: #071b3a;
  --tel-panel: #0b1430;
  --tel-blue: #18a7ff;
  --tel-violet: #7b5cff;
  --tel-ice: #eef7ff;
  --tel-muted: rgba(238,247,255,0.68);
  --tel-line: rgba(24,167,255,0.22);
  --tel-shadow: 0 28px 84px rgba(0,0,0,0.34);
  color: var(--tel-ice);
  background: var(--tel-black);
  overflow: hidden;
}

.ccsector-telecom *,
.ccsector-telecom *::before,
.ccsector-telecom *::after {
  box-sizing: border-box;
}

.ccsector-telecom h1,
.ccsector-telecom h2,
.ccsector-telecom h3,
.ccsector-telecom p,
.ccsector-telecom a,
.ccsector-telecom span,
.ccsector-telecom li,
.ccsector-telecom strong {
  letter-spacing: 0;
}

.cctel-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.cctel-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
  color: rgba(238,247,255,0.62);
  font-size: 13px;
  font-weight: 760;
}

.cctel-breadcrumb a {
  color: inherit;
  text-decoration: none;
  transition: color 180ms ease;
}

.cctel-breadcrumb a:hover {
  color: #ffffff;
}

.cctel-breadcrumb span::before {
  content: "/";
  margin-right: 10px;
  color: rgba(24,167,255,0.5);
}

.cctel-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--tel-blue);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.cctel-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tel-blue);
  box-shadow: 0 0 0 6px rgba(24,167,255,0.12), 0 0 24px rgba(24,167,255,0.78);
}

.cctel-section-head {
  max-width: 650px;
}

.cctel-section-head--center {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center;
}

.cctel-section-head h2,
.cctel-final h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(36px, 4.7vw, 60px);
  line-height: 0.98;
  font-weight: 900;
}

.cctel-section-head p:not(.cctel-kicker),
.cctel-final p:not(.cctel-kicker) {
  margin: 20px 0 0;
  color: var(--tel-muted);
  font-size: 17px;
  line-height: 1.72;
}

.cctel-hero {
  position: relative;
  min-height: 790px;
  padding: 128px 0 94px;
  background:
    radial-gradient(circle at 78% 18%, rgba(123,92,255,0.2), transparent 30%),
    radial-gradient(circle at 38% 58%, rgba(24,167,255,0.2), transparent 26%),
    linear-gradient(135deg, #050a16 0%, #071b3a 58%, #050a16 100%);
}

.cctel-hero__grid {
  position: absolute;
  inset: 0;
  opacity: 0.26;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(24,167,255,0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,167,255,0.16) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: radial-gradient(circle at 62% 42%, #000 0 56%, transparent 78%);
}

.cctel-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 90px;
  background: #071022;
  clip-path: polygon(0 38%, 100% 0, 100% 100%, 0 100%);
}

.cctel-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(560px, 1.14fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: center;
}

.cctel-hero__copy {
  max-width: 610px;
}

.cctel-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(46px, 5.6vw, 76px);
  line-height: 0.95;
  font-weight: 930;
}

.cctel-hero__intro {
  margin: 24px 0 0;
  color: var(--tel-muted);
  font-size: 18px;
  line-height: 1.72;
}

.cctel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.cctel-btn {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid rgba(24,167,255,0.34);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255,255,255,0.06);
  font-size: 14px;
  font-weight: 880;
  text-decoration: none;
  overflow: hidden;
  backdrop-filter: blur(10px);
  transition: transform 230ms ease, border-color 230ms ease, box-shadow 230ms ease;
}

.cctel-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(110deg, var(--tel-blue), var(--tel-violet));
  transform: translateX(-105%);
  transition: transform 330ms ease;
}

.cctel-btn:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.44);
  box-shadow: 0 18px 54px rgba(24,167,255,0.2);
}

.cctel-btn:hover::after {
  transform: none;
}

.cctel-btn--primary {
  border-color: transparent;
  background: linear-gradient(110deg, var(--tel-blue), var(--tel-violet));
  box-shadow: 0 22px 58px rgba(24,167,255,0.24);
}

.cctel-hero__visual {
  position: relative;
  margin: 0;
  min-height: 590px;
  border: 1px solid rgba(24,167,255,0.34);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--tel-shadow), 0 0 0 1px rgba(123,92,255,0.18);
}

.cctel-hero__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 42%, rgba(255,255,255,0.18) 48%, transparent 54%);
  transform: translateX(-125%);
  transition: transform 900ms ease;
}

.cctel-hero__visual::after {
  content: "Infrastructure pipeline";
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 2;
  padding: 11px 15px;
  border: 1px solid rgba(24,167,255,0.44);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(5,10,22,0.74);
  backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.cctel-hero__visual:hover::before {
  transform: translateX(125%);
}

.cctel-hero__visual img {
  display: block;
  width: 100%;
  min-height: 590px;
  object-fit: cover;
  transition: transform 760ms ease, filter 760ms ease;
}

.cctel-hero__visual:hover img {
  transform: scale(1.035);
  filter: saturate(1.12) contrast(1.04);
}

.cctel-qualify,
.cctel-map,
.cctel-crm {
  position: relative;
  padding: clamp(84px, 9vw, 124px) 0;
  background: #071022;
}

.cctel-qualify__inner,
.cctel-pipeline__inner,
.cctel-crm__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: center;
}

.cctel-signal-stack {
  display: grid;
  gap: 14px;
}

.cctel-signal-stack article {
  position: relative;
  min-height: 142px;
  padding: 24px 26px 24px 88px;
  border: 1px solid var(--tel-line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025)),
    var(--tel-panel);
  box-shadow: 0 18px 56px rgba(0,0,0,0.22);
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.cctel-signal-stack article::before {
  content: "";
  position: absolute;
  left: 62px;
  top: 28px;
  bottom: 28px;
  width: 1px;
  background: linear-gradient(var(--tel-blue), var(--tel-violet));
}

.cctel-signal-stack span {
  position: absolute;
  left: 22px;
  top: 24px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: rgba(24,167,255,0.16);
  border: 1px solid rgba(24,167,255,0.45);
  font-weight: 900;
}

.cctel-signal-stack strong,
.cctel-eventlog strong,
.cctel-node strong,
.cctel-route__lane strong {
  display: block;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.2;
}

.cctel-signal-stack p,
.cctel-eventlog p {
  margin: 10px 0 0;
  color: var(--tel-muted);
  line-height: 1.62;
}

.cctel-signal-stack article:hover,
.cctel-eventlog article:hover,
.cctel-route__lane:hover,
.cctel-node:hover {
  transform: translateY(-7px);
  border-color: rgba(24,167,255,0.72);
  box-shadow: 0 24px 70px rgba(24,167,255,0.14);
}

.cctel-map {
  background:
    radial-gradient(circle at 50% 50%, rgba(24,167,255,0.16), transparent 34%),
    linear-gradient(180deg, #071022, #050a16);
}

.cctel-node-map {
  position: relative;
  height: 560px;
  border: 1px solid rgba(24,167,255,0.18);
  border-radius: 8px;
  overflow: hidden;
  background:
    radial-gradient(circle at center, rgba(123,92,255,0.16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
  box-shadow: var(--tel-shadow);
}

.cctel-node-map::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(24,167,255,0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,167,255,0.14) 1px, transparent 1px);
  background-size: 46px 46px;
}

.cctel-node,
.cctel-node-map__line {
  position: absolute;
  z-index: 1;
}

.cctel-node {
  width: 188px;
  min-height: 96px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(24,167,255,0.34);
  border-radius: 8px;
  text-align: center;
  background: rgba(5,10,22,0.78);
  backdrop-filter: blur(14px);
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.cctel-node span {
  color: rgba(238,247,255,0.58);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.cctel-node--center {
  left: 50%;
  top: 50%;
  width: 220px;
  min-height: 118px;
  transform: translate(-50%, -50%);
  background: linear-gradient(135deg, rgba(24,167,255,0.26), rgba(123,92,255,0.18));
  box-shadow: 0 0 46px rgba(24,167,255,0.2);
}

.cctel-node--center:hover {
  transform: translate(-50%, -57%);
}

.cctel-node--top { left: 50%; top: 42px; transform: translateX(-50%); }
.cctel-node--right { right: 72px; top: 50%; transform: translateY(-50%); }
.cctel-node--bottom { left: 50%; bottom: 42px; transform: translateX(-50%); }
.cctel-node--left { left: 72px; top: 50%; transform: translateY(-50%); }

.cctel-node--top:hover { transform: translate(-50%, -7px); }
.cctel-node--right:hover { transform: translateY(calc(-50% - 7px)); }
.cctel-node--bottom:hover { transform: translate(-50%, -7px); }
.cctel-node--left:hover { transform: translateY(calc(-50% - 7px)); }

.cctel-node-map__line {
  left: 50%;
  top: 50%;
  width: 2px;
  height: 196px;
  background: linear-gradient(var(--tel-blue), transparent);
  transform-origin: top;
  box-shadow: 0 0 18px rgba(24,167,255,0.5);
}

.cctel-node-map__line--one { transform: rotate(0deg); }
.cctel-node-map__line--two { transform: rotate(90deg); }
.cctel-node-map__line--three { transform: rotate(180deg); }
.cctel-node-map__line--four { transform: rotate(270deg); }

.cctel-pipeline {
  position: relative;
  padding: clamp(88px, 9vw, 132px) 0;
  background:
    linear-gradient(90deg, #050a16 0 42%, #0a1631 42.1% 100%);
}

.cctel-route {
  position: relative;
  display: grid;
  gap: 16px;
  padding: 22px;
  border-radius: 8px;
  border: 1px solid rgba(24,167,255,0.2);
  background: rgba(255,255,255,0.04);
  box-shadow: var(--tel-shadow);
}

.cctel-route::before {
  content: "";
  position: absolute;
  left: 54px;
  top: 52px;
  bottom: 52px;
  width: 3px;
  background: linear-gradient(var(--tel-blue), var(--tel-violet));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 920ms var(--ease-v2);
  box-shadow: 0 0 22px rgba(24,167,255,0.5);
}

.cctel-route.is-visible::before {
  transform: scaleY(1);
}

.cctel-route__lane {
  position: relative;
  min-height: 106px;
  padding: 22px 22px 22px 82px;
  border: 1px solid rgba(24,167,255,0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025));
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.cctel-route__lane::before {
  content: "";
  position: absolute;
  left: 23px;
  top: 35px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--tel-blue);
  box-shadow: 0 0 0 8px rgba(24,167,255,0.1), 0 0 26px rgba(24,167,255,0.7);
}

.cctel-route__lane span,
.cctel-eventlog span {
  display: block;
  margin-bottom: 10px;
  color: rgba(238,247,255,0.58);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.cctel-crm {
  background:
    radial-gradient(circle at 86% 18%, rgba(123,92,255,0.18), transparent 27%),
    #071022;
}

.cctel-eventlog {
  border: 1px solid rgba(24,167,255,0.2);
  border-radius: 8px;
  overflow: hidden;
  background: #060c1a;
  box-shadow: var(--tel-shadow);
}

.cctel-eventlog article {
  position: relative;
  min-height: 132px;
  padding: 26px 28px;
  border-bottom: 1px solid rgba(24,167,255,0.14);
  background: linear-gradient(90deg, rgba(24,167,255,0.08), transparent);
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease, background 260ms ease;
}

.cctel-eventlog article:last-child {
  border-bottom: 0;
}

.cctel-eventlog article:hover {
  background: linear-gradient(90deg, rgba(24,167,255,0.16), rgba(123,92,255,0.08));
}

.cctel-final {
  position: relative;
  padding: clamp(88px, 9vw, 124px) 0;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgba(24,167,255,0.2), transparent 34%),
    linear-gradient(135deg, #050a16, #071b3a);
}

.cctel-final::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.26;
  background-image:
    radial-gradient(circle, rgba(24,167,255,0.62) 1px, transparent 2px);
  background-size: 34px 34px;
  mask-image: radial-gradient(circle at center, #000, transparent 72%);
}

.cctel-final .cctel-wrap {
  position: relative;
  z-index: 1;
  width: min(900px, calc(100% - 48px));
}

.cctel-final p:not(.cctel-kicker) {
  max-width: 720px;
  margin: 20px auto 0;
}

.cctel-final .cctel-btn {
  margin-top: 30px;
}

html.anv-js .ccsector-telecom .anv-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 680ms var(--ease-v2), transform 680ms var(--ease-v2);
}

html.anv-js .ccsector-telecom .anv-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .cctel-hero__visual {
    animation: ccTelFloat 8.2s ease-in-out infinite;
  }

  .cctel-kicker::before,
  .cctel-route__lane::before {
    animation: ccTelPulse 2.8s ease-in-out infinite;
  }

  .cctel-node-map__line {
    animation: ccTelLine 2.8s ease-in-out infinite;
  }
}

@keyframes ccTelFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

@keyframes ccTelPulse {
  0%, 100% { opacity: 0.68; }
  50% { opacity: 1; }
}

@keyframes ccTelLine {
  0%, 100% { opacity: 0.28; }
  50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .ccsector-telecom *,
  .ccsector-telecom *::before,
  .ccsector-telecom *::after {
    animation: none !important;
    transition: none !important;
  }

  html.anv-js .ccsector-telecom .anv-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1180px) {
  .cctel-hero__inner,
  .cctel-qualify__inner,
  .cctel-pipeline__inner,
  .cctel-crm__inner {
    grid-template-columns: 1fr;
  }

  .cctel-hero {
    min-height: auto;
  }

  .cctel-hero__visual {
    min-height: auto;
  }

  .cctel-hero__visual img {
    min-height: 440px;
  }

  .cctel-node-map {
    height: 620px;
  }

  .cctel-node--right {
    right: 34px;
  }

  .cctel-node--left {
    left: 34px;
  }
}

@media (max-width: 760px) {
  .cctel-wrap,
  .cctel-final .cctel-wrap {
    width: min(100% - 36px, 1180px);
  }

  .cctel-hero {
    padding-top: 110px;
    padding-bottom: 72px;
  }

  .cctel-hero h1,
  .cctel-section-head h2,
  .cctel-final h2 {
    font-size: 38px;
  }

  .cctel-actions,
  .cctel-btn {
    width: 100%;
  }

  .cctel-hero__visual img {
    min-height: 330px;
  }

  .cctel-qualify,
  .cctel-map,
  .cctel-pipeline,
  .cctel-crm {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .cctel-node-map {
    height: auto;
    display: grid;
    gap: 14px;
    padding: 18px;
  }

  .cctel-node,
  .cctel-node--center,
  .cctel-node--top,
  .cctel-node--right,
  .cctel-node--bottom,
  .cctel-node--left {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    min-height: 92px;
    transform: none;
  }

  .cctel-node:hover,
  .cctel-node--center:hover,
  .cctel-node--top:hover,
  .cctel-node--right:hover,
  .cctel-node--bottom:hover,
  .cctel-node--left:hover {
    transform: translateY(-5px);
  }

  .cctel-node-map__line {
    display: none;
  }

  .cctel-signal-stack article {
    padding: 78px 22px 24px;
  }

  .cctel-signal-stack article::before {
    left: 28px;
    top: 64px;
    right: 28px;
    bottom: auto;
    width: auto;
    height: 1px;
  }

  .cctel-route {
    padding: 16px;
  }

  .cctel-route::before {
    left: 43px;
  }

  .cctel-route__lane {
    padding: 22px 18px 22px 72px;
  }
}

@media (max-width: 480px) {
  .cctel-hero h1,
  .cctel-section-head h2,
  .cctel-final h2 {
    font-size: 34px;
  }

  .cctel-hero__visual::after {
    left: 16px;
    right: auto;
    bottom: 16px;
  }
}

/* E-commerce & retail B2B sector page */
.ccsector-ecom {
  --ecom-coral: #ff5a3d;
  --ecom-red: #f04b32;
  --ecom-navy: #07142b;
  --ecom-pink: #ffe6ea;
  --ecom-soft: #fff7f5;
  --ecom-ink: #111827;
  --ecom-muted: rgba(17,24,39,0.68);
  --ecom-line: rgba(240,75,50,0.18);
  --ecom-shadow: 0 24px 72px rgba(240,75,50,0.14);
  color: var(--ecom-ink);
  background: #ffffff;
  overflow: hidden;
}

.ccsector-ecom *,
.ccsector-ecom *::before,
.ccsector-ecom *::after {
  box-sizing: border-box;
}

.ccsector-ecom h1,
.ccsector-ecom h2,
.ccsector-ecom h3,
.ccsector-ecom p,
.ccsector-ecom a,
.ccsector-ecom span,
.ccsector-ecom li,
.ccsector-ecom strong {
  letter-spacing: 0;
}

.ccecom-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.ccecom-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
  color: rgba(17,24,39,0.58);
  font-size: 13px;
  font-weight: 780;
}

.ccecom-breadcrumb a {
  color: inherit;
  text-decoration: none;
  transition: color 180ms ease;
}

.ccecom-breadcrumb a:hover {
  color: var(--ecom-coral);
}

.ccecom-breadcrumb span::before {
  content: "/";
  margin-right: 10px;
  color: rgba(240,75,50,0.42);
}

.ccecom-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--ecom-red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccecom-kicker::before {
  content: "";
  width: 28px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ecom-coral), #ffb0a1);
  box-shadow: 0 10px 24px rgba(255,90,61,0.24);
}

.ccecom-section-head {
  max-width: 670px;
}

.ccecom-section-head--center {
  max-width: 800px;
  margin: 0 auto 38px;
  text-align: center;
}

.ccecom-section-head h2,
.ccecom-final h2 {
  margin: 0;
  color: var(--ecom-navy);
  font-size: clamp(36px, 4.7vw, 60px);
  line-height: 0.98;
  font-weight: 900;
}

.ccecom-section-head p:not(.ccecom-kicker),
.ccecom-final p:not(.ccecom-kicker) {
  margin: 20px 0 0;
  color: var(--ecom-muted);
  font-size: 17px;
  line-height: 1.72;
}

.ccecom-hero {
  position: relative;
  padding: 126px 0 92px;
  min-height: 770px;
  background:
    radial-gradient(circle at 9% 12%, rgba(255,90,61,0.18), transparent 28%),
    linear-gradient(112deg, #ffffff 0 58%, var(--ecom-pink) 58.1% 100%);
}

.ccecom-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.48;
  background:
    linear-gradient(135deg, transparent 0 44%, rgba(255,90,61,0.14) 45%, transparent 46%) 0 0 / 88px 88px,
    radial-gradient(circle at 86% 20%, rgba(255,90,61,0.2), transparent 26%);
}

.ccecom-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(560px, 1.14fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: center;
}

.ccecom-hero__copy {
  max-width: 610px;
}

.ccecom-hero h1 {
  margin: 0;
  color: var(--ecom-navy);
  font-size: clamp(46px, 5.7vw, 78px);
  line-height: 0.95;
  font-weight: 930;
}

.ccecom-hero__intro {
  margin: 24px 0 0;
  color: var(--ecom-muted);
  font-size: 18px;
  line-height: 1.72;
}

.ccecom-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.ccecom-btn {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid rgba(240,75,50,0.24);
  border-radius: 999px;
  color: var(--ecom-navy);
  background: rgba(255,255,255,0.84);
  font-size: 14px;
  font-weight: 880;
  text-decoration: none;
  overflow: hidden;
  transition: transform 230ms ease, border-color 230ms ease, box-shadow 230ms ease, color 230ms ease;
}

.ccecom-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(110deg, var(--ecom-coral), #ff9a86);
  transform: translateX(-105%);
  transition: transform 330ms ease;
}

.ccecom-btn:hover {
  color: #ffffff;
  transform: translateY(-3px);
  border-color: transparent;
  box-shadow: 0 18px 50px rgba(255,90,61,0.22);
}

.ccecom-btn:hover::after {
  transform: none;
}

.ccecom-btn--primary {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(110deg, var(--ecom-red), var(--ecom-coral));
  box-shadow: 0 20px 54px rgba(255,90,61,0.24);
}

.ccecom-hero__visual {
  position: relative;
  margin: 0;
  min-height: 580px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--ecom-shadow);
  transform: rotate(1deg);
}

.ccecom-hero__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 0 48%, rgba(255,255,255,0.34) 52%, transparent 57%);
  transform: translateX(-120%);
  transition: transform 840ms ease;
}

.ccecom-hero__visual::after {
  content: "Croissance B2B";
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 2;
  padding: 11px 15px;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(7,20,43,0.82);
  backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccecom-hero__visual:hover::before {
  transform: translateX(120%);
}

.ccecom-hero__visual img {
  display: block;
  width: 100%;
  min-height: 580px;
  object-fit: cover;
  transition: transform 760ms ease, filter 760ms ease;
}

.ccecom-hero__visual:hover img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.02);
}

.ccecom-prospecting,
.ccecom-seasonal,
.ccecom-growth {
  padding: clamp(82px, 9vw, 124px) 0;
  background: #ffffff;
}

.ccecom-lanes {
  display: grid;
  gap: 16px;
  margin-top: 38px;
}

.ccecom-lanes article {
  position: relative;
  display: grid;
  grid-template-columns: 140px minmax(220px, 0.75fr) minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  min-height: 128px;
  padding: 24px 28px;
  border: 1px solid var(--ecom-line);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(255,90,61,0.12), transparent 38%),
    #ffffff;
  box-shadow: 0 18px 54px rgba(7,20,43,0.08);
  overflow: hidden;
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.ccecom-lanes article::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(var(--ecom-coral), #ffb0a1);
}

.ccecom-lanes span {
  color: var(--ecom-red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccecom-lanes strong {
  color: var(--ecom-navy);
  font-size: 22px;
  line-height: 1.14;
}

.ccecom-lanes p {
  margin: 0;
  color: var(--ecom-muted);
  line-height: 1.6;
}

.ccecom-lanes article:hover,
.ccecom-calendar article:hover,
.ccecom-metrics article:hover {
  transform: translateY(-7px);
  border-color: rgba(255,90,61,0.46);
  box-shadow: 0 24px 70px rgba(255,90,61,0.14);
}

.ccecom-reorder {
  position: relative;
  padding: clamp(88px, 9vw, 132px) 0;
  background:
    radial-gradient(circle at 28% 50%, rgba(255,90,61,0.16), transparent 30%),
    linear-gradient(135deg, var(--ecom-navy), #111827);
  color: #ffffff;
}

.ccecom-reorder::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.12) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 48px 48px;
}

.ccecom-reorder__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 7vw, 88px);
  align-items: center;
}

.ccecom-reorder .ccecom-section-head h2,
.ccecom-reorder .ccecom-kicker {
  color: #ffffff;
}

.ccecom-reorder .ccecom-section-head p:not(.ccecom-kicker) {
  color: rgba(255,255,255,0.72);
}

.ccecom-loop {
  position: relative;
  aspect-ratio: 1;
  min-height: 430px;
  border-radius: 50%;
  border: 1px solid rgba(255,90,61,0.36);
  background:
    repeating-radial-gradient(circle, rgba(255,90,61,0.2) 0 1px, transparent 1px 70px),
    rgba(255,255,255,0.04);
  box-shadow: inset 0 0 50px rgba(255,90,61,0.1), 0 30px 80px rgba(0,0,0,0.24);
}

.ccecom-loop::before {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  border: 2px dashed rgba(255,90,61,0.48);
  animation: ccEcomSpin 16s linear infinite;
}

.ccecom-loop__center {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 178px;
  min-height: 102px;
  display: grid;
  place-items: center;
  padding: 18px;
  border-radius: 8px;
  text-align: center;
  background: #ffffff;
  color: var(--ecom-navy);
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 58px rgba(255,90,61,0.18);
}

.ccecom-loop__center strong {
  color: var(--ecom-navy);
  font-size: 22px;
}

.ccecom-loop__center span {
  color: var(--ecom-red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccecom-loop__step {
  position: absolute;
  min-width: 104px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(110deg, var(--ecom-red), var(--ecom-coral));
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 0 28px rgba(255,90,61,0.34);
  animation: ccEcomStep 3.6s ease-in-out infinite;
}

.ccecom-loop__step--one { left: 50%; top: 7%; transform: translateX(-50%); animation-delay: 0s; }
.ccecom-loop__step--two { right: 6%; top: 50%; transform: translateY(-50%); animation-delay: 0.35s; }
.ccecom-loop__step--three { left: 50%; bottom: 7%; transform: translateX(-50%); animation-delay: 0.7s; }
.ccecom-loop__step--four { left: 6%; top: 50%; transform: translateY(-50%); animation-delay: 1.05s; }

.ccecom-seasonal {
  background:
    linear-gradient(180deg, #ffffff, var(--ecom-soft)),
    radial-gradient(circle at 86% 0, rgba(255,90,61,0.14), transparent 30%);
}

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

.ccecom-calendar article,
.ccecom-metrics article {
  position: relative;
  border: 1px solid var(--ecom-line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(7,20,43,0.08);
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.ccecom-calendar article {
  min-height: 250px;
  padding: 30px;
  overflow: hidden;
}

.ccecom-calendar article::before {
  content: "";
  position: absolute;
  left: 30px;
  right: 30px;
  top: 78px;
  height: 2px;
  background: linear-gradient(90deg, var(--ecom-coral), transparent);
}

.ccecom-calendar span {
  display: inline-flex;
  margin-bottom: 44px;
  padding: 8px 10px;
  border-radius: 999px;
  color: var(--ecom-red);
  background: var(--ecom-pink);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccecom-calendar strong {
  display: block;
  color: var(--ecom-navy);
  font-size: 22px;
  line-height: 1.14;
}

.ccecom-calendar p {
  margin: 14px 0 0;
  color: var(--ecom-muted);
  line-height: 1.62;
}

.ccecom-growth {
  background:
    linear-gradient(90deg, var(--ecom-soft) 0 42%, #ffffff 42.1% 100%);
}

.ccecom-growth__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: center;
}

.ccecom-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ccecom-metrics article {
  min-height: 164px;
  display: grid;
  align-content: center;
  padding: 28px;
}

.ccecom-metrics strong {
  display: block;
  color: var(--ecom-red);
  font-size: clamp(42px, 5vw, 62px);
  line-height: 0.92;
}

.ccecom-metrics span {
  margin-top: 12px;
  color: var(--ecom-navy);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccecom-final {
  position: relative;
  padding: clamp(88px, 9vw, 124px) 0;
  color: #ffffff;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgba(255,90,61,0.26), transparent 34%),
    linear-gradient(135deg, var(--ecom-navy), #101827);
}

.ccecom-final::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.2;
  background-image: linear-gradient(135deg, transparent 0 44%, rgba(255,255,255,0.28) 45%, transparent 46%);
  background-size: 76px 76px;
}

.ccecom-final .ccecom-wrap {
  position: relative;
  z-index: 1;
  width: min(900px, calc(100% - 48px));
}

.ccecom-final h2,
.ccecom-final .ccecom-kicker {
  color: #ffffff;
}

.ccecom-final p:not(.ccecom-kicker) {
  max-width: 720px;
  margin: 20px auto 0;
  color: rgba(255,255,255,0.74);
}

.ccecom-final .ccecom-btn {
  margin-top: 30px;
}

html.anv-js .ccsector-ecom .anv-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 680ms var(--ease-v2), transform 680ms var(--ease-v2);
}

html.anv-js .ccsector-ecom .anv-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .ccecom-hero__visual {
    animation: ccEcomFloat 7.6s ease-in-out infinite;
  }

  .ccecom-kicker::before {
    animation: ccEcomPulse 2.8s ease-in-out infinite;
  }
}

@keyframes ccEcomFloat {
  0%, 100% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-12px) rotate(0.2deg); }
}

@keyframes ccEcomPulse {
  0%, 100% { transform: scaleX(1); opacity: 0.72; }
  50% { transform: scaleX(1.22); opacity: 1; }
}

@keyframes ccEcomSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes ccEcomStep {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.18); }
}

@media (prefers-reduced-motion: reduce) {
  .ccsector-ecom *,
  .ccsector-ecom *::before,
  .ccsector-ecom *::after {
    animation: none !important;
    transition: none !important;
  }

  html.anv-js .ccsector-ecom .anv-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1180px) {
  .ccecom-hero__inner,
  .ccecom-reorder__inner,
  .ccecom-growth__inner {
    grid-template-columns: 1fr;
  }

  .ccecom-hero {
    min-height: auto;
    background: linear-gradient(180deg, #ffffff, var(--ecom-pink));
  }

  .ccecom-hero__visual {
    min-height: auto;
  }

  .ccecom-hero__visual img {
    min-height: 440px;
  }

  .ccecom-loop {
    width: min(520px, 100%);
    min-height: auto;
    margin: 0 auto;
  }

  .ccecom-calendar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .ccecom-wrap,
  .ccecom-final .ccecom-wrap {
    width: min(100% - 36px, 1180px);
  }

  .ccecom-hero {
    padding-top: 110px;
    padding-bottom: 70px;
  }

  .ccecom-hero h1,
  .ccecom-section-head h2,
  .ccecom-final h2 {
    font-size: 38px;
  }

  .ccecom-actions,
  .ccecom-btn {
    width: 100%;
  }

  .ccecom-hero__visual {
    transform: none;
  }

  .ccecom-hero__visual img {
    min-height: 330px;
  }

  .ccecom-prospecting,
  .ccecom-reorder,
  .ccecom-seasonal,
  .ccecom-growth {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .ccecom-lanes article {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px;
  }

  .ccecom-reorder__inner {
    gap: 48px;
  }

  .ccecom-loop__step {
    min-width: 84px;
    min-height: 34px;
    font-size: 11px;
  }

  .ccecom-calendar article {
    min-height: auto;
  }

  .ccecom-metrics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .ccecom-hero h1,
  .ccecom-section-head h2,
  .ccecom-final h2 {
    font-size: 34px;
  }

  .ccecom-loop__center {
    width: 142px;
    min-height: 86px;
  }

  .ccecom-loop__step--two {
    right: -2px;
  }

  .ccecom-loop__step--four {
    left: -2px;
  }
}
