.elementor-577 .elementor-element.elementor-element-451925b{--display:flex;--margin-top:-10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:13%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-577 .elementor-element.elementor-element-43eec55.elementor-element{--align-self:center;}.elementor-577 .elementor-element.elementor-element-4d2c707{width:var( --container-widget-width, 66% );max-width:66%;--container-widget-width:66%;--container-widget-flex-grow:0;}.elementor-577 .elementor-element.elementor-element-4d2c707.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-577 .elementor-element.elementor-element-c3fe917{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 1%) 0%;padding:0px 0px 0px 0px;}.elementor-577 .elementor-element.elementor-element-c3fe917.elementor-element{--align-self:center;}.elementor-577 .elementor-element.elementor-element-0a818fe{padding:0% 14% 0% 14%;text-align:center;font-family:"DM Sans", Sans-serif;font-size:18px;color:#FFFFFF;}.elementor-577 .elementor-element.elementor-element-844a447{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-577 .elementor-element.elementor-element-c89d576{--display:flex;}.elementor-577 .elementor-element.elementor-element-c89d576.e-con{--align-self:center;}.elementor-577 .elementor-element.elementor-element-f809779 .elementor-button{background-color:#02010100;font-family:"DM Sans", Sans-serif;}.elementor-577 .elementor-element.elementor-element-f809779.elementor-element{--align-self:flex-end;}.elementor-577 .elementor-element.elementor-element-f809779 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-577 .elementor-element.elementor-element-f809779 .elementor-button .elementor-button-content-wrapper{gap:13px;}.elementor-577 .elementor-element.elementor-element-75345d7{--display:flex;}.elementor-577 .elementor-element.elementor-element-d3e9b50 .elementor-button{background-color:#02010100;font-family:"DM Sans", Sans-serif;fill:#FFFFFF;color:#FFFFFF;}.elementor-577 .elementor-element.elementor-element-d3e9b50.elementor-element{--align-self:flex-start;}.elementor-577 .elementor-element.elementor-element-d043912{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:6%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-577 .elementor-element.elementor-element-9b61b27{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-577 .elementor-element.elementor-element-c39699f{margin:8% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-577 .elementor-element.elementor-element-c39699f .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:#4A6FA5;}.elementor-577 .elementor-element.elementor-element-cfe2c8e{margin:-2% 0% calc(var(--kit-widget-spacing, 0px) + 0%) -3%;padding:0% 0% 0% 0%;}.elementor-577 .elementor-element.elementor-element-484b84f{margin:-1% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 2% 0% 0%;font-family:"DM Sans", Sans-serif;font-size:17px;}.elementor-577 .elementor-element.elementor-element-1530834{margin:10% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-577 .elementor-element.elementor-element-22a0c3e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0%;--margin-bottom:0%;--margin-left:4%;--margin-right:0%;}.elementor-577 .elementor-element.elementor-element-4caaff9{--display:flex;--margin-top:7%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-577 .elementor-element.elementor-element-6b32f9a{--display:flex;}.elementor-577 .elementor-element.elementor-element-6172fe8{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:center;}.elementor-577 .elementor-element.elementor-element-6172fe8 .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:#4A6FA5;}.elementor-577 .elementor-element.elementor-element-f33c7a0{margin:-2% 0% calc(var(--kit-widget-spacing, 0px) + 1%) 0%;padding:0% 0% 0% 0%;}.elementor-577 .elementor-element.elementor-element-f33c7a0.elementor-element{--align-self:center;}.elementor-577 .elementor-element.elementor-element-9642463{margin:-1% 0% calc(var(--kit-widget-spacing, 0px) + 1%) 0%;padding:0% 27% 2% 27%;text-align:center;font-family:"DM Sans", Sans-serif;font-size:17px;color:#DBDBDB;}.elementor-577 .elementor-element.elementor-element-2b03df0{padding:0% 0% 5% 0%;}@media(min-width:768px){.elementor-577 .elementor-element.elementor-element-c89d576{--width:50%;}.elementor-577 .elementor-element.elementor-element-75345d7{--width:50%;}.elementor-577 .elementor-element.elementor-element-d043912{--content-width:1250px;}.elementor-577 .elementor-element.elementor-element-9b61b27{--width:50%;}.elementor-577 .elementor-element.elementor-element-22a0c3e{--width:50%;}.elementor-577 .elementor-element.elementor-element-4caaff9{--content-width:1250px;}}/* Start custom CSS for html, class: .elementor-element-43eec55 */.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(19, 52, 84, .22);
  border: 1px solid rgba(19, 42, 74, .35);
  border-radius: 100px;
  padding: 8px 18px;
  width: fit-content;
}

