/* ===== REDESIGN-ONLY additive CSS — tokens reused from cnp.css, no new colors/fonts ===== */
      .rdx {
        background: var(--dark);
        color: var(--on-dark);
        overflow-x: clip;
      }
      .rdx .rwrap {
        width: 100%;
        max-width: var(--maxw);
        margin-inline: auto;
        padding-inline: var(--gutter);
      }
      .rdx .preview-flag {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99;
        background: var(--lime);
        color: var(--lime-ink);
        font-family: var(--mono);
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        padding: 5px 12px;
        border-bottom-right-radius: 8px;
      }

      /* --- top nav --- */
      .rdx .rnav {
        position: sticky;
        top: 0;
        z-index: 40;
        background: rgba(22, 22, 21, 0.78);
        backdrop-filter: blur(12px);
        border-bottom: 1px solid var(--dark-line);
      }
      .rdx .rnav-in {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 68px;
      }
      .rdx .rnav .logo img {
        width: 158px;
        height: auto;
        display: block;
      }
      .rdx .rnav-links {
        display: flex;
        align-items: center;
        gap: 6px;
      }
      .rdx .rnav-links a {
        font-family: var(--mono);
        font-size: 11.5px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--on-dark-2);
        padding: 9px 13px;
        transition: color 0.2s;
      }
      .rdx .rnav-links a:hover {
        color: var(--on-dark);
      }
      .rdx .rnav-cta {
        font-family: var(--mono);
        font-size: 11.5px;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--lime-ink);
        background: var(--lime);
        padding: 11px 18px;
        border-radius: 2px;
      }

      /* --- HERO --- */
      .rdx .rhero {
        position: relative;
        padding: clamp(40px, 6vw, 84px) 0 clamp(48px, 6vw, 88px);
      }
      .rdx .rhero::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: radial-gradient(
          60% 70% at 82% 30%,
          rgba(216, 250, 15, 0.1),
          transparent 60%
        );
      }
      .rdx .rhero-grid {
        position: relative;
        display: grid;
        grid-template-columns: 1.02fr 0.98fr;
        gap: clamp(28px, 4vw, 64px);
        align-items: center;
      }
      .rdx .rpill {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        border: 1px solid var(--dark-line);
        border-radius: 999px;
        padding: 7px 14px 7px 11px;
        font-family: var(--mono);
        font-size: 10.5px;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--on-dark-2);
      }
      .rdx .rpill .d {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--lime);
        box-shadow: 0 0 10px var(--lime);
      }
      .rdx .rtitle {
        font-family: var(--disp);
        font-weight: 700;
        line-height: 0.98;
        letter-spacing: -0.015em;
        font-size: clamp(46px, 6.6vw, 96px);
        margin: 20px 0 0;
        color: var(--on-dark);
      }
      .rdx .rtitle .lime {
        color: var(--lime);
      }
      /* typewriter word swap: custom systems → automations → reporting */
      .rdx .typew {
        white-space: nowrap;
      }
      .rdx .typew .caret {
        display: inline-block;
        width: 0.06em;
        height: 0.92em;
        margin-left: 0.04em;
        background: var(--lime);
        vertical-align: -0.06em;
        animation: caretBlink 0.9s steps(1) infinite;
      }
      @keyframes caretBlink {
        0%, 50% { opacity: 1; }
        50.01%, 100% { opacity: 0; }
      }
      .rdx .rsub {
        font-family: var(--disp);
        font-weight: 600;
        line-height: 1.08;
        letter-spacing: -0.005em;
        font-size: clamp(19px, 2.3vw, 30px);
        color: var(--on-dark);
        margin: 18px 0 0;
        max-width: 20ch;
      }
      .rdx .rlead {
        font-size: clamp(14px, 1.05vw, 16px);
        line-height: 1.7;
        color: var(--on-dark-2);
        margin: 16px 0 0;
        max-width: 46ch;
      }
      .rdx .ractions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 28px;
      }
      .rdx .rbtn {
        font-family: var(--mono);
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 15px 24px;
        cursor: pointer;
        transition: 0.2s ease;
      }
      .rdx .rbtn.solid {
        background: var(--lime);
        color: var(--lime-ink);
      }
      .rdx .rbtn.solid:hover {
        filter: brightness(1.06);
      }
      .rdx .rbtn.ghost {
        border: 1px solid var(--dark-line);
        color: var(--on-dark);
      }
      .rdx .rbtn.ghost:hover {
        border-color: var(--on-dark-2);
      }
      .rdx .rtrust {
        display: flex;
        align-items: center;
        gap: 18px;
        flex-wrap: wrap;
        margin-top: 34px;
        padding-top: 24px;
        border-top: 1px solid var(--dark-line);
      }
      .rdx .rtrust .lab {
        font-family: var(--mono);
        font-size: 9.5px;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: var(--on-dark-3);
      }
      .rdx .rtrust-logos {
        display: flex;
        align-items: center;
        gap: 22px;
        flex-wrap: wrap;
      }
      .rdx .rtrust-logos img {
        height: 19px;
        width: auto;
        opacity: 0.95;
      }
      .rdx .rtrust-logos .word {
        font-family: var(--disp);
        font-weight: 700;
        font-size: 16px;
        color: var(--on-dark-2);
        letter-spacing: 0.02em;
      }

      /* --- HERO VISUAL: glowing product panel + floating proof badges --- */
      .rdx .rvis {
        position: relative;
        min-height: 430px;
      }
      .rdx .rvis-glow {
        position: absolute;
        inset: 6% 4% 6% 4%;
        border-radius: 24px;
        background: radial-gradient(
          120% 120% at 60% 20%,
          rgba(216, 250, 15, 0.22),
          rgba(126, 148, 0, 0.05) 45%,
          transparent 70%
        );
        filter: blur(8px);
      }
      .rdx .rpanel {
        position: relative;
        border: 1px solid var(--dark-line);
        border-radius: 16px;
        overflow: hidden;
        background: linear-gradient(180deg, #1c1c1a, #121211);
        box-shadow: inset 0 1px 0 rgba(242, 242, 236, 0.05);
      }
      .rdx .rpanel-bar {
        display: flex;
        align-items: center;
        gap: 7px;
        padding: 11px 14px;
        border-bottom: 1px solid var(--dark-line);
      }
      .rdx .rpanel-bar i {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: var(--dark-line);
      }
      .rdx .rpanel-bar .u {
        margin-left: 8px;
        font-family: var(--mono);
        font-size: 10.5px;
        color: var(--on-dark-3);
      }
      .rdx .rpanel-body {
        padding: 16px;
        display: grid;
        gap: 12px;
      }
      .rdx .rkpis {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
      }
      .rdx .rkpi {
        border: 1px solid var(--dark-line);
        border-radius: 10px;
        padding: 11px 12px;
        background: rgba(255, 255, 255, 0.012);
      }
      .rdx .rkpi .k {
        font-family: var(--mono);
        font-size: 8.5px;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--on-dark-3);
      }
      .rdx .rkpi .v {
        font-family: var(--disp);
        font-weight: 700;
        font-size: 23px;
        color: var(--on-dark);
        line-height: 1.1;
        margin-top: 5px;
      }
      .rdx .rkpi .v.lime {
        color: var(--lime);
      }
      .rdx .rpanel-charts {
        display: grid;
        grid-template-columns: 1.5fr 1fr;
        gap: 10px;
      }
      .rdx .rchart {
        border: 1px solid var(--dark-line);
        border-radius: 10px;
        padding: 12px;
        background: rgba(255, 255, 255, 0.012);
      }
      .rdx .rchart .ct {
        font-family: var(--mono);
        font-size: 8.5px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--on-dark-3);
        margin-bottom: 8px;
      }
      .rdx .rbars {
        display: flex;
        align-items: flex-end;
        gap: 8px;
        height: 84px;
      }
      .rdx .rbars span {
        flex: 1;
        border-radius: 3px 3px 0 0;
        background: linear-gradient(
          180deg,
          var(--lime),
          rgba(126, 148, 0, 0.35)
        );
      }
      .rdx .rbadge {
        position: absolute;
        z-index: 5;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #0c0c0b;
        border: 1px solid var(--dark-line);
        border-radius: 10px;
        padding: 9px 13px;
        box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.55);
      }
      .rdx .rbadge .n {
        font-family: var(--disp);
        font-weight: 700;
        font-size: 17px;
        color: var(--lime);
        line-height: 1;
      }
      .rdx .rbadge .t {
        font-family: var(--mono);
        font-size: 9.5px;
        letter-spacing: 0.04em;
        color: var(--on-dark-2);
        line-height: 1.25;
        max-width: 15ch;
        text-transform: uppercase;
      }
      .rdx .rbadge.tl {
        top: 2%;
        left: -3%;
      }
      .rdx .rbadge.tr {
        top: 14%;
        right: -4%;
      }
      .rdx .rbadge.bl {
        bottom: 8%;
        left: -5%;
      }
      .rdx .rbadge.br {
        bottom: -2%;
        right: 2%;
      }

      /* --- VALUE BENTO (image #4): cards with mini-charts --- */
      .rdx .rsec {
        padding: clamp(48px, 6vw, 88px) 0;
      }
      .rdx .rhead {
        text-align: left;
        max-width: 820px;
        margin: 0 0 clamp(30px, 4vw, 48px);
      }
      .rdx .rkick {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        font-family: var(--mono);
        font-size: 10.5px;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--on-dark-3);
      }
      .rdx .rkick .sq {
        width: 7px;
        height: 7px;
        background: var(--lime);
        display: inline-block;
      }
      .rdx .rh2 {
        font-family: var(--disp);
        font-weight: 700;
        font-size: clamp(28px, 3.7vw, 48px);
        line-height: 1.05;
        letter-spacing: -0.01em;
        color: var(--on-dark);
        margin: 14px 0 0;
      }
      .rdx .rh2 .lime {
        color: var(--lime);
      }
      .rdx .rh2-lead {
        color: var(--on-dark-2);
        font-size: 15px;
        line-height: 1.6;
        margin: 14px auto 0;
        max-width: 56ch;
      }
      .rdx .rbento {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
      }
      .rdx .rb-card {
        border: 1px solid var(--dark-line);
        border-radius: 16px;
        padding: 22px;
        background: var(--dark-2);
        display: flex;
        flex-direction: column;
        min-height: 280px;
      }
      .rdx .rb-card.feat {
        background: linear-gradient(170deg, var(--lime), #b9d60c);
        border-color: transparent;
        color: var(--lime-ink);
      }
      .rdx .rb-card .n {
        font-family: var(--mono);
        font-size: 11px;
        letter-spacing: 0.1em;
        color: var(--lime-deep);
      }
      .rdx .rb-card.feat .n {
        color: rgba(22, 22, 20, 0.55);
      }
      .rdx .rb-card h3 {
        font-family: var(--disp);
        font-weight: 700;
        font-size: 22px;
        line-height: 1.1;
        margin: 10px 0 8px;
        color: var(--on-dark);
      }
      .rdx .rb-card.feat h3 {
        color: var(--lime-ink);
      }
      .rdx .rb-card p {
        font-size: 13px;
        line-height: 1.6;
        color: var(--on-dark-2);
        margin: 0;
      }
      .rdx .rb-card.feat p {
        color: rgba(22, 22, 20, 0.72);
      }
      .rdx .rb-graphic {
        margin-top: auto;
        padding-top: 18px;
      }
      .rdx .rmini-bars {
        display: flex;
        align-items: flex-end;
        gap: 6px;
        height: 66px;
      }
      .rdx .rmini-bars span {
        flex: 1;
        border-radius: 2px 2px 0 0;
      }
      .rdx .rb-card .rmini-bars span {
        background: var(--lime);
        opacity: 0.85;
      }
      .rdx .rb-card.feat .rmini-bars span {
        background: rgba(22, 22, 20, 0.78);
      }
      .rdx .rb-tag {
        align-self: flex-start;
        margin-top: 16px;
        font-family: var(--mono);
        font-size: 9.5px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--on-dark-2);
        border: 1px solid var(--dark-line);
        border-radius: 999px;
        padding: 5px 11px;
      }
      .rdx .rb-card.feat .rb-tag {
        color: var(--lime-ink);
        border-color: rgba(22, 22, 20, 0.3);
      }

      /* --- NUMBERED PROCESS (Valra 01/02/03) --- */
      .rdx .rsteps {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        border: 1px solid var(--dark-line);
        border-radius: 16px;
        overflow: hidden;
      }
      .rdx .rstep {
        padding: 30px clamp(20px, 2.4vw, 34px) 34px;
        border-right: 1px solid var(--dark-line);
        position: relative;
      }
      .rdx .rstep:last-child {
        border-right: 0;
      }
      .rdx .rstep .sn {
        font-family: var(--disp);
        font-weight: 700;
        font-size: 40px;
        color: var(--lime);
        line-height: 1;
      }
      .rdx .rstep h3 {
        font-family: var(--disp);
        font-weight: 700;
        font-size: 20px;
        margin: 14px 0 8px;
        color: var(--on-dark);
      }
      .rdx .rstep p {
        font-size: 13px;
        line-height: 1.65;
        color: var(--on-dark-2);
        margin: 0;
      }
      .rdx .rstep .big {
        font-family: var(--disp);
        font-weight: 700;
        font-size: clamp(22px, 2.4vw, 30px);
        color: var(--on-dark);
        margin-top: 20px;
      }
      .rdx .rstep .big .lime {
        color: var(--lime);
      }

      /* --- CLOSING CTA --- */
      .rdx .rcta {
        border: 1px solid var(--dark-line);
        border-radius: 20px;
        background:
          radial-gradient(
            80% 140% at 80% 10%,
            rgba(216, 250, 15, 0.12),
            transparent 55%
          ),
          var(--dark-2);
        padding: clamp(34px, 4.5vw, 60px);
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(240px, 290px);
        align-items: center;
        gap: clamp(32px, 5vw, 72px);
      }
      .rdx .rcta h2 {
        font-family: var(--disp);
        font-weight: 700;
        font-size: clamp(30px, 4.2vw, 56px);
        line-height: 1;
        color: var(--on-dark);
        margin: 8px 0 0;
        max-width: 18ch;
      }
      .rdx .rcta .mono {
        font-family: var(--mono);
        font-size: 11px;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--lime);
      }
      .rdx .rcta-r {
        display: flex;
        flex-direction: column;
        gap: 14px;
        align-items: stretch;
        width: 100%;
        justify-self: end;
      }
      .rdx .rcta-r .glow-btn {
        display: block;
        width: 100%;
        font-size: 15px;
      }
      .rdx .rcta-r .glow-btn .inner {
        display: flex;
        width: 100%;
        min-height: 56px;
        justify-content: center;
        gap: 11px;
        padding: 14px 28px;
      }
      .rdx .rcta-r .glow-btn .inner svg {
        width: 18px;
        height: 18px;
      }
      .rdx .rcta-r .mono {
        text-align: center;
        line-height: 1.5;
      }
      @media (max-width: 760px) {
        .rdx .rcta {
          grid-template-columns: 1fr;
          gap: 26px;
        }
        .rdx .rcta-r {
          justify-self: stretch;
        }
      }

      /* --- footer --- */
      .rdx .rfoot {
        border-top: 1px solid var(--dark-line);
        padding: 40px 0;
      }
      .rdx .rfoot-in {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
      }
      .rdx .rfoot img {
        width: 180px;
        height: auto;
        opacity: 0.9;
      }
      .rdx .rfoot span {
        font-family: var(--mono);
        font-size: 10px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--on-dark-3);
      }
      .rdx .rfoot-contact {
        display: grid;
        gap: 4px;
        margin: 0;
        font-family: var(--mono);
        font-size: 10px;
        font-style: normal;
        line-height: 1.45;
        text-align: center;
        color: var(--on-dark-3);
      }
      .rdx .rfoot .rfoot-contact span,
      .rdx .rfoot-contact a {
        color: var(--on-dark-3);
        font-family: var(--mono);
        font-size: 10px;
        letter-spacing: 0.02em;
        text-transform: none;
      }
      .rdx .rfoot-contact a {
        text-decoration: none;
      }
      .rdx .rfoot-contact a:hover {
        color: var(--lime);
      }

      /* reveal */
      .rdx .rv2 {
        opacity: 0;
        transform: translateY(16px);
        transition:
          opacity 0.6s ease,
          transform 0.6s ease;
      }
      .rdx .rv2.in {
        opacity: 1;
        transform: none;
      }

      /* --- responsive --- */
      @media (max-width: 960px) {
        .rdx .rhero-grid {
          grid-template-columns: 1fr;
        }
        .rdx .rvis {
          min-height: 380px;
          margin-top: 20px;
        }
        .rdx .rbento {
          grid-template-columns: repeat(2, 1fr);
        }
        .rdx .rsteps {
          grid-template-columns: 1fr;
        }
        .rdx .rstep {
          border-right: 0;
          border-bottom: 1px solid var(--dark-line);
        }
        .rdx .rstep:last-child {
          border-bottom: 0;
        }
        .rdx .rnav-burger {
          display: inline-flex;
        }
        .rdx .rnav-links {
          position: absolute;
          top: 100%;
          left: 0;
          right: 0;
          flex-direction: column;
          align-items: stretch;
          gap: 0;
          padding: 6px 0 10px;
          background: rgba(22, 22, 21, 0.97);
          backdrop-filter: blur(12px);
          border-bottom: 1px solid var(--dark-line);
          max-height: 0;
          overflow: hidden;
          opacity: 0;
          pointer-events: none;
          transition:
            max-height 0.28s ease,
            opacity 0.2s ease;
        }
        .rdx .rnav-links a {
          padding: 13px 24px;
        }
        .rdx .rnav.open .rnav-links {
          max-height: 320px;
          opacity: 1;
          pointer-events: auto;
        }
      }
      @media (max-width: 560px) {
        .rdx .rbento {
          grid-template-columns: 1fr;
        }
        .rdx .rkpis {
          grid-template-columns: repeat(3, 1fr);
        }
      }
      /* light band so restored "paper"-designed sections (How We Work, values)
         render exactly as on the original light homepage */
      .rdx .rdx-classic {
        background: var(--paper);
        color: var(--ink);
      }

