/* ==========================================================================
   HDS Studios — système de design (refonte 2026, Thortank)
   Couleurs issues du logo : cyan #14D9FF → bleu #3A97FF → violet #742FFF
   ========================================================================== */

@font-face{font-family:"Sora";src:url("../fonts/sora-var.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#0A0A0F; --ink-2:#111119; --ink-3:#191924; --ink-4:#262632;
  --line-d:rgba(255,255,255,.09); --line-d2:rgba(255,255,255,.16);
  --on-d:#F4F4F7; --on-d2:#ABABBA; --on-d3:#8C8C9B;
  --paper:#F4F3F0; --paper-2:#EAE8E3; --white:#FFFFFF;
  --text:#14141B; --text-2:#4D4D59; --text-3:#63636F; --line:#DDDAD3;
  --cyan:#14D9FF; --blue:#3A97FF; --violet:#742FFF;
  --grad:linear-gradient(120deg,#14D9FF 0%,#3A97FF 48%,#742FFF 100%);
  --grad-deep:linear-gradient(120deg,#0B7FA6 0%,#2E5BFF 52%,#6424E8 100%);
  --wa:#25D366;
  --f-head:"Sora",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1240px; --gut:clamp(20px,4vw,40px);
  --r-s:10px; --r:16px; --r-l:24px;
  --sec:clamp(64px,9vw,124px);
  --hh:76px; /* hauteur d'en-tête */
  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow:0 1px 2px rgba(10,10,15,.05),0 12px 32px -14px rgba(10,10,15,.18);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--ink);color:var(--on-d);font:400 1.0625rem/1.65 var(--f-body);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:600;line-height:1.1;letter-spacing:-.02em;margin:0;text-wrap:balance}
strong,b{font-weight:600}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}
.screen-reader-text,.hds-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hds-skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--white);color:var(--ink);padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.hds-skip:focus{top:12px}
.hds-wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.hds-wrap--narrow{max-width:calc(820px + 2*var(--gut))}
.hds-grad-text,.hds-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hds-ico{width:1.25em;height:1.25em;flex:none;display:inline-block;vertical-align:-.22em}

/* Elementor : neutralise les espacements par défaut autour des blocs HDS */
.elementor .e-con.hds-root,.elementor .hds-root{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;--row-gap:0;--column-gap:0}
.elementor-widget[class*="elementor-widget-hds-"]{margin:0!important;width:100%}
.elementor-widget[class*="elementor-widget-hds-"] > .elementor-widget-container{margin:0;padding:0}

/* ---------- Typographie utilitaire ---------- */
.hds-eyebrow{display:inline-flex;align-items:center;gap:.6em;margin:0 0 1rem;font:600 .78rem/1.2 var(--f-body);
  letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.hds-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--grad)}
.hds-sec--paper .hds-eyebrow,.hds-sec--white .hds-eyebrow{color:#2E5BFF}
.hds-h2{font-size:clamp(1.85rem,3.5vw,2.9rem);letter-spacing:-.028em}
.hds-h3{font-size:clamp(1.2rem,1.7vw,1.45rem);letter-spacing:-.015em;line-height:1.2}
.hds-lead{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.6;color:var(--on-d2);max-width:62ch}
.hds-sec--paper .hds-lead,.hds-sec--white .hds-lead{color:var(--text-2)}
.hds-note{font-size:.875rem;line-height:1.55;color:var(--on-d3);max-width:80ch}
.hds-sec--paper .hds-note,.hds-sec--white .hds-note{color:var(--text-3)}
.hds-muted{color:var(--on-d2)}

/* ---------- Sections ---------- */
.hds-sec{position:relative;padding-block:var(--sec)}
.hds-sec--tight{padding-block:clamp(48px,6vw,80px)}
.hds-sec--flush-top{padding-top:0}
.hds-sec--dark{background:var(--ink);color:var(--on-d)}
.hds-sec--ink{background:var(--ink-2);color:var(--on-d)}
.hds-sec--paper{background:var(--paper);color:var(--text)}
.hds-sec--white{background:var(--white);color:var(--text)}
.hds-sec--grad{background:radial-gradient(120% 140% at 0% 0%,#123a5c 0%,transparent 55%),radial-gradient(120% 140% at 100% 100%,#33176e 0%,transparent 55%),var(--ink);color:var(--on-d)}
.hds-head{margin-bottom:clamp(32px,4.5vw,56px);max-width:760px}
.hds-head--center{margin-inline:auto;text-align:center}
.hds-head--center .hds-lead{margin-inline:auto}
.hds-head--center .hds-eyebrow{justify-content:center}
.hds-head .hds-h2{margin-bottom:.45em}
.hds-head--row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hds-head--row > div{max-width:720px}

/* ---------- Boutons ---------- */
.hds-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hds-btn{--b-bg:var(--white);--b-fg:var(--ink);--b-bd:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:0 26px;border-radius:999px;
  border:1px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);font:600 1rem/1 var(--f-body);letter-spacing:-.005em;
  text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,border-color .25s,color .25s;white-space:nowrap}
.hds-btn:hover{transform:translateY(-1px)}
.hds-btn .hds-ico{width:1.15em;height:1.15em}
.hds-btn--primary{--b-bg:var(--grad-deep);--b-fg:#fff;background-size:140% 100%;background-position:0 0;box-shadow:0 8px 28px -10px rgba(58,151,255,.55)}
.hds-btn--primary:hover{background-position:100% 0;box-shadow:0 12px 34px -10px rgba(116,47,255,.6)}
.hds-btn--light{--b-bg:#fff;--b-fg:var(--ink)}
.hds-btn--light:hover{--b-bg:#eef0ff}
.hds-btn--ghost{--b-bg:transparent;--b-fg:currentColor;--b-bd:var(--line-d2)}
.hds-btn--ghost:hover{--b-bd:rgba(255,255,255,.45);--b-bg:rgba(255,255,255,.04)}
.hds-sec--paper .hds-btn--ghost,.hds-sec--white .hds-btn--ghost{--b-bd:#c9c6be}
.hds-sec--paper .hds-btn--ghost:hover,.hds-sec--white .hds-btn--ghost:hover{--b-bd:var(--text);--b-bg:rgba(0,0,0,.03)}
.hds-btn--dark{--b-bg:var(--ink);--b-fg:#fff}
.hds-btn--dark:hover{--b-bg:#24242f}
.hds-btn--wa{--b-bg:var(--wa);--b-fg:#06240f}
.hds-btn--wa:hover{--b-bg:#3ee07a}
.hds-btn--sm{min-height:42px;padding:0 18px;font-size:.92rem}
.hds-btn--block{width:100%}
.hds-link{display:inline-flex;align-items:center;gap:.4em;font-weight:600;text-decoration:none;color:inherit;border-bottom:1px solid currentColor;padding-bottom:2px;transition:gap .25s var(--ease)}
.hds-link:hover{gap:.7em}
.hds-link .hds-ico{width:1em;height:1em}
.hds-iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid var(--line-d2);color:var(--on-d);text-decoration:none;transition:background .2s,border-color .2s}
.hds-iconbtn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4)}
.hds-iconbtn--wa{color:var(--wa)}

/* ---------- Chips / prix ---------- */
.hds-chip{display:inline-flex;align-items:baseline;gap:.55em;padding:9px 14px;border-radius:999px;border:1px solid var(--line-d2);
  background:rgba(10,10,15,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-decoration:none;color:var(--on-d);font-size:.92rem;line-height:1.2;transition:border-color .2s,background .2s}
a.hds-chip:hover{border-color:rgba(255,255,255,.5);background:rgba(10,10,15,.65)}
.hds-chip__name{font:600 .78rem/1 var(--f-head);letter-spacing:.08em;text-transform:uppercase}
.hds-chip__price{color:var(--on-d2)}
.hds-chip__price strong{color:#fff;font-weight:600}
.hds-tag{display:inline-flex;align-items:center;gap:.4em;padding:5px 11px;border-radius:999px;font:600 .74rem/1.2 var(--f-body);letter-spacing:.04em;
  background:rgba(58,151,255,.12);color:#9cc8ff;border:1px solid rgba(58,151,255,.28)}
.hds-sec--paper .hds-tag,.hds-sec--white .hds-tag{background:#e9efff;color:#2448c9;border-color:#cfdaff}
.hds-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35em .5em;margin:0}
.hds-price__from{font-size:.85rem;color:var(--on-d2)}
.hds-price__value{font:600 clamp(1.5rem,2.4vw,2rem)/1 var(--f-head);letter-spacing:-.02em}
.hds-price__tax{font-size:.85rem;font-weight:600;color:var(--on-d2)}
.hds-price__note{flex-basis:100%;font-size:.84rem;color:var(--on-d3);line-height:1.45}
.hds-sec--paper .hds-price__from,.hds-sec--paper .hds-price__tax,.hds-sec--white .hds-price__from,.hds-sec--white .hds-price__tax{color:var(--text-2)}
.hds-sec--paper .hds-price__note,.hds-sec--white .hds-price__note{color:var(--text-3)}

/* ---------- Listes à coches ---------- */
.hds-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hds-checks li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.hds-checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:999px;
  background:var(--grad) center/100% no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23000'/%3E%3Cpath d='M6 10.4l2.6 2.6L14.2 7.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 0a10 10 0 110 20 10 10 0 010-20zm4.9 7.1a1 1 0 00-1.4-1.4L8.6 10.6 6.5 8.5a1 1 0 00-1.4 1.4l2.8 2.8a1 1 0 001.4 0l5.6-5.6z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat}
.hds-checks--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));column-gap:28px}

/* ==========================================================================
   EN-TÊTE
   ========================================================================== */
.hds-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--hh);color:var(--on-d);
  transition:background-color .35s var(--ease),border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
.hds-header::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,15,.72),rgba(10,10,15,0));pointer-events:none;transition:opacity .35s}
.hds-header.is-scrolled,.hds-header.is-solid,body.hds-menu-open .hds-header{background:rgba(10,10,15,.86);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom-color:var(--line-d)}
.hds-header.is-scrolled::before,.hds-header.is-solid::before{opacity:0}
.admin-bar .hds-header{top:32px}
@media (max-width:782px){.admin-bar .hds-header{top:46px}}
.hds-header__bar{position:relative;height:100%;display:flex;align-items:center;gap:28px}
.hds-logo{display:block;flex:none;line-height:0}
.hds-logo img{height:36px;width:auto}
.hds-nav{flex:1;display:flex;justify-content:center}
.hds-nav ul{list-style:none;margin:0;padding:0}
.hds-nav > ul{display:flex;align-items:center;gap:4px}
.hds-nav > ul > li{position:relative}
.hds-nav > ul > li > a{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:999px;font-size:.95rem;font-weight:500;color:var(--on-d);text-decoration:none;opacity:.88;transition:opacity .2s,background .2s}
.hds-nav > ul > li > a:hover,.hds-nav > ul > li:focus-within > a{opacity:1;background:rgba(255,255,255,.06)}
.hds-nav > ul > li.current-menu-item > a,.hds-nav > ul > li.current-menu-ancestor > a,.hds-nav > ul > li.current-page-ancestor > a{opacity:1}
.hds-nav > ul > li.current-menu-item > a::after,.hds-nav > ul > li.current-menu-ancestor > a::after,.hds-nav > ul > li.current-page-ancestor > a::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--grad)}
.hds-nav .menu-item-has-children > a::after{content:none}
.hds-nav .menu-item-has-children > a .hds-caret{width:14px;height:14px;opacity:.7;transition:transform .25s}
.hds-nav .menu-item-has-children:hover > a .hds-caret,.hds-nav .menu-item-has-children.is-open > a .hds-caret{transform:rotate(180deg)}
.hds-nav .sub-menu{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%,6px);min-width:340px;padding:10px;border-radius:var(--r);
  background:rgba(17,17,25,.97);border:1px solid var(--line-d2);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.hds-nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.hds-nav .menu-item-has-children:hover > .sub-menu,.hds-nav .menu-item-has-children:focus-within > .sub-menu,.hds-nav .menu-item-has-children.is-open > .sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.hds-nav .sub-menu a{display:block;padding:11px 14px;border-radius:10px;text-decoration:none;color:var(--on-d);font-weight:600;font-size:.95rem;line-height:1.3}