.pill-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4A6FA5;
  position: relative;
}

/* pulse animé */
.pill-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(19, 42, 74, .5);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  70% {
    transform: scale(3.2);
    opacity: 0;
  }
  100% {
    transform: scale(3.2);
    opacity: 0;
  }
}

.pill-text {
  font-family: 'Syne', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffff;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4d2c707 */.hero-h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 70px;
  font-weight: 300 !important;
  line-height: 1.04 !important;
  color: #ffff !important;
  margin: 20px !important;
  text-align: center;


  opacity: 0;
  transform: translateY(28px);
  animation: heroFadeUp 0.9s cubic-bezier(.22,.68,0,1.2) 0.2s forwards;
}

/* IMPORTANT: Elementor sometimes wraps em inside span */
.hero-h1 em,
.hero-h1 span em {
  font-style: italic !important;
  color: #4A6FA5 !important;
  font-weight: 400 !important;
}

@keyframes heroFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c3fe917 */.hero-divider {
  width: 102px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ffffff, transparent);
  margin: 1px 0;
  opacity: 0.7;
  animation: fadeUp .7s var(--ease-out) .35s both;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0a818fe */.elementor-577 .elementor-element.elementor-element-0a818fe {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.85;;
    max-width: 420px;
    animation: fadeUp .9s var(--ease-out) .4s both;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-f809779 */.tm-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: 11px;

  background: #4A6FA5 ;
  color: #07090f !important;

  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .04em;
  text-transform: uppercase;

  padding: 8px 25px;
  border-radius: 100px;

  border: none;
  cursor: pointer;

  transition: transform .25s cubic-bezier(.22,.68,0,1.2),
              box-shadow .25s;
}

/* hover */
.tm-apply-btn:hover {
  transform: translateY(-3px);
box-shadow: 0 14px 36px rgba(19, 42, 74, 0.35);
}

/* icon animation */
.tm-apply-btn svg,
.tm-apply-btn i {
  transition: transform .2s ease;
}