/* ---- sub-page extras ---- */
.rdx .rpage-head { padding: clamp(40px,5.5vw,80px) 0 0; }
.rdx .rpage-head .rkick { color: var(--on-dark-3); }
.rdx .rwk { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rdx .rwk-card { border:1px solid var(--dark-line); border-radius:18px; background:var(--dark-2); padding:clamp(22px,2.6vw,34px); display:flex; flex-direction:column; }
.rdx .rwk-sector { font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--lime); }
.rdx .rwk-card h3 { font-family:var(--disp); font-weight:700; font-size:clamp(22px,2.4vw,30px); color:var(--on-dark); margin:8px 0 0; line-height:1.05; }
.rdx .rwk-card p { font-size:14px; line-height:1.7; color:var(--on-dark-2); margin:14px 0 0; }
.rdx .rwk-img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px; border:1px solid var(--dark-line); margin-bottom:18px; }
.rdx .rwk-metrics { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:24px 0; padding-top:22px; border-top:1px solid var(--dark-line); }
.rdx .rwk-metric .v { font-family:var(--disp); font-weight:700; font-size:30px; color:var(--lime); line-height:1; }
.rdx .rwk-metric .l { font-family:var(--mono); font-size:10px; letter-spacing:.03em; text-transform:uppercase; color:var(--on-dark-3); margin-top:7px; line-height:1.45; }
.rdx .rwk-link { margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--lime); }
@media (max-width:820px){ .rdx .rwk{ grid-template-columns:1fr; } }

