/* Hero Hack Console
 * Desktop: 1100 px et plus · Mobile/tablette: 1099 px et moins
 * Les media queries restent ordonnées : leur cascade fait partie du rendu.
 */

@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-800-latin.woff2") format("woff2");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:"Roboto";src:url("../fonts/roboto-latin-400-700.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}

/* HERO V3 */

@media (min-width:1100px) {
  section.hc-hero-v3 {
    --hc3-blue: #4e82b3;
    --hc3-blue-dark: #356f9f;
    --hc3-ink: #17191d;
    --hc3-text: #555d68;
    --hc3-border: rgba(24,31,40,.10);
    --hc3-content: 1580px;
    --hc3-radius: 14px;
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: 0 0 32px;
    overflow: hidden;
    color: var(--hc3-ink);
    font-family: inherit;
    box-sizing: border-box;
    background: linear-gradient( to bottom, transparent 0, transparent 78%, #fff 78%, #fff 100% ), radial-gradient( circle at 35% 15%, rgba(255,255,255,.98) 0%, rgba(250,251,252,.92) 36%, rgba(244,247,250,.88) 72%, rgba(237,241,245,.96) 100% );
  }

  section.hc-hero-v3 *, section.hc-hero-v3 *::before, section.hc-hero-v3 *::after {
    box-sizing: border-box;
  }

  section.hc-hero-v3::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: 0;
    right: -8%;
    width: 58%;
    height: 78%;
    pointer-events: none;
    background: linear-gradient( 135deg, transparent 0 38%, rgba(78,130,179,.075) 38% 43%, transparent 43% 53%, rgba(78,130,179,.045) 53% 58%, transparent 58% );
  }

  section.hc-hero-v3::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 11%;
    right: 2%;
    width: 34%;
    height: 58%;
    opacity: .45;
    pointer-events: none;
    background-image: radial-gradient( circle, rgba(78,130,179,.22) 1.2px, transparent 1.4px );
    background-size: 17px 17px;
    -webkit-mask-image: linear-gradient( to bottom, transparent 0%, #000 22%, #000 76%, transparent 100% );
    mask-image: linear-gradient( to bottom, transparent 0%, #000 22%, #000 76%, transparent 100% );
  }

  /* STRUCTURE PRINCIPALE */

  .hc3-shell {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 96px),var(--hc3-content));
    margin: 0 auto;
  }

  .hc3-main {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,780px) minmax(520px,1fr);
    align-items: stretch;
    gap: 64px;
    min-height: 405px;
    padding: 54px 0 68px;
  }

  /* COLONNE TEXTE */

  .hc3-copy {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    max-width: 780px;
    padding-top: 0;
    transform: translate(183px,-12px);
  }

  .hc3-kicker {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: max-content;
    margin: 0 0 16px;
    color: var(--hc3-blue);
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .hc3-kicker::after {
    content: "";
    width: 58px;
    height: 2px;
    background: linear-gradient( 90deg, var(--hc3-blue), rgba(78,130,179,.18) );
  }

  .hc3-title {
    max-width: none;
    margin: 0;
    color: var(--hc3-ink);
    font-family: "Barlow Condensed",sans-serif;
    font-size: 65.5px;
    line-height: .96;
    font-weight: 800;
    letter-spacing: -.03em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .hc3-title-accent {
    color: #3f70b8;
  }

  .hc3-title-rule {
    display: block;
    width: 0;
    height: 0;
    margin: 17px 0 15px;
    background: none;
  }

  .hc3-intro {
    max-width: 660px;
    margin: 0;
    color: var(--hc3-text);
    text-wrap: pretty;
  }

  .hc3-intro strong {
    color: #2c333b;
    font-weight: 700;
  }

  /* LOGOS UNIVERS */

  .hc3-platforms {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 14px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
  }

  .hc3-platform {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 132px;
    min-height: 26px;
    color: #505863;
    opacity: .92;
  }

  .hc3-platform img {
    display: block;
    width: 132px;
    max-width: none;
    height: 26px;
    object-fit: contain;
    filter: grayscale(1) contrast(1.05);
  }

  /* BOUTON CTA */

  .hc3-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
  }

  .hc3-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 24px;
    color: #fff;
    background: #3b6aaa;
    border: 1px solid #3b6aaa;
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(78,130,179,.18);
    font-family: "Barlow Condensed",sans-serif;
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .01em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  }

  .hc3-cta:hover {
    color: #fff;
    background: var(--hc3-blue-dark);
    border-color: var(--hc3-blue-dark);
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(78,130,179,.23);
  }

  .hc3-cta:active {
    transform: translateY(0);
  }

  .hc3-cta:focus-visible {
    outline: 3px solid rgba(78,130,179,.28);
    outline-offset: 3px;
  }

  .hc3-cta-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
  }

  .hc3-cta-icon img, .hc3-cta-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* PERSONNAGE */

  .hc3-visual {
    position: relative;
    z-index: 3;
    min-width: 0;
    min-height: 415px;
  }

  .hc3-visual::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: 4%;
    bottom: 7%;
    width: 70%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(78,130,179,.10) 0%, rgba(78,130,179,.045) 42%, transparent 72% );
  }

  .hc3-visual picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .hc3-character {
    position: absolute;
    right: 130px;
    bottom: -72px;
    display: block;
    width: auto;
    max-width: none;
    height: 545px;
    object-fit: contain;
    object-position: right bottom;
    user-select: none;
    pointer-events: none;
    -webkit-mask-image: linear-gradient( to bottom, #000 0%, #000 88%, rgba(0,0,0,.92) 93%, transparent 100% );
    mask-image: linear-gradient( to bottom, #000 0%, #000 88%, rgba(0,0,0,.92) 93%, transparent 100% );
  }

  /* BLOC MANIFESTE + RÉASSURANCE */

  .hc3-proof {
    position: relative;
    z-index: 8;
    width: 1224px;
    max-width: calc(100% - 220px);
    margin: -72px auto 0;
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--hc3-border);
    border-radius: var(--hc3-radius);
    box-shadow: 0 18px 46px rgba(30,42,56,.08), 0 2px 8px rgba(30,42,56,.035);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  .hc3-manifesto {
    display: grid;
    grid-template-columns: minmax(270px,.78fr) minmax(0,1.22fr);
    align-items: center;
    gap: 32px;
    min-height: 116px;
    padding: 20px 30px;
    border-bottom: 1px solid var(--hc3-border);
  }

  .hc3-manifesto-title {
    position: relative;
    margin: 0;
    padding-right: 32px;
    color: var(--hc3-ink);
    font-family: inherit;
    font-size: 25px;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.025em;
    text-transform: uppercase;
  }

  .hc3-manifesto-title::after {
    content: "";
    position: absolute;
    top: 3px;
    right: 0;
    bottom: 3px;
    width: 1px;
    background: var(--hc3-border);
  }

  .hc3-manifesto-title strong {
    color: #3b6aaa;
    font-weight: inherit;
  }

  .hc3-manifesto-copy {
    max-width: 690px;
    margin: 0;
    color: var(--hc3-text);
    text-wrap: pretty;
  }

  .hc3-manifesto-copy strong {
    color: #303740;
    font-weight: 700;
  }

  /* AVANTAGES */

  .hc3-benefits {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .hc3-benefit {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr);
    align-items: center;
    gap: 16px;
    min-width: 0;
    min-height: 146px;
    padding: 18px 26px;
  }

  .hc3-benefit:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 22px;
    right: 0;
    bottom: 22px;
    width: 1px;
    background: linear-gradient( 180deg, transparent 0%, rgba(24,31,40,.12) 18%, rgba(24,31,40,.12) 82%, transparent 100% );
  }

  .hc3-benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    color: var(--hc3-blue);
    background: rgba(78,130,179,.08);
    border-radius: 50%;
  }

  .hc3-benefit-icon img {
    display: block;
    width: 54px;
    height: 54px;
    max-width: none;
    object-fit: contain;
    transform-origin: center;
  }

  .hc3-benefit-icon svg {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
  }

  .hc3-benefit-icon img[src$="/reviews-hero.svg"] {
    transform: scale(.9);
  }

  .hc3-benefit-body {
    min-width: 0;
  }

  .hc3-benefit-title {
    margin: 0 0 7px;
    color: #242a31;
    letter-spacing: -.01em;
    text-transform: uppercase;
  }

  .hc3-benefit-text {
    margin: 0;
    color: var(--hc3-text);
    text-wrap: pretty;
  }

  .hc3-benefit-text strong {
    color: #323943;
    font-weight: 700;
  }

  .hc3-benefit-text a {
    color: inherit;
    text-decoration: none;
  }

  .hc3-benefit-text a:hover, .hc3-benefit-text a:focus-visible {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  /* ACCESSIBILITÉ */

  @media (prefers-reduced-motion:reduce) {
    .hc3-cta {
      transition: none;
    }

    .hc3-cta:hover, .hc3-cta:active {
      transform: none;
    }
  }
}

