/* Généré par scripts/wp/css.js à partir de site/assets/styles.css — ne pas modifier à la main. */
/* ==========================================================================
   Amel H. — WordPress Developer & Web Designer
   Maquette phase 2 · v2 (registre dev-talents, couleurs Amel H.)
   ========================================================================== */
@font-face { font-family: "Nunito"; src: url("fonts/nunito-latin-wght.woff2") format("woff2"); font-weight: 200 1000; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito"; src: url("fonts/nunito-latin-ext-wght.woff2") format("woff2"); font-weight: 200 1000; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Figtree"; src: url("fonts/figtree-latin-wght.woff2") format("woff2"); font-weight: 300 900; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Figtree"; src: url("fonts/figtree-latin-ext-wght.woff2") format("woff2"); font-weight: 300 900; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@property --angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
:root { --ink: #17171c;            /* titres */
  --ink-2: #111114;          /* couleur secondaire : bouton, pied de page */
  --text: #4a4f57;           /* texte courant */
  --lead: #7d828b;           /* chapeaux, sous-titres */
  --orange: #f26a1b;         /* couleur principale */
  --orange-text: #c9500b;    /* même teinte, assombrie pour le petit texte (AA) */
  --tint-o: #fff1e7;
  --tint-n: #f1f1f5;
  --line: #ecebee;
  --white: #fff;
  --band: linear-gradient(180deg, #f8f8fa 0%, #fff5ee 100%);
  --grad: linear-gradient(60deg, #ff8a3d 0%, #f26a1b 38%, #c2440b 72%, #2a1a12 112%);
  --shadow: 0 16px 40px rgba(23, 23, 28, .07);
  --shadow-hover: 0 24px 50px rgba(23, 23, 28, .12);

  --f-head: "Nunito", ui-rounded, "Segoe UI", system-ui, sans-serif;
  --f-body: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --r-card: 20px;
  --container: 1152px;
  --gutter: 24px;
  --ease: cubic-bezier(.2, .7, .2, 1); }
*,
*::before,
*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--f-body); font-size: 16px; line-height: 1.6;
  color: var(--text); background: var(--white);
  -webkit-font-smoothing: antialiased; overflow-x: clip; }
/* ---------- Elementor 4 : remise à zéro des styles de base des éléments atomiques ---------- */
:is(.elementor,body) .e-div-block-base:not(._) { min-width: 0; padding: 0; margin: 0; display: block; position: static; width: auto; }
/* .e-con lit --width/--position hérités */
:is(.elementor,body) .e-button-base:not(._) { padding: 0; border: 0; border-radius: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; line-height: inherit; text-align: inherit; display: inline; cursor: pointer; }
/* .e-con:before d'Elementor (calque de fond) : position absolue, taille 100 %, opacité… — neutralisé, nos ::before le redéfinissent */
:is(.elementor,body) .e-div-block-base:not(._)::before { content: none; display: inline; position: static; inset: auto; width: auto; height: auto; border: 0 none; border-radius: 0; mix-blend-mode: normal; opacity: 1; transition: none; z-index: auto; }
:is(.elementor,body) :is(.tg-span,.tg-b,.tg-i,.tg-small,.tg-strong,.tg-em,.tg-label):not(._) { display: inline; }
:is(.elementor,body) :is(.tg-b,.tg-strong):not(._) { font-weight: bolder; }
:is(.elementor,body) .tg-small:not(._) { font-size: smaller; }
:is(.elementor,body) .tg-summary:not(._) { cursor: pointer; }
:is(.elementor,body) .tg-details:not(.is-open) > :not(.tg-summary):not(._) { display: none; }
:is(.elementor,body) .is-hidden:not(._) { display: none !important; }
/* icônes : masque dessiné dans la boîte de contenu (le fond et la marge intérieure restent ceux du composant) */
:is(.elementor,body) .ico.tg-ico:not(._) { display: inline-block; vertical-align: middle; }
:is(.elementor,body) .ico.tg-ico:not(._)::before { content: ""; display: block; width: 100%; height: 100%; background-color: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
:is(.elementor,body) img:not(._) { max-width: 100%; height: auto; display: block; }
:is(.elementor,body) a:not(._) { color: inherit; text-decoration: none; }
:is(.elementor,body) h1:not(._),
:is(.elementor,body) h2:not(._),
:is(.elementor,body) h3:not(._) { font-family: var(--f-head); color: var(--ink); margin: 0; font-weight: 700; line-height: 1.25; text-wrap: balance; hyphens: none; }
:is(.elementor,body) :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin: 0; }
:is(.elementor,body) :is(ul:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ul)):not(._),
:is(.elementor,body) :is(ol:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ol)):not(._) { margin: 0; padding: 0; list-style: none; }
:is(.elementor,body) :is(figure:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-figure)):not(._),
:is(.elementor,body) :is(blockquote:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-blockquote)):not(._) { margin: 0; }
:is(.elementor,body) :focus-visible:not(._) { outline: 2px solid var(--orange); outline-offset: 3px; border-radius: 6px; }
:is(.elementor,body) .sprite:not(._) { position: absolute; width: 0; height: 0; overflow: hidden; }
:is(.elementor,body) .ico:not(._) { width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:is(.elementor,body) .ico--xs:not(._) { width: 14px; height: 14px; stroke-width: 2.4; }
:is(.elementor,body) .ico--ink:not(._) { color: var(--ink); }
:is(.elementor,body) .container:not(._) { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); position: relative; }
:is(.elementor,body) .grad:not(._),
:is(.elementor,body) .with-grad :is(:is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span))):not(._) { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
/* ---------- Buttons & links ---------- */
:is(.elementor,body) .btn:not(._) { display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 58px; padding: 0 30px; border-radius: 99px;
  font: 700 15.5px/1 var(--f-body); white-space: nowrap;
  border: 2px solid transparent;
  transition: transform .3s var(--ease), background-color .3s, border-color .3s, box-shadow .3s, color .3s; }
:is(.elementor,body) .btn--primary:not(._) { background: var(--orange); color: var(--white); }
:is(.elementor,body) .btn--primary:hover:not(._) { background: #e2580c; transform: translateY(-2px); box-shadow: 0 14px 28px -12px rgba(242, 106, 27, .7); }
:is(.elementor,body) .btn--ghost:not(._) { background: var(--white); color: var(--ink); border-color: var(--orange); }
:is(.elementor,body) .btn--ghost:hover:not(._) { background: var(--tint-o); transform: translateY(-2px); }
:is(.elementor,body) .btn--ink:not(._) { background: var(--ink-2); color: var(--white); }
:is(.elementor,body) .btn--ink:hover:not(._) { background: #000; transform: translateY(-2px); }
:is(.elementor,body) .btn--sm:not(._) { height: 46px; padding: 0 22px; font-size: 15px; }
:is(.elementor,body) .btn-row:not(._) { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }
:is(.elementor,body) .link:not(._) { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 18px; font-weight: 600; font-size: 15px; color: var(--orange-text); }
:is(.elementor,body) .link:not(._)::after { content: "→"; font-weight: 700; transition: transform .3s var(--ease); }
:is(.elementor,body) a:hover > .link:not(._)::after,
:is(.elementor,body) .link:hover:not(._)::after { transform: translateX(4px); }
:is(.elementor,body) .link--plain:not(._) { padding-top: 0; margin-top: 28px; }
:is(.elementor,body) .eyebrow:not(._) { display: inline-block; padding: 7px 14px; border-radius: 99px;
  background: var(--tint-o); color: var(--orange-text);
  font: 700 12.5px/1.2 var(--f-body); letter-spacing: .08em; text-transform: uppercase; }
/* sparkles around CTA */
:is(.elementor,body) .spark-wrap:not(._) { position: relative; display: inline-flex; }
:is(.elementor,body) :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)).spark:not(._),
:is(.elementor,body) :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)).deco:not(._),
:is(.elementor,body) .bubble--typing :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)):not(._) { font-style: normal; }
:is(.elementor,body) .spark:not(._) { position: absolute; width: 14px; height: 14px; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); animation: twinkle 2.6s ease-in-out infinite; }
:is(.elementor,body) .spark--a:not(._) { top: -10px; left: -12px; background: var(--orange); }
:is(.elementor,body) .spark--b:not(._) { bottom: -10px; right: -14px; background: var(--ink); animation-delay: -1.3s; width: 12px; height: 12px; }
@keyframes twinkle { 0%, 100% { transform: scale(.5) rotate(0); opacity: .35; } 50% { transform: scale(1.1) rotate(45deg); opacity: 1; } }
/* blobs */
:is(.elementor,body) .blob:not(._) { position: absolute; z-index: 0; pointer-events: none; border-radius: 50%; filter: blur(70px); }
:is(.elementor,body) .blob--hero:not(._) { width: 640px; height: 640px; top: -260px; right: -180px; background: radial-gradient(circle, rgba(255, 186, 140, .55), rgba(255, 220, 196, .2) 60%, transparent 70%); animation: drift 18s ease-in-out infinite; }
:is(.elementor,body) .blob--side:not(._) { width: 520px; height: 720px; left: -340px; top: 10%; background: radial-gradient(circle, rgba(236, 236, 244, .9), transparent 70%); animation: drift 22s ease-in-out infinite reverse; }
:is(.elementor,body) .blob--right:not(._) { left: auto; right: -360px; }
:is(.elementor,body) .blob--footer:not(._) { width: 700px; height: 700px; right: -200px; top: -300px; background: radial-gradient(circle, rgba(242, 106, 27, .16), transparent 65%); filter: blur(40px); }
@keyframes drift { 50% { transform: translate(-40px, 30px) scale(1.06); } }
/* ---------- Header ---------- */
:is(.elementor,body) .site-header:not(._) { position: sticky; top: 0; z-index: 60; transition: background-color .3s, box-shadow .3s; }
:is(.elementor,body) .site-header.is-scrolled:not(._) { background: rgba(255, 255, 255, .9); backdrop-filter: saturate(160%) blur(12px); -webkit-backdrop-filter: saturate(160%) blur(12px); box-shadow: 0 1px 0 var(--line); }
:is(.elementor,body) .header-inner:not(._) { display: flex; align-items: center; gap: 40px; height: 84px; max-width: 1320px; }
:is(.elementor,body) .logo:not(._) { font: 800 30px/1 var(--f-head); color: var(--ink); letter-spacing: -.02em; }
:is(.elementor,body) .logo :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { color: var(--orange); }
:is(.elementor,body) .nav :is(ul:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ul)):not(._) { display: flex; gap: 32px; }
:is(.elementor,body) .nav a:not(._) { display: inline-flex; align-items: center; gap: 4px; font-weight: 500; font-size: 17px; color: var(--ink); padding: 8px 0; transition: color .2s; }
:is(.elementor,body) .nav a:hover:not(._),
:is(.elementor,body) .nav a:is([aria-current="page"],.is-current):not(._) { color: var(--orange-text); }
:is(.elementor,body) .header-end:not(._) { margin-left: auto; display: flex; align-items: center; gap: 14px; }
:is(.elementor,body) .lang:not(._) { display: flex; padding: 4px; border-radius: 99px; background: var(--tint-n); }
:is(.elementor,body) .lang a:not(._) { display: grid; place-items: center; width: 36px; height: 30px; border-radius: 99px; font: 700 12.5px/1 var(--f-body); color: var(--ink); }
:is(.elementor,body) .lang .is-off:not(._) { display: grid; place-items: center; width: 36px; height: 30px; border-radius: 99px; font: 700 12.5px/1 var(--f-body); color: #b4b4bd; cursor: not-allowed; }
:is(.elementor,body) .lang a.is-on:not(._) { background: var(--white); color: var(--orange-text); box-shadow: 0 2px 6px rgba(23, 23, 28, .1); }
:is(.elementor,body) .burger:not(._) { display: none; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--tint-n); color: var(--ink); align-items: center; justify-content: center; cursor: pointer; }
/* ---------- Sections ---------- */
:is(.elementor,body) .section:not(._) { position: relative; padding: 84px 0; overflow: clip; }
:is(.elementor,body) .section > .container:not(._) { z-index: 1; }
:is(.elementor,body) .band:not(._) { background: var(--band); }
:is(.elementor,body) .head:not(._) { max-width: 780px; margin: 0 auto 56px; text-align: center; }
:is(.elementor,body) .h2:not(._) { font-size: 38px; letter-spacing: -.01em; margin-top: 18px; }
:is(.elementor,body) .h2--xl:not(._) { font-size: 48px; line-height: 1.18; }
:is(.elementor,body) .sub:not(._) { margin-top: 14px; font-size: 17px; color: var(--lead); }
:is(.elementor,body) .lead:not(._) { margin-top: 20px; font-size: 19px; line-height: 1.6; color: var(--lead); }
:is(.elementor,body) .center:not(._) { text-align: center; margin-top: 48px; }
:is(.elementor,body) .card:not(._) { position: relative; background: var(--white); border-radius: var(--r-card); box-shadow: var(--shadow); transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
:is(.elementor,body) a.card:hover:not(._),
:is(.elementor,body) .card.step:hover:not(._),
:is(.elementor,body) .card.tl-card:hover:not(._),
:is(.elementor,body) .card.work:hover:not(._),
:is(.elementor,body) .why-card:hover:not(._) { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
:is(.elementor,body) .tint-o:not(._) { background: var(--tint-o); color: var(--orange); }
:is(.elementor,body) .tint-n:not(._) { background: var(--tint-n); color: var(--ink); }
:is(.elementor,body) .ico-badge:not(._) { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; }
:is(.elementor,body) .ico-badge .ico:not(._) { width: 28px; height: 28px; stroke-width: 1.7; }
:is(.elementor,body) .ico-sq:not(._) { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; }
:is(.elementor,body) .ico-sq .ico:not(._) { width: 24px; height: 24px; }
:is(.elementor,body) .num:not(._) { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(140deg, #ff8c43 0%, #f26a1b 40%, #17171c 120%);
  color: var(--white); font: 800 15px/1 var(--f-head);
  box-shadow: 0 0 0 5px var(--white), 0 6px 14px rgba(242, 106, 27, .35); }
/* ---------- Hero ---------- */
:is(.elementor,body) .hero:not(._) { position: relative; margin-top: -84px; padding: 136px 0 48px; background: linear-gradient(180deg, #fff6f0 0%, #ffffff 70%); overflow: clip; }
:is(.elementor,body) .hero-grid:not(._) { display: grid; grid-template-columns: 1.05fr .95fr; gap: 36px; align-items: center; z-index: 1; }
:is(.elementor,body) .hero-title:not(._) { margin-top: 22px; font-size: clamp(40px, 5vw, 68px); font-weight: 800; line-height: 1.04; letter-spacing: -.025em; }
:is(.elementor,body) .hero-title .grad:not(._),
:is(.elementor,body) .hero-title .with-grad :is(:is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span))):not(._),
:is(.elementor,body) .hero-title.with-grad :is(:is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span))):not(._) { display: block; padding-bottom: .06em; }
:is(.elementor,body) .hero-lead:not(._) { margin-top: 22px; max-width: 520px; font-size: 18px; line-height: 1.6; color: var(--text); }
:is(.elementor,body) .checks:not(._) { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 28px; font-size: 15px; color: var(--text); }
:is(.elementor,body) .checks :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: flex; align-items: center; gap: 8px; }
:is(.elementor,body) .checks .ico:not(._) { width: 18px; height: 18px; color: var(--orange); stroke-width: 2.6; }
:is(.elementor,body) .orbit:not(._) { position: relative; width: 100%; max-width: 580px; aspect-ratio: 1; justify-self: center; }
:is(.elementor,body) .orbit-glow:not(._) { position: absolute; inset: 10%; border-radius: 50%; background: radial-gradient(circle, #ffe2cd 0%, #fff0e5 45%, rgba(255, 240, 229, 0) 72%); }
:is(.elementor,body) .orbit-ring:not(._) { position: absolute; inset: 9%; border-radius: 50%; border: 2px dashed #f4c6a5; animation: spin 80s linear infinite; }
:is(.elementor,body) .orbit-art:not(._) { position: absolute; inset: 13%; width: 74%; height: 74%; }
:is(.elementor,body) .chips:not(._) { position: absolute; inset: 0; }
:is(.elementor,body) .chip:not(._) { position: absolute; transform: translate(-50%, -50%);
  display: flex; align-items: center; gap: 10px; padding: 7px 16px 7px 7px;
  background: var(--white); border-radius: 99px; box-shadow: 0 10px 26px rgba(23, 23, 28, .1);
  font: 700 14.5px/1 var(--f-head); color: var(--ink); white-space: nowrap;
  animation: chip 6s ease-in-out infinite; }
:is(.elementor,body) .chip-ico:not(._) { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--tint-o); color: var(--orange); }
:is(.elementor,body) .chip-ico .ico:not(._) { width: 17px; height: 17px; stroke-width: 2; }
:is(.elementor,body) .c1:not(._) { left: 50%; top: 9%; }
:is(.elementor,body) .c2:not(._) { left: 80%; top: 21%; animation-delay: -.8s; }
:is(.elementor,body) .c3:not(._) { left: 92%; top: 50%; animation-delay: -1.6s; }
:is(.elementor,body) .c4:not(._) { left: 80%; top: 79%; animation-delay: -2.4s; }
:is(.elementor,body) .c5:not(._) { left: 50%; top: 91%; animation-delay: -3.2s; }
:is(.elementor,body) .c6:not(._) { left: 20%; top: 79%; animation-delay: -4s; }
:is(.elementor,body) .c7:not(._) { left: 8%; top: 50%; animation-delay: -4.8s; }
:is(.elementor,body) .c8:not(._) { left: 20%; top: 21%; animation-delay: -5.6s; }
@keyframes chip { 50% { transform: translate(-50%, calc(-50% - 7px)); } }
@keyframes spin { to { transform: rotate(360deg); } }
/* ---------- Where to start ---------- */
:is(.elementor,body) .section--dots:not(._)::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(#e3e3ea 1.2px, transparent 1.2px); background-size: 26px 26px; -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 70%); mask-image: radial-gradient(ellipse at 50% 40%, #000 20%, transparent 70%); opacity: .7; }
:is(.elementor,body) .deco:not(._) { position: absolute; z-index: 0; animation: chip 7s ease-in-out infinite; }
:is(.elementor,body) .deco--ring:not(._) { left: 6%; top: 120px; width: 26px; height: 26px; border-radius: 50%; border: 2px solid #f6b48a; transform: none; animation-name: bob; }
:is(.elementor,body) .deco--plus:not(._) { right: 9%; top: 150px; width: 22px; height: 22px; animation-name: bob; animation-delay: -2s; background: linear-gradient(#cfcfd8, #cfcfd8) center / 2px 100% no-repeat, linear-gradient(#cfcfd8, #cfcfd8) center / 100% 2px no-repeat; }
@keyframes bob { 50% { transform: translateY(-10px); } }
:is(.elementor,body) .grid-4:not(._) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
:is(.elementor,body) .grid-3:not(._) { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
:is(.elementor,body) .situ:not(._) { display: flex; flex-direction: column; padding: 32px 28px 30px; }
:is(.elementor,body) .situ--down:not(._) { margin-top: 28px; }
:is(.elementor,body) .situ h3:not(._) { margin-top: 26px; font-size: 20px; }
:is(.elementor,body) .situ :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 12px; font-size: 16px; line-height: 1.55; }
/* ---------- Journey (services) ---------- */
:is(.elementor,body) .journey:not(._) { position: relative; --jgap: 76px; }
:is(.elementor,body) .journey-grid:not(._) { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; column-gap: 24px; row-gap: var(--jgap); }
:is(.elementor,body) .journey-grid :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(5):not(._) { grid-column: 4; grid-row: 2; }
:is(.elementor,body) .journey-grid :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(6):not(._) { grid-column: 3; grid-row: 2; }
:is(.elementor,body) .journey-grid :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(7):not(._) { grid-column: 2; grid-row: 2; }
:is(.elementor,body) .journey-grid :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(8):not(._) { grid-column: 1; grid-row: 2; }
:is(.elementor,body) .journey-track:not(._) { position: absolute; z-index: 0; left: 10%; right: 0; height: 12px; margin-top: -6px; border-radius: 6px; background: #ebebf1; overflow: hidden; }
:is(.elementor,body) .journey-track:not(._)::after { content: ""; position: absolute; inset: 3px 0; background: repeating-linear-gradient(90deg, rgba(242, 106, 27, .55) 0 14px, transparent 14px 30px); animation: flow 1.6s linear infinite; }
:is(.elementor,body) .journey-track--1:not(._) { top: calc((100% - var(--jgap)) / 4); }
:is(.elementor,body) .journey-track--2:not(._) { top: calc(100% - (100% - var(--jgap)) / 4); }
:is(.elementor,body) .journey-track--2:not(._)::after { animation-direction: reverse; }
:is(.elementor,body) .journey-turn:not(._) { position: absolute; z-index: 0; right: -46px; width: 92px; top: calc((100% - var(--jgap)) / 4 - 6px); height: calc((100% + var(--jgap)) / 2 + 12px); border: 12px solid #ebebf1; border-left: 0; border-radius: 0 999px 999px 0; }
@keyframes flow { to { background-position: 30px 0; } }
:is(.elementor,body) .step:not(._) { display: flex; flex-direction: column; padding: 36px 26px 26px; }
:is(.elementor,body) .step .num:not(._) { position: absolute; top: -19px; left: 22px; }
:is(.elementor,body) .step .ico-sq:not(._) { margin-top: 4px; }
:is(.elementor,body) .step h3:not(._) { margin-top: 18px; font-size: 18.5px; }
:is(.elementor,body) .step :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 8px; font-size: 15px; line-height: 1.55; }
:is(.elementor,body) .step .link:not(._) { padding-top: 14px; font-size: 14.5px; font-weight: 700; }
/* ---------- Bento ---------- */
:is(.elementor,body) .bento:not(._) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
:is(.elementor,body) .tile:not(._) { display: flex; flex-direction: column; padding: 28px 26px; overflow: hidden; min-height: 210px; }
:is(.elementor,body) .tile h3:not(._) { margin-top: 20px; font-size: 19.5px; }
:is(.elementor,body) .tile :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 8px; font-size: 15px; line-height: 1.55; }
:is(.elementor,body) .tile > *:not(._) { position: relative; z-index: 1; }
:is(.elementor,body) .tile-arrow:not(._) { position: absolute !important; top: 20px; right: 20px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--tint-n); color: var(--ink); transition: background-color .3s, color .3s, transform .3s var(--ease); }
:is(.elementor,body) .tile-arrow .ico:not(._) { width: 16px; height: 16px; stroke-width: 2.4; }
:is(.elementor,body) .tile:hover .tile-arrow:not(._) { background: var(--orange); color: var(--white); transform: rotate(45deg); }
:is(.elementor,body) .glow-o:not(._)::after,
:is(.elementor,body) .glow-n:not(._)::after { content: ""; position: absolute; z-index: 0; right: -60px; bottom: -70px; width: 220px; height: 220px; border-radius: 50%; filter: blur(30px); }
:is(.elementor,body) .glow-o:not(._)::after { background: rgba(255, 200, 165, .38); }
:is(.elementor,body) .glow-n:not(._)::after { background: rgba(218, 218, 232, .5); }
:is(.elementor,body) .tile--hero:not(._) { grid-column: 1 / 3; grid-row: 1 / 3; justify-content: flex-end; min-height: 440px; background: linear-gradient(150deg, #ffffff 35%, #fff2e8 100%); }
:is(.elementor,body) .tile--hero .ico-sq:not(._) { position: absolute; top: 28px; left: 26px; }
:is(.elementor,body) .tile-art:not(._) { position: absolute !important; top: 30px; right: 6%; width: 62%; }
:is(.elementor,body) .tile--hero h3:not(._) { font-size: 26px; }
:is(.elementor,body) .tile--wide:not(._) { grid-column: 1 / 3; }
/* ---------- Work ---------- */
:is(.elementor,body) .work:not(._) { display: flex; flex-direction: column; overflow: hidden; }
:is(.elementor,body) .work-media:not(._) { display: flex; align-items: flex-end; justify-content: center; height: 250px; padding: 26px 26px 0; overflow: hidden; }
:is(.elementor,body) .work-media img:not(._) { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 12px 12px 0 0; box-shadow: 0 -4px 30px rgba(23, 23, 28, .1); transition: transform .6s var(--ease); }
:is(.elementor,body) .work:hover .work-media img:not(._) { transform: translateY(-8px); }
:is(.elementor,body) .work-media--phone img:not(._) { width: 128px; height: auto; border-radius: 18px 18px 0 0; border: 5px solid var(--ink-2); border-bottom: 0; margin-bottom: -60px; object-fit: unset; }
:is(.elementor,body) .work-body:not(._) { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 28px; }
:is(.elementor,body) .meta:not(._) { font: 700 12.5px/1.3 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--orange-text); }
:is(.elementor,body) .work-body h3:not(._) { margin-top: 10px; font-size: 21px; }
:is(.elementor,body) .work-body h3 a:hover:not(._) { color: var(--orange-text); }
:is(.elementor,body) .work-body :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(.meta):not(._) { margin-top: 10px; font-size: 15.5px; line-height: 1.55; }
/* ---------- Split (about / agencies) ---------- */
:is(.elementor,body) .split:not(._) { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
:is(.elementor,body) .split-art img:not(._) { width: 100%; max-width: 540px; }
:is(.elementor,body) .split-copy .h2:not(._) { margin-top: 18px; }
:is(.elementor,body) .checklist:not(._) { display: flex; flex-direction: column; gap: 14px; margin-top: 28px; font-size: 16.5px; color: var(--text); }
:is(.elementor,body) .checklist :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: flex; align-items: flex-start; gap: 12px; }
:is(.elementor,body) .checklist .ico:not(._) { width: 24px; height: 24px; padding: 5px; margin-top: -1px; border-radius: 50%; background: var(--tint-o); color: var(--orange); stroke-width: 3; }
:is(.elementor,body) .checklist--2:not(._) { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; font-size: 15.5px; }
/* ---------- Why ---------- */
:is(.elementor,body) .why:not(._) { display: grid; grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: center; }
:is(.elementor,body) .why-copy .h2:not(._) { margin-top: 18px; }
:is(.elementor,body) .why-medal:not(._) { width: 150px; margin-top: 36px; }
:is(.elementor,body) .why-cards:not(._) { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
:is(.elementor,body) .why-col:not(._) { display: flex; flex-direction: column; gap: 24px; }
:is(.elementor,body) .why-col--offset:not(._) { margin-top: 44px; }
:is(.elementor,body) .why-card:not(._) { padding: 32px 28px; }
:is(.elementor,body) .why-card h3:not(._) { margin-top: 22px; font-size: 19.5px; }
:is(.elementor,body) .why-card :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 10px; font-size: 15.5px; line-height: 1.55; }
:is(.elementor,body) .big:not(._) { display: block; font: 800 46px/1 var(--f-head); letter-spacing: -.02em; }
:is(.elementor,body) .big + h3:not(._) { margin-top: 12px; }
/* ---------- Marquee ---------- */
:is(.elementor,body) .marquee:not(._) { overflow: hidden; padding: 12px 0 30px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
:is(.elementor,body) .marquee-track:not(._) { display: flex; gap: 22px; width: max-content; animation: marquee 45s linear infinite; }
:is(.elementor,body) .marquee:hover .marquee-track:not(._) { animation-play-state: paused; }
:is(.elementor,body) .marquee-track :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 116px; height: 116px; border-radius: var(--r-card); background: var(--white); box-shadow: var(--shadow); font: 700 13px/1.2 var(--f-head); color: var(--ink); text-align: center; }
:is(.elementor,body) .marquee-track .ico:not(._) { width: 34px; height: 34px; stroke-width: 1.5; }
:is(.elementor,body) .marquee-track :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(3n+1) .ico:not(._) { color: var(--orange); }
@keyframes marquee { to { transform: translateX(calc(-50% - 11px)); } }
/* ---------- Agencies ---------- */
:is(.elementor,body) .split--agency:not(._) { grid-template-columns: 1.1fr .9fr; gap: 64px; }
:is(.elementor,body) .split--agency .h2--xl:not(._) { font-size: 42px; }
:is(.elementor,body) .flow:not(._) { display: flex; flex-direction: column; gap: 34px; }
:is(.elementor,body) .flow-card:not(._) { display: flex; align-items: center; gap: 18px; padding: 22px 24px; }
:is(.elementor,body) .flow-card + .flow-card:not(._)::before { content: ""; position: absolute; left: 57px; top: -34px; height: 34px; border-left: 2px dashed #f4b088; }
:is(.elementor,body) .flow-card--me:not(._) { margin-left: 36px; box-shadow: 0 0 0 2px var(--orange), var(--shadow-hover); }
:is(.elementor,body) .flow-card--me:not(._)::before { left: 21px !important; }
:is(.elementor,body) .flow-card .ico-badge:not(._) { width: 60px; height: 60px; flex-shrink: 0; }
:is(.elementor,body) .flow-who:not(._) { display: block; font: 700 12px/1.3 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--orange-text); }
:is(.elementor,body) .flow-card h3:not(._) { margin-top: 6px; font-size: 18px; }
/* ---------- Méthode (frise) ---------- */
:is(.elementor,body) .timeline:not(._) { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; }
:is(.elementor,body) .timeline:not(._)::before { content: ""; position: absolute; z-index: 0; top: 45px; left: 10%; right: 10%; height: 3px; border-radius: 3px; background: repeating-linear-gradient(90deg, #f4ac80 0 12px, transparent 12px 22px); animation: flow2 1.4s linear infinite; }
@keyframes flow2 { to { background-position: 22px 0; } }
:is(.elementor,body) .tl-step:not(._) { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
:is(.elementor,body) .tl-ico:not(._) { position: relative; flex-shrink: 0; display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: var(--tint-o); color: var(--orange); box-shadow: 0 0 0 8px var(--white), var(--shadow); transition: background-color .35s, color .35s, transform .35s var(--ease); }
:is(.elementor,body) .tl-ico .ico:not(._) { width: 34px; height: 34px; stroke-width: 1.6; }
:is(.elementor,body) .tl-ico .num:not(._) { position: absolute; top: -6px; right: -8px; width: 32px; height: 32px; font-size: 13.5px; }
:is(.elementor,body) .tl-step:hover .tl-ico:not(._) { background: var(--orange); color: var(--white); transform: translateY(-4px); }
:is(.elementor,body) .tl-card:not(._) { position: relative; display: flex; flex-direction: column; flex: 1; width: 100%; margin-top: 30px; padding: 26px 22px 22px; }
:is(.elementor,body) .tl-card:not(._)::before { content: ""; position: absolute; top: -8px; left: 50%; width: 16px; height: 16px; border-radius: 3px; background: var(--white); transform: translateX(-50%) rotate(45deg); }
:is(.elementor,body) .tl-card h3:not(._) { font-size: 19px; }
:is(.elementor,body) .tl-card > :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(.deliv):not(._) { margin: 8px 0 18px; font-size: 15px; line-height: 1.55; }
:is(.elementor,body) .deliv:not(._) { margin-top: auto; padding: 12px 14px; border-radius: 12px; background: var(--tint-o); color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.4; }
:is(.elementor,body) .deliv :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { display: block; margin-bottom: 3px; font: 700 11px/1.2 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--orange-text); }
/* ---------- Reviews ---------- */
:is(.elementor,body) .quote:not(._) { display: flex; flex-direction: column; padding: 32px 30px; }
:is(.elementor,body) .ico--quote:not(._) { width: 36px; height: 36px; color: var(--orange); stroke-width: 2; }
:is(.elementor,body) .quote :is(blockquote:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-blockquote)):not(._) { flex: 1; margin-top: 16px; font-size: 16px; line-height: 1.65; color: var(--text); }
:is(.elementor,body) .quote :is(figcaption:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-figcaption)):not(._) { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
:is(.elementor,body) .avatar:not(._) { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--tint-n); color: var(--lead); }
:is(.elementor,body) .quote :is(strong:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-strong)):not(._) { display: block; font: 700 16px/1.3 var(--f-head); color: var(--ink); }
:is(.elementor,body) .quote :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { font-size: 13.5px; color: var(--lead); }
/* ---------- FAQ ---------- */
:is(.elementor,body) .faq:not(._) { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
:is(.elementor,body) .faq :is(details:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-details)):not(._) { padding: 0 28px; }
:is(.elementor,body) .faq :is(summary:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-summary)):not(._) { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; cursor: pointer; list-style: none; font: 700 18px/1.35 var(--f-head); color: var(--ink); }
:is(.elementor,body) .faq :is(summary:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-summary)):not(._)::-webkit-details-marker { display: none; }
:is(.elementor,body) .faq-ico:not(._) { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--tint-o); color: var(--orange); transition: transform .35s var(--ease), background-color .3s, color .3s; }
:is(.elementor,body) .faq-ico .ico:not(._) { width: 18px; height: 18px; stroke-width: 2.4; }
:is(.elementor,body) .faq :is(details:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-details)):is([open],.is-open) .faq-ico:not(._) { transform: rotate(45deg); background: var(--orange); color: var(--white); }
:is(.elementor,body) .faq :is(details:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-details)) :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { padding: 0 52px 24px 0; font-size: 16px; line-height: 1.65; }
/* ---------- Final CTA ---------- */
:is(.elementor,body) .section--cta:not(._) { padding: 96px 0 0; overflow: visible; z-index: 2; }
:is(.elementor,body) .cta:not(._) { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: 24px; align-items: end;
  padding: 0 0 0 64px; margin-bottom: -120px; border-radius: 28px;
  background: radial-gradient(circle at 82% 18%, #ffa468 0%, rgba(255, 164, 104, 0) 46%), linear-gradient(120deg, #f26a1b 0%, #f47a2e 55%, #ff9150 100%);
  box-shadow: 0 34px 60px -34px rgba(242, 106, 27, .75); }
:is(.elementor,body) .cta-dots:not(._) { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background-image: radial-gradient(rgba(255, 255, 255, .32) 1.3px, transparent 1.3px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(90deg, #000, transparent 55%); mask-image: linear-gradient(90deg, #000, transparent 55%); }
:is(.elementor,body) .cta-copy:not(._) { position: relative; z-index: 1; padding: 64px 0; }
:is(.elementor,body) .eyebrow--light:not(._) { background: rgba(255, 255, 255, .92); }
:is(.elementor,body) .cta-title:not(._) { margin-top: 18px; font-size: 48px; line-height: 1.15; letter-spacing: -.01em; color: var(--ink); }
:is(.elementor,body) .cta-title :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { color: var(--white); }
:is(.elementor,body) .cta-lead:not(._) { margin-top: 16px; max-width: 480px; font-size: 18px; line-height: 1.6; color: var(--ink); }
:is(.elementor,body) .cta .btn-row:not(._) { margin-top: 32px; }
:is(.elementor,body) .btn--light:not(._) { background: var(--white); color: var(--ink); }
:is(.elementor,body) .btn--light .ico:not(._) { width: 20px; height: 20px; color: #128c4a; }
:is(.elementor,body) .btn--light:hover:not(._) { transform: translateY(-2px); box-shadow: 0 14px 28px -14px rgba(23, 23, 28, .5); }
:is(.elementor,body) .cta-checks:not(._) { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 26px; font-size: 15px; font-weight: 600; color: var(--ink); }
:is(.elementor,body) .cta-checks :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: flex; align-items: center; gap: 8px; }
:is(.elementor,body) .cta-checks .ico:not(._) { width: 20px; height: 20px; padding: 4px; border-radius: 50%; background: var(--ink); color: var(--white); stroke-width: 3.2; }
:is(.elementor,body) .cta-visual:not(._) { position: relative; align-self: stretch; min-height: 460px; }
:is(.elementor,body) .cta-halo:not(._) { position: absolute; left: 50%; bottom: 0; width: 420px; height: 420px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0) 68%); }
:is(.elementor,body) .cta-amel:not(._) { position: absolute; bottom: 0; left: 50%; width: 520px; max-width: none; transform: translateX(-50%); }
:is(.elementor,body) .bubble:not(._) { position: absolute; z-index: 2; max-width: 250px; padding: 12px 16px; border-radius: 18px; font: 500 14.5px/1.45 var(--f-body); box-shadow: 0 16px 30px -14px rgba(23, 23, 28, .45); }
:is(.elementor,body) .bubble-who:not(._) { display: block; margin-bottom: 4px; font: 700 11px/1.2 var(--f-body); letter-spacing: .08em; text-transform: uppercase; }
:is(.elementor,body) .bubble--in:not(._) { background: var(--white); color: var(--ink); border-bottom-left-radius: 6px; }
:is(.elementor,body) .bubble--in .bubble-who:not(._) { color: var(--orange-text); }
:is(.elementor,body) .bubble--out:not(._) { background: var(--ink); color: var(--white); border-bottom-right-radius: 6px; }
:is(.elementor,body) .bubble--out .bubble-who:not(._) { color: #ffb385; }
:is(.elementor,body) .bubble--typing:not(._) { display: flex; gap: 5px; padding: 14px 16px; background: var(--ink); border-bottom-right-radius: 6px; }
:is(.elementor,body) .bubble--typing :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)):not(._) { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: typing 1s ease-in-out infinite; }
:is(.elementor,body) .bubble--typing :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)):nth-child(2):not(._) { animation-delay: .15s; }
:is(.elementor,body) .bubble--typing :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)):nth-child(3):not(._) { animation-delay: .3s; }
@keyframes typing { 0%, 100% { opacity: .3; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
:is(.elementor,body) .b1:not(._) { top: 44px; left: -96px; }
:is(.elementor,body) .b2:not(._) { top: 176px; left: -20px; }
:is(.elementor,body) .b3:not(._) { bottom: 76px; left: -64px; }
.js :is(.elementor,body) .cta .bubble:not(._) { opacity: 0; transform: translateY(12px) scale(.94); }
.js :is(.elementor,body) .cta.is-in .b1:not(._) { animation: pop .5s .5s var(--ease) forwards, float 6s 1.2s ease-in-out infinite; }
.js :is(.elementor,body) .cta.is-in .b2:not(._) { animation: pop .4s 1.3s var(--ease) forwards, fadeout .3s 2.8s forwards; }
.js :is(.elementor,body) .cta.is-in .b3:not(._) { animation: pop .5s 3s var(--ease) forwards, float 6s 3.6s ease-in-out infinite; }
@keyframes pop { to { opacity: 1; transform: none; } }
@keyframes fadeout { to { opacity: 0; transform: scale(.9); } }
@keyframes float { 0%, 100% { transform: none; opacity: 1; } 50% { transform: translateY(-6px); opacity: 1; } }
/* ---------- Footer ---------- */
:is(.elementor,body) .site-footer:not(._) { position: relative; overflow: clip; background: var(--ink-2); color: #b9bac2; padding: 200px 0 36px; }
:is(.elementor,body) .site-footer .container:not(._) { z-index: 1; }
:is(.elementor,body) .footer-top:not(._) { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
:is(.elementor,body) .logo--light:not(._) { font-size: 44px; color: var(--white); }
:is(.elementor,body) .footer-top nav:not(._) { display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: flex-end; max-width: 640px; }
:is(.elementor,body) .footer-top nav a:not(._) { font: 600 17px/1.4 var(--f-head); color: #dcdde3; transition: color .2s; }
:is(.elementor,body) .footer-top nav a:hover:not(._) { color: var(--orange); }
:is(.elementor,body) .footer-mid:not(._) { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-top: 44px; padding: 26px 0; border-top: 1px solid rgba(255, 255, 255, .09); border-bottom: 1px solid rgba(255, 255, 255, .09); font-size: 15.5px; color: #e4e5ea; }
:is(.elementor,body) .footer-mid a:not(._),
:is(.elementor,body) .footer-mid :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { display: inline-flex; align-items: center; gap: 10px; }
:is(.elementor,body) .footer-mid .ico:not(._) { width: 19px; height: 19px; color: var(--orange); }
:is(.elementor,body) .footer-mid a:hover:not(._) { color: var(--orange); }
:is(.elementor,body) .footer-bottom:not(._) { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 26px; font-size: 14.5px; }
:is(.elementor,body) .legal:not(._) { display: flex; gap: 22px; }
:is(.elementor,body) .legal a:hover:not(._) { color: var(--white); }
:is(.elementor,body) .socials:not(._) { display: flex; gap: 12px; }
:is(.elementor,body) .socials a:not(._) { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .16); color: var(--white); transition: background-color .3s, border-color .3s, transform .3s var(--ease); }
:is(.elementor,body) .socials a:hover:not(._) { background: var(--orange); border-color: var(--orange); transform: translateY(-3px); }
:is(.elementor,body) .socials .ico:not(._) { width: 18px; height: 18px; }
/* ---------- Dock ---------- */
:is(.elementor,body) .dock:not(._) { position: fixed; z-index: 70; right: 20px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 4px; padding: 8px; border-radius: 99px; background: var(--orange); box-shadow: 0 14px 30px -10px rgba(242, 106, 27, .7); }
:is(.elementor,body) .dock a:not(._) { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--white); transition: background-color .25s; }
:is(.elementor,body) .dock a:hover:not(._) { background: rgba(255, 255, 255, .2); }
/* ---------- Motion ---------- */
.js :is(.elementor,body) .reveal:not(._) { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease), box-shadow .4s var(--ease); }
.js :is(.elementor,body) .reveal.is-in:not(._) { opacity: 1; transform: none; }
.js :is(.elementor,body) a.card.reveal.is-in:hover:not(._),
.js :is(.elementor,body) .card.step.reveal.is-in:hover:not(._),
.js :is(.elementor,body) .card.work.reveal.is-in:hover:not(._),
.js :is(.elementor,body) .why-card.reveal.is-in:hover:not(._) { transform: translateY(-6px); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js :is(.elementor,body) .reveal:not(._) { opacity: 1; transform: none; transition: none; }
  .js :is(.elementor,body) .cta .bubble:not(._) { opacity: 1; transform: none; }
  .js :is(.elementor,body) .cta .b2:not(._) { display: none; }
  *,
*::before,
*::after { animation: none !important; transition-duration: .01ms !important; }
}
/* ---------- Responsive ---------- */
@media (max-width: 1240px) {
  :is(.elementor,body) .nav :is(ul:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ul)):not(._) { gap: 22px; }
  :is(.elementor,body) .header-inner:not(._) { gap: 28px; }
  :is(.elementor,body) .dock:not(._) { right: 12px; }
}
@media (max-width: 1080px) {
  :is(.elementor,body) .burger:not(._) { display: inline-flex; }
  :is(.elementor,body) .header-end .btn:not(._) { display: none; }
  :is(.elementor,body) .nav:not(._) { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 8px var(--gutter) 24px; background: var(--white); box-shadow: 0 20px 30px -20px rgba(23, 23, 28, .2); }
  :is(.elementor,body) .nav-open:not(._) { background: var(--white); }
  :is(.elementor,body) .nav-open .nav:not(._) { display: block; }
  :is(.elementor,body) .nav :is(ul:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ul)):not(._) { flex-direction: column; gap: 0; }
  :is(.elementor,body) .nav a:not(._) { width: 100%; padding: 14px 0; border-bottom: 1px solid var(--line); }
  :is(.elementor,body) .hero:not(._) { padding-top: 120px; }
  :is(.elementor,body) .hero-grid:not(._) { grid-template-columns: 1fr; gap: 40px; }
  :is(.elementor,body) .orbit:not(._) { max-width: 540px; }
  :is(.elementor,body) .grid-4:not(._) { grid-template-columns: repeat(2, 1fr); }
  :is(.elementor,body) .situ--down:not(._) { margin-top: 0; }
  :is(.elementor,body) .journey-grid:not(._) { grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; row-gap: 44px; }
  :is(.elementor,body) .journey-grid :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(n):not(._) { grid-column: auto; grid-row: auto; }
  :is(.elementor,body) .journey-track:not(._),
:is(.elementor,body) .journey-turn:not(._) { display: none; }
  :is(.elementor,body) .bento:not(._) { grid-template-columns: repeat(2, 1fr); }
  :is(.elementor,body) .tile--hero:not(._) { grid-row: auto; min-height: 400px; }
  :is(.elementor,body) .grid-3:not(._) { grid-template-columns: 1fr 1fr; }
  :is(.elementor,body) .grid-3 > :last-child:nth-child(odd):not(._) { grid-column: 1 / -1; }
  :is(.elementor,body) .split:not(._),
:is(.elementor,body) .split--agency:not(._),
:is(.elementor,body) .why:not(._) { grid-template-columns: 1fr; gap: 48px; }
  :is(.elementor,body) .split-art:not(._) { order: 2; }
  :is(.elementor,body) .split-art img:not(._) { margin: 0 auto; }
  :is(.elementor,body) .timeline:not(._) { grid-template-columns: 1fr; gap: 20px; }
  :is(.elementor,body) .timeline:not(._)::before { top: 0; bottom: 0; left: 45px; right: auto; width: 3px; height: auto; background: repeating-linear-gradient(180deg, #f4ac80 0 12px, transparent 12px 22px); animation: none; }
  :is(.elementor,body) .tl-step:not(._) { flex-direction: row; align-items: flex-start; gap: 24px; }
  :is(.elementor,body) .tl-card:not(._) { margin-top: 0; width: auto; min-width: 0; }
  :is(.elementor,body) .tl-card:not(._)::before { top: 30px; left: -7px; transform: rotate(45deg); }
  :is(.elementor,body) .cta:not(._) { grid-template-columns: 1fr; padding: 0 40px; gap: 0; }
  :is(.elementor,body) .cta-copy:not(._) { padding: 52px 0 8px; }
  :is(.elementor,body) .cta-visual:not(._) { min-height: 450px; }
  :is(.elementor,body) .cta-amel:not(._) { width: 400px; left: 62%; }
  :is(.elementor,body) .b1:not(._) { left: 0; top: 30px; }
  :is(.elementor,body) .b2:not(._) { left: 40px; top: 160px; }
  :is(.elementor,body) .b3:not(._) { left: 0; }
}
@media (max-width: 680px) {
  :root { --gutter: 18px; }
  :is(.elementor,body) .header-inner:not(._) { height: 72px; }
  :is(.elementor,body) .logo:not(._) { font-size: 26px; }
  :is(.elementor,body) .lang:not(._) { display: none; }
  :is(.elementor,body) .hero:not(._) { margin-top: -72px; padding: 104px 0 56px; }
  :is(.elementor,body) .hero-title:not(._) { font-size: 40px; }
  :is(.elementor,body) .hero-lead:not(._),
:is(.elementor,body) .lead:not(._) { font-size: 17px; }
  :is(.elementor,body) .btn-row .btn:not(._),
:is(.elementor,body) .btn-row .spark-wrap:not(._),
:is(.elementor,body) .btn-row .spark-wrap .btn:not(._) { width: 100%; }
  :is(.elementor,body) .checks:not(._) { gap: 8px 18px; font-size: 14px; }
  :is(.elementor,body) .chip:not(._) { font-size: 12px; padding: 5px 12px 5px 5px; gap: 7px; }
  :is(.elementor,body) .chip-ico:not(._) { width: 24px; height: 24px; }
  :is(.elementor,body) .chip-ico .ico:not(._) { width: 13px; height: 13px; }
  :is(.elementor,body) .c2:not(._),
:is(.elementor,body) .c4:not(._),
:is(.elementor,body) .c6:not(._),
:is(.elementor,body) .c8:not(._) { display: none; }
  :is(.elementor,body) .c3:not(._) { left: 84%; }
  :is(.elementor,body) .c7:not(._) { left: 16%; }
  :is(.elementor,body) .section:not(._) { padding: 68px 0; }
  :is(.elementor,body) .head:not(._) { margin-bottom: 40px; }
  :is(.elementor,body) .h2:not(._) { font-size: 29px; }
  :is(.elementor,body) .h2--xl:not(._),
:is(.elementor,body) .split--agency .h2--xl:not(._) { font-size: 33px; }
  :is(.elementor,body) .grid-4:not(._),
:is(.elementor,body) .grid-3:not(._),
:is(.elementor,body) .bento:not(._),
:is(.elementor,body) .journey-grid:not(._),
:is(.elementor,body) .why-cards:not(._),
:is(.elementor,body) .checklist--2:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .grid-3 > :last-child:nth-child(odd):not(._) { grid-column: auto; }
  :is(.elementor,body) .tile--hero:not(._),
:is(.elementor,body) .tile--wide:not(._) { grid-column: auto; }
  :is(.elementor,body) .tile--hero:not(._) { min-height: 380px; }
  :is(.elementor,body) .tile-art:not(._) { width: 78%; right: 4%; }
  :is(.elementor,body) .why-col--offset:not(._) { margin-top: 0; }
  :is(.elementor,body) .deco:not(._) { display: none; }
  :is(.elementor,body) .situ:not(._) { display: grid; grid-template-columns: 52px 1fr; column-gap: 16px; padding: 24px 22px; }
  :is(.elementor,body) .situ .ico-badge:not(._) { grid-row: 1 / span 3; width: 52px; height: 52px; }
  :is(.elementor,body) .situ .ico-badge .ico:not(._) { width: 23px; height: 23px; }
  :is(.elementor,body) .situ > :not(.ico-badge):not(._) { grid-column: 2; }
  :is(.elementor,body) .situ h3:not(._) { margin-top: 2px; font-size: 18px; }
  :is(.elementor,body) .situ :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { font-size: 15px; margin-top: 6px; }
  :is(.elementor,body) .situ .link:not(._) { padding-top: 10px; }
  :is(.elementor,body) .journey-grid:not(._) { row-gap: 34px; }
  :is(.elementor,body) .step:not(._) { padding: 30px 22px 20px; }
  :is(.elementor,body) .step .ico-sq:not(._) { display: none; }
  :is(.elementor,body) .step h3:not(._) { margin-top: 6px; }
  :is(.elementor,body) .tile:not(._) { min-height: 0; padding: 24px 22px; }
  :is(.elementor,body) .tile--hero:not(._) { min-height: 410px; }
  :is(.elementor,body) .tile--hero .tile-art:not(._) { top: 64px; width: 70%; right: 15%; }
  :is(.elementor,body) .tile h3:not(._) { margin-top: 16px; }
  :is(.elementor,body) .why-card:not(._),
:is(.elementor,body) .quote:not(._) { padding: 26px 22px; }
  :is(.elementor,body) .tl-ico:not(._) { width: 70px; height: 70px; box-shadow: 0 0 0 6px var(--white), var(--shadow); }
  :is(.elementor,body) .tl-ico .ico:not(._) { width: 27px; height: 27px; }
  :is(.elementor,body) .tl-ico .num:not(._) { width: 28px; height: 28px; font-size: 12.5px; }
  :is(.elementor,body) .timeline:not(._)::before { left: 34px; }
  :is(.elementor,body) .tl-step:not(._) { gap: 16px; }
  :is(.elementor,body) .tl-card:not(._) { padding: 20px 18px 18px; }
  :is(.elementor,body) .orbit-art:not(._) { inset: 18%; width: 64%; height: 64%; }
  :is(.elementor,body) .flow-card--me:not(._) { margin-left: 18px; }
  :is(.elementor,body) .faq :is(details:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-details)):not(._) { padding: 0 20px; }
  :is(.elementor,body) .faq :is(summary:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-summary)):not(._) { font-size: 16.5px; }
  :is(.elementor,body) .faq :is(details:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-details)) :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { padding-right: 0; }
  :is(.elementor,body) .cta:not(._) { padding: 0 20px; margin-bottom: -90px; }
  :is(.elementor,body) .cta-title:not(._) { font-size: 34px; }
  :is(.elementor,body) .cta-lead:not(._) { font-size: 16.5px; }
  :is(.elementor,body) .cta-visual:not(._) { min-height: 372px; }
  :is(.elementor,body) .cta-amel:not(._) { width: 300px; left: 56%; }
  :is(.elementor,body) .cta-halo:not(._) { width: 320px; height: 320px; }
  :is(.elementor,body) .bubble:not(._) { max-width: 190px; font-size: 13px; padding: 10px 13px; }
  :is(.elementor,body) .b1:not(._) { top: 6px; left: -4px; }
  :is(.elementor,body) .b2:not(._) { top: 120px; left: 8px; }
  :is(.elementor,body) .b3:not(._) { bottom: 40px; left: -4px; }
  :is(.elementor,body) .site-footer:not(._) { padding-top: 160px; }
  :is(.elementor,body) .footer-top nav:not(._) { justify-content: flex-start; }
  :is(.elementor,body) .footer-bottom:not(._) { flex-direction: column; align-items: flex-start; }
  :is(.elementor,body) .dock:not(._) { top: auto; bottom: 18px; transform: none; flex-direction: row; right: 14px; }
}
/* ==========================================================================
   Pages intérieures (phase 3)
   ========================================================================== */
