.elementor-19715 .elementor-element.elementor-element-723ca3d{--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 24px;--row-gap:0px;--column-gap:24px;--padding-block-start:70px;--padding-block-end:30px;--padding-inline-start:0px;--padding-inline-end:0px;}.container-fluid .e-parent.e-con-full .e-con-boxed.elementor-element-723ca3d{--padding-inline-start:0px;--padding-inline-end:0px;}.elementor-19715 .elementor-element.elementor-element-1d405b0{--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-19715 .elementor-element.elementor-element-1d405b0.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-19715 .elementor-element.elementor-element-e6f2ff1{--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-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Inter;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Inter;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Inter;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Inter;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Inter;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Inter;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Inter;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-field-group.recaptcha_v3-bottomleft, .elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-field-type-html{padding-bottom:0px;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-button[type="submit"]{color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-19715 .elementor-element.elementor-element-2eef96c{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-19715 .elementor-element.elementor-element-2a98b82{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-block-start:0px;--padding-block-end:0px;--padding-inline-start:0px;--padding-inline-end:0px;}.container-fluid .e-parent.e-con-full .e-con-boxed.elementor-element-2a98b82{--padding-inline-start:0px;--padding-inline-end:0px;}.elementor-19715 .elementor-element.elementor-element-1950695{--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-19715 .elementor-element.elementor-element-bb6d2b4{--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-19715 .elementor-element.elementor-element-1a6f413{--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-19715 .elementor-element.elementor-element-3ce10e3{--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-19715 .elementor-element.elementor-element-e6cd9bf{--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-19715 .elementor-element.elementor-element-34e15c9{--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-19715 .elementor-element.elementor-element-a70684d{--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;}body.elementor-page-19715:not(.elementor-motion-effects-element-type-background), body.elementor-page-19715 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}:root{--page-title-display:none;}body.elementor-page-19715{margin:0px 0px 0px 0px;padding:0% 0% 0% 0%;}@media(max-width:991px){body.elementor-page-19715{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-19715 .elementor-element.elementor-element-1d405b0{--width:57%;}.elementor-19715 .elementor-element.elementor-element-e6f2ff1{--width:50%;}}@media(max-width:767px){.elementor-19715 .elementor-element.elementor-element-32ed621 > .elementor-widget-container{margin:17px 0px 0px 0px;}}/* Start custom CSS for container, class: .elementor-element-723ca3d *//* =========================
   LP HERO SPLIT (Elementor)
   Section ID: #lp-hero
   Section Class: .tsy-hero-split
   Left column class: .tsy-hero-left
   Right column class: .tsy-hero-right
   ========================= */

/* Background + spacing controlled here (not Elementor padding) */
#lp-hero.tsy-hero-split{
  background:
    radial-gradient(1200px 520px at 20% 10%, rgba(0,94,221,.10), transparent 60%),
    radial-gradient(900px 450px at 90% 30%, rgba(15,23,42,.06), transparent 55%),
    var(--bg-50);
}

/* Internal vertical padding */
#lp-hero.tsy-hero-split > .elementor-container{
  padding-top: var(--space-22);
  padding-bottom: var(--space-22);
}
@media (max-width: 767px){
  #lp-hero.tsy-hero-split > .elementor-container{
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

/* Ensure container width matches our system */
#lp-hero.tsy-hero-split > .elementor-container{
  max-width: var(--container);
}

/* Column tweaks */
#lp-hero .tsy-hero-left{
  padding-right: 8px;
}
@media (max-width: 1024px){
  #lp-hero .tsy-hero-left{ padding-right: 0; }
}

/* RIGHT column becomes a “card” wrapper for Elementor Form */
#lp-hero .tsy-hero-right{
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}

/* If Elementor adds inner wrappers, keep it clean */
#lp-hero .tsy-hero-right .elementor-widget-wrap{
  padding: 0 !important;
}

/* Typography in right form */
#lp-hero .tsy-hero-right label{
  font-weight: 600;
  color: var(--navy-900);
  font-size: 13px;
}

/* Elementor fields (best-effort .elementor-19715 .elementor-element.elementor-element-723ca3ds) */
#lp-hero .tsy-hero-right input,
#lp-hero .tsy-hero-right select,
#lp-hero .tsy-hero-right textarea{
  border: 1px solid var(--border-200) !important;
  border-radius: 10px !important;
  padding: 12px 12px !important;
  font-family: var(--font-sans);
}

/* Elementor submit button */
#lp-hero .tsy-hero-right button,
#lp-hero .tsy-hero-right .elementor-button{
  width: 100%;
  border-radius: 10px !important;
  font-weight: 600 !important;
  padding: 12px 18px !important;
  background: var(--brand-600) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
}
#lp-hero .tsy-hero-right button:hover,
#lp-hero .tsy-hero-right .elementor-button:hover{
  background: var(--brand-700) !important;
}

/* LEFT content styling */
#lp-hero .tsy-hero__inner{ max-width: 820px; }

#lp-hero .tsy-hero__kicker{
  display:flex; align-items:center; gap:10px;
  margin-bottom: var(--space-4);
  font-size: 14px;
}
#lp-hero .tsy-chip{
  display:inline-flex; align-items:center;
  padding: 6px 10px;
  border: 1px solid var(--border-200);
  border-radius: 999px;
  background: #fff;
  color: var(--navy-900);
  font-weight: 600;
}
#lp-hero .tsy-dot{ color: var(--slate-500); }
#lp-hero .tsy-muted{ color: var(--slate-500); }

