/* CTA system v2 — one background for all 15 preview pages */
html body .v8-cta__panel,
html body .services-v38 .v8-cta__panel,
html body .pr44 .v8-cta__panel {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 14% 34%, rgba(29,183,181,.20) 0, rgba(29,183,181,0) 34%),
    linear-gradient(110deg,#15908c 0%,#0b6f79 47%,#123f69 100%) !important;
}
html body .v8-cta__panel::before,
html body .services-v38 .v8-cta__panel::before,
html body .pr44 .v8-cta__panel::before {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:-110px !important;
  top:50% !important;
  width:520px !important;
  height:250px !important;
  transform:translateY(-50%) rotate(-8deg) !important;
  pointer-events:none !important;
  z-index:0 !important;
  opacity:.42 !important;
  background:
    radial-gradient(ellipse at center, transparent 0 42%, rgba(42,214,213,.18) 42.5% 43%, transparent 43.5% 58%, rgba(117,205,234,.12) 58.5% 59%, transparent 59.5%),
    radial-gradient(circle at 27% 72%, rgba(74,236,223,.75) 0 2px, transparent 3px),
    radial-gradient(circle at 64% 22%, rgba(88,211,240,.65) 0 2px, transparent 3px),
    radial-gradient(circle at 78% 69%, rgba(74,236,223,.58) 0 2px, transparent 3px) !important;
}
html body .v8-cta__panel::after,
html body .services-v38 .v8-cta__panel::after,
html body .pr44 .v8-cta__panel::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:-40px !important;
  top:50% !important;
  width:430px !important;
  height:185px !important;
  transform:translateY(-50%) rotate(-8deg) !important;
  pointer-events:none !important;
  z-index:0 !important;
  opacity:.30 !important;
  border:1px solid rgba(77,219,218,.28) !important;
  border-radius:50% !important;
  background:none !important;
  box-shadow:0 0 0 42px rgba(40,165,194,.035),0 0 0 86px rgba(40,165,194,.022) !important;
}
html body .v8-cta__panel > * { position:relative; z-index:2; }
@media (max-width:700px){
  html body .v8-cta__panel::before{right:-220px !important;width:430px !important;height:210px !important;opacity:.28 !important}
  html body .v8-cta__panel::after{right:-175px !important;width:350px !important;height:160px !important;opacity:.20 !important}
}

/* CTA system v3 — lock CTA typography against page-specific overrides */
html body .v8-cta__panel .eyebrow,
html body .v8-cta__panel h2,
html body .v8-cta__panel > div > p,
html body .v8-cta__panel .v8-cta__actions small { color:#fff !important; }
html body .v8-cta__panel .button-primary { color:#fff !important; }
html body .v8-cta__panel .button-secondary { color:#073b49 !important; }

/* CTA system v4 — complete shared CTA layout */
html body .v8-cta { padding:2.8rem 0 3.2rem !important; background:#fff !important; }
html body .v8-cta__panel {
  display:grid !important;
  grid-template-columns:1.3fr .7fr !important;
  gap:2rem !important;
  align-items:center !important;
  padding:2.2rem 2.5rem !important;
  border-radius:26px !important;
  box-shadow:0 20px 45px rgba(13,49,85,.18) !important;
}
html body .v8-cta__panel > div { min-width:0 !important; }
html body .v8-cta__panel h2 { font-size:2rem !important; line-height:1.1 !important; margin:.35rem 0 .65rem !important; }
html body .v8-cta__panel p { max-width:65ch !important; }
html body .v8-cta__actions { display:grid !important; grid-template-columns:1fr 1fr !important; gap:.8rem !important; align-self:center !important; }
html body .v8-cta__actions .button { min-height:50px !important; justify-content:center !important; text-align:center !important; }
html body .v8-cta__actions small { grid-column:1/-1 !important; line-height:1.45 !important; overflow-wrap:anywhere !important; }
@media(max-width:1100px){
  html body .v8-cta__panel { grid-template-columns:1fr !important; }
}
@media(max-width:700px){
  html body .v8-cta { padding:1.8rem 0 3.2rem !important; }
  html body .v8-cta__panel { gap:1.15rem !important; padding:1.4rem !important; border-radius:22px !important; }
  html body .v8-cta__panel h2 { font-size:1.7rem !important; line-height:1.1 !important; }
  html body .v8-cta__panel p { font-size:.94rem !important; line-height:1.55 !important; }
  html body .v8-cta__actions { grid-template-columns:1fr !important; gap:.65rem !important; }
  html body .v8-cta__actions small { grid-column:1 !important; }
  html body .v8-cta__actions .button { width:100% !important; white-space:normal !important; line-height:1.2 !important; padding:.75rem 1rem !important; }
}

/* CTA system v5 — French desktop balance correction */
@media (min-width:1101px){
  html[lang="fr"] body .v8-cta__panel{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
  }
  html[lang="fr"] body .v8-cta__actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    min-width:0 !important;
  }
  html[lang="fr"] body .v8-cta__actions .button{
    min-width:0 !important;
    width:100% !important;
    white-space:normal !important;
    line-height:1.2 !important;
    padding:.75rem .9rem !important;
  }
  html[lang="fr"] body .v8-cta__actions small{
    min-width:0 !important;
    max-width:100% !important;
    text-align:left !important;
  }
}
