/* SommeilZen */
/* Haut de la page d'accueil : hero 2 colonnes, mosaïque, chiffres clés (09/11/2026) */
.hx{--hx-max:1200px;max-width:var(--hx-max);margin:0 auto;padding:56px 32px 40px;position:relative;overflow-x:clip;box-sizing:border-box;text-align:left}
.hx *,.hx-chiffres *{box-sizing:border-box}
.hx::before{content:"";position:absolute;inset:-40px 0 auto auto;width:min(560px,70%);height:560px;border-radius:50%;background:var(--hx-glow);pointer-events:none;z-index:0}
.hx-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:52px;align-items:center}
.hx-txt{min-width:0}
.hx-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--hx-eb-bg);color:var(--hx-eb);padding:7px 14px;border-radius:100px;font-family:var(--hx-sans);font-size:13px;font-weight:600;letter-spacing:var(--hx-eb-track,0);text-transform:var(--hx-eb-tt,none);margin:0 0 20px;line-height:1.3}
.hx-eyebrow i{width:8px;height:8px;background:var(--hx-acc2);border-radius:50%;flex:0 0 8px}
.hx h1{font-family:var(--hx-display);font-size:var(--hx-h1,clamp(34px,3.4vw,48px));font-weight:var(--hx-h1w,800);letter-spacing:var(--hx-h1t,-.03em);line-height:var(--hx-h1lh,1.08);text-transform:var(--hx-h1tt,none);margin:0 0 18px;max-width:640px;color:var(--hx-ink);text-align:left}
.hx h1 em,.hx h1 .hx-a{font-style:var(--hx-em-style,normal);color:var(--hx-acc)}
.hx-lede{font-family:var(--hx-sans);font-size:17.5px;line-height:1.6;color:var(--hx-soft);max-width:540px;margin:0 0 24px;text-align:left}
.hx-search{position:relative;display:flex;align-items:center;gap:10px;max-width:600px;margin:0 0 18px;background:var(--hx-field,#fff);border:1.5px solid var(--hx-line);border-radius:var(--hx-r-field,14px);padding:5px 6px 5px 16px;box-shadow:var(--hx-field-shadow,0 10px 30px -12px rgba(15,23,42,.18),0 1px 2px rgba(15,23,42,.04))}
.hx-search:focus-within{border-color:var(--hx-acc)}
.hx-search svg{color:var(--hx-mute);flex-shrink:0}
.hx-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:var(--hx-sans);font-size:15.5px;padding:11px 0;color:var(--hx-ink);-webkit-appearance:none;appearance:none;margin:0;box-shadow:none;width:auto;height:auto}
.hx-search input::placeholder{color:var(--hx-mute);opacity:1}
.hx-search button{flex:0 0 auto;border:0;cursor:pointer;background:var(--hx-b1-bg);color:var(--hx-b1-c);font-family:var(--hx-sans);font-weight:700;font-size:14px;padding:10px 16px;border-radius:calc(var(--hx-r-field,14px) - 4px);margin:0;line-height:1.2}
.hx-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px}
.hx-b1,.hx-b2{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-family:var(--hx-btn-font,var(--hx-sans));font-size:15.5px;font-weight:700;letter-spacing:var(--hx-btn-track,0);text-transform:var(--hx-btn-tt,none);line-height:1.2;border-radius:var(--hx-r-btn,12px);text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}
.hx-b1{background:var(--hx-b1-bg);color:var(--hx-b1-c);border:1.5px solid transparent;box-shadow:var(--hx-b1-shadow,none)}
.hx-b1:hover{transform:translateY(-1px);color:var(--hx-b1-c)}
.hx-b2{background:var(--hx-b2-bg,transparent);color:var(--hx-ink);border:1.5px solid var(--hx-line-strong,var(--hx-line))}
.hx-b2:hover{border-color:var(--hx-acc);color:var(--hx-acc)}
.hx-rayons{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:20px;border-top:1px solid var(--hx-line);max-width:600px}
.hx-rl{font-family:var(--hx-sans);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hx-mute);margin-right:6px}
.hx-rayons a{display:inline-block;padding:5px 10px;border:1px solid var(--hx-line);border-radius:999px;font-family:var(--hx-sans);font-size:12.5px;font-weight:600;line-height:1.2;color:var(--hx-soft);background:var(--hx-chip,#fff);text-decoration:none;transition:border-color .15s,color .15s}
.hx-rayons a:hover{border-color:var(--hx-acc);color:var(--hx-acc)}
/* Résultats de recherche sous le champ (sites à index local) */
.hx-res{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--hx-field,#fff);border:1px solid var(--hx-line);border-radius:14px;box-shadow:0 18px 40px -14px rgba(15,23,42,.3);padding:6px;max-height:340px;overflow:auto;display:none}
.hx-res a{display:block;padding:9px 12px;border-radius:9px;font-family:var(--hx-sans);font-size:14.5px;color:var(--hx-ink);text-decoration:none;line-height:1.35}
.hx-res a:hover,.hx-res a:focus{background:var(--hx-eb-bg)}
.hx-res p{margin:0;padding:9px 12px;font-family:var(--hx-sans);font-size:14px;color:var(--hx-mute)}
/* Chiffres clés dans la colonne texte */
.hx-kpi{display:flex;flex-wrap:wrap;gap:0;margin:20px 0 0;padding:0;max-width:600px}
.hx-kpi div{padding:0 18px;border-left:1px solid var(--hx-line);min-width:0}
.hx-kpi div:first-child{padding-left:0;border-left:0}
.hx-kpi dt{font-family:var(--hx-display);font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--hx-num,var(--hx-ink));line-height:1.1;margin:0}
.hx-kpi dd{margin:2px 0 0;font-family:var(--hx-sans);font-size:12.5px;color:var(--hx-mute);line-height:1.3}
/* Mosaïque */
.hx-vis{min-width:0}
.hx-panel{position:relative;border-radius:28px;padding:26px 26px 92px;background:var(--hx-panel);border:1px solid var(--hx-panel-line)}
.hx-panel::before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(var(--hx-dot) 1px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:linear-gradient(160deg,#000 0%,transparent 70%);mask-image:linear-gradient(160deg,#000 0%,transparent 70%);pointer-events:none}
.hx-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hx-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.hx-col:nth-child(2){margin-top:34px}
.hx-tile{background:var(--hx-card);border:1px solid var(--hx-card-line,transparent);border-radius:18px;padding:12px;box-shadow:var(--hx-card-shadow,0 1px 2px rgba(15,23,42,.05),0 12px 28px -14px rgba(15,23,42,.22));display:flex;flex-direction:column;gap:10px;transition:transform .2s,box-shadow .2s;min-width:0}
.hx-tile:hover{transform:translateY(-3px)}
.hx-ph{position:relative;display:flex;align-items:center;justify-content:center;height:132px;border-radius:12px;background:var(--hx-ph);text-decoration:none;overflow:hidden}
.hx-ph:not(.hx-ok)::before{content:"";position:absolute;width:84px;height:84px;border-radius:50%;background:var(--hx-halo)}
.hx-ph svg{position:relative;width:58px;height:58px;fill:none;stroke:var(--hx-icon,var(--hx-acc));stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.hx-ph svg.illus{width:104px;height:104px;stroke:none;fill:initial}
.hx-sel .hx-ph svg.illus{width:64px;height:64px}
.hx-ph svg .f{fill:var(--hx-acc2);stroke:none}
.hx-ph .hx-img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;opacity:0;transition:opacity .25s}
.hx-ph.hx-ok{background:var(--hx-ph-photo,#fff)}
.hx-ph.hx-ok svg{display:none}
.hx-ph.hx-ok .hx-img{opacity:1}
.hx-n{display:block;font-family:var(--hx-tile-font,var(--hx-sans));font-weight:700;font-size:14.5px;line-height:1.3;color:var(--hx-ink);text-decoration:none;padding:0 4px 2px;text-transform:none;letter-spacing:0}
.hx-n:hover{color:var(--hx-acc)}
.hx-cat{display:block;font-family:var(--hx-sans);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--hx-cat,var(--hx-acc2));margin-bottom:2px}
.hx-d{display:block;font-family:var(--hx-sans);font-size:12.5px;line-height:1.4;color:var(--hx-mute);padding:0 4px 2px}
.hx-sel{position:absolute;left:-28px;bottom:-26px;width:min(390px,92%);flex-direction:row;align-items:center;gap:14px;padding:12px 16px 12px 12px;border:1px solid var(--hx-sel-line,var(--hx-line));box-shadow:var(--hx-sel-shadow,0 24px 48px -18px rgba(15,23,42,.35))}
.hx-sel:hover{transform:none}
.hx-sel .hx-ph{flex:0 0 76px;width:76px;height:76px}
.hx-sel .hx-ph svg{width:40px;height:40px}
.hx-sel .hx-ph:not(.hx-ok)::before{width:60px;height:60px}
.hx-selt{min-width:0;display:flex;flex-direction:column;gap:3px}
.hx-badge{align-self:flex-start;font-family:var(--hx-sans);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--hx-badge-c,#fff);background:var(--hx-badge);padding:4px 9px;border-radius:999px;line-height:1.3}
.hx-sel .hx-n{font-size:16px;padding:0}
.hx-sub{font-family:var(--hx-sans);font-size:13px;color:var(--hx-mute);line-height:1.4}
.hx-sub a{color:var(--hx-acc);font-weight:600;text-decoration:none}
.hx-note{margin:40px 0 0;font-family:var(--hx-sans);font-size:12px;color:var(--hx-mute);text-align:right}
/* Chiffres clés : bande discrète */
.hx-chiffres{max-width:1136px;margin:8px auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--hx-band,#fff);border:1px solid var(--hx-line);border-radius:16px;position:relative;z-index:1}
.hx-chiffres.hx-c3{grid-template-columns:repeat(3,1fr)}
.hx-ch{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:16px 14px;min-width:0}
.hx-ch+.hx-ch{border-left:1px solid var(--hx-line)}
.hx-ch b{font-family:var(--hx-num-font,var(--hx-display));font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--hx-num,var(--hx-ink));white-space:nowrap}
.hx-ch span{font-family:var(--hx-sans);font-size:13.5px;color:var(--hx-mute);font-weight:500}
@media (max-width:1200px){.hx-chiffres{margin-left:32px;margin-right:32px}}
@media (max-width:1060px){.hx-in{gap:36px}.hx-sel{left:-16px}}
@media (max-width:900px){
 .hx{padding:36px 24px 28px}
 .hx-in{grid-template-columns:1fr;gap:32px}
 .hx h1,.hx-lede,.hx-search,.hx-rayons{max-width:none}
 .hx-panel{padding:18px}
 .hx-sel{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin-top:14px}
 .hx-note{margin-top:10px;text-align:left}
 .hx-chiffres,.hx-chiffres.hx-c3{margin-left:24px;margin-right:24px;grid-template-columns:repeat(2,1fr)}
 .hx-ch:nth-child(3){border-left:0}
 .hx-ch:nth-child(n+3){border-top:1px solid var(--hx-line)}
 .hx-c3 .hx-ch:nth-child(3){grid-column:1/-1}
}
@media (max-width:600px){
 .hx{padding:26px 16px 22px}
 .hx::before{width:300px;height:300px;inset:-60px 0 auto auto}
 .hx-eyebrow{margin-bottom:14px;font-size:12.5px}
 .hx h1{font-size:var(--hx-h1m,31px);line-height:1.1;margin-bottom:14px}
 .hx-lede{font-size:16px;margin-bottom:18px}
 .hx-search input{font-size:16px}
 .hx-search button{display:none}
 .hx-search{padding:4px 12px 4px 14px}
 .hx-cta{margin-bottom:18px}
 .hx-cta a{width:100%}
 .hx-rayons{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-top:16px;margin-right:-16px;padding-right:16px}
 .hx-rayons::-webkit-scrollbar{display:none}
 .hx-rayons a{flex:0 0 auto}
 .hx-in{gap:24px}
 .hx-panel{padding:12px;border-radius:22px}
 .hx-grid,.hx-col{gap:10px}
 .hx-col:nth-child(2){margin-top:18px}
 .hx-tile{padding:8px;border-radius:14px;gap:6px}
 .hx-ph{height:96px;border-radius:10px}
 .hx-ph svg{width:44px;height:44px}
 .hx-n{font-size:13px}
 .hx-cat{font-size:10px}
 .hx-d{font-size:12px}
 .hx-sel{margin-top:10px;padding:10px}
 .hx-sel .hx-ph{flex-basis:64px;width:64px;height:64px}
 .hx-sel .hx-n{font-size:15px}
 .hx-chiffres,.hx-chiffres.hx-c3{margin:4px 16px 0}
 .hx-kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 0;margin-top:18px}
 .hx-kpi div:nth-child(3){padding-left:0;border-left:0}
 .hx-kpi dt{font-size:20px}
 .hx-ph svg.illus{width:76px;height:76px}
 .hx-ch{flex-direction:column;align-items:flex-start;gap:0;padding:12px 14px}
 .hx-ch b{font-size:20px}
 .hx-ch span{font-size:12.5px;line-height:1.35}
}

.hx{--hx-display:var(--serif);--hx-sans:var(--sans);--hx-ink:var(--ink);--hx-soft:var(--ink-soft);--hx-mute:var(--ink-mute);--hx-line:var(--line);--hx-line-strong:rgba(26,34,56,.28);
 --hx-acc:var(--accent);--hx-acc2:var(--accent-soft);--hx-cat:var(--accent);--hx-glow:radial-gradient(closest-side,rgba(232,155,131,.18),rgba(45,56,88,.05) 60%,transparent);
 --hx-eb-bg:rgba(200,98,74,.10);--hx-eb:var(--accent);--hx-eb-track:.14em;--hx-eb-tt:uppercase;
 --hx-h1:clamp(40px,4.2vw,60px);--hx-h1w:400;--hx-h1t:-.025em;--hx-h1lh:1.05;--hx-h1m:36px;--hx-em-style:italic;
 --hx-r-field:100px;--hx-r-btn:100px;--hx-b1-bg:var(--ink);--hx-b1-c:var(--cream);--hx-b2-bg:transparent;--hx-chip:rgba(255,255,255,.6);
 --hx-panel:linear-gradient(155deg,#2D3858 0%,#1A2238 100%);--hx-panel-line:#2D3858;--hx-dot:rgba(255,255,255,.16);
 --hx-card:#FFFDF9;--hx-card-line:rgba(26,34,56,.06);--hx-card-shadow:0 16px 34px -18px rgba(8,12,28,.6);
 --hx-ph:linear-gradient(160deg,#F7F3EC,#EFE9DE);--hx-halo:radial-gradient(closest-side,rgba(232,155,131,.22),transparent);
 --hx-badge:var(--accent);--hx-sel-line:rgba(26,34,56,.08);--hx-sel-shadow:0 26px 50px -18px rgba(8,12,28,.55);--hx-band:#FFFDF9;--hx-num:var(--ink)}
.hx-chiffres{--hx-line:var(--line);--hx-mute:var(--ink-mute);--hx-band:#FFFDF9;--hx-num:var(--ink);--hx-display:var(--serif);--hx-sans:var(--sans)}
.hx h1 em{color:var(--accent)}
.hx-ch b{font-weight:500}
.hx-b1,.hx-b2{font-weight:600}
.hx-panel::after{content:"";position:absolute;right:34px;bottom:30px;width:46px;height:46px;border-radius:50%;box-shadow:inset -12px 6px 0 0 #EFE9DE;opacity:.85;pointer-events:none}
.hx-note{color:var(--ink-mute)}
.hx-chiffres~#vitrine-guides{margin-top:48px}
@media (max-width:900px){.hx-panel::after{display:none}}
@media (max-width:600px){.hx-chiffres~#vitrine-guides{margin-top:32px}}
