.feature-pills__visual-item[data-lp-visual-type="image"] {
  background:
    radial-gradient(circle at 18% 12%, rgba(82, 51, 255, .14), transparent 34%),
    linear-gradient(145deg, #f8f7ff 0%, #eeedf7 100%);
}

.feature-pills__visual-img.lp-feature-visual__image {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center top;
  background: #f7f7fa;
}

.lp-feature-product {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  padding: clamp(.85rem, 2.2vw, 1.7rem);
  place-items: center;
  overflow: hidden;
}

.lp-feature-product::before,
.lp-feature-product::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.lp-feature-product::before {
  inset: 16% 7% 10% 14%;
  background: rgba(82, 51, 255, .18);
  border-radius: 2rem;
  filter: blur(2.2rem);
  transform: rotate(-4deg);
}

.lp-feature-product::after {
  right: 5%;
  bottom: 8%;
  width: 5.5rem;
  height: 5.5rem;
  background: radial-gradient(circle, rgba(32, 166, 106, .2), rgba(32, 166, 106, 0) 70%);
}

.lp-feature-product__frame {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: 2rem minmax(0, 1fr);
  width: min(96%, 48rem);
  aspect-ratio: 1.5;
  max-height: 92%;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(44, 39, 74, .16);
  border-radius: clamp(.8rem, 1.8vw, 1.2rem);
  box-shadow:
    0 1.5rem 3.4rem rgba(31, 27, 58, .2),
    0 .25rem .8rem rgba(31, 27, 58, .1);
  transform: perspective(65rem) rotateX(.5deg) rotateY(-1.1deg);
  transform-origin: center;
}

.lp-feature-product[data-product-ratio="wide"] .lp-feature-product__frame {
  aspect-ratio: 1.6;
}

.lp-feature-product[data-product-ratio="portrait"] .lp-feature-product__frame {
  width: min(84%, 32rem);
  aspect-ratio: 1.08;
}

.lp-feature-product[data-product-ratio="portrait"] .lp-feature-visual__image {
  object-fit: contain;
  object-position: center top;
}

.lp-feature-product[data-product-ratio="ultrawide"] .lp-feature-product__frame {
  aspect-ratio: 1.8;
}

.lp-feature-product__chrome {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  padding: 0 .72rem;
  color: #777481;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid #e7e5ed;
  font-size: .55rem;
  font-weight: 700;
}

.lp-feature-product__lights {
  display: flex;
  gap: .25rem;
}

.lp-feature-product__lights i {
  width: .42rem;
  height: .42rem;
  background: #d8d5e2;
  border-radius: 50%;
}

.lp-feature-product__lights i:first-child {
  background: #735dff;
}

.lp-feature-product__lights i:nth-child(2) {
  background: #aaa2dd;
}

.lp-feature-product__lights i:nth-child(3) {
  background: #9cd8bd;
}

.lp-feature-product__address {
  display: flex;
  align-items: center;
  justify-self: center;
  min-width: 0;
  gap: .3rem;
  padding: .24rem .7rem;
  color: #817e8c;
  background: #f5f4f8;
  border: 1px solid #ebe9f0;
  border-radius: 999px;
}

.lp-feature-product__address i {
  width: .34rem;
  height: .34rem;
  flex: 0 0 auto;
  background: #20a66a;
  border-radius: 50%;
  box-shadow: 0 0 0 .15rem rgba(32, 166, 106, .11);
}

.lp-feature-product__address span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-product__mark {
  display: grid;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  color: #fff;
  background: #5233ff;
  border-radius: .4rem;
  font-size: .5rem;
  font-weight: 850;
}

.lp-feature-product__viewport {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #f7f7fa;
}

.lp-feature-product__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 28%),
    linear-gradient(90deg, rgba(255, 255, 255, .12), transparent 18%, transparent 82%, rgba(255, 255, 255, .08));
}

[data-feature-pills-visual][data-active="true"] .lp-feature-product__frame {
  animation: lp-feature-product-enter .62s cubic-bezier(.22, 1, .36, 1) both;
}

.lp-feature-visual {
  --lp-viz-violet: #5a38ff;
  --lp-viz-violet-dark: #4325d8;
  --lp-viz-violet-soft: #eeebff;
  --lp-viz-ink: #1e1e1e;
  --lp-viz-muted: #73727d;
  --lp-viz-line: #e4e3ea;
  --lp-viz-surface: #ffffff;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  width: 100%;
  height: 100%;
  padding: clamp(1.1rem, 2.8vw, 2rem);
  overflow: hidden;
  color: var(--lp-viz-ink);
  background: #f5f5f8;
  font-family: inherit;
}

.lp-feature-visual *,
.lp-feature-visual *::before,
.lp-feature-visual *::after {
  box-sizing: border-box;
}

.lp-feature-visual p,
.lp-feature-visual ol {
  margin: 0;
}

.lp-feature-visual__topbar,
.lp-feature-visual__identity,
.lp-feature-visual__status,
.lp-feature-visual__flow-step,
.lp-feature-visual__timeline-row,
.lp-feature-visual__version-row,
.lp-feature-visual__chip,
.lp-feature-visual__result-row,
.lp-feature-visual__file-row,
.lp-feature-visual__selection-file,
.lp-feature-visual__context-action {
  display: flex;
  align-items: center;
}

/*
 * Feature labels already live beside each visual. Keep the shared renderer
 * focused on the useful scene and suppress legacy chrome in every mount,
 * including feature-page heroes and the home carousel.
 */
.lp-feature-visual__topbar,
.lp-feature-visual__status {
  display: none;
}

.lp-feature-visual__topbar {
  justify-content: space-between;
  min-width: 0;
  padding-bottom: clamp(.8rem, 2vw, 1.35rem);
}

.lp-feature-visual__identity {
  min-width: 0;
  gap: .65rem;
}

.lp-feature-visual__icon-wrap {
  display: grid;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: #fff;
  background: var(--lp-viz-violet);
  border-radius: .7rem;
}

.lp-feature-visual__icon {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
}

i.lp-feature-visual__icon--canonical {
  display: inline-grid;
  place-items: center;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
}


.lp-feature-visual__eyebrow {
  overflow: hidden;
  color: #64636c;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-visual__brand {
  flex: 0 0 auto;
  padding: .42rem .68rem;
  color: var(--lp-viz-violet-dark);
  background: var(--lp-viz-violet-soft);
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .02em;
}

.lp-feature-visual__stage {
  min-width: 0;
  min-height: 0;
  padding: clamp(1rem, 2.3vw, 1.65rem);
  overflow: hidden;
  background: var(--lp-viz-surface);
  border: 1px solid var(--lp-viz-line);
  border-radius: 1.15rem;
  box-shadow: 0 1.1rem 2.5rem rgba(30, 30, 30, .07);
}

.lp-feature-visual__heading {
  max-width: 27rem;
}

.lp-feature-visual__heading.is-compact {
  max-width: 32rem;
}

.lp-feature-visual__title {
  color: var(--lp-viz-ink);
  font-size: clamp(1.25rem, 2.6vw, 2rem);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.05;
}

.lp-feature-visual__heading.is-compact .lp-feature-visual__title {
  font-size: clamp(1.05rem, 2.1vw, 1.5rem);
}

.lp-feature-visual__description {
  max-width: 33rem;
  margin-top: .65rem !important;
  color: var(--lp-viz-muted);
  font-size: clamp(.72rem, 1.25vw, .9rem);
  line-height: 1.45;
}

.lp-feature-visual__status {
  min-width: 0;
  gap: .5rem;
  padding-top: clamp(.75rem, 1.8vw, 1.2rem);
  color: #55545c;
  font-size: clamp(.68rem, 1.1vw, .8rem);
  font-weight: 650;
}

.lp-feature-visual__status-dot {
  width: .48rem;
  height: .48rem;
  flex: 0 0 auto;
  background: #20a66a;
  border-radius: 50%;
  box-shadow: 0 0 0 .28rem rgba(32, 166, 106, .12);
}

/* Parcours générique */
.lp-feature-visual__stage--flow {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.lp-feature-visual__flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.45rem, 1.2vw, .8rem);
  padding: clamp(1.1rem, 4vw, 2.4rem) 0 0;
  list-style: none;
}

.lp-feature-visual__flow-step {
  position: relative;
  min-width: 0;
  flex-direction: column;
  gap: .65rem;
  text-align: center;
}

.lp-feature-visual__flow-step:not(:last-child)::after {
  position: absolute;
  top: 1.25rem;
  left: calc(50% + 1.65rem);
  width: calc(100% - 2.6rem);
  height: 1px;
  background: #cbc7df;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
}

.lp-feature-visual__flow-badge {
  position: relative;
  z-index: 1;
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  color: var(--lp-viz-violet-dark);
  background: var(--lp-viz-violet-soft);
  border: 1px solid #d9d3ff;
  border-radius: .78rem;
  font-size: .78rem;
  font-weight: 800;
}

.lp-feature-visual__flow-step:last-child .lp-feature-visual__flow-badge {
  color: #fff;
  background: var(--lp-viz-violet);
  border-color: var(--lp-viz-violet);
}

.lp-feature-visual__flow-label {
  max-width: 8.5rem;
  color: #4e4d56;
  font-size: clamp(.62rem, 1.05vw, .77rem);
  font-weight: 650;
  line-height: 1.25;
}

/* Historique */
.lp-feature-visual__stage--history {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 1rem;
}

.lp-feature-visual__timeline {
  position: relative;
  display: grid;
  align-content: center;
  gap: .65rem;
}

.lp-feature-visual__timeline::before {
  position: absolute;
  top: 12%;
  bottom: 12%;
  left: 1.25rem;
  width: 1px;
  background: #d5d1e8;
  content: "";
}

.lp-feature-visual__timeline-row {
  position: relative;
  z-index: 1;
  min-width: 0;
  gap: .75rem;
  padding: .65rem .75rem .65rem .55rem;
  background: #fafafd;
  border: 1px solid #ecebf1;
  border-radius: .85rem;
}

.lp-feature-visual__timeline-marker {
  display: grid;
  width: 1.85rem;
  height: 1.85rem;
  flex: 0 0 auto;
  place-items: center;
  color: var(--lp-viz-violet);
  background: var(--lp-viz-violet-soft);
  border-radius: .55rem;
}

.lp-feature-visual__timeline-marker .lp-feature-visual__icon {
  width: .92rem;
  height: .92rem;
}

.lp-feature-visual__timeline-copy {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: .14rem;
}