/* ---- TRUSTED BY OPERATORS band -> dark (override cnp.css light .sec.trust) ---- */
.rdx .sec.trust { background: radial-gradient(118% 128% at 50% 34%, rgba(216,250,15,.13), rgba(216,250,15,.03) 46%, transparent 70%), var(--dark); }
.rdx .sec.trust .kick span { color: var(--lime); }
.rdx .sec.trust .h2 { color: var(--on-dark); }
.rdx .sec.trust .lead { color: var(--on-dark-2); }
.rdx .sec.trust .tb-word { color: var(--on-dark); }
.rdx .sec.trust .tb-logos img { opacity: 1; }
.rdx .sec.trust .tb-dark { background: transparent; padding:0; }
.rdx .sec.trust .btn { color: var(--on-dark); border-color: var(--dark-line); }
.rdx .sec.trust .btn:hover { background: var(--lime); color: var(--lime-ink); border-color: var(--lime); }

/* ---- clickable case cards on Our Work ---- */
.rdx a.rwk-card { text-decoration:none; transition:border-color .2s ease, transform .2s ease; }
.rdx a.rwk-card:hover { border-color: var(--lime); transform: translateY(-3px); }

/* ---- case-study detail page ---- */
.rdx .rcase { padding: clamp(36px,4.5vw,64px) 0 clamp(48px,6vw,90px); }
.rdx .rcase-back { display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--on-dark-2); }
.rdx .rcase-back:hover { color:var(--lime); }
.rdx .rcase-sector { display:block; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--lime); margin-top:30px; }
.rdx .rcase h1 { font-family:var(--disp); font-weight:700; font-size:clamp(34px,4.6vw,64px); line-height:1.02; letter-spacing:-.01em; color:var(--on-dark); margin:10px 0 0; }
.rdx .rcase-sum { width:100%; max-width:none; font-size:clamp(15px,1.3vw,18px); line-height:1.7; color:var(--on-dark-2); margin:18px 0 0; }
.rdx .rcase-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:34px 0; padding:28px 0; border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line); }
.rdx .rcase-metric .v { font-family:var(--disp); font-weight:700; font-size:clamp(26px,2.6vw,34px); color:var(--lime); line-height:1; }
.rdx .rcase-metric .l { font-family:var(--mono); font-size:10px; letter-spacing:.03em; text-transform:uppercase; color:var(--on-dark-3); margin-top:8px; line-height:1.45; }
.rdx .rcase-body { display:grid; width:100%; max-width:none; gap:30px; }
.rdx .rcase-gallery-frame { margin:34px 0; }
.rdx .rcase-gallery { display:grid; aspect-ratio:2.1/1; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:14px; overflow:hidden; touch-action:pan-y; }
.rdx .rcase-gallery.is-next { animation:rcaseGalleryNext .28s ease both; }
.rdx .rcase-gallery.is-previous { animation:rcaseGalleryPrevious .28s ease both; }
.rdx .rcase-gallery figure { position:relative; display:flex; min-width:0; min-height:0; flex-direction:column; margin:0; }
.rdx .rcase-gallery figure.primary { grid-column:span 2; grid-row:span 2; }
.rdx .rcase-gallery[data-visible-count="2"] figure.secondary { grid-row:span 2; }
.rdx .rcase-gallery[data-visible-count="1"] { aspect-ratio:16/9; grid-template-columns:1fr; grid-template-rows:1fr; }
.rdx .rcase-gallery[data-visible-count="1"] figure.primary { grid-column:auto; grid-row:auto; }
.rdx .rcase-gallery-open { position:relative; display:block; width:100%; min-height:0; flex:1; overflow:hidden; padding:0; border:1px solid var(--dark-line); border-radius:14px; background:var(--dark-2); color:var(--on-dark); cursor:pointer; }
.rdx .rcase-gallery-open img { display:block; width:100%; height:100%; min-height:0; border:0; border-radius:0; object-fit:cover; transition:transform .28s ease, filter .28s ease; }
.rdx .rcase-gallery-expand { position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid rgba(242,242,236,.2); border-radius:999px; background:rgba(22,22,21,.78); color:var(--on-dark); font-family:var(--mono); font-size:9px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; opacity:0; transform:translateY(5px); transition:opacity .2s ease, transform .2s ease; backdrop-filter:blur(8px); }
.rdx .rcase-gallery-expand svg { width:14px; height:14px; }
.rdx .rcase-gallery-open:hover img { transform:scale(1.025); filter:brightness(.88); }
.rdx .rcase-gallery-open:hover .rcase-gallery-expand,
.rdx .rcase-gallery-open:focus-visible .rcase-gallery-expand { opacity:1; transform:translateY(0); }
.rdx .rcase-gallery-open:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }
.rdx .rcase-image-caption { position:absolute; z-index:2; top:12px; left:12px; max-width:calc(100% - 24px); margin:0; padding:7px 11px; border:1px solid rgba(242,242,236,.2); border-radius:999px; background:rgba(22,22,21,.82); color:var(--on-dark); font-family:var(--mono); font-size:9px; font-weight:400; line-height:1.35; letter-spacing:.04em; pointer-events:none; backdrop-filter:blur(8px); box-shadow:0 5px 18px rgba(0,0,0,.2); }
.rdx .rcase-gallery-nav { display:flex; width:max-content; align-items:center; gap:5px; margin:12px 0 0 auto; padding:4px; border:1px solid var(--dark-line); border-radius:999px; background:rgba(22,22,21,.84); color:var(--on-dark); backdrop-filter:blur(8px); }
.rdx .rcase-gallery-nav button { display:grid; width:34px; height:34px; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; transition:background-color .2s ease,color .2s ease; }
.rdx .rcase-gallery-nav button:hover { background:var(--lime); color:var(--lime-ink); }
.rdx .rcase-gallery-nav button:focus-visible { outline:3px solid var(--lime); outline-offset:2px; }
.rdx .rcase-gallery-nav svg { width:18px; height:18px; }
.rdx .rcase-gallery-status { min-width:62px; text-align:center; font-family:var(--mono); font-size:9px; font-weight:600; letter-spacing:.12em; color:var(--on-dark-2); }
@keyframes rcaseGalleryNext { from { opacity:.68; transform:translateX(12px); } }
@keyframes rcaseGalleryPrevious { from { opacity:.68; transform:translateX(-12px); } }

/* ---- case-study gallery lightbox ---- */
.rdx .rcase-lightbox { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; overflow:hidden; padding:0; border:0; background:rgba(12,12,11,.97); color:var(--on-dark); user-select:none; -webkit-user-select:none; }
.rdx .rcase-lightbox ::selection { background:transparent; color:inherit; }
.rdx .rcase-lightbox::backdrop { background:rgba(5,5,5,.86); backdrop-filter:blur(8px); }
.rdx .rcase-lightbox-shell { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:100%; height:100%; padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
.rdx .rcase-lightbox-bar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:46px; gap:16px; }
.rdx .rcase-lightbox-count,
.rdx .rcase-lightbox-label { font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--on-dark-3); }
.rdx .rcase-lightbox-label { justify-self:center; }
.rdx .rcase-lightbox-control { display:grid; width:44px; height:44px; place-items:center; padding:0; border:1px solid var(--dark-line); border-radius:50%; background:rgba(27,27,26,.86); color:var(--on-dark); cursor:pointer; transition:border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease; }
.rdx .rcase-lightbox-control:hover { border-color:var(--lime); background:var(--lime); color:var(--lime-ink); }
.rdx .rcase-lightbox-control:focus-visible,
.rdx .rcase-lightbox-thumbs button:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }
.rdx .rcase-lightbox-control svg { width:21px; height:21px; }
.rdx .rcase-lightbox-bar .rcase-lightbox-control { justify-self:end; }
.rdx .rcase-lightbox-stage { position:relative; min-height:0; margin:10px 0; overflow:hidden; touch-action:pan-y; }
.rdx .rcase-lightbox-image { display:flex; width:100%; height:100%; min-height:0; align-items:center; justify-content:center; overflow:hidden; padding:12px 68px; border:0; background:transparent; }
.rdx .rcase-lightbox-media { position:relative; display:flex; width:fit-content; height:fit-content; max-width:100%; max-height:100%; margin:0; }
.rdx .rcase-lightbox-image img { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 180px); border:0; border-radius:6px; object-fit:contain; user-select:none; -webkit-user-drag:none; box-shadow:0 20px 70px rgba(0,0,0,.34); }
.rdx .rcase-lightbox-prev,
.rdx .rcase-lightbox-next { position:absolute; z-index:2; top:50%; transform:translateY(-50%); }
.rdx .rcase-lightbox-prev { left:8px; }
.rdx .rcase-lightbox-next { right:8px; }
.rdx .rcase-lightbox-prev:hover,
.rdx .rcase-lightbox-next:hover { transform:translateY(-50%) scale(1.04); }
.rdx .rcase-lightbox-thumbs { display:flex; max-width:100%; justify-content:center; gap:9px; overflow-x:auto; padding:8px 4px 3px; scrollbar-width:thin; }
.rdx .rcase-lightbox-thumbs button { width:72px; height:54px; flex:0 0 72px; overflow:hidden; padding:0; border:1px solid var(--dark-line); border-radius:7px; background:var(--dark-2); cursor:pointer; opacity:.54; transition:border-color .2s ease, opacity .2s ease, transform .2s ease; }
.rdx .rcase-lightbox-thumbs button:hover { opacity:.82; }
.rdx .rcase-lightbox-thumbs button[aria-current="true"] { border-color:var(--lime); opacity:1; transform:translateY(-2px); }
.rdx .rcase-lightbox-thumbs img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; }

