@font-face{font-family:"Inter";src:url("../fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url("../fonts/inter-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url("../fonts/inter-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url("../fonts/inter-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url("../fonts/inter-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:"Caveat";src:url("../fonts/caveat-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}/* Police de secours aux mêmes dimensions qu'Inter : le texte ne « saute » plus quand Inter arrive (PageSpeed, CLS). */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  size-adjust: 107.12%;
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0%;
}

/* ==========================================================
   MILOHY — feuille de style
   Palette et typographie reprises des maquettes.
   Pour changer une couleur du site, modifiez les variables ci-dessous.
   ========================================================== */

:root {
  --bg: #080c26;
  --bg2: #0d1336;
  --panel: #111946;
  --panel2: #172058;
  --line: rgba(168, 139, 250, 0.26);
  --line-soft: rgba(168, 139, 250, 0.14);
  --violet: #b49cff;
  --violet-d: #8b6cf0;
  --sky: #7db7ff;
  --ink: #f3f5ff;
  --mute: #a9b1d6;
  --ok: #3ddc97;
  --no: #ff7a88;
  --gold: #f5a54a;

  --card: rgba(17, 25, 70, 0.92);
  --grad-a: rgba(23, 32, 88, 0.9);
  --grad-b: rgba(13, 19, 54, 0.9);
  --fill: rgba(255, 255, 255, 0.05);
  --fill-strong: rgba(255, 255, 255, 0.07);
  --fill-topbar: rgba(255, 255, 255, 0.04);
  --input-bg: rgba(255, 255, 255, 0.06);
  --header-bg: rgba(8, 12, 38, 0.78);
  --ghost-bg: rgba(8, 12, 38, 0.55);
  --ghost-hover: rgba(180, 156, 255, 0.16);
  --footer-bg: rgba(6, 9, 28, 0.7);
  --band-bg: rgba(17, 25, 70, 0.7);
  --glow-1: rgba(139, 108, 240, 0.30);
  --glow-2: rgba(60, 110, 255, 0.18);
  --band-glow: rgba(139, 108, 240, 0.35);
  --prose: #d7dcf5;
  --btn-ink: #0b1030;
  --btn-glow: rgba(180, 156, 255, 0.8);
  --violet-hover: #c9b9ff;
  --placeholder: rgba(169, 177, 214, 0.65);
  --notice-ink: #f6d9b3;
  --notice-bg: rgba(245, 165, 74, 0.1);
  --tag-bg: rgba(125, 183, 255, 0.1);
  --tag-line: rgba(125, 183, 255, 0.4);
  --shadow-card: none;
  --scheme: dark;

  --radius: 18px;
  --radius-s: 12px;
  --maxw: 1200px;
  --gutter: clamp(1.25rem, 4vw, 3rem);

  --font: "Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --script: "Caveat", "Segoe Script", "Bradley Hand", "Comic Sans MS", cursive;
}

/* ==========================================================
   MODE CLAIR : mêmes variables, valeurs claires.
   Pour ajuster une couleur du mode clair, modifiez-la ici.
   ========================================================== */
:root[data-theme="light"] {
  --bg: #f5f6ff;
  --bg2: #ffffff;
  --panel: #ffffff;
  --panel2: #ffffff;
  --line: rgba(91, 70, 190, 0.24);
  --line-soft: rgba(91, 70, 190, 0.13);
  --violet: #6a4bd8;
  --violet-d: #5537c0;
  --sky: #1d63cc;
  --ink: #0f1538;
  --mute: #4a5482;
  --ok: #0f9a60;
  --no: #d0364b;
  --gold: #b4680a;

  --card: rgba(255, 255, 255, 0.92);
  --grad-a: #ffffff;
  --grad-b: #f0f1ff;
  --fill: rgba(15, 21, 56, 0.05);
  --fill-strong: rgba(15, 21, 56, 0.07);
  --fill-topbar: rgba(15, 21, 56, 0.04);
  --input-bg: #ffffff;
  --header-bg: rgba(245, 246, 255, 0.86);
  --ghost-bg: rgba(255, 255, 255, 0.75);
  --ghost-hover: rgba(106, 75, 216, 0.10);
  --footer-bg: rgba(233, 235, 252, 0.85);
  --band-bg: rgba(255, 255, 255, 0.85);
  --glow-1: rgba(139, 108, 240, 0.16);
  --glow-2: rgba(80, 140, 255, 0.12);
  --band-glow: rgba(139, 108, 240, 0.18);
  --prose: #2a3157;
  --btn-ink: #ffffff;
  --btn-glow: rgba(106, 75, 216, 0.55);
  --violet-hover: #7a5ce6;
  --placeholder: rgba(74, 84, 130, 0.6);
  --notice-ink: #6b3f04;
  --notice-bg: rgba(245, 165, 74, 0.16);
  --tag-bg: rgba(29, 99, 204, 0.08);
  --tag-line: rgba(29, 99, 204, 0.35);
  --shadow-card: 0 14px 34px -22px rgba(40, 30, 120, 0.45);
  --scheme: light;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; color-scheme: var(--scheme); }

/* V1.2 — Échelle ordinateur : le site a été mis au point avec la taille de police
   « Petite » du navigateur (75 % de la taille par défaut). On fixe cette échelle sur
   ordinateur pour que tout le monde ait le même rendu. Le mobile n'est pas concerné. */ @media (min-width:1025px){html{font-size:75%}}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:var(--font);font-size:1rem;line-height:1.6;color:var(--ink);background:radial-gradient(900px 560px at 88% -6%,var(--glow-1),transparent 62%),radial-gradient(760px 520px at -6% 34%,var(--glow-2),transparent 62%),var(--bg);background-repeat:no-repeat}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--violet);color:var(--btn-ink);padding:.6rem 1rem;border-radius:8px;font-weight:700}.skip:focus{top:1rem}.wrap{width:min(100% - 2 * var(--gutter),var(--maxw));margin-inline:auto}.ico{width:1.5rem;height:1.5rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.55rem;border-radius:999px;font:inherit;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease}.btn-primary{background:var(--violet);color:var(--btn-ink);box-shadow:0 10px 30px -10px var(--btn-glow)}.btn-primary:hover{background:var(--violet-hover);transform:translateY(-1px)}.btn-ghost{color:var(--ink);border-color:var(--violet);background:var(--ghost-bg)}.btn-ghost:hover{background:var(--ghost-hover)}.btn-block{width:100%}.btn-sm{padding:.7rem 1.25rem;font-size:.95rem}.topbar{background:var(--fill-topbar);border-bottom:1px solid var(--line-soft);font-size:.85rem;color:var(--mute)}.topbar-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.35rem 1rem;padding-block:.4rem}.topbar-msg{margin:0}.topbar-tools{display:flex;align-items:center;gap:.6rem}.theme-toggle{display:inline-flex;align-items:center;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.28rem .8rem;font:inherit;font-size:.85rem;cursor:pointer;transition:background-color .15s ease}.theme-toggle:hover{background:var(--fill)}.theme-toggle .ico,.to-light,.to-dark{display:inline-flex;align-items:center;gap:.4rem}.to-dark{display:none}:root[data-theme="light"] .to-light{display:none}:root[data-theme="light"] .to-dark{display:inline-flex}.topbar a{color:var(--sky);font-weight:600;text-decoration:none}.topbar a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}.header-in{display:flex;align-items:center;gap:1.5rem;padding-block:.85rem}.brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none}.brand-mark{height:2.6rem;width:auto;flex:none}.brand-mark.on-light{display:none}:root[data-theme="light"] .brand-mark.on-dark{display:none}:root[data-theme="light"] .brand-mark.on-light{display:block}.brand-txt{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-size:1.85rem;font-weight:800;letter-spacing:.01em}.brand-tag{font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:.2rem}.nav{margin-inline:auto}.nav ul{display:flex;gap:1.4rem}.nav a{display:inline-block;white-space:nowrap;padding:.4rem 0;text-decoration:none;color:var(--mute);font-weight:500;border-bottom:2px solid transparent;transition:color .15s ease}.nav a:hover{color:var(--ink)}.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--violet)}.nav-cta{display:none}.nav-toggle{display:none;margin-left:auto;align-items:center;gap:.5rem;background:transparent;color:var(--ink);border:1.5px solid var(--line);border-radius:999px;padding:.5rem 1rem;font:inherit;font-weight:600;cursor:pointer}h1{font-size:clamp(2.2rem,1.2rem + 4.2vw,3.9rem);font-weight:800;line-height:1.08;letter-spacing:-0.02em}h2{font-size:clamp(1.7rem,1.1rem + 2.2vw,2.6rem);font-weight:800;line-height:1.15;letter-spacing:-0.015em}h3{font-size:1.1rem;font-weight:700;line-height:1.3}.accent{color:var(--violet)}.accent-sky{color:var(--sky)}.lead{font-size:1.15rem;color:var(--mute);max-width:36rem}.kicker{font-weight:700;font-size:.85rem;letter-spacing:.09em;text-transform:uppercase;color:var(--sky)}.script{font-family:var(--script);font-weight:600;color:var(--sky);line-height:1.1}.section{padding-block:clamp(3rem,6vw,5.5rem)}.section-head{max-width:46rem;margin:0 auto 2.75rem;text-align:center}.section-head .kicker{display:block;margin-bottom:.8rem}.section-head .lead{margin:1rem auto 0}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding-block:clamp(2.5rem,6vw,5rem) clamp(2rem,4vw,3.5rem)}.hero-copy{display:grid;gap:1.4rem;justify-items:start}.hero-copy h1{max-width:15ch;text-wrap:balance}.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.6rem}.hero-visual{position:relative;isolation:isolate}.hero-visual::before{content:"";position:absolute;inset:-6% -4% -2% 2%;z-index:-1;border-radius:50%;border:2px solid rgba(125,183,255,0.38);box-shadow:0 0 70px rgba(139,108,240,0.38),inset 0 0 70px rgba(139,108,240,0.22);transform:rotate(-7deg)}.hero-visual::after{content:"";position:absolute;inset:6% -8% 6% 8%;z-index:-1;border-radius:50%;border:1.5px solid rgba(180,156,255,0.28);transform:rotate(9deg)}.fade-edges{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 84%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 84%,transparent);mask-composite:intersect}@media (prefers-reduced-motion:no-preference){.hero-visual img{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-block:1px solid var(--line-soft)}.benefit{display:flex;gap:1rem;align-items:flex-start;padding:1.75rem 1.5rem}.benefit + .benefit{border-left:1px solid var(--line-soft)}.benefit .ico{width:2rem;height:2rem;color:var(--violet);margin-top:.1rem}.benefit p{color:var(--mute);margin-top:.25rem;font-size:.97rem}.plan-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.plan-mini{padding:1.25rem 1.4rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);border-top:3px solid var(--c,var(--violet))}.plan-mini h3{color:var(--ct,var(--c,var(--violet)))}.plan-mini .price{font-size:1.9rem;font-weight:800;margin-top:.3rem}.plan-mini p{color:var(--mute);font-size:.92rem;margin-top:.2rem}.center{text-align:center}.mt{margin-top:2rem}/* ---------- Bandeau d'appel ---------- */
.cta-band {
  text-align: center; padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);
  border-radius: 28px; border: 1px solid var(--line);
  background:
    radial-gradient(600px 240px at 50% 0%, var(--band-glow), transparent 70%),
    var(--band-bg);
}
.cta-band .actions { justify-content: center; margin-top: 1.5rem; }
.cta-band p { color: var(--mute); margin-top: .8rem; }