/* DESKTOP — 1500 À 1599 PX */

@media (min-width:1500px) and (max-width:1599px) {
  .hc3-copy {
    transform: translate(145px,-12px);
  }

  .hc3-character {
    right: 66px;
  }
}

/* DESKTOP INTERMÉDIAIRE — 1300 À 1499 PX */

@media (min-width:1300px) and (max-width:1499px) {
  .hc3-copy {
    transform: translate(145px,-12px);
  }

  .hc3-title {
    font-size: 60px;
  }

  .hc3-intro {
    max-width: 610px;
    font-size: 14.5px;
  }

  .hc3-platform {
    width: 120px;
  }

  .hc3-platform img {
    width: 120px;
    height: 24px;
  }

  .hc3-character {
    right: 55px;
    height: 510px;
  }

  .hc3-proof {
    width: 1120px;
  }
}

/* DESKTOP — 1200 À 1299 PX */

@media (min-width:1200px) and (max-width:1299px) {
  .hc3-main {
    grid-template-columns: minmax(0,650px) minmax(430px,1fr);
    gap: 24px;
  }

  .hc3-copy {
    max-width: 650px;
    transform: translate(80px,18px);
  }

  .hc3-title {
    font-size: 54px;
    white-space: normal;
  }

  .hc3-intro {
    max-width: 575px;
    font-size: 14px;
  }

  .hc3-platform {
    width: 118px;
  }

  .hc3-platform img {
    width: 118px;
    height: 24px;
  }

  .hc3-cta {
    min-height: 51px;
    padding: 0 22px;
    font-size: 17px;
  }

  .hc3-cta-icon {
    width: 26px;
    height: 26px;
  }

  .hc3-character {
    right: -2px;
    height: 485px;
  }
}

/* DESKTOP ÉTROIT — 1100 À 1299 PX */

@media (min-width:1100px) and (max-width:1299px) {
  .hc3-benefit {
    grid-template-columns: 1fr;
    justify-items: center;
    align-content: start;
    gap: 10px;
    padding: 18px;
    text-align: center;
  }

  .hc3-benefit-icon {
    margin-bottom: 2px;
  }

  .hc3-benefit-body {
    width: 100%;
  }

  .hc3-benefit-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin: 0 0 15px;
  }

  .hc3-benefit-text {
    max-width: 220px;
    margin: 0 auto;
    color: #68717d;
    font-size: 13px;
    line-height: 1.5;
  }

  .hc3-benefit-text strong {
    color: #3e4650;
    font-weight: 700;
  }
}

/* DESKTOP — 1100 À 1199 PX : taille du personnage */

@media (min-width:1100px) and (max-width:1199px) {
  .hc3-character {
    height: 490.5px;
  }
}

/* DESKTOP — 1150 À 1199 PX */

@media (min-width:1150px) and (max-width:1199px) {
  .hc3-copy {
    transform: translate(85px,-12px);
  }

  .hc3-character {
    right: 0px;
  }
}

/* DESKTOP — 1110 À 1149 PX */

@media (min-width:1110px) and (max-width:1149px) {
  .hc3-copy {
    transform: translate(70px,-12px);
  }

  .hc3-character {
    right: -10px;
  }
}

/* DESKTOP — 1100 À 1109 PX */

@media (min-width:1100px) and (max-width:1109px) {
  .hc3-copy {
    transform: translate(70px,-12px);
  }

  .hc3-character {
    right: -20px;
  }

  .hc3-platform {
    width: 112px;
  }

  .hc3-platform img {
    width: 112px;
    height: 22px;
  }
}

/* HERO V3 */

.hc3-mobile {
  display: none !important;
}

/* RESPONSIVE GLOBAL — 1099 PX ET MOINS */

