:root {
  --ink: #1b1122;
  --ink-soft: #43384a;
  --plum: #24132f;
  --plum-deep: #160c1e;
  --violet: #7651e8;
  --violet-bright: #9b7cff;
  --lavender: #ebe5ff;
  --mint: #64d3ad;
  --gold: #efbd6b;
  --cream: #f3f4f6;
  --paper: #ffffff;
  --line: rgba(29, 17, 35, .12);
  --white: #fff;
  --shadow: 0 28px 80px rgba(28, 15, 39, .13);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 17px;
  --content: min(1180px, calc(100vw - 40px));
  --font-display: "Manrope", sans-serif;
  --font-body: "DM Sans", sans-serif;
  --font-editorial: "Playfair Display", serif;
}

* { box-sizing: border-box; }
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  scroll-behavior: smooth;
  background: var(--paper);
}
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
  overflow-x: clip;
}
/* Le verrouillage du defilement pendant que le menu mobile est ouvert se
   fait en JS (position: fixed sur le body, voir script.js) et non ici avec
   overflow:hidden : cette derniere approche faisait perdre son ancrage a
   l'entete sticky des qu'on n'etait pas remonte tout en haut de la page. */
body.menu-open {
  width: 100%;
}
img { display: block; max-width: 100%; }
main, section, header, footer, nav, div, article { min-width: 0; }
main, header, footer { max-width: 100%; }
main, .site-footer { overflow-x: clip; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { max-width: 100%; font: inherit; }
button { cursor: pointer; }
::selection { color: var(--white); background: var(--violet); }
.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-link {
  position: fixed; left: 18px; top: 12px; z-index: 9999;
  padding: 10px 16px; border-radius: 9px; color: var(--white); background: var(--plum);
  transform: translateY(-150%); transition: transform .2s;
}
.skip-link:focus { transform: translateY(0); }

.relationship-bar {
  min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 28px;
  padding: 5px 20px; color: rgba(255,255,255,.8); background: var(--plum-deep);
  font-size: 12px; letter-spacing: .02em;
}
.relationship-bar p { margin: 0; }
.relationship-bar p span { color: var(--mint); margin-right: 7px; font-size: 9px; }
.relationship-bar a { color: var(--white); border-bottom: 1px solid rgba(255,255,255,.3); }

.site-header {
  position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.92);
  border-bottom: 1px solid transparent; backdrop-filter: blur(20px);
  transition: box-shadow .25s, border-color .25s;
}
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 10px 30px rgba(30,17,39,.06); }
.nav-shell {
  position: relative; width: var(--content); min-height: 78px; margin: auto; display: flex; align-items: center; gap: 28px;
}
.brand {
  display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto;
  font: 800 21px/1 var(--font-display); letter-spacing: -.055em;
}
.brand em { color: var(--violet); font-style: normal; }
.brand-icon {
  display: block;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  object-fit: contain;
}
.main-nav { display: flex; align-items: center; gap: 27px; margin: auto; }
.main-nav a, .text-link {
  position: relative; font-size: 14px; font-weight: 600; color: var(--ink-soft);
}
.main-nav a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px;
  border-radius: 2px; background: var(--violet); transition: right .25s;
}
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.nav-actions { display: flex; align-items: center; gap: 18px; }
.menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 43px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  background: var(--white);
  box-shadow: 0 8px 24px rgba(29,17,35,.07);
  font: 700 12px/1 var(--font-display);
}
.menu-icon { display: grid; gap: 4px; width: 18px; }
.menu-icon i {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  transition: transform .22s, opacity .22s;
}
.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-menu-actions { display: none; }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 48px; padding: 0 23px; border: 1px solid transparent; border-radius: 13px;
  font-weight: 700; font-size: 14px; transition: transform .22s, box-shadow .22s, background .22s, color .22s;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid rgba(118, 81, 232, .3); outline-offset: 3px;
}
.button-primary {
  color: var(--white); background: linear-gradient(135deg, var(--violet), #6136d1);
  box-shadow: 0 12px 28px rgba(105, 66, 215, .25);
}
.button-primary:hover { box-shadow: 0 16px 34px rgba(105, 66, 215, .35); }
.button-small { min-height: 42px; padding: 0 18px; font-size: 13px; }
.button-large { min-height: 56px; padding: 0 26px; border-radius: 15px; }
.button-ghost { border-color: var(--line); background: rgba(255,255,255,.7); color: var(--ink); }
.button-light { color: var(--plum); background: var(--white); box-shadow: 0 14px 30px rgba(0,0,0,.18); }
.button-dark { color: var(--white); background: var(--plum); }
.button-outline-light { border-color: rgba(255,255,255,.25); color: var(--white); }
.button-full { width: 100%; }

.hero { position: relative; padding: 78px 0 0; background: #fff; overflow: hidden; }
.hero-orb { display: none; }
.hero-orb-one {
  width: 520px; height: 520px; right: -180px; top: -120px;
  background: radial-gradient(circle, rgba(155,124,255,.18), rgba(155,124,255,0) 70%);
}
.hero-orb-two {
  width: 420px; height: 420px; left: -210px; bottom: -170px;
  background: radial-gradient(circle, rgba(100,211,173,.14), rgba(100,211,173,0) 70%);
}
.hero-grid {
  position: relative; width: var(--content); margin: auto; display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(480px, .98fr); align-items: center; gap: 70px;
}
.eyebrow {
  margin: 0 0 18px; color: var(--violet); font: 800 12px/1.3 var(--font-display);
  letter-spacing: .14em; text-transform: uppercase;
}
.eyebrow span { display: inline-block; margin-right: 8px; padding: 7px 10px; border-radius: 99px; color: var(--white); background: var(--plum); }
.hero h1, .hero h2, .section-heading h2, .product-copy h2, .results-copy h2, .support-copy h2,
.pricing-banner h2, .demo-copy h2, .faq-heading h2 {
  margin: 0; font-family: var(--font-display); line-height: 1.07; letter-spacing: -.055em;
}
.hero h1, .hero h2 { max-width: 690px; font-size: clamp(46px, 5.35vw, 76px); }
.rotating-wrap { display: inline-block; color: var(--violet); }
#rotatingWord { display: inline-block; transition: opacity .28s, transform .28s; }
#rotatingWord.word-out { opacity: 0; transform: translateY(10px); }
.hero-lead { max-width: 610px; margin: 26px 0 0; color: var(--ink-soft); font-size: 19px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 27px; color: #5b5060; font-size: 13px; }
.trust-row i { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 6px; border-radius: 50%; color: #267e62; background: #dcf6ec; font-style: normal; font-size: 11px; }
.hero-visual { position: relative; min-height: 570px; padding: 0 0 30px 28px; }
.hero-photo { position: absolute; inset: 0 0 54px 55px; border-radius: 90px 26px 90px 26px; overflow: hidden; box-shadow: var(--shadow); }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.hero-photo:hover img { transform: scale(1.04); }
.photo-wash { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(24,12,31,.37)); }
.floating-card {
  position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; border: 1px solid rgba(255,255,255,.7); border-radius: 17px;
  background: rgba(255,255,255,.9); box-shadow: 0 18px 45px rgba(32,18,42,.18); backdrop-filter: blur(14px);
}
.floating-card small { display: block; color: #726879; font-size: 11px; }
.floating-card strong { display: block; font-size: 13px; line-height: 1.35; }
.floating-wallet { left: 2px; top: 78px; }
.floating-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: var(--white); background: var(--violet); font-size: 22px; }
.status-dot { width: 8px; height: 8px; margin-left: 3px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 5px rgba(100,211,173,.15); }
.floating-relation { right: -18px; bottom: 19px; }
.avatar-stack { display: flex; padding-left: 10px; }
.avatar-stack span {
  display: grid; place-items: center; width: 33px; height: 33px; margin-left: -10px;
  border: 2px solid var(--white); border-radius: 50%; color: var(--white); background: var(--plum); font-size: 10px; font-weight: 700;
}
.avatar-stack span:nth-child(2) { background: var(--violet); }
.avatar-stack span:nth-child(3) { background: #bb7c54; }
.hero-caption {
  position: absolute; left: 77px; right: 20px; bottom: 79px; z-index: 1; display: flex; align-items: center;
  justify-content: space-between; color: var(--white); font-size: 12px;
}
.hero-caption span { text-transform: uppercase; letter-spacing: .14em; }
.hero-caption b { font-size: 13px; }
.platform-strip {
  position: relative; width: var(--content); min-height: 92px; margin: 70px auto 0;
  display: flex; align-items: center; justify-content: center; gap: 30px; border-top: 1px solid var(--line);
  color: #6d6371; font-size: 13px;
}
.platform-strip strong { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 15px; }
.platform-strip i { width: 13px; height: 13px; border-radius: 4px; }
.apple-dot { background: #111; }
.google-dot { background: conic-gradient(#4285f4, #34a853, #fbbc04, #ea4335, #4285f4); }
.platform-note { margin-left: auto; color: var(--violet); font-weight: 700; }

.section { padding: 120px 0; }
.section-heading { max-width: 760px; }
.section-heading.centered { margin: 0 auto 54px; text-align: center; }
.section-heading h2, .product-copy h2, .results-copy h2, .support-copy h2,
.pricing-banner h2, .demo-copy h2, .faq-heading h2 { font-size: clamp(36px, 4vw, 58px); }
h2 em { font-family: var(--font-editorial); color: var(--violet); font-weight: 600; }
.section-heading > p:last-child { max-width: 650px; margin: 22px auto 0; color: #645a68; font-size: 17px; }
.intro-section { width: var(--content); }
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pillar-card {
  position: relative; min-height: 390px; padding: 31px; border: 1px solid var(--line);
  border-radius: var(--radius-lg); background: var(--white); transition: transform .3s, box-shadow .3s, border-color .3s;
}
.pillar-card:hover { transform: translateY(-8px); border-color: rgba(118,81,232,.35); box-shadow: var(--shadow); }
.pillar-featured { color: var(--white); background: linear-gradient(145deg, #301840, #1d1028); }
.pillar-number { position: absolute; top: 28px; right: 28px; color: #a39aa7; font: 700 11px/1 var(--font-display); letter-spacing: .14em; }
.pillar-icon { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 55px; border-radius: 21px; font-size: 35px; background: var(--lavender); color: var(--violet); }
.pillar-featured .pillar-icon { color: var(--white); background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.pillar-card h3 { margin: 0; font: 800 25px/1.2 var(--font-display); letter-spacing: -.04em; }
.pillar-card p { margin: 15px 0 22px; color: #6c626f; font-size: 15px; }
.pillar-featured p { color: rgba(255,255,255,.7); }
.pillar-card a { position: absolute; bottom: 30px; font-size: 13px; font-weight: 700; color: var(--violet); }
.pillar-featured a { color: var(--mint); }

.product-section { padding: 30px 0; }
.product-shell {
  width: min(1320px, calc(100vw - 30px)); min-height: 720px; margin: auto; padding: 88px max(40px, calc((100vw - 1180px)/2));
  display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 65px;
  border-radius: var(--radius-xl); color: var(--white); background:
    radial-gradient(circle at 73% 18%, rgba(137,97,240,.28), transparent 32%),
    radial-gradient(circle at 21% 82%, rgba(100,211,173,.1), transparent 30%),
    linear-gradient(145deg, #24112f, #130a1a);
  overflow: hidden;
}
.eyebrow-light { color: var(--mint); }
.product-copy h2 em { color: #c6b4ff; }
.product-copy > p:not(.eyebrow) { color: rgba(255,255,255,.68); font-size: 17px; }
.feature-list { list-style: none; padding: 0; margin: 33px 0; }
.feature-list li { display: flex; gap: 15px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.12); }
.feature-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
.feature-list li > span { color: var(--mint); font: 700 11px/1.6 var(--font-display); }
.feature-list strong { display: block; font: 700 15px/1.3 var(--font-display); }
.feature-list small { display: block; margin-top: 5px; color: rgba(255,255,255,.58); font-size: 13px; }
.product-stage { position: relative; min-height: 570px; }
.phone {
  position: absolute; width: 286px; height: 568px; left: 50%; top: 50%; padding: 10px;
  transform: translate(-48%, -50%) rotate(3deg); border: 2px solid #796f7e; border-radius: 44px;
  background: #0e0c10; box-shadow: 0 45px 70px rgba(0,0,0,.42), inset 0 0 0 2px #241f26;
}
.phone-island { position: absolute; z-index: 2; top: 18px; left: 50%; width: 92px; height: 24px; transform: translateX(-50%); border-radius: 20px; background: #050506; }
.phone-screen { position: relative; height: 100%; padding: 15px 12px; border-radius: 35px; background: linear-gradient(180deg, #f6f2f8, #e5dfea); overflow: hidden; }
.phone-status { display: flex; justify-content: space-between; padding: 2px 9px 20px; color: #1a171c; font-size: 9px; font-weight: 700; }
.wallet-card { min-height: 224px; padding: 16px; border-radius: 19px; color: var(--white); background:
  radial-gradient(circle at 70% 30%, rgba(255,255,255,.14), transparent 35%),
  linear-gradient(145deg, #7b51e8, #37205f); box-shadow: 0 16px 35px rgba(64,35,107,.35); }
.wallet-head { display: flex; align-items: center; gap: 8px; font: 700 9px/1 var(--font-display); letter-spacing: .03em; }
.wallet-head small { margin-left: auto; color: rgba(255,255,255,.68); font-size: 7px; }
.mini-brand { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: rgba(255,255,255,.18); }
.wallet-main { display: flex; align-items: baseline; margin-top: 40px; }
.wallet-main small { display: block; width: 100%; position: absolute; margin-top: -13px; color: rgba(255,255,255,.65); font-size: 7px; }
.wallet-main strong { font: 800 53px/1 var(--font-display); letter-spacing: -.08em; }
.wallet-main span { margin-left: 8px; color: rgba(255,255,255,.6); font-size: 12px; }
.progress { height: 5px; margin-top: 18px; border-radius: 8px; background: rgba(255,255,255,.18); overflow: hidden; }
.progress i { display: block; width: 70%; height: 100%; border-radius: inherit; background: var(--mint); }
.wallet-foot { display: flex; justify-content: space-between; margin-top: 11px; color: rgba(255,255,255,.66); font-size: 6px; }
.phone-message { margin: 24px 0 14px; color: #302737; text-align: center; font-size: 11px; font-weight: 600; }
.barcode { width: 78%; height: 44px; margin: auto; opacity: .7; background: repeating-linear-gradient(90deg, #211927 0 2px, transparent 2px 5px, #211927 5px 6px, transparent 6px 9px); }
.mini-dashboard {
  position: absolute; right: 0; top: 60px; width: 212px; padding: 20px; border: 1px solid rgba(255,255,255,.18);
  border-radius: 19px; color: var(--ink); background: rgba(255,255,255,.93); box-shadow: 0 26px 50px rgba(0,0,0,.28);
  transform: rotate(-3deg);
}
.dash-top { display: flex; align-items: center; justify-content: space-between; color: #6f6574; font-size: 9px; }
.dash-top b { padding: 3px 6px; border-radius: 6px; color: #24795e; background: #ddf6ed; }
.mini-dashboard > strong { display: block; margin-top: 13px; font: 800 26px/1 var(--font-display); }
.bars { height: 65px; display: flex; align-items: end; gap: 6px; margin: 14px 0 8px; }
.bars i { flex: 1; height: 30%; border-radius: 4px 4px 2px 2px; background: #d6cdf3; }
.bars i:nth-child(2) { height: 42%; }.bars i:nth-child(3) { height: 35%; }.bars i:nth-child(4) { height: 58%; }
.bars i:nth-child(5) { height: 70%; background: #9b7cff; }.bars i:nth-child(6) { height: 62%; }.bars i:nth-child(7) { height: 88%; background: #7651e8; }
.mini-dashboard > small { color: #776d7b; font-size: 9px; }
.reward-chip {
  position: absolute; left: 4px; bottom: 52px; display: flex; align-items: center; gap: 11px; padding: 14px 17px;
  border: 1px solid rgba(255,255,255,.25); border-radius: 16px; background: rgba(35,18,47,.78); box-shadow: 0 20px 40px rgba(0,0,0,.3); backdrop-filter: blur(13px);
}
.reward-chip > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: #47311a; background: var(--gold); }
.reward-chip small, .reward-chip strong { display: block; }
.reward-chip small { color: rgba(255,255,255,.55); font-size: 9px; }
.reward-chip strong { font-size: 12px; }

.results-section { width: var(--content); }
.results-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 90px; }
.results-copy > p:not(.eyebrow) { color: #655b69; font-size: 17px; }
.inline-link { display: inline-block; margin-top: 15px; color: var(--violet); font-weight: 700; border-bottom: 1px solid rgba(118,81,232,.25); }
.metrics-card { padding: 38px; border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--cream); box-shadow: var(--shadow); }
.metrics-label { display: flex; justify-content: space-between; align-items: center; color: #756b79; font-size: 12px; }
.metrics-label small { padding: 5px 8px; border-radius: 7px; background: var(--lavender); color: var(--violet); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.metric-main { display: grid; grid-template-columns: auto 1fr; align-items: end; padding: 32px 0; }
.metric-main strong { font: 800 88px/.8 var(--font-display); letter-spacing: -.08em; color: var(--violet); }
.metric-main > span { font: 800 31px/1 var(--font-display); color: var(--violet); }
.metric-main small { grid-column: 1 / -1; margin-top: 14px; color: var(--ink); font-size: 14px; }
.metrics-grid-small { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metrics-grid-small div { padding: 22px 12px; border-right: 1px solid var(--line); }
.metrics-grid-small div:last-child { border: 0; }
.metrics-grid-small strong, .metrics-grid-small small { display: block; }
.metrics-grid-small strong { font: 800 25px/1 var(--font-display); }
.metrics-grid-small small { margin-top: 6px; color: #766c7a; font-size: 10px; }
.demo-disclaimer { margin: 16px 0 0; color: #8b818f; font-size: 10px; }

.sectors-section { width: var(--content); padding-top: 80px; }
.split-heading { max-width: none; display: grid; grid-template-columns: 1fr 420px; align-items: end; gap: 80px; margin-bottom: 48px; }
.split-heading > p:last-child { margin: 0; }
.sector-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sector-card { position: relative; min-height: 360px; border-radius: 20px; overflow: hidden; background: var(--plum); }
.sector-card.sector-wide { grid-column: span 2; }
.sector-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.sector-card:hover img { transform: scale(1.07); }
.sector-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(18,9,24,.86)); }
.sector-content { position: absolute; left: 25px; right: 25px; bottom: 23px; color: var(--white); }
.sector-content span { color: var(--mint); font: 700 10px/1 var(--font-display); letter-spacing: .1em; }
.sector-content h3 { margin: 8px 0 4px; font: 800 24px/1.1 var(--font-display); letter-spacing: -.04em; }
.sector-content p { max-width: 320px; margin: 0; color: rgba(255,255,255,.7); font-size: 12px; }

.stories-section { background: #f3f4f7; }
.stories-section > * { width: var(--content); }
.stories-section .section-heading { width: auto; }
.testimonial-shell { margin: auto; }
.testimonial-track { position: relative; min-height: 475px; }
.testimonial { position: absolute; inset: 0; display: grid; grid-template-columns: .82fr 1.18fr; opacity: 0; visibility: hidden; transform: translateX(25px); transition: opacity .45s, transform .45s, visibility .45s; }
.testimonial.is-active { opacity: 1; visibility: visible; transform: translateX(0); }
.testimonial-photo { min-height: 475px; border-radius: var(--radius-xl) 0 0 var(--radius-xl); overflow: hidden; }
.testimonial-photo img { width: 100%; height: 100%; object-fit: cover; }
.quote-panel { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 60px 75px; border-radius: 0 var(--radius-xl) var(--radius-xl) 0; color: var(--white); background: var(--plum); overflow: hidden; }
.quote-panel::after { content: ""; position: absolute; width: 290px; height: 290px; right: -120px; bottom: -140px; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 0 0 40px rgba(255,255,255,.025), 0 0 0 80px rgba(255,255,255,.018); }
.quote-mark { color: var(--mint); font: 600 70px/.7 var(--font-editorial); }
blockquote { margin: 24px 0 36px; font: 600 clamp(23px, 2.4vw, 34px)/1.42 var(--font-editorial); }
.person strong, .person span { display: block; }
.person strong { font: 700 14px/1.3 var(--font-display); }
.person span { margin-top: 5px; color: rgba(255,255,255,.55); font-size: 12px; }
.testimonial-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 19px; }
.testimonial-controls p { margin: 0; color: #786d7c; font-size: 11px; }
.testimonial-controls p span { color: var(--violet); }
.testimonial-controls > div { display: flex; align-items: center; gap: 14px; }
.testimonial-controls button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--ink); transition: background .2s, color .2s; }
.testimonial-controls button:hover { color: var(--white); background: var(--violet); }
#testimonialCount { min-width: 52px; text-align: center; color: #665c6a; font: 700 11px/1 var(--font-display); }

.support-section { width: var(--content); }
.support-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 95px; }
.support-collage { position: relative; min-height: 610px; }
.support-main { position: absolute; width: 84%; height: 520px; left: 0; top: 0; border-radius: 110px 24px 90px 24px; object-fit: cover; }
.support-small { position: absolute; width: 45%; height: 260px; right: 0; bottom: 0; border: 8px solid var(--paper); border-radius: 22px 70px 22px 70px; object-fit: cover; box-shadow: var(--shadow); }
.support-note { position: absolute; left: 28px; bottom: 45px; max-width: 220px; display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.support-note span { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; color: var(--white); background: var(--violet); font-size: 20px; }
.support-note strong { font: 700 12px/1.35 var(--font-display); }
.support-copy > p:not(.eyebrow) { color: #675d6b; font-size: 17px; }
.support-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 32px 0; }
.support-points div { padding-top: 15px; border-top: 1px solid var(--line); }
.support-points span { color: var(--violet); font: 700 10px/1 var(--font-display); }
.support-points strong { display: block; margin-top: 10px; font: 700 13px/1.3 var(--font-display); }
.support-points p { margin: 6px 0 0; color: #776d7a; font-size: 11px; line-height: 1.5; }

.steps-section { background: var(--cream); }
.steps-section > * { width: var(--content); }
.steps-section .section-heading { width: auto; }
.steps { margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.step { position: relative; min-height: 380px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.step-number { position: absolute; top: 25px; left: 25px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--white); background: var(--plum); font: 700 11px/1 var(--font-display); }
.step-visual { position: relative; height: 160px; margin-bottom: 28px; }
.step-visual::before { content: ""; position: absolute; left: 50%; top: 50%; width: 122px; height: 122px; transform: translate(-50%,-50%); border-radius: 50%; background: var(--lavender); }
.phone-scan i, .qr-scan i, .chart-scan i { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.phone-scan i { width: 54px; height: 91px; border: 4px solid var(--violet); border-radius: 11px; }
.phone-scan i::after { content: ""; position: absolute; width: 18px; height: 3px; left: 50%; bottom: 7px; transform: translateX(-50%); border-radius: 3px; background: var(--violet); }
.phone-scan b { position: absolute; z-index: 2; left: 57%; top: 34%; width: 37px; height: 25px; border-radius: 8px; background: var(--mint); transform: rotate(-7deg); box-shadow: 0 7px 16px rgba(40,127,98,.25); }
.qr-scan i { width: 68px; height: 68px; border: 7px dotted var(--violet); border-radius: 5px; background: repeating-linear-gradient(45deg, transparent 0 5px, rgba(118,81,232,.25) 5px 8px); }
.qr-scan b { position: absolute; z-index: 2; width: 90px; height: 2px; left: 50%; top: 50%; transform: translate(-50%,-50%); background: var(--mint); box-shadow: 0 0 12px var(--mint); }
.chart-scan i { width: 80px; height: 61px; border-left: 3px solid var(--violet); border-bottom: 3px solid var(--violet); }
.chart-scan i::after { content: ""; position: absolute; width: 62px; height: 36px; left: 8px; bottom: 8px; border-top: 4px solid var(--mint); transform: skewY(-22deg); }
.chart-scan b { position: absolute; z-index: 2; width: 12px; height: 12px; left: 64%; top: 34%; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 7px rgba(239,189,107,.2); }
.step h3 { margin: 0; font: 800 21px/1.25 var(--font-display); letter-spacing: -.04em; }
.step p { margin: 12px 0 0; color: #6d6371; font-size: 14px; }

.pricing-section { padding-bottom: 30px; }
.pricing-banner {
  width: min(1320px, calc(100vw - 30px)); margin: auto; padding: 70px max(40px, calc((100vw - 1180px)/2));
  display: flex; align-items: end; justify-content: space-between; gap: 70px; border-radius: var(--radius-xl);
  color: var(--white); background:
    radial-gradient(circle at 90% 0, rgba(155,124,255,.45), transparent 35%),
    linear-gradient(135deg, #2d1740, #160c1e);
}
.pricing-banner h2 em { color: #cbbdff; }
.pricing-banner p:not(.eyebrow) { max-width: 640px; margin: 22px 0 0; color: rgba(255,255,255,.68); font-size: 17px; }
.pricing-banner p strong { color: var(--white); }
.pricing-actions { display: flex; flex-direction: column; align-items: center; gap: 17px; flex: 0 0 auto; }
.pricing-link { color: rgba(255,255,255,.8); font-size: 13px; font-weight: 700; }

.demo-section { padding-top: 80px; }
.demo-shell { width: var(--content); display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 100px; }
.demo-copy > p:not(.eyebrow) { color: #665c6a; font-size: 17px; }
.demo-copy ul { list-style: none; padding: 0; margin: 28px 0; display: flex; flex-wrap: wrap; gap: 16px; }
.demo-copy li { color: #524757; font-size: 13px; }
.demo-copy li span { color: #24795e; margin-right: 5px; }
.demo-copy > a { color: var(--violet); font-size: 13px; font-weight: 700; border-bottom: 1px solid rgba(118,81,232,.25); }
.demo-form { padding: 37px; border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--cream); box-shadow: var(--shadow); }
.form-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 25px; }
.form-head span { font: 800 20px/1 var(--font-display); }
.form-head small { padding: 6px 9px; border-radius: 8px; color: #24795e; background: #ddf6ed; font-size: 10px; font-weight: 700; }
.demo-form label:not(.consent):not(.honeypot) { display: block; margin-bottom: 17px; color: #504655; font-size: 12px; font-weight: 700; }
.demo-form input[type="text"], .demo-form input[type="tel"], .demo-form input[type="email"] {
  width: 100%; height: 54px; margin-top: 7px; padding: 0 16px; border: 1px solid rgba(29,17,35,.16); border-radius: 12px; color: var(--ink); background: var(--white);
}
.demo-form input::placeholder { color: #aaa0ad; }
.consent { display: flex; align-items: flex-start; gap: 9px; margin: 6px 0 19px; color: #716775; font-size: 11px; font-weight: 400; }
.consent input { margin-top: 4px; accent-color: var(--violet); }
.honeypot { position: absolute; left: -9999px; }
.privacy-note { display: block; margin-top: 13px; color: #8a808d; text-align: center; font-size: 9px; }
.privacy-note a { text-decoration: underline; }
.form-status { min-height: 0; margin: 12px 0 0; text-align: center; font-size: 12px; }
.form-status.success { color: #24795e; }.form-status.error { color: #a53549; }

.faq-section { width: var(--content); padding-top: 80px; }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.faq-heading p:last-child { color: #756b79; }
.faq-heading p a { color: var(--violet); font-weight: 700; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list details:first-child { border-top: 1px solid var(--line); }
.faq-list summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 0; font: 700 16px/1.4 var(--font-display); cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%; color: var(--violet); background: var(--lavender); transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 650px; margin: -5px 0 24px; color: #726876; font-size: 14px; }

.site-footer { margin-top: 50px; padding: 72px max(20px, calc((100vw - 1180px)/2)) 25px; color: rgba(255,255,255,.7); background: var(--plum-deep); }
.footer-top { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 50px; padding-bottom: 55px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand-light { color: var(--white); }
.footer-top p { max-width: 530px; margin: 0; font-size: 14px; }
.footer-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; padding: 52px 0; }
.footer-links div { display: flex; flex-direction: column; gap: 10px; }
.footer-links strong { margin-bottom: 8px; color: var(--white); font: 700 12px/1 var(--font-display); text-transform: uppercase; letter-spacing: .1em; }
.footer-links a { font-size: 12px; transition: color .2s; }
.footer-links a:hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 10px; }

.reveal { opacity: 0; transition: opacity .78s ease, transform .78s cubic-bezier(.2,.76,.24,1); }
.reveal.reveal-up { transform: translateY(38px); }
.reveal.reveal-left { transform: translateX(-46px); }
.reveal.reveal-right { transform: translateX(46px); }
.reveal.revealed { opacity: 1; transform: translate3d(0,0,0); }
.reveal-delay { transition-delay: .12s; }
.reveal-delay-2 { transition-delay: .24s; }

@media (max-width: 1080px) {
  .main-nav { gap: 18px; }
  .main-nav a { font-size: 13px; }
  .nav-actions .text-link { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .hero-visual { min-height: 510px; }
  .product-shell { grid-template-columns: 1fr 1fr; gap: 20px; }
  .mini-dashboard { right: -20px; }
  .support-grid, .demo-shell { gap: 50px; }
}

@media (max-width: 860px) {
  :root { --content: min(100% - 32px, 720px); }
  .relationship-bar { justify-content: space-between; }
  .menu-toggle { display: inline-flex; margin-left: auto; }
  .nav-actions .button { display: none; }
  .main-nav {
    /* position: fixed (pas absolute) car l'entete est en position: sticky :
       sur mobile, verrouiller le defilement de la page pendant que le menu
       est ouvert peut laisser l'entete "coince" a son ancien emplacement
       scrolle. Le "top" par defaut ci-dessous sert de repli ; script.js le
       remplace par la position reelle de l'entete au moment de l'ouverture. */
    position: fixed; z-index: 1100; top: 77px; left: 0; right: 0; display: flex; flex-direction: column; align-items: stretch;
    gap: 0; max-height: calc(100dvh - 100px); overflow-y: auto; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: var(--shadow);
    opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
  }
  .main-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
  .main-nav a { padding: 13px 7px; border-bottom: 1px solid var(--line); }
  .main-nav a:last-child { border: 0; }
  .mobile-menu-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
  }
  .mobile-menu-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--line) !important;
    border-radius: 11px;
    text-align: center;
    font-weight: 750;
  }
  .mobile-menu-actions a:last-child {
    color: var(--white);
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--violet), #6136d1);
  }
  .hero { padding-top: 55px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { text-align: center; }
  .hero-lead { margin-left: auto; margin-right: auto; }
  .hero-actions, .trust-row { justify-content: center; }
  .hero-visual { width: min(100%, 600px); min-height: 560px; margin: 10px auto 0; }
  .platform-strip { flex-wrap: wrap; padding: 25px 0; gap: 15px 24px; }
  .platform-strip > span:first-child { width: 100%; text-align: center; }
  .platform-note { width: 100%; margin: 0; text-align: center; }
  .pillars { grid-template-columns: 1fr; }
  .pillar-card { min-height: 320px; }
  .pillar-icon { margin-bottom: 30px; }
  .product-shell, .results-grid, .support-grid, .demo-shell, .faq-grid { grid-template-columns: 1fr; }
  .product-shell { padding-top: 70px; }
  .product-stage { min-height: 620px; }
  .results-grid { gap: 45px; }
  .split-heading { grid-template-columns: 1fr; gap: 20px; }
  .sector-grid { grid-template-columns: repeat(2, 1fr); }
  .testimonial { grid-template-columns: 1fr; }
  .testimonial-track { min-height: 750px; }
  .testimonial-photo { min-height: 340px; border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
  .quote-panel { border-radius: 0 0 var(--radius-xl) var(--radius-xl); padding: 45px; }
  .support-collage { width: min(100%, 600px); }
  .steps { grid-template-columns: 1fr; }
  .step { min-height: 330px; }
  .pricing-banner { align-items: flex-start; flex-direction: column; }
  .pricing-actions { align-items: flex-start; }
  .footer-top { grid-template-columns: 1fr; gap: 24px; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  :root { --content: calc(100% - 28px); }
  .relationship-bar { justify-content: center; }
  .relationship-bar a { display: none; }
  .nav-shell { min-height: 69px; }
  .main-nav { top: 69px; }
  .section { padding: 85px 0; }
  .hero { padding-top: 45px; }
  .hero h1, .hero h2 { font-size: 43px; }
  .hero-lead { font-size: 16px; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .trust-row { align-items: center; flex-direction: column; gap: 8px; }
  .hero-visual { min-height: 420px; padding: 0; }
  .hero-photo { inset: 0 0 35px; border-radius: 60px 18px 60px 18px; }
  .floating-wallet { left: -4px; top: 40px; transform: scale(.87); transform-origin: left; }
  .floating-relation { right: -4px; bottom: 0; transform: scale(.82); transform-origin: right; }
  .hero-caption { left: 25px; right: 18px; bottom: 57px; }
  .hero-caption b { display: none; }
  .platform-strip { margin-top: 45px; }
  .section-heading h2, .product-copy h2, .results-copy h2, .support-copy h2,
  .pricing-banner h2, .demo-copy h2, .faq-heading h2 { font-size: 36px; }
  .product-shell, .pricing-banner { width: calc(100% - 8px); padding-left: 24px; padding-right: 24px; border-radius: 25px; }
  .product-stage { min-height: 545px; transform: scale(.85); transform-origin: center top; margin-bottom: -80px; }
  .phone { left: 45%; }
  .mini-dashboard { right: -30px; }
  .reward-chip { left: -25px; }
  .metric-main strong { font-size: 72px; }
  .metrics-card { padding: 25px; }
  .metrics-grid-small { grid-template-columns: 1fr; }
  .metrics-grid-small div { border-right: 0; border-bottom: 1px solid var(--line); }
  .sector-grid { grid-template-columns: 1fr; }
  .sector-card.sector-wide { grid-column: auto; }
  .sector-card { min-height: 390px; }
  .testimonial-track { min-height: 720px; }
  .testimonial-photo { min-height: 300px; }
  .quote-panel { padding: 34px 27px; }
  blockquote { font-size: 22px; }
  .testimonial-controls { align-items: flex-start; flex-direction: column; }
  .support-collage { min-height: 480px; }
  .support-main { width: 94%; height: 420px; }
  .support-small { height: 190px; }
  .support-note { left: 10px; bottom: 10px; transform: scale(.9); transform-origin: left bottom; }
  .support-points { grid-template-columns: 1fr; }
  .pricing-banner { padding-top: 52px; padding-bottom: 52px; }
  .demo-form { padding: 25px; }
  .footer-links { grid-template-columns: 1fr 1fr; gap: 35px 20px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .brand { font-size: 19px; }
  .brand-icon { flex-basis: 36px; width: 36px; height: 36px; }
  .home-film-hero h1 { font-size: clamp(39px, 13vw, 50px); }
  .page-hero h1 { overflow-wrap: anywhere; }
  .button { white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* V2 multipage */
.main-nav a.is-active { color: var(--violet); }
.main-nav a.is-active::after { right: 0; }
.hero-compact { padding-top: 62px; }
.hero-compact .hero-visual { min-height: 520px; }
.hero-compact .hero-photo { bottom: 35px; }
.hero-compact .platform-strip { margin-top: 46px; }
.home-film-hero {
  position: relative; min-height: min(850px, calc(100vh - 112px)); overflow: hidden;
  display: flex; align-items: center; color: var(--white); background: #130d18;
}
.home-film {
  position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.9) contrast(1.04); transform: scale(1.015);
}
.home-film-shade {
  position: absolute; inset: 0; z-index: 1; background:
    radial-gradient(circle at 76% 26%, rgba(126,79,231,.25), transparent 32%),
    linear-gradient(90deg, rgba(17,13,21,.9) 0%, rgba(17,13,21,.7) 43%, rgba(17,13,21,.28) 78%, rgba(17,13,21,.45) 100%),
    linear-gradient(180deg, rgba(20,13,25,.12), rgba(20,13,25,.56));
}
.film-frame {
  position: absolute; inset: 28px; z-index: 2; pointer-events: none;
  border: 1px solid rgba(255,255,255,.16); border-radius: 2px 70px 2px 70px;
}
.film-frame::before,.film-frame::after {
  content:""; position:absolute; width:88px; height:3px; background:linear-gradient(90deg,var(--mint),var(--violet-bright));
}
.film-frame::before { top:-1px; left:8%; }
.film-frame::after { right:8%; bottom:-1px; }
.film-motif {
  position: absolute; z-index: 2; pointer-events: none; opacity: .42; mix-blend-mode: screen;
  filter: saturate(1.35) brightness(1.25) drop-shadow(0 0 24px rgba(126,79,231,.38));
  animation: filmMotifFloat 14s ease-in-out infinite alternate;
}
.film-motif-one { width: 520px; right: -90px; top: -70px; }
.film-motif-two { width: 340px; left: 48%; bottom: -110px; animation-duration: 18s; animation-direction: alternate-reverse; }
.film-ribbon-sweep {
  position:absolute;z-index:2;left:-7%;bottom:110px;width:64%;max-width:980px;opacity:.28;
  pointer-events:none;filter:saturate(1.2) brightness(1.45) drop-shadow(0 0 18px rgba(100,211,173,.22));
  transform:rotate(-4deg);animation:filmRibbonDrift 11s ease-in-out infinite alternate;
}
.film-content {
  position: relative; z-index: 3; width: var(--content); margin: auto; padding: 110px 6vw 130px 0;
}
.film-content > * { opacity:1; }
.film-content .film-kicker,
.film-content h1,
.film-content .film-loop-copy {
  opacity:0;
  animation:filmEnterUp 1.05s cubic-bezier(.2,.76,.24,1) forwards;
}
.film-content .film-kicker { animation-name:filmEnterLeft;animation-delay:.12s; }
.film-content h1 { animation-name:filmEnterLeft;animation-delay:.28s; }
.film-content .film-loop-copy { animation-delay:.48s; }
.film-kicker {
  display:flex;align-items:center;gap:10px;margin:0 0 26px;color:rgba(255,255,255,.72);
  font:700 11px/1 var(--font-display);letter-spacing:.13em;text-transform:uppercase;
}
.film-kicker span { width:36px;height:2px;background:var(--mint);box-shadow:0 0 18px rgba(100,211,173,.7); }
.home-film-hero h1 {
  max-width: 900px; margin: 0; font: 800 clamp(55px,7vw,100px)/.96 var(--font-display);
  letter-spacing: -.072em; text-wrap: balance;
}
.home-film-hero h1 em { display:block;color:#c9b8ff;font-family:var(--font-editorial);font-weight:600;letter-spacing:-.04em; }
.film-loop-copy {
  margin:30px 0 0;color:rgba(255,255,255,.72);font:700 clamp(19px,2.2vw,30px)/1.2 var(--font-display);
}
#filmWord { display:inline-block;min-width:128px;color:var(--mint);transition:opacity .28s,transform .28s; }
#filmWord.word-out { opacity:0;transform:translateY(15px); }
.film-lead { max-width:640px;margin:19px 0 0;color:rgba(255,255,255,.67);font-size:17px; }
.film-actions { display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px; }
.film-text-link { padding:11px 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:13px;font-weight:700; }
.film-text-link span { margin-left:12px;color:var(--mint); }
.film-footer {
  position:absolute;left:max(28px,calc((100vw - 1180px)/2));right:max(28px,calc((100vw - 1180px)/2));bottom:47px;z-index:3;
  display:flex;align-items:center;gap:25px;color:rgba(255,255,255,.62);font-size:10px;text-transform:uppercase;letter-spacing:.09em;
}
.film-footer span { padding-left:13px;position:relative; }
.film-footer span::before { content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--mint); }
.film-footer small { margin-left:auto;color:rgba(255,255,255,.45);font-size:9px; }
.motion-toggle {
  min-height:29px;padding:0 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;
  color:rgba(255,255,255,.68);background:rgba(20,13,25,.3);backdrop-filter:blur(8px);
  font:700 8px/1 var(--font-display);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;
  transition:color .25s,border-color .25s,background .25s;
}
.motion-toggle:hover { color:var(--white);border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.1); }
.film-marquee {
  position:absolute;left:0;right:0;bottom:78px;z-index:3;overflow:hidden;
  border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);
  background:rgba(20,13,25,.28);backdrop-filter:blur(8px);
  transform:rotate(-1.15deg);
}
.film-marquee > div {
  display:flex;width:max-content;align-items:center;gap:30px;padding:12px 0;
  color:rgba(255,255,255,.78);font:700 10px/1 var(--font-display);letter-spacing:.18em;
  animation:filmMarquee 38s linear infinite;
}
.film-marquee i { color:var(--mint);font-style:normal;font-size:8px; }
.film-footer { bottom:30px; }
.video-lever-grid { position:relative;display:grid;grid-template-columns:1.08fr .96fr .96fr;gap:16px; }
.video-lever {
  position:relative;min-height:520px;overflow:hidden;border-radius:24px;background:var(--plum);
  box-shadow:0 18px 45px rgba(28,15,39,.1);isolation:isolate;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;
}
.video-lever:hover { transform:translateY(-9px);box-shadow:0 30px 70px rgba(28,15,39,.2); }
.video-lever video {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1s cubic-bezier(.18,.78,.24,1),filter .7s;
}
.video-lever video.is-playing { animation:videoBreath 16s ease-in-out infinite alternate; }
.video-lever:hover video { transform:scale(1.055);filter:saturate(1.08); }
.video-lever-shade { position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,28,.04) 25%,rgba(20,12,28,.9) 100%); }
.video-lever-copy { position:absolute;inset:auto 28px 27px;z-index:2;color:var(--white); }
.video-lever-copy > span { color:var(--mint);font:700 9px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase; }
.video-lever-copy h3 { margin:11px 0 7px;font:800 32px/1 var(--font-display);letter-spacing:-.05em; }
.video-lever-copy p { max-width:300px;margin:0;color:rgba(255,255,255,.67);font-size:12px; }
.video-lever-copy b { display:inline-flex;gap:13px;margin-top:20px;font-size:11px; }
.video-lever-copy i { color:var(--mint);font-style:normal; }
.white-section, .soft-lilac, .transformation-section, .editorial-section, .home-quote,
.demo-mini, .page-content, .page-hero-inner, .page-cta, .studies-page, .resources-page {
  width: var(--content); margin-left: auto; margin-right: auto;
}
.white-section { padding: 104px 0; background: var(--white); }
.soft-lilac { background: #f3f4f7; }
.compact-heading {
  display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 42px;
}
.compact-heading h2, .page-hero h1, .page-block h2, .page-cta h2, .proof-intro h2,
.demo-mini h2, .home-quote blockquote {
  margin: 0; font-family: var(--font-display); line-height: 1.08; letter-spacing: -.055em;
}
.compact-heading h2 { max-width: 730px; font-size: clamp(35px, 4vw, 55px); }
.compact-heading h2 em, .proof-intro h2 em, .demo-mini h2 em, .page-hero h1 em,
.page-block h2 em { color: var(--violet); font-family: var(--font-editorial); font-weight: 600; }
.outline-arrow {
  display: inline-flex; align-items: center; gap: 28px; flex: 0 0 auto; padding: 13px 18px;
  border: 1px solid rgba(118,81,232,.45); border-radius: 999px; color: var(--violet);
  font: 700 12px/1 var(--font-display); transition: color .25s, background .25s, transform .25s;
}
.outline-arrow:hover { color: var(--white); background: var(--violet); transform: translateY(-2px); }
.outline-arrow span { font-size: 17px; }
.transformation-section { width: auto; padding: 100px max(20px, calc((100vw - 1400px)/2)); }
.transformation-section .compact-heading, .transformation-section .section-disclaimer { width: min(1400px, calc(100vw - 40px)); margin-left: auto; margin-right: auto; }
.section-disclaimer { margin-top: -23px; margin-bottom: 26px; color: #736978; font-size: 10px; }
.case-strip {
  width: min(1400px, calc(100vw - 40px)); margin: auto; display: grid; grid-template-columns: repeat(5,1fr); gap: 14px;
}
.case-card {
  position: relative; min-width: 0; height: 365px; border-radius: 18px; overflow: hidden;
  background: var(--plum); box-shadow: 0 8px 25px rgba(25,13,34,.08);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.case-card:hover { transform: translateY(-8px); box-shadow: 0 24px 50px rgba(25,13,34,.22); }
.case-card img, .article-media img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.015); transition: transform .75s cubic-bezier(.18,.78,.24,1), filter .75s;
}
.case-card:hover img, .article-card:hover .article-media img { transform: scale(1.065); filter: saturate(1.05) contrast(1.025); }
.case-card:hover .case-copy { transform: translateY(-4px); }
.case-copy { transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.epicerie-card img { object-position: 63% center; }
.epicerie-focus { object-position: 63% center !important; }
.case-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,6,16,.02) 20%, rgba(12,6,16,.9) 100%); }
.case-tag { position: absolute; top: 14px; right: 14px; padding: 7px 12px; border-radius: 99px; color: var(--ink); background: rgba(255,255,255,.94); font-size: 10px; font-weight: 700; }
.case-copy { position: absolute; left: 19px; right: 19px; bottom: 19px; color: var(--white); }
.case-copy small { display: block; font-size: 11px; }
.case-copy strong { display: block; margin-top: 5px; font: 800 42px/.95 var(--font-display); letter-spacing: -.06em; }
.case-copy p { margin: 7px 0 0; color: rgba(255,255,255,.68); font-size: 10px; }
.proof-band {
  width: min(1320px, calc(100vw - 30px)); margin: 30px auto 0; padding: 75px max(35px, calc((100vw - 1180px)/2));
  color: var(--white); background: linear-gradient(135deg, var(--plum), #130a1a); border-radius: var(--radius-xl);
}
.proof-band { display: grid; grid-template-columns: 1.05fr 1.4fr; gap: 70px; align-items: end; }
.proof-intro h2 { font-size: clamp(36px,4vw,55px); }
.proof-intro h2 em { color: #c9b9ff; }
.proof-intro > p:last-of-type { color: rgba(255,255,255,.58); font-size: 13px; }
.proof-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.proof-stats div { padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); }
.proof-stats strong { font: 800 clamp(42px,5vw,68px)/1 var(--font-display); letter-spacing: -.07em; }
.proof-stats p { margin: 10px 0 0; color: rgba(255,255,255,.58); font-size: 11px; }
.proof-stats-words { grid-template-columns:repeat(3,1fr); }
.proof-stats-words strong { font-size:clamp(22px,2.8vw,38px);letter-spacing:-.045em; }
.proof-band > small { grid-column: 1/-1; color: rgba(255,255,255,.38); font-size: 9px; }
.editorial-section { padding-bottom: 120px; }
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.article-card { min-width: 0; }
.article-media { height: 228px; margin-bottom: 20px; border-radius: 17px; overflow: hidden; background: var(--plum); }
.article-card > span { color: var(--violet); font: 800 10px/1 var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.article-card h3 { margin: 11px 0 9px; font: 800 20px/1.3 var(--font-display); letter-spacing: -.035em; }
.article-card p { margin: 0 0 15px; color: #756b79; font-size: 13px; }
.article-card b { color: var(--violet); font-size: 12px; }
.home-quote { width: auto; padding: 90px max(20px, calc((100vw - 1180px)/2)); display: grid; grid-template-columns: 330px 1fr; gap: 80px; align-items: center; }
.quote-image { height: 355px; border-radius: 110px 22px 110px 22px; overflow: hidden; }
.quote-image img { width: 100%; height: 100%; object-fit: cover; }
.quote-body blockquote { max-width: 740px; margin: 0 0 24px; font: 600 clamp(25px,3vw,39px)/1.4 var(--font-editorial); }
.quote-body strong, .quote-body span { display: block; }
.quote-body strong { font: 700 14px/1.3 var(--font-display); }
.quote-body span { margin: 5px 0 20px; color: #756a79; font-size: 11px; }
.quote-body a { color: var(--violet); font-size: 12px; font-weight: 700; }
.demo-mini {
  width: auto; padding: 90px max(20px, calc((100vw - 1180px)/2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center;
  color: var(--white); background: var(--plum-deep);
}
.demo-mini h2 { font-size: clamp(38px,4.5vw,60px); }
.demo-mini h2 em { color: #c9b8ff; }
.demo-mini > div > p:last-child { color: rgba(255,255,255,.64); }
.compact-form { padding: 30px; color: var(--ink); }

.page-hero {
  position: relative; padding: 74px 0 65px; overflow: hidden;
  background: linear-gradient(180deg, var(--cream), var(--white));
}
.page-hero-inner { display: grid; grid-template-columns: 1fr .88fr; align-items: center; gap: 75px; }
.page-hero-copy .breadcrumb { margin: 0 0 20px; color: #8b808f; font-size: 11px; }
.page-hero-copy .breadcrumb a { color: var(--violet); }
.page-hero h1 { max-width: 760px; font-size: clamp(45px,5.6vw,76px); }
.page-hero-copy > p:not(.breadcrumb):not(.eyebrow) { max-width: 670px; color: #645a68; font-size: 18px; }
.page-hero-media { height: 430px; border-radius: 75px 22px 75px 22px; overflow: hidden; box-shadow: var(--shadow); }
.page-hero-media img { width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.18,.78,.24,1); }
.page-hero-media:hover img { transform: scale(1.06); }
.page-hero-dark { color: var(--white); background: radial-gradient(circle at 85% 15%,rgba(143,102,246,.3),transparent 30%),linear-gradient(135deg,var(--plum),#130a1a); }
.page-hero-dark .page-hero-copy > p:not(.breadcrumb):not(.eyebrow) { color: rgba(255,255,255,.62); }
.page-hero-dark .breadcrumb { color: rgba(255,255,255,.42); }
.page-content { padding: 95px 0; }
.page-content.tint { width:auto;padding-left:max(20px,calc((100vw - 1180px)/2));padding-right:max(20px,calc((100vw - 1180px)/2));background:#f3f4f7; }
.page-block { margin-bottom: 95px; }
.page-block:last-child { margin-bottom: 0; }
.page-block-header { display:grid;grid-template-columns:1fr 430px;gap:70px;align-items:end;margin-bottom:40px; }
.page-block h2 { font-size:clamp(34px,4vw,54px); }
.page-block-header > p { color:#6f6473;font-size:15px; }
.editorial-feature-list { border-top:1px solid var(--line); }
.editorial-feature-item {
  display:grid;grid-template-columns:150px minmax(180px,.8fr) minmax(260px,1.2fr) auto;
  align-items:center;gap:30px;min-height:126px;padding:25px 4px;border-bottom:1px solid var(--line);
  background:transparent;transition:padding .35s ease,background .35s ease;
}
.editorial-feature-item:hover { padding-left:16px;padding-right:16px;background:rgba(126,79,231,.035); }
.editorial-feature-item > span {
  color:var(--violet);font:700 10px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;
}
.editorial-feature-item h3 { margin:0;font:800 22px/1.2 var(--font-display);letter-spacing:-.04em; }
.editorial-feature-item p { margin:0;color:#716675;font-size:13px; }
.editorial-feature-item a { color:var(--violet);font-size:11px;font-weight:700;white-space:nowrap; }
.feature-card-grid,.feature-card-simple { display:none; }

/* Le parcours reste lisible sans réintroduire trois boîtes carrées. */
.steps { position:relative;display:block;margin:auto;border-top:1px solid var(--line); }
.step {
  display:grid;grid-template-columns:92px 170px minmax(180px,.7fr) 1fr;align-items:center;gap:28px;
  min-height:0;padding:24px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;
}
.step-number {
  position:static;width:auto;height:auto;display:block;border-radius:0;color:var(--violet);background:transparent;
  font:700 10px/1 var(--font-display);letter-spacing:.13em;text-transform:uppercase;
}
.step-number::before { content:"Étape "; }
.step-visual { height:92px;margin:0;transform:scale(.65);transform-origin:center; }
.step h3 { margin:0;font-size:23px; }
.step p { margin:0; }
.two-column-story { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center; }
.story-photo { height:470px;border-radius:24px 90px 24px 90px;overflow:hidden; }
.story-photo img { width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.18,.78,.24,1); }
.story-photo:hover img { transform:scale(1.07); }
.story-text h2 { margin:0;font:800 clamp(34px,4vw,52px)/1.1 var(--font-display);letter-spacing:-.05em; }
.story-text > p { color:#6d6271;font-size:16px; }
.story-list { list-style:none;padding:0;margin:25px 0; }
.story-list li { padding:14px 0;border-top:1px solid var(--line);font-size:13px; }
.story-list li span { display:inline-block;min-width:31px;margin-right:12px;color:var(--violet);font-weight:700; }
.page-cta { margin-top:20px;margin-bottom:90px;padding:60px;border-radius:28px;color:var(--white);background:linear-gradient(135deg,var(--plum),#170b20);display:flex;justify-content:space-between;align-items:end;gap:50px; }
.page-cta h2 { max-width:760px;font-size:clamp(35px,4vw,55px); }
.page-cta p { color:rgba(255,255,255,.58); }
.page-cta .button { flex:0 0 auto; }
.page-note { color:#8d8290;font-size:10px; }
.logo-cloud { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }
.logo-cloud span { display:grid;place-items:center;min-height:100px;border:1px solid var(--line);border-radius:16px;background:var(--white);font:700 13px/1 var(--font-display);color:#655a69; }
.quote-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:17px; }
.quote-card { padding:32px;border:1px solid var(--line);border-radius:21px;background:var(--white); }
.quote-card blockquote { margin:0 0 25px;font:600 22px/1.5 var(--font-editorial); }
.quote-card footer strong,.quote-card footer span { display:block; }
.quote-card footer span { margin-top:4px;color:#7a6f7e;font-size:11px; }
.pricing-page-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start; }
.pricing-page-card { position:relative;padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--white); }
.pricing-page-card.featured { color:var(--white);background:var(--plum);transform:translateY(-12px);box-shadow:var(--shadow); }
.pricing-page-card .plan-pill { display:inline-block;padding:6px 9px;border-radius:99px;color:var(--violet);background:var(--lavender);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.pricing-page-card.featured .plan-pill { color:var(--plum);background:var(--mint); }
.pricing-page-card h3 { margin:20px 0 8px;font:800 25px/1.2 var(--font-display); }
.pricing-page-card .plan-price { margin:18px 0;font:800 48px/1 var(--font-display);letter-spacing:-.06em; }
.pricing-page-card .plan-price small { font:500 11px/1 var(--font-body);letter-spacing:0; }
.pricing-page-card > p { min-height:48px;color:#756a79;font-size:13px; }
.pricing-page-card.featured > p { color:rgba(255,255,255,.6); }
.pricing-page-card ul { list-style:none;padding:15px 0;margin:20px 0;border-top:1px solid var(--line); }
.pricing-page-card.featured ul { border-color:rgba(255,255,255,.13); }
.pricing-page-card li { padding:7px 0;font-size:12px; }
.pricing-page-card li::before { content:"✓";margin-right:8px;color:var(--mint);font-weight:800; }
.sector-index { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.sector-index .case-card { height:310px; }
.resource-feature { display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center;padding:45px;border-radius:25px;background:#f3f4f7; }
.resource-feature .article-media { height:360px;margin:0; }
.resource-feature h2 { font-size:clamp(32px,4vw,50px); }
.resource-chips { display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 38px; }
.resource-chips span { padding:8px 12px;border:1px solid var(--line);border-radius:99px;font-size:10px;font-weight:700;background:var(--white); }
.article-body { max-width:780px;margin:auto; }
.article-body h2 { margin-top:50px;font-size:32px; }
.article-body p,.article-body li { color:#5f5463;font-size:16px; }

.page-hero-cinematic {
  min-height: 650px; padding: 0; display: flex; align-items: stretch; color: var(--white);
  background: #120b17;
}
.page-hero-cinematic .page-hero-inner {
  position: relative; min-height: 650px; display: flex; align-items: center;
}
.page-hero-cinematic .page-hero-media {
  position: absolute; inset: 0 calc((1180px - 100vw)/2); z-index: 0; height: 100%; border-radius: 0;
  overflow: hidden; box-shadow: none; background: #171019;
}
.page-hero-cinematic .page-hero-media video {
  width: 100%; height: 100%; object-fit: cover; filter: saturate(.87) contrast(1.04);
  transform: scale(1.01); animation: cinematicDrift 16s ease-in-out infinite alternate;
}
.cinematic-shade {
  position: absolute; inset: 0; background:
    linear-gradient(90deg, rgba(15,8,20,.88) 0%, rgba(15,8,20,.69) 48%, rgba(15,8,20,.3) 100%),
    linear-gradient(180deg, rgba(15,8,20,.14), rgba(15,8,20,.52));
}
.page-hero-cinematic .page-hero-copy {
  position: relative; z-index: 2; max-width: 850px; padding: 90px 0;
}
.page-hero-cinematic .page-hero-copy > p:not(.breadcrumb):not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.7); }
.page-hero-cinematic .page-hero-copy .breadcrumb { color: rgba(255,255,255,.5); }
.page-hero-cinematic .page-hero-copy .breadcrumb a { color: #c9b8ff; }
.page-hero-cinematic h1 em { color: #c9b8ff; }
.page-hero-cinematic .page-note { color: rgba(255,255,255,.48) !important; }
.cinematic-stats { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.cinematic-stats span { padding-top: 11px; border-top: 1px solid rgba(255,255,255,.28); color: rgba(255,255,255,.66); font-size: 11px; }
.cinematic-stats strong { color: var(--white); font: 800 28px/1 var(--font-display); letter-spacing: -.04em; }
.video-module { position:relative;min-height:470px;border-radius:24px 90px 24px 90px;overflow:hidden;background:#161019; }
.video-module video { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.9); }

.billing-toggle {
  width: fit-content; display: flex; gap: 4px; margin-top: 30px; padding: 4px;
  border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(15,8,20,.3);
}
.billing-toggle button {
  min-height: 38px; padding: 0 16px; border: 0; border-radius: 999px; color: rgba(255,255,255,.68); background: transparent;
  font-size: 11px; font-weight: 700; transition: background .25s, color .25s;
}
.billing-toggle button.is-active { color: var(--plum); background: var(--white); }
.pricing-showcase {
  position: relative; min-height: 560px; padding: 56px; display: grid; grid-template-columns: .85fr .9fr .75fr; gap: 45px;
  align-items: center; color: var(--white); border-radius: 30px; background:
    radial-gradient(circle at 80% 10%, rgba(150,109,255,.32), transparent 30%),
    linear-gradient(135deg, #2c173a, #140b1b); overflow: hidden;
}
.pricing-overline { color: var(--mint); font: 800 10px/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.pricing-showcase h2 { margin: 18px 0 12px; font: 800 clamp(42px,5vw,67px)/1 var(--font-display); letter-spacing: -.065em; }
.pricing-showcase-copy > p { color: rgba(255,255,255,.62); font-size: 14px; }
.showcase-price { display: flex; align-items: end; gap: 10px; margin: 30px 0; }
.showcase-price strong { font: 800 52px/.9 var(--font-display); letter-spacing: -.06em; }
.showcase-price span { color: rgba(255,255,255,.5); font-size: 10px; }
.pricing-showcase-features { border-top: 1px solid rgba(255,255,255,.17); }
.pricing-showcase-features div { padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.pricing-showcase-features strong { font: 700 15px/1.2 var(--font-display); }
.pricing-showcase-features p { margin: 6px 0 0; color: rgba(255,255,255,.54); font-size: 11px; }
.phone-visual-placeholder {
  position: relative; align-self: stretch; padding: 28px 24px; border: 1px dashed rgba(255,255,255,.32); border-radius: 22px;
  background: rgba(255,255,255,.055); overflow: hidden;
}
.phone-visual-placeholder > span { color: var(--mint); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.phone-visual-placeholder > strong { display: block; margin-top: 12px; font: 700 16px/1.3 var(--font-display); }
.phone-visual-placeholder > p { color: rgba(255,255,255,.45); font-size: 10px; line-height: 1.5; }
.placeholder-phone {
  position: absolute; width: 162px; height: 290px; left: 50%; bottom: -80px; padding: 32px 15px;
  transform: translateX(-50%) rotate(7deg); border: 5px solid #111; border-radius: 28px;
  background: linear-gradient(150deg,#8d6bec,#3b2358); box-shadow: 0 28px 45px rgba(0,0,0,.4);
}
.placeholder-phone i { position:absolute;top:7px;left:50%;width:50px;height:12px;transform:translateX(-50%);border-radius:99px;background:#080609; }
.placeholder-phone b,.placeholder-phone small { display:block;color:#fff; }
.placeholder-phone b { margin-top:22px;font:800 14px/1 var(--font-display); }
.placeholder-phone small { margin-top:75px;color:rgba(255,255,255,.7);font-size:9px; }
.pricing-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.pricing-wide-card {
  padding: 35px; display: grid; grid-template-columns: 1fr auto; gap: 20px 35px;
  border: 1px solid var(--line); border-radius: 23px; background: var(--white);
}
.pricing-wide-card > div:first-child > span { color: var(--violet); font:800 9px/1 var(--font-display);text-transform:uppercase;letter-spacing:.1em; }
.pricing-wide-card h3 { margin:13px 0 5px;font:800 26px/1.15 var(--font-display);letter-spacing:-.04em; }
.pricing-wide-card p { margin:0;color:#756a79;font-size:12px; }
.wide-price { text-align:right; }
.wide-price strong,.wide-price small { display:block; }
.wide-price strong { font:800 36px/1 var(--font-display);letter-spacing:-.055em; }
.wide-price small { margin-top:6px;color:#857a88;font-size:9px; }
.pricing-wide-card ul { grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;list-style:none;margin:10px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.pricing-wide-card li { font-size:11px;color:#5e5362; }
.pricing-wide-card li::before { content:"✓";margin-right:7px;color:#2b9b75;font-weight:800; }
.pricing-wide-card .button { grid-column:1/-1;justify-self:start; }
.price-updated { animation: pricePop .34s ease; }

/* Rubans dimensionnels : une partie reste derrière le contenu, une autre repasse devant. */
.has-dimensional-ribbon { isolation:isolate; }
.page-ribbon {
  position:absolute;left:-8vw;top:43%;width:116vw;height:auto;pointer-events:none;
  transform:translateY(-50%) rotate(-4deg);transform-origin:center;
  filter:saturate(1.05) drop-shadow(0 18px 24px rgba(8,4,12,.24));
}
.page-ribbon-back {
  z-index:1;opacity:.18;mix-blend-mode:screen;
  animation:pageRibbonBack 15s ease-in-out infinite alternate;
}
.page-ribbon-front {
  z-index:4;opacity:.28;clip-path:polygon(57% 0,100% 0,100% 100%,68% 100%,61% 64%);
  filter:saturate(1.15) brightness(1.18) drop-shadow(0 22px 28px rgba(8,4,12,.34));
  animation:pageRibbonFront 15s ease-in-out infinite alternate;
}
.has-section-ribbon { position:relative;overflow:hidden;isolation:isolate; }
.has-section-ribbon > *:not(.section-ribbon) { position:relative;z-index:1; }
.section-ribbon {
  position:absolute;z-index:0;right:-230px;top:-230px;width:620px;opacity:.14;pointer-events:none;
  filter:saturate(.9);animation:sectionRibbonFloat 18s ease-in-out infinite alternate;
}

/* Entrées de texte plus franches et rejouées quand la section revient à l’écran. */
.motion-ready .kinetic-text {
  opacity:0;filter:blur(3px);will-change:transform,opacity,filter;
  transition:
    opacity .8s cubic-bezier(.16,.8,.22,1) var(--kinetic-delay,0ms),
    transform .9s cubic-bezier(.16,.8,.22,1) var(--kinetic-delay,0ms),
    filter .7s ease var(--kinetic-delay,0ms);
}
.motion-ready .kinetic-left { transform:translate3d(-58px,0,0); }
.motion-ready .kinetic-right { transform:translate3d(58px,0,0); }
.motion-ready .kinetic-up { transform:translate3d(0,44px,0); }
.motion-ready .kinetic-text.is-in { opacity:1;filter:blur(0);transform:translate3d(0,0,0) rotate(0); }
.motion-ready .kinetic-text em {
  display:inline-block;transition:transform 1.15s cubic-bezier(.16,.8,.22,1) calc(var(--kinetic-delay,0ms) + 140ms);
  transform:translateY(15px);
}
.motion-ready .kinetic-text.is-in em { transform:translateY(0); }

/* Nouvelle présentation des offres : Essentiel compact, Croissance dominant, Signature exhaustif. */
.pricing-plans-section {
  position:relative;isolation:isolate;padding-top:115px;padding-bottom:105px;
}
.pricing-plans-section > *:not(.pricing-bg-ribbon) { position:relative;z-index:1; }
.pricing-bg-ribbon {
  position:absolute;z-index:0;pointer-events:none;user-select:none;
  opacity:.095;filter:saturate(.86) contrast(.94);
}
.pricing-bg-ribbon-one {
  width:560px;left:-270px;top:210px;transform:rotate(-13deg);
}
.pricing-bg-ribbon-two {
  width:430px;right:-210px;bottom:38px;transform:rotate(15deg);
}
.pricing-intro {
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.6fr);gap:20px 80px;
  align-items:end;margin-bottom:64px;
}
.pricing-intro .eyebrow { grid-column:1/-1;margin:0; }
.pricing-intro h2 { margin:0;font-size:clamp(43px,5vw,66px); }
.pricing-intro > p:last-child { margin:0 0 8px;color:#6b6070;font-size:15px; }
.pricing-suite {
  display:grid;grid-template-columns:.86fr 1.08fr 1.08fr;gap:18px;align-items:start;
}
.plan-card {
  position:relative;overflow:hidden;padding:34px 31px 36px;border:1px solid var(--line);border-radius:26px;
  background:var(--white);box-shadow:0 14px 42px rgba(28,15,39,.07);
}
.plan-card::after {
  content:"";position:absolute;inset:auto -90px -120px auto;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(126,79,231,.1),transparent 68%);pointer-events:none;
}
.plan-card-essential { margin-top:42px; }
.plan-card-growth {
  padding:42px 37px 43px;color:var(--white);border-color:rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 92% 4%,rgba(141,105,244,.5),transparent 31%),
    linear-gradient(145deg,#321841 0%,#1b0d26 70%);
  box-shadow:0 34px 80px rgba(35,15,49,.25);
}
.plan-card-signature {
  padding:42px 37px 43px;color:var(--white);border-color:rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 12% 1%,rgba(100,211,173,.22),transparent 28%),
    radial-gradient(circle at 93% 88%,rgba(126,79,231,.24),transparent 34%),
    linear-gradient(150deg,#151118,#09070b);
  box-shadow:0 26px 68px rgba(20,12,27,.2);
}
.plan-ribbon {
  position:absolute;top:26px;right:-39px;width:170px;padding:8px 0;text-align:center;
  color:#1d1029;background:var(--mint);font:800 9px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;
  transform:rotate(35deg);box-shadow:0 10px 25px rgba(0,0,0,.17);
}
.plan-kicker {
  color:var(--violet);font:800 9px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;
}
.plan-card-growth .plan-kicker { color:var(--mint); }
.plan-card-signature .plan-kicker { color:#c9b8ff; }
.plan-card h3 { margin:20px 0 9px;font:800 33px/1 var(--font-display);letter-spacing:-.055em; }
.plan-card header > p { min-height:66px;margin:0;color:#736978;font-size:13px; }
.plan-card-growth header > p,.plan-card-signature header > p { color:rgba(255,255,255,.62); }
.plan-price { display:flex;align-items:flex-end;gap:9px;margin:27px 0 25px; }
.plan-price strong { font:800 48px/.9 var(--font-display);letter-spacing:-.065em; }
.plan-price small { color:#837887;font-size:9px; }
.plan-card-growth .plan-price small,.plan-card-signature .plan-price small { color:rgba(255,255,255,.48); }
.plan-card .button { width:100%; }
.plan-feature-heading {
  display:flex;align-items:center;gap:13px;margin-top:31px;padding-top:25px;border-top:1px solid var(--line);
}
.plan-card-growth .plan-feature-heading,.plan-card-signature .plan-feature-heading { border-color:rgba(255,255,255,.15); }
.plan-feature-heading span { color:#6d6271;font:800 9px/1 var(--font-display);letter-spacing:.11em;text-transform:uppercase; }
.plan-card-growth .plan-feature-heading span,.plan-card-signature .plan-feature-heading span { color:rgba(255,255,255,.57); }
.plan-feature-heading i { height:1px;flex:1;background:var(--line); }
.plan-card-growth .plan-feature-heading i,.plan-card-signature .plan-feature-heading i { background:rgba(255,255,255,.14); }
.plan-feature-list { list-style:none;margin:17px 0 0;padding:0; }
.plan-feature-list li {
  position:relative;padding:8px 0 8px 23px;color:#5f5563;font-size:11.5px;border-bottom:1px solid rgba(34,19,43,.055);
}
.plan-feature-list li::before {
  content:"";position:absolute;left:1px;top:13px;width:8px;height:4px;border-left:2px solid #2b9b75;border-bottom:2px solid #2b9b75;
  transform:rotate(-45deg);
}
.plan-card-growth .plan-feature-list li,.plan-card-signature .plan-feature-list li {
  color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.07);
}
.plan-card-growth .plan-feature-list li::before { border-color:var(--mint); }
.plan-card-signature .plan-feature-list li::before { border-color:#bda7ff; }
.plan-feature-list strong { color:inherit;font-weight:800; }
.pricing-legal-note { max-width:900px;margin:30px auto 0;text-align:center;line-height:1.65; }
.pricing-confidence {
  position:relative;overflow:hidden;padding:100px 0;color:var(--white);background:
    radial-gradient(circle at 82% 10%,rgba(126,79,231,.34),transparent 29%),
    linear-gradient(135deg,#24122f,#100914);
}
.pricing-confidence-inner { width:var(--content);margin:auto; }
.pricing-confidence h2 { max-width:790px;margin:16px 0 46px;font-size:clamp(40px,5vw,66px); }
.pricing-confidence h2 em { color:#c9b8ff; }
.confidence-lines { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16); }
.confidence-lines p { margin:0;padding:29px 28px 0 0;border-right:1px solid rgba(255,255,255,.16); }
.confidence-lines p:last-child { border-right:0;padding-left:28px; }
.confidence-lines p:nth-child(2) { padding-left:28px; }
.confidence-lines strong,.confidence-lines span { display:block; }
.confidence-lines strong { font:800 22px/1.15 var(--font-display);letter-spacing:-.04em; }
.confidence-lines span { margin-top:8px;color:rgba(255,255,255,.52);font-size:11px; }
.pricing-faq {
  width:100%;
  max-width:none;
  padding:100px 0;
}
.pricing-faq .faq-grid {
  width:min(1420px,calc(100vw - 160px));
  margin:0 auto;
}
.trial-note {
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:18px 0 0;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(9px);
  font:700 11px/1.2 var(--font-display);
  letter-spacing:.02em;
}
.trial-note::before {
  content:"✓";
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  color:#10271e;
  background:var(--mint);
  font-size:10px;
}
.page-hero-copy .trial-note { margin-top:20px; }
.page-cta .trial-inline {
  display:inline-flex;
  width:max-content;
  margin:18px 0 0;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.08);
  font:700 10px/1.2 var(--font-display);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.plan-trial {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:12px 0 0;
  color:#706676;
  font:700 10px/1.35 var(--font-display);
  letter-spacing:.025em;
}
.plan-card-growth .plan-trial,
.plan-card-signature .plan-trial { color:rgba(255,255,255,.62); }

@keyframes cinematicDrift {
  from { transform: scale(1.01) translate3d(0,0,0); }
  to { transform: scale(1.07) translate3d(-.6%,.3%,0); }
}
@keyframes filmMotifFloat {
  from { transform:translate3d(0,0,0) rotate(-4deg); }
  to { transform:translate3d(-18px,20px,0) rotate(5deg); }
}
@keyframes filmRibbonDrift {
  from { transform:translate3d(-2%,0,0) rotate(-4deg); }
  to { transform:translate3d(7%,-12px,0) rotate(-1deg); }
}
@keyframes filmEnterLeft {
  from { opacity:0;transform:translate3d(-72px,0,0); }
  to { opacity:1;transform:translate3d(0,0,0); }
}
@keyframes filmEnterRight {
  from { opacity:0;transform:translate3d(72px,0,0); }
  to { opacity:1;transform:translate3d(0,0,0); }
}
@keyframes filmEnterUp {
  from { opacity:0;transform:translate3d(0,42px,0); }
  to { opacity:1;transform:translate3d(0,0,0); }
}
@keyframes filmMarquee {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
@keyframes videoBreath {
  from { transform:scale(1.005); }
  to { transform:scale(1.028); }
}
@keyframes pageRibbonBack {
  from { transform:translate3d(-2%, -50%, 0) rotate(-5deg); }
  to { transform:translate3d(3%, calc(-50% + 12px), 0) rotate(-2.5deg); }
}
@keyframes pageRibbonFront {
  from { transform:translate3d(-2%, -50%, 0) rotate(-5deg) scale(1.004); }
  to { transform:translate3d(3%, calc(-50% + 12px), 0) rotate(-2.5deg) scale(1.004); }
}
@keyframes sectionRibbonFloat {
  from { transform:rotate(-10deg) translate3d(0,0,0); }
  to { transform:rotate(3deg) translate3d(-35px,40px,0); }
}
@keyframes pricePop {
  0% { opacity: .3; transform: translateY(7px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Pages métier : une présentation éditoriale distincte pour chaque secteur. */
.trade-hero {
  position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;
  color:var(--white);background:var(--plum);isolation:isolate;
}
.trade-hero-photo,.trade-hero-shade { position:absolute;inset:0;width:100%;height:100%; }
.trade-hero-photo { z-index:-3;object-fit:cover;object-position:center;transform:scale(1.01); }
.trade-hero-shade {
  z-index:-2;background:
    linear-gradient(90deg,rgba(18,9,24,.94) 0%,rgba(18,9,24,.72) 48%,rgba(18,9,24,.18) 100%),
    linear-gradient(0deg,rgba(18,9,24,.72),transparent 58%);
}
.trade-hero-ribbon {
  position:absolute;z-index:-1;right:-12vw;top:11%;width:72vw;max-width:1100px;opacity:.23;
  filter:saturate(1.05) brightness(1.35);transform:rotate(-7deg);pointer-events:none;
}
.trade-hero-inner {
  width:var(--content);margin:0 auto;padding:135px 0 76px;
  display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:65px;
}
.trade-hero-copy { max-width:790px; }
.trade-hero-copy .breadcrumb { margin-bottom:34px;color:rgba(255,255,255,.58);font-size:11px; }
.trade-hero-copy h1 {
  max-width:820px;margin:0;font:800 clamp(50px,6.2vw,86px)/.98 var(--font-display);
  letter-spacing:-.066em;text-wrap:balance;
}
.trade-hero-copy > p:not(.breadcrumb):not(.eyebrow) {
  max-width:650px;margin:25px 0 0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.65;
}
.trade-actions { display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:34px; }
.trade-hero-card {
  padding:26px;border:1px solid rgba(255,255,255,.2);border-radius:22px;
  background:rgba(20,10,28,.48);box-shadow:0 24px 60px rgba(0,0,0,.25);backdrop-filter:blur(14px);
}
.trade-hero-card span,.trade-hero-card strong,.trade-hero-card p { display:block; }
.trade-hero-card span { color:var(--mint);font:800 9px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase; }
.trade-hero-card strong { margin:19px 0 10px;font:800 54px/.9 var(--font-display);letter-spacing:-.06em; }
.trade-hero-card p { margin:0;color:rgba(255,255,255,.62);font-size:12px;line-height:1.5; }
.trade-intro { width:var(--content);margin:0 auto;padding:115px 0 82px; }
.trade-intro h2 {
  max-width:860px;margin:16px 0 54px;font:800 clamp(42px,5vw,68px)/1.03 var(--font-display);
  letter-spacing:-.058em;text-wrap:balance;
}
.trade-quick-facts { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line); }
.trade-quick-facts p { margin:0;padding:28px 32px 0 0;border-right:1px solid var(--line); }
.trade-quick-facts p+ p { padding-left:32px; }
.trade-quick-facts p:last-child { border-right:0; }
.trade-quick-facts small,.trade-quick-facts strong { display:block; }
.trade-quick-facts small { color:#8a7f8e;font-size:10px;text-transform:uppercase;letter-spacing:.08em; }
.trade-quick-facts strong { margin-top:8px;font:800 20px/1.2 var(--font-display);letter-spacing:-.035em; }
.trade-film {
  width:var(--content);margin:0 auto 112px;
}
.trade-film-shell {
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(320px,.72fr) minmax(500px,1fr);
  min-height:650px;overflow:hidden;color:var(--white);border:1px solid rgba(255,255,255,.1);border-radius:32px;
  background:
    radial-gradient(circle at 9% 14%,rgba(126,79,231,.32),transparent 31%),
    linear-gradient(145deg,#281331 0%,#160b1f 55%,#0c0710 100%);
  box-shadow:0 34px 90px rgba(31,13,43,.24);
}
.trade-film-shell::before {
  content:"";position:absolute;z-index:-1;width:420px;height:420px;left:-250px;bottom:-270px;border-radius:50%;
  border:1px solid rgba(211,192,255,.18);box-shadow:0 0 0 55px rgba(211,192,255,.025),0 0 0 110px rgba(211,192,255,.018);
}
.trade-film-copy {
  position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:64px clamp(38px,4.5vw,68px);
}
.trade-film-copy .eyebrow { color:var(--mint); }
.trade-film-copy h2 {
  max-width:520px;margin:18px 0 24px;font:800 clamp(42px,4.3vw,67px)/.98 var(--font-display);letter-spacing:-.062em;
}
.trade-film-copy h2 em { color:#cdbdff;font:600 1.04em/1 var(--font-editorial); }
.trade-film-copy > p:not(.eyebrow) {
  max-width:470px;margin:0;color:rgba(255,255,255,.69);font-size:15px;line-height:1.75;
}
.trade-film-keywords {
  display:grid;margin-top:48px;border-top:1px solid rgba(255,255,255,.16);
}
.trade-film-keywords span {
  display:grid;grid-template-columns:45px 1fr;align-items:center;min-height:58px;border-bottom:1px solid rgba(255,255,255,.12);
}
.trade-film-keywords i {
  color:#cdbdff;font:700 11px/1 var(--font-display);font-style:normal;letter-spacing:.08em;
}
.trade-film-keywords strong {
  font:700 16px/1.1 var(--font-display);letter-spacing:-.02em;
}
.trade-film-media {
  position:relative;min-height:650px;overflow:hidden;background:#1a0d23;
}
.trade-film-media video {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.012);
}
.trade-film-filter {
  position:absolute;z-index:1;inset:0;pointer-events:none;background:
    linear-gradient(90deg,rgba(35,16,45,.64) 0%,rgba(83,39,137,.18) 43%,rgba(28,11,39,.22) 100%),
    linear-gradient(0deg,rgba(17,7,24,.76) 0%,transparent 48%,rgba(87,44,133,.15) 100%);
}
.trade-film-media::after {
  content:"";position:absolute;z-index:2;inset:14px;border:1px solid rgba(255,255,255,.16);border-radius:20px;pointer-events:none;
}
.trade-film-ribbon {
  position:absolute;z-index:2;width:126%;max-width:none;left:-34%;bottom:4%;opacity:.2;filter:brightness(1.45) saturate(.9);pointer-events:none;
}
.trade-film-caption {
  position:absolute;z-index:3;left:40px;right:40px;bottom:38px;padding:20px 22px;border:1px solid rgba(255,255,255,.18);border-radius:17px;
  background:rgba(20,8,28,.46);box-shadow:0 16px 45px rgba(11,5,16,.28);backdrop-filter:blur(14px);
}
.trade-film-caption span,.trade-film-caption strong { display:block; }
.trade-film-caption span {
  margin-bottom:6px;color:#cdbdff;font:700 10px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;
}
.trade-film-caption strong {
  font:700 clamp(19px,2vw,26px)/1.08 var(--font-display);letter-spacing:-.035em;
}
.trade-film-sound {
  position:absolute;z-index:4;top:34px;right:34px;display:inline-flex;align-items:center;gap:9px;padding:11px 15px;
  color:#fff;border:1px solid rgba(255,255,255,.23);border-radius:999px;background:rgba(20,8,28,.48);
  box-shadow:0 12px 34px rgba(11,5,16,.25);backdrop-filter:blur(12px);font:700 11px/1 var(--font-display);cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.trade-film-sound:hover { transform:translateY(-2px);border-color:rgba(255,255,255,.42);background:rgba(40,17,53,.68); }
.trade-film-sound > span {
  position:relative;width:9px;height:9px;border-radius:50%;background:#cdbdff;box-shadow:0 0 0 4px rgba(205,189,255,.16);
}
.trade-film-sound[aria-pressed="true"] > span { background:var(--mint);box-shadow:0 0 0 4px rgba(125,238,199,.15); }
.trade-results {
  padding:102px max(20px,calc((100vw - 1180px)/2));color:var(--white);
  background:
    radial-gradient(circle at 87% 13%,rgba(126,79,231,.35),transparent 27%),
    linear-gradient(135deg,#24122f,#0e0812);
}
.trade-results > div:first-child { max-width:850px; }
.trade-results h2 { margin:15px 0 54px;font:800 clamp(40px,5vw,66px)/1.03 var(--font-display);letter-spacing:-.055em; }
.trade-results-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18); }
.trade-results-grid p { margin:0;padding:30px 30px 0 0;border-right:1px solid rgba(255,255,255,.17); }
.trade-results-grid p+ p { padding-left:30px; }
.trade-results-grid p:last-child { border-right:0; }
.trade-results-grid strong,.trade-results-grid span { display:block; }
.trade-results-grid strong { font:800 38px/1 var(--font-display);letter-spacing:-.05em; }
.trade-results-grid span { margin-top:9px;color:rgba(255,255,255,.55);font-size:11px; }
.trade-quote { width:var(--content);margin:0 auto;padding:115px 0;text-align:center; }
.trade-quote blockquote {
  max-width:960px;margin:0 auto;font:600 clamp(35px,4.5vw,58px)/1.18 var(--font-editorial);
  letter-spacing:-.038em;
}
.trade-quote > p { margin:32px 0 0; }
.trade-quote strong,.trade-quote span { display:block; }
.trade-quote strong { font:800 13px/1 var(--font-display); }
.trade-quote span { margin-top:7px;color:#817685;font-size:11px; }
.trade-bottom {
  width:var(--content);margin:0 auto 100px;padding:54px 58px;border-radius:28px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:45px;background:#f3f4f7;
}
.trade-bottom h2 { max-width:780px;margin:12px 0 0;font:800 clamp(33px,4vw,52px)/1.05 var(--font-display);letter-spacing:-.05em; }
.trade-bottom .button { flex:none; }
.noscript-note { padding:80px 20px;text-align:center; }

@media(max-width:1080px){
  .case-strip{grid-template-columns:repeat(3,1fr)}
  .case-card:nth-child(n+4){display:none}
  .proof-band{grid-template-columns:1fr}
  .page-hero-inner{gap:35px}
  .pricing-suite{grid-template-columns:1fr 1fr}
  .plan-card-essential{margin-top:0}
  .plan-card-signature{grid-column:1/-1}
  .trade-hero-inner{grid-template-columns:1fr;gap:35px}
  .trade-hero-card{max-width:320px}
  .pricing-faq .faq-grid{width:calc(100% - 64px)}
}
@media(max-width:860px){
  .compact-heading,.page-block-header{display:block}
  .compact-heading .outline-arrow{margin-top:22px}
  .feature-card-grid,.pricing-page-grid{grid-template-columns:1fr}
  .case-strip{grid-template-columns:repeat(2,1fr)}
  .case-card:nth-child(3){display:none}
  .proof-stats,.article-grid,.steps,.sector-index{grid-template-columns:repeat(2,1fr)}
  .home-quote,.demo-mini,.page-hero-inner,.two-column-story,.resource-feature{grid-template-columns:1fr}
  .home-quote{gap:35px}
  .quote-image{width:min(100%,430px)}
  .page-hero-media{height:360px}
  .page-cta{align-items:flex-start;flex-direction:column}
  .quote-grid{grid-template-columns:1fr}
  .pricing-page-card.featured{transform:none}
  .page-hero-cinematic .page-hero-inner{min-height:600px}
  .pricing-showcase{grid-template-columns:1fr;padding:44px}
  .phone-visual-placeholder{min-height:380px}
  .pricing-secondary{grid-template-columns:1fr}
  .home-film-hero{min-height:720px}
  .film-content{padding-right:0}
  .video-lever-grid{grid-template-columns:1fr}
  .video-lever{min-height:440px}
  .film-motif-one{width:330px}
  .film-ribbon-sweep{width:92%;left:-28%;bottom:135px}
  .editorial-feature-item{grid-template-columns:110px 1fr;gap:13px 22px;padding:24px 0}
  .editorial-feature-item p,.editorial-feature-item a{grid-column:2}
  .step{grid-template-columns:75px 115px 1fr;gap:16px}
  .step p{grid-column:3}
  .pricing-intro{grid-template-columns:1fr;gap:18px}
  .pricing-intro .eyebrow{grid-column:auto}
  .pricing-suite{grid-template-columns:1fr}
  .plan-card-signature{grid-column:auto}
  .confidence-lines{grid-template-columns:1fr}
  .confidence-lines p,.confidence-lines p:nth-child(2),.confidence-lines p:last-child{padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .confidence-lines p:last-child{border-bottom:0}
  .page-ribbon{width:160vw;left:-26vw;top:48%}
  .page-ribbon-front{clip-path:polygon(62% 0,100% 0,100% 100%,72% 100%,66% 62%)}
  .trade-film-shell{grid-template-columns:1fr}
  .trade-film-copy{padding:54px 48px}
  .trade-film-media{min-height:0;aspect-ratio:1/1}
  .trade-bottom{display:block;padding:42px}
  .trade-bottom .button{margin-top:30px}
}
@media(max-width:560px){
  .white-section{padding:75px 0}
  .case-strip{grid-template-columns:1fr}
  .case-card{height:340px}
  .case-card:nth-child(n+2){display:none}
  .proof-band{padding:52px 25px}
  .proof-stats,.article-grid,.sector-index{grid-template-columns:1fr}
  .article-media{height:240px}
  .home-quote,.demo-mini{padding-top:70px;padding-bottom:70px}
  .page-hero{padding-top:52px}
  .page-hero h1{font-size:42px}
  .page-hero-media{height:300px}
  .page-content{padding:75px 0}
  .page-cta{padding:38px 25px}
  .logo-cloud{grid-template-columns:repeat(2,1fr)}
  .page-hero-cinematic,.page-hero-cinematic .page-hero-inner{min-height:580px}
  .page-hero-cinematic .page-hero-copy{padding:70px 0}
  .pricing-showcase{padding:35px 24px;border-radius:22px}
  .pricing-wide-card{grid-template-columns:1fr}
  .wide-price{text-align:left}
  .pricing-wide-card ul{grid-template-columns:1fr}
  .home-film-hero{min-height:690px}
  .film-frame{inset:14px;border-radius:2px 42px 2px 42px}
  .pricing-faq .faq-grid{width:calc(100% - 32px)}
  .film-content{padding:80px 18px 125px}
  .home-film-hero h1{font-size:clamp(39px,13vw,50px)}
  .film-loop-copy{font-size:18px}
  .film-lead{font-size:15px}
  .film-actions{display:grid;gap:12px}
  .film-actions .button{width:100%}
  .film-footer{left:28px;right:28px;bottom:28px;gap:13px;flex-wrap:wrap}
  .film-footer small{display:none}
  .film-motif-one{width:250px;right:-90px}
  .film-motif-two{display:none}
  .film-ribbon-sweep{width:125%;left:-48%;bottom:150px;opacity:.4}
  .film-marquee{bottom:84px}
  .film-marquee > div{padding:10px 0}
  .video-lever{min-height:410px}
  .editorial-feature-item{display:block;padding:25px 0}
  .editorial-feature-item h3{margin-top:10px}
  .editorial-feature-item p{margin:9px 0}
  .step{display:grid;grid-template-columns:65px 1fr;padding:24px 0}
  .step-visual{display:none}
  .step h3,.step p{grid-column:2}
  .pricing-plans-section{padding-top:78px;padding-bottom:76px}
  .plan-card,.plan-card-growth,.plan-card-signature{padding:31px 24px 33px;border-radius:22px}
  .plan-card header > p{min-height:0}
  .pricing-confidence{padding:76px 0}
  .page-ribbon{width:230vw;left:-62vw;opacity:.14}
  .page-ribbon-front{opacity:.2}
  .trade-quick-facts,.trade-results-grid{grid-template-columns:1fr}
  .trade-quick-facts p,.trade-quick-facts p + p,.trade-results-grid p,.trade-results-grid p + p{
    padding:24px 0;border-right:0;border-bottom:1px solid var(--line);
  }
  .trade-results-grid p,.trade-results-grid p + p{border-color:rgba(255,255,255,.16)}
  .trade-hero{min-height:680px}
  .trade-hero-inner{padding:115px 0 58px}
  .trade-hero-copy h1{font-size:48px}
  .trade-film{margin-bottom:78px}
  .trade-film-shell{border-radius:23px}
  .trade-film-copy{padding:42px 25px}
  .trade-film-copy h2{font-size:42px}
  .trade-film-copy > p:not(.eyebrow){font-size:14px}
  .trade-film-keywords{margin-top:35px}
  .trade-film-media::after{inset:9px;border-radius:15px}
  .trade-film-caption{left:22px;right:22px;bottom:21px;padding:16px 17px}
  .trade-film-sound{top:20px;right:20px;padding:10px 13px}
  .trial-note,
  .page-hero-copy .trial-note{
    width:100%;
    max-width:100%;
    white-space:normal;
    border-radius:18px;
    line-height:1.35;
  }
}

html.motion-paused .page-hero-cinematic .page-hero-media video,
html.motion-paused .price-updated,
html.motion-paused .film-motif,
html.motion-paused .film-ribbon-sweep,
html.motion-paused .film-marquee > div,
html.motion-paused .film-content > *,
html.motion-paused .video-lever video,
html.motion-paused .trade-film-media video,
html.motion-paused .page-ribbon,
html.motion-paused .section-ribbon { animation:none; }
html.motion-paused .film-content > * { opacity:1;transform:none; }
html.motion-paused .reveal { opacity:1;transform:none;transition:none; }
html.motion-paused .motion-ready .kinetic-text { opacity:1;filter:none;transform:none;transition:none; }
html.motion-paused .motion-ready .kinetic-text em { transform:none;transition:none; }