/* ---------- Fonctionnalités ---------- */
.feat-layout { display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 1.25rem; align-items: center; }
.feat-col { display: grid; gap: 1rem; }
.feat {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.1rem 1.2rem; border-radius: var(--radius);
  background: var(--card); border: 1px solid var(--line);
}
.feat-ico {
  flex: none; width: 46px; height: 46px; border-radius: 50%;
  display: grid; place-items: center; color: var(--ct, var(--c, var(--violet)));
  background: var(--fill-strong);
  background: color-mix(in srgb, var(--c, var(--violet)) 16%, transparent);
}
.feat h3 { margin-bottom: .2rem; }
.feat p { color: var(--mute); font-size: .93rem; line-height: 1.5; }
.feat-shot img { margin-inline: auto; width: 100%; max-width: 560px; }
.note { color: var(--mute); font-size: .92rem; text-align: center; margin-top: 2rem; }
.note a { color: var(--sky); }

/* ---------- Comment ça marche ---------- */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.split h1, .split h2 { margin-bottom: 1.25rem; }
.split h1 { font-size: clamp(1.9rem, 1rem + 2.8vw, 2.9rem); }
.split .sub { font-size: 1.35rem; font-weight: 700; margin-bottom: 1rem; }
.split .lead { max-width: 32rem; }

