/* ============================================================
   Living Intelligence — HERO lavande brumeux (.lihero)
   Scopé sous .lihero — nav centré, serif éditorial, carte cardiaque, stat 800+.
   ============================================================ */
.lihero{
  --cream:#F6EFE6;
  --lavender:#D3C9DE;
  --lavender-soft:#E7DCEA;
  --peach:#F3E4D6;
  --flower:#C078A0;
  --violet:#6E5896;
  --violet-deep:#4E4270;
  --bronze:#8B6E4E;
  --ink:#2A2430;
  --serif:'Cormorant',Georgia,'Times New Roman',serif;
  --sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  font-family:var(--sans);
  color:var(--ink);
  background:linear-gradient(180deg,#E7DBEC 0%, #EFE6EA 30%, #F6EFE6 66%, #F6EFE6 100%);
  background-color:var(--cream);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.lihero *{box-sizing:border-box;}

/* ---------- misty dawn background ---------- */
.lihero .li-bg{position:absolute;inset:0;z-index:-3;overflow:hidden;
  background:
    radial-gradient(85% 78% at 5% 0%, #E5D6ED 0%, rgba(229,214,237,0) 52%),
    radial-gradient(96% 92% at 95% 12%, #F7E7D1 0%, rgba(247,231,209,0) 56%),
    linear-gradient(162deg, #EBE1EF 0%, #F1E9E0 48%, #F6EFE6 82%, #F6EFE6 100%);
}
/* fond épuré : on masque les couches décoratives (montagnes, fleurs, voile, blobs) */
.lihero .li-blob,.lihero .li-mtn,.lihero .li-mtn.two,.lihero .li-flowers,.lihero .li-veil{display:none;}
.lihero .li-blob{position:absolute;border-radius:50%;filter:blur(46px);z-index:-3;}
.lihero .b-lav{width:60vw;height:34vw;left:-6vw;top:-14vw;opacity:.7;
  background:radial-gradient(circle,#CDBEDD 0%,rgba(205,190,221,0) 70%);}
.lihero .b-peach{width:52vw;height:30vw;right:-8vw;top:2vw;opacity:.72;
  background:radial-gradient(circle,#F1D8C2 0%,rgba(241,216,194,0) 70%);}
.lihero .li-mtn{position:absolute;left:-10%;right:-10%;bottom:16%;height:30vh;z-index:-3;filter:blur(26px);opacity:.5;
  background:
   radial-gradient(60% 130% at 22% 100%, #B7A4C8 0%, rgba(183,164,200,0) 62%),
   radial-gradient(70% 150% at 60% 100%, #C7B4CE 0%, rgba(199,180,206,0) 60%),
   radial-gradient(55% 130% at 88% 100%, #B09CC4 0%, rgba(176,156,196,0) 64%);}
.lihero .li-mtn.two{bottom:8%;opacity:.42;filter:blur(34px);
  background:
   radial-gradient(65% 140% at 34% 100%, #A98FC0 0%, rgba(169,143,192,0) 60%),
   radial-gradient(60% 130% at 74% 100%, #B49FC6 0%, rgba(180,159,198,0) 62%);}
.lihero .li-flowers{position:absolute;left:-12%;right:-12%;bottom:-8%;height:34vh;z-index:-3;filter:blur(46px);opacity:.58;
  background:
   radial-gradient(40% 120% at 18% 100%, var(--flower) 0%, rgba(192,120,160,0) 60%),
   radial-gradient(46% 130% at 48% 100%, #C98BB0 0%, rgba(201,139,176,0) 62%),
   radial-gradient(40% 120% at 82% 100%, #B96C99 0%, rgba(185,108,153,0) 60%);}
.lihero .li-veil{position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 76%,rgba(246,239,230,.55) 100%);}

/* ---------- nav ---------- */
.lihero .li-nav{position:relative;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:1rem;padding:1.5rem clamp(1.1rem,4vw,3rem);}
.lihero .li-nav-left{display:flex;align-items:center;gap:1.4rem;justify-self:start;}
.lihero .li-nav-right{display:flex;align-items:center;gap:1.4rem;justify-self:end;}
.lihero .li-links{display:flex;align-items:center;gap:1.4rem;list-style:none;margin:0;padding:0;}
.lihero .li-links a{color:var(--ink);text-decoration:none;font-size:.86rem;letter-spacing:.01em;font-weight:450;opacity:.82;
  padding-bottom:2px;border-bottom:1px solid transparent;transition:opacity .25s,border-color .25s;white-space:nowrap;}
.lihero .li-links a:hover{opacity:1;border-color:var(--bronze);}
.lihero .li-brand{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:.28rem;text-decoration:none;}
.lihero .li-orb{width:clamp(50px,6vw,70px);height:auto;overflow:visible;display:block;}
.lihero .li-orb .breathe{transform-box:fill-box;transform-origin:center;animation:li-breathe 6.5s ease-in-out infinite;}
@keyframes li-breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
.lihero .li-wm{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:.01em;line-height:1;color:var(--ink);white-space:nowrap;}
.lihero .li-wm sup{font-size:.34em;letter-spacing:0;top:-.9em;color:var(--violet-deep);}
.lihero .li-tag{font-family:var(--sans);font-size:.52rem;letter-spacing:.32em;text-transform:uppercase;color:var(--violet-deep);opacity:.72;}
.lihero .li-cta-nav{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;
  font-size:13px;font-weight:600;letter-spacing:.02em;color:#fff;background:var(--violet);
  padding:10px 20px;border-radius:999px;box-shadow:0 8px 22px -10px rgba(110,88,150,.7);
  transition:transform .25s,box-shadow .25s,background .25s;}
.lihero .li-cta-nav:hover{background:var(--violet-deep);transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(110,88,150,.8);}
.lihero .li-cta-ghost{background:#E7DBEC;color:var(--violet-deep);box-shadow:none;}
.lihero .li-cta-ghost:hover{background:#DCC9E6;color:var(--violet-deep);box-shadow:none;}
.lihero .li-menu-toggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0;}
.lihero .li-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px 2px;justify-self:start;}
.lihero .li-burger span{display:block;width:24px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s;}
.lihero .li-mobile{display:none;}

/* ---------- hero ---------- */
.lihero .li-main{position:relative;z-index:4;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:clamp(1.1rem,2.6vh,1.9rem);padding:clamp(1rem,3vh,2.2rem) clamp(1.1rem,5vw,2rem) clamp(2rem,4vh,3rem);}
.lihero .li-eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.74rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--bronze);}
.lihero .li-eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--bronze));}
.lihero .li-eyebrow::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--bronze),transparent);}
.lihero .li-h1{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.005em;
  font-size:clamp(2.9rem,8vw,5.6rem);margin:0;color:var(--ink);}
.lihero .li-h1 .l1,.lihero .li-h1 .l2{display:block;}
.lihero .li-h1 em{font-style:italic;font-weight:400;letter-spacing:-.01em;
  background:linear-gradient(180deg,#8A76AE 0%,#4E4270 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--violet-deep);}
.lihero .li-sub{max-width:38ch;margin:0;font-size:clamp(.95rem,1.5vw,1.06rem);line-height:1.65;color:rgba(42,36,48,.74);}
/* ECG sous le titre (sans carte) */
.lihero .li-ecg2{width:min(560px,92%);height:clamp(64px,10vw,94px);margin:.1rem 0;}
.lihero .li-ecg2 svg{display:block;width:100%;height:100%;overflow:visible;}
.lihero .li-btns{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;align-items:center;}
.lihero .li-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;cursor:pointer;
  font-size:.98rem;font-weight:600;letter-spacing:.005em;border-radius:999px;padding:.95rem 1.7rem;
  transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;}
.lihero .li-btn-primary{color:#fff;background:linear-gradient(180deg,#7E6BA0 0%,var(--violet) 55%,var(--violet-deep) 100%);
  box-shadow:0 16px 34px -14px rgba(110,88,150,.85),inset 0 1px 0 rgba(255,255,255,.25);}
.lihero .li-btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 40px -14px rgba(110,88,150,.95),inset 0 1px 0 rgba(255,255,255,.3);}
.lihero .li-btn-secondary{color:var(--ink);background:rgba(255,255,255,.42);border:1px solid rgba(139,110,78,.32);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 20px -12px rgba(90,70,60,.4);}
.lihero .li-btn-secondary:hover{transform:translateY(-2px);background:rgba(255,255,255,.62);border-color:rgba(139,110,78,.5);}

/* ---------- signature card ---------- */
.lihero .li-card{position:relative;width:min(560px,100%);margin:clamp(1.8rem,3.6vh,2.8rem) 0 0;padding:1.5rem clamp(1.2rem,3vw,1.8rem) 1.35rem;
  text-align:left;border-radius:22px;background:rgba(255,255,255,.4);
  border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);
  box-shadow:0 30px 60px -34px rgba(78,58,96,.45),inset 0 1px 0 rgba(255,255,255,.6);}
.lihero .li-card::before{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;
  background:linear-gradient(180deg,rgba(211,201,222,.18) 0%,rgba(255,255,255,0) 60%);}
.lihero .li-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.lihero .li-card-kicker{font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);}
.lihero .li-card-title{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,3vw,1.7rem);letter-spacing:-.01em;margin:.15rem 0 0;color:var(--ink);}
.lihero .li-badge{display:inline-flex;align-items:baseline;gap:.28em;font-family:var(--serif);font-size:1.4rem;font-weight:400;
  color:var(--violet-deep);line-height:1;white-space:nowrap;}
.lihero .li-badge small{font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);}
.lihero .li-ecg{position:relative;width:100%;height:104px;margin:.55rem 0 .7rem;}
.lihero .li-ecg svg{display:block;width:100%;height:100%;overflow:visible;}
.lihero .li-ecg-base{stroke:rgba(110,88,150,.16);stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke;}
.lihero .li-ecg-line{fill:none;stroke:var(--violet);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 3px 8px rgba(110,88,150,.28));stroke-dasharray:100;stroke-dashoffset:100;
  animation:li-draw 2.4s ease forwards;}
.lihero .li-ecg-cursor{fill:#fff;stroke:var(--violet);stroke-width:1.6;filter:drop-shadow(0 0 6px rgba(110,88,150,.9));}
.lihero .li-card-caption{margin:.1rem 0 .55rem;font-size:.96rem;line-height:1.5;color:rgba(42,36,48,.82);}
.lihero .li-card-stat{margin:0;padding-top:.7rem;border-top:1px solid rgba(110,88,150,.16);
  font-size:.78rem;letter-spacing:.01em;color:rgba(42,36,48,.62);}
.lihero .li-card-stat b{color:var(--violet-deep);font-weight:600;}
@keyframes li-draw{to{stroke-dashoffset:0;}}

/* ---------- stat séparé (compteur animé) ---------- */
.lihero .li-stat{display:flex;align-items:center;gap:1.1rem;width:min(560px,100%);
  margin:clamp(1.6rem,3.4vh,2.4rem) 0 0;padding:1.1rem 1.4rem;border-radius:20px;
  background:rgba(255,255,255,.42);border:1px solid rgba(110,88,150,.15);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.lihero .li-stat-num{flex:none;font-family:var(--serif);font-weight:300;line-height:1;
  font-size:clamp(2.7rem,6vw,3.5rem);letter-spacing:-.02em;color:var(--ink);
  font-variant-numeric:tabular-nums;}
.lihero .li-stat-plus{color:var(--violet);}
.lihero .li-stat-label{font-size:.92rem;line-height:1.45;color:rgba(42,36,48,.72);}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .lihero .li-nav{padding:1.1rem 1.1rem;}
  .lihero .li-nav-left .li-links,.lihero .li-nav-right .li-links,.lihero .li-cta-nav{display:none;}
  .lihero .li-burger{display:flex;}
  .lihero .li-mobile{display:block;position:absolute;top:100%;left:0;right:0;z-index:20;
    background:rgba(246,239,230,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-top:1px solid rgba(139,110,78,.2);border-bottom:1px solid rgba(139,110,78,.2);
    padding:0 1.4rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .34s ease,opacity .3s ease,padding .34s ease;}
  .lihero .li-menu-toggle:checked ~ .li-nav .li-mobile{max-height:340px;opacity:1;padding:1rem 1.4rem 1.3rem;}
  .lihero .li-menu-toggle:checked ~ .li-nav .li-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .lihero .li-menu-toggle:checked ~ .li-nav .li-burger span:nth-child(2){opacity:0;}
  .lihero .li-menu-toggle:checked ~ .li-nav .li-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  .lihero .li-mobile a{display:block;text-decoration:none;color:var(--ink);font-size:1rem;padding:.7rem 0;
    border-bottom:1px solid rgba(139,110,78,.14);}
  .lihero .li-mobile a.li-mobile-cta{margin-top:.8rem;border:none;text-align:center;color:#fff;background:var(--violet);
    border-radius:999px;font-weight:600;box-shadow:0 10px 24px -12px rgba(110,88,150,.8);}
}
@media (min-width:861px){.lihero .li-mobile{display:none;}}
@media (max-width:520px){
  .lihero .li-wordmark{letter-spacing:.16em;}
  .lihero .li-btns{width:100%;max-width:340px;}
  .lihero .li-btn{flex:1 1 auto;}
}
@media (prefers-reduced-motion:reduce){
  .lihero .li-ecg-line{animation:none;stroke-dashoffset:0;}
  .lihero .li-ecg-cursor{display:none;}
  .lihero .li-orb .breathe{animation:none;}
}

/* ============================================================
   Accessibilité & contraste — correctifs post-audit
   ============================================================ */
/* Contraste AA : micro-labels bronze clair (~4.1:1) → bronze foncé (~6:1) */
.lihero .li-card-kicker,
.lihero .li-badge small { color:#6E5436; }
/* Cible tactile burger ≥ 44px */
.lihero .li-burger { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
/* Focus clavier visible sur le burger (le focus réel est sur la case cachée) */
.lihero .li-menu-toggle:focus-visible + .li-nav .li-burger {
  outline:2px solid var(--violet-deep); outline-offset:3px; border-radius:8px;
}
/* Desktop : la case du menu ne doit pas être un arrêt de tabulation fantôme */
@media (min-width:861px){ .lihero .li-menu-toggle { display:none; } }
/* Windows High Contrast : l'italique en dégradé transparent doit rester visible */
@media (forced-colors: active){
  .lihero .li-h1 em { -webkit-text-fill-color: currentColor; color: CanvasText; }
}
