.elementor-383 .elementor-element.elementor-element-d5bd5b6{--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-383 .elementor-element.elementor-element-0e1db78.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-ebdfa19{text-align:center;}.elementor-383 .elementor-element.elementor-element-ebdfa19 .elementor-heading-title{font-family:"Instrument Serif", Sans-serif;font-size:68px;line-height:79px;letter-spacing:4.1px;color:#FFFFFF;}.elementor-383 .elementor-element.elementor-element-3cfead0{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 1%) 0%;padding:0px 0px 0px 0px;}.elementor-383 .elementor-element.elementor-element-3cfead0.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-7a96b60{padding:0% 14% 0% 14%;text-align:center;font-family:"DM Sans", Sans-serif;font-size:18px;color:#FFFFFF;}.elementor-383 .elementor-element.elementor-element-5abd942{--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-383 .elementor-element.elementor-element-b2b7bf3{--display:flex;}.elementor-383 .elementor-element.elementor-element-b2b7bf3.e-con{--align-self:center;}.elementor-383 .elementor-element.elementor-element-0c6b46b .elementor-button{background-color:#02010100;font-family:"DM Sans", Sans-serif;}.elementor-383 .elementor-element.elementor-element-0c6b46b.elementor-element{--align-self:flex-end;}.elementor-383 .elementor-element.elementor-element-93ee235{--display:flex;}.elementor-383 .elementor-element.elementor-element-ab4d791 .elementor-button{background-color:#02010100;font-family:"DM Sans", Sans-serif;fill:#FFFFFF;color:#FFFFFF;}.elementor-383 .elementor-element.elementor-element-ab4d791.elementor-element{--align-self:flex-start;}.elementor-383 .elementor-element.elementor-element-711c34c{--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;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:8%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-383 .elementor-element.elementor-element-748dfd5{--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-383 .elementor-element.elementor-element-2f5ffe3{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-383 .elementor-element.elementor-element-2f5ffe3 .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:#4A6FA5;}.elementor-383 .elementor-element.elementor-element-7c22896{margin:2% 0% calc(var(--kit-widget-spacing, 0px) + 3%) 0%;text-align:start;}.elementor-383 .elementor-element.elementor-element-7c22896 .elementor-heading-title{font-family:"Instrument Serif", Sans-serif;font-size:58px;line-height:59px;letter-spacing:2.3px;color:#000000;}.elementor-383 .elementor-element.elementor-element-0b25108{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 1%) -2%;padding:0px 0px 0px 0px;}.elementor-383 .elementor-element.elementor-element-0b25108.elementor-element{--align-self:flex-start;}.elementor-383 .elementor-element.elementor-element-6b9e677{margin:-1% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 27% 0% 0%;font-family:"DM Sans", Sans-serif;font-size:17px;}.elementor-383 .elementor-element.elementor-element-aff8079{--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-383 .elementor-element.elementor-element-b0b19fe{margin:14% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-383 .elementor-element.elementor-element-b0b19fe img{width:62%;opacity:0.2;}.elementor-383 .elementor-element.elementor-element-852bbde{--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-383 .elementor-element.elementor-element-98bd029{margin:3% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-383 .elementor-element.elementor-element-361305e{--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;--margin-top:10%;--margin-bottom:5%;--margin-left:0%;--margin-right:0%;}.elementor-383 .elementor-element.elementor-element-c97c1a4{--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-383 .elementor-element.elementor-element-dd1d0fd{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-383 .elementor-element.elementor-element-dd1d0fd .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:#4A6FA5;}.elementor-383 .elementor-element.elementor-element-9458105{margin:1% 0% calc(var(--kit-widget-spacing, 0px) + 3%) 0%;text-align:start;}.elementor-383 .elementor-element.elementor-element-9458105 .elementor-heading-title{font-family:"Instrument Serif", Sans-serif;font-size:58px;line-height:62px;letter-spacing:2.8px;color:#000000;}.elementor-383 .elementor-element.elementor-element-2bed068{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 1%) -2%;padding:0px 0px 0px 0px;}.elementor-383 .elementor-element.elementor-element-2bed068.elementor-element{--align-self:flex-start;}.elementor-383 .elementor-element.elementor-element-f835688{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 18% 0% 0%;font-family:"DM Sans", Sans-serif;font-size:17px;}.elementor-383 .elementor-element.elementor-element-916e6e0{--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-383 .elementor-element.elementor-element-5fabf5a{margin:2% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:center;}.elementor-383 .elementor-element.elementor-element-5fabf5a img{width:77%;opacity:1;border-radius:25px 25px 25px 25px;}.elementor-383 .elementor-element.elementor-element-8c64b11{--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;--flex-wrap:wrap;--margin-top:11%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:5%;--padding-bottom:4%;--padding-left:0%;--padding-right:0%;}.elementor-383 .elementor-element.elementor-element-60b7f5d{--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-383 .elementor-element.elementor-element-5a116f8{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:center;}.elementor-383 .elementor-element.elementor-element-5a116f8.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-5a116f8 .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:#4A6FA5;}.elementor-383 .elementor-element.elementor-element-08fbd57{margin:1% 0% calc(var(--kit-widget-spacing, 0px) + 4%) 0%;text-align:center;}.elementor-383 .elementor-element.elementor-element-08fbd57 .elementor-heading-title{font-family:"Instrument Serif", Sans-serif;font-size:58px;line-height:68px;letter-spacing:2.8px;color:#FFFFFF;}.elementor-383 .elementor-element.elementor-element-40930ab{margin:-1% 0% calc(var(--kit-widget-spacing, 0px) + 2%) 0%;padding:0px 0px 0px 0px;}.elementor-383 .elementor-element.elementor-element-40930ab.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-b759e1b{--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:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-383 .elementor-element.elementor-element-683f4b5{padding:0% 10% 0% 0%;}.elementor-383 .elementor-element.elementor-element-fbd2db6{--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:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-383 .elementor-element.elementor-element-6b0a816{margin:4% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 7% 0% 11%;}.elementor-383 .elementor-element.elementor-element-4886613{--display:flex;--margin-top:5%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-383 .elementor-element.elementor-element-502cf36{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:center;}.elementor-383 .elementor-element.elementor-element-502cf36.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-502cf36 .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:#4A6FA5;}.elementor-383 .elementor-element.elementor-element-286c341{margin:1% 0% calc(var(--kit-widget-spacing, 0px) + 3%) 0%;text-align:start;}.elementor-383 .elementor-element.elementor-element-286c341.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-286c341 .elementor-heading-title{font-family:"Instrument Serif", Sans-serif;font-size:58px;line-height:62px;letter-spacing:2.8px;color:#000000;}.elementor-383 .elementor-element.elementor-element-1a0762d{margin:-1% 0% calc(var(--kit-widget-spacing, 0px) + 2%) -2%;padding:0px 0px 0px 0px;}.elementor-383 .elementor-element.elementor-element-1a0762d.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-950fff0{margin:-1% 0% calc(var(--kit-widget-spacing, 0px) + 1%) 0%;padding:0% 0% 0% 0%;text-align:center;font-family:"DM Sans", Sans-serif;font-size:17px;}.elementor-383 .elementor-element.elementor-element-1d341f0{--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:2%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-383 .elementor-element.elementor-element-ac5795a{--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;--margin-top:11%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-383 .elementor-element.elementor-element-6b74463{--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;--padding-top:4%;--padding-bottom:0%;--padding-left:0%;--padding-right:7%;}.elementor-383 .elementor-element.elementor-element-f0baf2a{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:center;}.elementor-383 .elementor-element.elementor-element-f0baf2a.elementor-element{--align-self:flex-start;}.elementor-383 .elementor-element.elementor-element-f0baf2a .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.9px;color:#4A6FA5;}.elementor-383 .elementor-element.elementor-element-6e4c332{margin:1% 0% calc(var(--kit-widget-spacing, 0px) + 3%) 0%;text-align:start;}.elementor-383 .elementor-element.elementor-element-6e4c332.elementor-element{--align-self:center;}.elementor-383 .elementor-element.elementor-element-6e4c332 .elementor-heading-title{font-family:"Instrument Serif", Sans-serif;font-size:58px;line-height:62px;letter-spacing:2.8px;color:#000000;}.elementor-383 .elementor-element.elementor-element-82e6d3c{margin:-1% 0% calc(var(--kit-widget-spacing, 0px) + 1%) 0%;padding:0% 22% 0% 0%;text-align:start;font-family:"DM Sans", Sans-serif;font-size:17px;line-height:30px;}.elementor-383 .elementor-element.elementor-element-96246ba{--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;--border-radius:0px 0px 20px 20px;--padding-top:4%;--padding-bottom:0%;--padding-left:3%;--padding-right:4%;}.elementor-383 .elementor-element.elementor-element-96246ba:not(.elementor-motion-effects-element-type-background), .elementor-383 .elementor-element.elementor-element-96246ba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-383 .elementor-element.elementor-element-176b079{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 0px 0px 0px;text-align:start;}.elementor-383 .elementor-element.elementor-element-176b079 .elementor-heading-title{font-family:"Syne", Sans-serif;font-size:13px;font-weight:700;letter-spacing:0.9px;color:#FFFFFF;}.elementor-383 .elementor-element.elementor-element-f39b98d{margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-383 .elementor-element.elementor-element-b2b7bf3{--width:50%;}.elementor-383 .elementor-element.elementor-element-93ee235{--width:50%;}.elementor-383 .elementor-element.elementor-element-711c34c{--content-width:1260px;}.elementor-383 .elementor-element.elementor-element-748dfd5{--width:80%;}.elementor-383 .elementor-element.elementor-element-aff8079{--width:50%;}.elementor-383 .elementor-element.elementor-element-852bbde{--content-width:1260px;}.elementor-383 .elementor-element.elementor-element-361305e{--content-width:1261px;}.elementor-383 .elementor-element.elementor-element-c97c1a4{--width:50%;}.elementor-383 .elementor-element.elementor-element-916e6e0{--width:50%;}.elementor-383 .elementor-element.elementor-element-8c64b11{--content-width:1153px;}.elementor-383 .elementor-element.elementor-element-60b7f5d{--width:100%;}.elementor-383 .elementor-element.elementor-element-b759e1b{--width:50%;}.elementor-383 .elementor-element.elementor-element-fbd2db6{--width:50%;}.elementor-383 .elementor-element.elementor-element-6b74463{--width:50%;}.elementor-383 .elementor-element.elementor-element-96246ba{--width:50%;}}/* Start custom CSS for html, class: .elementor-element-0e1db78 */.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 heading, class: .elementor-element-ebdfa19 */.highlight {
  color: #4A6FA5;
  font-style: italic;
  font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3cfead0 */.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-7a96b60 */.elementor-383 .elementor-element.elementor-element-7a96b60 {
    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-0c6b46b */.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-ab4d791 */.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-d5bd5b6 */.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-2f5ffe3 */.elementor-383 .elementor-element.elementor-element-2f5ffe3 {
    font-family: 'Syne';
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;

    display: flex;
    align-items: center;
    gap: 12px;
}

/* ligne bleue */
.elementor-383 .elementor-element.elementor-element-2f5ffe3::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #4A6FA5;
  border-radius: 2px;
  display: inline-block;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-7c22896 */.highlight {
  color: #4A6FA5;
  font-style: italic;
  font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0b25108 */.hero-divider1 {
  width: 102px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #4A6FA5, transparent);
  margin: 1px 0;
  opacity: 0.7;
  animation: fadeUp .7s var(--ease-out) .35s both;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-98bd029 */.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* =========================
   CARD STYLE
========================= */
.offer-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 20px;
  padding: 36px 32px;

  position: relative;
  overflow: hidden;

  transition: transform .35s cubic-bezier(.22,.68,0,1.2),
              box-shadow .35s ease;
}

/* hover effect */
.offer-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(0,0,0,.1);
}

/* bottom line gradient */
.offer-card::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;

  background: linear-gradient(90deg, #4A6FA5, #c9aa70);

  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s ease;
}

.offer-card:hover::after {
  transform: scaleX(1);
}

/* =========================
   REVEAL ANIMATION
========================= */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .9s cubic-bezier(.22,.68,0,1.2),
              transform .9s cubic-bezier(.22,.68,0,1.2);
}

.reveal.up {
  opacity: 1;
  transform: translateY(0);
}

/* stagger delays */
.rd1 { transition-delay: .1s; }
.rd2 { transition-delay: .2s; }
.rd3 { transition-delay: .3s; }
.rd4 { transition-delay: .4s; }

/* =========================
   ICON + CONTENT STYLE
========================= */
.offer-icon {
  width: 54px;
  height: 54px;
  border-radius: 15px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(19,42,74,.08);
  border: 1px solid rgba(19,42,74,.15);

  font-size: 1.4rem;
  margin-bottom: 20px;

  transition: transform .3s ease;
}

.offer-card:hover .offer-icon {
  transform: scale(1.1) rotate(-5deg);
}

.offer-card h3 {
  font-family: 'Syne', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: #07090f;
}

.offer-card p {
  font-family: 'DM Sans', sans-serif;
  font-size: .88rem;
  line-height: 1.75;
  color: rgba(7,9,15,.55);
}

.offer-tag {
  display: inline-block;
  margin-top: 20px;

  font-family: 'Syne', sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;

  color: #132A4A;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-dd1d0fd */.elementor-383 .elementor-element.elementor-element-dd1d0fd {
    font-family: 'Syne';
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;

    display: flex;
    align-items: center;
    gap: 12px;
}

/* ligne bleue */
.elementor-383 .elementor-element.elementor-element-dd1d0fd::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #4A6FA5;
  border-radius: 2px;
  display: inline-block;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-9458105 */.highlight {
  color: #4A6FA5;
  font-style: italic;
  font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2bed068 */.hero-divider1 {
  width: 102px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #4A6FA5, transparent);
  margin: 1px 0;
  opacity: 0.7;
  animation: fadeUp .7s var(--ease-out) .35s both;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-99525b9 */.req-checklist {
  position: relative; z-index: 1;
  display: flex; gap: 16px; flex-wrap: wrap;
  margin-top: 28px;
  padding: 28px 36px;
  background: #3dbdb4;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.06);
}
.check-item {
  display: flex; align-items: center; gap: 9px;
  font-family: 'Syne', sans-serif;
  font-size: .76rem; 
  font-weight: 600;
  color: rgba(7,9,15,.55);
  letter-spacing: .02em;
}
.check-item svg {
    color: #3dbdb4; 
    flex-shrink: 0; 
    
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-5a116f8 */.elementor-383 .elementor-element.elementor-element-5a116f8 {
    font-family: 'Syne';
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;

    display: flex;
    align-items: center;
    gap: 12px;
}

/* ligne bleue */
.elementor-383 .elementor-element.elementor-element-5a116f8::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #4A6FA5;
  border-radius: 2px;
  display: inline-block;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-08fbd57 */.highlight {
  color: #4A6FA5;
  font-style: italic;
  font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-40930ab */.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 html, class: .elementor-element-683f4b5 *//* layout */
.process-layout {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
}

@media (max-width: 900px) {
  .process-layout {
    grid-template-columns: 1fr;
  }
}



/* steps */
.step {
  display: flex;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.step {
  display: flex;
  gap: 24px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  cursor: pointer;
  position: relative;
  transition: all .3s cubic-bezier(.22,1,.36,1);
}

.step:hover {
  padding-left: 10px;
}

/* cercle */
.step-num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
    border: 1px solid rgb(255 255 255 / 44%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: rgba(255,255,255,.35);
  transition: all .3s;
}

/* hover animation */
.step:hover .step-num {
  background: #4A6FA5;
  border-color: #4A6FA5;
  color: #ffff;
  transform: scale(1.1);
}

.step-title {
  font-weight: bold;
  color: white;
  font-family: 'Syne', sans-serif;
}

.step-desc {
  color: rgba(255,255,255,.5);
  font-size: .88rem;
  font-family: 'DM Sans', sans-serif;
  margin-top: 10px;
}

.step-badge {
    display: inline-block;
    margin-top: 12px;
    background: rgb(116 138 221 / 28%);
    border: 1px solid rgb(255 255 255 / 17%);
    border-radius: 100px;
    padding: 4px 14px;
 font-family: 'Syne', sans-serif;

    font-size: .58rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #ffff;
}
.step-num-wrap {
  position: relative;
  width: 44px;
  flex-shrink: 0;
}

/* ligne verticale */
.step-connector {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 44px;
  width: 1px;
  height: calc(100% + 32px);
  background: linear-gradient(to bottom, rgba(201,170,112,.3), transparent);
}

/* cacher sur le dernier */
.step:last-child .step-connector {
  display: none;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-502cf36 */.elementor-383 .elementor-element.elementor-element-502cf36 {
    font-family: 'Syne';
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;

    display: flex;
    align-items: center;
    gap: 12px;
}

/* ligne bleue */
.elementor-383 .elementor-element.elementor-element-502cf36::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #4A6FA5;
  border-radius: 2px;
  display: inline-block;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-286c341 */.highlight {
  color: #4A6FA5;
  font-style: italic;
  font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1a0762d */.hero-divider1 {
  width: 102px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #4A6FA5, transparent);
  margin: 1px 0;
  opacity: 0.7;
  animation: fadeUp .7s var(--ease-out) .35s both;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-077c5e1 */:root {
  --primary: #4A6FA5;

  --ff-display: 'Cormorant Garamond', Georgia, serif;
  --ff-sans: 'Syne', sans-serif;
  --ff-body: 'DM Sans', sans-serif;
}

/* GRID */
.stories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 900px) {
  .stories-grid {
    grid-template-columns: 1fr;
  }
}

/* CARD */
.story-card {
  background: #fff;
  border: 1px solid rgba(74, 111, 165, .15);
  border-radius: 20px;
  padding: 36px 32px;
  position: relative;
  overflow: hidden;
  transition: transform .35s ease, border-color .3s ease, box-shadow .3s ease;
}

.story-card:hover {
  transform: translateY(-6px);
  border-color: rgba(74, 111, 165, .4);
  box-shadow: 0 20px 40px rgba(0,0,0,.06);
}

/* FEATURED CARD */
.story-card.featured {
  background: rgba(74, 111, 165, .06);
  border-color: rgba(74, 111, 165, .25);
}

/* QUOTE DECOR */
.story-card::before {
  content: '"';
  position: absolute;
  top: -10px;
  right: 20px;
  font-family: var(--ff-display);
  font-size: 8rem;
  font-weight: 300;
  color: rgba(74, 111, 165, .08);
  line-height: 1;
  pointer-events: none;
}

/* STARS */
.story-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 20px;
}

.star {
  color: var(--primary);
  font-size: .95rem;
}

/* QUOTE */
.story-quote {
  font-family: var(--ff-display);
  font-size: 1.15rem;
  font-weight: 300;
  line-height: 1.65;
  color: #1a1a1a;
  margin-bottom: 28px;
  font-style: italic;
}

/* AUTHOR */
.story-author {
  display: flex;
  align-items: center;
  gap: 14px;
}

.author-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-sans);
  font-weight: 700;
  font-size: .95rem;
  background: rgba(74, 111, 165, .1);
  color: var(--primary);
}

/* TEXTS */
.author-name {
  font-family: var(--ff-sans);
  font-weight: 700;
  font-size: .9rem;
  color: #1a1a1a;
}

.author-role {
  font-size: .78rem;
  color: rgba(0,0,0,.55);
  margin-top: 3px;
  font-weight: 300;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-f0baf2a */.elementor-383 .elementor-element.elementor-element-f0baf2a {
    font-family: 'Syne';
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 16px;

    display: flex;
    align-items: center;
    gap: 12px;
}

/* ligne bleue */
.elementor-383 .elementor-element.elementor-element-f0baf2a::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #4A6FA5;
  border-radius: 2px;
  display: inline-block;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-6e4c332 */.highlight {
  color: #4A6FA5;
  font-style: italic;
  font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-176b079 */.elementor-383 .elementor-element.elementor-element-176b079 {
    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 container, class: .elementor-element-96246ba */.cta-form::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #088101, #4A6FA5);
}/* End custom CSS */