html { scroll-padding-top: 150px; }
:is(.elementor,body) .h3:not(._) { font-family: var(--f-head); font-size: 21px; font-weight: 700; color: var(--ink); line-height: 1.3; }
/* ---------- Sous-menu Services ---------- */
:is(.elementor,body) .nav .has-sub:not(._) { position: relative; }
:is(.elementor,body) .nav .sub:not(._) { position: absolute; top: calc(100% + 12px); left: -22px; z-index: 5;
  display: grid; gap: 2px; width: 340px; padding: 10px;
  background: var(--white); border-radius: 18px; box-shadow: 0 26px 50px rgba(23, 23, 28, .15);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s, transform .3s var(--ease), visibility .25s; }
:is(.elementor,body) .nav .sub:not(._)::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
:is(.elementor,body) .nav .has-sub:hover .sub:not(._),
:is(.elementor,body) .nav .has-sub:focus-within .sub:not(._) { opacity: 1; visibility: visible; transform: none; }
:is(.elementor,body) .nav .sub a:not(._) { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; }
:is(.elementor,body) .nav .sub a:hover:not(._) { background: var(--tint-o); }
:is(.elementor,body) .sub :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 700 15px/1.3 var(--f-head); color: var(--ink); }
:is(.elementor,body) .sub :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { display: block; font-size: 13px; color: var(--lead); font-weight: 400; }
:is(.elementor,body) .sub-ico:not(._) { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px; background: var(--tint-o); color: var(--orange); }
:is(.elementor,body) .sub-ico .ico:not(._) { width: 19px; height: 19px; }
:is(.elementor,body) .site-footer.site-footer--plain:not(._) { padding-top: 80px; }
/* ---------- En-tête de page ---------- */
:is(.elementor,body) .page-hero:not(._) { position: relative; margin-top: -84px; padding: 148px 0 72px; background: linear-gradient(180deg, #fff3ea 0%, #ffffff 100%); overflow: clip; }
:is(.elementor,body) .page-hero > .container:not(._) { z-index: 1; }
:is(.elementor,body) .page-hero-grid:not(._) { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
:is(.elementor,body) .page-title:not(._) { margin-top: 18px; font-size: clamp(34px, 4.1vw, 54px); line-height: 1.1; letter-spacing: -.02em; }
:is(.elementor,body) .page-hero-art img:not(._) { width: 100%; max-width: 460px; margin-left: auto; }
:is(.elementor,body) .page-hero-art--shop img:not(._) { max-width: 430px; }
:is(.elementor,body) .page-hero--center:not(._) { text-align: center; }
:is(.elementor,body) .page-hero--center .container:not(._) { max-width: 880px; }
:is(.elementor,body) .page-hero--center .hero-lead:not(._) { margin-inline: auto; }
:is(.elementor,body) .page-hero--center .breadcrumb:not(._) { justify-content: center; }
:is(.elementor,body) .page-hero--short:not(._) { padding-bottom: 36px; }
:is(.elementor,body) .page-hero--case .container:not(._) { max-width: 960px; }
:is(.elementor,body) .page-hero--case .hero-lead:not(._) { max-width: 720px; }
:is(.elementor,body) .breadcrumb:not(._) { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 18px; font-size: 14px; color: var(--lead); }
:is(.elementor,body) .breadcrumb a:hover:not(._) { color: var(--orange-text); }
:is(.elementor,body) .breadcrumb :is([aria-current],.is-current):not(._) { color: var(--ink); font-weight: 600; }
:is(.elementor,body) .breadcrumb .ico:not(._) { width: 12px; height: 12px; color: #b9b9c2; }
:is(.elementor,body) .section--top0:not(._) { padding-top: 8px; }
:is(.elementor,body) .btn-row--center:not(._) { justify-content: center; }
/* ---------- Navigation secondaire ---------- */
:is(.elementor,body) .subnav:not(._) { position: sticky; top: 84px; z-index: 40; background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
:is(.elementor,body) .subnav .container:not(._) { display: flex; justify-content: center; gap: 10px; padding-block: 12px; overflow-x: auto; scrollbar-width: none; }
:is(.elementor,body) .subnav a:not(._) { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 99px; background: var(--tint-n); font: 600 14.5px/1 var(--f-body); color: var(--ink); white-space: nowrap; transition: background-color .25s, color .25s; }
:is(.elementor,body) .subnav a:hover:not(._) { background: var(--tint-o); color: var(--orange-text); }
:is(.elementor,body) .subnav .ico:not(._) { width: 17px; height: 17px; color: var(--orange); }
/* ---------- Fiches services ---------- */
:is(.elementor,body) .svc-list:not(._) { display: flex; flex-direction: column; gap: 22px; }
:is(.elementor,body) .svc:not(._) { display: grid; grid-template-columns: .9fr 2.1fr; gap: 36px; padding: 32px 34px; scroll-margin-top: 160px; }
:is(.elementor,body) .svc-head:not(._) { display: flex; flex-direction: column; }
:is(.elementor,body) .svc-head h3:not(._) { margin-top: 18px; font-size: 22px; }
:is(.elementor,body) .svc-head :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 8px; font-size: 15.5px; line-height: 1.55; }
:is(.elementor,body) .svc-head .link:not(._) { padding-top: 16px; }
:is(.elementor,body) .svc-cols:not(._) { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; padding-left: 34px; border-left: 1px solid var(--line); }
:is(.elementor,body) .svc-label:not(._) { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font: 700 12px/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--orange-text); }
:is(.elementor,body) .svc-label .ico:not(._) { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: var(--tint-o); color: var(--orange); stroke-width: 2.6; }
:is(.elementor,body) .svc-label--pb:not(._) { color: var(--ink); }
:is(.elementor,body) .svc-label--pb .ico:not(._) { background: var(--tint-n); color: var(--ink); }
:is(.elementor,body) .svc-cols :is(ul:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ul)):not(._) { display: flex; flex-direction: column; gap: 9px; font-size: 14.5px; line-height: 1.45; }
:is(.elementor,body) .svc-cols :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { position: relative; padding-left: 15px; }
:is(.elementor,body) .svc-cols :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._)::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
:is(.elementor,body) .svc-cols :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(.svc-label):not(._) { font-size: 14.5px; line-height: 1.6; }
/* ---------- Cartes génériques ---------- */
:is(.elementor,body) .feat:not(._) { padding: 30px 26px; }
:is(.elementor,body) .feat h3:not(._) { margin-top: 20px; font-size: 19px; }
:is(.elementor,body) .feat :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 8px; font-size: 15px; line-height: 1.55; }
:is(.elementor,body) .grid-2:not(._) { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
:is(.elementor,body) .mini-step:not(._) { padding: 30px 24px; }
:is(.elementor,body) .mini-step h3:not(._) { margin-top: 18px; font-size: 18.5px; }
:is(.elementor,body) .mini-step :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 8px; font-size: 15px; line-height: 1.55; }
:is(.elementor,body) .duo:not(._) { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
:is(.elementor,body) .duo-card:not(._) { display: flex; flex-direction: column; padding: 34px 32px; }
:is(.elementor,body) .duo-card h3:not(._) { margin-top: 22px; font-size: 22px; }
:is(.elementor,body) .duo-card :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 10px; font-size: 16px; line-height: 1.6; }
:is(.elementor,body) .split-art--phone img:not(._) { width: 230px; margin: 0 auto; border-radius: 30px; border: 8px solid var(--ink-2); box-shadow: var(--shadow-hover); }
:is(.elementor,body) .checklist--card:not(._) { margin-top: 0; padding: 30px 32px; border-radius: var(--r-card); background: var(--white); box-shadow: var(--shadow); }
:is(.elementor,body) .timeline--4:not(._) { grid-template-columns: repeat(4, 1fr); }
:is(.elementor,body) .format:not(._) { display: flex; flex-direction: column; padding: 32px 28px; }
:is(.elementor,body) .format-tag:not(._) { align-self: flex-start; padding: 7px 12px; border-radius: 99px; background: var(--tint-n); font: 700 12px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
:is(.elementor,body) .format h3:not(._) { margin-top: 18px; font-size: 21px; }
:is(.elementor,body) .format :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 10px; font-size: 15.5px; line-height: 1.55; }
:is(.elementor,body) .format--hl:not(._) { box-shadow: 0 0 0 2px var(--orange), var(--shadow-hover); }
:is(.elementor,body) .format--hl .format-tag:not(._) { background: var(--orange); color: var(--white); }
:is(.elementor,body) .markets:not(._) { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
:is(.elementor,body) .markets :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border-radius: 99px; background: var(--white); box-shadow: var(--shadow); font: 700 16px/1 var(--f-head); color: var(--ink); }
:is(.elementor,body) .markets :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._)::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
/* ---------- Réalisations ---------- */
:is(.elementor,body) .filters:not(._) { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 40px; }
:is(.elementor,body) .filter:not(._) { height: 44px; padding: 0 20px; border: 0; border-radius: 99px; background: var(--tint-n); font: 600 15px/1 var(--f-body); color: var(--ink); cursor: pointer; transition: background-color .25s, color .25s; }
:is(.elementor,body) .filter:hover:not(._) { background: var(--tint-o); color: var(--orange-text); }
:is(.elementor,body) .filter.is-on:not(._) { background: var(--orange); color: var(--white); }
:is(.elementor,body) .project.is-hidden:not(._) { display: none; }
:is(.elementor,body) .project--cta:not(._) { display: flex; flex-direction: column; justify-content: center; padding: 34px 30px; background: linear-gradient(150deg, #fff 30%, #fff1e7); border: 2px dashed #f4c6a5; box-shadow: none; }
:is(.elementor,body) .project--cta h2:not(._) { margin-top: 20px; }
:is(.elementor,body) .project--cta :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 10px; font-size: 15.5px; }
:is(.elementor,body) .filters-empty:not(._) { margin-top: 24px; text-align: center; color: var(--lead); }
:is(.elementor,body) .filters-empty a:not(._) { color: var(--orange-text); text-decoration: underline; }
:is(.elementor,body) .work-body .h3:not(._) { margin-top: 10px; }
/* ---------- Études de cas ---------- */
:is(.elementor,body) .tags-row:not(._) { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
:is(.elementor,body) .tags-row :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { padding: 8px 14px; border-radius: 99px; background: var(--white); box-shadow: 0 4px 14px rgba(23, 23, 28, .07); font: 600 13.5px/1 var(--f-body); color: var(--ink); }
:is(.elementor,body) .case-shot:not(._) { position: relative; z-index: 2; margin-top: -8px; }
:is(.elementor,body) .browser:not(._) { margin: 0; overflow: hidden; border-radius: 16px; background: var(--white); box-shadow: 0 34px 60px -30px rgba(23, 23, 28, .4), 0 0 0 1px var(--line); }
:is(.elementor,body) .browser-bar:not(._) { display: flex; align-items: center; gap: 7px; height: 40px; padding: 0 16px; background: #f4f4f7; border-bottom: 1px solid var(--line); }
:is(.elementor,body) .browser-bar :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)):not(._) { width: 11px; height: 11px; border-radius: 50%; background: #dcdce3; font-style: normal; }
:is(.elementor,body) .browser-bar :is(i:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-i)):first-child:not(._) { background: var(--orange); }
:is(.elementor,body) .browser-bar :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { margin: 0 auto; padding: 5px 18px; border-radius: 8px; background: var(--white); font: 500 12.5px/1.2 var(--f-body); color: var(--lead); }
:is(.elementor,body) .browser img:not(._) { width: 100%; }
:is(.elementor,body) .case-grid:not(._) { display: grid; grid-template-columns: 1fr 340px; gap: 56px; align-items: start; }
:is(.elementor,body) .case-block + .case-block:not(._) { margin-top: 42px; }
:is(.elementor,body) .case-block :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 12px; font-size: 17px; line-height: 1.7; }
:is(.elementor,body) .case-block .checklist:not(._) { margin-top: 16px; }
:is(.elementor,body) .case-facts:not(._) { position: sticky; top: 110px; padding: 30px 28px; }
:is(.elementor,body) .case-facts :is(dl:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-dl)):not(._) { margin: 0; }
:is(.elementor,body) .case-facts :is(dt:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-dt)):not(._) { margin-top: 18px; font: 700 12px/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--orange-text); }
:is(.elementor,body) .case-facts :is(dt:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-dt)):first-child:not(._) { margin-top: 0; }
:is(.elementor,body) .case-facts :is(dd:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-dd)):not(._) { margin: 6px 0 0; font-size: 15.5px; font-weight: 600; color: var(--ink); }
:is(.elementor,body) .case-facts :is(dd:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-dd)) a:not(._) { color: var(--orange-text); text-decoration: underline; text-underline-offset: 3px; word-break: break-all; }
:is(.elementor,body) .btn--block:not(._) { width: 100%; margin-top: 26px; }
:is(.elementor,body) .todo:not(._) { padding: 12px 16px; border-radius: 12px; background: #fff8e6; border: 1px dashed #e0b13f; color: #6d5000 !important; font-size: 14.5px !important; line-height: 1.55 !important; }
:is(.elementor,body) .checklist :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)).todo:not(._) { align-items: center; }
:is(.elementor,body) .gallery:not(._) { display: grid; grid-template-columns: 1fr 250px; gap: 32px; align-items: end; }
:is(.elementor,body) .phone:not(._) { margin: 0; overflow: hidden; border: 9px solid var(--ink-2); border-radius: 34px; background: var(--white); box-shadow: var(--shadow-hover); }
:is(.elementor,body) .phone img:not(._) { width: 100%; }
:is(.elementor,body) .case-shot--phone:not(._) { display: flex; flex-direction: column; align-items: center; gap: 22px; }
:is(.elementor,body) .case-shot--phone .phone:not(._) { width: 250px; }
:is(.elementor,body) .case-nav:not(._) { border-top: 1px solid var(--line); }
:is(.elementor,body) .case-nav .container:not(._) { display: flex; justify-content: space-between; gap: 20px; padding-block: 28px; }
:is(.elementor,body) .case-nav a:not(._) { display: inline-flex; align-items: center; gap: 10px; font: 700 16px/1.3 var(--f-head); color: var(--ink); transition: color .2s; }
:is(.elementor,body) .case-nav a:hover:not(._) { color: var(--orange-text); }
:is(.elementor,body) .case-nav .ico:not(._) { width: 20px; height: 20px; color: var(--orange); }
:is(.elementor,body) .ico--flip:not(._) { transform: scaleX(-1); }
/* ---------- À propos ---------- */
:is(.elementor,body) .portrait:not(._) { position: relative; justify-self: center; width: 100%; max-width: 440px; aspect-ratio: 1 / 1.15; margin: 0; }
:is(.elementor,body) .portrait-ring:not(._) { position: absolute; left: 0; right: 0; bottom: 0; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #ffe2cd 0%, #ffb27a 55%, #f26a1b 100%); }
:is(.elementor,body) .portrait > img:not(._) { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: contain; object-position: bottom;
  -webkit-mask: linear-gradient(#000 0 0) top / 100% 56.6% no-repeat, radial-gradient(circle closest-side, #000 99.5%, transparent 100%) bottom / 100% 86.96% no-repeat;
  mask: linear-gradient(#000 0 0) top / 100% 56.6% no-repeat, radial-gradient(circle closest-side, #000 99.5%, transparent 100%) bottom / 100% 86.96% no-repeat; }
:is(.elementor,body) .chip--static:not(._) { position: absolute; z-index: 2; transform: none; animation: bob 6s ease-in-out infinite; }
:is(.elementor,body) .p1:not(._) { top: 32%; left: -6%; }
:is(.elementor,body) .p2:not(._) { bottom: 12%; right: -8%; animation-delay: -3s; }
:is(.elementor,body) .stats:not(._) { display: grid; grid-template-columns: repeat(4, 1fr); padding: 26px; border-radius: 24px; background: var(--white); box-shadow: var(--shadow); }
:is(.elementor,body) .stats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { padding: 10px; text-align: center; }
:is(.elementor,body) .stats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) + :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { border-left: 1px solid var(--line); }
:is(.elementor,body) .stats :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 800 42px/1.1 var(--f-head); letter-spacing: -.02em; }
:is(.elementor,body) .stats :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { font-size: 14.5px; color: var(--lead); }
:is(.elementor,body) .values:not(._) { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
:is(.elementor,body) .values .feat:not(._) { padding: 26px 20px; }
/* ---------- FAQ ---------- */
:is(.elementor,body) .faq-page:not(._) { display: grid; grid-template-columns: 220px 1fr; gap: 48px; align-items: start; }
:is(.elementor,body) .faq-toc:not(._) { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: 18px; background: var(--white); box-shadow: var(--shadow); }
:is(.elementor,body) .faq-toc a:not(._) { padding: 11px 14px; border-radius: 12px; font: 600 15px/1 var(--f-body); color: var(--ink); transition: background-color .2s, color .2s; }
:is(.elementor,body) .faq-toc a:hover:not(._) { background: var(--tint-o); color: var(--orange-text); }
:is(.elementor,body) .faq-group + .faq-group:not(._) { margin-top: 48px; }
:is(.elementor,body) .faq-group > .h3:not(._) { margin-bottom: 18px; }
:is(.elementor,body) .faq-groups .faq:not(._) { max-width: none; }
:is(.elementor,body) .faq :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)) a:not(._),
:is(.elementor,body) .prose a:not(._) { color: var(--orange-text); text-decoration: underline; text-underline-offset: 3px; }
/* ---------- Contact ---------- */
:is(.elementor,body) .contact-grid:not(._) { display: grid; grid-template-columns: 1.45fr 1fr; gap: 32px; align-items: start; }
:is(.elementor,body) .contact-form:not(._) { display: flex; flex-direction: column; gap: 18px; padding: 36px 36px 32px; }
:is(.elementor,body) .form-row:not(._) { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
:is(.elementor,body) .field:not(._) { display: flex; flex-direction: column; gap: 8px; }
:is(.elementor,body) .field > :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { font: 700 14.5px/1.2 var(--f-head); color: var(--ink); }
:is(.elementor,body) .field :is(em:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-em)):not(._) { font-style: normal; color: var(--orange); }
:is(.elementor,body) .field input:not(._),
:is(.elementor,body) .field select:not(._),
:is(.elementor,body) .field textarea:not(._) { width: 100%; padding: 14px 16px; border: 1.5px solid #e6e3e8; border-radius: 14px; background-color: #fbfafc;
  font: 400 15.5px/1.4 var(--f-body); color: var(--ink);
  transition: border-color .2s, box-shadow .2s, background-color .2s; }
:is(.elementor,body) .field select:not(._) { appearance: none; -webkit-appearance: none; padding-right: 44px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f26a1b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; background-size: 18px; }
:is(.elementor,body) .field textarea:not(._) { min-height: 150px; resize: vertical; }
:is(.elementor,body) .field input:focus:not(._),
:is(.elementor,body) .field select:focus:not(._),
:is(.elementor,body) .field textarea:focus:not(._) { outline: none; border-color: var(--orange); background-color: var(--white); box-shadow: 0 0 0 4px rgba(242, 106, 27, .15); }
:is(.elementor,body) .consent:not(._) { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
:is(.elementor,body) .consent input:not(._) { flex-shrink: 0; width: 20px; height: 20px; margin: 0; accent-color: var(--orange); }
:is(.elementor,body) .consent a:not(._) { color: var(--orange-text); text-decoration: underline; }
:is(.elementor,body) .form-end:not(._) { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 6px; }
:is(.elementor,body) .form-end .btn:not(._) { cursor: pointer; }
:is(.elementor,body) .form-end .btn .ico:not(._) { width: 18px; height: 18px; }
:is(.elementor,body) .form-note:not(._) { font-size: 14px; color: var(--lead); }
:is(.elementor,body) .contact-side:not(._) { display: flex; flex-direction: column; gap: 20px; }
:is(.elementor,body) .contact-me:not(._) { display: flex; align-items: center; gap: 16px; padding: 18px 22px; }
:is(.elementor,body) .contact-me img:not(._) { width: 76px; height: 76px; flex-shrink: 0; object-fit: cover; object-position: 50% 8%; border-radius: 50%; background: var(--tint-o); }
:is(.elementor,body) .contact-me :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 800 18px/1.2 var(--f-head); color: var(--ink); }
:is(.elementor,body) .contact-me :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { font-size: 14px; color: var(--lead); }
:is(.elementor,body) .contact-list:not(._) { display: flex; flex-direction: column; padding: 8px 22px; }
:is(.elementor,body) .contact-list :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: flex; align-items: center; gap: 14px; padding: 13px 0; }
:is(.elementor,body) .contact-list :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) + :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { border-top: 1px solid var(--line); }
:is(.elementor,body) .contact-list .ico-badge:not(._) { width: 44px; height: 44px; flex-shrink: 0; }
:is(.elementor,body) .contact-list .ico-badge .ico:not(._) { width: 20px; height: 20px; }
:is(.elementor,body) .contact-list :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { display: block; font: 700 11.5px/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--lead); }
:is(.elementor,body) .contact-list a:not(._),
:is(.elementor,body) .contact-list div > :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { font-size: 15px; font-weight: 600; color: var(--ink); word-break: break-word; }
:is(.elementor,body) .contact-list a:hover:not(._) { color: var(--orange-text); }
:is(.elementor,body) .next-steps:not(._) { padding: 26px 24px; }
:is(.elementor,body) .next-steps :is(ol:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ol)):not(._) { display: flex; flex-direction: column; gap: 14px; margin-top: 16px; }
:is(.elementor,body) .next-steps :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; line-height: 1.5; }
:is(.elementor,body) .next-steps .num:not(._) { flex-shrink: 0; width: 30px; height: 30px; font-size: 13px; box-shadow: none; }
/* ---------- Pages légales & 404 ---------- */
:is(.elementor,body) .prose:not(._) { max-width: 780px; }
:is(.elementor,body) .prose h2:not(._) { margin: 40px 0 10px; font-size: 24px; }
:is(.elementor,body) .prose :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 12px; font-size: 16.5px; line-height: 1.75; }
:is(.elementor,body) .page-404:not(._) { padding-bottom: 120px; }
:is(.elementor,body) .err-art:not(._) { width: 240px; margin: 0 auto 6px; }
@media (max-width: 1080px) {
  :is(.elementor,body) .nav .sub:not(._) { position: static; display: block; width: auto; padding: 0 0 6px 14px; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; }
  :is(.elementor,body) .nav .sub:not(._)::before { display: none; }
  :is(.elementor,body) .nav .sub a:not(._) { padding: 10px 0; border-bottom: 0; font-size: 15px; }
  :is(.elementor,body) .nav .sub a:hover:not(._) { background: transparent; }
  :is(.elementor,body) .sub :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._),
