.elementor-kit-6{--e-global-color-primary:#A8FF60;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#A1A1A1;--e-global-color-accent:#00FF41;--e-global-color-jdbg:#050505;--e-global-color-jdcard:#0D0D0D;--e-global-color-jdline:#222222;--e-global-color-jdseo:#00CC33;--e-global-color-jdsea:#FF8A2B;--e-global-color-jddata:#2B9BFF;--e-global-color-jdmkt:#C061FF;--e-global-color-jdpm:#2BE0C0;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"JetBrains Mono";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:none;background-color:#050505;color:#FFFFFF;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;text-transform:none;line-height:1.6em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#FFFFFF;}.elementor-kit-6 a:hover{color:#A8FF60;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* JD E-business — styles globaux (kit Elementor) */
body { background: #050505; color: #fff; }
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 1; opacity: .03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px; }
::selection { background: #A8FF60; color: #0a0a0a; }
a { transition: color .2s, opacity .2s; }

/* En-tête fixe, pilule floutée au défilement */
.jd-header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 50; transition: padding .4s ease; }
.admin-bar .jd-header { top: 32px; }
.jd-header.is-scrolled { padding-top: 12px !important; padding-bottom: 12px !important; }
.jd-pill { margin: 0 auto; max-width: 1152px; border-radius: 999px; border: 1px solid transparent; transition: all .4s ease; }
.jd-header.is-scrolled .jd-pill { background: rgba(13,13,13,.75); border-color: rgba(255,255,255,.12); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.jd-header .elementor-widget-html { position: absolute; width: 0; height: 0; overflow: hidden; }
.jd-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #A8FF60; margin-right: 8px; vertical-align: middle; position: static; opacity: 1; }
.jd-nav .elementor-nav-menu--main .elementor-item[href*="#"]::before { display: none; }
.jd-nav .elementor-nav-menu--dropdown { border-radius: 20px; overflow: hidden; margin-top: 10px; border: 1px solid rgba(255,255,255,.12); }
.jd-nav .elementor-menu-toggle { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }

/* Hero : portrait + badge rotatif */
.jd-hero-media { position: relative; }
.jd-hero-img img { width: 100%; aspect-ratio: 1 / 1.15; object-fit: cover; }
.jd-badge-wrap { position: absolute !important; right: -12px; bottom: -40px; width: 150px !important; z-index: 2; }
.jd-badge { position: relative; display: flex; align-items: center; justify-content: center; width: 150px; height: 150px; border-radius: 50%; background: #0d0d0d; border: 1px solid rgba(255,255,255,.2); overflow: hidden; }
.jd-badge-ring { position: absolute; inset: 0; animation: jd-spin 18s linear infinite; }
.jd-badge-ring text { font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .18em; fill: rgba(255,255,255,.6); }
.jd-badge-arrow { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s; }
.jd-badge:hover .jd-badge-arrow { transform: rotate(45deg); stroke: #A8FF60; }
@keyframes jd-spin { to { transform: rotate(360deg); } }
@media (max-width: 767px) { .jd-hero-media { max-width: 420px; margin: 0 auto 40px; } .jd-badge-wrap { right: 0; } }

/* Bandeau d'outils */
.jd-marquee { overflow: hidden; background: #0a0a0a; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); padding: 26px 0; }
.jd-marquee-track { display: flex; width: max-content; animation: jd-marquee 40s linear infinite; }
.jd-marquee-track span { flex-shrink: 0; margin-right: 16px; padding: 10px 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; white-space: nowrap; font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: .05em; color: rgba(255,255,255,.75); }
@keyframes jd-marquee { to { transform: translateX(-50%); } }

/* Expérience */
.jd-exp-row { border-radius: 6px; transition: background-color .2s; }
.jd-exp-row:hover { background-color: rgba(255,255,255,.03); }

/* Rails horizontaux (compétences, process) */
.jd-track { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px !important; }
.jd-track::-webkit-scrollbar { display: none; }
.jd-track > .e-con { scroll-snap-align: start; flex-shrink: 0 !important; }
.jd-arrows { display: flex; justify-content: center; gap: 12px; margin-top: 32px; }
.jd-arrows button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); background: rgba(13,13,13,.7); color: #fff; font-size: 18px; line-height: 1; padding: 0; cursor: pointer; transition: all .2s; }
.jd-arrows button:hover { border-color: #A8FF60; color: #A8FF60; background: rgba(13,13,13,.9); }

/* Cartes compétences */
.jd-skill { width: calc((100% - 48px) / 3) !important; aspect-ratio: 3 / 4; overflow: hidden; position: relative; background-color: #0a0a0a; transition: background-size .7s; }
.jd-skill-body { background: linear-gradient(to top, rgba(0,0,0,.85), transparent); transition: background .4s ease; }
.jd-skill:hover .jd-skill-body { background: linear-gradient(to top, rgba(6,20,30,.97) 55%, rgba(6,20,30,.6) 80%, transparent); }
.jd-skill-num .elementor-heading-title { text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.jd-pills { display: flex; flex-wrap: wrap; gap: 8px; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .35s ease, opacity .3s ease, padding .3s; }
.jd-skill:hover .jd-pills, .jd-skill:focus-visible .jd-pills { max-height: 120px; opacity: 1; padding-top: 16px; }
.jd-pills span, .jd-tags span { font-family: "JetBrains Mono", monospace; font-size: 10px; color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.18); border-radius: 4px; background: rgba(255,255,255,.05); padding: 4px 10px; }
@media (max-width: 1024px) { .jd-skill { width: calc((100% - 24px) / 2) !important; } }
@media (max-width: 767px) { .jd-skill { width: 78vw !important; } .jd-pills { max-height: 120px; opacity: 1; padding-top: 16px; } }

/* Étapes du process */
.jd-step { width: min(300px, 78vw) !important; transition: transform .3s ease; }
.jd-step:hover { transform: translateY(-6px); }
.jd-step-icon .elementor-icon { border: 1px solid rgba(255,255,255,.09); }

/* Articles */
.jd-posts .elementor-posts-container .elementor-post { padding: 40px 32px !important; border: 1px solid #222; transition: background-color .3s; }
.jd-posts .elementor-post:hover { background-color: rgba(255,255,255,.02); }
.jd-posts .elementor-post__title a { color: inherit; }
.jd-posts .elementor-post__read-more { text-transform: none; }

/* Tags plateformes (page SEA) */
.jd-tags { display: flex; flex-wrap: wrap; gap: 12px; }
.jd-tags span { font-size: 11px; letter-spacing: .1em; color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.15); background: none; border-radius: 0; padding: 8px 16px; }

/* Pied de page / contact */
.jd-contact-big { overflow: hidden; }
.jd-contact-big .elementor-heading-title { white-space: nowrap; margin-left: -2%; user-select: none; }
.jd-info-value a, .jd-muted-links a { color: inherit; }
.jd-info-value a:hover, .jd-muted-links a:hover { color: #A8FF60; }
.jd-form .elementor-field-textual, .jd-form select { color: #fff !important; padding-left: 0 !important; }
.jd-form select option { background: #0d0d0d; color: #fff; }
.jd-form .elementor-field::placeholder { color: rgba(255,255,255,.2); }
.jd-form .elementor-button { text-transform: none; }

/* Page Expertises : grille de cartes */
.jd-grid .jd-skill { flex-shrink: 0; }
@media (max-width: 767px) { .jd-grid .jd-skill { width: 100% !important; } }

/* Modèle Article */
.jd-back a, .jd-back .elementor-heading-title a { color: rgba(255,255,255,.4); }
.jd-back a:hover { color: #A8FF60; }
.jd-post-head { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 32px; font-family: "JetBrains Mono", monospace; font-size: 10px; color: rgba(255,255,255,.35); }
.jd-post-cat { color: #A8FF60; padding: 4px 12px; border: 1px solid rgba(168,255,96,.3); }
.jd-post-cat:hover { background: rgba(168,255,96,.08); color: #A8FF60; }
.jd-post-impact { display: inline-flex; align-items: center; gap: 12px; border: 1px solid rgba(0,255,65,.25); padding: 12px 24px; margin-bottom: 48px; }
.jd-post-impact strong { font-family: "JetBrains Mono", monospace; font-size: 14px; color: #00FF41; }
.jd-post-impact span { font-size: 12px; color: rgba(255,255,255,.4); }
.jd-side-col > .elementor-widget-shortcode { position: sticky; top: 120px; }
.jd-post-side { display: flex; flex-direction: column; gap: 24px; }
.jd-side-box { border: 1px solid rgba(255,255,255,.1); padding: 24px; background: #0A0A0A; }
.jd-side-label { font-family: "JetBrains Mono", monospace; font-size: 10px; letter-spacing: .2em; color: rgba(255,255,255,.2); margin: 0 0 24px; }
.jd-side-row + .jd-side-row { border-top: 1px solid rgba(255,255,255,.1); padding-top: 16px; margin-top: 20px; }
.jd-side-row p { font-family: "JetBrains Mono", monospace; font-size: 10px; color: rgba(255,255,255,.2); margin: 0 0 8px; }
.jd-side-row strong { font-family: "JetBrains Mono", monospace; font-size: 14px; color: #00FF41; }
.jd-side-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.jd-side-tags span { font-family: "JetBrains Mono", monospace; font-size: 10px; color: rgba(255,255,255,.5); padding: 4px 8px; border: 1px solid rgba(255,255,255,.1); }
.jd-side-back { display: block; border: 1px solid rgba(255,255,255,.1); padding: 24px; text-align: center; color: rgba(255,255,255,.4); font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .15em; }
.jd-side-back:hover { border-color: #A8FF60; color: #A8FF60; }
@media (max-width: 1024px) { .jd-side-col > .elementor-widget-shortcode { position: static; } }

/* Contenu d'article (repris de l'app React) */
.jd-article { font-family: Inter, sans-serif; font-size: 17px; line-height: 1.8; color: rgba(255,255,255,.65); overflow-wrap: anywhere; }
.jd-article h2 { font-family: "Space Grotesk", sans-serif; font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; color: #fff; margin: 48px 0 16px; }
.jd-article h3 { font-family: "Space Grotesk", sans-serif; font-size: 20px; font-weight: 600; line-height: 1.3; color: #fff; margin: 32px 0 12px; }
.jd-article p { margin: 0 0 20px; }
.jd-article strong { color: #fff; font-weight: 600; }
.jd-article ul { list-style: disc; padding-left: 20px; margin: 0 0 20px; }
.jd-article ol { list-style: decimal; padding-left: 20px; margin: 0 0 20px; }
.jd-article li { margin-bottom: 8px; padding-left: 4px; }
.jd-article li p { margin-bottom: 8px; }
.jd-article code { font-family: "JetBrains Mono", monospace; font-size: 13px; background: #111; color: #00FF41; padding: 2px 6px; }
.jd-article pre { background: #111; padding: 16px; margin-bottom: 24px; overflow-x: auto; }
.jd-article pre code { background: none; padding: 0; }
.jd-article table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 14px; line-height: 1.6; margin: 0 0 28px; border: 0; }
.jd-article thead { border-bottom: 2px solid #333; }
.jd-article tr { border-bottom: 1px solid #1e1e1e; background: none !important; }
.jd-article th { padding: 10px 16px; text-align: left; color: #fff; font-weight: 600; font-family: "Space Grotesk", sans-serif; font-size: 13px; background: #0D0D0D; border: 0; }
.jd-article td { padding: 10px 16px; color: #A1A1A1; vertical-align: top; border: 0; border-left: 1px solid #1a1a1a; }
.jd-article a { color: #00FF41; text-decoration: underline; }
.jd-article a:hover { color: #A8FF60; }
.jd-article blockquote { border-left: 3px solid rgba(255,255,255,.2); padding-left: 16px; margin: 24px 0; color: rgba(255,255,255,.45); }
.jd-article hr { border: 0; border-top: 1px solid rgba(255,255,255,.1); margin: 40px 0; }
@media (max-width: 767px) { .jd-posts .elementor-posts-container .elementor-post { padding: 28px 24px !important; } }/* End custom CSS */