.rdx .rcase-rich { gap:18px; }
.rdx .rcase-rich h2,
.rdx .rcase-rich h3 { font-family:var(--disp); font-weight:700; color:var(--on-dark); margin:18px 0 0; line-height:1.15; }
.rdx .rcase-rich h2 { font-size:clamp(24px,2.4vw,34px); }
.rdx .rcase-rich h3 { font-size:21px; }
.rdx .rcase-rich p,
.rdx .rcase-rich li,
.rdx .rcase-rich blockquote { width:100%; max-width:none; font-size:15px; line-height:1.75; color:var(--on-dark-2); margin:0; }
.rdx .rcase-rich ul,
.rdx .rcase-rich ol { display:grid; gap:10px; margin:0; padding-left:22px; }
.rdx .rcase-rich ul { list-style-type:disc; }
.rdx .rcase-rich ol { list-style-type:decimal; }
.rdx .rcase-rich ul ul { list-style-type:circle; }
.rdx .rcase-rich ul ul ul { list-style-type:square; }
.rdx .rcase-rich ol ol { list-style-type:lower-alpha; }
.rdx .rcase-rich ol ol ol { list-style-type:lower-roman; }
.rdx .rcase-rich blockquote { border-left:3px solid var(--lime); padding-left:18px; color:var(--on-dark); }
.rdx .rcase-rich a { color:var(--lime); }
.rdx .rcase-rich figure { margin:10px 0; }
.rdx .rcase-rich img { max-width:100%; border-radius:14px; border:1px solid var(--dark-line); display:block; }
.rdx .rcase-block h2 { font-family:var(--disp); font-weight:700; font-size:21px; color:var(--on-dark); margin:0 0 10px; }
.rdx .rcase-block p { font-size:15px; line-height:1.75; color:var(--on-dark-2); margin:0; max-width:70ch; }
.rdx .rcase-block ul { margin:0; padding:0; list-style:none; display:grid; gap:11px; }
.rdx .rcase-block li { position:relative; padding-left:22px; font-size:15px; line-height:1.6; color:var(--on-dark-2); }
.rdx .rcase-block li::before { content:""; position:absolute; left:0; top:9px; width:8px; height:8px; background:var(--lime); }
.rdx .rcase-meta { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; max-width:760px; }
.rdx .rcase-meta .cell { border:1px solid var(--dark-line); border-radius:12px; padding:18px; background:var(--dark-2); }
.rdx .rcase-meta .ct { font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--on-dark-3); margin-bottom:9px; }
.rdx .rcase-meta .cv { font-size:14px; line-height:1.6; color:var(--on-dark); }
.rdx .rcase-cta { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:36px; }
.rdx .rcase-note { font-family:var(--mono); font-size:10px; letter-spacing:.04em; color:var(--on-dark-3); margin-top:18px; }
@media (max-width:820px){
  .rdx .rcase-metrics{ grid-template-columns:repeat(2,1fr); }
  .rdx .rcase-meta{ grid-template-columns:1fr; }
  .rdx .rcase-gallery{ display:block; aspect-ratio:4/3; }
  .rdx .rcase-gallery[data-visible-count="1"]{ aspect-ratio:4/3; }
  .rdx .rcase-gallery figure{ width:100%; height:100%; }
  .rdx .rcase-gallery figure:not(:first-child){ display:none; }
  .rdx .rcase-gallery figure.primary{ grid-column:auto; grid-row:auto; }
  .rdx .rcase-gallery-expand{ opacity:1; transform:none; }
  .rdx .rcase-lightbox-shell{ padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
  .rdx .rcase-lightbox-stage{ margin:4px 0; }
  .rdx .rcase-lightbox-image{ padding:8px 48px; }
  .rdx .rcase-lightbox-control{ width:40px; height:40px; }
  .rdx .rcase-lightbox-prev{ left:0; }
  .rdx .rcase-lightbox-next{ right:0; }
  .rdx .rcase-lightbox-thumbs{ justify-content:flex-start; }
  .rdx .rcase-lightbox-thumbs button{ width:62px; height:47px; flex-basis:62px; }
}

@media (min-width:821px){
  .rdx .rcase-gallery-nav:not(.has-desktop-overflow){ display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .rdx .rcase-gallery { animation:none; }
  .rdx .rcase-gallery-open img,
  .rdx .rcase-gallery-expand,
  .rdx .rcase-gallery-nav button,
  .rdx .rcase-lightbox-control,
  .rdx .rcase-lightbox-thumbs button { transition:none; }
}


/* ---- original black + brand-mark background (hero + case headers) ---- */
.rdx .rhero { position:relative; overflow:hidden; }
.rdx .rhero .rwrap { position:relative; z-index:1; }
.rdx .rhero-mark { position:absolute; right:-7%; top:50%; transform:translateY(-50%); width:min(56%,660px); color:var(--lime); opacity:.10; pointer-events:none; z-index:0; }
.rdx .rhero-mark svg { width:100%; height:auto; display:block; }
.rdx .rcase { position:relative; overflow:hidden; }
.rdx .rcase .rwrap { position:relative; z-index:1; }
.rdx .rcase-mark { position:absolute; right:-3%; top:-6%; width:min(40%,420px); color:var(--lime); opacity:.07; pointer-events:none; z-index:0; }
.rdx .rcase-mark svg { width:100%; height:auto; display:block; }

/* ---- Meet the architects ---- */
.rdx .rarch { padding: clamp(48px,6vw,90px) 0 clamp(40px,5vw,72px); }
.rdx .rarch-grid { display:grid; gap:18px; }
.rdx .rarch-card { display:grid; grid-template-columns:250px 1fr; gap:34px; border:1px solid var(--dark-line); border-radius:18px; background:var(--dark-2); padding:clamp(24px,3vw,38px); }
.rdx .rarch-av { width:60px; height:60px; border-radius:12px; background:var(--lime); color:var(--lime-ink); font-family:var(--disp); font-weight:700; font-size:22px; letter-spacing:.02em; display:flex; align-items:center; justify-content:center; }
.rdx .rarch-name { font-family:var(--disp); font-weight:700; font-size:24px; color:var(--on-dark); margin:16px 0 5px; line-height:1.05; }
.rdx .rarch-role { font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--lime); }
.rdx .rarch-stack { font-family:var(--mono); font-size:11px; color:var(--on-dark-3); line-height:1.7; margin-top:16px; }
.rdx .rarch-bio p { font-size:14.5px; line-height:1.75; color:var(--on-dark-2); margin:0 0 14px; }
.rdx .rarch-bio p:last-child { margin-bottom:0; }
@media (max-width:760px){ .rdx .rarch-card{ grid-template-columns:1fr; gap:18px; } }

/* ---- principles ---- */
.rdx .rprin { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rdx .rprin-card { border:1px solid var(--dark-line); border-radius:16px; background:var(--dark-2); padding:28px; }
.rdx .rprin-n { font-family:var(--disp); font-weight:700; font-size:34px; color:var(--lime); line-height:1; }
.rdx .rprin-card h3 { font-family:var(--disp); font-weight:700; font-size:20px; color:var(--on-dark); margin:16px 0 8px; }
.rdx .rprin-card p { font-size:13.5px; line-height:1.65; color:var(--on-dark-2); margin:0; }
@media (max-width:760px){ .rdx .rprin{ grid-template-columns:1fr; } }

/* ---- logo chips: lift client logos off the black background for legibility ---- */
.rdx .rtrust-logos img,
.rdx .sec.trust .tb-logos img { background:#f2f2ec; border-radius:6px; padding:6px 9px; opacity:1; filter:none; vertical-align:middle; box-sizing:content-box; }
.rdx .rtrust-logos .word,
.rdx .sec.trust .tb-word { background:#f2f2ec; color:var(--lime-ink); border-radius:6px; padding:5px 10px; }
/* the Rapid mark is a light-on-dark logo — keep it on a dark chip instead */
.rdx .sec.trust .tb-dark { background:#15150f; border-radius:6px; padding:6px 10px; display:inline-flex; align-items:center; }
.rdx .sec.trust .tb-dark img { background:transparent; padding:0; }


/* ---- PROOF section in light colour style (chrome light; dashboard mock stays dark) ---- */
.rdx .proof-light .container-dark { background: transparent; color: var(--ink); }
.rdx .proof-light .kick.on span { color: var(--ink-2) !important; }
.rdx .proof-light .h2 { color: var(--ink) !important; }
.rdx .proof-light .proof-tab .lbl { color: var(--ink-2); }
.rdx .proof-light .proof-tab .meta { color: var(--muted); }
.rdx .proof-light .proof-tab:hover .lbl,
.rdx .proof-light .proof-tab.active .lbl { color: var(--ink); }
.rdx .proof-light .proof-tab.active { border-color: var(--line); background: rgba(22,22,20,.04); }
.rdx .proof-light .proof-cap h3 { color: var(--ink); }
.rdx .proof-light .proof-cap p { color: var(--ink-2); }
.rdx .proof-light .proof-res { border-top-color: var(--line); }
.rdx .proof-light .proof-res .k { color: var(--muted); }
.rdx .proof-light .proof-res .v { color: var(--lime-deep); }
.rdx .proof-light .btn.on-dark { border-color: var(--line); color: var(--ink); }
.rdx .proof-light .btn.on-dark:hover { background: var(--lime); border-color: var(--lime); color: var(--lime-ink); }
.rdx .proof-light .fsrc-lbl { color: var(--ink-2); }
.rdx .proof-light .fsrc-note { color: var(--lime-deep); }

/* ---- PROOF: data-flow line — sources drop into a live rail that flows toward the dashboard ---- */
.rdx .fsrc-wire { overflow: hidden; background: linear-gradient(180deg, rgba(216,250,15,.18), rgba(51,51,47,.12)); }
.rdx .fsrc-feed { overflow: visible; background: linear-gradient(180deg, rgba(216,250,15,.22), rgba(51,51,47,.08)); }
@media (prefers-reduced-motion: no-preference) {
  /* source dots: elongated comet with a soft trail */
  .rdx .fsrc-dot { width: 5px; height: 8px; border-radius: 3px;
    background: linear-gradient(180deg, rgba(216,250,15,0), var(--lime));
    box-shadow: 0 0 9px var(--lime); animation: flowDown 1.8s cubic-bezier(.45,0,.55,1) infinite; }

  /* the rail is a live bus: a lime current sweeps along it toward the centre feed */
  .rdx .fsrc-rail { position: relative; overflow: hidden; border-radius: 2px;
    background:
      linear-gradient(90deg, transparent 0%, rgba(216,250,15,.95) 50%, transparent 100%) no-repeat,
      var(--dark-line);
    background-size: 42% 100%, 100% 100%;
    background-position: -50% 0, 0 0;
    box-shadow: 0 0 10px rgba(216,250,15,.14);
    animation: railSweep 2.4s linear infinite; }

  /* junction node where the rail hands the data to the dashboard */
  .rdx .fsrc-feed::before { content: ""; position: absolute; left: 50%; top: -4px;
    width: 9px; height: 9px; margin-left: -4.5px; border-radius: 50%;
    background: var(--lime); box-shadow: 0 0 12px var(--lime);
    animation: feedJunction 2.4s ease-in-out infinite; }

  /* feed dot: brighter, lands into the dashboard */
  .rdx .fsrc-dot2 { width: 7px; height: 7px; margin-left: -3.5px;
    box-shadow: 0 0 12px var(--lime); animation: flowFeed 1.6s linear infinite; }
}
@keyframes railSweep { to { background-position: 150% 0, 0 0; } }
@keyframes feedJunction {
  0%, 100% { transform: scale(.55); opacity: .3; }
  50% { transform: scale(1); opacity: 1; }
}

/* hero "Trusted by operators" strip: white logos, no chips (overrides the chip rule) */
.rdx .rtrust-logos img { background: transparent; padding: 0; border-radius: 0; filter: brightness(0) invert(1); opacity: 0.82; }
.rdx .rtrust-logos .word { background: transparent; color: var(--on-dark); padding: 0; }


/* ---- shared grid backdrop spanning hero + What We Build (dissolves the section seam) ---- */
.rdx .rflow { position: relative; }
.rdx .rflow::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(242,242,236,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242,242,236,.025) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(125% 92% at 50% 22%, #000 48%, transparent 100%);
  mask-image: radial-gradient(125% 92% at 50% 22%, #000 48%, transparent 100%);
}
/* faint green light that slowly breathes through the grid */
.rdx .rflow::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(40% 48% at 40% 32%, rgba(216,250,15,.09), transparent 70%),
    radial-gradient(32% 42% at 72% 64%, rgba(216,250,15,.06), transparent 72%);
  mix-blend-mode: screen;
  animation: rflowBreathe 11s ease-in-out infinite;
  will-change: opacity, transform;
}
@keyframes rflowBreathe {
  0%, 100% { opacity: .3; transform: scale(1) translate3d(0, 0, 0); }
  50%      { opacity: .8; transform: scale(1.06) translate3d(0, -1.5%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .rdx .rflow::after { animation: none; opacity: .4; }
}
.rdx .rflow > section { position: relative; z-index: 1; }

/* ---- glow pill primary CTA (faithful "Tailwind Connect" port, our colours) ---- */
.rdx .glow-btn { position: relative; display: inline-block; cursor: pointer; text-decoration: none;
  border: 0; padding: 1px; border-radius: 999px; background: var(--dark-line);
  box-shadow: 0 10px 24px -14px rgba(0,0,0,.6);
  font-family: var(--sans); font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--on-dark); }
.rdx .glow-btn .clip { position: absolute; inset: 0; overflow: hidden; border-radius: 999px; }
.rdx .glow-btn .glow { position: absolute; inset: 0; border-radius: 999px;
  background: radial-gradient(75% 100% at 50% 0%, rgba(216,250,15,.6) 0%, rgba(216,250,15,0) 75%);
  opacity: .35; transition: opacity .5s ease; }
.rdx .glow-btn:hover .glow { opacity: 1; }
.rdx .glow-btn .inner { position: relative; z-index: 10; display: inline-flex; align-items: center; gap: 8px;
  border-radius: 999px; background: #1f1f1c; padding: 9px 20px;
  box-shadow: inset 0 0 0 1px rgba(216,250,15,.22); transition: box-shadow .35s ease; }
.rdx .glow-btn:hover .inner { box-shadow: inset 0 0 0 1px rgba(216,250,15,.5); }
.rdx .glow-btn .inner svg { transition: transform .25s ease; }
.rdx .glow-btn:hover .inner svg { transform: translateX(2px); }
.rdx .glow-btn .line { position: absolute; bottom: 0; left: 1.125rem; height: 1px; width: calc(100% - 2.25rem);
  background: linear-gradient(to right, rgba(216,250,15,0), rgba(216,250,15,.9), rgba(216,250,15,0));
  opacity: .55; transition: opacity .5s ease; }
.rdx .glow-btn:hover .line { opacity: 1; }

/* lime-filled primary variant — unmistakably a button */
.rdx .glow-btn.fill { background: var(--lime-deep); }
.rdx .glow-btn.fill .inner { background: var(--lime); color: var(--lime-ink);
  box-shadow: inset 0 0 0 1px rgba(22,22,20,.18); }
.rdx .glow-btn.fill:hover .inner { box-shadow: inset 0 0 0 1px rgba(22,22,20,.28); }
.rdx .glow-btn.fill .glow { background: radial-gradient(75% 100% at 50% 0%, rgba(255,255,255,.6) 0%, rgba(255,255,255,0) 75%); }
.rdx .glow-btn.fill .line { background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.9), rgba(255,255,255,0)); }

/* ---- WHAT WE BUILD cards: faint cursor-follow lime border glow + dotted depth ---- */
.rdx .rb-card { position: relative; isolation: isolate; }
.rdx .rb-card > * { position: relative; z-index: 1; }
/* dotted depth, behind the content, fading downward */
.rdx .rb-card::after {
  content: ""; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none;
  background-image: radial-gradient(rgba(242,242,236,.06) 1px, transparent 1.5px);
  background-size: 13px 13px;
  -webkit-mask-image: radial-gradient(130% 100% at 50% 0%, #000 32%, transparent 100%);
  mask-image: radial-gradient(130% 100% at 50% 0%, #000 32%, transparent 100%);
}
.rdx .rb-card.feat::after { background-image: radial-gradient(rgba(22,22,20,.07) 1px, transparent 1.5px); }
/* faint lime glow that rides the card border toward the cursor */
.rdx .rb-card::before {
  content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: radial-gradient(160px circle at var(--mx, 50%) var(--my, 0%), rgba(216,250,15,.6), transparent 65%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: .5; transition: opacity .35s ease;
}
.rdx .rb-card:hover::before { opacity: 1; }
.rdx .rb-card.feat::before { background: radial-gradient(160px circle at var(--mx,50%) var(--my,-30%), rgba(255,255,255,.6), transparent 65%); }

/* ===== Booking page (preview) — tokens only ===== */
.rdx .bk-sec { padding-top: clamp(30px, 4vw, 56px); padding-bottom: clamp(48px, 6vw, 88px); }
.rdx .bk-head { max-width: 680px; margin-inline: auto; text-align: center; }
.rdx .bk-head .h2 { color: var(--on-dark); }
.rdx .bk-grid { display: block; margin-top: clamp(26px, 3.4vw, 46px); }
.rdx .bk-card { background: var(--dark-2); border: 1px solid var(--dark-line); border-radius: 18px; padding: clamp(20px, 2.6vw, 34px); box-shadow: 0 18px 40px -24px rgba(0,0,0,.4); max-width: 880px; margin-inline: auto; }
.rdx .bk-q { padding: 18px 0; border-top: 1px solid var(--dark-line); }
.rdx .bk-q:first-child { padding-top: 0; border-top: 0; }
.rdx .bk-qlabel { display: block; font-family: var(--disp); font-weight: 600; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.25; color: var(--on-dark); margin-bottom: 13px; }
.rdx .bk-qlabel .req { color: var(--lime); }
.rdx .bk-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rdx .bk-field { display: block; }
.rdx .bk-field + .bk-field { margin-top: 16px; }
/* inside a 2-col row the grid gap handles spacing — don't push the 2nd column down */
.rdx .bk-row .bk-field + .bk-field { margin-top: 0; }
.rdx .bk-label { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--on-dark-2); margin-bottom: 7px; }
.rdx .bk-input, .rdx .bk-textarea { width: 100%; background: #0e0e0d; border: 1px solid var(--dark-line); border-radius: 10px; padding: 12px 14px; color: var(--on-dark); font-family: var(--sans); font-size: 15px; line-height: 1.5; transition: border-color .2s ease, box-shadow .2s ease; }
.rdx .bk-input::placeholder, .rdx .bk-textarea::placeholder { color: var(--on-dark-3); }
.rdx .bk-input:focus, .rdx .bk-textarea:focus { outline: none; border-color: var(--lime); box-shadow: 0 0 0 3px rgba(216,250,15,.15); }
.rdx .bk-textarea { min-height: 110px; resize: vertical; }
/* segmented yes / no */
.rdx .bk-seg { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.rdx .bk-seg label { cursor: pointer; position: relative; }
.rdx .bk-seg input { position: absolute; opacity: 0; width: 0; height: 0; }
.rdx .bk-seg span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 22px; border-radius: 999px; border: 1px solid var(--dark-line); background: #0e0e0d; font-family: var(--mono); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--on-dark-2); transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.rdx .bk-seg label:hover span { border-color: var(--muted); color: var(--on-dark); }
.rdx .bk-seg input:checked + span { background: var(--lime); border-color: var(--lime); color: var(--lime-ink); }
.rdx .bk-seg input:focus-visible + span { box-shadow: 0 0 0 3px rgba(216,250,15,.28); }
.rdx .bk-submit-row { margin-top: 24px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rdx .bk-fine { font-family: var(--mono); font-size: 10.5px; letter-spacing: .03em; color: var(--on-dark-3); }
/* "what to expect" aside */
.rdx .bk-aside { background: var(--dark-2); border: 1px solid var(--dark-line); border-radius: 18px; padding: clamp(24px, 2.8vw, 36px); max-width: 880px; margin: clamp(20px, 3vw, 38px) auto 0; text-align: center; }
.rdx .bk-aside .kick { margin-bottom: 12px; justify-content: center; }
.rdx .bk-aside .kick span { color: var(--on-dark-2); }
.rdx .bk-aside h3 { font-family: var(--disp); font-weight: 600; font-size: clamp(20px, 2vw, 24px); color: var(--on-dark); margin: 0 0 clamp(20px, 2.4vw, 30px); }
.rdx .bk-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2vw, 28px); text-align: left; }
.rdx .bk-list li { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.rdx .bk-list .n { width: 22px; height: 22px; flex: none; border-radius: 7px; background: rgba(216,250,15,.12); border: 1px solid var(--dark-line); display: grid; place-items: center; font-family: var(--mono); font-size: 11px; font-weight: 600; color: var(--lime); margin-top: 1px; }
.rdx .bk-list .t { font-family: var(--sans); font-size: 13.5px; line-height: 1.55; color: var(--on-dark-2); }
.rdx .bk-list .t b { color: var(--on-dark); font-weight: 600; }
.rdx .bk-aside-footer { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: clamp(22px, 2.8vw, 34px); padding-top: clamp(18px, 2.2vw, 26px); border-top: 1px solid var(--dark-line); font-family: var(--sans); font-size: 13.5px; line-height: 1.55; color: var(--on-dark); }
.rdx .bk-aside-footer .mark { flex: none; color: var(--lime); font-size: 13px; }
/* success state */
.rdx .bk-done { display: none; text-align: center; padding: clamp(28px, 4vw, 48px) 12px; }
.rdx .bk-done.show { display: block; }
.rdx .bk-form.hide { display: none; }
.rdx .bk-done .tick { width: 56px; height: 56px; border-radius: 50%; background: var(--lime); color: var(--lime-ink); display: grid; place-items: center; margin: 0 auto 18px; font-size: 28px; font-weight: 700; }
.rdx .bk-done h3 { font-family: var(--disp); font-weight: 700; font-size: clamp(22px, 2.4vw, 30px); color: var(--on-dark); margin: 0 0 10px; }
.rdx .bk-done p { color: var(--on-dark-2); max-width: 40ch; margin: 0 auto; line-height: 1.6; }
@media (max-width: 760px) {
  .rdx .bk-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 440px) {
  .rdx .bk-list { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .rdx .bk-row { grid-template-columns: 1fr; }
}

/* ---- INTEGRATIONS as a white band (distinct from PROOF's cream --paper) ---- */
.rdx .sec.intg.intg-light { background: #ffffff; }
.rdx .sec.intg.intg-light .kick span { color: var(--ink-2); }
.rdx .sec.intg.intg-light .h2 { color: var(--ink); }
.rdx .sec.intg.intg-light .lead { color: var(--ink-2); }
.rdx .sec.intg.intg-light .intg-chip { border-color: var(--line); box-shadow: 0 8px 18px -10px rgba(0,0,0,.2); }
/* row clips horizontally for the marquee; pad vertically so chip shadows aren't cut off */
.rdx .sec.intg.intg-light .intg-row { padding-top: 6px; padding-bottom: 20px; }

/* ---- THE PROBLEM — terminal/diagnostic console (variant 1) ---- */
.rdx .pv1 { display: block; width: 100%; box-sizing: border-box; padding: clamp(48px, 7vw, 96px) 0; background: var(--dark); }
.rdx .pv1 *, .rdx .pv1 *::before, .rdx .pv1 *::after { box-sizing: border-box; }
.rdx .pv1-wrap { max-width: 1100px; margin: 0 auto; padding-inline: var(--gutter); }
.rdx .pv1-head { max-width: 820px; margin: 0 0 clamp(36px, 5vw, 56px); text-align: left; }
.rdx .pv1-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--lime); margin: 0 0 18px; }
.rdx .pv1-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px 1px var(--lime); }
.rdx .pv1-title { font-family: var(--disp); font-weight: 700; font-size: clamp(30px, 5.2vw, 52px); line-height: 1.04; letter-spacing: -0.01em; color: var(--on-dark); margin: 0 0 18px; }
.rdx .pv1-lead { font-family: var(--sans); font-size: clamp(15px, 1.7vw, 18px); line-height: 1.6; color: var(--on-dark-2); margin: 0; }
.rdx .pv1-console { border: 1px solid var(--dark-line); border-radius: 14px; background: var(--dark-2); overflow: hidden; box-shadow: inset 0 1px 0 rgba(242,242,236,.05); }
.rdx .pv1-bar { display: flex; align-items: center; gap: 14px; padding: 12px 18px; border-bottom: 1px solid var(--dark-line); background: linear-gradient(180deg, rgba(242,242,236,.03), transparent); }
.rdx .pv1-dots { display: inline-flex; gap: 7px; }
.rdx .pv1-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--dark-line); }
.rdx .pv1-dot--live { background: var(--lime); box-shadow: 0 0 8px var(--lime); }
.rdx .pv1-cmd { font-family: var(--mono); font-size: 12.5px; color: var(--on-dark-3); letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rdx .pv1-cmd b { color: var(--on-dark-2); font-weight: 500; }
.rdx .pv1-body { padding: clamp(20px, 3vw, 34px) clamp(18px, 3vw, 34px); }
.rdx .pv1-run { font-family: var(--mono); font-size: 12px; color: var(--on-dark-3); letter-spacing: .04em; margin: 0 0 22px; }
.rdx .pv1-run b { color: var(--lime-deep); font-weight: 600; }
.rdx .pv1-list { display: flex; flex-direction: column; gap: 4px; list-style: none; margin: 0; padding: 0; }
.rdx .pv1-line { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; padding: 18px 14px; border-radius: 9px; border: 1px solid transparent; transition: background-color .2s ease, border-color .2s ease; }
.rdx .pv1-line:hover { background: rgba(216,250,15,.035); border-color: var(--dark-line); }
.rdx .pv1-marker { font-family: var(--mono); font-size: 13px; font-weight: 700; line-height: 1.5; color: var(--lime); white-space: nowrap; padding-top: 1px; text-shadow: 0 0 12px rgba(216,250,15,.45); }
.rdx .pv1-text { min-width: 0; }
.rdx .pv1-name { font-family: var(--mono); font-size: clamp(15px, 1.8vw, 17px); font-weight: 600; letter-spacing: .01em; color: var(--on-dark); margin: 0 0 6px; }
.rdx .pv1-conseq { font-family: var(--sans); font-size: clamp(14px, 1.5vw, 15.5px); line-height: 1.62; color: var(--on-dark-2); margin: 0; }
.rdx .pv1-footer { display: flex; align-items: center; gap: 10px; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--dark-line); font-family: var(--mono); font-size: 12.5px; letter-spacing: .04em; color: var(--on-dark-3); }
.rdx .pv1-footer .pv1-status { color: var(--lime); font-weight: 600; }
.rdx .pv1-caret { display: inline-block; width: 9px; height: 16px; margin-left: 2px; background: var(--lime); vertical-align: -2px; box-shadow: 0 0 8px rgba(216,250,15,.5); }
@media (prefers-reduced-motion: no-preference) {
  .rdx .pv1-caret { animation: pv1-blink 1.05s steps(1) infinite; }
  .rdx .pv1-dot--live { animation: pv1-pulse 1.6s ease-in-out infinite; }
}
@keyframes pv1-blink { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }
@keyframes pv1-pulse { 0%, 100% { box-shadow: 0 0 6px var(--lime); } 50% { box-shadow: 0 0 14px 2px var(--lime); } }
@media (max-width: 700px) {
  .rdx .pv1-line { grid-template-columns: 1fr; gap: 8px; padding: 16px 10px; }
  .rdx .pv1-marker { padding-top: 0; }
  .rdx .pv1-cmd { font-size: 11px; }
}

/* ---- PROOF: case-study button sits inline beside the company name ---- */
.rdx .proof-cap-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rdx .proof-cap-head h3 { margin: 0; }
.rdx .proof-cap-head .btn { flex: none; }

/* ---- INTEGRATIONS as a compact strip (heading left, one logo row right) ---- */
.rdx .intg-strip { padding-block: clamp(26px, 3.4vw, 44px); }
.rdx .intg-strip .wrap { display: grid; grid-template-columns: minmax(240px, 0.9fr) 1.6fr; gap: clamp(20px, 3vw, 52px); align-items: center; }
.rdx .intg-strip .shead { margin: 0; }
.rdx .intg-strip .kick { margin-bottom: 9px; }
.rdx .intg-strip .h2 { font-size: clamp(19px, 2.1vw, 27px); line-height: 1.12; margin: 0; }
.rdx .intg-strip .lead { font-size: clamp(13px, 1vw, 14.5px); line-height: 1.6; margin: 9px 0 0; max-width: 44ch; }
.rdx .intg-strip .intg-wall { margin-top: 0; }
@media (max-width: 760px) {
  .rdx .intg-strip .wrap { grid-template-columns: 1fr; gap: 18px; }
}

/* ---- PROOF caption tidy: name+CTA row, description left, result as a card right ---- */
.rdx .proof-light .proof-cap { display: grid; grid-template-columns: 1.6fr 1fr; column-gap: clamp(20px, 3vw, 44px); row-gap: clamp(16px, 2vw, 24px); align-items: start; }
.rdx .proof-light .proof-cap-head { grid-column: 1 / -1; }
.rdx .proof-light .proof-cap h3 { font-size: clamp(22px, 2.4vw, 32px); }
.rdx .proof-light .proof-cap > p { grid-column: 1; align-self: center; }
.rdx .proof-light .proof-res { grid-column: 2; margin-top: 0; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(22,22,20,.025); gap: 8px; }
@media (max-width: 720px) {
  .rdx .proof-light .proof-cap { grid-template-columns: 1fr; }
  .rdx .proof-light .proof-res { grid-column: 1; }
}

/* ---- Booking page: LIGHT background, DARK form + aside containers ---- */
.rdx .bk-sec.bk-light { background: var(--paper); }
.rdx .bk-light .bk-head .kick span { color: var(--ink-2); }
.rdx .bk-light .bk-head .h2 { color: var(--ink); }
.rdx .bk-light .bk-head .lead { color: var(--ink-2); }

/* ---- Booking: inline Cal embed (renders in-page after the form) ---- */
.rdx .bk-embed-wrap { max-width: 920px; margin: 0 auto; opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .5s ease; }
.rdx .bk-embed-wrap.show { opacity: 1; transform: none; }
/* step eyebrow + heading mirror the form's hierarchy for a seamless handoff */
.rdx .bk-embed-kick { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--lime-deep); margin: 0 0 12px; }
.rdx .bk-embed-kick::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px 1px var(--lime); }
.rdx .bk-embed-head { text-align: center; margin-bottom: clamp(18px, 2.2vw, 28px); }
.rdx .bk-embed-lead { font-family: var(--disp); font-weight: 600; font-size: clamp(20px, 2.3vw, 28px); line-height: 1.1; color: var(--ink); margin: 0; }
.rdx .bk-embed-sub { font-family: var(--mono); font-size: 11.5px; letter-spacing: .04em; color: var(--muted); margin: 9px 0 0; }
/* calendar frame === the form card (same dark panel, border, radius, shadow) */
.rdx #cal-inline { width: 100%; min-height: 640px; border: 1px solid var(--dark-line); border-radius: 18px; overflow: hidden; background: var(--dark-2); box-shadow: 0 18px 40px -24px rgba(0,0,0,.4); }
.rdx #cal-inline iframe { width: 100%; min-height: 640px; border: 0; display: block; }

/* ---- FAQ: no JS toggle wired, so show answers by default (static Q&A) ---- */
.rdx .faq .q .a { max-height: none; }
.rdx .faq .q button { cursor: default; }
.rdx .faq .q button::after { display: none; }
.rdx .faq .q { border-bottom: 1px solid var(--line); }


/* ---- audit fixes: mobile hamburger, anchor offset, logo normalisation ---- */
.rdx .rnav-burger { display: none; flex-direction: column; align-items: center; justify-content: center; width: 42px; height: 42px; margin-left: 6px; border: 1px solid var(--dark-line); border-radius: 8px; background: transparent; cursor: pointer; flex: none; -webkit-tap-highlight-color: transparent; }
.rdx .rnav-burger span { display: block; width: 18px; height: 2px; background: var(--on-dark); border-radius: 2px; transition: transform .22s ease, opacity .22s ease; }
.rdx .rnav-burger span + span { margin-top: 4px; }
.rdx .rnav.open .rnav-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.rdx .rnav.open .rnav-burger span:nth-child(2) { opacity: 0; }
.rdx .rnav.open .rnav-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
/* anchor offset so in-page jumps clear the sticky nav */
html { scroll-padding-top: 84px; }
/* normalise integration logo optical height (was max-width driven -> wordmarks shrank) */
.rdx .intg-chip img { height: clamp(20px, 2.3vw, 27px); max-height: none; max-width: clamp(54px, 6.4vw, 78px); width: auto; }

/* true bento: feature cell becomes a 2x2 block, card 2 spans wide (audit P3-7) */
.rdx .rbento { grid-template-columns: repeat(4, 1fr); align-items: stretch; }
.rdx .rbento .rb-card.feat { grid-column: 1 / 3; grid-row: 1 / 3; }
.rdx .rbento .rb-card:nth-child(2) { grid-column: 3 / 5; }
@media (max-width: 960px) {
  .rdx .rbento .rb-card.feat { grid-column: auto; grid-row: auto; }
  .rdx .rbento .rb-card:nth-child(2) { grid-column: auto; }
}

/* burger must win the cascade over the appended base display:none (audit P1) */
@media (max-width: 960px) {
  .rdx .rnav-in { justify-content: flex-start; }
  .rdx .rnav-cta { margin-left: auto; }
  .rdx .rnav-burger { display: inline-flex; }
}

/* keep nav CTA on one line once the burger shares the row (audit P1 follow-up) */
.rdx .rnav-cta { white-space: nowrap; }
.rdx.rsite-shell { min-height: 100dvh; display: flex; flex-direction: column; }
.rdx .rsite-main { flex: 1; }
.rdx .rnav-links a[aria-current="page"] { color: var(--lime); }

/* ---- not found: a deliberate branded destination rather than a dead end ---- */
.rdx .rnotfound {
  position: relative;
  display: grid;
  min-height: clamp(540px, calc(100dvh - 68px), 780px);
  align-items: center;
  overflow: hidden;
  padding: clamp(48px, 7vw, 96px) 0;
  isolation: isolate;
}
.rdx .rnotfound::before {
  position: absolute;
  z-index: -2;
  width: min(760px, 72vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(216, 250, 15, .13), transparent 67%);
  content: "";
  right: -18%;
  top: 50%;
  transform: translateY(-50%);
}
.rdx .rnotfound::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  mask-image: linear-gradient(90deg, transparent, #000 45%, #000);
}
.rdx .rnotfound-card {
  display: grid;
  grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr);
  overflow: hidden;
  border: 1px solid var(--dark-line);
  border-radius: 24px;
  background: rgba(27, 27, 26, .86);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .24);
}
.rdx .rnotfound-code {
  display: grid;
  min-height: 380px;
  place-items: center;
  border-right: 1px solid var(--dark-line);
  background:
    linear-gradient(145deg, rgba(216, 250, 15, .08), transparent 58%),
    var(--dark-2);
  color: transparent;
  font-family: var(--disp);
  font-size: clamp(108px, 14vw, 190px);
  font-weight: 800;
  letter-spacing: -.07em;
  line-height: 1;
  -webkit-text-stroke: 1px rgba(216, 250, 15, .72);
  user-select: none;
}
.rdx .rnotfound-copy {
  align-self: center;
  padding: clamp(38px, 5.2vw, 76px);
}
.rdx .rnotfound-copy h1 {
  max-width: 12ch;
  margin: 18px 0 0;
  color: var(--on-dark);
  font-family: var(--disp);
  font-size: clamp(36px, 4.6vw, 62px);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1;
}
.rdx .rnotfound-copy p {
  max-width: 55ch;
  margin: 22px 0 0;
  color: var(--on-dark-2);
  font-size: 15px;
  line-height: 1.72;
}
.rdx .rnotfound-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  margin-top: 34px;
}
.rdx .rnotfound-primary {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  transition: background-color .2s ease, transform .2s ease;
}
.rdx .rnotfound-primary:hover {
  background: var(--on-dark);
  transform: translateY(-2px);
}
.rdx .rnotfound-primary span {
  font-size: 17px;
  line-height: 0;
}
.rdx .rnotfound-secondary {
  border-bottom: 1px solid var(--dark-line);
  color: var(--on-dark-2);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  padding: 10px 0 8px;
  text-transform: uppercase;
  transition: border-color .2s ease, color .2s ease;
}
.rdx .rnotfound-secondary:hover {
  border-color: var(--lime);
  color: var(--lime);
}
@media (max-width: 760px) {
  .rdx .rnotfound { min-height: auto; padding: 36px 0 56px; }
  .rdx .rnotfound-card { grid-template-columns: 1fr; border-radius: 18px; }
  .rdx .rnotfound-code {
    min-height: 180px;
    border-right: 0;
    border-bottom: 1px solid var(--dark-line);
    font-size: clamp(92px, 30vw, 144px);
  }
  .rdx .rnotfound-copy { padding: 32px 26px 38px; }
  .rdx .rnotfound-copy h1 { font-size: clamp(34px, 11vw, 48px); }
  .rdx .rnotfound-actions { align-items: flex-start; flex-direction: column; margin-top: 30px; }
}

