@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@300;400;500;600;700&display=swap');

  :root {
    --omn-primary:   #0d9488;
    --omn-secondary: #0f172a;
    --omn-helper:    #f1f7f5;
  }
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    position: relative;                 /* containing block for the full-height pipeline stage */
    direction: rtl;
    font-family: 'Readex Pro', system-ui, sans-serif;
    color: var(--omn-secondary);
    overflow-x: hidden;
    /* continuous ambient background — dot grid tiles seamlessly through every section */
    background-color: var(--omn-helper);
    background-image: radial-gradient(color-mix(in srgb, var(--omn-secondary) 8%, transparent) 0.08rem, transparent 0.08rem);
    background-size: 1.7rem 1.7rem;
  }
  /* fixed soft glows — same ambient as the hero, spanning the whole page */
  .omnbgldfy {
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background:
      radial-gradient(52rem 34rem at 90% 3%, color-mix(in srgb, var(--omn-primary) 13%, transparent), transparent 68%),
      radial-gradient(46rem 34rem at 4% 55%, color-mix(in srgb, var(--omn-primary) 9%, transparent), transparent 70%),
      radial-gradient(44rem 32rem at 96% 92%, color-mix(in srgb, var(--omn-primary) 10%, transparent), transparent 70%);
  }
  a { text-decoration: none; color: inherit; }
  img { max-width: 100%; }
  [hidden] { display: none !important; }

  /* reserve a right-edge lane for the pipeline so it never overlaps content text
     (RTL: inline-start = physical right, where the spine lives) */
  .omnhroldfy__container,
  .omnptldfy__container,
  .omnsec__container,
  .omnftrldfy__container { padding-inline-start: 2.8rem; }
  @media (min-width: 1025px) {
    .omnhroldfy__container,
    .omnptldfy__container,
    .omnsec__container,
    .omnftrldfy__container { padding-inline-start: 0; }
  }

  /* ============================================================
     omnpipeldfy — Living Pipeline (spine + pellets + HUD)
  ============================================================ */
  .omnpipeldfy {
    --omnpipeldfy-track: color-mix(in srgb, var(--omn-secondary) 14%, transparent);
    --omnpipeldfy-flow: var(--omn-primary);
    --omnpipeldfy-node: var(--omn-primary);
  }
  .omnpipeldfy__stage {
    position: absolute;
    inset: 0 0 auto 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    overflow: visible;
  }
  .omnpipeldfy__track { fill: none; stroke: var(--omnpipeldfy-track); stroke-width: 0.14rem; stroke-dasharray: 0.02rem 0.55rem; stroke-linecap: round; }
  .omnpipeldfy__fill  { fill: none; stroke: var(--omnpipeldfy-flow); stroke-width: 0.28rem; stroke-linecap: round; filter: drop-shadow(0 0 0.35rem color-mix(in srgb, var(--omn-primary) 45%, transparent)); }
  .omnpipeldfy__spark { fill: none; stroke: color-mix(in srgb, var(--omn-primary) 45%, #ffffff); stroke-width: 0.12rem; stroke-linecap: round; stroke-dasharray: 0.35rem 1.6rem; animation: omnpipeldfy-spark 1s linear infinite; }
  @keyframes omnpipeldfy-spark { to { stroke-dashoffset: -1.95rem; } }
  .omnpipeldfy__node  { fill: var(--omn-helper); stroke: var(--omnpipeldfy-node); stroke-width: 0.16rem; }
  .omnpipeldfy__feeder { stroke: var(--omnpipeldfy-node); stroke-width: 0.12rem; stroke-dasharray: 0.4rem 0.4rem; opacity: 0.55; }
  .omnpipeldfy__pellet { fill: var(--omnpipeldfy-flow); filter: drop-shadow(0 0 0.4rem color-mix(in srgb, var(--omn-primary) 60%, transparent)); }
  @media (prefers-reduced-motion: reduce) { .omnpipeldfy__spark { animation: none; opacity: 0; } }


  /* ============================================================
     Shared reveal — "التجميع" (fragments arrive & lock)
  ============================================================ */
  [data-omn-assemble] > * {
    opacity: 0;
    transform: translate(var(--omn-dx, 0), var(--omn-dy, 1.4rem)) scale(0.965);
    transition: opacity 0.6s ease, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--omn-d, 0s);
    will-change: transform, opacity;
  }
  [data-omn-assemble].omn-in > * { opacity: 1; transform: none; }
  [data-omn-assemble] > *:nth-child(1) { --omn-dx: 1.6rem;  --omn-dy: 0.6rem;  --omn-d: 0s; }
  [data-omn-assemble] > *:nth-child(2) { --omn-dx: -1.2rem; --omn-dy: 1.8rem;  --omn-d: 0.08s; }
  [data-omn-assemble] > *:nth-child(3) { --omn-dx: 1rem;    --omn-dy: 2.4rem;  --omn-d: 0.16s; }
  [data-omn-assemble] > *:nth-child(4) { --omn-dx: -1.6rem; --omn-dy: 1.2rem;  --omn-d: 0.24s; }
  [data-omn-assemble] > *:nth-child(5) { --omn-dx: 0.8rem;  --omn-dy: 2rem;    --omn-d: 0.32s; }
  [data-omn-assemble] > *:nth-child(6) { --omn-dx: -0.8rem; --omn-dy: 2.6rem;  --omn-d: 0.4s; }

  /* ============================================================
     omnhroldfy — Hero ("the split")
  ============================================================ */
  .omnhroldfy {
    --omnhroldfy-ink: var(--omn-secondary);
    --omnhroldfy-muted: color-mix(in srgb, var(--omn-secondary) 60%, #ffffff);
    --omnhroldfy-accent: var(--omn-primary);
    --omnhroldfy-surface: #ffffff;
    --omnhroldfy-line: color-mix(in srgb, var(--omn-secondary) 12%, transparent);
    position: relative;
    padding: 4rem 1.15rem 3.4rem;
    min-height: 100svh;
    display: flex;
    align-items: center;
    overflow: hidden;
  }
  .omnhroldfy__grain { display: none; }   /* ambient bg is now global (body + .omnbgldfy) */
  .omnhroldfy__container { position: relative; z-index: 3; max-width: 60rem; margin: 0 auto; width: 100%; }
  .omnhroldfy__eyebrow {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase;
    color: var(--omnhroldfy-accent); margin-bottom: 1.1rem;
  }
  .omnhroldfy__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
  .omnhroldfy__title {
    font-weight: 700; font-size: clamp(2.15rem, 10vw, 3.6rem); line-height: 1.14;
    letter-spacing: -0.02em; color: var(--omnhroldfy-ink); margin-bottom: 1rem;
  }
  .omnhroldfy__hook {
    font-size: clamp(1rem, 4.2vw, 1.2rem); font-weight: 400; line-height: 1.8;
    color: var(--omnhroldfy-muted); max-width: 38rem; margin-bottom: 1.6rem;
  }
  .omnhroldfy__benefits { list-style: none; display: flex; flex-direction: column; gap: 0.8rem; margin-bottom: 2rem; }
  .omnhroldfy__benefit { display: flex; align-items: flex-start; gap: 0.7rem; font-size: clamp(0.9rem, 3.6vw, 1rem); font-weight: 500; line-height: 1.6; }
  .omnhroldfy__ico {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 2.1rem; height: 2.1rem; border-radius: 50%;
    background: color-mix(in srgb, var(--omnhroldfy-accent) 12%, #ffffff); color: var(--omnhroldfy-accent); font-size: 0.95rem;
  }
  /* --- CTA pair: same fixed-zone diagonal style as the srv rows --- */
  .omnhroldfy__cta { display: flex; flex-wrap: wrap; gap: 1.6rem; }
  .omnhroldfy__cta-btn {
    position: relative;
    display: inline-flex; align-items: center;
    font-weight: 600; font-size: clamp(0.95rem, 3.8vw, 1.05rem); letter-spacing: -0.005em;
    padding-block: 0.95rem;
    padding-inline: 3.55rem 1.5rem;   /* inline-start (physical right) clears the colour zone */
    border-radius: 0.9rem;
    overflow: hidden;
    /* NO transform on hover — the box never moves, so the pair can't visually collide */
    transition: box-shadow 0.3s ease, border-color 0.25s ease, filter 0.25s ease;
  }
  .omnhroldfy__cta-btn::before {                    /* fixed-width diagonal colour zone — widens on hover */
    content: "";
    position: absolute; inset-block: 0; inset-inline-start: 0;
    width: 2.85rem;
    background: linear-gradient(200deg, color-mix(in srgb, var(--omnhroldfy-zone) 88%, #ffffff), var(--omnhroldfy-zone));
    clip-path: polygon(0.95rem 0, 100% 0, 100% 100%, 0 100%);
    transition: width 0.34s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .omnhroldfy__cta-btn:hover::before { width: 3.35rem; }
  .omnhroldfy__cta-btn .omnhroldfy__ico {
    position: absolute; inset-inline-start: 0.66rem; top: 50%; transform: translateY(-50%);
    z-index: 2; background: none; color: #ffffff; font-size: 1.2rem;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .omnhroldfy__cta-btn:hover .omnhroldfy__ico { transform: translateY(-50%) translateX(-0.2rem); }
  .omnhroldfy__cta-btn--call {
    color: #ffffff; background: var(--omn-primary);
    --omnhroldfy-zone: color-mix(in srgb, var(--omn-primary) 55%, var(--omn-secondary));
    box-shadow:
      0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 18%, transparent),
      0 0.5rem 1.1rem color-mix(in srgb, var(--omn-primary) 26%, transparent);
  }
  .omnhroldfy__cta-btn--wa {
    color: var(--omnhroldfy-ink); background: var(--omnhroldfy-surface);
    --omnhroldfy-zone: var(--omn-primary);
    border: 0.09rem solid color-mix(in srgb, var(--omn-secondary) 12%, transparent);
    box-shadow: 0 0.1rem 0.3rem rgba(15,23,42,0.05), 0 0.4rem 1rem rgba(15,23,42,0.07);
  }
  /* hover: colour zone advances + icon slides + a touch more depth — box stays put */
  .omnhroldfy__cta-btn--call:hover {
    filter: brightness(1.04);
    box-shadow:
      0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 18%, transparent),
      0 0.65rem 1.4rem color-mix(in srgb, var(--omn-primary) 30%, transparent);
  }
  .omnhroldfy__cta-btn--wa:hover {
    border-color: color-mix(in srgb, var(--omn-primary) 42%, transparent);
    box-shadow: 0 0.1rem 0.3rem rgba(15,23,42,0.06), 0 0.6rem 1.4rem rgba(15,23,42,0.12);
  }
  .omnhroldfy__cta-btn:active { filter: brightness(0.97); }
  .omnhroldfy__cta-btn--pulse { animation: omnhroldfy-pulse 0.7s ease-out; }
  @keyframes omnhroldfy-pulse {
    0%   { box-shadow: 0 0.7rem 1.7rem color-mix(in srgb, var(--omn-primary) 34%, transparent), 0 0 0 0 color-mix(in srgb, var(--omn-primary) 50%, transparent); }
    100% { box-shadow: 0 0.7rem 1.7rem color-mix(in srgb, var(--omn-primary) 34%, transparent), 0 0 0 1.4rem color-mix(in srgb, var(--omn-primary) 0%, transparent); }
  }

  @media (min-width: 769px) {
    .omnhroldfy { padding: 5rem 2rem; }
  }

  /* ============================================================
     omnptldfy — Points ("the assembly line")
  ============================================================ */
  .omnptldfy {
    --omnptldfy-ink: var(--omn-secondary);
    --omnptldfy-muted: color-mix(in srgb, var(--omn-secondary) 47%, #ffffff);
    --omnptldfy-accent: var(--omn-primary);
    --omnptldfy-surface: #ffffff;
    --omnptldfy-line: color-mix(in srgb, var(--omn-secondary) 9%, transparent);
    --omnptldfy-c1: var(--omn-primary);
    --omnptldfy-c2: color-mix(in srgb, var(--omn-primary) 66%, var(--omn-secondary));
    --omnptldfy-c3: color-mix(in srgb, var(--omn-primary) 55%, #ffffff);
    --omnptldfy-c4: color-mix(in srgb, var(--omn-primary) 42%, var(--omn-secondary));
    position: relative;
    padding: 4rem 1.15rem 5rem;
    background: transparent;
  }
  .omnptldfy__container { position: relative; z-index: 3; max-width: 72rem; margin: 0 auto; }
  .omnptldfy__header { max-width: 42rem; margin-bottom: 2.6rem; }
  .omnptldfy__eyebrow {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase;
    color: var(--omnptldfy-accent); margin-bottom: 0.9rem;
  }
  .omnptldfy__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
  .omnptldfy__title { font-weight: 700; font-size: clamp(1.6rem, 6vw, 2.35rem); line-height: 1.25; letter-spacing: -0.02em; color: var(--omnptldfy-ink); margin-bottom: 0.8rem; }
  .omnptldfy__lead { font-size: clamp(0.95rem, 3.8vw, 1.08rem); font-weight: 400; line-height: 1.8; color: var(--omnptldfy-muted); }

  /* --- rounded card + colour corner-wedge holding the index (ref 1 / ref 2, RTL-mirrored) ---
     Card is a plain rounded rect with overflow:hidden so every shape is contained.
     Wedge = childless ::before (clip-path safe). Number = separate element, z-index 2 (above wedge).
     Wedge clip-path mirrors ref 1: box pinned to physical-right (RTL leading corner);
     local x=0 is toward card centre, x=100% is the card edge; trapezoid keeps the
     right edge solid for the top 40% so the number never crosses the hypotenuse. --- */
  .omnptldfy__cards { counter-reset: omnptldfy; display: grid; grid-template-columns: 1fr; gap: 1.8rem; }
  .omnptldfy__card {
    counter-increment: omnptldfy;
    position: relative;
    overflow: hidden;
    background: var(--omnptldfy-surface);
    border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 7%, transparent);
    border-radius: 1rem;
    padding: 4.9rem 1.6rem 1.8rem;
    box-shadow:
      0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 8%, transparent),
      0 1rem 2.4rem rgba(15,23,42,0.10);
    transition: box-shadow 0.3s ease, transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
  }
  .omnptldfy__card:hover { transform: translateY(-0.18rem); box-shadow: 0 0.14rem 0.4rem color-mix(in srgb, var(--omn-secondary) 12%, transparent), 0 1.5rem 3rem rgba(15,23,42,0.14); }
  .omnptldfy__card::before {          /* colour corner wedge — gradient depth */
    content: "";
    position: absolute; top: 0; inset-inline-start: 0;
    width: 60%; height: 4.6rem;
    background: linear-gradient(205deg,
      color-mix(in srgb, var(--omnptldfy-cc, var(--omnptldfy-accent)) 82%, #ffffff) 0%,
      var(--omnptldfy-cc, var(--omnptldfy-accent)) 52%,
      color-mix(in srgb, var(--omnptldfy-cc, var(--omnptldfy-accent)) 84%, var(--omn-secondary)) 100%);
    clip-path: polygon(0 0, 100% 0, 100% 62%, 0 100%);
  }
  .omnptldfy__card::after {           /* base accent bar — inset + rounded top edge */
    content: "";
    position: absolute; inset-inline: 0.9rem; bottom: 0;
    height: 0.3rem; border-radius: 0.3rem 0.3rem 0 0;
    background: var(--omnptldfy-cc, var(--omnptldfy-accent));
  }
  .omnptldfy__card:nth-child(1) { --omnptldfy-cc: var(--omnptldfy-c1); }
  .omnptldfy__card:nth-child(2) { --omnptldfy-cc: var(--omnptldfy-c2); }
  .omnptldfy__card:nth-child(3) { --omnptldfy-cc: var(--omnptldfy-c3); }
  .omnptldfy__card:nth-child(4) { --omnptldfy-cc: var(--omnptldfy-c4); }
  .omnptldfy__card--ping {
    box-shadow:
      0 0 0 0.14rem var(--omnptldfy-cc, var(--omnptldfy-accent)),
      0 0 1.4rem color-mix(in srgb, var(--omnptldfy-cc, var(--omnptldfy-accent)) 45%, transparent),
      0 1rem 2.4rem rgba(15,23,42,0.14);
  }

  .omnptldfy__num {                   /* index — layered ABOVE the wedge */
    position: absolute; top: 0.7rem; inset-inline-start: 1.05rem; z-index: 2;
    color: #ffffff; font-weight: 700; font-size: 1.75rem; letter-spacing: -0.03em; line-height: 1;
    text-shadow: 0 0.06rem 0.25rem rgba(15,23,42,0.25);
  }
  .omnptldfy__ico {                   /* line icon in a soft tinted ring */
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.9rem; height: 2.9rem; border-radius: 50%;
    background: color-mix(in srgb, var(--omnptldfy-cc, var(--omnptldfy-accent)) 9%, transparent);
    border: 0.09rem solid color-mix(in srgb, var(--omnptldfy-cc, var(--omnptldfy-accent)) 26%, transparent);
    color: var(--omnptldfy-cc, var(--omnptldfy-accent)); font-size: 1.55rem; margin-bottom: 1rem;
  }
  .omnptldfy__card-title { font-weight: 700; font-size: 1.14rem; color: var(--omnptldfy-ink); margin-bottom: 0.5rem; letter-spacing: -0.01em; }
  .omnptldfy__card-text { font-size: 0.94rem; font-weight: 400; line-height: 1.75; color: var(--omnptldfy-muted); }
  .omnptldfy__card-sub { font-weight: 600; font-size: 0.94rem; color: var(--omnptldfy-ink); margin-bottom: 0.4rem; }
  .omnptldfy__list { list-style: none; display: flex; flex-direction: column; gap: 0.45rem; }
  .omnptldfy__list-item { position: relative; padding-inline-start: 1.2rem; font-size: 0.9rem; line-height: 1.6; color: var(--omnptldfy-muted); }
  .omnptldfy__list-item::before { content: ""; position: absolute; inset-inline-start: 0; top: 0.55rem; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--omnptldfy-cc, var(--omnptldfy-accent)); }

  @media (min-width: 601px) { .omnptldfy__cards { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1025px) { .omnptldfy__cards { grid-template-columns: repeat(4, 1fr); } }

  /* ============================================================
     Shared section chrome for srv / stp / prc
  ============================================================ */
  .omnsec {
    --omnsec-ink: var(--omn-secondary);
    --omnsec-muted: color-mix(in srgb, var(--omn-secondary) 47%, #ffffff);
    --omnsec-accent: var(--omn-primary);
    --omnsec-surface: #ffffff;
    --omnsec-line: color-mix(in srgb, var(--omn-secondary) 9%, transparent);
    --omnsec-c1: var(--omn-primary);
    --omnsec-c2: color-mix(in srgb, var(--omn-primary) 64%, var(--omn-secondary));
    --omnsec-c3: color-mix(in srgb, var(--omn-primary) 56%, #ffffff);
    --omnsec-c4: color-mix(in srgb, var(--omn-primary) 40%, var(--omn-secondary));
    position: relative;
    padding: 4.8rem 1.15rem;
  }
  .omnsec__container { position: relative; z-index: 3; max-width: 72rem; margin: 0 auto; }
  .omnsec__header { max-width: 42rem; margin-bottom: 2.4rem; }
  .omnsec__eyebrow {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase;
    color: var(--omnsec-accent); margin-bottom: 0.9rem;
  }
  .omnsec__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
  .omnsec__title { font-weight: 700; font-size: clamp(1.6rem, 6vw, 2.3rem); line-height: 1.25; letter-spacing: -0.02em; color: var(--omnsec-ink); margin-bottom: 0.8rem; }
  .omnsec__lead { font-size: clamp(0.95rem, 3.8vw, 1.05rem); font-weight: 400; line-height: 1.8; color: var(--omnsec-muted); }

  /* --- omnsrvldfy : diagonal lower-third rows (ref 3, RTL-mirrored) --- */
  .omnsrvldfy { background: transparent; }
  .omnsrvldfy__list { display: flex; flex-direction: column; gap: 1.4rem; }
  .omnsrvldfy__row {
    position: relative;
    display: flex; align-items: center;   /* mobile: body only (icon is absolute in the colour zone) */
    min-height: 5.4rem;
    overflow: hidden;
    border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 7%, transparent);
    border-radius: 0.95rem;
    padding-block: 1.1rem;
    padding-inline: 5.6rem 1.4rem;                 /* inline-start (physical right) — clears the fixed colour zone */
    color: var(--omnsec-ink);
    background: var(--omnsec-surface);            /* plain white — text always on white */
    box-shadow:
      0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 7%, transparent),
      0 0.75rem 1.9rem rgba(15,23,42,0.10);
    transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s ease;
  }
  .omnsrvldfy__row::before {                       /* fixed-width diagonal colour zone on the leading edge */
    content: "";
    position: absolute; inset-block: 0; inset-inline-start: 0;
    width: 4.7rem;
    background: linear-gradient(200deg,
      color-mix(in srgb, var(--omnsrvldfy-cc, var(--omnsec-accent)) 88%, #ffffff),
      var(--omnsrvldfy-cc, var(--omnsec-accent)));
    clip-path: polygon(1.35rem 0, 100% 0, 100% 100%, 0 100%);
  }
  .omnsrvldfy__row:nth-child(3n+1) { --omnsrvldfy-cc: var(--omnsec-c1); }
  .omnsrvldfy__row:nth-child(3n+2) { --omnsrvldfy-cc: var(--omnsec-c2); }
  .omnsrvldfy__row:nth-child(3n)   { --omnsrvldfy-cc: var(--omnsec-c3); }
  .omnsrvldfy__row:hover { transform: translateY(-0.16rem); box-shadow: 0 0.14rem 0.4rem color-mix(in srgb, var(--omn-secondary) 10%, transparent), 0 1.2rem 2.7rem rgba(15,23,42,0.15); }
  .omnsrvldfy__ico {
    position: absolute; inset-inline-start: 1rem; top: 50%; transform: translateY(-50%);
    z-index: 2; color: #ffffff; font-size: 1.7rem;
  }
  .omnsrvldfy__n { display: none; }   /* services aren't numbered */
  .omnsrvldfy__body { flex: 1; min-width: 0; }
  .omnsrvldfy__row-title { font-weight: 600; font-size: 1.02rem; color: var(--omnsec-ink); letter-spacing: -0.01em; }
  .omnsrvldfy__row-text { font-size: 0.85rem; line-height: 1.6; color: var(--omnsec-muted); margin-top: 0.25rem;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
  .omnsrvldfy__link { display: none; grid-column: 3; align-self: center; align-items: center; gap: 0.4rem;
    font-weight: 600; font-size: 0.82rem; white-space: nowrap; color: var(--omnsrvldfy-cc, var(--omnsec-accent)); }

  /* --- omnstpldfy : same diagonal row, wider colour zone carrying the big step index --- */
  .omnstpldfy { background: transparent; }
  .omnstpldfy__list { display: flex; flex-direction: column; gap: 1.5rem; }
  .omnstpldfy__row {
    position: relative;
    display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 1rem;
    min-height: 6rem; overflow: hidden;
    border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 7%, transparent);
    border-radius: 1rem;
    padding-block: 1.1rem;
    padding-inline: 7.4rem 1.5rem;                 /* clears the fixed colour zone */
    color: var(--omnsec-ink);
    background: var(--omnsec-surface);            /* plain white — text always on white */
    box-shadow:
      0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 7%, transparent),
      0 0.8rem 2rem rgba(15,23,42,0.11);
    transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s ease;
  }
  .omnstpldfy__row::before {                       /* fixed-width diagonal colour zone carrying the step index */
    content: "";
    position: absolute; inset-block: 0; inset-inline-start: 0;
    width: 6.5rem;
    background: linear-gradient(200deg,
      color-mix(in srgb, var(--omnstpldfy-cc, var(--omnsec-accent)) 88%, #ffffff),
      var(--omnstpldfy-cc, var(--omnsec-accent)));
    clip-path: polygon(1.5rem 0, 100% 0, 100% 100%, 0 100%);
  }
  .omnstpldfy__row:nth-child(4n+1) { --omnstpldfy-cc: var(--omnsec-c1); }
  .omnstpldfy__row:nth-child(4n+2) { --omnstpldfy-cc: var(--omnsec-c2); }
  .omnstpldfy__row:nth-child(4n+3) { --omnstpldfy-cc: var(--omnsec-c3); }
  .omnstpldfy__row:nth-child(4n)   { --omnstpldfy-cc: var(--omnsec-c4); }
  .omnstpldfy__row:hover { transform: translateY(-0.16rem); box-shadow: 0 0.14rem 0.4rem color-mix(in srgb, var(--omn-secondary) 10%, transparent), 0 1.3rem 2.8rem rgba(15,23,42,0.16); }
  .omnstpldfy__n {
    position: absolute; inset-inline-start: 1.15rem; top: 50%; transform: translateY(-50%);
    z-index: 2; color: #ffffff; font-weight: 700; font-size: 1.95rem; letter-spacing: -0.03em; line-height: 1;
    text-shadow: 0 0.06rem 0.25rem rgba(15,23,42,0.25);
  }
  .omnstpldfy__ico {
    position: absolute; inset-inline-start: 4rem; top: 50%; transform: translateY(-50%);
    z-index: 2; color: color-mix(in srgb, #ffffff 82%, transparent); font-size: 1.3rem;
  }
  .omnstpldfy__body { grid-column: 1; min-width: 0; }
  .omnstpldfy__row-title { font-weight: 600; font-size: 1.02rem; color: var(--omnsec-ink); letter-spacing: -0.01em; }
  .omnstpldfy__row-text { font-size: 0.86rem; line-height: 1.6; color: var(--omnsec-muted); margin-top: 0.2rem;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

  /* --- omnprcldfy : vertical cards, same corner-wedge as pt; featured via --featured only --- */
  .omnprcldfy { background: transparent; }
  .omnprcldfy__grid { display: grid; grid-template-columns: 1fr; gap: 1.6rem; align-items: start; }
  .omnprcldfy__card {
    position: relative; overflow: hidden;
    background: var(--omnsec-surface);
    border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 7%, transparent);
    border-radius: 1rem;
    padding: 4.8rem 1.6rem 1.8rem;
    box-shadow:
      0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 8%, transparent),
      0 1rem 2.4rem rgba(15,23,42,0.10);
    transition: transform 0.28s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s ease;
  }
  .omnprcldfy__card::before {
    content: ""; position: absolute; top: 0; inset-inline-start: 0;
    width: 58%; height: 4.5rem;
    background: linear-gradient(205deg,
      color-mix(in srgb, var(--omnprcldfy-cc, var(--omnsec-accent)) 82%, #ffffff) 0%,
      var(--omnprcldfy-cc, var(--omnsec-accent)) 52%,
      color-mix(in srgb, var(--omnprcldfy-cc, var(--omnsec-accent)) 84%, var(--omn-secondary)) 100%);
    clip-path: polygon(0 0, 100% 0, 100% 62%, 0 100%);
  }
  .omnprcldfy__card::after {
    content: ""; position: absolute; inset-inline: 0.9rem; bottom: 0;
    height: 0.3rem; border-radius: 0.3rem 0.3rem 0 0;
    background: var(--omnprcldfy-cc, var(--omnsec-accent));
  }
  .omnprcldfy__card:nth-child(1) { --omnprcldfy-cc: var(--omnsec-c3); }
  .omnprcldfy__card:nth-child(2) { --omnprcldfy-cc: var(--omnsec-c1); }
  .omnprcldfy__card:nth-child(3) { --omnprcldfy-cc: var(--omnsec-c2); }
  .omnprcldfy__card:hover { transform: translateY(-0.18rem); box-shadow: 0 0.14rem 0.4rem color-mix(in srgb, var(--omn-secondary) 12%, transparent), 0 1.5rem 3rem rgba(15,23,42,0.14); }
  .omnprcldfy__tier { position: absolute; top: 0.85rem; inset-inline-start: 1.15rem; z-index: 2; color: #ffffff; font-weight: 700; font-size: 1.05rem; text-shadow: 0 0.06rem 0.25rem rgba(15,23,42,0.24); }
  .omnprcldfy__price { display: flex; align-items: baseline; gap: 0.35rem; margin-bottom: 1rem; }
  .omnprcldfy__amount { font-weight: 700; font-size: 2.2rem; line-height: 1; color: var(--omnprcldfy-cc, var(--omnsec-accent)); letter-spacing: -0.03em; }
  .omnprcldfy__cur { font-size: 0.8rem; font-weight: 600; color: var(--omnsec-muted); }
  .omnprcldfy__plan { font-weight: 700; font-size: 1.15rem; color: var(--omnsec-ink); margin-bottom: 0.9rem; }
  .omnprcldfy__feats { list-style: none; display: flex; flex-direction: column; gap: 0.55rem; margin-bottom: 1.4rem; }
  .omnprcldfy__feat { position: relative; padding-inline-start: 1.3rem; font-size: 0.9rem; line-height: 1.55; color: var(--omnsec-muted); }
  .omnprcldfy__feat::before { content: "\2713"; position: absolute; inset-inline-start: 0; top: 0; font-weight: 700; color: var(--omnprcldfy-cc, var(--omnsec-accent)); }
  .omnprcldfy__btn {
    position: relative; display: inline-flex; align-items: center;
    font-weight: 600; font-size: 0.92rem; color: #ffffff; letter-spacing: -0.005em;
    padding-block: 0.85rem; padding-inline: 3rem 1.4rem;
    border-radius: 0.8rem; overflow: hidden;
    background: var(--omnprcldfy-cc, var(--omn-primary));
    box-shadow:
      0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 20%, transparent),
      0 0.6rem 1.4rem color-mix(in srgb, var(--omnprcldfy-cc, var(--omn-primary)) 28%, transparent);
    transition: transform 0.26s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s ease;
  }
  .omnprcldfy__btn::before {
    content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 2.5rem;
    background: color-mix(in srgb, var(--omnprcldfy-cc, var(--omn-primary)) 55%, var(--omn-secondary));
    clip-path: polygon(0.85rem 0, 100% 0, 100% 100%, 0 100%);
  }
  .omnprcldfy__btn .omnprcldfy__btn-ico { position: absolute; inset-inline-start: 0.62rem; top: 50%; transform: translateY(-50%); z-index: 2; font-size: 0.95rem; transition: transform 0.26s ease; }
  .omnprcldfy__btn:hover { transform: translateY(-0.16rem); box-shadow: 0 0.14rem 0.4rem color-mix(in srgb, var(--omn-secondary) 22%, transparent), 0 1rem 2rem color-mix(in srgb, var(--omnprcldfy-cc, var(--omn-primary)) 34%, transparent); }
  .omnprcldfy__btn:hover .omnprcldfy__btn-ico { transform: translateY(-50%) translateX(-0.12rem); }
  .omnprcldfy__card--featured {
    background: var(--omn-secondary); color: var(--omn-helper);
    border-color: color-mix(in srgb, var(--omn-primary) 40%, transparent);
    box-shadow:
      0 0 0 0.09rem color-mix(in srgb, var(--omn-primary) 30%, transparent),
      0 1.6rem 3.4rem rgba(15,23,42,0.28);
  }
  .omnprcldfy__card--featured .omnprcldfy__plan { color: var(--omn-helper); }
  .omnprcldfy__card--featured .omnprcldfy__cur { color: color-mix(in srgb, var(--omn-helper) 60%, transparent); }
  .omnprcldfy__card--featured .omnprcldfy__feat { color: color-mix(in srgb, var(--omn-helper) 74%, transparent); }

  @media (min-width: 601px) {
    .omnprcldfy__grid { grid-template-columns: repeat(3, 1fr); }
    .omnsrvldfy__row { display: grid; grid-template-columns: 1fr auto; column-gap: 1.4rem; }
    .omnsrvldfy__body { grid-column: 1; }
    .omnsrvldfy__link { display: inline-flex; grid-column: 2; }
    .omnsrvldfy__row-text { -webkit-line-clamp: 2; }
  }
  @media (min-width: 769px) {
    .omnprcldfy__card--featured { transform: translateY(-0.9rem); }
  }
  @media (prefers-reduced-motion: reduce) {
    .omnsrvldfy__row, .omnstpldfy__row, .omnprcldfy__card, .omnprcldfy__btn { transition: none !important; }
  }

  /* --- omnftrldfy — footer (light, same ambient as the hero; pipeline runs into it) --- */
  .omnftrldfy {
    position: relative;
    background: transparent;
    color: var(--omn-secondary);
    padding: 3.4rem 1.15rem 2rem;
    margin-top: 3rem;
    border-top: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 10%, transparent);
  }
  .omnftrldfy__container { position: relative; z-index: 3; max-width: 72rem; margin: 0 auto; }
  .omnftrldfy__brand { display: inline-flex; align-items: center; gap: 0.55rem; font-weight: 700; font-size: 1.3rem; margin-bottom: 0.8rem; color: var(--omn-secondary); }
  .omnftrldfy__mark { width: 2rem; height: 2rem; border-radius: 0.6rem; background: var(--omn-primary); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 0.9rem; }
  .omnftrldfy__about { font-size: 0.9rem; line-height: 1.75; color: color-mix(in srgb, var(--omn-secondary) 56%, #ffffff); max-width: 26rem; margin-bottom: 1.4rem; }
  .omnftrldfy__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; margin-bottom: 1.6rem; }
  .omnftrldfy__link { font-size: 0.88rem; color: color-mix(in srgb, var(--omn-secondary) 62%, #ffffff); transition: color 0.25s ease; }
  .omnftrldfy__link:hover { color: var(--omn-primary); }
  .omnftrldfy__copy { font-size: 0.8rem; color: color-mix(in srgb, var(--omn-secondary) 50%, #ffffff); padding-top: 1.3rem; border-top: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 10%, transparent); }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    [data-omn-assemble] > * { opacity: 1 !important; transform: none !important; transition: none !important; }
    .omnhroldfy__cta-btn, .omnptldfy__card { transition: none !important; }
    .omnpipeldfy__pellet { display: none; }
  }

/* ============================================================
   Added sections — unified diagonal-zone system (Leadify)
   tb · hdr · fq · prw · tst · ci · svl · ctaf · hrs
============================================================ */

/* right-edge pipeline lane for every added container */
.omntbldfy__container,
.omnhdrldfy__container,
.omnfqldfy__container,
.omnprwldfy__container,
.omntstldfy__container,
.omncildfy__container,
.omnsvlldfy__container { padding-inline-start: 2.8rem; }
@media (min-width: 1025px) {
  .omntbldfy__container,
  .omnhdrldfy__container,
  .omnfqldfy__container,
  .omnprwldfy__container,
  .omntstldfy__container,
  .omncildfy__container,
  .omnsvlldfy__container { padding-inline-start: 0; }
}

/* shared section header (reuses .omnsec look) */
.omnsecx { position: relative; padding: 4.8rem 1.15rem; background: transparent; }
.omnsecx__container { position: relative; z-index: 3; max-width: 72rem; margin: 0 auto; padding-inline-start: 2.8rem; }
@media (min-width: 1025px) { .omnsecx__container { padding-inline-start: 0; } }

/* ---------- omntbldfy — Top Bar ---------- */
.omntbldfy {
  position: relative; z-index: 20;
  background: color-mix(in srgb, var(--omn-secondary) 96%, transparent);
  color: color-mix(in srgb, var(--omn-helper) 82%, transparent);
  font-family: 'Readex Pro', system-ui, sans-serif;
  padding: 0.5rem 1.15rem;
}
.omntbldfy__container { max-width: 75rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 0.9rem; }
.omntbldfy__contact { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.8rem; font-weight: 500; white-space: nowrap; color: inherit; }
.omntbldfy__icon { color: var(--omn-primary); font-size: 0.95em; }
.omntbldfy__tagline { display: none; font-size: 0.78rem; opacity: 0.8; }
.omntbldfy__social { display: inline-flex; gap: 0.7rem; }
.omntbldfy__social-link { color: color-mix(in srgb, var(--omn-helper) 70%, transparent); font-size: 0.95rem; transition: color 0.25s ease; }
.omntbldfy__social-link:hover { color: var(--omn-primary); }
@media (min-width: 769px) { .omntbldfy__tagline { display: block; } }

/* ---------- omnhdrldfy — Header ---------- */
.omnhdrldfy {
  position: sticky; top: 0; z-index: 900;
  background: color-mix(in srgb, #ffffff 88%, transparent);
  backdrop-filter: blur(0.6rem);
  border-bottom: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 9%, transparent);
  font-family: 'Readex Pro', system-ui, sans-serif;
  padding: 0.8rem 1.15rem;
  transition: padding 0.3s ease, box-shadow 0.3s ease;
}
.omnhdrldfy--scrolled { box-shadow: 0 0.5rem 1.4rem rgba(15,23,42,0.08); padding-block: 0.55rem; }
.omnhdrldfy__container { max-width: 75rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.omnhdrldfy__logo { display: inline-flex; align-items: center; gap: 0.55rem; color: var(--omn-secondary); }
.omnhdrldfy__logo-mark { width: 2.2rem; height: 2.2rem; border-radius: 0.65rem; background: var(--omn-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; }
.omnhdrldfy__logo-text { font-weight: 700; font-size: 1.25rem; letter-spacing: -0.01em; }
.omnhdrldfy__nav {
  position: fixed; inset: 0 0 0 auto; width: min(80vw, 19rem);
  background: #ffffff; box-shadow: -1rem 0 3rem rgba(15,23,42,0.14);
  display: flex; flex-direction: column; gap: 0.2rem; padding: 5rem 1.5rem 2rem;
  transform: translateX(100%); transition: transform 0.35s cubic-bezier(0.16,1,0.3,1); z-index: 950;
}
.omnhdrldfy__nav--open { transform: translateX(0); }
.omnhdrldfy__nav-link { color: var(--omn-secondary); font-weight: 500; font-size: 1.02rem; padding: 0.8rem 0.6rem; border-radius: 0.6rem; transition: background 0.2s ease, color 0.2s ease; }
.omnhdrldfy__nav-link:hover { background: color-mix(in srgb, var(--omn-primary) 10%, transparent); color: var(--omn-primary); }
.omnhdrldfy__cta {
  position: relative; display: none; align-items: center; overflow: hidden;
  color: #fff; background: var(--omn-primary); font-weight: 600; font-size: 0.9rem;
  padding-block: 0.6rem; padding-inline: 2.6rem 1.2rem; border-radius: 0.7rem;
  box-shadow: 0 0.4rem 1rem color-mix(in srgb, var(--omn-primary) 30%, transparent);
  transition: box-shadow 0.25s ease, filter 0.2s ease;
}
.omnhdrldfy__cta::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 2rem; background: color-mix(in srgb, var(--omn-primary) 55%, var(--omn-secondary)); clip-path: polygon(0.7rem 0, 100% 0, 100% 100%, 0 100%); }
.omnhdrldfy__cta-ico { position: absolute; inset-inline-start: 0.55rem; top: 50%; transform: translateY(-50%); z-index: 2; font-size: 0.85rem; }
.omnhdrldfy__cta:hover { filter: brightness(1.04); }
.omnhdrldfy__toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 0.32rem; width: 2.6rem; height: 2.6rem; background: none; border: none; cursor: pointer; z-index: 960; }
.omnhdrldfy__toggle-bar { display: block; width: 1.5rem; height: 0.14rem; border-radius: 0.1rem; background: var(--omn-secondary); transition: transform 0.3s ease, opacity 0.3s ease; }
.omnhdrldfy--menu-open .omnhdrldfy__toggle-bar:nth-child(1) { transform: translateY(0.46rem) rotate(45deg); }
.omnhdrldfy--menu-open .omnhdrldfy__toggle-bar:nth-child(2) { opacity: 0; }
.omnhdrldfy--menu-open .omnhdrldfy__toggle-bar:nth-child(3) { transform: translateY(-0.46rem) rotate(-45deg); }
.omnhdrldfy__backdrop { position: fixed; inset: 0; background: rgba(15,23,42,0.4); opacity: 0; pointer-events: none; transition: opacity 0.35s ease; z-index: 940; }
.omnhdrldfy__backdrop--visible { opacity: 1; pointer-events: auto; }
@media (min-width: 1025px) {
  .omnhdrldfy__toggle, .omnhdrldfy__backdrop { display: none; }
  .omnhdrldfy__nav { position: static; width: auto; flex-direction: row; align-items: center; gap: 0.25rem; padding: 0; background: none; box-shadow: none; transform: none; }
  .omnhdrldfy__nav-link { font-size: 0.94rem; padding: 0.5rem 0.9rem; }
  .omnhdrldfy__cta { display: inline-flex; }
}

/* ---------- omnfqldfy — FAQ accordion ---------- */
.omnfqldfy { position: relative; padding: 4.8rem 1.15rem; background: transparent; }
.omnfqldfy__container { position: relative; z-index: 3; max-width: 50rem; margin: 0 auto; }
.omnfqldfy__header { margin-bottom: 2.2rem; }
.omnfqldfy__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--omn-primary); margin-bottom: 0.9rem; }
.omnfqldfy__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
.omnfqldfy__title { font-weight: 700; font-size: clamp(1.5rem, 5.5vw, 2.2rem); line-height: 1.3; letter-spacing: -0.02em; color: var(--omn-secondary); }
.omnfqldfy__list { display: flex; flex-direction: column; gap: 0.85rem; }
.omnfqldfy__item {
  background: #ffffff; border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 8%, transparent);
  border-radius: 0.95rem; overflow: hidden;
  box-shadow: 0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 6%, transparent), 0 0.55rem 1.5rem rgba(15,23,42,0.06);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.omnfqldfy__item--open { border-color: color-mix(in srgb, var(--omn-primary) 35%, transparent); box-shadow: 0 0.14rem 0.4rem rgba(15,23,42,0.08), 0 0.9rem 2.2rem rgba(15,23,42,0.09); }
.omnfqldfy__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; text-align: start; background: none; border: none; cursor: pointer; padding: 1.15rem 1.3rem; font-family: inherit; color: var(--omn-secondary); }
.omnfqldfy__q-text { font-weight: 600; font-size: clamp(0.95rem, 3.8vw, 1.02rem); line-height: 1.5; }
.omnfqldfy__q-icon {
  position: relative; flex-shrink: 0; width: 2rem; height: 2rem; overflow: hidden;
  border-radius: 0.6rem; background: var(--omn-primary); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 0.78rem;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
}
.omnfqldfy__q-icon::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 0.7rem; background: color-mix(in srgb, var(--omn-primary) 55%, var(--omn-secondary)); clip-path: polygon(0.35rem 0, 100% 0, 100% 100%, 0 100%); }
.omnfqldfy__q-icon > i { position: relative; z-index: 2; }
.omnfqldfy__item--open .omnfqldfy__q-icon { transform: rotate(135deg); }
.omnfqldfy__a { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.omnfqldfy__a-text { margin: 0 1.3rem 1.35rem; padding-top: 1rem; border-top: 0.12rem dashed color-mix(in srgb, var(--omn-secondary) 14%, transparent); font-size: clamp(0.9rem, 3.6vw, 0.98rem); font-weight: 400; line-height: 1.85; color: color-mix(in srgb, var(--omn-secondary) 50%, #ffffff); }
@media (min-width: 769px) { .omnfqldfy { padding-block: 5.4rem; } }

/* ---------- omnprwldfy — Previous Work ---------- */
.omnprwldfy { position: relative; padding: 4.8rem 1.15rem; background: transparent; }
.omnprwldfy__container { position: relative; z-index: 3; max-width: 72rem; margin: 0 auto; }
.omnprwldfy__header { max-width: 42rem; margin-bottom: 2.4rem; }
.omnprwldfy__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--omn-primary); margin-bottom: 0.9rem; }
.omnprwldfy__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
.omnprwldfy__title { font-weight: 700; font-size: clamp(1.6rem, 6vw, 2.3rem); line-height: 1.25; letter-spacing: -0.02em; color: var(--omn-secondary); margin-bottom: 0.8rem; }
.omnprwldfy__lead { font-size: clamp(0.95rem, 3.8vw, 1.05rem); font-weight: 400; line-height: 1.8; color: color-mix(in srgb, var(--omn-secondary) 47%, #ffffff); }
.omnprwldfy__grid { display: grid; grid-template-columns: 1fr; gap: 1.7rem; }
.omnprwldfy__card {
  background: #ffffff; border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 8%, transparent);
  border-radius: 1rem; overflow: hidden;
  box-shadow: 0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 8%, transparent), 0 0.9rem 2.2rem rgba(15,23,42,0.08);
  transition: transform 0.26s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s ease;
}
.omnprwldfy__card:hover { transform: translateY(-0.18rem); box-shadow: 0 0.14rem 0.4rem rgba(15,23,42,0.1), 0 1.4rem 2.9rem rgba(15,23,42,0.13); }
.omnprwldfy__shots { position: relative; background: var(--omn-secondary); height: 14rem; overflow: hidden; padding: 1.3rem 1.3rem 0; display: flex; align-items: flex-end; justify-content: center; }
.omnprwldfy__shot--desk { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 0.5rem 0.5rem 0 0; box-shadow: 0 0.4rem 1rem rgba(0,0,0,0.28); }
.omnprwldfy__shot--mob { position: absolute; bottom: 0; inset-inline-end: 1.1rem; width: 4.6rem; height: 8.2rem; object-fit: cover; border: 0.2rem solid #fff; border-bottom: none; border-radius: 0.5rem 0.5rem 0 0; box-shadow: 0 0.3rem 0.8rem rgba(0,0,0,0.3); }
.omnprwldfy__body { padding: 1.3rem 1.4rem 1.6rem; }
.omnprwldfy__name { font-weight: 700; font-size: 1.15rem; color: var(--omn-secondary); margin-bottom: 0.25rem; letter-spacing: -0.01em; }
.omnprwldfy__url { display: inline-block; font-weight: 500; font-size: 0.84rem; color: var(--omn-primary); margin-bottom: 0.7rem; direction: ltr; }
.omnprwldfy__note { font-size: 0.93rem; font-weight: 400; line-height: 1.7; color: color-mix(in srgb, var(--omn-secondary) 47%, #ffffff); margin-bottom: 1.2rem; }
.omnprwldfy__visit {
  position: relative; display: inline-flex; align-items: center; overflow: hidden;
  color: #fff; background: var(--omn-primary); font-weight: 600; font-size: 0.88rem;
  padding-block: 0.7rem; padding-inline: 2.7rem 1.3rem; border-radius: 0.75rem;
  box-shadow: 0 0.5rem 1.2rem color-mix(in srgb, var(--omn-primary) 28%, transparent);
  transition: box-shadow 0.25s ease, filter 0.2s ease;
}
.omnprwldfy__visit::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 2.1rem; background: color-mix(in srgb, var(--omn-primary) 55%, var(--omn-secondary)); clip-path: polygon(0.7rem 0, 100% 0, 100% 100%, 0 100%); }
.omnprwldfy__visit-ico { position: absolute; inset-inline-start: 0.6rem; top: 50%; transform: translateY(-50%); z-index: 2; font-size: 0.82rem; }
.omnprwldfy__visit:hover { filter: brightness(1.04); box-shadow: 0 0.8rem 1.7rem color-mix(in srgb, var(--omn-primary) 36%, transparent); }
@media (min-width: 769px) { .omnprwldfy { padding-block: 5.4rem; } .omnprwldfy__grid { grid-template-columns: 1fr 1fr; } }
 (min-width: 769px) { .omnprwldfy__shots { height: 18rem; } }

/* ---------- omntstldfy — Testimonials slider ---------- */
.omntstldfy { position: relative; padding: 4.8rem 1.15rem; background: transparent; }
.omntstldfy__container { position: relative; z-index: 3; max-width: 58rem; margin: 0 auto; }
.omntstldfy__header { text-align: center; margin-bottom: 2rem; }
.omntstldfy__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--omn-primary); margin-bottom: 0.85rem; }
.omntstldfy__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
.omntstldfy__title { font-weight: 700; font-size: clamp(1.5rem, 5.5vw, 2.2rem); line-height: 1.3; letter-spacing: -0.02em; color: var(--omn-secondary); }
.omntstldfy__viewport { overflow: hidden; border-radius: 1rem; cursor: grab; -webkit-user-select: none; user-select: none; }
.omntstldfy__viewport--dragging { cursor: grabbing; }
.omntstldfy__track { display: flex; gap: 1.1rem; padding: 0.2rem; transition: transform 0.45s cubic-bezier(0.16,1,0.3,1); will-change: transform; }
.omntstldfy__track--nosnap { transition: none; }
.omntstldfy__slide { flex: 0 0 100%; }
.omntstldfy__img { display: block; width: 100%; aspect-ratio: 8 / 5; object-fit: cover; border-radius: 0.9rem; border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 8%, transparent); box-shadow: 0 0.8rem 2.2rem rgba(15,23,42,0.1); pointer-events: none; }
.omntstldfy__controls { display: flex; align-items: center; justify-content: center; gap: 1.1rem; margin-top: 1.6rem; }
.omntstldfy__nav {
  position: relative; display: inline-flex; align-items: center; justify-content: center; overflow: hidden;
  width: 2.8rem; height: 2.8rem; border: none; cursor: pointer; border-radius: 0.8rem;
  background: #ffffff; color: var(--omn-primary); font-size: 0.9rem;
  border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 8%, transparent);
  box-shadow: 0 0.4rem 1.1rem rgba(15,23,42,0.07); transition: color 0.25s ease, background 0.25s ease, transform 0.2s ease;
}
.omntstldfy__nav:hover { background: var(--omn-primary); color: #fff; }
.omntstldfy__dots { display: inline-flex; gap: 0.5rem; }
.omntstldfy__dot { width: 0.55rem; height: 0.55rem; border: none; padding: 0; border-radius: 50%; background: color-mix(in srgb, var(--omn-secondary) 18%, transparent); cursor: pointer; transition: transform 0.25s ease, background 0.25s ease; }
.omntstldfy__dot--active { background: var(--omn-primary); transform: scale(1.4); }
@media (min-width: 601px) { .omntstldfy__slide { flex-basis: calc(50% - 0.55rem); } }
@media (min-width: 769px) { .omntstldfy { padding-block: 5.4rem; } }

/* ---------- omncildfy — Contact Info ---------- */
.omncildfy { position: relative; padding: 4.8rem 1.15rem; background: transparent; }
.omncildfy__container { position: relative; z-index: 3; max-width: 72rem; margin: 0 auto; }
.omncildfy__header { max-width: 42rem; margin-bottom: 2.4rem; }
.omncildfy__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--omn-primary); margin-bottom: 0.9rem; }
.omncildfy__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
.omncildfy__title { font-weight: 700; font-size: clamp(1.6rem, 6vw, 2.3rem); line-height: 1.25; letter-spacing: -0.02em; color: var(--omn-secondary); margin-bottom: 0.8rem; }
.omncildfy__lead { font-size: clamp(0.95rem, 3.8vw, 1.05rem); font-weight: 400; line-height: 1.8; color: color-mix(in srgb, var(--omn-secondary) 47%, #ffffff); }
.omncildfy__body { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.omncildfy__list { list-style: none; display: flex; flex-direction: column; gap: 1.1rem; background: #ffffff; border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 8%, transparent); border-radius: 1rem; padding: 1.7rem 1.5rem; box-shadow: 0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 8%, transparent), 0 0.9rem 2.2rem rgba(15,23,42,0.08); }
.omncildfy__item { display: flex; align-items: flex-start; gap: 0.9rem; }
.omncildfy__icon {
  position: relative; flex-shrink: 0; width: 2.7rem; height: 2.7rem; overflow: hidden;
  border-radius: 0.75rem; background: var(--omn-primary); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 1rem;
}
.omncildfy__icon::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 0.95rem; background: color-mix(in srgb, var(--omn-primary) 55%, var(--omn-secondary)); clip-path: polygon(0.45rem 0, 100% 0, 100% 100%, 0 100%); }
.omncildfy__icon > i { position: relative; z-index: 2; }
.omncildfy__text { display: flex; flex-direction: column; gap: 0.15rem; }
.omncildfy__label { font-size: 0.74rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: color-mix(in srgb, var(--omn-secondary) 45%, #ffffff); }
.omncildfy__value { font-size: 0.98rem; font-weight: 500; line-height: 1.5; color: var(--omn-secondary); }
.omncildfy__social { display: inline-flex; gap: 0.6rem; margin-top: 0.25rem; }
.omncildfy__social-link { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 0.6rem; background: color-mix(in srgb, var(--omn-primary) 10%, transparent); color: var(--omn-primary); font-size: 0.9rem; transition: background 0.25s ease, color 0.25s ease; }
.omncildfy__social-link:hover { background: var(--omn-primary); color: #fff; }
.omncildfy__map { border-radius: 1rem; overflow: hidden; border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 8%, transparent); box-shadow: 0 0.9rem 2.2rem rgba(15,23,42,0.1); }
.omncildfy__map-frame { display: block; width: 100%; height: 100%; min-height: 16rem; border: 0; }
@media (min-width: 769px) { .omncildfy { padding-block: 5.4rem; } .omncildfy__body { grid-template-columns: 1.1fr 1fr; align-items: stretch; } .omncildfy__map-frame { min-height: 22rem; } }

/* ---------- omnsvlldfy — Service Locations ---------- */
.omnsvlldfy { position: relative; padding: 4.8rem 1.15rem; background: transparent; }
.omnsvlldfy__container { position: relative; z-index: 3; max-width: 66rem; margin: 0 auto; }
.omnsvlldfy__header { max-width: 42rem; margin-bottom: 2rem; }
.omnsvlldfy__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 0.76rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--omn-primary); margin-bottom: 0.9rem; }
.omnsvlldfy__eyebrow::before { content: ""; width: 2.2rem; height: 0.14rem; border-radius: 0.1rem; background: linear-gradient(270deg, currentColor, color-mix(in srgb, currentColor 15%, transparent)); }
.omnsvlldfy__title { font-weight: 700; font-size: clamp(1.5rem, 5.5vw, 2.2rem); line-height: 1.3; letter-spacing: -0.02em; color: var(--omn-secondary); margin-bottom: 0.7rem; }
.omnsvlldfy__lead { font-size: clamp(0.92rem, 3.6vw, 1rem); font-weight: 400; line-height: 1.75; color: color-mix(in srgb, var(--omn-secondary) 47%, #ffffff); }
.omnsvlldfy__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.omnsvlldfy__card {
  position: relative; overflow: hidden;
  background: #ffffff; border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 8%, transparent);
  border-radius: 0.9rem; padding-block: 1.3rem; padding-inline: 3rem 1.2rem;
  box-shadow: 0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 7%, transparent), 0 0.6rem 1.6rem rgba(15,23,42,0.06);
  transition: transform 0.24s cubic-bezier(0.16,1,0.3,1), box-shadow 0.28s ease;
}
.omnsvlldfy__card::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 2.4rem; background: linear-gradient(200deg, color-mix(in srgb, var(--omn-primary) 88%, #fff), var(--omn-primary)); clip-path: polygon(1.1rem 0, 100% 0, 100% 100%, 0 100%); }
.omnsvlldfy__card:nth-child(3n+2)::before { background: linear-gradient(200deg, color-mix(in srgb, color-mix(in srgb, var(--omn-primary) 64%, var(--omn-secondary)) 88%, #fff), color-mix(in srgb, var(--omn-primary) 64%, var(--omn-secondary))); }
.omnsvlldfy__card:nth-child(3n)::before { background: linear-gradient(200deg, color-mix(in srgb, color-mix(in srgb, var(--omn-primary) 56%, #fff) 88%, #fff), color-mix(in srgb, var(--omn-primary) 56%, #fff)); }
.omnsvlldfy__card:hover { transform: translateY(-0.16rem); box-shadow: 0 0.12rem 0.35rem rgba(15,23,42,0.1), 0 1rem 2.3rem rgba(15,23,42,0.1); }
.omnsvlldfy__icon { position: absolute; inset-inline-start: 0.6rem; top: 1.4rem; z-index: 2; color: #fff; font-size: 1rem; }
.omnsvlldfy__city { font-weight: 700; font-size: 1.02rem; color: var(--omn-secondary); margin-bottom: 0.2rem; letter-spacing: -0.01em; }
.omnsvlldfy__area { font-size: 0.84rem; font-weight: 400; line-height: 1.55; color: color-mix(in srgb, var(--omn-secondary) 47%, #ffffff); }
@media (min-width: 601px) { .omnsvlldfy__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 769px) { .omnsvlldfy { padding-block: 5.4rem; } }
@media (min-width: 1025px) { .omnsvlldfy__grid { grid-template-columns: repeat(6, 1fr); } }

/* ---------- omnctafldfy — Fixed CTA ---------- */
body { padding-bottom: 5rem; }
.omnctafldfy { position: fixed; inset-inline: 0; bottom: 0; z-index: 800; font-family: 'Readex Pro', system-ui, sans-serif; }
.omnctafldfy__bar { display: flex; gap: 0.6rem; background: color-mix(in srgb, #ffffff 92%, transparent); backdrop-filter: blur(0.7rem); border-top: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 10%, transparent); padding: 0.6rem 0.85rem; }
.omnctafldfy__btn {
  position: relative; flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  overflow: hidden; cursor: pointer; font-family: inherit; font-weight: 600; font-size: 0.92rem;
  padding-block: 0.85rem; padding-inline: 2.4rem 0.6rem; border: none; border-radius: 0.75rem;
  transition: filter 0.2s ease, box-shadow 0.25s ease;
}
.omnctafldfy__btn::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 2rem; clip-path: polygon(0.7rem 0, 100% 0, 100% 100%, 0 100%); }
.omnctafldfy__btn-ico { position: absolute; inset-inline-start: 0.6rem; top: 50%; transform: translateY(-50%); z-index: 2; color: #fff; font-size: 0.95rem; }
.omnctafldfy__btn--call { background: var(--omn-primary); color: #fff; box-shadow: 0 0.4rem 1rem color-mix(in srgb, var(--omn-primary) 32%, transparent); }
.omnctafldfy__btn--call::before { background: color-mix(in srgb, var(--omn-primary) 55%, var(--omn-secondary)); }
.omnctafldfy__btn--wa { background: var(--omn-secondary); color: var(--omn-helper); }
.omnctafldfy__btn--wa::before { background: var(--omn-primary); }
.omnctafldfy__btn:hover { filter: brightness(1.05); }
.omnctafldfy__btn--top { flex: 0 0 auto; padding-inline: 0.9rem; background: #fff; color: var(--omn-secondary); border: 0.06rem solid color-mix(in srgb, var(--omn-secondary) 10%, transparent); opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }
.omnctafldfy__btn--top::before { display: none; }
.omnctafldfy__btn--top.omnctafldfy__btn--visible { opacity: 1; pointer-events: auto; }
.omnctafldfy__label--top { display: none; }
@media (min-width: 769px) {
  body { padding-bottom: 0; }
  .omnctafldfy { bottom: 1.6rem; }
  .omnctafldfy__bar { max-width: 75rem; margin: 0 auto; justify-content: flex-end; background: none; backdrop-filter: none; border-top: none; padding: 0 1.6rem; gap: 0.7rem; pointer-events: none; }
  .omnctafldfy__btn { flex: none; pointer-events: auto; padding-block: 0.85rem; padding-inline: 2.9rem 1.4rem; box-shadow: 0 0.7rem 1.7rem rgba(15,23,42,0.16); }
  .omnctafldfy__btn--call { box-shadow: 0 0.7rem 1.7rem color-mix(in srgb, var(--omn-primary) 36%, transparent); }
  .omnctafldfy__label--top { display: inline; }
}

/* ---------- omnhrsldfy — Service Hero (mirrors omnhroldfy) ---------- */
.omnhrsldfy {
  position: relative; overflow: hidden;
  padding: 4rem 1.15rem 3.4rem; min-height: 82svh;
  display: flex; align-items: center;
  font-family: 'Readex Pro', system-ui, sans-serif; color: var(--omn-secondary);
}
.omnhrsldfy__container { position: relative; z-index: 3; max-width: 48rem; margin: 0 auto; width: 100%; padding-inline-start: 2.8rem; }
@media (min-width: 1025px) { .omnhrsldfy__container { padding-inline-start: 0; } }
.omnhrsldfy__eyebrow { font-weight: 500; font-size: 0.85rem; color: color-mix(in srgb, var(--omn-secondary) 55%, #ffffff); margin-bottom: 0.9rem; }
.omnhrsldfy__crumb { color: var(--omn-primary); font-weight: 600; }
.omnhrsldfy__title { font-weight: 700; font-size: clamp(1.95rem, 8.5vw, 3.1rem); line-height: 1.16; letter-spacing: -0.02em; margin-bottom: 1rem; }
.omnhrsldfy__hook { font-size: clamp(1rem, 4.2vw, 1.18rem); font-weight: 400; line-height: 1.8; color: color-mix(in srgb, var(--omn-secondary) 55%, #ffffff); max-width: 38rem; margin-bottom: 1.7rem; }
.omnhrsldfy__benefits { list-style: none; display: flex; flex-direction: column; gap: 0.85rem; margin-bottom: 2rem; }
.omnhrsldfy__benefit { display: flex; align-items: flex-start; gap: 0.75rem; font-size: clamp(0.9rem, 3.6vw, 1rem); font-weight: 500; line-height: 1.6; }
.omnhrsldfy__ico { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: color-mix(in srgb, var(--omn-primary) 12%, #ffffff); color: var(--omn-primary); font-size: 0.95rem; }
.omnhrsldfy__cta { display: flex; flex-wrap: wrap; gap: 1.6rem; }
.omnhrsldfy__cta-btn {
  position: relative; display: inline-flex; align-items: center; overflow: hidden;
  font-weight: 600; font-size: clamp(0.95rem, 3.8vw, 1.05rem); letter-spacing: -0.005em;
  padding-block: 0.95rem; padding-inline: 3.55rem 1.5rem; border-radius: 0.9rem;
  transition: box-shadow 0.3s ease, border-color 0.25s ease, filter 0.25s ease;
}
.omnhrsldfy__cta-btn::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 2.85rem; background: linear-gradient(200deg, color-mix(in srgb, var(--omnhrsldfy-zone) 88%, #ffffff), var(--omnhrsldfy-zone)); clip-path: polygon(0.95rem 0, 100% 0, 100% 100%, 0 100%); transition: width 0.34s cubic-bezier(0.16,1,0.3,1); }
.omnhrsldfy__cta-btn:hover::before { width: 3.35rem; }
.omnhrsldfy__cta-btn .omnhrsldfy__ico { position: absolute; inset-inline-start: 0.66rem; top: 50%; transform: translateY(-50%); z-index: 2; width: auto; height: auto; background: none; color: #fff; font-size: 1.2rem; transition: transform 0.3s cubic-bezier(0.16,1,0.3,1); }
.omnhrsldfy__cta-btn:hover .omnhrsldfy__ico { transform: translateY(-50%) translateX(-0.2rem); }
.omnhrsldfy__cta-btn--call { color: #fff; background: var(--omn-primary); --omnhrsldfy-zone: color-mix(in srgb, var(--omn-primary) 55%, var(--omn-secondary)); box-shadow: 0 0.1rem 0.3rem color-mix(in srgb, var(--omn-secondary) 18%, transparent), 0 0.5rem 1.1rem color-mix(in srgb, var(--omn-primary) 26%, transparent); }
.omnhrsldfy__cta-btn--wa { color: var(--omn-secondary); background: #fff; --omnhrsldfy-zone: var(--omn-primary); border: 0.09rem solid color-mix(in srgb, var(--omn-secondary) 12%, transparent); box-shadow: 0 0.1rem 0.3rem rgba(15,23,42,0.05), 0 0.4rem 1rem rgba(15,23,42,0.07); }
.omnhrsldfy__cta-btn--call:hover { filter: brightness(1.04); }
.omnhrsldfy__mock { background: var(--omn-secondary); border-radius: 1.1rem; padding: 0.9rem; box-shadow: 0 1.4rem 3.4rem rgba(15,23,42,0.22); }
.omnhrsldfy__mock-bar { display: flex; gap: 0.4rem; padding: 0.3rem 0.5rem 0.75rem; }
.omnhrsldfy__mock-dot { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: color-mix(in srgb, var(--omn-helper) 45%, transparent); }
.omnhrsldfy__mock-body { background: #fff; border-radius: 0.75rem; padding: 1.7rem 1.5rem; display: flex; flex-direction: column; gap: 0.85rem; }
.omnhrsldfy__mock-line { height: 0.8rem; border-radius: 0.4rem; background: color-mix(in srgb, var(--omn-secondary) 12%, transparent); }
.omnhrsldfy__mock-line--lg { height: 1.5rem; width: 78%; background: color-mix(in srgb, var(--omn-secondary) 20%, transparent); }
.omnhrsldfy__mock-line--sm { width: 52%; }
.omnhrsldfy__mock-btn { margin-top: 0.5rem; align-self: flex-start; background: var(--omn-primary); color: #fff; font-weight: 600; font-size: 0.88rem; padding: 0.6rem 1.4rem; border-radius: 0.7rem; }
@media (min-width: 769px) { .omnhrsldfy { padding: 4.5rem 2rem; } }
