/* ============================================================
   erp-implementation.css
   Page-specific styles for /erp-implementation/index.php
   Design: AB7 dark navy, orange #f26629 accent
   ============================================================ */

body { overflow-x: hidden; }

/* ── SECTION PADDING ─────────────────────────────────────── */
.zohi-def-section,
.zohi-plat-section,
.zohi-cmp-section,
.zohi-why-section,
.zohi-cost-section,
.zohi-ind-section,
.zohi-entity-section,
section.defaultptb60.faqsection { padding: 80px 0; }

/* ── HERO ─────────────────────────────────────────────────── */
.zohi-hero {
  position: relative;
  background: linear-gradient(135deg, #050d1a 0%, #070e1c 50%, #0d1530 100%);
  overflow: hidden;
  padding: 80px 0 60px;
  min-height: 600px;
  display: flex;
  align-items: center;
}
.zohi-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.zohi-hero__grid { position: absolute; inset: 0; width: 100%; height: 100%; }

.zohi-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 1;
}

.zohi-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(242,102,41,0.12);
  border: 1px solid rgba(242,102,41,0.3);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #ffb38a;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.zohi-hero__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #f26629;
  display: inline-block;
  animation: zohiPulse 1.8s ease-in-out infinite;
}
@keyframes zohiPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }

