    .page-transition-overlay {
      position: fixed;
      inset: 0;
      z-index: 4000;
      pointer-events: none;
      background:
        radial-gradient(1200px 520px at 82% 18%, rgba(253, 58, 37, 0.18) 0%, rgba(253, 58, 37, 0.07) 24%, transparent 56%),
        radial-gradient(900px 420px at 18% 82%, rgba(255,255,255,0.04) 0%, transparent 60%),
        linear-gradient(180deg, #070708 0%, #111114 100%);
      transform: translate3d(0, 100%, 0);
      transition: transform 0.62s cubic-bezier(0.19, 1, 0.22, 1);
      will-change: transform;
    }
    .page-transition-overlay::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.035) 48%, transparent 100%);
      opacity: 0.35;
      transform: translateX(-28%) skewX(-18deg);
      animation: pageTransitionSheen 0.95s ease-in-out both;
    }
    .page-transition-overlay::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.02) 40%, transparent 100%);
      opacity: 0.72;
    }
    .page-transition-brand {
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 2;
      transform: translate(-50%, -50%);
      font-size: clamp(42px, 8vw, 110px);
      line-height: 0.92;
      font-weight: 700;
      letter-spacing: -0.06em;
      color: rgba(255,255,255,0.9);
      text-shadow: 0 10px 40px rgba(0,0,0,0.28);
      white-space: nowrap;
      opacity: 0;
      filter: blur(10px);
      transition: opacity 0.24s ease, filter 0.36s ease, transform 0.50s cubic-bezier(0.19, 1, 0.22, 1);
    }
    .page-transition-brand span {
      display: inline-block;
      background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.72) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    .page-transition-brand::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -16px;
      width: min(140px, 48%);
      height: 1px;
      transform: translateX(-50%);
      background: linear-gradient(90deg, rgba(255,59,38,0) 0%, rgba(255,59,38,0.9) 50%, rgba(255,59,38,0) 100%);
      opacity: 0.78;
    }
    @keyframes pageTransitionSheen {
      0% { opacity: 0; transform: translateX(-42%) skewX(-18deg); }
      30% { opacity: 0.42; }
      100% { opacity: 0; transform: translateX(42%) skewX(-18deg); }
    }
    body.page-transition-init .page-transition-overlay,
    body.page-transition-leave .page-transition-overlay {
      transform: translate3d(0, 0, 0);
    }
    body.page-transition-enter .page-transition-overlay {
      transform: translate3d(0, -100%, 0);
    }
    body.page-transition-init .page-transition-brand,
    body.page-transition-leave .page-transition-brand {
      opacity: 1;
      filter: blur(0);
      transform: translate(-50%, -50%) scale(1);
    }
    body.page-transition-enter .page-transition-brand {
      opacity: 0;
      filter: blur(12px);
      transform: translate(-50%, -50%) scale(1.035);
    }
    #wrapper,
    main {
      transition: opacity 0.36s ease, transform 0.52s cubic-bezier(0.19, 1, 0.22, 1), filter 0.36s ease;
      will-change: opacity, transform;
    }
    body.page-transition-leave #wrapper,
    body.page-transition-leave main {
      opacity: 0.88;
      transform: scale(0.984) translateY(8px);
      filter: saturate(0.92) blur(1.5px);
    }
    @media (prefers-reduced-motion: reduce) {
      .page-transition-overlay,
      #wrapper,
      main {
        transition: none !important;
      }
    }

    /* ============================
       BENEFITS BENTO GRID
       ============================ */
    .benefits-bento {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }
    .bento-card {
      background: var(--neutral-100);
      border-radius: 32px;
      padding: 36px;
      box-shadow: 0px 7.77px 16px 0px rgba(0,0,0,0.06), 0px 3px 3px 0px rgba(0,0,0,0.10), 0px -8px 0px 0px rgba(0,0,0,0.05) inset, 0px 4px 0px 0px rgba(255,255,255,0.60) inset;
      display: flex;
      flex-direction: column;
      position: relative;
    }

    /* === Sequential glow border === */
    @property --bc {
      syntax: '<angle>';
      initial-value: 0deg;
      inherits: false;
    }
    @keyframes bc-spin { to { --bc: 360deg; } }
    @keyframes bento-seq {
      0%    { opacity: 0; }
      10%   { opacity: 1; }
      18%   { opacity: 1; }
      28%   { opacity: 0; }
      100%  { opacity: 0; }
    }
    .bento-card::before {
      content: '';
      position: absolute;
      inset: -2px;
      border-radius: 34px;
      padding: 2px;
      background: conic-gradient(from var(--bc),
        transparent 0%,
        transparent 68%,
        rgba(253,58,37,0.4) 80%,
        rgba(253,58,37,0.9) 88%,
        #ff8c6a 93%,
        #fff    96%,
        #ff8c6a 100%
      );
      /* Masque l'intérieur — seul l'anneau de 2px est visible */
      -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: 0;
      pointer-events: none;
      z-index: 2;
      animation: bc-spin 2s linear infinite, bento-seq 8s linear infinite;
    }
    /* Sequential delay: skills → delivery → ownership → human */
    .bento-card--skills::before   { animation-delay: 0s,  0s; }
    .bento-card--delivery::before { animation-delay: 0s, -6s; }
    .bento-card--ownership::before{ animation-delay: 0s, -4s; }
    .bento-card--human::before    { animation-delay: 0s, -2s; }
    .bento-visual {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px 0 28px;
      min-height: 200px;
    }
    .bento-content {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      width: 100%;
      text-align: center;
    }
    .bento-title { font-size: 18px; margin-bottom: 8px; }
    .bento-text  { font-size: 14px; line-height: 1.6; margin: 0; text-align: center; }
    /* Skill chips */
    .skills-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
    .skill-chip {
      display: flex; align-items: center; gap: 12px;
      padding: 14px 18px; background: var(--neutral-50);
      border-radius: 16px;
      box-shadow: 0px 2px 8px rgba(0,0,0,0.07), 0px -3px 0px rgba(0,0,0,0.05) inset, 0px 3px 0px rgba(255,255,255,0.60) inset;
      transition: transform 0.2s ease, box-shadow 0.2s ease; cursor: default;
    }
    .skill-chip:hover {
      transform: translateY(-3px);
      box-shadow: 0px 8px 20px rgba(0,0,0,0.10), 0px -3px 0px rgba(0,0,0,0.05) inset, 0px 3px 0px rgba(255,255,255,0.60) inset;
    }
    .skill-chip__icon {
      width: 38px; height: 38px; border-radius: 10px; background: var(--brand);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .skill-chip__icon .icon { font-size: 16px; color: #fff; }
    .skill-chip__label { font-size: 13px; font-weight: 600; color: var(--neutral-900); line-height: 1.3; }
    /* Process steps */
    .process-steps { display: flex; align-items: flex-start; width: 100%; justify-content: center; }
    .process-step  { display: flex; flex-direction: column; align-items: center; gap: 10px; }
    .process-step__connector { flex: 1; height: 2px; background: var(--neutral-200); margin-top: 28px; border-radius: 1px; }
    .process-step__circle {
      width: 56px; height: 56px; border-radius: 50%; background: var(--neutral-50);
      box-shadow: 0px 4px 12px rgba(0,0,0,0.09), 0px -3px 0px rgba(0,0,0,0.05) inset, 0px 3px 0px rgba(255,255,255,0.60) inset;
      display: flex; align-items: center; justify-content: center; transition: transform 0.2s ease;
    }
    .process-step__circle:hover { transform: scale(1.08); }
    .process-step__circle--active { background: var(--brand); box-shadow: 0px 6px 20px rgba(253,58,37,0.30); }
    .process-step__circle .icon { font-size: 20px; color: var(--neutral-500); }
    .process-step__circle--active .icon { color: #fff; }
    .process-step__label { font-size: 12px; font-weight: 600; color: var(--neutral-600); white-space: nowrap; }
    /* Ownership */
    .ownership-visual { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 100%; }
    .ownership-icon-wrap {
      width: 72px; height: 72px; border-radius: 22px; background: #2563eb;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 8px 24px rgba(37,99,235,0.28);
    }
    .ownership-icon-wrap .icon { font-size: 32px; color: #fff; }
    .ownership-badges { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; justify-content: center; }
    .ownership-badge {
      display: flex; align-items: center; gap: 8px; padding: 10px 16px;
      background: var(--neutral-50); border-radius: 12px; font-size: 13px;
      font-weight: 600; color: var(--neutral-800); box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    }
    .ownership-badge .icon { font-size: 13px; color: var(--brand); }
    /* Human flow */
    .human-flow { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 20px; width: 100%; justify-content: center; }
    .human-flow__node { display: flex; flex-direction: column; align-items: center; gap: 10px; }
    .human-flow__icon {
      width: 64px; height: 64px; border-radius: 20px; background: var(--neutral-50);
      box-shadow: 0px 4px 12px rgba(0,0,0,0.09), 0px -3px 0px rgba(0,0,0,0.05) inset, 0px 3px 0px rgba(255,255,255,0.60) inset;
      display: flex; align-items: center; justify-content: center;
    }
    .human-flow__node--accent .human-flow__icon { background: var(--brand); box-shadow: 0 6px 20px rgba(253,58,37,0.28); }
    .human-flow__node--accent .human-flow__icon .icon,
    .human-flow__node--success .human-flow__icon .icon { color: #fff; }
    .human-flow__node--success .human-flow__icon { background: #22c55e; box-shadow: 0 6px 20px rgba(34,197,94,0.22); }
    .human-flow__icon .icon { font-size: 24px; color: var(--neutral-500); }
    .human-flow__label { font-size: 12px; font-weight: 600; color: var(--neutral-600); }
    .human-flow__arrow { font-size: 20px; color: var(--neutral-300); margin-top: 22px; }
    .bento-card--human .bento-visual {
      flex-direction: column;
      align-items: center;
      gap: 12px;
      padding: 20px 0 18px;
    }
    .bento-card--human .human-flow {
      margin-bottom: 10px;
      gap: 12px;
    }
    .human-tags { display: flex; flex-wrap: nowrap; gap: 10px; justify-content: center; width: 100%; }
    .human-tag {
      display: inline-flex; align-items: center; justify-content: center;
      min-width: 0;
      padding: 9px 16px;
      border-radius: 14px;
      font-size: 12px; font-weight: 600;
      background: #fff; color: var(--neutral-800);
      box-shadow: 0 6px 18px rgba(0,0,0,0.08);
      white-space: nowrap;
    }
    .bento-card--human .bento-content {
      width: 100%;
      max-width: 520px;
      margin: 0 auto;
      text-align: center;
      align-items: center;
      gap: 8px;
    }
    .bento-card--human .bento-title,
    .bento-card--human .bento-text {
      text-align: center;
    }
    .bento-card--human .bento-text {
      max-width: 100%;
    }
    /* ============================
       PROCESS GRID
       ============================ */
    .process-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      position: relative;
    }
    .process-grid::before {
      content: '';
      position: absolute;
      top: 26px;
      left: 26px;
      right: 26px;
      height: 2px;
      background: linear-gradient(90deg, var(--brand) 0%, var(--neutral-200) 100%);
      z-index: 0;
      border-radius: 2px;
    }
    .psc {
      background: var(--neutral-100);
      border-radius: 24px;
      padding: 24px;
      box-shadow: 0px -8px 0px 0px rgba(0,0,0,0.05) inset, 0px 4px 0px 0px rgba(255,255,255,0.6) inset, 0px 7.77px 16px 0px rgba(0,0,0,0.06), 0px 3px 3px 0px rgba(0,0,0,0.10);
      display: flex;
      flex-direction: column;
      gap: 16px;
      position: relative;
      z-index: 1;
    }
    .psc-header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
    }
    .psc-icon {
      width: 52px; height: 52px;
      border-radius: 14px;
      background: linear-gradient(180deg, #1a1a1a 0%, #2e2e2e 100%);
      box-shadow: 0px 8px 24px rgba(0,0,0,0.28);
      display: flex; align-items: center; justify-content: center;
      font-size: 22px; color: #fff;
      flex-shrink: 0;
    }
    .psc-icon--final {
      background: linear-gradient(180deg, #111 0%, #2a2a2a 100%);
      box-shadow: 0px 8px 24px rgba(0,0,0,0.28);
    }
    /* Override template rouge sur les icônes process */
    .process-card .icon {
      background: linear-gradient(180deg, #1a1a1a 0%, #2e2e2e 100%) !important;
      box-shadow: 0px 8px 24px rgba(0,0,0,0.28) !important;
      color: #fff !important;
    }
    .psc-num {
      font-size: 32px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: -0.03em;
      color: var(--neutral-300);
    }
    .psc-num span { font-size: 16px; color: var(--neutral-200); }
    .psc-body { display: flex; flex-direction: column; gap: 10px; flex: 1; }
    .psc-title { font-size: 17px; line-height: 1.3; margin: 0; }
    .psc-text { font-size: 13px; line-height: 1.65; margin: 0; color: var(--neutral-500); }
    .psc-footer { margin-top: auto; }
    .psc-time {
      display: inline-flex; align-items: center;
      padding: 5px 12px; border-radius: 99px;
      border: 1px solid var(--neutral-300);
      font-size: 11px; font-weight: 700;
      letter-spacing: 0.08em; color: var(--neutral-500);
    }
    @media (max-width: 991px) {
      .process-grid { grid-template-columns: repeat(2, 1fr); }
      .process-grid::before { display: none; }
    }
    @media (max-width: 575px) {
      .process-grid { grid-template-columns: 1fr; }
    }

    /* ============================
       PROCESS SLIDER CARDS - overrides
       ============================ */
    /* Process header: titre gauche, flèches droite */
    .process-top-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 40px;
    }
    .process-top-header .heading-title {
      font-size: clamp(28px, 4vw, 48px);
    }
    @media (max-width: 767px) {
      .process-top-header { flex-direction: column; align-items: flex-start; gap: 20px; }
    }
    /* Override process-slide margin from template */
    .section-process .process-slide { margin-left: 0 !important; }
    /* Reset template's huge margins */
    .process-card .icon { margin-bottom: 0 !important; }
    .process-card .content { margin-bottom: 0 !important; }
    /* Card base */
    .process-card {
      border-radius: 24px !important;
      padding: 28px !important;
      gap: 0;
      min-height: 320px;
    }
    /* Top row: icon + number */
    .pc-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      margin-bottom: 32px;
    }
    .pc-top .icon {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: linear-gradient(180deg, #EA2B16 0%, #FF3B26 100%);
      box-shadow: 0 8px 24px rgba(255,59,0,0.28);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      color: #fff;
      flex-shrink: 0;
      margin: 0 !important;
    }
    .pc-num {
      font-size: 30px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: -0.04em;
      color: var(--neutral-200);
    }
    .pc-num em {
      font-style: normal;
      font-size: 15px;
      font-weight: 400;
      color: var(--neutral-200);
    }
    /* Content */
    .process-card .content {
      flex: 1;
      display: flex !important;
      flex-direction: column;
      gap: 12px;
    }
    .process-card .content .title {
      font-size: 18px;
      line-height: 1.3;
      padding-bottom: 16px;
      margin-bottom: 0;
    }
    .process-card .content .text {
      font-size: 14px;
      line-height: 1.65;
      margin: 0;
    }
    /* Bottom badge */
    .process-card .bot {
      margin-top: 28px;
    }
    .process-card .bot .time {
      font-size: 11px;
      letter-spacing: 0.08em;
      padding: 5px 12px 4px;
    }

    /* ============================
       IA WORKFLOW SECTION
       ============================ */
    .section-ia-workflow { padding: 100px 0; }

    /* Layout 2 colonnes direct (pas Bootstrap) */
    .ia-layout {
      display: flex;
      align-items: center;
      gap: 64px;
    }
    .ia-layout__text { flex: 0 0 380px; max-width: 380px; }
    .ia-layout__card { flex: 1; min-width: 0; }
    .section-ia-workflow .heading-title {
      font-size: 44px !important;
      line-height: 1.1;
    }
    .box-white .section-ia-workflow {
      padding-top: 76px;
    }
    .box-white .section-ia-workflow .ia-layout {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 34px;
    }
    .box-white .section-ia-workflow .ia-layout__text {
      flex: none;
      max-width: 820px;
      padding-top: 0;
      text-align: center;
    }
    .box-white .section-ia-workflow .heading-section {
      margin-bottom: 20px !important;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .box-white .section-ia-workflow .heading-title {
      font-size: clamp(56px, 4.7vw, 72px) !important;
      line-height: 1.04;
      letter-spacing: -0.045em;
      max-width: 820px;
      text-align: center;
    }
    .box-white .section-ia-workflow .ia-layout__text p.text-secondary {
      max-width: 760px;
      margin: 0 auto !important;
      font-size: 15px !important;
      line-height: 1.8 !important;
      text-align: center;
    }
    .box-white .section-ia-workflow .ia-layout__card {
      flex: none;
      min-width: 0;
      max-width: none;
      width: min(100%, 1160px);
      margin: 0 auto;
      padding-left: 0;
      justify-self: auto;
    }
    .works-ia-inline {
      padding: 0 !important;
      margin: 0 0 36px;
    }
    .works-ia-inline.section-ia-workflow {
      padding-bottom: 8px !important;
    }
    .works-ia-inline::before {
      display: none !important;
    }
    .works-ia-inline__intro {
      max-width: 760px;
      margin: 0 auto 24px;
      text-align: center;
    }
    .works-ia-inline__eyebrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 8px 18px;
      margin-bottom: 14px;
      border-radius: 999px;
      background: rgba(255, 59, 38, 0.08);
      color: var(--brand);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .works-ia-inline__title {
      margin: 0 0 10px;
      color: var(--on-surface);
      font-size: clamp(28px, 2.5vw, 40px);
      line-height: 1.08;
      letter-spacing: -0.035em;
    }
    .works-ia-inline__copy {
      max-width: 700px;
      margin: 0 auto;
      color: var(--secondary);
      font-size: 15px;
      line-height: 1.8;
    }
    .works-ia-inline .ia-layout {
      gap: 30px;
    }
    .works-ia-inline .ia-layout__text {
      max-width: 860px;
    }
    .works-ia-inline .ia-layout__card {
      width: min(100%, 1100px);
      margin: 0 auto;
    }
    @media (max-width: 1199px) {
      .ia-layout__text { flex: 0 0 320px; max-width: 320px; }
      .section-ia-workflow .heading-title { font-size: 38px !important; }
      .box-white .section-ia-workflow .ia-layout {
        gap: 30px;
      }
      .box-white .section-ia-workflow .ia-layout__text {
        max-width: 720px;
        padding-top: 0;
      }
      .box-white .section-ia-workflow .heading-title {
        font-size: clamp(44px, 4.2vw, 56px) !important;
        max-width: 720px;
      }
      .box-white .section-ia-workflow .ia-layout__text p.text-secondary {
        max-width: 700px;
      }
      .box-white .section-ia-workflow .ia-layout__card {
        max-width: none;
        width: min(100%, 1040px);
        margin: 0 auto;
      }
      .works-ia-inline {
        margin-bottom: 32px;
      }
    }
    @media (max-width: 991px) {
      .ia-layout { flex-direction: column; gap: 40px; }
      .ia-layout__text { flex: 1; max-width: 100%; }
      .ia-layout__card { width: 100%; }
      .section-ia-workflow .heading-title { font-size: 32px !important; }
      .box-white .section-ia-workflow {
        padding-top: 58px;
      }
      .box-white .section-ia-workflow .ia-layout {
        display: flex;
        gap: 28px;
      }
      .box-white .section-ia-workflow .ia-layout__text {
        flex: 1;
        max-width: 100%;
        padding-top: 0;
      }
      .box-white .section-ia-workflow .heading-title {
        max-width: 540px;
        font-size: 40px !important;
        line-height: 1.08;
      }
      .box-white .section-ia-workflow .ia-layout__text p.text-secondary {
        max-width: 560px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
      }
      .box-white .section-ia-workflow .ia-layout__card {
        width: 100%;
        padding-left: 0;
        justify-self: auto;
      }
      .works-ia-inline {
        margin-bottom: 28px;
      }
      .works-ia-inline__intro {
        margin-bottom: 22px;
      }
      .works-ia-inline__title {
        font-size: clamp(26px, 4.2vw, 34px);
      }
    }

    /* Card */
    .ia-wf-card {
      background: #fff;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 2px 4px rgba(0,0,0,0.04), 0 16px 48px rgba(0,0,0,0.11);
      border: 1px solid #e4e4e7;
    }

    /* Topbar */
    .ia-wf-topbar {
      display: flex; align-items: center; gap: 10px;
      padding: 13px 22px;
      background: #f4f4f5;
      border-bottom: 1px solid #e4e4e7;
    }
    .ia-wf-dots { display: flex; gap: 6px; }
    .ia-wf-dots span { width: 12px; height: 12px; border-radius: 50%; display: block; flex-shrink: 0; }
    .ia-wf-filename { font-size: 13px; color: #aaa; font-weight: 500; flex: 1; }
    .ia-wf-badge {
      display: inline-flex; align-items: center; gap: 5px;
      font-size: 12px; font-weight: 600; color: #16a34a;
      background: #f0fdf4; border-radius: 99px;
      padding: 4px 12px; border: 1px solid #bbf7d0;
    }
    .ia-wf-pulse {
      width: 7px; height: 7px; border-radius: 50%;
      background: #22c55e; display: inline-block;
      animation: pulseGreen 2s ease-in-out infinite;
    }
    @keyframes pulseGreen {
      0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
      50%      { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
    }

    /* Body */
    .ia-wf-body { padding: 30px 34px; }
    .ia-wf-example-tag {
      display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px;
      font-size: 11px; font-weight: 600; color: #888;
      letter-spacing: 0.04em; text-transform: uppercase;
      background: #f4f4f5; border-radius: 8px; padding: 8px 14px; margin-bottom: 22px;
    }
    .ia-wf-tag-nets { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
    .ia-wf-tag-nets .icon { font-size: 14px; line-height: 1; }
    .ia-wf-icon-svg {
      width: 14px;
      height: 14px;
      display: inline-block;
      flex-shrink: 0;
      vertical-align: middle;
    }
    .ia-wf-section-label {
      font-size: 10px; font-weight: 700; color: #c4c4c4;
      letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 12px;
    }

    /* Nodes flow */
    .ia-wf-flow-stack {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: 22px;
    }
    .ia-wf-flow-row {
      display: flex; align-items: stretch; margin-bottom: 0;
    }
    .ia-wf-node-card {
      display: flex; align-items: center; gap: 12px;
      background: #fafafa; border: 1.5px solid #e4e4e7;
      border-top: 3px solid var(--nc);
      border-radius: 14px; padding: 11px 14px;
      flex: 1 1 0; min-width: 0;
      min-height: 92px;
      animation: nodeIn 0.5s ease both;
    }
    @keyframes nodeIn {
      from { opacity: 0; transform: translateY(8px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .ia-wf-nc-icon {
      width: 38px; height: 38px; border-radius: 10px; background: var(--nc);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .ia-wf-nc-icon .icon { font-size: 16px; color: #fff; }
    .ia-wf-nc-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
    .ia-wf-nc-text strong {
      font-size: 13px; font-weight: 700; color: #111; line-height: 1.32;
      white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    }
    .ia-wf-nc-text span   {
      font-size: 12px; color: #aaa; line-height: 1.45;
      white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    }

    /* Animated arrow */
    .ia-wf-flow-arrow, .ia-wf-mini-arrow {
      position: relative; flex-shrink: 0;
      width: 40px; height: 20px;
      display: flex; align-items: center;
      justify-content: center;
      align-self: center;
    }
    .ia-wf-flow-arrow::before, .ia-wf-mini-arrow::before {
      content: '';
      position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
      width: calc(100% - 10px); height: 2px;
      background: repeating-linear-gradient(90deg, #d4d4d8 0, #d4d4d8 4px, transparent 4px, transparent 9px);
    }
    .ia-wf-flow-arrow::after, .ia-wf-mini-arrow::after {
      content: '';
      position: absolute; right: 0; top: 50%; transform: translateY(-50%);
      border: 5px solid transparent;
      border-left-color: #d4d4d8;
    }
    /* Traveling dot */
    .ia-wf-travel-dot {
      position: absolute; top: 50%; transform: translateY(-50%);
      width: 7px; height: 7px; border-radius: 50%;
      background: var(--fc, #f97316);
      box-shadow: 0 0 6px var(--fc, #f97316);
      animation: dotTravel 1.6s linear infinite;
      z-index: 1;
    }
    .ia-wf-mini-arrow .ia-wf-travel-dot { width: 5px; height: 5px; }
    @keyframes dotTravel {
      0%   { left: 0;    opacity: 0; }
      10%  { opacity: 1; }
      85%  { opacity: 1; }
      100% { left: calc(100% - 12px); opacity: 0; }
    }

    /* Platforms */
    .ia-wf-platforms-row { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 18px; }
    .ia-wf-platform {
      display: inline-flex; align-items: center; gap: 5px;
      padding: 5px 11px; border-radius: 99px;
      font-size: 12px; font-weight: 600;
      color: var(--pc); border: 1.5px solid var(--pc);
      background: #fff; opacity: 0.9;
      animation: platformPop 0.35s ease both;
    }
    @keyframes platformPop {
      from { opacity: 0; transform: scale(0.85); }
      to   { opacity: 0.9; transform: scale(1); }
    }
    .ia-wf-platform .icon { font-size: 12px; }
    .ia-wf-platform .ia-wf-icon-svg {
      width: 12px;
      height: 12px;
    }
    .ia-wf-platforms-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 0;
      border: 0;
      background: transparent;
      color: #707684;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0.01em;
      margin: -4px auto 18px;
      cursor: pointer;
      transition: color 0.2s ease, transform 0.2s ease;
    }
    .ia-wf-platforms-toggle::after {
      content: "";
      width: 6px;
      height: 6px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: rotate(45deg) translateY(-1px);
      transition: transform 0.2s ease;
    }
    .ia-wf-platforms-toggle:hover {
      color: #111111;
    }
    .ia-wf-platforms-toggle[aria-expanded="true"]::after {
      transform: rotate(-135deg) translateY(-1px);
    }

    /* Divider */
    .ia-wf-hr { height: 1px; background: #ebebeb; margin: 22px 0; }

    /* Secondary automations */
    .ia-wf-secondary-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }
    .ia-wf-auto-card {
      display: flex; align-items: flex-start; gap: 12px;
      background: #fafafa; border: 1px solid #e4e4e7;
      border-radius: 14px; padding: 14px 18px;
      animation: slideInRow 0.5s ease both;
      min-width: 0;
    }
    @keyframes slideInRow {
      from { opacity: 0; transform: translateX(-8px); }
      to   { opacity: 1; transform: translateX(0); }
    }
    .ia-wf-mini-node {
      width: 34px; height: 34px; border-radius: 9px;
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .ia-wf-mini-node .icon { font-size: 14px; color: #fff; }
    .ia-wf-auto-info { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
    .ia-wf-auto-info strong { font-size: 13px; font-weight: 700; color: #111; }
    .ia-wf-auto-info span   { font-size: 12px; color: #aaa; }
    .ia-wf-mini-arrow { width: 36px; }

    /* Responsive */
    @media (max-width: 767px) {
      .section-ia-workflow {
        padding: 56px 0 !important;
      }
      .works-ia-inline {
        margin-bottom: 8px;
      }
      .works-ia-inline.section-ia-workflow {
        padding-bottom: 8px !important;
      }
      .works-ia-inline__intro {
        margin-bottom: 18px;
      }
      .works-ia-inline__eyebrow {
        min-height: 34px;
        padding: 7px 14px;
        margin-bottom: 12px;
        font-size: 11px;
      }
      .works-ia-inline__title {
        font-size: 22px;
        line-height: 1.14;
      }
      .works-ia-inline__copy {
        font-size: 14px;
        line-height: 1.68;
      }
      .ia-layout {
        gap: 22px;
      }
      .ia-layout__text .heading-section {
        margin-bottom: 14px !important;
      }
      .section-ia-workflow .heading-title {
        font-size: 26px !important;
        line-height: 1.14;
      }
      .ia-layout__text p.text-secondary {
        margin-bottom: 0 !important;
        font-size: 14px !important;
        line-height: 1.65 !important;
      }
      .ia-cta-desktop {
        display: none !important;
      }
      .ia-cta-mobile {
        display: flex !important;
        width: fit-content;
        margin-top: 14px;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
      }
      .ia-wf-card {
        border-radius: 18px;
      }
      .ia-wf-topbar {
        padding: 10px 12px;
        gap: 8px;
      }
      .ia-wf-dots span {
        width: 10px;
        height: 10px;
      }
      .ia-wf-filename {
        display: none;
      }
      .ia-wf-badge {
        margin-left: auto;
        padding: 4px 10px;
        font-size: 11px;
        white-space: nowrap;
      }
      .ia-wf-body {
        padding: 14px;
      }
      .ia-wf-example-tag {
        padding: 9px 11px;
        margin-bottom: 14px;
        border-radius: 12px;
        font-size: 10px;
        line-height: 1.5;
        justify-content: center;
        text-align: center;
      }
      .ia-wf-tag-nets {
        width: 100%;
        justify-content: center;
      }
      .ia-wf-section-label {
        margin-bottom: 8px;
        text-align: center;
      }
      .ia-wf-platforms-row {
        justify-content: center;
        margin-bottom: 10px;
      }
      .ia-wf-platforms-row:not(.is-expanded) [data-ia-platform-extra] {
        display: none;
      }
      .ia-wf-platforms-toggle {
        display: inline-flex;
      }
      .ia-wf-flow-stack {
        gap: 10px;
        margin-bottom: 14px;
      }
      .ia-wf-flow-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin-bottom: 0;
      }
      .ia-wf-node-card {
        width: 100%;
        padding: 11px 12px;
        border-radius: 14px;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
      }
      .ia-wf-nc-icon {
        width: 36px;
        height: 36px;
        margin-top: 0;
      }
      .ia-wf-nc-text strong,
      .ia-wf-nc-text span {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
      }
      .ia-wf-nc-text {
        align-items: flex-start;
        text-align: left;
        flex: 1 1 auto;
      }
      .ia-wf-flow-arrow {
        display: flex;
        width: 20px;
        height: 28px;
        margin: 0 auto;
      }
      .ia-wf-flow-arrow::before {
        top: 0;
        left: 50%;
        width: 2px;
        height: calc(100% - 8px);
        transform: translateX(-50%);
        background: repeating-linear-gradient(180deg, #d4d4d8 0, #d4d4d8 4px, transparent 4px, transparent 9px);
      }
      .ia-wf-flow-arrow::after {
        top: auto;
        bottom: 0;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        border: 5px solid transparent;
        border-top-color: #d4d4d8;
        border-left-color: transparent;
      }
      .ia-wf-travel-dot {
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        animation: dotTravelVertical 1.6s linear infinite;
      }
      .ia-wf-hr {
        margin: 14px 0;
      }
      .ia-wf-secondary-grid {
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .ia-wf-auto-card {
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
        padding: 11px 12px;
        border-radius: 14px;
        text-align: left;
      }
      .ia-wf-auto-info {
        min-width: 0;
        align-items: flex-start;
        text-align: left;
        flex: 1 1 auto;
      }
      .ia-wf-auto-info strong,
      .ia-wf-auto-info span {
        white-space: normal;
      }
    }
    @keyframes dotTravelVertical {
      0%   { top: 0; opacity: 0; }
      10%  { opacity: 1; }
      85%  { opacity: 1; }
      100% { top: calc(100% - 12px); opacity: 0; }
    }
    @media (max-width: 480px) {
      .section-ia-workflow .heading-title {
        font-size: 24px !important;
      }
      .ia-wf-body {
        padding: 12px;
      }
      .ia-wf-node-card,
      .ia-wf-auto-card {
        padding: 10px 11px;
      }
      .ia-wf-example-tag {
        gap: 6px;
        margin-bottom: 12px;
      }
    }
    @media (min-width: 768px) {
      .ia-cta-mobile {
        display: none !important;
      }
    }

    /* ============================
       BOX NOIRE — STATS + TESTI
       ============================ */
    /* Stats */
    .bb-stats-block { padding: 72px 0 52px; }
    .bb-stats-head { text-align: center; margin-bottom: 40px; }
    /* heading-title handled by template */
    .bb-stats-desc {
      font-size: 14px; color: rgba(255,255,255,0.4);
      line-height: 1.7; max-width: 480px; margin: 0 auto;
    }
    .bb-stats-row {
      display: flex; align-items: stretch;
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 16px; overflow: hidden;
    }
    .bb-stat {
      flex: 1; padding: 32px 24px;
      display: flex; flex-direction: column; gap: 8px;
    }
    .bb-stat-num {
      font-size: 52px; font-weight: 800; line-height: 1;
      letter-spacing: -0.04em; color: #fff;
    }
    .bb-stat-num em { font-style: normal; color: var(--brand, #ff3b26); }
    .bb-stat-label {
      font-size: 10px; font-weight: 700; letter-spacing: 0.1em;
      text-transform: uppercase; color: rgba(255,255,255,0.35);
    }
    .bb-stat-sep { width: 1px; background: rgba(255,255,255,0.08); flex-shrink: 0; }
    @media (max-width: 767px) {
      .bb-stats-block { padding: 52px 0 36px; }
      .bb-stats-row { flex-direction: column; }
      .bb-stat-sep { width: 100%; height: 1px; }
      .bb-stat-num { font-size: 40px; }
      .bb-stat { padding: 22px 16px; }
    }
    /* Testi */
    .box-black {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 18% 8%, rgba(255,255,255,0.022) 0%, rgba(255,255,255,0.007) 24%, rgba(255,255,255,0) 52%),
        radial-gradient(circle at 82% 14%, rgba(255,255,255,0.018) 0%, rgba(255,255,255,0.005) 24%, rgba(255,255,255,0) 54%),
        linear-gradient(180deg, #050507 0%, #09090b 46%, #050508 100%);
      isolation: isolate;
    }
    .box-black::before,
    .box-black::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      filter: blur(110px);
      pointer-events: none;
      z-index: 0;
      opacity: 0.18;
      mix-blend-mode: screen;
    }
    .box-black::before {
      width: min(32vw, 460px);
      height: min(32vw, 460px);
      left: -8%;
      top: 10%;
      background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.012) 36%, rgba(255,255,255,0) 72%);
      animation: boxBlackGlowOne 26s ease-in-out infinite alternate;
    }
    .box-black::after {
      width: min(28vw, 380px);
      height: min(28vw, 380px);
      right: -6%;
      bottom: 12%;
      background: radial-gradient(circle, rgba(255,91,61,0.035) 0%, rgba(255,91,61,0.012) 34%, rgba(255,91,61,0) 72%);
      animation: boxBlackGlowTwo 30s ease-in-out infinite alternate;
    }
    .box-black > * {
      position: relative;
      z-index: 1;
    }
    @keyframes boxBlackGlowOne {
      0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.18; }
      50% { transform: translate3d(28px, -18px, 0) scale(1.06); opacity: 0.28; }
      100% { transform: translate3d(52px, 14px, 0) scale(1.02); opacity: 0.22; }
    }
    @keyframes boxBlackGlowTwo {
      0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.14; }
      50% { transform: translate3d(-24px, 24px, 0) scale(1.08); opacity: 0.22; }
      100% { transform: translate3d(-52px, -12px, 0) scale(1.04); opacity: 0.16; }
    }
    .bb-testi-block { padding: 0 0 72px; }
    .bb-testi-head {
      text-align: center;
      margin-bottom: 38px;
      max-width: 760px;
      margin-left: auto;
      margin-right: auto;
    }
    .bb-testi-desc {
      margin: 16px auto 0;
      max-width: 620px;
      font-size: 15px;
      line-height: 1.78;
      color: rgba(255,255,255,0.5);
    }
    .bb-testi-card {
      background:
        radial-gradient(circle at 12% 0%, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.018) 20%, rgba(255,255,255,0) 48%),
        linear-gradient(180deg, rgba(14,14,18,0.98) 0%, rgba(9,9,12,0.98) 100%);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 24px;
      padding: 36px 38px 34px;
      max-width: 720px; margin: 0 auto;
      position: relative;
      overflow: hidden;
      box-shadow: 0 24px 48px rgba(0,0,0,0.36), inset 0 1px 0 rgba(255,255,255,0.035);
      transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
    }
    .bb-testi-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 30px 58px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.05);
      border-color: rgba(255,255,255,0.12);
    }
    .bb-testi-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(145deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0) 34%),
        radial-gradient(circle at 86% 14%, rgba(253,58,37,0.09) 0%, rgba(253,58,37,0.02) 22%, rgba(253,58,37,0) 48%);
      pointer-events: none;
      opacity: 0.78;
    }
    .bb-testi-card::after {
      content: "";
      position: absolute;
      left: 38px;
      right: 38px;
      bottom: 0;
      height: 2px;
      background: linear-gradient(90deg, rgba(253,58,37,0) 0%, rgba(253,58,37,0.82) 18%, rgba(253,58,37,0.16) 100%);
      pointer-events: none;
    }
    .bb-testi-stars { display: flex; gap: 3px; margin-bottom: 16px; }
    .bb-testi-stars .icon { font-size: 13px; color: #f59e0b; }
    .bb-testi-quote {
      position: relative;
      z-index: 1;
      font-size: 18px;
      line-height: 1.82;
      color: rgba(255,255,255,0.84);
      margin: 0 0 26px;
      font-style: italic;
      max-width: 600px;
    }
    .bb-testi-author-row {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
      padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,0.08);
    }
    .bb-testi-author { display: flex; align-items: center; gap: 14px; }
    .bb-testi-avatar {
      width: 44px; height: 44px; border-radius: 50%;
      background: linear-gradient(135deg, #ff5038 0%, #fd3a25 100%);
      display: flex; align-items: center; justify-content: center;
      font-size: 15px; font-weight: 700; color: #fff; flex-shrink: 0;
      box-shadow: 0 12px 24px rgba(253,58,37,0.24);
    }
    .bb-testi-name { display: block; font-size: 15px; font-weight: 700; color: #fff; line-height: 1.3; }
    .bb-testi-role { display: block; font-size: 12px; color: rgba(255,255,255,0.42); margin-top: 3px; }
    .bb-testi-meta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 18px;
      padding: 7px 12px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.11);
      background: rgba(255,255,255,0.05);
      color: rgba(255,255,255,0.62);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .bb-testi-meta::before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #fd3a25;
      box-shadow: 0 0 10px rgba(253,58,37,0.6);
    }
    @media (max-width: 767px) {
      .bb-testi-block { padding: 8px 0 52px; }
      .box-black::before,
      .box-black::after {
        filter: blur(72px);
      }
      .bb-testi-head {
        margin-bottom: 22px;
      }
      .bb-testi-desc {
        font-size: 14px;
        line-height: 1.66;
        max-width: 100%;
        margin-top: 12px;
      }
      .bb-testi-card {
        padding: 22px 18px 20px;
        max-width: 100%;
        border-radius: 22px;
      }
      .bb-testi-stars {
        justify-content: flex-start;
        margin-bottom: 14px;
      }
      .bb-testi-quote {
        text-align: left;
        font-size: 15px;
        line-height: 1.72;
        max-width: 100%;
        margin-bottom: 20px;
      }
      .bb-testi-author-row {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        text-align: left;
        gap: 14px;
        padding-top: 16px;
      }
      .bb-testi-author {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
        gap: 12px;
      }
      .bb-testi-meta {
        margin-left: 0;
        margin-right: auto;
      }
      .bb-testi-ctas {
        justify-content: stretch;
        flex-wrap: wrap;
        width: 100%;
        gap: 10px;
      }
      .bb-testi-card::after {
        left: 18px;
        right: 18px;
      }
      .bb-testi-nav {
        margin-top: 12px;
      }
    }

    /* ============================
       SERVICES - layout & readability
       ============================ */
    .section-services .col-left {
      position: sticky;
      top: 80px;
      align-self: flex-start;
      margin-bottom: 0 !important;
    }
    /* Icône service */
    .svc-icon {
      width: 42px; height: 42px;
      border-radius: 12px;
      background: rgba(255,255,255,0.08);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      transition: background 0.3s ease;
    }
    .svc-icon .icon { font-size: 18px; color: var(--neutral-500); transition: color 0.3s ease; }
    .svc-name { flex: 1; }
    /* Icône quand item ouvert (fond sombre) */
    .accordion-action:not(.collapsed) .svc-icon { background: rgba(255,255,255,0.12); }
    .accordion-action:not(.collapsed) .svc-icon .icon { color: #fff; }
    /* Titre plus lisible */
    .section-services .accordion-faq_item .accordion-title {
      font-size: 22px;
      line-height: 30px;
      gap: 14px;
      align-items: center;
    }
    .section-services .accordion-faq_item .accordion-action:not(.collapsed) .accordion-title {
      font-size: 28px;
      line-height: 36px;
    }
    /* Numéro stylisé */
    .section-services .accordion-faq_item .accordion-title .num {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: var(--brand);
      opacity: 0.7;
      white-space: nowrap;
      align-self: flex-start;
      padding-top: 2px;
    }
    .section-services .accordion-action:not(.collapsed) .accordion-title .num {
      color: rgba(255,255,255,0.45);
      opacity: 1;
    }
    /* Padding réduit pour plus de densité */
    .section-services .accordion-faq_item { padding: 24px 28px; }
    .section-services .accordion-faq_item .accordion-content .text { padding-top: 16px; padding-bottom: 24px; }
    .section-services .row {
      row-gap: 32px;
    }
    .section-services .services-image {
      display: none;
    }
      @media (min-width: 992px) {
        .section-services .services-image {
          display: none;
        }
      }
    @media (max-width: 991px) {
      /* padding géré par --section-gap */
      .section-services .heading-section {
        margin-bottom: 20px !important;
      }
      .section-services .col-left {
        position: static;
        top: auto;
      }
      .section-services .accordion-faq_list {
        gap: 12px;
      }
    }
    @media (max-width: 767px) {
      .text-secondary,
      .bento-text,
      .fw-meta-text,
      .bb-about-text-desc,
      .ib-pack__desc,
      .accordion-body,
      .ib-contact-desc,
      .ib-cf-sub,
      .ib-footer-tagline,
      .section-services .accordion-faq_item .accordion-content .text,
      .section-process .text.text-secondary,
      .section-features .text-secondary,
      .box-white .section-ia-workflow .ia-layout__text p.text-secondary {
        font-size: 15px !important;
        line-height: 1.72 !important;
      }
      .bb-testi-quote {
        font-size: 17px !important;
        line-height: 1.78 !important;
      }
      .ia-wf-nc-text span,
      .ia-wf-auto-info span,
      .bb-testi-role,
      .ib-contact-method-val,
      .ib-footer-nav-col ul li a,
      .ib-footer-bottom p,
      .ib-footer-top-btn {
        font-size: 14px !important;
        line-height: 1.6 !important;
      }
      .section-services .heading-section,
      .section-services .col-left,
      .section-services .col-left .heading-title,
      .section-services .col-left p.effectFade.fadeUp {
        text-align: center;
      }
      .section-services .heading-sub {
        margin-left: auto;
        margin-right: auto;
      }
      .section-services .row {
        row-gap: 24px;
      }
      .section-services .accordion-faq_item {
        padding: 20px 18px;
        border-radius: 26px;
      }
      .section-services .accordion-faq_item .accordion-title,
      .section-services .accordion-faq_item .accordion-action:not(.collapsed) .accordion-title {
        font-size: 20px;
        line-height: 1.4;
        justify-content: center;
        text-align: center;
      }
      .section-services .accordion-faq_item .accordion-title {
        gap: 12px;
      }
      .section-services .accordion-faq_item .accordion-action {
        justify-content: center;
      }
      .section-services .accordion-faq_item .accordion-title .num {
        font-size: 11px;
        padding-top: 4px;
      }
      .section-services .accordion-faq_item .accordion-content .text,
      .section-services .accordion-faq_item .accordion-content {
        text-align: center;
      }
      .section-services .accordion-faq_item .accordion-content .text {
        padding-top: 14px;
        padding-bottom: 18px;
        font-size: 15px;
        line-height: 1.72;
      }
      .section-services .list-tags {
        gap: 8px;
        justify-content: center;
      }
      .section-services .list-tags .tags-item {
        padding: 8px 12px;
        font-size: 14px;
      }
      .section-services p.effectFade.fadeUp {
        margin-bottom: 0;
      }
    }

    /* ============================
       RÉALISATIONS - slider nav
       ============================ */
    .fw-slide-progress {
      flex: 1;
      height: 3px;
      background: rgba(0,0,0,0.10);
      border-radius: 3px; overflow: hidden;
      margin: 0 16px;
    }
    .fw-slide-progress-fill {
      height: 100%; width: 0%;
      background: linear-gradient(90deg, #fd3a25, #ff6b50);
      border-radius: 3px; transition: width 0.1s linear;
    }
    .fw-slide-nav {
      display: flex; align-items: center;
      gap: 12px;
      margin-top: 20px;
    }
    .fw-slide-arrows { margin-left: auto; }
    .fw-slide-dots { display: flex; gap: 8px; align-items: center; }
    .fw-slide-dots .swiper-pagination-bullet {
      width: 8px; height: 8px; border-radius: 50%;
      background: rgba(0,0,0,0.18); opacity: 1;
      transition: background 0.3s, transform 0.3s;
    }
    .fw-slide-dots .swiper-pagination-bullet-active {
      background: #fd3a25; transform: scale(1.3);
    }
    .fw-slide-arrows { display: flex; gap: 8px; }
    .fw-nav-btn {
      width: 40px; height: 40px; border-radius: 50%;
      border: 1px solid rgba(0,0,0,0.14);
      background: #fff;
      color: #111; display: flex; align-items: center; justify-content: center;
      cursor: pointer; font-size: 14px;
      box-shadow: 0 1px 4px rgba(0,0,0,0.08);
      transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
    }
    .fw-nav-btn:hover {
      background: #f5f5f5;
      border-color: rgba(0,0,0,0.22);
      box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    }
    /* Swiper override — hauteur uniforme sur tous les slides */
    .fw-swiper { align-items: stretch; }
    .fw-swiper .swiper-wrapper { align-items: stretch; }
    .fw-swiper .swiper-slide { height: auto; display: flex; flex-direction: column; }
    .fw-swiper .swiper-slide .featured-works-item { flex: 1; display: flex; flex-direction: column; }
    .fw-swiper .swiper-slide .featured-works-item .image { flex-shrink: 0; }
    .fw-swiper .swiper-slide .featured-works-item .content { flex: 1; }

    /* ============================
       RÉALISATIONS - redesign
       ============================ */
    .fw-work-card {
      overflow: hidden;
      border-radius: 34px;
      background: #fff;
      border: 1px solid rgba(0, 0, 0, 0.08);
      box-shadow: 0 18px 46px rgba(17,17,17,0.08), 0 4px 14px rgba(255,255,255,0.72) inset;
    }
    .fw-work-media {
      position: relative;
      aspect-ratio: 16 / 7;
      overflow: hidden;
      background:
        radial-gradient(circle at 50% 20%, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.36) 22%, transparent 58%),
        linear-gradient(180deg, #f3efea 0%, #ebe5de 100%);
      transition: aspect-ratio 0.35s ease;
    }
    .fw-work-media img,
    .fw-work-media video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      display: block;
      transition: transform 0.45s ease;
    }
    .fw-work-card:hover .fw-work-media img,
    .fw-work-card:hover .fw-work-media video {
      transform: scale(1.03);
    }
    .fw-preview-panel {
      width: 100%;
      height: 100%;
      display: none;
    }
    .fw-preview-panel.is-active {
      display: block;
    }
    .fw-ecom-rotator-track {
      display: flex;
      width: 100%;
      height: 100%;
      transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
      will-change: transform;
    }
    [data-ecom-rotator] .image,
    [data-ecom-rotator] .content {
      transition:
        opacity 0.38s ease,
        transform 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.38s ease;
      will-change: opacity, transform, filter;
    }
    [data-ecom-rotator].is-switching .image {
      opacity: 0.88;
      transform: translateY(8px) scale(0.986);
      filter: saturate(0.92);
    }
    [data-ecom-rotator].is-switching .content {
      opacity: 0.18;
      transform: translateY(18px);
      filter: blur(5px);
    }
    .fw-ecom-scene {
      flex: 0 0 100%;
      width: 100%;
      height: 100%;
      min-width: 100%;
      overflow: hidden;
    }
    .fw-preview-panel--desktop img,
    .fw-preview-panel--desktop video {
      object-position: center top;
      background: #ece8e3;
    }
    .fw-preview-panel--mobile {
      display: none;
      align-items: center;
      justify-content: center;
      padding: 26px 28px 18px;
      background: transparent;
    }
    .fw-preview-panel--mobile.is-active {
      display: flex;
    }
    .fw-work-media.is-mobile-preview {
      aspect-ratio: 16 / 11.1;
      background: linear-gradient(180deg, #f5f1eb 0%, #eee7df 100%);
    }
    .fw-work-media.is-mobile-preview .fw-preview-panel--mobile {
      align-items: center;
      justify-content: center;
      padding: 22px 24px 18px;
    }
    .fw-work-media.is-mobile-preview .fw-phone {
      width: min(16vw, 176px);
      margin: 0 auto;
      max-width: 100%;
    }
    .fw-ecom-mockup {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      background: linear-gradient(180deg, rgba(252,250,246,0.96) 0%, rgba(243,237,230,0.98) 100%);
    }
    .fw-ecom-mockup--desktop {
      padding: 14px 14px 18px;
      gap: 12px;
    }
    .fw-ecom-mockup__bar {
      display: flex;
      gap: 6px;
      align-items: center;
      padding: 0 4px;
    }
    .fw-ecom-mockup__bar span {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: rgba(17,17,17,0.16);
    }
    .fw-ecom-mockup__hero {
      border-radius: 20px;
      padding: 18px;
      min-height: 42%;
      background:
        linear-gradient(135deg, rgba(250,245,238,0.98) 0%, rgba(240,233,223,0.96) 100%),
        #f7f2ea;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      position: relative;
      overflow: hidden;
    }
    .fw-ecom-mockup__hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(17,17,17,0.08) 100%);
      pointer-events: none;
    }
    .fw-ecom-mockup__hero--dark {
      background: linear-gradient(135deg, rgba(33,29,27,0.98) 0%, rgba(66,55,47,0.94) 100%);
    }
    .fw-ecom-mockup__hero--dark .fw-ecom-mockup__eyebrow,
    .fw-ecom-mockup__hero--dark .fw-ecom-mockup__headline {
      color: #fff;
    }
    .fw-ecom-mockup__eyebrow,
    .fw-ecom-mockup__headline {
      position: relative;
      z-index: 1;
    }
    .fw-ecom-mockup__eyebrow {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.18em;
      color: rgba(17,17,17,0.58);
      text-transform: uppercase;
      margin-bottom: 8px;
    }
    .fw-ecom-mockup__headline {
      font-size: clamp(18px, 2vw, 28px);
      line-height: 1.05;
      font-weight: 700;
      color: #181818;
      max-width: 80%;
    }
    .fw-ecom-mockup__products {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      flex: 1 1 auto;
      min-height: 0;
    }
    .fw-ecom-product {
      min-width: 0;
      background: rgba(255,255,255,0.92);
      border-radius: 18px;
      padding: 10px;
      box-shadow: 0 8px 20px rgba(17,17,17,0.06);
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .fw-ecom-product img {
      width: 100%;
      aspect-ratio: 1 / 1.06;
      border-radius: 14px;
      object-fit: cover;
      display: block;
    }
    .fw-ecom-product span {
      font-size: 12px;
      line-height: 1.35;
      font-weight: 600;
      color: #1d1d1f;
    }
    .fw-ecom-mockup--mobile {
      padding: 10px 10px 14px;
      gap: 10px;
      background: linear-gradient(180deg, #fbfaf8 0%, #f0ebe5 100%);
    }
    .fw-ecom-mockup__phone-top {
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-weight: 700;
      color: rgba(17,17,17,0.54);
      text-align: center;
    }
    .fw-ecom-mockup__phone-hero img {
      width: 100%;
      height: 54%;
      min-height: 120px;
      border-radius: 18px;
      object-fit: cover;
      display: block;
    }
    .fw-ecom-mockup__phone-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      flex: 1 1 auto;
    }
    .fw-ecom-mockup__phone-grid img {
      width: 100%;
      height: 100%;
      min-height: 92px;
      border-radius: 16px;
      object-fit: cover;
      display: block;
    }
    .fw-ecom-rotator-dots {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(253,58,37,0.08);
      border: 1px solid rgba(253,58,37,0.12);
    }
    .fw-ecom-rotator-dots span {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: rgba(17,17,17,0.18);
      transition: transform 0.25s ease, background 0.25s ease;
      cursor: pointer;
    }
    .fw-ecom-rotator-dots span.is-active {
      transform: scale(1.35);
      background: #fd3a25;
    }
    .fw-ecom-rotator-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 12px 0 0;
    }
    .fw-ecom-rotator-btn {
      width: 34px;
      height: 34px;
      border-radius: 999px;
      border: 1px solid rgba(253,58,37,0.18);
      background: rgba(253,58,37,0.10);
      color: #fd3a25;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 18px rgba(253,58,37,0.10);
      transition: transform 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
    }
    .fw-ecom-rotator-btn:hover {
      transform: translateY(-1px);
      background: rgba(253,58,37,0.14);
      box-shadow: 0 12px 22px rgba(253,58,37,0.16);
    }
    .fw-ecom-rotator-btn .icon {
      font-size: 11px;
    }
    .fw-device-toggle {
      position: absolute;
      top: 18px;
      right: 18px;
      z-index: 8;
      display: inline-flex;
      gap: 6px;
      padding: 6px;
      border-radius: 999px;
      background: rgba(255,255,255,0.82);
      border: 1px solid rgba(0,0,0,0.06);
      box-shadow: 0 10px 22px rgba(0,0,0,0.08);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .fw-device-btn {
      border: none;
      background: transparent;
      color: rgba(9,9,11,0.56);
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      padding: 9px 12px;
      border-radius: 999px;
      transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
    }
    .fw-device-btn.is-active {
      background: #111;
      color: #fff;
    }
    .fw-device-btn:hover {
      transform: translateY(-1px);
    }
    .fw-phone {
      width: min(21vw, 230px);
      aspect-ratio: 10 / 19.5;
      border-radius: 36px;
      padding: 6px;
      background:
        linear-gradient(180deg, #c9c9cf 0%, #8f9097 16%, #232428 48%, #111215 100%);
      box-shadow:
        0 20px 32px rgba(0,0,0,0.10),
        0 6px 16px rgba(255,255,255,0.16),
        0 0 0 1px rgba(255,255,255,0.34) inset,
        0 1px 0 rgba(255,255,255,0.42) inset,
        0 -1px 0 rgba(0,0,0,0.18) inset;
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: stretch;
      justify-content: center;
    }
    .fw-phone::before {
      content: "";
      position: absolute;
      top: 9px;
      left: 50%;
      width: 40%;
      height: 16px;
      border-radius: 999px;
      transform: translateX(-50%);
      background: linear-gradient(180deg, rgba(20,20,24,0.98) 0%, rgba(38,38,42,0.94) 100%);
      box-shadow: 0 1px 0 rgba(255,255,255,0.05) inset;
      z-index: 3;
    }
    .fw-phone::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: 36px;
      pointer-events: none;
      background:
        linear-gradient(115deg, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0.05) 18%, transparent 38%),
        linear-gradient(290deg, rgba(255,255,255,0.12) 0%, transparent 18%);
      z-index: 2;
    }
    .fw-phone-hardware {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
    }
    .fw-phone-btn {
      position: absolute;
      background: linear-gradient(180deg, #5f6066 0%, #2d2f35 100%);
      box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 2px 6px rgba(0,0,0,0.16);
    }
    .fw-phone-btn--power {
      top: 30%;
      right: -2px;
      width: 3px;
      height: 18%;
      border-radius: 4px 0 0 4px;
    }
    .fw-phone-btn--volume-up {
      top: 24%;
      left: -2px;
      width: 3px;
      height: 10%;
      border-radius: 0 4px 4px 0;
    }
    .fw-phone-btn--volume-down {
      top: 36%;
      left: -2px;
      width: 3px;
      height: 10%;
      border-radius: 0 4px 4px 0;
    }
    .fw-phone-btn--action {
      top: 16%;
      left: -2px;
      width: 3px;
      height: 7%;
      border-radius: 0 4px 4px 0;
    }
    .fw-phone-screen {
      width: 100%;
      height: 100%;
      overflow: hidden;
      border-radius: 31px;
      background: #fff;
      position: relative;
      z-index: 1;
      clip-path: inset(0 round 31px);
    }
    .fw-phone-screen::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 8px;
      width: 30%;
      height: 4px;
      transform: translateX(-50%);
      border-radius: 999px;
      background: rgba(18,18,22,0.22);
      z-index: 2;
      pointer-events: none;
    }
    .fw-phone-screen img,
    .fw-phone-screen video {
      width: 100%;
      height: 100%;
      margin: 0;
      border-radius: inherit;
      object-fit: cover;
      object-position: center top;
      background: #fff;
      transform: none;
      display: block;
    }
    .fw-work-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%);
      display: flex;
      align-items: flex-end;
      padding: 20px;
      opacity: 0;
      transition: opacity 0.28s ease;
      z-index: 5;
    }
    .fw-work-card:hover .fw-work-overlay {
      opacity: 1;
    }
    .fw-work-ov-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #fff;
      color: #111;
      border-radius: 100px;
      padding: 9px 20px;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      transition: background 0.2s ease, color 0.2s ease;
    }
    .fw-work-ov-btn:hover {
      background: var(--brand);
      color: #fff;
    }
    .fw-content-redesign {
      padding: 34px 36px 36px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .fw-card-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    .fw-category-tag {
      display: inline-flex;
      align-items: center;
      padding: 8px 14px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.015em;
      background: #fff1ed;
      color: var(--brand);
      border: 1px solid rgba(255,59,38,0.06);
      white-space: nowrap;
    }
    .fw-work-year {
      font-size: 13px;
      color: var(--neutral-400);
    }
    .fw-title {
      font-size: 36px;
      line-height: 1.12;
      letter-spacing: -0.04em;
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: 0;
      transition: transform 0.24s ease, color 0.24s ease;
    }
    .fw-work-card:hover .fw-title {
      transform: translateY(-2px);
    }
    .fw-meta-text {
      font-size: 16px;
      line-height: 1.72;
      color: var(--neutral-600);
      margin: 0;
      flex: 1;
    }
    .fw-meta-text.is-collapsed {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
    }
    .works-showcase-main .fw-meta-text[data-ecom-desc] {
      display: -webkit-box !important;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
    }
    .works-showcase-main [data-ecom-desc-toggle] {
      display: none !important;
    }
    .fw-chip-groups {
      display: flex;
      flex-direction: column;
      gap: 12px;
      width: 100%;
      min-width: 0;
    }
    .fw-chip-group {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      width: 100%;
      min-width: 0;
      max-width: 100%;
      max-height: none;
      overflow: visible;
      box-sizing: border-box;
      transition: max-height 0.24s ease;
    }
    .fw-chip-label {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(9,9,11,0.4);
      margin-right: 4px;
      white-space: nowrap;
    }
    .fw-chip {
      padding: 8px 12px;
      border-radius: 10px;
      font-size: 13px;
      font-weight: 600;
      background: var(--neutral-200);
      color: rgba(9,9,11,0.68);
      border: 1px solid rgba(0,0,0,0.05);
      transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
    }
    .fw-work-card:hover .fw-chip {
      transform: translateY(-2px);
      background: #f6f6f8;
      border-color: rgba(0,0,0,0.07);
    }
    .fw-chip-groups.is-collapsed .fw-chip-group {
      flex-wrap: nowrap;
      overflow: hidden;
      width: 100%;
      max-width: 100%;
    }
    .fw-chip-groups.is-collapsed .fw-chip {
      white-space: nowrap;
      flex: 0 0 auto;
    }
    .fw-chip-groups.is-expanded .fw-chip-group {
      flex-wrap: wrap;
      overflow: visible;
      max-height: none;
    }
    .fw-chip-groups.is-expanded .fw-chip {
      white-space: nowrap;
      flex: 0 0 auto;
    }
    @media (max-width: 767px) {
      .fw-chip-groups.is-collapsed .fw-chip-group {
        display: flex;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
        scroll-behavior: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
        scroll-snap-type: x proximity;
        padding-bottom: 2px;
      }
      .fw-chip-groups.is-collapsed .fw-chip-group::-webkit-scrollbar {
        display: none;
      }
      .fw-chip-groups.is-collapsed .fw-chip-label,
      .fw-chip-groups.is-collapsed .fw-chip {
        flex: 0 0 auto;
        scroll-snap-align: start;
      }
    }
    .fw-chip-groups.is-collapsed .fw-chip-group.is-draggable {
      cursor: grab;
      user-select: none;
    }
    .fw-chip-groups.is-collapsed .fw-chip-group.is-dragging {
      cursor: grabbing;
      scroll-behavior: auto;
    }
    .fw-ecom-more-btn {
      align-self: flex-start;
      padding: 0;
      border: none;
      background: transparent;
      color: #fd3a25;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.3;
      margin-top: 8px;
      transition: opacity 0.2s ease, transform 0.2s ease;
    }
    .fw-ecom-more-btn:hover {
      opacity: 0.82;
      transform: translateY(-1px);
    }
    .fw-ecom-more-btn[hidden] {
      display: none !important;
    }
    .fw-ecom-more-btn--tags {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 12px;
      margin-top: 10px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,0.06);
      background: #f6f6f8;
      color: rgba(9,9,11,0.72);
      font-size: 12px;
      font-weight: 600;
      line-height: 1;
      box-shadow: 0 2px 8px rgba(15,23,42,0.04);
      transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }
    .fw-ecom-more-btn--tags::before {
      content: "+";
      font-size: 13px;
      font-weight: 700;
      color: #fd3a25;
    }
    .fw-ecom-more-btn--tags:hover {
      opacity: 1;
      transform: translateY(-1px);
      background: #fff;
      border-color: rgba(253,58,37,0.16);
      color: rgba(9,9,11,0.82);
    }
    .fw-ecom-more-btn--tags.is-expanded::before {
      content: "-";
    }
    .fw-ecom-more-btn--tags.is-expanded {
      color: rgba(9,9,11,0.84);
      border-color: rgba(253,58,37,0.18);
      background: #fff;
    }
    .fw-card-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding-top: 18px;
      margin-top: auto;
      border-top: 1px solid rgba(0,0,0,0.06);
    }
    .fw-sector {
      font-size: 13px;
      color: var(--neutral-400);
    }
    .fw-cta-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 0;
      border-radius: 0;
      font-size: 15px;
      font-weight: 700;
      background: transparent;
      color: var(--neutral-900);
      white-space: nowrap;
      transition: color 0.2s ease, gap 0.2s ease;
    }
    .fw-cta-btn:hover { background: transparent; color: var(--brand); gap: 10px; }
    .fw-cta-btn .icon { font-size: 13px; }
    @media (max-width: 991px) {
      .fw-content-redesign { padding: 28px 30px 30px; }
      .fw-title { font-size: 28px; }
      .fw-work-media { aspect-ratio: 16 / 8; }
      .fw-phone { width: min(30vw, 220px); }
      .fw-work-media.is-mobile-preview {
        aspect-ratio: 16 / 11.8;
      }
    }
    @media (max-width: 767px) {
      .fw-swiper .featured-works-item { border-radius: 20px; }
      .fw-slide-nav { margin-top: 14px; }
      .fw-nav-btn { width: 36px; height: 36px; font-size: 12px; }
      .fw-work-card { border-radius: 20px; }
      .fw-work-media { aspect-ratio: 4 / 3; }
      .fw-device-toggle {
        top: 12px;
        right: 12px;
        padding: 5px;
        gap: 4px;
      }
      .fw-device-btn {
        padding: 8px 10px;
        font-size: 11px;
      }
      .fw-preview-panel--mobile { padding: 16px 10px 12px; }
      .fw-work-media.is-mobile-preview {
        aspect-ratio: 4 / 5.2;
      }
      .fw-work-media.is-mobile-preview .fw-preview-panel--mobile {
        align-items: center;
        justify-content: center;
        padding: 18px 12px 14px;
      }
      .fw-ecom-mockup--desktop {
        padding: 10px 10px 14px;
        gap: 10px;
      }
      .fw-ecom-mockup__hero {
        min-height: 44%;
        padding: 14px;
        border-radius: 16px;
      }
      .fw-ecom-mockup__headline {
        font-size: 16px;
        max-width: 92%;
      }
      .fw-ecom-mockup__products {
        gap: 8px;
      }
      .fw-ecom-product {
        padding: 8px;
        border-radius: 14px;
      }
      .fw-ecom-product span {
        font-size: 10px;
      }
      .fw-ecom-mockup__phone-grid {
        gap: 8px;
      }
      .fw-ecom-mockup__phone-grid img {
        min-height: 74px;
        border-radius: 12px;
      }
      .fw-ecom-rotator-dots {
        left: 10px;
        bottom: 10px;
        padding: 5px 8px;
      }
      .fw-content-redesign { padding: 20px 20px 22px; }
      .fw-title { font-size: 18px; line-height: 1.28; text-align: center; }
      .fw-card-header {
        justify-content: center;
        flex-wrap: wrap;
      }
      .fw-meta-text {
        text-align: center;
        font-size: 15px;
        line-height: 1.7;
      }
      .fw-chip-group {
        justify-content: center;
      }
      .fw-chip-label {
        flex-basis: 100%;
        margin-right: 0;
        text-align: center;
      }
      .fw-card-foot {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
      }
      .fw-cta-btn { justify-content: center; }
      .fw-work-overlay {
        padding: 14px;
        opacity: 1;
        background: linear-gradient(to top, rgba(0,0,0,0.38) 0%, transparent 50%);
      }
      .fw-work-ov-btn {
        padding: 8px 16px;
        font-size: 12px;
      }
    }
    @media (max-width: 575px) {
      .fw-content-redesign { padding: 18px 16px 20px; }
      .fw-phone { width: min(58vw, 220px); }
      .fw-work-media.is-mobile-preview .fw-phone { width: min(50vw, 212px); }
      .fw-meta-text { font-size: 14px; }
      .fw-chip { font-size: 12px; }
      .fw-slide-nav { gap: 10px; }
    }
    .works-subgrid-wrap {
      position: relative;
      margin-top: 28px;
    }
    .works-showcase-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 700px 700px !important;
      gap: 28px;
      align-items: stretch;
      width: 100%;
      justify-content: center;
    }
    .works-showcase-main,
    .works-showcase-side {
      min-width: 0;
    }
    .works-showcase-main {
      width: 700px;
      max-width: 700px;
    }
    .works-showcase-main .featured-works-list {
      margin: 0;
      width: 100%;
    }
    .works-showcase-main .fw-swiper,
    .works-showcase-main .fw-swiper .swiper-wrapper,
    .works-showcase-main .fw-swiper .swiper-slide,
    .works-showcase-main .fw-swiper .featured-works-item {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0;
    }
    .works-showcase-main .fw-work-card {
      height: 100%;
      box-shadow: 0 10px 22px rgba(17,17,17,0.035), 0 4px 12px rgba(255,255,255,0.68) inset;
    }
    .works-showcase-side {
      display: grid;
      grid-template-rows: minmax(0, 0.62fr) minmax(0, 0.38fr);
      gap: 12px;
      align-self: stretch;
      height: 100%;
      width: 100%;
      max-width: 700px !important;
      justify-self: end;
      justify-items: end;
    }
    .works-showcase-side > * {
      width: 700px !important;
      max-width: 700px !important;
      height: 100%;
      margin-left: auto;
    }
    .works-editorial-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
      align-items: stretch;
    }
    .works-editorial-grid--single {
      grid-template-columns: 1fr;
    }
    .works-branding-row {
      margin-top: 24px;
    }
    .works-side-project,
    .idx-shooting-showcase {
      min-width: 0;
      min-height: 100%;
      width: 100%;
      max-width: 700px !important;
    }
    .works-side-project .fw-work-card {
      height: 100%;
    }
    .works-showcase-main .fw-work-media {
      aspect-ratio: 16 / 7.7;
    }
    .works-showcase-main .fw-work-media.is-mobile-preview {
      aspect-ratio: 16 / 11.6;
    }
    .works-showcase-main .fw-content-redesign {
      padding: 16px 20px 18px;
      gap: 14px;
    }
    .works-showcase-main .fw-card-header,
    .idx-branding-body .fw-card-header,
    .idx-shooting-meta {
      display: none !important;
      visibility: hidden !important;
      height: 0 !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
    }
    .works-showcase-main .fw-work-media.is-mobile-preview .fw-preview-panel--mobile {
      padding: 24px 28px 20px;
    }
    .works-showcase-main .fw-work-media.is-mobile-preview .fw-phone {
      width: min(15vw, 170px);
    }
    @media (min-width: 992px) {
      .works-showcase-main [data-ecom-chip-group] {
        flex-wrap: nowrap;
        overflow: hidden;
      }
    }
    .fw-work-card--compact .fw-work-media {
      aspect-ratio: 1.38 / 1;
    }
    .fw-work-card--compact .fw-content-redesign {
      padding: 22px 22px 20px;
    }
    .fw-work-card--compact .fw-title {
      font-size: clamp(28px, 2vw, 36px);
      margin-bottom: 14px;
    }
    .fw-work-card--compact .fw-meta-text {
      font-size: 16px;
      line-height: 1.7;
      margin-bottom: 18px;
    }
    .fw-work-card--compact .fw-chip-groups {
      gap: 14px;
    }
    .fw-work-card--compact .fw-chip-group {
      gap: 8px;
    }
    .fw-work-card--compact .fw-chip {
      font-size: 13px;
    }
    .idx-shooting-showcase {
      border-radius: 32px;
      border: 1px solid rgba(0,0,0,0.05);
      background: #fff;
      box-shadow: var(--card-shadow);
      overflow: hidden;
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: transform 0.32s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s ease, border-color 0.28s ease;
    }
    .idx-shooting-showcase:hover {
      transform: translateY(-8px);
      border-color: rgba(0,0,0,0.08);
      box-shadow: 0 24px 42px rgba(0,0,0,0.1), 0 8px 0 rgba(20,20,20,0.04);
    }
    .idx-shooting-stage {
      position: relative;
      overflow: hidden;
      padding: 10px 10px 0;
      background: linear-gradient(180deg, #fbfaf8 0%, #f3efea 100%);
      opacity: 0;
      transition: opacity 0.2s ease;
      cursor: grab;
      touch-action: pan-y;
      user-select: none;
    }
    .idx-shooting-stage.is-ready {
      opacity: 1;
    }
    .idx-shooting-stage.is-dragging {
      cursor: grabbing;
    }
    .idx-shooting-stage--static {
      opacity: 1 !important;
    }
    .idx-shooting-static-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
      align-items: stretch;
    }
    .idx-shooting-static-grid .idx-shooting-tile {
      width: 100%;
      flex: none;
    }
    .idx-shooting-controls {
      position: absolute;
      top: 18px;
      right: 18px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .idx-shooting-control {
      width: 34px;
      height: 34px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,0.07);
      background: rgba(255,255,255,0.76);
      color: var(--t1);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 10px 24px rgba(15,23,42,0.08);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
      cursor: pointer;
    }
    .idx-shooting-control:hover {
      transform: translateY(-2px);
      border-color: rgba(0,0,0,0.12);
      box-shadow: 0 16px 28px rgba(15,23,42,0.13);
      background: #fff;
    }
    .idx-shooting-control .icon {
      font-size: 12px;
    }
    .idx-shooting-track {
      display: flex;
      gap: 6px;
      will-change: transform;
      transition: transform 0.65s ease;
    }
    .idx-shooting-stage.is-dragging .idx-shooting-track {
      transition: none !important;
    }
    .idx-shooting-tile {
      position: relative;
      overflow: hidden;
      border-radius: 20px;
      flex: 0 0 calc((100% - 18px) / 4);
      aspect-ratio: 9 / 16;
      background: #dfe3ea;
    }
    .idx-shooting-tile img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.45s ease;
      pointer-events: none;
      -webkit-user-drag: none;
      user-select: none;
    }
    .idx-shooting-tile:hover img {
      transform: scale(1.04);
    }
    .idx-shooting-tile::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.14) 0%, transparent 44%);
      pointer-events: none;
    }
    .idx-shooting-band {
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 16px 20px 18px;
      align-items: stretch;
      flex: 1 1 auto;
      min-height: 0;
    }
    .idx-shooting-band > div {
      display: flex;
      flex-direction: column;
      gap: 6px;
      flex: 1 1 auto;
      min-height: 0;
    }
    .idx-shooting-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 0;
    }
    .idx-shooting-title {
      font-size: 36px;
      line-height: 1.12;
      letter-spacing: -0.04em;
      color: var(--neutral-900);
      margin: 0;
      transition: transform 0.24s ease;
    }
    .idx-shooting-showcase:hover .idx-shooting-title {
      transform: translateY(-2px);
    }
    .idx-shooting-copy {
      font-size: 16px;
      line-height: 1.72;
      color: var(--neutral-600);
      margin: 0;
      max-width: none;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .idx-shooting-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .idx-shooting-link {
      align-self: flex-start;
      margin-top: 0;
    }
    .idx-branding-showcase {
      display: flex;
      flex-direction: column;
      border-radius: 32px;
      overflow: hidden;
      border: 1px solid rgba(0,0,0,0.05);
      background: #fff;
      box-shadow: var(--card-shadow);
      height: 100%;
      width: 100%;
      min-width: 0;
      max-width: 700px !important;
      transition: transform 0.32s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s ease, border-color 0.28s ease;
    }
    .idx-branding-showcase:hover {
      transform: translateY(-8px);
      border-color: rgba(0,0,0,0.08);
      box-shadow: 0 24px 42px rgba(0,0,0,0.1), 0 8px 0 rgba(20,20,20,0.04);
    }
    .idx-branding-reel {
      position: relative;
      flex: 0 0 auto;
      min-height: 104px;
      width: min(100%, 96%);
      max-width: min(100%, 96%);
      box-sizing: border-box;
      min-width: 0;
      padding: 14px 16px;
      background: linear-gradient(180deg, rgba(247,244,240,0.8) 0%, rgba(255,255,255,0.98) 100%);
      border: 1px solid rgba(0,0,0,0.04);
      border-radius: 16px;
      overflow: hidden;
      margin-top: 10px;
      align-self: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 0;
    }
    .idx-branding-reel--static {
      padding: 16px;
      gap: 0;
    }
    .idx-branding-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      width: 100%;
    }
    .idx-branding-grid .idx-branding-logo {
      width: 100%;
      min-width: 0;
      min-height: 0;
      height: auto;
      aspect-ratio: 1 / 1;
      border-radius: 18px;
    }
    .idx-branding-reel::before,
    .idx-branding-reel::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 20px;
      z-index: 2;
      pointer-events: none;
    }
    .idx-branding-reel::before {
      left: 0;
      background: linear-gradient(90deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0) 100%);
    }
    .idx-branding-reel::after {
      right: 0;
      background: linear-gradient(270deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0) 100%);
    }
    .idx-branding-track {
      --idx-branding-loop-gap: 6px;
      display: flex;
      flex-direction: row;
      gap: 12px;
      width: max-content;
      animation: idxBrandingScrollX 12s linear infinite;
      will-change: transform;
    }
    .idx-branding-track--row2 {
      animation-name: idxBrandingScrollXReverse;
    }
    .idx-branding-showcase:hover .idx-branding-track {
      animation-play-state: paused;
    }
    .idx-branding-logo {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 78px;
      min-height: 78px;
      width: 78px;
      height: 78px;
      padding: 10px;
      border-radius: 16px;
      background: rgba(255,255,255,0.84);
      border: 1px solid rgba(255,255,255,0.92);
      box-shadow: 0 4px 10px rgba(31,41,55,0.05);
      backdrop-filter: blur(10px);
      flex: 0 0 auto;
    }
    .idx-branding-logo img {
      width: 100%;
      max-width: 58px;
      max-height: 58px;
      object-fit: contain;
      display: block;
      filter: saturate(1.02) contrast(1.02);
    }
    .idx-branding-logo--text span {
      font-size: 14px;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: #1b1b1d;
    }
    .idx-branding-logo--signature {
      background: linear-gradient(180deg, #ff412c 0%, #fd3a25 100%);
      border-color: rgba(255,255,255,0.34);
      box-shadow:
        0 10px 24px rgba(253,58,37,0.24),
        0 2px 0 rgba(255,255,255,0.18) inset,
        0 -3px 10px rgba(0,0,0,0.08) inset;
    }
    .idx-branding-logo--signature span {
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: -0.06em;
      color: #101010;
      text-transform: none;
      white-space: nowrap;
    }
    @keyframes idxBrandingScrollX {
      0% { transform: translateX(0); }
      100% { transform: translateX(calc(-50% - var(--idx-branding-loop-gap))); }
    }
    @keyframes idxBrandingScrollXReverse {
      0% { transform: translateX(calc(-50% - var(--idx-branding-loop-gap))); }
      100% { transform: translateX(0); }
    }
    .idx-branding-body {
      padding: 10px 16px 10px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      overflow: hidden;
      height: 100%;
      flex: 1 1 auto;
    }
    .idx-branding-title {
      font-size: 36px;
      line-height: 1.12;
      letter-spacing: -0.04em;
      color: var(--neutral-900);
      margin: 0;
    }
    .idx-branding-copy {
      font-size: 16px;
      line-height: 1.48;
      color: var(--neutral-600);
      margin: 0;
      display: block;
      -webkit-line-clamp: unset;
      -webkit-box-orient: initial;
      overflow: visible;
      max-height: none;
      opacity: 1;
      margin-bottom: 0;
    }
    .idx-branding-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .idx-branding-foot {
      margin-top: auto;
      padding-top: 2px;
      border-top: 1px solid rgba(0,0,0,0.06);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
      min-width: 0;
    }
    .idx-branding-foot .fw-sector,
    .idx-branding-foot .fw-cta-btn,
    .idx-shooting-band .fw-sector,
    .idx-shooting-band .fw-cta-btn {
      min-width: 0;
    }
    .idx-branding-foot .fw-cta-btn,
    .idx-shooting-band .fw-cta-btn {
      white-space: normal;
    }
    @media (max-width: 1199px) {
      .works-showcase-grid {
        grid-template-columns: 1fr;
        gap: 22px;
      }
      .works-showcase-side {
        grid-template-rows: auto;
        height: auto;
        max-width: none;
        justify-self: stretch;
      }
    }
    @media (max-width: 991px) {
      .works-editorial-grid {
        grid-template-columns: 1fr;
        gap: 22px;
      }
      .works-showcase-main,
      .works-showcase-main .featured-works-list,
      .works-showcase-main .fw-swiper,
      .works-showcase-main .swiper-wrapper,
      .works-showcase-main .swiper-slide,
      .works-showcase-main .featured-works-item,
      .works-showcase-main .fw-work-card {
        width: 100% !important;
        max-width: 100% !important;
      }
      .works-showcase-main .fw-work-media {
        aspect-ratio: 16 / 8;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview {
        aspect-ratio: 16 / 11.8;
      }
      .works-showcase-main .fw-content-redesign {
        padding: 26px 24px 26px;
      }
      .works-showcase-main .fw-title {
        font-size: clamp(24px, 4vw, 32px);
      }
      .works-showcase-main .fw-meta-text {
        font-size: 15px;
        line-height: 1.7;
      }
      .fw-work-card--compact .fw-work-media {
        aspect-ratio: 1.42 / 1;
      }
      .idx-shooting-tile {
        flex-basis: calc((100% - 12px) / 3);
      }
      .idx-branding-reel {
        padding: 8px 10px;
      }
      .idx-branding-body {
        padding: 20px 22px 22px;
      }
    }
    @media (max-width: 767px) {
      .works-subgrid-wrap { margin-top: 20px; }
      .works-showcase-main .fw-work-card {
        border-radius: 22px;
      }
      .works-showcase-main .fw-work-media {
        aspect-ratio: 4 / 3.25;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview {
        aspect-ratio: 4 / 4.9;
      }
      .works-showcase-main .fw-device-toggle {
        top: 10px;
        right: 10px;
      }
      .works-showcase-main .fw-content-redesign {
        padding: 18px 16px 20px;
        gap: 14px;
      }
      .works-showcase-main .fw-card-header {
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
        width: 100%;
      }
      .works-showcase-main .fw-work-year {
        margin-left: auto;
        text-align: right;
      }
      .idx-branding-body .fw-card-header {
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
        width: 100%;
      }
      .idx-branding-body .fw-work-year {
        margin-left: auto;
        text-align: right;
      }
      .works-showcase-main .fw-title {
        font-size: 20px;
        line-height: 1.22;
        text-align: left;
      }
      .works-showcase-main .fw-meta-text {
        font-size: 14px;
        line-height: 1.66;
        text-align: left;
      }
      .works-showcase-main .fw-chip-groups {
        gap: 10px;
        align-items: flex-start;
      }
      .works-showcase-main .fw-chip-group {
        justify-content: flex-start;
      }
      .works-showcase-main .fw-chip-label {
        text-align: left;
      }
      .works-showcase-main .fw-chip {
        font-size: 12px;
        padding: 7px 10px;
      }
      .works-showcase-main .fw-card-foot {
        padding-top: 14px;
        align-items: flex-start;
        text-align: left;
      }
      .fw-work-card--compact .fw-content-redesign {
        padding: 18px 16px 20px;
      }
      .idx-shooting-controls {
        top: 12px;
        right: 12px;
        gap: 8px;
      }
      .idx-shooting-control {
        width: 38px;
        height: 38px;
      }
      .idx-shooting-tile {
        flex-basis: calc((100% - 16px) / 3);
      }
      .idx-shooting-band {
        padding: 16px 18px 18px;
        gap: 6px;
      }
      .idx-shooting-band > div {
        gap: 6px;
        min-height: 0;
      }
      .idx-shooting-title {
        font-size: 22px;
        line-height: 1.08;
      }
      .idx-shooting-copy {
        font-size: 14px;
        line-height: 1.55;
        max-width: none;
        -webkit-line-clamp: unset;
      }
      .idx-shooting-link {
        margin-top: 2px;
      }
      .idx-branding-title {
        font-size: 22px;
        line-height: 1.08;
      }
      .idx-branding-body {
        padding: 16px 18px 18px;
        gap: 6px;
      }
      .idx-branding-copy {
        font-size: 14px;
        line-height: 1.52;
        -webkit-line-clamp: unset;
        overflow: visible;
      }
      .idx-branding-reel {
        padding: 6px;
        border-radius: 16px;
        margin-top: 0;
        gap: 6px;
      }
      .idx-branding-reel::before,
      .idx-branding-reel::after {
        width: 20px;
      }
      .idx-branding-logo {
        min-width: 64px;
        min-height: 64px;
        width: 64px;
        height: 72px;
        border-radius: 16px;
        padding: 11px;
      }
      .idx-branding-logo img {
        max-width: 42px;
        max-height: 42px;
      }
      .idx-branding-foot {
        margin-top: 4px;
        padding-top: 8px;
      }
    }

    /* ============================
       ABOUT + STATS — merged block
       ============================ */
    /* === "Qui sommes-nous" — recentré et mieux intégré au bloc noir === */
    .box-black .light-box {
      position: absolute;
      top: -32px;
      width: min(760px, 74vw);
      height: 240px;
      z-index: 0;
      clip-path: none;
      border-radius: 999px;
      background:
        radial-gradient(circle at 50% 10%, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.028) 22%, rgba(255,255,255,0.012) 44%, rgba(255,255,255,0) 74%);
      backdrop-filter: blur(28px);
      opacity: 0.34;
      pointer-events: none;
      overflow: hidden;
      animation: boxBlackLightDrift 22s ease-in-out infinite alternate;
    }
    .box-black .light-box::before,
    .box-black .light-box::after {
      content: "";
      position: absolute;
      inset: -8%;
      pointer-events: none;
    }
    .box-black .light-box::before {
      background: linear-gradient(110deg, rgba(255,255,255,0) 26%, rgba(255,255,255,0.055) 48%, rgba(255,255,255,0) 68%);
      opacity: 0.08;
      transform: translateX(-18%) rotate(5deg);
      animation: boxBlackLightSweep 18s ease-in-out infinite;
    }
    .box-black .light-box::after {
      background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.016) 24%, rgba(255,255,255,0) 62%);
      opacity: 0.12;
      animation: boxBlackLightPulse 14s ease-in-out infinite alternate;
    }
    @keyframes boxBlackLightDrift {
      0% { transform: translate3d(-18px, 0, 0) scale(0.98); opacity: 0.22; }
      50% { transform: translate3d(0, 10px, 0) scale(1.02); opacity: 0.34; }
      100% { transform: translate3d(18px, -6px, 0) scale(1); opacity: 0.26; }
    }
    @keyframes boxBlackLightSweep {
      0%, 18% { transform: translateX(-24%) rotate(5deg); opacity: 0.04; }
      52% { transform: translateX(8%) rotate(5deg); opacity: 0.12; }
      100% { transform: translateX(22%) rotate(5deg); opacity: 0.06; }
    }
    @keyframes boxBlackLightPulse {
      0% { transform: scale(0.92); opacity: 0.08; }
      100% { transform: scale(1.04); opacity: 0.18; }
    }
    .bb-about-split { padding: 56px 0 0; }
    .bb-about-split__inner {
      position: relative;
      display: flex; flex-direction: column; align-items: center;
      gap: 18px; text-align: center;
      max-width: 780px;
      margin: 0 auto;
      padding: 34px 40px 28px;
      border-radius: 28px;
      border: 1px solid rgba(255,255,255,0.08);
      background: linear-gradient(180deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0.018) 100%);
      box-shadow: 0 24px 52px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.05);
      overflow: hidden;
    }
    .bb-about-split__inner::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 50% 0%, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 24%, rgba(255,255,255,0) 58%);
      pointer-events: none;
    }
    .bb-about-lead {
      max-width: 680px;
      position: relative;
      z-index: 1;
    }
    .bb-about-text-desc {
      font-size: 15px; line-height: 1.75;
      color: rgba(255,255,255,0.56); margin: 0; max-width: 620px;
      position: relative;
      z-index: 1;
    }
    .bb-about-split__stats {
      display: flex;
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 18px; overflow: hidden;
      max-width: 460px; width: 100%;
      background: rgba(255,255,255,0.025);
      backdrop-filter: blur(12px);
      position: relative;
      z-index: 1;
    }
    .bb-stat-v {
      flex: 1; padding: 12px 18px;
      border-right: 1px solid rgba(255,255,255,0.07);
      display: flex; flex-direction: column; align-items: center; gap: 3px;
    }
    .bb-stat-v:last-child { border-right: none; }
    .bb-stat-v-num {
      font-size: 28px; font-weight: 800;
      letter-spacing: -0.03em; line-height: 1; color: #fff;
    }
    .bb-stat-v-num em { font-style: normal; color: var(--brand, #ff3b26); }
    .bb-stat-v-label {
      font-size: 12px; font-weight: 500;
      color: rgba(255,255,255,0.38);
      white-space: nowrap;
    }
    @media (min-width: 992px) {
      .bb-about-split {
        padding: 28px 0 8px;
      }
      .bb-about-split__inner {
        gap: 20px;
        padding: 38px 48px 32px;
      }
      .bb-about-split__inner .heading-section {
        text-align: center;
      }
      .bb-about-lead {
        max-width: 760px;
      }
      .bb-about-lead .heading-title {
        font-size: clamp(44px, 4.2vw, 62px) !important;
        line-height: 1.02;
        letter-spacing: -0.04em;
        max-width: 660px;
        margin: 0 auto;
      }
      .bb-about-text-desc {
        max-width: 600px;
        text-align: center;
        font-size: 15px;
        line-height: 1.74;
      }
      .bb-about-split__stats {
        margin-left: 0;
        max-width: 540px;
      }
      .bb-stat-v {
        padding: 16px 20px;
      }
      .bb-stat-v-num {
        font-size: 36px;
      }
      .bb-stat-v-label {
        font-size: 12px;
      }
      .bb-section-sep {
        margin: 34px auto 40px;
      }
    }
    @media (max-width: 1199px) and (min-width: 992px) {
      .bb-about-lead {
        max-width: 620px;
      }
    }
    @media (max-width: 767px) {
      .bb-about-split {
        padding-top: 28px;
      }
      .bb-about-split__inner {
        gap: 16px;
        padding: 24px 18px 20px;
        border-radius: 22px;
        max-width: 100%;
      }
      .bb-about-lead {
        max-width: 100%;
      }
      .bb-about-lead .heading-title {
        font-size: 40px !important;
        line-height: 1.06;
        letter-spacing: -0.04em;
        max-width: 360px;
        margin: 0 auto;
      }
      .bb-testi-head .heading-title {
        font-size: 32px !important;
        line-height: 1.06;
        letter-spacing: -0.04em;
        max-width: 320px;
        margin: 0 auto;
      }
      .bb-about-text-desc {
        max-width: 34ch;
        font-size: 14px;
        line-height: 1.68;
      }
      .bb-about-split__stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        max-width: 100%;
        background: transparent;
        border: none;
        overflow: visible;
        backdrop-filter: none;
      }
      .bb-stat-v {
        justify-content: center;
        text-align: center;
        padding: 14px 10px;
        min-height: 88px;
        border-right: none;
        border-radius: 16px;
        border: 1px solid rgba(255,255,255,0.08);
        background: rgba(255,255,255,0.03);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
      }
      .bb-stat-v-num,
      .bb-stat-v-label {
        text-align: center;
      }
      .bb-stat-v-num {
        font-size: 24px;
      }
      .bb-stat-v-label {
        font-size: 12px;
        line-height: 1.35;
        white-space: normal;
        text-align: center;
      }
      .bb-section-sep {
        margin: 24px auto 30px;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .box-black::before,
      .box-black::after,
      .box-black .light-box,
      .box-black .light-box::before,
      .box-black .light-box::after {
        animation: none !important;
      }
      .bb-testi-card {
        transition: none;
      }
    }
    /* Séparateur court centré */
    .bb-section-sep {
      width: 44px; height: 1px;
      background: rgba(255,255,255,0.18);
      margin: 56px auto 56px;
      display: block;
    }
    /* Testi slider nav — override du template (group-btn-slider) */
    .bb-testi-nav {
      display: flex; justify-content: center; gap: 6px; margin-top: 16px;
    }
    .bb-testi-nav .nav-prev-swiper,
    .bb-testi-nav .nav-next-swiper {
      width: 24px !important; height: 24px !important;
      min-width: unset !important;
      background: #fff !important;
      box-shadow: none !important;
      border: 1px solid rgba(255,255,255,0.12) !important;
      border-radius: 50% !important;
      color: #111 !important;
      overflow: hidden !important;
      cursor: pointer;
      display: flex !important; align-items: center !important; justify-content: center !important;
      transition: color 0.2s, border-color 0.2s, background 0.2s !important;
    }
    .bb-testi-nav .nav-prev-swiper::before,
    .bb-testi-nav .nav-next-swiper::before { display: none !important; }
    .bb-testi-nav .nav-prev-swiper .icon,
    .bb-testi-nav .nav-next-swiper .icon {
      font-size: 8px !important; position: static !important;
    }
    .bb-testi-nav .nav-prev-swiper:hover,
    .bb-testi-nav .nav-next-swiper:hover {
      color: #111 !important;
      background: #f3f4f6 !important;
      border-color: rgba(255,255,255,0.22) !important;
    }
    /* Two CTA buttons */
    .bb-testi-ctas { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

    /* ============================
       PRICING CARDS — ib-pack
       ============================ */
    .ib-popular-col {
      position: relative;
    }
    .section-pricing .row.g-24 {
      --bs-gutter-x: 32px;
      --bs-gutter-y: 32px;
    }
    .section-pricing .row > [class*="col-"] {
      display: flex;
    }
    .section-pricing .ib-pack,
    .section-pricing .ib-glow-ring {
      width: 100%;
    }
    /* "Voir plus" CTA inside each card */
    .ib-pack__cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 58px;
      margin-top: auto;
      padding: 0 28px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,0.08);
      background: #f4f4f5;
      font-size: 15px;
      font-weight: 700;
      color: var(--neutral-900);
      cursor: pointer;
      transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
      text-decoration: none;
    }
    .ib-pack__cta .icon { font-size: 11px; transition: transform 0.2s ease; }
    .ib-pack__cta:hover {
      border-color: rgba(0,0,0,0.12);
      background: #f7f7f8;
      color: var(--neutral-900);
      box-shadow: 0 12px 24px rgba(0,0,0,0.08);
      transform: translateY(-2px);
    }
    .ib-pack__cta:hover .icon { transform: translateX(3px); }
    .ib-pack--popular .ib-pack__cta {
      border-color: rgba(255,255,255,0.10);
      background: rgba(255,255,255,0.05);
      color: #fff;
    }
    .ib-pack--popular .ib-pack__cta:hover {
      border-color: rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.06);
      color: #fff;
      box-shadow: 0 12px 24px rgba(0,0,0,0.24);
    }
    /* Bottom action buttons */
    .ib-pricing-actions {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;
      margin-top: 56px;
    }
    .ib-pricing-glow-btn {
      position: relative;
      background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        conic-gradient(
          from var(--ba),
          #fd3a25 0%,
          #ff8c42 18%,
          transparent 33%,
          transparent 100%
        ) border-box !important;
      border: 2px solid transparent !important;
      color: var(--neutral-900) !important;
      box-shadow: 0 0 24px 2px rgba(253,58,37,0.16);
      animation: ba-spin 5s linear infinite;
    }
    .ib-pricing-glow-btn:hover {
      color: var(--neutral-900) !important;
      transform: translateY(-1px);
    }
    .ib-btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 13px 28px;
      border-radius: 40px;
      border: none;
      background: #1c1c1e;
      font-size: 14px;
      font-weight: 600;
      color: #fff;
      text-decoration: none;
      transition: background 0.2s ease;
    }
    .ib-btn-outline:hover { background: #2e2e30; color: #fff; }
    .ib-pack {
      height: 100%;
      background: var(--neutral-100);
      border-radius: 34px;
      padding: 40px 36px 36px;
      display: flex;
      flex-direction: column;
      border: 1px solid rgba(0,0,0,0.05);
      box-shadow: 0 14px 34px rgba(0,0,0,0.08), 0 6px 0 rgba(20,20,20,0.03);
      transition: transform 0.34s cubic-bezier(.22,.61,.36,1), box-shadow 0.28s ease, border-color 0.28s ease;
    }
    .ib-pack:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 38px rgba(0,0,0,0.1), 0 6px 0 rgba(20,20,20,0.03);
    }
    .ib-pack--dark {
      background: #111;
      border-color: rgba(255,255,255,0.08);
      box-shadow: 0px 8px 24px rgba(0,0,0,0.30), 0px -6px 0px rgba(255,255,255,0.04) inset;
      position: relative;
      overflow: hidden;
    }
    .ib-pack--dark:hover {
      box-shadow: 0px 20px 40px rgba(0,0,0,0.40), 0px -6px 0px rgba(255,255,255,0.04) inset;
    }
    /* Rotating border via @property — seule technique fiable avec border-radius */
    @property --ba {
      syntax: '<angle>';
      initial-value: 0deg;
      inherits: false;
    }
    @keyframes ba-spin { to { --ba: 360deg; } }
    .ib-pack--popular {
      background:
        linear-gradient(#0f0f0f, #0f0f0f) padding-box,
        conic-gradient(
          from var(--ba),
          #fd3a25 0%,
          #ff8c42 18%,
          transparent 33%,
          transparent 100%
        ) border-box;
      border: 2px solid transparent;
      box-shadow: 0 0 28px 4px rgba(253,58,37,0.18);
      animation: ba-spin 5s linear infinite;
    }
    .ib-pack--popular:hover { transform: none; }
    /* Glow ring = simple transparent wrapper, aucune magie nécessaire */
    .ib-glow-ring {
      position: relative;
      height: 100%;
    }
    .ib-glow-ring > .ib-pack { height: 100%; }
    /* Header row */
    .ib-pack__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 30px;
    }
    .ib-pack__name {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 22px;
      font-weight: 700;
      letter-spacing: -0.04em;
      line-height: 1.12;
      color: var(--neutral-900);
    }
    .ib-pack__name .icon {
      font-size: 18px;
      color: var(--brand);
    }
    .ib-pack--dark .ib-pack__name { color: #fff; }
    .ib-pack--dark .ib-pack__name .icon { color: rgba(255,255,255,0.55); }
    .ib-pack--popular .ib-pack__name { color: #fff; }
    .ib-pack--popular .ib-pack__name .icon { color: var(--brand); }
    .ib-pack__tag {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--brand);
      background: rgba(253,58,37,0.10);
      border: 1px solid rgba(253,58,37,0.14);
      padding: 7px 16px;
      border-radius: 999px;
      white-space: nowrap;
    }
    .ib-pack--dark .ib-pack__tag {
      color: rgba(255,255,255,0.70);
      background: rgba(255,255,255,0.10);
    }
    .ib-pack--popular .ib-pack__tag {
      color: var(--brand);
      background: rgba(253,58,37,0.15);
    }
    /* Price */
    .ib-pack__price {
      padding: 22px 24px;
      border-radius: 20px;
      border: 1px solid rgba(0,0,0,0.08);
      background: #f4f4f5;
      margin-bottom: 28px;
    }
    .ib-pack__from {
      display: block;
      font-size: 13px;
      line-height: 1.4;
      color: var(--neutral-600);
      margin-bottom: 8px;
    }
    .ib-pack--dark .ib-pack__from,
    .ib-pack--popular .ib-pack__from { color: rgba(255,255,255,0.55); }
    .ib-pack__amount {
      font-size: 52px;
      font-weight: 800;
      line-height: 1;
      color: var(--neutral-900);
      letter-spacing: -0.05em;
    }
    .ib-pack__amount span {
      font-size: 18px;
      font-weight: 800;
      line-height: 1;
      color: var(--neutral-500);
      letter-spacing: -0.03em;
    }
    .ib-pack--dark .ib-pack__amount { color: #fff; }
    .ib-pack--dark .ib-pack__amount span { color: rgba(255,255,255,0.48); }
    .ib-pack--popular .ib-pack__amount { color: var(--brand); }
    .ib-pack--popular .ib-pack__amount span { color: rgba(255,255,255,0.48); }
    .ib-pack--dark .ib-pack__price,
    .ib-pack--popular .ib-pack__price {
      background: rgba(255,255,255,0.05);
      border-color: rgba(255,255,255,0.09);
    }
    /* Desc */
    .ib-pack__desc {
      font-size: 15px;
      line-height: 1.72;
      color: var(--neutral-600);
      margin: 0 0 30px;
    }
    .ib-pack--dark .ib-pack__desc { color: rgba(255,255,255,0.58); }
    .ib-pack--popular .ib-pack__desc { color: rgba(255,255,255,0.58); }
    /* Divider */
    .ib-pack__divider {
      height: 1px;
      background: rgba(0,0,0,0.08);
      margin-bottom: 30px;
      border-radius: 1px;
    }
    .ib-pack--dark .ib-pack__divider { background: rgba(255,255,255,0.10); }
    .ib-pack--popular .ib-pack__divider { background: rgba(255,255,255,0.10); }
    /* Features list */
    .ib-pack__features {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 15px;
      flex: 1;
    }
    .ib-pack__features li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 14px;
      line-height: 1.58;
      color: var(--neutral-700);
    }
    .ib-pack__features li .icon {
      font-size: 14px;
      color: var(--brand);
      margin-top: 2px;
      flex-shrink: 0;
    }
    .ib-pack--dark .ib-pack__features li { color: rgba(255,255,255,0.75); }
    .ib-pack--dark .ib-pack__features li .icon { color: rgba(255,255,255,0.50); }
    .ib-pack--popular .ib-pack__features li { color: rgba(255,255,255,0.78); }
    .ib-pack--popular .ib-pack__features li .icon { color: var(--brand); }

    /* Service pricing cards imported on the home page */
    .section-pricing {
      --bg-card: #ffffff;
      --border: rgba(0,0,0,0.08);
      --t1: #09090B;
      --t2: rgba(9,9,11,0.62);
      --t3: rgba(9,9,11,0.42);
      --brand-dim: rgba(253,58,37,0.10);
      --brand-border: rgba(253,58,37,0.14);
      --card-radius: 30px;
      --card-shadow: 0 14px 28px rgba(28,28,28,0.08), 0 5px 0 rgba(28,28,28,0.035);
      --title-track: -0.04em;
    }
    @keyframes sv-card-glow {
      0%, 100% { box-shadow: var(--card-shadow); }
      50% { box-shadow: 0 18px 34px rgba(28,28,28,0.1), 0 5px 0 rgba(28,28,28,0.03); }
    }
    .section-pricing .sv-pack-subgroup {
      margin-bottom: 40px;
    }
    .section-pricing .sv-pack-subhead {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 0;
      align-items: center;
      text-align: center;
    }
    .section-pricing .sv-pack-subtitle {
      margin: 0;
      font-size: 30px;
      line-height: 1.08;
      letter-spacing: -0.04em;
      color: var(--t1);
      font-weight: 700;
    }
    .section-pricing .sv-pack-subcopy {
      margin: 0;
      font-size: 16px;
      line-height: 1.72;
      color: var(--t2);
      max-width: 720px;
    }
    .section-pricing .sv-sub-card {
      background: var(--bg-card);
      border-radius: var(--card-radius);
      border: 1px solid rgba(0,0,0,0.05);
      box-shadow: var(--card-shadow);
      padding: 34px 32px;
      height: 100%;
    }
    .section-pricing .sv-sub-card.effectFade {
      transition: transform 0.34s var(--motion-smooth), box-shadow 0.28s ease, border-color 0.28s ease;
    }
    .section-pricing .sv-sub-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 38px rgba(0,0,0,0.1), 0 6px 0 rgba(20,20,20,0.03);
    }
    .section-pricing .sv-sub-card--signature {
      background: #111;
      border-color: rgba(255,255,255,0.08);
      box-shadow: 0px 8px 24px rgba(0,0,0,0.30), 0px -6px 0px rgba(255,255,255,0.04) inset;
      position: relative;
      overflow: hidden;
    }
    .section-pricing .sv-sub-card--signature::before {
      content: "";
      position: absolute;
      inset: -2px;
      border-radius: calc(var(--card-radius) + 2px);
      padding: 2px;
      background: conic-gradient(
        from var(--ba),
        rgba(253,58,37,0.0) 0%,
        rgba(253,58,37,0.0) 62%,
        rgba(253,58,37,0.45) 76%,
        rgba(255,140,66,0.95) 88%,
        rgba(255,255,255,0.9) 94%,
        rgba(255,140,66,0.95) 100%
      );
      -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: 0.92;
      pointer-events: none;
      animation: ba-spin 5s linear infinite;
    }
    .section-pricing .sv-sub-card--signature::after {
      content: "";
      position: absolute;
      inset: -1px;
      border-radius: calc(var(--card-radius) + 1px);
      background: radial-gradient(circle at 50% 0%, rgba(255,59,38,0.18), transparent 48%);
      opacity: 0.9;
      pointer-events: none;
    }
    .section-pricing .sv-sub-card--signature > * {
      position: relative;
      z-index: 1;
    }
    .section-pricing .sv-sub-card--signature:hover {
      box-shadow: 0 22px 42px rgba(0,0,0,0.34), 0px -6px 0px rgba(255,255,255,0.04) inset;
    }
    .section-pricing .sv-sub-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: var(--brand-dim);
      border: 1px solid var(--brand-border);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--brand);
      white-space: nowrap;
    }
    .section-pricing .sv-sub-card--signature .sv-sub-kicker {
      background: rgba(255,59,38,0.14);
      border-color: rgba(255,59,38,0.28);
    }
    .section-pricing .sv-sub-desc {
      font-size: 15px;
      line-height: 1.72;
      color: var(--t2);
      margin: 0 0 24px;
    }
    .section-pricing .sv-sub-card--signature .sv-sub-desc {
      color: rgba(255,255,255,0.58);
    }
    .section-pricing .sv-pack-card {
      display: flex;
      flex-direction: column;
      min-height: 100%;
    }
    .section-pricing .sv-pack-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 22px;
    }
    .section-pricing .sv-pack-name {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }
    .section-pricing .sv-pack-icon {
      width: 22px;
      height: 22px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--brand);
      font-size: 18px;
      flex-shrink: 0;
    }
    .section-pricing .sv-pack-name-text {
      font-size: 22px;
      font-weight: 700;
      letter-spacing: -0.04em;
      line-height: 1.12;
      color: var(--t1);
      margin: 0;
    }
    .section-pricing .sv-sub-card--signature .sv-pack-name-text {
      color: #fff;
    }
    .section-pricing .sv-pack-badge-wrap {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 8px;
      flex-shrink: 0;
    }
    .section-pricing .sv-pack-pricebox {
      padding: 18px 20px;
      border-radius: 20px;
      border: 1px solid rgba(0,0,0,0.08);
      background: #f4f4f5;
      margin-bottom: 22px;
    }
    .section-pricing .sv-sub-card--signature .sv-pack-pricebox {
      background: rgba(255,255,255,0.05);
      border-color: rgba(255,255,255,0.09);
    }
    .section-pricing .sv-pack-price-kicker {
      font-size: 13px;
      line-height: 1.4;
      color: var(--t2);
      margin: 0 0 8px;
    }
    .section-pricing .sv-sub-card--signature .sv-pack-price-kicker {
      color: rgba(255,255,255,0.55);
    }
    .section-pricing .sv-pack-price-row {
      display: flex;
      align-items: baseline;
      gap: 8px;
      margin-bottom: 6px;
    }
    .section-pricing .sv-pack-price-num {
      font-size: 56px;
      font-weight: 800;
      line-height: 1;
      letter-spacing: -0.05em;
      color: var(--t1);
    }
    .section-pricing .sv-sub-card--signature .sv-pack-price-num {
      color: var(--brand);
    }
    .section-pricing .sv-pack-price-unit {
      font-size: 18px;
      font-weight: 800;
      line-height: 1;
      color: var(--t3);
      letter-spacing: -0.03em;
    }
    .section-pricing .sv-sub-card--signature .sv-pack-price-unit {
      color: rgba(255,255,255,0.48);
    }
    .section-pricing .sv-pack-price-note {
      font-size: 13px;
      line-height: 1.55;
      color: var(--t2);
      margin: 0;
    }
    .section-pricing .sv-sub-card--signature .sv-pack-price-note {
      color: rgba(255,255,255,0.58);
    }
    .section-pricing .sv-pack-feature-list,
    .section-pricing .sv-pack-card .ib-pack__features {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
      flex: 1;
    }
    .section-pricing .sv-pack-feature-list li,
    .section-pricing .sv-pack-card .ib-pack__features li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 15px;
      line-height: 1.62;
      color: var(--t2);
    }
    .section-pricing .sv-pack-card .ib-pack__features li .icon {
      font-size: 14px;
      color: var(--brand);
      margin-top: 2px;
      flex-shrink: 0;
    }
    .section-pricing .sv-pack-feature-list li::before {
      content: "\2713";
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 14px;
      min-width: 14px;
      margin-top: 2px;
      flex-shrink: 0;
      color: var(--brand);
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
    }
    .section-pricing .sv-sub-card--signature .sv-pack-feature-list li,
    .section-pricing .sv-sub-card--signature .sv-pack-feature-list li * {
      color: rgba(255,255,255,0.72) !important;
    }
    .section-pricing .sv-pack-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 58px;
      margin-top: 24px;
      padding: 0 28px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,0.08);
      background: #f4f4f5;
      color: var(--t1);
      text-decoration: none;
      font-size: 15px;
      font-weight: 700;
      transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
      will-change: transform;
    }
    .section-pricing .sv-pack-cta:hover {
      transform: translateY(-2px);
      color: var(--t1);
      background: #f7f7f8;
      box-shadow: 0 12px 24px rgba(0,0,0,0.08);
    }
    .section-pricing .sv-sub-card--signature .sv-pack-cta {
      background: rgba(255,255,255,0.05);
      border-color: rgba(255,255,255,0.10);
      color: #fff;
    }
    .section-pricing .sv-sub-card--signature .sv-pack-cta:hover {
      color: #fff;
      background: rgba(255,255,255,0.08);
      box-shadow: 0 12px 24px rgba(0,0,0,0.24);
    }
    .section-pricing .sv-pack-stage {
      position: relative;
      perspective: 1400px;
    }
    .section-pricing .sv-pack-col {
      position: relative;
      z-index: 1;
      display: flex;
    }
    .section-pricing .sv-pack-col > .sv-pack-card {
      width: 100%;
      transition: transform 0.32s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s ease, opacity 0.28s ease;
    }
    .section-pricing .sv-pack-col--left,
    .section-pricing .sv-pack-col--right {
      z-index: 1;
    }
    .section-pricing .sv-pack-col--left > .sv-pack-card,
    .section-pricing .sv-pack-col--right > .sv-pack-card {
      transform: translateY(18px) scale(0.965);
      opacity: 0.96;
      box-shadow: 0 14px 30px rgba(0,0,0,0.08);
    }
    .section-pricing .sv-pack-col--featured {
      z-index: 3;
    }
    .section-pricing .sv-pack-col--featured .sv-sub-card--signature {
      transform: translateY(-10px) scale(1.02);
      box-shadow: 0 24px 44px rgba(0,0,0,0.28), 0px -6px 0px rgba(255,255,255,0.04) inset;
    }
    .section-pricing .sv-pack-col--featured .sv-sub-card--signature:hover {
      transform: translateY(-16px) scale(1.02);
    }
    .section-pricing .sv-pack-col--featured .sv-sub-card--signature:not(:hover) {
      animation: sv-card-glow 6.2s ease-in-out infinite;
    }
    @media (max-width: 991px) {
      .section-pricing .heading-section {
        margin-bottom: 40px !important;
      }
      .section-pricing .sv-pack-subgroup {
        margin-bottom: 30px;
      }
      .section-pricing .sv-pack-col--left > .sv-pack-card,
      .section-pricing .sv-pack-col--right > .sv-pack-card,
      .section-pricing .sv-pack-col--featured .sv-sub-card--signature,
      .section-pricing .sv-pack-col--featured .sv-sub-card--signature:hover {
        transform: none;
        opacity: 1;
      }
      .section-pricing .sv-pack-col--left > .sv-pack-card,
      .section-pricing .sv-pack-col--right > .sv-pack-card {
        box-shadow: var(--card-shadow);
      }
      .section-pricing .row {
        row-gap: 18px;
      }
      .ib-pack {
        padding: 30px 24px 24px;
        border-radius: 24px;
      }
      .ib-pack__header {
        margin-bottom: 22px;
      }
      .ib-pack__amount {
        font-size: 52px;
      }
      .ib-pack__amount span {
        font-size: 26px;
      }
    }
    @media (max-width: 767px) {
      .section-pricing {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
      }
      .section-pricing .heading-section {
        margin-bottom: 28px !important;
      }
      .section-pricing .heading-title br,
      .section-pricing .heading-title .h-8 {
        display: none !important;
      }
      .section-pricing .heading-title {
        display: block;
        font-size: 28px !important;
        line-height: 1.2;
      }
      .section-pricing .row {
        row-gap: 14px;
      }
      .ib-pack {
        padding: 22px 18px 18px;
        border-radius: 22px;
      }
      .ib-pack__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 18px;
      }
      .ib-pack__name {
        gap: 9px;
        font-size: 18px;
      }
      .ib-pack__name .icon {
        font-size: 18px;
      }
      .ib-pack__tag {
        font-size: 10px;
        padding: 4px 10px;
      }
      .ib-pack__price {
        margin-bottom: 16px;
      }
      .ib-pack__from {
        font-size: 11px;
        margin-bottom: 2px;
      }
      .ib-pack__amount {
        font-size: 42px;
      }
      .ib-pack__amount span {
        font-size: 22px;
      }
      .ib-pack__desc {
        font-size: 15px;
        line-height: 1.72;
        margin-bottom: 18px;
      }
      .ib-pack__divider {
        margin-bottom: 18px;
      }
      .ib-pack__features {
        gap: 10px;
      }
      .ib-pack__features li {
        align-items: flex-start;
        gap: 8px;
        font-size: 15px;
        line-height: 1.6;
      }
      .ib-pack__features li .icon {
        margin-top: 4px;
      }
      .ib-pack__cta {
        margin-top: 18px;
        padding: 9px 16px;
        font-size: 12px;
      }
      .ib-pricing-actions {
        margin-top: 28px;
        gap: 12px;
      }
      .ib-pricing-actions .tf-btn,
      .ib-pricing-actions .tf-btn-2 {
        width: 100%;
        justify-content: center;
      }
      .ib-pricing-glow-btn {
        box-shadow: 0 0 18px 2px rgba(253,58,37,0.14);
      }
    }
    @media (max-width: 480px) {
      .section-pricing .heading-title {
        font-size: 24px !important;
      }
      .ib-pack {
        padding: 20px 16px 16px;
      }
      .ib-pack__amount {
        font-size: 38px;
      }
      .ib-pack__amount span {
        font-size: 20px;
      }
      .ib-pack__features li {
        font-size: 15px;
      }
    }

    /* Responsive */
    @media (max-width: 1199px) { .bento-card { padding: 28px; } }
    @media (max-width: 991px) {
      .benefits-bento { grid-template-columns: 1fr 1fr; }
      .bento-card--skills, .bento-card--delivery,
      .bento-card--ownership, .bento-card--human { grid-column: auto; }
    }
    @media (max-width: 767px) {
      .section-benefits {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
      }
      .section-benefits .heading-section {
        margin-bottom: 28px !important;
      }
      .benefits-bento {
        gap: 14px;
      }
      .bento-card {
        padding: 20px 18px;
        border-radius: 24px;
      }
      .bento-card::before {
        display: block;
        inset: -1px;
        border-radius: 25px;
        padding: 1px;
        opacity: 0.55;
      }
      .bento-visual {
        min-height: 0;
        padding: 0 0 18px;
        justify-content: center;
      }
      .bento-content {
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;
        text-align: center;
      }
      .bento-title {
        font-size: 20px;
        line-height: 1.35;
        margin-bottom: 0;
      }
      .bento-text {
        font-size: 15px;
        line-height: 1.72;
      }
      .skills-chips {
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .skill-chip {
        padding: 10px 12px;
        border-radius: 14px;
      }
      .skill-chip__icon {
        width: 34px;
        height: 34px;
        border-radius: 10px;
      }
      .skill-chip__label {
        font-size: 15px;
        line-height: 1.4;
      }
      .process-steps {
        justify-content: space-between;
        gap: 8px;
      }
      .process-step {
        gap: 8px;
        flex: 1;
      }
      .process-step__connector {
        margin-top: 22px;
      }
      .process-step__circle {
        width: 42px;
        height: 42px;
      }
      .process-step__circle .icon {
        font-size: 15px;
      }
      .process-step__label {
        font-size: 15px;
        white-space: normal;
        text-align: center;
        line-height: 1.4;
      }
      .ownership-visual {
        align-items: center;
        gap: 14px;
      }
      .ownership-icon-wrap {
        width: 56px;
        height: 56px;
        border-radius: 18px;
      }
      .ownership-icon-wrap .icon {
        font-size: 24px;
      }
      .ownership-badges {
        gap: 6px;
        justify-content: center;
      }
      .ownership-badge {
        padding: 8px 12px;
        font-size: 14px;
        border-radius: 10px;
      }
      .human-flow {
        margin-bottom: 14px;
        justify-content: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      .human-flow__icon {
        width: 46px;
        height: 46px;
        border-radius: 14px;
      }
      .human-flow__icon .icon {
        font-size: 18px;
      }
      .human-flow__label {
        font-size: 14px;
        text-align: center;
      }
      .human-tags {
        justify-content: center;
        gap: 6px;
      }
      .human-tag {
        padding: 6px 10px;
        font-size: 14px;
      }
      .ib-pack { padding: 28px 24px 24px; }
      .ib-pack__amount { font-size: 40px; }
    }
    @media (max-width: 575px) {
      .benefits-bento { grid-template-columns: 1fr; }
      .bento-card { padding: 18px 16px; }
      .bento-visual {
        padding-bottom: 16px;
      }
      .bento-card::before {
        opacity: 0.45;
      }
      .bento-title {
        font-size: 17px;
      }
      .skills-chips {
        gap: 7px;
      }
      .process-steps {
        gap: 6px;
      }
      .process-step__connector {
        display: none;
      }
      .process-step {
        background: var(--neutral-50);
        border-radius: 14px;
        padding: 10px 8px;
      }
      .process-step__label {
        font-size: 11px;
        white-space: nowrap;
      }
      .bento-card--human .bento-visual {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        width: 100%;
      }
      .bento-card--human .human-flow {
        width: 100%;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 4px;
        flex-wrap: nowrap;
        margin-bottom: 0;
      }
      .bento-card--human .human-flow__node {
        flex: 1 1 0;
        min-width: 0;
        gap: 8px;
      }
      .bento-card--human .human-flow__arrow {
        flex: 0 0 18px;
        margin-top: 16px;
        font-size: 18px;
        color: var(--neutral-500);
        align-self: flex-start;
        transform: none;
        opacity: 0.7;
      }
      .bento-card--human .human-tags {
        width: 100%;
        max-width: 100%;
        margin: 0;
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 6px;
      }
      .bento-card--human .human-tag {
        flex: 1 1 0;
        min-width: 0;
        padding: 7px 6px;
        font-size: 10px;
        line-height: 1.3;
        text-align: center;
        white-space: normal;
      }
      .bento-card--human .bento-content {
        gap: 12px;
        text-align: center;
        align-items: center;
        width: 100%;
      }
      .bento-card--human .bento-content .bento-title,
      .bento-card--human .bento-content .bento-text {
        text-align: center;
        width: 100%;
      }
      .bento-card--human .human-flow {
        justify-content: center;
      }
      .bento-card--human .human-tags {
        justify-content: center;
      }
    }

    /* Hero tool icons — centré sous le titre */
    .hero-tool-icons {
      display: flex;
      justify-content: center;
      margin: 20px 0 8px;
    }

    /* Mise en ligne step — green */
    .process-step__circle--green {
      background: #22c55e !important;
      box-shadow: 0 6px 20px rgba(34,197,94,0.32) !important;
    }
    /* Testimonial CTA */
    .bb-testi-cta {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 9px 20px;
      border-radius: 24px;
      border: 1.5px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.07);
      font-size: 13px;
      font-weight: 600;
      color: rgba(255,255,255,0.75);
      text-decoration: none;
      transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
      backdrop-filter: blur(4px);
    }
    .bb-testi-cta .icon { font-size: 11px; transition: transform 0.2s ease; }
    .bb-testi-cta:hover { background: rgba(255,255,255,0.13); border-color: rgba(255,255,255,0.35); color: #fff; }
    .bb-testi-cta:hover .icon { transform: translateX(3px); }
    .bb-testi-head .heading-title {
      font-size: clamp(48px, 4.2vw, 66px) !important;
      line-height: 1.06;
      letter-spacing: -0.04em;
    }
    /* IA workflow section animations */
    .ia-layout__text, .ia-layout__card { opacity: 1; }
    .ia-wf-card { animation: wfCardIn 0.7s cubic-bezier(0.16,1,0.3,1) both; animation-delay: 0.2s; }
    @keyframes wfCardIn {
      from { opacity: 0; transform: translateY(28px) scale(0.97); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    /* Heading titles — normalize size across all sections */
    .heading-title { letter-spacing: -0.02em; }
    /* ==============================
       Section rhythm — espacement uniforme
       ============================== */
    :root {
      --section-gap: 96px;
      --section-separator-width: min(140px, 32vw);
      --section-separator-bg: linear-gradient(
        90deg,
        rgba(124, 132, 145, 0) 0%,
        rgba(124, 132, 145, 0.24) 20%,
        rgba(124, 132, 145, 0.4) 50%,
        rgba(124, 132, 145, 0.24) 80%,
        rgba(124, 132, 145, 0) 100%
      );
    }

    .section-services,
    .section-ia-workflow,
    .section-featured-works,
    .section-process,
    .section-benefits,
    .section-features,
    .bb-about-split,
    .bb-testi-block,
    .section-pricing,
    .section-faqs,
    .ib-contact-section {
      padding-top: var(--section-gap) !important;
      padding-bottom: var(--section-gap) !important;
    }

    /* flat-spacing reste utilisé par d'autres composants */
    .flat-spacing { padding-top: var(--section-gap); padding-bottom: var(--section-gap); }
    .bb-stats-block { padding: 56px 0 40px; }
    .bb-testi-block { padding: var(--section-gap) 0; }
    .heading-section.mb-70,
    .heading-section.mb-64,
    .heading-section.mb-48 {
      margin-bottom: 40px !important;
    }
    .heading-section.center {
      max-width: 860px;
      margin-left: auto;
      margin-right: auto;
    }
    .section-services .heading-section,
    .section-featured-works .heading-section,
    .section-benefits .heading-section,
    .section-features .heading-section,
    .section-pricing .heading-section,
    .section-faqs .heading-section,
    .bb-testi-head .heading-section {
      margin-bottom: 36px !important;
    }
    .bb-section-sep {
      display: none;
    }
    .works-section-cta {
      display: flex;
      justify-content: center;
      margin: -8px 0 36px;
    }
    .works-section-cta--after-grid {
      margin: 28px 0 44px;
    }
    .works-section-cta--after-ia {
      margin: 28px 0 0;
    }
    .works-section-cta .tf-btn {
      position: relative;
      isolation: isolate;
      min-width: 240px;
      padding: 12px 28px;
      font-size: 15px;
      justify-content: center;
      background: transparent;
      color: #111111;
      border: 0;
      box-shadow: 0 14px 30px rgba(17,17,17,0.1), 0 3px 0 rgba(17,17,17,0.08);
      overflow: hidden;
    }
    .works-section-cta .tf-btn::before,
    .works-section-cta .tf-btn::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
    }
    .works-section-cta .tf-btn::before {
      background: linear-gradient(115deg,
        rgba(17,17,17,0.16) 0%,
        rgba(17,17,17,0.96) 22%,
        rgba(120,120,120,0.36) 42%,
        rgba(17,17,17,0.96) 64%,
        rgba(17,17,17,0.16) 100%);
      background-size: 220% 100%;
      animation: worksOutlineFlow 3.4s linear infinite;
      z-index: -2;
    }
    .works-section-cta .tf-btn::after {
      inset: 2px;
      background: #ffffff;
      z-index: -1;
    }
    @keyframes worksOutlineFlow {
      0% { background-position: 0% 50%; }
      100% { background-position: 220% 50%; }
    }
    .works-section-cta .tf-btn:hover {
      background: rgba(17,17,17,0.04);
      color: #111111;
      box-shadow: 0 18px 34px rgba(17,17,17,0.12), 0 3px 0 rgba(17,17,17,0.08);
    }
    #works {
      isolation: isolate;
      overflow: hidden;
    }
    #works::after {
      display: none;
    }
    #works .heading-section,
    #works .works-subgrid-wrap,
    #works .works-section-cta,
    #works .works-ia-inline {
      position: relative;
      z-index: 1;
    }
    #works > .container {
      position: relative;
      z-index: 1;
    }
    .section-services,
    .section-featured-works,
    .section-process,
    .section-benefits,
    .section-features,
    .section-ia-workflow,
    .section-pricing,
    .section-faqs,
    .ib-contact-section,
    .bb-about-split,
    .bb-testi-block {
      position: relative;
    }
    .section-services::before,
    .section-ia-workflow::before,
    .section-featured-works::before,
    .section-process::before,
    .section-benefits::before,
    .section-features::before,
    .bb-about-split::before,
    .bb-testi-block::before,
    .section-pricing::before,
    .section-faqs::before,
    .ib-contact-section::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: var(--section-separator-width);
      height: 1px;
      transform: translate(-50%, -50%);
      background: var(--section-separator-bg);
      pointer-events: none;
      z-index: 2;
    }
    .box-white .section-featured-works::before,
    .box-white .section-ia-workflow::before,
    .box-white .section-process::before,
    .box-white .section-benefits::before,
    .box-white .section-features::before {
      background: var(--section-separator-bg);
    }
    /* IA → Réalisations : même position que les autres séparateurs */
    .box-white > .section-ia-workflow + #works::before {
      top: 0;
    }
    /* FAQ hors box-white → séparateur sombre (fond blanc) */
    #pricing::before {
      display: none;
    }
    #faqs::before {
      background: var(--section-separator-bg);
    }
    .section-benefits,
    .section-features,
    .bb-about-split,
    .bb-testi-block,
    .section-pricing,
    .section-faqs,
    .ib-contact-section {
      content-visibility: auto;
      contain-intrinsic-size: 1px 900px;
    }
    /* PC : agrandit les stats sans casser le rythme global */
    @media (min-width: 992px) {
      .bb-about-split__stats {
        max-width: 540px;
      }
      .bb-stat-v {
        padding: 16px 20px;
      }
      .bb-stat-v-num {
        font-size: 38px;
        letter-spacing: -0.04em;
      }
      .bb-stat-v-label {
        font-size: 13px;
        color: rgba(255,255,255,0.48);
      }
    }
    /* Le séparateur ::before est positionné à top:0 transform:translate(-50%,-50%)
       dans la base CSS — ce placement est exactement au milieu de la jonction
       entre deux sections adjacentes, quel que soit le gap. Aucun override nécessaire. */
    .box-white > #services::after {
      display: none;
    }
    .box-white {
      display: flex;
      flex-direction: column;
    }
    .box-white > #services { order: 1; }
    .box-white > .section-ia-workflow { order: 2; }
    .box-white > #works { order: 3; }
    .box-white > .section-benefits { order: 4; }
    .box-white > .section-process { order: 5; }
    .box-white > .section-features { order: 6; }
    .box-white > .section-features {
      padding-bottom: var(--section-gap) !important;
      margin-bottom: 0 !important;
    }
    .box-black > .bb-about-split {
      padding-top: var(--section-gap) !important;
    }
    @media (max-width: 991px) {
      :root {
        --section-gap: 72px;
        --section-separator-width: min(124px, 30vw);
      }
      .flat-spacing { padding-top: 72px; padding-bottom: 72px; }
      .section-ia-workflow { padding: 72px 0; }
      .heading-section.mb-70,
      .heading-section.mb-64,
      .heading-section.mb-48,
      .section-services .heading-section,
      .section-featured-works .heading-section,
      .section-benefits .heading-section,
      .section-features .heading-section,
      .section-pricing .heading-section,
      .section-faqs .heading-section,
      .bb-testi-head .heading-section {
        margin-bottom: 30px !important;
      }
      .box-white > .section-features {
        padding-bottom: var(--section-gap) !important;
      }
      .box-black > .bb-about-split {
        padding-top: var(--section-gap) !important;
      }
      .section-services::before,
      .section-featured-works::before,
      .section-process::before,
      .section-benefits::before,
      .section-features::before,
      .section-ia-workflow::before,
      .section-faqs::before {
        top: 0;
      }
    }
    @media (max-width: 575px) {
      .heading-section,
      .heading-section.center,
      .heading-title,
      .heading-sub,
      .bb-testi-head,
      .bb-testi-head .heading-section {
        text-align: center !important;
      }
      .heading-sub {
        margin-left: auto;
        margin-right: auto;
      }
      .section-process .heading-section,
      .section-process .heading-title {
        text-align: left !important;
      }
      .section-process .heading-sub {
        margin-left: 0;
        margin-right: auto;
      }
      /* espacements uniformes gérés par --section-gap */
      :root {
        --section-gap: 56px;
        --section-separator-width: min(96px, 28vw);
      }
      .flat-spacing { padding-top: 56px; padding-bottom: 56px; }
      .section-ia-workflow { padding: 56px 0; }
      .heading-section.mb-70,
      .heading-section.mb-64,
      .heading-section.mb-48,
      .section-services .heading-section,
      .section-featured-works .heading-section,
      .section-benefits .heading-section,
      .section-features .heading-section,
      .section-pricing .heading-section,
      .section-faqs .heading-section,
      .bb-testi-head .heading-section {
        margin-bottom: 24px !important;
      }
      /* padding géré par --section-gap */
      .bb-section-sep {
        margin: 22px auto 24px;
      }
      .box-white > .section-features {
        padding-bottom: var(--section-gap) !important;
      }
      .box-black > .bb-about-split {
        padding-top: var(--section-gap) !important;
      }
      .box-white > .section-ia-workflow::before,
      .box-white > #works::before,
      .box-white > .section-benefits::before,
      .box-white > .section-process::before,
      .box-white > .section-features::before,
      .box-black > .bb-about-split::before,
      .box-black > .bb-testi-block::before,
      #pricing::before,
      #faqs::before,
      #contact::before {
        width: var(--section-separator-width);
        top: 0;
      }
      .section-services::before,
      .section-featured-works::before,
      .section-process::before,
      .section-benefits::before,
      .section-features::before,
      .section-ia-workflow::before,
      .bb-about-split::before,
      .bb-testi-block::before,
      .section-pricing::before,
      .section-faqs::before,
      .ib-contact-section::before {
        width: var(--section-separator-width);
        top: 0;
      }
    }

    /* ============================
       CONTACT — redesign
       ============================ */
    .ib-contact-section {
      background: var(--neutral-950);
      padding: 120px 0;
    }
    .ib-contact-card {
      display: flex;
      flex-direction: column;
      border: 1px solid rgba(255,255,255,0.09);
      border-radius: 28px;
      overflow: hidden;
      background:
        radial-gradient(circle at 100% 0%, rgba(253,58,37,0.10) 0%, rgba(253,58,37,0.02) 28%, transparent 52%),
        linear-gradient(180deg, rgba(255,255,255,0.015) 0%, rgba(255,255,255,0.01) 100%);
      box-shadow: 0 28px 64px rgba(0,0,0,0.28);
    }
    .ib-contact-card-head {
      padding: 48px 48px 36px;
      border-bottom: 1px solid rgba(255,255,255,0.07);
      background: linear-gradient(180deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.015) 100%);
    }
    .ib-contact-head-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 18px;
    }
    .ib-contact-head-side {
      flex: 0 0 auto;
      display: flex;
      align-items: flex-start;
      justify-content: flex-end;
    }
    .ib-contact-head-mail {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.08);
      background: rgba(255,255,255,0.035);
      color: #fff;
      text-decoration: none;
      box-shadow: 0 10px 24px rgba(0,0,0,0.12);
      transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
    }
    .ib-contact-head-mail:hover {
      transform: translateY(-1px);
      border-color: rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.05);
      color: #fff;
    }
    .ib-contact-head-mail-icon {
      width: 36px;
      height: 36px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.08);
      color: #fd3a25;
      flex: 0 0 auto;
    }
    .ib-contact-head-mail-label {
      display: block;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.34);
      margin-bottom: 3px;
    }
    .ib-contact-head-mail-value {
      display: block;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.35;
      color: #fff;
    }
    .ib-contact-card-head .heading-section {
      max-width: 920px;
      margin-bottom: 0 !important;
    }
    .ib-contact-card-head .heading-title {
      margin-bottom: 14px;
    }
    .ib-contact-card-body {
      display: block;
    }
    .ib-contact-right {
      padding: 42px 48px 48px;
    }
    .ib-contact-desc {
      color: rgba(255,255,255,0.52);
      font-size: 15px;
      line-height: 1.75;
      margin: 0;
      max-width: 760px;
    }
    .ib-contact-quickfacts {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .ib-contact-quickfact {
      padding: 14px 14px 13px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.08);
      background: rgba(255,255,255,0.035);
      min-width: 0;
    }
    .ib-contact-quickfact-label {
      display: block;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.34);
      margin-bottom: 6px;
    }
    .ib-contact-quickfact-value {
      display: block;
      font-size: 14px;
      line-height: 1.45;
      font-weight: 600;
      color: #fff;
    }
    .ib-contact-methods {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .ib-contact-method {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 14px 18px;
      border-radius: 16px;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.07);
      text-decoration: none;
      transition: background 0.2s, border-color 0.2s;
    }
    .ib-contact-method:hover {
      background: rgba(255,255,255,0.07);
      border-color: rgba(255,255,255,0.13);
    }
    .ib-contact-method-icon {
      width: 40px; height: 40px; border-radius: 10px;
      background: rgba(255,255,255,0.06); color: #fff;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; font-size: 16px;
      border: 1px solid rgba(255,255,255,0.09);
    }
    .ib-contact-method-label {
      font-size: 10px; font-weight: 700; letter-spacing: 0.07em;
      text-transform: uppercase; color: rgba(255,255,255,0.32); margin-bottom: 2px;
    }
    .ib-contact-method-val { font-size: 14px; font-weight: 600; color: #fff; }
    .ib-contact-service-list {
      display: grid;
      gap: 12px;
      margin-top: 4px;
    }
    .ib-contact-service-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      color: rgba(255,255,255,0.56);
      font-size: 14px;
      line-height: 1.65;
    }
    .ib-contact-service-item::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #fd3a25;
      margin-top: 8px;
      flex: 0 0 auto;
    }
    .ib-cf-heading {
      font-size: 18px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 6px;
    }
    .ib-cf-sub {
      font-size: 13px;
      color: rgba(255,255,255,0.42);
      margin-bottom: 24px;
    }
    .ib-cf-form {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }
    .ib-cf-row { display: flex; gap: 14px; }
    .ib-cf-row .ib-cf-field { flex: 1; }
    .ib-cf-grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .ib-cf-field { margin-bottom: 0; }
    .ib-cf-field label {
      display: block; font-size: 10px; font-weight: 700;
      letter-spacing: 0.08em; text-transform: uppercase;
      color: rgba(255,255,255,0.35); margin-bottom: 8px;
    }
    .ib-required {
      color: #fd3a25;
      margin-left: 4px;
      font-weight: 700;
    }
    .ib-contact-right .ib-cf-field input,
    .ib-contact-right .ib-cf-field textarea {
      width: 100%; background: rgba(255,255,255,0.05) !important;
      border: 1px solid rgba(255,255,255,0.09) !important;
      border-radius: 12px !important; padding: 13px 16px !important;
      font-size: 14px !important; color: #fff !important; outline: none; font-family: inherit;
      transition: border-color 0.2s, background 0.2s;
    }
    .ib-contact-right .ib-cf-field input::placeholder,
    .ib-contact-right .ib-cf-field textarea::placeholder { color: rgba(255,255,255,0.20) !important; }
    .ib-contact-right .ib-cf-field input:focus,
    .ib-contact-right .ib-cf-field textarea:focus {
      border-color: rgba(253,58,37,0.40) !important;
      background: rgba(255,255,255,0.08) !important;
    }
    .ib-contact-right .ib-cf-field textarea { height: 132px; resize: vertical; }
    .ib-cf-group {
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 22px;
      padding: 24px;
      background:
        linear-gradient(180deg, rgba(255,255,255,0.028) 0%, rgba(255,255,255,0.018) 100%);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
    }
    .ib-cf-group-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 18px;
    }
    .ib-cf-group-title {
      margin: 0;
      font-size: 18px;
      line-height: 1.28;
      font-weight: 700;
      color: #fff;
    }
    .ib-cf-group-copy {
      margin: 0;
      font-size: 15px;
      line-height: 1.65;
      color: rgba(255,255,255,0.42);
    }
    .ib-cf-choice-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }
    .ib-cf-choice-grid--three {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ib-cf-choice {
      position: relative;
      min-width: 0;
    }
    .ib-cf-choice input {
      position: absolute;
      opacity: 0;
      inset: 0;
      pointer-events: none;
    }
    .ib-cf-choice span {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      gap: 6px;
      min-height: 92px;
      padding: 18px 18px;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,0.08);
      background: rgba(255,255,255,0.03);
      color: rgba(255,255,255,0.72);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 600;
      transition: border-color 0.22s ease, background 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
      cursor: pointer;
    }
    .ib-cf-choice-title {
      display: block;
      font-size: 17px;
      line-height: 1.26;
      font-weight: 700;
      color: #f4f4f5;
      letter-spacing: -0.02em;
    }
    .ib-cf-choice input:checked + span {
      border-color: rgba(253,58,37,0.42);
      background: linear-gradient(180deg, rgba(253,58,37,0.18) 0%, rgba(253,58,37,0.10) 100%);
      color: #fff;
      box-shadow: 0 10px 22px rgba(253,58,37,0.12);
    }
    .ib-cf-choice span:hover {
      transform: translateY(-1px);
      border-color: rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.05);
    }
    .ib-cf-choice small {
      display: block;
      margin-top: 0;
      font-size: 13px;
      line-height: 1.55;
      color: rgba(255,255,255,0.48);
      font-weight: 500;
      max-width: none;
      white-space: nowrap;
    }
    .ib-cf-actions {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 6px;
    }
    .ib-cf-note {
      margin: 0;
      font-size: 12px;
      line-height: 1.6;
      color: rgba(255,255,255,0.34);
    }
    .ib-cf-submit {
      min-height: 62px;
      border-radius: 999px;
      font-size: 16px;
      font-weight: 700;
    }
    @media (max-width: 991px) {
      .ib-contact-section { padding: 80px 0; }
      .ib-contact-card-head { padding: 40px 32px 30px; }
      .ib-contact-head-top {
        flex-direction: column;
        align-items: flex-start;
      }
      .ib-contact-head-side {
        justify-content: flex-start;
      }
      .ib-contact-right { padding: 40px 32px; }
      .ib-cf-row { flex-direction: column; gap: 0; }
      .ib-contact-quickfacts,
      .ib-cf-grid-3,
      .ib-cf-choice-grid,
      .ib-cf-choice-grid--three {
        grid-template-columns: 1fr;
      }
      .ib-cf-choice small {
        white-space: normal;
      }
    }
    @media (max-width: 575px) {
      .ib-contact-section { padding: 60px 0; }
      .ib-contact-card-head { padding: 32px 24px 24px; }
      .ib-contact-right { padding: 28px 24px; }
      .ib-cf-group { padding: 16px; }
      .ib-cf-heading { font-size: 24px; }
    }

    /* ============================
       FOOTER — redesign
       ============================ */
    .ib-footer {
      background: #09090b;
      border-top: 1px solid rgba(255,255,255,0.07);
      padding: 72px 0 0;
    }
    .ib-footer-top {
      display: flex; gap: 64px; align-items: flex-start;
      padding-bottom: 52px;
      border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .ib-footer-brand { flex: 0 0 240px; }
    .ib-footer-logo { display: block; margin-bottom: 16px; }
    .ib-footer-logo img { height: 30px; width: auto; filter: brightness(0) invert(1); }
    .ib-footer-tagline {
      font-size: 14px; line-height: 1.65;
      color: rgba(255,255,255,0.40); margin-bottom: 24px;
    }
    .ib-footer-socials { display: flex; gap: 8px; }
    .ib-footer-social {
      width: 36px; height: 36px; border-radius: 9px;
      border: 1px solid rgba(255,255,255,0.09);
      background: rgba(255,255,255,0.04);
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.50); font-size: 14px;
      text-decoration: none;
      transition: background 0.2s, border-color 0.2s, color 0.2s;
    }
    .ib-footer-social:hover {
      background: rgba(253,58,37,0.14);
      border-color: rgba(253,58,37,0.30);
      color: var(--brand, #ff3b26);
    }
    .ib-footer-nav {
      flex: 1; display: flex; gap: 48px; justify-content: flex-end;
    }
    .ib-footer-nav-title {
      font-size: 11px; font-weight: 700; letter-spacing: 0.10em;
      text-transform: uppercase; color: rgba(255,255,255,0.30);
      margin-bottom: 18px;
    }
    .ib-footer-nav-col ul {
      list-style: none; margin: 0; padding: 0;
      display: flex; flex-direction: column; gap: 11px;
    }
    .ib-footer-nav-col ul li a {
      font-size: 14px; color: rgba(255,255,255,0.55);
      text-decoration: none; transition: color 0.2s;
    }
    .ib-footer-nav-col ul li a:hover { color: #fff; }
    .ib-footer-bottom {
      display: flex; align-items: center; justify-content: space-between;
      padding: 22px 0;
    }
    .ib-footer-bottom p { font-size: 13px; color: rgba(255,255,255,0.25); margin: 0; }
    .ib-footer-top-btn {
      display: flex; align-items: center; gap: 6px;
      font-size: 13px; font-weight: 600;
      color: rgba(255,255,255,0.40); text-decoration: none;
      transition: color 0.2s;
    }
    .ib-footer-top-btn:hover { color: #fff; }
    .ib-footer-top-btn .icon { font-size: 15px; }
    @media (max-width: 991px) {
      .ib-footer-top { flex-direction: column; gap: 40px; }
      .ib-footer-brand { flex: 1; }
      .ib-footer-nav { justify-content: flex-start; flex-wrap: wrap; gap: 32px; }
    }
    @media (max-width: 767px) {
      .ib-footer { padding-top: 52px; }
      .ib-footer-top {
        gap: 32px;
        padding-bottom: 32px;
      }
      .ib-footer-brand {
        flex: none;
        width: 100%;
        text-align: center;
      }
      .ib-footer-logo {
        display: flex;
        justify-content: center;
      }
      .ib-footer-socials {
        justify-content: center;
        flex-wrap: wrap;
      }
      .ib-footer-nav {
        width: 100%;
        justify-content: center;
        gap: 28px 20px;
      }
      .ib-footer-nav-col {
        flex: 1 1 calc(50% - 10px);
        min-width: 0;
      }
      .ib-footer-nav-title,
      .ib-footer-nav-col ul,
      .ib-footer-nav-col ul li a {
        text-align: center;
      }
      .ib-footer-nav-col ul {
        gap: 10px;
      }
      .ib-footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
    }

    /* ============================
       Index responsive polish
       ============================ */
    html,
    body {
      max-width: 100%;
      overflow-x: hidden;
    }
    body,
    #wrapper,
    .box-white,
    .box-black {
      overflow-x: clip;
    }
    .section-hero .content-wrap {
      max-width: min(100%, 1360px);
      margin-left: auto;
      margin-right: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    .section-hero .title.text-display-2 {
      display: block;
      width: 100%;
      max-width: 1480px;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      font-size: clamp(80px, 7.8vw, 122px);
      line-height: 0.94;
      letter-spacing: -0.045em;
    }
    .section-hero .hero-title-break {
      display: block;
    }
    .section-hero .title1 {
      display: inline;
    }
    .section-hero .title2 {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      gap: 20px;
      flex-wrap: nowrap;
      width: auto;
      margin-top: 0.02em;
    }
    .section-hero .title2 > span {
      display: inline;
      white-space: nowrap;
    }
    .section-hero .title-icon {
      --hero-icon-scale: 1;
      pointer-events: none;
      flex: 0 0 auto;
      position: relative;
      overflow: visible;
    }
    .section-hero .title-icon--desktop {
      display: inline-block !important;
      width: calc(255px * var(--hero-icon-scale));
      height: calc(155px * var(--hero-icon-scale));
      margin-left: 4px;
      vertical-align: middle;
    }
    .section-hero .title-icon--mobile {
      display: none !important;
      width: calc(255px * var(--hero-icon-scale));
      height: calc(155px * var(--hero-icon-scale));
      margin: 14px auto 0 !important;
      align-self: center;
      left: auto;
      right: auto;
      transform: none;
    }
    .section-hero .title-icon .box {
      display: block;
      width: calc(255px * var(--hero-icon-scale));
      height: calc(80px * var(--hero-icon-scale));
      border-radius: 999px;
    }
    .section-hero .title-icon .title-icon-wrap {
      position: absolute;
      top: 0;
      left: 0;
      width: calc(255px * var(--hero-icon-scale));
      height: calc(177px * var(--hero-icon-scale));
      overflow: hidden;
    }
    .section-hero .title-icon .img-1,
    .section-hero .title-icon .img-2,
    .section-hero .title-icon .img-3 {
      position: absolute;
      object-fit: contain;
      height: auto;
    }
    .section-hero .title-icon .img-1 {
      width: calc(133px * var(--hero-icon-scale));
      left: calc(49px * var(--hero-icon-scale));
      top: 0;
      transform: none;
    }
    .section-hero .title-icon .img-2 {
      width: calc(115px * var(--hero-icon-scale));
      left: calc(136px * var(--hero-icon-scale));
      top: calc(28px * var(--hero-icon-scale));
      transform: none;
    }
    .section-hero .title-icon .img-3 {
      width: calc(105px * var(--hero-icon-scale));
      left: calc(66px * var(--hero-icon-scale));
      top: calc(83px * var(--hero-icon-scale));
      transform: none;
    }
    .section-hero .text {
      max-width: 1040px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 20px;
      text-align: center;
      font-size: 18px;
      line-height: 1.58;
    }
    .section-hero .bot-btns {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 16px;
      margin-top: 20px;
    }
    .section-hero .bot-btns .tf-btn,
    .section-hero .bot-btns .tf-btn-2 {
      min-width: 0;
    }
    .works-showcase-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      max-width: min(100%, 1428px);
      margin: 0 auto;
    }
    .works-showcase-main,
    .works-showcase-side,
    .works-showcase-side > *,
    .works-side-project,
    .idx-shooting-showcase,
    .idx-branding-showcase {
      width: 100% !important;
      max-width: none !important;
    }
    .works-showcase-side {
      justify-self: stretch;
      justify-items: stretch;
    }
    .works-showcase-side > * {
      margin-left: 0;
    }
    .features-wrap {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      align-items: center;
      gap: 28px;
    }
    .features-col {
      display: flex;
      flex-direction: column;
      gap: 18px;
      min-width: 0;
    }
    .features-center {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
    }
    .features-center img {
      width: min(100%, 240px);
      height: auto;
    }
    .features-center-wordmark {
      display: block;
      color: #ffffff;
      font-size: clamp(28px, 3vw, 42px);
      font-weight: 700;
      line-height: 0.95;
      letter-spacing: -0.06em;
      text-shadow: 0 10px 28px rgba(120,0,0,0.22);
      transform: translateY(-1px);
    }
    .features-item,
    .process-card,
    .ib-pack,
    .bb-testi-card,
    .ib-contact-card,
    .fw-work-card,
    .idx-shooting-showcase,
    .idx-branding-showcase {
      min-width: 0;
    }
    .features-item .title,
    .features-item .text-secondary,
    .idx-shooting-title,
    .idx-branding-title,
    .fw-title,
    .ib-pack__name,
    .bb-testi-name {
      overflow-wrap: anywhere;
    }
    .bb-testi-author-row {
      gap: 18px;
      align-items: flex-start;
    }

    /* ============================
       HEADER DESKTOP TIGHTENING
       ============================ */
    @media (min-width: 992px) {
      .tf-header .header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 22px;
      }
      .tf-header .logo-site {
        flex: 0 0 auto;
      }
      .tf-header .box-navigation {
        flex: 0 1 auto;
        width: auto;
        min-width: 0;
        margin-left: auto;
        margin-right: 0;
      }
      .tf-header .nav-menu-main {
        display: flex;
        align-items: center;
        gap: 34px;
      }
      .tf-header .header-inner > .tf-btn.d-lg-flex.d-none {
        flex: 0 0 auto;
        margin-left: 14px;
      }
    }

    /* ============================
       PREMIUM POLISH
       ============================ */
    @keyframes ib-float-soft {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-6px); }
    }
    @keyframes ib-badge-sweep {
      0%, 18% { transform: translateX(-170%) skewX(-22deg); opacity: 0; }
      28% { opacity: 0.5; }
      45% { transform: translateX(360%) skewX(-22deg); opacity: 0.16; }
      100% { transform: translateX(360%) skewX(-22deg); opacity: 0; }
    }
    @keyframes ib-breathe {
      0%, 100% {
        transform: scale(1);
        box-shadow:
          0px -3px 0px 0px rgba(0, 0, 0, 0.06) inset,
          0px 1px 0px 0px rgba(255, 255, 255, 0.6) inset,
          0px 22px 37px 0px rgba(255, 59, 0, 0.16),
          0px 14px 34px 0px rgba(255, 59, 0, 0.22);
      }
      50% {
        transform: scale(1.018);
        box-shadow:
          0px -3px 0px 0px rgba(0, 0, 0, 0.06) inset,
          0px 1px 0px 0px rgba(255, 255, 255, 0.72) inset,
          0px 28px 42px 0px rgba(255, 59, 0, 0.22),
          0px 18px 38px 0px rgba(255, 59, 0, 0.28);
      }
    }
    @keyframes ib-logo-drift-1 {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
      50% { transform: translate3d(-4px, -6px, 0) rotate(-3deg); }
    }
    @keyframes ib-logo-drift-2 {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
      50% { transform: translate3d(4px, -4px, 0) rotate(4deg); }
    }
    @keyframes ib-logo-drift-3 {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
      50% { transform: translate3d(-3px, 5px, 0) rotate(-5deg); }
    }
    @keyframes ib-center-pulse {
      0%, 100% {
        transform: translateY(0);
        box-shadow:
          0px -3px 0px 0px rgba(0, 0, 0, 0.0588235294) inset,
          0px 1px 0px 0px rgba(255, 255, 255, 0.6) inset,
          0px 3.44px 5.57px 0px rgba(0, 0, 0, 0.0862745098),
          0px 22.91px 37.08px 0px rgba(255, 59, 0, 0.1647058824),
          0px 14px 34px 0px rgba(255, 59, 0, 0.2509803922);
      }
      50% {
        transform: translateY(-5px);
        box-shadow:
          0px -3px 0px 0px rgba(0, 0, 0, 0.0588235294) inset,
          0px 1px 0px 0px rgba(255, 255, 255, 0.7) inset,
          0px 5px 10px 0px rgba(0, 0, 0, 0.09),
          0px 28px 45px 0px rgba(255, 59, 0, 0.2),
          0px 20px 42px 0px rgba(255, 59, 0, 0.28);
      }
    }
    .heading-title {
      text-wrap: balance;
    }
    .heading-sub,
    .section-hero .sub {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .heading-sub::after,
    .section-hero .sub::after {
      content: "";
      position: absolute;
      top: -35%;
      bottom: -35%;
      left: 0;
      width: 32%;
      background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.75) 52%, rgba(255,255,255,0) 100%);
      opacity: 0;
      pointer-events: none;
      z-index: 1;
      animation: ib-badge-sweep 8.5s ease-in-out infinite;
    }
    .section-hero .sub {
      animation: ib-float-soft 5.5s ease-in-out infinite;
    }
    .section-hero .title-icon .box {
      animation: ib-breathe 6s ease-in-out infinite;
      will-change: transform, box-shadow;
    }
    .section-hero .title-icon .img-1 {
      animation: ib-logo-drift-1 6.4s ease-in-out infinite;
      will-change: transform;
    }
    .section-hero .title-icon .img-2 {
      animation: ib-logo-drift-2 5.6s ease-in-out infinite;
      will-change: transform;
    }
    .section-hero .title-icon .img-3 {
      animation: ib-logo-drift-3 6s ease-in-out infinite;
      will-change: transform;
    }
    .features-center {
      animation: ib-center-pulse 6.5s ease-in-out infinite;
      will-change: transform, box-shadow;
      transition: transform 0.32s ease, box-shadow 0.32s ease;
    }
    .section-hero .bot-btns .tf-btn,
    .section-hero .bot-btns .tf-btn-2,
    .works-section-cta .tf-btn,
    .ib-pricing-actions .tf-btn,
    .ib-pricing-actions .tf-btn-2,
    .bb-testi-cta,
    .ib-footer-social,
    .ib-contact-method {
      transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
    }
    .bento-card,
    .process-card,
    .features-item,
    .fw-work-card,
    .idx-shooting-showcase,
    .idx-branding-showcase,
    .ia-wf-card,
    .accordion-asked-item,
    .ib-contact-card {
      transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.34s ease, border-color 0.34s ease;
      will-change: transform;
    }
    @media (hover: hover) {
      .bento-card:hover,
      .process-card:hover,
      .features-item:hover,
      .fw-work-card:hover,
      .idx-shooting-showcase:hover,
      .idx-branding-showcase:hover,
      .ia-wf-card:hover,
      .accordion-asked-item:hover,
      .ib-contact-card:hover {
        transform: translateY(-6px);
      }
      .features-center:hover {
        transform: translateY(-7px) scale(1.025);
      }
      .section-hero .bot-btns .tf-btn:hover,
      .section-hero .bot-btns .tf-btn-2:hover,
      .works-section-cta .tf-btn:hover,
      .ib-pricing-actions .tf-btn:hover,
      .ib-pricing-actions .tf-btn-2:hover,
      .bb-testi-cta:hover,
      .ib-footer-social:hover,
      .ib-contact-method:hover {
        transform: translateY(-3px);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .heading-sub::after,
      .section-hero .sub,
      .section-hero .sub::after,
      .section-hero .title-icon .box,
      .section-hero .title-icon .img-1,
      .section-hero .title-icon .img-2,
      .section-hero .title-icon .img-3,
      .features-center,
      .bento-card::before {
        animation: none !important;
      }
      .bento-card,
      .process-card,
      .features-item,
      .fw-work-card,
      .idx-shooting-showcase,
      .idx-branding-showcase,
      .ia-wf-card,
      .accordion-asked-item,
      .ib-contact-card,
      .section-hero .bot-btns .tf-btn,
      .section-hero .bot-btns .tf-btn-2,
      .works-section-cta .tf-btn,
      .ib-pricing-actions .tf-btn,
      .ib-pricing-actions .tf-btn-2,
      .bb-testi-cta,
      .ib-footer-social,
      .ib-contact-method {
        transition: none !important;
      }
    }
    @media (min-width: 1200px) {
      .section-features .features-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 56px;
      }
      .section-features .features-col {
        display: grid;
        grid-template-columns: 1fr;
        gap: 32px;
        width: 32%;
        flex: 0 0 32%;
      }
      .section-features .features-center {
        flex: 0 0 208px;
        width: 208px;
        height: 208px;
        margin: 0 auto;
      }
      .section-features .features-center img {
        width: 124px;
        max-width: 124px;
        height: auto;
      }
      .section-features .features-center-wordmark {
        font-size: 36px;
      }
      .section-features .features-item {
        min-height: 0;
        padding: 32px;
        border-radius: 32px;
        text-align: left;
      }
      .section-features .features-item .icon,
      .section-features .features-item i {
        width: 60px;
        height: 60px;
        margin: 0 0 32px;
        border-radius: 16px;
        font-size: 32px;
        align-self: auto;
      }
      .section-features .features-item .title,
      .section-features .features-item .text-secondary {
        width: auto;
        margin-left: 0;
        margin-right: 0;
        text-align: left;
        overflow-wrap: normal;
        word-break: normal;
      }
      .section-features .features-item .title {
        margin-top: 0;
        margin-bottom: 8px;
      }
      .section-features .features-item .text-secondary {
        margin-top: 0;
        margin-bottom: 0;
      }
    }
    @media (max-width: 1199px) {
      .section-hero .content-wrap {
        max-width: 860px;
      }
      .features-wrap {
        grid-template-columns: 1fr;
        gap: 24px;
      }
      .features-center {
        order: -1;
        margin: 0 auto;
      }
      .features-col {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
      }
      .works-showcase-grid {
        grid-template-columns: 1fr !important;
        max-width: 860px;
      }
      .works-showcase-side {
        grid-template-rows: none;
      }
    }
    @media (max-width: 991px) {
      .heading-section.center {
        max-width: 720px;
      }
      .section-hero .content-wrap {
        max-width: 900px;
      }
      .section-hero .title.text-display-2 {
        font-size: clamp(54px, 8.2vw, 82px) !important;
        line-height: 0.96;
      }
      .section-hero .title2 {
        gap: 16px;
      }
      .section-hero .title-icon--desktop {
        --hero-icon-scale: 0.9;
      }
      .section-hero .text {
        max-width: 760px;
        font-size: 16px;
        line-height: 1.72;
      }
      .benefits-bento {
        grid-template-columns: 1fr !important;
        gap: 18px;
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
      }
      .benefits-bento .bento-card {
        width: 100%;
        max-width: 100%;
        min-height: 388px;
        padding: 30px 26px;
      }
      .benefits-bento .bento-visual {
        min-height: 176px;
        padding: 0 0 20px;
      }
      .benefits-bento .bento-content {
        min-height: 148px;
        justify-content: flex-start;
      }
      .benefits-bento .bento-title {
        width: 100%;
        min-height: 2.7em;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0;
      }
      .benefits-bento .bento-text {
        width: 100%;
        min-height: calc(1.6em * 4);
        display: flex;
        align-items: flex-start;
        justify-content: center;
      }
      .features-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .idx-branding-copy {
        max-height: none;
        opacity: 1;
        margin-bottom: 4px;
        -webkit-line-clamp: 3;
      }
      .bb-testi-author-row {
        flex-direction: column;
      }
      .bb-testi-ctas {
        width: 100%;
        flex-wrap: wrap;
      }
    }
    @media (max-width: 767px) {
      .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
      }
      .section-hero {
        min-height: auto;
        padding-top: 104px;
        padding-bottom: 56px;
      }
      .section-hero .content-wrap {
        max-width: 340px;
      }
      .section-hero .title.text-display-2 {
        font-size: clamp(36px, 10.2vw, 46px) !important;
        line-height: 1.01;
        display: block;
        max-width: 330px;
        letter-spacing: -0.042em;
      }
      .section-hero .hero-title-break {
        display: none;
      }
      .section-hero .title1 {
        display: block;
      }
      .section-hero .title2 {
        display: block !important;
        width: 100%;
        margin-top: 8px;
      }
      .section-hero .title2 > span {
        display: block;
        white-space: normal;
        max-width: 100%;
        text-align: center;
      }
      .section-hero .title-icon--desktop {
        display: none !important;
      }
      .section-hero .title-icon--mobile {
        display: block !important;
        --hero-icon-scale: 0.88;
        width: 100%;
        max-width: 320px;
        align-self: center;
        left: auto;
        right: auto;
        transform: none;
      }
      .section-hero .text {
        max-width: 320px;
        font-size: 15px !important;
        line-height: 1.68 !important;
        margin-top: 18px;
      }
      .bb-testi-head .heading-title {
        font-size: 40px !important;
        line-height: 1.06;
        letter-spacing: -0.04em;
        max-width: 360px;
        margin: 0 auto;
      }
      .section-hero .bot-btns {
        flex-direction: column;
        align-items: stretch;
        width: min(100%, 300px);
        margin-left: auto;
        margin-right: auto;
        margin-top: 16px;
      }
      .section-hero .bot-btns .tf-btn,
      .section-hero .bot-btns .tf-btn-2 {
        width: 100%;
        justify-content: center;
      }
      .scroll-more {
        display: none;
      }
      .works-section-cta {
        width: 100%;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
      }
      .works-section-cta--after-ia {
        margin-top: 28px;
      }
      .works-section-cta .tf-btn {
        width: 100%;
        min-width: 0;
      }
      .works-showcase-grid {
        gap: 18px;
      }
      .benefits-bento {
        gap: 16px;
      }
      .benefits-bento .bento-card {
        min-height: 348px;
        padding: 22px 18px;
        border-radius: 24px;
      }
      .benefits-bento .bento-visual {
        min-height: 148px;
        padding: 0 0 16px;
      }
      .benefits-bento .bento-content {
        min-height: 132px;
        gap: 10px;
      }
      .benefits-bento .bento-title {
        min-height: 2.6em;
      }
      .benefits-bento .bento-text {
        min-height: calc(1.72em * 4);
      }
      .benefits-bento .skill-chip {
        min-height: 64px;
      }
      .works-showcase-main .fw-work-media {
        aspect-ratio: 16 / 9;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview {
        aspect-ratio: 16 / 12.2;
      }
      .idx-shooting-stage {
        padding: 4px 4px 0;
      }
      .idx-shooting-tile {
        border-radius: 12px;
      }
      .idx-branding-track {
        gap: 12px;
      }
      .idx-branding-logo {
        width: 72px;
        height: 72px;
        min-width: 72px;
        min-height: 72px;
      }
      .idx-branding-logo img {
        max-width: 42px;
        max-height: 42px;
      }
      .process-top-header,
      .section-process .group-btn-slider {
        width: 100%;
      }
      .section-process .group-btn-slider {
        justify-content: flex-start;
      }
      .features-wrap {
        gap: 22px;
      }
      .features-col {
        grid-template-columns: 1fr;
        gap: 22px;
      }
      .features-item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        min-height: 0;
        padding: 24px 30px 28px;
        text-align: left;
        border-radius: 28px;
        border: 1px solid rgba(0,0,0,0.04);
        box-shadow:
          0 14px 28px rgba(17,17,17,0.06),
          0 3px 0 rgba(17,17,17,0.06),
          0 -6px 0 rgba(17,17,17,0.03) inset,
          0 4px 0 rgba(255,255,255,0.72) inset;
      }
      .features-item .icon,
      .features-item i {
        margin: 0;
        align-self: flex-start;
        justify-self: auto;
        width: 74px;
        height: 74px;
        border-radius: 22px;
        font-size: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(180deg, #2d2d2f 0%, #202022 100%);
        color: #fff;
        box-shadow:
          0 18px 32px rgba(0,0,0,0.16),
          0 4px 0 rgba(0,0,0,0.32),
          0 1px 0 rgba(255,255,255,0.08) inset;
      }
      .features-item .title,
      .features-item .text-secondary {
        text-align: left;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
      }
      .features-item .title {
        align-self: flex-start;
        margin-bottom: 0;
        margin-top: 38px;
        font-size: 19px;
        line-height: 1.16;
        letter-spacing: -0.025em;
      }
      .features-item .text-secondary {
        align-self: start;
        margin-bottom: 0;
        max-width: none;
        color: #858593;
        line-height: 1.68 !important;
        margin-top: 14px;
      }
      .bb-testi-ctas {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: 8px;
      }
      .bb-testi-cta {
        flex: 1 1 0;
        min-width: 0;
        justify-content: center;
        padding-left: 12px;
        padding-right: 12px;
      }
    }
    @media (max-width: 575px) {
      .features-item {
        min-height: 0;
        padding: 22px 26px 26px;
        border-radius: 24px;
      }
      .features-item .icon,
      .features-item i {
        width: 70px;
        height: 70px;
        border-radius: 20px;
        font-size: 28px;
      }
      .features-item .title {
        margin-top: 34px;
        font-size: 18px;
      }
      .features-item .text-secondary {
        margin-top: 12px;
      }
      .benefits-bento .bento-card {
        min-height: 330px;
      }
      .benefits-bento .bento-visual {
        min-height: 138px;
      }
      .benefits-bento .bento-content {
        min-height: 126px;
      }
      .benefits-bento .bento-title {
        min-height: 2.55em;
      }
      .benefits-bento .bento-text {
        min-height: calc(1.68em * 4);
      }
      .works-showcase-main .fw-work-card {
        border-radius: 18px;
      }
      .works-showcase-main .fw-work-media {
        aspect-ratio: 4 / 3.45;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview {
        aspect-ratio: 4 / 5.55;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview .fw-preview-panel--mobile {
        padding: 20px 12px 16px;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview .fw-phone {
        width: min(56vw, 210px);
      }
      .works-showcase-main .fw-device-btn {
        padding: 7px 9px;
        font-size: 10px;
      }
      .works-showcase-main .fw-content-redesign {
        padding: 16px 14px 18px;
      }
      .works-showcase-main .fw-card-header {
        gap: 10px;
      }
      .idx-branding-body .fw-card-header {
        gap: 10px;
      }
      .works-showcase-main .fw-title {
        font-size: 18px;
      }
      .works-showcase-main .fw-chip-group {
        gap: 5px;
      }
      .works-showcase-main .fw-sector,
      .works-showcase-main .fw-cta-btn {
        font-size: 13px;
      }
      .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
      }
      .section-hero .title.text-display-2 {
        font-size: clamp(31px, 11.4vw, 40px) !important;
        line-height: 1.02;
      }
      .section-hero .title1,
      .section-hero .title2 > span {
        text-wrap: balance;
      }
      .section-hero .title-icon--mobile {
        --hero-icon-scale: 0.82;
        max-width: 300px;
        align-self: center;
        left: auto;
        right: auto;
        transform: none;
      }
      .process-card {
        min-height: 0;
      }
      .idx-shooting-tile {
        flex-basis: calc((100% - 8px) / 3);
      }
      .idx-branding-logo {
        width: 72px;
        height: 72px;
        min-width: 72px;
        min-height: 72px;
      }
      .idx-branding-logo img {
        max-width: 42px;
        max-height: 42px;
      }
      .bb-about-split__stats {
        grid-template-columns: 1fr;
      }
      .bb-stat-v {
        min-height: 0;
        border-bottom: none;
      }
      .bb-stat-v:last-child {
        border-bottom: none;
      }
      .bb-testi-card {
        padding: 20px 16px 18px;
      }
      .bb-testi-quote {
        font-size: 14px;
        line-height: 1.68;
      }
      .ib-contact-left,
      .ib-contact-right {
        padding-left: 20px;
        padding-right: 20px;
      }
    }
    /* Final responsive cleanup — Ce qu'on a construit */
    @media (max-width: 1199px) {
      .works-subgrid-wrap {
        margin-top: 24px !important;
      }
      .works-showcase-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: min(100%, 880px) !important;
        gap: 22px !important;
      }
      .works-showcase-main,
      .works-showcase-side,
      .works-showcase-side > *,
      .works-side-project,
      .idx-shooting-showcase,
      .idx-branding-showcase {
        width: 100% !important;
        max-width: 100% !important;
      }
      .works-showcase-side {
        grid-template-rows: none !important;
        height: auto !important;
        gap: 18px !important;
        justify-self: stretch !important;
        justify-items: stretch !important;
      }
      .works-showcase-main .fw-work-card,
      .idx-shooting-showcase,
      .idx-branding-showcase {
        border-radius: 28px !important;
      }
    }
    @media (max-width: 991px) {
      .works-showcase-grid {
        max-width: 760px !important;
        gap: 18px !important;
      }
      .works-showcase-main .fw-work-media {
        aspect-ratio: 16 / 9 !important;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview {
        aspect-ratio: 16 / 12.1 !important;
      }
      .works-showcase-main .fw-content-redesign,
      .idx-shooting-band,
      .idx-branding-body {
        padding: 20px 18px 20px !important;
        gap: 10px !important;
      }
      .works-showcase-main .fw-title,
      .idx-shooting-title,
      .idx-branding-title {
        font-size: clamp(26px, 4vw, 34px) !important;
        line-height: 1.08 !important;
      }
      .works-showcase-main .fw-meta-text,
      .idx-shooting-copy,
      .idx-branding-copy {
        font-size: 15px !important;
        line-height: 1.62 !important;
      }
      .works-showcase-main .fw-chip-groups {
        gap: 12px !important;
      }
      .works-showcase-main .fw-chip-group {
        gap: 8px !important;
      }
      .fw-ecom-rotator-nav {
        margin-top: 12px !important;
        margin-bottom: 2px !important;
      }
      .idx-shooting-tile {
        flex-basis: calc((100% - 12px) / 3) !important;
      }
      .idx-branding-reel {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 86px !important;
        padding: 10px 12px !important;
        margin-top: 6px !important;
      }
      .idx-branding-track {
        --idx-branding-loop-gap: 5px;
        gap: 10px !important;
      }
      .idx-branding-logo {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
        min-height: 60px !important;
        border-radius: 16px !important;
      }
      .idx-branding-logo img {
        max-width: 34px !important;
        max-height: 34px !important;
      }
      .works-showcase-main .fw-card-foot,
      .idx-branding-foot {
        padding-top: 12px !important;
        gap: 10px !important;
      }
    }
    @media (max-width: 767px) {
      .works-subgrid-wrap {
        margin-top: 18px !important;
      }
      .works-showcase-grid {
        max-width: 100% !important;
        gap: 16px !important;
      }
      .works-showcase-main .fw-work-card,
      .idx-shooting-showcase,
      .idx-branding-showcase {
        border-radius: 22px !important;
      }
      .works-showcase-main .fw-work-media {
        aspect-ratio: 4 / 3.55 !important;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview {
        aspect-ratio: 4 / 5.2 !important;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview .fw-preview-panel--mobile {
        padding: 18px 12px 14px !important;
      }
      .works-showcase-main .fw-work-media.is-mobile-preview .fw-phone {
        width: min(54vw, 200px) !important;
      }
      .works-showcase-main .fw-content-redesign,
      .idx-shooting-band,
      .idx-branding-body {
        padding: 16px 14px 18px !important;
        gap: 10px !important;
      }
      .works-showcase-main .fw-title,
      .idx-shooting-title,
      .idx-branding-title {
        font-size: clamp(20px, 7vw, 25px) !important;
        line-height: 1.12 !important;
        letter-spacing: -0.035em !important;
      }
      .works-showcase-main .fw-meta-text,
      .idx-shooting-copy,
      .idx-branding-copy {
        font-size: 14px !important;
        line-height: 1.6 !important;
      }
      .fw-ecom-rotator-nav {
        margin-top: 10px !important;
        margin-bottom: 0 !important;
        transform: scale(0.95);
      }
      .works-showcase-main .fw-chip-groups {
        gap: 10px !important;
      }
      .works-showcase-main .fw-chip-group {
        gap: 6px !important;
        justify-content: flex-start !important;
      }
      .works-showcase-main .fw-chip {
        font-size: 12px !important;
        padding: 7px 10px !important;
      }
      .idx-shooting-stage {
        padding: 4px 4px 0 !important;
      }
      .idx-shooting-track {
        gap: 6px !important;
      }
      .idx-shooting-tile {
        flex-basis: calc((100% - 6px) / 2) !important;
        border-radius: 16px !important;
      }
      .idx-branding-reel {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 80px !important;
        padding: 8px 10px !important;
        margin-top: 4px !important;
        border-radius: 18px !important;
      }
      .idx-branding-track {
        --idx-branding-loop-gap: 4px;
        gap: 8px !important;
      }
      .idx-branding-logo {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        min-height: 56px !important;
        border-radius: 16px !important;
      }
      .idx-branding-logo img {
        max-width: 32px !important;
        max-height: 32px !important;
      }
      .works-showcase-main .fw-card-foot,
      .idx-branding-foot,
      .idx-shooting-band .idx-branding-foot {
        padding-top: 12px !important;
        gap: 8px !important;
        align-items: center !important;
        justify-content: space-between !important;
      }
      .works-showcase-main .fw-sector,
      .works-showcase-main .fw-cta-btn,
      .idx-branding-foot .fw-sector,
      .idx-branding-foot .fw-cta-btn {
        font-size: 13px !important;
      }
    }
    @media (max-width: 479px) {
      .works-showcase-main .fw-content-redesign,
      .idx-shooting-band,
      .idx-branding-body {
        padding: 15px 13px 16px !important;
      }
      .works-showcase-main .fw-title,
      .idx-shooting-title,
      .idx-branding-title {
        font-size: 18px !important;
      }
      .idx-branding-logo {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
      }
      .idx-branding-logo img {
        max-width: 29px !important;
        max-height: 29px !important;
      }
    }

/* ─── Pricing section styles ─────────────────────────────── */

        /* Neutralise tout ce que la template applique au .content */
        .section-pricing .pricing-item .content {
            display: block !important;
            padding: 0 !important;
            margin: 0 !important;
            gap: 0 !important;
        }
        .section-pricing .pricing-item .content * {
            box-sizing: border-box;
        }

        /* Description — centrée entre les deux traits */
        .section-pricing .pricing-item .ib-desc {
            display: block !important;
            width: 100% !important;
            font-size: 14px !important;
            line-height: 1.7 !important;
            margin: 28px 0 28px 0 !important;
            padding: 0 !important;
        }
        .section-pricing .pricing-item.style-black .ib-desc {
            color: #aaa !important;
        }

        /* Trait — même style que .line de la template mais forcé visible */
        .section-pricing .pricing-item .ib-hr {
            display: block;
            width: 100%;
            height: 1px;
            background: rgba(0, 0, 0, 0.12);
            margin: 0;
            border: none;
        }
        .section-pricing .pricing-item.style-black .ib-hr {
            background: rgba(255, 255, 255, 0.2) !important;
        }

        /* Grille features */
        .section-pricing .pricing-item .ib-features {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 12px 20px !important;
            list-style: none !important;
            padding: 0 !important;
            margin: 24px 0 0 0 !important;
            width: 100%;
        }
        .section-pricing .pricing-item .ib-features li {
            display: flex !important;
            align-items: flex-start !important;
            gap: 8px !important;
            font-size: 14px !important;
            line-height: 1.4 !important;
            color: inherit !important;
        }
        .section-pricing .pricing-item .ib-features li i {
            margin-top: 2px;
            flex-shrink: 0;
        }
        .section-pricing .pricing-item.style-black .ib-features li {
            color: #ffffff !important;
        }
        .section-pricing .pricing-item.style-black .ib-features li i {
            color: #ffffff !important;
        }

        /* Prix aligné */
        .section-pricing .pricing-item .heading {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            gap: 4px !important;
        }