@media (max-width: 1099px) {
  /* VARIABLES ET CONTENEUR PRINCIPAL */

  section.hc-hero-v3 {
    --hc3m-blue: #4e82b3;
    --hc3m-blue-dark: #356f9f;
    --hc3m-blue-cta: #3b6aaa;
    --hc3m-title-size: 62px;
    --hc3m-benefit-title-size: 17px;
    --hc3m-cta-letter-spacing: 0.01em;
    --hc3m-copy-translate-y: 0px;
    --hc3m-benefit-icon-art-size: clamp(34px, 3.7vw, 42px);
    --hc3m-intro-size: 15px;
    --hc3m-platforms-top: -12px;
    --hc3m-cta-top: -33px;
    --hc3m-character-scale: 1;
    --hc3m-character-scale-origin: top right;
    --hc3-title-accent-shadow: 0 0 20px rgba(78, 130, 179, .28);
    --hc3m-ink: #111318;
    --hc3m-text: #595f69;
    --hc3m-muted: #6a717c;
    --hc3m-line: rgba(24, 31, 40, 0.11);
    --hc3m-line-inner: rgba(24, 31, 40, 0.05);
    --hc3m-shadow: 0 10px 30px rgba(24, 31, 40, 0.075);
    --hc3m-reassurance-left: clamp(13px, 3.5vw, 16px);
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: var(--hc3m-ink);
    background: radial-gradient( circle at 84% 22%, rgba(78, 130, 179, 0.065), transparent 34% ), linear-gradient( 180deg, #ffffff 0%, #fbfcfd 63%, #f4f6f8 100% );
    font-family: "Roboto", Arial, sans-serif;
  }

  section.hc-hero-v3, section.hc-hero-v3 *, section.hc-hero-v3 *::before, section.hc-hero-v3 *::after {
    box-sizing: border-box;
  }

  section.hc-hero-v3 .hc3-shell, section.hc-hero-v3 .hc3-proof {
    display: none !important;
  }

  section.hc-hero-v3 .hc3-mobile {
    position: relative;
    display: block !important;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 0 clamp(18px, 3.2vw, 34px);
    overflow: hidden;
  }

  /* ÉTAGE PRINCIPAL */

  .hc3m-stage {
    position: relative;
    z-index: 1;
    height: clamp(500px, 56.5vw, 620px);
    overflow: hidden;
  }

  /* BLOC TEXTE */

  .hc3m-copy {
    position: relative;
    z-index: 5;
    width: 50%;
    min-width: 0;
    padding-top: clamp(54px, 7vw, 80px);
    margin-left: calc(clamp(38px, 7vw, 78px) + 20px);
  }

  .hc3m-kicker {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: max-content;
    margin: 0 0 16px !important;
    color: var(--hc3m-blue) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.095em;
    text-transform: uppercase;
  }

  .hc3m-kicker::after {
    content: "";
    display: block;
    width: clamp(48px, 5.5vw, 64px);
    height: 2px;
    background: linear-gradient( 90deg, var(--hc3m-blue), rgba(78, 130, 179, 0.18) );
  }

  .hc3m-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 !important;
    padding-bottom: 4px !important;
    color: var(--hc3m-ink) !important;
    font-family: "Barlow Condensed", "Avenir Next Condensed", "Arial Narrow", Impact, sans-serif !important;
    font-size: var(--hc3m-title-size) !important;
    font-weight: 800 !important;
    line-height: 0.94 !important;
    letter-spacing: -0.018em !important;
    text-transform: uppercase !important;
  }

  .hc3m-title > span {
    display: block;
    white-space: nowrap;
  }

  .hc3m-title-tablet {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
  }

  .hc3m-title-mobile {
    display: none !important;
  }

  .hc3m-title-tablet > span, .hc3m-title-mobile > span {
    display: block;
  }

  .hc3m-intro {
    width: 100% !important;
    max-width: 360px !important;
    margin: clamp(20px, 2.2vw, 26px) 0 0 !important;
    color: var(--hc3m-text) !important;
    font-size: var(--hc3m-intro-size) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-wrap: pretty;
  }

  /* LOGOS PLATEFORMES */

  .hc3m-platforms {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(8px, 1.2vw, 15px);
    width: 100% !important;
    max-width: 360px !important;
    margin: clamp(22px, 2.6vw, 30px) 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .hc3m-platforms li {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hc3m-platforms img {
    display: block;
    width: 100% !important;
    max-width: 104px !important;
    height: auto !important;
    max-height: 25px !important;
    object-fit: contain !important;
    object-position: left center;
  }

  /* CTA */

  .hc3m-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px !important;
    margin-top: clamp(38px, 4.2vw, 48px) !important;
    padding: 0 clamp(18px, 2.1vw, 24px) !important;
    color: #ffffff !important;
    background: var(--hc3m-blue-cta) !important;
    border: 1px solid var(--hc3m-blue-cta) !important;
    border-radius: 6px !important;
    box-shadow: 0 9px 22px rgba(59, 106, 170, 0.2) !important;
    font-family: "Barlow Condensed", "Avenir Next Condensed", "Arial Narrow", Arial, sans-serif !important;
    font-size: clamp(15.5px, 1.55vw, 17px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: var(--hc3m-cta-letter-spacing) !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
  }

  .hc3m-cta:hover, .hc3m-cta:focus-visible {
    color: #ffffff !important;
    background: var(--hc3m-blue-dark) !important;
    border-color: var(--hc3m-blue-dark) !important;
    text-decoration: none !important;
    box-shadow: 0 12px 26px rgba(53, 111, 159, 0.24) !important;
  }

  .hc3m-cta:active {
    transform: translateY(1px);
  }

  .hc3m-cta:focus-visible {
    outline: 3px solid rgba(78, 130, 179, 0.28);
    outline-offset: 3px;
  }

  .hc3m-cta svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
  }

  /* GÉOMÉTRIE DÉCORATIVE */

  .hc3m-geometry {
    position: absolute;
    z-index: 1;
    top: -4%;
    right: -6%;
    width: 67%;
    height: 103%;
    overflow: hidden;
    pointer-events: none;
  }

  .hc3m-geometry::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.94;
    background: linear-gradient( 132deg, transparent 0 34%, rgba(78, 130, 179, 0.055) 34% 39%, transparent 39% 47%, rgba(78, 130, 179, 0.12) 47% 53%, rgba(78, 130, 179, 0.56) 53% 60%, transparent 60% 100% ), linear-gradient( 132deg, transparent 0 62%, rgba(78, 130, 179, 0.08) 62% 67%, transparent 67% 100% );
  }

  .hc3m-geometry::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 12% 0 2% 14%;
    opacity: 0.44;
    background-image: radial-gradient( circle, rgba(78, 130, 179, 0.28) 1.15px, transparent 1.35px );
    background-size: 17px 17px;
    -webkit-mask-image: linear-gradient( 135deg, transparent 0%, #000000 24%, #000000 76%, transparent 100% );
    mask-image: linear-gradient( 135deg, transparent 0%, #000000 24%, #000000 76%, transparent 100% );
  }

  /* PERSONNAGE */

  .hc3m-visual {
    position: absolute;
    z-index: 3;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .hc3m-character {
    position: absolute;
    top: clamp(-35px, -1.8vw, -10px);
    right: clamp(10px, 1.2vw, 18px);
    display: block;
    width: auto !important;
    max-width: none !important;
    height: clamp(620px, 82vw, 900px) !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center top;
    scale: var(--hc3m-character-scale);
    transform-origin: var(--hc3m-character-scale-origin);
    user-select: none;
  }

  /* BLOC DES QUATRE AVANTAGES */

  .hc3m-benefits {
    position: relative;
    z-index: 6;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    width: calc( 100% - clamp(56px, 7vw, 78px) ) !important;
    max-width: 1020px;
    margin: clamp(-78px, -7vw, -58px) auto 0 !important;
    padding: 0 !important;
    list-style: none !important;
    isolation: isolate;
  }

  .hc3m-benefits::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: -40px;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #f4f6f8;
    pointer-events: none;
  }

  .hc3m-benefit {
    display: grid;
    grid-template-columns: clamp(52px, 5.4vw, 62px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(11px, 1.35vw, 16px);
    min-width: 0;
    min-height: clamp(100px, 10vw, 112px) !important;
    margin: 0 !important;
    padding: 11px clamp(12px, 1.4vw, 16px) 11px 11px !important;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--hc3m-line);
    border-radius: 11px;
    box-shadow: var(--hc3m-shadow), 0 1px 2px rgba(24, 31, 40, 0.035);
  }

  .hc3m-benefit-icon {
    display: grid;
    place-items: center;
    width: clamp(52px, 5.4vw, 62px);
    height: clamp(58px, 6vw, 68px);
    color: var(--hc3m-blue);
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(78, 130, 179, 0.17);
    border-radius: 9px;
  }

  .hc3m-benefit-icon img, .hc3m-benefit-icon svg {
    display: block;
    width: var(--hc3m-benefit-icon-art-size) !important;
    height: var(--hc3m-benefit-icon-art-size) !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .hc3m-benefit-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    min-width: 0;
  }

  .hc3m-benefit-title {
    display: block;
    margin: 0 !important;
    color: #22252b !important;
    font-family: "Barlow Condensed", "Avenir Next Condensed", "Arial Narrow", Arial, sans-serif !important;
    font-size: var(--hc3m-benefit-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: 0.005em !important;
    text-transform: uppercase !important;
  }

  .hc3m-benefit-text {
    display: block;
    margin: 0 !important;
    color: var(--hc3m-muted) !important;
    font-size: clamp(11px, 1.2vw, 13px) !important;
    font-weight: 400 !important;
    line-height: 1.38 !important;
    text-wrap: pretty;
  }

  .hc3m-benefit-text a {
    color: inherit !important;
    text-decoration: none !important;
  }

  .hc3m-benefit-text a:hover, .hc3m-benefit-text a:focus-visible {
    color: inherit !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
  }

  .hc3m-benefit-arrow {
    display: none !important;
  }

  /* TABLETTE GÉNÉRALE — 600 À 1099 PX */

  @media (min-width: 600px) {
    section.hc-hero-v3 {
      --hc3m-benefits-overlap: clamp( 120px, calc(96px + 4vw), 140px );
      --hc3m-benefits-offset: clamp( -140px, calc(-96px - 4vw), -120px );
      --hc3m-reassurance-left: calc(clamp(96px, 16vw, 176px) / 2);
    }

    /* Fond uniforme validé */

    section.hc-hero-v3 .hc3-mobile {
      background: #fbfcfd !important;
    }

    /* Pseudo-éléments décoratifs de la partie droite */

    section.hc-hero-v3 .hc3-mobile::before, section.hc-hero-v3 .hc3-mobile::after {
      content: "";
      position: absolute;
      z-index: 0;
      right: 0;
      bottom: 0;
      width: 58%;
      -webkit-mask-image: linear-gradient( to right, transparent 0%, rgba(0, 0, 0, 0.72) 30%, #000000 100% );
      mask-image: linear-gradient( to right, transparent 0%, rgba(0, 0, 0, 0.72) 30%, #000000 100% );
      pointer-events: none;
    }

    section.hc-hero-v3 .hc3-mobile::before {
      top: calc( clamp(500px, 56.5vw, 620px) - 96px );
      background: linear-gradient( to bottom, rgba(251, 253, 255, 0) 0, #fbfdff 96px, #f9fbfd calc(100% - 30px), #f4f6f8 100% );
    }

    section.hc-hero-v3 .hc3-mobile::after {
      top: calc( clamp(500px, 56.5vw, 620px) - 1px );
      background: radial-gradient( circle, rgba(78, 130, 179, 0.12) 1.15px, transparent 1.35px );
      background-size: 17px 17px;
    }

    .hc3m-visual {
      bottom: var(--hc3m-benefits-overlap);
    }

    .hc3m-benefits {
      gap: 0;
      width: calc( 100% - clamp(96px, 16vw, 176px) ) !important;
      max-width: 940px;
      margin-top: var(--hc3m-benefits-offset) !important;
      background: rgba(255, 255, 255, 0.985);
      border: 1px solid rgba(78, 130, 179, 0.16);
      border-radius: 14px;
      box-shadow: 0 14px 34px rgba(28, 43, 60, 0.09), 0 3px 8px rgba(28, 43, 60, 0.045);
    }

    .hc3m-benefits::before {
      content: none;
    }

    .hc3m-benefit {
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
    }

    .hc3m-benefit:nth-child(1) {
      border-radius: 10px 0 0;
    }

    .hc3m-benefit:nth-child(2) {
      border-left: 1px solid var(--hc3m-line-inner);
      border-radius: 0 10px 0 0;
    }

    .hc3m-benefit:nth-child(3) {
      border-top: 1px solid var(--hc3m-line-inner);
      border-radius: 0 0 0 10px;
    }

    .hc3m-benefit:nth-child(4) {
      border-top: 1px solid var(--hc3m-line-inner);
      border-left: 1px solid var(--hc3m-line-inner);
      border-radius: 0 0 10px;
    }
  }

  /* TABLETTE — LOGOS PLATEFORMES */

  @media (min-width: 670px) and (max-width: 980px) {
    section.hc-hero-v3 .hc3m-platforms {
      max-width: 310px !important;
    }
  }

  /* TABLETTE INTERMÉDIAIRE — PERSONNAGE */

  @media (min-width: 690px) and (max-width: 790px) {
    section.hc-hero-v3 .hc3m-character {
      height: clamp(400px, calc(247.8vw - 1309.8px), 647.8px) !important;
    }
  }

  /* BASSE TABLETTE — PERSONNAGE */

  @media (min-width: 600px) and (max-width: 689px) {
    section.hc-hero-v3 .hc3m-character {
      right: clamp(25px, 4vw, 35px);
      height: clamp(390px, 58vw, 450px) !important;
      transform: translateY(10px);
    }
  }

  /* BASSE TABLETTE — LOGOS PLATEFORMES */

  @media (min-width: 600px) and (max-width: 669px) {
    section.hc-hero-v3 .hc3m-platforms {
      justify-content: flex-start;
      gap: 0 !important;
      max-width: 290px !important;
    }

    section.hc-hero-v3 .hc3m-platforms li {
      margin-right: -16px !important;
    }

    section.hc-hero-v3 .hc3m-platforms img {
      transform: scale(0.85);
      transform-origin: left center;
    }
  }

  /* MOBILE STRICT — 599 PX ET MOINS */

  @media (max-width: 599px) {
    section.hc-hero-v3 .hc3-mobile {
      padding-bottom: clamp(16px, 5vw, 22px);
    }

    .hc3m-stage {
      height: clamp(352px, 92vw, 405px);
    }

    .hc3m-copy {
      width: min(73%, 286px);
      padding-top: clamp(24px, 6.8vw, 30px);
      margin-left: clamp(18px, 5.1vw, 24px);
    }

    .hc3m-kicker {
      gap: 7px;
      margin-bottom: clamp(13px, 3.7vw, 17px) !important;
      font-size: clamp(10.5px, 3vw, 12.5px) !important;
      letter-spacing: 0.085em;
    }

    .hc3m-kicker::after {
      width: clamp(48px, 14vw, 60px);
    }

    .hc3m-title {
      line-height: 0.96 !important;
      letter-spacing: -0.02em !important;
    }

    .hc3m-intro {
      width: min(51vw, 220px) !important;
      max-width: none !important;
      margin-top: clamp(22px, 5.8vw, 26px) !important;
      margin-bottom: 0 !important;
    }

    .hc3m-platforms {
      display: none;
    }

    .hc3m-cta {
      min-height: 46px !important;
      margin-top: clamp(27px, 7vw, 31px) !important;
      padding: 0 clamp(14px, 4vw, 18px) !important;
      font-size: clamp(13.5px, 3.8vw, 16px) !important;
    }

    .hc3m-cta svg {
      width: 16px;
      height: 16px;
    }

    .hc3m-cta .hc3m-cta-arrow {
      display: none !important;
    }

    .hc3m-geometry {
      top: 7%;
      right: -26%;
      width: 93%;
      height: 94%;
    }

    .hc3m-geometry::before {
      background: linear-gradient( 132deg, transparent 0 29%, rgba(78, 130, 179, 0.05) 29% 35%, transparent 35% 44%, rgba(78, 130, 179, 0.12) 44% 51%, rgba(78, 130, 179, 0.42) 51% 59%, transparent 59% 100% );
    }

    .hc3m-geometry::after {
      inset: 11% 4% 0 10%;
      background-size: 14px 14px;
    }

    .hc3m-character {
      top: clamp(66px, 18vw, 78px);
      right: clamp(-56px, -11vw, -38px);
      height: clamp(352px, 98vw, 424px) !important;
    }

    .hc3m-visual {
      bottom: clamp(10px, 3vw, 16px);
    }

    .hc3m-benefits {
      grid-template-columns: minmax(0, 1fr);
      gap: clamp(9px, 2.5vw, 11px);
      width: calc( 100% - clamp(26px, 7vw, 32px) ) !important;
      margin-top: clamp(-16px, -3vw, -10px) !important;
    }

    .hc3m-benefit {
      grid-template-columns: clamp(50px, 14vw, 58px) minmax(0, 1fr);
      gap: clamp(10px, 3vw, 13px);
      min-height: clamp(94px, 27vw, 108px) !important;
      padding: clamp(8px, 2.4vw, 10px) clamp(11px, 3.2vw, 14px) clamp(8px, 2.4vw, 10px) clamp(8px, 2.4vw, 10px) !important;
      border-radius: 10px;
    }

    .hc3m-benefit-icon {
      width: clamp(50px, 14vw, 58px);
      height: clamp(58px, 16vw, 66px);
    }

    .hc3m-benefit-body {
      gap: clamp(4px, 1.2vw, 6px);
    }

    .hc3m-benefit-title {
      line-height: 1.04 !important;
    }

    .hc3m-benefit-text {
      font-size: clamp(11px, 3vw, 12.5px) !important;
      line-height: 1.38 !important;
    }
  }

  /* ACCESSIBILITÉ — MOUVEMENTS RÉDUITS */

  @media (prefers-reduced-motion: reduce) {
    .hc3m-cta {
      transition: none;
    }

    .hc3m-cta:active {
      transform: none;
    }
  }
}

/* FIN DE TABLETTE — LARGEUR DU PANNEAU DE RÉASSURANCE */

@media (max-width: 1000px) {
  section.hc-hero-v3 {
    --hc3m-benefit-title-size: 16px;
  }
}

@media (min-width: 900px) and (max-width: 1000px) {
  section.hc-hero-v3 {
    --hc3m-reassurance-left: calc(clamp(65px, 6vw, 85px) / 2);
  }

  section.hc-hero-v3 .hc3m-benefits {
    width: calc(100% - clamp(65px, 6vw, 85px)) !important;
    max-width: 940px;
  }
}

/* TABLETTE HAUTE — PANNEAU DE RÉASSURANCE */

@media (min-width:991px) and (max-width:1099px) {
  section.hc-hero-v3 {
    --hc3m-reassurance-left: calc((100% - 898px) / 2);
  }

  section.hc-hero-v3 .hc3m-benefits {
    width: 898px !important;
    max-width: 898px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  section.hc-hero-v3 .hc3m-benefit {
    overflow: visible !important;
  }
}

/* HERO TABLETTE HAUTE — TYPOGRAPHIE DES RÉASSURANCES */

@media (min-width:1001px) and (max-width:1099px) {
  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 13px !important;
  }

  section.hc-hero-v3 .hc3m-benefit-body {
    gap: 9px;
  }
}

/* TABLETTE BASSE — LARGEUR DU PANNEAU DE RÉASSURANCE */

@media (min-width:640px) and (max-width:899px) {
  section.hc-hero-v3 {
    --hc3m-reassurance-left: 28px;
  }

  section.hc-hero-v3 .hc3m-benefits {
    width: calc(100% - 56px) !important;
    max-width: none;
  }
}

/* HERO TABLETTE — RÉASSURANCES PAR TRANCHES FIXES */

@media (min-width:600px) and (max-width:799px) {
  section.hc-hero-v3 .hc3m-visual {
    bottom: calc( var(--hc3m-benefits-overlap) - 80px );
  }

  section.hc-hero-v3 .hc3m-benefits {
    margin-top: clamp( -110px, calc(-66px - 4vw), -90px ) !important;
  }

  section.hc-hero-v3 .hc3m-benefit {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-height: 174px !important;
    padding: 16px 14px !important;
    text-align: center;
  }

  section.hc-hero-v3 .hc3m-benefit-icon {
    width: 42px;
    height: 42px;
    color: var(--hc3m-blue);
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  section.hc-hero-v3 .hc3m-benefit-body {
    align-items: center;
    gap: 9px;
    width: 100%;
    text-align: center;
  }

  section.hc-hero-v3 .hc3m-benefit-title {
    text-align: center;
  }

  section.hc-hero-v3 .hc3m-benefit-text {
    max-width: 280px;
    font-size: 14px !important;
    text-align: center;
  }
}

@media (max-width: 799px) {
  section.hc-hero-v3 {
    --hc3m-benefits-top: 50px;
    --hc3m-leading-benefits-content-top: 15px;
  }

  section.hc-hero-v3 .hc3m-copy {
    top: 20px;
  }

  section.hc-hero-v3 .hc3m-benefits {
    top: var(--hc3m-benefits-top);
    margin-bottom: 50px !important;
  }

  section.hc-hero-v3 .hc3m-benefit:nth-child(-n + 2) > :where(.hc3m-benefit-icon, .hc3m-benefit-body) {
    position: relative;
    top: var(--hc3m-leading-benefits-content-top);
  }
}

@media (max-width: 715px) {
  section.hc-hero-v3 {
    --hc3m-benefits-top: 10px;
    --hc3m-leading-benefits-content-top: 10px;
    --hc3m-trailing-benefits-content-top: 3px;
  }

  section.hc-hero-v3 .hc3m-benefits {
    margin-bottom: 10px !important;
  }

  section.hc-hero-v3 .hc3m-benefit:nth-child(n + 3) > :where(.hc3m-benefit-icon, .hc3m-benefit-body) {
    position: relative;
    top: var(--hc3m-trailing-benefits-content-top);
  }
}

@media (max-width: 700px) {
  section.hc-hero-v3 {
    --hc3m-benefits-top: 3px;
    --hc3m-benefit-text-top: 1px;
  }

  section.hc-hero-v3 .hc3m-benefit-text {
    position: relative;
    top: var(--hc3m-benefit-text-top);
  }
}

@media (max-width: 708px) {
  section.hc-hero-v3 .hc3m-copy {
    top: 0;
  }
}

@media (min-width:800px) and (max-width:1000px) {
  section.hc-hero-v3 .hc3m-visual {
    bottom: calc( var(--hc3m-benefits-overlap) - 20px );
  }

  section.hc-hero-v3 .hc3m-benefits {
    margin-top: clamp( -120px, calc(-76px - 4vw), -100px ) !important;
  }

  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 14px !important;
  }

  section.hc-hero-v3 .hc3m-benefit-body {
    gap: 9px;
  }
}

/* TABLETTE ÉTROITE — PANNEAU ET TEXTE */

@media (min-width:600px) and (max-width:639px) {
  section.hc-hero-v3 {
    --hc3m-reassurance-left: 15px;
  }

  section.hc-hero-v3 .hc3m-benefits {
    width: calc(100% - 30px) !important;
    max-width: none;
  }

  section.hc-hero-v3 .hc3m-copy {
    margin-left: 40px;
  }
}

/* HERO TABLETTE — ALIGNEMENT HORIZONTAL DU TEXTE */

@media (min-width:640px) and (max-width:1099px) {
  section.hc-hero-v3 .hc3m-copy {
    margin-left: 60px;
  }
}

/* HERO TABLETTE HAUTE — PERSONNAGE ET INTRODUCTION */

@media (min-width:992px) and (max-width:1099px) {
  section.hc-hero-v3 .hc3m-character {
    right: 0;
  }

}

section.hc-hero-v3 .hc3m-cta-tablet-icon {
  display: none;
}

/* HERO TABLETTE — RÈGLES COMMUNES */

@media (min-width:600px) and (max-width:1099px) {
  section.hc-hero-v3 .hc3m-character {
    top: clamp(12px,2vw,22px);
  }

  section.hc-hero-v3 .hc3m-cta-tablet-icon {
    display: inline-flex;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
  }

  section.hc-hero-v3 .hc3m-cta-tablet-icon svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  section.hc-hero-v3 .hc3m-cta-arrow {
    display: none;
  }
}

/* HERO TABLETTE — ANCRAGE VERTICAL DU BOUTON */

@media (min-width:768px) and (max-width:980px) {
  section.hc-hero-v3 .hc3m-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: calc( 100% - var(--hc3m-benefits-overlap) - 16px );
  }

  section.hc-hero-v3 .hc3m-cta {
    margin-top: auto !important;
  }
}

/* HERO TABLETTE BASSE — INTRODUCTION SUR TROIS LIGNES */

@media (min-width:600px) and (max-width:659px) {
  section.hc-hero-v3 .hc3m-cta {
    margin-top: 25px !important;
  }
}

/* HERO MOBILE — PERSONNAGE DE 450 À 498 PX */

@media (min-width:450px) and (max-width:498px) {
  section.hc-hero-v3 .hc3m-character {
    right: -18px;
    top: clamp( -10px, calc(276vw - 1252px), 78px );
  }
}

@media (min-width:481px) and (max-width:490px) {
  section.hc-hero-v3 .hc3m-character {
    transform: translateY(-30px);
  }
}

@media (min-width:471px) and (max-width:480px) {
  section.hc-hero-v3 .hc3m-character {
    top: 42.8px;
  }
}

/* HERO MOBILE — PERSONNAGE FLUIDE DE 499 À 599 PX */

@media (min-width:499px) and (max-width:599px) {
  section.hc-hero-v3 .hc3m-character {
    right: -28px;
    top: clamp( 20px, calc(367.42px - 58vw), 78px );
    height: clamp( 424px, calc(150vw - 324.5px), 574px ) !important;
  }
}

/* HERO MOBILE — PERSONNAGE À 480 PX ET MOINS */

@media (max-width:480px) {
  section.hc-hero-v3 .hc3m-character {
    height: clamp( 334.4px, 93.1vw, 402.8px ) !important;
  }
}

/* HERO MOBILE — PERSONNAGE DE 400 À 449 PX */

@media (min-width:400px) and (max-width:449px) {
  section.hc-hero-v3 .hc3m-character {
    right: -18px;
    top: clamp( -10px, calc(274.061px - 63.2653vw), 21px );
    height: clamp( 335px, calc(138.3673vw - 218.469px), 402.8px ) !important;
  }
}

/* HERO MOBILE — PERSONNAGE DE 350 À 399 PX */

@media (min-width:350px) and (max-width:399px) {
  section.hc-hero-v3 .hc3m-character {
    right: -18px;
    top: auto;
    bottom: 0;
    height: 83.75vw !important;
  }
}

/* HERO MOBILE — PERSONNAGE SOUS 350 PX */

@media (max-width:349px) {
  section.hc-hero-v3 {
    --hc3m-character-scale-origin: right bottom;
  }

  section.hc-hero-v3 .hc3m-character {
    top: 16px;
    height: 325.4px !important;
  }
}

@media (max-width:346px) {
  section.hc-hero-v3 {
    --hc3m-benefits-top: -14px;
  }

  section.hc-hero-v3 .hc3m-character {
    height: 318.9px !important;
  }
}

@media (max-width:340px) {
  section.hc-hero-v3 .hc3m-character {
    height: 312.5px !important;
  }
}

/* Audit fixes: keep anchors readable and make keyboard focus consistent */

section.hc-hero-v3 :where(.hc3-cta, .hc3m-cta) {
  -webkit-tap-highlight-color: transparent;
}

section.hc-hero-v3 :where(.hc3-benefit-text, .hc3m-benefit-text) a:focus-visible {
  outline: 2px solid #3b6aaa;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Chromium can drop the transparent artwork when a CSS mask is applied to WebP */

@media (min-width: 1100px) {
  section.hc-hero-v3 .hc3-character {
    -webkit-mask-image: none;
    mask-image: none;
  }
}

/* HC-HERO-WOW-003 — profondeur, lumière et micro-interactions */

section.hc-hero-v3 {
  --hc3-electric: #5fa9ff;
}

section.hc-hero-v3 :where(.hc3-cta, .hc3m-cta) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, #3569aa 0%, #4e82b3 56%, #2e5f9e 100%) !important;
  border-color: rgba(255, 255, 255, .2) !important;
  box-shadow: 0 12px 28px rgba(34, 80, 143, .26), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

section.hc-hero-v3 :where(.hc3-cta, .hc3m-cta)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -70%;
  left: -38%;
  width: 30%;
  height: 240%;
  opacity: .62;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .7), transparent);
  transform: rotate(20deg) translateX(0);
  transition: transform .55s cubic-bezier(.2, .8, .2, 1);
}

section.hc-hero-v3 :where(.hc3-cta, .hc3m-cta)::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 1px;
  border-radius: inherit;
  background: radial-gradient(circle at 78% 0%, rgba(255, 255, 255, .2), transparent 42%);
}

section.hc-hero-v3 :where(.hc3-cta, .hc3m-cta):hover::before {
  transform: rotate(20deg) translateX(510%);
}

@media (min-width: 1100px) {
  section.hc-hero-v3 .hc3-main::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 6%;
    right: 8%;
    width: min(31vw, 450px);
    aspect-ratio: 1;
    border: 1px solid rgba(78, 130, 179, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(78, 130, 179, .035), 0 0 0 74px rgba(78, 130, 179, .022);
    transform: rotate(-14deg);
    pointer-events: none;
  }

  section.hc-hero-v3 .hc3-main::after {
    content: "";
    position: absolute;
    z-index: 1;
    right: 3%;
    bottom: 12%;
    width: min(38vw, 560px);
    height: 45%;
    opacity: .85;
    background: radial-gradient(ellipse at center, rgba(71, 137, 210, .2) 0%, rgba(71, 137, 210, .08) 34%, transparent 72%);
    filter: blur(14px);
    pointer-events: none;
  }

  section.hc-hero-v3 .hc3-title {
    text-shadow: 0 2px 0 rgba(255, 255, 255, .72), 0 12px 34px rgba(25, 41, 61, .09);
  }

  section.hc-hero-v3 .hc3-title-accent {
    color: var(--hc3-electric);
    text-shadow: 0 0 24px rgba(78, 130, 179, .32);
  }

  section.hc-hero-v3 .hc3-visual::before {
    z-index: 0;
    right: 0;
    bottom: -4%;
    width: 84%;
    background: radial-gradient(circle, rgba(89, 157, 230, .24) 0%, rgba(78, 130, 179, .1) 34%, rgba(78, 130, 179, .025) 58%, transparent 73%);
    filter: blur(2px);
  }

  section.hc-hero-v3 .hc3-character {
    z-index: 2;
    filter: drop-shadow(0 26px 22px rgba(24, 48, 76, .2)) drop-shadow(0 0 28px rgba(78, 130, 179, .12));
  }

  section.hc-hero-v3 .hc3-proof {
    background: linear-gradient(145deg, rgba(255, 255, 255, .985), rgba(248, 251, 255, .95));
    border-color: rgba(78, 130, 179, .16);
    box-shadow: 0 30px 70px rgba(24, 52, 84, .13), 0 5px 18px rgba(30, 42, 56, .06), inset 0 1px 0 #fff;
  }

  section.hc-hero-v3 .hc3-benefit {
    transition: background-color .22s ease, transform .22s ease, box-shadow .22s ease;
  }

  section.hc-hero-v3 .hc3-benefit:hover {
    z-index: 2;
    background: rgba(244, 249, 255, .92);
    box-shadow: inset 0 3px 0 rgba(78, 130, 179, .48);
    transform: translateY(-3px);
  }

  section.hc-hero-v3 .hc3-benefit-icon {
    box-shadow: 0 8px 20px rgba(78, 130, 179, .1), inset 0 0 0 1px rgba(255, 255, 255, .74);
  }
}

@media (max-width: 1099px) {
  section.hc-hero-v3 .hc3m-stage::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 7%;
    right: -12%;
    width: min(64vw, 640px);
    aspect-ratio: 1;
    border: 1px solid rgba(78, 130, 179, .17);
    border-radius: 50%;
    box-shadow: 0 0 0 clamp(18px, 3vw, 36px) rgba(78, 130, 179, .03), 0 0 0 clamp(54px, 8vw, 90px) rgba(78, 130, 179, .018);
    transform: scaleY(.78) rotate(-14deg);
    pointer-events: none;
  }

  section.hc-hero-v3 .hc3m-visual::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 4%;
    right: -4%;
    width: min(59vw, 590px);
    height: 86%;
    opacity: .92;
    background: radial-gradient(ellipse at 55% 46%, rgba(91, 160, 235, .24) 0%, rgba(78, 130, 179, .1) 34%, transparent 70%);
    filter: blur(5px);
  }

  section.hc-hero-v3 .hc3m-character {
    z-index: 1;
    filter: drop-shadow(0 24px 20px rgba(23, 47, 76, .19)) drop-shadow(0 0 22px rgba(78, 130, 179, .12));
  }

  section.hc-hero-v3 .hc3m-title {
    text-shadow: 0 2px 0 rgba(255, 255, 255, .8), 0 10px 26px rgba(30, 50, 74, .08);
  }

  section.hc-hero-v3 .hc3m-benefit {
    border-color: rgba(78, 130, 179, .16);
    box-shadow: 0 12px 30px rgba(30, 57, 88, .09), 0 2px 5px rgba(24, 31, 40, .035), inset 0 1px 0 #fff;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  }

  section.hc-hero-v3 .hc3m-benefit:hover {
    border-color: rgba(78, 130, 179, .32);
    box-shadow: 0 17px 36px rgba(30, 57, 88, .13), inset 3px 0 0 rgba(78, 130, 179, .5);
    transform: translateY(-2px);
  }

  section.hc-hero-v3 .hc3m-benefit-icon {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  section.hc-hero-v3 .hc3m-copy {
    margin-left: calc(var(--hc3m-reassurance-left) + 4.5px);
    transform: translateY(var(--hc3m-copy-translate-y));
  }

  section.hc-hero-v3 .hc3m-benefit-title {
    letter-spacing: .00525em !important;
  }

  section.hc-hero-v3 :where(.hc3m-intro, .hc3m-platforms, .hc3m-cta) {
    position: relative;
    top: -5px;
  }

  section.hc-hero-v3 .hc3m-platforms {
    top: var(--hc3m-platforms-top);
  }

  section.hc-hero-v3 .hc3m-cta {
    top: var(--hc3m-cta-top);
  }

  section.hc-hero-v3 .hc3m-cta-tablet-icon {
    position: relative;
    left: -6px;
  }
}

@media (max-width: 1099px) {
  section.hc-hero-v3 .hc3m-benefit-icon img {
    transform: scale(1.334025);
  }
}

@media (min-width: 600px) and (max-width: 1099px) {
  section.hc-hero-v3 .hc3m-platforms + .hc3m-cta {
    margin-top: 46px !important;
  }
}

@media (max-width: 1040px) {
  section.hc-hero-v3 {
    --hc3m-copy-translate-y: -7px;
  }
}

@media (max-width: 980px) {
  section.hc-hero-v3 {
    --hc3m-benefit-icon-art-size: 39.9px;
  }
}

@media (max-width: 965px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 58.9px;
  }
}