.hds-nav .sub-menu a:hover,.hds-nav .sub-menu .current-menu-item > a{background:rgba(255,255,255,.06)}
.hds-nav .sub-menu .hds-menu-desc{display:block;margin-top:3px;font-weight:400;font-size:.84rem;color:var(--on-d2)}
.hds-header__cta{display:flex;align-items:center;gap:10px;flex:none}
.hds-burger{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--line-d2);background:transparent;color:var(--on-d);cursor:pointer;place-items:center;padding:0}
.hds-burger span{display:block;width:18px;height:2px;margin:3px auto;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s}
body.hds-menu-open .hds-burger span:nth-child(1){transform:translateY(5px) rotate(45deg)}
body.hds-menu-open .hds-burger span:nth-child(2){opacity:0}
body.hds-menu-open .hds-burger span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

/* Menu mobile (panneau) */
.hds-mmenu{position:fixed;inset:var(--hh) 0 0 0;z-index:99;background:var(--ink);overflow-y:auto;padding:24px var(--gut) 120px;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .3s var(--ease),visibility .25s}
.admin-bar .hds-mmenu{top:calc(var(--hh) + 46px)}
body.hds-menu-open .hds-mmenu{opacity:1;visibility:visible;transform:none}
body.hds-menu-open{overflow:hidden}
.hds-mmenu ul{list-style:none;margin:0;padding:0}
.hds-mmenu > nav > ul > li{border-bottom:1px solid var(--line-d)}
.hds-mmenu > nav > ul > li > a{display:block;padding:16px 0;font:600 1.3rem/1.2 var(--f-head);text-decoration:none;color:var(--on-d)}
.hds-mmenu .sub-menu{padding:0 0 14px 2px}
.hds-mmenu .sub-menu a{display:block;padding:9px 0;text-decoration:none;color:var(--on-d2);font-weight:500}
.hds-mmenu .sub-menu .hds-menu-desc{display:none}
.hds-mmenu__cta{display:grid;gap:12px;margin-top:28px}

/* Barre d'action mobile (A2 / F3) */
.hds-mbar{display:none}

@media (max-width:1120px){
  .hds-nav{display:none}
  .hds-burger{display:grid}
  .hds-header__bar{justify-content:space-between}
  .hds-header__cta .hds-btn{display:none}
}
@media (min-width:1121px){.hds-mmenu{display:none}}
@media (max-width:760px){
  :root{--hh:64px}
  .hds-logo img{height:30px}
  .hds-header__cta .hds-iconbtn--wa{display:none}
  .hds-mbar{display:grid;grid-template-columns:auto 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:98;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(10,10,15,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line-d);
    transform:translateY(110%);transition:transform .35s var(--ease)}
  .hds-mbar.is-visible{transform:none}
  .hds-mbar .hds-btn{min-height:48px}
  .hds-mbar .hds-btn--wa{padding:0 18px}
  body{padding-bottom:0}
  .hds-footer{padding-bottom:84px}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hds-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--on-d);
  min-height:clamp(560px,92vh,880px);display:flex;align-items:flex-end;padding:calc(var(--hh) + 56px) 0 clamp(56px,8vw,104px)}
.hds-hero--page{min-height:clamp(460px,70vh,680px)}
.hds-hero--case{min-height:clamp(440px,64vh,620px)}
.hds-hero--compact{min-height:0;padding-top:calc(var(--hh) + clamp(48px,7vw,96px));padding-bottom:clamp(40px,6vw,72px)}
.hds-hero__media{position:absolute;inset:0;z-index:-2}
.hds-hero__media img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.hds-hero__shade{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(10,10,15,.92) 0%,rgba(10,10,15,.72) 38%,rgba(10,10,15,.18) 75%,rgba(10,10,15,.1) 100%),
             linear-gradient(0deg,rgba(10,10,15,.95) 0%,rgba(10,10,15,0) 45%)}