#lp-hero .tsy-hero__title{
  font-size: 48px;
  line-height: 1.1;
  margin: 0 0 var(--space-6);
  max-width: 18ch;
  color: var(--navy-900);
  letter-spacing: -0.02em;
}
@media (max-width: 980px){
  #lp-hero .tsy-hero__title{ max-width: 100%; }
}
@media (max-width: 767px){
  #lp-hero .tsy-hero__title{ font-size: 34px; }
}

#lp-hero .tsy-hero__lead{
  font-size: 18px;
  margin: 0 0 var(--space-8);
  color: var(--slate-700);
  max-width: 62ch;
}

#lp-hero .tsy-hero__bullets{
  margin: 0 0 var(--space-10);
  padding: 0;
  display: grid;
  gap: 12px;
  list-style: none;
  max-width: 70ch;
}
#lp-hero .tsy-hero__bullets li{
  display:flex; gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.65);
}
#lp-hero .tsy-bullet-icon{
  width: 22px; height: 22px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  background: rgba(0,94,221,.10);
  color: var(--brand-600);
  font-weight: 800;
  flex: 0 0 22px;
}

#lp-hero .tsy-hero__cta-row{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: var(--space-10);
  margin-top: 20px;
}
@media (max-width: 767px){
  #lp-hero .tsy-hero__cta-row .tsy-btn{ width: 100%;}
}

/* Proof mini-cards */
#lp-hero .tsy-hero__proof{
  display:grid;
  margin-top: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 760px;
}
@media (max-width: 980px){
  #lp-hero .tsy-hero__proof{ grid-template-columns: 1fr; }
}
#lp-hero .tsy-proof-item{
  display:flex; gap: 12px; 
  align-items:center;
  padding: 12px;
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-sm);
  }
#lp-hero .tsy-proof-badge{
  min-width: 52px;
  height: 40px;
  border-radius: 10px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,94,221,.10);
  color: var(--navy-900);
  font-weight: 800;
}
#lp-hero .tsy-proof-title{ font-weight: 700; color: var(--navy-900); font-size: 14px; }
#lp-hero .tsy-proof-sub{ color: var(--slate-500); font-size: 13px; }


/* 1) Stop styling the whole RIGHT column as a card (prevents huge empty area) */
#lp-hero .tsy-hero-right{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 2) Ensure columns align to top (avoid weird vertical stretch spacing) */
#lp-hero.tsy-hero-split > .elementor-container,
#lp-hero.tsy-hero-split > .elementor-container > .elementor-row{
  align-items: flex-start !important;
}

/* 3) Make the FORM widget itself look like the card */
#lp-hero .tsy-hero-formcard .elementor-widget-container{
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}

/* 4) Remove inner padding Elementor adds sometimes */
#lp-hero .tsy-hero-formcard .elementor-form{
  margin: 0 !important;
}