@media (max-width: 950px) {
  section.hc-hero-v3 {
    --hc3m-benefit-title-size: 15px;
    --hc3m-cta-letter-spacing: 0.014em;
  }
}

@media (max-width: 930px) {
  section.hc-hero-v3 {
    --hc3m-benefit-icon-art-size: 37.9px;
  }
}

@media (max-width: 915px) {
  section.hc-hero-v3 {
    --hc3m-copy-translate-y: -17px;
    --hc3m-title-size: 55.9px;
  }
}

@media (max-width: 850px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 50.9px;
  }
}

@media (max-width: 799px) {
  section.hc-hero-v3 {
    --hc3m-copy-translate-y: -7px;
    --hc3m-title-size: 47.9px;
  }
}

@media (max-width: 750px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 45.9px;
  }
}

@media (max-width: 677px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 45.4px;
  }
}

@media (max-width: 670px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 44.9px;
  }
}

@media (max-width: 665px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 43.9px;
  }
}

@media (max-width: 655px) {
  section.hc-hero-v3 {
    --hc3m-benefit-text-top: 2px;
    --hc3m-intro-size: 13.5px;
    --hc3m-title-size: 41.9px;
  }
}

@media (max-width: 636px) {
  section.hc-hero-v3 {
    --hc3m-platforms-top: -7px;
    --hc3m-cta-top: -26px;
  }
}