/* ---- managed case studies: light content band, matching the homepage interludes ---- */
.rdx.rsite-shell-light .rsite-main { background: var(--paper); color: var(--ink); }
.rdx.rsite-shell-light .rpage-head { background: var(--paper); }
.rdx.rsite-shell-light .rpage-head .rkick { color: var(--ink-2); }
.rdx.rsite-shell-light .rh2 { color: var(--ink); }
.rdx.rsite-shell-light .rh2 .lime { color: var(--lime-deep); }
.rdx.rsite-shell-light .hl-lime { background: var(--lime); color: var(--lime-ink); padding: 0 10px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.rdx.rsite-shell-light .rh2:has(.hl-lime) { line-height: 1.18; }
.rdx.rsite-shell-light .rh2-lead { color: var(--ink-2); }
.rdx.rsite-shell-light .rwk-card { background: #fff; border-color: var(--line); }
.rdx.rsite-shell-light .rwk-card h3 { color: var(--ink); }
.rdx.rsite-shell-light .rwk-card p { color: var(--ink-2); }
.rdx.rsite-shell-light .rwk-img { border-color: var(--line); }
.rdx.rsite-shell-light .rwk-sector,
.rdx.rsite-shell-light .rwk-link,
.rdx.rsite-shell-light .rcase-sector,
.rdx.rsite-shell-light .rcase-rich a { color: var(--lime-deep); }
.rdx.rsite-shell-light .rwk-sector { align-self: flex-start; background: var(--lime); color: var(--lime-ink); padding: 3px 6px; }
.rdx.rsite-shell-light .rcase-sector { display: inline-block; background: var(--lime); color: var(--lime-ink); padding: 3px 6px; }
.rdx.rsite-shell-light a.rwk-card:hover { border-color: var(--ink); }
.rdx.rsite-shell-light .rcase-back { color: var(--ink-2); }
.rdx.rsite-shell-light .rcase-back:hover { color: var(--ink); }
.rdx.rsite-shell-light .rcase h1,
.rdx.rsite-shell-light .rcase-rich h2,
.rdx.rsite-shell-light .rcase-rich h3 { color: var(--ink); }
.rdx.rsite-shell-light .rcase-sum,
.rdx.rsite-shell-light .rcase-rich p,
.rdx.rsite-shell-light .rcase-rich li,
.rdx.rsite-shell-light .rcase-rich blockquote { color: var(--ink-2); }
.rdx.rsite-shell-light .rcase-rich blockquote { border-left-color: var(--lime-deep); }
.rdx.rsite-shell-light .rcase-gallery-open,
.rdx.rsite-shell-light .rcase-rich img { border-color: var(--line); }
.rdx.rsite-shell-light .rcase-note { color: var(--muted); }
.rdx.rsite-shell-light .rcase-cta-card { margin-top: clamp(36px, 5vw, 60px); border: 1px solid var(--dark-line); border-radius: 20px; background: radial-gradient(80% 140% at 80% 10%, rgba(216, 250, 15, 0.12), transparent 55%), var(--dark-2); padding: clamp(30px, 4vw, 48px); display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.rdx.rsite-shell-light .rcase-cta-card h2 { font-family: var(--disp); font-weight: 700; font-size: clamp(24px, 3.2vw, 40px); line-height: 1.05; color: var(--on-dark); margin: 0; max-width: 19ch; }
.rdx.rsite-shell-light .rcase-cta-r { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }


/* ---- dark-dominant PROOF variant (?proof=dark) : compare vs the light default ---- */
.rdx .rdx-classic.proof-dark { background: var(--dark); color: var(--on-dark); }
.rdx .proof-dark .container-dark { background: var(--dark-2); color: var(--on-dark); border: 1px solid var(--dark-line); box-shadow: inset 0 1px 0 rgba(242,242,236,.05); }
.rdx .proof-dark .kick.on span { color: var(--lime); }
.rdx .proof-dark .h2 { color: var(--on-dark); }
.rdx .proof-dark .proof-tab .lbl { color: var(--on-dark-2); }
.rdx .proof-dark .proof-tab .meta { color: var(--on-dark-3); }
.rdx .proof-dark .proof-tab:hover .lbl,
.rdx .proof-dark .proof-tab.active .lbl { color: var(--on-dark); }
.rdx .proof-dark .proof-tab.active { border-color: var(--dark-line); background: rgba(242,242,236,.05); }
.rdx .proof-dark .proof-cap h3 { color: var(--on-dark); }
.rdx .proof-dark .proof-cap p { color: var(--on-dark-2); }
.rdx .proof-dark .proof-res { border-top-color: var(--dark-line); }
.rdx .proof-dark .proof-res .k { color: var(--on-dark-3); }
.rdx .proof-dark .proof-res .v { color: var(--lime); }
.rdx .proof-dark .btn.on-dark { border-color: var(--dark-line); color: var(--on-dark); }
.rdx .proof-dark .btn.on-dark:hover { background: var(--lime); border-color: var(--lime); color: var(--lime-ink); }
.rdx .proof-dark .fsrc-lbl { color: var(--on-dark-2); }
.rdx .proof-dark .fsrc-note { color: var(--lime); }
.rdx .proof-dark .proof-cap { display: grid; grid-template-columns: 1.6fr 1fr; column-gap: clamp(20px, 3vw, 44px); row-gap: clamp(16px, 2vw, 24px); align-items: start; }
.rdx .proof-dark .proof-cap-head { grid-column: 1 / -1; }
.rdx .proof-dark .proof-cap h3 { font-size: clamp(22px, 2.4vw, 32px); }
.rdx .proof-dark .proof-cap > p { grid-column: 1; align-self: center; }
.rdx .proof-dark .proof-res { grid-column: 2; margin-top: 0; padding: 16px 18px; border: 1px solid var(--dark-line); border-radius: 14px; background: rgba(242,242,236,.03); gap: 8px; }
@media (max-width: 820px) {
  .rdx .proof-dark .proof-cap { grid-template-columns: 1fr; }
  .rdx .proof-dark .proof-res { grid-column: 1; }
}

/* ============================================================
   AFG CASE STUDY (built from scratch · taste-skill · dark-dominant)
   Dark surfaces, single lime signal, surface-step depth, one eyebrow.
   ============================================================ */
.rdx .cs { background: var(--dark); color: var(--on-dark); padding-bottom: clamp(20px, 4vw, 48px); }
.rdx .cs-wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }

.rdx .cs-back { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark-3); text-decoration: none; margin: clamp(22px,3.5vw,40px) 0 clamp(26px,3.5vw,38px); transition: color .2s ease; }
.rdx .cs-back:hover { color: var(--on-dark); }

/* hero: asymmetric split (text left, real product visual right) */
.rdx .cs-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px,4vw,60px); align-items: center; padding-bottom: clamp(40px,6vw,76px); }
.rdx .cs-eyebrow { display: inline-flex; align-items: center; gap: 9px; font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--lime); margin: 0 0 20px; }
.rdx .cs-eyebrow .sq { width: 7px; height: 7px; background: var(--lime); display: inline-block; }
.rdx .cs-h1 { font-family: var(--disp); font-weight: 700; font-size: clamp(34px,5.4vw,62px); line-height: 1.0; letter-spacing: -.02em; color: var(--on-dark); margin: 0 0 22px; }
.rdx .cs-h1 .lime { color: var(--lime); }
.rdx .cs-lead { font-family: var(--sans); font-size: clamp(15px,1.7vw,18px); line-height: 1.6; color: var(--on-dark-2); margin: 0 0 30px; max-width: 46ch; }
.rdx .cs-hero-cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.rdx .cs-hero-fine { font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--on-dark-3); }
.rdx .cs-hero-visual { min-width: 0; }