:is(.elementor,body) .sub-ico:not(._) { display: none; }
  :is(.elementor,body) .sub :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font-weight: 600; font-size: 15.5px; }
  :is(.elementor,body) .page-hero-grid:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .page-hero-art:not(._) { max-width: 420px; margin: 0 auto; }
  :is(.elementor,body) .portrait:not(._) { max-width: 380px; }
  :is(.elementor,body) .svc:not(._) { grid-template-columns: 1fr; gap: 22px; }
  :is(.elementor,body) .svc-cols:not(._) { padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  :is(.elementor,body) .case-grid:not(._) { grid-template-columns: 1fr; gap: 40px; }
  :is(.elementor,body) .timeline--4:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .case-facts:not(._) { position: static; }
  :is(.elementor,body) .faq-page:not(._) { grid-template-columns: 1fr; gap: 28px; }
  :is(.elementor,body) .faq-toc:not(._) { position: static; flex-direction: row; flex-wrap: wrap; }
  :is(.elementor,body) .contact-grid:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .values:not(._) { grid-template-columns: repeat(3, 1fr); }
  :is(.elementor,body) .stats :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font-size: 34px; }
}
@media (max-width: 680px) {
  :is(.elementor,body) .page-hero:not(._) { margin-top: -72px; padding: 108px 0 44px; }
  :is(.elementor,body) .page-title:not(._) { font-size: 34px; }
  :is(.elementor,body) .subnav:not(._) { top: 72px; }
  :is(.elementor,body) .subnav .container:not(._) { justify-content: flex-start; }
  :is(.elementor,body) .svc:not(._) { padding: 24px 22px; }
  :is(.elementor,body) .svc-cols:not(._) { grid-template-columns: 1fr; gap: 20px; }
  :is(.elementor,body) .grid-2:not(._),
:is(.elementor,body) .duo:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .duo-card:not(._) { padding: 28px 24px; }
  :is(.elementor,body) .stats:not(._) { grid-template-columns: 1fr 1fr; padding: 16px; }
  :is(.elementor,body) .stats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) + :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { border-left: 0; }
  :is(.elementor,body) .stats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(even):not(._) { border-left: 1px solid var(--line); }
  :is(.elementor,body) .stats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(n+3):not(._) { border-top: 1px solid var(--line); }
  :is(.elementor,body) .stats :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font-size: 30px; }
  :is(.elementor,body) .values:not(._) { grid-template-columns: 1fr 1fr; }
  :is(.elementor,body) .values .feat:last-child:not(._) { grid-column: 1 / -1; }
  :is(.elementor,body) .gallery:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .gallery .phone:not(._) { width: 220px; margin: 0 auto; }
  :is(.elementor,body) .form-row:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .contact-form:not(._) { padding: 26px 20px; }
  :is(.elementor,body) .case-nav .container:not(._) { flex-direction: column; }
  :is(.elementor,body) .case-block :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { font-size: 16px; }
  :is(.elementor,body) .chip--static:not(._) { font-size: 12px; }
  :is(.elementor,body) .p1:not(._) { left: -2%; }
  :is(.elementor,body) .p2:not(._) { right: -2%; }
  :is(.elementor,body) .checklist--card:not(._) { padding: 24px 20px; }
  :is(.elementor,body) .filters:not(._) { justify-content: flex-start; }
}
/* ---------- Monogramme, messagerie, carte de profil (sans illustration) ---------- */
:is(.elementor,body) .avatar-ah:not(._) { display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(140deg, #ff8c43 0%, #f26a1b 45%, #17171c 135%); color: var(--white); font: 800 16px/1 var(--f-head); letter-spacing: .02em; box-shadow: 0 0 0 4px var(--white), 0 6px 14px rgba(242, 106, 27, .35); }
:is(.elementor,body) .avatar-ah--lg:not(._) { width: 64px; height: 64px; font-size: 21px; }
:is(.elementor,body) .chatbox:not(._) { position: absolute; left: 0; right: 0; bottom: 52px; z-index: 1; width: 400px; max-width: 94%; margin: 0 auto; overflow: hidden; border-radius: 22px; background: var(--white); box-shadow: 0 34px 60px -24px rgba(23, 23, 28, .55); animation: bob 7s ease-in-out infinite; }
:is(.elementor,body) .chat-head:not(._) { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
:is(.elementor,body) .chat-head :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 800 16px/1.2 var(--f-head); color: var(--ink); }
:is(.elementor,body) .chat-head :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { font-size: 12.5px; color: var(--lead); }
:is(.elementor,body) .chat-head :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._)::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--orange); vertical-align: 1px; }
:is(.elementor,body) .chat-body:not(._) { position: relative; display: flex; flex-direction: column; gap: 12px; min-height: 214px; padding: 18px; background: #faf9fb; }
:is(.elementor,body) .chatbox .bubble:not(._) { position: relative; top: auto; left: auto; right: auto; bottom: auto; max-width: 86%; font-size: 14px; box-shadow: 0 6px 14px -8px rgba(23, 23, 28, .25); }
:is(.elementor,body) .chatbox .bubble--in:not(._) { align-self: flex-start; border: 1px solid var(--line); }
:is(.elementor,body) .chatbox .bubble--out:not(._) { align-self: flex-end; }
:is(.elementor,body) .chatbox .b2:not(._) { position: absolute; top: auto; left: auto; right: 18px; bottom: 18px; }
:is(.elementor,body) .chat-input:not(._) { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 12px 18px; border-top: 1px solid var(--line); font-size: 14px; color: #a3a3ad; }
:is(.elementor,body) .chat-send:not(._) { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--orange); color: var(--white); font-style: normal; }
:is(.elementor,body) .chat-send .ico:not(._) { width: 17px; height: 17px; }
:is(.elementor,body) .cta-chip1:not(._) { top: 34px; right: 4px; }
:is(.elementor,body) .cta-chip2:not(._) { bottom: 22px; left: 0; animation-delay: -3s; }
:is(.elementor,body) .profile:not(._) { position: relative; justify-self: center; width: 100%; max-width: 440px; padding: 34px 0; }
:is(.elementor,body) .profile-glow:not(._) { position: absolute; inset: -6% -10%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 178, 122, .55), rgba(255, 226, 205, .25) 55%, transparent 70%); filter: blur(10px); }
:is(.elementor,body) .profile-card:not(._) { position: relative; padding: 30px 28px 28px; }
:is(.elementor,body) .profile-top:not(._) { display: flex; align-items: center; gap: 16px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
:is(.elementor,body) .profile-top :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 800 22px/1.2 var(--f-head); color: var(--ink); }
:is(.elementor,body) .profile-top :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { font-size: 14.5px; color: var(--lead); }
:is(.elementor,body) .profile-stats:not(._) { display: grid; grid-template-columns: repeat(3, 1fr); padding: 20px 0; border-bottom: 1px solid var(--line); text-align: center; }
:is(.elementor,body) .profile-stats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) + :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { border-left: 1px solid var(--line); }
:is(.elementor,body) .profile-stats :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 800 28px/1.1 var(--f-head); letter-spacing: -.02em; }
:is(.elementor,body) .profile-stats :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { font-size: 13px; color: var(--lead); }
:is(.elementor,body) .profile-label:not(._) { margin: 18px 0 10px; font: 700 12px/1 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--orange-text); }
:is(.elementor,body) .profile-tags:not(._) { display: flex; flex-wrap: wrap; gap: 8px; }
:is(.elementor,body) .profile-tags :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { padding: 8px 13px; border-radius: 99px; background: var(--tint-o); color: var(--orange-text); font: 700 13.5px/1 var(--f-body); }
:is(.elementor,body) .profile-tags--soft :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { background: var(--tint-n); color: var(--ink); }
:is(.elementor,body) .profile .p1:not(._) { top: 6px; left: -8%; }
:is(.elementor,body) .profile .p2:not(._) { bottom: 6px; right: -6%; }
@media (max-width: 1080px) {
  :is(.elementor,body) .cta-visual:not(._) { min-height: 440px; }
}
@media (max-width: 680px) {
  :is(.elementor,body) .cta-visual:not(._) { min-height: 420px; }
  :is(.elementor,body) .chatbox:not(._) { bottom: 40px; max-width: 100%; }
  :is(.elementor,body) .chat-body:not(._) { min-height: 200px; padding: 14px; }
  :is(.elementor,body) .chatbox .bubble:not(._) { font-size: 13px; }
  :is(.elementor,body) .cta-chip1:not(._) { top: -8px; right: -6px; }
  :is(.elementor,body) .chat-head :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { font-size: 12px; }
  :is(.elementor,body) .cta-chip2:not(._) { bottom: 8px; left: -6px; }
  :is(.elementor,body) .profile .p1:not(._) { left: -2%; }
  :is(.elementor,body) .profile .p2:not(._) { right: -2%; }
  :is(.elementor,body) .profile-stats :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font-size: 24px; }
}
/* ---------- Hero v3 (référence « Learning ») ---------- */
:is(.elementor,body) .nav > :is(ul:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ul)) > :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) > a:is([aria-current="page"],.is-current):not(._) { position: relative; }
:is(.elementor,body) .nav > :is(ul:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-ul)) > :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) > a:is([aria-current="page"],.is-current):not(._)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 3px; border-radius: 3px; background: var(--orange); }
:is(.elementor,body) .btn--arrow:not(._) { gap: 12px; padding-right: 7px; }
:is(.elementor,body) .btn-arrow:not(._) { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--white); color: var(--orange); }
:is(.elementor,body) .btn-arrow .ico:not(._) { width: 16px; height: 16px; stroke-width: 2.6; }
:is(.elementor,body) .btn--arrow:hover .btn-arrow .ico:not(._) { transform: translateX(2px); transition: transform .25s var(--ease); }
:is(.elementor,body) .btn--ico .ico:not(._) { width: 20px; height: 20px; }
:is(.elementor,body) .btn--outline:not(._) { background: var(--white); color: var(--ink); border-color: var(--orange); }
:is(.elementor,body) .btn--outline .ico:not(._) { color: var(--orange); }
:is(.elementor,body) .btn--outline:hover:not(._) { background: var(--tint-o); transform: translateY(-2px); }
:is(.elementor,body) .hero .btn-row:not(._) { margin-top: 30px; }
:is(.elementor,body) .eyebrow--live:not(._) { display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px; }
:is(.elementor,body) .live-dot:not(._) { position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); font-style: normal; }
:is(.elementor,body) .live-dot:not(._)::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid var(--orange); opacity: 0; animation: ping 2s ease-out infinite; }
@keyframes ping { 0% { transform: scale(.5); opacity: .8; } 100% { transform: scale(1.4); opacity: 0; } }
:is(.elementor,body) .hero-accent:not(._),
:is(.elementor,body) .with-hero-accent :is(:is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span))):not(._) { display: block; color: var(--orange); }
:is(.elementor,body) .hero-feats:not(._) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 38px; }
:is(.elementor,body) .hero-feats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: flex; flex-direction: column; }
:is(.elementor,body) .hf-ico:not(._) { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 12px; border-radius: 14px; background: var(--tint-o); color: var(--orange); transition: transform .3s var(--ease), background-color .3s, color .3s; }
:is(.elementor,body) .hf-ico .ico:not(._) { width: 24px; height: 24px; }
:is(.elementor,body) .hero-feats :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):hover .hf-ico:not(._) { transform: translateY(-3px); background: var(--orange); color: var(--white); }
:is(.elementor,body) .hero-feats :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font: 700 14.5px/1.3 var(--f-head); color: var(--ink); }
:is(.elementor,body) .hero-feats :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { margin-top: 4px; font-size: 13px; line-height: 1.45; color: var(--lead); }
:is(.elementor,body) .orbit-arc:not(._) { position: absolute; inset: 3%; border-radius: 50%; background: conic-gradient(from 210deg, rgba(242, 106, 27, 0) 0deg, #f26a1b 40deg, #ff9a5c 120deg, rgba(255, 154, 92, 0) 175deg, rgba(255, 154, 92, 0) 360deg); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 9px), #000 calc(100% - 8px)); mask: radial-gradient(farthest-side, transparent calc(100% - 9px), #000 calc(100% - 8px)); animation: spin 40s linear infinite; }
:is(.elementor,body) .orbit-blob:not(._) { position: absolute; left: -6%; top: 40%; width: 26%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #ffd9bf, #ffc49c); opacity: .75; animation: bob 7s ease-in-out infinite; }
:is(.elementor,body) .orbit-dots:not(._) { position: absolute; top: -1%; left: 30%; width: 46px; height: 46px; background-image: radial-gradient(#f26a1b 2px, transparent 2.4px); background-size: 15px 15px; opacity: .7; }
:is(.elementor,body) .orbit-plane:not(._) { position: absolute; top: -3%; left: 6%; width: 110px; animation: bob 6s ease-in-out infinite; }
:is(.elementor,body) .orbit-card:not(._) { position: absolute; z-index: 3; right: -5%; bottom: -3%; display: flex; align-items: center; gap: 14px; padding: 14px 22px 14px 14px; border-radius: 18px; background: var(--white); box-shadow: 0 22px 44px -18px rgba(23, 23, 28, .35); animation: bob 6s ease-in-out -2s infinite; }
:is(.elementor,body) .oc-ico:not(._) { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--orange); color: var(--white); }
:is(.elementor,body) .oc-ico .ico:not(._) { width: 24px; height: 24px; }
:is(.elementor,body) .orbit-card :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 800 22px/1.1 var(--f-head); color: var(--orange); }
:is(.elementor,body) .orbit-card :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(.oc-ico):not(._) { font-size: 14px; font-weight: 600; color: var(--ink); }
:is(.elementor,body) .stat-band:not(._) { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 56px; padding: 30px 12px; border-radius: 22px; overflow: hidden; background: linear-gradient(110deg, #f26a1b 0%, #f47c33 55%, #ff9752 100%); box-shadow: 0 30px 50px -30px rgba(242, 106, 27, .8); }
:is(.elementor,body) .stat-band:not(._)::before { content: ""; position: absolute; right: -40px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
:is(.elementor,body) .stat-band:not(._)::after { content: ""; position: absolute; left: 47%; top: 14px; width: 40px; height: 40px; background-image: radial-gradient(rgba(255, 255, 255, .55) 1.6px, transparent 2px); background-size: 12px 12px; }
:is(.elementor,body) .stat-band :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 4px 16px; }
:is(.elementor,body) .stat-band :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) + :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { border-left: 1px solid rgba(255, 255, 255, .3); }
:is(.elementor,body) .sb-ico:not(._) { display: grid; place-items: center; flex-shrink: 0; width: 60px; height: 60px; border-radius: 50%; background: var(--white); color: var(--orange); }
:is(.elementor,body) .sb-ico .ico:not(._) { width: 26px; height: 26px; }
:is(.elementor,body) .stat-band :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { display: block; font: 800 30px/1.1 var(--f-head); color: var(--white); letter-spacing: -.01em; }
:is(.elementor,body) .stat-band :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(.sb-ico):not(._) { font-size: 14.5px; font-weight: 500; color: rgba(255, 255, 255, .92); }
:is(.elementor,body) .hero .c5:not(._) { left: 40%; }
:is(.elementor,body) .hero-quote:not(._) { margin: 34px auto 0; text-align: center; font-size: 19px; color: var(--text); }
:is(.elementor,body) .hero-quote :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(._) { margin: 0 10px; font: 800 34px/0 var(--f-head); color: var(--orange); vertical-align: -10px; }
@media (max-width: 1240px) {
  :is(.elementor,body) .stat-band :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font-size: 26px; }
  :is(.elementor,body) .sb-ico:not(._) { width: 50px; height: 50px; }
  :is(.elementor,body) .hero-feats:not(._) { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1080px) {
  :is(.elementor,body) .hero-feats:not(._) { grid-template-columns: repeat(4, 1fr); }
  :is(.elementor,body) .stat-band:not(._) { grid-template-columns: 1fr 1fr; row-gap: 26px; }
  :is(.elementor,body) .stat-band :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { justify-content: flex-start; }
  :is(.elementor,body) .stat-band :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):nth-child(3):not(._) { border-left: 0; }
  :is(.elementor,body) .orbit-card:not(._) { right: 0; bottom: -2%; }
}
@media (max-width: 680px) {
  :is(.elementor,body) .hero-title:not(._) { font-size: 44px; }
  :is(.elementor,body) .hero-feats:not(._) { grid-template-columns: 1fr 1fr; gap: 20px 14px; }
  :is(.elementor,body) .btn-row .btn--outline:not(._) { width: 100%; }
  :is(.elementor,body) .orbit-plane:not(._) { width: 70px; left: 0; }
  :is(.elementor,body) .orbit-blob:not(._),
:is(.elementor,body) .orbit-dots:not(._) { display: none; }
  :is(.elementor,body) .orbit-arc:not(._) { -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)); mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)); }
  :is(.elementor,body) .orbit-card:not(._) { right: -4px; bottom: -6%; padding: 10px 16px 10px 10px; gap: 10px; }
  :is(.elementor,body) .oc-ico:not(._) { width: 40px; height: 40px; }
  :is(.elementor,body) .orbit-card :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font-size: 18px; }
  :is(.elementor,body) .stat-band:not(._) { grid-template-columns: 1fr 1fr; padding: 22px 16px; row-gap: 22px; margin-top: 64px; }
  :is(.elementor,body) .stat-band :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { flex-direction: column; align-items: flex-start; gap: 10px; padding: 0 6px; }
  :is(.elementor,body) .stat-band :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)) + :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { border-left: 0; }
  :is(.elementor,body) .sb-ico:not(._) { width: 44px; height: 44px; }
  :is(.elementor,body) .sb-ico .ico:not(._) { width: 21px; height: 21px; }
  :is(.elementor,body) .stat-band :is(b:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-b)):not(._) { font-size: 24px; }
  :is(.elementor,body) .stat-band :is(span:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-span)):not(.sb-ico):not(._) { font-size: 13px; }
  :is(.elementor,body) .hero-quote:not(._) { font-size: 17px; }
}
/* ---------- Décor des sections : formes au trait, variées d'une section à l'autre ---------- */
:root { --d-plane: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 190' fill='none' stroke='%23F26A1B' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 182 C34 152 50 134 78 123 C90 118 97 116 103 112' stroke-width='3' stroke-dasharray='7 8'/%3E%3Ccircle cx='46' cy='144' r='10' stroke='%23F6B48A' stroke-width='2.5' stroke-dasharray='4 4'/%3E%3Cpath d='M102 104 L158 72 L127 128 L118 112 Z M118 112 L158 72' stroke-width='3.5'/%3E%3C/svg%3E");
  --d-plane-r: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 190' fill='none' stroke='%23F26A1B' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='matrix(-1 0 0 1 200 0)'%3E%3Cpath d='M30 182 C34 152 50 134 78 123 C90 118 97 116 103 112' stroke-width='3' stroke-dasharray='7 8'/%3E%3Ccircle cx='46' cy='144' r='10' stroke='%23F6B48A' stroke-width='2.5' stroke-dasharray='4 4'/%3E%3Cpath d='M102 104 L158 72 L127 128 L118 112 Z M118 112 L158 72' stroke-width='3.5'/%3E%3C/g%3E%3C/svg%3E");
  --d-ring: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='16' fill='none' stroke='%23F6B48A' stroke-width='3'/%3E%3C/svg%3E");
  --d-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 52' fill='%23F26A1B' fill-opacity='.75'%3E%3Ccircle cx='5' cy='5' r='3.6'/%3E%3Ccircle cx='5' cy='26' r='3.6'/%3E%3Ccircle cx='5' cy='47' r='3.6'/%3E%3C/svg%3E");
  --d-grid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 46' fill='%23F26A1B' fill-opacity='.7'%3E%3Ccircle cx='5' cy='5' r='2.6'/%3E%3Ccircle cx='23' cy='5' r='2.6'/%3E%3Ccircle cx='41' cy='5' r='2.6'/%3E%3Ccircle cx='5' cy='23' r='2.6'/%3E%3Ccircle cx='23' cy='23' r='2.6'/%3E%3Ccircle cx='41' cy='23' r='2.6'/%3E%3Ccircle cx='5' cy='41' r='2.6'/%3E%3Ccircle cx='23' cy='41' r='2.6'/%3E%3Ccircle cx='41' cy='41' r='2.6'/%3E%3C/svg%3E");
  --d-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 92 24'%3E%3Cpath d='M4 14 Q12 3 20 14 T36 14 T52 14 T68 14 T84 14' fill='none' stroke='%23F26A1B' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  --d-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 2 C22 14 26 18 38 20 C26 22 22 26 20 38 C18 26 14 22 2 20 C14 18 18 14 20 2 Z' fill='%23F26A1B'/%3E%3C/svg%3E");
  --d-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M15 3 V27 M3 15 H27' stroke='%23F6B48A' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E");
  --d-loop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 120'%3E%3Cpath d='M6 110 C30 100 40 70 70 66 C100 62 104 96 84 100 C62 104 66 60 96 44 C116 34 136 30 154 12' fill='none' stroke='%23F26A1B' stroke-width='3' stroke-linecap='round' stroke-dasharray='7 8'/%3E%3C/svg%3E");
  --d-code: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 44' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 8 L6 22 L20 36 M50 8 L64 22 L50 36' stroke='%23F26A1B' stroke-width='3.5'/%3E%3Cpath d='M40 4 L30 40' stroke='%23F6B48A' stroke-width='3.5'/%3E%3C/svg%3E");
  --d-rings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='none'%3E%3Ccircle cx='30' cy='30' r='26' stroke='%23F6B48A' stroke-width='3'/%3E%3Ccircle cx='30' cy='30' r='14' stroke='%23F26A1B' stroke-width='2.5' stroke-dasharray='4 5' stroke-linecap='round'/%3E%3C/svg%3E");
  --d-tri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 40'%3E%3Cpath d='M22 4 L40 36 H4 Z' fill='none' stroke='%23F6B48A' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E");
  --d-zig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 92 24'%3E%3Cpath d='M4 18 L16 6 L28 18 L40 6 L52 18 L64 6 L76 18 L88 6' fill='none' stroke='%23F26A1B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --d-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 46'%3E%3Cpath d='M6 4 L6 36 L15 28 L22 42 L28 39 L21 25 L33 24 Z' fill='%23fff' stroke='%23F26A1B' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E");
  --d-half: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 34' fill='none' stroke-linecap='round'%3E%3Cpath d='M4 30 A26 26 0 0 1 56 30' stroke='%23F26A1B' stroke-width='3'/%3E%3Cpath d='M15 30 A15 15 0 0 1 45 30' stroke='%23F6B48A' stroke-width='3' stroke-dasharray='4 5'/%3E%3C/svg%3E"); }
:is(.elementor,body) .section:not(.section--cta):not(._),
:is(.elementor,body) .page-hero:not(._) { isolation: isolate; }
/* Les formes vivent dans les marges latérales : leur largeur est plafonnée par la place
   réellement libre entre le bord de l'écran et le contenu (--mw), elles ne touchent jamais le texte. */
:is(.elementor,body) .section:not(.section--cta):not(._)::after,
:is(.elementor,body) .page-hero:not(._)::after { --mw: calc(50vw - 640px);
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-repeat: no-repeat;
  background-image: var(--da), var(--db), var(--dc);
  background-size: min(var(--wa), var(--mw)) auto, min(var(--wb), var(--mw)) auto, min(var(--wc), var(--mw)) auto;
  background-position: var(--pa), var(--pb), var(--pc);
  animation: decoFloat 9s ease-in-out infinite; }
@keyframes decoFloat { 50% { transform: translateY(-10px); } }
/* 8 combinaisons qui tournent d'une section à l'autre, plus une pour les en-têtes de page */
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n+2):not(._)::after { --da: var(--d-plane); --wa: 150px; --pa: left 14px top 40px;
  --db: var(--d-ring);  --wb: 30px;  --pb: right 34px bottom 70px;
  --dc: var(--d-dots);  --wc: 10px;  --pc: right 22px top 44%;
  --ma: 50px; --mb: 20px; }
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n+3):not(._)::after { --da: var(--d-wave); --wa: 92px; --pa: right 14px top 60px;
  --db: var(--d-plus); --wb: 24px; --pb: left 30px top 44%;
  --dc: var(--d-grid); --wc: 42px; --pc: left 18px bottom 70px;
  --ma: 48px; --mb: 18px;
  animation-delay: -2s; }
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n+4):not(._)::after { --da: var(--d-code); --wa: 64px;  --pa: left 16px top 64px;
  --db: var(--d-star); --wb: 28px;  --pb: right 34px top 70px;
  --dc: var(--d-loop); --wc: 140px; --pc: right 10px bottom 40px;
  --ma: 40px; --mb: 22px;
  animation-delay: -4s; }
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n+5):not(._)::after { --da: var(--d-rings); --wa: 54px; --pa: right 22px top 54px;
  --db: var(--d-tri);   --wb: 36px; --pb: left 30px bottom 80px;
  --dc: var(--d-dots);  --wc: 10px; --pc: left 22px top 64px;
  --ma: 34px; --mb: 24px;
  animation-delay: -6s; }
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n+6):not(._)::after { --da: var(--d-zig);    --wa: 88px; --pa: left 14px top 60px;
  --db: var(--d-cursor); --wb: 32px; --pb: right 30px top 46%;
  --dc: var(--d-ring);   --wc: 34px; --pc: right 40px bottom 60px;
  --ma: 48px; --mb: 20px;
  animation-delay: -1s; }
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n+7):not(._)::after { --da: var(--d-plane-r); --wa: 140px; --pa: right 14px top 40px;
  --db: var(--d-star);    --wb: 24px;  --pb: left 36px bottom 90px;
  --dc: var(--d-grid);    --wc: 42px;  --pc: left 18px top 64px;
  --ma: 50px; --mb: 20px;
  animation-delay: -3s; }
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n):not(._)::after { --da: var(--d-half); --wa: 58px; --pa: left 18px top 64px;
  --db: var(--d-plus); --wb: 22px; --pb: right 36px top 70px;
  --dc: var(--d-wave); --wc: 92px; --pc: right 14px bottom 60px;
  --ma: 40px; --mb: 18px;
  animation-delay: -5s; }