.pile { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem .6rem; padding: 1rem 0; }
.chip {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .55rem .9rem; border-radius: 10px; font-size: .9rem; color: var(--ink);
  background: var(--panel2); border: 1px solid var(--line);
  transform: rotate(var(--r, 0deg)) translateY(var(--y, 0));
}
.chip::before { content: ""; width: .7rem; height: .7rem; border-radius: 3px; background: var(--c, var(--sky)); flex: none; }
.chip:nth-child(1) { --r: -4deg; --y: 4px; --c: #2de2c0; }
.chip:nth-child(2) { --r: 3deg; --c: #ff6b7a; }
.chip:nth-child(3) { --r: -2deg; --y: -6px; --c: #f5a54a; }
.chip:nth-child(4) { --r: 5deg; --y: 8px; --c: #4da3ff; }
.chip:nth-child(5) { --r: -5deg; --c: #b49cff; }
.chip:nth-child(6) { --r: 2deg; --y: -4px; --c: #2de2c0; }
.chip:nth-child(7) { --r: -3deg; --y: 6px; --c: #ff6b7a; }
.chip:nth-child(8) { --r: 4deg; --c: #a855f7; }
.chip:nth-child(9) { --r: -6deg; --y: -3px; --c: #ff5fa8; }
.chip:nth-child(10) { --r: 2deg; --y: 5px; --c: #4da3ff; }

.checks { display: grid; gap: .55rem; margin-top: 1.25rem; color: var(--mute); }
.checks li { display: flex; align-items: center; gap: .6rem; }
.checks .ico { width: 1.15rem; height: 1.15rem; color: var(--ok); stroke-width: 2.4; }

.tiles { display: flex; justify-content: center; align-items: flex-end; gap: clamp(.5rem, 1.6vw, 1.1rem); padding-top: 1rem; }
.tile { display: grid; justify-items: center; gap: .6rem; }
.tile-box {
  position: relative; width: clamp(58px, 9vw, 92px); aspect-ratio: 1; display: grid; place-items: center;
  border-radius: 20px; color: var(--ct, var(--c)); border: 2px solid var(--c);
  background: var(--fill);
  box-shadow: 0 0 28px -4px var(--c), inset 0 0 22px -8px var(--c);
}
.tile-box .ico { width: 46%; height: 46%; }
.tile-box::after {
  content: ""; position: absolute; right: -6px; bottom: -6px; width: 18px; height: 18px; border-radius: 50%;
  background: var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.tile span { font-size: .82rem; color: var(--mute); }
.tile:nth-child(1) { --c: #2de2c0; margin-bottom: 2.4rem; }
.tile:nth-child(2) { --c: #a855f7; margin-bottom: 4rem; }
.tile:nth-child(3) { --c: #4da3ff; margin-bottom: 5.2rem; }
.tile:nth-child(4) { --c: #ff5fa8; margin-bottom: 4rem; }
.tile:nth-child(5) { --c: #ffa43a; margin-bottom: 2.4rem; }
.tile:nth-child(3) .tile-box { width: clamp(68px, 11vw, 112px); }
.tiles-note { text-align: center; font-size: 1.9rem; margin-top: -.5rem; }

.steps { display: grid; gap: 1rem; max-width: 52rem; margin-inline: auto; counter-reset: etape; }
.step {
  display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: 1.25rem; align-items: start;
  padding: 1.4rem 1.6rem; border-radius: var(--radius);
  background: var(--card); border: 1px solid var(--line);
}
.step::before {
  counter-increment: etape; content: counter(etape);
  font-size: 2.6rem; font-weight: 800; line-height: 1; color: var(--violet);
}
.step p { color: var(--mute); margin-top: .35rem; }

/* ---------- Tarifs ---------- */
.plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; align-items: stretch; }
.plan {
  display: flex; flex-direction: column; padding: 1.5rem 1.15rem 1.25rem;
  border-radius: 22px; border: 1px solid var(--line); border-top: 3px solid var(--c);
  background: linear-gradient(180deg, var(--grad-a), var(--grad-b));
}
.plan-top { text-align: center; padding-bottom: 1rem; }
.plan-top .ico { width: 2rem; height: 2rem; color: var(--ct, var(--c)); margin-inline: auto; }
.plan-top h2 { font-size: 1.3rem; letter-spacing: 0; margin-top: .4rem; }
.plan-price { font-size: 2.2rem; font-weight: 800; color: var(--ct, var(--c)); line-height: 1.2; }
.plan-pc { color: var(--mute); font-size: .95rem; }
.plan ul { display: grid; gap: .4rem; margin-bottom: 1.25rem; flex: 1; }
.plan li {
  display: flex; align-items: center; justify-content: space-between; gap: .8rem;
  padding: .5rem .75rem; border-radius: 10px; font-size: .88rem; line-height: 1.3;
  background: var(--fill); color: var(--mute);
}
.plan li b { color: var(--ink); font-weight: 700; text-align: right; white-space: nowrap; }
.plan li .ico { width: 1.15rem; height: 1.15rem; stroke-width: 2.6; }
.plan li .yes { color: var(--ok); }
.plan li .no { color: var(--no); }
.plan .btn { background: transparent; color: var(--ink); border-color: var(--c); }
.plan .btn:hover { background: var(--c); color: #0b1030; }
.plans-head { position: relative; }
.plans-head .script { font-size: 1.7rem; margin-top: .9rem; }

/* ---------- Notre histoire ---------- */
.story { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.story h1 { margin-bottom: 1.5rem; }
.story p + p { margin-top: 1rem; }
.story-text p { color: var(--prose); max-width: 38rem; }
.signature { margin-top: 1.5rem; }
.signature .script { font-size: 2.4rem; display: block; }
.signature small { color: var(--mute); font-weight: 600; }
.portrait img {
  width: 100%; max-width: 380px; margin-inline: auto; border-radius: 28px;
  border: 1px solid var(--line); box-shadow: 0 30px 80px -30px rgba(139, 108, 240, 0.7);
}

.values { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line-soft); }
.value { padding: 1.75rem 1.5rem; text-align: center; }
.value + .value { border-left: 1px solid var(--line-soft); }
.value .ico { width: 2.2rem; height: 2.2rem; color: var(--violet); margin: 0 auto .6rem; }
.value p { color: var(--mute); margin-top: .3rem; font-size: .95rem; }

.timeline { max-width: 34rem; display: grid; gap: 1.25rem; margin-top: 1.5rem; }
.timeline li { position: relative; padding-left: 2.2rem; }
.timeline li::before {
  content: ""; position: absolute; left: 0; top: .3rem; width: 16px; height: 16px; border-radius: 50%;
  border: 2px solid var(--violet); background: var(--bg);
}
.timeline li::after { content: ""; position: absolute; left: 7px; top: 1.6rem; bottom: -1.5rem; width: 2px; background: var(--line); }
.timeline li:last-child::after { display: none; }
.two-col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.two-col > div > p { color: var(--mute); margin-top: 1rem; max-width: 34rem; }

.quote-panel { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.quote-panel img { width: 190px; border-radius: 22px; border: 1px solid var(--line); }
.quote-panel blockquote { font-size: clamp(1.25rem, .9rem + 1.4vw, 1.75rem); font-weight: 600; line-height: 1.35; color: var(--violet); }
.quote-panel .script { display: block; font-size: 2rem; margin-top: 1rem; }

.reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.review { padding: 1.4rem; border-radius: var(--radius); background: var(--card); border: 1px solid var(--line); }
.stars { display: flex; gap: .15rem; color: var(--gold); }
.stars .ico { fill: currentColor; stroke-width: 1; width: 1.15rem; height: 1.15rem; }
.review p { margin-top: .8rem; }

/* ---------- Mises à jour ---------- */
.releases { display: grid; gap: 1rem; max-width: 52rem; margin-inline: auto; }
.release {
  padding: 1.5rem 1.6rem; border-radius: var(--radius);
  background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--violet);
}
.release-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-bottom: .5rem; }
.release h2 { font-size: 1.35rem; letter-spacing: 0; }
.tag {
  display: inline-block; padding: .2rem .75rem; border-radius: 999px; font-size: .82rem; font-weight: 700;
  color: var(--sky); border: 1px solid var(--tag-line); background: var(--tag-bg);
}
.release p { color: var(--mute); }

/* ---------- Pages de texte ---------- */
.prose { max-width: 46rem; margin-inline: auto; }
.prose h1 { font-size: clamp(2rem, 1.2rem + 3vw, 2.8rem); margin-bottom: 1.5rem; }
.prose h2 { font-size: 1.35rem; margin: 2.2rem 0 .6rem; letter-spacing: 0; }
.prose p, .prose li { color: var(--prose); }
.prose ul { list-style: disc; padding-left: 1.25rem; display: grid; gap: .3rem; }
.prose .todo { color: var(--gold); font-weight: 600; }
.prose a { color: var(--sky); }

/* ---------- Contact et formulaires ---------- */
.contact-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.contact-side { display: grid; gap: 1rem; }
.info-card { padding: 1.4rem 1.5rem; border-radius: var(--radius); background: var(--card); border: 1px solid var(--line); }
.info-card h2 { font-size: 1.15rem; letter-spacing: 0; margin-bottom: .5rem; }
.info-card p { color: var(--mute); margin-bottom: 1rem; }
.link-list { display: grid; gap: .5rem; }
.link-list a { color: var(--sky); text-decoration: none; font-weight: 600; }
.link-list a:hover { text-decoration: underline; }

.form {
  display: grid; gap: 1.1rem; color-scheme: var(--scheme);
  padding: clamp(1.25rem, 3vw, 2rem); border-radius: 22px; border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--grad-a), var(--grad-b));
}
.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.field { display: grid; gap: .4rem; }
.field label { font-weight: 600; font-size: .95rem; }
.form input:not([type="checkbox"]), .form select, .form textarea {
  width: 100%; font: inherit; color: var(--ink);
  background: var(--input-bg); border: 1px solid var(--line); border-radius: 12px; padding: .8rem 1rem;
}
.form ::placeholder { color: var(--placeholder); }
.form input:not([type="checkbox"]):focus, .form select:focus, .form textarea:focus { border-color: var(--sky); }
.form option { background: var(--panel); color: var(--ink); }
.form textarea { min-height: 9rem; resize: vertical; }
.consent { display: flex; gap: .7rem; align-items: flex-start; font-size: .9rem; color: var(--mute); }
.consent input { flex: none; width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--violet); }
.consent a { color: var(--sky); }

/* ---------- Pages légales ---------- */
.notice {
  padding: 1rem 1.2rem; margin-bottom: 1.25rem; border-radius: 12px; border-left: 4px solid var(--gold);
  background: var(--notice-bg); color: var(--notice-ink); font-size: .95rem;
}
.prose .meta { color: var(--mute); font-size: .9rem; margin-bottom: 1rem; }

/* ---------- Pied de page ---------- */
.site-footer { margin-top: 3rem; border-top: 1px solid var(--line-soft); background: var(--footer-bg); }
.foot-in { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2rem; padding-block: 2.5rem; }
.foot-in p { color: var(--mute); margin-top: .8rem; max-width: 24rem; font-size: .95rem; }
.foot-in h2 { font-size: .95rem; letter-spacing: 0; margin-bottom: .8rem; }
.foot-in li + li { margin-top: .4rem; }
.foot-in a { color: var(--mute); text-decoration: none; }
.foot-in a:hover { color: var(--ink); text-decoration: underline; }
.copyright { border-top: 1px solid var(--line-soft); padding-block: 1.1rem; color: var(--mute); font-size: .85rem; }

/* ---------- Message temporaire ---------- */
.toast {
  position: fixed; left: 50%; bottom: 1.5rem; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: var(--panel2); color: var(--ink); border: 1px solid var(--violet);
  padding: .8rem 1.3rem; border-radius: 12px; z-index: 200; max-width: calc(100% - 2rem);
  transition: opacity .2s ease, transform .2s ease;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Mode clair : ajustements ---------- */
:root[data-theme="light"] :is(.feat, .plan-mini, .step, .review, .release, .info-card, .plan, .form, .cta-band) { box-shadow: var(--shadow-card); }
:root[data-theme="light"] .tile-box { background: #fff; box-shadow: 0 0 22px -8px var(--c), inset 0 0 18px -10px var(--c); }
:root[data-theme="light"] .portrait img { box-shadow: 0 30px 70px -34px rgba(40, 30, 120, 0.5); }
:root[data-theme="light"] .btn-ghost { color: var(--violet); }
:root[data-theme="light"] .btn-ghost:hover { color: var(--violet-d); }
:root[data-theme="light"] .plan .btn:hover { color: #0b1030; }
:root[data-theme="light"] .toast { background: #fff; color: var(--ink); box-shadow: 0 12px 30px -12px rgba(40, 30, 120, 0.5); }
.plan, .plan-mini, .feat, .tile { --ct: var(--c); }
:root[data-theme="light"] :is(.plan, .plan-mini, .feat, .tile) { --ct: color-mix(in srgb, var(--c) 55%, #101840); }

/* ---------- Adaptation tablette et mobile ---------- */
/* Menu replié : dès que la place manque pour tout afficher dans l'en-tête */ @media (max-width:1320px){.js .nav-toggle{display:inline-flex}.header-in{gap:1rem;flex-wrap:wrap}.header-in>.btn{display:none}.js .nav{display:none;position:absolute;left:0;right:0;top:100%;width:100%;background:var(--bg2);border-bottom:1px solid var(--line);padding:1rem var(--gutter) 1.5rem;margin:0}.js .site-header.open .nav{display:block}.nav ul{flex-direction:column;gap:.2rem}.nav a{padding:.7rem 0;font-size:1.05rem}.nav-cta{display:block;margin-top:.8rem}.nav-cta .btn{width:fit-content;max-width:100%;box-sizing:border-box;white-space:nowrap}.nav-cta .btn-primary{color:#ffffff}}@media (max-width:1100px){.plans{grid-template-columns:repeat(2,1fr)}.plan-strip{grid-template-columns:repeat(2,1fr)}.feat-layout{grid-template-columns:1fr 1fr}.feat-shot{grid-column:1 / -1;order:-1}.feat-layout{align-items:start}.feat-shot img{width:auto;height:auto;max-width:min(100%,420px);max-height:40vh}}@media (max-width:900px){.hero,.split,.story,.two-col{grid-template-columns:1fr}.hero-copy h1{max-width:none}.hero-visual{order:-1;max-width:560px;margin-inline:auto}.hero-visual img{width:auto;max-width:100%;max-height:44vh;margin-inline:auto}/* l'image d'accueil ne remplit jamais l'écran */
  .portrait { order: -1; }
  .benefits, .values, .reviews { grid-template-columns: 1fr; }
  .benefit + .benefit, .value + .value { border-left: 0; border-top: 1px solid var(--line-soft); }
  .foot-in { grid-template-columns: 1fr 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .foot-in > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .topbar-in { justify-content: center; text-align: center; }
  .two-fields { grid-template-columns: 1fr; }
  .foot-in { grid-template-columns: 1fr; }
  .plans, .plan-strip, .feat-layout { grid-template-columns: 1fr; }
  .quote-panel { grid-template-columns: 1fr; justify-items: start; }
  .quote-panel img { width: 150px; }
  .brand-name { font-size: 1.5rem; }
  .brand-tag { display: none; }
  .step { grid-template-columns: 2.4rem minmax(0, 1fr); padding: 1.15rem; }
  .step::before { font-size: 2rem; }
  .tile:nth-child(1), .tile:nth-child(5) { margin-bottom: 1.2rem; }
  .tile:nth-child(2), .tile:nth-child(4) { margin-bottom: 2rem; }
  .tile:nth-child(3) { margin-bottom: 2.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* ---------- Bouton clair/sombre : plus confortable au doigt (écrans tactiles uniquement) ----------
   Le bouton grandit très légèrement ; sa zone tactile est prolongée de façon invisible pour atteindre ~44 px,
   sans alourdir la barre du haut. Sur ordinateur (souris), rien ne change. */
@media (pointer: coarse) {
  .theme-toggle { position: relative; padding: .5rem 1rem; font-size: .9rem; }
  .theme-toggle::after { content: ""; position: absolute; inset: -6px -4px; }
}

/* ---------- Photos : pas de glisser-déposer ni de menu d'appui long (iPhone/iPad) ---------- */ img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}/* ---------- Réseaux sociaux (pied de page) :le bloc reste invisible tant qu'aucune adresse n'est renseignée ---------- */ .social:empty{display:none}.social{margin-top:1.1rem}.social-title{display:block;font-size:.85rem;font-weight:600;color:var(--mute);margin-bottom:.55rem}.foot-in .social-list{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}.foot-in .social-list li + li{margin-top:0}.foot-in .social-list a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.foot-in .social-list a:hover{background:var(--fill);color:var(--violet);border-color:var(--violet);text-decoration:none}.foot-in .social-list .ico{width:22px;height:22px}/* Message d'état du formulaire de contact (envoi en cours, succès, erreur) */
.form-status { margin-top: 1rem; font-size: .95rem; color: var(--mute); }
.form-status:empty { display: none; }
.form-status.is-ok { color: var(--ok); font-weight: 600; }
.form-status.is-error { color: #ff7b93; font-weight: 600; }
:root[data-theme="light"] .form-status.is-error { color: #c0264a; }

/* Les halos décoratifs de l'accueil ne doivent jamais faire défiler la page sur les côtés */ main{overflow-x:clip}.plans.plans-3{grid-template-columns:repeat(3,1fr);max-width:66rem;margin-inline:auto}.plan-badge{display:inline-block;margin-top:.55rem;padding:.2rem .75rem;border-radius:999px;font-size:.78rem;font-weight:700;color:#0b1030;background:var(--c)}.plan-desc{color:var(--mute);font-size:.92rem;margin-top:.6rem}.plan-featured{box-shadow:0 0 0 1px var(--c),0 18px 50px -24px var(--c)}.biz-hero .actions{margin-top:1.5rem}.tree{display:grid;gap:.4rem;padding:1.3rem 1.5rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);font-size:.97rem}.tree li{display:flex;align-items:center;gap:.55rem;padding-left:calc(var(--lvl,0) * 1.5rem);color:var(--ink);font-weight:600}.tree .ico{width:1.15rem;height:1.15rem;color:var(--gold);flex:none}.tree .file{color:var(--mute);font-weight:400}.tree .file .ico{color:var(--sky)}.rules{display:grid;gap:.6rem;max-width:48rem;margin-inline:auto}.rule{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:center;padding:.9rem 1.25rem;border-radius:14px;background:var(--card);border:1px solid var(--line)}.rule .when{color:var(--mute)}.rule .when b{color:var(--sky)}.rule .arrow{color:var(--gold);font-weight:800}.rule .dest{font-weight:700;color:var(--ink);text-align:right}.trades{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;max-width:52rem;margin-inline:auto}.faq-list{max-width:52rem;margin-inline:auto;display:grid;gap:.7rem}.faq-list details{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);padding:1rem 1.3rem}.faq-list summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";color:var(--violet);font-weight:800}.faq-list details[open] summary::after{content:"–"}.faq-list p{color:var(--mute);margin-top:.7rem}.biz-link{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:1.2rem 1.5rem;border-radius:var(--radius);border:1px solid var(--line);border-left:4px solid var(--gold);background:var(--card)}.biz-link-title{font-size:1.15rem;letter-spacing:0}.biz-link p{color:var(--mute);margin-top:.2rem}.note .todo{color:var(--gold);font-weight:600}@media (max-width:1100px){.plans.plans-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.plans.plans-3{grid-template-columns:1fr}.rule{grid-template-columns:1fr;gap:.3rem}.rule .dest{text-align:left}}.header-in>.btn{white-space:nowrap}@media (max-width:1500px){.nav ul{gap:1.1rem}}.biz-hero{align-items:end;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.biz-hero-sec{padding-bottom:0}.biz-hero>div{padding-bottom:clamp(2rem,6vw,5rem)}.biz-photo{margin:0}.biz-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:min(560px,70vh);margin-inline:auto}.rules-split{grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);max-width:70rem;margin:.5rem auto 0}.rules-split .tree{width:fit-content;min-width:17rem;padding:1.3rem 1.8rem}.rules-split .rules{max-width:none;margin:0}@media (max-width:900px){.biz-hero>div{padding-bottom:0}.biz-hero{grid-template-columns:1fr}.rules-split{grid-template-columns:1fr}.rules-split .tree{margin-inline:auto}.biz-photo img{max-height:420px}}.plan-was{color:var(--mute);font-size:.82rem;margin-top:.25rem}.plan-price small{font-size:.55em;font-weight:600;color:var(--mute)}.launch-banner{text-align:center;margin:-1.25rem auto 1.75rem;max-width:40rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:.95rem}.plans.plans-2{grid-template-columns:repeat(2,1fr);max-width:46rem;margin-inline:auto}@media (max-width:640px){.plans.plans-2{grid-template-columns:1fr}.launch-banner{border-radius:16px}}/* MAILLAGE INTERNE :fil d'Ariane, blocs « Dans la même rubrique », plan du site */
.breadcrumb { padding-top: 1.1rem; font-size: .88rem; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: 0; padding: 0; color: var(--mute); }
.breadcrumb li + li::before { content: "›"; margin-right: .35rem; color: var(--mute); }
.breadcrumb a { color: var(--mute); text-decoration: none; }
.breadcrumb a:hover { color: var(--ink); text-decoration: underline; }
.breadcrumb [aria-current="page"] { color: var(--ink); font-weight: 600; }
.silo { margin-block: 0 2.5rem; padding-top: 1.2rem; border-top: 1px solid var(--line-soft); font-size: .92rem; color: var(--mute); }
.silo p { margin: 0; line-height: 1.9; }
.silo span { font-weight: 600; color: var(--ink); margin-right: .3rem; }
.silo a { color: var(--mute); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.silo a:hover { color: var(--ink); }
.copyright a { color: inherit; }
.plan-site ul { margin-bottom: 1.6rem; }
.foot-in { grid-template-columns: 1.3fr repeat(4, 1fr); }
@media (max-width: 960px) { .foot-in { grid-template-columns: 1fr 1fr; } .foot-in > :first-child { grid-column: 1 / -1; } }
@media (max-width: 560px) { .foot-in { grid-template-columns: 1fr; } }

/* ACCUEIL EN UNE PAGE : sections, vidéo de démo */
[id] { scroll-margin-top: 6rem; }
.video-demo { position: relative; max-width: 960px; margin-inline: auto; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); background: var(--card); }
.video-demo img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.video-demo iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-play { position: absolute; inset: 0; margin: auto; width: 88px; height: 88px; border-radius: 50%; border: 0; cursor: pointer; font-size: 2rem; color: var(--btn-ink); background: var(--violet); box-shadow: 0 0 40px -6px var(--btn-glow); transition: transform .2s; }
.video-play:hover, .video-play:focus-visible { transform: scale(1.08); }
.video-soon { position: absolute; inset: auto 0 0 0; margin: 0; padding: 1rem; text-align: center; font-weight: 600; color: var(--ink); background: linear-gradient(transparent, rgba(8, 12, 38, .85)); }
.onepage-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.onepage-split { display: grid; grid-template-columns: 1.3fr .9fr; gap: 3rem; align-items: center; }
.onepage-checks { list-style: none; padding: 0; margin: 1.4rem 0; display: grid; gap: .7rem; }
.onepage-checks li { display: flex; gap: .7rem; align-items: flex-start; }
.onepage-checks .ico { flex: none; color: var(--ok); margin-top: .2rem; }
.onepage-photo { margin: 0; }
.onepage-photo img { width: 100%; max-height: min(520px, 70vh); object-fit: contain; -webkit-mask-image: linear-gradient(#000 80%, transparent); mask-image: linear-gradient(#000 80%, transparent); }
.nav a.is-active { color: var(--ink); }
@media (max-width: 960px) { .onepage-grid { grid-template-columns: repeat(2, 1fr); } .onepage-split { grid-template-columns: 1fr; } .onepage-photo { max-width: 340px; margin-inline: auto; } }
@media (max-width: 560px) { .onepage-grid { grid-template-columns: 1fr; } }

/* ANIMATIONS : le site bouge en douceur. Tout est coupé si le visiteur a demandé « moins d'animations » à son ordinateur. */ .scroll-progress{position:fixed;top:0;left:0;z-index:100;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--sky),var(--violet),var(--gold));pointer-events:none}.site-header{transition:background .3s,box-shadow .3s}.site-header.is-scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.7)}.tri-demo{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:stretch;max-width:60rem;margin:0 auto 2.5rem}.tri-zone{padding:1.1rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);min-height:15rem}.tri-titre{font-weight:700;margin:0 0 .8rem}.tri-titre span{font-weight:500;color:var(--mute);font-size:.85rem;margin-left:.3rem}.tri-pile{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.tri-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;font-size:.8rem;white-space:nowrap;background:var(--fill-strong);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);color:var(--ink);will-change:transform,opacity}.tri-chip .ico{width:14px;height:14px;color:var(--c)}.tri-dossiers{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.tri-dossier{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border-radius:var(--radius-s);background:var(--fill);border:1px solid var(--line-soft);transition:border-color .3s,background .3s}.tri-dossier .ico{color:var(--c);width:22px;height:22px;flex:none}.tri-nom{flex:1;font-weight:600;font-size:.92rem}.tri-compte{min-width:1.8rem;text-align:center;font-weight:700;font-size:.85rem;padding:.1rem .45rem;border-radius:999px;color:var(--btn-ink);background:var(--c)}.tri-dossier.is-hit{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.tri-dossier.is-hit .tri-compte{animation:pop .35s ease}.tri-fleche{display:grid;place-items:center;gap:.5rem;align-content:center}.tri-logo{font-weight:800;letter-spacing:.06em;font-size:.8rem;color:var(--violet)}.tri-trait{width:56px;height:4px;border-radius:4px;background:linear-gradient(90deg,transparent,var(--violet),transparent);background-size:200% 100%}.tri-vol{position:absolute;z-index:5;margin:0;pointer-events:none}@media (max-width:760px){.tri-demo{grid-template-columns:1fr;gap:.8rem}.tri-fleche{grid-auto-flow:column}.tri-trait{width:4px;height:36px;background:linear-gradient(180deg,transparent,var(--violet),transparent);background-size:100% 200%}.tri-zone{min-height:0}}/* Fichiers flottants autour de l'ordinateur */
.hero-flottants { position: absolute; inset: 0; z-index: 2; list-style: none; margin: 0; padding: 0; pointer-events: none; }
.hero-flottants li { position: absolute; left: var(--x); top: var(--y); display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .6rem; border-radius: 999px;
  font-size: .75rem; font-weight: 700; color: var(--ink); background: var(--card); border: 1px solid color-mix(in srgb, var(--c) 55%, transparent);
  box-shadow: 0 10px 24px -14px var(--c); }
.hero-flottants .ico { width: 14px; height: 14px; color: var(--c); }
@media (max-width: 760px) { .hero-flottants { display: none; } }

@media (prefers-reduced-motion: no-preference) {
  /* apparition au défilement */
  .js .reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--delai, 0s); }
  .js .reveal.is-visible { opacity: 1; transform: none; }
  /* fond qui respire */
  body::after { content: ""; position: fixed; inset: -20%; z-index: -1; pointer-events: none;
    background: radial-gradient(40% 35% at 20% 30%, var(--glow-1), transparent 70%), radial-gradient(35% 30% at 80% 70%, var(--glow-2), transparent 70%);
    animation: aurore 22s ease-in-out infinite alternate; opacity: .55; }
  @keyframes aurore { 0% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(4%, -3%, 0) scale(1.08); } 100% { transform: translate3d(-3%, 4%, 0) scale(1); } }
  /* ordinateur du héros qui flotte, fichiers qui dansent autour */
  .hero-visual img { animation: rise .9s cubic-bezier(.2, .7, .2, 1) both, flotte 7s ease-in-out .9s infinite; }
  @keyframes flotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
  .hero-flottants li { animation: bulle 6s ease-in-out var(--d) infinite, entree .8s cubic-bezier(.2, .7, .2, 1) calc(var(--d) * .3 + .6s) both; }
  @keyframes bulle { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-14px) rotate(3deg); } }
  @keyframes entree { from { opacity: 0; scale: .6; } to { opacity: 1; scale: 1; } }
  /* titre : dégradé qui ondule */
  .accent-anime { background: linear-gradient(90deg, var(--violet), var(--sky), var(--violet)); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text;
    color: transparent; animation: ondule 6s linear infinite; }
  @keyframes ondule { to { background-position: 200% 0; } }
  /* boutons : petit soulèvement et reflet */
  .btn { transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
  .btn:hover { transform: translateY(-2px); }
  .btn-primary { position: relative; overflow: hidden; }
  .btn-primary::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; transform: skewX(-20deg);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent); animation: reflet 5s ease-in-out infinite; }
  @keyframes reflet { 0%, 70% { left: -60%; } 100% { left: 130%; } }
  /* cartes : se soulèvent au survol */
  :is(.feat, .plan, .plan-mini, .step, .tile, .value, .info-card, .release, .tri-zone, .silo-liste a) { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
  :is(.feat, .plan, .plan-mini, .step, .tile, .value, .info-card, .release):hover { transform: translateY(-4px); box-shadow: 0 18px 40px -22px var(--c, var(--violet)); }
  /* étapes : le numéro pulse quand l'étape apparaît */ .js .step.is-visible::before{animation:pop .6s ease calc(var(--delai,0s) + .2s) both}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}.tri-trait{animation:defile 1.6s linear infinite}@keyframes defile{to{background-position:-200% 0}}@media (max-width:760px){@keyframes defile{to{background-position:0 -200%}}}.faq-list details[open]>p{animation:deplie .35s ease}@keyframes deplie{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.video-play{animation:halo 2.4s ease-in-out infinite}@keyframes halo{0%,100%{box-shadow:0 0 0 0 rgba(180,156,255,.55)}50%{box-shadow:0 0 0 18px rgba(180,156,255,0)}}}.milo{position:fixed;right:clamp(.8rem,2vw,1.6rem);bottom:clamp(.8rem,2vw,1.6rem);z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;opacity:0;transform:translateY(30px) scale(.8);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.9,.3,1.3);pointer-events:none}.milo.milo-la{opacity:1;transform:none}.milo>*{pointer-events:auto}.milo-perso{--milo-fond:var(--bg);width:104px;height:100px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 0 7px rgba(143,195,255,.35)) drop-shadow(0 10px 16px rgba(122,92,240,.35))}:root[data-theme="light"] .milo-perso{filter:drop-shadow(0 8px 14px rgba(122,92,240,.3))}.milo-perso svg{width:100%;height:100%;overflow:visible}.milo-perso:focus-visible{outline:2px solid var(--violet);outline-offset:4px;border-radius:50%}.milo-bulle{position:relative;width:min(19rem,calc(100vw - 2rem));padding:1rem 1.1rem .8rem;border-radius:18px 18px 6px 18px;background:var(--card);border:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);color:var(--ink)}.milo-bulle[hidden]{display:none}.milo-nom{margin:0 0 .2rem;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--violet)}.milo-texte{margin:0 0 .7rem;font-size:.93rem;line-height:1.5;padding-right:.8rem}.milo-actions{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center}.milo-lien{font-weight:700;font-size:.9rem;color:var(--violet);text-decoration:none}.milo-lien:hover{text-decoration:underline}.milo-suivant,.milo-jamais,.milo-fermer{border:0;background:none;cursor:pointer;color:var(--mute);font:inherit;font-size:.82rem;padding:0}.milo-suivant:hover,.milo-jamais:hover,.milo-fermer:hover{color:var(--ink);text-decoration:underline}.milo-jamais{display:block;margin-top:.55rem;font-size:.75rem}.milo-fermer{position:absolute;top:.45rem;right:.65rem;font-size:1.2rem;line-height:1;text-decoration:none !important}@media (max-width:560px){.milo-perso{width:76px;height:72px}}@media (prefers-reduced-motion:no-preference){.milo-aile{transform-box:fill-box;animation:battement 1.8s ease-in-out infinite}.milo-aile-g{transform-origin:100% 50%}.milo-aile-d{transform-origin:0% 50%}@keyframes battement{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.84)}}.milo-perso svg{animation:vole 3.6s ease-in-out infinite}@keyframes vole{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}.milo-antennes{transform-box:fill-box;transform-origin:50% 100%;animation:antennes 2.4s ease-in-out infinite}@keyframes antennes{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.milo-yeux{transform-box:fill-box;transform-origin:50% 50%;animation:cligne 5s infinite}@keyframes cligne{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}.milo.milo-saute .milo-perso{animation:saute .6s cubic-bezier(.3,1.6,.5,1)}@keyframes saute{0%{transform:translateY(0)}40%{transform:translateY(-14px) rotate(-6deg)}100%{transform:translateY(0)}}.milo-bulle{animation:bulle-in .35s cubic-bezier(.2,.9,.3,1.2);transform-origin:100% 100%}@keyframes bulle-in{from{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:none}}}:root[data-theme="light"] #mly-g stop:first-child{stop-color:#4f8ff0}:root[data-theme="light"] #mly-g stop:last-child{stop-color:#8b6cf0}:root[data-theme="light"] .milo-antennes{stroke:#8b6cf0}h1 .h1-mots{display:block;margin-top:.9rem;max-width:40rem;font-size:clamp(1rem,.85rem + .6vw,1.25rem);font-weight:600;line-height:1.4;letter-spacing:0;color:var(--mute);-webkit-text-fill-color:currentColor}.section-head h1 .h1-mots,.center h1 .h1-mots{margin-inline:auto}.badge-local{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .9rem;border-radius:999px;font-size:.95rem;color:var(--ink);background:color-mix(in srgb,var(--ok) 12%,transparent);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent)}.badge-local .ico{color:var(--ok);flex:none}.local-band{display:grid;grid-template-columns:1.3fr .9fr;gap:3rem;align-items:center;padding:clamp(1.5rem,4vw,2.75rem);border-radius:var(--radius);background:var(--card);border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line))}.local-schema{display:grid;gap:1rem;justify-items:center;text-align:center}.local-pc{display:grid;justify-items:center;gap:.3rem;padding:1.4rem 1.6rem;border-radius:var(--radius);background:var(--fill-strong);border:1px solid var(--line);width:100%}.local-pc .ico{width:40px;height:40px;color:var(--ok)}.local-pc span{color:var(--mute);font-size:.9rem}.local-barre{display:flex;align-items:center;gap:.7rem;font-size:.9rem;color:var(--mute)}.local-barre i{font-style:normal;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:var(--no);font-weight:700}@media (max-width:860px){.local-band{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.local-pc .ico{animation:protege 3s ease-in-out infinite}@keyframes protege{0%,100%{transform:scale(1);filter:none}50%{transform:scale(1.08);filter:drop-shadow(0 0 10px var(--ok))}}}/* ANIMATIONS :RÉGLAGE FINAL — peu d'effets, aux bons endroits, identiques en mode clair et en mode sombre.
   Restent animés : l'ordinateur et les fichiers du haut de l'accueil, la démo de rangement, l'apparition des sections,le survol des cartes et des boutons,le bouton de la vidéo,le bouclier « 100 % local » et la mascotte. */ @media (prefers-reduced-motion:no-preference){/* on calme :pas de reflet permanent sur tous les boutons,pas de « pop » des numéros d'étapes */
  .btn-primary::after { display: none; animation: none; }
  .hero .btn-primary::after, .cta-band .btn-primary::after { display: block; animation: reflet 7s ease-in-out 2s infinite; }
  .js .step.is-visible::before { animation: none; }
  /* apparition : seulement les titres de section et les groupes de cartes (pas chaque paragraphe) */
  .js .reveal { transform: translateY(18px); transition-duration: .6s; }
  .js .prose > h2.reveal, .js .silo.reveal, .js .faq-list details.reveal { opacity: 1; transform: none; transition: none; }
  /* fond : halos très lents, plus doux */
  body::after { animation-duration: 40s; opacity: .45; }
  :root[data-theme="light"] body::after { opacity: .6; }

  /* survol des cartes : même effet dans les deux modes (bordure colorée + halo doux) */
  :is(.feat, .plan, .plan-mini, .step, .tile, .value, .info-card, .release):hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--c, var(--violet)) 65%, transparent);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--c, var(--violet)) 35%, transparent),
                0 16px 38px -18px color-mix(in srgb, var(--c, var(--violet)) 75%, transparent);
  }
  :root[data-theme="light"] :is(.feat, .plan, .plan-mini, .step, .tile, .value, .info-card, .release):hover {
    border-color: color-mix(in srgb, var(--c, var(--violet)) 60%, transparent);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--c, var(--violet)) 45%, transparent),
                0 12px 34px -8px color-mix(in srgb, var(--c, var(--violet)) 75%, transparent);
  }
  /* soulèvement même après l'apparition */ .js .reveal.is-visible:is(.feat,.plan,.plan-mini,.step,.tile,.value,.info-card,.release):hover{transform:translateY(-3px)}.btn-primary:hover{box-shadow:0 10px 26px -10px var(--btn-glow)}:root[data-theme="light"] .btn-primary:hover{box-shadow:0 10px 24px -10px rgba(139,108,240,.55)}.btn-ghost:hover{box-shadow:0 8px 22px -12px var(--violet)}}.h1-look{font-size:clamp(2.2rem,1.2rem + 4.2vw,3.9rem);font-weight:800;line-height:1.08;letter-spacing:-0.02em;margin:0}.hero-copy .h1-look{max-width:15ch;text-wrap:balance}.split .h1-look{font-size:clamp(1.9rem,1rem + 2.8vw,2.9rem)}.prose .h1-look{font-size:clamp(2rem,1.2rem + 3vw,2.8rem)}h1.h1-seo{font-size:clamp(1rem,.85rem + .6vw,1.25rem);font-weight:600;line-height:1.4;letter-spacing:0;color:var(--mute);max-width:40rem;margin-top:.9rem}.hero-copy h1.h1-seo{max-width:40rem;margin-top:-.5rem}.section-head h1.h1-seo,.center h1.h1-seo{margin-inline:auto}@media (max-width:760px){.hero-copy .h1-look{max-width:none}}/* L'ESSENTIEL : résumé en quelques lignes (visiteurs pressés, Google et assistants IA) */
.essentiel-wrap { margin-top: clamp(.5rem, 2vw, 1.5rem); margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.essentiel { max-width: 46rem; margin: 1.6rem auto 0; text-align: left; padding: 1.1rem 1.4rem 1.2rem;
  border-radius: var(--radius); background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--violet); }
.essentiel-titre { font-weight: 700; font-size: .85rem; letter-spacing: .09em; text-transform: uppercase; color: var(--sky); margin-bottom: .55rem; }
.essentiel ul { margin: 0; padding-left: 1.15rem; display: grid; gap: .4rem; }
.essentiel li { color: var(--mute); line-height: 1.55; }
.essentiel li b { color: var(--ink); }
.essentiel ul { list-style: disc; }
.essentiel li::marker { color: var(--violet); }
/* L'essentiel replié par défaut :une ligne discrète,ouverte au clic (le texte reste lisible par Google) */ details.essentiel{padding:0;border:0;border-left:0;background:transparent;max-width:46rem}details.essentiel>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:.78rem;color:var(--sky);transition:border-color .2s}details.essentiel>summary::-webkit-details-marker{display:none}details.essentiel>summary::after{content:"›";font-size:1.1rem;line-height:1;transition:transform .2s}details.essentiel[open]>summary::after{transform:rotate(90deg)}details.essentiel>summary:hover{border-color:var(--violet)}details.essentiel[open] ul{margin-top:.8rem;padding:1rem 1.3rem 1rem 2.3rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);border-left:4px solid var(--violet)}.essentiel-wrap{margin-top:.5rem;margin-bottom:1.2rem}.section-head details.essentiel{text-align:center}.section-head details.essentiel ul{text-align:left}/* BANDES ALTERNÉES :le site reste en mode sombre,et une section sur deux est en clair (fond blanc). Les couleurs claires sont les mêmes que celles de l'ancien mode clair. */
.theme-toggle { display: none !important; }
.section.bande {
  --bg: #f5f6ff;
  --bg2: #ffffff;
  --panel: #ffffff;
  --panel2: #ffffff;
  --line: rgba(91, 70, 190, 0.24);
  --line-soft: rgba(91, 70, 190, 0.13);
  --violet: #6a4bd8;
  --violet-d: #5537c0;
  --sky: #1d63cc;
  --ink: #0f1538;
  --mute: #4a5482;
  --ok: #0f9a60;
  --no: #d0364b;
  --gold: #b4680a;

  --card: rgba(255, 255, 255, 0.92);
  --grad-a: #ffffff;
  --grad-b: #f0f1ff;
  --fill: rgba(15, 21, 56, 0.05);
  --fill-strong: rgba(15, 21, 56, 0.07);
  --fill-topbar: rgba(15, 21, 56, 0.04);
  --input-bg: #ffffff;
  --header-bg: rgba(245, 246, 255, 0.86);
  --ghost-bg: rgba(255, 255, 255, 0.75);
  --ghost-hover: rgba(106, 75, 216, 0.10);
  --footer-bg: rgba(233, 235, 252, 0.85);
  --band-bg: rgba(255, 255, 255, 0.85);
  --glow-1: rgba(139, 108, 240, 0.16);
  --glow-2: rgba(80, 140, 255, 0.12);
  --band-glow: rgba(139, 108, 240, 0.18);
  --prose: #2a3157;
  --btn-ink: #ffffff;
  --btn-glow: rgba(106, 75, 216, 0.55);
  --violet-hover: #7a5ce6;
  --placeholder: rgba(74, 84, 130, 0.6);
  --notice-ink: #6b3f04;
  --notice-bg: rgba(245, 165, 74, 0.16);
  --tag-bg: rgba(29, 99, 204, 0.08);
  --tag-line: rgba(29, 99, 204, 0.35);
  --shadow-card: 0 14px 34px -22px rgba(40, 30, 120, 0.45);
  --scheme: light;

  background: var(--bg); color: var(--ink); color-scheme: light;
}
.section.bande :is(.feat, .plan-mini, .step, .review, .release, .info-card, .plan, .form, .cta-band) { box-shadow: var(--shadow-card); }
.section.bande .tile-box { background: #fff; box-shadow: 0 0 22px -8px var(--c), inset 0 0 18px -10px var(--c); }
.section.bande .portrait img { box-shadow: 0 30px 70px -34px rgba(40, 30, 120, 0.5); }
.section.bande .btn-ghost { color: var(--violet); }
.section.bande .btn-ghost:hover { color: var(--violet-d); }
.section.bande .plan .btn:hover { color: #0b1030; }
.section.bande .toast { background: #fff; color: var(--ink); box-shadow: 0 12px 30px -12px rgba(40, 30, 120, 0.5); }
.section.bande :is(.plan, .plan-mini, .feat, .tile) { --ct: color-mix(in srgb, var(--c) 55%, #101840); }
.section.bande .form-status.is-error { color: #c0264a; }
.section.bande .btn-primary:hover { box-shadow: 0 10px 24px -10px rgba(139, 108, 240, .55); }
@media (prefers-reduced-motion: no-preference) {
  .section.bande :is(.feat, .plan, .plan-mini, .step, .tile, .value, .info-card, .release):hover {
    border-color: color-mix(in srgb, var(--c, var(--violet)) 60%, transparent);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--c, var(--violet)) 45%, transparent), 0 12px 34px -8px color-mix(in srgb, var(--c, var(--violet)) 75%, transparent);
  }
  .section.bande .btn-primary:hover { box-shadow: 0 10px 24px -10px rgba(139, 108, 240, .55); }
}

main > .section.suite { padding-top: 0; }
/* Icônes « Images / Vidéos / Documents… » : pas de cadre rectangulaire au survol, seule l'icône se soulève */ .tile:hover,.section.bande .tile:hover,.js .reveal.is-visible.tile:hover{box-shadow:none !important;border-color:transparent !important;outline:none;transform:none !important}@media (prefers-reduced-motion:no-preference){.tile-box{transition:transform .25s ease}.tile:hover .tile-box{transform:translateY(-4px)}}.hero-visual .hero-photo{display:block;width:auto;height:auto;max-width:100%;max-height:min(78vh,46rem);margin-inline:auto;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent);filter:drop-shadow(0 30px 50px rgba(8,12,38,.45))}@media (prefers-reduced-motion:no-preference){/* une personne ne « flotte » pas :on garde seulement l'apparition */
  .hero-visual .hero-photo { animation: rise .9s cubic-bezier(.2, .7, .2, 1) both; }
}
@media (max-width: 900px) {
  .hero-visual .hero-photo { max-height: 52vh; }
}
/* V1.2 — plus de cercles autour de la photo d'accueil */ .hero-visual::before,.hero-visual::after{content:none;display:none}.flux-cadre{margin:0;padding:clamp(.6rem,1.5vw,1.1rem);border-radius:22px;border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 40%,rgba(139,108,240,.16),transparent 70%),linear-gradient(180deg,#0f1544,#0a0f33);box-shadow:0 30px 60px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden}.flux-scene{display:block;width:100%;height:auto}.tiles.tiles-mobile{display:none}@media (max-width:640px){.flux-cadre{display:none}.tiles.tiles-mobile{display:flex}}.hs-flux{animation:hs-flux 1.4s linear infinite}@keyframes hs-flux{to{stroke-dashoffset:-32}}.hs-bob{animation:hs-bob .45s ease-in-out infinite alternate}@keyframes hs-bob{to{transform:translateY(-3px) rotate(2deg)}}.hs-jg,.hs-jd{transform-box:fill-box;transform-origin:50% 0;animation:hs-jambe .45s ease-in-out infinite alternate}.hs-jd{animation-direction:alternate-reverse}@keyframes hs-jambe{from{transform:rotate(22deg)}to{transform:rotate(-22deg)}}.hs-yeux{transform-box:fill-box;transform-origin:center;animation:hs-cligne 4s infinite}@keyframes hs-cligne{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}.hs-flotte{animation:hs-flotte 5s ease-in-out infinite}@keyframes hs-flotte{50%{transform:translateY(-8px)}}.hs-aile-g{transform-box:fill-box;transform-origin:100% 50%;animation:hs-aile 2.6s ease-in-out infinite}.hs-aile-d{transform-box:fill-box;transform-origin:0 50%;animation:hs-aile 2.6s ease-in-out infinite}@keyframes hs-aile{50%{transform:scaleX(.9)}}@media (prefers-reduced-motion:reduce){.hs-flux,.hs-bob,.hs-jg,.hs-jd,.hs-yeux,.hs-flotte,.hs-aile-g,.hs-aile-d{animation:none}}.flux-cadre + .tiles-mobile + .tiles-note,.flux-cadre ~ .tiles-note{margin-top:1.1rem;text-align:center}.tarif{display:grid;gap:1.4rem;justify-items:center;margin-top:1.5rem}.tarif [data-vue]{width:100%;display:grid;gap:1.4rem;justify-items:center}.js .tarif [data-off]{display:none}.tarif-switch{display:inline-flex;padding:.3rem;gap:.3rem;border-radius:999px;background:var(--fill);border:1px solid var(--line)}.tarif-switch button{font:inherit;font-weight:700;font-size:1rem;color:var(--mute);background:transparent;border:0;border-radius:999px;padding:.65rem 1.4rem;cursor:pointer;transition:background .2s,color .2s}.tarif-switch button[aria-pressed="true"]{background:var(--violet);color:var(--btn-ink)}.tarif-switch button:hover:not([aria-pressed="true"]){color:var(--ink)}.tarif-switch-sm button{font-size:.92rem;padding:.5rem 1.1rem}.tarif-eco{display:inline-block;margin-left:.35rem;padding:.05rem .5rem;border-radius:999px;font-size:.78rem;background:#3ddc97;color:#0b2a1c}.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;width:100%;max-width:66rem;align-items:stretch}.pcards-1{grid-template-columns:minmax(0,24rem);justify-content:center}.pcard{position:relative;display:flex;flex-direction:column;background:#ffffff;color:#172a46;border-radius:22px;padding:1.7rem 1.4rem 1.4rem;border:1px solid #e3e6f2;box-shadow:0 10px 30px rgba(8,12,38,.18)}.pcard-star{border:2px solid #6a4bd8}.pcard h3{font-size:1.15rem;color:#172a46;margin:0}.pc-badge{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);margin:0;padding:.2rem .8rem;border-radius:999px;background:#6a4bd8;color:#fff;font-size:.78rem;font-weight:700;white-space:nowrap}.pc-prix{margin:.6rem 0 0;color:#172a46}.pc-montant{font-size:2.4rem;font-weight:800;color:#5537c0}.pc-unite{font-weight:600;color:#4a5482}.pc-sous{margin:.2rem 0 1rem;color:#4a5482;font-size:.92rem}.pc-list{list-style:none;padding:0;margin:0 0 1.3rem;display:grid;gap:.55rem;flex:1}.pc-list li{display:flex;gap:.55rem;align-items:flex-start;font-size:.93rem;color:#24304f}.pc-list .ico{width:1.1rem;height:1.1rem;flex:none;margin-top:.12rem;color:#12935a;stroke-width:2.8}.pcard .pc-btn{background:#f0ecff;color:#3d2a9a;border:1px solid #d6ccff}.pcard .pc-btn:hover{background:#e4dcff}.pcard .btn:focus-visible{outline-color:#1d63cc}.pc-astuce{margin:.9rem 0 0;font-size:.85rem;color:#4a5482;text-align:center}.tarif-rassure{margin:0;text-align:center;color:var(--mute);font-size:.92rem}@media (max-width:900px){.pcards{grid-template-columns:minmax(0,24rem);justify-content:center}}/* ========================================================================== V1.5 — Page d'accueil (14/10/2026)
   ========================================================================== */

/* Texte un peu plus grand sur ordinateur (la réduction de la V1.2 à 75 % rendait tout trop petit) */
@media (min-width: 1025px) {
  html { font-size: 84%; }
}

/* Titre d'accueil :toujours sur deux lignes (une ligne par morceau),juste un peu plus grand */ .hero-copy .h1-look{max-width:none}.h1-look .h1-ligne{display:block}@media (min-width:761px){.h1-look .h1-ligne{white-space:nowrap}}/* Bouton « Télécharger » de l'en-tête : pas d'ombre au repos,seulement au survol */ .site-header .btn-primary{box-shadow:none}.site-header .btn-primary:hover{box-shadow:0 10px 26px -10px var(--btn-glow)}.local-v15{display:grid;gap:1.6rem;justify-items:center}.checks-2col{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 2.4rem;max-width:62rem;margin:.4rem auto 0}.checks-2col li{line-height:1.55}@media (max-width:760px){.checks-2col{grid-template-columns:1fr}}/* Fonctionnalités :cartes fixes (rien ne s'allume au survol) et icônes plus « dessinées » */
.feats-v15 .feat:hover,
.section.bande .feats-v15 .feat:hover,
.js .reveal.is-visible.feat:hover { transform: none !important; box-shadow: var(--shadow-card, none) !important; border-color: var(--line) !important; }
:root[data-theme="dark"] .feats-v15 .feat:hover { box-shadow: none !important; }
.feats-v15 .feat-ico { width: 52px; height: 52px; border-radius: 14px; background: color-mix(in srgb, var(--violet) 12%, transparent); color: var(--violet); }
.feats-v15 .feat:nth-child(even) .feat-ico { background: color-mix(in srgb, var(--sky) 12%, transparent); color: var(--sky); }
.ico-v15 { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ico-v15 .f { fill: currentColor; fill-opacity: .16; stroke: none; }
.ico-v15 .f.p { fill-opacity: 1; stroke: none; }

/* 4 étapes : rien ne s'allume au survol;elles se déroulent une par une en descendant */ .steps-v15 .step:hover,.section.bande .steps-v15 .step:hover,.js .reveal.is-visible.step:hover{transform:none !important;box-shadow:none !important;border-color:var(--line) !important}:root[data-theme="light"] .steps-v15 .step:hover,.section.bande .steps-v15 .step:hover{box-shadow:var(--shadow-card) !important}@media (prefers-reduced-motion:no-preference){.js .steps-v15 .step.reveal{opacity:0;transform:translateX(-46px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:0s}.js .steps-v15 .step.reveal:nth-child(even){transform:translateX(46px)}.js .steps-v15 .step.reveal.is-visible{opacity:1;transform:none}}.entreprises-v15{display:grid;gap:1.8rem;justify-items:center;text-align:left}.entreprises-v15 .section-head{margin-bottom:0}.entreprises-v15 .actions{justify-content:center;margin-top:1rem}.entreprises-v15 .section-head .lead{margin-bottom:.8rem}.entreprises-v15 .checks-2col{gap:1.5rem 3rem}.entreprises-v15 .checks-2col li,.local-v15 .checks-2col li{line-height:1.65}.tarif-v15{display:grid;gap:1.4rem;justify-items:center;margin-top:1.5rem}.pcards-v15{grid-template-columns:repeat(3,minmax(0,1fr));max-width:66rem}.pcards-v15 .pcard,.pcards-v15 .pcard-annuel{border:1px solid #e3e6f2}.pcards-v15 .pcard-annuel{box-shadow:0 18px 44px rgba(8,12,38,.26)}.pc-pcs{display:inline-flex;align-items:center;align-self:flex-start;gap:.2rem;margin:-.3rem 0 1.1rem;padding:.25rem;border-radius:999px;background:#f2f0fb;border:1px solid #e3e0f5}.pc-pcs button{width:2.1rem;height:2.1rem;border-radius:50%;border:0;background:#ffffff;color:#3d2a9a;font:inherit;font-size:1.2rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 3px rgba(23,42,70,.15);transition:background .15s,opacity .15s}.pc-pcs button:hover:not(:disabled){background:#ece6ff}.pc-pcs button:disabled{opacity:.35;cursor:default;box-shadow:none}.pc-pcs button:focus-visible{outline:2px solid #1d63cc;outline-offset:2px}.pc-pcs output{min-width:4.2rem;text-align:center;font-weight:700;color:#172a46}.pc-direct{display:block;margin-top:.75rem;text-align:center;font-size:.92rem;font-weight:600;color:#4a3aa8;text-decoration:underline;text-underline-offset:3px}.pc-direct:hover{color:#2c1f80}.pc-montant{transition:opacity .2s}@media (max-width:900px){.pcards-v15{grid-template-columns:minmax(0,24rem);justify-content:center}}/* V1.5 (suite) — Confidentialité en deux colonnes :le texte à gauche,l'animation « les IA ne passent pas » à droite */
.local-v15 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; justify-items: stretch; }
.local-v15 .local-texte .lead { margin-top: .8rem; }
.local-v15 .onepage-checks { gap: 1rem; }
.local-v15 .onepage-checks li { line-height: 1.6; }
.ia-garde { margin: 0; display: grid; gap: .8rem; justify-items: center; }
.ia-scene { width: 100%; max-width: 30rem; height: auto; overflow: visible; }
.ia-garde figcaption { color: var(--mute); font-size: .95rem; text-align: center; max-width: 26rem; }
.ia-x { opacity: 0; }
@media (max-width: 860px) { .local-v15 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: no-preference) {
  .ia-agent { animation: ia-approche 4.4s cubic-bezier(.45, .05, .35, 1) var(--d) infinite both; }
  .ia-agent .ia-x { animation: ia-refuse 4.4s ease var(--d) infinite both; }
  @keyframes ia-approche {
    0%, 12% { transform: translate(0, 0); }
    38% { transform: translate(var(--dx), var(--dy)); }
    44% { transform: translate(calc(var(--dx) * .78), calc(var(--dy) * .78)) rotate(-6deg); }
    52% { transform: translate(calc(var(--dx) * .9), calc(var(--dy) * .9)); }
    80%, 100% { transform: translate(0, 0); }
  }
  @keyframes ia-refuse { 0%, 36% { opacity: 0; } 40%, 62% { opacity: 1; } 72%, 100% { opacity: 0; } }
  .ia-onde { transform-box: fill-box; transform-origin: center; animation: ia-onde 1.1s ease-out infinite; }
  @keyframes ia-onde { from { transform: scale(1); opacity: .7; } to { transform: scale(1.18); opacity: 0; } }
  .ia-mur { transform-box: fill-box; transform-origin: center; animation: ia-tourne 30s linear infinite; }
  @keyframes ia-tourne { to { transform: rotate(360deg); } }
}
@media (prefers-reduced-motion: reduce) { .ia-x { opacity: 1; } }
/* V1.5 (suite) — espace sous « Confidentialité » et noms des IA sous les robots */
.local-v15 .local-texte .kicker { margin-bottom: 1rem; }
.ia-nom { font: 800 13px Inter, "Segoe UI", Arial, sans-serif; fill: #cfd5f5; letter-spacing: .02em; }
/* ==========================================================================
   V1.5 — Tarifs, Notre histoire, Entreprises
   ========================================================================== */
.note-discrete { font-size: .82rem; opacity: .8; margin-top: 1.4rem; }

/* Tarifs : texte à gauche, une seule carte à droite (boutons côte à côte au-dessus) */
.tarifs-v15 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 27rem); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.tarifs-v15 .section-head { text-align: left; margin: 0; }
.tarifs-v15 .section-head .lead, .tarifs-v15 .section-head .h1-seo { margin-inline: 0; }
.tarif-une { margin-top: 0; justify-items: stretch; }
.tarif-une [data-vue] { justify-items: stretch; }
.tarif-boutons { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.tarif-une .pcard { width: 100%; }
@media (max-width: 900px) { .tarifs-v15 { grid-template-columns: 1fr; } .tarifs-v15 .section-head { text-align: center; } }
.biz-link { border-left: 1px solid var(--line); padding: .9rem 1.2rem; max-width: 52rem; margin-inline: auto; margin-top: 2rem; }
.biz-link p { font-size: .92rem; }
.pcard-star { border: 1px solid #e3e6f2; }

/* Notre histoire : portrait fondu dans la page, introduction plus large */
.story-v15 { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.story-v15 .story-text p { font-size: 1.12rem; line-height: 1.7; }
.story-v15 .h1-look { font-size: clamp(2.4rem, 1.4rem + 4vw, 4.2rem); }
.portrait-fondu img { box-shadow: none !important; border-radius: 0; -webkit-mask-image: radial-gradient(ellipse 72% 78% at 50% 45%, #000 58%, transparent 100%); mask-image: radial-gradient(ellipse 72% 78% at 50% 45%, #000 58%, transparent 100%); }
.idee-v15 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 3rem); align-items: center; }
.idee-photo { margin: 0; }
.idee-photo img { width: 100%; height: auto; -webkit-mask-image: radial-gradient(ellipse 70% 72% at 50% 50%, #000 55%, transparent 100%); mask-image: radial-gradient(ellipse 70% 72% at 50% 50%, #000 55%, transparent 100%); }
.idee-citation blockquote { margin: 0; font-size: 1.35rem; font-weight: 700; line-height: 1.45; }
.idee-citation .script { display: block; margin-top: 1rem; font-size: 1.7rem; }
@media (max-width: 900px) { .story-v15, .idee-v15 { grid-template-columns: 1fr; } .idee-photo { max-width: 340px; margin-inline: auto; } }
.btn-trustpilot { background: #00b67a; color: #fff; }
.btn-trustpilot:hover { background: #00a06b; color: #fff; }
.review .actions { flex-wrap: wrap; gap: .7rem; }

/* Entreprises : haut de page recentré et plus grand */
.biz-hero-v15 { align-items: center; }
.biz-hero-v15 .h1-look { font-size: clamp(2.4rem, 1.3rem + 4vw, 4rem); }
.biz-hero-v15 .h1-look .h1-ligne { display: block; }
.biz-hero-v15 .lead { font-size: 1.12rem; }

/* Entreprises : formules en carrousel à gauche, Sérénité à droite (même bandeau, cartes blanches sans ombre) */
.formules-v15 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; margin-top: 1.5rem; }
.offres-carrousel { display: grid; gap: .9rem; }
.offres-nav { display: flex; align-items: center; justify-content: center; gap: 1rem; }
.offres-nav button { width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1px solid var(--line); background: var(--card); color: var(--ink); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.offres-nav button:hover { border-color: var(--violet); color: var(--violet); }
.offres-etape { margin: 0; font-weight: 700; color: var(--mute); min-width: 3rem; text-align: center; }
.offres-points { display: flex; justify-content: center; gap: .45rem; }
.offres-points span { width: .55rem; height: .55rem; border-radius: 50%; background: var(--line); }
.offres-points span.on { background: var(--violet); }
.pcard.offre, .pcard.serenite-carte { box-shadow: none; border: 1px solid #e3e6f2; }
.offre-niveau { margin: 0 0 .3rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6a4bd8; }
.offre-plus { margin: 0 0 .7rem; font-weight: 700; color: #172a46; font-size: .93rem; }
.pcard .plan-was { font-size: 1rem; color: #4a5482; }
.serenite { display: grid; gap: .8rem; align-content: start; }
.serenite-titre { font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.1rem); margin: 0; }
.serenite-lead { color: var(--mute); margin: 0; }
.serenite-cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.serenite-carte { padding: 1.3rem 1.1rem 1.1rem; }
.serenite-carte .pc-montant { font-size: 1.9rem; }
.serenite-carte .pc-list { margin-bottom: 0; }
.serenite .btn { justify-self: start; }
.serenite-note { font-size: .85rem; color: var(--mute); margin: 0; }
@media (max-width: 960px) { .formules-v15 { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .serenite-cartes { grid-template-columns: 1fr; } }
/* ==========================================================================
   V1.5 — corrections du 14/10 (retours de Charlotte)
   ========================================================================== */
/* Rien ne s'allume au survol sur les blocs qui ne sont pas des boutons */ :is(.feat,.feat2,.value,.step,.plan,.plan-mini,.benefit,.review,.info-card,.release,.tile):hover,.section.bande :is(.feat,.feat2,.value,.step,.plan,.plan-mini,.benefit,.review,.info-card,.release):hover,.js .reveal.is-visible:is(.feat,.feat2,.value,.step,.plan,.plan-mini,.benefit,.review,.info-card,.release):hover{transform:none !important;box-shadow:none !important;border-color:var(--line) !important}:root[data-theme="light"] :is(.feat,.feat2,.step,.review):hover,.section.bande :is(.feat,.feat2,.step,.review):hover{box-shadow:var(--shadow-card) !important}.site-footer .foot-in{font-size:1.05rem}.foot-in p{font-size:1rem}.foot-in h2{font-size:1.05rem}.site-footer .copyright{font-size:.95rem}/* Accueil :« L'essentiel en 30 secondes » calé à gauche ; la place de la vidéo dit « Vidéo à venir » */
.essentiel-wrap .essentiel { margin-left: 0; margin-right: auto; }
.video-attente { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .6rem; text-align: center; padding: 1.5rem;
  background: radial-gradient(60% 70% at 50% 40%, rgba(139, 108, 240, .28), transparent 70%), linear-gradient(160deg, #111946, #0a0f33); color: #f3f5ff; }
.video-attente-titre { margin: .4rem 0 0; font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.4rem); font-weight: 800; letter-spacing: -.01em; }
.video-attente-texte { margin: 0; color: #c9d0f2; max-width: 30rem; }
.video-attente ~ .video-play, .video-attente ~ .video-soon { display: none !important; }

/* Fonctionnalités : nouvelles cartes (icône en haut, sans survol) */
.feat2-photo { margin: 0 auto 2rem; max-width: 46rem; }
.feat2-photo img { width: 100%; height: auto; }
.feats2 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
.feat2 { padding: 1.4rem 1.3rem; border-radius: 18px; background: var(--card); border: 1px solid var(--line); }
.feat2-ico { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; margin-bottom: .9rem; color: #fff; background: linear-gradient(135deg, #5f8fe8, #8b6cf0); }
.feat2-ico .ico-v15 { width: 30px; height: 30px; }
.feat2-ico .ico-v15 .f { fill: #fff; fill-opacity: .22; }
.feat2-ico .ico-v15 .f.p { fill-opacity: 1; }
.feat2 h3 { margin: 0 0 .35rem; font-size: 1.08rem; }
.feat2 p { margin: 0; color: var(--mute); font-size: .95rem; line-height: 1.55; }
@media (max-width: 1000px) { .feats2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .feats2 { grid-template-columns: 1fr; } }

/* Comment ça marche : « leur place. » sur sa propre ligne */
.ligne-bloc { display: block; }

/* Notre histoire : titre d'origine (grand),portrait bien plus fondu,avis centré,« De l'idée au logiciel » plus aéré */
.story-v15 { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); }
.story-v15 .h1-look { font-size: clamp(2.2rem, 1.2rem + 4.2vw, 3.9rem); }
.portrait-fondu img { -webkit-mask-image: radial-gradient(ellipse 58% 62% at 50% 44%, #000 38%, transparent 96%); mask-image: radial-gradient(ellipse 58% 62% at 50% 44%, #000 38%, transparent 96%); }
.reviews-seul { grid-template-columns: minmax(0, 34rem); justify-content: center; text-align: center; }
.reviews-seul .actions { justify-content: center; }
.idee-v15 { gap: clamp(2rem, 5vw, 5rem); }
.idee-citation { max-width: 19rem; justify-self: center; text-align: center; }
.idee-citation blockquote { font-size: 1.45rem; }

/* Entreprises : une seule formule visible, cartes à la taille du texte, Sérénité en une carte */
[data-car-carte][hidden], [data-ser-carte][hidden] { display: none !important; }
.offres-carrousel { justify-items: center; }
.offres-carrousel .pcard.offre { width: 100%; max-width: 25rem; padding: 1.4rem 1.3rem 1.2rem; }
.offres-carrousel .pcard .btn, .serenite .btn { align-self: center; }
.pcard .pc-montant { font-size: 2.1rem; }
.serenite { justify-items: center; text-align: center; }
.serenite-lead { max-width: 30rem; }
.serenite-carte { width: 100%; max-width: 25rem; text-align: left; }
.serenite-choix { margin-top: .3rem; }
.formules-v15 { align-items: start; }
/* ==========================================================================
   V1.5.2 — 3e passe (retours de Charlotte)
   ========================================================================== */
/* Pied de page nettement plus lisible */
.site-footer .foot-in, .site-footer .foot-in li, .site-footer .foot-in a { font-size: 1.15rem; }
.site-footer .foot-in p { font-size: 1.08rem; }
.site-footer .foot-in h2 { font-size: 1.15rem; }
.site-footer .copyright, .site-footer .copyright a { font-size: 1rem; }

/* Notre histoire : grand titre, photo détourée (plus de cadre ni de masque) */
.story-v15 .h1-look { font-size: clamp(2.6rem, 1.3rem + 5vw, 4.8rem); line-height: 1.04; }
.story-v15 .h1-look .accent { display: block; }
.portrait-fondu img { -webkit-mask-image: none; mask-image: none; box-shadow: none !important; border-radius: 0; filter: drop-shadow(0 24px 40px rgba(8, 12, 38, .45)); }

/* Comment ça marche : MILOHY au centre de l'animation */ @media (prefers-reduced-motion:no-preference){.fs-hub>rect{transform-box:fill-box;transform-origin:center;animation:fs-respire 3.2s ease-in-out infinite}@keyframes fs-respire{50%{transform:scale(1.04)}}}.formules-v15{margin-top:0}.offres-carrousel,.serenite{display:grid;gap:.75rem;justify-items:center;align-content:start;text-align:center}.colonne-titre{font-size:clamp(1.5rem,1.1rem + 1.2vw,1.95rem);margin:0;letter-spacing:-.01em}.colonne-lead{margin:0 0 .3rem;color:var(--mute);max-width:26rem;font-size:.98rem}.offres-carrousel .pcard,.serenite .pcard{text-align:left}.serenite-choix{order:0}.biz-link-v15{display:grid;justify-items:center;gap:.7rem;text-align:center;width:fit-content;max-width:min(100%,34rem);margin:3rem auto 0;padding:1rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.biz-link-v15 p{margin:0;font-size:.95rem;color:var(--mute)}.biz-link-v15 p b{color:var(--ink)}/* Correctif :la règle des paragraphes de l'histoire ne doit pas rapetisser le grand titre */
.story-v15 .story-text p.h1-look { font-size: clamp(2.6rem, 1.3rem + 5vw, 4.8rem); line-height: 1.04; color: var(--ink); max-width: none; }
/* ==========================================================================
   V1.5.4 — 4e passe
   ========================================================================== */
/* Notre histoire : photo détourée, sans cadre, sans bordure, sans ombre floue */
.portrait-fondu img, .story-v15 .portrait img { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; filter: none !important; -webkit-mask-image: none !important; mask-image: none !important; max-width: 420px; }

/* Fonctionnalités : texte à gauche, portable à droite, cartes en dessous */
.feat-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; margin-bottom: 2.5rem; }
.feat-hero .section-head { text-align: left; margin: 0; }
.feat-hero .section-head .lead, .feat-hero details.essentiel { margin-inline: 0; text-align: left; }
.feat-hero .feat2-photo { margin: 0; max-width: none; }
@media (max-width: 900px) { .feat-hero { grid-template-columns: 1fr; } .feat-hero .section-head { text-align: center; } }

/* Entreprises : les formules, puis le forfait Sérénité, l'un sous l'autre, centrés et de même largeur */
.formules-pile { grid-template-columns: 1fr; gap: 3.5rem; justify-items: center; }
.formules-pile > .offres-carrousel, .formules-pile > .serenite { width: 100%; max-width: 34rem; }
.formules-pile > .serenite { padding-top: 3rem; border-top: 1px solid var(--line-soft); }
.formules-pile .pcard.offre, .formules-pile .serenite-carte { max-width: 26rem; }

/* Pied de page : liens et titres bien plus grands */
.site-footer .foot-in, .site-footer .foot-in li, .site-footer .foot-in a { font-size: 1.28rem !important; }
.site-footer .foot-in p { font-size: 1.15rem !important; }
.site-footer .foot-in h2 { font-size: 1.3rem !important; }
.site-footer .foot-in li + li { margin-top: .55rem; }
/* V1.5.5 — menu du haut plus grand ; pied de page un peu plus petit et moins haut */
@media (min-width: 1321px) {
  .nav a { font-size: 1.18rem; }
  .nav ul { gap: 1.6rem; }
}
.site-footer .foot-in, .site-footer .foot-in li, .site-footer .foot-in a { font-size: 1.08rem !important; }
.site-footer .foot-in p { font-size: 1rem !important; }
.site-footer .foot-in h2 { font-size: 1.1rem !important; margin-bottom: .6rem; }
.site-footer .foot-in li + li { margin-top: .35rem; }
.site-footer .foot-in { padding-block: 1.8rem; gap: 1.6rem; }
/* Notre histoire : nouvelle photo détourée (format carré) */
.story-v15 .portrait img { max-width: 480px; }

/* Notre histoire : retour a la photo d'origine,presentee comme au depart */ .story-v15 figure.portrait img{max-width:380px !important;border:1px solid var(--line) !important;border-radius:28px !important;box-shadow:0 30px 80px -30px rgba(139,108,240,0.7) !important;filter:none !important;-webkit-mask-image:none !important;mask-image:none !important}.laptop-entreprise{margin:2.4rem auto 0;max-width:46rem}.laptop-entreprise img{width:100%;height:auto;filter:drop-shadow(0 28px 40px rgba(8,12,38,.35))}.demo-anim{margin:0 auto;max-width:960px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(8,12,38,.6);background:#0d1336}.demo-anim img{display:block;width:100%;height:auto}.demo-anim-petite{max-width:640px}@media (min-width:961px){.site-footer .foot-in{grid-template-columns:1.45fr 1.25fr 1.1fr 1.05fr .85fr}}.site-footer .foot-in .social-list{align-items:center}.site-footer .foot-in .social-list li,.site-footer .foot-in .social-list li + li{margin-top:0 !important}.release{border-left:1px solid var(--line) !important}main .h1-look,main .split .h1-look,main .biz-hero-v15 .h1-look,main .story-v15 .h1-look,main .story-v15 .story-text p.h1-look{font-size:clamp(2.2rem,1.2rem + 4.2vw,3.9rem);line-height:1.08}main h1.h1-seo{font-size:clamp(1rem,.85rem + .6vw,1.25rem);margin-top:.9rem}main .hero-copy h1.h1-seo{margin-top:-.5rem}main .split .sub{font-size:clamp(1rem,.85rem + .6vw,1.25rem);margin:.9rem 0 0}main .section-head .lead,main .split .lead,main .biz-hero-v15 .lead,main .story-v15 .story-text p:not(.h1-look):not(.signature){font-size:1.15rem;line-height:1.6}main .feat-hero .section-head h1.h1-seo,main .tarifs-v15 .section-head h1.h1-seo{margin-inline:0}main .hero-copy .actions{margin-top:.9rem}@media (max-width:900px){main .story-v15{grid-template-columns:1fr !important;align-items:start}main .story-v15 .portrait{justify-self:center;margin:0 auto;max-width:340px}main .story-v15 figure.portrait img{max-width:100% !important}}.feat2-ico,.feats-v15 .feat-ico,.feats-v15 .feat:nth-child(even) .feat-ico{background:none!important;box-shadow:none!important;width:auto;height:auto;place-items:start;justify-content:flex-start}.ico-v15.pro3{width:38px;height:38px;stroke:none}.ico{stroke:none}.badge-essai-wrap{text-align:center;margin:0 0 1.1rem}.badge-essai{display:inline-block;padding:.85rem 1.7rem;border-radius:999px;font-weight:800;font-size:1.15rem;color:#fff;text-decoration:none;background:linear-gradient(90deg,#3b82f6,#8b5cf6);box-shadow:0 12px 32px -10px rgba(139,92,246,.7);transition:transform .15s ease}.badge-essai:hover{transform:translateY(-2px);text-decoration:none;color:#fff}.reseaux-page{text-align:center;margin-top:3rem}.reseaux-page .social-title{display:none}.reseaux-page .social-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;list-style:none;margin:1rem 0 0;padding:0}.reseaux-page .social-list a{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.reseaux-page .social-list a:hover{background:var(--fill);color:var(--violet);border-color:var(--violet)}.reseaux-page .social-list .ico{width:26px;height:26px}.social-list .ico{stroke:currentColor}.badge-ms{display:inline-block;line-height:0;border-radius:6px}.badge-ms img{height:44px;width:auto}.badge-ms:focus-visible{outline:3px solid var(--violet);outline-offset:3px}.hero .actions{align-items:center}.badge-ms-pied{margin-top:1rem}.badge-ms-wrap{text-align:center;margin:1.4rem 0 .4rem}
.reseaux-page .lead{margin-left:auto;margin-right:auto;text-align:center}

/* Avis clients (31/10/2026) : cartes aérées, citation mise en avant, boutons du site à la place du badge Trustpilot */
.avis-clients { gap: 1.5rem; margin-top: 2.5rem; padding: 0; list-style: none; }
.avis-clients .review { display: flex; flex-direction: column; padding: 2rem 1.8rem 1.6rem; }
.avis-guillemet { display: block; height: 1.9rem; font: 700 4.5rem/1 Georgia, "Times New Roman", serif; color: var(--violet); opacity: .6; }
.avis-clients blockquote { flex: 1; margin: .9rem 0 0; font-size: 1.1rem; line-height: 1.6; font-weight: 500; color: var(--ink); }
.avis-auteur { display: flex; align-items: center; gap: .85rem; margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--line-soft); color: var(--ink); font-size: .95rem; }
.avis-initiales { flex: none; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--ghost-hover); color: var(--violet); font-weight: 800; font-size: .9rem; letter-spacing: .03em; }
.avis-auteur small { display: block; margin-top: .2rem; color: var(--mute); font-size: .83rem; line-height: 1.45; }
.avis-source { max-width: 42rem; margin: 1.6rem auto 0; text-align: center; font-size: .86rem; line-height: 1.6; color: var(--mute); }
@media (max-width: 900px) { .avis-clients { grid-template-columns: 1fr; max-width: 34rem; margin-inline: auto; } }
/* Badge Trustpilot (31/10/2026) : posé dans une carte blanche pour qu'il fasse partie du dessin */
.avis-badge { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem 2rem; flex-wrap: wrap;
  max-width: 40rem; margin: 2.6rem auto 0; padding: 1.1rem 1.4rem 1.1rem 1.8rem; border-radius: 999px;
  background: #fff; box-shadow: 0 0 0 4px rgba(180, 156, 255, .18), 0 14px 36px rgba(0, 0, 0, .35); }
.avis-badge p { margin: 0; color: #1a1340; font-size: 1rem; line-height: 1.35; }
.avis-badge p b { display: block; font-weight: 800; }
.avis-badge p span { color: #5b5680; font-size: .9rem; }
.avis-badge .trustpilot-widget { flex: 0 0 220px; width: 220px; }
.avis-badge-lien { color: #6a4fe0; font-weight: 700; text-decoration: none; }
.avis-badge-lien:hover { text-decoration: underline; }
@media (max-width: 600px) { .avis-badge { border-radius: var(--radius); justify-content: center; text-align: center; padding: 1.3rem; } }