/* outcome metric band: surface-step, hairline dividers, no shadow float */
.rdx .cs-metrics { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--dark-line); border-radius: 16px; overflow: hidden; background: var(--dark-2); box-shadow: inset 0 1px 0 rgba(242,242,236,.05); }
.rdx .cs-metric { padding: clamp(20px,2.4vw,30px); border-right: 1px solid var(--dark-line); }
.rdx .cs-metric:last-child { border-right: 0; }
.rdx .cs-metric .v { font-family: var(--disp); font-weight: 700; font-size: clamp(26px,3vw,40px); color: var(--lime); line-height: 1; }
.rdx .cs-metric .l { font-family: var(--sans); font-size: 13px; line-height: 1.45; color: var(--on-dark-2); margin-top: 10px; }

/* narrative sections */
.rdx .cs-section { padding: clamp(40px,6vw,72px) 0; border-top: 1px solid var(--dark-line); }
.rdx .cs-h2 { font-family: var(--disp); font-weight: 700; font-size: clamp(26px,3.4vw,42px); line-height: 1.04; letter-spacing: -.01em; color: var(--on-dark); margin: 0 0 20px; }
.rdx .cs-p { font-family: var(--sans); font-size: clamp(15px,1.6vw,17px); line-height: 1.7; color: var(--on-dark-2); max-width: 60ch; margin: 0 0 16px; }
.rdx .cs-p:last-child { margin-bottom: 0; }
.rdx .cs-p strong { color: var(--on-dark); font-weight: 600; }