/* 5) Form fields */
#lp-hero .tsy-hero-formcard label{
  font-weight: 600;
  color: var(--navy-900);
  font-size: 13px;
}

#lp-hero .tsy-hero-formcard input,
#lp-hero .tsy-hero-formcard select,
#lp-hero .tsy-hero-formcard textarea{
  border: 1px solid var(--border-200) !important;
  border-radius: 10px !important;
  padding: 12px 12px !important;
  font-family: var(--font-sans);
}

/* 6) Submit button */
#lp-hero .tsy-hero-formcard .elementor-button{
  width: 100%;
  border-radius: 10px !important;
  font-weight: 600 !important;
  padding: 12px 18px !important;
  background: var(--brand-600) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
}
#lp-hero .tsy-hero-formcard .elementor-button:hover{
  background: var(--brand-700) !important;
}

/* RIGHT COLUMN — stack spacing */
#lp-hero .tsy-hero-right{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Make the form look like a card (Elementor widget in between the two HTML widgets) */
#lp-hero .tsy-hero-right .elementor-widget-form .elementor-widget-container{
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}

/* Remove odd internal margins */
#lp-hero .tsy-hero-right .elementor-widget-form form{ margin: 0; }

/* -------- Widget #1 (Header above form) -------- */
#lp-hero .tsy-form-head{
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}

#lp-hero .tsy-form-head__title{
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.2;
  color: var(--navy-900);
}

#lp-hero .tsy-form-head__sub{
  margin: 0 0 10px;
  color: var(--slate-500);
  font-size: 14px;
  max-width: none;
}

#lp-hero .tsy-form-head__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#lp-hero .tsy-pill{
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--border-200);
  border-radius: 999px;
  background: rgba(0,94,221,.06);
  color: var(--navy-900);
  font-weight: 600;
  font-size: 12.5px;
}

/* -------- Widget #2 (Footer below form) -------- */
#lp-hero .tsy-form-foot{
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}

#lp-hero .tsy-form-foot__row{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

#lp-hero .tsy-mini-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

#lp-hero .tsy-mini-btn--primary{
  background: var(--brand-600);
  color: #fff;
}
#lp-hero .tsy-mini-btn--primary:hover{
  background: var(--brand-700);
  color: #fff;
}

#lp-hero .tsy-mini-btn--secondary{
  background: #fff;
  color: var(--navy-900);
  border-color: var(--border-200);
}
#lp-hero .tsy-mini-btn--secondary:hover{
  border-color: rgba(0,94,221,.35);
  color: var(--brand-700);
}

@media (max-width: 520px){
  #lp-hero .tsy-form-foot__row .tsy-mini-btn{
    width: 100%;
  }
}

/* Proof lines */
#lp-hero .tsy-form-foot__proof{
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

#lp-hero .tsy-proofline{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--slate-700);
  font-size: 13.5px;
}

#lp-hero .tsy-proofdot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(0,94,221,.25);
  border: 2px solid rgba(0,94,221,.35);
  margin-top: 4px;
  flex: 0 0 10px;
}

#lp-hero .tsy-form-foot__note{
  margin: 0;
  font-size: 12px;
  color: var(--slate-500);
  max-width: none;
}

