.elementor-186 .elementor-element.elementor-element-4b2a68d{--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-186 .elementor-element.elementor-element-b54abee{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-186 .elementor-element.elementor-element-b54abee.elementor-element{--align-self:center;}.elementor-186 .elementor-element.elementor-element-d945f38{--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-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-186 .elementor-element.elementor-element-5883d8b{--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-186 .elementor-element.elementor-element-b4d47f6 .elementor-heading-title{font-family:"Quicksand", Sans-serif;font-size:40px;font-weight:700;}.elementor-186 .elementor-element.elementor-element-2c14a10{--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-186 .elementor-element.elementor-element-162f478{--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-186 .elementor-element.elementor-element-70d4365{--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-progress .elementor-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:var( --e-global-color-primary );}.elementor-186 .elementor-element.elementor-element-8f8e32c .elementor-progress-wrapper .elementor-progress-bar{background-color:#76589D;}.elementor-186 .elementor-element.elementor-element-8f8e32c .elementor-progress-bar{height:15px;line-height:15px;}.elementor-186 .elementor-element.elementor-element-8f8e32c .elementor-progress-wrapper{border-radius:50px;overflow:hidden;}.elementor-186 .elementor-element.elementor-element-6a10264 .elementor-progress-wrapper .elementor-progress-bar{background-color:#76589D;}.elementor-186 .elementor-element.elementor-element-6a10264 .elementor-progress-bar{height:15px;line-height:15px;}.elementor-186 .elementor-element.elementor-element-6a10264 .elementor-progress-wrapper{border-radius:50px;overflow:hidden;}.elementor-186 .elementor-element.elementor-element-77328b7 .elementor-progress-wrapper .elementor-progress-bar{background-color:#76589D;}.elementor-186 .elementor-element.elementor-element-77328b7 .elementor-progress-bar{height:15px;line-height:15px;}.elementor-186 .elementor-element.elementor-element-77328b7 .elementor-progress-wrapper{border-radius:50px;overflow:hidden;}.elementor-186 .elementor-element.elementor-element-3f20e3f .elementor-progress-wrapper .elementor-progress-bar{background-color:#76589D;}.elementor-186 .elementor-element.elementor-element-3f20e3f .elementor-progress-bar{height:15px;line-height:15px;}.elementor-186 .elementor-element.elementor-element-3f20e3f .elementor-progress-wrapper{border-radius:50px;overflow:hidden;}.elementor-186 .elementor-element.elementor-element-dacb7f3 .elementor-progress-wrapper .elementor-progress-bar{background-color:#76589D;}.elementor-186 .elementor-element.elementor-element-dacb7f3 .elementor-progress-bar{height:15px;line-height:15px;}.elementor-186 .elementor-element.elementor-element-dacb7f3 .elementor-progress-wrapper{border-radius:50px;overflow:hidden;}.elementor-186 .elementor-element.elementor-element-ca7b03f .elementor-progress-wrapper .elementor-progress-bar{background-color:#76589D;}.elementor-186 .elementor-element.elementor-element-ca7b03f .elementor-progress-bar{height:15px;line-height:15px;}.elementor-186 .elementor-element.elementor-element-ca7b03f .elementor-progress-wrapper{border-radius:50px;overflow:hidden;}.elementor-186 .elementor-element.elementor-element-fc7bf6e .elementor-progress-wrapper .elementor-progress-bar{background-color:#76589D;}.elementor-186 .elementor-element.elementor-element-fc7bf6e .elementor-progress-bar{height:15px;line-height:15px;}.elementor-186 .elementor-element.elementor-element-fc7bf6e .elementor-progress-wrapper{border-radius:50px;overflow:hidden;}.elementor-186 .elementor-element.elementor-element-bc03dfb{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-186 .elementor-element.elementor-element-5247d0b{--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;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-186 .elementor-element.elementor-element-b54abee{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-186 .elementor-element.elementor-element-8d9e340{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-186 .elementor-element.elementor-element-59f97e3{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-186 .elementor-element.elementor-element-b4d47f6{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-186 .elementor-element.elementor-element-b4d47f6 .elementor-heading-title{font-size:40px;}.elementor-186 .elementor-element.elementor-element-5ab17c0{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-186 .elementor-element.elementor-element-b5672eb{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-widget-progress .elementor-title{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-186 .elementor-element.elementor-element-e8a20bd{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-186 .elementor-element.elementor-element-93a3687{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}}@media(max-width:767px){.elementor-186 .elementor-element.elementor-element-b54abee{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:2px 2px 2px 2px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-186 .elementor-element.elementor-element-b4d47f6 .elementor-heading-title{font-size:30px;}.elementor-widget-progress .elementor-title{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}/* Start custom CSS for html, class: .elementor-element-b54abee */body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
}

.elementor-section,
.elementor-container,
.elementor-widget-wrap {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor {
    margin: 0 auto !important;
}
.hero-photo {
  position:absolute;
  bottom:0;
  right:60px;
  width:260px;
  height:370px;
  transform: translateX(50px);
.hero-text h1,
.hero-text h1 span {
  font-family:'Quicksand', sans-serif;
  font-size:52px;
  font-weight:600;
  line-height:1.05;
  color:#fff;
}

/* =========================
   FIX MOBILE PROPRE
   ========================= */

@media (max-width: 768px) {

  .hero-text h1 {
    font-size: clamp(22px, 6vw, 32px) !important;
    line-height: 1.05;
  }

  .hero-text p {
    font-size: 10px;
    letter-spacing: 0.12em;
    text-shadow: none; /* enlève l’effet brillant */
  }

  .hero-text p strong {
    text-shadow: none; /* sécurise aussi */
  }
}

@media (max-width: 480px) {

  .hero-text h1 {
    font-size: 24px !important;
  }

  .hero-text p {
    font-size: 9px;
    letter-spacing: 0.10em;
    text-shadow: none; /* suppression totale brillant */
  }
}

/* =========================
   TYPO RESPONSIVE PROPRE (FIX FINAL)
   ========================= */

/* PC (par défaut déjà bon via clamp) */
.hero-text h1 {
  font-size: clamp(26px, 4vw, 52px);
}

/* TABLETTE */
@media (max-width: 1024px) {
  .hero-text h1 {
    font-size: clamp(24px, 4.5vw, 38px) !important;
  }
}

/* MOBILE */
@media (max-width: 768px) {
  .hero-text h1 {
    font-size: 26px !important;
  }

  .hero-text p {
    font-size: 10px;
    text-shadow: none;
  }
}

/* PETIT MOBILE (iPhone etc.) */
@media (max-width: 480px) {
  .hero-text h1 {
    font-size: 22px !important;
  }

  .hero-text p {
    font-size: 9px;
    letter-spacing: 0.10em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5ab17c0 */.skills-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 2rem 1.5rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

.skill-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  min-width: 0; /* empêche les enfants de forcer l'expansion */
}

.circle {
  width: 95px;
  height: 96px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.skill-name {
  font-size: 10px;
  font-weight: 500;
  color: #552F4E;
  letter-spacing: 0.04em;
  text-align: center;
  font-family: sans-serif;
  word-break: break-word; /* évite qu'un long mot pousse la largeur */
}

@media (max-width: 768px) {
  .skills-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 1rem 0; /* padding latéral à 0 pour laisser Elementor gérer les marges */
    overflow: hidden; /* sécurité anti-débordement */
  }

  .circle {
    width: clamp(50px, 18vw, 70px); /* s'adapte à la largeur réelle de l'écran */
    height: clamp(50px, 18vw, 70px);
  }

  .skill-name {
  font-size: clamp(8px, 2.2vw, 10px);
  }
}
@media (max-width: 768px) {
  .skills-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 1rem 0;
    overflow: hidden;
  }

  .circle {
    width: clamp(50px, 18vw, 70px);
    height: clamp(50px, 18vw, 70px);
  }

  .skill-name {
    font-size: 10px;
    width: 100%;
    max-width: 90px;
    line-height: 1.2;
    hyphens: auto;
    overflow-wrap: break-word;
  }
}
@media (max-width: 768px) {
  .skills-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    padding: 1rem 0 !important;
  }

  .circle {
    width: 85px !important;
    height: 85px !important;
  }

  .skill-name {
    font-size: 12px !important;
    white-space: normal !important;
  }
}/* End custom CSS */
/* Start custom CSS for progress, class: .elementor-element-8f8e32c */.cv-bar .elementor-progress-wrapper {
  border-radius: 50px !important;
  overflow: hidden !important;
}

.cv-bar .elementor-progress-bar {
  border-radius: 50px !important;
}/* End custom CSS */
/* Start custom CSS for progress, class: .elementor-element-6a10264 */.cv-bar .elementor-progress-wrapper {
  border-radius: 50px !important;
  overflow: hidden !important;
}

.cv-bar .elementor-progress-bar {
  border-radius: 50px !important;
}/* End custom CSS */
/* Start custom CSS for progress, class: .elementor-element-77328b7 */.cv-bar .elementor-progress-wrapper {
  border-radius: 50px !important;
  overflow: hidden !important;
}

.cv-bar .elementor-progress-bar {
  border-radius: 50px !important;
}/* End custom CSS */
/* Start custom CSS for progress, class: .elementor-element-3f20e3f */.cv-bar .elementor-progress-wrapper {
  border-radius: 50px !important;
  overflow: hidden !important;
}

.cv-bar .elementor-progress-bar {
  border-radius: 50px !important;
}/* End custom CSS */
/* Start custom CSS for progress, class: .elementor-element-dacb7f3 */.cv-bar .elementor-progress-wrapper {
  border-radius: 50px !important;
  overflow: hidden !important;
}

.cv-bar .elementor-progress-bar {
  border-radius: 50px !important;
}/* End custom CSS */
/* Start custom CSS for progress, class: .elementor-element-ca7b03f */.cv-bar .elementor-progress-wrapper {
  border-radius: 50px !important;
  overflow: hidden !important;
}

.cv-bar .elementor-progress-bar {
  border-radius: 50px !important;
}/* End custom CSS */
/* Start custom CSS for progress, class: .elementor-element-fc7bf6e */.cv-bar .elementor-progress-wrapper {
  border-radius: 50px !important;
  overflow: hidden !important;
}

.cv-bar .elementor-progress-bar {
  border-radius: 50px !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-93a3687 */.cv .form-title,
.cv .exp-title{
  color:#7E57C2 !important;
}/* End custom CSS */