@media (max-width: 625px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 39.9px;
  }
}

@media (max-width: 605px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 37.9px;
  }
}

@media (max-width: 600px) {
  section.hc-hero-v3 {
    --hc3m-benefit-icon-art-size: 41.7px;
    --hc3m-benefit-title-size: 18px;
    --hc3m-character-scale: 0.9;
    --hc3m-copy-translate-y: 23px;
    --hc3m-cta-top: -11px;
    --hc3m-leading-benefits-content-top: 2px;
    --hc3m-trailing-benefits-content-top: 1px;
  }

  section.hc-hero-v3 .hc3m-title-tablet {
    display: flex !important;
  }

  section.hc-hero-v3 .hc3m-title-mobile {
    display: none !important;
  }

  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 15px !important;
  }

  section.hc-hero-v3 .hc3m-benefit-body {
    position: relative;
    left: 3px;
  }
}

@media (max-width: 490px) {
  section.hc-hero-v3 {
    --hc3m-character-scale: 1;
    --hc3m-title-size: 36.9px;
  }

  section.hc-hero-v3 .hc3m-title-tablet {
    display: none !important;
  }

  section.hc-hero-v3 .hc3m-title-mobile {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 414px) {
  section.hc-hero-v3 {
    --hc3m-copy-translate-y: -7px;
    --hc3m-benefit-icon-art-size: 43.8px;
  }

  section.hc-hero-v3 .hc3m-benefit-body {
    transform: translateY(1px);
    padding-right: 3px;
  }

  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 14px !important;
  }
}