/* Form field styling (optional, keeps consistent) */
#lp-hero .tsy-hero-right label{
  font-weight: 600;
  color: var(--navy-900);
  font-size: 13px;
}
#lp-hero .tsy-hero-right input,
#lp-hero .tsy-hero-right select,
#lp-hero .tsy-hero-right textarea{
  border: 1px solid var(--border-200) !important;
  border-radius: 10px !important;
  padding: 12px 12px !important;
}
#lp-hero .tsy-hero-right .elementor-button{
  width: 100%;
  border-radius: 10px !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  background: var(--brand-600) !important;
}
#lp-hero .tsy-hero-right .elementor-button:hover{
  background: var(--brand-700) !important;
}
/* HERO mobile: restore side padding like other sections */
@media (max-width: 767px){
  #lp-hero.tsy-hero-split,
  #lp-hero.tsy-hero-split > .elementor-container,
  #lp-hero.tsy-hero-split > .e-con{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* If Elementor adds an inner wrapper, cover it too */
  #lp-hero.tsy-hero-split > .e-con > .e-con-inner{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a98b82 *//* APERÇU PILOTAGE — scoped styles */
.tsy-preview{
  padding: var(--space-22) 0;
  background: var(--bg-50);
}
@media (max-width: 767px){
  .tsy-preview{ padding: 56px 0; }
}

.tsy-preview__grid{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 1100px){
  .tsy-preview__grid{ grid-template-columns: 1fr; }
}

/* Image frame */
.tsy-preview__frame{
  padding: 12px;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.tsy-preview__frame:before{
  content:"";
  display:block;
  height: 30px;
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(148,163,184,.35), rgba(148,163,184,.20));
  margin-bottom: 12px;
}
.tsy-preview__img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  border: 1px solid var(--border-200);
  background: #fff;
}
.tsy-preview__caption{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  margin: 12px 4px 2px;
  color: var(--slate-500);
  font-size: 13px;
}
.tsy-preview__caption-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(0,94,221,.25);
  border: 2px solid rgba(0,94,221,.35);
  margin-top: 4px;
  flex: 0 0 10px;
}

/* Side card */
.tsy-preview__card{
  padding: 18px;
  border-radius: var(--radius-lg);
  position: sticky;
  top: 18px;
}
@media (max-width: 1100px){
  .tsy-preview__card{ position: static; }
}

.tsy-preview__kicker{
  font-size: 13px;
  font-weight: 700;
  color: var(--slate-500);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px;
}
.tsy-preview__title{
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.2;
}
.tsy-preview__text{
  margin: 0 0 12px;
  color: var(--slate-700);
  font-size: 14.5px;
  max-width: none;
}