/* challenge: text + a compact "before" stack of scattered sources */
.rdx .cs-split { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(28px,4vw,56px); align-items: start; }
.rdx .cs-before { border: 1px solid var(--dark-line); border-radius: 14px; background: var(--dark-2); box-shadow: inset 0 1px 0 rgba(242,242,236,.05); padding: clamp(18px,2vw,24px); }
.rdx .cs-before-lbl { font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark-3); margin: 0 0 14px; }
.rdx .cs-before ul { list-style: none; margin: 0; padding: 0; }
.rdx .cs-before li { display: flex; align-items: center; gap: 11px; font-family: var(--mono); font-size: 13px; color: var(--on-dark-2); padding: 9px 0; border-bottom: 1px solid var(--dark-line); }
.rdx .cs-before li:last-child { border-bottom: 0; }
.rdx .cs-before li .x { color: #c66; font-family: var(--mono); flex: none; }

/* what we built: real data-flow visual + build list */
.rdx .cs-build { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,4vw,56px); align-items: center; }
.rdx .cs-build-list { list-style: none; margin: 0; padding: 0; }
.rdx .cs-build-list li { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--dark-line); }
.rdx .cs-build-list li:last-child { border-bottom: 0; }
.rdx .cs-build-list .ic { color: var(--lime); flex: none; font-family: var(--mono); font-size: 13px; line-height: 1.7; }
.rdx .cs-build-list .t { font-family: var(--sans); font-size: 15px; line-height: 1.6; color: var(--on-dark); }
.rdx .cs-build-vis { border: 1px solid var(--dark-line); border-radius: 18px; background: var(--dark-2); box-shadow: inset 0 1px 0 rgba(242,242,236,.05); padding: clamp(20px,3vw,34px); }