.lp-feature-visual__timeline-label {
  overflow: hidden;
  color: #37363e;
  font-size: clamp(.64rem, 1.05vw, .78rem);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-visual__timeline-meta {
  color: #9997a1;
  font-size: .62rem;
}

.lp-feature-visual__check {
  display: grid;
  width: 1.3rem;
  height: 1.3rem;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  background: var(--lp-viz-violet);
  border-radius: 50%;
  font-size: .64rem;
}

/* Versioning */
.lp-feature-visual__stage--versioning {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(11rem, 1.15fr);
  align-items: center;
  gap: clamp(1rem, 3vw, 2rem);
}

.lp-feature-visual__document-stack {
  position: relative;
  min-height: 16rem;
}

.lp-feature-visual__document-sheet,
.lp-feature-visual__document-page {
  position: absolute;
  inset: 5% 8% 5% 3%;
  background: #fff;
  border: 1px solid #dedce6;
  border-radius: .75rem;
}

.lp-feature-visual__document-sheet.is-back {
  transform: translate(1.25rem, -.7rem) rotate(4deg);
}

.lp-feature-visual__document-sheet.is-middle {
  transform: translate(.65rem, -.35rem) rotate(2deg);
}

.lp-feature-visual__document-page {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: 1.15rem;
  box-shadow: 0 1rem 2rem rgba(30, 30, 30, .08);
}

.lp-feature-visual__document-page > .lp-feature-visual__icon {
  color: var(--lp-viz-violet);
}

.lp-feature-visual__document-name,
.lp-feature-visual__mini-title {
  color: #34333b;
  font-size: clamp(.67rem, 1.1vw, .84rem);
  font-weight: 750;
  line-height: 1.25;
}

.lp-feature-visual__document-line {
  height: .35rem;
  background: #e8e7ec;
  border-radius: 999px;
}

.lp-feature-visual__versions {
  display: grid;
  align-content: center;
  gap: .55rem;
}

.lp-feature-visual__version-row {
  min-width: 0;
  gap: .55rem;
  padding: .62rem .7rem;
  background: #f8f8fa;
  border: 1px solid #e8e7ed;
  border-radius: .75rem;
}

.lp-feature-visual__version-row.is-current {
  color: var(--lp-viz-violet-dark);
  background: var(--lp-viz-violet-soft);
  border-color: #d8d1ff;
}

.lp-feature-visual__version-number {
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  background: var(--lp-viz-violet);
  border-radius: .48rem;
  font-size: .62rem;
  font-weight: 800;
}

.lp-feature-visual__version-label {
  overflow: hidden;
  font-size: clamp(.62rem, 1vw, .75rem);
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-visual__microcopy {
  margin-top: .25rem !important;
  color: var(--lp-viz-muted);
  font-size: clamp(.62rem, 1vw, .74rem);
  line-height: 1.4;
}

/* Synchronisation */
.lp-feature-visual__stage--sharepoint {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(.8rem, 1.6vw, 1.15rem);
  background:
    radial-gradient(circle at 50% 58%, rgba(82, 51, 255, .085), transparent 43%),
    var(--lp-viz-surface);
}

.lp-sp-sync {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 0;
  gap: clamp(.7rem, 1.5vw, 1rem);
}

.lp-sp-sync__network {
  display: grid;
  grid-template-columns:
    minmax(7.4rem, 1fr)
    clamp(2.6rem, 5vw, 4.2rem)
    minmax(8.6rem, 1.14fr)
    clamp(2.6rem, 5vw, 4.2rem)
    minmax(7.6rem, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 11rem;
}

.lp-sp-sync__node {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 8.25rem;
  align-items: center;
  justify-items: center;
  gap: .45rem;
  padding: .75rem .55rem;
  text-align: center;
  background: rgba(255, 255, 255, .96);
  border: 1px solid #e1dfe9;
  border-radius: 1rem;
  box-shadow: 0 .65rem 1.5rem rgba(30, 30, 30, .055);
}

.lp-sp-sync__node.is-core {
  min-height: 9.15rem;
  background: linear-gradient(180deg, #f8f6ff 0%, #eeebff 100%);
  border-color: #cfc6ff;
  box-shadow:
    0 1rem 2.2rem rgba(82, 51, 255, .14),
    inset 0 1px 0 rgba(255, 255, 255, .8);
}

.lp-sp-sync__mark {
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  color: var(--lp-viz-violet);
  background: #f1eeff;
  border: 1px solid #d9d2ff;
  border-radius: .85rem;
}

.lp-sp-sync__mark.is-core {
  background: #fff;
  border-color: rgba(82, 51, 255, .23);
  box-shadow: 0 .45rem 1rem rgba(82, 51, 255, .12);
}

.lp-sp-sync__mark.is-sharepoint {
  background: #fff;
}

.lp-sp-sync__mark .lp-feature-visual__icon {
  width: 1.3rem;
  height: 1.3rem;
}

.lp-sp-sync__legalprod-logo {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  object-fit: contain;
}

.lp-sp-sync__mark .lp-feature-scene__logo {
  display: grid;
  width: 1.55rem;
  height: 1.55rem;
  place-items: center;
}

.lp-sp-sync__mark .lp-feature-scene__logo svg {
  display: block;
  width: 100%;
  height: 100%;
}

.lp-sp-sync__node-copy {
  display: grid;
  min-width: 0;
  gap: .17rem;
}

.lp-sp-sync__node-copy strong {
  color: #2f2e35;
  font-size: clamp(.61rem, 1vw, .74rem);
  font-weight: 750;
  line-height: 1.15;
}

.lp-sp-sync__node-copy small {
  color: #888690;
  font-size: clamp(.48rem, .78vw, .58rem);
  line-height: 1.2;
}

.lp-sp-sync__node-state {
  display: flex;
  align-items: center;
  gap: .3rem;
  color: #5b5962;
  font-size: .54rem;
  font-weight: 700;
}

.lp-sp-sync__node-state i {
  width: .38rem;
  height: .38rem;
  background: #20a66a;
  border-radius: 50%;
  box-shadow: 0 0 0 .18rem rgba(32, 166, 106, .11);
}

.lp-sp-sync__rail {
  display: grid;
  gap: .55rem;
  padding: 0 .3rem;
}

.lp-sp-sync__lane {
  position: relative;
  display: block;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(82, 51, 255, .2),
    rgba(82, 51, 255, .64),
    rgba(82, 51, 255, .2)
  );
}

.lp-sp-sync__lane::after {
  position: absolute;
  top: 50%;
  width: .32rem;
  height: .32rem;
  border-color: var(--lp-viz-violet);
  border-style: solid;
  content: "";
}

.lp-sp-sync__lane.is-forward::after {
  right: 0;
  border-width: 1px 1px 0 0;
  transform: translateY(-50%) rotate(45deg);
}

.lp-sp-sync__lane.is-reverse::after {
  left: 0;
  border-width: 0 0 1px 1px;
  transform: translateY(-50%) rotate(45deg);
}

.lp-sp-sync__lane i {
  position: absolute;
  top: 50%;
  left: 0;
  width: .5rem;
  height: .5rem;
  opacity: 0;
  background: var(--lp-viz-violet);
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 .15rem rgba(82, 51, 255, .15);
  transform: translate(-50%, -50%);
}

.lp-sp-sync__file {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem .8rem;
  background: rgba(248, 248, 251, .94);
  border: 1px solid #e2e1e8;
  border-radius: .85rem;
}

.lp-sp-sync__file-identity,
.lp-sp-sync__file-state {
  display: flex;
  min-width: 0;
  align-items: center;
}

.lp-sp-sync__file-identity {
  gap: .62rem;
}

.lp-sp-sync__file-icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  place-items: center;
  color: var(--lp-viz-violet);
  background: var(--lp-viz-violet-soft);
  border-radius: .6rem;
}

.lp-sp-sync__file-icon .lp-feature-visual__icon {
  width: 1rem;
  height: 1rem;
}

.lp-sp-sync__file-copy {
  display: grid;
  min-width: 0;
  gap: .1rem;
}

.lp-sp-sync__file-copy strong {
  overflow: hidden;
  color: #34333a;
  font-size: .68rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-sp-sync__file-copy small {
  color: #8a8892;
  font-size: .55rem;
}

.lp-sp-sync__file-state {
  flex: 0 0 auto;
  gap: .35rem;
  padding: .38rem .55rem;
  color: #187d53;
  background: #eaf8f1;
  border-radius: 999px;
  font-size: .57rem;
  font-weight: 750;
  white-space: nowrap;
}

.lp-sp-sync__file-state .lp-feature-visual__icon {
  width: .8rem;
  height: .8rem;
}

/* Filtres */
.lp-feature-visual__stage--filters {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: .85rem;
}

.lp-feature-visual__filterbar {
  display: flex;
  gap: .4rem;
  overflow: hidden;
}

.lp-feature-visual__chip {
  flex: 0 0 auto;
  gap: .35rem;
  padding: .46rem .6rem;
  color: #67656f;
  background: #f5f5f8;
  border: 1px solid #e6e5eb;
  border-radius: .6rem;
  font-size: clamp(.56rem, .9vw, .68rem);
  font-weight: 650;
}

.lp-feature-visual__chip.is-selected {
  color: var(--lp-viz-violet-dark);
  background: var(--lp-viz-violet-soft);
  border-color: #d9d3ff;
}

.lp-feature-visual__chip .lp-feature-visual__icon {
  width: .78rem;
  height: .78rem;
}

.lp-feature-visual__results {
  display: grid;
  align-content: center;
  gap: .5rem;
}

.lp-feature-visual__result-row {
  min-width: 0;
  gap: .7rem;
  padding: .62rem .72rem;
  background: #fafafd;
  border: 1px solid #ebeaf0;
  border-radius: .75rem;
}

.lp-feature-visual__result-row > .lp-feature-visual__icon {
  width: 1rem;
  color: var(--lp-viz-violet);
}

.lp-feature-visual__result-copy {
  display: grid;
  min-width: 0;
  gap: .15rem;
}

.lp-feature-visual__result-copy strong {
  overflow: hidden;
  color: #34333b;
  font-size: clamp(.62rem, 1vw, .76rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-visual__result-copy small {
  color: #92909a;
  font-size: clamp(.53rem, .85vw, .63rem);
}

/* Glisser-déposer */
.lp-feature-visual__stage--dragdrop {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 1rem;
}

.lp-feature-visual__drop-workspace {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1.4rem, 5vw, 3rem);
  min-height: 0;
}

.lp-feature-visual__explorer,
.lp-feature-visual__dropzone {
  min-width: 0;
  padding: .75rem;
  background: #fafafd;
  border: 1px solid #e5e4ea;
  border-radius: .9rem;
}

.lp-feature-visual__window-title {
  padding-bottom: .55rem;
  color: #77757f;
  font-size: .62rem;
  font-weight: 750;
}

.lp-feature-visual__file-row {
  min-width: 0;
  gap: .45rem;
  padding: .45rem .35rem;
  color: #4d4b55;
  border-top: 1px solid #ecebf0;
  font-size: clamp(.56rem, .92vw, .68rem);
  font-weight: 650;
}

.lp-feature-visual__file-row .lp-feature-visual__icon {
  width: .86rem;
  height: .86rem;
  color: var(--lp-viz-violet);
}

.lp-feature-visual__file-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-visual__transfer {
  display: none;
}

.lp-feature-visual__dropzone {
  display: grid;
  min-height: 9rem;
  place-items: center;
  align-content: center;
  gap: .45rem;
  text-align: center;
  background: var(--lp-viz-violet-soft);
  border: 1px dashed var(--lp-viz-violet);
}

.lp-feature-visual__dropzone > .lp-feature-visual__icon {
  width: 1.8rem;
  height: 1.8rem;
  color: var(--lp-viz-violet);
}

.lp-feature-visual__dropzone strong {
  color: #3d2ab2;
  font-size: clamp(.65rem, 1vw, .78rem);
}

.lp-feature-visual__dropzone span {
  max-width: 10rem;
  color: #726c98;
  font-size: clamp(.55rem, .9vw, .65rem);
  line-height: 1.35;
}

.lp-feature-visual__drag-ghost {
  position: absolute;
  z-index: 5;
  top: 31%;
  left: 12%;
  display: flex;
  align-items: center;
  max-width: 42%;
  gap: .38rem;
  padding: .42rem .55rem;
  color: var(--lp-viz-violet-dark);
  background: #fff;
  border: 1px solid #cfc7ff;
  border-radius: .58rem;
  box-shadow: 0 .7rem 1.5rem rgba(54, 39, 139, .2);
  font-size: clamp(.5rem, .85vw, .64rem);
  font-weight: 750;
  opacity: 0;
  pointer-events: none;
}

.lp-feature-visual__drag-ghost .lp-feature-visual__icon {
  width: .9rem;
  height: .9rem;
  flex: 0 0 auto;
}

.lp-feature-visual__drag-ghost span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-visual__drag-cursor {
  position: absolute;
  z-index: 6;
  top: 34%;
  left: 19%;
  display: grid;
  width: 1.85rem;
  height: 1.85rem;
  place-items: center;
  color: #fff;
  background: var(--lp-viz-violet);
  border: .2rem solid #fff;
  border-radius: 50%;
  box-shadow: 0 .35rem .85rem rgba(30, 30, 30, .2);
  pointer-events: none;
}

.lp-feature-visual__drag-cursor .lp-feature-visual__icon {
  width: .78rem;
  height: .78rem;
}

/* Menu contextuel */
.lp-feature-visual__stage--context {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .8rem;
}

.lp-feature-visual__context-workspace {
  position: relative;
  min-height: 0;
}

.lp-feature-visual__selection {
  display: grid;
  width: 56%;
  gap: .38rem;
  padding: .55rem;
  background: #fafafd;
  border: 1px solid #e5e4ea;
  border-radius: .85rem;
}

.lp-feature-visual__selection-file {
  min-width: 0;
  gap: .45rem;
  padding: .48rem;
  color: #504e58;
  border: 1px solid transparent;
  border-radius: .55rem;
  font-size: clamp(.55rem, .9vw, .68rem);
  font-weight: 650;
}

.lp-feature-visual__selection-file.is-selected {
  color: var(--lp-viz-violet-dark);
  background: var(--lp-viz-violet-soft);
  border-color: #d9d3ff;
}

.lp-feature-visual__selection-file .lp-feature-visual__icon {
  width: .82rem;
  height: .82rem;
}

.lp-feature-visual__selection-file span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-visual__context-menu {
  position: absolute;
  z-index: 2;
  top: .25rem;
  right: 0;
  display: grid;
  width: 51%;
  gap: .1rem;
  padding: .45rem;
  background: #fff;
  border: 1px solid #dedde5;
  border-radius: .8rem;
  box-shadow: 0 .9rem 2.1rem rgba(30, 30, 30, .14);
}

.lp-feature-visual__context-action {
  gap: .45rem;
  padding: .36rem .42rem;
  color: #4a4852;
  border-radius: .48rem;
  font-size: clamp(.52rem, .85vw, .64rem);
  font-weight: 650;
}

.lp-feature-visual__context-action:first-child {
  color: var(--lp-viz-violet-dark);
  background: var(--lp-viz-violet-soft);
}

.lp-feature-visual__context-action:nth-child(n+4) {
  display: none;
}

.lp-feature-visual__context-action .lp-feature-visual__icon {
  width: .75rem;
  height: .75rem;
  color: var(--lp-viz-violet);
  transform: none;
}

.lp-feature-visual__cursor {
  position: absolute;
  z-index: 3;
  top: 2rem;
  right: 43%;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: #fff;
  background: var(--lp-viz-violet);
  border: .24rem solid #fff;
  border-radius: 50%;
  box-shadow: 0 .35rem .8rem rgba(30, 30, 30, .18);
}

.lp-feature-visual__cursor .lp-feature-visual__icon {
  width: .85rem;
  height: .85rem;
  transform: none;
}

/* Choix de matrice : partir de la bibliothèque LegalProd ou créer la sienne. */
.lp-feature-visual__stage--matrix-choice {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(.75rem, 2vw, 1.2rem);
}

.lp-matrix-choice {
  position: relative;
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(.55rem, 1.5vw, 1rem);
}

.lp-matrix-choice::before {
  position: absolute;
  top: 50%;
  right: 12%;
  left: 12%;
  border-top: 1px dashed rgba(82, 51, 255, .3);
  content: "";
}

.lp-matrix-choice__card {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  min-height: clamp(8.5rem, 18vw, 12rem);
  align-content: center;
  justify-items: center;
  gap: .42rem;
  padding: clamp(.75rem, 2vw, 1.15rem);
  text-align: center;
  background: rgba(255, 255, 255, .97);
  border: 1px solid #e2dfff;
  border-radius: 1rem;
  box-shadow: 0 .8rem 2rem rgba(37, 25, 102, .08);
}

.lp-matrix-choice__card.is-ready {
  background: linear-gradient(145deg, rgba(82, 51, 255, .1), rgba(255, 255, 255, .98) 62%);
}

.lp-matrix-choice__mark {
  position: relative;
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  place-items: center;
  color: #fff;
  background: var(--lp-viz-violet);
  border-radius: .95rem;
  box-shadow: 0 .65rem 1.4rem rgba(82, 51, 255, .18);
}

.lp-matrix-choice__mark .lp-feature-visual__icon {
  width: 1.35rem;
  height: 1.35rem;
  font-size: 1.25rem;
}

.lp-matrix-choice__plus {
  position: absolute;
  right: -.28rem;
  bottom: -.28rem;
  display: grid;
  width: 1.15rem;
  height: 1.15rem;
  place-items: center;
  color: var(--lp-viz-violet-dark);
  background: #fff;
  border: 1px solid #d9d3ff;
  border-radius: 50%;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
}

.lp-matrix-choice__kicker {
  color: var(--lp-viz-violet-dark);
  font-size: clamp(.54rem, .8vw, .66rem);
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.lp-matrix-choice__label {
  max-width: 13rem;
  font-size: clamp(.7rem, 1.15vw, .9rem);
  line-height: 1.25;
}

.lp-matrix-choice__meta {
  max-width: 13rem;
  color: var(--lp-viz-muted);
  font-size: clamp(.56rem, .9vw, .7rem);
  line-height: 1.3;
}

.lp-matrix-choice__or {
  position: relative;
  z-index: 2;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  align-self: center;
  place-items: center;
  color: var(--lp-viz-violet-dark);
  background: #fff;
  border: 1px solid #d9d3ff;
  border-radius: 50%;
  box-shadow: 0 .35rem 1rem rgba(37, 25, 102, .1);
  font-size: .6rem;
  font-weight: 850;
}

[data-feature-pills-visual][data-active="true"] .lp-matrix-choice__card {
  animation: lp-feature-visual-item .42s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(.1s + var(--lp-step, 0) * .09s);
}

/* Scènes métier : une grammaire commune, des compositions propres à chaque usage. */
.lp-feature-scene__stage {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(.7rem, 1.5vw, 1rem);
}

.lp-feature-scene__stage.is-headingless {
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
}

.lp-feature-scene__heading {
  position: relative;
  z-index: 6;
  display: grid;
  gap: .2rem;
  max-width: 31rem;
}

.lp-feature-scene__kicker {
  color: var(--lp-viz-violet);
  font-size: clamp(.6rem, .95vw, .72rem);
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.lp-feature-scene__title {
  color: var(--lp-viz-ink);
  font-size: clamp(1rem, 2vw, 1.45rem);
  font-weight: 760;
  letter-spacing: -.028em;
  line-height: 1.08;
}

.lp-feature-scene__canvas {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.lp-feature-scene__canvas--network {
  min-height: clamp(13rem, 29vw, 18rem);
  overflow: visible;
}

.lp-feature-scene__connectors {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.lp-feature-scene__connectors path {
  fill: none;
  stroke: #7b62ff;
  stroke-width: 3;
  stroke-dasharray: 9 7;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.lp-feature-scene__connectors path.is-success {
  stroke: #20a66a;
}

.lp-feature-scene__node {
  position: absolute;
  z-index: 2;
  top: var(--lp-y);
  left: var(--lp-x);
  width: clamp(4.8rem, 11vw, 7.2rem);
  transform: translate(-50%, -50%);
}

.lp-feature-scene__node.is-wide {
  width: clamp(6.5rem, 15vw, 9.4rem);
}

.lp-feature-scene__node-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .36rem;
  min-width: 0;
  padding: clamp(.45rem, 1.2vw, .72rem);
  color: #514f59;
  background: rgba(255, 255, 255, .96);
  border: 1px solid #e2e0e9;
  border-radius: .86rem;
  box-shadow: 0 .55rem 1.35rem rgba(30, 30, 30, .08);
  text-align: center;
}

.lp-feature-scene__node.is-core .lp-feature-scene__node-card {
  color: #fff;
  background: var(--lp-viz-violet);
  border-color: #725dff;
  box-shadow: 0 .75rem 1.8rem rgba(82, 51, 255, .24);
}

.lp-feature-scene__node.is-success .lp-feature-scene__node-card {
  color: #136d48;
  background: #effbf5;
  border-color: #bcebd5;
}

.lp-feature-scene__node-icon {
  display: grid;
  width: clamp(1.7rem, 3.6vw, 2.25rem);
  height: clamp(1.7rem, 3.6vw, 2.25rem);
  flex: 0 0 auto;
  place-items: center;
  color: var(--lp-viz-violet);
  background: var(--lp-viz-violet-soft);
  border-radius: .62rem;
}

.lp-feature-scene__node.is-core .lp-feature-scene__node-icon {
  color: #fff;
  background: rgba(255, 255, 255, .16);
}

.lp-feature-scene__node.is-success .lp-feature-scene__node-icon {
  color: #16805a;
  background: #d9f5e8;
}

.lp-feature-scene__node-icon .lp-feature-visual__icon {
  width: 52%;
  height: 52%;
}

.lp-feature-scene__node-icon > i.lp-feature-visual__icon--canonical {
  font-size: clamp(.88rem, 1.8vw, 1.15rem);
}

.lp-feature-scene__node-copy {
  display: grid;
  min-width: 0;
  gap: .08rem;
}

.lp-feature-scene__node-copy strong {
  overflow: hidden;
  font-size: clamp(.52rem, .92vw, .68rem);
  font-weight: 760;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__node-copy small {
  overflow: hidden;
  opacity: .7;
  font-size: clamp(.45rem, .78vw, .58rem);
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__logo {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: .52rem;
  font-size: .72rem;
  font-weight: 850;
}

.lp-feature-scene__logo.is-microsoft {
  padding: .18rem;
  background: #fff;
  border: 1px solid #dddce4;
  box-shadow: 0 .25rem .6rem rgba(30, 30, 30, .08);
}

.lp-feature-scene__logo.is-google,
.lp-feature-scene__logo.is-gmail {
  color: #4285f4;
  background: #fff;
  border: 1px solid #dddce4;
  box-shadow: 0 .25rem .6rem rgba(30, 30, 30, .08);
  font-family: Arial, sans-serif;
  font-size: 1.22rem;
  font-weight: 900;
  line-height: 1;
}

.lp-feature-scene__logo.is-google::before {
  display: none;
  content: none;
}

.lp-feature-scene__logo.is-microsoft svg,
.lp-feature-scene__logo.is-google svg {
  display: block;
  width: 100%;
  height: 100%;
}

.lp-feature-scene__logo.is-microsoft svg {
  shape-rendering: crispEdges;
}

.lp-feature-scene__logo.is-gmail::before {
  content: "M";
  color: #ea4335;
}

.lp-feature-scene__logo.is-outlook {
  color: #fff;
  background: linear-gradient(135deg, #107cce, #28a8ea);
}

.lp-feature-scene__logo.is-outlook::before {
  content: "O";
}

.lp-feature-scene__logo.is-stripe {
  color: #fff;
  background: #635bff;
}

.lp-feature-scene__token {
  position: absolute;
  z-index: 4;
  top: var(--lp-y);
  left: var(--lp-x);
  padding: .26rem .48rem;
  color: #513ae1;
  background: #fff;
  border: 1px solid #d9d3ff;
  border-radius: 999px;
  box-shadow: 0 .35rem .8rem rgba(82, 51, 255, .12);
  font-size: clamp(.45rem, .78vw, .58rem);
  font-weight: 800;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.lp-feature-scene__token.is-success {
  color: #14734e;
  background: #effbf5;
  border-color: #bcebd5;
}

/* Les scènes de flux partagent leur mécanique, mais chaque famille conserve
   désormais une silhouette métier immédiatement reconnaissable. */
.lp-feature-scene__network-decor {
  position: absolute;
  z-index: 0;
  inset: 5% 3%;
  overflow: hidden;
  border-radius: 1.35rem;
  pointer-events: none;
}

.lp-feature-scene__canvas--network .lp-feature-scene__connectors {
  z-index: 1;
}

.lp-feature-scene__network-decor.is-finance {
  background:
    linear-gradient(rgba(24, 147, 101, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24, 147, 101, .055) 1px, transparent 1px),
    radial-gradient(circle at 78% 35%, rgba(32, 166, 106, .14), transparent 30%),
    linear-gradient(145deg, rgba(239, 251, 245, .9), rgba(247, 246, 255, .68));
  background-size: 1.6rem 1.6rem, 1.6rem 1.6rem, auto, auto;
  border: 1px solid rgba(32, 166, 106, .13);
}

.lp-feature-scene__decor-ledger {
  position: absolute;
  right: 8%;
  bottom: 8%;
  display: grid;
  width: 34%;
  gap: .34rem;
  padding: .65rem;
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(32, 166, 106, .15);
  border-radius: .72rem;
  transform: rotate(-3deg);
}

.lp-feature-scene__decor-ledger i {
  height: .24rem;
  background: linear-gradient(90deg, rgba(32, 166, 106, .3) 0 62%, rgba(82, 51, 255, .16) 62%);
  border-radius: 999px;
}

.lp-feature-scene__decor-coin {
  position: absolute;
  top: 8%;
  right: 9%;
  display: grid;
  width: 3.4rem;
  height: 3.4rem;
  place-items: center;
  color: rgba(22, 128, 90, .6);
  background: rgba(255, 255, 255, .7);
  border: .35rem solid rgba(32, 166, 106, .13);
  border-radius: 50%;
  font-size: 1.35rem;
  font-weight: 850;
}

.lp-feature-scene__canvas--network-finance .lp-feature-scene__connectors path {
  stroke: #20a66a;
}

.lp-feature-scene__canvas--network-finance .lp-feature-scene__node-card {
  border-color: rgba(32, 166, 106, .23);
  border-radius: .65rem;
  box-shadow: 0 .6rem 1.5rem rgba(18, 108, 75, .1);
}

.lp-feature-scene__canvas--network-finance .lp-feature-scene__node:not(.is-core):not(.is-success) .lp-feature-scene__node-icon {
  color: #16805a;
  background: #e3f7ee;
}

.lp-feature-scene__network-decor.is-signature {
  background:
    radial-gradient(circle at 18% 78%, rgba(82, 51, 255, .13), transparent 32%),
    linear-gradient(145deg, rgba(248, 247, 255, .95), rgba(239, 237, 250, .82));
  border: 1px solid rgba(82, 51, 255, .12);
}

.lp-feature-scene__decor-sheet {
  position: absolute;
  top: 8%;
  right: 8%;
  display: grid;
  align-content: start;
  width: 35%;
  height: 78%;
  gap: .55rem;
  padding: 1.15rem .9rem;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(82, 51, 255, .12);
  border-radius: .35rem;
  box-shadow: 0 1rem 2rem rgba(57, 42, 138, .1);
  transform: rotate(4deg);
}

.lp-feature-scene__decor-sheet i {
  height: .24rem;
  background: rgba(92, 82, 130, .16);
  border-radius: 999px;
}

.lp-feature-scene__decor-sheet i:nth-child(2) { width: 72%; }
.lp-feature-scene__decor-sheet i:nth-child(3) { width: 88%; }
.lp-feature-scene__decor-sheet i:nth-child(4) { width: 56%; }

.lp-feature-scene__decor-sheet b {
  position: absolute;
  right: .65rem;
  bottom: .65rem;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: #16805a;
  background: #e9f9f2;
  border: 1px solid #bcebd5;
  border-radius: 50%;
}

.lp-feature-scene__decor-signature {
  position: absolute;
  right: 14%;
  bottom: 18%;
  color: rgba(82, 51, 255, .25);
  font-family: cursive;
  font-size: 3rem;
  font-style: italic;
  transform: rotate(-14deg);
}

.lp-feature-scene__canvas--network-signature .lp-feature-scene__node-card {
  border-color: rgba(82, 51, 255, .22);
  border-radius: .45rem .95rem .45rem .45rem;
  box-shadow: 0 .8rem 1.7rem rgba(57, 42, 138, .12);
}

.lp-feature-scene__canvas--network-signature .lp-feature-scene__token {
  border-radius: .38rem;
}

.lp-feature-scene__network-decor.is-rpva {
  background:
    linear-gradient(180deg, rgba(82, 51, 255, .035), rgba(82, 51, 255, .12)),
    rgba(82, 51, 255, .045);
  border: 1px solid rgba(82, 51, 255, .13);
}

.lp-feature-scene__decor-court {
  position: absolute;
  top: 10%;
  left: 50%;
  width: 39%;
  height: 76%;
  transform: translateX(-50%);
  opacity: .32;
}

.lp-feature-scene__decor-court-roof {
  position: absolute;
  top: 0;
  left: 4%;
  width: 92%;
  height: 18%;
  background: #5233ff;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.lp-feature-scene__decor-court-columns {
  position: absolute;
  inset: 24% 10% 15%;
  display: flex;
  justify-content: space-between;
}

.lp-feature-scene__decor-court-columns i {
  width: 13%;
  background: linear-gradient(90deg, rgba(82, 51, 255, .12), rgba(82, 51, 255, .55) 48%, rgba(82, 51, 255, .12));
  border-radius: .2rem .2rem 0 0;
}

.lp-feature-scene__decor-court-base {
  position: absolute;
  right: 2%;
  bottom: 4%;
  left: 2%;
  height: 11%;
  background: #5233ff;
  border-radius: .2rem;
  box-shadow: 0 .45rem 0 rgba(82, 51, 255, .45);
}

.lp-feature-scene__canvas--network-rpva .lp-feature-scene__connectors path {
  stroke: rgba(82, 51, 255, .72);
}

.lp-feature-scene__canvas--network-rpva .lp-feature-scene__node-card {
  align-items: flex-start;
  border-color: rgba(82, 51, 255, .22);
  border-left: .22rem solid #5233ff;
  border-radius: .38rem .8rem .8rem .38rem;
  text-align: left;
}

.lp-feature-scene__canvas--network-rpva .lp-feature-scene__node-icon {
  color: #5233ff;
  background: rgba(82, 51, 255, .1);
}

.lp-feature-scene__network-decor.is-email {
  background:
    radial-gradient(circle at 22% 18%, rgba(49, 111, 226, .13), transparent 28%),
    linear-gradient(145deg, rgba(244, 248, 255, .96), rgba(238, 235, 255, .78));
  border: 1px solid rgba(48, 105, 213, .12);
}

.lp-feature-scene__decor-envelope {
  position: absolute;
  top: 16%;
  right: 7%;
  width: 42%;
  height: 58%;
  overflow: hidden;
  background: rgba(255, 255, 255, .66);
  border: 1px solid rgba(49, 111, 226, .18);
  border-radius: .8rem;
  box-shadow: 0 1rem 2rem rgba(43, 76, 145, .08);
  transform: rotate(-3deg);
}

.lp-feature-scene__decor-envelope-flap {
  position: absolute;
  inset: -42% -5% auto;
  height: 85%;
  border: 1px solid rgba(49, 111, 226, .2);
  border-radius: .8rem;
  transform: rotate(45deg);
}

.lp-feature-scene__decor-envelope-line {
  position: absolute;
  bottom: 22%;
  left: 12%;
  width: 47%;
  height: .24rem;
  background: rgba(49, 111, 226, .16);
  border-radius: 999px;
}

.lp-feature-scene__decor-envelope-line.is-two {
  bottom: 12%;
  width: 31%;
}

.lp-feature-scene__canvas--network-email .lp-feature-scene__connectors path {
  stroke: #3977dc;
}

.lp-feature-scene__canvas--network-email .lp-feature-scene__node-card {
  border-color: rgba(49, 111, 226, .2);
  border-radius: 1.2rem;
  box-shadow: 0 .7rem 1.6rem rgba(43, 76, 145, .1);
}

.lp-feature-scene__canvas--network-email .lp-feature-scene__node-icon {
  color: #2f6ed2;
  background: #e8f0ff;
}

.lp-feature-scene__panel {
  min-width: 0;
  padding: clamp(.7rem, 1.5vw, 1rem);
  background: #fff;
  border: 1px solid #e4e3ea;
  border-radius: .95rem;
  box-shadow: 0 .8rem 1.9rem rgba(30, 30, 30, .07);
}

.lp-feature-scene__panel-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding-bottom: .68rem;
  color: #3a3941;
  font-size: clamp(.62rem, 1vw, .76rem);
  line-height: 1.2;
}

.lp-feature-scene__panel-head .lp-feature-scene__node-icon {
  width: 1.65rem;
  height: 1.65rem;
}

.lp-feature-scene__rows,
.lp-feature-scene__transaction-list {
  display: grid;
  gap: .38rem;
}

.lp-feature-scene__row {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .48rem;
  padding: .48rem .54rem;
  color: #4d4b54;
  background: #fafafd;
  border: 1px solid #ecebf1;
  border-radius: .68rem;
}

.lp-feature-scene__row .lp-feature-scene__node-icon {
  width: 1.45rem;
  height: 1.45rem;
  border-radius: .45rem;
}

.lp-feature-scene__row.is-success .lp-feature-scene__node-icon,
.lp-feature-scene__row.is-success .lp-feature-scene__row-value {
  color: #16805a;
  background: #e7f8f0;
}

.lp-feature-scene__row.is-pending .lp-feature-scene__node-icon,
.lp-feature-scene__row.is-pending .lp-feature-scene__row-value {
  color: #9a6610;
  background: #fff5df;
}

.lp-feature-scene__row.is-danger .lp-feature-scene__node-icon,
.lp-feature-scene__row.is-danger .lp-feature-scene__row-value,
.lp-feature-scene__row.is-refund .lp-feature-scene__node-icon,
.lp-feature-scene__row.is-refund .lp-feature-scene__row-value {
  color: #b24755;
  background: #fff0f2;
}

.lp-feature-scene__row-copy {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: .08rem;
}

.lp-feature-scene__row-copy strong {
  overflow: hidden;
  font-size: clamp(.56rem, .9vw, .7rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__row-copy small,
.lp-feature-scene__muted {
  color: #97959f;
  font-size: clamp(.48rem, .78vw, .59rem);
  line-height: 1.25;
}

.lp-feature-scene__row-value {
  flex: 0 0 auto;
  padding: .25rem .38rem;
  color: #5e5b66;
  background: #f0eff4;
  border-radius: .42rem;
  font-size: clamp(.48rem, .78vw, .6rem);
}

.lp-feature-scene__amount {
  display: block;
  color: #292830;
  font-size: clamp(1rem, 2.2vw, 1.55rem);
  font-weight: 820;
  letter-spacing: -.035em;
}

.lp-feature-scene__pill,
.lp-feature-scene__danger-pill {
  display: inline-flex;
  width: fit-content;
  padding: .32rem .52rem;
  color: #5035d6;
  background: var(--lp-viz-violet-soft);
  border-radius: 999px;
  font-size: clamp(.48rem, .78vw, .59rem);
  font-weight: 750;
}

.lp-feature-scene__danger-pill {
  color: #a34450;
  background: #fff0f2;
}

.lp-feature-scene__success-stamp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .38rem .6rem;
  color: #14734e;
  background: #e8f8f0;
  border: 1px solid #bee9d4;
  border-radius: .58rem;
  font-size: clamp(.52rem, .88vw, .66rem);
  font-weight: 800;
}

.lp-feature-scene__pay-button {
  appearance: none;
  width: 100%;
  padding: .62rem .75rem;
  color: #fff;
  background: var(--lp-viz-violet);
  border: 0;
  border-radius: .62rem;
  font: inherit;
  font-size: clamp(.55rem, .9vw, .7rem);
  font-weight: 780;
}

/* CRM — actions en masse, reconstruit en interface native pour rester lisible. */
.lp-feature-scene__canvas--crm-bulk {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: .65rem;
  min-height: clamp(15rem, 31vw, 20rem);
  padding: clamp(.6rem, 1.4vw, .9rem);
  background:
    radial-gradient(circle at 92% 8%, rgba(82, 51, 255, .12), transparent 30%),
    linear-gradient(145deg, #f8f7ff, #f0eff7);
  border: 1px solid #e4e1f0;
  border-radius: 1.1rem;
}

.lp-feature-scene__crm-toolbar {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.lp-feature-scene__crm-search {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1;
  gap: .38rem;
  padding: .5rem .6rem;
  color: #8a8792;
  background: #fff;
  border: 1px solid #dfdde7;
  border-radius: .62rem;
  box-shadow: 0 .3rem .8rem rgba(30, 30, 30, .045);
  font-size: clamp(.5rem, .85vw, .65rem);
}

.lp-feature-scene__crm-search .lp-feature-visual__icon {
  width: .85rem;
  height: .85rem;
}

.lp-feature-scene__crm-filter,
.lp-feature-scene__crm-type {
  padding: .34rem .55rem;
  color: #5039da;
  background: #eeebff;
  border-radius: 999px;
  font-size: clamp(.46rem, .75vw, .58rem);
  font-weight: 750;
}

.lp-feature-scene__crm-table {
  min-width: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, .92);
  border: 1px solid #e0dee8;
  border-radius: .78rem;
  box-shadow: 0 .7rem 1.6rem rgba(39, 34, 69, .07);
}

.lp-feature-scene__crm-row {
  display: grid;
  grid-template-columns: 1.1rem minmax(7rem, 1.55fr) minmax(3.6rem, .7fr) minmax(4.3rem, .75fr);
  align-items: center;
  min-height: 2.2rem;
  gap: .5rem;
  padding: .34rem .58rem;
  color: #5d5a65;
  border-bottom: 1px solid #eceaf1;
  font-size: clamp(.47rem, .8vw, .6rem);
}

.lp-feature-scene__crm-row:last-child {
  border-bottom: 0;
}

.lp-feature-scene__crm-row.is-head {
  min-height: 1.7rem;
  color: #96929e;
  background: #f8f8fa;
  font-size: clamp(.42rem, .72vw, .54rem);
  font-weight: 780;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.lp-feature-scene__crm-row.is-selected {
  background: linear-gradient(90deg, rgba(82, 51, 255, .085), rgba(82, 51, 255, .025));
}

.lp-feature-scene__crm-check {
  display: grid;
  width: .86rem;
  height: .86rem;
  place-items: center;
  color: #fff;
  background: #fff;
  border: 1px solid #cbc8d3;
  border-radius: .23rem;
}

.lp-feature-scene__crm-row.is-selected .lp-feature-scene__crm-check {
  background: #5233ff;
  border-color: #5233ff;
  box-shadow: 0 0 0 .15rem rgba(82, 51, 255, .11);
}

.lp-feature-scene__crm-check .lp-feature-visual__icon {
  width: .58rem;
  height: .58rem;
  stroke-width: 2.4;
}

.lp-feature-scene__crm-contact {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .42rem;
}

.lp-feature-scene__crm-contact i {
  display: grid;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 auto;
  place-items: center;
  color: #177552;
  background: #dff4eb;
  border-radius: 50%;
  font-size: .48rem;
  font-style: normal;
  font-weight: 850;
}

.lp-feature-scene__crm-contact strong,
.lp-feature-scene__crm-owner {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__crm-actions {
  display: flex;
  align-items: center;
  justify-self: center;
  max-width: 100%;
  gap: .45rem;
  padding: .45rem .55rem;
  background: rgba(255, 255, 255, .96);
  border: 1px solid #dedbe8;
  border-radius: .78rem;
  box-shadow: 0 .85rem 1.8rem rgba(39, 34, 69, .16);
}

.lp-feature-scene__crm-count,
.lp-feature-scene__crm-action {
  display: flex;
  align-items: center;
  gap: .3rem;
  white-space: nowrap;
  font-size: clamp(.45rem, .8vw, .6rem);
}

.lp-feature-scene__crm-count b {
  display: grid;
  width: 1.3rem;
  height: 1.3rem;
  place-items: center;
  color: #fff;
  background: #5233ff;
  border-radius: 50%;
}

.lp-feature-scene__crm-action {
  padding: .42rem .52rem;
  border-radius: .5rem;
  font-weight: 760;
}

.lp-feature-scene__crm-action .lp-feature-visual__icon {
  width: .75rem;
  height: .75rem;
}

.lp-feature-scene__crm-action.is-primary {
  color: #5233ff;
  background: #eeebff;
}

.lp-feature-scene__crm-action.is-danger {
  color: #b6424b;
  background: #fff0f1;
}

/* Paiement */
.lp-feature-scene__canvas--checkout,
.lp-feature-scene__canvas--meeting,
.lp-feature-scene__canvas--client-pay,
.lp-feature-scene__canvas--invoice-compose,
.lp-feature-scene__canvas--billing-time,
.lp-feature-scene__canvas--signature-proof,
.lp-feature-scene__canvas--letter-history,
.lp-feature-scene__canvas--rpva-message,
.lp-feature-scene__canvas--email-case {
  display: grid;
  grid-template-columns: minmax(0, .9fr) auto minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(.55rem, 1.5vw, 1rem);
}

.lp-feature-scene__invoice-card {
  display: grid;
  gap: .55rem;
  transform: rotate(-2deg);
}

.lp-feature-scene__transfer-arrow,
.lp-feature-scene__compose-arrow,
.lp-feature-scene__mail-linker {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: var(--lp-viz-violet);
  background: var(--lp-viz-violet-soft);
  border-radius: 50%;
}

.lp-feature-scene__transfer-arrow .lp-feature-visual__icon,
.lp-feature-scene__compose-arrow .lp-feature-visual__icon {
  width: 1rem;
  height: 1rem;
}

.lp-feature-scene__checkout {
  position: relative;
  display: grid;
  gap: .48rem;
}

.lp-feature-scene__field-label {
  color: #7c7a84;
  font-size: .56rem;
  font-weight: 700;
}

.lp-feature-scene__card-field {
  display: flex;
  align-items: center;
  min-height: 2rem;
  padding: .48rem .56rem;
  color: #585660;
  background: #fafafd;
  border: 1px solid #dedde5;
  border-radius: .52rem;
  font-size: clamp(.5rem, .85vw, .64rem);
  letter-spacing: .05em;
}

.lp-feature-scene__field-split {
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: .42rem;
}

.lp-feature-scene__checkout .lp-feature-scene__success-stamp {
  position: absolute;
  right: -.45rem;
  bottom: -.55rem;
  transform: rotate(-4deg);
}

.lp-feature-scene__canvas--meeting {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
}

.lp-feature-scene__calendar-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .34rem;
}

.lp-feature-scene__calendar-cell {
  padding: .43rem .15rem;
  color: #6d6b75;
  background: #f7f7fa;
  border: 1px solid #e8e7ed;
  border-radius: .48rem;
  font-size: clamp(.46rem, .76vw, .58rem);
  font-weight: 680;
  text-align: center;
}

.lp-feature-scene__calendar-cell.is-selected {
  color: #fff;
  background: var(--lp-viz-violet);
  border-color: var(--lp-viz-violet);
  box-shadow: 0 .4rem 1rem rgba(82, 51, 255, .22);
}

.lp-feature-scene__booking {
  display: grid;
  gap: .58rem;
}

.lp-feature-scene__booking-line {
  color: #65636d;
  font-size: clamp(.52rem, .84vw, .66rem);
  line-height: 1.35;
}

.lp-feature-scene__booking-pay {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .48rem;
  color: #5142ba;
  background: var(--lp-viz-violet-soft);
  border-radius: .58rem;
  font-size: .6rem;
  font-weight: 750;
}

.lp-feature-scene__booking-pay .lp-feature-scene__node-icon {
  width: 1.5rem;
  height: 1.5rem;
}

.lp-feature-scene__canvas--status-feed {
  display: grid;
  grid-template-columns: minmax(7rem, .65fr) minmax(0, 1.35fr);
  align-items: stretch;
  gap: .75rem;
}

.lp-feature-scene__status-total {
  display: grid;
  align-content: center;
  gap: .35rem;
  padding: 1rem;
  color: #fff;
  background: linear-gradient(145deg, #5a38ff, #4325d8);
  border-radius: 1rem;
  box-shadow: 0 .9rem 2rem rgba(82, 51, 255, .24);
}

.lp-feature-scene__status-total span,
.lp-feature-scene__status-total small {
  opacity: .72;
  font-size: .58rem;
}

.lp-feature-scene__status-total strong {
  font-size: clamp(1.25rem, 2.7vw, 2rem);
  letter-spacing: -.04em;
}

.lp-feature-scene__feed {
  min-height: 0;
}

.lp-feature-scene__transaction-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Facturation */
.lp-feature-scene__canvas--invoice-compose {
  grid-template-columns: minmax(0, .85fr) auto minmax(0, 1.15fr);
}

.lp-feature-scene__canvas--einvoice {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) 2.2rem minmax(6.4rem, .8fr) 2.2rem minmax(7rem, 1fr);
  align-items: center;
  gap: clamp(.28rem, .8vw, .55rem);
  min-height: clamp(10.5rem, 24vw, 14rem);
  padding: .35rem;
  overflow: visible;
}

.lp-feature-scene__einvoice-card {
  display: grid;
  min-width: 0;
  align-content: center;
  justify-items: start;
  gap: .42rem;
  min-height: clamp(7.7rem, 17vw, 10.2rem);
  padding: clamp(.7rem, 1.5vw, 1rem);
  color: #383640;
  background: #fff;
  border: 1px solid #e3e0ee;
  border-radius: 1rem;
  box-shadow: 0 .8rem 1.9rem rgba(30, 30, 30, .08);
}

.lp-feature-scene__einvoice-card.is-facturx {
  justify-items: center;
  color: #fff;
  background: #5233ff;
  border-color: #654aff;
  box-shadow: 0 .9rem 2rem rgba(82, 51, 255, .22);
  text-align: center;
}

.lp-feature-scene__einvoice-card.is-facturx .lp-feature-scene__node-icon {
  color: #5233ff;
  background: #fff;
}

.lp-feature-scene__einvoice-card.is-platform {
  justify-items: center;
  text-align: center;
}

.lp-feature-scene__einvoice-card > strong {
  font-size: clamp(.64rem, 1.12vw, .86rem);
  line-height: 1.12;
}

.lp-feature-scene__einvoice-card > small,
.lp-feature-scene__einvoice-copy {
  color: #817e89;
  font-size: clamp(.5rem, .82vw, .63rem);
  line-height: 1.3;
}

.lp-feature-scene__einvoice-card.is-facturx > small {
  color: rgba(255, 255, 255, .78);
}

.lp-feature-scene__einvoice-amount {
  color: #1e1e1e;
  font-size: clamp(1rem, 2.15vw, 1.45rem) !important;
  letter-spacing: -.035em;
}

.lp-feature-scene__einvoice-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: .3rem .52rem;
  color: #5233ff;
  background: rgba(255, 255, 255, .94);
  border-radius: 999px;
  font-size: clamp(.45rem, .7vw, .56rem);
  font-weight: 760;
  line-height: 1.1;
}

.lp-feature-scene__einvoice-badge.is-ready {
  color: #4932c7;
  background: #eeeaff;
}

.lp-feature-scene__pennylane-logo {
  display: block;
  width: min(100%, 7.8rem);
  height: 1.65rem;
  object-fit: contain;
}

.lp-feature-scene__einvoice-arrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  color: #5233ff;
}

.lp-feature-scene__einvoice-arrow i {
  height: 2px;
  background: repeating-linear-gradient(90deg, #806cff 0 6px, transparent 6px 10px);
}

.lp-feature-scene__einvoice-arrow .lp-feature-visual__icon {
  width: .85rem;
  height: .85rem;
  margin-left: -.08rem;
}

.lp-feature-scene__invoice-preview {
  display: grid;
  gap: .38rem;
  transform: rotate(1deg);
}

.lp-feature-scene__invoice-line {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  padding: .42rem .15rem;
  color: #66646e;
  border-bottom: 1px solid #ecebf0;
  font-size: clamp(.52rem, .85vw, .65rem);
}

.lp-feature-scene__invoice-line.is-total {
  color: #2f2e35;
  border-bottom: 0;
  font-weight: 800;
}

.lp-feature-scene__canvas--billing-time {
  grid-template-columns: minmax(7rem, .55fr) minmax(0, 1.45fr);
}

.lp-feature-scene__live-timer {
  display: grid;
  place-items: center;
  align-content: center;
  gap: .48rem;
  min-height: 9.5rem;
  color: #4c3cba;
  background: var(--lp-viz-violet-soft);
  border: 1px solid #d8d1ff;
  border-radius: 1rem;
  text-align: center;
}

.lp-feature-scene__live-timer .lp-feature-scene__node-icon {
  width: 2.5rem;
  height: 2.5rem;
  background: #fff;
}

.lp-feature-scene__live-timer span {
  font-size: .58rem;
}

.lp-feature-scene__live-timer strong {
  font-size: clamp(.9rem, 2vw, 1.3rem);
  letter-spacing: .06em;
}

.lp-feature-scene__time-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: .45rem;
  padding: .55rem .6rem;
  color: #fff;
  background: var(--lp-viz-violet);
  border-radius: .68rem;
  font-size: clamp(.52rem, .85vw, .65rem);
}

.lp-feature-scene__canvas--recurring {
  display: grid;
  grid-template-columns: minmax(7rem, .62fr) minmax(0, 1.38fr);
  align-items: center;
  gap: .75rem;
}

.lp-feature-scene__template-card {
  display: grid;
  gap: .48rem;
  color: #fff;
  background: var(--lp-viz-violet);
  border-color: var(--lp-viz-violet);
}

.lp-feature-scene__template-card .lp-feature-scene__panel-head,
.lp-feature-scene__template-card .lp-feature-scene__amount,
.lp-feature-scene__template-card .lp-feature-scene__muted {
  color: inherit;
}

.lp-feature-scene__template-card .lp-feature-scene__muted {
  opacity: .7;
}

.lp-feature-scene__month-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: .45rem;
}

.lp-feature-scene__month-card {
  display: grid;
  place-items: center;
  gap: .38rem;
  padding: .72rem .4rem;
  color: #5d5b65;
  background: #fff;
  border: 1px solid #e4e3ea;
  border-radius: .82rem;
  font-size: clamp(.48rem, .8vw, .61rem);
  text-align: center;
}

.lp-feature-scene__month-card.is-active {
  color: #4a31cf;
  background: var(--lp-viz-violet-soft);
  border-color: #cec4ff;
  transform: translateY(-.55rem);
}

.lp-feature-scene__month-card.is-future {
  opacity: .62;
}

.lp-feature-scene__month-card .lp-feature-scene__node-icon {
  width: 1.8rem;
  height: 1.8rem;
}

.lp-feature-scene__canvas--reminders {
  display: grid;
  grid-template-columns: minmax(7rem, .62fr) minmax(0, 1.38fr);
  align-items: center;
  gap: .8rem;
}

.lp-feature-scene__overdue-card {
  display: grid;
  gap: .52rem;
  border-color: #efcbd0;
}

.lp-feature-scene__reminder-rail,
.lp-feature-scene__signature-schedule {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .42rem;
}

.lp-feature-scene__reminder-rail::before,
.lp-feature-scene__signature-schedule::before {
  position: absolute;
  top: 50%;
  right: 8%;
  left: 8%;
  height: 1px;
  background: #d5d0ee;
  content: "";
}

.lp-feature-scene__reminder-step,
.lp-feature-scene__schedule-card {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  gap: .3rem;
  padding: .65rem .3rem;
  color: #696771;
  background: #fff;
  border: 1px solid #e4e3e9;
  border-radius: .75rem;
  font-size: clamp(.46rem, .76vw, .58rem);
  text-align: center;
}

.lp-feature-scene__reminder-step.is-active,
.lp-feature-scene__schedule-card.is-active {
  color: #fff;
  background: var(--lp-viz-violet);
  border-color: var(--lp-viz-violet);
  box-shadow: 0 .65rem 1.4rem rgba(82, 51, 255, .2);
}

.lp-feature-scene__reminder-step.is-future,
.lp-feature-scene__schedule-card.is-future {
  opacity: .55;
}

.lp-feature-scene__reminder-step .lp-feature-scene__node-icon,
.lp-feature-scene__schedule-card .lp-feature-scene__node-icon {
  width: 1.7rem;
  height: 1.7rem;
}

.lp-feature-scene__canvas--dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(7rem, .35fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: .6rem;
}

.lp-feature-scene__metrics {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}

.lp-feature-scene__metric-card {
  display: grid;
  gap: .2rem;
  padding: .62rem .7rem;
  background: #fafafd;
  border: 1px solid #e8e7ed;
  border-radius: .72rem;
}

.lp-feature-scene__metric-card span,
.lp-feature-scene__metric-card small {
  color: #8b8993;
  font-size: clamp(.45rem, .74vw, .56rem);
}

.lp-feature-scene__metric-card strong {
  font-size: clamp(.72rem, 1.25vw, .96rem);
}

.lp-feature-scene__metric-card small {
  color: #16805a;
}

.lp-feature-scene__chart {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 5%;
  min-height: 6.5rem;
  padding: .7rem .8rem .25rem;
  background: linear-gradient(#f8f7fc 1px, transparent 1px);
  background-size: 100% 25%;
  border-radius: .75rem;
}

.lp-feature-scene__bar {
  width: 8%;
  height: var(--lp-bar);
  background: linear-gradient(180deg, #7b62ff, #5233ff);
  border-radius: .28rem .28rem .08rem .08rem;
  transform-origin: bottom;
}

.lp-feature-scene__chart-target {
  position: absolute;
  top: 22%;
  right: .5rem;
  left: .5rem;
  padding-top: .15rem;
  color: #9a92c7;
  border-top: 1px dashed #9a8ce9;
  font-size: .48rem;
  text-align: right;
}

.lp-feature-scene__donut {
  display: grid;
  width: clamp(5rem, 11vw, 7rem);
  height: clamp(5rem, 11vw, 7rem);
  place-content: center;
  place-self: center;
  color: #4c35c9;
  background: radial-gradient(circle, #fff 53%, transparent 55%), conic-gradient(#5a38ff 0 87%, #e6e2f8 87%);
  border-radius: 50%;
  text-align: center;
}

.lp-feature-scene__donut strong {
  font-size: clamp(.85rem, 1.7vw, 1.2rem);
}

.lp-feature-scene__donut span {
  color: #85828d;
  font-size: .5rem;
}

/* Espace client */
.lp-feature-scene__canvas--secure-chat {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) 4.5rem;
  align-items: center;
  gap: .55rem;
}

.lp-feature-scene__chat-person {
  display: grid;
  justify-items: center;
  gap: .3rem;
  color: #77747f;
  font-size: .52rem;
  font-weight: 700;
  text-align: center;
}

.lp-feature-scene__chat-person .lp-feature-scene__node-icon {
  width: 2.4rem;
  height: 2.4rem;
}

.lp-feature-scene__chat-person.is-cabinet .lp-feature-scene__node-icon {
  color: #fff;
  background: var(--lp-viz-violet);
}

.lp-feature-scene__conversation {
  display: grid;
  gap: .35rem;
}

.lp-feature-scene__bubble {
  max-width: 82%;
  padding: .42rem .55rem;
  color: #585660;
  background: #f3f2f7;
  border-radius: .65rem .65rem .65rem .18rem;
  font-size: clamp(.5rem, .82vw, .63rem);
  line-height: 1.3;
}

.lp-feature-scene__bubble.is-cabinet {
  justify-self: end;
  color: #fff;
  background: var(--lp-viz-violet);
  border-radius: .65rem .65rem .18rem .65rem;
}

.lp-feature-scene__composer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem;
  margin-top: .2rem;
  padding: .4rem .48rem;
  color: #9996a1;
  background: #fafafd;
  border: 1px solid #e5e4ea;
  border-radius: .56rem;
  font-size: .5rem;
}

.lp-feature-scene__composer .lp-feature-scene__node-icon {
  width: 1.4rem;
  height: 1.4rem;
}

.lp-feature-scene__canvas--client-pay {
  grid-template-columns: minmax(0, 1.2fr) minmax(7rem, .8fr);
}

.lp-feature-scene__portal {
  display: grid;
  gap: .55rem;
  border-top: .28rem solid var(--lp-viz-violet);
}

.lp-feature-scene__portal-invoice {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .5rem;
  padding: .55rem;
  background: #fafafd;
  border: 1px solid #e9e8ee;
  border-radius: .68rem;
}

.lp-feature-scene__portal-invoice .lp-feature-scene__node-icon {
  width: 1.8rem;
  height: 1.8rem;
}

.lp-feature-scene__portal-invoice > span:not(.lp-feature-scene__node-icon) {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: .08rem;
}

.lp-feature-scene__portal-invoice strong,
.lp-feature-scene__portal-invoice b {
  font-size: clamp(.56rem, .9vw, .7rem);
}

.lp-feature-scene__portal-invoice small {
  color: #92909a;
  font-size: .5rem;
}

.lp-feature-scene__receipt-card {
  display: grid;
  justify-items: center;
  gap: .48rem;
  color: #16714e;
  background: #f0fbf6;
  border-color: #bde9d4;
  text-align: center;
  transform: rotate(2deg);
}

.lp-feature-scene__canvas--client-progress {
  display: grid;
  grid-template-columns: minmax(7rem, .55fr) minmax(0, 1.45fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: .65rem;
}

.lp-feature-scene__visibility {
  display: grid;
  justify-items: center;
  gap: .35rem;
  padding: .8rem;
  color: #4c38bd;
  background: var(--lp-viz-violet-soft);
  border: 1px solid #d8d1ff;
  border-radius: .85rem;
  font-size: .55rem;
  text-align: center;
}

.lp-feature-scene__visibility .lp-feature-scene__node-icon {
  background: #fff;
}

.lp-feature-scene__visibility strong {
  font-size: .65rem;
}

.lp-feature-scene__milestones {
  position: relative;
  display: grid;
  gap: .46rem;
  padding-left: .4rem;
}

.lp-feature-scene__milestones::before {
  position: absolute;
  top: 12%;
  bottom: 12%;
  left: 1rem;
  width: 1px;
  background: #d5d0ec;
  content: "";
}

.lp-feature-scene__milestone {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1rem 1fr auto;
  align-items: center;
  gap: .5rem;
  padding: .5rem .6rem;
  background: #fff;
  border: 1px solid #e7e6ec;
  border-radius: .68rem;
  font-size: clamp(.52rem, .84vw, .65rem);
}

.lp-feature-scene__milestone small {
  color: #92909b;
  font-size: .5rem;
}

.lp-feature-scene__milestone-dot {
  width: .75rem;
  height: .75rem;
  background: #fff;
  border: .18rem solid #c9c4dc;
  border-radius: 50%;
}

.lp-feature-scene__milestone.is-done .lp-feature-scene__milestone-dot,
.lp-feature-scene__milestone.is-active .lp-feature-scene__milestone-dot {
  background: var(--lp-viz-violet);
  border-color: #dcd6ff;
}

.lp-feature-scene__milestone.is-future {
  opacity: .62;
}

.lp-feature-scene__private-block {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem .6rem;
  color: #92909a;
  background: repeating-linear-gradient(135deg, #f7f7f9, #f7f7f9 8px, #f0eff3 8px, #f0eff3 16px);
  border: 1px dashed #cfccd8;
  border-radius: .62rem;
  font-size: .55rem;
}

.lp-feature-scene__private-block .lp-feature-scene__node-icon {
  width: 1.5rem;
  height: 1.5rem;
  color: #85828d;
  background: #fff;
}

/* Signature */
.lp-feature-scene__canvas--signature-progress {
  display: grid;
  grid-template-columns: minmax(7rem, .78fr) auto minmax(8rem, 1.1fr);
  align-items: center;
  gap: .65rem;
}

.lp-feature-scene__sign-document {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .42rem;
  transform: rotate(-2deg);
}

.lp-feature-scene__signature-mark {
  margin-top: .25rem;
  padding: .35rem;
  color: #553fc5;
  background: var(--lp-viz-violet-soft);
  border: 1px dashed #9a87ef;
  border-radius: .48rem;
  font-size: .52rem;
  font-style: italic;
  text-align: center;
}

.lp-feature-scene__sign-progress-ring {
  display: grid;
  width: clamp(4.1rem, 8vw, 5.5rem);
  height: clamp(4.1rem, 8vw, 5.5rem);
  place-content: center;
  color: #4d35c9;
  background: radial-gradient(circle, #fff 55%, transparent 57%), conic-gradient(#5a38ff 0 67%, #e4e0f5 67%);
  border-radius: 50%;
  text-align: center;
}

.lp-feature-scene__sign-progress-ring strong {
  font-size: clamp(.85rem, 1.6vw, 1.15rem);
}

.lp-feature-scene__sign-progress-ring span {
  color: #8c8994;
  font-size: .48rem;
}

.lp-feature-scene__canvas--signature-reminder {
  display: grid;
  grid-template-columns: minmax(7rem, .65fr) minmax(0, 1.35fr);
  align-items: center;
  gap: .75rem;
}

.lp-feature-scene__pending-signer {
  display: grid;
  gap: .5rem;
  border-color: #ebc7cd;
}

.lp-feature-scene__canvas--signature-proof {
  grid-template-columns: minmax(7rem, .7fr) minmax(0, 1.3fr);
}

.lp-feature-scene__certificate {
  position: relative;
  display: grid;
  justify-items: center;
  gap: .4rem;
  padding-top: 1.4rem;
  text-align: center;
  background: linear-gradient(145deg, #fff, #f4f1ff);
  border-color: #d8d0ff;
}

.lp-feature-scene__certificate-seal {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  place-items: center;
  color: #fff;
  background: var(--lp-viz-violet);
  border: .35rem double #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #725dff;
  font-size: .56rem;
  font-weight: 850;
}

/* Historiques, RPVA et e-mails */
.lp-feature-scene__canvas--letter-history {
  grid-template-columns: minmax(0, 1.25fr) minmax(7rem, .75fr);
}

.lp-feature-scene__shipment {
  display: grid;
  gap: .55rem;
}

.lp-feature-scene__tracking-code {
  color: #86838e;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: .55rem;
  letter-spacing: .04em;
}

.lp-feature-scene__postal-route {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
}

.lp-feature-scene__postal-route::before {
  position: absolute;
  top: .42rem;
  right: 12%;
  left: 12%;
  height: 2px;
  background: #d8d3ee;
  content: "";
}

.lp-feature-scene__postal-step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: .2rem;
  color: #77747f;
  font-size: .48rem;
  text-align: center;
}

.lp-feature-scene__postal-step > span {
  width: .8rem;
  height: .8rem;
  background: #fff;
  border: .2rem solid #cbc5e5;
  border-radius: 50%;
}

.lp-feature-scene__postal-step.is-done > span,
.lp-feature-scene__postal-step.is-active > span {
  background: var(--lp-viz-violet);
  border-color: #dcd6ff;
}

.lp-feature-scene__postal-step small {
  color: #aaa7b0;
  font-size: .44rem;
}

.lp-feature-scene__canvas--rpva-message {
  grid-template-columns: minmax(0, 1.3fr) minmax(7rem, .7fr);
}

.lp-feature-scene__rpva-envelope {
  display: grid;
  gap: .42rem;
  border-left: .24rem solid var(--lp-viz-violet);
}

.lp-feature-scene__rpva-subject {
  font-size: clamp(.7rem, 1.15vw, .88rem);
}

.lp-feature-scene__rpva-meta {
  color: #7b7883;
  font-size: .54rem;
}

.lp-feature-scene__attachment-chip {
  display: flex;
  align-items: center;
  gap: .4rem;
  width: fit-content;
  padding: .38rem .48rem;
  color: #513dc1;
  background: var(--lp-viz-violet-soft);
  border-radius: .5rem;
  font-size: .52rem;
  font-weight: 700;
}

.lp-feature-scene__attachment-chip .lp-feature-scene__node-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.lp-feature-scene__rpva-matter,
.lp-feature-scene__linked-case {
  display: grid;
  gap: .5rem;
}

.lp-feature-scene__canvas--rpva-history,
.lp-feature-scene__canvas--email-history,
.lp-feature-scene__canvas--rpva-alerts {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .55rem;
}

.lp-feature-scene__case-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .48rem .6rem;
  color: #595761;
  background: var(--lp-viz-violet-soft);
  border: 1px solid #dcd6ff;
  border-radius: .65rem;
  font-size: .56rem;
}

.lp-feature-scene__case-head .lp-feature-scene__node-icon {
  width: 1.45rem;
  height: 1.45rem;
}

.lp-feature-scene__case-head strong {
  margin-left: auto;
  color: #4932c7;
}

.lp-feature-scene__procedure-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .4rem;
}

.lp-feature-scene__procedure-timeline::before {
  position: absolute;
  top: 1.35rem;
  right: 8%;
  left: 8%;
  height: 1px;
  background: #d5d0ec;
  content: "";
}

.lp-feature-scene__procedure-row {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: .28rem;
  padding: .5rem .28rem;
  background: #fff;
  border: 1px solid #e5e4ea;
  border-radius: .7rem;
  text-align: center;
}

.lp-feature-scene__procedure-row time {
  color: #9a97a2;
  font-size: .46rem;
}

.lp-feature-scene__procedure-row .lp-feature-scene__node-icon {
  width: 1.7rem;
  height: 1.7rem;
}

.lp-feature-scene__procedure-row > span:last-child {
  display: grid;
  gap: .1rem;
}

.lp-feature-scene__procedure-row strong {
  font-size: clamp(.48rem, .78vw, .6rem);
}

.lp-feature-scene__procedure-row small {
  color: #94919c;
  font-size: .44rem;
}

.lp-feature-scene__alert-tabs {
  display: flex;
  gap: .38rem;
}

.lp-feature-scene__alert-tab {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .38rem .52rem;
  color: #77747f;
  background: #f7f7fa;
  border: 1px solid #e6e5eb;
  border-radius: 999px;
  font-size: .52rem;
  font-weight: 700;
}

.lp-feature-scene__alert-tab b {
  display: grid;
  min-width: 1.1rem;
  height: 1.1rem;
  place-items: center;
  background: #eceaf2;
  border-radius: 50%;
  font-size: .45rem;
}

.lp-feature-scene__alert-tab.is-active {
  color: #fff;
  background: var(--lp-viz-violet);
  border-color: var(--lp-viz-violet);
}

.lp-feature-scene__alert-tab.is-active b {
  background: rgba(255, 255, 255, .2);
}

.lp-feature-scene__canvas--rpva-actions {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) 2.25rem minmax(8.5rem, .95fr);
  align-items: center;
  gap: clamp(.5rem, 1.4vw, .9rem);
}

.lp-feature-scene__rpva-sources {
  display: grid;
  gap: .45rem;
}

.lp-feature-scene__rpva-entry {
  display: grid;
  gap: .25rem;
  min-height: 0;
  padding: .52rem .62rem;
  border-color: rgba(82, 51, 255, .16);
}

.lp-feature-scene__rpva-entry .lp-feature-scene__panel-head {
  font-size: clamp(.5rem, .82vw, .64rem);
}

.lp-feature-scene__rpva-route {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: #5233ff;
  background: rgba(82, 51, 255, .1);
  border: 1px solid rgba(82, 51, 255, .16);
  border-radius: 50%;
}

.lp-feature-scene__rpva-route .lp-feature-scene__node-icon {
  width: 1.15rem;
  height: 1.15rem;
}

.lp-feature-scene__rpva-dispatch {
  display: grid;
  gap: .6rem;
  border-color: rgba(82, 51, 255, .22);
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(82, 51, 255, .075));
  box-shadow: 0 .9rem 2rem rgba(82, 51, 255, .1);
}

.lp-feature-scene__rpva-recipients {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .38rem;
}

.lp-feature-scene__rpva-recipients span {
  padding: .42rem .36rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .09);
  border: 1px solid rgba(82, 51, 255, .14);
  border-radius: .5rem;
  font-size: .52rem;
  font-weight: 750;
  text-align: center;
}

.lp-feature-scene__rpva-dispatch-state {
  display: flex;
  align-items: center;
  gap: .38rem;
  padding: .42rem .5rem;
  color: #fff;
  background: #5233ff;
  border-radius: .5rem;
  font-size: .52rem;
  font-weight: 750;
}

.lp-feature-scene__rpva-dispatch-state .lp-feature-scene__node-icon {
  width: 1.2rem;
  height: 1.2rem;
  color: #fff;
  background: rgba(255, 255, 255, .14);
}

.lp-feature-scene__canvas--rpva-overview {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .55rem;
}

.lp-feature-scene__rpva-toolbar {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.lp-feature-scene__rpva-search,
.lp-feature-scene__rpva-filter {
  display: flex;
  align-items: center;
  gap: .38rem;
  min-height: 2rem;
  padding: .42rem .55rem;
  color: #716e79;
  background: #fff;
  border: 1px solid rgba(82, 51, 255, .14);
  border-radius: .55rem;
  font-size: .52rem;
  font-weight: 700;
}

.lp-feature-scene__rpva-search {
  flex: 1 1 auto;
}

.lp-feature-scene__rpva-toolbar .lp-feature-scene__node-icon {
  width: 1.3rem;
  height: 1.3rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .09);
}

.lp-feature-scene__rpva-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .48rem;
}

.lp-feature-scene__rpva-overview-card {
  display: flex;
  align-items: center;
  gap: .48rem;
  min-width: 0;
  padding: .55rem .6rem;
  background: #fff;
  border: 1px solid rgba(82, 51, 255, .14);
  border-radius: .65rem;
  box-shadow: 0 .45rem 1.15rem rgba(82, 51, 255, .06);
}

.lp-feature-scene__rpva-overview-card > .lp-feature-scene__node-icon {
  flex: 0 0 auto;
  color: #5233ff;
  background: rgba(82, 51, 255, .1);
}

.lp-feature-scene__rpva-overview-card > span:last-child {
  display: grid;
  min-width: 0;
  gap: .12rem;
}

.lp-feature-scene__rpva-overview-card strong {
  font-size: clamp(.5rem, .82vw, .64rem);
}

.lp-feature-scene__rpva-overview-card small {
  color: #8d8995;
  font-size: .46rem;
}

/* RPVA page: product-shaped scenes, each with a distinct purpose. */
.lp-feature-scene__canvas--rpva-dossier-messages,
.lp-feature-scene__canvas--rpva-synchronisation,
.lp-feature-scene__canvas--rpva-received-files,
.lp-feature-scene__canvas--rpva-case-recovery,
.lp-feature-scene__canvas--rpva-module-actions,
.lp-feature-scene__canvas--rpva-global-inbox {
  min-height: 0;
  padding: clamp(.45rem, 1.2vw, .75rem);
  background: linear-gradient(145deg, rgba(82, 51, 255, .055), rgba(82, 51, 255, .018));
  border: 1px solid rgba(82, 51, 255, .12);
  border-radius: 1rem;
}

.lp-feature-tabs-container[data-feature-tabs-section="rpva"] :is(
  .lp-feature-scene__canvas--rpva-dossier-messages,
  .lp-feature-scene__canvas--rpva-synchronisation,
  .lp-feature-scene__canvas--rpva-module-actions
) .lp-feature-scene__node-icon {
  overflow: hidden;
}

.lp-feature-tabs-container[data-feature-tabs-section="rpva"] :is(
  .lp-feature-scene__canvas--rpva-dossier-messages,
  .lp-feature-scene__canvas--rpva-synchronisation,
  .lp-feature-scene__canvas--rpva-module-actions
) .lp-feature-scene__node-icon > i.lp-feature-visual__icon--canonical {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  font-size: .72rem;
  line-height: 1;
  text-align: center;
}


.lp-feature-scene__canvas--rpva-dossier-messages {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(.45rem, 1.2vw, .75rem);
}

.lp-feature-scene__rpva-mailbox,
.lp-feature-scene__rpva-thread {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.lp-feature-scene__rpva-modes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .25rem;
  padding: .22rem;
  background: rgba(82, 51, 255, .055);
  border-radius: .6rem;
}

.lp-feature-scene__rpva-modes > span {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: .28rem;
  padding: .34rem .28rem;
  color: #77747f;
  border-radius: .46rem;
  font-size: clamp(.52rem, .85vw, .64rem);
  font-weight: 750;
}

.lp-feature-scene__rpva-modes > span.is-active {
  color: #5233ff;
  background: #fff;
  box-shadow: 0 .25rem .7rem rgba(82, 51, 255, .09);
}

.lp-feature-scene__rpva-modes .lp-feature-visual__icon {
  width: .9rem;
  height: .9rem;
  font-size: .82rem;
}

.lp-feature-scene__rpva-mail-list {
  display: grid;
  gap: .35rem;
  margin-top: .5rem;
}

.lp-feature-scene__rpva-mail-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .4rem;
  padding: .45rem;
  color: #56535e;
  background: #fafafd;
  border: 1px solid #ebe9f2;
  border-radius: .62rem;
}

.lp-feature-scene__rpva-mail-row.is-active {
  color: #34258c;
  background: rgba(82, 51, 255, .075);
  border-color: rgba(82, 51, 255, .19);
}

.lp-feature-scene__rpva-mail-row .lp-feature-scene__node-icon {
  width: 1.45rem;
  height: 1.45rem;
}

.lp-feature-scene__rpva-mail-row > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: .08rem;
}

.lp-feature-scene__rpva-mail-row strong {
  font-size: clamp(.54rem, .9vw, .66rem);
}

.lp-feature-scene__rpva-mail-row small {
  overflow: hidden;
  color: #8e8a96;
  font-size: .5rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__rpva-mail-row b {
  color: #5233ff;
  font-size: .48rem;
}

.lp-feature-scene__rpva-thread-reference {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .38rem .48rem;
  color: #5f5b68;
  background: rgba(82, 51, 255, .065);
  border-radius: .52rem;
  font-size: .52rem;
}

.lp-feature-scene__rpva-thread-reference span {
  color: #5233ff;
  font-weight: 750;
}

.lp-feature-scene__rpva-conversation {
  display: grid;
  align-content: center;
  flex: 1 1 auto;
  gap: .4rem;
  padding-block: .45rem;
}

.lp-feature-scene__rpva-bubble {
  display: grid;
  max-width: 85%;
  gap: .12rem;
  padding: .45rem .55rem;
  background: #f5f4f8;
  border-radius: .7rem .7rem .7rem .2rem;
}

.lp-feature-scene__rpva-bubble.is-sent {
  justify-self: end;
  color: #fff;
  background: #5233ff;
  border-radius: .7rem .7rem .2rem .7rem;
}

.lp-feature-scene__rpva-bubble small {
  color: #8d8995;
  font-size: .46rem;
}

.lp-feature-scene__rpva-bubble.is-sent small {
  color: rgba(255, 255, 255, .74);
}

.lp-feature-scene__rpva-bubble strong {
  font-size: clamp(.54rem, .9vw, .67rem);
}

.lp-feature-scene__rpva-reply {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .3rem .3rem .3rem .52rem;
  color: #8b8792;
  background: #fff;
  border: 1px solid rgba(82, 51, 255, .16);
  border-radius: .58rem;
  font-size: .5rem;
}

.lp-feature-scene__rpva-reply > span:first-child {
  flex: 1 1 auto;
}

.lp-feature-scene__rpva-send {
  display: flex;
  align-items: center;
  gap: .3rem;
  padding: .36rem .45rem;
  color: #fff;
  background: #5233ff;
  border-radius: .45rem;
  font-weight: 750;
}

.lp-feature-scene__rpva-send .lp-feature-scene__node-icon {
  width: .9rem;
  height: .9rem;
  color: #fff;
  background: transparent;
}

.lp-feature-scene__canvas--rpva-synchronisation {
  display: grid;
  grid-template-columns: minmax(0, .8fr) clamp(4.4rem, 9vw, 5.6rem) minmax(0, 1.2fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(.42rem, 1.1vw, .68rem);
}

.lp-feature-scene__rpva-sync-source,
.lp-feature-scene__rpva-sync-target {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.lp-feature-scene__rpva-sync-contexts {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .25rem;
  padding: .22rem;
  background: rgba(82, 51, 255, .055);
  border-radius: .56rem;
}

.lp-feature-scene__rpva-sync-contexts span {
  padding: .32rem .25rem;
  color: #7c7885;
  border-radius: .42rem;
  font-size: .5rem;
  font-weight: 750;
  text-align: center;
}

.lp-feature-scene__rpva-sync-contexts span.is-active {
  color: #5233ff;
  background: #fff;
  box-shadow: 0 .22rem .62rem rgba(82, 51, 255, .08);
}

.lp-feature-scene__rpva-sync-feed,
.lp-feature-scene__rpva-sync-destinations {
  display: grid;
  align-content: center;
  flex: 1 1 auto;
  gap: .38rem;
  padding-top: .45rem;
}

.lp-feature-scene__rpva-sync-row,
.lp-feature-scene__rpva-sync-target-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .4rem;
  min-width: 0;
  padding: .45rem;
  background: #fafafd;
  border: 1px solid #ebe9f2;
  border-radius: .6rem;
}

.lp-feature-scene__rpva-sync-target-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.lp-feature-scene__rpva-sync-row .lp-feature-scene__node-icon,
.lp-feature-scene__rpva-sync-target-row .lp-feature-scene__node-icon {
  width: 1.45rem;
  height: 1.45rem;
}

.lp-feature-scene__rpva-sync-row > span:nth-child(2),
.lp-feature-scene__rpva-sync-target-row > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: .08rem;
}

.lp-feature-scene__rpva-sync-row strong,
.lp-feature-scene__rpva-sync-target-row strong {
  overflow: hidden;
  font-size: clamp(.52rem, .88vw, .66rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__rpva-sync-row small,
.lp-feature-scene__rpva-sync-target-row small {
  overflow: hidden;
  color: #898591;
  font-size: .47rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__rpva-sync-target-row b {
  padding: .22rem .3rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .085);
  border-radius: .36rem;
  font-size: .43rem;
  white-space: nowrap;
}

.lp-feature-scene__rpva-sync-bridge {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: .25rem;
  min-width: 0;
  color: #5233ff;
}

.lp-feature-scene__rpva-sync-bridge > .lp-feature-scene__node-icon {
  width: 1.35rem;
  height: 1.35rem;
  color: #5233ff;
  background: transparent;
}

.lp-feature-scene__rpva-sync-bridge > .lp-feature-scene__node-icon.is-forward {
  justify-self: start;
}

.lp-feature-scene__rpva-sync-bridge > .lp-feature-scene__node-icon.is-reverse {
  justify-self: end;
  transform: rotate(180deg);
}

.lp-feature-scene__rpva-sync-core {
  display: grid;
  justify-items: center;
  gap: .16rem;
  color: #5233ff;
  text-align: center;
}

.lp-feature-scene__rpva-sync-core > .lp-feature-scene__node-icon {
  width: 2.3rem;
  height: 2.3rem;
  color: #fff;
  background: #5233ff;
  border-radius: 50%;
  box-shadow: 0 .6rem 1.35rem rgba(82, 51, 255, .2);
}

.lp-feature-scene__rpva-sync-core strong {
  font-size: .52rem;
}

.lp-feature-scene__rpva-sync-core small {
  color: #85818d;
  font-size: .44rem;
}

.lp-feature-scene__rpva-sync-email {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .34rem;
  margin-top: .38rem;
  padding: .38rem .44rem;
  color: #625e69;
  background: rgba(82, 51, 255, .055);
  border-radius: .5rem;
  font-size: .47rem;
}

.lp-feature-scene__rpva-sync-email .lp-feature-visual__icon {
  width: .8rem;
  height: .8rem;
  font-size: .76rem;
  line-height: 1;
}

.lp-feature-scene__rpva-sync-email b {
  color: #5233ff;
  font-size: .43rem;
}

.lp-feature-scene__rpva-sync-two-way {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .42rem .52rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .075);
  border: 1px solid rgba(82, 51, 255, .13);
  border-radius: .58rem;
}

.lp-feature-scene__rpva-sync-two-way .lp-feature-scene__node-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.lp-feature-scene__rpva-sync-two-way > span:last-child {
  display: grid;
  gap: .04rem;
}

.lp-feature-scene__rpva-sync-two-way strong {
  font-size: .54rem;
}

.lp-feature-scene__rpva-sync-two-way small {
  color: #77737f;
  font-size: .46rem;
}

/* RPVA Synchronisation: compact, explicit lanes instead of stretched panels. */
.lp-feature-visual__stage.lp-feature-scene__stage--rpva-synchronisation {
  padding: clamp(.55rem, 1.2vw, .8rem);
}

.lp-feature-scene__stage--rpva-synchronisation .lp-feature-scene__canvas--rpva-synchronisation {
  display: grid;
  grid-template: auto auto minmax(0, 1fr) / minmax(0, 1fr);
  gap: clamp(.48rem, 1.2vw, .7rem);
  padding: clamp(.72rem, 1.8vw, 1rem);
}

.lp-feature-scene__rpva-sync-title {
  display: grid;
  gap: .16rem;
  min-width: 0;
  padding-inline: .12rem;
}

.lp-feature-scene__rpva-sync-title strong {
  color: #252235;
  font-size: clamp(.86rem, 1.35vw, 1.02rem);
  line-height: 1.15;
}

.lp-feature-scene__rpva-sync-title small {
  color: #77737f;
  font-size: clamp(.56rem, .82vw, .66rem);
  line-height: 1.25;
}

.lp-feature-scene__rpva-sync-systems,
.lp-feature-scene__rpva-sync-track {
  display: grid;
  grid-template-columns: minmax(0, .9fr) clamp(3.2rem, 7vw, 4.3rem) minmax(0, 1.1fr);
  align-items: stretch;
  gap: clamp(.38rem, 1vw, .62rem);
  min-width: 0;
}

.lp-feature-scene__rpva-sync-systems {
  align-items: center;
  padding: clamp(.48rem, 1.1vw, .66rem);
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(82, 51, 255, .13);
  border-radius: .76rem;
  box-shadow: 0 .5rem 1.3rem rgba(39, 31, 72, .055);
}

.lp-feature-scene__rpva-sync-systems .lp-feature-scene__rpva-sync-endpoint {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.lp-feature-scene__rpva-sync-endpoint {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(.38rem, .9vw, .58rem);
  min-width: 0;
  padding: clamp(.52rem, 1.2vw, .72rem);
  background: #fff;
  border: 1px solid rgba(82, 51, 255, .14);
  border-radius: .72rem;
  box-shadow: 0 .5rem 1.35rem rgba(39, 31, 72, .07);
}

.lp-feature-scene__rpva-sync-endpoint > .lp-feature-scene__node-icon,
.lp-feature-scene__rpva-sync-summary > .lp-feature-scene__node-icon {
  width: 2.05rem;
  height: 2.05rem;
  overflow: hidden;
  color: #5233ff;
  background: rgba(82, 51, 255, .09);
  border-radius: .58rem;
}

.lp-feature-scene__rpva-sync-endpoint > .lp-feature-scene__node-icon .lp-feature-visual__icon--canonical,
.lp-feature-scene__rpva-sync-summary > .lp-feature-scene__node-icon .lp-feature-visual__icon--canonical {
  width: auto;
  height: auto;
  font-size: .88rem;
  line-height: 1;
}

.lp-feature-scene__rpva-sync-copy {
  display: grid;
  min-width: 0;
  gap: .14rem;
}

.lp-feature-scene__rpva-sync-copy strong {
  color: #252235;
  font-size: clamp(.7rem, 1.05vw, .82rem);
  line-height: 1.18;
}

.lp-feature-scene__rpva-sync-copy small {
  color: #77737f;
  font-size: clamp(.55rem, .82vw, .64rem);
  line-height: 1.28;
}

.lp-feature-scene__rpva-sync-hub {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: .14rem;
  min-width: 0;
  color: #5233ff;
  text-align: center;
}

.lp-feature-scene__rpva-sync-hub > .lp-feature-scene__node-icon {
  position: relative;
  z-index: 1;
  width: 2.4rem;
  height: 2.4rem;
  color: #fff;
  background: #5233ff;
  border-radius: 50%;
  box-shadow: 0 .55rem 1.2rem rgba(82, 51, 255, .2);
}

.lp-feature-scene__rpva-sync-hub > strong {
  position: relative;
  z-index: 1;
  max-width: 100%;
}

.lp-feature-scene__rpva-sync-hub > strong {
  font-size: .58rem;
  line-height: 1.16;
  text-align: center;
}

.lp-feature-scene__rpva-sync-tracks {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(.42rem, 1vw, .62rem);
  min-height: 0;
}

.lp-feature-scene__rpva-sync-track {
  align-items: center;
  min-height: 0;
  padding: clamp(.48rem, 1.1vw, .66rem);
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(82, 51, 255, .13);
  border-radius: .76rem;
  box-shadow: 0 .5rem 1.3rem rgba(39, 31, 72, .055);
}

.lp-feature-scene__rpva-sync-track .lp-feature-scene__rpva-sync-endpoint {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.lp-feature-scene__rpva-sync-track .lp-feature-scene__rpva-sync-endpoint.is-target {
  grid-template-columns: minmax(0, 1fr) auto;
}

.lp-feature-scene__rpva-sync-endpoint:is(.is-legalprod, .is-target) {
  grid-template-columns: minmax(0, 1fr) auto;
  text-align: right;
}

.lp-feature-scene__rpva-sync-endpoint:is(.is-legalprod, .is-target) > .lp-feature-scene__node-icon {
  grid-column: 2;
  grid-row: 1;
}

.lp-feature-scene__rpva-sync-endpoint:is(.is-legalprod, .is-target) > .lp-feature-scene__rpva-sync-copy {
  grid-column: 1;
  grid-row: 1;
  justify-items: end;
}

.lp-feature-scene__rpva-sync-track .lp-feature-scene__rpva-sync-endpoint > b {
  padding: .28rem .38rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .09);
  border-radius: .42rem;
  font-size: .5rem;
  line-height: 1;
  white-space: nowrap;
}

.lp-feature-scene__rpva-sync-direction {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
}

.lp-feature-scene__rpva-sync-direction > .lp-feature-scene__node-icon {
  position: relative;
  z-index: 1;
  width: 1.85rem;
  height: 1.85rem;
  color: #fff;
  background: #5233ff;
  border-radius: 50%;
}

.lp-feature-scene__rpva-sync-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(.42rem, 1vw, .65rem);
  min-width: 0;
  padding: clamp(.48rem, 1vw, .64rem) clamp(.58rem, 1.3vw, .82rem);
  color: #5233ff;
  background: rgba(82, 51, 255, .075);
  border: 1px solid rgba(82, 51, 255, .14);
  border-radius: .72rem;
}

.lp-feature-scene__rpva-sync-summary > .lp-feature-scene__node-icon {
  width: 1.9rem;
  height: 1.9rem;
}

.lp-feature-scene__rpva-sync-routes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .28rem;
}

.lp-feature-scene__rpva-sync-routes b {
  padding: .3rem .4rem;
  color: #5233ff;
  background: #fff;
  border: 1px solid rgba(82, 51, 255, .12);
  border-radius: .42rem;
  font-size: .48rem;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .lp-feature-visual__stage.lp-feature-scene__stage--rpva-synchronisation {
    padding: .35rem;
  }

  .lp-feature-scene__stage--rpva-synchronisation .lp-feature-scene__canvas--rpva-synchronisation {
    grid-template-rows: auto 2.75rem minmax(0, 1fr);
    gap: .28rem;
    padding: .35rem;
  }

  .lp-feature-scene__rpva-sync-title {
    gap: .04rem;
    padding-inline: .1rem;
  }

  .lp-feature-scene__rpva-sync-title strong {
    font-size: .62rem;
  }

  .lp-feature-scene__rpva-sync-title small {
    font-size: .44rem;
  }

  .lp-feature-scene__rpva-sync-systems,
  .lp-feature-scene__rpva-sync-track {
    grid-template-columns: minmax(0, 1fr) 1.35rem minmax(0, 1.08fr);
    gap: .2rem;
  }

  .lp-feature-scene__rpva-sync-systems {
    padding: .32rem;
    border-radius: .52rem;
  }

  .lp-feature-scene__rpva-sync-endpoint {
    gap: .25rem;
    padding: .3rem;
    border-radius: .5rem;
  }

  .lp-feature-scene__rpva-sync-endpoint > .lp-feature-scene__node-icon,
  .lp-feature-scene__rpva-sync-summary > .lp-feature-scene__node-icon {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: .38rem;
  }

  .lp-feature-scene__rpva-sync-endpoint > .lp-feature-scene__node-icon .lp-feature-visual__icon--canonical,
  .lp-feature-scene__rpva-sync-summary > .lp-feature-scene__node-icon .lp-feature-visual__icon--canonical {
    font-size: .58rem;
  }

  .lp-feature-scene__rpva-sync-copy {
    gap: .05rem;
  }

  .lp-feature-scene__rpva-sync-copy strong {
    font-size: .56rem;
    line-height: 1.08;
  }

  .lp-feature-scene__rpva-sync-copy small {
    overflow: hidden;
    font-size: .43rem;
    line-height: 1.12;
    text-overflow: ellipsis;
  }

  .lp-feature-scene__rpva-sync-hub {
    gap: 0;
  }

  .lp-feature-scene__rpva-sync-hub > .lp-feature-scene__node-icon {
    width: 1.42rem;
    height: 1.42rem;
  }

  .lp-feature-scene__rpva-sync-hub > strong {
    display: none;
  }

  .lp-feature-scene__rpva-sync-tracks {
    gap: .28rem;
  }

  .lp-feature-scene__rpva-sync-track {
    gap: .2rem;
    padding: .32rem;
    border-radius: .52rem;
  }

  .lp-feature-scene__rpva-sync-track .lp-feature-scene__rpva-sync-endpoint {
    gap: .22rem;
    padding: 0;
  }

  .lp-feature-scene__rpva-sync-track .lp-feature-scene__rpva-sync-endpoint > .lp-feature-scene__node-icon {
    width: 1.15rem;
    height: 1.15rem;
  }

  .lp-feature-scene__rpva-sync-track .lp-feature-scene__rpva-sync-endpoint.is-target {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .lp-feature-scene__rpva-sync-track .lp-feature-scene__rpva-sync-endpoint > b {
    display: none;
  }

  .lp-feature-scene__rpva-sync-direction > .lp-feature-scene__node-icon {
    width: 1.18rem;
    height: 1.18rem;
  }

  .lp-feature-scene__rpva-sync-summary {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .28rem;
    padding: .34rem .4rem;
    border-radius: .52rem;
  }

  .lp-feature-scene__rpva-sync-summary .lp-feature-scene__rpva-sync-copy strong {
    font-size: .52rem;
  }

  .lp-feature-scene__rpva-sync-summary .lp-feature-scene__rpva-sync-copy small {
    display: none;
  }

  .lp-feature-scene__rpva-sync-routes {
    display: none;
  }
}

.lp-feature-scene__canvas--rpva-received-files {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(.38rem, 1vw, .65rem);
}

.lp-feature-scene__rpva-files-source,
.lp-feature-scene__rpva-ged-target {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.lp-feature-scene__rpva-files-meta {
  color: #7c7885;
  font-size: .52rem;
}

.lp-feature-scene__rpva-file-list {
  display: grid;
  align-content: center;
  flex: 1 1 auto;
  gap: .42rem;
  padding-top: .45rem;
}

.lp-feature-scene__rpva-file {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: .38rem;
  padding: .48rem;
  background: #fafafd;
  border: 1px solid #ebe9f2;
  border-radius: .62rem;
}

.lp-feature-scene__rpva-file > .lp-feature-scene__node-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.lp-feature-scene__rpva-file-check {
  display: grid;
  width: 1.15rem;
  height: 1.15rem;
  place-items: center;
  color: #fff;
  background: #5233ff;
  border-radius: .35rem;
}

.lp-feature-scene__rpva-file-check .lp-feature-scene__node-icon {
  width: .85rem;
  height: .85rem;
  color: #fff;
  background: transparent;
}

.lp-feature-scene__rpva-file strong {
  overflow: hidden;
  font-size: clamp(.52rem, .86vw, .65rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene__rpva-file-transfer {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: .22rem;
  color: #5233ff;
}

.lp-feature-scene__rpva-file-transfer .lp-feature-scene__node-icon {
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(82, 51, 255, .16);
}

.lp-feature-scene__rpva-file-transfer small {
  font-size: .46rem;
  font-weight: 750;
}

.lp-feature-scene__rpva-ged-tree {
  display: grid;
  align-content: center;
  flex: 1 1 auto;
  gap: .3rem;
}

.lp-feature-scene__rpva-tree-row {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .38rem .45rem;
  border-radius: .5rem;
}

.lp-feature-scene__rpva-tree-row.is-child {
  margin-left: .75rem;
}

.lp-feature-scene__rpva-tree-row.is-active {
  color: #5233ff;
  background: rgba(82, 51, 255, .08);
}

.lp-feature-scene__rpva-tree-row .lp-feature-scene__node-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.lp-feature-scene__rpva-tree-row strong {
  font-size: clamp(.54rem, .88vw, .66rem);
}

.lp-feature-scene__rpva-files-ready {
  display: flex;
  align-items: center;
  gap: .36rem;
  padding: .42rem .5rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .09);
  border-radius: .55rem;
  font-size: .52rem;
  font-weight: 750;
}

.lp-feature-scene__rpva-files-ready .lp-feature-scene__node-icon {
  width: 1.2rem;
  height: 1.2rem;
}

.lp-feature-scene__canvas--rpva-case-recovery {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: .55rem;
}

.lp-feature-scene__rpva-case-search {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: .42rem;
  min-height: 2.15rem;
  padding: .42rem .58rem;
  color: #7a7682;
  background: #fff;
  border: 1px solid rgba(82, 51, 255, .16);
  border-radius: .6rem;
  font-size: .55rem;
}

.lp-feature-scene__rpva-case-search .lp-feature-scene__node-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.lp-feature-scene__rpva-case-result,
.lp-feature-scene__rpva-case-target {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.lp-feature-scene__rpva-case-name {
  font-size: clamp(.68rem, 1.1vw, .86rem);
}

.lp-feature-scene__rpva-case-ref {
  margin-top: .15rem;
  color: #77737f;
  font-size: .52rem;
}

.lp-feature-scene__rpva-case-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: center;
  flex: 1 1 auto;
  gap: .3rem;
  padding-top: .48rem;
}

.lp-feature-scene__rpva-case-preview span {
  padding: .44rem .28rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .075);
  border-radius: .5rem;
  font-size: .48rem;
  font-weight: 750;
  text-align: center;
}

.lp-feature-scene__rpva-target-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .22rem;
  padding: .2rem;
  background: #f5f4f8;
  border-radius: .52rem;
}

.lp-feature-scene__rpva-target-tabs span {
  padding: .32rem;
  color: #77737f;
  border-radius: .38rem;
  font-size: .5rem;
  font-weight: 750;
  text-align: center;
}

.lp-feature-scene__rpva-target-tabs span.is-active {
  color: #5233ff;
  background: #fff;
}

.lp-feature-scene__rpva-case-event {
  display: flex;
  align-items: center;
  gap: .42rem;
  margin-top: .42rem;
  padding: .45rem;
  background: #fafafd;
  border: 1px solid #ebe9f2;
  border-radius: .58rem;
}

.lp-feature-scene__rpva-case-event .lp-feature-scene__node-icon {
  width: 1.45rem;
  height: 1.45rem;
}

.lp-feature-scene__rpva-case-event > span:last-child {
  display: grid;
  min-width: 0;
  gap: .08rem;
}

.lp-feature-scene__rpva-case-event strong {
  font-size: clamp(.52rem, .86vw, .64rem);
}

.lp-feature-scene__rpva-case-event small {
  color: #8b8792;
  font-size: .47rem;
}

.lp-feature-scene__rpva-case-attach {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .36rem;
  margin-top: auto;
  padding: .4rem;
  color: #fff;
  background: #5233ff;
  border-radius: .5rem;
  font-size: .52rem;
  font-weight: 750;
}

.lp-feature-scene__rpva-case-attach .lp-feature-scene__node-icon {
  width: 1.05rem;
  height: 1.05rem;
  color: #fff;
  background: transparent;
}

.lp-feature-scene__canvas--rpva-module-actions {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: .6rem;
}

.lp-feature-scene__rpva-module-list {
  display: grid;
  align-content: center;
  gap: .4rem;
}

.lp-feature-scene__rpva-module-item {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem;
  background: #fff;
  border: 1px solid #e8e6ef;
  border-radius: .65rem;
}

.lp-feature-scene__rpva-module-item.is-active {
  background: rgba(82, 51, 255, .075);
  border-color: rgba(82, 51, 255, .19);
}

.lp-feature-scene__rpva-module-item .lp-feature-scene__node-icon {
  width: 1.55rem;
  height: 1.55rem;
}

.lp-feature-scene__rpva-module-item > span:last-child {
  display: grid;
  min-width: 0;
  gap: .08rem;
}

.lp-feature-scene__rpva-module-item strong {
  font-size: clamp(.54rem, .9vw, .67rem);
}

.lp-feature-scene__rpva-module-item small {
  color: #88848f;
  font-size: .48rem;
}

.lp-feature-scene__rpva-send-form {
  display: flex;
  min-height: 0;
  flex-direction: column;
  border-color: rgba(82, 51, 255, .19);
}

.lp-feature-scene__rpva-form-row {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: .45rem;
  padding: .45rem .15rem;
  border-bottom: 1px solid #eeedf2;
}

.lp-feature-scene__rpva-form-row small {
  color: #8c8893;
  font-size: .49rem;
}

.lp-feature-scene__rpva-form-row strong {
  font-size: clamp(.52rem, .86vw, .64rem);
}

.lp-feature-scene__rpva-prepare-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem;
  margin-top: auto;
  padding: .48rem .55rem;
  color: #fff;
  background: #5233ff;
  border-radius: .52rem;
  font-size: .54rem;
  font-weight: 750;
}

.lp-feature-scene__rpva-prepare-action .lp-feature-scene__node-icon {
  width: 1.05rem;
  height: 1.05rem;
  color: #fff;
  background: transparent;
}

.lp-feature-scene__canvas--rpva-global-inbox {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: .4rem;
}

.lp-feature-scene__rpva-global-tabs {
  display: flex;
  align-items: center;
  gap: .18rem;
  padding: .2rem;
  background: rgba(82, 51, 255, .055);
  border-radius: .58rem;
}

.lp-feature-scene__rpva-global-tabs span {
  flex: 1 1 0;
  padding: .34rem .2rem;
  color: #77737f;
  border-radius: .42rem;
  font-size: clamp(.48rem, .78vw, .6rem);
  font-weight: 750;
  text-align: center;
}

.lp-feature-scene__rpva-global-tabs span.is-active {
  color: #5233ff;
  background: #fff;
  box-shadow: 0 .25rem .65rem rgba(82, 51, 255, .08);
}

.lp-feature-scene__rpva-global-toolbar {
  display: flex;
  gap: .38rem;
}

.lp-feature-scene__rpva-global-search,
.lp-feature-scene__rpva-global-filter {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .35rem;
  min-height: 1.8rem;
  padding: .36rem .48rem;
  color: #76727e;
  background: #fff;
  border: 1px solid rgba(82, 51, 255, .13);
  border-radius: .5rem;
  font-size: .5rem;
  font-weight: 700;
}

.lp-feature-scene__rpva-global-search {
  flex: 1 1 auto;
}

.lp-feature-scene__rpva-global-toolbar .lp-feature-scene__node-icon {
  width: 1.2rem;
  height: 1.2rem;
}

.lp-feature-scene__rpva-global-table {
  display: grid;
  min-height: 0;
  align-content: start;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e7e5ed;
  border-radius: .65rem;
}

.lp-feature-scene__rpva-global-row {
  display: grid;
  grid-template-columns: minmax(5rem, .9fr) minmax(6rem, 1.2fr) minmax(4rem, .75fr) 3.3rem;
  align-items: center;
  gap: .38rem;
  min-height: 2.2rem;
  padding: .38rem .48rem;
  color: #5b5862;
  border-top: 1px solid #efedf2;
  font-size: clamp(.49rem, .8vw, .61rem);
}

.lp-feature-scene__rpva-global-row.is-head {
  min-height: 1.75rem;
  color: #8a8691;
  background: #faf9fc;
  border-top: 0;
  font-size: .46rem;
  font-weight: 750;
}

.lp-feature-scene__rpva-global-matter {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .3rem;
}

.lp-feature-scene__rpva-global-matter .lp-feature-scene__node-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.lp-feature-scene__rpva-global-row b {
  width: fit-content;
  padding: .24rem .34rem;
  color: #5e5967;
  background: #f0eef4;
  border-radius: .4rem;
  font-size: .46rem;
}

.lp-feature-scene__rpva-global-row b.is-pending {
  color: #5233ff;
  background: rgba(82, 51, 255, .1);
}

.lp-feature-scene__rpva-global-row b.is-success {
  color: #16734b;
  background: #eaf8f1;
}

.lp-feature-scene__rpva-global-row time {
  color: #918d97;
  text-align: right;
}

.lp-feature-scene__rpva-global-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .38rem;
}

.lp-feature-scene__rpva-global-summary > span {
  display: flex;
  align-items: center;
  gap: .38rem;
  padding: .38rem .48rem;
  color: #5233ff;
  background: rgba(82, 51, 255, .075);
  border-radius: .5rem;
  font-size: .5rem;
}

.lp-feature-scene__rpva-global-summary .lp-feature-visual__icon,
.lp-feature-scene__rpva-global-summary .lp-feature-scene__node-icon {
  width: 1.2rem;
  height: 1.2rem;
  font-size: 1rem;
}

.lp-feature-scene__canvas--email-case {
  grid-template-columns: minmax(0, 1.25fr) auto minmax(7rem, .75fr);
}

.lp-feature-scene__mail-linker {
  width: auto;
  height: auto;
  padding: .45rem;
  gap: .25rem;
  border-radius: .65rem;
  font-size: .46rem;
  font-weight: 750;
  text-align: center;
}

.lp-feature-scene__mail-linker .lp-feature-scene__node-icon {
  width: 1.5rem;
  height: 1.5rem;
}

.lp-feature-scene__email-thread {
  display: grid;
  gap: .35rem;
}

.lp-feature-scene__thread-message {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .45rem;
  padding: .48rem .55rem;
  background: #fafafd;
  border: 1px solid #ecebf0;
  border-radius: .65rem;
}

.lp-feature-scene__thread-message.is-client {
  background: var(--lp-viz-violet-soft);
  border-color: #dcd6ff;
}

.lp-feature-scene__thread-message time {
  color: #9996a1;
  font-size: .48rem;
}

.lp-feature-scene__thread-message > span:nth-child(2) {
  display: grid;
  gap: .08rem;
}

.lp-feature-scene__thread-message strong {
  font-size: clamp(.52rem, .84vw, .65rem);
}

.lp-feature-scene__thread-message small,
.lp-feature-scene__thread-files {
  color: #85828d;
  font-size: .48rem;
}

.lp-feature-scene__thread-files {
  padding: .24rem .38rem;
  color: #523bc3;
  background: #fff;
  border-radius: .4rem;
}

.lp-feature-scene__thread-context {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .48rem .58rem;
  color: #5b5862;
  background: #f7f6fb;
  border: 1px solid #e3e0f0;
  border-radius: .65rem;
  font-size: .52rem;
}

.lp-feature-scene__thread-context .lp-feature-scene__node-icon {
  width: 1.55rem;
  height: 1.55rem;
}

.lp-feature-scene__thread-context span:last-child {
  margin-left: auto;
  color: #8f8c97;
}

/* Ajustements ciblés des scènes : chaque mouvement décrit une action métier. */
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-card .lp-feature-scene__card-field,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-card .lp-feature-scene__pay-button,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-card .lp-feature-scene__success-stamp,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-card .lp-feature-scene__transfer-arrow {
  animation: none;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-iban .lp-feature-scene__token,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-iban .lp-feature-scene__node-card,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-iban .lp-feature-scene__decor-coin,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-link .lp-feature-scene__connectors path,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-link .lp-feature-scene__token,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-link .lp-feature-scene__node-card,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-link .lp-feature-scene__decor-coin {
  animation: none;
}

.lp-feature-scene--payment-iban .lp-feature-scene__token,
.lp-feature-scene--payment-link .lp-feature-scene__token {
  transform: translate(-50%, -50%);
}

.lp-feature-scene--payment-reconcile .lp-feature-scene__node:not(.is-core):not(.is-success) .lp-feature-scene__node-card {
  border-left: .2rem solid #7b62ff;
}

.lp-feature-scene--payment-reconcile .lp-feature-scene__node.is-core .lp-feature-scene__node-card {
  box-shadow: 0 0 0 .35rem rgba(99, 91, 255, .1), 0 .75rem 1.8rem rgba(82, 51, 255, .24);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene--payment-reconcile .lp-feature-scene__decor-coin {
  animation: none;
}

.lp-feature-scene--billing-create .lp-feature-scene__compose-arrow {
  animation: none;
  transform: none;
}

.lp-feature-scene--billing-recurring .lp-feature-scene__month-track,
.lp-feature-scene--billing-reminder .lp-feature-scene__reminder-rail {
  padding: .48rem;
  background: #f8f7fd;
  border: 1px solid #e6e2f5;
  border-radius: .9rem;
}

.lp-feature-scene--billing-recurring .lp-feature-scene__month-card.is-active,
.lp-feature-scene--billing-reminder .lp-feature-scene__reminder-step.is-active {
  box-shadow: 0 .65rem 1.4rem rgba(82, 51, 255, .18);
}

.lp-feature-scene--email-attachments .lp-feature-scene__token {
  color: #fff;
  background: #5233ff;
  border-color: #5233ff;
  box-shadow: 0 .35rem .8rem rgba(82, 51, 255, .2);
  transform: translate(-50%, -50%);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene--email-attachments .lp-feature-scene__token {
  animation: none;
}

.lp-feature-scene--email-attachments .lp-feature-scene__static-label {
  animation: none !important;
  color: #fff;
  background: #5233ff;
  border-color: #5233ff;
  box-shadow: 0 .35rem .8rem rgba(82, 51, 255, .2);
}

.lp-feature-scene--signature-progress .lp-feature-scene__sign-document {
  min-width: 0;
  max-width: 100%;
}

.lp-feature-scene--signature-progress .lp-feature-scene__sign-document .lp-feature-scene__panel-head {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-feature-scene--signature-progress .lp-feature-scene__sign-document .lp-feature-scene__panel-head .lp-feature-scene__node-icon {
  flex: 0 0 auto;
}

.lp-feature-scene--signature-progress .lp-feature-scene__sign-progress-ring {
  animation: none;
  transform: none;
}

.lp-feature-scene--signature-proof .lp-feature-scene__row-copy strong {
  overflow: visible;
  font-size: clamp(.5rem, .76vw, .62rem);
  line-height: 1.15;
  text-overflow: clip;
  white-space: normal;
}

.lp-feature-scene--signature-proof .lp-feature-scene__row-value {
  font-size: clamp(.44rem, .66vw, .54rem);
  white-space: nowrap;
}

/* Mouvement : le sens du flux prime sur l'effet décoratif. */
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__connectors path {
  animation: lp-feature-scene-edge 1.55s linear infinite;
  animation-delay: calc(var(--lp-edge, 0) * -.18s);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__connectors path.is-reverse {
  animation-direction: reverse;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__node-card,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__row,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__calendar-cell,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__month-card,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__reminder-step,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__schedule-card,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__metric-card,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__bubble,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__milestone,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__crm-row:not(.is-head),
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__procedure-row,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__rpva-entry,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__rpva-overview-card,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__thread-message,
[data-feature-pills-visual][data-active="true"] .lp-feature-scene__postal-step {
  animation: lp-feature-scene-enter .5s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(.1s + var(--lp-step, 0) * .07s);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene--billing-electronic .lp-feature-scene__einvoice-card {
  animation: lp-feature-scene-enter .5s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(.1s + var(--lp-step, 0) * .1s);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene--billing-electronic .lp-feature-scene__einvoice-arrow .lp-feature-visual__icon {
  animation: lp-feature-scene-arrow 1.35s ease-in-out infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__token {
  animation: lp-feature-scene-token 2.1s ease-in-out infinite;
  animation-delay: calc(var(--lp-step, 0) * -.45s);
}

/* Les libellés des trois premiers scénarios Automatisation restent fixes. */
body.home.lptia-bridge-active [data-feature-pills-visual][data-active="true"] :is(
  [data-lp-scene="automation-activation"],
  [data-lp-scene="automation-templates"],
  [data-lp-scene="automation-builder"]
) .lp-feature-scene__token {
  animation: none;
  transform: translate(-50%, -50%);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__success-stamp {
  animation: lp-feature-scene-stamp 2.8s cubic-bezier(.22, 1, .36, 1) infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__bar {
  animation: lp-feature-scene-bar .65s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(.15s + var(--lp-step, 0) * .055s);
}

[data-feature-pills-visual][data-active="true"] :is(.lp-feature-scene__donut, .lp-feature-scene__live-timer .lp-feature-scene__node-icon) {
  animation: lp-feature-scene-breathe 2.6s ease-in-out infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__crm-actions {
  animation: lp-feature-crm-actions-in .58s .28s cubic-bezier(.22, 1, .36, 1) both;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__crm-row.is-selected .lp-feature-scene__crm-check {
  animation: lp-feature-crm-check 2.4s ease-in-out infinite;
  animation-delay: calc(var(--lp-step, 0) * -.32s);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__decor-coin {
  animation: lp-feature-finance-coin 3.2s ease-in-out infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__decor-sheet {
  animation: lp-feature-signature-sheet 4.2s ease-in-out infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__decor-court {
  animation: lp-feature-rpva-court 3.8s ease-in-out infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-scene__decor-envelope {
  animation: lp-feature-email-envelope 3.4s ease-in-out infinite;
}

@keyframes lp-feature-scene-edge {
  to { stroke-dashoffset: -32; }
}

@keyframes lp-feature-scene-enter {
  from { opacity: 0; transform: translateY(.55rem) scale(.975); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lp-feature-scene-token {
  0%, 100% { transform: translate(-50%, -50%) translateX(-.2rem); }
  50% { transform: translate(-50%, -50%) translateX(.35rem); }
}

@keyframes lp-feature-scene-stamp {
  0%, 72%, 100% { filter: none; transform: rotate(-4deg) scale(1); }
  80% { filter: drop-shadow(0 0 .5rem rgba(32, 166, 106, .24)); transform: rotate(-4deg) scale(1.06); }
}

@keyframes lp-feature-scene-arrow {
  0%, 100% { transform: translateX(-.18rem); }
  50% { transform: translateX(.22rem); }
}

@keyframes lp-feature-scene-bar {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

@keyframes lp-feature-scene-breathe {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(82, 51, 255, 0)); transform: scale(1); }
  50% { filter: drop-shadow(0 .35rem .7rem rgba(82, 51, 255, .16)); transform: scale(1.035); }
}

@keyframes lp-feature-product-enter {
  from { opacity: 0; transform: perspective(65rem) rotateX(2deg) rotateY(-4deg) translateY(.85rem) scale(.965); }
  to { opacity: 1; transform: perspective(65rem) rotateX(.5deg) rotateY(-1.1deg) translateY(0) scale(1); }
}

@keyframes lp-feature-crm-actions-in {
  from { opacity: 0; transform: translateY(1rem) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lp-feature-crm-check {
  0%, 72%, 100% { box-shadow: 0 0 0 .15rem rgba(82, 51, 255, .11); transform: scale(1); }
  82% { box-shadow: 0 0 0 .34rem rgba(82, 51, 255, 0); transform: scale(1.08); }
}

@keyframes lp-feature-finance-coin {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-.35rem) rotate(4deg); }
}

@keyframes lp-feature-signature-sheet {
  0%, 100% { transform: rotate(4deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-.32rem); }
}

@keyframes lp-feature-rpva-court {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(82, 51, 255, 0)); transform: translateX(-50%) scale(1); }
  50% { filter: drop-shadow(0 .5rem .9rem rgba(82, 51, 255, .13)); transform: translateX(-50%) scale(1.025); }
}

@keyframes lp-feature-email-envelope {
  0%, 100% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-.35rem); }
}

/* Entrée en scène au changement de bulle */
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__stage,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__topbar,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__status {
  animation: lp-feature-visual-rise .48s cubic-bezier(.22, 1, .36, 1) both;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__stage {
  animation-delay: .04s;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__status {
  animation-delay: .12s;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__flow-step,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__timeline-row,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__version-row,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__chip,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__result-row,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__file-row,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__selection-file,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__context-action,
[data-feature-pills-visual][data-active="true"] .lp-feature-visual__service-node {
  animation: lp-feature-visual-item .42s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(.12s + var(--lp-step, 0) * .055s);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__flow-step:not(:last-child)::after {
  animation: lp-feature-visual-line .42s ease-out both;
  animation-delay: calc(.28s + var(--lp-step, 0) * .09s);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__stage--sharepoint {
  animation: lp-sp-sync-fade .3s ease-out both;
}

[data-feature-pills-visual][data-active="true"] .lp-sp-sync__node {
  animation: lp-sp-sync-fade .32s ease-out both;
  animation-delay: calc(.05s + var(--lp-step, 0) * .06s);
}

[data-feature-pills-visual][data-active="true"] .lp-sp-sync__file {
  animation: lp-sp-sync-fade .32s ease-out .2s both;
}

[data-feature-pills-visual][data-active="true"] .lp-sp-sync__lane.is-forward i {
  animation: lp-sp-packet-right 2.8s cubic-bezier(.45, 0, .25, 1) infinite;
  animation-delay: calc(var(--lp-edge, 0) * -.65s);
}

[data-feature-pills-visual][data-active="true"] .lp-sp-sync__lane.is-reverse i {
  animation: lp-sp-packet-left 2.8s cubic-bezier(.45, 0, .25, 1) infinite;
  animation-delay: calc(-1.05s + var(--lp-edge, 0) * -.65s);
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__stage--dragdrop .lp-feature-visual__file-row.is-drag-source {
  animation: lp-feature-drag-source 4.8s ease-in-out infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__stage--dragdrop .lp-feature-visual__drag-ghost {
  animation: lp-feature-drag-ghost 4.8s cubic-bezier(.45, 0, .22, 1) infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__stage--dragdrop .lp-feature-visual__drag-cursor {
  animation: lp-feature-drag-cursor 4.8s cubic-bezier(.45, 0, .22, 1) infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__stage--dragdrop .lp-feature-visual__dropzone {
  animation: lp-feature-drag-target 4.8s ease-in-out infinite;
}

[data-feature-pills-visual][data-active="true"] .lp-feature-visual__status-dot {
  animation: lp-feature-visual-pulse 2s ease-out infinite;
}

@keyframes lp-feature-visual-rise {
  from { opacity: 0; transform: translateY(.65rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes lp-feature-visual-item {
  from { opacity: 0; transform: translateY(.45rem) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lp-feature-visual-line {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes lp-sp-sync-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes lp-sp-packet-right {
  0% { left: 0; opacity: 0; }
  10% { opacity: 1; }
  88% { left: 100%; opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

@keyframes lp-sp-packet-left {
  0% { left: 100%; opacity: 0; }
  10% { opacity: 1; }
  88% { left: 0; opacity: 1; }
  100% { left: 0; opacity: 0; }
}

@keyframes lp-feature-drag-source {
  0%, 8%, 78%, 100% {
    color: #4d4b55;
    background: transparent;
    border-color: #ecebf0;
    box-shadow: none;
  }
  14%, 62% {
    color: var(--lp-viz-violet-dark);
    background: var(--lp-viz-violet-soft);
    border-color: #cfc7ff;
    box-shadow: inset .18rem 0 0 var(--lp-viz-violet);
  }
}

@keyframes lp-feature-drag-ghost {
  0%, 18% {
    top: 31%;
    left: 12%;
    opacity: 0;
    transform: scale(.96);
  }
  24%, 34% {
    top: 31%;
    left: 12%;
    opacity: 1;
    transform: scale(1);
  }
  66% {
    top: 44%;
    left: 60%;
    opacity: 1;
    transform: scale(1);
  }
  75%, 100% {
    top: 44%;
    left: 60%;
    opacity: 0;
    transform: scale(.94);
  }
}

@keyframes lp-feature-drag-cursor {
  0% {
    top: 34%;
    left: 19%;
    transform: scale(.92);
  }
  12% {
    top: 35%;
    left: 21%;
    transform: scale(1);
  }
  20%, 34% {
    top: 35%;
    left: 21%;
    transform: scale(.82);
  }
  66% {
    top: 50%;
    left: 78%;
    transform: scale(1);
  }
  72% {
    top: 50%;
    left: 78%;
    transform: scale(.82);
  }
  82%, 100% {
    top: 34%;
    left: 19%;
    transform: scale(.92);
  }
}

@keyframes lp-feature-drag-target {
  0%, 50%, 82%, 100% {
    background: var(--lp-viz-violet-soft);
    border-color: var(--lp-viz-violet);
    box-shadow: none;
    transform: scale(1);
  }
  62%, 75% {
    background: #e7e1ff;
    border-color: #4325d8;
    box-shadow: 0 0 0 .3rem rgba(82, 51, 255, .1);
    transform: scale(1.025);
  }
}

@keyframes lp-feature-visual-pulse {
  0%, 100% { box-shadow: 0 0 0 .28rem rgba(32, 166, 106, .12); }
  50% { box-shadow: 0 0 0 .52rem rgba(32, 166, 106, 0); }
}

@media (max-width: 991px) {
  body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .feature-pills__col.is--visual {
    aspect-ratio: auto;
    height: clamp(22rem, 55vw, 30rem);
    min-height: 0;
  }

  .lp-feature-visual {
    height: 100%;
    min-height: 0;
  }

  .lp-feature-product {
    height: 100%;
    min-height: 0;
    padding: clamp(.7rem, 2.4vw, 1.25rem);
  }

  .lp-feature-product__frame {
    width: min(98%, 45rem);
    max-height: 94%;
  }
}

@media (max-width: 600px) {
  body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .feature-pills__col.is--visual {
    min-height: 0;
  }

  .lp-feature-visual {
    min-height: 0;
    padding: .85rem;
  }

  .lp-feature-product {
    min-height: 0;
    padding: .55rem;
  }

  .lp-feature-product__frame,
  .lp-feature-product[data-product-ratio="wide"] .lp-feature-product__frame,
  .lp-feature-product[data-product-ratio="ultrawide"] .lp-feature-product__frame {
    grid-template-rows: 1.65rem minmax(0, 1fr);
    width: 100%;
    max-height: 96%;
    aspect-ratio: 1.38;
    border-radius: .72rem;
    transform: none;
  }

  .lp-feature-product[data-product-ratio="portrait"] .lp-feature-product__frame {
    width: min(92%, 26rem);
    aspect-ratio: 1;
  }

  .lp-feature-product__chrome {
    gap: .38rem;
    padding: 0 .5rem;
  }

  .lp-feature-product__address {
    max-width: 8.5rem;
    padding: .18rem .45rem;
  }

  .lp-feature-product__mark {
    width: 1.12rem;
    height: 1.12rem;
    border-radius: .3rem;
    font-size: .42rem;
  }

  .lp-feature-visual__stage {
    padding: .85rem;
    border-radius: .9rem;
  }

  .lp-feature-visual__topbar {
    padding-bottom: .7rem;
  }

  .lp-feature-visual__icon-wrap {
    width: 1.95rem;
    height: 1.95rem;
  }

  .lp-feature-visual__stage--versioning {
    grid-template-columns: minmax(0, .75fr) minmax(8rem, 1.25fr);
    gap: .65rem;
  }

  .lp-feature-visual__document-stack {
    min-height: 12rem;
  }

  .lp-feature-visual__drop-workspace {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
  }

  .lp-sp-sync {
    gap: .55rem;
  }

  .lp-sp-sync__network {
    grid-template-columns:
      minmax(4.8rem, 1fr)
      1.65rem
      minmax(5.2rem, 1.08fr)
      1.65rem
      minmax(4.9rem, 1fr);
    min-height: 8.8rem;
  }

  .lp-sp-sync__node {
    min-height: 7.1rem;
    gap: .3rem;
    padding: .5rem .3rem;
    border-radius: .75rem;
  }

  .lp-sp-sync__node.is-core {
    min-height: 7.7rem;
  }

  .lp-sp-sync__mark {
    width: 2.05rem;
    height: 2.05rem;
    border-radius: .62rem;
  }

  .lp-sp-sync__mark .lp-feature-visual__icon {
    width: 1.05rem;
    height: 1.05rem;
  }

  .lp-sp-sync__legalprod-logo {
    width: 1.4rem;
    height: 1.4rem;
  }

  .lp-sp-sync__mark .lp-feature-scene__logo {
    width: 1.25rem;
    height: 1.25rem;
  }

  .lp-sp-sync__node-copy strong {
    font-size: .55rem;
  }

  .lp-sp-sync__node-copy small,
  .lp-sp-sync__node-state span {
    display: none;
  }

  .lp-sp-sync__rail {
    gap: .4rem;
    padding: 0 .12rem;
  }

  .lp-sp-sync__file {
    padding: .52rem .58rem;
  }

  .lp-sp-sync__file-state span {
    display: none;
  }

  .lp-feature-visual__explorer,
  .lp-feature-visual__dropzone {
    padding: .52rem;
  }

  .lp-feature-visual__dropzone {
    min-height: 8rem;
  }

  .lp-feature-visual__drag-ghost {
    max-width: 44%;
    padding: .34rem .42rem;
  }

  .lp-feature-visual__drag-cursor {
    width: 1.55rem;
    height: 1.55rem;
  }

  .lp-feature-visual__selection {
    width: 53%;
  }

  .lp-feature-visual__context-menu {
    width: 55%;
  }

  .lp-feature-visual__cursor {
    right: 46%;
    width: 1.7rem;
    height: 1.7rem;
  }

  .lp-feature-visual__stage--matrix-choice {
    gap: .5rem;
  }

  .lp-matrix-choice {
    gap: .35rem;
  }

  .lp-matrix-choice__card {
    min-height: 7.2rem;
    gap: .24rem;
    padding: .48rem .3rem;
    border-radius: .75rem;
  }

  .lp-matrix-choice__mark {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: .7rem;
  }

  .lp-matrix-choice__mark .lp-feature-visual__icon {
    width: 1rem;
    height: 1rem;
    font-size: .92rem;
  }

  .lp-matrix-choice__kicker { font-size: .43rem; }
  .lp-matrix-choice__label { font-size: .55rem; }
  .lp-matrix-choice__meta { font-size: .46rem; }
  .lp-matrix-choice__or { width: 1.55rem; height: 1.55rem; font-size: .46rem; }

  .lp-feature-scene--signature-progress .lp-feature-scene__sign-document .lp-feature-scene__panel-head {
    font-size: .52rem;
  }

  .lp-feature-visual__flow-label,
  .lp-feature-visual__description {
    font-size: .66rem;
  }

  .lp-feature-scene__stage {
    gap: .55rem;
  }

  .lp-feature-scene__canvas--network {
    min-height: 12rem;
  }

  .lp-feature-scene__network-decor {
    opacity: .65;
    transform: scale(.82);
    transform-origin: center;
  }

  .lp-feature-scene__node {
    width: 4.35rem;
  }

  .lp-feature-scene__node.is-wide {
    width: 5.7rem;
  }

  .lp-feature-scene__node-card {
    gap: .24rem;
    padding: .38rem .28rem;
    border-radius: .68rem;
  }

  .lp-feature-scene__node-copy strong {
    font-size: .48rem;
  }

  .lp-feature-scene__node-copy small {
    font-size: .4rem;
  }

  .lp-feature-scene__token {
    padding: .2rem .34rem;
    font-size: .42rem;
  }

  .lp-feature-scene__panel {
    padding: .58rem;
  }

  .lp-feature-scene__canvas--checkout,
  .lp-feature-scene__canvas--invoice-compose,
  .lp-feature-scene__canvas--email-case {
    grid-template-columns: minmax(0, .9fr) 1.6rem minmax(0, 1.1fr);
    gap: .35rem;
  }

  .lp-feature-scene__canvas--einvoice {
    grid-template-columns: minmax(5.4rem, 1fr) 1.15rem minmax(5rem, .84fr) 1.15rem minmax(5.4rem, 1fr);
    gap: .18rem;
    min-height: 10.25rem;
    padding: .1rem;
  }

  .lp-feature-scene__einvoice-card {
    gap: .28rem;
    min-height: 7.2rem;
    padding: .5rem .38rem;
    border-radius: .72rem;
  }

  .lp-feature-scene__einvoice-card > small,
  .lp-feature-scene__einvoice-copy {
    font-size: .44rem;
  }

  .lp-feature-scene__einvoice-badge {
    min-height: 1.25rem;
    padding: .22rem .3rem;
    font-size: .4rem;
  }

  .lp-feature-scene__pennylane-logo {
    width: min(100%, 5rem);
    height: 1.2rem;
  }

  .lp-feature-scene__canvas--meeting,
  .lp-feature-scene__canvas--client-pay,
  .lp-feature-scene__canvas--billing-time,
  .lp-feature-scene__canvas--signature-proof,
  .lp-feature-scene__canvas--letter-history,
  .lp-feature-scene__canvas--rpva-message,
  .lp-feature-scene__canvas--recurring,
  .lp-feature-scene__canvas--reminders,
  .lp-feature-scene__canvas--signature-reminder,
  .lp-feature-scene__canvas--client-progress {
    gap: .4rem;
  }

  .lp-feature-scene__canvas--rpva-actions {
    grid-template-columns: minmax(0, 1fr) 1.55rem minmax(6.6rem, .82fr);
    gap: .3rem;
  }

  .lp-feature-scene__rpva-sources {
    gap: .28rem;
  }

  .lp-feature-scene__rpva-entry {
    gap: 0;
    padding: .38rem .42rem;
  }

  .lp-feature-scene__rpva-entry .lp-feature-scene__muted {
    display: none;
  }

  .lp-feature-scene__rpva-route {
    width: 1.55rem;
    height: 1.55rem;
  }

  .lp-feature-scene__rpva-recipients {
    grid-template-columns: 1fr;
    gap: .25rem;
  }

  .lp-feature-scene__rpva-dispatch-state {
    padding: .35rem;
    font-size: .46rem;
  }

  .lp-feature-scene__canvas--rpva-overview {
    gap: .38rem;
  }

  .lp-feature-scene__rpva-search,
  .lp-feature-scene__rpva-filter {
    min-height: 1.7rem;
    padding: .32rem .4rem;
    font-size: .45rem;
  }

  .lp-feature-scene__rpva-overview-grid {
    gap: .3rem;
  }

  .lp-feature-scene__rpva-overview-card {
    gap: .3rem;
    padding: .4rem;
  }

  .lp-feature-scene__rpva-overview-card small {
    display: none;
  }

  .lp-feature-scene__canvas--rpva-dossier-messages,
  .lp-feature-scene__canvas--rpva-synchronisation,
  .lp-feature-scene__canvas--rpva-received-files,
  .lp-feature-scene__canvas--rpva-case-recovery,
  .lp-feature-scene__canvas--rpva-module-actions,
  .lp-feature-scene__canvas--rpva-global-inbox {
    padding: .35rem;
    border-radius: .75rem;
  }

  .lp-feature-scene__canvas--rpva-dossier-messages {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: .3rem;
  }

  .lp-feature-scene__rpva-mailbox,
  .lp-feature-scene__rpva-thread,
  .lp-feature-scene__rpva-sync-source,
  .lp-feature-scene__rpva-sync-target,
  .lp-feature-scene__rpva-files-source,
  .lp-feature-scene__rpva-ged-target,
  .lp-feature-scene__rpva-case-result,
  .lp-feature-scene__rpva-case-target,
  .lp-feature-scene__rpva-send-form {
    padding: .45rem;
  }

  .lp-feature-scene__rpva-mailbox .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-thread .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-sync-source .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-sync-target .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-files-source .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-ged-target .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-case-result .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-case-target .lp-feature-scene__panel-head,
  .lp-feature-scene__rpva-send-form .lp-feature-scene__panel-head {
    gap: .3rem;
    padding-bottom: .4rem;
    font-size: .56rem;
  }

  .lp-feature-scene__rpva-modes > span {
    gap: .2rem;
    padding: .28rem .15rem;
    font-size: .48rem;
  }

  .lp-feature-scene__rpva-modes > span:first-child .lp-feature-visual__icon {
    display: none;
  }

  .lp-feature-scene__rpva-mail-list {
    gap: .25rem;
    margin-top: .3rem;
  }

  .lp-feature-scene__rpva-mail-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .25rem;
    padding: .34rem;
  }

  .lp-feature-scene__rpva-mail-row > .lp-feature-scene__node-icon {
    display: none;
  }

  .lp-feature-scene__rpva-mail-row strong,
  .lp-feature-scene__rpva-bubble strong {
    font-size: .54rem;
  }

  .lp-feature-scene__rpva-mail-row small,
  .lp-feature-scene__rpva-bubble small {
    font-size: .46rem;
  }

  .lp-feature-scene__rpva-thread-reference {
    padding: .3rem .36rem;
    font-size: .47rem;
  }

  .lp-feature-scene__rpva-bubble {
    max-width: 92%;
    padding: .34rem .4rem;
  }

  .lp-feature-scene__rpva-reply {
    padding: .24rem .24rem .24rem .38rem;
    font-size: .46rem;
  }

  .lp-feature-scene__rpva-send {
    padding: .3rem;
  }

  .lp-feature-scene__rpva-send > span:first-child {
    display: none;
  }

  .lp-feature-scene__canvas--rpva-synchronisation {
    grid-template-columns: minmax(0, .86fr) 1.65rem minmax(0, 1.14fr);
    gap: .2rem;
  }

  .lp-feature-scene__rpva-sync-contexts {
    gap: .16rem;
    padding: .16rem;
  }

  .lp-feature-scene__rpva-sync-contexts span {
    padding: .25rem .12rem;
    font-size: .44rem;
  }

  .lp-feature-scene__rpva-sync-feed,
  .lp-feature-scene__rpva-sync-destinations {
    gap: .22rem;
    padding-top: .25rem;
  }

  .lp-feature-scene__rpva-sync-row,
  .lp-feature-scene__rpva-sync-target-row {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .24rem;
    padding: .3rem;
  }

  .lp-feature-scene__rpva-sync-row .lp-feature-scene__node-icon,
  .lp-feature-scene__rpva-sync-target-row .lp-feature-scene__node-icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .lp-feature-scene__rpva-sync-row strong,
  .lp-feature-scene__rpva-sync-target-row strong {
    font-size: .49rem;
  }

  .lp-feature-scene__rpva-sync-row small,
  .lp-feature-scene__rpva-sync-target-row small {
    font-size: .43rem;
  }

  .lp-feature-scene__rpva-sync-target-row b {
    display: none;
  }

  .lp-feature-scene__rpva-sync-bridge {
    gap: .18rem;
  }

  .lp-feature-scene__rpva-sync-bridge > .lp-feature-scene__node-icon {
    width: 1rem;
    height: 1rem;
  }

  .lp-feature-scene__rpva-sync-core > .lp-feature-scene__node-icon {
    width: 1.65rem;
    height: 1.65rem;
  }

  .lp-feature-scene__rpva-sync-core :is(strong, small) {
    display: none;
  }

  .lp-feature-scene__rpva-sync-email {
    gap: .22rem;
    margin-top: .24rem;
    padding: .28rem;
    font-size: .43rem;
  }

  .lp-feature-scene__rpva-sync-email b {
    display: none;
  }

  .lp-feature-scene__rpva-sync-two-way {
    gap: .3rem;
    padding: .3rem .4rem;
  }

  .lp-feature-scene__rpva-sync-two-way .lp-feature-scene__node-icon {
    width: 1.1rem;
    height: 1.1rem;
  }

  .lp-feature-scene__rpva-sync-two-way strong {
    font-size: .48rem;
  }

  .lp-feature-scene__rpva-sync-two-way small {
    display: none;
  }

  .lp-feature-scene__canvas--rpva-received-files {
    grid-template-columns: minmax(0, 1fr) 1.2rem minmax(0, 1fr);
    gap: .2rem;
  }

  .lp-feature-scene__rpva-files-meta {
    display: none;
  }

  .lp-feature-scene__rpva-file-list {
    gap: .25rem;
    padding-top: .25rem;
  }

  .lp-feature-scene__rpva-file {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .25rem;
    padding: .34rem;
  }

  .lp-feature-scene__rpva-file > .lp-feature-scene__node-icon,
  .lp-feature-scene__rpva-file-transfer small {
    display: none;
  }

  .lp-feature-scene__rpva-file strong,
  .lp-feature-scene__rpva-tree-row strong {
    font-size: .5rem;
  }

  .lp-feature-scene__rpva-file-transfer .lp-feature-scene__node-icon {
    width: 1.2rem;
    height: 1.2rem;
  }

  .lp-feature-scene__rpva-tree-row {
    gap: .25rem;
    padding: .27rem;
  }

  .lp-feature-scene__rpva-tree-row.is-child {
    margin-left: .35rem;
  }

  .lp-feature-scene__rpva-files-ready {
    gap: .25rem;
    padding: .32rem;
    font-size: .47rem;
  }

  .lp-feature-scene__canvas--rpva-case-recovery {
    gap: .3rem;
  }

  .lp-feature-scene__rpva-case-search {
    min-height: 1.7rem;
    padding: .3rem .4rem;
    font-size: .5rem;
  }

  .lp-feature-scene__rpva-case-name {
    font-size: .6rem;
  }

  .lp-feature-scene__rpva-case-ref,
  .lp-feature-scene__rpva-case-preview span,
  .lp-feature-scene__rpva-target-tabs span,
  .lp-feature-scene__rpva-case-event small,
  .lp-feature-scene__rpva-case-attach {
    font-size: .46rem;
  }

  .lp-feature-scene__rpva-case-preview {
    grid-template-columns: 1fr;
    gap: .18rem;
    padding-top: .3rem;
  }

  .lp-feature-scene__rpva-case-preview span {
    padding: .26rem;
  }

  .lp-feature-scene__rpva-case-preview span:nth-child(3),
  .lp-feature-scene__rpva-case-event small {
    display: none;
  }

  .lp-feature-scene__rpva-case-event {
    gap: .25rem;
    margin-top: .28rem;
    padding: .32rem;
  }

  .lp-feature-scene__rpva-case-event strong {
    font-size: .5rem;
  }

  .lp-feature-scene__rpva-case-attach {
    padding: .32rem;
  }

  .lp-feature-scene__canvas--rpva-module-actions {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    gap: .3rem;
  }

  .lp-feature-scene__rpva-module-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .22rem;
  }

  .lp-feature-scene__rpva-module-item {
    display: grid;
    justify-items: center;
    gap: .22rem;
    padding: .3rem .2rem;
    text-align: center;
  }

  .lp-feature-scene__rpva-module-item .lp-feature-scene__node-icon {
    width: 1.35rem;
    height: 1.35rem;
  }

  .lp-feature-scene__rpva-module-item strong {
    font-size: .48rem;
  }

  .lp-feature-scene__rpva-module-item small {
    display: none;
  }

  .lp-feature-scene__rpva-form-row {
    padding: .32rem .1rem;
  }

  .lp-feature-scene__rpva-form-row small,
  .lp-feature-scene__rpva-form-row strong,
  .lp-feature-scene__rpva-prepare-action {
    font-size: .48rem;
  }

  .lp-feature-scene__rpva-prepare-action {
    padding: .36rem .42rem;
  }

  .lp-feature-scene__canvas--rpva-global-inbox {
    gap: .28rem;
  }

  .lp-feature-scene__rpva-global-tabs span {
    padding: .28rem .15rem;
    font-size: .48rem;
  }

  .lp-feature-scene__rpva-global-tabs span:nth-child(3),
  .lp-feature-scene__rpva-global-tabs span:nth-child(4) {
    display: none;
  }

  .lp-feature-scene__rpva-global-search,
  .lp-feature-scene__rpva-global-filter {
    min-height: 1.55rem;
    padding: .28rem .34rem;
    font-size: .46rem;
  }

  .lp-feature-scene__rpva-global-row {
    grid-template-columns: minmax(3.8rem, .9fr) minmax(4.7rem, 1.1fr) minmax(3.4rem, .8fr);
    gap: .25rem;
    min-height: 1.85rem;
    padding: .28rem .34rem;
    font-size: .48rem;
  }

  .lp-feature-scene__rpva-global-row > :last-child {
    display: none;
  }

  .lp-feature-scene__rpva-global-row b {
    padding: .2rem .26rem;
    font-size: .43rem;
  }

  .lp-feature-scene__rpva-global-matter .lp-feature-scene__node-icon {
    display: none;
  }

  .lp-feature-scene__rpva-global-summary > span {
    padding: .3rem .34rem;
    font-size: .46rem;
  }

  .lp-feature-scene__transaction-list {
    grid-template-columns: 1fr;
  }

  .lp-feature-scene__transaction-list .lp-feature-scene__row:nth-child(n+4) {
    display: none;
  }

  .lp-feature-scene__calendar-grid {
    gap: .2rem;
  }

  .lp-feature-scene__calendar-cell {
    padding: .33rem .08rem;
    font-size: .42rem;
  }

  .lp-feature-scene__month-card,
  .lp-feature-scene__reminder-step,
  .lp-feature-scene__schedule-card {
    padding: .48rem .18rem;
  }

  .lp-feature-scene__procedure-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lp-feature-scene__procedure-timeline::before {
    display: none;
  }

  .lp-feature-scene__canvas--secure-chat {
    grid-template-columns: 2.8rem minmax(0, 1fr) 2.8rem;
    gap: .3rem;
  }

  .lp-feature-scene__chat-person span:last-child {
    display: none;
  }

  .lp-feature-scene__chat-person .lp-feature-scene__node-icon {
    width: 2rem;
    height: 2rem;
  }

  .lp-feature-scene__thread-context span:last-child,
  .lp-feature-scene__row-copy small {
    display: none;
  }

  .lp-feature-scene__canvas--crm-bulk {
    min-height: 16rem;
    gap: .45rem;
    padding: .48rem;
  }

  .lp-feature-scene__crm-row {
    grid-template-columns: .95rem minmax(5.5rem, 1fr) minmax(3.4rem, .55fr);
    gap: .3rem;
    padding: .3rem .38rem;
  }

  .lp-feature-scene__crm-row > :last-child,
  .lp-feature-scene__crm-owner {
    display: none;
  }

  .lp-feature-scene__crm-contact i {
    width: 1.15rem;
    height: 1.15rem;
  }

  .lp-feature-scene__crm-actions {
    gap: .28rem;
    padding: .38rem;
  }

  .lp-feature-scene__crm-action {
    padding: .35rem .42rem;
  }

  .lp-feature-scene__crm-action.is-danger {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-feature-pills-visual] .lp-sp-sync__node,
  [data-feature-pills-visual] .lp-sp-sync__file,
  [data-feature-pills-visual] .lp-sp-sync__lane i,
  [data-feature-pills-visual] .lp-feature-visual__stage--dragdrop .lp-feature-visual__file-row.is-drag-source,
  [data-feature-pills-visual] .lp-feature-visual__stage--dragdrop .lp-feature-visual__drag-ghost,
  [data-feature-pills-visual] .lp-feature-visual__stage--dragdrop .lp-feature-visual__drag-cursor,
  [data-feature-pills-visual] .lp-feature-visual__stage--dragdrop .lp-feature-visual__dropzone,
  [data-feature-pills-visual] .lp-matrix-choice__card {
    animation: none !important;
  }

  [data-feature-pills-visual] .lp-sp-sync__lane i {
    display: none;
  }

  [data-feature-pills-visual] .lp-feature-visual__drag-ghost {
    top: 44%;
    left: 60%;
    opacity: .78;
  }

  [data-feature-pills-visual] .lp-feature-visual__drag-cursor {
    top: 50%;
    left: 78%;
  }

  body:not(.home.lptia-bridge-active) [data-feature-pills-visual] .lp-feature-visual *,
  body:not(.home.lptia-bridge-active) [data-feature-pills-visual] .lp-feature-visual *::before,
  body:not(.home.lptia-bridge-active) [data-feature-pills-visual] .lp-feature-visual *::after {
    animation: none !important;
    transition: none !important;
  }

  body:not(.home.lptia-bridge-active) [data-feature-pills-visual] .lp-feature-visual__flow-step:not(:last-child)::after {
    transform: scaleX(1);
  }

  body:not(.home.lptia-bridge-active) [data-feature-pills-visual] .lp-feature-scene__connectors path {
    stroke-dashoffset: 0 !important;
  }

  body:not(.home.lptia-bridge-active) [data-feature-pills-visual] .lp-feature-scene__bar {
    transform: scaleY(1) !important;
  }
}

/* /messagerie-et-mail/: keep the e-mail hero inside the LegalProd palette.
   The shared carousel scenes retain their own contextual colours. */
.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__network-decor.is-email {
  background:
    radial-gradient(circle at 22% 18%, rgba(82, 51, 255, .14), transparent 28%),
    linear-gradient(145deg, rgba(247, 246, 255, .98), rgba(238, 235, 255, .84));
  border-color: rgba(82, 51, 255, .14);
}

.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__decor-envelope {
  border-color: rgba(82, 51, 255, .2);
  box-shadow: 0 1rem 2rem rgba(82, 51, 255, .09);
}

.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__decor-envelope-flap {
  border-color: rgba(82, 51, 255, .22);
}

.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__decor-envelope-line {
  background: rgba(82, 51, 255, .17);
}

.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__canvas--network-email .lp-feature-scene__connectors path {
  stroke: #5233ff;
}

.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__canvas--network-email .lp-feature-scene__node-card {
  border-color: rgba(82, 51, 255, .2);
  box-shadow: 0 .7rem 1.6rem rgba(82, 51, 255, .1);
}

.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__canvas--network-email .lp-feature-scene__node-icon {
  color: #5233ff;
  background: rgba(82, 51, 255, .1);
}

.lp-feature-page-hero-code[data-feature-page-hero-visual="emails"] .lp-feature-scene__canvas--network-email .lp-feature-scene__node.is-core .lp-feature-scene__node-icon {
  color: #fff;
  background: rgba(255, 255, 255, .16);
}

/* Rich feature-page hero scenes. They keep the shared renderer while giving
   each product a recognisable composition instead of the generic 3-step flow. */
.lp-feature-page-hero-code > :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub,
  .lp-feature-scene--hero-stamp-workflow,
  .lp-feature-scene--hero-matrix-merge
) {
  padding: clamp(.7rem, 1.4vw, 1rem);
  background:
    radial-gradient(circle at 76% 18%, rgba(82, 51, 255, .13), transparent 32%),
    #f7f6ff;
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub,
  .lp-feature-scene--hero-stamp-workflow,
  .lp-feature-scene--hero-matrix-merge
) .lp-feature-scene__stage {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 1rem;
  box-shadow: none;
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub,
  .lp-feature-scene--hero-stamp-workflow,
  .lp-feature-scene--hero-matrix-merge
) .lp-feature-scene__heading {
  display: none;
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__canvas--network {
  min-height: 100%;
  overflow: hidden;
  background:
    linear-gradient(rgba(82, 51, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82, 51, 255, .045) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(82, 51, 255, .08), transparent 35%),
    rgba(255, 255, 255, .8);
  background-size: 1.75rem 1.75rem, 1.75rem 1.75rem, auto, auto;
  border: 1px solid rgba(82, 51, 255, .1);
  border-radius: 1rem;
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__network-decor {
  inset: 0;
  border-radius: inherit;
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__connectors {
  inset: 3%;
  width: 94%;
  height: 94%;
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__connectors path {
  stroke: rgba(82, 51, 255, .5);
  stroke-width: 2.5;
  stroke-dasharray: 8 9;
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__node {
  width: clamp(5.35rem, 9vw, 6.9rem);
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__node.is-wide {
  width: clamp(7rem, 12vw, 8.75rem);
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__node-card {
  gap: .3rem;
  padding: .56rem .42rem;
  border-radius: .78rem;
  box-shadow: 0 .55rem 1.35rem rgba(37, 25, 102, .09);
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__node-copy strong {
  font-size: clamp(.55rem, .85vw, .68rem);
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__node-copy small {
  font-size: clamp(.45rem, .72vw, .56rem);
}

.lp-feature-page-hero-code :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__node-copy :is(strong, small) {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.lp-feature-page-hero-code .lp-feature-scene--hero-ai-context .lp-feature-scene__node.is-core .lp-feature-scene__node-card {
  box-shadow: 0 1rem 2.6rem rgba(82, 51, 255, .3), 0 0 0 .42rem rgba(82, 51, 255, .08);
}

.lp-feature-page-hero-code .lp-feature-scene--hero-dossier-hub .lp-feature-scene__node.is-core .lp-feature-scene__node-icon {
  width: 2.65rem;
  height: 2.65rem;
}

[data-lptia-hero-visual-ready="true"] :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__node {
  animation: lp-feature-hero-node-in .62s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(var(--lp-step, 0) * 70ms);
}

[data-lptia-hero-visual-ready="true"] :is(
  .lp-feature-scene--hero-ai-context,
  .lp-feature-scene--hero-dossier-hub
) .lp-feature-scene__connectors path {
  animation: lp-feature-hero-route 7s linear infinite;
}

/* Tampon: a compact document workbench with the stamp, ordered pieces and
   generated bordereau visible at the same time. */
.lp-feature-scene__canvas--hero-stamp {
  display: grid;
  grid-template-columns: minmax(4.2rem, .66fr) minmax(9rem, 1.32fr) minmax(6.4rem, .9fr);
  gap: clamp(.45rem, 1vw, .8rem);
  align-items: stretch;
  min-height: 100%;
  padding: clamp(.65rem, 1.4vw, 1rem);
  overflow: hidden;
  background:
    linear-gradient(rgba(82, 51, 255, .042) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82, 51, 255, .042) 1px, transparent 1px),
    rgba(255, 255, 255, .82);
  background-size: 1.65rem 1.65rem;
  border: 1px solid rgba(82, 51, 255, .1);
  border-radius: 1rem;
}

.lp-hero-stamp__stack {
  position: relative;
  min-width: 0;
  min-height: 0;
}

.lp-hero-stamp__sheet {
  position: absolute;
  inset: 15% 5% 9%;
  display: grid;
  align-content: start;
  gap: .42rem;
  padding: .8rem .62rem;
  background: #fff;
  border: 1px solid #dedbe9;
  border-radius: .72rem;
  box-shadow: 0 .8rem 1.6rem rgba(38, 27, 93, .08);
  transform-origin: 50% 92%;
}

.lp-hero-stamp__sheet.is-sheet-0 { transform: translate(-8%, 5%) rotate(-7deg); }
.lp-hero-stamp__sheet.is-sheet-1 { transform: translate(4%, 1%) rotate(5deg); }
.lp-hero-stamp__sheet.is-sheet-2 { transform: translate(0, -4%); }

.lp-hero-stamp__sheet small {
  color: #5233ff;
  font-size: clamp(.46rem, .75vw, .6rem);
  font-weight: 800;
}

.lp-hero-stamp__sheet i {
  display: block;
  width: 100%;
  height: .24rem;
  background: #eceaf2;
  border-radius: 999px;
}

.lp-hero-stamp__sheet i:nth-of-type(2) { width: 72%; }
.lp-hero-stamp__sheet i:nth-of-type(3) { width: 86%; }

.lp-hero-stamp__document {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dedbe9;
  border-radius: .9rem;
  box-shadow: 0 1rem 2rem rgba(38, 27, 93, .1);
}

.lp-hero-stamp__document-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .62rem .7rem;
  background: #f8f7fc;
  border-bottom: 1px solid #e7e4ef;
}

.lp-hero-stamp__document-head .lp-feature-scene__node-icon {
  width: 1.75rem;
  height: 1.75rem;
}

.lp-hero-stamp__document-head > span:last-child {
  display: grid;
  min-width: 0;
}

.lp-hero-stamp__document-head strong,
.lp-hero-stamp__document-head small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lp-hero-stamp__document-head strong { font-size: clamp(.58rem, .9vw, .72rem); }
.lp-hero-stamp__document-head small { color: #7b7985; font-size: clamp(.45rem, .7vw, .55rem); }

.lp-hero-stamp__document-body {
  position: relative;
  display: grid;
  align-content: start;
  gap: .48rem;
  padding: 1rem .9rem;
}

.lp-hero-stamp__document-body > i {
  display: block;
  height: .25rem;
  background: #eceaf1;
  border-radius: 999px;
}

.lp-hero-stamp__imprint {
  position: absolute;
  right: 10%;
  bottom: 9%;
  display: flex;
  align-items: center;
  gap: .38rem;
  padding: .48rem .58rem;
  color: #5233ff;
  background: rgba(247, 246, 255, .94);
  border: 2px solid #5233ff;
  border-radius: .55rem;
  transform: rotate(-5deg);
}

.lp-hero-stamp__imprint > .lp-feature-visual__icon {
  width: 1rem;
  height: 1rem;
}

.lp-hero-stamp__imprint > span {
  display: grid;
  line-height: 1.05;
}

.lp-hero-stamp__imprint strong { font-size: clamp(.48rem, .78vw, .61rem); }
.lp-hero-stamp__imprint small { font-size: clamp(.38rem, .61vw, .47rem); }

.lp-hero-stamp__tool,
.lp-hero-stamp__cursor {
  position: absolute;
  z-index: 5;
  display: grid;
  place-items: center;
  color: #fff;
  background: #5233ff;
  border-radius: .7rem;
  box-shadow: 0 .65rem 1.4rem rgba(82, 51, 255, .26);
}

.lp-hero-stamp__tool {
  top: 47%;
  left: 47%;
  width: 2.5rem;
  height: 2.5rem;
}

.lp-hero-stamp__cursor {
  top: 58%;
  left: 55%;
  width: 1.75rem;
  height: 1.75rem;
  color: #5233ff;
  background: #fff;
  border: 1px solid #d7d2ff;
}

.lp-hero-stamp__tool .lp-feature-visual__icon,
.lp-hero-stamp__cursor .lp-feature-visual__icon {
  width: 52%;
  height: 52%;
}

.lp-hero-stamp__rail {
  display: grid;
  align-content: start;
  gap: .42rem;
  min-width: 0;
  padding: .68rem;
  background: rgba(255, 255, 255, .9);
  border: 1px solid #e1deeb;
  border-radius: .85rem;
}

.lp-hero-stamp__rail-title {
  margin-bottom: .1rem;
  font-size: clamp(.58rem, .9vw, .72rem);
}

.lp-hero-stamp__rail-row,
.lp-hero-stamp__bordereau {
  display: flex;
  align-items: center;
  gap: .4rem;
  min-width: 0;
  padding: .43rem .48rem;
  color: #6c6975;
  background: #f7f6fa;
  border-radius: .58rem;
  font-size: clamp(.44rem, .7vw, .55rem);
  font-weight: 700;
}

.lp-hero-stamp__rail-row.is-active {
  color: #5233ff;
  background: #eeebff;
}

.lp-hero-stamp__rail-row .lp-feature-visual__icon,
.lp-hero-stamp__bordereau > .lp-feature-visual__icon {
  width: .82rem;
  height: .82rem;
}

.lp-hero-stamp__bordereau {
  margin-top: auto;
  color: #fff;
  background: #5233ff;
}

.lp-hero-stamp__bordereau > span { display: grid; }
.lp-hero-stamp__bordereau strong { font-size: clamp(.48rem, .75vw, .6rem); }
.lp-hero-stamp__bordereau small { opacity: .75; font-size: clamp(.39rem, .62vw, .48rem); }

[data-lptia-hero-visual-ready="true"] .lp-feature-scene--hero-stamp-workflow .lp-hero-stamp__tool {
  animation: lp-feature-hero-stamp 4.8s cubic-bezier(.22, 1, .36, 1) infinite;
}

[data-lptia-hero-visual-ready="true"] .lp-feature-scene--hero-stamp-workflow .lp-hero-stamp__imprint {
  animation: lp-feature-hero-imprint 4.8s ease-in-out infinite;
}

/* Matrices: catalogue, dossier fields and the generated legal document share
   one compact studio instead of repeating the explanatory copy. */
.lp-feature-scene__canvas--hero-matrix {
  display: grid;
  grid-template-columns: minmax(7rem, .9fr) minmax(6rem, .72fr) minmax(9rem, 1.28fr);
  grid-template-rows: minmax(0, 200px);
  align-content: center;
  gap: clamp(.45rem, 1vw, .72rem);
  min-height: 100%;
  padding: clamp(.65rem, 1.4vw, .95rem);
  overflow: hidden;
  background:
    linear-gradient(rgba(82, 51, 255, .042) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82, 51, 255, .042) 1px, transparent 1px),
    rgba(255, 255, 255, .82);
  background-size: 1.65rem 1.65rem;
  border: 1px solid rgba(82, 51, 255, .1);
  border-radius: 1rem;
}

.lp-hero-matrix__library,
.lp-hero-matrix__fields,
.lp-hero-matrix__document {
  align-self: center;
  height: 100%;
  max-height: 200px;
  min-width: 0;
  background: rgba(255, 255, 255, .94);
  border: 1px solid #dedbe9;
  border-radius: .82rem;
  box-shadow: 0 .8rem 1.7rem rgba(38, 27, 93, .07);
}

.lp-hero-matrix__library,
.lp-hero-matrix__fields {
  display: grid;
  align-content: start;
  gap: .42rem;
  padding: .66rem;
}

.lp-hero-matrix__library-title {
  display: flex;
  align-items: center;
  gap: .42rem;
  margin-bottom: .08rem;
  color: #5233ff;
  font-size: clamp(.55rem, .85vw, .68rem);
}

.lp-hero-matrix__library-title .lp-feature-scene__node-icon {
  width: 1.65rem;
  height: 1.65rem;
}

.lp-hero-matrix__template {
  display: flex;
  align-items: center;
  gap: .4rem;
  min-width: 0;
  padding: .45rem;
  color: #6e6b78;
  background: #f7f6fa;
  border: 1px solid transparent;
  border-radius: .58rem;
}

.lp-hero-matrix__template.is-selected {
  color: #2b244e;
  background: #eeebff;
  border-color: #d4ccff;
}

.lp-hero-matrix__template > .lp-feature-visual__icon {
  width: .85rem;
  height: .85rem;
  flex: 0 0 auto;
  color: #5233ff;
}

.lp-hero-matrix__template > span { display: grid; min-width: 0; }
.lp-hero-matrix__template strong,
.lp-hero-matrix__template small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-hero-matrix__template strong { font-size: clamp(.45rem, .68vw, .54rem); }
.lp-hero-matrix__template small { font-size: clamp(.37rem, .57vw, .44rem); }

.lp-hero-matrix__fields {
  position: relative;
  align-content: start;
}

.lp-hero-matrix__fields-title {
  margin-bottom: .1rem;
  font-size: clamp(.52rem, .82vw, .65rem);
}

.lp-hero-matrix__field {
  display: grid;
  gap: .06rem;
  padding: .42rem .48rem;
  background: #f7f6fa;
  border: 1px solid #ebe8f2;
  border-radius: .55rem;
}

.lp-hero-matrix__field small { color: #8a8794; font-size: clamp(.37rem, .56vw, .44rem); }
.lp-hero-matrix__field strong { overflow: hidden; font-size: clamp(.45rem, .68vw, .55rem); text-overflow: ellipsis; white-space: nowrap; }

.lp-hero-matrix__merge {
  position: absolute;
  z-index: 4;
  top: 50%;
  right: 0;
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  color: #fff;
  background: #5233ff;
  border: .28rem solid #f7f6ff;
  border-radius: 50%;
  box-shadow: 0 .55rem 1.3rem rgba(82, 51, 255, .25);
  transform: translate(62%, -50%);
}

.lp-hero-matrix__merge .lp-feature-visual__icon { width: .85rem; height: .85rem; }
.lp-hero-matrix__merge > span { display: none; }

.lp-hero-matrix__document {
  position: relative;
  display: grid;
  align-content: start;
  gap: .5rem;
  padding: clamp(.78rem, 1.45vw, 1.05rem);
  overflow: hidden;
}

.lp-hero-matrix__document::before {
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  width: 4.5rem;
  height: 4.5rem;
  background: rgba(82, 51, 255, .08);
  border-radius: 50%;
  content: "";
}

.lp-hero-matrix__document-type {
  position: absolute;
  z-index: 2;
  top: .65rem;
  right: .65rem;
  padding: .22rem .34rem;
  color: #5233ff;
  background: #eeebff;
  border-radius: .35rem;
  font-size: .4rem;
  font-weight: 850;
}

.lp-hero-matrix__document-kicker { color: #777481; font-size: clamp(.4rem, .62vw, .48rem); }
.lp-hero-matrix__document-title { max-width: 78%; font-size: clamp(.65rem, 1.04vw, .83rem); }
.lp-hero-matrix__document p { color: #66636f; font-size: clamp(.46rem, .73vw, .58rem); line-height: 1.48; }
.lp-hero-matrix__document mark { padding: .08rem .16rem; color: #5233ff; background: #eeebff; border-radius: .22rem; font-weight: 750; }

.lp-hero-matrix__ready {
  display: flex;
  align-items: center;
  gap: .36rem;
  margin-top: auto;
  padding: .48rem .56rem;
  color: #fff;
  background: #5233ff;
  border-radius: .55rem;
  font-size: clamp(.46rem, .72vw, .57rem);
}

.lp-hero-matrix__ready .lp-feature-visual__icon { width: .78rem; height: .78rem; }

[data-lptia-hero-visual-ready="true"] .lp-feature-scene--hero-matrix-merge .lp-hero-matrix__field,
[data-lptia-hero-visual-ready="true"] .lp-feature-scene--hero-matrix-merge .lp-hero-matrix__document mark {
  animation: lp-feature-hero-field 4.8s ease-in-out infinite;
  animation-delay: calc(var(--lp-step, 0) * 180ms);
}

@keyframes lp-feature-hero-node-in {
  from { opacity: 0; transform: translate(-50%, -43%) scale(.94); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes lp-feature-hero-route {
  to { stroke-dashoffset: -68; }
}

@keyframes lp-feature-hero-stamp {
  0%, 30%, 100% { transform: translate(-26%, -42%) rotate(-6deg); }
  44%, 54% { transform: translate(34%, 46%) rotate(0) scale(.92); }
  66% { transform: translate(14%, 22%) rotate(-3deg); }
}

@keyframes lp-feature-hero-imprint {
  0%, 45% { opacity: .18; transform: rotate(-5deg) scale(.86); }
  56%, 88% { opacity: 1; transform: rotate(-5deg) scale(1); }
  100% { opacity: .18; transform: rotate(-5deg) scale(.86); }
}

@keyframes lp-feature-hero-field {
  0%, 18%, 100% { box-shadow: none; }
  30%, 56% { box-shadow: 0 0 0 .16rem rgba(82, 51, 255, .12); }
}

@media (max-width: 767px) {
  .lp-feature-page-hero-code > :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub,
    .lp-feature-scene--hero-stamp-workflow,
    .lp-feature-scene--hero-matrix-merge
  ) {
    padding: .48rem;
  }

  .lp-feature-page-hero-code :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub
  ) .lp-feature-scene__node {
    width: 4.4rem;
  }

  .lp-feature-page-hero-code :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub
  ) .lp-feature-scene__node.is-wide {
    width: 5.8rem;
  }

  .lp-feature-page-hero-code :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub
  ) .lp-feature-scene__node-card {
    padding: .38rem .25rem;
  }

  .lp-feature-page-hero-code :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub
  ) .lp-feature-scene__node-copy strong { font-size: .47rem; }

  .lp-feature-page-hero-code :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub
  ) .lp-feature-scene__node-copy small { font-size: .38rem; }

  .lp-feature-scene__canvas--hero-stamp {
    grid-template-columns: minmax(7.8rem, 1.3fr) minmax(5.8rem, .8fr);
    padding: .5rem;
  }

  .lp-hero-stamp__stack { display: none; }
  .lp-hero-stamp__tool { left: 37%; }
  .lp-hero-stamp__cursor { left: 46%; }

  .lp-feature-scene__canvas--hero-matrix {
    grid-template-columns: minmax(5.8rem, .78fr) minmax(8rem, 1.22fr);
    padding: .5rem;
  }

  .lp-hero-matrix__fields { display: none; }
  .lp-hero-matrix__template:nth-child(n+4) { display: none; }
  .lp-hero-matrix__document p { font-size: .44rem; }
}

@media (prefers-reduced-motion: reduce) {
  [data-lptia-hero-visual-ready="true"] :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub,
    .lp-feature-scene--hero-stamp-workflow,
    .lp-feature-scene--hero-matrix-merge
  ) *,
  [data-lptia-hero-visual-ready="true"] :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub,
    .lp-feature-scene--hero-stamp-workflow,
    .lp-feature-scene--hero-matrix-merge
  ) *::before,
  [data-lptia-hero-visual-ready="true"] :is(
    .lp-feature-scene--hero-ai-context,
    .lp-feature-scene--hero-dossier-hub,
    .lp-feature-scene--hero-stamp-workflow,
    .lp-feature-scene--hero-matrix-merge
  ) *::after {
    animation: none !important;
    transition: none !important;
  }
}
