﻿html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }

:root {
  --erp-mint: #2DDCB1;
  --erp-tms: #F6B24A;
  --erp-wms: #2DDCB1;
  --erp-dms: #5BB8FF;
  --erp-ams: #FF7A9E;
  --erp-crm: #B48CFF;
  --erp-fms: #FFD166;
}

/* ---------- Hero ---------- */
.erp-hero {
  position: relative;
  padding: 5.5rem 1.5rem 3.5rem;
  overflow: hidden;
  min-height: 78vh;
  display: flex;
  align-items: center;
}
.erp-hero .hero-bg { opacity: .35; }
.erp-hero .container { position: relative; z-index: 2; }
.erp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 3rem;
  align-items: center;
}
.erp-hero__text .kicker {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 800;
  color: var(--primary);
  margin-bottom: 1.1rem;
}
.erp-hero__text .kicker i {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--erp-mint); box-shadow: 0 0 10px var(--erp-mint);
}
.erp-hero__text h1 {
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  line-height: 1.12;
  margin: 0 0 1.1rem;
  text-wrap: balance;
  letter-spacing: -.03em;
}
.erp-hero__text h1 .n { color: var(--primary); }
.erp-hero__text h1 .m { color: var(--erp-mint); }
.erp-hero__text p.lead {
  font-size: 1.02rem; line-height: 1.6; color: var(--primary-2);
  max-width: 560px; margin: 0 0 1.6rem;
}
.erp-hero__text .hero-actions { display: flex; gap: .9rem; flex-wrap: wrap; }
.erp-hero__meta {
  display: flex; gap: 1.6rem; flex-wrap: wrap;
  margin-top: 2.2rem; padding-top: 1.4rem;
  border-top: 1px solid var(--line);
}
.erp-hero__meta div { min-width: 120px; }
.erp-hero__meta b { display: block; color: var(--white); font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.erp-hero__meta span { font-size: .78rem; color: var(--primary-2); }

.erp-hero__stage {
  position: relative;
  aspect-ratio: 1 / 1;
  max-width: 560px;
  margin: 0 auto;
  width: 100%;
}
.erp-hero__stage svg { width: 100%; height: 100%; display: block; overflow: visible; }
.erp-hero__stage .st-ring { fill: none; stroke: var(--primary); stroke-opacity: .28; stroke-width: 1; stroke-dasharray: 3 5; animation: erpSpin 60s linear infinite; transform-origin: 50% 50%; }
.erp-hero__stage .st-ring.r2 { stroke-opacity: .16; animation-duration: 90s; animation-direction: reverse; }
.erp-hero__stage .st-core { fill: rgba(139,121,250,.18); stroke: var(--primary); stroke-width: 1.2; }
.erp-hero__stage .st-core-in { fill: var(--primary); opacity: .55; filter: blur(6px); }
.erp-hero__stage .st-link { stroke: var(--primary); stroke-opacity: .32; stroke-width: 1; }
.erp-hero__stage .st-node { fill: var(--bg-2); stroke-width: 1.4; }
.erp-hero__stage text { font-family: var(--font-sans); font-weight: 800; font-size: 11px; fill: var(--white); text-anchor: middle; letter-spacing: .06em; }
.erp-hero__stage .st-core-t { font-size: 20px; letter-spacing: .12em; }
.erp-hero__stage .st-core-s { font-size: 9px; letter-spacing: .18em; fill: var(--primary-2); font-weight: 700; }
@keyframes erpSpin { to { transform: rotate(360deg); } }
body.erp-scene-on .erp-hero__stage svg { opacity: 0; transition: opacity .4s; }
body.erp-scene-on .erp-hero__cue { opacity: 0; pointer-events: none; }

.erp-hero__cue {
  position: absolute; left: 50%; bottom: 1.1rem; transform: translateX(-50%);
  z-index: 2; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--primary-2); opacity: .7; display: flex; flex-direction: column; align-items: center; gap: .4rem;
}
.erp-hero__cue i { width: 1px; height: 30px; background: linear-gradient(180deg, var(--primary), transparent); animation: erpCue 1.8s ease-in-out infinite; }
@keyframes erpCue { 0% { transform: scaleY(0); transform-origin: top; opacity: 0 } 40% { transform: scaleY(1); opacity: 1 } 100% { transform: scaleY(1); transform-origin: bottom; opacity: 0 } }

@media (max-width: 960px) {
  .erp-hero { min-height: 0; padding-top: 4.5rem; }
  .erp-hero__grid { grid-template-columns: 1fr; gap: 1.6rem; }
  .erp-hero__stage { max-width: 380px; }
  .erp-hero__text p.lead { max-width: none; }
  .erp-hero__cue { display: none; }
}

/* ---------- CSS 3D orbit layer (no WebGL) ---------- */
#erp-orbit {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  opacity: 0; transition: opacity .6s ease;
  --ru: 172; --tilt: -58deg; --fade: 1; --labels: 1; --glow: 1; --srot: 0deg; --links: .38; --nsc: 1;
}
#erp-orbit.on { opacity: 1; }
#erp-orbit.m-products { --ru: 168; --tilt: -70deg; --fade: .5; --labels: 0; --glow: .9; }
#erp-orbit.m-platform { --ru: 100; --tilt: -50deg; --fade: .42; --labels: 0; --glow: 1.2; --links: .7; --nsc: .74; }
#erp-orbit.m-model    { --ru: 108; --tilt: -58deg; --fade: .38; --labels: 0; --nsc: .85; }
#erp-orbit.m-proof    { --ru: 112; --tilt: -62deg; --fade: .3;  --labels: 0; --glow: .8; }
#erp-orbit.m-ebook    { --ru: 104; --tilt: -55deg; --fade: .4;  --labels: 0; --nsc: .8; }
#erp-orbit.m-cta      { --ru: 96;  --tilt: -48deg; --fade: .5; --labels: 0; --glow: 1.5; --links: .8; --nsc: .72; }

.orb-anchor { position: absolute; left: 50%; top: 50%; transition: left .9s cubic-bezier(.2,.7,.2,1), top .9s cubic-bezier(.2,.7,.2,1); }
.orb-scale { --sc: 1; transform: translate(-50%, -50%) scale(var(--sc)); opacity: var(--fade); transition: transform .9s cubic-bezier(.2,.7,.2,1), opacity .9s; }
.orb-scene { position: relative; width: 0; height: 0; }

