.saga-cta-wrap {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 6px;
text-align: center;
}
.saga-cta {
--saga-green: #34a24a;
--saga-green-hover: #2c8c40;
--saga-pulse: rgba(52, 162, 74, 0.55);
position: relative;
z-index: 1;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 14px 30px;
background-color: var(--saga-green);
color: #fff !important;
font-size: 23px!important;
font-weight: 600;
line-height: 1.2;
text-decoration: none !important;
border: 2px solid var(--saga-green);
border-radius: 35px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
cursor: pointer;
transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.saga-cta__icon {
flex: 0 0 auto;
display: block;
width: 1.4em;
height: 1.4em;
}
.saga-cta__text {
display: inline-block;
}
.saga-cta__subtext {
font-size: 13px;
color: var(--saga-green, #34a24a);
font-weight: 500;
} .saga-cta:hover,
.saga-cta:focus-visible {
transform: scale(1.06);
background-color: #fff;
color: var(--saga-green) !important;
border-color: var(--saga-green);
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}
.saga-cta:active {
transform: scale(1.02);
} .saga-cta--pulse::before,
.saga-cta--pulse::after {
content: "";
position: absolute;
inset: 0;
z-index: -1;
border-radius: inherit;
background: transparent;
box-shadow: 0 0 0 0 var(--saga-pulse);
animation: saga-pulse 2.5s ease-out infinite;
}
.saga-cta--pulse::after {
animation-delay: 1.1s;
}
@keyframes saga-pulse {
0% {
box-shadow: 0 0 0 0 var(--saga-pulse);
}
60% {
box-shadow: 0 0 0 25px transparent;
}
100% {
box-shadow: 0 0 0 0 transparent;
}
} .saga-cta--pulse:hover::before,
.saga-cta--pulse:hover::after,
.saga-cta--pulse:focus-visible::before,
.saga-cta--pulse:focus-visible::after {
animation-play-state: paused;
} @media (prefers-reduced-motion: reduce) {
.saga-cta,
.saga-cta--pulse::before,
.saga-cta--pulse::after {
animation: none !important;
transition: background-color 0.25s ease, color 0.25s ease;
}
.saga-cta:hover,
.saga-cta:focus-visible {
transform: none;
}
}.sp-services {
--sp-blue: #009BDA; --sp-blue-dark: #009BDA; --sp-text: #1a2b3c;
--sp-muted: #4a5b6c;
--sp-cols: 4; --sp-size: 170px; max-width: 1100px;
margin: 2.5rem auto;
padding: 0 1rem;
box-sizing: border-box;
font-family: inherit;
}
.sp-services *,
.sp-services *::before,
.sp-services *::after {
box-sizing: border-box;
}
.sp-services__title {
font-size: clamp(1.5rem, 2.4vw, 2.1rem);
font-weight: 700;
color: var(--sp-text);
text-align: center;
margin: 0 0 0.75rem;
line-height: 1.2;
}
.sp-services__subtitle {
text-align: center !important;
color: var(--sp-muted);
margin: 0 auto 3rem !important;
max-width: 720px;
font-size: 1.05rem;
display: block;
width: 100%;
}
.sp-services__grid {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(var(--sp-cols), minmax(0, 1fr));
gap: 1.75rem 1rem;
justify-items: center;
}
.sp-services__item {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
width: 100%;
}
.sp-services__link {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.85rem;
text-decoration: none;
color: var(--sp-text);
width: 100%;
max-width: 180px;
text-align: center;
outline: none;
} .sp-services__pastille {
display: flex;
align-items: center;
justify-content: center;
width: var(--sp-size);
height: var(--sp-size);
border-radius: 50%;
background: var(--sp-blue);
color: #fff;
box-shadow: 0 8px 20px -8px rgba(0, 155, 218, 0.45);
transition: transform 0.35s cubic-bezier(.2,.8,.2,1);
overflow: hidden;
}
.sp-services__pastille svg,
.sp-services__pastille .sp-services__img {
width: 92%;
height: 92%;
display: block;
object-fit: contain;
transition: transform 0.35s cubic-bezier(.2,.8,.2,1);
} .sp-services__label {
font-size: 1.15rem;
font-weight: 600;
color: var(--sp-text);
line-height: 1.3;
transition: color 0.25s ease;
} .sp-services__link:hover .sp-services__pastille,
.sp-services__link:focus-visible .sp-services__pastille {
transform: scale(1.08);
}
.sp-services__link:focus-visible {
outline: 2px dashed var(--sp-blue);
outline-offset: 6px;
border-radius: 8px;
} @media (max-width: 1024px) {
.sp-services { --sp-cols: 3; --sp-size: 150px; }
}
@media (max-width: 720px) {
.sp-services { --sp-cols: 2; --sp-size: 135px; }
.sp-services__label { font-size: 1.05rem; }
}
@media (max-width: 380px) {
.sp-services { --sp-cols: 2; --sp-size: 115px; }
} @media (prefers-reduced-motion: reduce) {
.sp-services__pastille,
.sp-services__pastille svg,
.sp-services__pastille .sp-services__img,
.sp-services__label {
transition: none;
}
.sp-services__link:hover .sp-services__pastille {
transform: none;
}
}.sce {
--sce-bleu: #1a9fe0;
--sce-bleu-fonce: #0e7bb5;
--sce-encre: #1f2a44;
--sce-gris: #5b6472;
--sce-fond-pastille: #ffffff;
--sce-ombre: rgba(26, 159, 224, 0.28); --sce-taille: 150px;
--sce-numero: 52px;
--sce-largeur-max: 1200px;
display: block;
width: 100%;
max-width: 100%;
margin: 0;
padding: 2.5rem 0;
box-sizing: border-box;
color: var(--sce-encre);
font-family: inherit;
} .elementor-widget-text-editor .sce,
.elementor-widget-container .sce {
width: 100%;
max-width: 100%;
}
.sce *,
.sce *::before,
.sce *::after {
box-sizing: border-box;
}
.sce__titre {
font-size: clamp(1.75rem, 4vw, 2.6rem);
line-height: 1.1;
font-weight: 800;
letter-spacing: -0.02em;
text-align: center;
margin: 0 0 3rem;
color: var(--sce-encre);
} .sce__liste {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 3rem;
} .sce__etape {
position: relative;
display: grid;
grid-template-columns: var(--sce-taille) 1fr;
gap: 1.5rem;
align-items: center;
} .sce__etape:not(:last-child)::before {
content: "";
position: absolute;
left: calc(var(--sce-taille) / 2 - 20px);
top: auto;
bottom: -2.75rem;
width: 40px;
height: 40px;
background: var(--sce-bleu);
opacity: 1;
-webkit-mask: no-repeat center / contain
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v15M6 13l6 6 6-6'/%3E%3C/svg%3E");
mask: no-repeat center / contain
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v15M6 13l6 6 6-6'/%3E%3C/svg%3E");
animation: sce-fleche-bas 6s ease-out infinite both;
animation-delay: calc(var(--sce-i) * 1.2s + 0.8s);
} .sce__pastille {
position: relative;
width: var(--sce-taille);
height: var(--sce-taille);
min-width: var(--sce-taille);
flex: 0 0 auto;
border-radius: 50%;
display: grid;
place-items: center;
color: var(--sce-bleu);
} .sce__pastille::before {
content: "";
position: absolute;
inset: 0;
border-radius: 50%;
background: var(--sce-fond-pastille);
box-shadow: 0 0 30px -6px var(--sce-ombre);
z-index: 0;
animation: sce-apparition 6s ease-out infinite both;
animation-delay: calc(var(--sce-i) * 1.2s + 0.4s);
} .sce__icone,
.sce__image {
position: relative;
z-index: 1;
animation: sce-apparition 6s ease-out infinite both;
animation-delay: calc(var(--sce-i) * 1.2s + 0.4s);
}
.sce__icone svg,
.sce__image {
width: calc(var(--sce-taille) * 0.45);
height: calc(var(--sce-taille) * 0.5);
display: block;
}
.sce__image {
object-fit: contain;
max-width: 100%;
} .sce__etape:nth-child(2) .sce__image {
width: calc(var(--sce-taille) * 0.55);
height: calc(var(--sce-taille) * 0.55);
} .sce__image--hover {
display: none;
}
.sce__numero {
position: absolute;
top: -2px;
right: -2px;
width: var(--sce-numero);
height: var(--sce-numero);
min-width: var(--sce-numero);
padding: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
border-radius: 50%;
background: var(--sce-bleu);
color: #fff;
font-size: 1.8rem;
font-weight: 900;
line-height: var(--sce-numero) !important;
text-align: center;
border: 4px solid #fff;
z-index: 2;
animation: sce-numero-bounce 6s ease-out infinite both;
animation-delay: calc(var(--sce-i) * 1.2s);
} .sce__etape-titre {
font-size: 1.3rem;
font-weight: 700;
margin: 0 0 0.5rem;
color: var(--sce-bleu-fonce);
}
.sce__etape-desc {
font-size: 1.02rem;
line-height: 1.6;
margin: 0;
color: var(--sce-gris);
} @media (max-width: 400px) {
.sce__etape {
gap: 1rem;
}
} @media (min-width: 780px) {
.sce {
--sce-taille: 150px;
--sce-numero: 56px;
}
.sce__liste {
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 4vw, 3rem);
align-items: start;
max-width: var(--sce-largeur-max);
margin-inline: auto;
}
.sce__etape {
grid-template-columns: 1fr;
justify-items: center;
text-align: center;
gap: 1.5rem;
}
.sce__numero {
font-size: 2.5rem;
border-width: 5px;
--sce-numero-y: 5px;
} .sce__etape:not(:last-child)::before {
content: "";
position: absolute;
left: auto;
left: calc(100% + (clamp(1rem, 4vw, 3rem) - 56px) / 2);
right: auto;
top: calc(var(--sce-taille) / 2 - 24px);
bottom: auto;
width: 56px;
height: 48px;
background: var(--sce-bleu);
opacity: 1;
-webkit-mask: no-repeat center / contain
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
mask: no-repeat center / contain
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
animation: sce-fleche-droite 6s ease-out infinite both;
animation-delay: calc(var(--sce-i) * 1.2s + 0.8s);
}
.sce__contenu {
max-width: 320px;
}
} @media (min-width: 1100px) {
.sce {
--sce-taille: 200px;
--sce-numero: 68px;
--sce-largeur-max: 1360px;
}
.sce__etape:not(:last-child)::before {
left: calc(100% + (clamp(1rem, 4vw, 3rem) - 72px) / 2);
right: auto;
top: calc(var(--sce-taille) / 2 - 31px);
width: 72px;
height: 62px;
}
} @keyframes sce-apparition {
0%   { opacity: 0; }
15%  { opacity: 1; }
90%  { opacity: 1; }
100% { opacity: 0; }
}
@keyframes sce-numero-bounce {
0%   { opacity: 0; transform: translateY(var(--sce-numero-y, 4px)) scale(0.3); }
6%   { opacity: 1; transform: translateY(var(--sce-numero-y, 4px)) scale(1.35); }
10%  { opacity: 1; transform: translateY(var(--sce-numero-y, 4px)) scale(0.9); }
13%  { opacity: 1; transform: translateY(var(--sce-numero-y, 4px)) scale(1.05); }
15%  { opacity: 1; transform: translateY(var(--sce-numero-y, 4px)) scale(1); }
90%  { opacity: 1; transform: translateY(var(--sce-numero-y, 4px)) scale(1); }
100% { opacity: 0; transform: translateY(var(--sce-numero-y, 4px)) scale(1); }
}
@keyframes sce-fleche-bas {
0%   { opacity: 0; transform: translateY(-20px); }
15%  { opacity: 1; transform: translateY(0); }
90%  { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(0); }
}
@keyframes sce-fleche-droite {
0%   { opacity: 0; transform: translateX(-20px); }
15%  { opacity: 1; transform: translateX(0); }
90%  { opacity: 1; transform: translateX(0); }
100% { opacity: 0; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
.sce__pastille::before,
.sce__icone,
.sce__image,
.sce__numero,
.sce__etape:not(:last-child)::before {
animation: none;
opacity: 1;
}
}.sca-section {
max-width: 1200px;
margin: 40px auto;
padding: 20px;
box-sizing: border-box;
font-family: inherit;
}
.sca-title {
text-align: center;
font-size: 2rem;
font-weight: 700;
margin: 0 0 2.5rem;
color: #ffffff!important;
line-height: 1.2;
} .sca-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.sca-card {
background: #ffffff;
border: 1px solid #eaeaea;
border-radius: 12px;
padding: 32px 24px;
text-align: center;
transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
box-sizing: border-box;
}
.sca-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0, 154, 219, .12);
border-color: var(--sca-color, #009ADB);
}
.sca-icon-wrap {
width: 96px;
height: 96px;
border-radius: 20px;
background: var(--sca-bg, #E6F4FB);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
color: var(--sca-color, #009ADB);
}
.sca-icon {
display: inline-flex;
line-height: 0;
}
.sca-icon svg {
display: block;
width: 48px;
height: 48px;
}
.sca-card-title {
font-size: 1.15rem;
font-weight: 700;
margin: 0 0 10px;
color: #1a1a1a;
line-height: 1.3;
}
.sca-card-desc {
font-size: 0.95rem;
color: #555;
margin: 0;
line-height: 1.5;
} @media (max-width: 900px) {
.sca-grid {
grid-template-columns: repeat(2, 1fr);
}
} @media (max-width: 600px) {
.sca-title {
font-size: 1.6rem;
margin-bottom: 1.75rem;
}
.sca-grid {
grid-template-columns: 1fr;
gap: 16px;
}
.sca-card {
padding: 24px 20px;
}
.sca-icon-wrap {
width: 80px;
height: 80px;
}
.sca-icon svg {
width: 40px;
height: 40px;
}
}.sagamento-cp {
--sagamento-cp-color:         #009ADB;
--sagamento-cp-color-soft:    #7cc9e8; --sagamento-cp-stroke:        #ffffff;
--sagamento-cp-text:          #ffffff;
--sagamento-cp-text-inverted: #009ADB;
width: 100%;
max-width: 1000px;
margin: 0 auto;
}
.sagamento-cp__svg {
display: block;
width: 100%;
height: auto;
overflow: visible;
font-family: inherit;
} .sagamento-cp__zone {
cursor: pointer;
text-decoration: none;
outline: none;
transition: filter .2s ease;
}
.sagamento-cp__zone path {
stroke: var(--sagamento-cp-stroke);
stroke-width: 1.5;
stroke-linejoin: round;
transition: fill .2s ease, stroke .2s ease;
}
.sagamento-cp__zone--arr path {
fill: var(--sagamento-cp-color);
}
.sagamento-cp__zone--commune path {
fill: var(--sagamento-cp-color-soft);
} .sagamento-cp__label {
fill: var(--sagamento-cp-text);
font-size: 13px;
font-weight: 600;
pointer-events: none; paint-order: stroke; stroke: rgba(0, 0, 0, .15);
stroke-width: 0.5px;
transition: fill .2s ease;
user-select: none;
}
.sagamento-cp__zone--commune .sagamento-cp__label {
font-size: 11px;
font-weight: 500;
} .sagamento-cp__zone:hover path,
.sagamento-cp__zone:focus path,
.sagamento-cp__zone:focus-visible path {
fill: #ffffff;
stroke: var(--sagamento-cp-color);
stroke-width: 2;
}
.sagamento-cp__zone:hover .sagamento-cp__label,
.sagamento-cp__zone:focus .sagamento-cp__label,
.sagamento-cp__zone:focus-visible .sagamento-cp__label {
fill: var(--sagamento-cp-text-inverted);
stroke: none;
} .sagamento-cp__zone:focus-visible {
filter: drop-shadow(0 0 4px rgba(0, 154, 219, .5));
}  .sagamento-cp .screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
-webkit-clip-path: inset(50%);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
word-wrap: normal !important;
} .sagamento-cp__intro {
text-align: center;
margin: 0 auto 1.5em;
max-width: 900px;
}
.sagamento-cp__intro-title {
text-align: center;
color: var(--sagamento-cp-color);
margin: 0 0 .5em;
}
.sagamento-cp__intro-text {
margin: 0;
line-height: 1.6;
} .sagamento-cp__secteurs {
margin-top: 2em;
}
.sagamento-cp__secteurs-title {
text-align: center;
color: var(--sagamento-cp-color);
margin: 0 0 1em;
}
.sagamento-cp__secteurs-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 1.5em 2em;
}
.sagamento-cp__dept-title {
color: var(--sagamento-cp-color);
margin: 0 0 .5em;
padding-bottom: .35em;
border-bottom: 2px solid var(--sagamento-cp-color);
font-size: 1.15em;
}
.sagamento-cp__dept-list {
list-style: none;
padding: 0;
margin: 0;
}
.sagamento-cp__dept-list li {
padding: .2em 0;
}
.sagamento-cp__dept-list a {
color: inherit;
text-decoration: none;
transition: color .2s ease;
}
.sagamento-cp__dept-list a:hover,
.sagamento-cp__dept-list a:focus {
color: var(--sagamento-cp-color);
text-decoration: underline;
} @media (max-width: 640px) {
.sagamento-cp__label {
font-size: 16px;
}
.sagamento-cp__zone--commune .sagamento-cp__label {
font-size: 13px;
}
}