:is(.elementor,body) main > .elementor > section.section:nth-of-type(8n+1):not(._)::after { --da: var(--d-cursor); --wa: 30px; --pa: left 30px top 64px;
  --db: var(--d-grid);   --wb: 42px; --pb: right 20px top 60px;
  --dc: var(--d-half);   --wc: 58px; --pc: right 20px bottom 60px;
  --ma: 22px; --mb: 30px;
  animation-delay: -7s; }
:is(.elementor,body) .page-hero:not(._)::after { --da: var(--d-loop); --wa: 130px; --pa: left 10px top 96px;
  --db: var(--d-star); --wb: 26px;  --pb: right 34px top 130px;
  --dc: var(--d-dots); --wc: 10px;  --pc: right 22px bottom 70px; }
/* Écrans où la marge est trop étroite : petites formes dans les coins hauts,
   à l'intérieur de la marge intérieure de la section, au-dessus du contenu. */
@media (max-width: 1380px) {
  :is(.elementor,body) .section:not(.section--cta):not(._)::after { background-image: var(--da), var(--db);
    background-size: var(--ma) auto, var(--mb) auto;
    background-position: left 12px top 16px, right 14px top 22px; }
  :is(.elementor,body) .page-hero:not(._)::after { background-image: var(--db); background-size: 24px auto; background-position: right 16px top 92px; }
  :is(.elementor,body) .section--top0:not(._)::after { display: none; }
}
@media (max-width: 680px) {
  :is(.elementor,body) .section:not(.section--cta):not(._)::after { background-position: left 8px top 12px, right 10px top 18px; }
  :is(.elementor,body) .page-hero:not(._)::after { background-size: 20px auto; background-position: right 12px top 80px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.elementor,body) .section:not(._)::after,
:is(.elementor,body) .page-hero:not(._)::after { animation: none; }
}
/* ---------- Avis clients (vrais avis Upwork) ---------- */
:is(.elementor,body) .review-proof:not(._) { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: -16px 0 40px; }
:is(.elementor,body) .review-proof :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px 9px 9px; border-radius: 99px; background: var(--white); box-shadow: 0 6px 18px rgba(23, 23, 28, .07); font: 700 14.5px/1 var(--f-head); color: var(--ink); }
:is(.elementor,body) .review-proof .ico:not(._) { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--tint-o); color: var(--orange); stroke-width: 2.4; }
:is(.elementor,body) .rp-up:not(._) { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: #14a800; color: var(--white); font: 800 12px/1 var(--f-head); letter-spacing: -.02em; }
:is(.elementor,body) .rp-up--lg:not(._) { width: 46px; height: 46px; font-size: 16px; }
:is(.elementor,body) .reviews:not(._) { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: auto auto; gap: 24px; }
:is(.elementor,body) .review:not(._) { position: relative; display: flex; flex-direction: column; padding: 28px 30px; }
:is(.elementor,body) .review--feat:not(._) { grid-row: 1 / 3; padding: 38px 40px; background: linear-gradient(160deg, #ffffff 45%, #fff3ea 100%); box-shadow: 0 0 0 2px rgba(242, 106, 27, .9), var(--shadow-hover); }
:is(.elementor,body) .review-top:not(._) { display: flex; align-items: center; gap: 10px; }
:is(.elementor,body) .stars:not(._) { display: inline-flex; gap: 2px; color: var(--orange); }
:is(.elementor,body) .stars .ico:not(._) { width: 19px; height: 19px; fill: currentColor; stroke: none; }
:is(.elementor,body) .review-score:not(._) { font: 800 16px/1 var(--f-head); color: var(--ink); }
:is(.elementor,body) .review-badge:not(._) { display: inline-flex; align-items: center; gap: 6px; margin-inline-start: auto; padding: 7px 12px; border-radius: 99px; background: var(--orange); color: var(--white); font: 700 12.5px/1 var(--f-body); letter-spacing: .02em; }
:is(.elementor,body) .review-badge .ico:not(._) { width: 15px; height: 15px; stroke-width: 2.2; }
:is(.elementor,body) .review-q:not(._) { width: 46px; height: 46px; margin-top: 26px; color: var(--orange); stroke-width: 1.8; }
:is(.elementor,body) .review :is(blockquote:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-blockquote)):not(._) { margin-top: 16px; font-size: 16px; line-height: 1.65; color: var(--text); }
:is(.elementor,body) .review--feat :is(blockquote:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-blockquote)):not(._) { margin-top: 14px; font: 600 22px/1.55 var(--f-head); color: var(--ink); }
:is(.elementor,body) .review-orig:not(._) { margin-top: 12px; }
:is(.elementor,body) .review-orig :is(summary:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-summary)):not(._) { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; font-size: 13.5px; font-weight: 600; color: var(--orange-text); }
:is(.elementor,body) .review-orig :is(summary:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-summary)):not(._)::-webkit-details-marker { display: none; }
:is(.elementor,body) .review-orig :is(summary:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-summary)):not(._)::after { content: "+"; font-weight: 800; transition: transform .25s var(--ease); }
:is(.elementor,body) .review-orig:is([open],.is-open) :is(summary:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-summary)):not(._)::after { transform: rotate(45deg); }
:is(.elementor,body) .review-orig :is(p:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-p)):not(._) { margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: var(--tint-n); font-size: 14px; line-height: 1.6; font-style: italic; color: var(--text); }
:is(.elementor,body) .review-tags:not(._) { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
:is(.elementor,body) .review-tags :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { padding: 6px 11px; border-radius: 99px; background: var(--tint-n); font: 600 12.5px/1 var(--f-body); color: var(--ink); }
:is(.elementor,body) .review--feat .review-tags :is(li:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-li)):not(._) { background: var(--white); box-shadow: 0 2px 8px rgba(23, 23, 28, .06); }
:is(.elementor,body) .review :is(figcaption:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-figcaption)):not(._) { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 22px; }
:is(.elementor,body) .review :is(figcaption:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-figcaption)) :is(strong:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-strong)):not(._) { display: block; font: 700 15px/1.3 var(--f-head); color: var(--ink); }
:is(.elementor,body) .review :is(figcaption:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-figcaption)) :is(small:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-small)):not(._) { display: block; margin-top: 2px; font-size: 13px; line-height: 1.45; color: var(--lead); }
@media (max-width: 1080px) {
  :is(.elementor,body) .reviews:not(._) { grid-template-columns: 1fr 1fr; }
  :is(.elementor,body) .review--feat:not(._) { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 680px) {
  :is(.elementor,body) .reviews:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .review:not(._),
:is(.elementor,body) .review--feat:not(._) { padding: 26px 22px; }
  :is(.elementor,body) .review--feat :is(blockquote:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-blockquote)):not(._) { font-size: 18.5px; }
  :is(.elementor,body) .review-badge:not(._) { margin-inline-start: 0; }
  :is(.elementor,body) .review-top:not(._) { flex-wrap: wrap; }
  :is(.elementor,body) .review-proof:not(._) { margin-top: -8px; }
}
:is(.elementor,body) .review-facts:not(._) { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 26px 0 0; }
:is(.elementor,body) .review-facts div:not(._) { padding: 14px 16px; border-radius: 14px; background: var(--white); box-shadow: 0 4px 14px rgba(23, 23, 28, .06); }
:is(.elementor,body) .review-facts :is(dt:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-dt)):not(._) { font: 700 11px/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--orange-text); }
:is(.elementor,body) .review-facts :is(dd:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-dd)):not(._) { margin: 6px 0 0; font: 700 15px/1.3 var(--f-head); color: var(--ink); }
@media (max-width: 680px) {
  :is(.elementor,body) .review-facts:not(._) { grid-template-columns: 1fr; }
}
:is(.elementor,body) .gallery + .gallery:not(._) { margin-top: 32px; }
:is(.elementor,body) .gallery--alt:not(._) { grid-template-columns: 250px 1fr; }
@media (max-width: 680px) {
  :is(.elementor,body) .gallery--alt:not(._) { grid-template-columns: 1fr; }
  :is(.elementor,body) .gallery--alt .phone:not(._) { order: 2; }
}