.zohi-hero__h1 {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  color: #fff;
  line-height: 1.18;
  margin-bottom: 16px;
  letter-spacing: -.01em;
}
.zohi-hero__h1 span { color: #f26629; }

.zohi-hero__sub {
  font-size: 15px;
  color: rgba(255,255,255,0.72);
  line-height: 1.65;
  margin-bottom: 24px;
  max-width: 490px;
}

/* platform badges */
.zohi-hero__platforms {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.zohi-plat-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  border: 1.5px solid var(--pc, #f26629);
  color: var(--pc, #f26629);
  background: transparent;
  transition: background .2s;
}
.zohi-plat-badge:hover { background: var(--pc, #f26629); color: #fff; }

/* hero CTAs */
.zohi-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.zohi-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f26629;
  color: #fff;
  padding: 13px 26px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.zohi-cta-primary:hover { background: #d9561f; color: #fff; transform: translateY(-2px); text-decoration: none; }
.zohi-cta-secondary {
  color: rgba(255,255,255,.75);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,.35);
  transition: color .2s;
}
.zohi-cta-secondary:hover { color: #f26629; text-decoration: none; }

/* hero stat cards */
.zohi-hero__stats-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.zohi-hstat {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  backdrop-filter: blur(6px);
  transition: border-color .25s, transform .25s;
}
.zohi-hstat:hover { border-color: rgba(242,102,41,.4); transform: translateY(-3px); }
.zohi-hstat--lg { grid-column: 1 / -1; }
.zohi-hstat--wide { grid-column: 1 / -1; }
.zohi-hstat__num {
  font-size: 28px;
  font-weight: 800;
  color: #f26629;
  line-height: 1;
}
.zohi-hstat--lg .zohi-hstat__num { font-size: 36px; }
.zohi-hstat__lbl {
  font-size: 11px;
  color: rgba(255,255,255,.55);
  letter-spacing: .04em;
  line-height: 1.45;
}

/* ── DEFINITION SECTION ───────────────────────────────────── */
.zohi-def-section { background: #f7f9ff; padding: 72px 0; }

.zohi-def-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 28px;
  align-items: start;
}

/* Left card */
.zohi-def-card {
  border-radius: 20px;
  padding: 40px 36px;
}
.zohi-def-card--main {
  background: #fff;
  border: 1px solid #e8eaf2;
  box-shadow: 0 4px 32px rgba(0,0,0,.06);
}

/* 70% stat banner */
.zohi-def-stat-banner {
  display: flex;
  align-items: center;
  gap: 18px;
  background: linear-gradient(135deg, #fff4ee, #fff9f6);
  border: 1.5px solid rgba(242,102,41,.25);
  border-radius: 14px;
  padding: 18px 22px;
  margin-bottom: 28px;
}
.zohi-def-stat-big {
  font-size: 54px;
  font-weight: 900;
  color: #f26629;
  line-height: 1;
  flex-shrink: 0;
  letter-spacing: -2px;
}
.zohi-def-stat-big span { font-size: 36px; }
.zohi-def-stat-label {
  font-size: 12.5px;
  color: #6b7280;
  line-height: 1.5;
}

.zohi-def-card--main h2 {
  font-size: 21px;
  font-weight: 700;
  color: #1a1f2e;
  margin-bottom: 16px;
  line-height: 1.4;
}
.zohi-def-card--main p {
  font-size: 14px;
  color: #4a5568;
  line-height: 1.78;
  margin-bottom: 14px;
}
.zohi-def-card--main p:last-of-type { margin-bottom: 24px; }

/* stat chips */
.zohi-def-chips {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.zohi-def-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f0f4ff;
  border: 1px solid #d6e0ff;
  border-radius: 30px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #3d4f8c;
}
.zohi-def-chip i { color: #f26629; font-size: 11px; }

/* Right card — dark phases */
.zohi-def-card--phases {
  background: linear-gradient(160deg, #07112a 0%, #0e1d4a 100%);
  border: 1px solid rgba(242,102,41,.18);
  box-shadow: 0 8px 40px rgba(5,13,26,.35);
}

.zohi-phases-head { margin-bottom: 24px; }
.zohi-phases-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(242,102,41,.15);
  border: 1px solid rgba(242,102,41,.35);
  border-radius: 30px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  color: #f26629;
  letter-spacing: .04em;
  margin-bottom: 12px;
}
.zohi-def-card--phases h3 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  margin: 0;
}

/* Timeline phase list */
.zohi-phase-list { display: flex; flex-direction: column; gap: 0; }
.zohi-phase-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.zohi-phase-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}
.zohi-phase-num {
  width: 38px; height: 38px;
  background: rgba(242,102,41,.18);
  border: 2px solid rgba(242,102,41,.5);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: #f26629;
  letter-spacing: .04em;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}
.zohi-phase-line {
  width: 2px;
  flex: 1;
  min-height: 22px;
  background: linear-gradient(to bottom, rgba(242,102,41,.4), rgba(242,102,41,.08));
  margin: 5px 0;
}
.zohi-phase-content {
  padding-bottom: 20px;
  flex: 1;
}
.zohi-phase-item--last .zohi-phase-content { padding-bottom: 0; }
.zohi-phase-content strong {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}
.zohi-phase-content p {
  font-size: 12.5px;
  color: rgba(255,255,255,.55);
  line-height: 1.6;
  margin: 0;
}

/* Phase item scroll animation */
.zohi-phase-anim {
  opacity: 0;
  transform: translateX(-22px);
}
.zohi-phase-anim.visible {
  opacity: 1;
  transform: translateX(0);
  transition:
    opacity .45s ease calc(var(--pd,0s)),
    transform .45s cubic-bezier(.22,.68,0,1.15) calc(var(--pd,0s));
}

/* Connecting line grows down after the item appears */
.zohi-phase-anim .zohi-phase-line {
  transform-origin: top center;
  transform: scaleY(0);
  transition: transform .4s ease calc(calc(var(--pd,0s) + .3s));
}
.zohi-phase-anim.visible .zohi-phase-line {
  transform: scaleY(1);
}

/* Phase number circle pulse on appear */
.zohi-phase-anim .zohi-phase-num {
  transition: box-shadow .3s ease calc(calc(var(--pd,0s) + .2s));
}
.zohi-phase-anim.visible .zohi-phase-num {
  box-shadow: 0 0 0 5px rgba(242,102,41,.12);
}

/* Responsive */
@media (max-width: 768px) {
  .zohi-def-grid { grid-template-columns: 1fr; }
  .zohi-def-stat-big { font-size: 42px; }
  .zohi-def-stat-big span { font-size: 28px; }
}

/* ── PLATFORMS SECTION ────────────────────────────────────── */
.zohi-plat-section { background: #f7f9ff; }

.zohi-plat-head {
  text-align: center;
  margin-bottom: 44px;
}
.zohi-plat-sub {
  font-size: 14.5px;
  color: #5a6475;
  max-width: 600px;
  margin: 10px auto 0;
  line-height: 1.65;
}

.zohi-plat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.zohi-plat-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e8eaf2;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
  transition: transform .25s, box-shadow .25s;
  opacity: 0;
  transform: translateY(20px);
}
.zohi-plat-card.visible { opacity: 1; transform: translateY(0); }
.zohi-plat-anim { transition: opacity .5s ease calc(var(--delay, 0s)), transform .5s ease calc(var(--delay, 0s)); }
.zohi-plat-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(0,0,0,.1); }

.zohi-plat-banner {
  position: relative;
  height: 90px;
  display: flex;
  align-items: center;
  padding: 0 22px;
  overflow: hidden;
}
.zohi-plat-banner-logo {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
}
.zohi-brand-svg {
  height: 34px;
  width: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.18));
}
.zohi-plat-banner-shape {
  position: absolute;
  right: -24px;
  top: -24px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  z-index: 1;
}
.zohi-plat-banner-shape::after {
  content: '';
  position: absolute;
  right: -30px;
  bottom: -30px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
}
.zohi-plat-banner-watermark {
  position: absolute;
  right: 16px;
  bottom: -8px;
  font-size: 52px;
  font-weight: 900;
  color: rgba(255,255,255,.06);
  line-height: 1;
  letter-spacing: 2px;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}
.zohi-plat-badge-feat {
  position: absolute;
  top: 10px;
  right: 12px;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 10px;
  z-index: 1;
}

.zohi-plat-body { padding: 22px 20px; }
.zohi-plat-body h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1a1f2e;
  margin-bottom: 10px;
  line-height: 1.35;
}
.zohi-plat-body p {
  font-size: 13px;
  color: #5a6475;
  line-height: 1.65;
  margin-bottom: 14px;
}

.zohi-plat-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.zohi-plat-tags span {
  background: #f0f2f9;
  color: #4a5568;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 10px;
}

.zohi-plat-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid #f0f2f9;
  gap: 8px;
  flex-wrap: wrap;
}
.zohi-plat-timeline {
  font-size: 11.5px;
  color: #7a8499;
  display: flex;
  align-items: center;
  gap: 5px;
}
.zohi-plat-cost {
  font-size: 11.5px;
  font-weight: 700;
  color: #f26629;
}

.zohi-plat-card--featured { border-color: rgba(242,102,41,.35); }

/* ── COMPARISON TABLE ─────────────────────────────────────── */
.zohi-cmp-section { background: #fff; }

.zohi-cmp-head {
  text-align: center;
  margin-bottom: 40px;
}
.zohi-cmp-sub {
  font-size: 14.5px;
  color: #5a6475;
  max-width: 620px;
  margin: 10px auto 0;
  line-height: 1.65;
}

.zohi-cmp-table-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid #e8eaf2;
  box-shadow: 0 2px 14px rgba(0,0,0,.05);
}
.zohi-cmp-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
}
.zohi-cmp-table thead th {
  padding: 14px 16px;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 2px solid #e8eaf2;
}
.zohi-cmp-table thead { background: #f7f9ff; }
.zohi-th-feat { text-align: left !important; color: #1a1f2e; }
.zohi-th-custom { background: rgba(242,102,41,.07); color: #d9561f; }
.zohi-cmp-table tbody tr { border-bottom: 1px solid #f0f2f9; transition: background .15s; }
.zohi-cmp-table tbody tr:last-child { border-bottom: none; }
.zohi-cmp-table tbody tr:hover { background: #fafbff; }
.zohi-cmp-table tbody td {
  padding: 13px 16px;
  font-size: 12.5px;
  color: #5a6475;
  text-align: center;
  vertical-align: middle;
  line-height: 1.45;
}
.zohi-cmp-table tbody td small { font-size: 11px; color: #8e9bb5; display: block; }
.zohi-td-feat {
  text-align: left !important;
  font-weight: 700;
  color: #1a1f2e;
  font-size: 13px;
  background: #f9fafc;
}
.zohi-td-custom {
  background: rgba(242,102,41,.04);
  color: #1a1f2e !important;
}
.zohi-td-custom strong { color: #d9561f; }
.zohi-tag-yes {
  display: inline-block;
  background: #dcfce7;
  color: #16a34a;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 8px;
}
.zohi-tag-no {
  display: inline-block;
  background: #fee2e2;
  color: #dc2626;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 8px;
}
.zohi-tag-partial {
  display: inline-block;
  background: #fef3c7;
  color: #b45309;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 8px;
  line-height: 1.5;
}

.zohi-cmp-note {
  margin-top: 16px;
  font-size: 11.5px;
  color: #8e9bb5;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  line-height: 1.5;
}
.zohi-cmp-note .fa { margin-top: 2px; color: #b0bec5; }

/* ── WHY OGEN SECTION ─────────────────────────────────────── */
.zohi-why-section {
  background: linear-gradient(135deg, #050d1a 0%, #070e1c 60%, #0d1530 100%);
  position: relative;
  overflow: hidden;
}

.zohi-why-head {
  text-align: center;
  margin-bottom: 40px;
}
.zohi-why-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #f26629;
  margin-bottom: 12px;
}
.zohi-why-title {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 12px;
}
.zohi-why-sub {
  font-size: 14.5px;
  color: rgba(255,255,255,.6);
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.65;
}

/* stats bar */
.zohi-why-statsbar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.zohi-why-statitem {
  text-align: center;
  padding: 8px 28px;
  flex: 1;
  min-width: 100px;
}
.zohi-why-statdiv { width: 1px; height: 40px; background: rgba(255,255,255,.12); }
.zohi-why-statnum {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: #f26629;
  line-height: 1;
}
.zohi-why-statlbl {
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,.5);
  margin-top: 4px;
  letter-spacing: .04em;
}

/* cards */
.zohi-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.zohi-why-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
  transition: border-color .25s, transform .25s;
}
.zohi-why-card:hover { border-color: rgba(242,102,41,.4); transform: translateY(-3px); }
.zohi-why-ghost {
  position: absolute;
  top: -10px;
  right: -8px;
  font-size: 72px;
  font-weight: 900;
  color: rgba(255,255,255,.025);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  font-family: 'Inter', sans-serif;
}
.zohi-why-card-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.zohi-why-icon {
  width: 36px; height: 36px;
  background: rgba(242,102,41,.15);
  border: 1.5px solid rgba(242,102,41,.3);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f26629;
  font-size: 14px;
  flex-shrink: 0;
}
.zohi-why-tag {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
}
.zohi-why-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
  line-height: 1.35;
}
.zohi-why-card p {
  font-size: 13px;
  color: rgba(255,255,255,.6);
  line-height: 1.65;
  margin: 0;
}

/* trust card */
.zohi-why-card--trust {
  background: linear-gradient(135deg, rgba(242,102,41,.1), rgba(242,102,41,.05));
  border-color: rgba(242,102,41,.3);
}
.zohi-why-trust-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.zohi-why-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,.75);
  line-height: 1.4;
}
.zohi-why-trust-item .fa-check-circle { color: #f26629; font-size: 14px; margin-top: 2px; flex-shrink: 0; }
.zohi-why-cta {
  display: inline-block;
  background: #f26629;
  color: #fff;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s;
}
.zohi-why-cta:hover { background: #d9561f; color: #fff; text-decoration: none; }

/* ── IMPLEMENTATION PROCESS (TIMELINE) ───────────────────── */
.zohi-proc-section {
  background: #fff;
  padding: 80px 0;
}
.zohi-proc-head {
  text-align: center;
  margin-bottom: 52px;
}
.zohi-proc-subtitle {
  font-size: 14.5px;
  color: #6b7a8d;
  max-width: 560px;
  margin: 10px auto 0;
  line-height: 1.65;
}

/* timeline wrapper */
.zohi-proc-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 860px;
  margin: 0 auto;
}

/* each row */
.zohi-proc-item {
  display: flex;
  gap: 24px;
  align-items: stretch;
  opacity: 0;
  transform: translateX(-24px);
}
.zohi-proc-item.visible {
  opacity: 1;
  transform: translateX(0);
  transition: opacity .55s ease calc(var(--pd, 0s)), transform .55s ease calc(var(--pd, 0s));
}

/* left col — icon + line */
.zohi-proc-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 56px;
}
.zohi-proc-icon-wrap {
  width: 52px; height: 52px;
  background: var(--pb, #fff4ee);
  border: 2px solid var(--pc, #f26629);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--pc, #f26629);
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  transition: background .25s, box-shadow .25s;
}
.zohi-proc-item:hover .zohi-proc-icon-wrap {
  background: var(--pc, #f26629);
  color: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.14);
}
.zohi-proc-icon-wrap--final {
  background: #f26629 !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(242,102,41,.35);
}

.zohi-proc-line {
  flex: 1;
  width: 2px;
  background: linear-gradient(to bottom, #e8eaf2, transparent);
  margin: 6px 0;
}

/* right col — card */
.zohi-proc-card {
  flex: 1;
  background: #f7f9ff;
  border: 1px solid #e8eaf2;
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 20px;
  transition: border-color .25s, box-shadow .25s, transform .25s;
}
.zohi-proc-item:hover .zohi-proc-card {
  border-color: rgba(242,102,41,.35);
  box-shadow: 0 6px 24px rgba(0,0,0,.07);
  transform: translateX(4px);
}
.zohi-proc-card--final {
  background: linear-gradient(135deg, #fff9f6, #fff4ee);
  border-color: rgba(242,102,41,.3);
  box-shadow: 0 4px 20px rgba(242,102,41,.1);
}

.zohi-proc-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.zohi-proc-step-lbl {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #f26629;
  font-family: 'Inter', sans-serif;
}
.zohi-proc-step-lbl--final { color: #c8501e; }
.zohi-proc-duration {
  font-size: 11px;
  color: #8e9bb5;
  display: flex;
  align-items: center;
  gap: 5px;
}

.zohi-proc-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a1f2e;
  margin-bottom: 8px;
  line-height: 1.35;
}
.zohi-proc-card-desc {
  font-size: 13.5px;
  color: #5a6475;
  line-height: 1.7;
  margin-bottom: 14px;
}

.zohi-proc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.zohi-proc-tags span {
  background: #fff;
  border: 1px solid #e0e4f0;
  color: #5a6475;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 10px;
}

.zohi-proc-final-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #f26629;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 16px;
  border-radius: 20px;
  margin-top: 4px;
}

@media (max-width: 576px) {
  .zohi-proc-item { gap: 14px; }
  .zohi-proc-left { width: 42px; }
  .zohi-proc-icon-wrap { width: 42px; height: 42px; font-size: 17px; }
  .zohi-proc-card { padding: 16px 14px; }
  .zohi-proc-card-title { font-size: 14px; }
}

/* ── ERP COST SECTION ─────────────────────────────────────── */
/* ── COST SECTION ────────────────────────────────────────── */
.zohi-cost-section { background: #fff; }
.zohi-cost-head { text-align: center; margin-bottom: 40px; }
.zohi-cost-sub {
  font-size: 14.5px;
  color: #5a6475;
  max-width: 620px;
  margin: 10px auto 0;
  line-height: 1.65;
}
.zohi-cost-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: start;
}
.zohi-cost-card {
  background: #f9fafc;
  border: 1px solid #e8eaf2;
  border-radius: 14px;
  padding: 24px 20px;
  position: relative;
  transition: transform .25s, box-shadow .25s;
}
.zohi-cost-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--cc, #f26629);
  border-radius: 14px 14px 0 0;
}
.zohi-cost-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.zohi-cost-card--featured {
  background: linear-gradient(135deg, #fff4ee, #fff9f6);
  border-color: rgba(242,102,41,.35);
  box-shadow: 0 4px 20px rgba(242,102,41,.1);
}
.zohi-cost-feat-badge {
  display: inline-block;
  background: #f26629;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 10px;
  margin-bottom: 10px;
}
.zohi-cost-plat {
  font-size: 14px;
  font-weight: 700;
  color: #1a1f2e;
  margin-bottom: 8px;
}
.zohi-cost-total {
  font-size: 26px;
  font-weight: 800;
  color: var(--cc, #f26629);
  line-height: 1;
  margin-bottom: 4px;
}
.zohi-cost-lbl {
  font-size: 11px;
  color: #8e9bb5;
  margin-bottom: 16px;
}
.zohi-cost-breakdown { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.zohi-cost-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 12px;
  gap: 8px;
}
.zohi-cost-row span:first-child { color: #5a6475; }
.zohi-cost-row span:last-child { font-weight: 700; color: #1a1f2e; text-align: right; }
.zohi-cost-note {
  font-size: 11px;
  color: #8e9bb5;
  line-height: 1.5;
  border-top: 1px solid #e8eaf2;
  padding-top: 12px;
  margin-top: 4px;
}

/* ── INDUSTRIES 2026 ─────────────────────────────────────── */
.zohi-ind2-section {
  background: #f7f9ff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
.zohi-ind2-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(0,0,0,.03) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.zohi-ind2-head {
  text-align: center;
  margin-bottom: 44px;
  position: relative;
}
.zohi-ind2-sub {
  font-size: 14.5px;
  color: #6b7a8d;
  max-width: 580px;
  margin: 10px auto 0;
  line-height: 1.65;
}

/* bento grid — 6 cols, auto rows */
.zohi-ind2-bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  position: relative;
}

/* base card */
.zohi-ind2-card {
  grid-column: span 1;
  background: var(--ig, #fff);
  border: 1.5px solid rgba(0,0,0,.06);
  border-radius: 20px;
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
  cursor: default;
  display: flex;
  flex-direction: column;
  transition: transform .3s cubic-bezier(.22,.68,0,1.2), box-shadow .3s ease, border-color .3s;
  opacity: 0;
  transform: translateY(28px);
}
.zohi-ind2-card.visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity .5s ease calc(var(--delay,0s)),
    transform .5s cubic-bezier(.22,.68,0,1.2) calc(var(--delay,0s));
}
.zohi-ind-anim {
  /* handled above via .visible */
}
.zohi-ind2-card:hover {
  transform: translateY(-6px) scale(1.012);
  box-shadow: 0 16px 40px var(--ibr, rgba(242,102,41,.12));
  border-color: var(--ic, #f26629);
}

/* watermark number */
.zohi-ind2-num {
  position: absolute;
  top: -8px;
  right: 16px;
  font-size: 80px;
  font-weight: 900;
  font-family: 'Inter', sans-serif;
  color: var(--ibr, rgba(242,102,41,.08));
  line-height: 1;
  pointer-events: none;
  user-select: none;
  transition: color .3s;
}
.zohi-ind2-card:hover .zohi-ind2-num { color: var(--ibr, rgba(242,102,41,.14)); }

/* icon ring */
.zohi-ind2-icon-ring {
  width: 56px; height: 56px;
  background: #fff;
  border: 2px solid var(--ibr, rgba(242,102,41,.2));
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: var(--ic, #f26629);
  margin-bottom: 18px;
  flex-shrink: 0;
  transition: background .3s, transform .3s cubic-bezier(.22,.68,0,1.4), box-shadow .3s;
  position: relative;
  z-index: 1;
}
.zohi-ind2-card:hover .zohi-ind2-icon-ring {
  background: var(--ic, #f26629);
  color: #fff;
  transform: rotate(-8deg) scale(1.12);
  box-shadow: 0 6px 20px var(--ibr, rgba(242,102,41,.3));
  border-color: var(--ic, #f26629);
}

/* text */
.zohi-ind2-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a1f2e;
  margin-bottom: 8px;
  line-height: 1.3;
  transition: color .2s;
}
.zohi-ind2-card:hover .zohi-ind2-title { color: var(--ic, #f26629); }
.zohi-ind2-desc {
  font-size: 13px;
  color: #5a6475;
  line-height: 1.65;
  margin-bottom: 14px;
}

/* platform pills */
.zohi-ind2-plats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
  padding-top: 12px;
}
.zohi-ind2-plats span {
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(0,0,0,.1);
  color: #3c4858;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: .02em;
  transition: background .2s, color .2s, border-color .2s;
}
.zohi-ind2-card:hover .zohi-ind2-plats span {
  background: var(--ic, #f26629);
  color: #fff;
  border-color: var(--ic, #f26629);
}

/* animated bottom line on hover */
.zohi-ind2-hover-line {
  position: absolute;
  bottom: 0; left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--ic, #f26629), transparent);
  border-radius: 0 0 20px 20px;
  transition: width .4s ease;
}
.zohi-ind2-card:hover .zohi-ind2-hover-line { width: 100%; }

@media (max-width: 1100px) {
  .zohi-ind2-bento { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .zohi-ind2-bento { grid-template-columns: 1fr 1fr; gap: 14px; }
}
@media (max-width: 480px) {
  .zohi-ind2-bento { grid-template-columns: 1fr; gap: 12px; }
}

/* ── TALLY MIGRATION SECTION ──────────────────────────────── */
.zohi-tally-section {
  position: relative;
  background: #f7f9ff;
  padding: 90px 0;
  overflow: hidden;
}
.zohi-tally-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.zohi-tally-bg::after {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  left: -120px;
  top: 50%;
  transform: translateY(-50%);
  background: radial-gradient(circle, rgba(242,102,41,.07) 0%, transparent 65%);
  pointer-events: none;
}
.zohi-tally-inner { position: relative; z-index: 1; }

.zohi-tally-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

/* left col */
.zohi-tally-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(242,102,41,.1);
  border: 1px solid rgba(242,102,41,.25);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 11.5px;
  font-weight: 600;
  color: #c8501e;
  letter-spacing: .04em;
  margin-bottom: 20px;
}
.zohi-tally-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #f26629;
  display: inline-block;
  animation: zohiPulse 1.8s ease-in-out infinite;
}
.zohi-tally-title {
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  color: #1a1f2e;
  line-height: 1.22;
  margin-bottom: 18px;
  letter-spacing: -.02em;
}
.zohi-tally-title-accent { color: #f26629; }

.zohi-tally-desc {
  font-size: 14.5px;
  color: #5a6475;
  line-height: 1.75;
  margin-bottom: 24px;
  max-width: 480px;
}

.zohi-tally-checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
  margin-bottom: 28px;
}
.zohi-tally-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #3c4858;
  font-weight: 500;
}
.zohi-tally-check .fa-check-circle { color: #f26629; font-size: 14px; flex-shrink: 0; }

.zohi-tally-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #f26629;
  color: #fff;
  padding: 14px 28px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.zohi-tally-cta:hover { background: #d9561f; color: #fff; transform: translateY(-2px); text-decoration: none; }

/* right col — flow diagram */
.zohi-tally-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.zohi-tally-source {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1.5px solid #e8eaf2;
  border-radius: 12px;
  padding: 16px 24px;
  width: 100%;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.zohi-tally-source-logo {
  width: 44px; height: 44px;
  background: linear-gradient(135deg, #1e3a8a, #1e40af);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 900;
  color: #fff;
  font-family: 'Inter', sans-serif;
  flex-shrink: 0;
}
.zohi-tally-source span {
  font-size: 13.5px;
  font-weight: 600;
  color: #1a1f2e;
  line-height: 1.4;
}

.zohi-tally-steps {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 16px;
}
.zohi-tally-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 10px;
  padding: 14px 18px;
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.zohi-tally-step:hover { border-color: rgba(242,102,41,.4); box-shadow: 0 4px 14px rgba(242,102,41,.1); }
.zohi-tally-step--1 { border-radius: 10px 10px 0 0; border-bottom: none; }
.zohi-tally-step--2 { border-radius: 0; border-bottom: none; }
.zohi-tally-step--3 { border-radius: 0 0 10px 10px; }

.zohi-tally-step-num {
  flex-shrink: 0;
  width: 32px; height: 32px;
  background: rgba(242,102,41,.15);
  border: 1.5px solid rgba(242,102,41,.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10.5px;
  font-weight: 800;
  color: #f26629;
  letter-spacing: .04em;
  margin-top: 2px;
}
.zohi-tally-step-body strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1a1f2e;
  margin-bottom: 4px;
}
.zohi-tally-step-body p {
  font-size: 12px;
  color: #6b7a8d;
  line-height: 1.55;
  margin: 0;
}

.zohi-tally-step-arrow {
  text-align: center;
  color: rgba(242,102,41,.55);
  font-size: 18px;
  line-height: 1;
  padding: 3px 0;
  width: 100%;
  display: flex;
  justify-content: center;
}

.zohi-tally-dest {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(135deg, #fff9f6, #fff4ee);
  border: 1.5px solid rgba(242,102,41,.3);
  border-radius: 12px;
  padding: 16px 24px;
  width: 100%;
  margin-bottom: 20px;
  box-shadow: 0 4px 16px rgba(242,102,41,.1);
}
.zohi-tally-dest-icon {
  width: 44px; height: 44px;
  background: linear-gradient(135deg, #f26629, #d9561f);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(242,102,41,.35);
}
.zohi-tally-dest span {
  font-size: 13.5px;
  font-weight: 700;
  color: #1a1f2e;
  line-height: 1.4;
}

.zohi-tally-stat-row {
  display: flex;
  align-items: center;
  width: 100%;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 12px;
  padding: 16px 20px;
  gap: 0;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.zohi-tally-stat {
  flex: 1;
  text-align: center;
}
.zohi-tally-stat-n {
  display: block;
  font-size: 22px;
  font-weight: 800;
  color: #f26629;
  line-height: 1;
}
.zohi-tally-stat-l {
  display: block;
  font-size: 10.5px;
  color: #8e9bb5;
  margin-top: 4px;
  line-height: 1.35;
}
.zohi-tally-stat-div {
  width: 1px;
  height: 34px;
  background: #e8eaf2;
}

@media (max-width: 992px) {
  .zohi-tally-grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 576px) {
  .zohi-tally-checks { grid-template-columns: 1fr; }
  .zohi-tally-stat-row { flex-wrap: wrap; gap: 14px; }
  .zohi-tally-stat-div { display: none; }
}

/* ── FAQ ──────────────────────────────────────────────────── */
section.defaultptb60.faqsection { background: #f7f9ff; }
.faq-qmark-wrap {
  position: absolute;
  top: 30px;
  right: 20px;
  width: 50px;
  opacity: .6;
  pointer-events: none;
}
/* match main-page vertical padding that finalhome.css normally provides */
#faqs-accordion .accordion-content__title {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

/* ── ENTITY SECTION ───────────────────────────────────────── */
.zohi-entity-section { background: #fff; }

.zohi-entity-grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 28px;
  align-items: start;
  margin-bottom: 28px;
}
.zohi-entity-para-card {
  background: #f7f9ff;
  border: 1px solid #e8eaf2;
  border-radius: 14px;
  padding: 28px 28px;
}
.zohi-entity-para-card p {
  font-size: 13.5px;
  color: #4a5568;
  line-height: 1.8;
  margin: 0;
}

.zohi-entity-stat-col { display: flex; flex-direction: column; gap: 12px; }
.zohi-entity-stat-card {
  background: #f7f9ff;
  border: 1px solid #e8eaf2;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.zohi-entity-stat-icon {
  width: 36px; height: 36px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.zohi-entity-stat-val {
  font-size: 18px;
  font-weight: 800;
  color: #1a1f2e;
  line-height: 1;
}
.zohi-entity-stat-label {
  font-size: 11px;
  color: #8e9bb5;
  margin-top: 2px;
}

/* strips */
.zohi-entity-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  border-top: 1px solid #f0f2f9;
}
.zohi-entity-strip-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-right: 4px;
}
.zohi-entity-strip-label--orange { color: #f26629; }
.zohi-entity-strip-label--blue { color: #168bdb; }

.zohi-entity-city-pill {
  background: #fff4ee;
  color: #d9561f;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 10px;
  border: 1px solid rgba(242,102,41,.2);
}
.zohi-entity-tech-pill-blue {
  background: #eff6ff;
  color: #168bdb;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 10px;
  border: 1px solid rgba(22,139,219,.2);
}
.zohi-entity-tech-pill-green {
  background: #f0fdf4;
  color: #16a34a;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 10px;
  border: 1px solid rgba(22,163,74,.2);
}
.zohi-entity-tech-pill-purple {
  background: #f5f3ff;
  color: #7c3aed;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 10px;
  border: 1px solid rgba(124,58,237,.2);
}
.zohi-entity-tech-pill-orange {
  background: #fff4ee;
  color: #c8501e;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 10px;
  border: 1px solid rgba(242,102,41,.2);
}

/* ── SCROLL ANIMATION TRIGGER ─────────────────────────────── */
/* JS in page uses IntersectionObserver to add .visible to .zohi-plat-anim / .zohi-ind-anim */

/* ── COUNTER SECTION (.fourpntr) ─────────────────────────── */
section.fourpntr{
  background:linear-gradient(150deg,#080f1a 0%,#0d1b2a 60%,#0f2035 100%)!important;
  position:relative!important;overflow:hidden!important;
}
section.fourpntr::before{
  content:''!important;position:absolute!important;inset:0!important;
  pointer-events:none!important;z-index:0!important;
  background-image:radial-gradient(circle,rgba(255,255,255,.055) 1px,transparent 1px)!important;
  background-size:32px 32px!important;
}
section.fourpntr::after{
  content:''!important;position:absolute!important;
  width:600px!important;height:600px!important;border-radius:50%!important;
  right:-150px!important;bottom:-150px!important;
  pointer-events:none!important;z-index:0!important;
  background:radial-gradient(circle,rgba(242,102,41,.1) 0%,transparent 65%)!important;
}
section.fourpntr .container{position:relative!important;z-index:2!important;}
section.fourpntr .main-heading-box{
  text-align:center!important;margin-bottom:52px!important;
  position:relative!important;overflow:visible!important;
}
section.fourpntr .main-heading-box::before{
  content:'STATS'!important;
  position:absolute!important;top:50%!important;left:50%!important;
  transform:translate(-50%,-70%)!important;
  font-size:140px!important;font-weight:900!important;
  font-family:'Inter',sans-serif!important;letter-spacing:-6px!important;
  color:rgba(242,102,41,.04)!important;white-space:nowrap!important;
  pointer-events:none!important;z-index:0!important;user-select:none!important;
}
section.fourpntr .mainheadingtitle{
  font-family:'Inter',sans-serif!important;
  font-size:44px!important;font-weight:900!important;
  background:linear-gradient(120deg,#fff 30%,#f26629 75%,#ff834a 100%)!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  display:block!important;position:relative!important;z-index:1!important;
}
section.fourpntr .mainheadingtitle::before{
  content:'◆  Quick Facts'!important;
  display:block!important;font-size:11px!important;font-weight:700!important;
  letter-spacing:3px!important;text-transform:uppercase!important;
  color:#f26629!important;-webkit-text-fill-color:#f26629!important;
  background:none!important;font-family:'Inter',sans-serif!important;margin-bottom:14px!important;
}
section.fourpntr .mainheadingtitle::after{
  content:''!important;display:block!important;
  width:56px!important;height:4px!important;border-radius:2px!important;
  background:linear-gradient(90deg,#f26629,#ff834a)!important;
  margin:14px auto 0!important;
}
section.fourpntr .col-lg-3{
  position:relative!important;
  padding:36px 20px 28px!important;
  animation:fy-float 4s ease-in-out infinite!important;
}
section.fourpntr .col-lg-3:nth-child(2){animation-delay:.6s!important;}
section.fourpntr .col-lg-3:nth-child(3){animation-delay:1.2s!important;}
section.fourpntr .col-lg-3:nth-child(4){animation-delay:1.8s!important;}
section.fourpntr .col-lg-3::before{
  content:''!important;position:absolute!important;inset:8px!important;
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:20px!important;
  pointer-events:none!important;z-index:0!important;
  transition:background .3s,border-color .3s!important;
}
section.fourpntr .col-lg-3:hover::before{
  background:rgba(242,102,41,.07)!important;
  border-color:rgba(242,102,41,.25)!important;
}
section.fourpntr .col-lg-3::after{content:none!important;}
section.fourpntr .img_prog{
  position:relative!important;z-index:1!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
section.fourpntr .img_prog::before{
  content:''!important;
  position:absolute!important;top:50%!important;left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:148px!important;height:148px!important;border-radius:50%!important;
  border:2px dashed rgba(242,102,41,.3)!important;
  animation:fy-spin-slow 10s linear infinite!important;
  pointer-events:none!important;z-index:0!important;
}
section.fourpntr .img_prog::after{
  content:''!important;
  position:absolute!important;top:50%!important;left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:175px!important;height:175px!important;border-radius:50%!important;
  border:1px dashed rgba(255,255,255,.1)!important;
  animation:fy-spin-slow 18s linear infinite reverse!important;
  pointer-events:none!important;z-index:0!important;
}
section.fourpntr .countertitle{
  font-family:'Inter',sans-serif!important;
  font-size:14px!important;font-weight:400!important;
  color:rgba(255,255,255,.62)!important;
  line-height:1.7em!important;
  margin-top:28px!important;
  text-align:center!important;
  position:relative!important;z-index:1!important;
  padding:0 10px!important;
}
@keyframes fy-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-9px);}
}
@keyframes fy-spin-slow{
  from{transform:translate(-50%,-50%) rotate(0deg);}
  to{transform:translate(-50%,-50%) rotate(360deg);}
}

/* ── BOOK CONSULTATION SECTION ───────────────────────────── */
.ogen-consult2030{position:relative;overflow:hidden;padding:100px 0;}
.ogen-consult-bg{position:absolute;inset:0;background-size:cover;background-position:20% center;z-index:0;}
.ogen-consult-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(10,18,32,.92) 0%,rgba(10,18,32,.80) 55%,rgba(10,18,32,.65) 100%);z-index:1;}
.ogen-consult-inner{position:relative;z-index:2;}
.ogen-sketch-circle{position:absolute;top:-14px;left:-12px;width:calc(100% + 24px);height:calc(100% + 28px);pointer-events:none;}
.ogen-consult-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(245,108,35,.15);border:1px solid rgba(245,108,35,.35);color:#f56c23;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:22px;}
.ogen-consult-headline{font-size:52px;font-weight:900;color:#fff;line-height:1.05;letter-spacing:-1.5px;margin-bottom:18px;}
.ogen-consult-nocost-wrap{position:relative;display:inline-block;}
.ogen-consult-nocost{color:#f56c23;position:relative;z-index:1;}
.ogen-consult-sub{color:rgba(255,255,255,.72);font-size:15px;line-height:1.7;max-width:360px;margin-bottom:16px;}
.ogen-consult-deco{width:180px;height:12px;display:block;margin-top:4px;}
.ogen-consult-cards{display:flex;flex-direction:column;gap:14px;}
.ogen-consult-card{display:flex;align-items:flex-start;gap:18px;background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:22px 24px;transition:background .25s,border-color .25s,transform .25s;}
.ogen-consult-card:hover{background:rgba(255,255,255,.10);border-color:rgba(245,108,35,.35);transform:translateX(6px);}
.ogen-consult-step{flex-shrink:0;font-size:28px;font-weight:900;color:#f56c23;line-height:1;letter-spacing:-1px;width:44px;text-align:center;font-family:'Inter',sans-serif;opacity:.9;}
.ogen-consult-card-body{flex:1;}
.ogen-consult-card-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:4px;line-height:1.3;}
.ogen-ccard-ul{display:block;width:120px;height:10px;margin:3px 0 8px;}
.ogen-consult-card-text{font-size:13.5px;color:rgba(255,255,255,.65);line-height:1.65;margin:0;}
.ogen-consult-cta-row{display:flex;align-items:center;gap:16px;margin-top:28px;flex-wrap:wrap;}
.ogen-consult-arrow{width:54px;height:auto;flex-shrink:0;transform:rotate(-10deg);}
.ogen-consult-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#f56c23 0%,#e8531a 100%);color:#fff;font-size:15px;font-weight:700;padding:14px 28px;border-radius:100px;text-decoration:none;box-shadow:0 8px 32px rgba(245,108,35,.4);transition:transform .22s,box-shadow .22s;letter-spacing:.2px;}
.ogen-consult-btn:hover{transform:translateY(-3px);box-shadow:0 14px 44px rgba(245,108,35,.55);color:#fff;text-decoration:none;}
.ogen-consult-btn-arrow{font-size:18px;transition:transform .2s;}
.ogen-consult-btn:hover .ogen-consult-btn-arrow{transform:translateX(4px);}
.ogen-consult-note{font-size:12px;color:rgba(255,255,255,.45);letter-spacing:.3px;}
@media(max-width:767px){
  .ogen-consult2030{padding:60px 0;}
  .ogen-consult-headline{font-size:36px;}
  .ogen-consult-cards{margin-top:32px;}
}

/* ── TESTIMONIALS ─────────────────────────────────────────── */
.testimonial-home{position:relative}
.testimonial-home:after{content:"";width:65%;height:100%;background:#f0fafe;position:absolute;left:0;top:0;z-index:0}
.testimonial-home.section-padding .container{position:relative;z-index:1}
.testimonial-box article{position:relative;border-radius:10px;background:#3c4858;padding:30px;box-shadow:0 10px 30px rgb(1 81 192/23%);color:#fff;padding-bottom:70px}
.testimonial-box article p{font-size:15px;line-height:22px;color:#fff;}
.testimonial-info figure{width:75px;height:75px;border-radius:10px;overflow:hidden;border:3px solid #fff;box-shadow:0 10px 30px rgb(1 81 192/23%)}
.testimonial-info figure img{width:100%;height:100%;object-fit:cover;object-position:center}
.testimonial-info{position:absolute;margin-top:40px;margin-bottom:-55px;width:100%;left:0;padding:0 45px;bottom:20px;z-index:1}
.testimonial-info h4,.testimonial-info p.testimonialnames{font-size:16px;margin-left:20px;position:relative;top:5px}
.testimonial-box{margin-bottom:40px}
.testimonial-box article:after{content:'';position:absolute;right:0;bottom:0;font-size:100px;font-family:"inherit;";background:url(../ogen_images/quote.png) no-repeat;width:94px;height:74px;background-size:100%}
@media screen and (max-width:1100px){
  .testimonial-box article:after{width:45px;height:35px;}
  .testimonial-info h4,.testimonial-info p.testimonialnames{margin-left:10px;}
  .testimonial-info{padding:0 30px;}
  .testimonial-info figure{width:65px;height:65px;}
}
@media screen and (max-width:991px){
  .row.testimonial-box{overflow-x:scroll;flex-wrap:nowrap;min-height:260px;height:100%;}
  .row.testimonial-box .col-md-4{width:50%;max-width:50%;flex:0 0 50%;display:inline-block!important;}
  .testimonial-box article{min-height:235px;}
}
@media screen and (max-width:767px){
  .row.testimonial-box .col-md-4{width:100%;max-width:100%;flex:0 0 100%;display:inline-block!important;}
  .testimonial-box article:after{width:50px;height:40px;}
}
@media screen and (max-width:576px){
  .testimonial-box article{margin-bottom:30px;}
}

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1200px) {
  .zohi-plat-grid { grid-template-columns: repeat(2, 1fr); }
  .zohi-cost-grid { grid-template-columns: repeat(2, 1fr); }
  .zohi-cost-grid2 { grid-template-columns: repeat(2, 1fr); }
  .zohi-ind-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 992px) {
  .zohi-hero__inner { grid-template-columns: 1fr; }
  .zohi-hero__right { display: none; }
  .zohi-def-grid { grid-template-columns: 1fr; }
  .zohi-why-grid { grid-template-columns: repeat(2, 1fr); }
  .wd-proc-track { grid-template-columns: repeat(2, 1fr); }
  .zohi-entity-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .zohi-def-section,
  .zohi-plat-section,
  .zohi-cmp-section,
  .zohi-why-section,
  .zohi-cost-section,
  .zohi-ind-section,
  .zohi-entity-section,
  section.defaultptb60.faqsection { padding: 52px 0; }

  .zohi-plat-grid { grid-template-columns: 1fr; }
  .zohi-why-grid { grid-template-columns: 1fr; }
  .wd-proc-track { grid-template-columns: 1fr; }
  .zohi-cost-grid { grid-template-columns: 1fr; }
  .zohi-cost-grid2 { grid-template-columns: 1fr; }
  .zohi-ind-grid { grid-template-columns: repeat(2, 1fr); }

  .zohi-hero__h1 { font-size: 26px; }
  .zohi-why-statsbar { gap: 0; }
  .zohi-why-statitem { padding: 8px 14px; }
  .zohi-why-statdiv { display: none; }

  .zohi-tally-strip { flex-direction: column; text-align: center; }
  .zohi-cta-strip-btn { margin-left: 0; }
}

@media (max-width: 576px) {
  .zohi-ind-grid { grid-template-columns: 1fr; }
  .zohi-hero__platforms { gap: 6px; }
  .zohi-plat-meta { flex-direction: column; align-items: flex-start; }
}

/* ══ SAP PAGE ADDITIONS ══════════════════════════════════════ */

.zohi-hstat__num--txt { font-size: 20px; line-height: 1.2; }

/* service card banners — text labels only, no vendor marks */
.zohi-plat-banner--b1   { background: linear-gradient(140deg,#0b2a55 0%,#1f5fae 100%); }
.zohi-plat-banner--s4   { background: linear-gradient(140deg,#071a3a 0%,#123f7a 100%); }
.zohi-plat-banner--mig  { background: linear-gradient(140deg,#1e1b4b 0%,#4338ca 100%); }
.zohi-plat-banner--loc  { background: linear-gradient(140deg,#14532d 0%,#15803d 100%); }
.zohi-plat-banner--int  { background: linear-gradient(140deg,#134e4a 0%,#0f766e 100%); }
.zohi-plat-banner--amc  { background: linear-gradient(140deg,#a03a10 0%,#f26629 100%); }
.zohi-plat-banner-label {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
}
.zohi-plat-banner-label .fa {
  width: 40px; height: 40px;
  border-radius: 11px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 17px;
}
.zohi-plat-banner-label span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .92;
}
.zohi-plat-meta-k { font-size: 11.5px; color: #7a8499; }
.zohi-plat-meta-k strong { color: #3c4858; font-weight: 700; }

/* "who we are / who we're not" transparency block */
.zohi-honest-section { background: #fff; padding: 64px 0; }
.zohi-honest-head { text-align: center; max-width: 760px; margin: 0 auto 36px; }
.zohi-honest-head p { font-size: 16px; color: #636678; line-height: 1.667em; }
.zohi-honest-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.zohi-honest-card {
  border-radius: 18px;
  padding: 30px 28px;
  border: 1px solid #e8eaf2;
  background: #f9fafc;
}
.zohi-honest-card--do  { border-top: 4px solid #16a34a; }
.zohi-honest-card--dont { border-top: 4px solid #f26629; }
.zohi-honest-card h3 {
  font-size: 20px;
  font-weight: 700;
  color: #3c4858;
  margin-bottom: 16px;
}
.zohi-honest-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.zohi-honest-card li {
  display: flex;
  gap: 10px;
  font-size: 15px;
  color: #4a5568;
  line-height: 1.6;
}
.zohi-honest-card li .fa { margin-top: 4px; flex-shrink: 0; }
.zohi-honest-card--do .fa   { color: #16a34a; }
.zohi-honest-card--dont .fa { color: #f26629; }

/* cost-driver cards use words, not prices */
.zohi-cost-total--txt { font-size: 18px; line-height: 1.3; }

/* trademark notice */
.zohi-disclaimer {
  margin-top: 28px;
  padding: 16px 20px;
  border-radius: 12px;
  background: #f7f8fc;
  border: 1px solid #e8eaf0;
  font-size: 12.5px;
  color: #7a8499;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .zohi-honest-grid { grid-template-columns: 1fr; }
  .zohi-honest-section { padding: 48px 0; }
}

.zohi-entity-strip a { text-decoration: none; }
.zohi-entity-strip a:hover { opacity: .85; }

/* ══ HERO v2 ═════════════════════════════════════════════════ */
.zohi-hero { padding: 72px 0 64px; min-height: 0; }
.zohi-hero::before,
.zohi-hero::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(10px);
}
.zohi-hero::before {
  width: 520px; height: 520px;
  right: -120px; top: -160px;
  background: radial-gradient(circle, rgba(242,102,41,.16) 0%, transparent 65%);
}
.zohi-hero::after {
  width: 460px; height: 460px;
  left: -160px; bottom: -220px;
  background: radial-gradient(circle, rgba(31,95,174,.22) 0%, transparent 65%);
}
.zohi-hero__inner { grid-template-columns: 1.05fr .95fr; gap: 56px; }

.zohi-hero__badge { text-transform: none; letter-spacing: .02em; font-size: 12.5px; }
.zohi-hero__h1 { font-size: clamp(32px, 3.6vw, 50px); letter-spacing: -.02em; margin-bottom: 18px; }
.zohi-hero__sub { font-size: 16px; line-height: 1.7; max-width: 520px; margin-bottom: 22px; }

.zohi-hero__checks {
  list-style: none;
  padding: 0;
  margin: 0 0 30px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  max-width: 520px;
}
.zohi-hero__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,.85);
}
.zohi-hero__checks .fa {
  width: 20px; height: 20px;
  flex-shrink: 0;
  border-radius: 6px;
  background: rgba(242,102,41,.16);
  color: #f26629;
  font-size: 10px;
  display: inline-flex; align-items: center; justify-content: center;
}
.zohi-cta-primary { padding: 14px 28px; border-radius: 8px; box-shadow: 0 10px 28px rgba(242,102,41,.32); }

/* roadmap panel */
.zohi-hero__right { position: relative; }
.zohi-hpanel {
  position: relative;
  background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  padding: 0 0 18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 30px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
  overflow: hidden;
}
.zohi-hpanel__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.zohi-hpanel__dots { display: inline-flex; gap: 6px; }
.zohi-hpanel__dots i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.18); }
.zohi-hpanel__dots i:first-child { background: #f26629; }
.zohi-hpanel__title { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.85); flex: 1; }
.zohi-hpanel__tag {
  font-size: 10px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase;
  color: #f26629; border: 1px solid rgba(242,102,41,.35); border-radius: 100px; padding: 3px 10px;
}

.zohi-hpanel__steps {
  list-style: none;
  margin: 0;
  padding: 14px 14px 6px;
  position: relative;
}
.zohi-hpanel__steps::before {
  content: '';
  position: absolute;
  left: 37px; top: 34px; bottom: 30px;
  width: 2px;
  background: linear-gradient(to bottom, rgba(242,102,41,.55), rgba(242,102,41,.08));
}
.zohi-hpanel__steps li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  opacity: 0;
  transform: translateX(16px);
  animation:
    zohiStepIn .5s cubic-bezier(.22,.68,0,1.1) forwards calc(.15s + var(--i) * .1s),
    zohiStepGlow 12s ease-in-out infinite calc(1.2s + var(--i) * 2s);
}
.zohi-hpanel__ico {
  position: relative;
  z-index: 1;
  width: 34px; height: 34px;
  flex-shrink: 0;
  border-radius: 10px;
  background: #0d1a33;
  border: 1.5px solid rgba(242,102,41,.45);
  color: #f26629;
  font-size: 13px;
  display: inline-flex; align-items: center; justify-content: center;
}
.zohi-hpanel__steps li > div { flex: 1; min-width: 0; }
.zohi-hpanel__steps strong { display: block; font-size: 14px; font-weight: 700; color: #fff; line-height: 1.25; }
.zohi-hpanel__steps small { display: block; font-size: 12px; color: rgba(255,255,255,.5); line-height: 1.4; }
.zohi-hpanel__steps em {
  font-style: normal;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.6);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 100px;
  padding: 3px 10px;
  white-space: nowrap;
}

@keyframes zohiStepIn { to { opacity: 1; transform: translateX(0); } }
@keyframes zohiStepGlow {
  0%, 18%, 100% { background: transparent; border-color: transparent; }
  3%, 14% { background: rgba(242,102,41,.09); border-color: rgba(242,102,41,.28); }
}

.zohi-hpanel__mods {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 6px 20px 0;
  padding-top: 14px;
  border-top: 1px dashed rgba(255,255,255,.1);
}
.zohi-hpanel__mods-lbl {
  width: 100%;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: 2px;
}
.zohi-hpanel__mods span:not(.zohi-hpanel__mods-lbl) {
  font-size: 11.5px;
  font-weight: 600;
  color: #cfe0ff;
  background: rgba(31,95,174,.22);
  border: 1px solid rgba(96,150,230,.25);
  border-radius: 7px;
  padding: 3px 9px;
}

.zohi-hnote {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 14px 6px 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: rgba(255,255,255,.55);
}
.zohi-hnote .fa { color: #f26629; margin-top: 2px; }

@media (prefers-reduced-motion: reduce) {
  .zohi-hpanel__steps li { animation: none; opacity: 1; transform: none; }
}
@media (max-width: 992px) {
  .zohi-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .zohi-hero__right { display: block; }
}
@media (max-width: 576px) {
  .zohi-hero { padding: 48px 0 44px; }
  .zohi-hero__checks { grid-template-columns: 1fr; }
  .zohi-hpanel__steps em { display: none; }
}

/* ══ HERO v2 — compact height ════════════════════════════════ */
.zohi-hero { padding: 48px 0 44px; }
.zohi-hero__badge { margin-bottom: 14px; }
.zohi-hero__h1 { margin-bottom: 14px; }
.zohi-hero__sub { margin-bottom: 18px; line-height: 1.6; }
.zohi-hero__checks { margin-bottom: 24px; gap: 8px 18px; }
.zohi-hpanel { padding-bottom: 14px; }
.zohi-hpanel__bar { padding: 11px 18px; }
.zohi-hpanel__steps { padding: 8px 12px 2px; }
.zohi-hpanel__steps::before { left: 34px; top: 26px; bottom: 22px; }
.zohi-hpanel__steps li { padding: 6px 10px; gap: 12px; }
.zohi-hpanel__ico { width: 30px; height: 30px; font-size: 12px; border-radius: 9px; }
.zohi-hpanel__steps strong { font-size: 13.5px; }
.zohi-hpanel__steps small { font-size: 11.5px; line-height: 1.3; }
.zohi-hpanel__mods { margin-top: 4px; padding-top: 10px; }
.zohi-hnote { margin-top: 10px; }

/* definition: risk → prevention card */
.zohi-def-grid { align-items: stretch; }
.zohi-def-card--phases .zohi-phase-content p .fa { color: #f26629; font-size: 10px; margin-right: 4px; }
.zohi-def-card--phases .zohi-phase-content { padding-bottom: 16px; }
.zohi-def-card--phases .zohi-phase-item--last .zohi-phase-content { padding-bottom: 0; }

/* ══ DEFINITION v2 ═══════════════════════════════════════════ */
.zohi-d2 { background: #f7f9ff; padding: 72px 0; position: relative; overflow: hidden; }
.zohi-d2::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(60,72,88,.07) 1px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 70%);
          mask-image: linear-gradient(to bottom, #000, transparent 70%);
  pointer-events: none;
}
.zohi-d2 .container { position: relative; }

.zohi-d2-top {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 52px;
}
.zohi-d2-title {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 800;
  color: #3c4858;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 6px 0 16px;
  text-wrap: balance;
}
.zohi-d2-lead {
  font-size: 19px !important;
  font-weight: 500;
  color: #1a1f2e !important;
  line-height: 1.55 !important;
  margin-bottom: 14px;
  padding-left: 16px;
  border-left: 3px solid #f26629;
}
.zohi-d2-text p { font-size: 16px; color: #636678; line-height: 1.667em; margin-bottom: 20px; max-width: 600px; }
.zohi-d2-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.zohi-d2-chips span {
  display: inline-flex; align-items: center; gap: 7px;
  background: #fff;
  border: 1px solid #e3e8f4;
  box-shadow: 0 2px 8px rgba(20,30,60,.04);
  border-radius: 100px;
  padding: 7px 15px;
  font-size: 13px; font-weight: 600; color: #3c4858;
}
.zohi-d2-chips .fa { color: #f26629; font-size: 12px; }

/* ECC timeline card */
.zohi-d2-ecc {
  position: relative;
  background: linear-gradient(155deg, #07112a 0%, #0e1d4a 100%);
  border-radius: 22px;
  padding: 30px 30px 26px;
  color: #fff;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(7,17,42,.28);
}
.zohi-d2-ecc::after {
  content: '';
  position: absolute;
  width: 260px; height: 260px;
  right: -90px; top: -110px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(242,102,41,.28), transparent 65%);
}
.zohi-d2-ecc-head { position: relative; z-index: 1; }
.zohi-d2-ecc-tag {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase;
  color: #f26629;
  border: 1px solid rgba(242,102,41,.35);
  border-radius: 100px;
  padding: 4px 12px;
}
.zohi-d2-ecc-year {
  font-size: 68px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -3px;
  margin: 14px 0 8px;
  background: linear-gradient(90deg, #fff 0%, #ffb38a 60%, #f26629 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.zohi-d2-ecc-head p { font-size: 14px; color: rgba(255,255,255,.65); line-height: 1.6; margin: 0; }

.zohi-d2-tl { position: relative; z-index: 1; margin: 30px 4px 22px; height: 64px; }
.zohi-d2-tl-track {
  position: absolute; left: 0; right: 0; top: 7px;
  height: 4px; border-radius: 4px;
  background: rgba(255,255,255,.12);
  overflow: hidden;
}
.zohi-d2-tl-fill {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #16a34a, #f26629 55%, #e11d48);
}
.zohi-d2.visible .zohi-d2-tl-fill,
.zohi-d2-ecc:hover .zohi-d2-tl-fill { width: 100%; transition: width 1.6s cubic-bezier(.4,0,.2,1); }
.zohi-d2-tl-pt { position: absolute; top: 0; display: flex; flex-direction: column; align-items: center; transform: translateX(-50%); }
.zohi-d2-tl-pt i {
  width: 18px; height: 18px; border-radius: 50%;
  background: #07112a;
  border: 3px solid currentColor;
  margin-bottom: 8px;
}
.zohi-d2-tl-pt b { font-size: 14px; font-weight: 800; color: #fff; line-height: 1; }
.zohi-d2-tl-pt small { font-size: 11px; color: rgba(255,255,255,.5); margin-top: 3px; white-space: nowrap; }
.zohi-d2-tl-pt--now  { left: 6%;  color: #16a34a; }
.zohi-d2-tl-pt--main { left: 52%; color: #f26629; }
.zohi-d2-tl-pt--ext  { left: 92%; color: #e11d48; }
.zohi-d2-tl-pt--main i { box-shadow: 0 0 0 6px rgba(242,102,41,.18); animation: zohiPulse 1.8s ease-in-out infinite; }

.zohi-d2-ecc-link {
  position: relative; z-index: 1;
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 700; color: #f26629; text-decoration: none;
}
.zohi-d2-ecc-link:hover { color: #ff8a55; text-decoration: none; }
.zohi-d2-ecc-link .fa { transition: transform .2s; }
.zohi-d2-ecc-link:hover .fa { transform: translateX(4px); }

/* risk → prevention strip */
.zohi-d2-risks-head {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px;
  margin-bottom: 18px;
}
.zohi-d2-risks-head h3 { font-size: 22px; font-weight: 700; color: #3c4858; margin: 0; }
.zohi-d2-legend { font-size: 12.5px; color: #7a8499; display: inline-flex; align-items: center; gap: 6px; }
.zohi-d2-legend .fa-times { color: #e11d48; }
.zohi-d2-legend .fa-check { color: #16a34a; margin-left: 10px; }

.zohi-d2-risks { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.zohi-d2-risk {
  position: relative;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 16px;
  padding: 20px 18px 18px;
  display: flex; flex-direction: column; gap: 12px;
  overflow: hidden;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.zohi-d2-risk::before {
  content: '';
  position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: linear-gradient(90deg, #f26629, #ffb38a);
  transform: scaleX(0); transform-origin: left;
  transition: transform .35s ease;
}
.zohi-d2-risk:hover { transform: translateY(-5px); box-shadow: 0 14px 34px rgba(20,30,60,.09); border-color: rgba(242,102,41,.3); }
.zohi-d2-risk:hover::before { transform: scaleX(1); }
.zohi-d2-risk-num {
  position: absolute; right: 12px; top: 4px;
  font-size: 46px; font-weight: 900; line-height: 1;
  color: rgba(60,72,88,.06);
}
.zohi-d2-risk-ico {
  width: 40px; height: 40px; border-radius: 11px;
  background: #fff4ee; color: #f26629;
  display: inline-flex; align-items: center; justify-content: center; font-size: 16px;
}
.zohi-d2-risk-bad, .zohi-d2-risk-good { display: flex; gap: 8px; line-height: 1.45; }
.zohi-d2-risk-bad { font-size: 14px; font-weight: 700; color: #3c4858; }
.zohi-d2-risk-good {
  font-size: 13px; color: #4a5568;
  padding-top: 12px;
  border-top: 1px dashed #e3e8f4;
  margin-top: auto;
}
.zohi-d2-risk-bad .fa, .zohi-d2-risk-good .fa {
  flex-shrink: 0; margin-top: 3px;
  width: 16px; height: 16px; border-radius: 50%;
  font-size: 8px; display: inline-flex; align-items: center; justify-content: center;
}
.zohi-d2-risk-bad .fa  { background: #ffe4e8; color: #e11d48; }
.zohi-d2-risk-good .fa { background: #dcfce7; color: #16a34a; }

/* reuse the phase observer animation for risk cards */
.zohi-d2-risk.zohi-phase-anim { transform: translateY(18px); }
.zohi-d2-risk.zohi-phase-anim.visible { transform: translateY(0); }
.zohi-d2-risk.zohi-phase-anim.visible:hover { transform: translateY(-5px); }

@media (max-width: 1199px) {
  .zohi-d2-risks { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
  .zohi-d2-top { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 767px) {
  .zohi-d2 { padding: 52px 0; }
  .zohi-d2-risks { grid-template-columns: 1fr 1fr; }
  .zohi-d2-ecc-year { font-size: 54px; }
}
@media (max-width: 480px) {
  .zohi-d2-risks { grid-template-columns: 1fr; }
}

/* ══ WHO WE ARE v2 (white) ═══════════════════════════════════ */
.zohi-h2 { background: #fff; padding: 72px 0; }
.zohi-h2-head { text-align: center; max-width: 760px; margin: 0 auto 40px; }
.zohi-h2-head p { font-size: 16px; color: #636678; line-height: 1.667em; margin: 0; }

.zohi-h2-split {
  display: grid;
  grid-template-columns: 1fr 56px 1fr;
  align-items: stretch;
}
.zohi-h2-card {
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 20px;
  padding: 28px 28px 22px;
  box-shadow: 0 10px 34px rgba(20,30,60,.05);
  transition: box-shadow .25s, transform .25s;
}
.zohi-h2-card:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(20,30,60,.08); }
.zohi-h2-card--do  { --hc: #16a34a; --hb: #ecfdf3; }
.zohi-h2-card--not { --hc: #f26629; --hb: #fff4ee; }

.zohi-h2-card-head {
  display: flex; align-items: center; gap: 14px;
  padding-bottom: 18px; margin-bottom: 6px;
  border-bottom: 1px solid #eef0f6;
}
.zohi-h2-badge {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 13px;
  background: var(--hc); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 17px;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--hc) 35%, transparent);
}
.zohi-h2-card-head h3 { font-size: 21px; font-weight: 700; color: #3c4858; margin: 0; line-height: 1.2; }
.zohi-h2-card-head small { font-size: 12.5px; color: #8e9bb5; }

.zohi-h2-card ul { list-style: none; margin: 0; padding: 0; }
.zohi-h2-card li {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 13px 0;
  border-bottom: 1px dashed #eef0f6;
}
.zohi-h2-card li:last-child { border-bottom: 0; }
.zohi-h2-ico {
  width: 32px; height: 32px; flex-shrink: 0;
  border-radius: 9px;
  background: var(--hb); color: var(--hc);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px;
  transition: background .2s, color .2s;
}
.zohi-h2-card li:hover .zohi-h2-ico { background: var(--hc); color: #fff; }
.zohi-h2-txt { display: block; font-size: 15px; color: #4a5568; line-height: 1.55; padding-top: 5px; }
.zohi-h2-txt strong { color: #1a1f2e; font-weight: 700; }

/* centre divider with badge */
.zohi-h2-mid { position: relative; display: flex; align-items: center; justify-content: center; }
.zohi-h2-mid::before {
  content: '';
  position: absolute; top: 12%; bottom: 12%; left: 50%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, #e3e8f4 20%, #e3e8f4 80%, transparent);
}
.zohi-h2-mid span {
  position: relative;
  width: 46px; height: 46px; border-radius: 50%;
  background: #fff;
  border: 1.5px solid rgba(242,102,41,.35);
  box-shadow: 0 0 0 6px #fff, 0 6px 16px rgba(242,102,41,.15);
  color: #f26629;
  font-size: 9.5px; font-weight: 800; letter-spacing: .06em;
  display: flex; align-items: center; justify-content: center;
}

/* licensing flow */
.zohi-h2-flow {
  margin-top: 36px;
  border: 1px dashed #dfe4f0;
  border-radius: 20px;
  padding: 26px 28px 24px;
  background: linear-gradient(180deg, #fbfcff, #fff);
  text-align: center;
}
.zohi-h2-flow-lbl {
  display: inline-block;
  font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase;
  color: #8e9bb5;
  margin-bottom: 18px;
}
.zohi-h2-flow-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 14px;
}
.zohi-h2-node {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 14px 10px;
  border-radius: 14px;
}
.zohi-h2-node--you {
  background: #fff;
  border: 1px solid #e8eaf2;
  box-shadow: 0 10px 28px rgba(20,30,60,.07);
}
.zohi-h2-node-ico {
  width: 44px; height: 44px; border-radius: 13px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 17px; margin-bottom: 6px;
}
.zohi-h2-node-ico--sap  { background: #eef4ff; color: #1f5fae; }
.zohi-h2-node-ico--you  { background: #3c4858; color: #fff; }
.zohi-h2-node-ico--ogen { background: #fff4ee; color: #f26629; }
.zohi-h2-node strong { font-size: 14.5px; font-weight: 700; color: #3c4858; line-height: 1.3; }
.zohi-h2-node small  { font-size: 12.5px; color: #8e9bb5; line-height: 1.4; }

.zohi-h2-arrow { display: flex; align-items: center; gap: 8px; color: #b6c0d4; }
.zohi-h2-arrow span {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: #7a8499; background: #f3f5fa; border-radius: 100px; padding: 3px 10px;
}
.zohi-h2-arrow .fa { font-size: 13px; animation: zohiNudge 1.6s ease-in-out infinite; }
.zohi-h2-arrow--rev .fa { animation-name: zohiNudgeRev; }
@keyframes zohiNudge    { 0%,100%{transform:translateX(0)} 50%{transform:translateX(4px)} }
@keyframes zohiNudgeRev { 0%,100%{transform:translateX(0)} 50%{transform:translateX(-4px)} }

@media (max-width: 992px) {
  .zohi-h2-split { grid-template-columns: 1fr; gap: 18px; }
  .zohi-h2-mid { display: none; }
  .zohi-h2-flow-row { grid-template-columns: 1fr; gap: 6px; }
  .zohi-h2-arrow { justify-content: center; margin: 2px 0; }
  .zohi-h2-arrow .fa { transform: rotate(90deg); animation: none; }
}
@media (max-width: 576px) {
  .zohi-h2 { padding: 52px 0; }
  .zohi-h2-card { padding: 22px 18px 16px; }
  .zohi-h2-flow { padding: 22px 16px; }
}

/* ══ SERVICES v2 (light) ═════════════════════════════════════ */
.zohi-svc-section {
  padding: 76px 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(242,102,41,.06), transparent 40%),
    radial-gradient(circle at 90% 100%, rgba(31,95,174,.06), transparent 45%),
    #f7f9ff;
}
.zohi-svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.zohi-svc {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 20px;
  padding: 26px 26px 0;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(20,30,60,.04);
  opacity: 0;
  transform: translateY(20px);
}
.zohi-svc.visible { opacity: 1; transform: translateY(0); }
.zohi-svc.visible { transition: opacity .5s ease var(--delay,0s), transform .5s ease var(--delay,0s), box-shadow .25s, border-color .25s; }
.zohi-svc::before {
  content: '';
  position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: var(--sc);
  transform: scaleX(.18); transform-origin: left;
  transition: transform .4s ease;
}
.zohi-svc:hover { box-shadow: 0 20px 46px rgba(20,30,60,.1); border-color: color-mix(in srgb, var(--sc) 30%, #e8eaf2); }
.zohi-svc:hover::before { transform: scaleX(1); }

.zohi-svc-num {
  position: absolute; right: 18px; top: 10px;
  font-size: 58px; font-weight: 900; line-height: 1;
  color: color-mix(in srgb, var(--sc) 9%, transparent);
  pointer-events: none;
}
.zohi-svc-top { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.zohi-svc-ico {
  width: 48px; height: 48px; border-radius: 14px;
  background: var(--sb); color: var(--sc);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 19px;
  transition: background .25s, color .25s, transform .25s;
}
.zohi-svc:hover .zohi-svc-ico { background: var(--sc); color: #fff; transform: rotate(-6deg) scale(1.05); }
.zohi-svc-cat {
  font-size: 10.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase;
  color: var(--sc);
  border: 1px solid color-mix(in srgb, var(--sc) 30%, transparent);
  border-radius: 100px; padding: 3px 10px;
}
.zohi-svc h3 { font-size: 20px; font-weight: 700; color: #3c4858; line-height: 1.3; margin-bottom: 10px; }
.zohi-svc > p { font-size: 14.5px; color: #636678; line-height: 1.62; margin-bottom: 18px; }

.zohi-svc-inc-lbl {
  font-size: 10.5px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase;
  color: #8e9bb5; margin-bottom: 10px;
}
.zohi-svc-inc { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 9px; }
.zohi-svc-inc li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #3c4858; line-height: 1.45; }
.zohi-svc-inc .fa {
  flex-shrink: 0; margin-top: 2px;
  width: 17px; height: 17px; border-radius: 50%;
  background: var(--sb); color: var(--sc);
  font-size: 8.5px; display: inline-flex; align-items: center; justify-content: center;
}

.zohi-svc-foot {
  margin: auto -26px 0;
  padding: 14px 26px;
  background: #fafbfe;
  border-top: 1px solid #eef0f6;
  font-size: 13px; color: #4a5568; line-height: 1.4;
  display: flex; align-items: center; gap: 10px;
}
.zohi-svc-foot span {
  flex-shrink: 0;
  font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  color: #fff; background: var(--sc); border-radius: 6px; padding: 3px 8px;
}

.zohi-svc--feat { border-color: rgba(242,102,41,.35); background: linear-gradient(180deg, #fffaf6 0%, #fff 40%); }
.zohi-svc--feat::before { transform: scaleX(1); }
.zohi-svc-flag {
  position: absolute; right: 16px; top: 18px; z-index: 1;
  font-size: 10.5px; font-weight: 700; color: #fff;
  background: #f26629; border-radius: 100px; padding: 4px 11px;
  box-shadow: 0 6px 14px rgba(242,102,41,.3);
}
.zohi-svc--feat .zohi-svc-num { display: none; }

@media (max-width: 1199px) { .zohi-svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  {
  .zohi-svc-section { padding: 52px 0; }
  .zohi-svc-grid { grid-template-columns: 1fr; }
}

/* ══ COMPARISON v2 (versus layout) ═══════════════════════════ */
.zohi-vs-section { background: #fff; padding: 76px 0; --b1: #1f5fae; --b1b: #eef4ff; --s4: #f26629; --s4b: #fff4ee; }

.zohi-vs-heads {
  display: grid;
  grid-template-columns: 1fr 200px 1fr;
  align-items: center;
  margin-bottom: 14px;
}
.zohi-vs-head {
  display: flex; align-items: center; gap: 14px;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid;
}
.zohi-vs-head--b1 { background: var(--b1b); border-color: rgba(31,95,174,.18); justify-content: flex-end; text-align: right; }
.zohi-vs-head--s4 { background: var(--s4b); border-color: rgba(242,102,41,.22); }
.zohi-vs-head--b1 .zohi-vs-head-ico { order: 2; }
.zohi-vs-head-ico {
  width: 48px; height: 48px; flex-shrink: 0; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 19px; color: #fff;
}
.zohi-vs-head--b1 .zohi-vs-head-ico { background: var(--b1); box-shadow: 0 8px 18px rgba(31,95,174,.3); }
.zohi-vs-head--s4 .zohi-vs-head-ico { background: var(--s4); box-shadow: 0 8px 18px rgba(242,102,41,.3); }
.zohi-vs-head strong { display: block; font-size: 20px; font-weight: 800; color: #3c4858; line-height: 1.2; }
.zohi-vs-head small  { font-size: 13px; color: #7a8499; }

.zohi-vs-badge {
  justify-self: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: #3c4858; color: #fff;
  font-size: 15px; font-weight: 900; letter-spacing: .04em;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 7px #fff, 0 0 0 8px #e8eaf2, 0 10px 24px rgba(20,30,60,.18);
}

.zohi-vs-body { position: relative; }
.zohi-vs-body::before {
  content: '';
  position: absolute; top: 0; bottom: 0; left: 50%;
  width: 1px; background: #eef0f6; transform: translateX(-50%);
}
.zohi-vs-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 200px 1fr;
  align-items: center;
  border-bottom: 1px dashed #eef0f6;
  transition: background .2s;
}
.zohi-vs-row:last-child { border-bottom: 0; }
.zohi-vs-row:hover { background: linear-gradient(90deg, rgba(31,95,174,.035), transparent 40%, transparent 60%, rgba(242,102,41,.04)); }
.zohi-vs-cell { padding: 16px 22px; font-size: 14.5px; color: #4a5568; line-height: 1.5; }
.zohi-vs-cell--b1 { text-align: right; }
.zohi-vs-row:hover .zohi-vs-cell { color: #1a1f2e; }

.zohi-vs-factor {
  position: relative; z-index: 1;
  justify-self: center;
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff;
  border: 1px solid #e3e8f4;
  border-radius: 100px;
  padding: 6px 14px;
  font-size: 12px; font-weight: 700; color: #3c4858;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(20,30,60,.04);
  transition: border-color .2s, color .2s;
}
.zohi-vs-factor .fa { color: #f26629; font-size: 11px; }
.zohi-vs-row:hover .zohi-vs-factor { border-color: rgba(242,102,41,.4); color: #f26629; }

.zohi-vs-fit {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
  margin-top: 26px;
}
.zohi-vs-fit-card {
  border-radius: 18px;
  padding: 22px 24px;
  border-left: 4px solid;
}
.zohi-vs-fit-card--b1 { background: var(--b1b); border-color: var(--b1); }
.zohi-vs-fit-card--s4 { background: var(--s4b); border-color: var(--s4); }
.zohi-vs-fit-lbl { display: block; font-size: 15px; font-weight: 800; margin-bottom: 6px; }
.zohi-vs-fit-card--b1 .zohi-vs-fit-lbl { color: var(--b1); }
.zohi-vs-fit-card--s4 .zohi-vs-fit-lbl { color: var(--s4); }
.zohi-vs-fit-card p { font-size: 14.5px; color: #4a5568; line-height: 1.6; margin: 0; }

.zohi-vs-section .zohi-cmp-note { margin-top: 18px; }

@media (max-width: 992px) {
  .zohi-vs-heads, .zohi-vs-row { grid-template-columns: 1fr 150px 1fr; }
}
@media (max-width: 767px) {
  .zohi-vs-section { padding: 52px 0; }
  .zohi-vs-heads { grid-template-columns: 1fr; gap: 10px; }
  .zohi-vs-head--b1 { justify-content: flex-start; text-align: left; }
  .zohi-vs-head--b1 .zohi-vs-head-ico { order: 0; }
  .zohi-vs-badge { width: 42px; height: 42px; font-size: 12px; }
  .zohi-vs-body::before { display: none; }
  .zohi-vs-row {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 14px 0;
  }
  .zohi-vs-factor { grid-column: 1 / -1; grid-row: 1; justify-self: start; }
  .zohi-vs-cell { padding: 0; text-align: left !important; font-size: 13.5px; }
  .zohi-vs-cell::before {
    content: attr(data-lbl);
    display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px;
  }
  .zohi-vs-cell--b1::before { color: var(--b1); }
  .zohi-vs-cell--s4::before { color: var(--s4); }
  .zohi-vs-fit { grid-template-columns: 1fr; }
}

/* ══ COST v2 (budget anatomy) ════════════════════════════════ */
.zohi-bud-section { background: #fff; padding: 76px 0; border-top: 1px solid #f0f2f8; }

.zohi-bud-bar { margin-bottom: 22px; }
.zohi-bud-bar-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px;
  margin-bottom: 10px;
  font-size: 13px; font-weight: 700; color: #3c4858;
}
.zohi-bud-legend { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 500; color: #7a8499; }
.zohi-bud-dot { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.zohi-bud-dot--sap  { background: #1f5fae; }
.zohi-bud-dot--ogen { background: #f26629; margin-left: 10px; }

.zohi-bud-segs {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px;
  border-radius: 14px; overflow: hidden;
}
.zohi-bud-seg {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px;
  background: var(--sc);
  color: #fff;
  font-size: 13px; font-weight: 600;
  position: relative; overflow: hidden;
}
.zohi-bud-seg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.22) 50%, transparent 70%);
  transform: translateX(-100%);
  animation: zohiShine 4.5s ease-in-out infinite;
}
.zohi-bud-seg:nth-child(2)::after { animation-delay: .4s; }
.zohi-bud-seg:nth-child(3)::after { animation-delay: .8s; }
.zohi-bud-seg:nth-child(4)::after { animation-delay: 1.2s; }
@keyframes zohiShine { 0%, 60%, 100% { transform: translateX(-100%); } 30% { transform: translateX(100%); } }
.zohi-bud-seg span {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  background: rgba(255,255,255,.22);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 800;
}

.zohi-bud-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: stretch; }
.zohi-bud-card {
  position: relative;
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-top: 3px solid var(--sc);
  border-radius: 18px;
  padding: 22px 22px 0;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(20,30,60,.04);
  opacity: 0; transform: translateY(20px);
}
.zohi-bud-card.visible { opacity: 1; transform: translateY(0); transition: opacity .5s ease var(--delay,0s), transform .5s ease var(--delay,0s), box-shadow .25s; }
.zohi-bud-card:hover { box-shadow: 0 18px 42px rgba(20,30,60,.09); }

.zohi-bud-flag {
  position: absolute; right: 14px; top: 14px;
  font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: #fff; background: #f26629; border-radius: 100px; padding: 4px 10px;
}
.zohi-bud-top { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.zohi-bud-ico {
  width: 44px; height: 44px; border-radius: 13px;
  background: var(--sb); color: var(--sc);
  display: inline-flex; align-items: center; justify-content: center; font-size: 17px;
  transition: background .25s, color .25s;
}
.zohi-bud-card:hover .zohi-bud-ico { background: var(--sc); color: #fff; }
.zohi-bud-step { font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: #8e9bb5; }
.zohi-bud-part { font-size: 12.5px; font-weight: 700; color: var(--sc); }
.zohi-bud-card h3 { font-size: 19px; font-weight: 800; color: #3c4858; line-height: 1.25; margin: 2px 0 10px; }

.zohi-bud-pay {
  align-self: flex-start;
  font-size: 11.5px; font-weight: 700;
  border-radius: 7px; padding: 4px 9px;
  margin-bottom: 18px;
}
.zohi-bud-pay--sap  { background: #eef4ff; color: #1f5fae; }
.zohi-bud-pay--ogen { background: #fff4ee; color: #d9561f; }

.zohi-bud-lbl { font-size: 10.5px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: #8e9bb5; margin-bottom: 8px; }
.zohi-bud-list { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-direction: column; }
.zohi-bud-list li {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0;
  border-bottom: 1px dashed #eef0f6;
  font-size: 14px; color: #4a5568; line-height: 1.4;
}
.zohi-bud-list li:last-child { border-bottom: 0; }
.zohi-bud-list .fa {
  flex-shrink: 0;
  width: 18px; height: 18px; border-radius: 50%;
  background: #ffe9e0; color: #e0531a;
  font-size: 8.5px; display: inline-flex; align-items: center; justify-content: center;
}
.zohi-bud-list .zohi-bud-down { color: #15803d; font-weight: 600; }
.zohi-bud-list .zohi-bud-down .fa { background: #dcfce7; color: #16a34a; }

.zohi-bud-tip {
  margin: auto -22px 0;
  padding: 14px 22px;
  background: #fafbfe;
  border-top: 1px solid #eef0f6;
  display: flex; gap: 10px;
  font-size: 13px; color: #4a5568; line-height: 1.5;
}
.zohi-bud-tip .fa { color: #f5a524; margin-top: 3px; }

@media (max-width: 1199px) {
  .zohi-bud-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .zohi-bud-section { padding: 52px 0; }
  .zohi-bud-segs { grid-template-columns: 1fr 1fr; }
  .zohi-bud-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .zohi-bud-seg::after { animation: none; }
}

/* ══ ECC MIGRATION v2 (dark) ═════════════════════════════════ */
.zohi-ecc {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background: linear-gradient(160deg, #050d1a 0%, #081430 55%, #0d1a3d 100%);
  color: #fff;
}
.zohi-ecc::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.zohi-ecc-glow {
  position: absolute;
  width: 640px; height: 640px; right: -200px; top: -260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(242,102,41,.18), transparent 65%);
  pointer-events: none;
}
.zohi-ecc .container { position: relative; z-index: 1; }

.zohi-ecc-top {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 52px;
}
.zohi-ecc-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: .04em;
  color: #ffb38a;
  background: rgba(242,102,41,.12);
  border: 1px solid rgba(242,102,41,.3);
  border-radius: 100px; padding: 5px 14px;
  margin-bottom: 16px;
}
.zohi-ecc-title {
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 800; color: #fff;
  line-height: 1.15; letter-spacing: -.02em;
  margin-bottom: 16px;
}
.zohi-ecc-title span { color: #f26629; }
.zohi-ecc-intro p { font-size: 16px; color: rgba(255,255,255,.66); line-height: 1.7; margin: 0; max-width: 640px; }

.zohi-ecc-stats { display: grid; gap: 12px; }
.zohi-ecc-stat {
  display: flex; align-items: center; gap: 18px;
  padding: 16px 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  transition: border-color .25s, background .25s;
}
.zohi-ecc-stat:hover { border-color: rgba(242,102,41,.35); background: rgba(242,102,41,.06); }
.zohi-ecc-stat b {
  font-size: 34px; font-weight: 900; line-height: 1; min-width: 92px;
  color: #fff; letter-spacing: -1px;
}
.zohi-ecc-stat--main { background: linear-gradient(120deg, rgba(242,102,41,.2), rgba(242,102,41,.05)); border-color: rgba(242,102,41,.4); }
.zohi-ecc-stat--main b { color: #f26629; }
.zohi-ecc-stat span { font-size: 13.5px; color: rgba(255,255,255,.65); line-height: 1.4; }

/* route map */
.zohi-ecc-map { display: flex; flex-direction: column; align-items: center; }
.zohi-ecc-node {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 11px 22px;
  border-radius: 100px;
  font-size: 14px; font-weight: 700;
}
.zohi-ecc-node--from { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); color: #e2e8f0; }
.zohi-ecc-node--from .fa { color: #94a3b8; }
.zohi-ecc-node--to { background: #f26629; color: #fff; box-shadow: 0 12px 30px rgba(242,102,41,.35); }

.zohi-ecc-branch {
  position: relative;
  width: 66.66%;
  height: 34px;
  border: 2px dashed rgba(242,102,41,.4);
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
  margin-top: 18px;
}
.zohi-ecc-branch::before {
  content: '';
  position: absolute; left: 50%; top: -20px;
  width: 0; height: 20px;
  border-left: 2px dashed rgba(242,102,41,.4);
}
.zohi-ecc-branch::after {
  content: '';
  position: absolute; left: 50%; top: 0; bottom: 0;
  border-left: 2px dashed rgba(242,102,41,.4);
}
.zohi-ecc-branch--in {
  margin-top: 0; margin-bottom: 18px;
  border: 2px dashed rgba(242,102,41,.4);
  border-top: 0;
  border-radius: 0 0 16px 16px;
}
.zohi-ecc-branch--in::before { top: auto; bottom: -20px; }

.zohi-ecc-routes {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.zohi-ecc-route {
  position: relative;
  display: flex; flex-direction: column;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  padding: 22px 22px 0;
  overflow: hidden;
  backdrop-filter: blur(6px);
  transition: border-color .25s, background .25s, transform .25s;
}
.zohi-ecc-route.visible:hover { transform: translateY(-4px); border-color: rgba(242,102,41,.35); background: rgba(242,102,41,.06); }
.zohi-ecc-route-top { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.zohi-ecc-route-l {
  width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px;
  background: #f26629; color: #fff;
  font-size: 18px; font-weight: 900;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 18px rgba(242,102,41,.3);
}
.zohi-ecc-route strong { display: block; font-size: 18px; font-weight: 800; color: #fff; line-height: 1.2; }
.zohi-ecc-route small { font-size: 12.5px; color: rgba(255,255,255,.5); }
.zohi-ecc-route p { font-size: 14px; color: rgba(255,255,255,.66); line-height: 1.6; margin-bottom: 16px; }
.zohi-ecc-best {
  margin: auto -22px 0;
  padding: 13px 22px 15px;
  background: rgba(255,255,255,.03);
  border-top: 1px solid rgba(255,255,255,.07);
  font-size: 13px; color: rgba(255,255,255,.78); line-height: 1.5;
}
.zohi-ecc-best span {
  display: block;
  font-size: 10.5px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase;
  color: #f26629; margin-bottom: 3px;
}

/* readiness strip */
.zohi-ecc-check {
  margin-top: 46px;
  padding: 24px 26px;
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
}
.zohi-ecc-check-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
  margin-bottom: 18px;
}
.zohi-ecc-check-head strong { font-size: 18px; font-weight: 700; color: #fff; }
.zohi-ecc-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: #f26629; color: #fff;
  padding: 11px 22px; border-radius: 8px;
  font-size: 14px; font-weight: 600; text-decoration: none;
  transition: background .2s, transform .2s;
}
.zohi-ecc-cta:hover { background: #d9561f; color: #fff; text-decoration: none; transform: translateY(-2px); }
.zohi-ecc-check ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 24px;
}
.zohi-ecc-check li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: rgba(255,255,255,.78); line-height: 1.5; }
.zohi-ecc-check li .fa {
  flex-shrink: 0; margin-top: 2px;
  width: 18px; height: 18px; border-radius: 50%;
  background: rgba(242,102,41,.18); color: #f26629;
  font-size: 9px; display: inline-flex; align-items: center; justify-content: center;
}

@media (max-width: 992px) {
  .zohi-ecc-top { grid-template-columns: 1fr; gap: 30px; }
  .zohi-ecc-stats { grid-template-columns: repeat(3, 1fr); }
  .zohi-ecc-stat { flex-direction: column; align-items: flex-start; gap: 6px; }
  .zohi-ecc-stat b { min-width: 0; }
  .zohi-ecc-check ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .zohi-ecc { padding: 56px 0; }
  .zohi-ecc-branch { display: none; }
  .zohi-ecc-routes { grid-template-columns: 1fr; margin: 16px 0; }
  .zohi-ecc-stats { grid-template-columns: 1fr; }
  .zohi-ecc-check ul { grid-template-columns: 1fr; }
}

/* ══ INDUSTRIES v2 (explorer, light) ═════════════════════════ */
.zohi-ix {
  padding: 76px 0;
  background:
    radial-gradient(circle at 0% 0%, rgba(242,102,41,.05), transparent 35%),
    radial-gradient(circle at 100% 100%, rgba(99,102,241,.05), transparent 40%),
    #f7f9ff;
}
.zohi-ix-wrap {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 24px;
  align-items: start;
}
.zohi-ix-tabs {
  display: flex; flex-direction: column; gap: 8px;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 20px;
  padding: 10px;
  box-shadow: 0 4px 18px rgba(20,30,60,.04);
}
.zohi-ix-tab {
  display: flex; align-items: center; gap: 12px;
  width: 100%;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 13px;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.zohi-ix-tab:hover { background: #f7f9ff; }
.zohi-ix-tab:focus-visible { outline: 2px solid var(--ic); outline-offset: 2px; }
.zohi-ix-tab-ico {
  width: 36px; height: 36px; flex-shrink: 0; border-radius: 10px;
  background: var(--ib); color: var(--ic);
  display: inline-flex; align-items: center; justify-content: center; font-size: 14px;
  transition: background .2s, color .2s;
}
.zohi-ix-tab-t { flex: 1; font-size: 14.5px; font-weight: 600; color: #3c4858; }
.zohi-ix-tab-arr { font-size: 11px; color: var(--ic); opacity: 0; transform: translateX(-6px); transition: opacity .2s, transform .2s; }
.zohi-ix-tab.is-active { background: var(--ib); border-color: color-mix(in srgb, var(--ic) 25%, transparent); }
.zohi-ix-tab.is-active .zohi-ix-tab-ico { background: var(--ic); color: #fff; }
.zohi-ix-tab.is-active .zohi-ix-tab-t { color: #1a1f2e; font-weight: 700; }
.zohi-ix-tab.is-active .zohi-ix-tab-arr,
.zohi-ix-tab:hover .zohi-ix-tab-arr { opacity: 1; transform: translateX(0); }

.zohi-ix-panel {
  position: relative;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 22px;
  padding: 34px 36px;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(20,30,60,.06);
  animation: zohiIxIn .4s ease;
}
.zohi-ix-panel::before {
  content: '';
  position: absolute; right: -120px; top: -120px;
  width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--ic) 16%, transparent), transparent 70%);
  pointer-events: none;
}
.zohi-ix-panel::after {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: var(--ic);
}
@keyframes zohiIxIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.zohi-ix-panel-head { position: relative; display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.zohi-ix-panel-ico {
  width: 60px; height: 60px; flex-shrink: 0; border-radius: 18px;
  background: var(--ic); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 24px;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--ic) 35%, transparent);
}
.zohi-ix-panel-k { font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--ic); }
.zohi-ix-panel h3 { font-size: 28px; font-weight: 800; color: #3c4858; margin: 2px 0 0; line-height: 1.15; letter-spacing: -.01em; }
.zohi-ix-panel-lead {
  position: relative;
  font-size: 18px; color: #4a5568; line-height: 1.6;
  margin-bottom: 26px; max-width: 640px;
}
.zohi-ix-panel-cols {
  position: relative;
  display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
  padding-top: 24px;
  border-top: 1px dashed #e3e8f4;
}
.zohi-ix-lbl { font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #8e9bb5; margin-bottom: 12px; }
.zohi-ix-panel ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.zohi-ix-panel li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #3c4858; }
.zohi-ix-panel li .fa {
  flex-shrink: 0;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--ib); color: var(--ic);
  font-size: 9px; display: inline-flex; align-items: center; justify-content: center;
}
.zohi-ix-mods { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.zohi-ix-mods span {
  font-size: 13px; font-weight: 600; color: var(--ic);
  background: var(--ib);
  border: 1px solid color-mix(in srgb, var(--ic) 22%, transparent);
  border-radius: 9px; padding: 5px 12px;
}
.zohi-ix-note {
  font-size: 13px; color: #7a8499; line-height: 1.55; margin: 0;
  padding: 12px 14px; border-radius: 12px; background: #f7f9ff;
}

@media (max-width: 992px) {
  .zohi-ix-wrap { grid-template-columns: 1fr; }
  .zohi-ix-tabs {
    flex-direction: row; overflow-x: auto; padding: 8px;
    scrollbar-width: none;
  }
  .zohi-ix-tabs::-webkit-scrollbar { display: none; }
  .zohi-ix-tab { width: auto; flex-shrink: 0; }
  .zohi-ix-tab-arr { display: none; }
}
@media (max-width: 767px) {
  .zohi-ix { padding: 52px 0; }
  .zohi-ix-panel { padding: 24px 20px; }
  .zohi-ix-panel h3 { font-size: 22px; }
  .zohi-ix-panel-lead { font-size: 16px; }
  .zohi-ix-panel-cols { grid-template-columns: 1fr; gap: 22px; }
}
@media (prefers-reduced-motion: reduce) { .zohi-ix-panel { animation: none; } }

/* ══ WHY OGEN v2 (dark bento) ════════════════════════════════ */
.zohi-wb {
  position: relative; overflow: hidden;
  padding: 80px 0;
  background: linear-gradient(160deg, #050d1a 0%, #081430 55%, #0d1a3d 100%);
  color: #fff;
}
.zohi-wb::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.zohi-wb-glow {
  position: absolute; width: 620px; height: 620px; left: -240px; bottom: -280px; border-radius: 50%;
  background: radial-gradient(circle, rgba(242,102,41,.16), transparent 65%);
  pointer-events: none;
}
.zohi-wb .container { position: relative; z-index: 1; }

.zohi-wb-head { text-align: center; max-width: 820px; margin: 0 auto 44px; }
.zohi-wb-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase;
  color: #ffb38a; background: rgba(242,102,41,.12);
  border: 1px solid rgba(242,102,41,.3); border-radius: 100px; padding: 5px 14px;
  margin-bottom: 16px;
}
.zohi-wb-head h2 {
  font-size: clamp(28px, 3.2vw, 42px); font-weight: 800; color: #fff;
  letter-spacing: -.02em; line-height: 1.2; margin-bottom: 14px; text-wrap: balance;
}
.zohi-wb-head p { font-size: 16px; color: rgba(255,255,255,.62); line-height: 1.7; margin: 0; }

.zohi-wb-grid { display: grid; grid-template-columns: .95fr 1.6fr; gap: 20px; align-items: stretch; }

.zohi-wb-feature {
  position: relative;
  display: flex; flex-direction: column;
  border-radius: 22px;
  padding: 30px 30px 28px;
  background:
    linear-gradient(160deg, rgba(242,102,41,.16), rgba(242,102,41,.03) 55%),
    rgba(255,255,255,.03);
  border: 1px solid rgba(242,102,41,.35);
  box-shadow: 0 30px 60px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
  overflow: hidden;
}
.zohi-wb-feature::after {
  content: ''; position: absolute; right: -80px; top: -80px; width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(242,102,41,.3), transparent 70%);
  pointer-events: none;
}
.zohi-wb-feature h3 { font-size: 30px; font-weight: 800; color: #fff; line-height: 1.15; letter-spacing: -.02em; margin: 6px 0 14px; }
.zohi-wb-feature h3 span { color: #f26629; }
.zohi-wb-feature p { font-size: 15px; color: rgba(255,255,255,.7); line-height: 1.65; margin-bottom: 20px; }
.zohi-wb-feature ul {
  list-style: none; margin: 0 0 26px; padding: 18px 0 0;
  border-top: 1px dashed rgba(255,255,255,.12);
  display: flex; flex-direction: column; gap: 11px;
}
.zohi-wb-feature li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: rgba(255,255,255,.88); }
.zohi-wb-feature li .fa {
  flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%;
  background: #f26629; color: #fff; font-size: 9px;
  display: inline-flex; align-items: center; justify-content: center;
}
.zohi-wb-cta {
  margin-top: auto; align-self: flex-start;
  display: inline-flex; align-items: center; gap: 8px;
  background: #f26629; color: #fff;
  padding: 13px 24px; border-radius: 9px;
  font-size: 14px; font-weight: 600; text-decoration: none;
  box-shadow: 0 10px 26px rgba(242,102,41,.35);
  transition: background .2s, transform .2s;
}
.zohi-wb-cta:hover { background: #d9561f; color: #fff; text-decoration: none; transform: translateY(-2px); }

.zohi-wb-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.zohi-wb-card {
  position: relative;
  display: flex; flex-direction: column;
  border-radius: 20px;
  padding: 24px 24px 22px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  transition: background .25s, border-color .25s, transform .25s;
}
.zohi-wb-card.visible:hover { background: rgba(242,102,41,.07); border-color: rgba(242,102,41,.3); transform: translateY(-4px); }
.zohi-wb-card-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.zohi-wb-ico {
  width: 44px; height: 44px; border-radius: 12px;
  background: rgba(242,102,41,.15); color: #f26629;
  display: inline-flex; align-items: center; justify-content: center; font-size: 17px;
  transition: background .25s, color .25s;
}
.zohi-wb-card:hover .zohi-wb-ico { background: #f26629; color: #fff; }
.zohi-wb-ico--lg { width: 52px; height: 52px; font-size: 21px; background: #f26629; color: #fff; box-shadow: 0 10px 24px rgba(242,102,41,.35); }
.zohi-wb-n {
  font-size: 12px; font-weight: 800; letter-spacing: .06em;
  color: rgba(255,255,255,.35);
  border: 1px solid rgba(255,255,255,.12); border-radius: 8px; padding: 4px 9px;
}
.zohi-wb-tag { position: relative; z-index: 1; font-size: 10.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #f26629; }
.zohi-wb-card h3 { font-size: 18px; font-weight: 700; color: #fff; line-height: 1.3; margin: 6px 0 10px; }
.zohi-wb-card p { font-size: 14px; color: rgba(255,255,255,.62); line-height: 1.62; margin: 0; }

@media (max-width: 1199px) {
  .zohi-wb-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .zohi-wb { padding: 56px 0; }
  .zohi-wb-cards { grid-template-columns: 1fr; }
  .zohi-wb-feature { padding: 24px 20px; }
  .zohi-wb-feature h3 { font-size: 25px; }
}

/* ══ ABOUT / ENTITY v2 (white) ═══════════════════════════════ */
.zohi-ab { background: #fff; padding: 76px 0 56px; border-top: 1px solid #f0f2f8; }
.zohi-ab-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 48px; align-items: start; }

.zohi-ab-title {
  font-size: clamp(26px, 2.8vw, 36px); font-weight: 800; color: #3c4858;
  letter-spacing: -.02em; line-height: 1.2; margin: 6px 0 18px; text-wrap: balance;
}
.zohi-ab-lead {
  font-size: 18px !important; color: #1a1f2e !important; font-weight: 500; line-height: 1.6 !important;
  padding-left: 16px; border-left: 3px solid #f26629; margin-bottom: 16px;
}
.zohi-ab-text p { font-size: 15.5px; color: #636678; line-height: 1.75; margin-bottom: 14px; }
.zohi-ab-text p:last-child { margin-bottom: 0; }

.zohi-ab-sheet {
  position: sticky; top: 110px;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 22px;
  padding: 24px 24px 22px;
  box-shadow: 0 18px 44px rgba(20,30,60,.07);
  overflow: hidden;
}
.zohi-ab-sheet::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, #f26629, #ffb38a);
}
.zohi-ab-sheet-head { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 4px; border-bottom: 1px solid #eef0f6; }
.zohi-ab-sheet-ico {
  width: 44px; height: 44px; border-radius: 13px; background: #fff4ee; color: #f26629;
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px;
}
.zohi-ab-sheet-head strong { display: block; font-size: 17px; font-weight: 800; color: #3c4858; line-height: 1.2; }
.zohi-ab-sheet-head small { font-size: 12.5px; color: #8e9bb5; }

.zohi-ab-sheet dl { margin: 0; }
.zohi-ab-row {
  display: grid; grid-template-columns: 140px 1fr; gap: 12px;
  padding: 11px 0; border-bottom: 1px dashed #eef0f6;
}
.zohi-ab-row:last-child { border-bottom: 0; }
.zohi-ab-row dt {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8e9bb5;
}
.zohi-ab-row dt .fa { width: 14px; text-align: center; color: #f26629; font-size: 11px; }
.zohi-ab-row dd { margin: 0; font-size: 14px; font-weight: 600; color: #3c4858; line-height: 1.45; }

.zohi-ab-sheet-cta {
  margin-top: 16px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: #3c4858; color: #fff;
  padding: 12px 18px; border-radius: 11px;
  font-size: 14px; font-weight: 600; text-decoration: none;
  transition: background .2s;
}
.zohi-ab-sheet-cta:hover { background: #f26629; color: #fff; text-decoration: none; }

.zohi-ab-strips { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; margin-top: 44px; }
.zohi-ab-strip {
  background: #f7f9ff; border: 1px solid #eef0f6; border-radius: 18px;
  padding: 18px 20px;
}
.zohi-ab-strip-lbl {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #8e9bb5;
  margin-bottom: 12px;
}
.zohi-ab-strip-lbl .fa { color: #f26629; }
.zohi-ab-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.zohi-ab-pills--city span {
  font-size: 13px; font-weight: 600; color: #3c4858;
  background: #fff; border: 1px solid #e3e8f4; border-radius: 100px; padding: 6px 14px;
}
.zohi-ab-pills--link a {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: #3c4858; text-decoration: none;
  background: #fff; border: 1px solid #e3e8f4; border-radius: 10px; padding: 7px 14px;
  transition: border-color .2s, color .2s;
}
.zohi-ab-pills--link a .fa { font-size: 10px; color: #f26629; transition: transform .2s; }
.zohi-ab-pills--link a:hover { border-color: rgba(242,102,41,.4); color: #f26629; text-decoration: none; }
.zohi-ab-pills--link a:hover .fa { transform: translateX(3px); }

.zohi-ab-tm {
  display: flex; gap: 10px;
  margin: 28px 0 0; padding-top: 20px;
  border-top: 1px solid #eef0f6;
  font-size: 12px !important; color: #9aa4b8 !important; line-height: 1.65 !important;
}
.zohi-ab-tm .fa { margin-top: 3px; color: #c3cad8; }

@media (max-width: 992px) {
  .zohi-ab-grid { grid-template-columns: 1fr; gap: 32px; }
  .zohi-ab-sheet { position: static; }
  .zohi-ab-strips { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
  .zohi-ab { padding: 52px 0 40px; }
  .zohi-ab-row { grid-template-columns: 1fr; gap: 3px; }
}

/* ══════════════════════════════════════════════════════════════
   TYPOGRAPHY & SPACING — matched to homepage (ogen_header.css)
   H1 56/36 · H2 38/30/22 · eyebrow 18 · lead p 18 · body p 16
   Section padding 80px (60px ≤575px)
   ══════════════════════════════════════════════════════════════ */

/* section rhythm */
.zohi-d2, .zohi-h2, .zohi-svc-section, .zohi-vs-section, .zohi-ecc,
.zohi-proc-section, .zohi-wb, .zohi-bud-section, .zohi-ix, .zohi-ab {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* section heads */
.zohi-h2-head, .zohi-plat-head, .zohi-cmp-head, .zohi-proc-head,
.zohi-cost-head, .zohi-ind2-head, .zohi-wb-head { margin-bottom: 40px; }

/* H1 */
.zohi-hero__h1 {
  font-size: 56px;
  line-height: 1.143em;
  font-weight: 700;
  letter-spacing: -.042em;
}

/* H2: every section title on the page */
.zohi-h2-head .mainheadingtitle, .zohi-plat-head .mainheadingtitle, .zohi-cmp-head .mainheadingtitle,
.zohi-proc-head .mainheadingtitle, .zohi-cost-head .mainheadingtitle, .zohi-ind2-head .mainheadingtitle,
.zohi-d2-title, .zohi-ecc-title, .zohi-wb-head h2, .zohi-ab-title {
  font-size: 38px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -.024em;
  margin: 0 0 12px;
  text-wrap: balance;
}
.zohi-h2-head .mainheadingtitle, .zohi-plat-head .mainheadingtitle, .zohi-cmp-head .mainheadingtitle,
.zohi-proc-head .mainheadingtitle, .zohi-cost-head .mainheadingtitle, .zohi-ind2-head .mainheadingtitle,
.zohi-d2-title, .zohi-ab-title { color: #3c4858; display: block; }
.zohi-ecc-title, .zohi-wb-head h2 { color: #fff; }

/* eyebrow above H2 (light sections) */
.zohi-h2-head .subtitle_text, .zohi-plat-head .subtitle_text, .zohi-cmp-head .subtitle_text,
.zohi-proc-head .subtitle_text, .zohi-cost-head .subtitle_text, .zohi-ind2-head .subtitle_text,
.zohi-d2-text .subtitle_text, .zohi-ab-text .subtitle_text {
  display: block;
  font-size: 18px;
  font-weight: 400;
  color: #454545;
  margin-bottom: 7px;
}

/* lead / intro paragraphs: 18px */
.zohi-hero__sub,
.zohi-h2-head p, .zohi-plat-sub, .zohi-cmp-sub, .zohi-proc-subtitle, .zohi-cost-sub, .zohi-ind2-sub,
.zohi-ecc-intro p, .zohi-wb-head p,
.zohi-d2-lead, .zohi-ab-lead, .zohi-ix-panel-lead {
  font-size: 18px !important;
  line-height: 1.667em !important;
}
.zohi-h2-head p, .zohi-plat-sub, .zohi-cmp-sub, .zohi-proc-subtitle, .zohi-cost-sub, .zohi-ind2-sub {
  color: #636678;
  max-width: 760px;
  margin: 10px auto 0;
}

/* body paragraphs: 16px */
.zohi-d2-text p:not(.zohi-d2-lead), .zohi-ab-text p:not(.zohi-ab-lead),
.zohi-svc > p, .zohi-ecc-route p, .zohi-wb-feature p, .zohi-wb-card p,
.zohi-proc-card-desc, .zohi-vs-fit-card p {
  font-size: 16px !important;
  line-height: 1.667em !important;
}

/* H3 tiers */
.zohi-wb-feature h3, .zohi-ix-panel h3 { font-size: 28px; line-height: 1.25; font-weight: 700; }
.zohi-d2-risks-head h3 { font-size: 24px; line-height: 1.3; font-weight: 700; }
.zohi-svc h3, .zohi-bud-card h3, .zohi-wb-card h3, .zohi-proc-card-title,
.zohi-h2-card-head h3, .zohi-hpanel__title { font-size: 20px; line-height: 1.35; font-weight: 700; }
.zohi-hpanel__title { font-size: 13px; }
.zohi-ecc-route strong { font-size: 20px; }

/* list text inside cards: one size */
.zohi-svc-inc li, .zohi-bud-list li, .zohi-h2-txt, .zohi-ix-panel li,
.zohi-wb-feature li, .zohi-ecc-check li, .zohi-vs-cell { font-size: 15px; }

/* tablet */
@media (max-width: 1024px) {
  .zohi-hero__h1 { font-size: 36px; line-height: 1.222em; letter-spacing: -.024em; }
}
@media (max-width: 991px) {
  .zohi-h2-head .mainheadingtitle, .zohi-plat-head .mainheadingtitle, .zohi-cmp-head .mainheadingtitle,
  .zohi-proc-head .mainheadingtitle, .zohi-cost-head .mainheadingtitle, .zohi-ind2-head .mainheadingtitle,
  .zohi-d2-title, .zohi-ecc-title, .zohi-wb-head h2, .zohi-ab-title { font-size: 30px; line-height: 40px; }
  .zohi-wb-feature h3, .zohi-ix-panel h3 { font-size: 24px; }
}
/* phone */
@media (max-width: 576px) {
  .zohi-h2-head .mainheadingtitle, .zohi-plat-head .mainheadingtitle, .zohi-cmp-head .mainheadingtitle,
  .zohi-proc-head .mainheadingtitle, .zohi-cost-head .mainheadingtitle, .zohi-ind2-head .mainheadingtitle,
  .zohi-d2-title, .zohi-ecc-title, .zohi-wb-head h2, .zohi-ab-title { font-size: 22px; line-height: 32px; }
  .zohi-h2-head .subtitle_text, .zohi-plat-head .subtitle_text, .zohi-cmp-head .subtitle_text,
  .zohi-proc-head .subtitle_text, .zohi-cost-head .subtitle_text, .zohi-ind2-head .subtitle_text,
  .zohi-d2-text .subtitle_text, .zohi-ab-text .subtitle_text { font-size: 16px; }
  .zohi-hero__sub,
  .zohi-h2-head p, .zohi-plat-sub, .zohi-cmp-sub, .zohi-proc-subtitle, .zohi-cost-sub, .zohi-ind2-sub,
  .zohi-ecc-intro p, .zohi-wb-head p, .zohi-d2-lead, .zohi-ab-lead, .zohi-ix-panel-lead { font-size: 16px !important; }
  .zohi-wb-feature h3, .zohi-ix-panel h3 { font-size: 22px; }
  .zohi-svc h3, .zohi-bud-card h3, .zohi-wb-card h3, .zohi-proc-card-title, .zohi-h2-card-head h3 { font-size: 18px; }
}
@media (max-width: 575px) {
  .zohi-d2, .zohi-h2, .zohi-svc-section, .zohi-vs-section, .zohi-ecc,
  .zohi-proc-section, .zohi-wb, .zohi-bud-section, .zohi-ix, .zohi-ab {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
}

/* ══ BUYER'S CHECKLIST (compare SAP companies) ═══════════════ */
.zohi-sc { background: #f7f9ff; padding-top: 80px; padding-bottom: 80px; }
.zohi-sc .zohi-cmp-head { margin-bottom: 40px; }
.zohi-sc .zohi-cmp-head .mainheadingtitle {
  font-size: 38px; line-height: 1.3; font-weight: 700; letter-spacing: -.024em;
  color: #3c4858; display: block; margin: 0 0 12px; text-wrap: balance;
}
.zohi-sc .zohi-cmp-head .subtitle_text { display: block; font-size: 18px; font-weight: 400; color: #454545; margin-bottom: 7px; }

.zohi-sc-table {
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 34px rgba(20,30,60,.05);
}
.zohi-sc-row {
  display: grid;
  grid-template-columns: 1.05fr 1.2fr 1fr;
  border-bottom: 1px solid #eef0f6;
  transition: background .2s;
}
.zohi-sc-row:last-child { border-bottom: 0; }
.zohi-sc-row:not(.zohi-sc-row--head):hover { background: #fbfcff; }
.zohi-sc-row > div { padding: 16px 20px; }
.zohi-sc-row--head { background: #3c4858; }
.zohi-sc-row--head > div {
  padding: 13px 20px;
  font-size: 11.5px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: #fff;
}
.zohi-sc-q {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 16px; font-weight: 700; color: #3c4858; line-height: 1.45;
}
.zohi-sc-q span {
  flex-shrink: 0;
  width: 28px; height: 28px; border-radius: 8px;
  background: #f26629; color: #fff;
  font-size: 11.5px; font-weight: 800;
  display: inline-flex; align-items: center; justify-content: center;
}
.zohi-sc-good, .zohi-sc-bad { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.55; }
.zohi-sc-good { color: #3c4858; background: linear-gradient(90deg, rgba(22,163,74,.04), transparent); }
.zohi-sc-bad  { color: #636678; }
.zohi-sc-good small, .zohi-sc-bad small { display: none; }
.zohi-sc-good .fa, .zohi-sc-bad .fa {
  flex-shrink: 0; margin-top: 3px;
  width: 18px; height: 18px; border-radius: 50%;
  font-size: 9px; display: inline-flex; align-items: center; justify-content: center;
}
.zohi-sc-good .fa { background: #dcfce7; color: #16a34a; }
.zohi-sc-bad .fa  { background: #ffe4e8; color: #e11d48; }

@media (max-width: 991px) {
  .zohi-sc .zohi-cmp-head .mainheadingtitle { font-size: 30px; line-height: 40px; }
  .zohi-sc-row { grid-template-columns: 1fr; }
  .zohi-sc-row--head { display: none; }
  .zohi-sc-row > div { padding: 8px 18px; }
  .zohi-sc-q { padding-top: 16px !important; }
  .zohi-sc-bad { padding-bottom: 16px !important; }
  .zohi-sc-good, .zohi-sc-bad { background: none; }
  .zohi-sc-good small, .zohi-sc-bad small {
    display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 1px;
  }
  .zohi-sc-good small { color: #16a34a; }
  .zohi-sc-bad small  { color: #e11d48; }
}
@media (max-width: 576px) {
  .zohi-sc .zohi-cmp-head .mainheadingtitle { font-size: 22px; line-height: 32px; }
  .zohi-sc .zohi-cmp-head .subtitle_text { font-size: 16px; }
}
@media (max-width: 575px) {
  .zohi-sc { padding-top: 60px; padding-bottom: 60px; }
}

/* ══ AUDIT FIX (12 Oct 2026): measured against live homepage ══
   homepage H1 renders 48px desktop / 26px phone; all sections 80px (60px phone) */
.zohi-hero__h1 { font-size: 48px; line-height: 1.2; letter-spacing: -.03em; }
.zohi-d2-ecc-head p { font-size: 16px; line-height: 1.6; }
.zohi-ix-note { font-size: 14px; }
body .ogen-consult2030 { padding-top: 80px !important; padding-bottom: 80px !important; }
@media (max-width: 1024px) {
  .zohi-hero__h1 { font-size: 36px; line-height: 1.222em; }
}
@media (max-width: 576px) {
  .zohi-hero__h1 { font-size: 26px; line-height: 34px; }
  .zohi-wb-feature h3, .zohi-ix-panel h3, .zohi-d2-risks-head h3 { font-size: 20px; line-height: 1.3; }
}
@media (max-width: 575px) {
  body .ogen-consult2030 { padding-top: 60px !important; padding-bottom: 60px !important; }
}

/* cancel ogen_header.css global .is-active rotate(180deg) for tabs */
.zohi-ix-tab.is-active { transform: none; }