.hds-hero--compact .hds-hero__shade{background:radial-gradient(90% 120% at 100% 0%,rgba(116,47,255,.22),transparent 60%),radial-gradient(70% 120% at 0% 100%,rgba(20,217,255,.12),transparent 60%)}
.hds-hero__inner{position:relative;max-width:calc(var(--wrap) + 2*var(--gut))}
.hds-hero__content{max-width:760px}
.hds-hero__title{font-size:clamp(2.45rem,5.6vw,4.6rem);line-height:1.02;letter-spacing:-.035em;font-weight:600;margin-bottom:.38em}
.hds-hero--page .hds-hero__title,.hds-hero--case .hds-hero__title{font-size:clamp(2.2rem,4.8vw,3.9rem)}
.hds-hero--compact .hds-hero__title{font-size:clamp(2rem,4.2vw,3.3rem)}
.hds-hero__kicker{display:block;margin-bottom:.55em;font:600 clamp(.95rem,1.4vw,1.15rem)/1.3 var(--f-body);letter-spacing:.01em;color:var(--on-d2)}
.hds-hero__text{font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.6;color:#d5d5df;max-width:58ch;margin-bottom:28px}
.hds-hero__prices{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.hds-hero__price{margin:0 0 28px;padding:16px 20px;border-radius:var(--r);border:1px solid var(--line-d2);background:rgba(10,10,15,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:inline-block;max-width:100%}
.hds-hero__note{margin-top:18px;font-size:.86rem;color:var(--on-d2);display:flex;align-items:center;gap:.5em}
.hds-hero__note .hds-ico{color:var(--cyan)}
.hds-crumbs{margin-bottom:22px;font-size:.85rem;color:var(--on-d2)}
.hds-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.hds-crumbs li{display:flex;align-items:center;gap:6px}
.hds-crumbs li+li::before{content:"/";opacity:.45}
.hds-crumbs a{text-decoration:none;color:var(--on-d2)}
.hds-crumbs a:hover{color:#fff}
.hds-crumbs [aria-current]{color:var(--on-d)}

/* Motif « onde → silence » */
.hds-wave{position:absolute;left:0;right:0;bottom:0;height:64px;pointer-events:none;opacity:.55;z-index:0}
.hds-wave svg{width:100%;height:100%}
.hds-wave--top{top:0;bottom:auto;transform:scaleY(-1)}

/* ==========================================================================
   RÉFÉRENCES (logos)
   ========================================================================== */
.hds-logos{background:var(--ink);border-bottom:1px solid var(--line-d);padding:clamp(28px,4vw,44px) 0}
.hds-logos__inner{display:flex;align-items:center;gap:clamp(20px,4vw,48px)}
.hds-logos__title{flex:none;max-width:190px;margin:0;font-size:.84rem;line-height:1.4;color:var(--on-d2)}
.hds-logos__list{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px clamp(22px,3.4vw,46px)}
.hds-logos__list li{display:flex;align-items:center;height:40px}
.hds-logos__list img{max-height:30px;max-width:128px;width:auto;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.62;transition:opacity .25s}
.hds-logos__list li:hover img{opacity:1}
@media (max-width:860px){.hds-logos__inner{flex-direction:column;align-items:flex-start}.hds-logos__title{max-width:none}.hds-logos__list{justify-content:flex-start}}

/* ==========================================================================
   CARTES UNIVERS
   ========================================================================== */
.hds-cards{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.hds-cards--2{--cols:2}.hds-cards--3{--cols:3}.hds-cards--4{--cols:4}
@media (max-width:1024px){.hds-cards--3,.hds-cards--4{--cols:2}}
@media (max-width:680px){.hds-cards{--cols:1!important}}
.hds-ucard{position:relative;display:flex;flex-direction:column;border-radius:var(--r-l);overflow:hidden;background:var(--white);color:var(--text);
  border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.hds-sec--dark .hds-ucard,.hds-sec--ink .hds-ucard,.hds-sec--grad .hds-ucard{background:var(--ink-3);color:var(--on-d);border-color:var(--line-d)}
.hds-ucard:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(10,10,15,.06),0 30px 60px -24px rgba(10,10,15,.35)}
.hds-ucard__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink-3)}
.hds-ucard__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.hds-ucard:hover .hds-ucard__media img{transform:scale(1.04)}
.hds-ucard__badge{position:absolute;left:16px;top:16px}
.hds-ucard__badge .hds-tag{background:rgba(10,10,15,.72);color:#fff;border-color:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.hds-ucard__body{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.4vw,30px);flex:1}
.hds-ucard__name{font:600 .8rem/1 var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:#2E5BFF;margin:0}
.hds-sec--dark .hds-ucard__name,.hds-sec--ink .hds-ucard__name,.hds-sec--grad .hds-ucard__name{color:var(--cyan)}
.hds-ucard__title{font-size:clamp(1.3rem,1.9vw,1.6rem);letter-spacing:-.02em}
.hds-ucard__text{color:var(--text-2);margin:0}
.hds-sec--dark .hds-ucard__text,.hds-sec--ink .hds-ucard__text,.hds-sec--grad .hds-ucard__text{color:var(--on-d2)}
.hds-ucard .hds-checks{font-size:.95rem}
.hds-ucard__foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hds-sec--dark .hds-ucard__foot,.hds-sec--ink .hds-ucard__foot,.hds-sec--grad .hds-ucard__foot{border-top-color:var(--line-d)}
.hds-ucard__foot .hds-price{flex:1 1 auto}
.hds-ucard__cta{flex:none}
.hds-ucard__link{position:absolute;inset:0;z-index:1}
.hds-ucard__link:focus-visible{outline-offset:-3px;border-radius:var(--r-l)}
.hds-ucard__cta,.hds-ucard a:not(.hds-ucard__link){position:relative;z-index:2}

/* ==========================================================================
   TEXTE + IMAGE
   ========================================================================== */
.hds-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}
.hds-split--right .hds-split__media{order:2}
.hds-split__media{position:relative}
.hds-split__media img{width:100%;aspect-ratio:var(--ratio,4/5);object-fit:cover;border-radius:var(--r-l)}
.hds-split__media figcaption{margin-top:10px;font-size:.84rem;color:var(--on-d3)}
.hds-sec--paper .hds-split__media figcaption,.hds-sec--white .hds-split__media figcaption{color:var(--text-3)}
.hds-split__media::after{content:"";position:absolute;inset:auto -14px -14px auto;width:42%;height:42%;border-radius:var(--r-l);background:var(--grad);opacity:.22;z-index:-1;filter:blur(2px)}
.hds-split__body .hds-h2{margin-bottom:.5em}
.hds-split__text{color:var(--on-d2)}
.hds-sec--paper .hds-split__text,.hds-sec--white .hds-split__text{color:var(--text-2)}
.hds-split__text a{color:inherit}
.hds-split__body .hds-checks{margin:22px 0 4px}
.hds-split__body .hds-actions{margin-top:28px}
@media (max-width:900px){.hds-split{grid-template-columns:1fr}.hds-split--right .hds-split__media{order:0}.hds-split__media img{aspect-ratio:var(--ratio-m,4/3)}}

/* ==========================================================================
   ATOUTS (grille d'icônes)
   ========================================================================== */
.hds-features{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:1024px){.hds-features{--cols:2!important}}
@media (max-width:620px){.hds-features{--cols:1!important}}
.hds-feature{padding:clamp(22px,2.4vw,28px);border-radius:var(--r);border:1px solid var(--line-d);background:var(--ink-2)}
.hds-sec--ink .hds-feature{background:var(--ink-3)}
.hds-sec--paper .hds-feature{background:var(--white);border-color:var(--line)}
.hds-sec--white .hds-feature{background:var(--paper);border-color:transparent}
.hds-features--plain .hds-feature{background:transparent;border:0;padding:0}
.hds-feature__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;margin-bottom:18px;color:#fff;background:var(--grad-deep)}
.hds-feature__icon .hds-ico{width:22px;height:22px}
.hds-feature__title{font-size:1.12rem;line-height:1.3;letter-spacing:-.01em;margin-bottom:.45em}
.hds-feature__text{font-size:.97rem;color:var(--on-d2);margin:0}
.hds-sec--paper .hds-feature__text,.hds-sec--white .hds-feature__text{color:var(--text-2)}

/* ==========================================================================
   ÉTAPES (parcours)
   ========================================================================== */
.hds-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:hds-step;max-width:980px}
.hds-step{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:0 0 34px}
.hds-step:last-child{padding-bottom:0}
.hds-step::before{counter-increment:hds-step;content:counter(hds-step,decimal-leading-zero);display:grid;place-items:center;width:56px;height:56px;border-radius:999px;
  font:600 1rem/1 var(--f-head);color:#fff;background:var(--ink-3);border:1px solid var(--line-d2);position:relative;z-index:1}
.hds-step::after{content:"";position:absolute;left:27px;top:58px;bottom:2px;width:2px;background:linear-gradient(180deg,rgba(58,151,255,.6),rgba(116,47,255,.15))}
.hds-step:last-child::after{display:none}
.hds-step.is-key::before{background:var(--grad-deep);border-color:transparent}
.hds-sec--paper .hds-step::before,.hds-sec--white .hds-step::before{background:var(--white);color:var(--text);border-color:var(--line)}
.hds-sec--paper .hds-step.is-key::before,.hds-sec--white .hds-step.is-key::before{background:var(--grad-deep);color:#fff;border-color:transparent}
.hds-step__body{padding-top:12px}
.hds-step__title{font-size:clamp(1.12rem,1.6vw,1.3rem);letter-spacing:-.012em;margin-bottom:.35em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hds-step__text{color:var(--on-d2);margin:0;max-width:68ch}
.hds-sec--paper .hds-step__text,.hds-sec--white .hds-step__text{color:var(--text-2)}
.hds-steps--grid{max-width:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px 22px}
.hds-steps--grid .hds-step{grid-template-columns:1fr;gap:14px;padding:0}
.hds-steps--grid .hds-step::after{left:58px;right:-16px;top:27px;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,rgba(58,151,255,.6),rgba(116,47,255,.12))}
.hds-steps--grid .hds-step__body{padding-top:0}

/* ==========================================================================
   NIVEAUX D'ISOLATION
   ========================================================================== */
.hds-levels{display:grid;gap:clamp(14px,1.8vw,20px);grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}
@media (max-width:1024px){.hds-levels{--cols:2!important}}
@media (max-width:560px){.hds-levels{--cols:1!important}}
.hds-level{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);color:var(--text)}
.hds-sec--dark .hds-level,.hds-sec--ink .hds-level,.hds-sec--grad .hds-level{background:var(--ink-3);border-color:var(--line-d);color:var(--on-d)}
.hds-level.is-highlight{border-color:transparent;background:linear-gradient(var(--white),var(--white)) padding-box,var(--grad) border-box;border:1.5px solid transparent}
.hds-sec--dark .hds-level.is-highlight,.hds-sec--ink .hds-level.is-highlight{background:linear-gradient(var(--ink-3),var(--ink-3)) padding-box,var(--grad) border-box}
.hds-level__meter{display:flex;align-items:flex-end;gap:4px;height:26px}
.hds-level__meter span{width:7px;border-radius:2px;background:var(--line)}
.hds-sec--dark .hds-level__meter span,.hds-sec--ink .hds-level__meter span{background:var(--ink-4)}
.hds-level__meter span:nth-child(1){height:30%}.hds-level__meter span:nth-child(2){height:52%}.hds-level__meter span:nth-child(3){height:76%}.hds-level__meter span:nth-child(4){height:100%}
.hds-level__meter span.on{background:var(--grad-deep)}
.hds-level__name{font-size:1.3rem;letter-spacing:-.015em}
.hds-level__kicker{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#2E5BFF;margin:0}
.hds-sec--dark .hds-level__kicker,.hds-sec--ink .hds-level__kicker{color:var(--cyan)}
.hds-level__text{font-size:.96rem;color:var(--text-2);margin:0}
.hds-sec--dark .hds-level__text,.hds-sec--ink .hds-level__text{color:var(--on-d2)}
.hds-level__uses{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-size:.88rem;color:var(--text-2)}
.hds-sec--dark .hds-level__uses,.hds-sec--ink .hds-level__uses{border-top-color:var(--line-d2);color:var(--on-d2)}
.hds-level__uses b{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;color:var(--text-3)}
.hds-sec--dark .hds-level__uses b,.hds-sec--ink .hds-level__uses b{color:var(--on-d3)}
.hds-callout{display:flex;gap:14px;align-items:flex-start;margin-top:clamp(20px,3vw,32px);padding:18px 20px;border-radius:var(--r);background:rgba(58,151,255,.08);border:1px solid rgba(58,151,255,.22);font-size:.94rem;color:var(--on-d2)}
.hds-callout .hds-ico{color:var(--cyan);margin-top:2px}
.hds-sec--paper .hds-callout,.hds-sec--white .hds-callout{background:#eef2ff;border-color:#d3ddff;color:var(--text-2)}
.hds-sec--paper .hds-callout .hds-ico,.hds-sec--white .hds-callout .hds-ico{color:#2E5BFF}

/* ==========================================================================
   TABLEAU TECHNIQUE
   ========================================================================== */
.hds-tablewrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}
.hds-sec--dark .hds-tablewrap,.hds-sec--ink .hds-tablewrap{background:var(--ink-2);border-color:var(--line-d);box-shadow:none}
.hds-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.96rem;color:var(--text)}
.hds-sec--dark .hds-table,.hds-sec--ink .hds-table{color:var(--on-d)}
.hds-table caption{caption-side:bottom;text-align:left;padding:14px 18px;font-size:.84rem;color:var(--text-3)}
.hds-table th,.hds-table td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.hds-sec--dark .hds-table th,.hds-sec--dark .hds-table td,.hds-sec--ink .hds-table th,.hds-sec--ink .hds-table td{border-bottom-color:var(--line-d)}
.hds-table thead th{font:600 .74rem/1.3 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);background:var(--paper)}
.hds-sec--dark .hds-table thead th,.hds-sec--ink .hds-table thead th{background:var(--ink-3);color:var(--on-d2)}
.hds-table tbody th{font:600 1rem/1.3 var(--f-head);white-space:nowrap}
.hds-table tbody tr:last-child th,.hds-table tbody tr:last-child td{border-bottom:0}
.hds-table tbody tr:hover{background:rgba(58,151,255,.04)}
.hds-table td.is-num,.hds-table .hds-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.hds-table tbody th:first-child{position:sticky;left:0;background:inherit}
.hds-table .is-pending{color:var(--text-3);font-style:italic}

/* ==========================================================================
   GALERIE + VISIONNEUSE
   ========================================================================== */
.hds-gallery{display:grid;gap:12px;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,14vw,190px)}
.hds-gallery__item{position:relative;overflow:hidden;border-radius:var(--r-s);grid-column:span 4;grid-row:span 2;margin:0;background:var(--ink-3)}
.hds-gallery__item:nth-child(6n+1){grid-column:span 7;grid-row:span 3}
.hds-gallery__item:nth-child(6n+2){grid-column:span 5;grid-row:span 3}
.hds-gallery__item button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.hds-gallery__item button:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.hds-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.hds-gallery__item:hover img{transform:scale(1.04)}
.hds-gallery__item figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;font-size:.84rem;color:#fff;background:linear-gradient(0deg,rgba(10,10,15,.8),transparent);opacity:0;transition:opacity .3s}
.hds-gallery__item:hover figcaption,.hds-gallery__item:focus-within figcaption{opacity:1}
@media (max-width:760px){.hds-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:44vw}.hds-gallery__item,.hds-gallery__item:nth-child(6n+1),.hds-gallery__item:nth-child(6n+2){grid-column:span 1;grid-row:span 1}.hds-gallery__item:nth-child(3n+1){grid-column:span 2;grid-row:span 1}}
.hds-lightbox{border:0;padding:0;margin:auto;max-width:min(1400px,94vw);max-height:92vh;background:transparent;color:#fff;overflow:visible}
.hds-lightbox::backdrop{background:rgba(5,5,8,.92)}
.hds-lightbox img{max-width:100%;max-height:82vh;width:auto;margin:auto;border-radius:10px}
.hds-lightbox p{margin:12px 0 0;text-align:center;color:var(--on-d2);font-size:.9rem}
.hds-lightbox__close,.hds-lightbox__nav{position:fixed;top:16px;right:16px;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(10,10,15,.6);color:#fff;cursor:pointer;display:grid;place-items:center}
.hds-lightbox__nav{top:50%;transform:translateY(-50%)}
.hds-lightbox__nav--prev{left:16px;right:auto}
.hds-lightbox__nav--next{right:16px}

/* ==========================================================================
   RÉALISATIONS (cartes études de cas + autres références)
   ========================================================================== */
.hds-cases{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))}
@media (max-width:760px){.hds-cases{--cols:1!important}}
.hds-case{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(340px,34vw,460px);padding:clamp(22px,2.6vw,32px);border-radius:var(--r-l);overflow:hidden;color:#fff;text-decoration:none;background:var(--ink-3)}
.hds-case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.hds-case::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,15,.94) 0%,rgba(10,10,15,.55) 45%,rgba(10,10,15,.08) 100%)}
.hds-case:hover img{transform:scale(1.05)}
.hds-case__client{font:600 .8rem/1 var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 0 10px}
.hds-case__title{font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.02em;margin:0 0 10px;max-width:24ch}
.hds-case__text{color:#cfcfda;font-size:.97rem;margin:0 0 16px;max-width:52ch}
.hds-case__tags{display:flex;flex-wrap:wrap;gap:8px}
.hds-case__tags .hds-tag{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.hds-case__more{position:absolute;top:22px;right:22px;width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);transition:background .3s,transform .3s var(--ease)}
.hds-case:hover .hds-case__more{background:#fff;color:var(--ink);transform:rotate(-45deg)}
.hds-refs{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.hds-ref{margin:0;border-radius:var(--r);overflow:hidden;background:var(--white);border:1px solid var(--line);color:var(--text)}
.hds-sec--dark .hds-ref,.hds-sec--ink .hds-ref{background:var(--ink-3);border-color:var(--line-d);color:var(--on-d)}
.hds-ref img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hds-ref figcaption{padding:16px 18px 18px}
.hds-ref__meta{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:0 0 6px}
.hds-sec--dark .hds-ref__meta,.hds-sec--ink .hds-ref__meta{color:var(--on-d3)}
.hds-ref__title{font-size:1.08rem;margin:0 0 6px;letter-spacing:-.01em}
.hds-ref__text{font-size:.92rem;color:var(--text-2);margin:0}
.hds-sec--dark .hds-ref__text,.hds-sec--ink .hds-ref__text{color:var(--on-d2)}

/* ==========================================================================
   CHIFFRES / RÉASSURANCE
   ========================================================================== */
.hds-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));border-top:1px solid var(--line-d2);border-bottom:1px solid var(--line-d2)}
.hds-sec--paper .hds-stats,.hds-sec--white .hds-stats{border-color:var(--line)}
.hds-stat{padding:clamp(22px,3vw,34px) clamp(14px,2vw,24px);border-left:1px solid var(--line-d)}
.hds-stat:first-child{border-left:0;padding-left:0}
.hds-sec--paper .hds-stat,.hds-sec--white .hds-stat{border-left-color:var(--line)}
.hds-stat__value{display:block;font:600 clamp(1.7rem,3vw,2.5rem)/1.05 var(--f-head);letter-spacing:-.03em;margin-bottom:8px}
.hds-stat__value.hds-grad-text{padding-bottom:2px}
.hds-stat__label{display:block;font-size:.93rem;color:var(--on-d2);line-height:1.45}
.hds-sec--paper .hds-stat__label,.hds-sec--white .hds-stat__label{color:var(--text-2)}
@media (max-width:620px){.hds-stat{border-left:0;padding-left:0;border-top:1px solid var(--line-d)}.hds-stat:first-child{border-top:0}}