@media (max-width: 400px) {
  section.hc-hero-v3 {
    --hc3m-cta-top: -14px;
  }
}

@media (max-width: 393px) {
  section.hc-hero-v3 {
    --hc3m-cta-top: -16px;
  }
}

@media (max-width: 390px) {
  section.hc-hero-v3 {
    --hc3m-cta-top: -23px;
  }

  section.hc-hero-v3 .hc3m-intro {
    top: -12px;
  }

  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 13px !important;
  }
}

@media (max-width: 389px) {
  section.hc-hero-v3 {
    --hc3m-benefit-text-top: 3px;
  }
}

@media (max-width: 370px) {
  section.hc-hero-v3 {
    --hc3m-cta-letter-spacing: 0.02em;
  }

  section.hc-hero-v3 .hc3m-cta {
    padding-right: 14.8px !important;
    padding-left: 14.8px !important;
    font-size: 14.1px !important;
  }
}

@media (max-width: 361px) {
  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 12.5px !important;
  }
}

@media (max-width: 350px) {
  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 12.3px !important;
  }
}

@media (max-width: 349px) {
  section.hc-hero-v3 {
    --hc3m-benefit-icon-art-size: 40.3px;
  }

  section.hc-hero-v3 .hc3m-benefit-body {
    left: 1px;
  }
}

@media (max-width: 346px) {
  section.hc-hero-v3 {
    --hc3m-cta-top: -26px;
  }
}

@media (max-width: 340px) {
  section.hc-hero-v3 {
    --hc3m-title-size: 34.9px;
    --hc3m-benefit-icon-art-size: 39.1px;
  }

  section.hc-hero-v3 .hc3m-benefit-body {
    left: -6px;
  }

  section.hc-hero-v3 .hc3m-benefit-text {
    font-size: 11.8px !important;
  }

  section.hc-hero-v3 .hc3m-benefit-icon {
    position: relative;
    left: -4px;
  }
}

/* Accent unique du titre sous 1100 px : aucun palier intermédiaire. */
@media (max-width: 1099px) {
  section.hc-hero-v3 .hc3-title-accent {
    color: var(--hc3m-blue) !important;
    text-shadow: var(--hc3-title-accent-shadow, 0 0 24px rgba(78, 130, 179, .32));
  }
}

@media (prefers-reduced-motion: reduce) {
  section.hc-hero-v3 :where(.hc3-cta, .hc3m-cta)::before,
  section.hc-hero-v3 :where(.hc3-benefit, .hc3m-benefit) {
    transition: none;
  }
}