/* ---------- Icônes (masques générés depuis le sprite) ---------- */
.ic-i-message{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3Cpath d='M8.5 12h.01M12 12h.01M15.5 12h.01'/%3E%3C/svg%3E")}
.ic-i-portfolio{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='8' height='8' rx='1.5'/%3E%3Crect x='13' y='3' width='8' height='8' rx='1.5'/%3E%3Crect x='3' y='13' width='8' height='8' rx='1.5'/%3E%3Crect x='13' y='13' width='8' height='8' rx='1.5'/%3E%3C/svg%3E")}
.ic-i-wp{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M6.5 8.5l3 8.5 2.5-6.5 2.5 6.5 3-8.5'/%3E%3C/svg%3E")}
.ic-i-bag{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 7.5h13l1 13h-15z'/%3E%3Cpath d='M9 10V7a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E")}
.ic-i-eyeoff{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 9.9a3 3 0 1 0 4.2 4.2M10.7 5.1A10.4 10.4 0 0 1 12 5c7 0 10 7 10 7a13 13 0 0 1-1.7 2.7M6.6 6.6A13.5 13.5 0 0 0 2 12s3 7 10 7a9.7 9.7 0 0 0 5.4-1.6M2 2l20 20'/%3E%3C/svg%3E")}
.ic-i-gauge{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 14l4-4M3.3 19a10 10 0 1 1 17.4 0'/%3E%3C/svg%3E")}
.ic-i-wp--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M6.5 8.5l3 8.5 2.5-6.5 2.5 6.5 3-8.5'/%3E%3C/svg%3E")}
.ic-i-elementor--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M9 7.5v9M12.5 7.5h3M12.5 12h3M12.5 16.5h3'/%3E%3C/svg%3E")}
.ic-i-bag--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 7.5h13l1 13h-15z'/%3E%3Cpath d='M9 10V7a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E")}
.ic-i-gauge--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 14l4-4M3.3 19a10 10 0 1 1 17.4 0'/%3E%3C/svg%3E")}
.ic-i-wrench--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0 5 5L21 13a6 6 0 0 1-7.6 1.4L6 21.8a2.1 2.1 0 0 1-3-3l7.4-7.4A6 6 0 0 1 11 3l1.7 1.3a4 4 0 0 0 2 2z'/%3E%3C/svg%3E")}
.ic-i-move--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h11l-3-3M20 17H9l3 3'/%3E%3C/svg%3E")}
.ic-i-search--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E")}
.ic-i-figma--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2.5h3v6H9a3 3 0 0 1 0-6zM12 2.5h3a3 3 0 0 1 0 6h-3zM9 8.5h3v6H9a3 3 0 0 1 0-6zM9 14.5h3v3a3 3 0 1 1-3-3z'/%3E%3Ccircle cx='15' cy='11.5' r='3'/%3E%3C/svg%3E")}
.ic-i-star{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E")}
.ic-i-monitor{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='3.5' width='19' height='13' rx='2'/%3E%3Cpath d='M8 20.5h8M12 16.5v4'/%3E%3C/svg%3E")}
.ic-i-clock{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.ic-i-globe{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5a14.5 14.5 0 0 1 0 19M12 2.5a14.5 14.5 0 0 0 0 19'/%3E%3C/svg%3E")}
.ic-i-rocket--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.3-2 5-2 5s3.7-.5 5-2c.7-.8.7-2.1-.1-2.9a2.2 2.2 0 0 0-2.9-.1z'/%3E%3Cpath d='M12 15l-3-3a22 22 0 0 1 2-4A12.9 12.9 0 0 1 22 2c0 2.7-.8 7.5-6 11a22.4 22.4 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.6-3 2-4c1.6-1.1 5 0 5 0M12 15v5s3-.6 4-2c1.1-1.6 0-5 0-5'/%3E%3C/svg%3E")}
.ic-i-cart--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2.5 3.5h3l2.7 12.4a1.5 1.5 0 0 0 1.5 1.1h8.6a1.5 1.5 0 0 0 1.5-1.1L21.5 8H6.5'/%3E%3C/svg%3E")}
.ic-i-history--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5M12 7v5l3 2'/%3E%3C/svg%3E")}
.ic-i-team--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20v-1a5 5 0 0 1 5-5h3a5 5 0 0 1 5 5v1'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18.5 14a5 5 0 0 1 3 4.6V20'/%3E%3C/svg%3E")}
.ic-i-pen{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19l7-7 3 3-7 7z'/%3E%3Cpath d='M18 13l-1.5-7.5L2 2l3.5 14.5L13 18z'/%3E%3Cpath d='M2 2l7.6 7.6'/%3E%3Ccircle cx='11' cy='11' r='2'/%3E%3C/svg%3E")}
.ic-i-elementor{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M9 7.5v9M12.5 7.5h3M12.5 12h3M12.5 16.5h3'/%3E%3C/svg%3E")}
.ic-i-refresh{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 1-15.5 6.3L3 16M3 21v-5h5M3 12a9 9 0 0 1 15.5-6.3L21 8M21 3v5h-5'/%3E%3C/svg%3E")}
.ic-i-shield{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}
.ic-i-arrow-ur--w24{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E")}
.ic-i-cart{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2.5 3.5h3l2.7 12.4a1.5 1.5 0 0 0 1.5 1.1h8.6a1.5 1.5 0 0 0 1.5-1.1L21.5 8H6.5'/%3E%3C/svg%3E")}
.ic-i-target{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E")}
.ic-i-grad{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2.5 9 2.5 12 0v-5M22 9v6'/%3E%3C/svg%3E")}
.ic-i-puzzle{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3.5a2 2 0 0 1 4 0V5h4a1 1 0 0 1 1 1v4h-1.5a2 2 0 0 0 0 4H19v4a1 1 0 0 1-1 1h-4v-1.5a2 2 0 0 0-4 0V19H6a1 1 0 0 1-1-1v-4h1.5a2 2 0 0 0 0-4H5V6a1 1 0 0 1 1-1h4z'/%3E%3C/svg%3E")}
.ic-i-chat--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E")}
.ic-i-pencil--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3l4 4L8 20H4v-4z'/%3E%3Cpath d='M14 6l4 4'/%3E%3C/svg%3E")}
.ic-i-code--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6l-6 6 6 6M16 6l6 6-6 6'/%3E%3C/svg%3E")}
.ic-i-rocket--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.3-2 5-2 5s3.7-.5 5-2c.7-.8.7-2.1-.1-2.9a2.2 2.2 0 0 0-2.9-.1z'/%3E%3Cpath d='M12 15l-3-3a22 22 0 0 1 2-4A12.9 12.9 0 0 1 22 2c0 2.7-.8 7.5-6 11a22.4 22.4 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.6-3 2-4c1.6-1.1 5 0 5 0M12 15v5s3-.6 4-2c1.1-1.6 0-5 0-5'/%3E%3C/svg%3E")}
.ic-i-chart--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 15l4-4 3 3 5-6'/%3E%3C/svg%3E")}
.ic-i-check--w30{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ic-i-message--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3Cpath d='M8.5 12h.01M12 12h.01M15.5 12h.01'/%3E%3C/svg%3E")}
.ic-i-gauge--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 14l4-4M3.3 19a10 10 0 1 1 17.4 0'/%3E%3C/svg%3E")}
.ic-i-calendar--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4M9 15l2 2 4-4'/%3E%3C/svg%3E")}
.ic-i-wp--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M6.5 8.5l3 8.5 2.5-6.5 2.5 6.5 3-8.5'/%3E%3C/svg%3E")}
.ic-i-elementor--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M9 7.5v9M12.5 7.5h3M12.5 12h3M12.5 16.5h3'/%3E%3C/svg%3E")}
.ic-t-woo--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17a1.5 1.5 0 0 1 1.5 1.5v8a1.5 1.5 0 0 1-1.5 1.5h-6l-3 3v-3h-8A1.5 1.5 0 0 1 2 15V7a1.5 1.5 0 0 1 1.5-1.5z'/%3E%3Cpath d='M5.5 9l1.2 4 1.6-3 1.6 3 1.2-4M13.5 11a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0'/%3E%3C/svg%3E")}
.ic-t-blocks--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='8' height='8' rx='1.5'/%3E%3Crect x='13' y='3' width='8' height='8' rx='1.5'/%3E%3Crect x='3' y='13' width='8' height='8' rx='1.5'/%3E%3Cpath d='M17 13v8M13 17h8'/%3E%3C/svg%3E")}
.ic-t-php--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='12' rx='10.5' ry='7'/%3E%3Cpath d='M6 14.5l1-5h2a1.2 1.2 0 0 1 0 2.5H7.5M11 8.5l-1.2 6M10.6 11h2.4l-.7 3.5M15 14.5l1-5h2a1.2 1.2 0 0 1 0 2.5h-1.5'/%3E%3C/svg%3E")}
.ic-t-html--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3h16l-1.5 16L12 21l-6.5-2z'/%3E%3Cpath d='M15.5 7.5h-7l.3 4h6.4l-.4 4L12 16.5l-2.8-1'/%3E%3C/svg%3E")}
.ic-t-css--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3h16l-1.5 16L12 21l-6.5-2z'/%3E%3Cpath d='M8.5 7.5h7l-.4 4H9.5M15.1 11.5l-.4 4L12 16.5l-2.8-1'/%3E%3C/svg%3E")}
.ic-t-js--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M11 10v5.5a1.8 1.8 0 0 1-3.2 1.1M17.5 10.7a2 2 0 0 0-1.8-.9c-1 0-1.7.6-1.7 1.4 0 2 3.7 1.3 3.7 3.4 0 .9-.8 1.6-1.9 1.6a2.4 2.4 0 0 1-2.1-1.1'/%3E%3C/svg%3E")}
.ic-i-figma--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2.5h3v6H9a3 3 0 0 1 0-6zM12 2.5h3a3 3 0 0 1 0 6h-3zM9 8.5h3v6H9a3 3 0 0 1 0-6zM9 14.5h3v3a3 3 0 1 1-3-3z'/%3E%3Ccircle cx='15' cy='11.5' r='3'/%3E%3C/svg%3E")}
.ic-t-responsive--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='14' height='10' rx='1.5'/%3E%3Cpath d='M6 18h6M9 14v4'/%3E%3Crect x='17' y='8' width='5.5' height='12' rx='1.2'/%3E%3C/svg%3E")}
.ic-i-search--w15{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E")}
.ic-i-briefcase--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='7' width='19' height='13.5' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2M2.5 13h19'/%3E%3C/svg%3E")}
.ic-i-code--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6l-6 6 6 6M16 6l6 6-6 6'/%3E%3C/svg%3E")}
.ic-i-eyeoff--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 9.9a3 3 0 1 0 4.2 4.2M10.7 5.1A10.4 10.4 0 0 1 12 5c7 0 10 7 10 7a13 13 0 0 1-1.7 2.7M6.6 6.6A13.5 13.5 0 0 0 2 12s3 7 10 7a9.7 9.7 0 0 0 5.4-1.6M2 2l20 20'/%3E%3C/svg%3E")}
.ic-i-star--w24{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E")}
.ic-i-check--w24{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ic-i-star--fill{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='none'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E")}
.ic-i-users--w22{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20v-1a5 5 0 0 1 5-5h3a5 5 0 0 1 5 5v1'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18.5 14a5 5 0 0 1 3 4.6V20'/%3E%3C/svg%3E")}
.ic-i-quote{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 7H6a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3v1c0 1.7-1 3-3 3M20 7h-4a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3v1c0 1.7-1 3-3 3'/%3E%3C/svg%3E")}
.ic-i-plus--w24{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.ic-i-chevron-r--w24{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E")}
.ic-i-x--w26{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.ic-i-trend--w26{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M15 7h6v6'/%3E%3C/svg%3E")}
.ic-i-bulb--w26{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21.5h4M12 2.5a6.5 6.5 0 0 0-4 11.6c.6.5 1 1.3 1 2.1V17h6v-.8c0-.8.4-1.6 1-2.1A6.5 6.5 0 0 0 12 2.5z'/%3E%3C/svg%3E")}
.ic-i-palette{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5a9.5 9.5 0 0 0 0 19c1.1 0 1.8-.9 1.8-1.9 0-.5-.2-.9-.5-1.3-.3-.3-.5-.8-.5-1.3 0-1 .8-1.9 1.9-1.9h2.2a5.6 5.6 0 0 0 5.6-5.6c0-4.2-4.5-7-10.5-7z'/%3E%3Ccircle cx='7.5' cy='11' r='1.2'/%3E%3Ccircle cx='10.5' cy='7' r='1.2'/%3E%3Ccircle cx='15' cy='7.5' r='1.2'/%3E%3C/svg%3E")}
.ic-i-phone-s{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2.5' width='12' height='19' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E")}
.ic-i-move{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h11l-3-3M20 17H9l3 3'/%3E%3C/svg%3E")}
.ic-i-search{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E")}
.ic-i-bug{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='7' width='10' height='13' rx='5'/%3E%3Cpath d='M12 11v9M7 12H3M21 12h-4M7 17l-3 2M17 17l3 2M7 9L4 7M17 9l3-2M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E")}
.ic-i-monitor--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='3.5' width='19' height='13' rx='2'/%3E%3Cpath d='M8 20.5h8M12 16.5v4'/%3E%3C/svg%3E")}
.ic-i-layout--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3.5' width='18' height='17' rx='2'/%3E%3Cpath d='M3 9h18M9.5 9v11.5'/%3E%3C/svg%3E")}
.ic-i-puzzle--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3.5a2 2 0 0 1 4 0V5h4a1 1 0 0 1 1 1v4h-1.5a2 2 0 0 0 0 4H19v4a1 1 0 0 1-1 1h-4v-1.5a2 2 0 0 0-4 0V19H6a1 1 0 0 1-1-1v-4h1.5a2 2 0 0 0 0-4H5V6a1 1 0 0 1 1-1h4z'/%3E%3C/svg%3E")}
.ic-i-grad--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2.5 9 2.5 12 0v-5M22 9v6'/%3E%3C/svg%3E")}
.ic-i-globe--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5a14.5 14.5 0 0 1 0 19M12 2.5a14.5 14.5 0 0 0 0 19'/%3E%3C/svg%3E")}
.ic-i-users--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20v-1a5 5 0 0 1 5-5h3a5 5 0 0 1 5 5v1'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18.5 14a5 5 0 0 1 3 4.6V20'/%3E%3C/svg%3E")}
.ic-i-figma--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2.5h3v6H9a3 3 0 0 1 0-6zM12 2.5h3a3 3 0 0 1 0 6h-3zM9 8.5h3v6H9a3 3 0 0 1 0-6zM9 14.5h3v3a3 3 0 1 1-3-3z'/%3E%3Ccircle cx='15' cy='11.5' r='3'/%3E%3C/svg%3E")}
.ic-i-phone-s--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2.5' width='12' height='19' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E")}
.ic-i-copy--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.5' y='8.5' width='13' height='13' rx='2'/%3E%3Cpath d='M15.5 8.5V5a2 2 0 0 0-2-2h-9a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h4'/%3E%3C/svg%3E")}
.ic-i-sliders--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E")}
.ic-i-play--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M10 8.5l5.5 3.5-5.5 3.5z'/%3E%3C/svg%3E")}
.ic-i-refresh--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 1-15.5 6.3L3 16M3 21v-5h5M3 12a9 9 0 0 1 15.5-6.3L21 8M21 3v5h-5'/%3E%3C/svg%3E")}
.ic-i-bag--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 7.5h13l1 13h-15z'/%3E%3Cpath d='M9 10V7a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E")}
.ic-i-box--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E")}
.ic-i-credit--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E")}
.ic-i-truck--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 5.5h13v10h-13zM14.5 9.5h4l3 3v3h-7z'/%3E%3Ccircle cx='6' cy='17.5' r='2'/%3E%3Ccircle cx='17.5' cy='17.5' r='2'/%3E%3C/svg%3E")}
.ic-i-shield--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}
.ic-i-check--w26{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ic-i-layers--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l10 5-10 5-10-5z'/%3E%3Cpath d='M2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E")}
.ic-i-clock--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.ic-i-file--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2.5H6a2 2 0 0 0-2 2v15a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.5z'/%3E%3Cpath d='M14 2.5v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E")}
.ic-i-check--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ic-i-send--w16{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2L11 13M22 2l-7 20-4-9-9-4z'/%3E%3C/svg%3E")}
.ic-i-lock--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10.5' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10.5V7a4 4 0 0 1 8 0v3.5'/%3E%3C/svg%3E")}
.ic-i-plus--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.ic-i-arrow{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.ic-i-star--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E")}
.ic-i-pin--w20{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.ic-i-zap--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E")}
.ic-i-target--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E")}
.ic-i-star--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E")}
.ic-i-mail--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='2'/%3E%3Cpath d='M22 7l-10 6L2 7'/%3E%3C/svg%3E")}
.ic-i-whatsapp--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5l1.3-4.2A8.5 8.5 0 1 1 8 19.4z'/%3E%3Cpath d='M9 8.5c0 3.5 3 6.5 6.5 6.5l1-1.6-2-1-1 .8a4.5 4.5 0 0 1-2.2-2.2l.8-1-1-2z'/%3E%3C/svg%3E")}
.ic-i-linkedin--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E")}
.ic-i-upwork--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ctext x='12' y='16.5' text-anchor='middle' font-size='13.5' font-weight='800' fill='%23000' stroke='none' font-family='Nunito, sans-serif'%3EUp%3C/text%3E%3C/svg%3E")}
.ic-i-pin--w17{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}

/* ---------- Ajustements WordPress / Elementor (scripts/wp/wp-overrides.css) ---------- */
/* Contact Form 7 dans la carte .contact-form (le formulaire est rendu par le widget « shortcode ») */
:is(.elementor,body) .contact-form > .elementor-widget-shortcode:not(._),
:is(.elementor,body) .contact-form .elementor-shortcode:not(._) { width: 100%; }
:is(.elementor,body) .contact-form .wpcf7-form:not(._) { display: flex; flex-direction: column; gap: 18px; margin: 0; }
:is(.elementor,body) .contact-form .hidden-fields-container:not(._) { display: none; }
:is(.elementor,body) .contact-form .wpcf7-form-control-wrap:not(._) { display: block; }
:is(.elementor,body) .contact-form .field input:not(._),
:is(.elementor,body) .contact-form .field select:not(._),
:is(.elementor,body) .contact-form .field textarea:not(._) { margin: 0; }
:is(.elementor,body) .contact-form .wpcf7-not-valid-tip:not(._) { margin-top: 6px; font-size: 13.5px; color: #c0392b; }
:is(.elementor,body) .contact-form .consent .wpcf7-list-item:not(._) { margin: 0; }
:is(.elementor,body) .contact-form .consent :is(label:not(:where([class^="tg-"],[class*=" tg-"])),:where(.tg-label)):not(._) { display: flex; gap: 12px; align-items: flex-start; }
:is(.elementor,body) .contact-form .form-end .wpcf7-submit:not(._) { height: 58px; padding: 0 30px; border: 2px solid transparent; cursor: pointer; }
:is(.elementor,body) .contact-form .wpcf7-spinner:not(._) { margin: 0 0 0 4px; }
:is(.elementor,body) .contact-form .wpcf7-response-output:not(._) { margin: 0 !important; padding: 12px 16px !important; border-radius: 12px; font-size: 14.5px; }
/* Éditeur Elementor : les apparitions au défilement sont désactivées pour que tout reste visible */
.elementor-editor-active :is(.elementor,body) .reveal:not(._) { opacity: 1 !important; transform: none !important; }
.elementor-editor-active :is(.elementor,body) .tg-empty > .elementor-empty-view:not(._) { display: none; }
/* repère « zone vide » masqué sur les éléments volontairement vides (icônes, formes) */
