/* Polices hébergées sur le site (pas de Google Fonts) */
@font-face{font-family:"Sora";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/sora-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Sora";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/sora-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Sora";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/sora-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/dm-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/dm-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/dm-sans-latin-600-normal.woff2") format("woff2")}

html{scroll-behavior:smooth}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.55s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:#F5F7FD}

/* ---------- Thèmes ---------- */
.sc-root{
  --bg:#F5F7FD; --band:rgba(236,240,251,.55); --surface:#FFFFFF;
  --glass:rgba(255,255,255,.62); --card:rgba(255,255,255,.55); --card-border:rgba(255,255,255,.75);
  --ink:#141C38; --muted:#4A5573; --line:#DCE3F4;
  --blue:#CFE0FF; --blue-soft:#E6EFFF; --blue-ink:#1F4FC4; --btn:#2A55C9; --btn-ink:#FFFFFF;
  --lav:#E2DAFF; --lav-soft:#F0ECFF; --lav-ink:#5A3FC4;
  --mint:#D3F1E7; --mint-soft:#E9F8F2; --mint-ink:#1D6B55;
  --peach:#FFE3D6; --peach-soft:#FFF1EA; --peach-ink:#9A4320;
  --logo-cloud:#2A55C9; --logo-a:#E2DAFF; --logo-a-dot:#5A3FC4; --logo-b:#FFE3D6; --logo-b-dot:#9A4320;
  --shadow:0 18px 40px -22px rgba(42,85,201,.35); --shadow-hi:0 26px 50px -24px rgba(42,85,201,.5);
  --blob-op:.75; --halo:rgba(42,85,201,.16); --halo-hot:rgba(90,63,196,.26); --dot:rgba(42,85,201,.35);
  background:var(--bg); color:var(--ink);
  transition:background-color .6s ease,color .6s ease;
}
.sc-root[data-theme="dark"]{
  --bg:#0D1324; --band:rgba(18,26,49,.5); --surface:#161F3A;
  --glass:rgba(22,31,58,.55); --card:rgba(22,31,58,.5); --card-border:rgba(255,255,255,.08);
  --ink:#E9EDFA; --muted:#A9B3D1; --line:#26314F;
  --blue:#24376A; --blue-soft:#1B2A52; --blue-ink:#A9C4FF; --btn:#A9C4FF; --btn-ink:#0D1324;
  --lav:#33285F; --lav-soft:#241D45; --lav-ink:#C9BBFF;
  --mint:#1C3D36; --mint-soft:#15302A; --mint-ink:#9BE3CB;
  --peach:#43291F; --peach-soft:#33211A; --peach-ink:#FFC2A6;
  --logo-cloud:#A9C4FF; --logo-a:#C9BBFF; --logo-a-dot:#0D1324; --logo-b:#FFC2A6; --logo-b-dot:#0D1324;
  --shadow:0 18px 40px -22px rgba(0,0,0,.6); --shadow-hi:0 26px 50px -20px rgba(0,0,0,.75);
  --blob-op:.55; --halo:rgba(169,196,255,.12); --halo-hot:rgba(201,187,255,.22); --dot:rgba(169,196,255,.4);
}
@media (prefers-color-scheme: dark){
  .sc-root[data-theme="auto"]{
    --bg:#0D1324; --band:rgba(18,26,49,.5); --surface:#161F3A;
    --glass:rgba(22,31,58,.55); --card:rgba(22,31,58,.5); --card-border:rgba(255,255,255,.08);
    --ink:#E9EDFA; --muted:#A9B3D1; --line:#26314F;
    --blue:#24376A; --blue-soft:#1B2A52; --blue-ink:#A9C4FF; --btn:#A9C4FF; --btn-ink:#0D1324;
    --lav:#33285F; --lav-soft:#241D45; --lav-ink:#C9BBFF;
    --mint:#1C3D36; --mint-soft:#15302A; --mint-ink:#9BE3CB;
    --peach:#43291F; --peach-soft:#33211A; --peach-ink:#FFC2A6;
  --logo-cloud:#A9C4FF; --logo-a:#C9BBFF; --logo-a-dot:#0D1324; --logo-b:#FFC2A6; --logo-b-dot:#0D1324;
    --shadow:0 18px 40px -22px rgba(0,0,0,.6); --shadow-hi:0 26px 50px -20px rgba(0,0,0,.75);
    --blob-op:.55; --halo:rgba(169,196,255,.12); --halo-hot:rgba(201,187,255,.22); --dot:rgba(169,196,255,.4);
  }
}
.sc-root *{transition:background-color .6s ease,border-color .6s ease,color .6s ease}
.sc-root h1,.sc-root h2,.sc-root h3{font-family:'Sora','DM Sans',sans-serif;letter-spacing:-0.02em}
a{color:var(--blue-ink)}a:hover{color:var(--lav-ink)}

/* ---------- Fond animé + profondeur ---------- */
.sc-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sc-layer{position:absolute;inset:-10%}
.sc-blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:var(--blob-op);transition:opacity .6s ease}
.sc-b1{width:560px;height:560px;background:var(--blue);top:-8%;right:2%;animation:sc-drift1 26s ease-in-out infinite alternate}
.sc-b2{width:440px;height:440px;background:var(--lav);top:22%;right:30%;animation:sc-drift2 32s ease-in-out infinite alternate}
.sc-b4{width:300px;height:300px;background:var(--peach);top:80%;right:10%;animation:sc-drift1 35s ease-in-out infinite alternate-reverse}
@keyframes sc-drift1{to{transform:translate(-70px,50px) scale(1.12)}}
@keyframes sc-drift2{to{transform:translate(80px,-40px) scale(.9)}}
.sc-dot{position:absolute;border-radius:50%;background:var(--dot);animation:sc-float linear infinite}
@keyframes sc-float{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(-160px);opacity:0}}
@supports (animation-timeline: scroll()){
  .sc-layer-slow{animation:sc-par-slow linear both;animation-timeline:scroll(root)}
  .sc-layer-fast{animation:sc-par-fast linear both;animation-timeline:scroll(root)}
  .sc-layer-dots{animation:sc-par-dots linear both;animation-timeline:scroll(root)}
  @keyframes sc-par-slow{to{transform:translateY(-12%)}}
  @keyframes sc-par-fast{to{transform:translateY(-32%)}}
  @keyframes sc-par-dots{to{transform:translateY(-55%)}}
}
.sc-content{position:relative;z-index:1}