/* ==========================================================================
   FAQ (accordéon <details>)
   ========================================================================== */
.hds-faq{max-width:920px}
.hds-faq--center{margin-inline:auto}
.hds-faq__group{font:600 .8rem/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#2E5BFF;margin:42px 0 10px}
.hds-sec--dark .hds-faq__group,.hds-sec--ink .hds-faq__group{color:var(--cyan)}
.hds-faq__group:first-child{margin-top:0}
.hds-qa{border-bottom:1px solid var(--line)}
.hds-sec--dark .hds-qa,.hds-sec--ink .hds-qa{border-bottom-color:var(--line-d2)}
.hds-qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font:600 clamp(1.02rem,1.4vw,1.15rem)/1.4 var(--f-head);letter-spacing:-.01em}
.hds-qa summary::-webkit-details-marker{display:none}
.hds-qa summary::after{content:"";flex:none;width:30px;height:30px;border-radius:999px;border:1px solid var(--line);
  background:center/14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1v12M1 7h12' stroke='%232E5BFF' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");transition:transform .3s var(--ease),background-color .3s}
.hds-sec--dark .hds-qa summary::after,.hds-sec--ink .hds-qa summary::after{border-color:var(--line-d2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1v12M1 7h12' stroke='%2314D9FF' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.hds-qa[open] summary::after{transform:rotate(45deg)}
.hds-qa__a{padding:0 50px 24px 0;color:var(--text-2);max-width:72ch}
.hds-sec--dark .hds-qa__a,.hds-sec--ink .hds-qa__a{color:var(--on-d2)}
.hds-qa__a a{color:inherit;font-weight:600}
.hds-faq__more{margin-top:32px}

/* ==========================================================================
   BANDEAU D'APPEL À L'ACTION (A3)
   ========================================================================== */
.hds-cta{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(72px,10vw,132px);background:var(--ink);color:#fff}
.hds-cta__bg{position:absolute;inset:0;z-index:-2}
.hds-cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.35}
.hds-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 120% at 0% 100%,rgba(20,217,255,.28),transparent 60%),radial-gradient(70% 120% at 100% 0%,rgba(116,47,255,.42),transparent 60%),linear-gradient(0deg,rgba(10,10,15,.55),rgba(10,10,15,.55))}
.hds-cta__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:end}
.hds-cta__title{font-size:clamp(1.9rem,4vw,3.2rem);letter-spacing:-.03em;line-height:1.05}
.hds-cta__text{margin-top:18px;font-size:clamp(1.02rem,1.3vw,1.15rem);color:#d6d6e0;max-width:56ch}
.hds-cta__side{display:grid;gap:14px;justify-items:start}
.hds-cta__delay{display:flex;align-items:center;gap:.55em;font-size:.92rem;color:#d6d6e0;margin:4px 0 0}
.hds-cta__delay .hds-ico{color:var(--cyan)}
@media (max-width:860px){.hds-cta__inner{grid-template-columns:1fr}}

/* ==========================================================================
   BOÎTE DANS LA BOÎTE (schéma)
   ========================================================================== */
.hds-bib{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.hds-bib__figure{position:relative;margin:0;padding:clamp(18px,3vw,32px);border-radius:var(--r-l);background:radial-gradient(80% 80% at 50% 40%,rgba(58,151,255,.12),transparent 70%),var(--ink-2);border:1px solid var(--line-d)}
.hds-bib__figure svg{width:100%;height:auto}
.hds-bib__figure figcaption{margin-top:12px;font-size:.82rem;color:var(--on-d3);text-align:center}
.hds-bib__points{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px}
.hds-bib__points li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px}
.hds-bib__num{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--grad-deep);color:#fff;font:600 .85rem/1 var(--f-head)}
.hds-bib__points h3{font-size:1.06rem;margin:4px 0 4px;letter-spacing:-.01em}
.hds-bib__points p{margin:0;color:var(--on-d2);font-size:.96rem}
@media (max-width:960px){.hds-bib{grid-template-columns:1fr}}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.hds-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,32px);align-items:start}
@media (max-width:900px){.hds-contact{grid-template-columns:1fr}}
.hds-ccards{display:grid;gap:14px}
.hds-ccard{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:border-color .2s,transform .3s var(--ease)}
a.hds-ccard:hover{border-color:#9db4ff;transform:translateY(-2px)}
.hds-sec--dark .hds-ccard,.hds-sec--ink .hds-ccard{background:var(--ink-3);border-color:var(--line-d);color:var(--on-d)}
.hds-ccard__icon{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--grad-deep);color:#fff}
.hds-ccard__icon--wa{background:var(--wa);color:#06240f}
.hds-ccard__k{display:block;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}
.hds-sec--dark .hds-ccard__k,.hds-sec--ink .hds-ccard__k{color:var(--on-d3)}
.hds-ccard__v{display:block;font:600 1.08rem/1.35 var(--f-head);letter-spacing:-.01em}
.hds-ccard__d{display:block;margin-top:4px;font-size:.92rem;color:var(--text-2)}
.hds-sec--dark .hds-ccard__d,.hds-sec--ink .hds-ccard__d{color:var(--on-d2)}
.hds-ccard--primary{background:var(--grad-deep);border-color:transparent;color:#fff}
.hds-ccard--primary .hds-ccard__icon{background:rgba(255,255,255,.18)}
.hds-ccard--primary .hds-ccard__k,.hds-ccard--primary .hds-ccard__d{color:rgba(255,255,255,.82)}
.hds-place{border-radius:var(--r);overflow:hidden;background:var(--white);border:1px solid var(--line);color:var(--text)}
.hds-sec--dark .hds-place,.hds-sec--ink .hds-place{background:var(--ink-3);border-color:var(--line-d);color:var(--on-d)}
.hds-place img{width:100%;aspect-ratio:16/10;object-fit:cover}
.hds-place__body{padding:24px}
.hds-place__body h3{font-size:1.2rem;margin-bottom:8px}
.hds-place__body p{color:var(--text-2);font-size:.96rem}
.hds-sec--dark .hds-place__body p,.hds-sec--ink .hds-place__body p{color:var(--on-d2)}

/* ==========================================================================
   TEXTE RICHE (pages légales, articles, études de cas)
   ========================================================================== */
.hds-prose{max-width:760px;font-size:1.06rem;line-height:1.75}
.hds-prose--center{margin-inline:auto}
.hds-prose > *{margin-block:0}
.hds-prose > *+*{margin-top:1.1em}
.hds-prose h2{font-size:clamp(1.5rem,2.4vw,1.95rem);margin-top:2em;letter-spacing:-.022em}
.hds-prose h3{font-size:clamp(1.18rem,1.7vw,1.35rem);margin-top:1.7em}
.hds-prose h2+*,.hds-prose h3+*{margin-top:.6em}
.hds-prose ul,.hds-prose ol{padding-left:1.25em;margin-bottom:0}
.hds-prose li+li{margin-top:.4em}
.hds-prose a{color:#2E5BFF;text-underline-offset:3px}
.hds-sec--dark .hds-prose a,.hds-sec--ink .hds-prose a{color:#8fc2ff}
.hds-prose img{border-radius:var(--r-s);margin-block:1.6em}
.hds-prose figure{margin:1.6em 0}
.hds-prose figcaption{font-size:.86rem;color:var(--text-3);margin-top:8px}
.hds-prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid;border-image:var(--grad) 1;font-size:1.12rem}
.hds-prose table{width:100%;border-collapse:collapse;font-size:.95rem}
.hds-prose th,.hds-prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}
.hds-sec--paper .hds-prose,.hds-sec--white .hds-prose{color:var(--text-2)}
.hds-sec--paper .hds-prose h2,.hds-sec--paper .hds-prose h3,.hds-sec--white .hds-prose h2,.hds-sec--white .hds-prose h3,.hds-sec--paper .hds-prose strong,.hds-sec--white .hds-prose strong{color:var(--text)}
.hds-sec--dark .hds-prose,.hds-sec--ink .hds-prose{color:var(--on-d2)}
.hds-sec--dark .hds-prose h2,.hds-sec--dark .hds-prose h3,.hds-sec--dark .hds-prose strong{color:var(--on-d)}

/* ==========================================================================
   ÉTUDE DE CAS (récit + faits)
   ========================================================================== */
.hds-story{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
@media (max-width:900px){.hds-story{grid-template-columns:1fr}}
.hds-facts{position:sticky;top:calc(var(--hh) + 24px);margin:0;padding:24px;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}
.hds-sec--dark .hds-facts,.hds-sec--ink .hds-facts{background:var(--ink-3);border-color:var(--line-d)}
.hds-facts div{padding:12px 0;border-bottom:1px solid var(--line)}
.hds-sec--dark .hds-facts div,.hds-sec--ink .hds-facts div{border-bottom-color:var(--line-d)}
.hds-facts div:first-child{padding-top:0}
.hds-facts div:last-child{border-bottom:0;padding-bottom:0}
.hds-facts dt{font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.hds-sec--dark .hds-facts dt,.hds-sec--ink .hds-facts dt{color:var(--on-d3)}
.hds-facts dd{margin:4px 0 0;font:600 1.02rem/1.4 var(--f-head)}
.hds-chapters{display:grid;gap:clamp(36px,5vw,56px)}
.hds-chapter__kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 10px;font:600 .78rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#2E5BFF}
.hds-sec--dark .hds-chapter__kicker,.hds-sec--ink .hds-chapter__kicker{color:var(--cyan)}
.hds-chapter__kicker span{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--grad-deep);color:#fff;font-size:.75rem;letter-spacing:0}
.hds-chapter__title{font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.02em;margin-bottom:.55em}
.hds-chapter .hds-prose{max-width:none}

/* ==========================================================================
   GUIDE PAR USAGE (E4)
   ========================================================================== */
.hds-guide{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.hds-guide__item{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);color:var(--text)}
.hds-sec--dark .hds-guide__item,.hds-sec--ink .hds-guide__item{background:var(--ink-3);border-color:var(--line-d);color:var(--on-d)}
.hds-guide__head{display:flex;align-items:center;gap:14px}
.hds-guide__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--grad-deep);color:#fff;flex:none}
.hds-guide__title{font-size:1.15rem;letter-spacing:-.01em}
.hds-guide__ex{font-size:.88rem;color:var(--text-3);margin:2px 0 0}
.hds-sec--dark .hds-guide__ex,.hds-sec--ink .hds-guide__ex{color:var(--on-d3)}
.hds-guide__text{font-size:.96rem;color:var(--text-2);margin:0}
.hds-sec--dark .hds-guide__text,.hds-sec--ink .hds-guide__text{color:var(--on-d2)}
.hds-guide__rows{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:8px;font-size:.9rem}
.hds-sec--dark .hds-guide__rows,.hds-sec--ink .hds-guide__rows{border-top-color:var(--line-d)}
.hds-guide__rows div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px}
.hds-guide__rows dt{color:var(--text-3);font-weight:500}
.hds-sec--dark .hds-guide__rows dt,.hds-sec--ink .hds-guide__rows dt{color:var(--on-d3)}
.hds-guide__rows dd{margin:0;font-weight:600}

/* ==========================================================================
   VIDÉO (emplacement réservé E5)
   ========================================================================== */
.hds-video{position:relative;border-radius:var(--r-l);overflow:hidden;background:var(--ink-3);aspect-ratio:16/9}
.hds-video img,.hds-video iframe,.hds-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.hds-video__play{position:absolute;inset:0;display:grid;place-items:center;border:0;background:linear-gradient(0deg,rgba(10,10,15,.55),rgba(10,10,15,.15));color:#fff;cursor:pointer;width:100%}
.hds-video__play span{display:grid;place-items:center;width:84px;height:84px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);transition:transform .3s var(--ease),background .3s}
.hds-video__play:hover span{transform:scale(1.06);background:rgba(255,255,255,.24)}
.hds-video__soon{position:absolute;left:20px;bottom:20px;right:20px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:600}
.hds-video__cap{margin-top:12px;font-size:.88rem;color:var(--on-d3)}
.hds-sec--paper .hds-video__cap,.hds-sec--white .hds-video__cap{color:var(--text-3)}

/* ==========================================================================
   ÉQUIPE
   ========================================================================== */
.hds-team{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.hds-member{margin:0}
.hds-member img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);filter:grayscale(.15)}
.hds-member figcaption{margin-top:14px}
.hds-member__name{display:block;font:600 1.15rem/1.3 var(--f-head)}
.hds-member__role{display:block;font-size:.93rem;color:var(--on-d2)}
.hds-sec--paper .hds-member__role,.hds-sec--white .hds-member__role{color:var(--text-2)}

/* ==========================================================================
   FORMULAIRES — primitives (le module devis complète dans hds-forms.css)
   ========================================================================== */
.hds-field{display:grid;gap:8px;margin:0}
.hds-label{font-weight:600;font-size:.95rem;line-height:1.35}
.hds-label small{font-weight:400;color:var(--text-3)}
.hds-input,.hds-select,.hds-textarea{width:100%;min-height:52px;padding:13px 16px;border-radius:12px;border:1px solid #cfccc4;background:#fff;color:var(--text);font-size:1rem;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.hds-textarea{min-height:130px;resize:vertical}
.hds-input:focus,.hds-select:focus,.hds-textarea:focus{outline:0;border-color:#2E5BFF;box-shadow:0 0 0 4px rgba(46,91,255,.15)}
.hds-input[aria-invalid="true"],.hds-select[aria-invalid="true"],.hds-textarea[aria-invalid="true"]{border-color:#c4372b}
.hds-help{font-size:.85rem;color:var(--text-3)}
.hds-error{font-size:.86rem;color:#b3261e;font-weight:500}
.hds-choices{display:flex;flex-wrap:wrap;gap:10px;border:0;margin:0;padding:0}
.hds-choices legend{padding:0;margin-bottom:10px}
.hds-choice{position:relative}
.hds-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.hds-choice span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:12px;border:1px solid #cfccc4;background:#fff;color:var(--text);font-size:.95rem;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.hds-choice input:hover+span{border-color:#8f8c84}
.hds-choice input:focus-visible+span{box-shadow:0 0 0 4px rgba(46,91,255,.2);border-color:#2E5BFF}
.hds-choice input:checked+span{border-color:#2E5BFF;background:#eef2ff;box-shadow:inset 0 0 0 1px #2E5BFF}
.hds-consent{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--text-2);line-height:1.5}
.hds-consent input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:#2E5BFF}
.hds-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ==========================================================================
   PIED DE PAGE
   ========================================================================== */
.hds-footer{position:relative;background:#07070B;color:var(--on-d2);border-top:1px solid var(--line-d);font-size:.95rem}
.hds-footer__top{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,.8fr)) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);padding-block:clamp(56px,7vw,88px) clamp(40px,5vw,56px)}
@media (max-width:1024px){.hds-footer__top{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.hds-footer__top{grid-template-columns:1fr}}
.hds-footer__brand img{height:34px;width:auto;margin-bottom:18px}
.hds-footer__brand p{max-width:40ch;line-height:1.6}
.hds-footer__social{display:flex;gap:10px;margin-top:20px}
.hds-footer h2{font:600 .78rem/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--on-d);margin:4px 0 16px}
.hds-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hds-footer a{text-decoration:none;color:var(--on-d2);transition:color .2s}
.hds-footer a:hover{color:#fff}
.hds-footer__contact{display:grid;gap:12px}
.hds-footer__contact .hds-btn{justify-self:start;margin-bottom:6px}
.hds-footer__contact p{margin:0;display:flex;gap:10px;align-items:flex-start}
.hds-footer__contact .hds-ico{margin-top:3px;color:var(--on-d3)}
.hds-footer__bottom{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;padding-block:22px;border-top:1px solid var(--line-d);font-size:.85rem;color:var(--on-d3)}
.hds-footer__bottom ul{display:flex;flex-wrap:wrap;gap:8px 20px}
.hds-footer__bottom button{all:unset;cursor:pointer;color:var(--on-d2)}
.hds-footer__bottom button:hover{color:#fff}

/* ==========================================================================
   BLOG / GABARITS THÈME
   ========================================================================== */
.hds-posts{display:grid;gap:clamp(18px,2vw,26px);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.hds-post{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:var(--white);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s}
.hds-post:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.hds-post__media{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.hds-post__media img{width:100%;height:100%;object-fit:cover}
.hds-post__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.hds-post__meta{font-size:.8rem;color:var(--text-3);font-weight:500;letter-spacing:.02em}
.hds-post__title{font-size:1.2rem;line-height:1.3;letter-spacing:-.015em}
.hds-post__excerpt{font-size:.95rem;color:var(--text-2);margin:0}
.hds-post__more{margin-top:auto;padding-top:8px;font-weight:600;font-size:.92rem;color:#2E5BFF;display:inline-flex;gap:.4em;align-items:center}
.hds-pagination{margin-top:44px;display:flex;justify-content:center;gap:8px}
.hds-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--text)}
.hds-pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.hds-single-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.9rem;color:var(--on-d2)}
.hds-404{min-height:70vh;display:grid;place-items:center;text-align:center;padding:calc(var(--hh) + 60px) var(--gut) 80px}
.hds-404 .hds-h2{margin-bottom:.4em}

/* ==========================================================================
   BANDEAU COOKIES (H2 — discret, non bloquant)
   ========================================================================== */
.hds-cookie{position:fixed;left:16px;bottom:16px;z-index:120;max-width:420px;padding:18px 18px 16px;border-radius:var(--r);background:rgba(17,17,25,.97);border:1px solid var(--line-d2);color:var(--on-d2);font-size:.9rem;line-height:1.5;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.hds-cookie p{margin:0 0 12px}
.hds-cookie .hds-actions{gap:8px}
.hds-cookie .hds-btn{min-height:40px;padding:0 16px;font-size:.88rem}
@media (max-width:760px){.hds-cookie{left:10px;right:10px;bottom:84px;max-width:none}}

/* ==========================================================================
   Apparition douce (si mouvement autorisé)
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  .hds-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .hds-js [data-reveal].is-in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Éditeur Elementor : garder les blocs lisibles sous l'en-tête fixe */
.elementor-editor-active .hds-header{position:absolute}

/* ==========================================================================
   Correctifs d'intégration (relecture du 06/11)
   ========================================================================== */
/* En-tête : libellés sur une ligne, bouton court entre 1200 et 1360 px */
.hds-nav > ul{gap:2px}
.hds-nav > ul > li > a{white-space:nowrap;padding:10px 10px;font-size:.93rem}
.hds-header__devis .hds-s{display:none}
@media (max-width:1360px){.hds-header__devis .hds-l{display:none}.hds-header__devis .hds-s{display:inline}}
@media (max-width:1199px){
  .hds-nav{display:none}
  .hds-burger{display:grid}
  .hds-header__bar{justify-content:space-between}
  .hds-header__cta .hds-header__devis{display:none}
  .hds-mmenu{display:block}
}
@media (min-width:1200px){.hds-mmenu{display:none}}
/* Pied de page : les boutons gardent leurs couleurs */
.hds-footer a.hds-btn,.hds-footer a.hds-btn:hover{color:var(--b-fg)}
/* Tableaux : 1re colonne figée opaque + repère de défilement sur mobile */
.hds-table tbody th:first-child{background:var(--white)}
.hds-sec--dark .hds-table tbody th:first-child,.hds-sec--ink .hds-table tbody th:first-child{background:var(--ink-2)}
.hds-table tbody tr:hover th:first-child{background:#f3f6ff}
.hds-sec--dark .hds-table tbody tr:hover th:first-child,.hds-sec--ink .hds-table tbody tr:hover th:first-child{background:#151b2b}
@media (max-width:760px){
  .hds-table{min-width:0;width:max-content}
  .hds-table th,.hds-table td{min-width:132px;max-width:230px;padding:13px 14px}
  .hds-table tbody th:first-child{min-width:96px;box-shadow:6px 0 10px -6px rgba(10,10,15,.25)}
  .hds-tablewrap::after{content:"Faites glisser le tableau →";display:block;position:sticky;left:0;padding:10px 14px;font-size:.8rem;color:var(--text-3);border-top:1px solid var(--line)}
  .hds-sec--dark .hds-tablewrap::after,.hds-sec--ink .hds-tablewrap::after{color:var(--on-d3);border-top-color:var(--line-d)}
}
/* Compléments des blocs Elementor HDS (logos, univers, split, features, steps, levels, table, gallery, cases, refs). */

/* Cartes univers : le libellé « Découvrir » laisse passer le clic vers le lien qui couvre toute la carte. */
.hds-ucard__cta{pointer-events:none}
.hds-ucard:hover .hds-ucard__cta{gap:.7em}

/* Niveaux : compteur à 3 barres (niveaux PRO) ou 2 barres. */
.hds-level__meter--3 span:nth-child(1){height:40%}
.hds-level__meter--3 span:nth-child(2){height:70%}
.hds-level__meter--3 span:nth-child(3){height:100%}
.hds-level__meter--2 span:nth-child(1){height:55%}
.hds-level__meter--2 span:nth-child(2){height:100%}

/* Texte + photo sans photo : une seule colonne de lecture. */
.hds-split:not(:has(> .hds-split__media)){grid-template-columns:minmax(0,1fr);max-width:820px}

/* Logos : hauteur optique calculée par logo (--lh), rendu monochrome homogène (H4) */
.hds-logos__list li{height:48px}
.hds-logos .hds-logos__list img{height:var(--lh,30px);width:var(--lw,auto);max-height:none;max-width:160px;object-fit:contain;opacity:.7}
@media (max-width:620px){.hds-logos__list{gap:18px 26px}.hds-logos .hds-logos__list img{height:calc(var(--lh,30px)*.82);width:calc(var(--lw,90px)*.82)}}
/* ==========================================================================
   Compléments des blocs : repères, FAQ, boîte dans la boîte, contact, texte libre,
   récit d'étude de cas, guide par usage, vidéo, équipe (à fusionner dans hds.css avant mise en ligne)
   ========================================================================== */

/* Repères : sur fond clair, dégradé profond (contraste AA grand texte) */
.hds-sec--paper .hds-stat__value.hds-grad-text,.hds-sec--white .hds-stat__value.hds-grad-text{background-image:var(--grad-deep)}
.hds-stats + .hds-note{margin-top:20px}

/* FAQ : bouton centré sous une liste centrée */
.hds-faq--center .hds-faq__more{display:flex;justify-content:center}

/* Boîte dans la boîte : textes lisibles sur fond clair ; sur mobile, pastilles agrandies et libellés masqués (repris dans la liste) */
.hds-sec--paper .hds-bib__points p,.hds-sec--white .hds-bib__points p{color:var(--text-2)}
@media (max-width:560px){
  .hds-bib__figure{padding:12px}
  .hds-bib__lbl,.hds-bib__ctx{display:none}
  .hds-bib__mk{transform-box:fill-box;transform-origin:center;transform:scale(1.7)}
}

/* Texte libre centré : en-tête aligné sur la colonne de texte */
.hds-rich--center .hds-head{max-width:760px;margin-inline:auto}

/* Récit sans fiche de faits : chapitres sur toute la largeur */
.hds-story > .hds-chapters:first-child{grid-column:1/-1}

/* Vidéo : message d'attente lisible sur n'importe quelle image */
.hds-video__soon{right:auto;max-width:calc(100% - 40px);padding:10px 16px;border-radius:999px;background:rgba(10,10,15,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.95rem;line-height:1.3}
.hds-video__soon .hds-ico{color:var(--cyan)}

/* Équipe : pastille quand le portrait manque */
.hds-member__ph{display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:var(--r);background:var(--grad-deep);color:#fff;font:600 clamp(2.4rem,5vw,3.6rem)/1 var(--f-head)}
.hds-mmenu[hidden]{display:none!important}

/* ==========================================================================
   Relecture DA du 06/11 (2) — rendu ordinateur et mobile
   ========================================================================== */
/* Elementor impose « .elementor img{height:auto;max-width:100%} » (même spécificité, chargé après hds.css) :
   les images « couverture » ne remplissaient plus leur cadre (hero, cartes, galerie, bandeau CTA, vidéo). */
.elementor .hds-hero__media img,.elementor .hds-ucard__media img,.elementor .hds-gallery__item img,
.elementor .hds-case img,.elementor .hds-video img,.elementor .hds-cta__bg img{height:100%;max-width:none}

/* Parcours en grille : titres alignés en haut (les étapes plus courtes ne sont plus « centrées » dans la rangée),
   colonnes adaptées au nombre d'étapes (pas d'étape orpheline), pas de trait de liaison en fin de rangée. */
.hds-steps--grid .hds-step{align-content:start}
@media (min-width:640px) and (max-width:1099px){
  .hds-steps--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hds-steps--grid > .hds-step:nth-child(2n)::after{display:none}
  .hds-steps--grid > .hds-step:last-child:nth-child(odd){grid-column:1/-1}
}
@media (min-width:1100px){
  .hds-steps--grid:has(> .hds-step:nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}
  .hds-steps--grid:has(> .hds-step:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
  .hds-steps--grid:has(> .hds-step:nth-child(6):last-child) > .hds-step:nth-child(3n)::after{display:none}
  .hds-steps--grid:has(> .hds-step:nth-child(7):last-child),.hds-steps--grid:has(> .hds-step:nth-child(8):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
  .hds-steps--grid:has(> .hds-step:nth-child(7):last-child) > .hds-step:nth-child(4n)::after,
  .hds-steps--grid:has(> .hds-step:nth-child(8):last-child) > .hds-step:nth-child(4n)::after{display:none}
}

/* Repères : valeurs d'un seul mot (« Marcoussis ») entièrement visibles dans 5 colonnes */
.hds-stat__value{font-size:clamp(1.6rem,2.2vw,2.15rem)}

/* Boîte dans la boîte : respiration entre le titre et le texte */
.hds-bib .hds-h2{margin-bottom:.5em}

/* Texte + photo : le halo décoratif reste derrière la photo, pas derrière la légende */
.hds-split__media:has(> figcaption)::after{bottom:18px}
@media (max-width:900px){.hds-split__media::after{display:none}}

/* Niveaux : sous-grille — sur-titres, noms, textes et « usages » alignés d'une carte à l'autre */
@supports (grid-template-rows:subgrid){
  .hds-levels--sub{row-gap:0}
  .hds-levels--sub .hds-level{display:grid;grid-row:span var(--rows,5);grid-template-rows:subgrid;row-gap:12px;align-content:start;margin-bottom:clamp(14px,1.8vw,20px)}
  .hds-levels--sub .hds-level__uses{margin-top:0;align-self:end}
}

/* ==========================================================================
   Relecture DA du 06/11 (3) — mobile, contrastes sur photo, grilles orphelines
   ========================================================================== */
/* Bouton menu : trois traits resserrés et croix centrée à l'ouverture (les lignes de la grille s'étiraient sur 44 px) */
.hds-burger{align-content:center}
.hds-burger span{margin:2px auto}
body.hds-menu-open .hds-burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.hds-menu-open .hds-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Barre d'action mobile : les deux boutons tiennent dans 360-390 px (le bouton devis débordait de 7 px) */
@media (max-width:760px){
  .hds-mbar{grid-template-columns:auto minmax(0,1fr)}
  .hds-mbar .hds-btn{padding:0 16px;min-width:0}
}
@media (max-width:380px){.hds-mbar .hds-btn--primary .hds-ico{display:none}}

/* Hero sur mobile et tablette : le texte occupe toute la largeur, voile vertical plus dense pour rester lisible sur les zones claires de la photo */
@media (max-width:900px){
  .hds-hero:not(.hds-hero--compact) .hds-hero__shade{background:linear-gradient(180deg,rgba(10,10,15,.5) 0%,rgba(10,10,15,.68) 26%,rgba(10,10,15,.86) 56%,rgba(10,10,15,.96) 100%)}
}

/* Cartes études de cas : voile renforcé sous le client et le titre ; sur mobile, carte plus haute pour laisser voir la photo au-dessus du texte */
.hds-case::before{background:linear-gradient(0deg,rgba(10,10,15,.95) 0%,rgba(10,10,15,.82) 42%,rgba(10,10,15,.38) 72%,rgba(10,10,15,.1) 100%)}
@media (max-width:760px){
  .hds-case{min-height:440px}
  .hds-case::before{background:linear-gradient(0deg,rgba(10,10,15,.97) 0%,rgba(10,10,15,.9) 52%,rgba(10,10,15,.5) 74%,rgba(10,10,15,.1) 100%)}
}

/* Fiche PDF : en-tête et formulaire côte à côte sur grand écran (la carte laissait 40 % de la section vide) */
@media (min-width:1024px){
  .hds-wrap:has(> .hds-head:not(.hds-head--center) + .hds-fiche){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:clamp(40px,6vw,88px);align-items:center}
  .hds-wrap > .hds-head:not(.hds-head--center):has(+ .hds-fiche){margin-bottom:0}
}

/* Tableaux sur mobile : repère de défilement en tête (visible avant la lecture) et légende maintenue dans la zone visible */
@media (max-width:760px){
  .hds-tablewrap::after{content:none}
  .hds-tablewrap::before{content:"Faites glisser le tableau \2192";display:block;position:sticky;left:0;width:max-content;padding:10px 14px;font-size:.8rem;color:var(--text-3)}
  .hds-sec--dark .hds-tablewrap::before,.hds-sec--ink .hds-tablewrap::before{color:var(--on-d3)}
  .hds-table caption{position:sticky;left:0;max-width:calc(100vw - 2*var(--gut) - 2px);border-top:1px solid var(--line)}
}

/* Galerie : pas de photo orpheline (photo unique pleine largeur ; dernière photo seule sur mobile en pleine largeur) */
@media (min-width:761px){
  .hds-gallery__item:only-child{grid-column:1/-1;grid-row:span 3}
  .hds-gallery__item:nth-child(6n+3):last-child{grid-column:1/-1}
  .hds-gallery__item:nth-child(6n+3):nth-last-child(2),.hds-gallery__item:nth-child(6n+4):last-child{grid-column:span 6}
}
@media (max-width:760px){.hds-gallery__item:last-child:nth-child(3n+2){grid-column:span 2}}

/* Atouts sur mobile : pictogramme à gauche du titre, cartes plus compactes (listes de 6 à 8 atouts moins longues à parcourir) */
@media (max-width:620px){
  .hds-feature:has(> .hds-feature__icon){display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:16px;align-items:start}
  .hds-feature:has(> .hds-feature__icon) .hds-feature__icon{width:42px;height:42px;margin:0;grid-row:1/span 2}
  .hds-feature:has(> .hds-feature__icon) .hds-feature__title{margin-top:9px}
  .hds-feature:has(> .hds-feature__icon) .hds-feature__text{grid-column:2}
}

/* Logos : grille régulière (10 logos = 2 rangées de 5 ; mobile = 2 colonnes) au lieu d'une 2e rangée étirée aux extrémités */
@media (min-width:861px){
  .hds-logos__list{justify-content:center}
  .hds-logos__list:has(> li:nth-child(10):last-child){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center}
}
@media (max-width:620px){
  .hds-logos__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
  .hds-logos .hds-logos__list img{max-width:100%}
}

/* Récit sans fiche de faits (Notre histoire) : deux colonnes de lecture au lieu de lignes de 180 caractères */
@media (min-width:1100px){
  .hds-story > .hds-chapters:first-child{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(48px,6vw,96px)}
}

/* Équipe (3 portraits) : en-tête à gauche, portraits à droite sur grand écran, au lieu d'une rangée à moitié vide */
@media (min-width:1100px){
  .hds-wrap:has(> .hds-head + .hds-team > :nth-child(3):last-child){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);column-gap:clamp(40px,5vw,72px);align-items:start}
  .hds-wrap:has(> .hds-head + .hds-team > :nth-child(3):last-child) > .hds-head{margin-bottom:0}
  .hds-team:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Articles sans image : vignette de marque (onde dégradée) au lieu d'un aplat gris */
.hds-post__media:empty{position:relative;background:radial-gradient(90% 120% at 100% 0%,rgba(116,47,255,.32),transparent 60%),radial-gradient(70% 120% at 0% 100%,rgba(20,217,255,.2),transparent 60%),var(--ink-2)}
.hds-post__media:empty::after{content:"";position:absolute;inset:30% 18%;background:var(--grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Crect x='0' y='17' width='3' height='6' rx='1.5'/%3E%3Crect x='6' y='15' width='3' height='10' rx='1.5'/%3E%3Crect x='12' y='12' width='3' height='16' rx='1.5'/%3E%3Crect x='18' y='8' width='3' height='24' rx='1.5'/%3E%3Crect x='24' y='13' width='3' height='14' rx='1.5'/%3E%3Crect x='30' y='5' width='3' height='30' rx='1.5'/%3E%3Crect x='36' y='10' width='3' height='20' rx='1.5'/%3E%3Crect x='42' y='3' width='3' height='34' rx='1.5'/%3E%3Crect x='48' y='7' width='3' height='26' rx='1.5'/%3E%3Crect x='54' y='14' width='3' height='12' rx='1.5'/%3E%3Crect x='60' y='9' width='3' height='22' rx='1.5'/%3E%3Crect x='66' y='2' width='3' height='36' rx='1.5'/%3E%3Crect x='72' y='11' width='3' height='18' rx='1.5'/%3E%3Crect x='78' y='6' width='3' height='28' rx='1.5'/%3E%3Crect x='84' y='15' width='3' height='10' rx='1.5'/%3E%3Crect x='90' y='8' width='3' height='24' rx='1.5'/%3E%3Crect x='96' y='4' width='3' height='32' rx='1.5'/%3E%3Crect x='102' y='12' width='3' height='16' rx='1.5'/%3E%3Crect x='108' y='16' width='3' height='8' rx='1.5'/%3E%3Crect x='114' y='18' width='3' height='4' rx='1.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Crect x='0' y='17' width='3' height='6' rx='1.5'/%3E%3Crect x='6' y='15' width='3' height='10' rx='1.5'/%3E%3Crect x='12' y='12' width='3' height='16' rx='1.5'/%3E%3Crect x='18' y='8' width='3' height='24' rx='1.5'/%3E%3Crect x='24' y='13' width='3' height='14' rx='1.5'/%3E%3Crect x='30' y='5' width='3' height='30' rx='1.5'/%3E%3Crect x='36' y='10' width='3' height='20' rx='1.5'/%3E%3Crect x='42' y='3' width='3' height='34' rx='1.5'/%3E%3Crect x='48' y='7' width='3' height='26' rx='1.5'/%3E%3Crect x='54' y='14' width='3' height='12' rx='1.5'/%3E%3Crect x='60' y='9' width='3' height='22' rx='1.5'/%3E%3Crect x='66' y='2' width='3' height='36' rx='1.5'/%3E%3Crect x='72' y='11' width='3' height='18' rx='1.5'/%3E%3Crect x='78' y='6' width='3' height='28' rx='1.5'/%3E%3Crect x='84' y='15' width='3' height='10' rx='1.5'/%3E%3Crect x='90' y='8' width='3' height='24' rx='1.5'/%3E%3Crect x='96' y='4' width='3' height='32' rx='1.5'/%3E%3Crect x='102' y='12' width='3' height='16' rx='1.5'/%3E%3Crect x='108' y='16' width='3' height='8' rx='1.5'/%3E%3Crect x='114' y='18' width='3' height='4' rx='1.5'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.9}
/* Focus visible sur fonds clairs (contraste ≥ 3:1) */
.hds-sec--paper :focus-visible,.hds-sec--white :focus-visible,.hds-post:focus-visible{outline-color:#2E5BFF}
