:root { --cd-primary: #0071e3; --cd-primary-hover: #0077ed; --cd-ink: #1a1d21; --cd-muted: #6c757d; --cd-surface: #f7f9fc; }
    .pim-mapping-lp { font-family: inherit; color: var(--cd-ink); -webkit-font-smoothing: antialiased; }
    .pim-mapping-lp .btn-primary { --bs-btn-bg: var(--cd-primary); --bs-btn-hover-bg: var(--cd-primary-hover); font-weight: 500; }
    .pim-mapping-lp .btn-outline-primary { --bs-btn-color: var(--cd-primary); --bs-btn-border-color: var(--cd-primary); }
    .pim-mapping-lp .hero-gradient { background: linear-gradient(135deg, #e8fff7 0%, #fff 50%, #eef6ff 100%); border-bottom: 1px solid rgba(0,0,0,.06); }
    .pim-mapping-lp .hero-badge { font-size: .8rem; font-weight: 600; color: #0d6e4d; background: rgba(63,199,125,.12); border-radius: 999px; padding: .35rem .85rem; display: inline-block; }
    .pim-mapping-lp .display-heading { font-weight: 700; letter-spacing: -.02em; }
    .pim-mapping-lp .lead-tight { max-width: 38rem; color: var(--cd-muted); }
    .pim-mapping-lp .floating-card { border-radius: 1rem; box-shadow: 0 .5rem 2rem rgba(0,40,100,.08); border: 1px solid rgba(0,0,0,.05); background: #fff; }
    /* Hero mapping diagram */
    .pim-mapping-lp .cd-map-hero {
      --cd-map-ink: #1d1d1f;
      --cd-map-field: #9d3a58;
      --cd-map-field-bg: rgba(157, 58, 88, 0.09);
      --cd-map-field-border: rgba(157, 58, 88, 0.2);
      --cd-map-blue: #0071e3;
      position: relative;
      overflow: hidden;
      padding: 0;
      min-height: 12rem;
    }
    .pim-mapping-lp .cd-map-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(0, 113, 227, 0.09) 1px, transparent 1px);
      background-size: 14px 14px;
      opacity: 0.6;
      pointer-events: none;
    }
    .pim-mapping-lp .cd-map-hero__inner { position: relative; z-index: 1; padding: 1.35rem 1.35rem 1.25rem; }
    .pim-mapping-lp .cd-map-hero__source {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.65rem 0.85rem;
      padding: 1rem 1.1rem;
      border-radius: 0.9rem;
      background: linear-gradient(165deg, #ffffff 0%, #f3f6fb 100%);
      border: 1px solid rgba(0, 0, 0, 0.07);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 4px 18px rgba(0, 40, 100, 0.06);
    }
    .pim-mapping-lp .cd-map-hero__badge {
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      border-radius: 999px;
      padding: 0.38rem 0.7rem;
      line-height: 1;
      white-space: nowrap;
    }
    .pim-mapping-lp .cd-map-hero__badge--master {
      background: linear-gradient(180deg, #4a4c51 0%, #34363a 100%);
      color: #fff;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    }
    .pim-mapping-lp .cd-map-hero__badge--channel {
      background: linear-gradient(135deg, #0a84ff 0%, #0071e3 50%, #0066d0 100%);
      color: #fff;
      box-shadow: 0 2px 10px rgba(0, 113, 227, 0.35);
    }
    .pim-mapping-lp .cd-map-hero__field {
      font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
      font-size: 0.84rem;
      font-weight: 500;
      color: var(--cd-map-field);
      background: var(--cd-map-field-bg);
      border: 1px solid var(--cd-map-field-border);
      border-radius: 0.4rem;
      padding: 0.28rem 0.55rem;
    }
    .pim-mapping-lp .cd-map-hero__flow {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin: 0.35rem 0 0.55rem;
      gap: 0;
    }
    .pim-mapping-lp .cd-map-hero__trunk {
      width: 2px;
      height: 0.85rem;
      border-radius: 2px;
      background: linear-gradient(180deg, rgba(0, 113, 227, 0.25), rgba(0, 113, 227, 0.65));
    }
    .pim-mapping-lp .cd-map-hero__node {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1.6rem;
      height: 1.6rem;
      border-radius: 50%;
      background: #fff;
      border: 2px solid rgba(0, 113, 227, 0.35);
      color: var(--cd-map-blue);
      font-size: 0.75rem;
      box-shadow: 0 2px 8px rgba(0, 113, 227, 0.12);
      margin: -0.1rem 0 0.15rem;
    }
    .pim-mapping-lp .cd-map-hero__branches {
      position: relative;
      width: min(100%, 16rem);
      height: 0.4rem;
      margin-bottom: 0.1rem;
    }
    .pim-mapping-lp .cd-map-hero__branches::before {
      content: "";
      position: absolute;
      left: 8%;
      right: 8%;
      top: 0;
      height: 2px;
      background: linear-gradient(
        90deg,
        rgba(0, 113, 227, 0.12),
        rgba(0, 113, 227, 0.55) 15%,
        rgba(0, 113, 227, 0.6) 50%,
        rgba(0, 113, 227, 0.55) 85%,
        rgba(0, 113, 227, 0.12)
      );
      border-radius: 2px;
    }
    .pim-mapping-lp .cd-map-hero__targets {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.55rem;
    }
    .pim-mapping-lp .cd-map-hero__target {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.65rem 0.75rem;
      margin: 0;
      padding: 0.7rem 0.9rem 0.75rem 0.95rem;
      border-radius: 0.7rem;
      background: rgba(0, 113, 227, 0.05);
      border: 1px solid rgba(0, 113, 227, 0.1);
    }
    @media (min-width: 400px) {
      .pim-mapping-lp .cd-map-hero__source .cd-map-hero__field,
      .pim-mapping-lp .cd-map-hero__target .cd-map-hero__field { font-size: 0.88rem; }
    }
    @media (prefers-reduced-motion: no-preference) {
      .pim-mapping-lp .cd-map-hero { transition: box-shadow 0.3s ease; }
    }
    .pim-mapping-lp .icon-circle { width: 3rem; height: 3rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem; }
    .pim-mapping-lp .section-alt { background: var(--cd-surface); }
    .pim-mapping-lp .step-num { width: 2rem; height: 2rem; border-radius: 50%; background: var(--cd-primary); color: #fff; font-weight: 600; font-size: .9rem; display: inline-flex; align-items: center; justify-content: center; }
    .pim-mapping-lp .cd-pim-rollout { position: relative; }
    .pim-mapping-lp .cd-pim-rollout__title { letter-spacing: -0.035em; line-height: 1.15; }
    .pim-mapping-lp .cd-pim-rollout__lead { font-size: 1.0625rem; line-height: 1.55; max-width: 36rem; margin-inline: auto; }
    .pim-mapping-lp .cd-pim-rollout-card {
      position: relative;
      background: #fff;
      border: 1px solid rgba(0, 0, 0, 0.07);
      border-radius: 1.125rem;
      padding: 1.5rem 1.35rem 1.4rem;
      box-shadow: 0 2px 14px rgba(0, 40, 100, 0.06);
      transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease, border-color 0.2s ease;
    }
    .pim-mapping-lp .cd-pim-rollout-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 14px 36px rgba(0, 40, 100, 0.11);
      border-color: rgba(0, 113, 227, 0.16);
    }
    .pim-mapping-lp .cd-pim-rollout-card__step {
      position: absolute;
      top: 1rem;
      right: 1rem;
      width: 1.75rem;
      height: 1.75rem;
      border-radius: 0.45rem;
      background: var(--cd-primary);
      color: #fff;
      font-weight: 700;
      font-size: 0.8rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      box-shadow: 0 2px 8px rgba(0, 113, 227, 0.35);
    }
    .pim-mapping-lp .cd-pim-rollout-card__icon {
      width: 2.75rem;
      height: 2.75rem;
      border-radius: 0.875rem;
      background: rgba(0, 113, 227, 0.1);
      color: var(--cd-primary);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.35rem;
      margin-bottom: 1rem;
    }
    .pim-mapping-lp .cd-pim-rollout-card h3 { letter-spacing: -0.02em; margin-bottom: 0.65rem; padding-right: 2rem; }
    .pim-mapping-lp .cd-pim-rollout__cta .btn { font-weight: 600; }
    @media (prefers-reduced-motion: reduce) {
      .pim-mapping-lp .cd-pim-rollout-card:hover { transform: none; }
    }
    .pim-mapping-lp .cta-band { background: linear-gradient(120deg, #0071e3, #0058b0); color: #fff; border-radius: 1rem; }
    @media (max-width: 767.98px) { .pim-mapping-lp .display-4 { font-size: 1.85rem; } }

    @keyframes cd-pim-ai-scan {
      0%, 18%, 100% { opacity: 0; transform: translateX(-45%) rotate(10deg); }
      28%, 58% { opacity: 0.18; }
      70% { opacity: 0; transform: translateX(120%) rotate(10deg); }
    }
    @keyframes cd-pim-ai-assistant {
      0%, 16%, 100% { opacity: 0; transform: translate3d(0, 8px, 0) scale(0.96); }
      24%, 76% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
    }
    @keyframes cd-pim-ai-fill {
      0%, 30%, 100% { color: transparent; background-size: 0% 100%; box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.24); }
      44%, 78% { color: #0f172a; background-size: 100% 100%; box-shadow: 0 0 0 1px rgba(63, 199, 125, 0.16) inset; }
    }
    @keyframes cd-pim-ai-confidence {
      0%, 34%, 100% { opacity: 0.45; }
      48%, 78% { opacity: 1; }
    }
    .pim-mapping-lp .cd-pim-ai-map-preview {
      position: relative;
      overflow: hidden;
      padding: 1.05rem;
      border-color: rgba(63, 199, 125, 0.14);
      background:
        radial-gradient(circle at 82% 14%, rgba(63, 199, 125, 0.14), transparent 12rem),
        radial-gradient(circle at 18% 84%, rgba(0, 113, 227, 0.08), transparent 12rem),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(244, 251, 248, 0.96));
    }
    .pim-mapping-lp .cd-pim-ai-map-preview::before {
      content: "";
      position: absolute;
      inset: -15% auto -15% -20%;
      width: 38%;
      background: linear-gradient(90deg, transparent, rgba(63, 199, 125, 0.55), transparent);
      filter: blur(18px);
      animation: cd-pim-ai-scan 5.8s ease-in-out infinite;
      pointer-events: none;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__top,
    .pim-mapping-lp .cd-pim-ai-map-preview__footer {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__top {
      padding: 0.4rem 0.45rem 0.75rem;
      border-bottom: 1px solid rgba(15, 23, 42, 0.07);
      margin-bottom: 0.75rem;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__top span {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      color: #0f8a53;
      font-size: 0.78rem;
      font-weight: 900;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__top em {
      color: #64748b;
      font-size: 0.68rem;
      font-style: normal;
      font-weight: 800;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__body {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(10rem, 0.72fr) 3.25rem minmax(0, 1fr);
      gap: 0.7rem;
      align-items: center;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__source,
    .pim-mapping-lp .cd-pim-ai-map-preview__field {
      border: 1px solid rgba(15, 23, 42, 0.07);
      border-radius: 0.9rem;
      background: rgba(255, 255, 255, 0.86);
      box-shadow: 0 0.55rem 1.25rem rgba(0, 40, 100, 0.055);
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__source {
      padding: 0.85rem;
      min-height: 16rem;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__source strong {
      display: block;
      color: #111827;
      font-size: 0.82rem;
      margin-bottom: 0.7rem;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__source span {
      display: block;
      margin-top: 0.42rem;
      padding: 0.46rem 0.55rem;
      border-radius: 0.45rem;
      background: #f6f8fb;
      color: #475569;
      font-size: 0.68rem;
      font-weight: 700;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__engine {
      position: relative;
      z-index: 2;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.25rem;
      width: 3.25rem;
      height: 3.25rem;
      border: 1px solid rgba(63, 199, 125, 0.22);
      border-radius: 50%;
      background:
        radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.92), rgba(240, 253, 244, 0.9)),
        #fff;
      color: #0f8a53;
      font-size: 0.56rem;
      font-weight: 900;
      text-align: center;
      box-shadow:
        0 0.8rem 1.6rem rgba(0, 40, 100, 0.08),
        0 0 0 0.45rem rgba(63, 199, 125, 0.08);
      animation: cd-pim-ai-assistant 5.8s ease-in-out infinite;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__engine i {
      font-size: 1rem;
      color: #16a34a;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__engine::before,
    .pim-mapping-lp .cd-pim-ai-map-preview__engine::after {
      content: "";
      position: absolute;
      top: 50%;
      width: 2.1rem;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(63, 199, 125, 0.55), transparent);
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__engine::before {
      right: 100%;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__engine::after {
      left: 100%;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__fields {
      display: grid;
      gap: 0.48rem;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__field {
      padding: 0.58rem 0.68rem;
      min-height: 3.55rem;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__field span {
      display: block;
      color: #64748b;
      font-size: 0.64rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 0.22rem;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__value {
      display: block;
      width: fit-content;
      min-width: 7.8rem;
      min-height: 1.82rem;
      max-width: 100%;
      padding: 0.3rem 0.5rem;
      border-radius: 0.4rem;
      background:
        linear-gradient(rgba(63, 199, 125, 0.14), rgba(63, 199, 125, 0.14)) left / 0% 100% no-repeat,
        rgba(248, 250, 252, 0.86);
      box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.24);
      font-size: 0.76rem;
      line-height: 1.2;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      animation: cd-pim-ai-fill 5.8s ease-in-out infinite;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__value--material { animation-delay: 0.3s; }
    .pim-mapping-lp .cd-pim-ai-map-preview__value--sport { animation-delay: 0.6s; }
    .pim-mapping-lp .cd-pim-ai-map-preview__value--color { animation-delay: 0.9s; }
    .pim-mapping-lp .cd-pim-ai-map-preview__footer {
      padding: 0.75rem 0.45rem 0.1rem;
      color: #64748b;
      font-size: 0.7rem;
      font-weight: 800;
      animation: cd-pim-ai-confidence 5.8s ease-in-out infinite;
    }
    .pim-mapping-lp .cd-pim-ai-map-preview__status {
      color: #0f8a53;
    }
    @media (max-width: 575.98px) {
      .pim-mapping-lp .cd-pim-ai-map-preview__body {
        grid-template-columns: 1fr;
      }
      .pim-mapping-lp .cd-pim-ai-map-preview__source {
        min-height: auto;
      }
      .pim-mapping-lp .cd-pim-ai-map-preview__engine {
        margin: 0 auto;
      }
      .pim-mapping-lp .cd-pim-ai-map-preview__engine::before,
      .pim-mapping-lp .cd-pim-ai-map-preview__engine::after {
        display: none;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .pim-mapping-lp .cd-pim-ai-map-preview::before,
      .pim-mapping-lp .cd-pim-ai-map-preview__value,
      .pim-mapping-lp .cd-pim-ai-map-preview__engine,
      .pim-mapping-lp .cd-pim-ai-map-preview__footer {
        animation: none !important;
      }
      .pim-mapping-lp .cd-pim-ai-map-preview__value {
        color: #0f172a;
        background-size: 100% 100%;
      }
    }