/* ---------- Glassmorphism ---------- */
.sc-glass{background:var(--card);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--card-border)}
.sc-band{background:var(--band);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* ---------- Micro-animations ---------- */
.sc-btn{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background-color .6s ease,color .6s ease}
.sc-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-hi)}
.sc-btn:active{transform:translateY(0) scale(.98)}
.sc-btn .sc-arrow{transition:transform .25s ease}
.sc-btn:hover .sc-arrow{transform:translateX(4px)}
.sc-btn:focus-visible,.sc-link:focus-visible,.sc-toggle:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px}
.sc-link{position:relative}
.sc-link::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue-ink),var(--lav-ink));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.sc-link:hover::after{transform:scaleX(1)}
.sc-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease,background-color .6s ease}
.sc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hi);border-color:var(--blue)}
.sc-ico{transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.sc-card:hover .sc-ico{transform:rotate(-8deg) scale(1.1)}
.sc-more{transition:gap .25s ease}
.sc-card:hover .sc-more{gap:12px}
.sc-toggle{transition:transform .3s ease,background-color .6s ease}
.sc-toggle:hover{transform:rotate(18deg)}
.sc-toggle svg{animation:sc-spin-in .5s cubic-bezier(.3,1.4,.5,1)}
@keyframes sc-spin-in{from{transform:rotate(-90deg) scale(.4);opacity:0}}
.sc-bar{transform-origin:bottom;animation:sc-grow 1.2s cubic-bezier(.2,.8,.2,1) both}
/* Pipeline : une affaire passe de Proposition à Gagné (cycle 8 s) */
.sc-deal{position:relative;z-index:3;animation:sc-deal 8s cubic-bezier(.45,0,.25,1) 1.4s infinite both}
@keyframes sc-deal{
  0%{transform:none;opacity:0;box-shadow:none}
  6%{transform:none;opacity:1;box-shadow:none}
  20%{transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-hi)}
  44%{transform:translate(calc(100% + 12px),-54px) scale(1.05);box-shadow:var(--shadow-hi)}
  52%{transform:translate(calc(100% + 12px),-50px) scale(1);box-shadow:none;opacity:1}
  86%{transform:translate(calc(100% + 12px),-50px);opacity:1}
  94%,100%{transform:translate(calc(100% + 12px),-50px);opacity:0}
}
.sc-deal-bar{animation:sc-deal-bar 8s ease 1.4s infinite both}
@keyframes sc-deal-bar{0%,44%{background-color:var(--lav)}52%,100%{background-color:var(--mint)}}
.sc-won{animation:sc-won 8s ease 1.4s infinite both}
@keyframes sc-won{0%,48%{color:var(--muted)}54%,82%{color:var(--mint-ink)}90%,100%{color:var(--muted)}}
.sc-signed{position:relative;animation:sc-signed 8s ease 1.4s infinite both}
@keyframes sc-signed{0%,50%{box-shadow:0 0 0 0 transparent}55%{box-shadow:0 0 0 4px var(--mint-ink)}70%,100%{box-shadow:0 0 0 0 transparent}}
.sc-plus{position:absolute;top:10px;right:10px;padding:2px 8px;border-radius:999px;background:var(--mint-ink);color:var(--bg);font-family:'Sora',sans-serif;font-weight:700;font-size:12px;opacity:0;animation:sc-plus 8s ease 1.4s infinite both}
@keyframes sc-plus{0%,50%{opacity:0;transform:translateY(6px) scale(.6)}55%{opacity:1;transform:translateY(-2px) scale(1.15)}60%,82%{opacity:1;transform:none}90%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes sc-grow{from{transform:scaleY(.1)}}
.sc-pulse{animation:sc-pulse 2.4s ease-in-out infinite}
@keyframes sc-pulse{50%{box-shadow:0 0 0 6px transparent}0%,100%{box-shadow:0 0 0 0 var(--lav)}}
.sc-flow{background-size:220% 220%;animation:sc-flow 14s ease-in-out infinite alternate}
@keyframes sc-flow{to{background-position:100% 100%}}
.sc-field{transition:border-color .25s ease,box-shadow .25s ease,background-color .6s ease}
.sc-field:focus{outline:none;border-color:var(--blue-ink);box-shadow:0 0 0 4px var(--blue-soft)}

/* ---------- Entrée de page + apparition au scroll ---------- */
.sc-enter{animation:sc-rise .9s cubic-bezier(.2,.8,.2,1) both}
.sc-d1{animation-delay:.08s}.sc-d2{animation-delay:.18s}.sc-d3{animation-delay:.28s}.sc-d4{animation-delay:.38s}.sc-d5{animation-delay:.5s}
@keyframes sc-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
  .sc-reveal{animation:sc-rise linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
  .sc-reveal-l{animation:sc-from-left linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  .sc-reveal-r{animation:sc-from-right linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  @keyframes sc-from-left{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
  @keyframes sc-from-right{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .sc-root *,.sc-root *::before,.sc-root *::after{animation:none !important;transition-duration:.01ms !important}}

/* ---------- Ajouts export ---------- */
.icon-sun{display:none}
.sc-root[data-theme="dark"] .icon-sun{display:block}
.sc-root[data-theme="dark"] .icon-moon{display:none}
@media (prefers-color-scheme: dark){
  .sc-root[data-theme="auto"] .icon-sun{display:block}
  .sc-root[data-theme="auto"] .icon-moon{display:none}
}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sc-content{overflow-x:clip}
@media (max-width:720px){
  .sc-content>header{position:static}
}
.sc-legal{max-width:820px;margin:0 auto;padding:72px 24px 96px;line-height:1.7}
.sc-legal h1{font-size:clamp(30px,4vw,42px);line-height:1.15;margin:0 0 24px}
.sc-legal h2{font-size:22px;margin:40px 0 8px}
.sc-legal p,.sc-legal li{color:var(--muted);font-size:16px}
.sc-legal strong{color:var(--ink)}