.tsy-preview__metrics{
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.tsy-metric{
  border: 1px solid var(--border-200);
  border-radius: 12px;
  background: rgba(255,255,255,.85);
  padding: 12px;
}
.tsy-metric__name{
  font-weight: 800;
  color: var(--navy-900);
  font-size: 14px;
  margin-bottom: 2px;
}
.tsy-metric__desc{
  color: var(--slate-500);
  font-size: 13.5px;
}

.tsy-preview__cta{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
@media (max-width: 520px){
  .tsy-preview__cta .tsy-btn{ width: 100%; }
}

.tsy-preview__note{
  margin: 10px 0 0;
  font-size: 13px;
  text-align: center;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-dd54fde *//* PROOF BAND — scoped styles */
.tsy-proofband{
  padding: 28px 0;
  background: var(--bg-50);
}
@media (max-width: 767px){
  .tsy-proofband{ padding: 18px 0; }
}

.tsy-proofband__wrap{
  padding: 22px;
  border-radius: var(--radius-lg);
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: var(--space-12);
  align-items: start;
}
@media (max-width: 980px){
  .tsy-proofband__wrap{ grid-template-columns: 1fr; }
}

.tsy-proofband__eyebrow{
  font-size: 13px;
  font-weight: 700;
  color: var(--slate-500);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px;
}
.tsy-proofband__title{
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.2;
}
@media (max-width: 767px){
  .tsy-proofband__title{ font-size: 22px; }
}
.tsy-proofband__text{
  margin: 0;
  color: var(--slate-700);
  font-size: 15px;
  max-width: 70ch;
}

.tsy-proofband__items{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 520px){
  .tsy-proofband__items{ grid-template-columns: 1fr; }
}

.tsy-proofcard{
  border: 1px solid var(--border-200);
  border-radius: 12px;
  background: #fff;
  padding: 14px 14px;
  display: grid;
  gap: 6px;
}
.tsy-proofcard__value{
  font-weight: 800;
  color: var(--navy-900);
  letter-spacing: -0.02em;
}
.tsy-proofcard__label{
  font-size: 13px;
  color: var(--slate-500);
}

/* Logos row */
.tsy-logos{
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
.tsy-logos__label{
  font-size: 13px;
  color: var(--slate-500);
  font-weight: 600;
}
.tsy-logos__grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 980px){
  .tsy-logos__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .tsy-logos__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.tsy-logo-pill{
  height: 60px;
  border: 1px solid var(--border-200);
  border-radius: 12px;
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--slate-500);
  font-size: 13px;
  font-weight: 600;
  filter: grayscale(1);
  opacity: .85;
}
.tsy-logo-pill span{
  padding: 0 10px;
  text-align:center;
}
.tsy-logo-pill span img{
  height: 40px;
  width: auto;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4f93a8f *//* DELIVERABLES — scoped styles */
.tsy-deliverables{
  padding: var(--space-22) 0;
  background: var(--bg-50);
}
@media (max-width: 767px){
  .tsy-deliverables{ padding: 56px 0; }
}

/* Section header */
.tsy-sectionhead{
  margin-bottom: var(--space-12);
  display: grid;
  gap: 10px;
  max-width: 820px;
}
.tsy-sectionhead__title{
  margin: 0;
  font-size: 36px;
  line-height: 1.15;
}
@media (max-width: 767px){
  .tsy-sectionhead__title{ font-size: 28px; }
}
.tsy-sectionhead__text{
  margin: 0;
  color: var(--slate-700);
  font-size: 16px;
}

/* Grid */
.tsy-deliverables__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 980px){
  .tsy-deliverables__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .tsy-deliverables__grid{ grid-template-columns: 1fr; }
}

/* Card */
.tsy-deliverable-card{
  padding: 18px;
  border-radius: var(--radius-lg);
}
.tsy-deliverable-card__top{
  display:flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.tsy-deliverable-card__title{
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}
.tsy-deliverable-card__text{
  margin: 0 0 12px;
  color: var(--slate-700);
  font-size: 14.5px;
  max-width: none;
}

.tsy-iconbox{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--border-200);
  background: rgba(0,94,221,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--brand-600);
  flex: 0 0 42px;
}
.tsy-iconbox svg{
  width: 22px;
  height: 22px;
  color: currentColor;
}

.tsy-mini-list{
  margin: 0;
  padding-left: 18px;
  color: var(--slate-500);
  font-size: 13.5px;
  display: grid;
  gap: 6px;
}
.tsy-mini-list li{ margin: 0; }

/* Bottom CTA */
.tsy-deliverables__cta{
  margin-top: var(--space-12);
}
.tsy-deliverables__cta-card{
  padding: 18px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  border-radius: var(--radius-lg);
}
@media (max-width: 767px){
  .tsy-deliverables__cta-card{ flex-direction: column; align-items: stretch; }
}
.tsy-deliverables__cta-title{
  font-weight: 800;
  color: var(--navy-900);
  margin-bottom: 4px;
}
.tsy-deliverables__cta-text{
  color: var(--slate-500);
  font-size: 14px;
}
.tsy-deliverables__cta-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 767px){
  .tsy-deliverables__cta-actions .tsy-btn{ width: 100%; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9c24bb2 *//* METHOD — scoped styles */
.tsy-method{
  padding: var(--space-22) 0;
  background: var(--bg-50);
}
@media (max-width: 767px){
  .tsy-method{ padding: 56px 0; }
}

.tsy-method__grid{
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 1100px){
  .tsy-method__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .tsy-method__grid{ grid-template-columns: 1fr; }
}

/* Step cards */
.tsy-step{
  padding: 18px;
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
}
.tsy-step:before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    radial-gradient(380px 140px at 20% 0%, rgba(0,94,221,.10), transparent 65%);
  pointer-events:none;
  opacity: .9;
}
.tsy-step > *{ position: relative; }

.tsy-step__num{
  font-weight: 800;
  color: var(--brand-600);
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.tsy-step__title{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.25;
}
.tsy-step__text{
  margin: 0 0 12px;
  color: var(--slate-700);
  font-size: 14.5px;
  max-width: none;
}
.tsy-step__list{
  margin: 0;
  padding-left: 18px;
  color: var(--slate-500);
  font-size: 13.5px;
  display: grid;
  gap: 6px;
}

/* Timeline rail (decorative) */
.tsy-method__rail{
  margin-top: 18px;
  display: none;
}
@media (min-width: 1101px){
  .tsy-method__rail{ display:block; }
}
.tsy-method__rail-inner{
  height: 2px;
  background: var(--divider-100);
  border-radius: 999px;
  position: relative;
}
.tsy-method__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(0,94,221,.20);
  border: 2px solid rgba(0,94,221,.35);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.tsy-method__dot:nth-child(1){ left: 12.5%; }
.tsy-method__dot:nth-child(2){ left: 37.5%; }
.tsy-method__dot:nth-child(3){ left: 62.5%; }
.tsy-method__dot:nth-child(4){ left: 87.5%; }

/* Bottom CTA */
.tsy-method__cta{
  margin-top: var(--space-12);
}
.tsy-method__cta-card{
  padding: 18px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  border-radius: var(--radius-lg);
}
@media (max-width: 767px){
  .tsy-method__cta-card{ flex-direction: column; align-items: stretch; }
}
.tsy-method__cta-title{
  font-weight: 800;
  color: var(--navy-900);
  margin-bottom: 4px;
}
.tsy-method__cta-text{
  color: var(--slate-500);
  font-size: 14px;
}
.tsy-method__cta-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 767px){
  .tsy-method__cta-actions .tsy-btn{ width: 100%; }
}
.tsy-method__rail { display: none !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d14aef3 *//* WHY — scoped styles */
.tsy-why{
  padding: var(--space-22) 0;
  background: var(--bg-50);
}
@media (max-width: 767px){
  .tsy-why{ padding: 56px 0; }
}

.tsy-why__grid{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 1100px){
  .tsy-why__grid{ grid-template-columns: 1fr; }
}

/* Left cards grid */
.tsy-why__cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 640px){
  .tsy-why__cards{ grid-template-columns: 1fr; }
}

.tsy-whycard{
  padding: 18px;
  border-radius: var(--radius-lg);
}
.tsy-whycard__top{
  display:flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.tsy-whycard__title{
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}
.tsy-whycard__text{
  margin: 0 0 12px;
  color: var(--slate-700);
  font-size: 14.5px;
  max-width: none;
}

/* Right side stack */
.tsy-why__side{
  display: grid;
  gap: 14px;
}

/* Office card */
.tsy-office{
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: 0;
}
.tsy-office__media{
  position: relative;
  background: #fff;
}
.tsy-office__img{
  width: 100%;
  height: auto;
  display: block;
}
.tsy-office__body{
  padding: 16px 18px 18px;
}
.tsy-office__kicker{
  font-size: 13px;
  font-weight: 700;
  color: var(--slate-500);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 8px;
}
.tsy-office__title{
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.2;
}
.tsy-office__text{
  margin: 0 0 12px;
  color: var(--slate-700);
  font-size: 14.5px;
  max-width: none;
}
.tsy-office__meta{
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}
.tsy-office__meta-item{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: var(--slate-500);
  font-size: 13.5px;
}
.tsy-office__meta-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(0,94,221,.25);
  border: 2px solid rgba(0,94,221,.35);
  margin-top: 4px;
  flex: 0 0 10px;
}
.tsy-office__cta{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 520px){
  .tsy-office__cta .tsy-btn{ width: 100%; }
}

/* Expectations panel */
.tsy-why__panel{
  padding: 18px;
  border-radius: var(--radius-lg);
}
.tsy-why__panel-kicker{
  font-size: 13px;
  font-weight: 700;
  color: var(--slate-500);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px;
}
.tsy-why__panel-title{
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.2;
}
.tsy-why__panel-text{
  margin: 0 0 12px;
  color: var(--slate-700);
  font-size: 14.5px;
  max-width: none;
}

.tsy-why__panel-list{
  display:grid;
  gap: 10px;
  margin-top: 8px;
}

.tsy-expect{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 12px;
  border: 1px solid var(--border-200);
  border-radius: 12px;
  background: rgba(255,255,255,.85);
}
.tsy-expect__icon{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(0,94,221,.10);
  color: var(--brand-600);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  flex: 0 0 22px;
  margin-top: 1px;
}
.tsy-expect__title{
  font-weight: 800;
  color: var(--navy-900);
  font-size: 14px;
  margin-bottom: 2px;
}
.tsy-expect__text{
  color: var(--slate-500);
  font-size: 13.5px;
}

.tsy-why__panel-cta{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
@media (max-width: 520px){
  .tsy-why__panel-cta .tsy-btn{ width: 100%; }
}
.tsy-why__panel-note{
  margin-top: 10px;
  font-size: 13px;
  text-align: center;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5d3baa3 */.tsy-faq{
  padding: var(--space-22) 0;
  background: var(--bg-50);
}
@media (max-width: 767px){
  .tsy-faq{ padding: 56px 0; }
}

.tsy-faq__grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 1100px){
  .tsy-faq__grid{ grid-template-columns: 1fr; }
}

/* Accordion */
.tsy-accordion{
  display:grid;
  gap: 10px;
}
.tsy-qa{
  border: 1px solid var(--border-200);
  border-radius: var(--radius-lg);
  background: #fff;
  padding: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.tsy-qa__q{
  list-style: none;
  padding: 14px 14px;
  cursor: pointer;
  font-weight: 700;
  color: var(--navy-900);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}
.tsy-qa__q::-webkit-details-marker{ display:none; }

.tsy-qa__icon{
  width: 30px;
  height: 30px;
  border-radius: 10px;
  border: 1px solid var(--border-200);
  background: rgba(0,94,221,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--brand-600);
  flex: 0 0 30px;
  font-size: 18px;
  font-weight: 900;
  transition: transform 180ms ease;
}

.tsy-qa[open] .tsy-qa__icon{
  transform: rotate(45deg);
}

.tsy-qa__a{
  padding: 0 14px 14px;
  color: var(--slate-700);
  font-size: 14.5px;
}
.tsy-qa__a p{
  margin: 0;
  max-width: none;
}

/* Right CTA box */
.tsy-faq__cta{
  padding: 18px;
  border-radius: var(--radius-lg);
  position: sticky;
  top: 18px;
}
@media (max-width: 1100px){
  .tsy-faq__cta{ position: static; }
}

.tsy-faq__cta-kicker{
  font-size: 13px;
  font-weight: 700;
  color: var(--slate-500);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px;
}
.tsy-faq__cta-title{
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.2;
}
.tsy-faq__cta-text{
  margin: 0 0 12px;
  color: var(--slate-700);
  font-size: 14.5px;
  max-width: none;
}

.tsy-faq__cta-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 520px){
  .tsy-faq__cta-actions .tsy-btn{ width: 100%; }
}

.tsy-faq__cta-note{
  margin-top: 10px;
  font-size: 13px;
  text-align: center;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a70684d *//* FINAL CTA v2 — one column, no form */
.tsy-finalcta{
  padding: var(--space-22) 0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(0,94,221,.14), transparent 60%),
    radial-gradient(900px 420px at 90% 50%, rgba(15,23,42,.08), transparent 58%),
    var(--bg-50);
}
@media (max-width: 767px){
  .tsy-finalcta{ padding: 56px 0; }
}

.tsy-finalcta2{
  padding: 24px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-200);
  background: rgba(255,255,255,.80);
  box-shadow: var(--shadow-sm);
  max-width: 920px;
  margin: 0 auto;
}

.tsy-finalcta2__kicker{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border-200);
  background: #fff;
  color: var(--navy-900);
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 10px;
}

.tsy-finalcta2__title{
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
@media (max-width: 767px){
  .tsy-finalcta2__title{ font-size: 28px; }
}

.tsy-finalcta2__text{
  margin: 0 0 var(--space-8);
  color: var(--slate-700);
  font-size: 16px;
  max-width: 70ch;
}

/* checks (reuse .tsy-check token style) */
.tsy-finalcta2__checks{
  margin: 0 0 var(--space-10);
  padding: 0;
  list-style: none;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 767px){
  .tsy-finalcta2__checks{ grid-template-columns: 1fr; }
}
.tsy-finalcta2__checks li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px 12px;
  border: 1px solid var(--border-200);
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  color: var(--slate-700);
  font-size: 14.5px;
}

.tsy-finalcta2__actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items:center;
  margin-top: 15px;
  margin-bottom: 7px;
}

/* tertiary button (link-like but button shape) */
.tsy-btn--tertiary{
  background: transparent;
  border: 1px solid rgba(0,94,221,.22);
  color: var(--brand-700);
}
.tsy-btn--tertiary:hover{
  background: rgba(0,94,221,.06);
  border-color: rgba(0,94,221,.35);
  color: var(--brand-700);
}

@media (max-width: 520px){
  .tsy-finalcta2__actions .tsy-btn{ width: 100%; }
}

.tsy-finalcta2__micro{
  margin: 12px 0 0;
  font-size: 13px;
}/* End custom CSS */
/* Start custom CSS *//* Évite les marges parasites dans les widgets Elementor autour de nos sections */
.tsy-hero, .tsy-proofband, .tsy-deliverables, .tsy-method, .tsy-why, .tsy-faq, .tsy-finalcta {
  margin: 0 !important;
}

/* Harmonise les titres de section */
.tsy-sectionhead { margin-bottom: var(--space-12); }
.tsy-sectionhead__title { margin-top: 0; }

/* =========================
   MICRO-ESPACEMENTS — PATCH
   ========================= */

/* A) Neutraliser les marges Elementor autour de nos sections */
.tsy-hero, .tsy-proofband, .tsy-deliverables, .tsy-method, .tsy-preview, .tsy-why, .tsy-faq, .tsy-finalcta{
  margin: 0 !important;
}

/* Si tes sections sont posées dans Elementor, évite les padding doublés */
.elementor-section.tsy-sec { padding-top: 0 !important; padding-bottom: 0 !important; }

/* B) Typo spacing : titres + paragraphes */
.tsy-sectionhead{
  margin-bottom: var(--space-12);
  gap: 10px;
}
.tsy-sectionhead__title{
  margin: 0;
  letter-spacing: -0.02em;
}
.tsy-sectionhead__text{
  margin: 0;
  max-width: 72ch;
}

/* C) Reset paragraph inside cards (Elementor + WP ajoutent souvent des marges) */
.tsy-card p:last-child{ margin-bottom: 0; }
.tsy-card p{ margin-top: 0; }

/* D) Uniformiser les grilles : gap + align */
.tsy-deliverables__grid,
.tsy-method__grid,
.tsy-why__cards,
.tsy-faq__grid,
.tsy-preview__grid{
  gap: 14px;
  align-items: start;
}

/* E) Cards : padding cohérent (évite variations visuelles) */
.tsy-card{ border-radius: var(--radius-lg); }
.tsy-deliverable-card,
.tsy-step,
.tsy-whycard,
.tsy-faq__cta,
.tsy-preview__card,
.tsy-why__panel{
  padding: 18px;
}

/* F) List spacing (mini-list) */
.tsy-mini-list{
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.tsy-mini-list li{ margin: 0; }

/* G) Boutons / liens : enlever les soulignements, alignement vertical */
.tsy-btn,
.tsy-btn:visited{
  text-decoration: none !important;
}
.tsy-btn *{ text-decoration: none !important; }
.tsy-btn{
  line-height: 1.1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* H) Accordion FAQ : alignement + espace interne */
.tsy-qa__q{
  padding: 14px 14px;
  gap: 12px;
}
.tsy-qa__a{
  padding: 0 14px 14px;
}

/* I) Eviter les “barres”/artefacts décoratifs (si tu veux ultra clean) */
.tsy-method__rail{ display: none !important; }

/* J) Images : éviter le débordement et assurer un rendu net */
img{
  max-width: 100%;
  height: auto;
}

/* K) Mobile: réduire légèrement l’air entre sections sans tout casser */
@media (max-width: 767px){
  .tsy-sectionhead{ margin-bottom: 18px; }
  .tsy-deliverables__cta-card,
  .tsy-method__cta-card,
  .tsy-why__panel,
  .tsy-faq__cta,
  .tsy-preview__card{
    position: static !important;
  }
}

/* Densité corporate */
.tsy-sectionhead__text{ font-size: 15.5px; }
.tsy-deliverable-card__text,
.tsy-step__text,
.tsy-whycard__text{ font-size: 14.5px; }/* End custom CSS */