.orb-core { position: absolute; left: 0; top: 0; width: 0; height: 0; transform-style: preserve-3d; }
.orb-glow {
  position: absolute; left: -150px; top: -150px; width: 300px; height: 300px; border-radius: 50%;
  background: radial-gradient(circle, rgba(139,121,250,.6) 0%, rgba(139,121,250,.22) 32%, rgba(139,121,250,0) 68%);
  transform: scale(var(--glow)); transition: transform .9s;
  animation: orbBreath 3.6s ease-in-out infinite;
}
#erp-orbit.burst .orb-glow { animation: orbBurst .9s ease-out 1; }
@keyframes orbBreath { 0%, 100% { opacity: .85 } 50% { opacity: 1.0 } }
@keyframes orbBurst { 0% { transform: scale(var(--glow)); opacity: 1 } 40% { transform: scale(calc(var(--glow) * 1.35)); opacity: 1 } 100% { transform: scale(var(--glow)); opacity: .9 } }
.orb-ico {
  position: absolute; left: -78px; top: -78px; width: 156px; height: 156px; border-radius: 50%;
  transform-origin: 50% 50%; overflow: hidden;
  box-shadow: 0 0 40px -6px rgba(139,121,250,.9), 0 0 0 1px rgba(139,121,250,.5);
  animation: orbFloat 6s ease-in-out infinite;
}
.orb-ico img { display: block; width: 100%; height: 100%; }
.orb-ico__sheen { position: absolute; inset: -40%; background: linear-gradient(115deg, transparent 42%, rgba(255,255,255,.22) 50%, transparent 58%); animation: orbSheen 5.5s ease-in-out infinite; }
@keyframes orbFloat { 0%, 100% { transform: scale(var(--is, 1)) translateY(-4px) rotateZ(-2deg) } 50% { transform: scale(var(--is, 1)) translateY(4px) rotateZ(2deg) } }
@keyframes orbSheen { 0%, 60% { transform: translateX(-60%) } 100% { transform: translateX(60%) } }
#erp-orbit.paused .orb-ico { box-shadow: 0 0 56px -4px var(--hcol, rgba(139,121,250,.9)), 0 0 0 1px var(--hcol, rgba(139,121,250,.5)); }
#erp-orbit.paused .orb-glow { background: radial-gradient(circle, var(--hcol, rgba(139,121,250,.6)) 0%, rgba(139,121,250,.22) 32%, rgba(139,121,250,0) 68%); opacity: .75 !important; }
.orb-scene { transform: translate(calc(var(--mx, 0) * 6px), calc(var(--my, 0) * 4px)); transition: transform .6s ease-out; }
.orb-ring { position: absolute; border-radius: 50%; border: 1px dashed rgba(139,121,250,.55); }
.orb-ring.r1 { left: -100px; top: -100px; width: 200px; height: 200px; animation: orbRing1 30s linear infinite; }
.orb-ring.r2 { left: -128px; top: -128px; width: 256px; height: 256px; border-color: rgba(45,220,177,.45); animation: orbRing2 44s linear infinite reverse; }
.orb-ring.r3 { left: -156px; top: -156px; width: 312px; height: 312px; border-style: solid; border-color: rgba(139,121,250,.22); animation: orbRing3 60s linear infinite; }
@keyframes orbRing1 { from { transform: rotateX(68deg) rotateZ(0) } to { transform: rotateX(68deg) rotateZ(360deg) } }
@keyframes orbRing2 { from { transform: rotateX(-40deg) rotateY(30deg) rotateZ(0) } to { transform: rotateX(-40deg) rotateY(30deg) rotateZ(360deg) } }
@keyframes orbRing3 { from { transform: rotateX(75deg) rotateY(-20deg) rotateZ(0) } to { transform: rotateX(75deg) rotateY(-20deg) rotateZ(360deg) } }
.orb-dot { display: none; position: absolute; left: -5px; top: -5px; width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 18px 4px rgba(139,121,250,.9); }

