/* 1.8.5 lane I (KZ 7 Nov 2026): /offers/revenue-engine/.
   1) Each part of the Solution has its own slight tint, pattern and left rail, and a sticky marker
      ("Engine 1 of 3 · name"), so the reader always knows which engine they are in.
      Colours from Registry v6.29.12, 11_Node_Database: {ue2} Revenue Generation Unit #11B890,
      {ue21} {ue22} {ue23} engines #61B89B (one hex for all 3, so the engines differ by tint step and pattern).
      Text on the marker uses #22684F, a darker shade of the same hue (DR-21.6), 6.6:1 on white.
   2) .pg-copy: the 6 steps / 5 stages sections copied from /programme/ (#ladder, #stages). */
.rg-tint { overflow: clip; --rc: #61B89B; --rt: #22684F; box-shadow: inset 6px 0 0 var(--rc), inset 0 5px 0 var(--rc); }
.rg-ov { --rc: #11B890; }
.rg-ov.p-solution { background-color: #ECF8F4; }
.rg-e1 { background-color: #F1F9F6; background-image: radial-gradient(circle at 14px 14px, rgba(97,184,155,.22) 1.6px, transparent 1.8px); background-size: 28px 28px; }
.rg-e2 { background-color: #EAF5F0; background-image: repeating-linear-gradient(135deg, rgba(97,184,155,.13) 0 2px, transparent 2px 18px); background-size: auto; }
.rg-e3 { background-color: #E3F1EB; background-image: repeating-linear-gradient(0deg, rgba(97,184,155,.16) 0 1px, transparent 1px 22px), repeating-linear-gradient(90deg, rgba(97,184,155,.10) 0 1px, transparent 1px 66px); background-size: auto; }
.rg-mark { position: sticky; top: 72px; z-index: 6; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; max-width: 100%; margin: 0 0 16px; padding: 6px 14px 6px 10px;
  border: 2px solid var(--rc); border-left-width: 8px; border-radius: 999px; background: #fff; color: #1A1A1A; font: 600 .9rem/1.3 var(--font-heading); box-shadow: 0 6px 16px -10px rgba(26,26,26,.45); }
.rg-mark__n { color: var(--rt); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: .8rem; }
.rg-mark__i { font-size: 1.1rem; }
.rg-mark__dots { display: inline-flex; gap: 4px; margin-left: 2px; }
.rg-mark__dots i { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--rt); }
.rg-mark__dots i.on { background: var(--rt); }
@media (max-width: 30em) { .rg-mark { top: 64px; font-size: .82rem; } }
/* programme copy: same rules as programme/index.html, scoped */
.pg-copy .measure { max-width: 70ch; }
.pg-copy .grid { display: grid; gap: 16px; }
.pg-copy .card { position: relative; border: 1px solid var(--line); border-radius: 16px; padding: 24px; background: #fff; }
.pg-copy .card h3 { margin-bottom: .35em; } .pg-copy .card > :last-child { margin-bottom: 0; }
.pg-copy .card--top { border-top: 4px solid #D44040; }
.pg-copy .num { font: 700 .875rem var(--font-heading); color: #C03030; letter-spacing: .06em; }
.pg-copy .gate { margin-top: 14px; padding: 14px 16px; border-radius: 12px; background: var(--bg-tint); border-left: 4px solid #D44040; }
.pg-copy .gate p { margin: 0; }
.pg-copy .gate > b { display: block; font: 700 .8rem var(--font-heading); letter-spacing: .08em; text-transform: uppercase; color: #C03030; margin-bottom: 2px; }
.pg-copy .ladder-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 20px 0 8px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.pg-copy .ladder { width: 100%; min-width: 860px; border-collapse: collapse; font-size: .9rem; line-height: 1.4; }
.pg-copy .ladder caption { text-align: left; padding: 14px 16px 6px; font: 700 .8rem var(--font-heading); letter-spacing: .08em; text-transform: uppercase; color: var(--c-steel-deep); }
.pg-copy .ladder th, .pg-copy .ladder td { padding: 10px 12px; border: 1px solid var(--line); text-align: center; vertical-align: middle; }
.pg-copy .ladder thead th { background: var(--bg-tint); font-family: var(--font-heading); }
.pg-copy .ladder tbody th { background: var(--bg-sunk); font: 700 .8rem var(--font-heading); text-align: left; width: 9%; }
.pg-copy .ladder td.stg { background: #FBEDEC; border-top: 3px solid #D44040; font-weight: 600; }
.pg-copy .ladder td.pre { background: var(--bg-sunk); color: var(--fg-muted); }
.pg-copy .ladder td.dfy { background: #F3F6F7; }
.pg-copy .ladder small { display: block; color: var(--fg-muted); font-weight: 400; }
.pg-copy .fw { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 14px 0 0; }
.pg-copy .fw li { padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; font-size: .9rem; }
.pg-copy .small { font-size: .875rem; }
