/* HDKN Immersif · Système de pages « hx » 0.6
   Charte HDKN : fond #0C0F16 et trame 28 px, cartes #10141D, menthe pour le mot clé,
   dégradé seulement sur filets, cadres et surtitres. Oswald 700 (titres) et Manrope (texte), servies en local.
   Mise en page : réglages natifs des conteneurs Elementor. Ce fichier ne fait que l'habillage, par classes « hx-* ». */
@font-face{font-family:"HDKN Oswald";src:url(fonts/oswald-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"HDKN Manrope";src:url(fonts/manrope-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"HDKN Manrope";src:url(fonts/manrope-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"HDKN Manrope";src:url(fonts/manrope-latin-800-normal.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  --hx-bg:#0C0F16;--hx-panel:#10141D;--hx-panel-2:#141924;--hx-line:rgba(255,255,255,.08);--hx-line-2:rgba(255,255,255,.14);
  --hx-fg:#FFFFFF;--hx-text:#B4BFCA;--hx-soft:#DCE3EA;--hx-mint:#0DFEB9;--hx-cyan:#0DF8F4;--hx-sky:#5AC8E8;
  --hx-grad:linear-gradient(110deg,#0DFEB9 0%,#0DF8F4 55%,#5AC8E8 100%);
  --hx-display:"HDKN Oswald","Oswald","Arial Narrow",Impact,sans-serif;
  --hx-body:"HDKN Manrope","Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --hx-trame:radial-gradient(circle,rgba(255,255,255,.05) 1.2px,transparent 1.6px);
}

/* ---------- Sections ---------- */
.hx-hero,.hx-sec,.hx-cta{position:relative;isolation:isolate}
.hx-hero{overflow:hidden;background-color:var(--hx-bg)}
.hx-hero::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:var(--hx-trame);background-size:28px 28px;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.hx-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 70% at 78% 45%,rgba(13,254,185,.10),rgba(13,254,185,0) 70%),radial-gradient(40% 50% at 10% 0%,rgba(90,200,232,.06),rgba(90,200,232,0) 70%)}
.hx-hero{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,rgba(13,254,185,0),rgba(13,254,185,.5) 30%,rgba(90,200,232,.35) 70%,rgba(90,200,232,0)) 1}
.hx-sec--alt{background:linear-gradient(180deg,rgba(16,20,29,0),rgba(16,20,29,.85) 18%,rgba(16,20,29,.85) 82%,rgba(16,20,29,0))}
.hx-sec--trame::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--hx-trame);background-size:28px 28px;
  -webkit-mask-image:radial-gradient(70% 80% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 80% at 50% 50%,#000,transparent)}

/* ---------- Titres et textes ---------- */
.hx-kicker .elementor-heading-title{margin:0;font:600 12px/1.3 var(--hx-body)!important;letter-spacing:.24em!important;text-transform:uppercase!important;
  background:var(--hx-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;display:inline-block}
.hx-h1 .elementor-heading-title,.hx-h2 .elementor-heading-title,.hx-num .elementor-heading-title{font-family:var(--hx-display)!important;font-weight:700!important;
  text-transform:uppercase!important;font-style:normal!important;letter-spacing:.005em!important;color:var(--hx-fg)!important;text-wrap:balance}
.hx-h1 .elementor-heading-title{font-size:clamp(42px,5.2vw,80px)!important;line-height:.94!important}
.hx-h2 .elementor-heading-title{font-size:clamp(32px,3.7vw,56px)!important;line-height:.96!important}
.hx-h3 .elementor-heading-title{font:800 clamp(18px,1.5vw,21px)/1.25 var(--hx-body)!important;color:var(--hx-fg)!important;text-transform:none!important;letter-spacing:0!important}
.hx-em,.hx-h1 em,.hx-h2 em{color:var(--hx-mint);font-style:normal}
.hx-lead,.hx-text{font-family:var(--hx-body)!important;color:var(--hx-text)!important}
.hx-lead,.hx-lead p{font-size:clamp(16px,1.25vw,18.5px)!important;line-height:1.65!important}
.hx-text,.hx-text p{font-size:15.5px!important;line-height:1.65!important}
.hx-lead p,.hx-text p{margin:0 0 .9em}
.hx-lead p:last-child,.hx-text p:last-child{margin-bottom:0}
.hx-lead strong,.hx-text strong{color:var(--hx-fg);font-weight:600}

/* ---------- Liens et puces ---------- */
.hx-link .elementor-button{background:none!important;border:0!important;box-shadow:none!important;padding:12px 2px!important;color:var(--hx-fg)!important;
  font:600 13px/1 var(--hx-body)!important;letter-spacing:.16em!important;text-transform:uppercase!important;position:relative}
.hx-link .elementor-button::after{content:"";position:absolute;left:2px;right:2px;bottom:6px;height:1px;background:var(--hx-grad);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.hx-link .elementor-button:hover::after{transform:scaleX(.35)}
.hx-link .elementor-button:hover{color:var(--hx-mint)!important}
.hx-link .elementor-button .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:10px;transition:transform .3s}
.hx-link .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}

.hx-chips .elementor-icon-list-items{display:flex!important;flex-wrap:wrap;gap:8px!important;margin:0!important;padding:0!important}
.hx-chips .elementor-icon-list-item{margin:0!important;padding:7px 13px 7px 10px!important;border:1px solid var(--hx-line-2);border-radius:999px;background:rgba(12,15,22,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hx-chips .elementor-icon-list-item::after{display:none!important}
.hx-chips .elementor-icon-list-text{font:600 11px/1 var(--hx-body)!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--hx-soft)!important;padding-left:7px!important}
.hx-chips .elementor-icon-list-icon svg{width:12px!important;height:12px!important;fill:var(--hx-mint)!important}
.hx-chips .elementor-icon-list-icon i{font-size:12px!important;color:var(--hx-mint)!important}

.hx-list .elementor-icon-list-items{margin:0!important;padding:0!important}
.hx-list .elementor-icon-list-item{padding:10px 0!important;border-top:1px solid var(--hx-line);align-items:flex-start!important}
.hx-list .elementor-icon-list-item:first-child{border-top:0}
.hx-list .elementor-icon-list-item::after{display:none!important}
.hx-list .elementor-icon-list-text{font:400 15px/1.5 var(--hx-body)!important;color:var(--hx-soft)!important;padding-left:12px!important}
.hx-list .elementor-icon-list-icon{margin-top:4px}
.hx-list .elementor-icon-list-icon svg{width:14px!important;height:14px!important;fill:var(--hx-mint)!important}
.hx-list .elementor-icon-list-icon i{font-size:14px!important;color:var(--hx-mint)!important}

/* ---------- Panneaux et cartes ---------- */
.hx-panel{background:linear-gradient(180deg,#131823,#0F131B)!important;border:1px solid var(--hx-line)!important;border-radius:24px!important;position:relative;overflow:hidden;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s}
.hx-panel::before{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:var(--hx-grad);opacity:.55;transition:opacity .3s}
.hx-panel:hover{transform:translateY(-4px);border-color:var(--hx-line-2)!important}
.hx-panel:hover::before{opacity:1}
.hx-panel--glow::after{content:"";position:absolute;inset:auto -30% -40% auto;width:70%;height:70%;pointer-events:none;
  background:radial-gradient(circle,rgba(13,254,185,.12),rgba(13,254,185,0) 70%)}

.hx-card{background:var(--hx-panel);border:1px solid var(--hx-line);border-radius:18px;padding:26px 24px 24px;position:relative;overflow:hidden;height:100%;
  transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s}
.hx-card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hx-grad);opacity:0;transition:opacity .3s}
.hx-card:hover{transform:translateY(-4px);border-color:var(--hx-line-2);background:var(--hx-panel-2)}
.hx-card:hover::before{opacity:1}
.hx-card .elementor-icon-box-wrapper{text-align:left!important;display:block!important}
.hx-card .elementor-icon-box-icon{margin:0 0 18px!important;display:inline-flex!important}
.hx-card .elementor-icon,.hx-feature .elementor-icon{display:inline-flex!important;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;
  background:rgba(13,254,185,.08);border:1px solid rgba(13,254,185,.22);color:var(--hx-mint)!important;font-size:20px!important;padding:0!important;transition:background .3s,transform .4s}
.hx-card .elementor-icon svg,.hx-feature .elementor-icon svg{width:20px!important;height:20px!important;fill:var(--hx-mint)!important}
.hx-card:hover .elementor-icon{background:rgba(13,254,185,.16);transform:scale(1.06)}
.hx-card .elementor-icon-box-title,.hx-feature .elementor-icon-box-title{margin:0 0 8px!important;font:800 17px/1.3 var(--hx-body)!important;color:var(--hx-fg)!important;text-transform:none!important;letter-spacing:0!important}
.hx-card .elementor-icon-box-title a,.hx-feature .elementor-icon-box-title a{color:inherit!important}
.hx-card .elementor-icon-box-description,.hx-feature .elementor-icon-box-description{margin:0!important;font:400 14.5px/1.6 var(--hx-body)!important;color:var(--hx-text)!important}

.hx-feature .elementor-icon-box-wrapper{display:flex!important;gap:16px;text-align:left!important;align-items:flex-start}
.hx-feature .elementor-icon-box-icon{margin:0!important;flex:0 0 auto}
.hx-feature--lg .elementor-icon-box-wrapper{align-items:center}
.hx-feature--lg .elementor-icon-box-title{font:800 clamp(19px,1.6vw,23px)/1.25 var(--hx-body)!important;margin:0!important}
.hx-feature--lg .elementor-icon{width:52px;height:52px;border-radius:15px}

/* ---------- Chiffres ---------- */
.hx-stat .elementor-heading-title{font:700 clamp(30px,2.8vw,44px)/1 var(--hx-display)!important;color:var(--hx-fg)!important;text-transform:uppercase!important;letter-spacing:.01em!important}
.hx-stat-label .elementor-heading-title{font:400 14px/1.5 var(--hx-body)!important;color:var(--hx-text)!important;text-transform:none!important;letter-spacing:0!important}
.hx-stats>.e-con,.hx-stats>.e-con-inner>.e-con{border-top:1px solid var(--hx-line)}
.hx-stats>.e-con:first-child,.hx-stats>.e-con-inner>.e-con:first-child{border-top:0}

/* ---------- Étapes ---------- */
.hx-step{position:relative;border-top:1px solid var(--hx-line-2)}
.hx-step::before{content:"";position:absolute;left:0;top:-1px;width:42px;height:1px;background:var(--hx-grad)}
.hx-num .elementor-heading-title{font-size:46px!important;line-height:1!important;color:transparent!important;-webkit-text-stroke:1px rgba(13,254,185,.75)}

/* ---------- Appel à l'action ---------- */
.hx-cta{border:1px solid transparent!important;border-radius:28px!important;overflow:hidden;
  background:radial-gradient(60% 90% at 88% 10%,rgba(13,254,185,.16),rgba(13,254,185,0) 60%) padding-box,linear-gradient(180deg,#121722,#0E1219) padding-box,var(--hx-grad) border-box!important}
.hx-cta::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--hx-trame);background-size:28px 28px;opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 70%);mask-image:linear-gradient(90deg,transparent,#000 70%)}

/* ---------- Images ---------- */
.hx-badge img{max-width:300px!important;height:auto!important;opacity:.95}
.hx-media img{border-radius:18px;border:1px solid var(--hx-line)}

/* ---------- Animation ---------- */
.hx-anim{position:relative;width:100%;height:var(--hx-anim-h,460px)}
.hx-anim canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
@media (max-width:767px){
  .hx-anim{height:var(--hx-anim-h-m,280px)}
  .hx-card{padding:22px 20px 20px}
  .hx-panel{border-radius:20px!important}
  .hx-cta{border-radius:22px!important}
  .hx-num .elementor-heading-title{font-size:38px!important}
}


/* ---------- 0.6 : pastilles sur boîtes d'icône, FAQ, texte long, formulaires ---------- */
.hx-pills{flex-wrap:wrap}
.hx-pill .elementor-icon-box-wrapper{display:inline-flex!important;align-items:center!important;gap:8px;padding:8px 14px 8px 11px;border:1px solid var(--hx-line-2);border-radius:999px;
  background:rgba(12,15,22,.55);text-align:left!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hx-pill .elementor-icon-box-icon{margin:0!important;display:inline-flex!important}
.hx-pill .elementor-icon{font-size:12px!important;width:auto!important;height:auto!important;padding:0!important;background:none!important;border:0!important;color:var(--hx-mint)!important}
.hx-pill .elementor-icon svg{width:12px!important;height:12px!important;fill:var(--hx-mint)!important}
.hx-pill .elementor-icon-box-title{margin:0!important;font:600 11px/1.2 var(--hx-body)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--hx-soft)!important}
.hx-pill .elementor-icon-box-description{display:none!important}
.hx-faq .e-n-accordion-item{border:1px solid var(--hx-line)!important;border-radius:16px!important;background:var(--hx-panel)!important;margin:0 0 12px!important;overflow:hidden;transition:border-color .3s}
.hx-faq .e-n-accordion-item[open]{border-color:rgba(13,254,185,.35)!important}
.hx-faq .e-n-accordion-item-title{padding:18px 22px!important;border:0!important;background:none!important}
.hx-faq .e-n-accordion-item-title-text{font:700 16px/1.45 var(--hx-body)!important;color:var(--hx-fg)!important;text-transform:none!important;letter-spacing:0!important}
.hx-faq .e-n-accordion-item-title-icon svg{fill:var(--hx-mint)!important}
.hx-faq .e-n-accordion-item-title-icon i{color:var(--hx-mint)!important}
.hx-faq .e-n-accordion-item>.e-con{padding:0 22px 20px!important;border:0!important;background:none!important}
.hx-faq .e-n-accordion-item>.e-con .elementor-widget-text-editor{font:400 15px/1.65 var(--hx-body)!important;color:var(--hx-text)!important}
.hx-prose{font:400 15.5px/1.7 var(--hx-body)!important;color:var(--hx-text)!important}
.hx-prose h2,.hx-prose h3,.hx-prose h4{font-family:var(--hx-body)!important;font-weight:800!important;color:var(--hx-fg)!important;text-transform:none!important;letter-spacing:0!important;margin:1.6em 0 .5em!important;line-height:1.3!important}
.hx-prose h2{font-size:22px!important}.hx-prose h3{font-size:18px!important}.hx-prose h4{font-size:16px!important}
.hx-prose p{margin:0 0 1em}
.hx-prose a{color:var(--hx-mint)!important;text-decoration:underline;text-underline-offset:3px}
.hx-prose strong{color:var(--hx-fg)}
.hx-prose ul{padding-left:1.2em}.hx-prose li::marker{color:var(--hx-mint)}
.hx-form .elementor-field-textual,.hx-form .elementor-field-group select{background:#0F131B!important;border:1px solid var(--hx-line-2)!important;border-radius:12px!important;color:#fff!important;
  font:400 15px/1.4 var(--hx-body)!important;padding:12px 14px!important}
.hx-form .elementor-field-textual:focus{border-color:var(--hx-mint)!important;box-shadow:0 0 0 3px rgba(13,254,185,.22)!important;outline:0!important}
.hx-form .elementor-field-label{font:600 12px/1.3 var(--hx-body)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--hx-soft)!important}
.hx-form .elementor-field-type-acceptance label,.hx-form .elementor-field-type-checkbox label{text-transform:none!important;letter-spacing:0!important;font-weight:400!important;color:var(--hx-text)!important}
.hx-form .e-form__buttons .elementor-button,.hx-form button[type=submit]{background:var(--hx-bg)!important;color:#fff!important;border:1px solid #fff!important;border-radius:100px!important;
  font:600 15px/1.2 "Bai Jamjuree",var(--hx-body)!important;letter-spacing:1.2px!important;text-transform:uppercase!important;transition:box-shadow .3s}
.hx-form .e-form__buttons .elementor-button:hover,.hx-form button[type=submit]:hover{box-shadow:0 0 10px 7px rgba(117,218,180,.52)!important}
.hx-hero--compact{min-height:0!important}
@media (max-width:767px){
  .hx-card .elementor-icon-box-wrapper{display:grid!important;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
  .hx-card .elementor-icon-box-icon{margin:2px 0 0!important}
  .hx-card .elementor-icon{width:40px!important;height:40px!important;border-radius:11px}
  .hx-card{padding:18px 18px 16px}
  .hx-faq .e-n-accordion-item-title{padding:16px 18px!important}
}

/* ---------- 0.6.1 : titres moyens, listes, icônes, onglets, carte, réseaux ---------- */
.hx-h2.hx-h2--md .elementor-heading-title{font-size:clamp(28px,2.6vw,40px)!important;line-height:1!important}
.hx-text ul,.hx-lead ul{list-style:none!important;margin:0 0 .9em!important;padding:0!important}
.hx-text ul li,.hx-lead ul li{position:relative;padding-left:22px;margin:0 0 8px}
.hx-text ul li::before,.hx-lead ul li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--hx-mint)}
.hx-ico .elementor-icon{display:inline-flex!important;align-items:center;justify-content:center;width:46px!important;height:46px!important;border-radius:13px!important;
  background:rgba(13,254,185,.08)!important;border:1px solid rgba(13,254,185,.22)!important;color:var(--hx-mint)!important;font-size:20px!important;padding:0!important}
.hx-ico .elementor-icon svg{width:20px!important;height:20px!important;fill:var(--hx-mint)!important}
.hx-ico .elementor-icon i{color:var(--hx-mint)!important}
.hx-panel--static:hover{transform:none!important}
.hx-tabs .e-n-tabs-heading{justify-content:center!important;gap:10px!important;margin-bottom:22px}
.hx-tabs .e-n-tab-title{background:rgba(12,15,22,.55)!important;border:1px solid var(--hx-line-2)!important;border-radius:999px!important;padding:12px 22px!important;transition:border-color .3s,background .3s}
.hx-tabs .e-n-tab-title-text{font:600 12px/1 var(--hx-body)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--hx-soft)!important}
.hx-tabs .e-n-tab-title:hover{border-color:rgba(13,254,185,.45)!important}
.hx-tabs .e-n-tab-title[aria-selected="true"]{background:rgba(13,254,185,.12)!important;border-color:rgba(13,254,185,.6)!important}
.hx-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text{color:#fff!important}
.hx-map .elementor-custom-embed,.hx-map iframe{border-radius:18px;overflow:hidden}
.hx-map .elementor-custom-embed{border:1px solid var(--hx-line)}
.hx-social .elementor-social-icon{background:transparent!important;border:1px solid var(--hx-line-2)!important;border-radius:12px!important;transition:border-color .3s,box-shadow .3s}
.hx-social .elementor-social-icon:hover{border-color:var(--hx-mint)!important;box-shadow:0 0 0 3px rgba(13,254,185,.12)}
.hx-social .elementor-social-icon i{color:var(--hx-soft)!important}
.hx-social .elementor-social-icon svg{fill:var(--hx-soft)!important}
.hx-list .elementor-icon-list-item{justify-content:flex-start!important}
.hx-list .elementor-icon-list-text{text-align:left!important}
.hx-panel--static .elementor-widget.hx-kicker{align-self:flex-start!important}
.hx-panel--static .hx-kicker .elementor-heading-title{text-align:left!important}

/* ---------- Apparition au défilement ---------- */
/* Seulement quand le script tourne (classe hx-js sur <html>) : sans JavaScript, tout reste visible. */
.hx-js .hx-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.hx-js .hx-reveal.is-in{opacity:1;transform:none}
.elementor-editor-active .hx-reveal{opacity:1!important;transform:none!important}

@media (prefers-reduced-motion:reduce){
  .hx-panel,.hx-card,.hx-card .elementor-icon,.hx-reveal{transition:none!important;transform:none!important}
  .hx-reveal{opacity:1}
}