html[data-skin="light"] .orb-dot { box-shadow: 0 0 14px 2px rgba(93,75,224,.8); background: #5D4BE0; }
html[data-skin="light"] .orb-glow { background: radial-gradient(circle, rgba(93,75,224,.35) 0%, rgba(93,75,224,.12) 32%, rgba(93,75,224,0) 68%); }

body.erp-core > section, body.erp-core > footer, body.erp-core > .erp-hero { position: relative; z-index: 1; }
body.erp-core section.alt { background: rgba(11,11,33,.8); }
html[data-skin="light"] body.erp-core section.alt { background: rgba(244,244,249,.82); }
body.erp-core section:not(.alt):not(.cta-strip):not(.erp-hero) { background: rgba(7,7,26,.58); }
html[data-skin="light"] body.erp-core section:not(.alt):not(.cta-strip):not(.erp-hero) { background: rgba(244,244,249,.62); }
body.erp-core section.erp-hero { background: transparent; }
body.erp-core .erp-hero { background: transparent; }

/* ---------- Reveals ---------- */
body.erp-core [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
body.erp-core [data-reveal].in { opacity: 1; transform: none; }
body.erp-core [data-reveal-stagger] > * { opacity: 0; transform: translateY(18px) scale(.985); transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
body.erp-core [data-reveal-stagger].in > * { opacity: 1; transform: none; }
body.erp-core [data-reveal-stagger].in > *:nth-child(2) { transition-delay: .07s }
body.erp-core [data-reveal-stagger].in > *:nth-child(3) { transition-delay: .14s }
body.erp-core [data-reveal-stagger].in > *:nth-child(4) { transition-delay: .21s }
body.erp-core [data-reveal-stagger].in > *:nth-child(5) { transition-delay: .28s }
body.erp-core [data-reveal-stagger].in > *:nth-child(6) { transition-delay: .35s }

/* ---------- Product cards ---------- */
.erp-products {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 2.6rem;
}
.erp-prod {
  --c: var(--primary);
  position: relative;
  display: flex; flex-direction: column;
  padding: 1.5rem 1.5rem 1.35rem;
  border: 1px solid var(--line); border-radius: 18px;
  background: rgba(139,121,250,.05);
  color: inherit; text-decoration: none;
  transition: transform .22s, border-color .22s, background .22s, box-shadow .22s;
  overflow: hidden;
}
.erp-prod::after {
  content: ""; position: absolute; inset: auto -30% -60% auto; width: 70%; aspect-ratio: 1;
  border-radius: 50%; background: radial-gradient(circle, var(--c) 0%, transparent 65%);
  opacity: 0; transition: opacity .3s; pointer-events: none;
}
.erp-prod:hover { transform: translateY(-4px); border-color: var(--c); background: rgba(139,121,250,.09); box-shadow: 0 24px 50px -30px var(--c); color: inherit; }
.erp-prod:hover::after { opacity: .18; }
.erp-prod__top { display: flex; align-items: center; gap: .85rem; margin-bottom: .9rem; }
.erp-prod__top img { width: 52px; height: 52px; flex: none; border-radius: 50%; background: radial-gradient(circle, rgba(139,121,250,.22), rgba(139,121,250,.04) 70%); padding: 4px; }
.erp-prod__top b { font-size: 1.35rem; font-weight: 800; letter-spacing: .06em; color: var(--white); line-height: 1; }
.erp-prod__top b::after { content: ""; display: block; width: 26px; height: 3px; border-radius: 2px; background: var(--c); margin-top: .35rem; }
.erp-prod h3 { font-size: 1.02rem; margin: 0 0 .45rem; }
.erp-prod p { font-size: .88rem; line-height: 1.55; color: var(--primary-2); margin: 0; flex: 1; }
.erp-prod__go { margin-top: 1.1rem; font-size: .8rem; font-weight: 700; color: var(--c); letter-spacing: .04em; }
.erp-prod__go::after { content: " →"; }
.erp-prod--tms { --c: var(--erp-tms); } .erp-prod--wms { --c: var(--erp-wms); } .erp-prod--dms { --c: var(--erp-dms); }
.erp-prod--ams { --c: var(--erp-ams); } .erp-prod--crm { --c: var(--erp-crm); } .erp-prod--fms { --c: var(--erp-fms); }
.erp-prod__pill { position: absolute; top: 1.1rem; right: 1.1rem; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--c); border: 1px solid; border-radius: 999px; padding: .28rem .6rem; opacity: .85; }

.erp-chips { display: flex; gap: .7rem; flex-wrap: wrap; justify-content: center; margin-top: 2rem; }
.erp-chips span {
  display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .95rem;
  border: 1px solid var(--line); border-radius: 999px; font-size: .82rem; font-weight: 600; color: var(--white);
  background: rgba(139,121,250,.06);
}
.erp-chips span i { width: 7px; height: 7px; border-radius: 50%; background: var(--erp-mint); box-shadow: 0 0 8px var(--erp-mint); }
@media (max-width: 960px) { .erp-products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .erp-products { grid-template-columns: 1fr; } }

/* ---------- One database (compare) ---------- */
.erp-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 2.6rem; }
.erp-cmp { padding: 1.7rem 1.7rem 1.5rem; border-radius: 18px; border: 1px solid var(--line); background: rgba(139,121,250,.04); }
.erp-cmp.is-dm { border-color: rgba(45,220,177,.45); background: linear-gradient(160deg, rgba(45,220,177,.08), rgba(139,121,250,.08)); }
.erp-cmp__tag { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: var(--primary-2); margin-bottom: .6rem; }
.erp-cmp.is-dm .erp-cmp__tag { color: var(--erp-mint); }
.erp-cmp h3 { font-size: 1.15rem; margin: 0 0 1rem; }
.erp-cmp ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.erp-cmp li { position: relative; padding-left: 1.5rem; font-size: .92rem; line-height: 1.5; color: var(--primary-2); }
.erp-cmp li::before { content: ""; position: absolute; left: 0; top: .5rem; width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid var(--primary-2); opacity: .6; }
.erp-cmp.is-dm li::before { background: var(--erp-mint); border-color: var(--erp-mint); opacity: 1; box-shadow: 0 0 8px rgba(45,220,177,.6); }
.erp-cmp.is-dm li { color: var(--white); }
@media (max-width: 860px) { .erp-compare { grid-template-columns: 1fr; } }

.erp-chain { margin-top: 2.8rem; }
.erp-chain__flow {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem .35rem; margin: 1.6rem auto 0; max-width: 980px;
}
.erp-chain__flow span {
  padding: .45rem .8rem; border-radius: 10px; font-size: .8rem; font-weight: 600; color: var(--white);
  border: 1px solid var(--line); background: rgba(139,121,250,.07);
}
.erp-chain__flow span[data-p] { border-color: var(--c); box-shadow: inset 0 0 0 1px rgba(255,255,255,.02); }
.erp-chain__flow span[data-p]::before { content: attr(data-p); display: inline-block; font-size: .6rem; letter-spacing: .1em; font-weight: 800; color: var(--c); margin-right: .45rem; vertical-align: 1px; }
.erp-chain__flow i { align-self: center; color: var(--primary); opacity: .55; font-style: normal; font-size: .8rem; padding: 0 .1rem; }

/* ---------- Platform layer ---------- */
.erp-layer { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 2.4rem; align-items: center; margin-top: 2.4rem; }
.erp-layer.rev { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.erp-layer.rev > .erp-layer__txt { order: 2; }
.erp-layer + .erp-layer { margin-top: 3.6rem; }
.erp-layer__txt .section-kicker { margin-bottom: .6rem; }
.erp-layer__txt h3 { font-size: 1.55rem; letter-spacing: -.02em; margin: 0 0 .9rem; line-height: 1.2; }
.erp-layer__txt p { color: var(--primary-2); line-height: 1.65; margin: 0 0 1rem; }
.erp-layer__txt ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.erp-layer__txt li { position: relative; padding-left: 1.4rem; font-size: .9rem; color: var(--primary-2); line-height: 1.5; }
.erp-layer__txt li::before { content: ""; position: absolute; left: 0; top: .55rem; width: 8px; height: 8px; border-radius: 2px; background: var(--primary); transform: rotate(45deg); }
.erp-layer__txt li strong { color: var(--white); }
figure.erp-shot { margin: 0; }
figure.erp-shot > img {
  display: block; width: 100%; height: auto;
  border-radius: 14px; border: 1px solid rgba(139,121,250,.22);
  box-shadow: 0 30px 70px -34px rgba(0,0,0,.82);
}
@media (max-width: 900px) {
  .erp-layer, .erp-layer.rev { grid-template-columns: 1fr; gap: 1.4rem; }
  .erp-layer.rev > .erp-layer__txt { order: 0; }
  .erp-layer + .erp-layer { margin-top: 2.6rem; }
}

.erp-platform-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 3.4rem; }
.erp-pf { padding: 1.5rem 1.5rem 1.4rem; border-radius: 16px; border: 1px solid var(--line); background: rgba(139,121,250,.05); transition: border-color .2s, transform .2s; }
.erp-pf:hover { border-color: var(--primary-line); transform: translateY(-3px); }
.erp-pf svg { width: 30px; height: 30px; color: var(--primary); display: block; margin-bottom: .8rem; }
.erp-pf h3 { font-size: 1rem; margin: 0 0 .4rem; }
.erp-pf p { font-size: .86rem; line-height: 1.55; color: var(--primary-2); margin: 0; }
.erp-pf p strong { color: var(--white); font-weight: 600; }
@media (max-width: 900px) { .erp-platform-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .erp-platform-grid { grid-template-columns: 1fr; } }

/* ---------- Paths ---------- */
.erp-paths { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.1rem; margin-top: 2.6rem; }
.erp-path { display: block; padding: 1.5rem 1.6rem 1.4rem; border-radius: 18px; border: 1px solid var(--line); background: rgba(139,121,250,.05); color: inherit; text-decoration: none; transition: border-color .2s, transform .2s, background .2s; }
.erp-path:hover { border-color: var(--primary-line); background: rgba(139,121,250,.09); transform: translateY(-3px); color: inherit; }
.erp-path__ind { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: var(--primary); margin-bottom: .5rem; }
.erp-path h3 { font-size: 1.1rem; margin: 0 0 .6rem; }
.erp-path p { font-size: .88rem; line-height: 1.55; color: var(--primary-2); margin: 0 0 1rem; }
.erp-path__seq { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.erp-path__seq b { --c: var(--primary); font-size: .74rem; letter-spacing: .1em; font-weight: 800; color: var(--white); padding: .35rem .6rem; border-radius: 8px; border: 1px solid var(--c); background: color-mix(in srgb, var(--c) 12%, transparent); }
.erp-path__seq b.tms { --c: var(--erp-tms); } .erp-path__seq b.wms { --c: var(--erp-wms); } .erp-path__seq b.dms { --c: var(--erp-dms); }
.erp-path__seq b.ams { --c: var(--erp-ams); } .erp-path__seq b.crm { --c: var(--erp-crm); } .erp-path__seq b.fms { --c: var(--erp-fms); }
.erp-path__seq b.erp { --c: var(--primary); background: var(--primary); color: #07071a; }
.erp-path__seq i { color: var(--primary-2); opacity: .6; font-style: normal; font-size: .8rem; }
.erp-path__seq em { font-style: normal; font-size: .72rem; color: var(--primary-2); margin-left: .3rem; }
.erp-bridge-note {
  margin: 1.4rem auto 0; max-width: 900px; padding: 1.1rem 1.4rem; border-radius: 14px;
  border: 1px dashed var(--primary-line); display: flex; gap: 1rem; align-items: center; flex-wrap: wrap;
  font-size: .9rem; color: var(--primary-2);
}
.erp-bridge-note b { color: var(--white); }
.erp-bridge-note a { margin-left: auto; white-space: nowrap; font-weight: 700; }
@media (max-width: 800px) { .erp-paths { grid-template-columns: 1fr; } }

/* ---------- Model & architecture ---------- */
.model-muted { opacity: .55; }
.model-muted:hover { transform: none; border-color: var(--line); background: rgba(139,121,250,.04); }
.erp-model-foot { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 1.4rem; margin-top: 1.6rem; align-items: stretch; }
.erp-stat { padding: 1.4rem 1.6rem; border: 1px solid var(--line); border-radius: 16px; display: flex; gap: 1.6rem; align-items: center; flex-wrap: wrap; }
.erp-stat__nums { flex: none; }
.erp-stat__nums b { display: block; font-size: 2rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.erp-stat__nums b.bad { color: var(--text-muted, var(--primary-2)); opacity: .8; }
.erp-stat__nums b.good { color: var(--erp-mint); margin-top: .8rem; }
.erp-stat__nums span { display: block; font-size: .76rem; color: var(--text-muted, var(--primary-2)); margin-top: .25rem; }
.erp-stat p { flex: 1; min-width: 200px; margin: 0; font-size: .9rem; line-height: 1.6; color: var(--primary-2); }
.erp-arch { padding: 1.4rem 1.6rem; border: 1px solid var(--line); border-radius: 16px; background: rgba(139,121,250,.04); }
.erp-arch h3 { font-size: 1rem; margin: 0 0 .8rem; }
.erp-arch ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .45rem 1.2rem; }
.erp-arch li { font-size: .85rem; color: var(--primary-2); line-height: 1.45; padding-left: 1.1rem; position: relative; }
.erp-arch li::before { content: ""; position: absolute; left: 0; top: .5rem; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); }
.erp-arch li strong { color: var(--white); font-weight: 600; }
@media (max-width: 860px) { .erp-model-foot { grid-template-columns: 1fr; } .erp-arch ul { grid-template-columns: 1fr; } }

/* ---------- Proof ---------- */
.erp-proof { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 1.4rem; margin-top: 2.4rem; align-items: stretch; }
.erp-proof .video-wrap { margin: 0; }
.erp-proof .video-wrap video { width: 100%; display: block; border-radius: 16px; border: 1px solid rgba(139,121,250,.22); box-shadow: 0 30px 70px -34px rgba(0,0,0,.82); }
.erp-case { display: flex; flex-direction: column; padding: 1.5rem; border-radius: 16px; border: 1px solid var(--line); background: rgba(139,121,250,.05); color: inherit; text-decoration: none; transition: border-color .2s, transform .2s; }
.erp-case:hover { border-color: var(--primary-line); transform: translateY(-3px); color: inherit; }
.erp-case img { width: 100%; border-radius: 10px; display: block; margin-bottom: 1rem; aspect-ratio: 16/9; object-fit: cover; }
.erp-case h3 { font-size: 1.05rem; margin: 0 0 .5rem; }
.erp-case p { font-size: .86rem; color: var(--primary-2); line-height: 1.55; margin: 0 0 1rem; flex: 1; }
.erp-case .btn { align-self: flex-start; }
@media (max-width: 860px) { .erp-proof { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  .erp-hero__stage .st-ring, .erp-hero__cue i { animation: none; }
}


/* ---------- Wow layer: CSS 3D / SVG accents across the page ---------- */
body.erp-core .section-head.center { position: relative; }
body.erp-core .section-head.center::before {
  content: ""; position: absolute; left: 50%; top: -1.6rem; width: 120px; height: 120px; margin-left: -60px;
  border-radius: 50%; border: 1px dashed rgba(139,121,250,.28); pointer-events: none;
  animation: erpSpin 40s linear infinite; z-index: -1;
}
body.erp-core .section-head.center::after {
  content: ""; position: absolute; left: 50%; top: -.4rem; width: 72px; height: 72px; margin-left: -36px;
  border-radius: 50%; border: 1px solid rgba(45,220,177,.25); pointer-events: none;
  animation: erpSpin 26s linear infinite reverse; border-top-color: rgba(45,220,177,.7); z-index: -1;
}

.erp-prod, .erp-path, .erp-pf, .erp-case, .erp-cmp {
  --tx: 0deg; --ty: 0deg; --px: 50%; --py: 50%;
  transform: perspective(900px) rotateX(var(--tx)) rotateY(var(--ty));
  transition: transform .35s ease-out, border-color .22s, background .22s, box-shadow .22s;
  transform-style: preserve-3d;
}
.erp-prod:hover, .erp-path:hover, .erp-pf:hover, .erp-case:hover {
  transform: perspective(900px) rotateX(var(--tx)) rotateY(var(--ty)) translateY(-4px);
}
.erp-prod::before, .erp-path::before, .erp-pf::before, .erp-case::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 1;
  background: radial-gradient(360px circle at var(--px) var(--py), rgba(255,255,255,.08), transparent 60%);
  opacity: 0; transition: opacity .3s;
}
.erp-prod:hover::before, .erp-path:hover::before, .erp-pf:hover::before, .erp-case:hover::before { opacity: 1; }
.erp-prod__top img { transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.erp-prod:hover .erp-prod__top img { transform: translateZ(30px) scale(1.12) rotate(-4deg); }
.erp-prod__top b, .erp-prod h3 { transform: translateZ(14px); }

body.erp-core [data-reveal] figure.erp-shot { transform: perspective(1200px) rotateY(-10deg) rotateX(3deg); transition: transform 1s cubic-bezier(.2,.7,.2,1) .1s; }
body.erp-core [data-reveal].rev figure.erp-shot { transform: perspective(1200px) rotateY(10deg) rotateX(3deg); }
body.erp-core [data-reveal].in figure.erp-shot { transform: perspective(1200px) rotateY(0) rotateX(0); }
figure.erp-shot > img { transition: transform .5s, box-shadow .5s; }
figure.erp-shot:hover > img { transform: translateY(-4px) scale(1.01); box-shadow: 0 40px 80px -34px rgba(139,121,250,.55); }

.erp-chain__flow i { position: relative; }
.erp-chain__flow i::after { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--erp-mint); box-shadow: 0 0 10px var(--erp-mint); opacity: 0; animation: erpArrowDot 4.5s linear infinite; animation-delay: calc(var(--i, 0) * .45s); }
@keyframes erpArrowDot { 0%, 100% { opacity: 0; transform: translateX(-4px) } 5% { opacity: 1 } 12% { opacity: 1; transform: translateX(14px) } 16% { opacity: 0; transform: translateX(18px) } }
.erp-chain__flow span[data-p] { transition: transform .3s, box-shadow .3s; }
.erp-chain__flow span:hover { transform: translateY(-3px); box-shadow: 0 10px 24px -14px var(--c, var(--primary)); }

.erp-path__seq b { position: relative; transition: transform .3s; }
.erp-path:hover .erp-path__seq b { transform: translateY(-2px); }
.erp-path:hover .erp-path__seq b:nth-child(1) { transition-delay: 0s } .erp-path:hover .erp-path__seq b:nth-child(3) { transition-delay: .08s } .erp-path:hover .erp-path__seq b:nth-child(5) { transition-delay: .16s }
.erp-path__seq i { animation: erpArrowPulse 2.4s ease-in-out infinite; }
@keyframes erpArrowPulse { 0%, 100% { opacity: .35; transform: translateX(0) } 50% { opacity: 1; transform: translateX(3px) } }

.erp-stat__ring { position: relative; width: 84px; height: 84px; flex: none; }
.erp-stat__ring svg { width: 84px; height: 84px; transform: rotate(-90deg); }
.erp-stat__ring circle { fill: none; stroke-width: 6; }
.erp-stat__ring .bg { stroke: rgba(139,121,250,.15); }
.erp-stat__ring .fg { stroke: var(--erp-mint); stroke-linecap: round; stroke-dasharray: 226; stroke-dashoffset: 226; transition: stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1) .3s; filter: drop-shadow(0 0 6px rgba(45,220,177,.7)); }
body.erp-core .in .erp-stat__ring .fg { stroke-dashoffset: 4.5; }
.erp-stat__ring b { position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.15rem; font-weight: 800; color: var(--white); letter-spacing: -.02em; }

body.erp-core .steps .step { transition: transform .3s, border-color .3s; }
body.erp-core .steps .step:hover { transform: translateX(6px); }
body.erp-core .steps .step .step-icon { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
body.erp-core .steps .step:hover .step-icon { transform: rotateY(360deg); }
body.erp-core [data-reveal-stagger] > .step { transform: translateX(-24px) rotateY(12deg); }
body.erp-core [data-reveal-stagger].in > .step { transform: none; }

body.erp-core .cta-strip { position: relative; overflow: hidden; }
body.erp-core .cta-strip::before, body.erp-core .cta-strip::after {
  content: ""; position: absolute; border-radius: 50%; pointer-events: none;
  border: 1px dashed rgba(255,255,255,.18);
}
body.erp-core .cta-strip::before { width: 520px; height: 520px; left: -160px; top: -260px; animation: erpSpin 70s linear infinite; }
body.erp-core .cta-strip::after { width: 380px; height: 380px; right: -120px; bottom: -200px; animation: erpSpin 50s linear infinite reverse; }

@media (hover: none) {
  .erp-prod, .erp-path, .erp-pf, .erp-case, .erp-cmp { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.erp-core .section-head.center::before, body.erp-core .section-head.center::after, .erp-chain__flow i::after, .erp-path__seq i, .orb-ico, .orb-ico__sheen { animation: none; }
}

/* ---------- core only: the sphere, a title above, one word below ---------- */
.orb-glow { transform: scale(calc(var(--glow) * 1.25)); }
.orb-ico { --is: 1.22; transform: scale(var(--is)); }
#erp-orbit.m-hero .orb-ico, #erp-orbit.proj-on .orb-ico { animation: orbFloat 6s ease-in-out infinite; transform: none; }
#erp-orbit.proj-on .orb-ico { --is: 1.1; }
.orb-hubflash { position: absolute; left: -92px; top: -92px; width: 184px; height: 184px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.85); box-shadow: 0 0 34px -6px rgba(255,255,255,.6); opacity: 0; pointer-events: none; }
.orb-hubflash.beat { animation: orbBeat 1.1s cubic-bezier(.2,.7,.2,1) 1; }
@keyframes orbBeat { 0% { opacity: .9; transform: scale(.86); } 100% { opacity: 0; transform: scale(1.35); } }
.orb-title { position: absolute; left: 0; top: -172px; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: .25rem; opacity: var(--labels); transition: opacity .6s; pointer-events: none; white-space: nowrap; }
.orb-title b { font-size: 1.05rem; font-weight: 800; letter-spacing: -.01em; color: var(--white); }
.orb-title small { font-size: .62rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; color: var(--primary-2); }
.orb-orbit { position: absolute; left: -128px; top: -128px; width: 256px; height: 256px; border-radius: 50%; border: 1px solid rgba(139,121,250,.3); box-shadow: 0 0 26px -12px rgba(139,121,250,.8); }
.orb-orbit::before { content: ""; position: absolute; inset: -1px; border-radius: 50%; border: 1px dashed rgba(45,220,177,.2); animation: orbRingSpin 70s linear infinite; }
@keyframes orbRingSpin { to { transform: rotate(360deg); } }
#erp-orbit.paused .orb-orbit::before { animation-play-state: paused; }
html[data-skin="light"] .orb-title b { color: #12122B; }
html[data-skin="light"] .orb-orbit { border-color: rgba(93,75,224,.35); }
@media (max-width: 1500px) {
  .orb-title { top: -158px; }
  .orb-title b { font-size: .92rem; }
}
@media (max-width: 900px) {
}

/* ---------- static layer strip (platform section) ---------- */
.erp-layers { display: flex; flex-direction: column; gap: .6rem; margin: 0 auto 2.6rem; max-width: 980px; }
.erp-layers__row { display: grid; grid-template-columns: 150px 1fr; gap: 1rem; align-items: center; padding: .85rem 1.1rem; border-radius: 14px; border: 1px solid var(--line); background: rgba(13,13,39,.55); --c: var(--primary); }
.erp-layers__row.t2 { --c: var(--erp-mint, #2DDCB1); }
.erp-layers__row.t3 { --c: #5BB8FF; }
.erp-layers__row b { display: flex; align-items: center; gap: .55rem; color: var(--white); font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.erp-layers__row b::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: 0 0 12px var(--c); flex: none; }
.erp-layers__row div { display: flex; flex-wrap: wrap; gap: .4rem; }
.erp-layers__row span { font-size: .78rem; font-weight: 600; color: var(--white); padding: .3rem .7rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--c) 45%, transparent); background: color-mix(in srgb, var(--c) 9%, transparent); }
html[data-skin="light"] .erp-layers__row { background: rgba(255,255,255,.7); }
html[data-skin="light"] .erp-layers__row b, html[data-skin="light"] .erp-layers__row span { color: #12122B; }
@media (max-width: 720px) {
  .erp-layers__row { grid-template-columns: 1fr; gap: .5rem; }
}

/* ---------- the sphere projects a real screen below itself ---------- */
.orb-core { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.orb-beam { position: absolute; left: 0; top: 0; width: 0; height: 0; pointer-events: none; opacity: var(--labels); transition: opacity .6s; }
.orb-beam::before { content: ""; position: absolute; left: -170px; top: 84px; width: 340px; height: 52px; background: linear-gradient(180deg, rgba(139,121,250,.34), rgba(139,121,250,.05)); clip-path: polygon(44% 0, 56% 0, 100% 100%, 0 100%); animation: orbBeamPulse 4.6s ease-in-out infinite; }
@keyframes orbBeamPulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.orb-proj {
  position: absolute; left: -185px; top: 122px; width: 370px; height: 212px; pointer-events: none;
  transform-origin: 50% 0%;
  transform: translate(calc(var(--mx, 0) * 8px), calc(var(--my, 0) * 5px));
  transition: transform .52s cubic-bezier(.2,.7,.2,1), opacity .4s; opacity: var(--labels);
}
.orb-proj.out { transform: translate(0, -150px) scale(.15); opacity: 0; transition: transform .5s cubic-bezier(.6,0,.8,.4), opacity .35s; }
#erp-orbit:not(.m-hero):not(.proj-on) .orb-proj, #erp-orbit:not(.m-hero):not(.proj-on) .orb-beam { opacity: 0; }
.orb-proj__frame { position: absolute; inset: 0; border-radius: 14px; overflow: hidden; background: #0b0b24; border: 1px solid rgba(139,121,250,.55); box-shadow: 0 30px 70px -30px rgba(0,0,0,.9), 0 0 60px -26px rgba(139,121,250,.9), inset 0 0 0 1px rgba(255,255,255,.04); }
.orb-proj__bar { position: absolute; left: 0; right: 0; top: 0; height: 22px; background: rgba(7,7,26,.85); border-bottom: 1px solid rgba(139,121,250,.25); display: flex; align-items: center; gap: 5px; padding-left: 10px; z-index: 2; }
.orb-proj__bar s { width: 7px; height: 7px; border-radius: 50%; background: #3a3a5c; text-decoration: none; }
.orb-proj__bar s:first-child { background: rgba(139,121,250,.8); }
.orb-proj__img { position: absolute; left: 0; right: 0; top: 22px; bottom: 0; background-size: cover; background-position: top left; }
.orb-proj.is-img { pointer-events: auto; cursor: zoom-in; }
.orb-proj.out, #erp-orbit:not(.m-hero):not(.proj-on) .orb-proj { pointer-events: none; }
.orb-proj__zoom { position: absolute; right: 6px; top: 4px; width: 14px; height: 14px; z-index: 3; opacity: 0; transition: opacity .25s; background: no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b9b4ff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M10.5 7.5v6M7.5 10.5h6M15.5 15.5L21 21'/%3E%3C/svg%3E"); }
.orb-proj.is-img:hover .orb-proj__zoom { opacity: .9; }
.orb-proj__sheen { position: absolute; inset: -40%; background: linear-gradient(115deg, transparent 44%, rgba(255,255,255,.12) 50%, transparent 56%); animation: orbSheen 6s ease-in-out infinite; pointer-events: none; }
.orb-claim { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.2rem .9rem .8rem; background: linear-gradient(180deg, rgba(7,7,26,0), rgba(7,7,26,.92) 45%); display: flex; flex-direction: column; gap: .2rem; text-align: left; transition: opacity .3s, transform .3s; }
.orb-claim.out { opacity: 0; transform: translateY(6px); }
.orb-claim b { font-size: 1.02rem; font-weight: 800; letter-spacing: -.015em; color: var(--white); line-height: 1.2; }
.orb-claim small { font-size: .66rem; font-weight: 600; letter-spacing: .03em; color: var(--primary-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#erp-orbit.paused .orb-proj__sheen, #erp-orbit.paused .orb-beam::before { animation-play-state: paused; }
html[data-skin="light"] .orb-proj__frame { border-color: rgba(93,75,224,.4); background: #fff; }
html[data-skin="light"] .orb-proj__bar { background: rgba(244,244,249,.95); }
html[data-skin="light"] .orb-claim { background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.94) 45%); }
html[data-skin="light"] .orb-claim b { color: #12122B; }
@media (max-width: 1500px) {
  .orb-proj { left: -160px; top: 112px; width: 320px; height: 184px; }
  .orb-beam::before { left: -150px; top: 78px; width: 300px; height: 46px; }
  .orb-claim b { font-size: .9rem; }
  .orb-claim small { font-size: .6rem; }
}
@media (max-width: 900px) {
  .orb-proj { left: -140px; top: 108px; width: 280px; height: 168px; }
  .orb-claim b { font-size: .8rem; }
}

/* ---------- scroll: the sphere steps into the empty side space and projects a section-specific screen ---------- */
#erp-orbit.proj-on { z-index: 2; --fade: 1; --glow: 1; }
#erp-orbit.proj-on .orb-proj, #erp-orbit.proj-on .orb-beam { opacity: 1; }
#erp-orbit.proj-on .orb-proj.out { opacity: 0; }
#erp-orbit.proj-on .orb-anchor { transition: left 1.1s cubic-bezier(.2,.7,.2,1), top 1.1s cubic-bezier(.2,.7,.2,1); }

/* ---------- projection to the right when there is room ---------- */
#erp-orbit.side-right .orb-proj { left: 150px; top: -106px; transform-origin: 0% 50%; transform: translate(calc(var(--mx, 0) * 8px), calc(var(--my, 0) * 5px)); }
#erp-orbit.side-right .orb-proj.out { transform: translate(-170px, 0) scale(.15); opacity: 0; }
#erp-orbit.side-right .orb-beam::before { left: 92px; top: -70px; width: 62px; height: 140px; background: linear-gradient(90deg, rgba(139,121,250,.34), rgba(139,121,250,.05)); clip-path: polygon(0 46%, 0 54%, 100% 100%, 100% 0); }
@media (max-width: 1500px) {
  #erp-orbit.side-right .orb-proj { left: 138px; top: -92px; }
  #erp-orbit.side-right .orb-beam::before { left: 84px; top: -60px; width: 56px; height: 120px; }
}

/* ---------- make room: the active section slides aside while the sphere projects next to it ---------- */
body.erp-core section > .container { transition: transform .95s cubic-bezier(.2,.7,.2,1); }
body.erp-core section.is-proj.proj-right > .container { transform: translateX(-40px) scale(.88); transform-origin: 0% 50%; }
body.erp-core section.is-proj.proj-left > .container { transform: translateX(40px) scale(.88); transform-origin: 100% 50%; }
@media (max-width: 1499px) {
  body.erp-core section.is-proj > .container { transform: none !important; }
}

/* ---------- text-type projection panel ---------- */
.orb-proj__txt { position: absolute; left: 0; right: 0; top: 22px; bottom: 0; padding: 1rem 1.15rem 1rem; display: none; flex-direction: column; justify-content: center; gap: .45rem; background: radial-gradient(120% 90% at 20% 0%, rgba(139,121,250,.22), rgba(11,11,36,.2) 60%); }
.orb-proj.is-text .orb-proj__txt { display: flex; }
.orb-proj.is-text .orb-claim { display: none; }
.orb-proj__txt .stat { font-size: 2.1rem; font-weight: 800; letter-spacing: -.035em; line-height: 1; color: var(--white); }
.orb-proj__txt .stat::after { content: ""; display: block; width: 34px; height: 3px; border-radius: 2px; background: var(--erp-mint, #2DDCB1); margin-top: .5rem; }
.orb-proj__txt .ttl { font-size: .92rem; font-weight: 800; letter-spacing: -.01em; color: var(--white); line-height: 1.25; }
.orb-proj__txt ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .22rem; }
.orb-proj__txt li { position: relative; padding-left: .85rem; font-size: .7rem; line-height: 1.35; color: var(--primary-2); }
.orb-proj__txt li::before { content: ""; position: absolute; left: 0; top: .5em; width: 5px; height: 5px; border-radius: 50%; background: var(--primary); }
html[data-skin="light"] .orb-proj__txt .stat, html[data-skin="light"] .orb-proj__txt .ttl { color: #12122B; }

/* ---------- mobile: the sphere is background only, it does not hold a section open ---------- */
@media (max-width: 960px) {
  body.erp-scene-on .erp-hero__stage { display: none; }
  #erp-orbit.bg-only .orb-proj, #erp-orbit.bg-only .orb-beam, #erp-orbit.bg-only .orb-title { display: none; }
  #erp-orbit.bg-only { --fade: .38; --labels: 0; --glow: .5; z-index: 0; }
}

/* ---------- capability tabs (desktop) / accordion (mobile) ---------- */
.erp-tabs { margin-top: .4rem; }
.erp-tabs__bar { display: flex; flex-wrap: nowrap; justify-content: center; gap: .4rem; padding-bottom: 1.1rem; margin-bottom: 1.9rem; border-bottom: 1px solid var(--line); }
.erp-tabs__tab {
  font: inherit; font-size: .78rem; font-weight: 700; letter-spacing: .01em; color: var(--primary-2);
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .55rem .65rem;
  flex: 1 1 auto; min-width: 0; white-space: nowrap;
  border: 1px solid var(--line); border-radius: 999px; background: rgba(13,13,39,.55); cursor: pointer;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s, transform .2s;
}
.erp-tabs__tab i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .45; transition: opacity .2s, box-shadow .2s; }
.erp-tabs__tab:hover { color: var(--white); border-color: rgba(139,121,250,.55); transform: translateY(-1px); }
.erp-tabs__tab.is-active { color: var(--white); border-color: var(--primary); background: rgba(139,121,250,.16); box-shadow: 0 0 0 1px rgba(139,121,250,.28), 0 14px 32px -20px var(--primary); }
.erp-tabs__tab.is-active i { opacity: 1; background: var(--erp-mint); box-shadow: 0 0 10px var(--erp-mint); }
.erp-tabs__tab:focus-visible { outline: 2px solid var(--erp-mint); outline-offset: 2px; }
.erp-tabs__panel { display: none; }
.erp-tabs__panel.is-active { display: block; animation: erpTabIn .38s cubic-bezier(.2,.7,.2,1) both; }
@keyframes erpTabIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.erp-tabs__head { display: none; }

.erp-cap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.6rem; align-items: center; }
.erp-cap__txt .section-kicker { margin-bottom: .6rem; }
.erp-cap__txt h3 { font-size: 1.6rem; letter-spacing: -.02em; line-height: 1.18; margin: 0 0 .9rem; }
.erp-cap__txt p { color: var(--primary-2); line-height: 1.65; margin: 0 0 .85rem; }
.erp-cap__pts { list-style: none; margin: 1.15rem 0 0; padding: 0; display: grid; gap: .5rem; }
.erp-cap__pts li { position: relative; padding-left: 1.6rem; font-size: .9rem; line-height: 1.5; color: var(--white); }
.erp-cap__pts li::before { content: ""; position: absolute; left: 0; top: .32rem; width: 15px; height: 15px; border-radius: 50%; background: rgba(45,220,177,.14); border: 1px solid rgba(45,220,177,.6); }
.erp-cap__pts li::after { content: ""; position: absolute; left: 5px; top: .55rem; width: 5px; height: 3px; border-left: 1.6px solid var(--erp-mint); border-bottom: 1.6px solid var(--erp-mint); transform: rotate(-45deg); }
.erp-cap__more { display: inline-block; margin-top: 1.2rem; font-size: .86rem; font-weight: 700; color: var(--white); text-decoration: none; border-bottom: 1px solid var(--erp-mint); }
.erp-cap__more:hover { color: var(--erp-mint); }
.erp-cap figure.erp-shot--sq { max-width: 420px; justify-self: center; }
.erp-cap figure.erp-shot--sm { max-width: 340px; justify-self: center; }
.erp-chain__flow--tab { margin-top: 2rem; }

@media (max-width: 1240px) {
  .erp-tabs__tab { font-size: .7rem; padding: .5rem .5rem; gap: .35rem; }
  .erp-tabs__tab i { display: none; }
}
@media (max-width: 1000px) {
  .erp-tabs__tab { font-size: .64rem; padding: .45rem .4rem; }
}
@media (max-width: 1100px) {
  .erp-cap { gap: 1.8rem; }
  .erp-cap__txt h3 { font-size: 1.4rem; }
}
@media (max-width: 860px) {
  .erp-tabs__bar { display: none; }
  .erp-tabs__panels { display: grid; gap: .6rem; }
  .erp-tabs__panel, .erp-tabs__panel.is-active { display: block; animation: none; border: 1px solid var(--line); border-radius: 16px; background: rgba(13,13,39,.55); overflow: hidden; }
  .erp-tabs__panel.is-open { border-color: rgba(139,121,250,.5); }
  .erp-tabs__head {
    display: flex; align-items: center; gap: .8rem; width: 100%; text-align: left;
    font: inherit; font-size: 1rem; font-weight: 800; color: var(--white); background: transparent; border: 0; padding: 1rem 1.1rem; cursor: pointer;
  }
  .erp-tabs__head b { font-size: .7rem; letter-spacing: .14em; color: var(--erp-mint); font-weight: 800; flex: none; }
  .erp-tabs__head span { flex: 1; }
  .erp-tabs__head i { width: 10px; height: 10px; border-right: 2px solid var(--primary-2); border-bottom: 2px solid var(--primary-2); transform: rotate(45deg); transition: transform .25s; margin-top: -4px; flex: none; }
  .erp-tabs__panel.is-open .erp-tabs__head i { transform: rotate(-135deg); margin-top: 4px; }
  .erp-tabs__body { display: none; padding: 0 1.1rem 1.2rem; }
  .erp-tabs__panel.is-open .erp-tabs__body { display: block; }
  .erp-cap { grid-template-columns: 1fr; gap: 1.2rem; }
  .erp-cap__txt .section-kicker { display: none; }
  .erp-cap__txt h3 { font-size: 1.2rem; }
  .erp-cap__txt p { font-size: .92rem; }
  .erp-chain__flow--tab { margin-top: 1.2rem; }
}

/* ---------- industries row + compact steps ---------- */
.erp-industries { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem; margin-top: 2rem; }
.erp-industries b { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--primary-2); margin-right: .4rem; }
.erp-industries a { font-size: .84rem; font-weight: 600; color: var(--white); text-decoration: none; padding: .5rem .95rem; border: 1px solid var(--line); border-radius: 999px; background: rgba(139,121,250,.06); transition: border-color .2s, background .2s, color .2s; }
.erp-industries a:hover { border-color: var(--primary); background: rgba(139,121,250,.14); color: var(--white); }
.erp-industries a.all { border-style: dashed; color: var(--primary-2); }
.erp-model .why-item.is-dm { border-color: var(--accent); }
.erp-model .why-item.is-dm .section-kicker { margin-bottom: .5rem; color: var(--accent); }
.erp-stat { margin-top: 1.4rem; }
.erp-steps { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: .6rem; }
.erp-steps li { padding: .95rem .9rem 1rem; border: 1px solid var(--line); border-radius: 14px; background: rgba(13,13,39,.55); display: flex; flex-direction: column; gap: .3rem; }
.erp-steps li i { font-style: normal; font-size: .7rem; letter-spacing: .14em; font-weight: 800; color: var(--erp-mint); }
.erp-steps li b { font-size: .88rem; color: var(--white); line-height: 1.25; }
.erp-steps li span { font-size: .78rem; line-height: 1.45; color: var(--primary-2); }
@media (max-width: 1100px) { .erp-steps { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 700px) { .erp-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .erp-steps { grid-template-columns: 1fr; } }
html[data-skin="light"] .erp-tabs__tab, html[data-skin="light"] .erp-steps li, html[data-skin="light"] .erp-tabs__panel { background: rgba(255,255,255,.7); }
html[data-skin="light"] .erp-tabs__tab.is-active, html[data-skin="light"] .erp-cap__pts li, html[data-skin="light"] .erp-steps li b, html[data-skin="light"] .erp-tabs__head, html[data-skin="light"] .erp-industries a { color: #12122B; }