/* outcome statement */
.rdx .cs-statement { font-family: var(--disp); font-weight: 600; font-size: clamp(22px,3vw,34px); line-height: 1.22; letter-spacing: -.005em; color: var(--on-dark); max-width: 24ch; }
.rdx .cs-statement .lime { color: var(--lime); }

/* stack + ownership */
.rdx .cs-stack-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,4vw,56px); align-items: start; }
.rdx .cs-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.rdx .cs-chip { font-family: var(--mono); font-size: 12px; letter-spacing: .03em; color: var(--on-dark-2); background: var(--dark-2); border: 1px solid var(--dark-line); border-radius: 999px; padding: 8px 15px; }

/* closing cta band */
.rdx .cs-cta { margin-top: clamp(40px,6vw,72px); border: 1px solid var(--dark-line); border-radius: 22px; background: var(--dark-2); box-shadow: inset 0 1px 0 rgba(242,242,236,.05); padding: clamp(30px,4vw,52px); display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; position: relative; overflow: hidden; }
.rdx .cs-cta::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(70% 120% at 88% 18%, rgba(216,250,15,.10), transparent 60%); }
.rdx .cs-cta h2 { font-family: var(--disp); font-weight: 700; font-size: clamp(22px,2.8vw,34px); line-height: 1.05; color: var(--on-dark); margin: 0; position: relative; max-width: 18ch; }
.rdx .cs-cta-r { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; position: relative; }

@media (max-width: 880px) {
  .rdx .cs-hero { grid-template-columns: 1fr; gap: 34px; }
  .rdx .cs-split { grid-template-columns: 1fr; }
  .rdx .cs-build { grid-template-columns: 1fr; }
  .rdx .cs-stack-grid { grid-template-columns: 1fr; }
  .rdx .cs-metrics { grid-template-columns: repeat(2,1fr); }
  .rdx .cs-metric:nth-child(2) { border-right: 0; }
  .rdx .cs-metric:nth-child(1), .rdx .cs-metric:nth-child(2) { border-bottom: 1px solid var(--dark-line); }
}
@media (max-width: 520px) {
  .rdx .cs-metrics { grid-template-columns: 1fr; }
  .rdx .cs-metric { border-right: 0; border-bottom: 1px solid var(--dark-line); }
  .rdx .cs-metric:last-child { border-bottom: 0; }
  .rdx .cs-cta { flex-direction: column; align-items: flex-start; }
}