.tm-apply-btn:hover svg,
.tm-apply-btn:hover i {
  transform: translateX(4px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-d3e9b50 */.tm-ghost-btn {
  display: inline-flex;
  align-items: center;
  gap: 11px;

  background: transparent;
  color: #4A6FA5;

  font-family: "Syne", sans-serif;
  font-weight: 600;
  font-size: .82rem;
  letter-spacing: .04em;
  text-transform: uppercase;

  padding: 8px 20px;
  border-radius: 100px;

  border: 1px solid #4A6FA5 ;
  cursor: pointer;

  transition: all .25s cubic-bezier(.22,.68,0,1.2);
}

/* hover state */
.tm-ghost-btn:hover {
  border-color: #132A4A;
  color: #132A4A;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(19, 42, 74, 0.35);
}

/* icon animation */
.tm-ghost-btn svg,
.tm-ghost-btn i {
  transition: transform .2s ease;
}

.tm-ghost-btn:hover svg,
.tm-ghost-btn:hover i {
  transform: translateX(3px);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-451925b */.tm-dark-grid-bg {
  position: relative;
  background: linear-gradient(170deg, #0e1120 0%, #07090f 100%);
  overflow: hidden;
}

/* GRID overlay */
.tm-dark-grid-bg::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px);

  background-size: 52px 52px;
  pointer-events: none;
  opacity: 4;
}

/* glow subtil comme ton hero */
.tm-dark-grid-bg::after {
  content: "";
  position: absolute;
  inset: 0;

  background:
    radial-gradient(ellipse 80% 70% at -10% 60%, rgba(19,42,74,.25) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 70% 20%, rgba(201,170,112,.08) 0%, transparent 60%);

  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-c39699f */.elementor-577 .elementor-element.elementor-element-c39699f {
    font-family: 'Syne';
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cfe2c8e */.section-h2 {
  font-family: "Cormorant Garamond", Georgia;
  font-size: 48px;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  color: #000 !important;
  margin: 20px !important;



  opacity: 0;
  transform: translateY(28px);
  animation: heroFadeUp 0.9s cubic-bezier(.22,.68,0,1.2) 0.2s forwards;
}

/* IMPORTANT: Elementor sometimes wraps em inside span */
.section-h2 em,
.section-h2 span em {
  font-style: italic !important;
  color: #4A6FA5;
  font-weight: 400 !important;
}

@keyframes heroFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1530834 */.metric-row {
  display: flex;
  gap: 16px;
}

.metric-sm {
  flex: 1;
  background: rgba(74, 111, 165, .06);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 18px;
  padding: 28px 26px;

  position: relative;
  overflow: hidden;

  transition: transform .3s ease;
}

.metric-sm:hover {
  transform: translateY(-4px);
}

.metric-sm::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;

  background: linear-gradient(90deg, #3dbdb4, #132A4A);

  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}

.metric-sm:hover::after {
  transform: scaleX(1);
}

/* NUMBER */
.msm-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem;
  color: #0e1120;
  line-height: 1;
}

/* highlighted part */
.msm-num span {
  color: #132A4A;
}

/* LABEL */
.msm-lbl {
  font-family: 'Syne', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;

  color: rgba(6,8,15,.45);
  margin-top: 6px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8438731 */.why-item {
  display: flex; gap: 18px; align-items: flex-start;
  padding: 24px 26px;
  background: #ffffff; border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  transition: transform .3s var(--ease), box-shadow .3s, border-color .3s;
  margin-top: 20px;
}
.why-item:hover { transform: translateX(6px); box-shadow: 0 12px 32px rgba(0,0,0,.08); border-color: rgba(201,170,112,.25); }
.why-icon {
  width: 48px; height: 48px; border-radius: 13px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(15,140,128,.1), rgba(15,140,128,.05));
  border: 1px solid rgba(15,140,128,.15); font-size: 1.35rem;
  transition: transform .3s var(--ease-out);
}
.why-item:hover .why-icon { transform: scale(1.1) rotate(-5deg); }
.why-title { 
    font-family: 'Syne', sans-serif; 
    font-weight: 700; 
font-size: .92rem; 
color: #06080f;
  margin-bottom: 6px; 
    
}
.why-desc { font-size: .85rem; color: #020101; line-height: 1.7; font-weight: 300; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-6172fe8 */.elementor-577 .elementor-element.elementor-element-6172fe8 {
    font-family: 'Syne';
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f33c7a0 */.section3-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.4;
  color: #fff;
  margin: 20px auto;
  text-align: center;

  opacity: 0;
  transform: translateY(28px);
  animation: heroFadeUp 0.9s cubic-bezier(.22,.68,0,1.2) 0.2s forwards;
}

/* highlight */
.section3-h2 .highlight {
  color: #4A6FA5; /* ton bleu principal */
  font-style: italic;
  font-weight: 400;
  font-family: 'Cormorant Garamond', Georgia, serif;
}

/* animation */
@keyframes heroFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2b03df0 *//* GRID */
.process-timeline {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: relative;
}

@media(max-width:900px){
  .process-timeline{
    grid-template-columns:1fr;
  }
}

/* CONNECTING LINE */
.process-timeline::before {
  content: '';
  position: absolute;
  top: 30px;
  left: calc(10% + 20px);
  right: calc(10% + 20px);
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(120,170,255,.55),
    rgba(120,170,255,.65),
    rgba(120,170,255,.55),
    transparent
  );

  pointer-events: none;
}

@media(max-width:900px){
  .process-timeline::before{
    display:none;
  }
}

/* STEP */
.pstep {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  padding: 0 16px;
  position: relative;
}

/* BUBBLE */
.pstep-bubble {
  width: 60px;
  height: 60px;
  border-radius: 50%;

  border: 1px solid #E4E4EA;
  background: rgba(19, 42, 74, 0.22);
backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 24px;
  position: relative;
  z-index: 1;

  transition: all .3s ease;
  font-size: 1.5rem;
}

.pstep:hover .pstep-bubble {
  background: rgba(19,42,74,.18);
  border-color: #132A4A;
  transform: scale(1.1);
}

/* NUMBER */
.pstep-num {
  position: absolute;
  top: -8px;
  right: -8px;

  width: 22px;
  height: 22px;
  border-radius: 50%;

  background: #132A4A;
  color: #ffffff;

  font-family: 'Syne', sans-serif;
  font-size: .68rem;
  font-weight: 700;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* TITLE */
.pstep-title {
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  font-size: .88rem;
  color: #ffffff;
  margin-bottom: 8px;
}

/* DESC */
.pstep-desc {
  font-size: .9rem;
  color: #DBDBDB;
  line-height: 1.7;
  font-weight: 300;
}

.pstep-time {
  display: inline-block;
  margin-top: 12px;

  background: rgba(74, 111, 165, .06);
  border: 1px solid #ffff;

  border-radius: 100px;
  padding: 4px 13px;

  font-family: 'Syne', sans-serif;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;

  color: #ffffff;
}/* End custom CSS */