html {
    scroll-behavior: smooth;
}
:root {
  /* colour */
  --c-indigo: #3b5bdb;
  --c-indigo-dark: #2b45b0;
  --c-indigo-light: #7d92ff;
  --c-indigo-tint: rgba(59, 91, 219, 0.08);
  --c-orange: #f97316;
  --c-orange-dark: #e0620c;
  --c-orange-light: #f9a35e;
  --c-orange-tint: rgba(249, 115, 22, 0.1);
  --c-purple: #7c3aed;
  --c-purple-light: #a78bfa;
  --c-ink: #151a24;
  --c-slate: #4a5262;
  --c-slate-2: #2a3142;
  --c-slate-3: #3b4252;
  --c-muted: #6b7285;
  --c-muted-2: #7a8299;
  --c-muted-3: #5a6272;
  --c-navy: #0a0e1e;
  --c-navy-2: #0d1224;
  --c-navy-3: #0d1330;
  --c-navy-4: #121a30;
  --c-hairline: #e4e8f3;
  --c-hairline-2: #ebedf3;
  --c-hairline-3: #e8ebf3;
  --c-panel: #f9f9f6;
  --c-panel-2: #f7f8fb;
  --c-chip-bg: #f6f8fc;
  --c-page: #f5f6fa;
  --c-white: #ffffff;
  --c-green: #137a44;

  /* radii */
  --r-card: 16px;
  --r-tile: 14px;
  --r-pill: 999px;

  /* container / section rhythm */
  --container-max: 1260px;
  --pad-x: 40px;
  --pad-x-tablet: 28px;
  --pad-x-mobile: 20px;
  --sec-lg: clamp(80px, 7vw, 112px);
  --sec: clamp(64px, 6vw, 96px);
  --sec-sm: clamp(44px, 4vw, 64px);

  /* type scale (rules PDF Â§2.1) */
  --fs-eyebrow: 13px;
  --fs-h1: clamp(34px, 3.9vw, 46px);
  --fs-h2-lg: clamp(30px, 3.4vw, 42px);
  --fs-h2: clamp(28px, 3vw, 38px);
  --fs-h3-lg: clamp(22px, 2vw, 26px);
  --fs-h3: 20px;
  --fs-h3-sm: 17px;
  --fs-body-lg: 18px;
  --fs-body: 17px;
  --fs-body-sm: 15.5px;
  --fs-small: 14px;
  --fs-tiny: 12.5px;
}

/* ---- Reset / base -------------------------------------------------------*/
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--c-page);
  font-family: 'Poppins', sans-serif !important;
  color: var(--c-ink);
}

h1,
h2,
h3,
h4,
p,
blockquote,
figure {
  margin: 0;
  font-family: 'Poppins', sans-serif !important;
}

a {
  color: var(--c-indigo);
  text-decoration: none;
}

a:hover,a:focus {
  color: var(--c-indigo-dark);
}

button {
  font-family: 'Poppins', sans-serif;
}

img {
  max-width: 100%;
  display: block;
}

::selection {
  background: #c7d0ff;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body li,
body a,
body button {
  font-family: 'Poppins', sans-serif !important;
}

/* ---- Reusable background utilities --------------------------------------*/
.ori-bg-white {
  background: #ffffff;
}

.ori-bg-panel {
  background: var(--c-panel);
}

.ori-bg-navy {
  background: var(--c-navy);
  color: #fff;
}

.ori-bg-navy2 {
  background: var(--c-navy-2);
  color: #fff;
}

/* ---- Reusable background/border/padding utilities (any section, any page) */
.ori-bg-dotgrid {
  background-image: radial-gradient(circle at 82% 30%, rgba(59, 91, 219, 0.07), transparent 44%), radial-gradient(rgba(20, 25, 40, 0.04) 1px, transparent 1px);
  background-size: auto, 22px 22px;
}

.ori-bg-statglow {
  background: radial-gradient(circle at 15% 20%, rgba(59, 91, 219, 0.3), transparent 55%), var(--c-navy-3);
}

.ori-bg-panel-alt {
  background: #f4f6fc;
}

.ori-topline-indigo {
  border-top: 2px solid var(--c-indigo);
}

.ori-topline-hair {
  border-top: 1px solid #eceef5;
}

.ori-pad-v56 {
  padding-top: 56px;
  padding-bottom: 56px;
}

.ori-pad-v60 {
  padding-top: 60px;
  padding-bottom: 60px;
}

.ori-pad-v88 {
  padding-top: 88px;
  padding-bottom: 88px;
}

.ori-pad-v96-72 {
  padding-top: 96px;
  padding-bottom: 72px;
}


/* ---- Container / section rhythm ----------------------------------------*/
.ori-wrap {
  max-width: var(--container-max);
  margin: 0 auto;
}

.ori-sec {
  padding-top: var(--sec) !important;
  padding-bottom: var(--sec) !important;
}

.ori-sec--lg {
  padding-top: var(--sec-lg) !important;
  padding-bottom: var(--sec-lg) !important;
}

.ori-sec--sm {
  padding-top: var(--sec-sm) !important;
  padding-bottom: var(--sec-sm) !important;
}

.ori-pad {
  padding-left: var(--pad-x) !important;
  padding-right: var(--pad-x) !important;
}

.paddingBottom {
  padding-bottom: 0 !important
}

@media (max-width:1024px) {
  .ori-pad {
    padding-left: var(--pad-x-tablet) !important;
    padding-right: var(--pad-x-tablet) !important;
  }
}

@media (max-width:640px) {
  .ori-pad {
    padding-left: var(--pad-x-mobile) !important;
    padding-right: var(--pad-x-mobile) !important;
  }
}

/* ---- Scroll-reveal + stagger (JS toggles .ori-in via IntersectionObserver)*/
.ori-anim [data-animate] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 540ms cubic-bezier(0.22, 1, 0.36, 1), transform 540ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim [data-animate].ori-in {
  opacity: 1;
  transform: none;
}

.ori-anim .ori-procline {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-procline.ori-in {
  transform: scaleX(1);
}

.ori-anim a svg,
.ori-anim button svg {
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-arrow:hover svg {
  transform: translateX(4px);
}

@media (min-width: 1024px) {
  body .ori-grid-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 100px;
    max-width: 100%;
  }

  body .ori-grid-header .ori-eyebrow,
  body .ori-grid-header .ori-h2 {
    grid-column: 1;
  }

  body .ori-grid-header .ori-body {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }
}

@media (max-width:640px) {
  .ori-anim [data-animate] {
    transform: translateY(7px);
    transition-delay: 0ms !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  * {
    animation: none !important;
  }

  .ori-anim [data-animate] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .ori-anim .ori-procline {
    transform: none !important;
    transition: none !important;
  }

  .ori-anim .ori-arrow:hover svg {
    transform: none;
  }

  .ori-card:hover {
    transform: none;
  }
}

/* ---- Typography utilities -----------------------------------------------*/
.ori-eyebrow {
  font-size: var(--fs-eyebrow);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--c-indigo);
  margin-bottom: 14px;
}

.ori-eyebrow--orange {
  color: var(--c-orange);
}

.ori-eyebrow--onDark {
  color: #8fa2f0;
}

.ori-eyebrow--onDark-orange {
  color: var(--c-orange-light);
}

.ori-h1 {
  font-weight: 700;
  font-size: var(--fs-h1);
  line-height: 1.1;
  letter-spacing: -0.028em;
  margin: 0 0 20px;
  color: var(--c-ink);
}

.ori-h2 {
  font-weight: 700;
  font-size: var(--fs-h2);
  letter-spacing: -0.024em;
  line-height: 1.12;
  margin: 0 0 16px;
  color: var(--c-ink);
}

.ori-h2--lg {
  font-size: var(--fs-h2-lg);
  line-height: 1.1;
}

.ori-h2--onDark {
  color: #fff;
}

.ori-h3 {
  font-weight: 700;
  font-size: var(--fs-h3);
  letter-spacing: -0.014em;
  margin: 0 0 10px;
  color: var(--c-ink);
}

.ori-h3--lg {
  font-size: var(--fs-h3-lg);
  letter-spacing: -0.018em;
  line-height: 1.22;
}

.ori-lead {
  font-size: var(--fs-body-lg);
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0;
}

.ori-body {
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0;
}

.ori-body-sm {
  font-size: var(--fs-body-sm);
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0;
}

.ori-small {
  font-size: var(--fs-small);
  color: var(--c-muted-2);
}

.ori-tiny-label {
  font-size: var(--fs-tiny);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-muted-2);
}

/* Gradient-text recipe (rules PDF Â§10.6) â€” reserved utility, unused by the
   14 body sections (reference keeps their headings solid-colour; only the
   header wordmark, out of scope here, ever uses it). */
.ori-grad {
  background: linear-gradient(90deg, var(--c-orange), var(--c-orange-light), var(--c-indigo-light), var(--c-indigo));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ---- Buttons / links -----------------------------------------------------*/
.ori-arrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
	line-height:normal;
}

.ori-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 52px;
  padding: 0 26px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15.5px;
  white-space: nowrap;
}

.ori-btn--solid {
  background: var(--c-orange);
  color: #fff;
  transition: background 190ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-btn--solid:hover, .ori-btn--solid:focus {
  background: var(--c-orange-dark);
  color: #fff;
}

.ori-btn--outline {
  border: 1.5px solid #d6dae4;
  color: var(--c-ink);
  transition: border-color 190ms, color 190ms;
}

.ori-btn--outline:hover, .ori-btn--outline:focus {
  border-color: var(--c-indigo);
  color: var(--c-indigo);
}

.ori-btn--gradient {
  background: linear-gradient(135deg, var(--c-orange), var(--c-indigo));
  color: #fff;
  box-shadow: 0 14px 30px -16px rgba(59, 91, 219, 0.7);
}

.ori-btn--gradient:hover, .ori-btn--gradient:focus {
  color: #fff;
}

.ori-link-underline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
  border-bottom: 1.5px solid var(--c-orange);
  padding-bottom: 4px;
  transition: color 180ms;
}

.ori-link-underline:hover, .ori-link-underline:focus {
  color: var(--c-orange);
}

#mega-menu-wrap-primary #mega-menu-primary .mega-ori-btn--gradient a.mega-menu-link {
  background-image: linear-gradient(135deg, var(--c-orange), var(--c-indigo)) !important;
	
  color: #fff !important;
  height: 54px !important;
  padding: 0 20px !important;
  border-radius: 11px !important;
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 180ms cubic-bezier(0.22, 1, 0.36, 1);

}


@media (max-width:640px) {
  .ori-herocta {
    flex-direction: column;
    align-items: stretch !important;
  }

  .ori-herocta>a {
    width: 100%;
    justify-content: center;
  }
}

/* ---- Chips ---------------------------------------------------------------*/
.ori-chip {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 600;
  background: var(--c-chip-bg);
  border: 1px solid var(--c-hairline-3);
  color: var(--c-slate-3);
  padding: 6px 11px;
  border-radius: 7px;
}

.ori-tag-pill {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-indigo);
  background: var(--c-indigo-tint);
  padding: 5px 10px;
  border-radius: var(--r-pill);
}

/* ---- Tab panels: [hidden] must beat same-specificity display rules ------*/
[data-panel-key][hidden] {
  display: none !important;
}

/* ---- Generic card ----------------------------------------------------------*/
.ori-card {
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-card);
  transition: border-color 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-card:hover {
  transform: translateY(-3px);
  border-color: #c3ccea;
  box-shadow: 0 16px 32px -22px rgba(20, 26, 40, 0.35);
}

/* ==========================================================================
   HERO â€” constellation (pure CSS, Â§10.1)
   ========================================================================== */
.ori-hero {
  display: grid;
  grid-template-columns: 52fr 48fr;
  gap: 52px;
  align-items: center;
}

.ori-herosec {
  padding-top: clamp(60px, 5.5vw, 84px) !important;
  padding-bottom: clamp(40px, 3.6vw, 52px) !important;
}

@media (max-width:640px) {
  .ori-herosec {
    padding-top: 52px !important;
    padding-bottom: 40px !important;
  }
}

.ori-pillars {
  position: relative;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 560 / 510;
  margin: 0 auto;
  overflow: visible;
}

.ori-hubwrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.ori-hub {
  width: 158px;
  height: 158px;
  box-sizing: border-box;
  padding: 0 18px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e6e9f3;
  box-shadow: 0 18px 40px -20px rgba(20, 25, 50, 0.42);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
/*   animation: hubBreathe 3s ease-in-out infinite; */
}

.ori-hub-title {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--c-ink);
}

.ori-hub-bar {
  width: 36px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--c-orange), var(--c-indigo));
  margin: 9px 0 8px;
}

.ori-hublabel {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--c-ink);
  line-height: 1.3;
}

.ori-conn {
  position: absolute;
  z-index: 1;
  opacity: 0.38;
  animation: connectorHighlight 6s ease-in-out infinite;
}

.ori-conn-quality {
  left: 50%;
  margin-left: -1px;
  width: 2px;
  top: 23.2%;
  height: 12%;
  background: var(--c-indigo);
}

.ori-conn-delivery {
  left: 50%;
  margin-left: -1px;
  width: 2px;
  top: 64.8%;
  height: 12%;
  background: var(--c-indigo);
}

.ori-conn-accountability {
  top: 50%;
  margin-top: -1px;
  height: 2px;
  left: 64%;
  width: 7%;
  background: var(--c-orange);
}

.ori-conn-trust {
  top: 50%;
  margin-top: -1px;
  height: 2px;
  right: 64%;
  width: 7%;
  background: var(--c-orange);
}

.ori-anchor {
  position: absolute;
  z-index: 3;
}

.ori-anchor-quality {
  bottom: 76.8%;
  left: 50%;
  transform: translateX(-50%);
}

.ori-anchor-delivery {
  top: 76.8%;
  left: 50%;
  transform: translateX(-50%);
}

.ori-anchor-accountability {
  top: 50%;
  left: 71%;
  transform: translateY(-50%);
}

.ori-anchor-trust {
  top: 50%;
  right: 71%;
  transform: translateY(-50%);
}

.ori-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-sizing: border-box;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid #e6e9f3;
  border-radius: var(--r-tile);
/*   box-shadow: 0 10px 24px -16px rgba(20, 25, 50, 0.45); */
  opacity: 0.78;
  outline: none;
  animation: pillarHighlight 6s ease-in-out infinite;
  width: 100%;
}

.ori-pill:focus-visible {
  box-shadow: 0 0 0 3px rgba(59, 91, 219, 0.35);
}

.ori-anchor-quality,
.ori-anchor-delivery {
  width: clamp(136px, 27%, 156px);
}

.ori-anchor-trust {
  width: clamp(128px, 27%, 156px);
}

.ori-anchor-accountability {
  width: clamp(128px, 27%, 156px);
}

.ori-pdot {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  animation: indicatorPulse 6s ease-in-out infinite;
}

.ori-pdot--indigo {
  background: var(--c-indigo);
}

.ori-pdot--orange {
  background: var(--c-orange);
}

.ori-plabel {
  font-size: clamp(13px, 2.6vw, 15px);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--c-ink);
  white-space: nowrap;
}

.ori-anchor-quality .ori-pill,
.ori-anchor-quality .ori-pdot,
.ori-conn-quality {
  animation-delay: 0s;
}

.ori-anchor-accountability .ori-pill,
.ori-anchor-accountability .ori-pdot,
.ori-conn-accountability {
  animation-delay: 1.5s;
}

.ori-anchor-delivery .ori-pill,
.ori-anchor-delivery .ori-pdot,
.ori-conn-delivery {
  animation-delay: 3s;
}

.ori-anchor-trust .ori-pill,
.ori-anchor-trust .ori-pdot,
.ori-conn-trust {
  animation-delay: 4.5s;
}

.ori-pillars:hover .ori-pill,
.ori-pillars:hover .ori-pdot,
.ori-pillars:hover .ori-conn,
.ori-pillars:focus-within .ori-pill,
.ori-pillars:focus-within .ori-pdot,
.ori-pillars:focus-within .ori-conn {
  animation-play-state: paused;
}

@keyframes hubBreathe {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.012);
  }
}

@keyframes pillarHighlight {

  0%,
  22%,
  100% {
    transform: translateY(0);
    opacity: 0.78;
    box-shadow: 0 10px 24px -16px rgba(20, 25, 50, 0.45);
  }

  8%,
  14% {
    transform: translateY(-2px);
    opacity: 1;
    box-shadow: 0 16px 30px -16px rgba(20, 25, 50, 0.6);
  }
}

@keyframes connectorHighlight {

  0%,
  22%,
  100% {
    opacity: 0.38;
  }

  8%,
  14% {
    opacity: 1;
  }
}

@keyframes indicatorPulse {

  0%,
  22%,
  100% {
    transform: scale(1);
  }

  8%,
  14% {
    transform: scale(1.4);
  }
}

@media (max-width:640px) {
  .ori-pillars {
    max-width: 340px;
  }

  .ori-hub {
    width: 120px;
    height: 120px;
    padding: 0 12px;
  }

  .ori-hub-title {
    font-size: 19px !important;
  }

  .ori-hub-bar {
    width: 28px !important;
    margin: 7px 0 6px !important;
  }

  .ori-hublabel {
    font-size: 8px !important;
  }

  .ori-pill {
    height: 50px;
    padding: 0 12px;
    gap: 7px;
    border-radius: 12px;
  }

  .ori-anchor-quality,
  .ori-anchor-delivery {
    width: 112px;
  }

  .ori-anchor-trust {
    width: 112px;
  }

  .ori-anchor-accountability {
    width: 112px;
  }

  .ori-plabel {
    font-size: 12px;
  }

  .ori-anchor-quality {
    bottom: 74%;
  }

  .ori-anchor-delivery {
    top: 74%;
  }

  .ori-anchor-accountability {
    left: 68%;
  }

  .ori-anchor-trust {
    right: 68%;
  }

  .ori-conn-quality {
    top: 26%;
    height: 11.5%;
  }

  .ori-conn-delivery {
    top: 62.5%;
    height: 11.5%;
  }

  .ori-conn-accountability {
    left: 61%;
    width: 7%;
  }

  .ori-conn-trust {
    right: 61%;
    width: 7%;
  }
}

@media (prefers-reduced-motion:reduce) {

  .ori-hub,
  .ori-pill,
  .ori-pdot,
  .ori-conn {
    animation: none !important;
  }

  .ori-pill {
    opacity: 1 !important;
    transform: none !important;
  }

  .ori-conn {
    opacity: 0.45 !important;
  }
}

@media (max-width:1024px) {
  .ori-hero {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   STATS BAND (dark)
   ========================================================================== */
.ori-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  align-items: center;
}

.ori-statcell {
  padding: 0 28px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.ori-statcell:first-child {
  padding-left: 0;
}

.ori-statcell:last-child {
  padding-right: 0;
  border-right: 0;
}

.ori-statbar {
  width: 26px;
  height: 3px;
  border-radius: 2px;
  margin-bottom: 14px;
}

.ori-statvalue {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #fff;
}

.ori-statlabel {
  font-size: 15px;
  font-weight: 600;
  color: #aab4d4;
  margin-top: 10px;
}

@media (max-width:1024px) {
  .ori-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-statcell:nth-child(2n+1) {
    padding-left: 0;
  }

  .ori-statcell:nth-child(2n) {
    padding-right: 0;
    border-right: 0;
  }

  .ori-statcell:nth-child(-n+2) {
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .ori-statcell:nth-child(n+3) {
    padding-top: 26px;
  }
}

@media (max-width:640px) {
  .ori-statcell {
    padding-left: 28px;
    padding-right: 28px;
    border-right: 1px solid rgba(255, 255, 255, 0.16);
  }

  .ori-statcell:nth-child(2n+1) {
    padding-left: 0;
  }

  .ori-statcell:nth-child(2n) {
    padding-right: 0;
    border-right: 0;
  }

  .ori-statcell:nth-child(-n+2) {
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .ori-statcell:nth-child(n+3) {
    padding-top: 24px;
  }
}

/* ==========================================================================
   SERVICES / CAPABILITIES (2x2 grid)
   ========================================================================== */
.ori-caphead {
  display: grid;
  grid-template-columns: minmax(0, 740px) minmax(0, 450px);
  gap: 56px;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 64px;
}

.ori-capgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--c-hairline);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
}

.ori-capcell {
  display: flex;
  flex-direction: column;
  padding: 40px;
  color: inherit;
  border-right: 1px solid var(--c-hairline);
  border-bottom: 1px solid var(--c-hairline);
  transition: background 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-capcell:nth-child(2n) {
  border-right: 0;
}

.ori-capcell:nth-child(n+3) {
  border-bottom: 0;
}

.ori-capcell:hover {
  background: var(--capTint);
}

.ori-capcell--indigo {
  --capTint: rgba(59, 91, 219, 0.03);
}

.ori-capcell--orange {
  --capTint: rgba(249, 115, 22, 0.035);
}

.ori-capicon {
  display: flex;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  flex: none;
}

.ori-capnum {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.ori-caplist {
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--c-muted);
  margin-bottom: 26px;
  max-width: 44ch;
}

.ori-caplink {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  font-weight: 700;
}

.ori-caplink svg {
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-capcell:hover .ori-caplink svg {
  transform: translateX(4px);
}

@media (max-width:1024px) {
  .ori-caphead {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
    margin-bottom: 48px !important;
  }

  .ori-capsec {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
  }

  .ori-capcell {
    padding: 32px;
  }
}

@media (max-width:760px) {
  .ori-capsec {
    padding-top: 60px !important;
    padding-bottom: 48px !important;
  }

  .ori-capgrid {
    grid-template-columns: 1fr;
  }

  .ori-capcell {
    padding: 26px;
    border-right: 0;
    border-bottom: 1px solid var(--c-hairline);
  }

  .ori-capcell:last-child {
    border-bottom: 0;
  }

  .ori-capcell:nth-child(n+3) {
    border-bottom: 1px solid var(--c-hairline);
  }

  .ori-capcell:nth-child(4) {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-capcell:hover .ori-caplink svg {
    transform: none;
  }
}

/* Decorative brand vector art in the right whitespace of each card */
.ori-capcell {
  position: relative;
  overflow: hidden;
}

.ori-capcell>* {
  position: relative;
  z-index: 1;
}

.ori-capart {
  position: absolute;
  z-index: 0;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 44%;
  max-width: 250px;
  height: auto;
  opacity: .62;
  pointer-events: none;
  transition: opacity 220ms cubic-bezier(0.22, 1, 0.36, 1), transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-capcell:hover .ori-capart {
  opacity: .85;
  transform: translateY(-50%) scale(1.02);
}

/* Card 01 art is taller/wider than its two-line heading allows — shrink it so it clears the text */
.ori-capgrid .ori-capcell:first-child .ori-capart {
  width: 33%;
  max-width: 175px;
}

@media (max-width:960px) {
  .ori-capart {
    opacity: .4;
  }
}

@media (max-width:640px) {
  .ori-capart {
    display: none;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-capcell:hover .ori-capart {
    transform: translateY(-50%);
  }
}

/* ==========================================================================
   WORK / CASE STUDIES
   ========================================================================== */
.ori-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.ori-three {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
}

.ori-case-feat-left {
  background: var(--c-navy-3);
  color: #fff;
  padding: 36px 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ori-case-feat-right {
  padding: 36px 34px;
}

.ori-case-stat {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 12px 14px;
}

.ori-case-stat-value {
  font-size: 19px;
  font-weight: 700;
  color: var(--c-orange-light);
  line-height: 1.1;
}

.ori-case-stat-label {
  font-size: 12px;
  color: #9aa4c4;
  margin-top: 3px;
}

@media (max-width:900px) {
  .ori-two {
    grid-template-columns: 1fr !important;
  }

  .ori-three {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   WHY / DIFFERENTIATORS
   ========================================================================== */
.ori-why {
  display: grid;
  grid-template-columns: minmax(320px, 0.68fr) 1fr;
  gap: 72px;
  align-items: center;
}

.ori-diff-row {
  display: grid;
  grid-template-columns: 42px 1fr;
  column-gap: 22px;
  align-items: start;
  padding: 26px 0;
  border-bottom: 1px solid var(--c-hairline-2);
}

.ori-diff-row:last-child {
  border-bottom: 0;
}

.ori-diff-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1.5px solid rgba(249, 115, 22, 0.4);
  color: var(--c-orange);
  flex: none;
}

.ori-quote {
  margin: 0 0 28px;
  padding: 22px 24px;
  background: var(--c-panel);
  border-left: 2px solid var(--c-orange);
  border-radius: 0 12px 12px 0;
}

@media (max-width:1024px) {
  .ori-why {
    grid-template-columns: 1fr !important;
    gap: 40px;
  }
}

/* ==========================================================================
   AI ACROSS THE LIFECYCLE (dark)
   ========================================================================== */
.ori-proc {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 28px;
}

.ori-procline {
  position: absolute;
  top: 23px;
  left: 23px;
  right: calc((100% - 60px) / 4 - 23px);
  height: 2px;
  background: linear-gradient(90deg, var(--c-indigo), var(--c-indigo-light) 60%, var(--c-orange));
  opacity: 0.4;
}

.ori-stage-circle {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--c-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
}

.ori-stage-circle--indigo {
  border: 2px solid var(--c-indigo-light);
  color: var(--c-indigo-light);
}

.ori-stage-circle--orange {
  border: 2px solid var(--c-orange);
  color: var(--c-orange);
  box-shadow: 0 0 0 6px rgba(249, 115, 22, 0.14);
}

.ori-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.ori-aicard {
  background: var(--c-navy-4);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--r-tile);
  padding: 26px 24px;
}

@media (max-width:1024px) {
  .ori-proc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-procline {
    display: none !important;
  }
}

@media (max-width:640px) {
  .ori-3 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:760px) {
  .ori-3 {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   VOAGENTS PRODUCT AD (dark purple)
   ========================================================================== */
.ori-ad {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 38px;
  align-items: center;
  background: radial-gradient(circle at 78% 50%, rgba(124, 58, 237, 0.34), transparent 58%), #0e1330;
  border: 1px solid rgba(167, 139, 250, 0.26);
  border-radius: 26px;
  padding: 52px 64px;
  overflow: hidden;
}

.ori-adlogo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}

.ori-adproof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
  margin-bottom: 28px;
}

.ori-adproofitem {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #c9bdf0;
  min-width: 0;
}

.ori-adproofitem+.ori-adproofitem {
  border-left: 1px solid rgba(196, 181, 253, 0.22);
  padding-left: 16px;
}

.ori-adbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 330px;
  height: 64px;
  background: var(--c-purple);
  color: #fff;
  border-radius: 12px;
  font-weight: 700;
  font-size: 15.5px;
  box-shadow: 0 16px 34px -18px rgba(124, 58, 237, 0.9);
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1), background 200ms;
}

.ori-adbtn:hover, .ori-adbtn:focus {
  transform: translateY(-2px);
  background: #8b5cf6;
  color: #fff;
}

.ori-adbtn svg {
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-adbtn:hover svg {
  transform: translate(3px, -3px);
}

.ori-adui {
  background: #161c3f;
  border: 1px solid rgba(167, 139, 250, 0.38);
  border-radius: var(--r-tile);
  box-shadow: 0 26px 56px -34px rgba(0, 0, 0, 0.9);
  padding: 30px;
}

.ori-adlive {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c4b5fd;
  background: rgba(167, 139, 250, 0.14);
  border-radius: var(--r-pill);
  padding: 5px 11px;
  flex: none;
}

.ori-addot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-purple-light);
  animation: adBlink 1.6s ease-in-out infinite;
}

@keyframes adBlink {

  0%,
  100% {
    opacity: .35;
  }

  50% {
    opacity: 1;
  }
}

.ori-wave {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3px;
  height: 46px;
  margin: 18px 0 2px;
  padding: 0 2px;
}

.ori-wave span {
  display: block;
  flex: 1;
  border-radius: 2px;
  background: var(--c-purple-light);
/*   height: 9px; */
  animation: adWave 1.15s ease-in-out infinite;
}

.ori-wave span:nth-child(3n+2) {
  animation-delay: .12s;
}

.ori-wave span:nth-child(3n) {
  animation-delay: .24s;
}

.ori-wave span:nth-child(4n) {
  animation-delay: .36s;
}

.ori-wave span:nth-child(5n) {
  animation-delay: .5s;
}

@keyframes adWave {

  0%,
  100% {
    min-block-size: 8px;
    opacity: .5;
  }

  50% {
    min-block-size: 36px;
    opacity: 1;
  }
}

.ori-adsteps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 20px 0 18px;
}

.ori-adtrack {
  position: absolute;
  top: 36px;
  left: 16.6%;
  right: 16.6%;
  height: 1px;
  background: rgba(167, 139, 250, 0.3);
}

.ori-adstep {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.ori-adtick {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex: none;
/*   background: #161c3f; */
  color: rgba(196, 181, 253, 0.4);
  border: 1px solid rgba(167, 139, 250, 0.35);
  transition: background 300ms, color 300ms;
}

.ori-adsteplabel {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.3;
/*   color: #a99ed0; */
/*   transition: color 300ms; */
}

.ori-adbook {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border-radius: 11px;
  background: rgba(167, 139, 250, 0.09);
  border: 1px solid rgba(167, 139, 250, 0.26);
  margin-bottom: 10px;
  opacity: 0.7;
  animation: adBook 8s ease-in-out infinite;
}

.ori-adsync {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border-radius: 11px;
  background: rgba(52, 211, 153, 0.1);
  border: 1px solid rgba(52, 211, 153, 0.32);
  opacity: 0.7;
  animation: adSync 8s ease-in-out infinite;
}

.ori-adstep-1 .ori-adtick {
  animation: adTick 8s ease-in-out infinite;
  animation-delay: .4s;
}

.ori-adstep-2 .ori-adtick {
  animation: adTick 8s ease-in-out infinite;
  animation-delay: 1.4s;
}

.ori-adstep-3 .ori-adtick {
  animation: adTick 8s ease-in-out infinite;
  animation-delay: 2.4s;
}

.ori-adstep-1 .ori-adsteplabel {
  animation: adLabel 8s ease-in-out infinite;
  animation-delay: .4s;
}

.ori-adstep-2 .ori-adsteplabel {
  animation: adLabel 8s ease-in-out infinite;
  animation-delay: 1.4s;
}

.ori-adstep-3 .ori-adsteplabel {
  animation: adLabel 8s ease-in-out infinite;
  animation-delay: 2.4s;
}

@keyframes adTick {

  0%,
  3% {
    background: #161c3f;
    color: rgba(196, 181, 253, 0.45);
    border-color: rgba(167, 139, 250, 0.35);
  }

  9%,
  93% {
    background: var(--c-purple);
    color: #fff;
    border-color: var(--c-purple);
  }

  100% {
    background: #161c3f;
    color: rgba(196, 181, 253, 0.45);
    border-color: rgba(167, 139, 250, 0.35);
  }
}

@keyframes adLabel {

  0%,
  3% {
    color: #a99ed0;
  }

  9%,
  93% {
    color: #fff;
  }

  100% {
    color: #a99ed0;
  }
}

@keyframes adBook {

  0%,
  44% {
    opacity: .7;
  }

  51%,
  95% {
    opacity: 1;
  }

  100% {
    opacity: .7;
  }
}

@keyframes adSync {

  0%,
  56% {
    opacity: .7;
  }

  63%,
  95% {
    opacity: 1;
  }

  100% {
    opacity: .7;
  }
}

@media (max-width:1024px) {
  .ori-ad {
    gap: 28px;
    padding: 44px 40px;
  }

  .ori-adui {
    padding: 22px;
  }
}

@media (max-width:860px) {
  .ori-ad {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 32px 26px;
  }

  .ori-adbtn {
    width: 100%;
  }

  .ori-adproof {
    grid-template-columns: 1fr 1fr;
    gap: 12px 18px;
  }

  .ori-adproofitem+.ori-adproofitem {
    border-left: 0;
    padding-left: 0;
  }
}

@media (prefers-reduced-motion:reduce) {

  .ori-wave span,
  .ori-addot,
  .ori-adtick,
  .ori-adsteplabel,
  .ori-adbook,
  .ori-adsync {
    animation: none !important;
  }

  .ori-wave span {
    min-block-size: 20px;
  }

  .ori-adtick {
    background: var(--c-purple);
    color: #fff;
    border-color: var(--c-purple);
  }

  .ori-adsteplabel {
    color: #fff;
  }

  .ori-adbook,
  .ori-adsync {
    opacity: 1;
  }

  .ori-adbtn:hover,
  .ori-adbtn:hover svg {
    transform: none;
  }
}

/* ==========================================================================
   ENGAGEMENT MODELS + COMPARE TABLE
   ========================================================================== */
.ori-modelhead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 610px);
  gap: 48px;
  align-items: center;
  margin-bottom: 32px;
}

.ori-modelhead .ori-mw64c-m0n0n52 {
  margin-bottom: 0;
}

.ori-modelhead-media {
  position: relative;
  height: 250px;
  width: 100%;
  border-radius: var(--r-card);
  overflow: hidden;
  border: 1px solid var(--c-hairline);
  box-shadow: 0 20px 40px -26px rgba(20, 26, 55, 0.28);
}

.ori-modelhead-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(.25) saturate(1.05);
}

.ori-modelhead-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(150deg, rgba(59, 91, 219, .2), rgba(249, 115, 22, .15));
  mix-blend-mode: multiply;
}

@media (max-width:860px) {
  .ori-modelhead {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ori-modelhead-media {
    display: none;
  }
}

.ori-modelgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

.ori-model {
  display: flex;
  flex-direction: column;
  padding: 34px;
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-card);
  transition: border-color 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-model:hover {
  transform: translateY(-2px);
  border-color: #c3ccea;
}

.ori-modelicon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.ori-model-band {
  border-radius: 12px;
  padding: 18px 20px;
}

.ori-model ul {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ori-model li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-model li svg {
  flex: none;
  margin-top: 3px;
}

.ori-comparetoggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 20px;
  background: #fff;
  border: 1px solid #cfd6e8;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
  cursor: pointer;
  transition: border-color 180ms, color 180ms;
}

.ori-comparetoggle:hover, .ori-comparetoggle:focus {
  border-color: var(--c-indigo);
  color: var(--c-indigo);
  background: transparent;
}

.ori-comparetoggle:focus-visible {
  box-shadow: 0 0 0 3px rgba(59, 91, 219, 0.25);
  outline: none;
}

.ori-compareplus {
  flex: none;
  font-size: 22px;
  line-height: 1;
  font-weight: 400;
  color: var(--c-indigo);
  transition: transform .24s cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-comparewrap[aria-hidden="false"] .ori-compareplus {
  transform: rotate(45deg);
}

.ori-comparedrawer {
  overflow: hidden;
  transition: max-height .26s cubic-bezier(0.22, 1, 0.36, 1), opacity .26s;
  max-height: 0;
  opacity: 0;
}

.ori-comparedrawer.is-open {
  max-height: 900px;
  opacity: 1;
}

.ori-comparetable {
  margin-top: 20px;
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-tile);
  overflow: hidden;
}

.ori-cmprow {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 0;
  border-top: 1px solid #eceef5;
}

.ori-cmprow:first-child {
  border-top: 0;
}

.ori-cmphead {
  background: #f4f6fb;
}

.ori-cmpcell {
  padding: 14px 20px;
  font-size: 15px;
}

.ori-wrap .ori-helpcta {
  margin-top: 28px;
  background: linear-gradient(120deg, var(--c-navy-3), #161d44);
  border: 1px solid rgba(125, 146, 255, 0.22);
  border-radius: var(--r-card);
  box-shadow: 0 18px 40px -30px rgba(13, 19, 48, 0.8);
  padding: 36px 44px;
  display: grid;
  grid-template-columns: minmax(0, 70fr) 30fr;
  gap: 36px;
  align-items: center;
  color: #fff;
  background-color: #161d44;
  background-image: linear-gradient(120deg, var(--c-navy-3), #161d44) !important;
}

.ori-helpicon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 11px;
  background: rgba(249, 115, 22, 0.14);
  border: 1px solid rgba(249, 115, 22, 0.3);
  color: var(--c-orange-light);
}

.ori-helpbtn {
  justify-self: end;
  height: 54px;
  padding: 0 28px;
  border-radius: 11px;
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-helpbtn:hover {
  transform: translateY(-2px);
/*   box-shadow: 0 18px 36px -14px rgba(59, 91, 219, 0.85); */
  color: #fff;
}

@media (max-width:1024px) {
  .ori-modelgrid {
    grid-template-columns: 1fr;
  }

  .ori-model {
    padding: 30px;
  }
}

@media (max-width:760px) {
  .ori-model {
    padding: 23px !important;
  }

  .ori-cmphead {
    display: none !important;
  }

  .ori-cmprow {
    grid-template-columns: 1fr !important;
    padding: 6px 0;
  }

  .ori-cmpcell {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 18px !important;
  }

  .ori-cmpcell::before {
    content: attr(data-label);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8a92a6;
    flex: none;
  }

  .ori-helpcta {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
    gap: 24px;
  }

  .ori-helpcta>div {
    grid-template-columns: 1fr !important;
    row-gap: 16px;
  }

  .ori-helpbtn {
    justify-self: stretch !important;
    width: 100%;
  }
}

/* ==========================================================================
   INDUSTRIES CAROUSEL
   ========================================================================== */
.ori-indsplit {
  display: grid;
  grid-template-columns: 30fr 70fr;
  gap: 0;
  align-items: start;
}

.ori-indnav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-right: 32px;
  border-right: 1px solid var(--c-hairline);
}

.ori-indtab {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  padding: 14px 16px;
  border: none;
  border-radius: 10px;
  border-left: 3px solid transparent;
  background: transparent;
  color: var(--c-ink);
  transition: background .18s cubic-bezier(0.22, 1, 0.36, 1), color .18s;
}

.ori-indtab:hover,
.ori-indtab:focus {
  background: rgba(59, 91, 219, 0.05);
  color: var(--c-ink);
  border-left: 3px solid transparent;
}

.ori-indtab[aria-selected="true"] {
  background: var(--c-navy-3);
  color: #fff;
  border-left-color: var(--c-orange);
}

.ori-tabicon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--c-indigo-tint);
  color: var(--c-indigo);
  transition: background .18s, color .18s;
}

.ori-indtab[aria-selected="true"] .ori-tabicon {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.ori-tabname {
  display: block;
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
}

.ori-tabdesc {
  display: block;
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
  color: var(--c-muted);
}

.ori-indtab[aria-selected="true"] .ori-tabdesc {
  color: rgba(255, 255, 255, 0.72);
}

.ori-indcontent {
  display: grid;
  grid-template-columns: 44fr 56fr;
  gap: 36px;
  align-items: start;
}

.ori-caprow {
  display: grid;
  grid-template-columns: 34px 1fr;
  column-gap: 14px;
  align-items: start;
  background: #fff;
  border: 1px solid var(--c-hairline-3);
  border-radius: 12px;
  padding: 16px 18px;
  transition: border-color 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-caprow:hover {
  border-color: #c9d1e6;
  transform: translateY(-1px);
}

.ori-caprow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--c-indigo-tint);
  color: var(--c-indigo);
}

.ori-indmob {
  display: none;
  flex-direction: column;
  gap: 12px;
}

.ori-inddesk {
  display: block;
}

.ori-indselect {
  display: none;
}

.ori-acc {
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-tile);
  padding: 18px 20px;
  transition: border-color .2s;
}

.ori-acc[data-open="true"] {
  border-color: var(--c-indigo);
}

.ori-accbtn {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-height: 48px;
  background: none;
  border: none;
  padding: 0;
  text-align: left;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
}

.ori-accbtn:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 4px;
}

.ori-accicon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f4f6fb;
  color: var(--c-muted-2);
  transition: background .2s, color .2s;
}

.ori-acc[data-open="true"] .ori-accicon {
  background: rgba(59, 91, 219, 0.12);
  color: var(--c-indigo);
}

.ori-accplus {
  flex: none;
  font-size: 22px;
  line-height: 1;
  color: var(--c-indigo);
  transition: transform .22s cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-acc[data-open="true"] .ori-accplus {
  transform: rotate(45deg);
}

.ori-accbody {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .26s cubic-bezier(0.22, 1, 0.36, 1), opacity .26s;
}

.ori-acc[data-open="true"] .ori-accbody {
  grid-template-rows: 1fr;
  opacity: 1;
}

.ori-accbody>div {
  overflow: hidden;
  min-height: 0;
}

.ori-techmob .ori-acc .ori-label-fs16-bold,
.ori-indmob .ori-acc .ori-label-fs16-bold {
  color: var(--c-ink);
}

.ori-techmob .ori-accbtn,
.ori-indmob .ori-accbtn {
  background-color: transparent
}

@media (max-width:1024px) {
  .ori-indsplit {
    grid-template-columns: 1fr !important;
  }

  .ori-indnav {
    flex-direction: row !important;
    flex-wrap: wrap;
    padding-right: 0 !important;
    border-right: 0 !important;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--c-hairline);
    margin-bottom: 26px;
  }

  .ori-indnav>button {
    flex: 1 1 30%;
  }

  #industry-panel {
    padding-left: 0 !important;
  }

  .ori-indcontent {
    grid-template-columns: 1fr !important;
  }

  .ori-indcontent>div:first-child {
    padding-right: 0 !important;
    border-right: 0 !important;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--c-hairline);
  }
}

@media (max-width:640px) {
  .ori-inddesk {
    display: none !important;
  }

  .ori-indmob {
    display: flex !important;
  }
}

/* ==========================================================================
   TECH STACK
   ========================================================================== */
.ori-techdesk {
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-card);
  padding: 36px;
}

.ori-techsplit {
  display: grid;
  grid-template-columns: 28fr 72fr;
  gap: 36px;
  align-items: start;
}

.ori-techrail {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ori-techtab {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  width: 100%;
  text-align: left;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--c-hairline-3);
  color: var(--c-ink);
  transition: background .2s cubic-bezier(0.22, 1, 0.36, 1), border-color .2s;
  position: relative;
}

.ori-techtab:hover {
  border-color: #c9d1e6;
  border-color: #c9d1e6;
  background: rgba(59, 91, 219, 0.06);
  border: 1px solid var(--c-hairline-3);
  color: var(--c-ink);
}

.ori-techtab[aria-selected="true"]:before {
  content: "";
  position: absolute;
  border-left: 3px solid var(--c-orange);
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: -2px;
  border-radius: 12px;
}

.ori-techtab[aria-selected="true"] {
  background: rgba(59, 91, 219, 0.06);
  border-color: rgba(59, 91, 219, 0.3);
  border-left-color: var(--c-orange);
  color: var(--c-ink);
}

.ori-techtab .ori-tabicon {
  width: 36px;
  height: 36px;
  background: #f4f6fb;
  color: var(--c-muted-2);
}

.ori-techtab[aria-selected="true"] .ori-tabicon {
  background: rgba(59, 91, 219, 0.12);
  color: var(--c-indigo);
}

.ori-techgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ori-tile {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-height: 78px;
  padding: 16px;
  background: var(--c-panel);
  border: 1px solid var(--c-hairline-3);
  border-radius: 12px;
  transition: border-color 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-tile:hover {
  border-color: #c9d1e6;
  transform: scale(1.01);
}

.ori-tile-icon {
  display: flex;
  color: var(--c-muted-2);
}

.ori-tile-name {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--c-slate-2);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ori-utility {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #eceef5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.ori-techmob {
  display: none;
  flex-direction: column;
  gap: 12px;
}

.ori-techdesk-wrap {
  display: block;
}

@media (max-width:1024px) {
  .ori-techsplit {
    grid-template-columns: 1fr !important;
  }

  .ori-techrail {
    flex-direction: row !important;
    flex-wrap: wrap;
  }

  .ori-techrail>button {
    flex: 1 1 210px;
  }

  .ori-techgrid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:760px) {
  .ori-model {
    padding: 30px !important;
  }
}

@media (max-width:640px) {
  .ori-techdesk-wrap {
    display: none !important;
  }

  .ori-techmob {
    display: flex !important;
  }

  .ori-utility>a {
    width: 100%;
  }
}

/* ==========================================================================
   TESTIMONIALS + CLIENT LOGOS (dark)
   ========================================================================== */
.ori-logos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 28px;
  align-items: center;
}

.ori-logo {
  opacity: 0.75;
  transition: opacity 200ms cubic-bezier(0.22, 1, 0.36, 1), transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c6cde8;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.ori-logo:hover {
  opacity: 1;
  transform: translateY(-2px);
}

.logo-sec {
  padding-bottom: var(--sec) !important;
  margin-top: -32px !important;
  padding-top: 32px !important;
}

.testimonial-slider .elementor-testimonial__image {
  display: none
}

.testimonial-slider .elementor-testimonial__cite {
  margin-left: 0 !important
}

/* Testimonials header: heading left, framed client photo right */
.ori-testihead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 610px);
  gap: 52px;
  align-items: center;
  margin-bottom: 44px;
}

.ori-testihead-media {
  position: relative;
  border-radius: var(--r-card);
  overflow: hidden;
  aspect-ratio: 16/10;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 26px 54px -32px rgba(0, 0, 0, 0.85);
  height: 250px;
  width: 100%;
}

.ori-testihead-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ori-testihead-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(150deg, rgba(59, 91, 219, .16), rgba(10, 14, 30, .34));
}

@media (max-width:860px) {
  .ori-testihead {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .ori-testihead-media {
    aspect-ratio: 16/9;
  }
}

@media (max-width:1024px) {
  .ori-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 32px;
  }
}

@media (max-width:640px) {
  .ori-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 28px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-logo {
    opacity: 1;
  }

  .ori-logo:hover {
    transform: none;
  }
}

/* ==========================================================================
   TRUST CREDENTIALS
   ========================================================================== */
.ori-credpanel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #fff;
  border: 1px solid #dde3f2;
  border-radius: 22px;
  box-shadow: 0 20px 44px -30px rgba(20, 30, 70, 0.35);
  overflow: hidden;
}

.ori-credcol {
  padding: 40px 32px;
  border-right: 1px solid var(--c-hairline-3);
}

.ori-credcol:last-child {
  border-right: 0;
}

.ori-credicon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 13px;
  margin-bottom: 16px;
}

.ori-credrule {
  display: block;
  width: 28px;
  height: 3px;
  border-radius: 2px;
  margin-bottom: 16px;
  opacity: 0.85;
  transition: width 200ms cubic-bezier(0.22, 1, 0.36, 1), opacity 200ms;
}

.ori-credcol:hover .ori-credrule {
  width: 44px;
  opacity: 1;
}

@media (max-width:1024px) {
  .ori-credpanel {
    grid-template-columns: 1fr 1fr;
  }

  .ori-credcol {
    padding: 34px 28px;
  }

  .ori-credcol:nth-child(2n) {
    border-right: 0;
  }

  .ori-credcol:nth-child(-n+2) {
    border-bottom: 1px solid var(--c-hairline-3);
  }
}

@media (max-width:640px) {
  .ori-credpanel {
    grid-template-columns: 1fr;
  }

  .ori-credcol {
    padding: 28px 24px;
    border-right: 0;
    border-bottom: 1px solid var(--c-hairline-3);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .ori-credcol:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-credcol:hover .ori-credrule {
    width: 28px;
  }
}

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */
.ori-faq2 {
  display: grid;
  grid-template-columns: minmax(280px, 0.62fr) 1fr;
  gap: 64px;
  align-items: start;
}

.ori-faqaside {
  position: sticky;
  top: 24px;
}

.ori-faqcta {
  background: var(--c-navy-2);
  border-radius: var(--r-tile);
  padding: 24px;
  color: #fff;
}

.ori-faqscroll {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 560px;
  overflow-y: auto;
  padding: 2px 14px 2px 2px;
  scrollbar-width: thin;
  scrollbar-color: #c9d1e6 transparent;
  overscroll-behavior: contain;
}

.ori-faqscroll::-webkit-scrollbar {
  width: 6px;
}

.ori-faqscroll::-webkit-scrollbar-track {
  background: transparent;
}

.ori-faqscroll::-webkit-scrollbar-thumb {
  background: #c9d1e6;
  border-radius: 3px;
}

.ori-faqscroll::-webkit-scrollbar-thumb:hover {
  background: #a9b3cd;
}

.ori-faqcard {
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-tile);
  padding: 20px 24px;
  transition: border-color .2s, box-shadow .2s;
}

.ori-faqcard.is-open {
  border-color: var(--c-indigo);
  box-shadow: 0 14px 30px -18px rgba(59, 91, 219, 0.4);
}

.ori-faqbtn {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 44px;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  text-align: left;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
}

.ori-faqbtn:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 4px;
}

.ori-faqbtn:hover,
.ori-faqbtn:focus {
  background-color: transparent;
  border-color: transparent;
}

.ori-faqq {
  flex: 1;
  font-weight: 600;
  font-size: 16.5px;
  margin: 0;
  color: var(--c-ink);
  line-height: 1.4;
}

.ori-plus {
  flex: none;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  color: var(--c-indigo);
  transition: transform .22s cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-faqcard.is-open .ori-plus {
  transform: rotate(45deg);
}

.ori-faqbody {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .26s cubic-bezier(0.22, 1, 0.36, 1), opacity .26s;
}

.ori-faqcard.is-open .ori-faqbody {
  grid-template-rows: 1fr;
  opacity: 1;
}

.ori-faqbody>div {
  overflow: hidden;
}

.ori-faqbody p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--c-muted-3);
  margin: 14px 0 0;
}

@media (max-width:900px) {
  .ori-faq2 {
    grid-template-columns: 1fr !important;
  }

  .ori-faqaside {
    position: static;
  }

  .ori-faqscroll {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
}

/* ==========================================================================
   CONTACT FORM (static â€” no backend wiring)
   ========================================================================== */
.ori-form {
  display: grid;
  grid-template-columns: 42fr 58fr;
  gap: 48px;
  align-items: start;
  background: var(--c-navy-3);
  border-radius: 26px;
  padding: 56px;
  color: #fff;
}

.ori-form .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
}

.ori-form .wpforms-field-container .wpforms-field-textarea {
  grid-column: 1 / -1;
}

.ori-reassure-list {
  display: flex;
  flex-direction: column;
  gap: 13px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 24px;
  margin-bottom: 34px;
}

.ori-reassure-item {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 15.5px;
  color: #dfe4ff;
}

.ori-nextstep {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 11px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ori-nextstep-num {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c-orange-light);
  flex: none;
  letter-spacing: 0.04em;
}

.ori-nextstep-label {
  font-size: 15px;
  color: #c9d0ea;
  line-height: 1.45;
}

.ori-formcard {
  background: #fff;
  border-radius: 24px;
  padding: 44px;
}

.ori-fgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

.wpforms-field-container .wpforms-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-slate-3);
  margin-bottom: 7px;
}

.wpforms-field-container .wpforms-field input,
.wpforms-field-container .wpforms-field select,
.wpforms-field-container .wpforms-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d3d8e4;
  border-radius: 10px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  font-family: 'Poppins', sans-serif;
  color: var(--c-ink) !important;
  outline: none;
  background: #fff;
  max-width: 100% !important
}

.wpforms-field input,
.wpforms-field select {
  height: 58px !important
}

.wpforms-field-container .wpforms-field select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none' stroke='%235a6272' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 10 13 16 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
}

.wpforms-field-container .wpforms-field textarea {
  height: 140px;
  padding: 13px 14px !important;
  line-height: 1.55 !important;
  resize: vertical;
}

.wpforms-field input:focus,
.wpforms-field select:focus,
.wpforms-field textarea:focus {
  border-color: var(--c-indigo);
  box-shadow: 0 0 0 3px rgba(59, 91, 219, 0.18);
}

.wpforms-form .wpforms-submit-container .wpforms-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  height: 62px;
  background-color: var(--c-orange) !important;
  color: #fff;
  border: none;
  border-radius: 11px;
  font-weight: 700;
  font-size: 16px;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  transition: background 190ms cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  margin-top: 20px;
}

.wpforms-form .wpforms-submit-container .wpforms-submit:after {
  content: "";
  width: 17px;
  height: 17px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='13 6 19 12 13 18'/%3E%3C/svg%3E");
}

.ori-submit:hover:not(:disabled) {
  background: var(--c-orange-dark);
}

.ori-submit svg {
  transition: transform 190ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-submit:hover:not(:disabled) svg {
  transform: translateX(4px);
}

.ori-submit:focus-visible {
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.45);
  outline: none;
}

.ori-submit:disabled {
  opacity: 0.7;
  cursor: default;
}

.ori-formsuccess {
  display: none;
  padding: 28px 0;
}

.ori-formsuccess.is-visible {
  display: block;
}

.ori-formsuccess-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(19, 122, 68, 0.1);
  color: var(--c-green);
  margin-bottom: 22px;
}

@media (max-width:900px) {
  .ori-form {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 20px !important;
  }

  .ori-formcard {
    padding: 20px !important;
  }

  .ori-fgrid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-submit:hover:not(:disabled) svg {
    transform: none;
  }
}

@media (max-width: 767px) {
  .ori-form .wpforms-field-container {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* ==========================================================================
   Section utility classes â€” one class per distinct style, named by what
   it does (layout/color/spacing), grouped by role.
   ========================================================================== */

/* ---- Background/panel fragments ---- */
.ori-bg-indigo-light {
  background: var(--c-indigo-light);
}

.ori-bg-orange-light {
  background: var(--c-orange-light);
}

.ori-bg-indigo-tint-c-indigo {
  background: var(--c-indigo-tint);
  color: var(--c-indigo);
}

.ori-bg-orange-tint-c-orange {
  background: var(--c-orange-tint);
  color: var(--c-orange);
}

.ori-tint-orange {
  background: rgba(249, 115, 22, 0.07);
  border: 1px solid rgba(249, 115, 22, 0.2);
}

.ori-tint-indigo {
  background: rgba(59, 91, 219, 0.06);
  border: 1px solid rgba(59, 91, 219, 0.18);
}

.ori-tint-m0-pad26n24 {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--r-tile);
  padding: 26px 24px;
  margin: 0;
}

.ori-bg-indigo {
  background: var(--c-indigo);
}

.ori-bg-orange {
  background: var(--c-orange);
}

/* ---- Flex containers ---- */
.ori-row-mid-wrap-gap18 {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.ori-row-mid-mb22-gap14 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.ori-row-wrap-mb22-gap8 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.ori-row-mid-wrap-mb14-gap10 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.ori-row-wrap-mb20-gap8 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.ori-row-mid-between-ptop16-gap14-bordertop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-row-mid-jcenter-badge36sq-tint-noshrink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
  flex: none;
}

.ori-row-c-purple-light-noshrink {
  display: flex;
  color: var(--c-purple-light);
  flex: none;
}

.ori-row-mid-between-gap12 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ori-row-mid-gap10-minw0 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.ori-row-mid-jcenter-badge30sq-tint-c-purple-light-noshrink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(167, 139, 250, 0.16);
  color: var(--c-purple-light);
  flex: none;
}

.ori-row-mid-jcenter-badge30sq-tint-c-lilac3-noshrink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(167, 139, 250, 0.18);
  color: #c4b5fd;
  flex: none;
}

.ori-row-mid-jcenter-badge26circle-tint-c-mint-noshrink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(52, 211, 153, 0.16);
  color: #34d399;
  flex: none;
}

.ori-row-mid-mb22-gap13 {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
}

.ori-row-mid-mb14-gap12 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.ori-row-mid-jcenter-badge40sq-bg-indigo-tint-c-indigo-noshrink {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--c-indigo-tint);
  color: var(--c-indigo);
}

.ori-col-gap12 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ori-col-gap10 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ori-col-mt8-gap14 {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 8px;
}

.ori-col-gap0 {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ---- Grid containers ---- */
.ori-cols2-gap12 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ori-colsauto {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 18px;
  align-items: start;
}

.ori-cols2-gap10 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* ---- Inline label fragments ---- */
.ori-label-c-muted2-fs13-med-mt2 {
  display: block;
  font-weight: 500;
  color: var(--c-muted-2);
  font-size: 13px;
  margin-top: 2px;
}

.ori-label-fs16-bold {
  display: block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.012em;
}

.ori-label-c-mutedx-fs135-mt3 {
  display: block;
  font-size: 13.5px;
  color: #6b7285;
  margin-top: 3px;
}

.ori-label-fs15-bold {
  display: block;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
}

.ori-label-c-mutedx-fs13-mt3 {
  display: block;
  font-size: 13px;
  line-height: 1.45;
  color: #6b7285;
  margin-top: 3px;
}

.ori-label-c-ondark-b-fs13-med-mt3 {
  display: block;
  font-weight: 500;
  color: #8b94b8;
  font-size: 13px;
  margin-top: 3px;
}

/* ---- Text style variants ---- */
.ori-c-indigo {
  color: var(--c-indigo);
}

.ori-c-orange {
  color: var(--c-orange);
}

.ori-fs22-bold-mb10 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.014em;
  line-height: 1.25;
  margin-bottom: 10px;
}

.ori-c-ondark-f-fs15-m0n0n22 {
  font-size: 15px;
  line-height: 1.6;
  color: #c0c8e4;
  margin: 0 0 22px;
}

.ori-c-slate2-m0n0n20 {
  margin: 0 0 20px;
  color: var(--c-slate-2);
}

.ori-fs145-noborderb {
  border-bottom: 0;
  padding-bottom: 0;
  font-size: 14.5px;
}

.ori-c-slate2 {
  color: var(--c-slate-2);
}

.ori-mw46c-m0n0n28 {
  line-height: 1.7;
  margin: 0 0 28px;
  max-width: 46ch;
}

.ori-c-slate2-fs155-m0n0n12 {
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--c-slate-2);
  margin: 0 0 12px;
}

.ori-c-ink-fs135-bold {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-fs19-bold-m0n0n7 {
  font-weight: 700;
  font-size: 19px;
  margin: 0 0 7px;
  letter-spacing: -0.014em;
  line-height: 1.3;
}

.ori-c-slate3x-fs16-mw54c-m0 {
  font-size: 16px;
  line-height: 1.65;
  color: #5a6272;
  margin: 0;
  max-width: 54ch;
}

.ori-c-ondark-c-fs17-m0 {
  font-size: 17px;
  line-height: 1.65;
  color: #aab2cc;
  margin: 0;
}

.ori-c-orange-light-mb26 {
  color: var(--c-orange-light);
  margin-bottom: 26px;
}

.ori-c-white-fs17-bold-m16n0n8 {
  font-weight: 700;
  font-size: 17px;
  margin: 16px 0 8px;
  letter-spacing: -0.012em;
  color: #fff;
}

.ori-c-ondark-a-fs145-m0 {
  font-size: 14.5px;
  line-height: 1.6;
  color: #9aa4c4;
  margin: 0;
}

.ori-fs115-mb12 {
  font-size: 11.5px;
  margin-bottom: 12px;
}

.ori-c-white-fs18-bold-m0n0n6 {
  font-weight: 700;
  font-size: 18px;
  margin: 0 0 6px;
  line-height: 1.3;
  color: #fff;
}

.ori-c-ondark-b-fs13-mb16 {
  font-size: 13px;
  color: #8b94b8;
  margin-bottom: 16px;
}

.ori-c-ondark-e-fs145-m0n0n10 {
  font-size: 14.5px;
  line-height: 1.6;
  color: #c0c7e4;
  margin: 0 0 10px;
}

.ori-c-white {
  color: #fff;
}

.ori-c-ondark-e-fs145-m0n0n18 {
  font-size: 14.5px;
  line-height: 1.6;
  color: #c0c7e4;
  margin: 0 0 18px;
}

.ori-c-orange-light-fs18-bold {
  font-size: 18px;
  font-weight: 700;
  color: var(--c-orange-light);
  line-height: 1.1;
}

.ori-c-ondark-b-fs12-mt3 {
  font-size: 12px;
  color: #8b94b8;
  margin-top: 3px;
}

.ori-c-periwinkle-fs135-bold {
  font-size: 13.5px;
  font-weight: 700;
  color: #8fa2f0;
}
.ori-c-periwinkle-fs135-bold:hover, .ori-c-periwinkle-fs135-bold:focus{color: #8fa2f0;}

.ori-fs15-h52 {
  height: 52px;
  font-size: 15px;
}

.ori-c-lilac2-fs115 {
  color: #b9a7f5;
  font-size: 11.5px;
}

.ori-c-white-fs21-bold {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}

.ori-c-lilac3 {
  color: #c4b5fd;
}

.ori-voice-h2 {
  font-weight: 700;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.028em;
  margin: 20px 0 18px;
  color: #fff;
  max-width: 19ch;
}

.ori-c-ondark-g-fs16-mw44c-m0n0n26 {
  font-size: 16px;
  line-height: 1.55;
  color: #c3b8e8;
  margin: 0 0 26px;
  max-width: 44ch;
}

.ori-c-lilac-fs95-bold {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #9b8fc7;
}

.ori-c-white-fs135-bold-mt2 {
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  margin-top: 2px;
}

.ori-c-white-fs135-bold {
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
}

.ori-c-lilac4-fs12-mt2 {
  font-size: 12px;
  color: #a99ed0;
  margin-top: 2px;
}

.ori-c-lilac5-fs12-mt2 {
  font-size: 12px;
  color: #b3a8d6;
  margin-top: 2px;
}

.ori-c-orange-fs12-bold {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--c-orange);
}

.ori-fs24-bold-m0n0n18 {
  font-weight: 700;
  font-size: 24px;
  margin: 0 0 18px;
  letter-spacing: -0.018em;
  line-height: 1.2;
}

.ori-c-slate-fs16-m0n0n26 {
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0 0 26px;
}

.ori-fs165-bold-mb6 {
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.012em;
  margin-bottom: 6px;
}

.ori-c-slate3-fs15-m0 {
  font-size: 15px;
  line-height: 1.55;
  color: var(--c-slate-3);
  margin: 0;
}

.ori-c-slate3x-fs145-m14n0n24 {
  font-size: 14.5px;
  line-height: 1.55;
  color: #5a6272;
  margin: 14px 0 24px;
}

.ori-mtauto-borderb-orange-selfstart {
  margin-top: auto;
  align-self: flex-start;
  border-bottom-color: var(--c-orange);
}

.ori-c-indigo-fs12-bold {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--c-indigo);
}

.ori-mtauto-borderb-indigo-selfstart {
  margin-top: auto;
  align-self: flex-start;
  border-bottom-color: var(--c-indigo);
}

.ori-c-muted4-fs12-bold {
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 12px;
  color: #8a92a6;
}

.ori-c-rust-fs135-bold {
  font-weight: 700;
  color: #c2560d;
  font-size: 13.5px;
}

.ori-c-indigo-fs135-bold {
  font-weight: 700;
  color: var(--c-indigo);
  font-size: 13.5px;
}

.ori-c-slate2-sbold {
  font-weight: 600;
  color: var(--c-slate-2);
}

.ori-c-slate3x {
  color: #5a6272;
}

.ori-mb16 {
  letter-spacing: 0.14em;
  margin-bottom: 16px;
}

.ori-c-white-fs23-bold-m0n0n14 {
  font-weight: 700;
  font-size: 23px;
  margin: 0 0 14px;
  letter-spacing: -0.018em;
  line-height: 1.2;
  color: #fff;
}

.ori-c-ondark-d-fs155-mw56c-m0 {
  font-size: 15.5px;
  line-height: 1.6;
  color: #aab4d4;
  margin: 0;
  max-width: 56ch;
}

.ori-fs24-bold-m0 {
  font-weight: 700;
  font-size: 24px;
  margin: 0;
  letter-spacing: -0.018em;
}

.ori-c-slate2-fs16-m0n0n24 {
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-slate-2);
  margin: 0 0 24px;
}

.ori-fs155-bold-m0n0n4 {
  font-size: 15.5px;
  font-weight: 700;
  margin: 0 0 4px;
  letter-spacing: -0.012em;
}

.ori-c-slate3x-fs145-m0 {
  font-size: 14.5px;
  line-height: 1.55;
  color: #5a6272;
  margin: 0;
}

.ori-c-slate2-fs15-m16n0n14 {
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate-2);
  margin: 16px 0 14px;
}

.ori-fs115-mb8 {
  font-size: 11.5px;
  margin-bottom: 8px;
}

.ori-c-slate3x-fs145-m0n0n18 {
  font-size: 14.5px;
  line-height: 1.6;
  color: #5a6272;
  margin: 0 0 18px;
}

.ori-fs21-bold-m0n0n10 {
  font-weight: 700;
  font-size: 21px;
  margin: 0 0 10px;
  letter-spacing: -0.016em;
}

.ori-c-slate-fs16-mw60c-m0n0n26 {
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0 0 26px;
  max-width: 60ch;
}

.ori-c-orange-mb8 {
  color: var(--c-orange);
  margin-bottom: 8px;
}

.ori-c-slate2-fs155-mw64c-m0 {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--c-slate-2);
  margin: 0;
  max-width: 64ch;
}

.ori-fs145-h44 {
  height: 44px;
  font-size: 14.5px;
}

.ori-c-slate-fs15-m16n0n16 {
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 16px 0 16px;
}

.ori-c-slate2x-fs13-sbold {
  font-size: 13px;
  font-weight: 600;
  color: #2a3142;
}

.ori-c-orange-fs115-mb7 {
  color: var(--c-orange);
  font-size: 11.5px;
  margin-bottom: 7px;
}

.ori-c-slate2-fs145-m0 {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate-2);
  margin: 0;
}

.ori-bg-white-fs15-h48 {
  height: 48px;
  font-size: 15px;
  background: #fff;
  justify-content: center;
}

.ori-c-ondark-h-fs155-m0n0n18 {
  font-size: 15.5px;
  line-height: 1.65;
  color: #dfe4ff;
  margin: 0 0 18px;
}

.ori-c-white-fs14-bold {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.ori-fs125 {
  font-size: 12.5px;
}

.ori-c-ondark-d-fs155-mw62c-m0na {
  font-size: 15.5px;
  line-height: 1.6;
  color: #aab4d4;
  margin: 0 auto;
  max-width: 62ch;
}

.ori-c-slate-fs165-m0 {
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0;
}

.ori-c-ink-fs21-bold-m0n0n10 {
  font-weight: 700;
  font-size: 21px;
  letter-spacing: -0.016em;
  line-height: 1.25;
  margin: 0 0 10px;
  color: var(--c-ink);
}

.ori-c-slate3x-fs155-m0 {
  font-size: 15.5px;
  line-height: 1.55;
  color: #5a6272;
  margin: 0;
}

.ori-mw40c-m0n0n26 {
  line-height: 1.65;
  margin: 0 0 26px;
  max-width: 40ch;
}

.ori-fs165-bold-mb6-ls {
  font-weight: 700;
  font-size: 16.5px;
  margin-bottom: 6px;
}

.ori-c-ondark-c-fs145-m0n0n18 {
  font-size: 14.5px;
  line-height: 1.55;
  color: #aab2cc;
  margin: 0 0 18px;
}

.ori-fs145-h46 {
  height: 46px;
  font-size: 14.5px;
}

.ori-c-white-m0n0n16 {
  color: #fff;
  margin: 0 0 16px;
}

.ori-c-ondark-f-fs165-mw44c-m0n0n26 {
  font-size: 16.5px;
  line-height: 1.6;
  color: #c0c8e4;
  margin: 0 0 26px;
  max-width: 44ch;
}

.ori-mb18 {
  letter-spacing: 0.14em;
  margin-bottom: 18px;
}

.ori-c-ink-fs20-bold-mb8 {
  font-weight: 700;
  font-size: 20px;
  color: var(--c-ink);
  margin-bottom: 8px;
}

.ori-c-slate3x-fs145-m0n0n26 {
  font-size: 14.5px;
  line-height: 1.55;
  color: #5a6272;
  margin: 0 0 26px;
}

.ori-c-muted2x-fs125-center-m16n0n0 {
  text-align: center;
  font-size: 12.5px;
  line-height: 1.5;
  color: #7a8299;
  margin: 16px 0 0;
}

.ori-c-ink-fs21-bold-mb10 {
  font-weight: 700;
  font-size: 21px;
  color: var(--c-ink);
  margin-bottom: 10px;
  letter-spacing: -0.016em;
}

.ori-c-slate3x-fs155-mw44c-m0n0n22 {
  font-size: 15.5px;
  line-height: 1.6;
  color: #5a6272;
  margin: 0 0 22px;
  max-width: 44ch;
}

.ori-c-indigo-fs15-bold {
  font-size: 15px;
  font-weight: 700;
  color: var(--c-indigo);
}

/* ---- Spacing/misc utilities ---- */
.ori-mw52c-m0n0n30 {
  margin: 0 0 30px;
  max-width: 52ch;
}

.ori-m0 {
  margin: 0;
}

.ori-mw44c-m0n0n20 {
  margin: 0 0 20px;
  max-width: 44ch;
}

.ori-mw64c-m0n0n40 {
  max-width: 64ch;
  margin: 0 0 40px;
}

.ori-capsec .ori-mw44c-m0n0n20 {
  max-width: 35ch;
}

.ori-mb20-clip {
  overflow: hidden;
  margin-bottom: 20px;
}

.ori-mb14 {
  margin-bottom: 14px;
}

.ori-mb8 {
  margin-bottom: 8px;
}

.ori-gap20 {
  gap: 20px;
}

.ori-pad28n26 {
  padding: 28px 26px;
}

.ori-m0n0n8 {
  margin: 0 0 8px;
}

.ori-m0n0n18 {
  margin: 0 0 18px;
}

.ori-mt32 {
  margin-top: 32px;
}

.ori-mw64c-m0n0n44 {
  max-width: 64ch;
  margin: 0 0 44px;
}

.ori-mb56-relative {
  position: relative;
  margin-bottom: 56px;
}

.ori-mt34 {
  margin-top: 34px;
}

.ori-minw0 {
  min-width: 0;
}

.ori-mw64c-m0n0n52 {
  max-width: 64ch;
  margin: 0 0 52px;
}

.ori-mb22 {
  margin-bottom: 22px;
}

.ori-mt24 {
  margin-top: 24px;
}

.ori-mw66c-m0n0n52 {
  max-width: 66ch;
  margin: 0 0 52px;
}

.ori-minw0-grow {
  flex: 1;
  min-width: 0;
}

.ori-noshrink-op06 {
  flex: none;
  opacity: 0.6;
}

.ori-pl36 {
  padding-left: 36px;
}

.ori-pr36-borderright {
  padding-right: 36px;
  border-right: 1px solid var(--c-hairline);
}

.ori-mb10 {
  margin-bottom: 10px;
}

.ori-m0n0n24 {
  margin: 0 0 24px;
}

.ori-mt18 {
  margin-top: 18px;
}

.ori-mt26-bordertop {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #eceef5;
}

.ori-minh74 {
  min-height: 74px;
}

.ori-mt18-bordertop {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #eceef5;
}

.ori-mw64c-m0n0n36 {
  max-width: 64ch;
  margin: 0 0 36px;
}

.ori-mt52-bordertop {
  margin-top: 52px;
  padding-top: 44px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-center-mb32 {
  text-align: center;
  margin-bottom: 32px;
}

.ori-center-mw760p-m0nan44 {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 44px;
}

.ori-m0nan14 {
  margin: 0 auto 14px;
}

.ori-m0n0n16 {
  margin: 0 0 16px;
}

.ori-noshrink {
  flex: none;
}

.ori-mb24 {
  margin-bottom: 24px;
}

body #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
  font-weight: 600 !important;
  color: #2a3142 !important;
}

body #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item.mega-ori-btn--gradient>a.mega-menu-link {
  color: #fff !important;
  line-height: 47px;
  height: 46px !important;
}

.scroll_up_btn .elementor-button-wrapper a.elementor-button-link.elementor-button.elementor-size-md {
  background: linear-gradient(135deg, var(--c-orange), var(--c-indigo)) !important
}


.ori-capcell .ori-h3.ori-h3--lg {
  width: 90%;
}

/* ==========================================================================
   AI DEVELOPMENT PAGE
   Reusable ori-* components for the AI Development landing page (and any
   future page). All values reference the :root tokens above.
   ========================================================================== */

/* ---- Shared dark-section background glows -------------------------------- */
.ori-bg-aihero {
  background: radial-gradient(circle at 12% 18%, rgba(249, 115, 22, 0.18), transparent 40%), radial-gradient(circle at 88% 82%, rgba(59, 91, 219, 0.32), transparent 44%), var(--c-navy);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.ori-bg-aidark {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 85% 12%, rgba(59, 91, 219, 0.22), transparent 45%), radial-gradient(circle at 8% 90%, rgba(249, 115, 22, 0.14), transparent 42%), #0b1020;
  color: #fff;
}

.ori-bg-sector {
  background: radial-gradient(circle at 12% 15%, rgba(59, 91, 219, 0.35), transparent 45%), radial-gradient(circle at 88% 80%, rgba(249, 115, 22, 0.25), transparent 48%), var(--c-navy-3);
  color: #fff;
}

.ori-bg-quotes {
  background: #0b1020;
  color: #fff;
}

/* ==========================================================================
   HERO (dark) with static lead form
   ========================================================================== */
.ori-aihero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
}

.ori-aihero-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}

.ori-aihero-h1 {
  font-weight: 700;
  font-size: clamp(32px, 3.6vw, 43px);
  line-height: 1.07;
  letter-spacing: -0.025em;
  margin: 0 0 16px;
  color: #fff;
}

.ori-aihero-h1 span {
  color: #8ea2ff;
}

.ori-aihero-lead {
  font-size: 16px;
  line-height: 1.6;
  color: #aab2cc;
  margin: 0 0 24px;
  max-width: 50ch;
}

.ori-aibullets {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ori-aibullet {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  color: #dfe4ff;
}

.ori-aibullet svg {
  flex: none;
}

.ori-aiform {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  overflow: hidden;
  color: #fff;
  backdrop-filter: blur(12px);
  box-shadow: 0 34px 74px -22px rgba(0, 0, 0, 0.6);
}

.ori-aiform-top {
  height: 4px;
  background: linear-gradient(90deg, var(--c-orange), var(--c-indigo));
}

.ori-aiform-head {
  padding: 22px 28px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-aiform-head h2 {
  font-weight: 700;
  font-size: 20px;
  margin: 0 0 3px;
  letter-spacing: -0.01em;
  color: #fff;
}

.ori-aiform-head p {
  font-size: 13px;
  color: #aab2cc;
  margin: 0;
}

.ori-aiform-body {
  padding: 22px 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ori-aiform-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ori-wrap.ori-aihero .ori-aiform-body .wpforms-field-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
}

.ori-aiform .wpforms-container .wpforms-field {
  padding: 0;
}

.ori-wrap.ori-aihero .ori-aiform-body .wpforms-field-container .wpforms-field-textarea {
  grid-column: 1 / -1;
}

.ori-aifield label,
body .ori-aiform .ori-aiform-body .wpforms-field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #cdd6f5;
  margin-bottom: 6px;
}

.ori-aiinput,
.ori-aiselect,
.ori-aitextarea,
body .ori-aiform .ori-aiform-body input,
body .ori-aiform .ori-aiform-body textarea,
body .ori-aiform .ori-aiform-body select {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 9px;
  padding: 11px 12px;
  font-size: 14.5px;
  font-family: 'Poppins', sans-serif;
  color: #fff !important;
  outline: none;
  transition: border-color .18s, background .18s, box-shadow .18s;
}

body .ori-aiform .ori-aiform-body input::placeholder,
body .ori-aiform .ori-aiform-body textarea::placeholder,
body .ori-aiform .ori-aiform-body select::placeholder {
  color: #fff;
}

.ori-aiinput::placeholder,
.ori-aitextarea::placeholder {
  color: #8b94b8;
}

.ori-aiinput:focus,
.ori-aiselect:focus,
.ori-aitextarea:focus {
  border-color: var(--c-indigo-light);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 3px rgba(125, 146, 255, 0.18);
}

.ori-aitextarea {
  line-height: 1.55;
  resize: vertical;
  min-height: 88px;
}

.ori-aiselect,
body .ori-aiform .ori-aiform-body select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23cdd6f5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 10 13 16 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

.ori-aiselect option,
body .ori-aiform .ori-aiform-body select option {
  color: var(--c-ink);
}

.ori-aisubmit {
  background: linear-gradient(135deg, var(--c-orange), var(--c-indigo));
  color: #fff;
  border: none;
  padding: 15px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15.5px;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  transition: filter 190ms;
}

.ori-bg-aihero .ori-aiform-body .wpforms-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none' stroke='%23cdd6f5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 7.5 10 12.5 15 7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px;
  padding-right: 40px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.ori-aisubmit:hover {
  filter: brightness(1.12);
}

.ori-aisubmit:focus-visible {
  box-shadow: 0 0 0 3px rgba(125, 146, 255, 0.5);
  outline: none;
}

.ori-aiform-note {
  font-size: 11.5px;
  color: #8b94b8;
  text-align: center;
  margin: 0;
}

@media (max-width:1024px) {
  .ori-aihero {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width:720px) {
  .ori-aiform-row {
    grid-template-columns: 1fr;
  }
}

/* ---- Process step circles on a light panel (light variant of ori-stage-circle) */
.ori-stage-circle--light {
  background: transparent;
}

.ori-stage-circle--light.ori-stage-circle--indigo {
  border-color: var(--c-indigo);
  color: var(--c-indigo);
  background-color: #f9f9f6;
}

.ori-stage-circle--light.ori-stage-circle--orange {
  border-color: var(--c-orange);
  color: var(--c-orange);
  box-shadow: none;
  background-color: #f9f9f6;
}

.ori-procstep {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ori-procstep h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--c-ink);
  letter-spacing: -0.012em;
  margin: 0;
}

.ori-procstep p {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-muted-3);
  margin: 0;
}

/* ==========================================================================
   AI CAPABILITIES — pathway rows
   ========================================================================== */
.ori-pathmast {
  margin-bottom: 32px;
}

.ori-paths {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ori-path {
  display: grid;
  grid-template-columns: 24% minmax(0, 38%) minmax(0, 38%);
  align-items: stretch;
  border-radius: 16px;
  overflow: hidden;
}

.ori-path--cobalt {
  background: #f4f6fd;
  border: 1px solid rgba(59, 91, 219, 0.16);
}

.ori-path--warm {
  background: #fbf7f3;
  border: 1px solid rgba(249, 115, 22, 0.2);
}

.ori-pathlead {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 26px 26px 26px 28px;
  min-width: 0;
}

.ori-pathlead-ic {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
}

.ori-path--cobalt .ori-pathlead-ic {
  background: rgba(59, 91, 219, 0.1);
  color: var(--c-indigo);
}

.ori-path--warm .ori-pathlead-ic {
  background: rgba(249, 115, 22, 0.12);
  color: var(--c-orange);
}

.ori-pathnum {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 7px;
}

.ori-path--cobalt .ori-pathnum {
  color: var(--c-indigo);
}

.ori-path--warm .ori-pathnum {
  color: var(--c-orange);
}

.ori-pathlead h3 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
  margin: 0 0 9px;
  color: var(--c-ink);
}

.ori-pathlead p {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
  margin: 0;
}

.ori-pathcap {
  display: block;
  padding: 26px;
  color: inherit;
  border-left: 1px solid rgba(20, 26, 40, 0.09);
  transition: background 200ms cubic-bezier(0.22, 1, 0.36, 1), transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-pathcap:hover,
.ori-pathcap:focus-visible {
  background: rgba(255, 255, 255, 0.78);
  transform: translateY(-2px);
  outline: none;
  color: inherit;
}

.ori-pathcap-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.ori-pathcap-title {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-pathcap-art {
  flex: none;
  display: flex;
  margin-top: 2px;
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-path--cobalt .ori-pathcap-art {
  color: var(--c-indigo);
}

.ori-path--warm .ori-pathcap-art {
  color: var(--c-orange);
}

.ori-pathcap:hover .ori-pathcap-art {
  transform: translateX(3px);
}

.ori-pathcap-desc {
  display: block;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-slate);
}

@media (max-width:1024px) {
  .ori-path {
    grid-template-columns: 1fr;
  }

  .ori-pathcap {
    border-left: 0;
    border-top: 1px solid rgba(20, 26, 40, 0.12);
  }

  .ori-pathcap:hover,
  .ori-pathcap:focus-visible {
    transform: none;
  }
}

@media (prefers-reduced-motion:reduce) {

  .ori-pathcap:hover,
  .ori-pathcap:focus-visible {
    transform: none;
  }

  .ori-pathcap:hover .ori-pathcap-art {
    transform: none;
  }
}

/* ==========================================================================
   AI SERVICES — dark numbered grid
   ========================================================================== */
.ori-svcgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.ori-svc {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 30px 26px 28px;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), border-color 220ms;
  outline: none;
}

.ori-svc--indigo {
  --svcAccent: var(--c-indigo-light);
  --svcTint: rgba(125, 146, 255, 0.14);
}

.ori-svc--orange {
  --svcAccent: var(--c-orange-light);
  --svcTint: rgba(249, 163, 94, 0.14);
}

.ori-svcrule {
  position: absolute;
  top: 0;
  left: 26px;
  height: 3px;
  width: 40px;
  border-radius: 0 0 2px 2px;
  background: var(--svcAccent);
  transition: width 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-svcglow {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--svcTint), transparent 68%);
  opacity: 0;
  transition: opacity 220ms;
  pointer-events: none;
}

.ori-svcnum {
  position: absolute;
  top: 14px;
  right: 22px;
  font-size: 58px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.055);
  line-height: 1;
  pointer-events: none;
  transition: color 220ms;
}

.ori-svcicon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--svcTint);
  color: var(--svcAccent);
  margin-bottom: 16px;
  transition: transform 220ms;
}

.ori-svc h3 {
  position: relative;
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.014em;
  line-height: 1.25;
  margin: 0 0 10px;
  color: #fff;
}

.ori-svc p {
  position: relative;
  font-size: 15px;
  line-height: 1.6;
  color: #b6bfdc;
  margin: 0;
}

.ori-svc:hover,
.ori-svc:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(169, 182, 255, 0.42);
}

.ori-svc:focus-visible {
  box-shadow: 0 0 0 2px var(--c-indigo-light);
}

.ori-svc:hover .ori-svcrule,
.ori-svc:focus-visible .ori-svcrule {
  width: 60px;
}

.ori-svc:hover .ori-svcglow,
.ori-svc:focus-visible .ori-svcglow {
  opacity: 1;
}

.ori-svc:hover .ori-svcicon,
.ori-svc:focus-visible .ori-svcicon {
  transform: translateY(-2px);
}

.ori-svc:hover .ori-svcnum,
.ori-svc:focus-visible .ori-svcnum {
  color: rgba(255, 255, 255, 0.12);
}

@media (max-width:1024px) {
  .ori-svcgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-svc:hover,
  .ori-svc:focus-visible {
    transform: none;
  }
}

@media (max-width:720px) {
  .ori-svcgrid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion:reduce) {

  .ori-svc,
  .ori-svcrule,
  .ori-svcglow,
  .ori-svcicon {
    transition: none;
  }

  .ori-svc:hover,
  .ori-svc:focus-visible {
    transform: none;
  }

  .ori-svc:hover .ori-svcicon {
    transform: none;
  }
}

/* ==========================================================================
   AI INTEGRATION — tab strip + 4-node flow
   ========================================================================== */
.ori-intmast {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
  gap: 48px;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 36px;
}

.ori-intmast>p {
  padding-top: 26px;
}

.ori-intwork {
  background: #f5f7fc;
  border: 1px solid var(--c-hairline);
  border-radius: 18px;
  padding: 32px;
}

.ori-inttabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 26px;
}

.ori-inttab {
  display: flex;
  align-items: center;
  gap: 11px;
  height: 68px;
  text-align: left;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  padding: 0 14px;
  border-radius: 11px;
  background: #fbfcfe;
  border: 1px solid #dfe5f1;
  border-bottom: 3px solid #dfe5f1;
  transition: background .18s, border-color .18s, box-shadow .18s;
}

.ori-inttab:hover {
  background: #fff;
  border-color: #cfd8ef;
}

.ori-inttab:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-inttab[aria-selected="true"] {
  background: #fff;
  border-color: #c9d4f2;
  border-bottom-color: var(--c-indigo);
  box-shadow: 0 8px 20px -16px rgba(20, 26, 40, 0.55);
}

.ori-inttab-ic {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: rgba(20, 26, 40, 0.06);
  color: var(--c-slate);
  transition: background .18s, color .18s;
}

.ori-inttab[aria-selected="true"] .ori-inttab-ic {
  background: rgba(59, 91, 219, 0.1);
  color: var(--c-indigo);
}

.ori-inttab-num {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 3px;
  color: var(--c-muted);
}

.ori-inttab[aria-selected="true"] .ori-inttab-num {
  color: var(--c-indigo);
}

.ori-inttabtitle {
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--c-slate-2);
}

.ori-inttab[aria-selected="true"] .ori-inttabtitle {
  color: var(--c-ink);
}

.ori-flow4 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr) 36px minmax(0, 1fr) 36px minmax(0, 1fr);
  align-items: stretch;
}

.ori-flownode {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  padding: 20px;
  min-height: 124px;
}

.ori-flownode--plain {
  background: #fff;
  border: 1px solid var(--c-hairline);
}

.ori-flownode--anchor {
  background: #1a2246;
  border: 1px solid rgba(125, 146, 255, 0.4);
}

.ori-flownode--active {
  background: #eef1fa;
  border: 1px solid rgba(59, 91, 219, 0.34);
}

.ori-flownode--outcome {
  background: #fdf3ea;
  border: 1px solid rgba(249, 115, 22, 0.32);
}

.ori-flownode-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  margin-bottom: 10px;
}

.ori-flownode--plain .ori-flownode-ic {
  background: rgba(20, 26, 40, 0.05);
  color: #5a6272;
}

.ori-flownode--anchor .ori-flownode-ic {
  background: rgba(169, 182, 255, 0.16);
  color: #a9b6ff;
}

.ori-flownode--active .ori-flownode-ic {
  background: rgba(59, 91, 219, 0.12);
  color: var(--c-indigo);
}

.ori-flownode--outcome .ori-flownode-ic {
  background: rgba(249, 115, 22, 0.12);
  color: #d9600c;
}

.ori-flownode-kicker {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  margin-bottom: 7px;
}

.ori-flownode--plain .ori-flownode-kicker {
  color: #8a92a6;
}

.ori-flownode--anchor .ori-flownode-kicker {
  color: #8fa2f0;
}

.ori-flownode--active .ori-flownode-kicker {
  color: var(--c-indigo);
}

.ori-flownode--outcome .ori-flownode-kicker {
  color: #c2560d;
}

.ori-flownode-label {
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
  margin-bottom: 6px;
}

.ori-flownode--anchor .ori-flownode-label {
  color: #fff;
}

.ori-flownode-meta {
  font-size: 13px;
  line-height: 1.5;
}

.ori-flownode--plain .ori-flownode-meta {
  color: #5a6272;
}

.ori-flownode--anchor .ori-flownode-meta {
  color: #d5dbf0;
}

.ori-flownode--active .ori-flownode-meta {
  color: #4a5262;
}

.ori-flownode--outcome .ori-flownode-meta {
  color: #7a5638;
}

.ori-conn4 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ori-conn4::before {
  content: '';
  position: absolute;
  left: -2px;
  right: -2px;
  top: 50%;
  height: 2px;
  margin-top: -1px;
  background: var(--rail, var(--c-indigo));
  opacity: 0.5;
  z-index: 0;
}

.ori-conn4 svg {
  position: relative;
  z-index: 1;
  display: block;
}

.ori-conn4--active {
  --rail: var(--c-orange);
}

.ori-workfoot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  flex-wrap: wrap;
  min-height: 76px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e0e6f2;
}

.ori-workfoot-lbl {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a92a6;
  margin-bottom: 11px;
}

.ori-ctabtn {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-indigo);
}

.ori-ctabtn:hover {
  color: var(--c-indigo-dark);
}

@media (max-width:1100px) {
  .ori-inttabs {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 6px;
    scrollbar-width: thin;
  }

  .ori-inttab {
    flex: 0 0 auto;
    min-width: 190px;
  }
}

@media (max-width:1024px) {
  .ori-intmast {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ori-intwork {
    padding: 24px;
  }

  .ori-flow4 {
    grid-template-columns: 1fr;
  }

  .ori-conn4::before {
    left: 50%;
    right: auto;
    top: -2px;
    bottom: -2px;
    width: 2px;
    height: auto;
    margin-top: 0;
    margin-left: -1px;
  }

  .ori-conn4 {
    height: 28px;
  }

  .ori-conn4 svg {
    transform: rotate(90deg);
  }
}

@media (max-width:760px) {
  .ori-ctabtn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   AI CASE STUDIES — 2-col grid
   ========================================================================== */
/* Case grid reused from .ori-two (1fr 1fr + 900px collapse); gap set inline in markup */
.ori-casecard {
  min-width: 0;
}

.ori-caseimg {
  width: 100%;
  height: 150px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg, #eef1ff, #f6f3ff);
  border: 1px solid var(--c-hairline);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ori-caseimg {
  background-size: cover !important;
  background-position: center top !important
}

.ori-caseimg span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #9aa4c4;
  text-align: center;
  padding: 0 16px;
}

.ori-casehead {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.ori-casenum {
  font-size: 13px;
  font-weight: 800;
  color: #c2c8d6;
}

.ori-casehead h3 {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--c-ink);
}

.ori-casetag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--c-indigo);
  background: #eef1ff;
  padding: 3px 8px;
  border-radius: 6px;
}

.ori-caseclient {
  font-size: 12px;
  color: #8a94a3;
  margin-bottom: 8px;
}

.ori-casedesc {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--c-muted-3);
  margin: 0 0 12px;
}

.ori-casetech {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ori-casetech span {
  font-size: 10.5px;
  background: #f2f4f9;
  color: var(--c-muted-3);
  padding: 3px 8px;
  border-radius: 6px;
}

/* ==========================================================================
   INDUSTRIES — sector split (heading + icon list)
   ========================================================================== */
.ori-sectorsplit {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 60px;
  align-items: center;
}

.ori-sectorgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 36px;
}

.ori-sectoritem {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ori-sectoricon {
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(143, 162, 240, 0.14);
  color: #8fa2f0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ori-sectoritem span:last-child {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.012em;
  color: #fff;
}

@media (max-width:1024px) {
  .ori-sectorsplit {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width:480px) {
  .ori-sectorgrid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ==========================================================================
   ADVANTAGE — credential pills (reused inside ori-faq2 layout)
   ========================================================================== */
.ori-credpill {
  font-size: 12.5px;
  font-weight: 600;
  background: #eef1ff;
  color: var(--c-indigo-dark);
  padding: 7px 13px;
  border-radius: var(--r-pill);
}

.ori-prose h3 {
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.014em;
  margin: 0 0 10px;
  color: var(--c-ink);
}

.ori-prose p {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--c-muted-3);
  margin: 0 0 26px;
}

.ori-prose p:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   DELIVERY ASSURANCE — trust panel
   ========================================================================== */
.ori-trust {
  display: grid;
  grid-template-columns: 38fr 62fr;
  gap: 60px;
  align-items: stretch;
}

.ori-trustpos {
  box-sizing: border-box;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #0d1330;
  border-radius: 18px;
  padding: 40px;
}

.ori-trustpos h2 {
  font-weight: 700;
  font-size: clamp(30px, 3.4vw, 46px);
  letter-spacing: -0.028em;
  line-height: 1.08;
  margin: 0 0 18px;
  color: #fff;
}

.ori-trustpos p {
  font-size: 15.5px;
  line-height: 1.6;
  color: #b3bcd8;
  margin: 0 0 20px;
}

.ori-trustpos-foot {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.014em;
  line-height: 1.4;
  color: #fff;
}

.ori-trustrows {
  display: flex;
  flex-direction: column;
}

.ori-trow {
  box-sizing: border-box;
  position: relative;
  display: grid;
  grid-template-columns: 26px 32px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 118px;
  padding: 16px 0;
  border-top: 1px solid var(--c-hairline);
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-trow:first-child {
  border-top: 0;
  padding-top: 0;
}

.ori-trow:last-child {
  padding-bottom: 0;
}

.ori-trow:hover,
.ori-trow:focus-within {
  transform: translateX(3px);
}

.ori-trownum {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.ori-trowicon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
}

.ori-trow--indigo .ori-trownum {
  color: var(--c-indigo);
}

.ori-trow--indigo .ori-trowicon {
  background: rgba(59, 91, 219, 0.08);
  color: var(--c-indigo);
}

.ori-trow--indigo .ori-trowline {
  background: var(--c-indigo);
}

.ori-trow--orange .ori-trownum {
  color: var(--c-orange);
}

.ori-trow--orange .ori-trowicon {
  background: rgba(249, 115, 22, 0.1);
  color: var(--c-orange);
}

.ori-trow--orange .ori-trowline {
  background: var(--c-orange);
}

.ori-trow h3 {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  margin: 0 0 9px;
  color: var(--c-ink);
}

.ori-trow p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--c-slate);
  margin: 0;
}

.ori-trowline {
  position: absolute;
  left: 0;
  bottom: 10px;
  height: 2px;
  width: 0;
  border-radius: 1px;
  transition: width 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-trow:hover .ori-trowline,
.ori-trow:focus-within .ori-trowline {
  width: 44px;
}

@media (max-width:1024px) {
  .ori-trust {
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: start;
  }

  .ori-trustpos {
    height: auto;
    padding: 32px 28px;
  }
}

@media (max-width:640px) {
  .ori-trow {
    grid-template-columns: 24px 28px minmax(0, 1fr);
    gap: 10px;
    min-height: 0;
  }

  .ori-trow:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion:reduce) {

  .ori-trow,
  .ori-trowline {
    transition: none;
  }

  .ori-trow:hover {
    transform: none;
  }
}

/* ==========================================================================
   TECH STACK — matrix rows
   ========================================================================== */
.ori-techmast {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
  gap: 56px;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 52px;
}

.ori-techmast>p {
  padding-top: 22px;
}

.ori-matrix {
  border: 1px solid var(--c-hairline);
  border-radius: 18px;
  background: #fff;
}

.ori-mrow {
  display: grid;
  grid-template-columns: 27% minmax(0, 73%);
  gap: 24px;
  align-items: center;
  padding: 26px 28px;
  border-top: 1px solid #edf0f7;
}

.ori-mrow:first-child {
  border-top: 0;
}

.ori-mcat {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.ori-mcat-ic {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

.ori-mcat--indigo .ori-mcat-ic {
  background: rgba(59, 91, 219, 0.08);
  color: var(--c-indigo);
}

.ori-mcat--orange .ori-mcat-ic {
  background: rgba(249, 115, 22, 0.1);
  color: var(--c-orange);
}

.ori-mcat-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}

.ori-mcat--indigo .ori-mcat-num {
  color: var(--c-indigo);
}

.ori-mcat--orange .ori-mcat-num {
  color: var(--c-orange);
}

.ori-mcat h3 {
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  line-height: 1.35;
  margin: 0;
  color: var(--c-ink);
}

.ori-mtiles {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ori-tile2 {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 11px;
  background: #fafbfd;
  border: 1px solid #eef1f7;
  border-radius: 9px;
  cursor: default;
  transition: border-color .18s, background .18s;
}

.ori-tile2:hover,
.ori-tile2:focus-visible {
  border-color: #c9d4f2;
  background: #fff;
  outline: none;
}

.ori-tile2 span {
  font-size: 12px;
  font-weight: 600;
  color: var(--c-slate-2);
  white-space: nowrap;
}

.ori-tlogo {
  flex: none;
  width: 25px;
  height: 25px;
  display: block;
  filter: grayscale(1);
  opacity: 0.68;
  transition: filter 180ms, opacity 180ms, color 180ms;
}

.ori-tlogo-mono {
  fill: currentColor;
  color: var(--c-muted-2);
}

.ori-tile2:hover .ori-tlogo,
.ori-tile2:focus-visible .ori-tlogo {
  filter: none;
  opacity: 1;
}

.ori-tile2:hover .ori-tlogo-mono,
.ori-tile2:focus-visible .ori-tlogo-mono {
  color: var(--c-slate-2);
}

/* Legibility boosts for icons that read too faint at 18px under the default grayscale/opacity treatment */
.ori-tlogo-op-boost {
  opacity: 0.92;
}

.ori-tlogo-dark {
  filter: grayscale(1) brightness(0.55);
  opacity: 0.92;
}

img.ori-tlogo-dark {
  filter: grayscale(1) brightness(0.4) contrast(1.3);
}

.ori-tile2 .ori-tiptext {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 11.5px;
  font-weight: 600;
  color: #fff;
  background: var(--c-ink);
  padding: 5px 9px;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms;
  z-index: 5;
}

.ori-tile2:hover .ori-tiptext,
.ori-tile2:focus-visible .ori-tiptext {
  opacity: 1;
}

@media (max-width:1024px) {
  .ori-techmast {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ori-techmast>p {
    padding-top: 0;
  }

  .ori-mrow {
    grid-template-columns: 32% minmax(0, 68%);
    gap: 20px;
    padding: 26px 22px;
  }
}

@media (max-width:760px) {
  .ori-mrow {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
    padding: 24px 20px;
  }

  .ori-mtiles {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .ori-tile2 {
    width: 100%;
  }
}

@media (max-width:440px) {
  .ori-mtiles {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   TESTIMONIALS — dark quote cards (uses .ori-3 grid)
   ========================================================================== */
/* Card surface reused from .ori-tint-m0-pad26n24 (add both classes in markup); text styles only below */
.ori-quotecard p {
  font-size: 16px;
  line-height: 1.65;
  color: #dfe4ff;
  margin: 0 0 20px;
}

.ori-quotecard footer {
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
}

.ori-quotecard footer span {
  display: block;
  font-weight: 400;
  color: #8b94b8;
  font-size: 13.5px;
  margin-top: 3px;
}

/* ==========================================================================
   CTA BAND
   ========================================================================== */
.ori-ctaband {
  border-radius: 22px;
  background: radial-gradient(circle at 10% 20%, rgba(249, 115, 22, 0.2), transparent 42%), linear-gradient(135deg, #111737, #2a336f);
  color: #fff;
  padding: 48px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  background-color: #161d44;
  background-image: radial-gradient(circle at 10% 20%, rgba(249, 115, 22, .2), transparent 42%), linear-gradient(135deg, #111737, #2a336f);
}

.ori-ctaband-copy {
  max-width: 60ch;
}

.ori-ctaband-copy h2 {
  font-weight: 700;
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.12;
  letter-spacing: -0.024em;
  margin: 0 0 12px;
  color: #fff;
}

.ori-ctaband-copy h2 span {
  color: #c4b5fd;
}

.ori-ctaband-copy p {
  font-size: 15px;
  line-height: 1.6;
  color: #c7cdf0;
  margin: 0;
}

/* CTA button reused from .ori-btn.ori-btn--gradient; only band-scoped sizing/hover below */
.ori-ctaband .ori-btn {
  flex: none;
}

.ori-anim .ori-ctaband .ori-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

@media (max-width:640px) {
  .ori-ctaband {
    padding: 32px 24px;
  }

  .ori-ctaband .ori-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-ctaband .ori-btn:hover {
    transform: none;
  }
}

.paddingTop-hero {
  padding-top: 130px !important
}

@media (max-width: 767px) {
  .paddingTop-hero {
    padding-top: 50px !important
  }
}


/* ==========================================================================
   AI DEVELOPMENT SERVICES — DETAIL PAGE
   New, additive components used by ai-details/ai-development-services.html.
   (Only new .ori-* classes below — existing selectors are untouched.)
   ========================================================================== */

/* ---- Hero: dark image slot, feature chips, dark ghost button ------------- */
.ori-heroslot {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px;
}

.ori-heroslot-ic {
  width: 52px;
  height: 52px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8ea2ff;
  margin-bottom: 16px;
}

.ori-heroslot h3 {
  font-size: 15px;
  font-weight: 600;
  color: #cdd4ea;
  margin: 0 0 8px;
}

.ori-heroslot p {
  font-size: 12.5px;
  color: #8b93b0;
  margin: 0;
  max-width: 34ch;
  line-height: 1.5;
}

.ori-herochips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 26px;
}

.ori-herochip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 500;
  color: #c4cbe4;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-pill);
  padding: 7px 13px;
}

.ori-herochip svg {
  flex: none;
  color: #8fffb0;
}

.ori-btn--ghostdark {
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  color: #fff !important;
  transition: border-color .19s, background .19s;
}

.ori-btn--ghostdark:hover {
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.06);
}

.ori-herocta .ori-btn--solid {
  box-shadow: 0 16px 34px -16px rgba(249, 115, 22, 0.8);
}

/* ---- Sticky capability sub-nav (always visible; scroll-spy for active tab) --
   position:sticky alone isn't enough on the live Elementor build: the widget
   sits in its own short section, so the browser has no room to hold it in
   place before its tiny parent scrolls away. JS (initCapNav) toggles
   .is-pinned to switch it to position:fixed once it reaches the header, which
   isn't limited by the parent section's height. */
.ori-subnav {
  position: sticky;
  top: 76px;
  z-index: 40;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--c-hairline);
  box-shadow: 0 4px 16px -14px rgba(20, 25, 40, 0.5);
}

@media (max-width:1024px) {
  .ori-subnav {
    top: 92px;
  }
}

.ori-subnav.is-pinned {
  position: fixed;
  top: 76px;
  left: 0;
  right: 0;
}

@media (max-width:1024px) {
  .ori-subnav.is-pinned {
    top: 92px;
  }
}

.ori-subnav-inner {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 10px 0;
}

.ori-subnav-inner::-webkit-scrollbar {
  display: none;
}

.ori-subnav a {
  flex: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-slate);
  text-decoration: none;
  padding: 8px 14px;
  border-radius: var(--r-pill);
  white-space: nowrap;
  transition: background .18s, color .18s;
}

.ori-subnav a:hover {
  background: var(--c-chip-bg);
  color: var(--c-ink);
}

.ori-subnav a.is-active {
  background: var(--c-indigo-tint);
  color: var(--c-indigo);
}

/* ---- "Where AI creates value" — intro (heading left, lead right) --------- */
.ori-valintro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
  gap: 52px;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 30px;
}

@media (max-width:760px) {
  .ori-valintro {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ---- "Where AI creates value" — icon value cards ------------------------- */
.ori-valgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-card);
  overflow: hidden;
  background: #fff;
}

.ori-valgrid .ori-valcard {
  border-right: 1px solid #eef1f8;
}

.ori-valgrid .ori-valcard:last-child {
  border-right: 0;
}

@media (max-width:760px) {
  .ori-valgrid {
    grid-template-columns: 1fr;
  }

  .ori-valgrid .ori-valcard {
    border-right: 0;
    border-bottom: 1px solid #eef1f8;
  }

  .ori-valgrid .ori-valcard:last-child {
    border-bottom: 0;
  }
}

.ori-valcard {
  padding: 26px 24px;
  height: 100%;
  box-sizing: border-box;
}

.ori-valcard-ic {
  width: 44px;
  height: 44px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.ori-valcard-ic--indigo {
  background: var(--c-indigo-tint);
  color: var(--c-indigo);
}

.ori-valcard-ic--orange {
  background: var(--c-orange-tint);
  color: var(--c-orange);
}

.ori-valcard h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}

.ori-valcard p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-muted-3);
  margin: 0;
}

/* ---- Numbered service-detail block: 2-col copy + visual ------------------ */
.ori-svcblock {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}

.ori-svcblock--flip .ori-svcblock-copy {
  order: 2;
}

.ori-svcblock--flip .ori-svcblock-visual {
  order: 1;
}

.ori-svc-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

.ori-svc-kicker span:last-child {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--c-muted);
}

.ori-svc-knum {
  font-size: clamp(34px, 3.6vw, 44px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}

.ori-svcblock--indigo .ori-svc-knum {
  color: var(--c-indigo);
}

.ori-svcblock--orange .ori-svc-knum {
  color: var(--c-orange);
}

.ori-svcblock--indigo .ori-svc-kicker span:last-child {
  color: var(--c-indigo);
}

.ori-svcblock--orange .ori-svc-kicker span:last-child {
  color: var(--c-orange);
}

.ori-svc-bar {
  width: 34px;
  height: 2px;
  border-radius: 1px;
  flex: none;
}

.ori-svcblock--indigo .ori-svc-bar {
  background: var(--c-indigo);
}

.ori-svcblock--orange .ori-svc-bar {
  background: var(--c-orange);
}

.ori-svc-h {
  font-weight: 700;
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 14px;
  color: var(--c-ink);
}

.ori-svc-val {
  font-size: 16px;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0 0 26px;
  max-width: 52ch;
}

.ori-svc-sublabel {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--c-muted-2);
  margin: 0 0 12px;
}

.ori-svc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 26px;
}

.ori-svc-chips .ori-chip {
  border-radius: var(--r-pill);
}

.ori-checklist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px 24px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}

.ori-checklist li {
  position: relative;
  padding-left: 26px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-slate);
}

.ori-checklist li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 3px;
  width: 6px;
  height: 11px;
  border: solid var(--c-indigo);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.ori-svcblock--orange .ori-checklist li::before {
  border-color: var(--c-orange);
}

.ori-svc-note {
  border-top: 1px solid var(--c-hairline);
  padding-top: 18px;
  margin: 22px 0 20px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate-2);
}

.ori-svc-note b {
  color: var(--c-ink);
  font-weight: 700;
}

/* Visual column: image slot + flow card + delivered-project card */
.ori-svcblock-visual {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ori-svc-imgslot {
  height: auto;
  border-radius: 14px;
  background: linear-gradient(135deg, #eef1ff, #f6f3ff);
  border: 1px solid var(--c-hairline);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  padding-bottom: 34%;
}

.ori-svc-imgslot {
  background-size: contain !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-color: #fff !important;
}

.ori-svcblock--orange .ori-svc-imgslot {
  background: linear-gradient(135deg, #fff2e8, #fdf3ee);
}

.ori-svc-imgslot span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #9aa4c4;
}

.ori-svc-imgslot small {
  font-size: 11.5px;
  color: #aab2c6;
  margin-top: 6px;
  max-width: 32ch;
  line-height: 1.5;
}

.ori-svcflow {
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: 16px;
  padding: 24px;
}

.ori-svcflow-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: #8a92a6;
  margin: 0 0 14px;
}

.ori-svcflow ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ori-svcflow li {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 13px;
  border-radius: 9px;
  margin-bottom: 5px;
  font-size: 13.5px;
  line-height: 1.4;
  font-weight: 600;
  color: #2a3142;
  background: var(--c-panel-2);
  border: 1px solid #eef1f8;
}

.ori-svcflow li:last-child {
  margin-bottom: 0;
  background: var(--c-indigo-tint);
  border-color: rgba(59, 91, 219, 0.26);
}

.ori-svcflow li::before {
  content: "";
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c9d1e6;
}

.ori-svcflow li:last-child::before {
  background: var(--c-indigo);
}

.ori-svcblock--orange .ori-svcflow li:last-child {
  background: var(--c-orange-tint);
  border-color: rgba(249, 115, 22, 0.3);
}

.ori-svcblock--orange .ori-svcflow li:last-child::before {
  background: var(--c-orange);
}

.ori-svc-proj {
  border: 1px solid rgba(59, 91, 219, 0.26);
  border-radius: 10px;
  padding: 16px;
  background: #fff;
}

.ori-svcblock--orange .ori-svc-proj {
  border-color: rgba(249, 115, 22, 0.3);
}

.ori-svc-proj-label {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-indigo);
  margin: 0 0 8px;
}

.ori-svcblock--orange .ori-svc-proj-label {
  color: var(--c-orange);
}

.ori-svc-proj h4 {
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0 0 6px;
}

.ori-svc-proj p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--c-muted-3);
  margin: 0 0 10px;
}

.ori-svc-proj .ori-casetech {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  font-size: 12px;
  font-weight: 600;
  color: #7a8291;
}

.ori-svc-proj .ori-casetech span {
  background: none;
  padding: 0;
  border-radius: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.ori-svc-proj .ori-casetech span+span::before {
  content: " · ";
}

/* ---- Process timeline: 6-step variant of .ori-proc / .ori-procline ------- */
.ori-proc--6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.ori-proc--6 .ori-stage-circle {
  width: 58px;
  height: 58px;
  font-size: 22px;
}

.ori-procline--6 {
  top: 28px;
  left: 29px;
  right: calc((100% - 90px) / 6 - 29px);
  background: linear-gradient(90deg, var(--c-indigo), #dbe0ee 25%, #dbe0ee 75%, var(--c-orange));
  opacity: 1;
}

/* ---- Case studies: 3-col grid + light metric tiles ----------------------- */
.ori-cases3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 26px;
}

.ori-mtiles-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 2px 0 14px;
}

.ori-mtile-light {
  flex: 1;
  min-width: 88px;
  background: var(--c-panel-2);
  border: 1px solid var(--c-hairline);
  border-radius: 10px;
  padding: 10px 12px;
}

.ori-mtile-light .ori-mtile-v {
  font-size: 16.5px;
  font-weight: 800;
  color: var(--c-indigo);
  line-height: 1.1;
}

.ori-mtile-light .ori-mtile-l {
  font-size: 11.5px;
  color: var(--c-muted);
  margin-top: 3px;
  line-height: 1.3;
}

/* ---- Case studies v2: matches the reference detail-page card design ----- */
.ori-case2 {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #f8f9fc;
  border: 1px solid var(--c-hairline);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 180ms, transform 180ms, box-shadow 180ms;
}

.ori-anim .ori-case2:hover {
  transform: translateY(-3px);
  border-color: #c3ccea;
  box-shadow: 0 16px 32px -22px rgba(20, 26, 40, 0.35);
}

.ori-case2-img {
  height: 190px;
  flex: none;
  background: #eef1f8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #aab2c6;
}

.ori-case2-img svg {
  width: 30px;
  height: 30px;
  opacity: .6;
}

.ori-case2-img {
  background-size: cover !important;
  background-position: center top !important;
}

.ori-case2-img span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9aa4c4;
}

.ori-case2-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px 24px 24px;
}

.ori-case2-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.ori-case2-tag {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--c-orange);
}

.ori-case2-num {
  font-size: 12px;
  font-weight: 700;
  color: #c2c8d6;
  flex: none;
}

.ori-case2-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0 0 6px;
  line-height: 1.3;
}

.ori-case2-client {
  font-size: 13px;
  color: var(--c-muted);
  margin: 0 0 14px;
}

.ori-case2-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0 0 20px;
}

.ori-case2-metrics {
  display: flex;
  gap: 32px;
  flex-wrap: nowrap;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--c-hairline);
  margin-bottom: 18px;
}

.ori-case2-mval {
  font-size: 19px;
  font-weight: 800;
  color: var(--c-indigo);
  line-height: 1.1;
}

.ori-case2-mlabel {
  font-size: 12px;
  color: var(--c-muted);
  margin-top: 3px;
}

.ori-case2-tech {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ori-case2-tech span {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--c-indigo-dark);
  background: #eef1ff;
  padding: 5px 12px;
  border-radius: var(--r-pill);
}

@media (max-width:640px) {
  .ori-case2-metrics {
    gap: 24px;
  }
}

/* ---- Tech stack: chip with brand logo + name; descriptor shown as a hover tooltip (reuses .ori-tiptext pattern) ------ */
.ori-techchip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 13px;
  background: #fafbfd;
  border: 1px solid #eef1f7;
  border-radius: 9px;
  cursor: default;
  transition: border-color .18s, background .18s;
}

.ori-techchip:hover,
.ori-techchip:focus-visible {
  border-color: #c9d4f2;
  background: #fff;
  outline: none;
}

.ori-techchip .ori-tlogo {
  width: 20px;
  height: 20px;
  flex: none;
}

.ori-techchip:hover .ori-tlogo,
.ori-techchip:focus-visible .ori-tlogo {
  filter: none;
  opacity: 1;
}

.ori-techchip:hover .ori-tlogo-mono,
.ori-techchip:focus-visible .ori-tlogo-mono {
  color: var(--c-slate-2);
}

.ori-techchip-ic {
  width: 20px;
  height: 20px;
  flex: none;
  color: var(--c-muted-2);
}

.ori-techchip b {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-slate-2);
  white-space: nowrap;
}

.ori-techchip .ori-tiptext {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 11.5px;
  font-weight: 600;
  color: #fff;
  background: var(--c-ink);
  padding: 5px 9px;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms;
  z-index: 5;
}

.ori-techchip:hover .ori-tiptext,
.ori-techchip:focus-visible .ori-tiptext {
  opacity: 1;
}

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width:1024px) {
  .ori-proc--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ori-cases3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:960px) {
  .ori-svcblock {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .ori-svcblock--flip .ori-svcblock-copy,
  .ori-svcblock--flip .ori-svcblock-visual {
    order: 0;
  }
}

@media (max-width:640px) {
  .ori-proc--6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-cases3 {
    grid-template-columns: 1fr;
  }

  .ori-checklist {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   WEB DEVELOPMENT PAGE
   New, additive components used by
   web-development/web-development-services.html.
   (Only new .ori-* classes below — existing selectors are untouched.)
   ========================================================================== */

/* ---- Backgrounds + generic 3-up grid ------------------------------------- */
.ori-bg-panel2 {
  background: var(--c-panel-2);
}

.ori-bg-navy-deep {
  background: #101836;
  color: #fff;
}

.ori-g3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

@media (max-width:1024px) {
  .ori-g3 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:640px) {
  .ori-g3 {
    grid-template-columns: 1fr;
  }
}

/* ---- Metrics band on a light panel (the dark .ori-stats has cell dividers
        and light-on-dark text, so this is a separate flat variant) --------- */
.ori-statsflat {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.ori-statsflat-v {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--c-ink);
}

.ori-statsflat-l {
  font-size: 15px;
  font-weight: 600;
  color: var(--c-slate);
  margin-top: 10px;
}

@media (max-width:720px) {
  .ori-statsflat {
    grid-template-columns: 1fr 1fr;
    gap: 26px;
  }
}

@media (max-width:400px) {
  .ori-statsflat {
    grid-template-columns: 1fr 1fr;
  }
}

/* ---- Capability grid, 3-up (standalone: the 2-up .ori-capgrid carries its
        own nth-child border rules that would fight this one) --------------- */
.ori-capgrid3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--c-hairline);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
}

.ori-cap3 {
  display: flex;
  flex-direction: column;
  padding: 34px 30px;
  color: inherit;
  border-right: 1px solid #e8ecf6;
  border-bottom: 1px solid #e8ecf6;
  transition: background 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-cap3:hover {
  background: #f8f9fd;
  color: inherit;
}

.ori-cap3:nth-child(3n) {
  border-right: 0;
}

.ori-cap3:nth-child(n+7) {
  border-bottom: 0;
}

.ori-cap3 h3 {
  font-weight: 700;
  font-size: 19px;
  line-height: 1.25;
  letter-spacing: -0.014em;
  margin: 0 0 10px;
  color: var(--c-ink);
}

.ori-cap3 p {
  font-size: 15px;
  line-height: 1.6;
  color: #5a6272;
  margin: 0;
}

.ori-cap3-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.ori-cap3-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  flex: none;
}

@media (max-width:1024px) {
  .ori-capgrid3 {
    grid-template-columns: 1fr 1fr;
  }

  .ori-cap3 {
    padding: 30px 26px;
  }

  .ori-cap3:nth-child(3n) {
    border-right: 1px solid #e8ecf6;
  }

  .ori-cap3:nth-child(2n) {
    border-right: 0;
  }

  .ori-cap3:nth-child(n+7) {
    border-bottom: 1px solid #e8ecf6;
  }

  .ori-cap3:nth-child(n+9) {
    border-bottom: 0;
  }
}

@media (max-width:720px) {
  .ori-capgrid3 {
    grid-template-columns: 1fr;
  }

  .ori-cap3 {
    padding: 26px 24px;
  }

  .ori-cap3:nth-child(2n),
  .ori-cap3:nth-child(3n) {
    border-right: 0;
  }

  .ori-cap3:nth-child(n+7),
  .ori-cap3:nth-child(n+9) {
    border-bottom: 1px solid #e8ecf6;
  }

  .ori-cap3:last-child {
    border-bottom: 0;
  }
}

/* ---- Selected work: featured card + stacked secondary cards -------------- */
.ori-wgrid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 24px;
  align-items: stretch;
}

.ori-wside {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ori-wside>* {
  flex: 1;
  min-width: 0;
}

.ori-wcard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e6e9f2;
  border-radius: var(--r-card);
  overflow: hidden;
  color: var(--c-ink);
  box-shadow: 0 1px 2px rgba(20, 25, 45, 0.04);
  transition: border-color .18s ease, box-shadow .18s ease;
}

.ori-wcard:hover {
  border-color: #c2cdf1;
  box-shadow: 0 20px 44px -28px rgba(27, 31, 58, 0.42);
  color: var(--c-ink);
}

.ori-wcard:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-wmedia {
  position: relative;
  overflow: hidden;
  background: #eef1ff;
  background-size: cover !important;
  background-position: center top !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ori-wmedia span {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9aa4c4;
  text-align: center;
  padding: 0 16px;
  transition: transform .18s ease;
}

.ori-anim .ori-wcard:hover .ori-wmedia span {
  transform: scale(1.035);
}

.ori-wfeat .ori-wmedia {
  aspect-ratio: 16 / 9;
  max-height: 288px;
}

.ori-wbody {
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 16px;
}

.ori-wbody h3 {
  font-weight: 700;
  font-size: 25px;
  letter-spacing: -0.02em;
  line-height: 1.18;
  margin: 0 0 10px;
  color: var(--c-ink);
}

.ori-wbody>div>p {
  font-size: 15px;
  line-height: 1.6;
  color: #5a6272;
  margin: 0;
  max-width: 52ch;
}

.ori-wsub {
  display: grid;
  grid-template-columns: 45% minmax(0, 1fr);
  flex: 1;
}

.ori-wsub .ori-wmedia {
  background-size: cover !important;
  background-repeat: no-repeat;
}

.ori-wsubbody {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.ori-wsubbody h3 {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 0;
  color: var(--c-ink);
}

.ori-wsubbody p {
  font-size: 13.5px;
  line-height: 1.55;
  color: #5a6272;
  margin: 0;
}

.ori-wtag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #656d7e;
}

.ori-woutcome {
  padding-left: 14px;
  border-left: 2px solid var(--c-orange);
}

.ori-wk {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a4470b;
  margin-bottom: 5px;
}

.ori-woutcome p {
  font-size: 17.5px;
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0;
  max-width: 42ch;
}

.ori-wchips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.ori-wchip {
  font-size: 11px;
  font-weight: 500;
  background: #f4f6fb;
  color: var(--c-slate-3);
  padding: 3px 9px;
  border-radius: 6px;
}

.ori-wlink {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-ink);
  margin-top: auto;
  align-self: flex-start;
  border-bottom: 1.5px solid var(--c-orange);
  padding-bottom: 3px;
}

.ori-wlink--plain {
  font-size: 13.5px;
  color: var(--c-indigo);
  border-bottom: 0;
  padding-bottom: 0;
}

.ori-anim .ori-wcard:hover .ori-wlink svg {
  transform: translateX(3px);
}

@media (max-width:1024px) {
  .ori-wgrid {
    grid-template-columns: 1fr;
  }

  .ori-wside {
    flex-direction: row;
  }

  .ori-wfeat .ori-wmedia {
    max-height: 340px;
  }
}

@media (max-width:700px) {
  .ori-wside {
    flex-direction: column;
  }

  .ori-wsub {
    grid-template-columns: 1fr;
  }

  .ori-wsub .ori-wmedia {
    aspect-ratio: 16 / 9;
  }

  .ori-wbody {
    padding: 22px 20px;
  }

  .ori-wbody h3 {
    font-size: 21px;
  }

  .ori-woutcome p {
    font-size: 16px;
  }
}

/* ---- Tech stack: 4-column split panel + badge chips + CTA bar ------------ */
.ori-stackpanel {
  background: var(--c-chip-bg);
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-tile);
  padding: 30px;
}

.ori-stackgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.ori-stackcol {
  padding: 0 26px;
  border-right: 1px solid var(--c-hairline);
  min-width: 0;
}

.ori-stackcol:first-child {
  padding-left: 0;
}

.ori-stackcol:last-child {
  padding-right: 0;
  border-right: 0;
}

.ori-stackhead {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.ori-stackhead h3 {
  font-weight: 700;
  font-size: 16px;
  margin: 0;
  letter-spacing: -0.012em;
  color: var(--c-ink);
}

.ori-stackcol>p {
  font-size: 14px;
  line-height: 1.5;
  color: #5a6272;
  margin: 0 0 16px;
}

.ori-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ori-badge {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 13px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--c-slate-2);
  background: #fff;
  border: 1px solid var(--c-hairline-3);
  border-radius: 8px;
}

.ori-anim .ori-badge {
  transition: border-color 180ms cubic-bezier(0.22, 1, 0.36, 1), color 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-badge:hover {
  border-color: #c3ccea;
  color: var(--c-ink);
}

.ori-utility--card {
  margin-top: 28px;
  padding-top: 0;
  border-top: 0;
  background: var(--c-panel);
  border: 1px solid #eceae2;
  border-radius: var(--r-tile);
  padding: 26px 30px;
}

.ori-utility--card>div {
  min-width: 0;
}

.ori-utilitytitle {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.012em;
  margin-bottom: 5px;
  color: var(--c-ink);
}

.ori-utility--card p {
  font-size: 15px;
  line-height: 1.55;
  color: #5a6272;
  margin: 0;
}

@media (max-width:1024px) {
  .ori-stackgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-stackcol {
    padding-left: 26px;
    padding-right: 26px;
    border-right: 1px solid var(--c-hairline);
  }

  .ori-stackcol:nth-child(2n+1) {
    padding-left: 0;
  }

  .ori-stackcol:nth-child(2n) {
    padding-right: 0;
    border-right: 0;
  }

  .ori-stackcol:nth-child(-n+2) {
    padding-bottom: 28px;
    border-bottom: 1px solid var(--c-hairline);
  }

  .ori-stackcol:nth-child(n+3) {
    padding-top: 28px;
  }
}

@media (max-width:720px) {
  .ori-stackpanel {
    padding: 22px;
  }

  .ori-stackgrid {
    grid-template-columns: 1fr;
  }

  .ori-stackcol {
    border-right: 0;
    padding: 22px 0;
    border-bottom: 1px solid var(--c-hairline);
  }

  .ori-stackcol:first-child {
    padding-top: 0;
  }

  .ori-stackcol:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .ori-utility--card {
    padding: 24px;
  }

  .ori-utility--card>a {
    width: 100%;
  }
}

/* ---- Engagement models: 3-up fact cards --------------------------------- */
.ori-models3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.ori-model--mark {
  position: relative;
  overflow: hidden;
  padding: 26px 24px 24px;
}

.ori-modelmark {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  opacity: 0.35;
  transition: opacity 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-model--mark:hover .ori-modelmark,
.ori-model--mark:focus-within .ori-modelmark {
  opacity: 1;
}

.ori-modelown {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.ori-modeldot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: none;
}

.ori-model--mark h3 {
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.016em;
  line-height: 1.25;
  margin: 0 0 8px;
  color: var(--c-ink);
}

.ori-model--mark>p {
  font-size: 14.5px;
  line-height: 1.6;
  color: #5a6272;
  margin: 0 0 18px;
}

.ori-modelfacts {
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.ori-modelrow {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 14px;
  padding: 11px 0;
  border-top: 1px solid #eceff5;
}

.ori-modelrow dt {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5a6272;
  margin: 0;
}

.ori-modelrow dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-slate-2);
  font-weight: 600;
}

.ori-modelcta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 14.5px;
  font-weight: 700;
}

.ori-modelcta:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
  border-radius: 6px;
}

.ori-assurerow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 30px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--c-hairline);
}

.ori-assureitem {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.ori-assureitem>span {
  flex: none;
  display: flex;
  color: #8a92a6;
}

.ori-assuretitle {
  font-size: 14px;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 3px;
}

.ori-assuredesc {
  font-size: 13.5px;
  line-height: 1.5;
  color: #5a6272;
}

@media (max-width:1024px) {
  .ori-models3 {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 72%);
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
    scrollbar-width: thin;
  }

  .ori-models3>* {
    scroll-snap-align: start;
  }

  .ori-assurerow {
    grid-template-columns: 1fr 1fr;
  }

  .ori-modelrow {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 0;
  }
}

@media (max-width:640px) {
  .ori-models3 {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    overflow-x: visible;
  }

  .ori-assurerow {
    grid-template-columns: 1fr;
  }
}

/* ---- Security: inline proof bar ----------------------------------------- */
.ori-seccard {
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-tile);
  padding: 24px 22px;
}

.ori-sechead {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 14px;
}

.ori-sechead>span {
  flex: none;
  display: flex;
  color: var(--c-indigo);
}

.ori-sechead h3 {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.014em;
  margin: 0;
  color: var(--c-ink);
}

.ori-seclist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.ori-seclist li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
}

.ori-seclist li svg {
  flex: none;
  margin-top: 4px;
}

.ori-proofrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 28px;
  margin-top: 20px;
  padding: 16px 22px;
  background: #eef1fb;
  border: 1px solid #dde3f5;
  border-radius: 12px;
}

.ori-proofitem {
  position: relative;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #2b3a63;
  padding-right: 28px;
}

.ori-proofitem::after {
  content: '';
  position: absolute;
  right: 11px;
  top: 50%;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-radius: 50%;
  background: #aab6dc;
}

.ori-proofitem:last-child {
  padding-right: 0;
}

.ori-proofitem:last-child::after {
  display: none;
}

@media (max-width:560px) {
  .ori-proofitem {
    padding-right: 0;
  }

  .ori-proofitem::after {
    display: none;
  }
}

/* ---- Industries (dark): 3-up rule-topped items -------------------------- */
.ori-indgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 34px;
}

.ori-inditem {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding: 22px 0 0;
}

.ori-indhead {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.ori-indhead>span:first-child {
  flex: none;
  display: flex;
  color: #8fa2f0;
}

.ori-indname {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.012em;
  color: #fff;
}

.ori-inditem p {
  font-size: 14.5px;
  line-height: 1.6;
  color: #aab5d4;
  margin: 0;
}

@media (max-width:1024px) {
  .ori-indgrid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:720px) {
  .ori-indgrid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ---- Governance: 4-step journey rail ------------------------------------ */
.ori-journey {
  position: relative;
}

.ori-jline {
  position: absolute;
  top: 22px;
  left: 23px;
  right: calc((100% - 84px) / 4 - 26px);
  height: 2px;
  background: #e2e6ef;
  border-radius: 1px;
  overflow: hidden;
}

.ori-jfill {
  display: block;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, var(--c-indigo), var(--c-indigo) 62%, var(--c-orange));
  transform: scaleX(0);
  transform-origin: left center;
}

.ori-anim [data-animate].ori-in .ori-jfill {
  transform: scaleX(1);
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-jsteps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.ori-jstep {
  padding-right: 14px;
}

.ori-jmarker {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #dbe1ef;
  margin-bottom: 16px;
}

.ori-jnum {
  position: absolute;
  top: -7px;
  right: -7px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: var(--r-pill);
  font-size: 10.5px;
  font-weight: 800;
  color: #fff;
}

.ori-jphase {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  margin-bottom: 7px;
}

.ori-jtitle {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.014em;
  line-height: 1.3;
  margin: 0 0 7px;
  color: var(--c-ink);
}

.ori-jdesc {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
  margin: 0;
  max-width: 30ch;
}

@media (max-width:1024px) {
  .ori-jsteps {
    grid-template-columns: 1fr 1fr;
    gap: 32px 30px;
  }

  .ori-jline {
    display: none;
  }
}

@media (max-width:640px) {
  .ori-jsteps {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ori-jstep {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 16px;
    padding: 0 0 26px;
    position: relative;
  }

  .ori-jstep::before {
    content: '';
    position: absolute;
    left: 22px;
    top: 46px;
    bottom: 0;
    width: 2px;
    background: #e2e6ef;
  }

  .ori-jstep:last-child {
    padding-bottom: 0;
  }

  .ori-jstep:last-child::before {
    display: none;
  }

  .ori-jmarker {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .ori-jdesc {
    max-width: none;
  }
}

/* ---- North American delivery (dark): 3-node flow + benefits panel ------- */
.ori-na {
  display: grid;
  grid-template-columns: 40fr 60fr;
  gap: 48px;
  align-items: center;
}

.ori-flowrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(96px, 0.62fr) minmax(0, 1.08fr) minmax(96px, 0.62fr) minmax(0, 1fr);
  gap: 0;
  align-items: center;
}

.ori-fnode {
  padding: 22px 18px;
  border-radius: var(--r-tile);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  min-width: 0;
}

.ori-fnode--lead {
  background: rgba(125, 146, 255, 0.1);
  border-color: rgba(125, 146, 255, 0.38);
  box-shadow: 0 0 44px -12px rgba(90, 120, 255, 0.6);
}

.ori-fnodeicon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  margin-bottom: 16px;
  background: rgba(125, 146, 255, 0.12);
  color: #7d92ff;
}

.ori-fnode--lead .ori-fnodeicon {
  background: rgba(125, 146, 255, 0.22);
  color: #c4d0ff;
}

.ori-fnodeplace {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7d92ff;
  margin-bottom: 6px;
}

.ori-fnode--lead .ori-fnodeplace {
  color: #a9b6ff;
}

.ori-fnoderole {
  font-size: 15.5px;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 6px;
}

.ori-fnodemeta {
  font-size: 13px;
  line-height: 1.45;
  color: #a8b1cf;
}

.ori-fnode--lead .ori-fnodemeta {
  color: #b6bfdc;
}

.ori-fconn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 0 4px;
  min-width: 0;
}

.ori-fconnlabel {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(168, 177, 207, 0.85);
  text-align: center;
  line-height: 1.45;
}

.ori-fline {
  width: 100%;
  height: 12px;
  overflow: visible;
  stroke-dasharray: 120;
  stroke-dashoffset: 120;
  animation: oriFlowDraw 850ms cubic-bezier(0.22, 1, 0.36, 1) 150ms forwards;
}

@keyframes oriFlowDraw {
  to {
    stroke-dashoffset: 0;
  }
}

.ori-nabenefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 52px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  overflow: hidden;
}

.ori-nabcol {
  padding: 32px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-nabcol:last-child {
  border-right: 0;
}

.ori-nabnum {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

.ori-nabtitle {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.014em;
  line-height: 1.3;
  color: #fff;
  margin-bottom: 8px;
}

.ori-nabdesc {
  font-size: 14.5px;
  line-height: 1.6;
  color: #aab5d4;
}

@media (max-width:1024px) {
  .ori-na {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ori-flowrow {
    grid-template-columns: 1fr;
  }

  .ori-fconn {
    padding: 14px 0;
    flex-direction: row;
    gap: 12px;
    justify-content: center;
  }

  .ori-fline {
    width: 60px;
    height: 12px;
    transform: rotate(90deg);
  }

  .ori-fconnlabel {
    text-align: left;
  }
}

@media (max-width:720px) {
  .ori-nabenefits {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }

  .ori-nabcol {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding: 26px;
  }

  .ori-nabcol:last-child {
    border-bottom: 0;
  }
}

/* ---- Testimonials on light + light client-logo row ---------------------- */
.ori-qcard {
  margin: 0;
  background: var(--c-panel-2);
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-card);
  padding: 28px;
  display: flex;
  flex-direction: column;
}

.ori-qbar {
  display: block;
  width: 26px;
  height: 3px;
  border-radius: 2px;
  margin-bottom: 18px;
}

.ori-qcard blockquote {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--c-slate-2);
}

.ori-qcard figcaption {
  margin-top: auto;
}

.ori-qname {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-qrole {
  font-size: 13.5px;
  color: var(--c-muted);
  margin-top: 2px;
}

.ori-logofoot {
  margin-top: 52px;
  padding-top: 36px;
  border-top: 1px solid var(--c-hairline);
}

.ori-logos--light .ori-logo {
  color: var(--c-muted-2);
}

.ori-image-grey .swiper-slide-image {
  filter: brightness(0.5);
}

.web-dev-testimonail .elementor-testimonial {
  position: relative;
}

.web-dev-testimonail .elementor-testimonial:before {
  content: "";
  display: block;
  width: 26px;
  height: 3px;
  border-radius: 2px;
  margin-bottom: 18px;
  position: absolute;
  top: -20px;
  left: 0;
  background: var(--c-indigo);
}

.web-dev-testimonail .swiper-slide:nth-child(even) .elementor-testimonial:before {
  background-color: var(--c-orange);
}

.web-dev-testimonail .elementor-testimonial .elementor-testimonial__text {
  border-left: 5px solid rgba(0, 0, 0, .05);
  padding-left: 21px;
}


/* ---- Why Orion (dark): numbered rule rows ------------------------------- */
.ori-assure2grid {
  display: grid;
  grid-template-columns: minmax(360px, 38%) minmax(0, 1fr);
  gap: 180px;
  align-items: center;
}

.ori-assure2rows {
  display: flex;
  flex-direction: column;
  margin-left: auto;
}

.ori-arow {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  column-gap: 11px;
  align-items: start;
  padding: 15px 0;
}

.ori-arule {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.11);
  transform: scaleX(0);
  transform-origin: left center;
}

.ori-anim [data-animate].ori-in .ori-arule {
  transform: scaleX(1);
  transition: transform 460ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-arow:first-child {
  padding-top: 4px;
}

.ori-arow:first-child .ori-arule {
  display: none;
}

.ori-anum {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-top: 3px;
  color: #7f8cc0;
}

.ori-atitle {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.015em;
  margin: 0 0 6px;
  color: #fff;
}

.ori-adesc {
  font-size: 14.5px;
  line-height: 1.5;
  color: #d5dcf3;
  margin: 0;
  max-width: 52ch;
}

@media (max-width:1024px) {
  .ori-assure2grid {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }

  .ori-assure2rows {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
  }

  .ori-arow:nth-child(2) .ori-arule {
    display: none;
  }

  .ori-arow:nth-child(2) {
    padding-top: 4px;
  }
}

@media (max-width:700px) {
  .ori-assure2rows {
    grid-template-columns: 1fr;
  }

  .ori-arow:nth-child(2) .ori-arule {
    display: block;
  }

  .ori-arow:nth-child(2) {
    padding-top: 15px;
  }

  .ori-adesc {
    max-width: none;
  }
}

/* ---- FAQ: numbered cards + proof grid in the aside --------------------- */
.ori-faqnum {
  flex: none;
  width: 24px;
  font-size: 14px;
  font-weight: 700;
  color: #7c8598;
  transition: color .2s;
}

.ori-faqcard.is-open .ori-faqnum {
  color: var(--c-indigo);
}

.ori-faqcard--num .ori-faqbody p {
  padding-left: 40px;
  margin-top: 12px;
}

.ori-faqproof {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 24px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #e6e8ef;
}

.ori-faqproof>div {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding-right: 12px;
  border-right: 1px solid #ececf2;
}

.ori-faqproof>div:nth-child(2n) {
  border-right: 0;
  padding-right: 0;
}

.ori-faqproof>div>span {
  flex: none;
  display: flex;
  color: var(--c-orange);
}

.ori-faqprooflabel {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-slate-2);
}

@media (max-width:560px) {
  .ori-faqproof {
    grid-template-columns: 1fr;
  }

  .ori-faqproof>div {
    border-right: 0;
    padding-right: 0;
  }

  .ori-faqcard--num .ori-faqbody p {
    padding-left: 0;
  }
}

/* ---- Reduced motion ----------------------------------------------------- */
@media (prefers-reduced-motion:reduce) {

  .ori-arule,
  .ori-jfill {
    transform: scaleX(1) !important;
    transition: none !important;
  }

  .ori-fline {
    stroke-dashoffset: 0 !important;
    animation: none !important;
  }

  .ori-wcard:hover,
  .ori-wcard:hover .ori-wmedia span {
    transform: none;
  }

  .ori-anim .ori-wcard:hover .ori-wlink svg {
    transform: none;
  }
}


/* ==========================================================================
   MOBILE APP DEVELOPMENT PAGE
   New, additive components used by
   mobile-development/mobile-app-development.html.
   (Only new .ori-* classes and page-scoped modifiers below — existing
   selectors are untouched.)
   ========================================================================== */

/* ---- Generic 2-up card grid (companion to .ori-g3) ---------------------- */
.ori-g2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

@media (max-width:760px) {
  .ori-g2 {
    grid-template-columns: 1fr;
  }
}

.ori-aiform-body.mobile-app-form .wpforms-container {
  margin: 0
}

.ori-wrap.ori-aihero .ori-aiform-body.mobile-app-form .wpforms-field-container {
  display: flex !important;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 15px;
}

/* ---- .ori-capgrid3 holding exactly 6 cards ------------------------------*/
@media (min-width:1025px) {
  .ori-capgrid3--6 .ori-cap3:nth-child(n+4) {
    border-bottom: 0;
  }
}

@media (min-width:721px) and (max-width:1024px) {
  .ori-capgrid3--6 .ori-cap3:nth-child(n+5) {
    border-bottom: 0;
  }
}

/* ---- Architecture cards: 2px accent top edge on .ori-model -------------- */
.ori-model--top {
  border-top-width: 2px;
  border-top-style: solid;
}

.ori-model--top-orange {
  border-top-color: var(--c-orange);
}

.ori-model--top-indigo {
  border-top-color: var(--c-indigo);
}

.ori-anim .ori-model--top-orange:hover {
  border-top-color: var(--c-orange);
}

.ori-anim .ori-model--top-indigo:hover {
  border-top-color: var(--c-indigo);
}

.ori-model--arch {
  padding: 28px 26px;
}

.ori-model--arch ul {
  margin-bottom: 0;
}

.ori-model--arch h3 {
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--c-ink);
}

@media (max-width:1024px) {
  .ori-model--arch {
    padding: 26px 24px;
  }
}

@media (max-width:760px) {
  .ori-model--arch {
    padding: 24px 22px;
  }
}

@media (max-width:760px) {
  .ori-model--mark {
    padding: 24px 22px 22px;
  }
}

/* ---- Compare tables: column ratios -------------------------------------- */
.ori-cmprow--even {
  grid-template-columns: 1fr 1fr 1fr;
}

.ori-cmprow--wide {
  grid-template-columns: 0.7fr 1fr 1fr;
}

.ori-comparetable--prose .ori-cmpcell {
  font-size: 14.5px;
  line-height: 1.55;
  padding: 16px 20px;
}

@media (max-width:760px) {

  /* The base rule turns cells into a flex label/value row, which is right for
     one-word values and wrong for 100-character prose. */
  .ori-comparetable--prose .ori-cmpcell {
    display: block;
    padding: 12px 18px !important;
  }

  .ori-comparetable--prose .ori-cmpcell::before {
    display: block;
    margin-bottom: 5px;
  }
}

/* ---- Compare drawer without a height cap -------------------------------- */
.ori-cmpdrawer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .28s cubic-bezier(0.22, 1, 0.36, 1), opacity .28s;
}

.ori-cmpdrawer.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.ori-cmpdrawer>div {
  overflow: hidden;
  min-height: 0;
}

/* ---- Portfolio: 4 equal .ori-wcard tiles in .ori-g2 --------------------- */
.ori-pcard {
  background: var(--c-panel);
}

.ori-pcard .ori-wmedia {
  flex: none;
  height: 340px;
  flex-direction: column;
  gap: 8px;
  background: #f1f3f0;
  border-bottom: 1px dashed #dbe1ee;
  color: #b7c0d6;
}

.ori-pcard .ori-wmedia svg {
  flex: none;
}

.ori-pcard .ori-wbody {
  gap: 14px;
  padding: 24px 26px 26px;
}

.ori-pcard .ori-wbody h3 {
  font-size: 20px;
  letter-spacing: -0.014em;
  margin: 0 0 8px;
}

.ori-pcard .ori-wchips {
  margin-top: auto;
}

.ori-pcard-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

@media (max-width:760px) {

  /*   .ori-pcard .ori-wmedia{height:170px;} */
  .ori-pcard .ori-wbody {
    padding: 20px 20px 22px;
  }

  .ori-pcard .ori-wbody h3 {
    font-size: 19px;
  }
}

/* ---- Pill tag: orange companion to .ori-tag-pill ------------------------ */
.ori-tag-pill--orange {
  color: #c2560d;
  background: var(--c-orange-tint);
}

@media (max-width:400px) {

  .ori-aiform--tight .ori-aiform-head,
  .ori-aiform--tight .ori-aiform-body {
    padding-left: 20px;
    padding-right: 20px;
  }
}



/* ==========================================================================
   SOFTWARE DEVELOPMENT PAGE
   ========================================================================== */

/* ---- Selected work: dark case grid, first card full-width + horizontal ---- */
.ori-workgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.ori-workcard {
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  overflow: hidden;
  transition: border-color 200ms cubic-bezier(0.22, 1, 0.36, 1), transform 200ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-workcard:hover {
  transform: translateY(-3px);
  border-color: rgba(169, 182, 255, 0.42);
  box-shadow: 0 20px 44px -28px rgba(0, 0, 0, 0.7);
}

.ori-workcard--feature {
  grid-column: 1 / -1;
  flex-direction: row;
}

.ori-workshot {
  box-sizing: border-box;
  aspect-ratio: 16 / 10;
  max-height: 340px;
  background: rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background-size: cover !important;
  background-position: center top !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}

.ori-workshot span {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7d8ab0;
  text-align: center;
  line-height: 1.5;
}

.ori-workcard--feature .ori-workshot {
  width: 48%;
  flex: none;
  aspect-ratio: auto;
  max-height: none;
  border-bottom: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.ori-workbody {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: 28px;
}

.ori-worktag {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a9b6ff;
  margin-bottom: 12px;
}

.ori-workbody h3 {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -0.014em;
  margin: 0 0 12px;
  color: #fff;
}

.ori-workbody p {
  font-size: 15px;
  line-height: 1.6;
  color: #aab2cc;
  margin: 0 0 10px;
}

.ori-workbody p:last-of-type {
  margin-bottom: 18px;
}

.ori-workbody p strong {
  color: #dfe4ff;
  font-weight: 600;
}

.ori-worktech {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ori-worktech span {
  font-size: 12px;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.08);
  color: #dfe4ff;
  padding: 6px 12px;
  border-radius: var(--r-pill);
}

@media (max-width:1024px) {
  .ori-workcard--feature {
    flex-direction: column;
  }

  .ori-workcard--feature .ori-workshot {
    width: 100%;
    aspect-ratio: 16 / 10;
    max-height: 340px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background-size: contain !important;
  }

  .ori-workbody {
    padding: 26px 24px;
  }
}

@media (max-width:720px) {
  .ori-workgrid {
    grid-template-columns: 1fr;
  }

  .ori-workbody {
    padding: 22px 20px;
  }

  .ori-workbody h3 {
    font-size: 19px;
  }
}

/* ---- CEO video: copy left, 16:9 frame right ----------------------------- */
.ori-videosec {
  border-bottom: 1px solid #e6eaf5;
}

.ori-videosplit {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  align-items: center;
}

.ori-videoframe {
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--c-hairline);
  background: var(--c-navy-3);
}

.ori-videoframe video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: var(--c-navy-3);
}

.ori-videoframe.ori-in iframe {
  height: 100%;
}

@media (max-width:1024px) {
  .ori-videosplit {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}



/* ---- Reduced motion ----------------------------------------------------- */
@media (prefers-reduced-motion:reduce) {
  .ori-workcard {
    transition: none;
  }

  .ori-anim .ori-workcard:hover {
    transform: none;
  }
}

/* ==========================================================================
   CUSTOM APP DEVELOPMENT PAGE
   ========================================================================== */

/* ---- Process: 5 centred steps on an animated flow line -------------------*/
.ori-custom-app-form .wpforms-container-full {
  margin: 0 !important;
}

.ori-custom-app-form .wpforms-field-number,
.ori-custom-app-form .wpforms-field-select {
  grid-column: 1 / -1;
}

.ori-proc5 {
  position: relative;
}

.ori-procflow {
  position: absolute;
  top: 26px;
  left: 9%;
  right: 9%;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--c-orange), var(--c-indigo), var(--c-orange));
  background-size: 200% 100%;
  animation: oriFlowDash 7s linear infinite;
}

@keyframes oriFlowDash {
  to {
    background-position: 200% 0;
  }
}

.ori-proc5-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.ori-proc5-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ori-proc5-step h3 {
  font-weight: 700;
  font-size: 15px;
  margin: 16px 0 7px;
  color: var(--c-ink);
}

.ori-proc5-step p {
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--c-muted-3);
  margin: 0;
}

.ori-pdot5 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--c-indigo);
  color: var(--c-indigo);
  font-weight: 800;
  font-size: 16px;
  position: relative;
  z-index: 2;
  flex: none;
  animation: oriStepPulse 4.5s ease-in-out infinite;
}

.ori-pdot5--2 {
  animation-delay: 0.8s;
}

.ori-pdot5--3 {
  animation-delay: 1.6s;
}

.ori-pdot5--4 {
  animation-delay: 2.4s;
}

.ori-pdot5--5 {
  animation-delay: 3.2s;
}

@keyframes oriStepPulse {

  0%,
  100% {
    border-color: var(--c-indigo);
    box-shadow: 0 0 0 0 rgba(249, 115, 22, 0);
  }

  45% {
    border-color: var(--c-orange);
    box-shadow: 0 0 0 6px rgba(249, 115, 22, 0.28);
  }

  50% {
    border-color: var(--c-orange);
    box-shadow: 0 0 0 9px rgba(249, 115, 22, 0);
  }
}

@media (max-width:1024px) {
  .ori-proc5-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 34px;
  }

  .ori-procflow {
    display: none;
  }
}

@media (max-width:560px) {
  .ori-proc5-grid {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }
}

/* ---- Services: 2-up tinted capability panels ---------------------------- */
.ori-cap2 {
  position: relative;
  border: 1px solid var(--c-hairline);
  border-radius: var(--r-card);
  padding: 28px 26px 26px;
  transition: border-color 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-cap2--indigo {
  background: #f4f7fe;
  border-color: #dfe6f7;
}

.ori-cap2--orange {
  background: #fbf8f4;
  border-color: #f0e5d8;
}

.ori-cap2:hover,
.ori-cap2:focus-within {
  border-color: #c3ccea;
}

.ori-cap2-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  margin-bottom: 16px;
}

.ori-cap2--indigo .ori-cap2-ic {
  background: #e6ecfd;
  color: var(--c-indigo);
}

.ori-cap2--orange .ori-cap2-ic {
  background: #fbeadb;
  color: #a4470b;
}

.ori-cap2 h3 {
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.016em;
  line-height: 1.3;
  margin: 0 0 9px;
  color: var(--c-ink);
}

.ori-cap2 p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0 0 18px;
  max-width: 44ch;
}

.ori-cap2-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ori-cap2-tag {
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 11px;
  font-size: 12.5px;
  font-weight: 600;
  border-radius: var(--r-pill);
}

.ori-cap2--indigo .ori-cap2-tag {
  background: #e6ecfd;
  color: var(--c-indigo-dark);
}

.ori-cap2--orange .ori-cap2-tag {
  background: #fbeadb;
  color: #a4470b;
}

.ori-assureline {
  margin: 26px 0 0;
  padding-top: 22px;
  border-top: 1px solid #e6eaf5;
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
  max-width: 74ch;
}

@media (max-width:1024px) {
  .ori-cap2 {
    padding: 22px 20px;
  }

  .ori-cap2 p {
    max-width: none;
  }
}

/* ---- Industries: 8 items, 4-up, rule under each (dark) ------------------ */
.ori-ind4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px 30px;
}

.ori-ind4-item {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 2px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-ind4-item>span:first-child {
  flex: none;
  display: flex;
  color: #8fa2f0;
}

.ori-ind4-name {
  font-weight: 600;
  font-size: 15px;
  color: #fff;
}

@media (max-width:1024px) {
  .ori-ind4 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:640px) {
  .ori-ind4 {
    grid-template-columns: 1fr;
  }
}

/* ---- Technology: 4-layer architecture diagram -------------------------- */
.ori-arch {
  background: #f2f6fd;
  border: 1px solid #dbe4f6;
  border-radius: var(--r-card);
  padding: 30px 28px 26px;
}

.ori-archgrid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 26px;
}

.ori-archrail {
  position: absolute;
  top: 5px;
  left: 31px;
  right: calc((100% - 78px) / 4 - 34px);
  height: 2px;
  background: #d3ddf2;
  border-radius: 1px;
  overflow: hidden;
}

.ori-archfill {
  display: block;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, var(--c-indigo), var(--c-indigo) 66%, var(--c-orange));
  transform: scaleX(0);
  transform-origin: left center;
}

.ori-anim [data-animate].ori-in .ori-archfill {
  transform: scaleX(1);
  transition: transform 480ms cubic-bezier(0.22, 1, 0.36, 1) 220ms;
}

.ori-layer {
  position: relative;
  padding: 26px 20px 0 26px;
  min-width: 0;
}

.ori-layer+.ori-layer {
  border-left: 1px solid #dfe7f6;
}

.ori-layerdot {
  position: absolute;
  top: 0;
  left: 26px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #f2f6fd;
  background: var(--c-indigo);
}

.ori-layer--last .ori-layerdot {
  background: #a4470b;
}

.ori-layerlabel {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 7px;
  color: var(--c-indigo);
}

.ori-layer--last .ori-layerlabel {
  color: #a4470b;
}

.ori-layertitle {
  font-weight: 700;
  font-size: 16.5px;
  letter-spacing: -0.014em;
  margin: 0 0 13px;
  color: var(--c-ink);
}

.ori-layerchips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ori-chip2 {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 11px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-slate-2);
  background: #fff;
  border: 1px solid #dde5f5;
  border-radius: 8px;
}

.ori-envfit {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid #e6eaf5;
}

.ori-envtitle {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--c-muted-3);
  margin-bottom: 16px;
}

.ori-envgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 30px;
}

.ori-envitem {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.ori-envitem>span:first-child {
  flex: none;
  display: flex;
  color: #a4470b;
}

.ori-envitem-t {
  font-size: 14px;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 3px;
}

.ori-envitem-d {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-muted-3);
}

@media (max-width:1024px) {
  .ori-archgrid {
    grid-template-columns: 1fr 1fr;
    row-gap: 26px;
  }

  .ori-archrail {
    display: none;
  }

  .ori-layer {
    padding: 26px 16px 0 26px;
  }

  .ori-layer:nth-child(odd) {
    border-left: 1px solid #dfe7f6;
  }

  .ori-layer:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }

  .ori-layer:nth-child(even) .ori-layerdot {
    left: 0;
  }

  .ori-layer:nth-child(-n+3) {
    padding-bottom: 24px;
    border-bottom: 1px solid #dfe7f6;
  }

  .ori-envgrid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:640px) {
  .ori-arch {
    padding: 24px 20px 22px;
  }

  .ori-archgrid {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .ori-layer,
  .ori-layer:nth-child(even),
  .ori-layer:nth-child(odd) {
    padding: 0 0 26px 26px;
    border-left: 1px solid #dfe7f6;
    border-bottom: 0;
  }

  .ori-layer:last-child {
    padding-bottom: 0;
    border-left-color: transparent;
  }

  .ori-layer .ori-layerdot,
  .ori-layer:nth-child(even) .ori-layerdot,
  .ori-layer:nth-child(odd) .ori-layerdot {
    left: -6px;
    top: 2px;
  }

  .ori-envgrid {
    grid-template-columns: 1fr;
  }
}

/* ---- SEO prose: sticky heading left, prose right ----------------------- */
.ori-seotwo {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 44px;
  align-items: start;
}

.ori-seotwo>div:first-child {
  position: sticky;
  top: 100px;
}

@media (max-width:1024px) {
  .ori-seotwo {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ori-seotwo>div:first-child {
    position: static;
  }
}

/* ---- Certifications: 4 centred badge slots ---------------------------- */
.ori-certgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ori-certcard {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 8px;
}

.ori-certbadge {
  box-sizing: border-box;
  width: 56px;
  height: 56px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
}

.ori-certbadge svg {
  width: 26px;
  height: 26px;
}

.ori-certbadge--indigo {
  background: var(--c-indigo-tint);
  color: var(--c-indigo);
}

.ori-certbadge--orange {
  background: var(--c-orange-tint);
  color: var(--c-orange);
}

.ori-certbadge--purple {
  background: rgba(124, 58, 237, 0.1);
  color: var(--c-purple);
}

.ori-certbadge--green {
  background: rgba(19, 122, 68, 0.1);
  color: var(--c-green);
}

.ori-certname {
  font-weight: 700;
  font-size: 16px;
  color: var(--c-ink);
}

.ori-certmeta {
  font-size: 12.5px;
  color: #656d7e;
  margin-top: 3px;
}

@media (max-width:1024px) {
  .ori-certgrid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 16px;
  }
}

/* ---- One-shot sheen sweep (CTA button) -------------------------------- */
.ori-sheen {
  position: relative;
  overflow: hidden;
}

.ori-sheen::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 40%;
  pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.28), transparent);
  transform: translateX(-120%);
}

.ori-anim .ori-sheen.ori-in::after {
  animation: oriSheen 1100ms cubic-bezier(0.22, 1, 0.36, 1) 420ms 1 forwards;
}

@keyframes oriSheen {
  0% {
    transform: translateX(-120%);
  }

  100% {
    transform: translateX(420%);
  }
}

/* ==========================================================================
   DevOps engineers page — before/after proof metrics + model price block
   Everything else on that page reuses existing components.
   ========================================================================== */

/* ---- Before/after metric display (dark proof cards) -------------------- */
.ori-dvmetric {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 4px;
}

.ori-dvmlabel {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #8fa2f0;
  margin-bottom: 11px;
}

.ori-dvmrow {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.ori-dvmamt {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.032em;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
}

.ori-dvdelta {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border-radius: var(--r-pill);
  background: rgba(94, 234, 167, 0.14);
  color: #6ee7a8;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.ori-dvmwas {
  font-size: 13px;
  color: #8b94b8;
  margin-top: 9px;
}

.ori-dvrow {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.ori-dvrlabel {
  font-size: 13px;
  line-height: 1.45;
  color: #a3adc7;
  min-width: 0;
}

.ori-dvrval {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex: none;
}

.ori-dvrwas {
  font-size: 12.5px;
  color: #7c85a3;
}

.ori-dvrafter {
  font-size: 15.5px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}

.ori-dvbasis {
  font-size: 12px;
  line-height: 1.5;
  color: #7c85a3;
  margin: 16px 0 0;
}

@media (max-width:900px) {
  .ori-dvmamt {
    font-size: 32px;
  }
}

@media (max-width:560px) {
  .ori-dvrow {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
}

/* ---- Price block (engagement-model cards) ------------------------------ */
.ori-mprice {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(20, 26, 48, 0.07);
  margin-bottom: 20px;
}

.ori-mpricerow {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.ori-mfrom {
  font-size: 12.5px;
  font-weight: 600;
  color: #8a92a6;
}

.ori-mamt {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.032em;
  line-height: 1;
  white-space: nowrap;
}

.ori-mccy {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #8a92a6;
}

.ori-munit {
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-muted-3);
  margin-top: 7px;
}

/* .ori-models3 narrows to ~3 thin columns between 641px and 1024px, so lift
   "From" onto its own line there and keep amount + currency together. */
@media (max-width:1024px) {
  .ori-mpricerow {
    gap: 6px;
  }

  .ori-mfrom {
    flex: 0 0 100%;
  }

  .ori-mamt {
    font-size: 30px;
  }
}

@media (max-width:640px) {
  .ori-mfrom {
    flex: none;
  }

  .ori-mamt {
    font-size: 34px;
  }
}

/* ---- Pricing-assumptions disclosure (single toggle + drawer) ----------
   Reuses initCompareDrawer() (latest-custom.js, wired via data-compare-
   toggle / data-compare-drawer) and the .ori-cmpdrawer collapse animation
   already defined for the mobile-development architecture comparison
   table — only the toggle button and panel visuals below are new. ------ */
.ori-pricingtoggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-indigo);
}

.ori-pricingtoggle:hover {
  color: var(--c-indigo-dark);
}

.ori-pricingtoggle:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
  border-radius: 4px;
}

.ori-pricingicon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--c-indigo-tint);
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-pricingtoggle[aria-expanded="true"] .ori-pricingicon {
  transform: rotate(45deg);
}

.ori-pricingpanel {
  margin-top: 14px;
  padding: 18px 20px;
  background: var(--c-indigo-tint);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

@media (prefers-reduced-motion:reduce) {
  .ori-pricingicon {
    transition: none;
  }
}

/* ---- Two-column disclosure rows (owner/responsibility lists) ----------
   Reuses the existing .ori-acc / .ori-accbtn toggle wiring from
   initAttrAccordionGroup (latest-custom.js) — a wrapper with
   [data-accordion] closes every other .ori-acc in it when one opens,
   including across the two .ori-owncol columns. Only the visuals below
   are new; no JS changes needed. -------------------------------------- */
.ori-ownercols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 56px;
  align-items: start;
}

.ori-owncol {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ori-ownercols .ori-acc {
  background: none;
  border: 0;
  border-top: 1px solid var(--c-hairline-3);
  border-radius: 0;
  padding: 22px 0;
  transition: none;
}

.ori-owncol>.ori-acc:first-child {
  border-top: 0;
  padding-top: 0;
}

.ori-ownercols .ori-acc[data-open="true"] {
  border-top-color: var(--c-hairline-3);
}

.ori-ownhead {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.ori-ownicon {
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ori-owntitle {
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.014em;
  line-height: 1.3;
  margin: 0 0 7px;
  color: var(--c-ink);
}

.ori-ownsum {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-muted-3);
  margin: 0;
}

.ori-owndisc {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-height: 40px;
  margin: 8px 0 0 50px;
  padding: 0;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-indigo);
}

.ori-ownchev {
  display: inline-flex;
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-acc[data-open="true"] .ori-ownchev {
  transform: rotate(180deg);
}

.ori-owndisc-open {
  display: none;
}

.ori-acc[data-open="true"] .ori-owndisc-closed {
  display: none;
}

.ori-acc[data-open="true"] .ori-owndisc-open {
  display: inline;
}

.ori-owndetail {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin: 12px 0 2px 50px;
  padding: 16px 18px;
  border-radius: 12px;
  background: var(--c-indigo-tint);
}

.ori-ownrow {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.ori-ownlbl {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-muted-2);
}

.ori-ownval {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--c-slate-2);
}

@media (max-width:900px) {
  .ori-ownercols {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ori-owncol:last-child>.ori-acc:first-child {
    border-top: 1px solid var(--c-hairline-3);
    padding-top: 22px;
  }
}

@media (max-width:560px) {

  .ori-owndisc,
  .ori-owndetail {
    margin-left: 0;
  }

  .ori-ownsum {
    font-size: 14px;
  }
}

@media (prefers-reduced-motion:reduce) {

  .ori-ownchev,
  .ori-ownicon {
    transition: none;
  }
}

/* ---- Circular lifecycle diagram (technology-foundation section) -------
   An animated SVG ring (arcs draw in, a dot travels the loop, direction
   arrows and quadrant wedges fade in) framing four quadrant cards, each
   with a tool-tile row. Animation is gated behind .ori-lcpanel.ori-in,
   set by the existing scroll-reveal in latest-custom.js (initReveal) —
   the panel just needs [data-animate], same as every other section. --- */
.ori-lcpanel {
  background: #fbfcfe;
  border: 1px solid #e6e8f0;
  border-radius: 24px;
  padding: 38px 34px 0;
}

.ori-lc {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 364px 1fr;
  grid-template-rows: auto auto;
  column-gap: 0;
  row-gap: 0;
  align-items: stretch;
}

.ori-lcring {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 100%;
  height: auto;
  align-self: center;
  justify-self: center;
  overflow: visible;
  pointer-events: none;
}

.ori-lcarc {
  fill: none;
  stroke-width: 7;
  stroke-linecap: butt;
  stroke-dasharray: 208;
  stroke-dashoffset: 0;
  opacity: 0.3;
}

.ori-lcpanel.ori-in .ori-lcarc-1 {
  animation: oriLcDraw 400ms cubic-bezier(0.4, 0, 0.2, 1) 200ms backwards, oriLcGlow 12s linear 2.2s infinite;
}

.ori-lcpanel.ori-in .ori-lcarc-2 {
  animation: oriLcDraw 400ms cubic-bezier(0.4, 0, 0.2, 1) 540ms backwards, oriLcGlow 12s linear 3.76s infinite;
}

.ori-lcpanel.ori-in .ori-lcarc-3 {
  animation: oriLcDraw 400ms cubic-bezier(0.4, 0, 0.2, 1) 880ms backwards, oriLcGlow 12s linear 5.32s infinite;
}

.ori-lcpanel.ori-in .ori-lcarc-4 {
  animation: oriLcDraw 400ms cubic-bezier(0.4, 0, 0.2, 1) 1220ms backwards, oriLcGlow 12s linear 6.88s infinite;
}

@keyframes oriLcDraw {
  from {
    stroke-dashoffset: 208;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes oriLcGlow {
  0% {
    opacity: 0.3;
  }

  2% {
    opacity: 1;
  }

  13% {
    opacity: 1;
  }

  20% {
    opacity: 0.3;
  }

  100% {
    opacity: 0.3;
  }
}

.ori-lcwedges path {
  opacity: 1;
}

.ori-lcpanel.ori-in .ori-lcwedges path {
  animation: oriLcWedge 500ms ease-out 320ms backwards;
}

@keyframes oriLcWedge {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.ori-lcarrows path {
  opacity: 1;
}

.ori-lcpanel.ori-in .ori-lcarrows path {
  animation: oriLcWedge 300ms ease-out 1600ms backwards;
}

.ori-lcmarks circle {
  stroke: #fbfcfe;
  stroke-width: 4;
}

.ori-lcmarks {
  opacity: 1;
}

.ori-lcpanel.ori-in .ori-lcmarks {
  animation: oriLcWedge 340ms ease-out 1500ms backwards;
}

.ori-lcdotwrap {
  transform-box: view-box;
  transform-origin: 170px 170px;
  opacity: 0;
}

.ori-lcpanel.ori-in .ori-lcdotwrap {
  animation: oriLcTravel 12s linear 2.2s infinite;
}

@keyframes oriLcTravel {
  0% {
    transform: rotate(0deg);
    opacity: 0;
  }

  3% {
    opacity: 1;
  }

  52% {
    transform: rotate(360deg);
    opacity: 1;
  }

  58% {
    transform: rotate(360deg);
    opacity: 0;
  }

  100% {
    transform: rotate(360deg);
    opacity: 0;
  }
}

.ori-lchubwrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.ori-lchub {
  box-sizing: border-box;
  width: 186px;
  height: 186px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #dfe4f2;
  box-shadow: 0 0 0 9px #fbfcfe, 0 20px 44px -22px rgba(20, 26, 48, 0.48);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 24px;
}

.ori-lchublabel {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #111726;
  line-height: 1.12;
}

.ori-lchubsub {
  font-size: 12.5px;
  line-height: 1.4;
  color: #5a6272;
  margin-top: 9px;
}

.ori-lcq {
  position: relative;
  min-width: 0;
}

.ori-lcq-1 {
  grid-column: 1;
  grid-row: 1;
}

.ori-lcq-2 {
  grid-column: 3;
  grid-row: 1;
}

.ori-lcq-3 {
  grid-column: 3;
  grid-row: 2;
}

.ori-lcq-4 {
  grid-column: 1;
  grid-row: 2;
}

.ori-lccard {
  position: relative;
  height: 100%;
  box-sizing: border-box;
  background: #f2f6fe;
  border: 1px solid #e4ebfa;
  padding: 26px 28px 24px;
  transition: border-color 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-lcq-4 .ori-lccard {
  background: #fef6f0;
  border-color: #f7e3d2;
}

.ori-lcq:hover .ori-lccard,
.ori-lcq:focus-within .ori-lccard {
  border-color: var(--lcline, #c4cee8);
}

.ori-lcq:focus-within .ori-lccard {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-lcq-1 .ori-lccard {
  border-radius: 20px 20px 0 0;
  border-bottom: 0;
  margin-right: -82px;
  padding-right: 96px;
}

.ori-lcq-4 .ori-lccard {
  border-radius: 0 0 20px 20px;
  margin-right: -82px;
  padding-right: 96px;
}

.ori-lcq-2 .ori-lccard {
  border-radius: 20px 20px 0 0;
  border-bottom: 0;
  margin-left: -82px;
  padding-left: 96px;
}

.ori-lcq-3 .ori-lccard {
  border-radius: 0 0 20px 20px;
  margin-left: -82px;
  padding-left: 96px;
}

.ori-lccardtop {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 18px;
}

.ori-lcicon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
}

.ori-lctitle {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.018em;
  line-height: 1.2;
  margin: 0 0 7px;
}

.ori-lcpurpose {
  font-size: 14.5px;
  line-height: 1.5;
  color: #4a5262;
  margin: 0;
  max-width: 28ch;
}

.ori-lctools {
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 7px;
  margin: 0;
  padding: 0;
}

.ori-lcmore {
  display: flex;
  align-items: center;
  flex: none;
  font-size: 11.5px;
  font-weight: 600;
  color: #6b7285;
  padding-left: 2px;
  white-space: nowrap;
}

.ori-lctoolicon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
}

.ori-lctoolicon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.ori-lctilelabel {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  color: #2a3142;
  text-align: center;
  overflow-wrap: anywhere;
}

.ori-lctile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 1 1 0;
  min-width: 0;
  padding: 9px 5px 10px;
  background: #fff;
  border: 1px solid #e4ebfa;
  border-radius: 11px;
  transition: border-color 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-lcq:hover .ori-lctile,
.ori-lcq:focus-within .ori-lctile {
  border-color: #c7d0e6;
}

.ori-lcfoot {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  margin-top: 34px;
  padding: 20px 0;
  border-top: 1px solid #eceff5;
}

.ori-lcfootitem {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  flex: 1;
}

.ori-lcfooticon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.ori-lcfootsep {
  width: 1px;
  height: 34px;
  background: #e4e8f2;
  flex: none;
}

.ori-lcfootleft {
  font-size: 14.5px;
  font-weight: 700;
  color: #151a24;
}

.ori-lcfootright {
  font-size: 14px;
  line-height: 1.5;
  color: #4a5262;
}

button.ori-owndisc:hover,
button.ori-owndisc:focus,
button.ori-pricingtoggle:hover,
button.ori-pricingtoggle:focus {
  color: var(--c-indigo);
  background-color: transparent;
  border-color: transparent;
}

@media (max-width:1180px) {
  .ori-lctools {
    flex-wrap: wrap;
  }

  .ori-lccard {
    border-radius: 16px !important;
    border: 1px solid #e4ebfa !important;
    margin: 0 !important;
    padding: 22px 22px 20px !important;
    height: auto !important;
  }

  .ori-lcq-1 .ori-lccard,
  .ori-lcq-2 .ori-lccard {
    border-bottom: 1px solid #e4ebfa !important;
  }

  .ori-lcq:hover .ori-lccard,
  .ori-lcq:focus-within .ori-lccard {
    border-color: var(--lcline, #cfd6e8);
    box-shadow: 0 16px 34px -26px rgba(20, 26, 48, 0.4);
  }

  .ori-lc {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 20px;
    row-gap: 20px;
  }

  .ori-lcring {
    display: none;
  }

  .ori-lchubwrap {
    position: static;
    transform: none;
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: stretch;
  }

  .ori-lchub {
    width: auto;
    height: auto;
    border-radius: 18px;
    padding: 26px 24px;
    box-shadow: none;
  }

  .ori-lcq-1 {
    grid-column: 1;
    grid-row: 2;
  }

  .ori-lcq-2 {
    grid-column: 2;
    grid-row: 2;
  }

  .ori-lcq-3 {
    grid-column: 1;
    grid-row: 3;
  }

  .ori-lcq-4 {
    grid-column: 2;
    grid-row: 3;
  }
}

@media (max-width:768px) {
  .ori-lcpanel {
    padding: 26px 18px 0;
    border-radius: 18px;
  }

  .ori-lc {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    row-gap: 0;
  }

  .ori-lchubwrap {
    grid-column: 1;
    grid-row: auto;
    margin-bottom: 22px;
  }

  .ori-lcq {
    grid-column: 1 !important;
    grid-row: auto !important;
    padding-left: 20px;
  }

  .ori-lcq::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: -22px;
    width: 2px;
    background: var(--lcline, #3b5bdb4d);
  }

  .ori-lcq-4::before {
    bottom: 0;
  }

  .ori-lcq+.ori-lcq {
    margin-top: 22px;
  }

  .ori-lcfoot {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-top: 26px;
  }

  .ori-lcfootsep {
    display: none;
  }

  .ori-lcfootitem {
    flex: none;
  }
}

/* ---- Reduced motion --------------------------------------------------- */
@media (prefers-reduced-motion:reduce) {
  .ori-archfill {
    transform: scaleX(1) !important;
    transition: none !important;
  }

  .ori-procflow,
  .ori-pdot5 {
    animation: none !important;
  }

  .ori-sheen::after {
    display: none;
  }

  .ori-lcarc {
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
    animation: none !important;
  }

  .ori-lcwedges path,
  .ori-lcarrows path,
  .ori-lcmarks {
    opacity: 1 !important;
    animation: none !important;
  }

  .ori-lcdotwrap {
    display: none;
  }

  .ori-lcq:hover .ori-lccard,
  .ori-lcq:focus-within .ori-lccard,
  .ori-lcq:hover .ori-lctile {
    transform: none;
  }
}

@media (max-width: 767px) {
  .address-india .elementor-image-box-wrapper {
    margin-bottom: 0 !important;
  }

  body .countries_phone_list .elementor-row .address-india .elementor-column-wrap {
    padding: 15px 15px 0 !important;
  }

  .ori-bg-panel2 .ori-lctools .ori-lctile {
    flex: auto;
  }
}

/* ==========================================================================
   LEGACY APPLICATION MODERNISATION PAGE
   New, additive components used by
   Legacy-Application-Modernisation/legacy-application-modernisation.html.
   Everything else on that page reuses existing components (.ori-aihero,
   .ori-matrix, .ori-comparetable, .ori-proc5, .ori-g2/.ori-g3, .ori-trust,
   .ori-models3, .ori-faq2, .ori-ctaband).
   (Only new .ori-* classes and page-scoped modifiers below — existing
   selectors are untouched.)
   ========================================================================== */

/* ---- Diagnostics: .ori-mrow with a sentence-case title + 2-up sub-items -- */
.ori-mrow--diag {
  grid-template-columns: 31% minmax(0, 69%);
  align-items: start;
}

.ori-mrow--diag .ori-mcat {
  align-items: flex-start;
}

.ori-mrow--diag .ori-mcat h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.016em;
  text-transform: none;
  line-height: 1.3;
}

.ori-diagitems {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.ori-diagitems h4 {
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.01em;
  line-height: 1.35;
  margin: 0 0 7px;
  color: var(--c-ink);
}

.ori-diagitems p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--c-muted-3);
  margin: 0;
}

@media (max-width:900px) {
  .ori-diagitems {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* ---- Approaches: 4-column variant of .ori-cmprow ------------------------ */
.ori-cmprow--4 {
  grid-template-columns: 0.85fr 1.3fr 1.1fr 0.62fr;
}

.ori-cmprow--4 .ori-cmpcell:last-child {
  display: flex;
  align-items: flex-start;
}

.ori-tag-pill--green {
  color: #1d6b4a;
  background: rgba(19, 122, 68, 0.1);
}

.ori-alegend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  font-size: 12.5px;
  color: var(--c-muted);
}

@media (max-width:1024px) {
  .ori-cmprow--4 {
    grid-template-columns: 0.9fr 1.25fr 1fr 0.72fr;
  }
}

@media (max-width:760px) {
  .ori-cmprow--4 {
    grid-template-columns: 1fr !important;
  }

  .ori-cmprow--4 .ori-cmpcell:last-child {
    display: block;
  }
}

/* ---- Tick list on a dark panel ------------------------------------------ */
.ori-seclist--onDark li {
  color: #c2c9de;
}

/* ---- Cutover: legacy -> coexistence -> modernised phase band ------------ */
.ori-phaseband {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 16px;
  margin-bottom: 26px;
}

.ori-phaselbl {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-muted-2);
  padding-bottom: 10px;
  border-bottom: 2px solid var(--c-hairline-3);
  grid-column: span 2;
}

.ori-phaselbl--mid {
  color: var(--c-indigo-dark);
  border-bottom-color: #c9d3f7;
}

.ori-phaselbl--end {
  color: #a4470b;
  border-bottom-color: #f6c9a2;
  grid-column: span 1;
}

@media (max-width:1024px) {
  .ori-phaseband {
    display: none;
  }
}

/* ---- Case study: copy left, screenshot right, inside an .ori-card ------- */
.ori-casetop {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
  align-items: stretch;
}

.ori-caseshot {
  position: relative;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  background: #eef1f7;
  background-size: cover !important;
  background-position: center top !important;
}

.ori-caseshot span {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9aa4c4;
  text-align: center;
  line-height: 1.5;
}

@media (max-width:900px) {
  .ori-casetop {
    grid-template-columns: 1fr;
  }

  /* aspect-ratio + max-height narrows the box instead of clipping it, so pin
     the height and let it span the card. */
  .ori-caseshot {
    min-height: 0;
    width: 100%;
    height: 260px;
    order: -1;
  }
}

/* ---- Case study: outcome strip ------------------------------------------ */
.ori-outcomes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #fbfaf6;
  border-top: 1px solid var(--c-hairline);
  border-bottom: 1px solid var(--c-hairline);
  margin: 0 0 26px;
  padding: 0 30px;
}

.ori-outcome {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 20px 24px 20px 0;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
  color: #1d2433;
}

.ori-outcome>span {
  flex: none;
  display: flex;
  color: var(--c-orange);
}

.ori-outcome+.ori-outcome {
  padding-left: 24px;
  border-left: 1px solid var(--c-hairline);
}

@media (max-width:900px) {
  .ori-outcomes {
    grid-template-columns: 1fr;
    padding: 0 22px;
  }

  .ori-outcome {
    padding: 15px 0;
  }

  .ori-outcome+.ori-outcome {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--c-hairline);
  }
}

/* ---- "Also modernised": tag+title / description / tech chips in one row,
   divided by hairlines — not boxed cards. ---------------------------------- */
.ori-scase {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.7fr) auto;
  gap: 26px;
  align-items: start;
  padding: 22px 0;
  border-top: 1px solid var(--c-hairline);
}

.ori-scase .ori-casetech {
  justify-content: flex-end;
}

@media (max-width:900px) {
  .ori-scase {
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
  }

  .ori-scase .ori-casetech {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width:640px) {
  .ori-scase {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* ---- Before/after: legacy column, arrow gutter, modernised column -------
   The "after" column wipes in and the arrows slide across once the block
   scrolls into view — gated on .ori-anim [data-animate].ori-in, the same
   hook .ori-procline and .ori-archfill already use. ---------------------- */
.ori-ba {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
  align-items: stretch;
  border-radius: var(--r-tile);
  overflow: hidden;
  border: 1px solid rgba(20, 26, 40, 0.1);
}

.ori-barow {
  display: contents;
}

.ori-bahead {
  padding: 13px 22px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}

.ori-bahead--old {
  background: #e9ebf1;
  color: #5c6474;
}

.ori-bahead--gap {
  background: linear-gradient(90deg, #e9ebf1 50%, #0e1430 50%);
}

.ori-bahead--new {
  background: #0e1430;
  color: var(--c-orange-light);
}

.ori-bacell {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 16px 22px;
  font-size: 14.5px;
  line-height: 1.55;
  border-top: 1px solid rgba(20, 26, 40, 0.08);
}

.ori-bacell--old {
  color: #5f6675;
  background: #f4f5f9;
}

.ori-bacell--new {
  color: #eaf0ff;
  background: #141c3d;
  font-weight: 500;
  border-top-color: rgba(255, 255, 255, 0.09);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim [data-animate].ori-in .ori-bacell--new {
  clip-path: inset(0 0 0 0);
}

.ori-bamk {
  flex: none;
  width: 15px;
  height: 15px;
  margin-top: 3px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.ori-bamk--old {
  background: #dfe2ea;
  color: #9aa1ae;
}

.ori-bamk--new {
  background: rgba(249, 115, 22, 0.18);
  color: var(--c-orange-light);
}

.ori-baarrow {
  display: grid;
  place-items: center;
  height: 100%;
  background: linear-gradient(90deg, #f4f5f9 50%, #141c3d 50%);
}

.ori-baico {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--c-orange);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.16);
  transform: translateX(-9px);
  opacity: 0;
  transition: transform 560ms cubic-bezier(0.22, 1, 0.36, 1), opacity 420ms ease;
}

.ori-anim [data-animate].ori-in .ori-baico {
  transform: none;
  opacity: 1;
}

.ori-ba .ori-barow:nth-of-type(5) .ori-baico,
.ori-ba .ori-barow:nth-of-type(5) .ori-bacell--new {
  transition-delay: 70ms;
}

.ori-ba .ori-barow:nth-of-type(6) .ori-baico,
.ori-ba .ori-barow:nth-of-type(6) .ori-bacell--new {
  transition-delay: 190ms;
}

.ori-ba .ori-barow:nth-of-type(7) .ori-baico,
.ori-ba .ori-barow:nth-of-type(7) .ori-bacell--new {
  transition-delay: 310ms;
}

.ori-ba .ori-barow:nth-of-type(8) .ori-baico,
.ori-ba .ori-barow:nth-of-type(8) .ori-bacell--new {
  transition-delay: 430ms;
}

.ori-ba .ori-barow:nth-of-type(9) .ori-baico,
.ori-ba .ori-barow:nth-of-type(9) .ori-bacell--new {
  transition-delay: 550ms;
}

.ori-ba .ori-barow:nth-of-type(10) .ori-baico,
.ori-ba .ori-barow:nth-of-type(10) .ori-bacell--new {
  transition-delay: 670ms;
}

@media (max-width:820px) {
  .ori-ba {
    grid-template-columns: 1fr;
    border: 0;
    border-radius: 0;
    overflow: visible;
  }

  .ori-bahead--gap,
  .ori-bahead--new {
    display: none;
  }

  .ori-bahead--old {
    background: transparent;
    padding: 0 2px 12px;
  }

  .ori-baarrow {
    height: auto;
    background: none;
    justify-items: start;
    padding: 0 22px;
  }

  .ori-baico {
    transform: none;
    opacity: 1;
    margin: -2px 0;
  }

  .ori-bacell {
    border-top: 0;
  }

  .ori-bacell--old {
    background: #f4f5f9;
    border-radius: 10px 10px 0 0;
    padding-bottom: 10px;
  }

  .ori-bacell--new {
    margin-bottom: 16px;
    border-radius: 0 0 10px 10px;
    clip-path: none;
  }
}

/* ---- Continuity: numbered commitment rows with an owner column (dark) --- */
.ori-commithead {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 108px;
  gap: 14px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b95bb;
  text-align: right;
  padding-bottom: 8px;
}

.ori-commithead>span:nth-child(2) {
  text-align: left;
}

.ori-commit {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 108px;
  gap: 14px;
  align-items: start;
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-commitnum {
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
  color: var(--c-indigo-light);
  padding-top: 2px;
}

.ori-commitnum--accent {
  color: var(--c-orange-light);
}

.ori-commit h3 {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: #fff;
}

.ori-commit p {
  font-size: 14px;
  line-height: 1.6;
  color: #b6bfda;
  margin: 0;
}

.ori-commitwho {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: right;
  padding-top: 3px;
  color: #8ea2ff;
}

.ori-commitwho--you {
  color: var(--c-orange-light);
}

@media (max-width:900px) {
  .ori-commithead {
    display: none;
  }

  .ori-commit {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .ori-commitwho {
    grid-column: 2;
    text-align: left;
    padding-top: 0;
    margin-top: 8px;
  }
}

/* ---- .ori-trust collapses to one column at 1024px, so the sticky aside it
   borrows from the FAQ layout has to release there, not at 900px. ------ */
@media (max-width:1024px) {
  .ori-trust .ori-faqaside {
    position: static;
  }
}

/* ---- Cutover process: left-align variant of .ori-proc5-step -------------
   Page-scoped modifier — .ori-proc5-step itself stays centred for
   custom-app-development.html, which reuses the same base component. --- */
.ori-proc5--left .ori-proc5-step {
  align-items: flex-start;
  text-align: left;
}

/* .ori-procflow's left:9%/right:9% is calibrated for dots centred in their
   grid column; flush-left dots sit at each column's left edge instead, so
   the line has to run between the first dot's centre (27px — half its
   54px diameter) and the fifth dot's centre (80% + 12.8px column offset +
   27px radius = 80% + 39.8px, i.e. 20% - 39.8px from the right edge). --- */
.ori-proc5--left .ori-procflow {
  left: 27px;
  right: calc(20% - 39.8px);
}

/* ---- FAQ scroll progress meter: "03 / 08" + gradient fill bar ----------
   Values are written by initFaqProgress() (latest-custom.js) as the FAQ
   card list scrolls past 62% of the viewport height. ------------------- */
.ori-faqprog {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--c-hairline-3);
  max-width: 340px;
}

.ori-progmeta {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  font-variant-numeric: tabular-nums;
  color: var(--c-muted);
  margin-bottom: 10px;
}

.ori-progtrack {
  position: relative;
  height: 4px;
  border-radius: 3px;
  background: var(--c-hairline-3);
}

.ori-progfill {
  position: relative;
  display: block;
  height: 100%;
  width: 0%;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--c-indigo), var(--c-orange));
  transition: width 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-progfill::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -4.5px;
  border-radius: 50%;
  background: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.22);
}

@media (prefers-reduced-motion:reduce) {
  .ori-progfill {
    transition: none;
  }
}

/* ---- CTA band: example-assessment preview card -------------------------- */
.ori-ctaprev {
  flex: 1 1 290px;
  max-width: 360px;
}

.ori-ctaprev .ori-nextstep-label {
  white-space: nowrap;
}

/* ---- Long CTA labels ----------------------------------------------------
   .ori-btn is white-space:nowrap by design, which gives a long label a
   min-content floor wide enough to push its container past a phone
   viewport (.ori-valintro's 1fr track and .ori-ctaband-copy both size to
   it). Let these buttons wrap, and stop the two containers tracking
   min-content. ---------------------------------------------------------- */
.ori-btn--wrap {
  white-space: normal;
  text-align: center;
}

.ori-ctaband-copy {
  min-width: 0;
}

.legacy-app-form .wpforms-field-container:nth-child(3) .wpforms-field {
  grid-column: 1 / -1;
}

@media (max-width:760px) {
  .ori-valintro {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width:560px) {
  .ori-btn--wrap {
    height: auto;
    min-height: 52px;
    padding: 14px 20px;
    line-height: 1.35;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-bacell--new {
    clip-path: none !important;
    transition: none !important;
  }

  .ori-baico {
    opacity: 1;
    transform: none;
    transition: none !important;
  }
}

/*  03-09-2026*/
#wpforms-52404 {
  margin: 0;
}

#wpforms-form-52404 .wpforms-field-container {
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px 4%;
}

.wpforms-field-full {
  flex: 0 0 100%;
  max-width: 100%;
}

.wp-forms-field-half {
  flex: 0 0 48%;
  max-width: 48%;
}

#contact .ori-ctaband {
  display: flex;
  justify-content: space-between;
}

#contact .ori-ctaprev {
  max-width: 360px;
}

#contact .ori-ctaband-copy {
  max-width: calc(100% - 360px);
  padding-right: 40px;
}

#contact a.ori-btn {
  height: auto;
  line-height: normal;
  padding: 16px 15px;
}

.ori-mrow--diag .ori-mcat h3 {
  word-break: break-all
}

@media screen and (max-width:991px) {
  .scope-assesmnt .ori-wrap {
    display: flex;
    flex-wrap: wrap;
  }

  .scope-assesmnt .ori-wrap .ori-in {
    width: 45%;
  }
}

@media screen and (max-width: 820px) {

  .proof-section .ori-baarrow {
    position: relative;
  }

  .proof-section .ori-baico {
    position: absolute;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
  }

  .proof-section .ori-baico svg {
    transform: rotate(90deg);
  }
}

@media screen and (max-width: 768px) {
  #contact .ori-ctaband {
    flex-wrap: wrap;
  }

  #contact .ori-ctaprev {
    max-width: 360px;
  }

  #contact .ori-ctaband-copy {
    max-width: 100%;
    padding-right: 0;
  }

  .scope-assesmnt .ori-wrap .ori-in {
    width: 100%;
  }

  .scope-assesmnt .ori-wrap .ori-tint-m0-pad26n24 {
    margin-top: 20px;
  }

}

@media screen and (max-width: 600px) {
  .wp-forms-field-half {
    flex: 0 0 47%;
    max-width: 47%;
  }

}

/* ==========================================================================
   IT STAFF AUGMENTATION PAGE
   New, additive components used by IT-Staff/it-staff-augmentation.html.
   Everything else on that page reuses existing components (.ori-aihero,
   .ori-statsflat, .ori-g3, .ori-model--mark, .ori-models3, .ori-assure2grid,
   .ori-proc--6, .ori-ind4, .ori-faq2, .ori-ctaband).
   (Only new .ori-* classes and page-scoped modifiers below — existing
   selectors are untouched.)
   ========================================================================== */

/* ---- Region coverage: 5 hairline-divided cells --------------------------- */
.ori-regions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--c-hairline);
  border-bottom: 1px solid var(--c-hairline);
}

.ori-regioncell {
  padding: 22px 20px 22px 0;
  border-right: 1px solid var(--c-hairline);
  min-width: 0;
}

.ori-regioncell:first-child {
  padding-left: 0;
}

.ori-regioncell:not(:first-child) {
  padding-left: 20px;
}

.ori-regioncell:last-child {
  border-right: 0;
  padding-right: 0;
}

.ori-regionname {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.012em;
  margin: 10px 0 6px;
  color: var(--c-ink);
}

.ori-regiondesc {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-muted-3);
  margin: 0;
}

@media (max-width:1024px) {
  .ori-regions {
    grid-template-columns: 1fr 1fr;
    border-bottom: 0;
  }

  .ori-regioncell {
    padding: 20px 18px 20px 0;
    border-bottom: 1px solid var(--c-hairline);
  }

  .ori-regioncell:nth-child(2n) {
    border-right: 0;
    padding-right: 0;
  }

  .ori-regioncell:nth-child(2n+1) {
    padding-left: 0;
  }
}

@media (max-width:720px) {
  .ori-regions {
    grid-template-columns: 1fr;
  }

  .ori-regioncell {
    border-right: 0;
    padding-right: 0;
    padding-left: 0;
  }

  .ori-regioncell:last-child {
    border-bottom: 0;
  }
}

/* ---- Role rows inside a capability card --------------------------------- */
.ori-rolerow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--c-hairline-2);
}

.ori-rolerow:first-of-type {
  border-top: 0;
  padding-top: 4px;
}

.ori-rolename {
  font-size: 14.5px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--c-slate-2);
  min-width: 0;
}

.ori-rolerow .ori-tag-pill {
  flex: none;
  letter-spacing: 0.08em;
}

.ori-tag-pill--neutral {
  color: var(--c-slate);
  background: #f1f3f8;
}

@media (max-width:400px) {
  .ori-rolerow {
    flex-direction: column;
    gap: 6px;
  }
}

/* ---- .ori-assure2rows in two desktop columns (6 short rows) -------------
   Below 1025px the base component's own responsive rules already handle the
   2-up / 1-up collapse, so this modifier only applies on wide viewports. -- */
@media (min-width:1025px) {
  .ori-assure2rows--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 36px;
  }

  .ori-assure2rows--split .ori-arow:nth-child(2) .ori-arule {
    display: none;
  }

  .ori-assure2rows--split .ori-arow:nth-child(2) {
    padding-top: 4px;
  }
}

/* ---- Monitor chip strip under the oversight rows (dark) ----------------- */
.ori-monitorstrip {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.ori-monitorstrip .ori-tiny-label {
  width: 100%;
  color: #8fa2f0;
  margin-bottom: 0;
}

.ori-herochip--dot svg {
  color: inherit;
}

.ori-chipdot {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-orange-light);
}

/* ---- Light variant of the dark .ori-ind4 industry list ------------------ */
.ori-ind4--light .ori-ind4-item {
  border-bottom-color: var(--c-hairline);
}

.ori-ind4--light .ori-ind4-item>span:first-child {
  color: var(--c-indigo);
}

.ori-ind4--light .ori-ind4-name {
  color: var(--c-slate-2);
}

/* ---- "Orion ownership increases →" scale label -------------------------- */
.ori-scalehead {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.ori-scalearrow {
  flex: 1;
  height: 1px;
  max-width: 220px;
  background: linear-gradient(90deg, var(--c-hairline-3), var(--c-indigo) 55%, var(--c-orange));
}

@media (max-width:640px) {
  .ori-scalearrow {
    display: none;
  }
}

/* ---- Engagement-model card header: number + optional badge ---------------
   Fixed min-height so the h3 baselines line up across cards whether or not
   a card carries a "Start here" badge. ---------------------------------- */
.ori-modelownrow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 24px;
  margin-bottom: 14px;
}

.ori-modelownrow .ori-modelown {
  margin-bottom: 0;
}

#wpforms-form-52469 .wpforms-field-container,
#wpforms-form-53085 .wpforms-field-container {
  display: flex !important;
  gap: 14px;
  flex-wrap: wrap;
}

.engModal span.ori-modelown {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--c-indigo);
  border-radius: 50%;
}

.engModal .ori-modelownrow {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.engModal .ori-models3 {
  gap: 0;
}

.engModal article.ori-model {
  border-radius: 0;
  border: 0;
  flex: 0 0 33%;
  max-width: 33%;
}

.engModal article.ori-card-1 {
  background: #f6f8fd;
}

.engModal article.ori-card-2 {
  background: #e9eefb;
}

.engModal article.ori-card-3 {
  background: #101836;
  border-radius: 0 24px 24px 0;
}

.engModal .ori-card-3 h3 {
  color: #fff;
}

.engModal .ori-card-3 p {
  color: #c3cbe6;
}

.engModal .ori-card-3 .ori-modelrow dd {
  color: #c3cbe6
}

.engModal article.ori-model .ori-modelrow dt {
  display: none;
}

.engModal .ori-modelrow {
  display: block;
  padding: 16px 24px;
  min-height: 54px;
}

.engModal .ori-card-3 .ori-modelrow {
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.engModal .ori-card-1 .ori-modelrow,
.engModal .ori-card-2 .ori-modelrow {
  border-top: 1px solid rgba(20, 26, 40, 0.09)
}

.engModal .ori-modelrow dd {
  font-weight: 400;
  font-weight: 400;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.engModal dl.ori-modelfacts {
  width: calc(100% + 48px);
  margin-left: -24px;
  margin-bottom: 0;
}

.engModal .ori-models3 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

article.ori-name {
  display: flex;
  align-items: flex-end;
  padding-bottom: 24px;
  max-width: 140px;
}

article.ori-name dl.ori-modelfacts {
  width: 100%;
  margin: 0;
}

.engModal .ori-models3 {
  display: flex;
}

article.ori-name dl.ori-modelfacts dt {
  white-space: nowrap
}

.engModal .ori-modelcta {
  margin: 20px 0;
}

.engModal .ori-model-top {
  min-height: 250px;
}

.engModal .ori-assureline {
  border: 0;
  padding-top: 0;
}

.engModal .ori-scalehead {
  padding-left: 135px;
}

.engModal .ori-model-top b {
  color: var(--c-indigo);
  font-size: 13px;
  margin: 0;
  display: block;
}

.ori-card-3 .ori-modelown {
  border-color: var(--c-orange) !important;
  color: var(--c-orange) !important;
}

.ori-card-3 .ori-model-top b {
  color: var(--c-orange) !important;
}

.engModal .ori-card-3 a.ori-modelcta.ori-arrow.ori-c-orange {
  color: var(--c-orange) !important;
}

.engModal span.ori-modelmark {
  top: 8%;
  left: 80px;
  height: 2px;
}

.engModal .ori-card-2 span.ori-modelmark {
  background: linear-gradient(90deg, #3b5bdb, #f9a35e) !important;
}

.engModal .ori-card-3 span.ori-modelmark {
  display: none;
}

.engModal .ori-tag-pill {
  background: transparent;
  padding: 0 0 0 15px;
  margin: 10px 0;
  position: relative;
}

.engModal .ori-tag-pill:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #c25662;
  left: 0;
  top: 6px;
  border-radius: 8px;
}

.oriCol2 {
  max-width: calc(100% - 144px);
  display: flex;
  flex: 0 0 calc(100% - 144px);
}

@media screen and (max-width:768px) {
  .engModal .ori-name {
    display: none
  }

  .engModal .ori-scalehead {
    padding-left: 0;
  }

  .oriCol2 {
    max-width: 100%;
    flex: 0 0 100%;
    flex-direction: column;
  }

  .engModal article.ori-model {
    border-radius: 0;
    border: 0;
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 15px;
    border-radius: 12px;
    padding-left: 70px !important;
  }

  .engModal .ori-model-top {
    min-height: auto;
  }

  .engModal .ori-models3 {
    align-items: flex-start
  }

  .engModal span.ori-modelmark {
    top: 15%;
    left: 41px;
    height: 100%;
    width: 2px;
  }

  .engModal span.ori-modelown {
    margin-left: -45px;
  }

  .engModal dl.ori-modelfacts {
    width: 100%;
    margin: 0 !important;
  }

  .engModal .ori-modelrow {
    padding: 16px 0;
  }

  .engModal article.ori-model .ori-modelrow dt {
    display: block;
  }

  .engModal .ori-card-3 dt {

    color: #8fa2f0;
  }
}

.ori-slider section.ori-pad {
  padding-bottom: 0 !important;
}

.ori-btn {
  line-height: normal;
  white-space: normal;
}

@media screen and (max-width:720px) {
  .ori-regioncell:not(:first-child) {
    padding-left: 0;
  }
}

.engineering-capabilities .ori-capcell-left {
  width: calc(100% - 155px);
}

.engineering-capabilities .ori-capgrid .ori-capcell .ori-capart {
  width: 200px !important;
}

@media screen and (max-width:1100px) {
  .engineering-capabilities .ori-capgrid .ori-capcell .ori-capart {
    width: 140px !important;
  }

  .engineering-capabilities .ori-capcell-left {
    width: calc(100% - 110px);
  }
}

@media screen and (max-width:992px) {
  .engineering-capabilities .ori-capgrid .ori-capcell .ori-capart {
    display: none;
  }

  .engineering-capabilities .ori-capcell-left {
    width: calc(100% - 0px);
  }

  .stat-sectn .ori-statlabel {
    font-size: 13px;
  }

  .ori-tag-pill {
    font-size: 9.5px;
    letter-spacing: -0.5px;
  }
}

@media screen and (max-width:768px) {
  .system-holding .ori-mrow--diag {
    grid-template-columns: 1fr;
  }

  .system-holding .ori-diagitems {
    padding-left: 48px;
  }

  .system-holding .ori-mrow--diag .ori-mcat {
    align-items: center;
  }
}

@media screen and (max-width:576px) {
  .ori-wrap-flex {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .deliveryProcess .ori-mw64c-m0n0n44.ori-grid-header.ori-in {
    width: 100% !important
  }

  .ori-wrap-flex .ori-grid-header {
    width: 100%;
  }

  .ori-wrap-flex .ori-grid-img {
    width: 100%
  }

  .ori-statlabel {
    font-size: 12px;
    min-height: 50px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  #wpforms-form-52220 .wpforms-field-container,
  #wpforms-form-52274 .wpforms-field-container,
  #wpforms-52139 .wpforms-field-container,
  #wpforms-52381 .wpforms-field-container,
  #wpforms-53085 .wpforms-field-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .cl-result .ori-statvalue {
    font-size: 28px;
  }
}

.ori-wrap-flex {
  display: flex;
  align-items: center;
  gap: 2%;
  margin-bottom: 44px;
}

.ori-wrap-flex .ori-grid-header {
  grid-template-columns: 1fr;
  width: 50%;
  margin-bottom: 0;
}

.ori-wrap-flex .ori-grid-img {
  width: 48%;
  border-radius: 14px;
  overflow: hidden;
}

.faqImg svg {
  width: 80%;
  height: auto;
  margin: 15px auto auto auto;
  display: table;
}

/* Chrome, Safari, Edge */
.wpforms-form input[type="number"]::-webkit-inner-spin-button,
.wpforms-form input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.wpforms-form input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

div#wpforms-52220,
div#wpforms-52274,
#wpforms-52139,
#wpforms-52381,
#wpforms-52469,
#wpforms-53085 {
  margin: 0;
}

.ori-white-card {
  background-color: var(--c-white);
}

/* hire-devops-engineers-2 page css */
.devops-bg .ori-bg-aihero {
  background: url('https://staging.orionesolutions.com/wp-content/uploads/2026/09/devops-bg.jpg') no-repeat;
  background-size: cover;
  background-position: left top;
}

.delivery-model-1 .ori-sec {
  background: #fff url('https://staging.orionesolutions.com/wp-content/uploads/2026/09/delivery-model.jpg') no-repeat;
  background-size: cover;
  background-position: left top;
}

.cl-result-bg .ori-sec {
  background: #fff url('https://staging.orionesolutions.com/wp-content/uploads/2026/09/client-result.jpg') no-repeat;
  background-size: cover;
  background-position: left top;
}

.ori-wrap-inner {
  border-radius: 14px;
  overflow: hidden;
  margin-top: 12px;
}

.stabalise-sectn-bg .ori-sec {
  background: #fff url('https://staging.orionesolutions.com/wp-content/uploads/2026/09/stabilise.jpg') no-repeat;
  background-size: cover;
  background-position: right top;
}

.cloud-delivery .ori-ctaband {
  background: #fff url('https://staging.orionesolutions.com/wp-content/uploads/2026/09/cloud-delivery.jpg') no-repeat;
  background-size: cover;
  background-position: right top;
}

.custom_header nav.navbar {
  align-items: center !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.ori-wmedia img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.tech-stack .ori-utility {
  background-color: transparent;
}


/* ---- Destinations band: centred label + platform chips ------------------ */
.ori-destrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 14px;
}

.ori-destrow .ori-tiny-label {
  margin-right: 10px;
}

@media (max-width:640px) {
  .ori-destrow .ori-tiny-label {
    width: 100%;
    margin: 0 0 4px;
    text-align: center;
  }
}

/* ---- Method: 3-step source -> pre-seed -> window flow ------------------- */
.ori-seedsteps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.ori-seedstep {
  border-top: 3px solid #8a92a6;
  padding-top: 20px;
  min-width: 0;
}

.ori-seedstep--indigo {
  border-top-color: var(--c-indigo);
}

.ori-seedstep--orange {
  border-top-color: var(--c-orange);
}

.ori-seedtag {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin-bottom: 12px;
}

.ori-seedstep--indigo .ori-seedtag {
  color: var(--c-indigo-dark);
}

.ori-seedstep--orange .ori-seedtag {
  color: #a4470b;
}

.ori-seedstep h3 {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.014em;
  margin: 0 0 12px;
  color: var(--c-ink);
}

.ori-seedstep p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0;
}

@media (max-width:720px) {
  .ori-seedsteps {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ---- Generic 4-up card grid (companion to .ori-g2 / .ori-g3) ------------ */
.ori-g4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

@media (max-width:1024px) {
  .ori-g4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px) {
  .ori-g4 {
    grid-template-columns: 1fr;
  }
}

/* ---- Risk cards: .ori-valcard as a column with a pinned "Fix" footer ---- */
.ori-valcard--col {
  display: flex;
  flex-direction: column;
}

.ori-valcard--col p {
  margin-bottom: 16px;
}

.ori-valcard-fix {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #eef0f6;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--c-indigo-dark);
}

.ori-strat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 28px;
  align-items: end;
}

.ori-stratlabel {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.ori-stratrow {
  display: grid;
  gap: 10px;
}

.ori-stratrow--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ori-stratrow--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ori-strattab {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-height: 72px;
  margin: 0;
  padding: 14px 16px;
  text-align: left;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  background: #fff;
  border: 1px solid var(--c-hairline);
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px transparent;
  transition: border-color .18s, box-shadow .18s;
}

.ori-strattab:hover,
.ori-strattab:focus {
  background: #fff;
  border-color: #c3ccea;
  color: inherit;
}

.ori-strattab:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-strattab[aria-selected="true"] {
  border-color: var(--c-indigo);
  box-shadow: inset 0 0 0 1px var(--c-indigo), 0 12px 26px -18px rgba(20, 26, 40, 0.45);
}

.ori-strattab--keep[aria-selected="true"] {
  border-color: var(--c-muted);
  box-shadow: inset 0 0 0 1px var(--c-muted), 0 12px 26px -18px rgba(20, 26, 40, 0.45);
}

.ori-strattab-name {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--c-ink);
}

.ori-strattab-effort {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-muted);
}

.ori-stratrule {
  height: 2px;
  margin-top: 14px;
  border-radius: 2px;
  background: #c3cbe4;
}

.ori-stratrule--grad {
  background: linear-gradient(90deg, var(--c-indigo-light), var(--c-indigo) 55%, var(--c-orange));
}

.ori-stratpanel {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 48px;
  margin-top: 28px;
  padding: 36px 40px;
  background: var(--c-panel);
  border-radius: 18px;
}

.ori-stratpanel h3 {
  font-weight: 700;
  font-size: clamp(30px, 3.4vw, 40px);
  letter-spacing: -0.028em;
  line-height: 1.05;
  margin: 0 0 16px;
  color: var(--c-ink);
}

.ori-stratdesc {
  font-size: 17px;
  line-height: 1.65;
  color: var(--c-slate-2);
  margin: 0;
  max-width: 52ch;
}

.ori-strataside {
  padding-left: 36px;
  border-left: 1px solid #e4e2d8;
}

.ori-stratwhen {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--c-ink);
  margin: 0 0 22px;
}

.ori-strateffort {
  font-size: 16px;
  font-weight: 600;
  color: var(--c-ink);
  margin: 0;
}

@media (max-width:1024px) {
  .ori-strat {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ori-stratpanel {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 28px;
  }

  .ori-strataside {
    padding-left: 0;
    border-left: 0;
    padding-top: 22px;
    border-top: 1px solid #e4e2d8;
  }
}

@media (max-width:720px) {
  .ori-stratrow--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-stratpanel {
    padding: 24px 20px;
  }

  .ori-stratdesc {
    font-size: 16px;
  }

  .ori-stratwhen {
    font-size: 17px;
  }
}

@media (max-width:380px) {
  .ori-strattab {
    padding: 12px;
  }

  .ori-strattab-name {
    font-size: 15.5px;
  }
}

/* ---- Scope layers: .ori-scase row with a 3-column layer layout ---------- */
@media (min-width:901px) {
  .ori-scase--layer {
    grid-template-columns: minmax(0, 0.62fr) minmax(0, 1.25fr) minmax(0, 0.85fr);
    gap: 36px;
    align-items: center;
  }
}

.ori-scase--layer h3 {
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 0;
  color: var(--c-ink);
  min-width: 0;
}

.ori-scase--layer .ori-casetech {
  justify-content: flex-start;
  gap: 7px;
}

.ori-scase--layer .ori-casetech span {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-slate-2);
  background: #fff;
  border: 1px solid var(--c-hairline);
  padding: 6px 11px;
  border-radius: var(--r-pill);
}

/* ---- Migrations delivered (dark): tinted featured card + stat strip ----- */
.ori-workcard--tint {
  background: rgba(125, 146, 255, 0.1);
  border-color: rgba(125, 146, 255, 0.35);
}

@media (min-width:721px) {
  .ori-workcard--tint .ori-workbody h3 {
    font-size: 23px;
  }
}

.ori-workbody .ori-row-mid-wrap-mb14-gap10 .ori-worktag {
  margin-bottom: 0;
}

.ori-tag-pill--fill-orange {
  background: #c2410c;
  color: #fff;
}

.ori-tag-pill--fill-indigo {
  background: var(--c-indigo);
  color: #fff;
}

.ori-workstats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.ori-workstat-v {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: #fff;
}

.ori-workstat-l {
  font-size: 13px;
  line-height: 1.4;
  color: #c3cbe6;
  margin-top: 5px;
}

.ori-workbody.ori-workbody--cap {
  padding: 20px 22px;
}

.ori-workbody.ori-workbody--cap p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width:480px) {
  .ori-workstats {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ---- Process: 7 evidence-gated phase rows -------------------------------- */
.ori-phaserow {
  display: grid;
  grid-template-columns: 52px minmax(0, 230px) minmax(0, 1fr) minmax(0, 240px);
  gap: 22px;
  align-items: start;
  padding: 24px 0;
  border-top: 1px solid var(--c-hairline);
}

.ori-phasenum {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #eef1ff;
  color: var(--c-indigo);
  font-size: 17px;
  font-weight: 800;
}

.ori-phasenum--orange {
  background: var(--c-orange-tint);
  color: #c2560d;
}

.ori-phasehead,
.ori-phaserow>p,
.ori-phaseout {
  padding-top: 4px;
  min-width: 0;
}

.ori-phasetitle {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.25;
  margin: 0;
  color: var(--c-ink);
}

.ori-phasewin {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin-top: 6px;
}

.ori-phaserow>p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0;
}

@media (max-width:1024px) {
  .ori-phaserow {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px 20px;
    padding: 20px 0;
  }

  .ori-phaserow>p,
  .ori-phaseout {
    grid-column: 2;
  }
}

@media (max-width:560px) {
  .ori-phaserow {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px 16px;
  }

  .ori-phasenum {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 15px;
  }

  .ori-phasehead,
  .ori-phaserow>p,
  .ori-phaseout {
    padding-top: 0;
  }
}

/* ---- Why Orion: hairline-ruled explainer rows + compact info cards ------ */
.ori-prose--rules>div {
  padding: 22px 0;
  border-top: 1px solid var(--c-hairline);
}

.ori-prose--rules>div:first-child {
  padding-top: 0;
  border-top: 0;
}

.ori-g2--tight {
  gap: 12px;
}

.ori-seccard--sm {
  padding: 16px;
}

/* ---- Related services: .ori-cap2 as a whole-card link -------------------- */
.ori-cap2--link {
  display: flex;
  flex-direction: column;
  color: inherit;
}

.ori-cap2--link:hover,
.ori-cap2--link:focus-visible {
  color: inherit;
}

.ori-cap2--link:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-cap2--indigo .ori-caplink {
  color: var(--c-indigo-dark);
}

.ori-cap2--orange .ori-caplink {
  color: #a4470b;
}

.ori-anim .ori-cap2--link:hover .ori-caplink svg {
  transform: translateX(4px);
}

@media (prefers-reduced-motion:reduce) {
  .ori-anim .ori-cap2--link:hover .ori-caplink svg {
    transform: none;
  }
}

.talkmigration .ori-reassure-list {
  flex-direction: row;
}

/* ---- Hero: assurance ticks laid out inline under the CTAs --------------- */
.ori-reassure-list--row {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px 24px;
  padding-top: 22px;
  margin-bottom: 0;
}

.ori-reassure-list--row .ori-reassure-item {
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
}

/* ---- Hero: operating-model stack (org governs / Orion operates / estate) - */
.ori-opmodel {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ori-oplayer {
  padding: 18px 20px;
  border-radius: var(--r-tile);
}

.ori-oplayer--org {
  background: rgba(125, 146, 255, 0.1);
  border: 1px solid rgba(125, 146, 255, 0.35);
}

.ori-oplayer--ops {
  padding: 22px 20px;
  background: linear-gradient(135deg, var(--c-indigo), var(--c-indigo-dark));
  box-shadow: 0 22px 44px -24px rgba(59, 91, 219, 0.9);
}

.ori-oplayer--estate {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.ori-ophead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.ori-opname {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c3cbe4;
}

.ori-oplayer--org .ori-opname {
  color: #b7c4ff;
}

.ori-oplayer--ops .ori-opname {
  color: #fff;
}

.ori-oprole {
  flex: none;
  font-size: 12.5px;
  font-weight: 600;
  color: #9aa6cd;
}

.ori-oplayer--ops .ori-oprole {
  color: #dbe2ff;
}

.ori-opchips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ori-opchip {
  font-size: 13px;
  font-weight: 600;
  padding: 6px 11px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #e2e7f8;
}

.ori-oplayer--estate .ori-opchip {
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #d5dcf3;
}

.ori-opchips--ops {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ori-opchips--ops .ori-opchip {
  padding: 9px 4px;
  font-size: 12.5px;
  font-weight: 700;
  text-align: center;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.ori-opflow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 26px;
  padding: 8px 0;
  font-size: 12.5px;
  font-weight: 600;
  color: #b7c4ff;
}

.ori-opflow>span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ori-opflow svg {
  flex: none;
}

.ori-opflow--up {
  color: #f9c49a;
}

@media (max-width:480px) {
  .ori-oplayer {
    padding: 16px;
  }

  .ori-opchips--ops {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ---- Client results: before/after bar cards, first card wider ----------
   Bars grow in once the card is revealed (same .ori-in hook as .ori-jfill). */
.ori-resultgrid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
}

.ori-resultcard {
  display: flex;
  flex-direction: column;
  padding: 24px 24px 20px;
}

.ori-resultcard--feature {
  border: 1.5px solid var(--c-indigo);
  box-shadow: 0 18px 38px -26px rgba(59, 91, 219, 0.6);
}

.ori-anim .ori-resultcard--feature:hover {
  border-color: var(--c-indigo);
}

.ori-resultcard h3 {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 10px 0 18px;
  color: var(--c-ink);
}

.ori-resultmetric {
  font-size: 13px;
  font-weight: 600;
  color: var(--c-slate);
  margin-bottom: 10px;
}

.ori-babars {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 8px 12px;
  align-items: center;
  margin-bottom: 16px;
}

.ori-babars-k {
  font-size: 12px;
  font-weight: 700;
  color: var(--c-muted);
}

.ori-babars-k--after {
  color: var(--c-indigo-dark);
}

.ori-babars-v {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.ori-babar {
  display: block;
  flex: none;
  height: 12px;
  min-width: 6px;
  border-radius: 6px;
  background: #c3c8d5;
  transform-origin: left center;
}

.ori-babar--after {
  background: var(--c-indigo);
}

.ori-anim [data-animate] .ori-babar {
  transform: scaleX(0);
  transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1) 200ms;
}

.ori-anim [data-animate].ori-in .ori-babar {
  transform: scaleX(1);
}

.ori-babars-n {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-slate);
  white-space: nowrap;
}

.ori-babars-n--after {
  font-size: 15px;
  font-weight: 800;
  color: var(--c-ink);
}

.ori-resultcard--feature .ori-babars-n--after {
  font-size: 20px;
}

.ori-resultfoot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #e8eaf2;
}

.ori-resultfoot>span:first-child {
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-slate);
}

.ori-resultdelta {
  flex: none;
  font-size: 15px;
  font-weight: 800;
  color: #0f7a45;
}

@media (max-width:1024px) {
  .ori-resultgrid {
    grid-template-columns: 1fr 1fr;
  }

  .ori-resultgrid>:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width:720px) {
  .ori-resultgrid {
    grid-template-columns: 1fr;
  }
}

/* ---- What we run: 2-up hairline-ruled rows (icon + title + deliverables) - */
.ori-svclist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 48px;
}

.ori-svcrow {
  padding: 24px 0;
  border-top: 1px solid var(--c-hairline);
}

.ori-svcrow h3 {
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink);
}

.ori-svcrow p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0 0 10px;
}

.ori-svcget {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-svcget b {
  font-weight: 700;
  color: var(--c-indigo-dark);
}

@media (max-width:760px) {
  .ori-svclist {
    grid-template-columns: 1fr;
  }
}

@media (max-width:400px) {
  .ori-svcrow.ori-colsauto {
    column-gap: 14px;
  }
}


.ori-rmatrix {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ori-rband {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.ori-rband-layer {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin: 0;
  color: var(--c-ink);
}

.ori-rseg {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr) minmax(0, 0.9fr);
  border: 1px solid #dfe4f2;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-anim .ori-rband:hover .ori-rseg {
  box-shadow: 0 14px 30px -22px rgba(20, 26, 48, 0.45);
}

.ori-rcell {
  padding: 13px 14px;
  font-size: 13.5px;
  line-height: 1.5;
}

.ori-rcell--provider {
  background: #eef0f5;
  color: var(--c-slate);
}

.ori-rcell--orion {
  background: var(--c-indigo);
  color: #fff;
  font-weight: 500;
}

.ori-rcell--you {
  background: #fff5ec;
  color: #4a2a12;
}

.ori-rhead .ori-rseg {
  border: 0;
  border-radius: 0;
}

.ori-rhead .ori-rcell {
  padding: 0 14px 2px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: none;
  color: var(--c-muted);
}

.ori-rhead .ori-rcell--orion {
  color: var(--c-indigo-dark);
}

.ori-rhead .ori-rcell--you {
  color: #a4470b;
}

@media (max-width:1024px) {
  .ori-rband {
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 16px;
  }
}

@media (max-width:720px) {
  .ori-rhead {
    display: none;
  }

  .ori-rmatrix {
    gap: 20px;
  }

  .ori-rband {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .ori-rseg {
    grid-template-columns: 1fr;
  }

  .ori-rcell::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.75;
  }
}

.ori-ladder {
  position: relative;
}

.ori-ladder .ori-jline {
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 2px;
}

.ori-ladder .ori-jfill {
  background: linear-gradient(90deg, var(--c-indigo-light), var(--c-indigo) 55%, var(--c-orange));
}

.ori-ladder-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.ori-ladder-step {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 30px 22px 0 0;
}

.ori-ladder-dot {
  position: absolute;
  top: -6px;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--c-indigo);
}

.ori-ladder-step--last .ori-ladder-dot {
  border-color: var(--c-orange);
}

.ori-ladder-time {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--c-indigo-dark);
}

.ori-ladder-step--last .ori-ladder-time {
  color: #c2410c;
}

.ori-ladder-step h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 8px 0;
  color: var(--c-ink);
}

.ori-ladder-step p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0 0 16px;
}

.ori-ladder-you {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed #cfd6e8;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--c-slate-2);
}

.ori-ladder-you svg {
  flex: none;
  margin-top: 2px;
}

@media (max-width:1024px) {
  .ori-ladder-steps {
    grid-template-columns: 1fr 1fr;
    gap: 34px 24px;
  }

  .ori-ladder-step {
    padding-top: 26px;
    border-top: 3px solid var(--c-indigo);
  }

  .ori-ladder-step--last {
    border-top-color: var(--c-orange);
  }

  .ori-ladder-dot {
    top: -9.5px;
  }
}

@media (max-width:640px) {
  .ori-ladder-steps {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ori-ladder-step {
    padding: 0 0 26px 24px;
    border-top: 0;
    border-left: 3px solid var(--c-indigo);
  }

  .ori-ladder-step--last {
    padding-bottom: 0;
    border-left-color: var(--c-orange);
  }

  .ori-ladder-dot {
    top: 0;
    left: -9.5px;
  }
}

/* ---- Service tiers: featured card, coverage-week chart, P1 / price row -- */
.ori-model--feature {
  border: 1.5px solid var(--c-indigo);
  box-shadow: 0 18px 38px -26px rgba(59, 91, 219, 0.6);
}

.ori-anim .ori-model--feature:hover {
  border-color: var(--c-indigo);
}

.ori-model--feature .ori-modelmark {
  opacity: 1;
}

.ori-tierhead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.ori-model--mark .ori-tierhead h3 {
  font-size: 21px;
  margin: 0;
}

.ori-tiercover {
  flex: none;
  font-size: 14px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 7px;
  background: #eef1ff;
  color: var(--c-indigo-dark);
}

.ori-model--feature .ori-tiercover {
  background: var(--c-indigo);
  color: #fff;
}

.ori-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
}

.ori-weekday {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  min-width: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--c-muted);
}

.ori-weekcell {
  position: relative;
  display: block;
  width: 100%;
  height: 52px;
  border-radius: 6px;
  background: #f0f2f8;
  overflow: hidden;
}

.ori-weekfill {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  background: var(--c-indigo);
  transform-origin: bottom center;
}

.ori-weekfill--12 {
  top: 25%;
  height: 50%;
}

.ori-anim [data-animate] .ori-weekfill {
  transform: scaleY(0);
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1) 250ms;
}

.ori-anim [data-animate].ori-in .ori-weekfill {
  transform: scaleY(1);
}

.ori-tierstats {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0;
  padding: 14px 0;
  border-top: 1px solid #e8eaf2;
  border-bottom: 1px solid #e8eaf2;
}

.ori-tierstats>div:last-child {
  text-align: right;
}

.ori-tierstat-v {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin-top: 4px;
  color: var(--c-ink);
}

.ori-tierstat-v--sm {
  font-size: 18px;
}

.ori-tierstat-u {
  font-size: 12px;
  color: var(--c-muted);
}

.ori-model--mark .ori-seclist {
  margin-bottom: 0;
  gap: 9px;
}

.ori-model--mark .ori-seclist li {
  font-size: 14px;
}

@media (min-width:641px) and (max-width:1024px) {
  .ori-tierstats {
    flex-direction: column;
    gap: 12px;
  }

  .ori-tierstats>div:last-child {
    text-align: left;
  }
}

.ori-tierstat-v {
  white-space: nowrap;
}

/* ---- Business case: stacked first-year cost bars + legend --------------- */
.ori-costs {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.ori-costrow {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 120px;
  gap: 18px;
  align-items: center;
}

.ori-costlabel {
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-costbar {
  display: block;
  height: 40px;
  border-radius: 10px;
  overflow: hidden;
  background: #f0f2f8;
}

.ori-costfill {
  display: flex;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}

.ori-anim [data-animate] .ori-costfill {
  transform: scaleX(0);
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1) 150ms;
}

.ori-anim [data-animate].ori-in .ori-costfill {
  transform: scaleX(1);
}

.ori-costseg {
  display: block;
  flex: none;
  height: 100%;
}

.ori-costtotal {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.015em;
  text-align: right;
  color: var(--c-slate);
}

.ori-costtotal--orion {
  color: var(--c-indigo-dark);
}

.ori-costkey {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 22px;
}

.ori-costkey>span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: var(--c-slate-2);
}

.ori-costkey b {
  font-weight: 700;
}

.ori-costsw {
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 3px;
}

.ori-cost-c1 {
  background: #8a92a6;
}

.ori-cost-c2 {
  background: #a9b0c2;
}

.ori-cost-c3 {
  background: #c3c8d5;
}

.ori-cost-c4 {
  background: #dadde6;
}

.ori-cost-c5 {
  background: var(--c-indigo);
}

.ori-cost-c6 {
  background: var(--c-indigo-light);
}

@media (max-width:720px) {
  .ori-costrow {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
  }

  .ori-costtotal {
    grid-column: 2;
    grid-row: 1;
    font-size: 18px;
  }

  .ori-costbar {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 32px;
  }

  .ori-costkey {
    gap: 10px 18px;
  }
}

/* ---- First 90 days (dark): ownership-shift bars + stage cards ----------- */
.ori-shift {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 28px;
}

.ori-shiftrow {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.ori-shiftlabel {
  font-size: 12.5px;
  font-weight: 700;
  color: #c3cbe4;
  white-space: nowrap;
}

.ori-shiftlabel--orion {
  color: #b7c4ff;
}

.ori-shiftlabel--gov {
  color: #f9c49a;
}

.ori-shiftbar {
  display: block;
  height: 14px;
  border-radius: 7px;
}

.ori-shiftbar--team {
  background: linear-gradient(90deg, #c3cbe4 0%, #c3cbe4 30%, rgba(195, 203, 228, 0.25) 70%, rgba(195, 203, 228, 0.08) 100%);
}

.ori-shiftbar--orion {
  background: linear-gradient(90deg, rgba(125, 146, 255, 0.1) 0%, rgba(125, 146, 255, 0.35) 30%, var(--c-indigo) 70%, var(--c-indigo) 100%);
}

.ori-shiftbar--gov {
  background: rgba(249, 163, 94, 0.55);
}

@media (max-width:560px) {
  .ori-shiftrow {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

.ori-roadcard {
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: var(--r-card);
}

.ori-roadcard--accent {
  border-color: rgba(249, 163, 94, 0.4);
}

.ori-roadhead {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 6px;
}

.ori-roadhead .ori-tiny-label {
  color: #c3cbe4;
}

.ori-roadnum {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #8ea2ff;
}

.ori-roadcard--accent .ori-roadnum {
  color: var(--c-orange-light);
}

.ori-roadcard h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.014em;
  margin: 0 0 14px;
  color: #fff;
}

.ori-roadcard .ori-seclist li svg {
  margin-top: 3px;
}

@media (max-width:1024px) {
  .ori-g3--stack {
    grid-template-columns: 1fr;
  }
}

.ori-ctaband--form,
#contact .ori-ctaband--form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
}

.ori-ctaband--form .ori-ctaband-copy,
#contact .ori-ctaband--form .ori-ctaband-copy {
  max-width: none;
  padding-right: 0;
}

.ori-ctaband--form .ori-reassure-list {
  margin-bottom: 0;
}

.ori-ctaband--form .ori-aiform {
  box-shadow: 0 26px 56px -30px rgba(0, 0, 0, 0.6);
}

.ori-ctaband--form .ori-aiform-body .wpforms-field-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
}

.ori-ctaband--form .ori-aiform-body .wpforms-field-container .wpforms-field-select,
.ori-ctaband--form .ori-aiform-body .wpforms-field-container .wpforms-field-textarea {
  grid-column: 1 / -1;
}

@media (max-width:960px) {

  .ori-ctaband--form,
  #contact .ori-ctaband--form {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width:640px) {
  .ori-ctaband--form .ori-aiform-body .wpforms-field-container {
    grid-template-columns: 1fr;
  }
}

/* Managed IT Services CSS */
.ori-est .ori-aiform-body {
  gap: 16px;
}

.ori-estlabel {
  font-size: 12.5px;
  font-weight: 600;
  color: #cdd6f5;
  margin-bottom: 8px;
}

.ori-estopts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.ori-estopt,
.ori-estopt:hover,
.ori-estopt:focus {
  min-height: 44px;
  margin: 0;
  padding: 8px 6px;
  border-radius: 9px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.06);
  color: #dbe2fb;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: none;
  transition: background 180ms, border-color 180ms, color 180ms;
}

.ori-estopt:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.36);
}

.ori-estopt:focus-visible {
  outline: 2px solid var(--c-indigo-light);
  outline-offset: 2px;
}

.ori-estopt[aria-pressed="true"],
.ori-estopt[aria-pressed="true"]:hover,
.ori-estopt[aria-pressed="true"]:focus {
  background: #fff;
  color: var(--c-ink);
  border-color: #fff;
}

.ori-estres {
  padding: 16px 18px;
  border-radius: 12px;
  background: rgba(59, 91, 219, 0.18);
  border: 1px solid rgba(125, 146, 255, 0.45);
}

[data-est-rec][hidden] {
  display: none !important;
}

.ori-estrow {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.ori-estk {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b7c4ff;
}

.ori-estname {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-top: 2px;
  color: #fff;
}

.ori-estright {
  flex: none;
  text-align: right;
}

.ori-esthours {
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--c-orange-light);
}

.ori-estunit {
  font-size: 12.5px;
  color: #c3cbe4;
}

.ori-estmeta {
  font-size: 13.5px;
  line-height: 1.5;
  color: #dbe2fb;
  margin-top: 10px;
}

.ori-estlink {
  align-self: flex-start;
  font-size: 14px;
  font-weight: 700;
  color: #c4d0ff;
}

.ori-estlink:hover {
  color: #fff;
}

@media (max-width:400px) {

  .ori-estopt,
  .ori-estopt:hover,
  .ori-estopt:focus {
    font-size: 12.5px;
    padding: 8px 4px;
  }

  .ori-estname,
  .ori-esthours {
    font-size: 22px;
  }
}

/* ---- Credentials band: 4 icon + label items ------------------------------ */
.ori-credband {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  border-bottom: 1px solid #ecebe3;
}

.ori-credrow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.ori-creditem {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.ori-credtitle {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-creddesc {
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-slate);
}

@media (max-width:1024px) {
  .ori-credrow {
    grid-template-columns: 1fr 1fr;
    gap: 20px 28px;
  }
}

@media (max-width:560px) {
  .ori-credrow {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ---- Scope map: inside-the-block grid + quoted-separately column ---------- */
.ori-scopemap {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
  background: #fff;
  border: 1px solid #e0e5f0;
  border-radius: 18px;
  overflow: hidden;
}

.ori-scopehead {
  padding: 14px 20px;
  background: var(--c-indigo-dark);
  color: #fff;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ori-scopehead--out {
  background: #fdf0e4;
  color: #9a3412;
}

.ori-scopein {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #e6ebf6;
}

.ori-scopecell {
  min-width: 0;
  padding: 22px 20px;
  background: #fff;
  transition: background 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-scopecell:hover {
  background: #fafbff;
}

.ori-scopetitle {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.ori-scopetitle svg {
  flex: none;
}

.ori-scopetitle h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--c-ink);
}

.ori-scopecell p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
  margin: 0 0 12px;
}

.ori-scopechips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ori-scopechips .ori-credpill {
  font-size: 12px;
  padding: 4px 9px;
}

.ori-scopeout {
  background: #fbf7f2;
  border-left: 2px dashed #e8c9ad;
}

.ori-scopeoutlist {
  padding: 6px 20px 16px;
}

.ori-scopex {
  padding: 14px 0;
  border-bottom: 1px solid #efe2d4;
}

.ori-scopex:last-child {
  border-bottom: 0;
}

.ori-scopex h3 {
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 4px;
  color: var(--c-ink);
}

.ori-scopex p {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
  margin: 0;
}

@media (max-width:1024px) {
  .ori-scopemap {
    grid-template-columns: 1fr;
  }

  .ori-scopein {
    grid-template-columns: 1fr 1fr;
  }

  .ori-scopeout {
    border-left: 0;
    border-top: 2px dashed #e8c9ad;
  }

  .ori-scopeoutlist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
  }

  .ori-scopex:nth-last-child(2) {
    border-bottom: 0;
  }
}

@media (max-width:640px) {

  .ori-scopein,
  .ori-scopeoutlist {
    grid-template-columns: 1fr;
  }

  .ori-scopex:nth-last-child(2) {
    border-bottom: 1px solid #efe2d4;
  }
}

/* ---- Which service: question pill + bracket over the two service cards --- */
.ori-forkhead {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ori-forkq {
  position: relative;
  z-index: 1;
  padding: 10px 18px;
  border-radius: var(--r-pill);
  background: var(--c-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.ori-forkline {
  display: block;
  align-self: stretch;
  height: 30px;
  margin: -2px 25% 0;
  border: 2px solid #c3cbe4;
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
}

.ori-model--mark h3.ori-forkname {
  font-size: 21px;
  margin: 12px 0 10px;
}

@media (max-width:760px) {
  .ori-forkq {
    margin-bottom: 18px;
  }

  .ori-forkline {
    display: none;
  }
}

/* ---- Packages: hour pool, 2x2 fact grid, inherit label -------------------- */
.ori-tierhead .ori-tag-pill {
  flex: none;
}

.ori-pkhours {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--c-slate);
}

.ori-pkhours span {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--c-indigo-dark);
}

.ori-pkpool {
  height: 8px;
  border-radius: 4px;
  background: #eef0f6;
  margin-bottom: 16px;
  overflow: hidden;
}

.ori-pkpool span {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: var(--c-indigo);
  transform-origin: left center;
}

.ori-anim [data-animate] .ori-pkpool span {
  transform: scaleX(0);
  transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1) 220ms;
}

.ori-anim [data-animate].ori-in .ori-pkpool span {
  transform: scaleX(1);
}

.ori-pkfacts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 10px;
  margin: 0 0 16px;
  padding: 12px 0;
  border-top: 1px solid #e8eaf2;
  border-bottom: 1px solid #e8eaf2;
}

.ori-pkfacts dt {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin: 0;
}

.ori-pkfacts dd {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  margin: 3px 0 0;
  color: var(--c-ink);
}

.ori-pkinherit {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c-indigo-dark);
  margin-bottom: 10px;
}

/* ---- Where the hours go: labelled stacked bar + legend (reuses .ori-costbar) */
.ori-hours {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 48px;
  align-items: center;
  margin-top: 32px;
  padding: 32px;
  border-radius: 18px;
  background: var(--c-panel);
  border: 1px solid #ecebe3;
}

.ori-hourstitle {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 10px;
  color: var(--c-ink);
}

.ori-hoursbar {
  height: 44px;
  margin-bottom: 18px;
}

.ori-hoursbar .ori-costseg {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 700;
  color: #fff;
}

.ori-hrs-c1 {
  background: var(--c-indigo-dark);
}

.ori-hrs-c2 {
  background: var(--c-indigo);
}

.ori-hrs-c3 {
  background: var(--c-indigo-light);
}

.ori-hrs-c4 {
  background: #a9b6ff;
}

.ori-hrs-c5 {
  background: var(--c-orange-light);
}

.ori-hoursbar .ori-hrs-c4,
.ori-hoursbar .ori-hrs-c5 {
  color: var(--c-ink);
}

.ori-hourskey {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ori-hourskey>div {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  color: var(--c-slate-2);
}

.ori-hourskey b {
  font-weight: 700;
  color: var(--c-ink);
}

@media (max-width:1024px) {
  .ori-hours {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width:640px) {
  .ori-hours {
    padding: 24px 20px;
  }

  .ori-hourstitle {
    font-size: 21px;
  }

  .ori-hoursbar {
    height: 38px;
  }

  .ori-hoursbar .ori-costseg {
    font-size: 11px;
  }
}

/* ---- Service levels (dark): response markers on a shared time scale ------
   Desktop: label column + track. <=1024px the label sits above a full-width
   track. <=820px the track becomes a plain stacked list of the three marks. */
.ori-slarow {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-slahead {
  padding: 0 0 10px;
  border-top: 0;
}

.ori-slaticks {
  position: relative;
  height: 18px;
}

.ori-slaticks span {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  font-size: 12px;
  font-weight: 600;
  color: #aab2cc;
  white-space: nowrap;
}

.ori-slaticks span:first-child {
  transform: none;
}

.ori-slaticks span:last-child {
  transform: translateX(-100%);
}

.ori-slalevel {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  color: #fff;
}

.ori-slalevel--p1 {
  color: var(--c-orange-light);
}

.ori-slaex {
  font-size: 13px;
  line-height: 1.45;
  color: #c3cbe6;
  margin: 4px 0 0;
}

.ori-slatrack {
  position: relative;
  height: 56px;
}

.ori-slatrack::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 27px;
  height: 2px;
  background: rgba(255, 255, 255, 0.14);
}

.ori-slamark {
  position: absolute;
  top: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transform: translateX(-6px);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.ori-slamark--lo {
  top: 32px;
}

.ori-slamark--start {
  transform: none;
}

.ori-slamark--end {
  transform: translateX(-100%);
}

.ori-slamark--b {
  color: #9fb0f5;
}

.ori-slamark--s {
  color: #6f8bff;
}

.ori-slamark--e {
  color: var(--c-orange);
}

.ori-sladot {
  display: block;
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px #101836;
}

.ori-slakey {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 20px;
}

.ori-slakey>span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: #dbe2fb;
}

@media (max-width:1024px) {
  .ori-slarow {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .ori-slahead>span:first-child {
    display: none;
  }
}

@media (max-width:820px) {
  .ori-slahead {
    display: none;
  }

  .ori-slarow {
    gap: 10px;
  }

  .ori-slarow:nth-child(2) {
    border-top: 0;
    padding-top: 0;
  }

  .ori-slatrack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: auto;
  }

  .ori-slatrack::before {
    display: none;
  }

  .ori-slamark,
  .ori-slamark--lo,
  .ori-slamark--start,
  .ori-slamark--end {
    position: static;
    transform: none;
    font-size: 13px;
    white-space: normal;
  }
}

/* ---- Coverage: taller week chart, partial fills + on-call stripes -------- */
.ori-week--tall .ori-weekcell {
  height: 64px;
}

.ori-weekfill--8 {
  top: 37.5%;
  height: 33.3%;
}

.ori-weekfill--12x {
  top: 29%;
  height: 50%;
}

.ori-weekoncall {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, #9fb0f5 0 3px, #dfe5fb 3px 6px);
  opacity: 0.9;
}

.ori-costsw--oncall {
  background: repeating-linear-gradient(45deg, #9fb0f5 0 3px, #dfe5fb 3px 6px);
}

.ori-model--mark>.ori-covernote {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
  margin: 14px 0 0;
}

/* ---- Joining & leaving: 3 onboarding phases + steady state + offboarding - */
.ori-lifebar {
  display: grid;
  grid-template-columns: 3fr 0.9fr 1.1fr;
}

.ori-lifebar span {
  display: block;
  height: 6px;
  background: var(--c-indigo);
}

.ori-lifebar span:first-child {
  border-radius: 3px 0 0 3px;
}

.ori-lifebar span:nth-child(2) {
  background: #9fb0f5;
}

.ori-lifebar span:last-child {
  background: #c2410c;
  border-radius: 0 3px 3px 0;
}

.ori-life {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.ori-lifestep {
  min-width: 0;
  padding: 22px 22px 0 0;
}

.ori-lifestep--leave {
  padding: 22px 0 0 20px;
  border-left: 2px dashed #e8c9ad;
}

.ori-lifewin {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-indigo-dark);
}

.ori-lifestep--steady .ori-lifewin {
  color: var(--c-slate);
}

.ori-lifestep--leave .ori-lifewin {
  color: #c2410c;
}

.ori-lifestep h3 {
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 6px 0 12px;
  color: var(--c-ink);
}

.ori-lifestep .ori-seclist {
  gap: 7px;
}

.ori-lifestep .ori-seclist li {
  gap: 6px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-lifestep .ori-seclist li svg {
  margin-top: 3px;
}

.ori-lifestep .ori-seclist li.ori-lifestrong {
  font-weight: 700;
  color: var(--c-ink);
}

@media (max-width:1024px) {
  .ori-lifebar {
    display: none;
  }

  .ori-life {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 24px;
  }

  .ori-lifestep,
  .ori-lifestep--leave {
    padding: 18px 0 0;
    border-left: 0;
    border-top: 3px solid var(--c-indigo);
  }

  .ori-lifestep--steady {
    border-top-color: #9fb0f5;
  }

  .ori-lifestep--leave {
    border-top: 3px dashed #c2410c;
  }
}

@media (max-width:640px) {
  .ori-life {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

/* The shared <=992px rule shrinks every .ori-tag-pill to 9.5px; keep this
   page's package / service pills readable. */
@media (max-width:992px) {

  .ori-tierhead .ori-tag-pill,
  .ori-tag-pill.ori-forktag {
    font-size: 11px;
    letter-spacing: 0.05em;
  }
}

/* ERP CRM Development Page css */
/* ---- Hero: one customer record, CRM + ERP events on a single timeline --- */
.ori-erp-rec {
  margin: 0;
  min-width: 0;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(125, 146, 255, 0.1), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  overflow: hidden;
}

.ori-erp-rechead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-erp-recav {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}

.ori-erp-recwho {
  min-width: 0;
}

.ori-erp-recname {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.ori-erp-recsub {
  font-size: 12.5px;
  color: #aab2cc;
}

.ori-erp-reckey {
  flex: none;
  display: flex;
  gap: 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: #c3cbe6;
}

.ori-erp-reckey span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ori-erp-tldot {
  display: block;
  flex: none;
  width: 9px;
  height: 9px;
}

.ori-erp-reckey .ori-erp-tldot {
  width: 8px;
  height: 8px;
}

.ori-erp-tldot--crm {
  border-radius: 50%;
  background: #8ea2ff;
}

.ori-erp-tldot--erp {
  border-radius: 2px;
  background: var(--c-orange-light);
}

.ori-erp-tl {
  padding: 8px 20px 6px;
}

.ori-erp-tlrow {
  display: grid;
  grid-template-columns: 54px 18px minmax(0, 1fr) 84px;
  column-gap: 10px;
  align-items: start;
}

.ori-erp-tlwhen {
  padding-top: 11px;
  font-size: 12.5px;
  color: #aab2cc;
  font-variant-numeric: tabular-nums;
}

.ori-erp-tlmark {
  position: relative;
  align-self: stretch;
  display: flex;
  justify-content: center;
}

.ori-erp-tlmark::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  margin-left: -0.5px;
  background: rgba(255, 255, 255, 0.18);
}

.ori-erp-tlrow:first-child .ori-erp-tlmark::before {
  top: 17px;
}

.ori-erp-tlrow:last-child .ori-erp-tlmark::before {
  bottom: calc(100% - 17px);
}

.ori-erp-tlmark .ori-erp-tldot {
  position: relative;
  margin-top: 13px;
}

.ori-erp-tlwhat {
  min-width: 0;
  padding: 9px 0 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-erp-tlwhat div {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
}

.ori-erp-tlwhat span {
  display: block;
  margin-top: 2px;
  font-size: 12.5px;
  line-height: 1.4;
  color: #aab2cc;
}

.ori-erp-tlsrc {
  align-self: stretch;
  margin-left: -10px;
  padding: 11px 0 10px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 12px;
  color: #aab2cc;
  text-align: right;
  white-space: nowrap;
}

.ori-erp-recfoot {
  padding: 12px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 13px;
  line-height: 1.5;
  color: #c3cbe6;
}

@media (max-width:480px) {
  .ori-erp-rechead {
    flex-wrap: wrap;
    padding: 14px 16px;
  }

  .ori-erp-tl {
    padding: 6px 14px 4px;
  }

  .ori-erp-tlrow {
    grid-template-columns: 44px 14px minmax(0, 1fr) 62px;
    column-gap: 8px;
  }

  .ori-erp-tlwhen {
    font-size: 11.5px;
  }

  .ori-erp-tlwhat div {
    font-size: 13.5px;
  }

  .ori-erp-tlwhat span {
    font-size: 12px;
  }

  .ori-erp-tlsrc {
    margin-left: -8px;
    padding-left: 8px;
    font-size: 11px;
  }

  .ori-erp-recfoot {
    padding: 12px 16px;
  }
}

/* ---- Selected-work rail: five ruled system names ------------------------- */
.ori-erp-railsec {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
  border-bottom: 1px solid #ecebe3;
}

.ori-erp-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}

.ori-erp-railitem {
  display: block;
  min-width: 0;
  padding-left: 14px;
  border-left: 3px solid var(--c-indigo);
  color: var(--c-ink);
  transition: border-color 180ms, color 180ms;
}

.ori-erp-railitem:hover {
  color: var(--c-indigo-dark);
  border-left-color: var(--c-orange);
}

.ori-erp-railname {
  display: block;
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.35;
}

.ori-erp-raildesc {
  display: block;
  margin-top: 2px;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--c-slate);
}

@media (max-width:1024px) {
  .ori-erp-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 22px;
  }
}

@media (max-width:560px) {
  .ori-erp-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 16px;
  }
}

/* ---- Platforms: filter pills dim the cards that don't match --------------
   latest-custom.js [data-filter] toggles aria-pressed on [data-filter-opt]
   and .is-dim on each [data-filter-kind] card. -------------------------- */
.ori-erp-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.ori-erp-pill,
.ori-erp-pill:hover,
.ori-erp-pill:focus {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin: 0;
  padding: 0 16px;
  border-radius: var(--r-pill);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  background: #fff;
  color: var(--c-indigo-dark);
  border: 1.5px solid #c3cbe4;
  box-shadow: none;
  transition: background 180ms, border-color 180ms, color 180ms;
}

.ori-erp-pill:hover {
  border-color: var(--c-indigo);
}

.ori-erp-pill:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-erp-pill[aria-pressed="true"],
.ori-erp-pill[aria-pressed="true"]:hover,
.ori-erp-pill[aria-pressed="true"]:focus {
  background: var(--c-indigo);
  color: #fff;
  border-color: var(--c-indigo);
}

.ori-erp-pill--help,
.ori-erp-pill--help:focus {
  color: #c2410c;
  border-color: #f0c9a8;
}

.ori-erp-pill--help:hover {
  background: #fff5ec;
  color: #9a3412;
  border-color: #f0c9a8;
}

.ori-erp-plats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ori-erp-plat {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 22px 20px;
}

.ori-erp-plat .ori-tag-pill {
  align-self: flex-start;
}

.ori-erp-plat h3 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 12px 0 16px;
  color: var(--c-ink);
}

.ori-erp-platrow {
  padding: 11px 0;
  border-top: 1px solid #e8eaf2;
}

.ori-erp-platk {
  margin-bottom: 3px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-muted);
}

.ori-erp-platrow p {
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-slate-2);
  margin: 0;
}

.ori-erp-platproof {
  margin-top: auto;
  padding-top: 11px;
  border-top: 1px solid #e8eaf2;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--c-indigo-dark);
}

.ori-erp-plats .ori-erp-plat.is-dim {
  opacity: 0.35;
}

@media (max-width:1024px) {
  .ori-erp-plats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px) {
  .ori-erp-plats {
    grid-template-columns: 1fr;
  }
}

@media (max-width:992px) {
  .ori-erp-plat .ori-tag-pill {
    font-size: 11px;
    letter-spacing: 0.06em;
  }
}

/* ---- Platforms: standard -> unusual fit scale ----------------------------
   Below 640px Odoo and Custom flip their labels above the bar and the end
   labels hug the bar ends, so the four names never collide. ------------- */
.ori-erp-fit {
  margin-top: 28px;
  padding: 22px 26px;
  border-radius: var(--r-card);
  background: var(--c-panel);
  border: 1px solid #ecebe3;
}

.ori-erp-fitends {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--c-slate);
}

.ori-erp-fitends span:last-child {
  text-align: right;
}

.ori-erp-fitbar {
  position: relative;
  display: block;
  height: 10px;
  margin: 0 8px 46px;
  border-radius: 5px;
  background: linear-gradient(90deg, #c3cbe4, var(--c-indigo) 70%, #c2410c);
}

.ori-erp-fitmark {
  position: absolute;
  top: -4px;
  width: 0;
  height: 18px;
}

.ori-erp-fitmark i {
  position: absolute;
  top: 0;
  left: -9px;
  display: block;
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border-radius: 50%;
  background: #fff;
  border: 4px solid var(--c-indigo);
}

.ori-erp-fitmark--custom i {
  border-color: #c2410c;
}

.ori-erp-fitmark b {
  position: absolute;
  top: 26px;
  left: 0;
  transform: translateX(-50%);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  color: var(--c-ink);
}

.ori-erp-fitnote {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
  margin: 0;
}

@media (max-width:640px) {
  .ori-erp-fit {
    padding: 20px 18px;
  }

  .ori-erp-fitbar {
    margin: 36px 8px 42px;
  }

  .ori-erp-fitmark--up b {
    top: auto;
    bottom: 26px;
  }

  .ori-erp-fitmark--first b {
    left: -9px;
    transform: none;
  }

  .ori-erp-fitmark--last b {
    left: auto;
    right: -9px;
    transform: none;
  }

  .ori-erp-fitmark b {
    font-size: 12.5px;
  }
}

/* ---- What we do: five-stage lifecycle rail ------------------------------- */
.ori-erp-life {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}

.ori-erp-lifestep {
  position: relative;
  min-width: 0;
  padding: 26px 22px 0 0;
  border-top: 3px solid var(--c-indigo);
}

.ori-erp-lifestep--last {
  border-top-color: var(--c-orange);
}

.ori-erp-lifedot {
  position: absolute;
  top: -10px;
  left: 0;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 50%;
  background: var(--c-panel);
  border: 3px solid var(--c-indigo);
}

.ori-erp-lifestep--last .ori-erp-lifedot {
  border-color: var(--c-orange);
}

.ori-erp-lifestep .ori-row-mid-mb14-gap12 {
  gap: 10px;
  margin-bottom: 10px;
}

.ori-erp-lifenum {
  font-size: 13px;
  font-weight: 700;
  color: var(--c-muted);
}

.ori-erp-lifestep h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
  margin: 0 0 6px;
  color: var(--c-ink);
}

.ori-erp-lifestep p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0;
}

@media (max-width:1024px) {
  .ori-erp-life {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 40px;
  }
}

@media (max-width:720px) {
  .ori-erp-life {
    grid-template-columns: 1fr;
    row-gap: 34px;
  }

  .ori-erp-lifestep {
    padding-right: 0;
  }
}

/* ---- What we do: six-step data migration card ---------------------------- */
.ori-erp-mig {
  margin-top: 36px;
  padding: 24px 26px;
  border-radius: var(--r-card);
  background: #fff;
  border: 1px solid var(--c-hairline);
}

.ori-erp-mighead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 16px;
  margin-bottom: 18px;
}

.ori-erp-mighead h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  color: var(--c-ink);
}

.ori-erp-mighead span {
  font-size: 13.5px;
  color: var(--c-slate);
}

.ori-erp-migsteps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
}

.ori-erp-migstep {
  min-width: 0;
  padding: 0 14px;
  border-left: 1px dashed #cfd6e8;
}

.ori-erp-migstep:first-child {
  padding-left: 0;
  border-left: 0;
}

.ori-erp-mignum {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #eef1ff;
  color: var(--c-indigo-dark);
  font-size: 13px;
  font-weight: 800;
}

.ori-erp-mignum--last {
  background: #c2410c;
  color: #fff;
}

.ori-erp-migstep h4 {
  font-size: 14px;
  font-weight: 700;
  margin: 10px 0 0;
  color: var(--c-ink);
}

.ori-erp-migstep p {
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-slate);
  margin: 3px 0 0;
}

@media (max-width:1024px) {
  .ori-erp-migsteps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 20px;
  }

  .ori-erp-migstep:nth-child(3n+1) {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width:720px) {
  .ori-erp-mig {
    padding: 22px 20px;
  }

  .ori-erp-migsteps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-erp-migstep,
  .ori-erp-migstep:nth-child(3n+1) {
    padding-left: 14px;
    border-left: 1px dashed #cfd6e8;
  }

  .ori-erp-migstep:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }
}

/* ---- Custom CRM: industry tabs + the workflow each CRM runs --------------
   Wired by initTabGroup (latest-custom.js) via data-tabs / data-tab-key /
   data-panel-key — no JS changes needed. ------------------------------- */
.ori-erp-indtabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.ori-erp-indtab,
.ori-erp-indtab:hover,
.ori-erp-indtab:focus {
  min-height: 44px;
  margin: 0;
  padding: 0 20px;
  border-radius: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  background: #fff;
  color: var(--c-indigo-dark);
  border: 1.5px solid #c3cbe4;
  box-shadow: none;
  transition: background 180ms, border-color 180ms, color 180ms;
}

.ori-erp-indtab:hover {
  border-color: var(--c-indigo);
}

.ori-erp-indtab:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-erp-indtab[aria-selected="true"],
.ori-erp-indtab[aria-selected="true"]:hover,
.ori-erp-indtab[aria-selected="true"]:focus {
  background: var(--c-indigo);
  color: #fff;
  border-color: var(--c-indigo);
}

.ori-erp-indpanel {
  padding: 28px;
  border-radius: 18px;
  background: var(--c-panel);
  border: 1px solid #ecebe3;
}

.ori-erp-indpanel h3 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 26px 0 12px;
  color: var(--c-ink);
}

.ori-erp-indpanel>p {
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0;
  max-width: 78ch;
}

.ori-erp-flow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 34px;
}

.ori-erp-flow li {
  position: relative;
  min-width: 0;
  padding: 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #d5dcf0;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-erp-flow li span {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--c-indigo-dark);
}

.ori-erp-flow li:last-child {
  background: var(--c-indigo);
  border-color: var(--c-indigo);
  color: #fff;
}

.ori-erp-flow li:last-child span {
  color: #dbe2ff;
}

.ori-erp-flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -29px;
  width: 22px;
  height: 14px;
  margin-top: -7px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' viewBox='0 0 22 14' fill='none' stroke='%233b5bdb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='1' y1='7' x2='19' y2='7'/%3E%3Cpolyline points='14 2 19 7 14 12'/%3E%3C/svg%3E") no-repeat center;
}

@media (max-width:1024px) {
  .ori-erp-flow {
    column-gap: 28px;
  }

  .ori-erp-flow li:not(:last-child)::after {
    right: -26px;
  }

  .ori-erp-flow li {
    padding: 12px;
    font-size: 13.5px;
  }
}

@media (max-width:820px) {
  .ori-erp-flow {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }

  .ori-erp-flow li {
    padding: 12px 14px;
    font-size: 14.5px;
  }

  .ori-erp-flow li:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -23px;
    left: 50%;
    margin: 0 0 0 -11px;
    transform: rotate(90deg);
  }
}

@media (max-width:640px) {
  .ori-erp-indpanel {
    padding: 22px 18px;
  }

  .ori-erp-indpanel h3 {
    font-size: 20px;
  }
}

/* ---- Integrations: sources -> ERP order record -> outputs ----------------
   Pipes join each source row to the record on desktop; <=1024px the three
   columns stack and the pipes hide. ------------------------------------ */
.ori-erp-integ {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 0;
  align-items: center;
}

.ori-erp-integlabel {
  margin-bottom: 12px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-indigo-dark);
}

.ori-erp-integlabel--out {
  margin-left: 44px;
  color: #c2410c;
}

.ori-erp-srcs {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ori-erp-src {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-right: 44px;
  padding: 11px 12px 11px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--c-hairline);
}

.ori-erp-src--out {
  margin-right: 0;
  margin-left: 44px;
  padding: 11px 14px 11px 12px;
}

.ori-erp-ab {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 6px;
  box-sizing: border-box;
  border-radius: 9px;
  background: #eef1ff;
  color: var(--c-indigo-dark);
  font-size: 12px;
  font-weight: 800;
}

.ori-erp-src--out .ori-erp-ab {
  background: #fff1e6;
  color: #9a3412;
}

.ori-erp-srcname {
  min-width: 0;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-erp-carry {
  flex: none;
  padding: 3px 8px;
  border-radius: var(--r-pill);
  background: #eef1ff;
  color: var(--c-indigo-dark);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.ori-erp-carry--out {
  background: #fff1e6;
  color: #9a3412;
}

.ori-erp-pipe {
  position: absolute;
  top: 50%;
  right: -44px;
  width: 44px;
  height: 10px;
  margin-top: -5px;
}

.ori-erp-pipe::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 4px;
  height: 2px;
  background: var(--c-indigo);
}

.ori-erp-pipe::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  border-left: 7px solid var(--c-indigo);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.ori-erp-src--out .ori-erp-pipe {
  right: auto;
  left: -44px;
}

.ori-erp-src--out .ori-erp-pipe::before {
  background: #c2410c;
}

.ori-erp-src--out .ori-erp-pipe::after {
  border-left-color: #c2410c;
}

.ori-erp-hub {
  min-width: 0;
  background: #fff;
  border: 2px solid var(--c-ink);
  border-radius: 16px;
  box-shadow: 0 22px 44px -30px rgba(20, 26, 40, 0.55);
  overflow: hidden;
}

.ori-erp-hubhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
  background: var(--c-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.ori-erp-hubhead b {
  font-size: 12px;
  font-weight: 700;
  color: #8fa2f0;
}

.ori-erp-hubbody {
  padding: 6px 16px 12px;
}

.ori-erp-hubrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid #eef0f5;
}

.ori-erp-hubrow span:not(.ori-erp-carry) {
  display: block;
  font-size: 12px;
  color: var(--c-muted);
}

.ori-erp-hubrow b {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-erp-hubfoot {
  padding: 10px 16px;
  border-top: 1px solid var(--c-hairline);
  background: var(--c-panel);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-slate);
}

.ori-erp-integnote {
  margin: 18px 0 0 44px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff;
  border: 1px dashed #d5dcf0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

@media (max-width:1024px) {
  .ori-erp-integ {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .ori-erp-src,
  .ori-erp-src--out {
    margin: 0;
    padding: 11px 12px 11px 14px;
  }

  .ori-erp-src--out .ori-row-mid-gap10-minw0 {
    order: -1;
  }

  .ori-erp-integlabel--out,
  .ori-erp-integnote {
    margin-left: 0;
  }

  .ori-erp-pipe {
    display: none;
  }
}

@media (max-width:480px) {
  .ori-erp-src {
    flex-wrap: wrap;
    row-gap: 8px;
  }
}

/* ---- Case studies (dark): featured case + image slot, four mini cases --- */
.ori-erp-cases {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
  gap: 40px;
  align-items: center;
}

.ori-erp-casetitle {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 14px;
  color: #fff;
}

.ori-erp-casedesc {
  font-size: 15.5px;
  line-height: 1.65;
  color: #d5dcf3;
  margin: 0 0 22px;
}

.ori-erp-casestats {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  margin-bottom: 26px;
}

.ori-erp-casestat-v {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #6ee7a8;
}

.ori-erp-casestat-l {
  margin-top: 6px;
  font-size: 14px;
  color: #d5dcf3;
}

.ori-btn.ori-erp-casebtn {
  height: 46px;
  padding: 0 20px;
  font-size: 14.5px;
  border-color: rgba(196, 208, 255, 0.6);
  color: #fff;
}

.ori-erp-casebtn:hover {
  color: #fff;
}

.ori-erp-casefig {
  margin: 0;
  min-width: 0;
}

.ori-erp-caseshot {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  padding: 0;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.04);
  background-size: cover !important;
  background-position: center top !important;
  overflow: hidden;
}

.ori-erp-caseshot span {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
  text-align: center;
  color: #7d8ab0;
}

.ori-erp-casefig figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: #aab2cc;
}

.ori-erp-minis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 48px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.ori-erp-mini {
  min-width: 0;
  padding: 24px 24px 0;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-erp-mini:first-child {
  padding-left: 0;
  border-left: 0;
}

.ori-erp-minictx {
  margin-bottom: 8px;
  font-size: 12.5px;
  font-weight: 700;
  color: #a9b6ff;
}

.ori-erp-mini h3 {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin: 0 0 8px;
  color: #fff;
}

.ori-erp-mini p {
  font-size: 14px;
  line-height: 1.55;
  color: #c3cbe6;
  margin: 0 0 12px;
}

.ori-erp-chain {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 4px;
  margin-bottom: 12px;
}

.ori-erp-chain span {
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
  font-weight: 600;
  color: #dbe2fb;
}

.ori-erp-chain span.ori-erp-chain-end {
  background: var(--c-indigo);
  color: #fff;
}

.ori-erp-chain span+span {
  position: relative;
  margin-left: 16px;
}

.ori-erp-chain span+span::before {
  content: "\2192";
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: 400;
  color: #8fa2f0;
}

.ori-erp-ministack {
  font-size: 12.5px;
  color: #aab2cc;
}

@media (max-width:1024px) {
  .ori-erp-cases {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ori-erp-minis {
    grid-template-columns: 1fr 1fr;
  }

  .ori-erp-mini:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .ori-erp-mini:nth-child(n+3) {
    margin-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
}

@media (max-width:720px) {
  .ori-erp-casetitle {
    font-size: 24px;
  }

  .ori-erp-casestat-v {
    font-size: 34px;
  }

  .ori-erp-minis {
    grid-template-columns: 1fr;
  }

  .ori-erp-mini,
  .ori-erp-mini:nth-child(n) {
    margin-top: 0;
    padding: 24px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .ori-erp-mini:first-child {
    border-top: 0;
  }
}

/* ---- How a project runs: six signed-off steps + indicative sequence ----- */
.ori-erp-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.ori-erp-step {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px 18px 0 0;
  border-top: 3px solid var(--c-indigo);
}

.ori-erp-step--warm {
  border-top-color: var(--c-orange);
}

.ori-erp-stepnum {
  font-size: 13px;
  font-weight: 800;
  color: var(--c-indigo-dark);
}

.ori-erp-step--warm .ori-erp-stepnum {
  color: #c2410c;
}

.ori-erp-step h3 {
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin: 6px 0 8px;
  color: var(--c-ink);
}

.ori-erp-step p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
  margin: 0 0 12px;
}

.ori-erp-stepout {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #e8eaf2;
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-slate-2);
}

.ori-erp-stepout b {
  font-weight: 700;
}

.ori-erp-seq {
  margin-top: 32px;
  padding: 22px 26px;
  border-radius: var(--r-card);
  background: var(--c-panel);
  border: 1px solid #ecebe3;
}

.ori-erp-seqhead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 12px;
  margin-bottom: 16px;
}

.ori-erp-seqhead h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  color: var(--c-ink);
}

.ori-erp-seqhead span {
  font-size: 13px;
  color: var(--c-slate);
}

.ori-erp-gantt {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  row-gap: 8px;
  column-gap: 16px;
  align-items: center;
}

.ori-erp-gl {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-erp-gl--old {
  font-weight: 600;
  color: var(--c-slate);
}

.ori-erp-gtrack {
  position: relative;
  height: 18px;
  border-radius: 5px;
  background: #eceef4;
}

.ori-erp-gbar {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 5px;
  background: var(--c-indigo);
  transform-origin: left center;
}

.ori-erp-gbar--warm {
  background: #c2410c;
}

.ori-erp-gbar--old {
  background: repeating-linear-gradient(90deg, #c3c8d5 0 8px, #d9dde6 8px 16px);
}

.ori-anim [data-animate] .ori-erp-gbar {
  transform: scaleX(0);
  transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1) 200ms;
}

.ori-anim [data-animate].ori-in .ori-erp-gbar {
  transform: scaleX(1);
}

@media (max-width:1024px) {
  .ori-erp-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 28px;
  }
}

@media (max-width:720px) {
  .ori-erp-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-erp-seq {
    padding: 20px 18px;
  }

  .ori-erp-gantt {
    grid-template-columns: 1fr;
    row-gap: 5px;
  }

  .ori-erp-gl {
    margin-top: 6px;
  }

  .ori-erp-gl:first-child {
    margin-top: 0;
  }
}

@media (max-width:480px) {
  .ori-erp-steps {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .ori-erp-step {
    padding-right: 0;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-anim [data-animate] .ori-erp-gbar {
    transform: none;
    transition: none;
  }
}

/* ---- CTA band: keep the design's periwinkle highlight -------------------- */
.ori-ctaband-copy h2 .ori-erp-ctahl {
  color: #8ea2ff;
}


/* === CASE STUDIES PAGE ==== */
/* ---- Hero: blue gradient, title + credentials, client-logo collage ------- */
.ori-cs-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding-top: 64px;
  padding-bottom: 64px;
  background: radial-gradient(circle at 88% 20%, rgba(125, 146, 255, 0.28), transparent 46%), linear-gradient(135deg, #1d3299 0%, #2b45b0 52%, #3b5bdb 100%);
  background-color: #2b45b0;
}

.ori-cs-herogrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}

.ori-cs-hero .ori-cs-hero-eye {
  color: #ffd2b0;
}

.ori-cs-hero-h1 {
  font-weight: 700;
  font-size: clamp(36px, 4.4vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0 0 18px;
  color: #fff;
}

.ori-cs-hero-lead {
  font-size: 17px;
  line-height: 1.65;
  color: #dbe2ff;
  margin: 0 0 28px;
  max-width: 46ch;
}

.ori-cs-creds {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.ori-cs-cred-t {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}

.ori-cs-cred-d {
  font-size: 13px;
  color: #c4d0ff;
  margin-top: 2px;
}

.ori-cs-hero .ori-cs-hero-label {
  letter-spacing: 0.14em;
  color: #c4d0ff;
  margin-bottom: 16px;
}

.ori-cs-collage {
  position: relative;
  height: 340px;
}

.ori-cs-logo {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ori-cs-logo span {
  font-size: clamp(17px, 1.9vw, 24px);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: #fff;
  opacity: 0.92;
}

.ori-cs-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

.ori-cs-logo--1 {
  left: 4%;
  top: 6%;
  width: 44%;
  height: 26%;
}

.ori-cs-logo--2 {
  right: 2%;
  top: 24%;
  width: 36%;
  height: 22%;
}

.ori-cs-logo--3 {
  left: 14%;
  top: 52%;
  width: 34%;
  height: 20%;
}

.ori-cs-logo--4 {
  right: 8%;
  bottom: 4%;
  width: 40%;
  height: 22%;
}

@media (max-width:1024px) {
  .ori-cs-hero {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .ori-cs-herogrid {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }

  .ori-cs-collage {
    height: 260px;
  }
}

@media (max-width:520px) {
  .ori-cs-collage {
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }

  .ori-cs-logo {
    position: static;
    width: auto;
    height: 60px;
  }

  .ori-cs-logo span {
    font-size: 16px;
  }
}

/* ---- Results strip: six published outcomes with cell dividers ------------ */
.ori-cs-results {
  padding-top: 36px;
  padding-bottom: 36px;
  border-bottom: 1px solid #ecebe3;
}

.ori-cs-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ori-cs-stat {
  min-width: 0;
  padding: 0 20px;
  border-left: 1px solid #e0e4ef;
}

.ori-cs-stat:first-child {
  padding-left: 0;
  border-left: 0;
}

.ori-cs-stat-v {
  font-size: clamp(22px, 2.2vw, 26px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--c-ink);
}

.ori-cs-stat-v--accent {
  color: #c2410c;
}

.ori-cs-stat-l {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 6px;
  color: var(--c-slate-2);
}

.ori-cs-stat-who {
  font-size: 12px;
  font-weight: 600;
  color: var(--c-muted);
  margin-top: 4px;
}

@media (max-width:1024px) {
  .ori-cs-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 24px;
  }

  .ori-cs-stat:nth-child(3n+1) {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width:720px) {
  .ori-cs-strip {
    grid-template-columns: 1fr 1fr;
  }

  .ori-cs-stat,
  .ori-cs-stat:nth-child(3n+1) {
    padding-left: 16px;
    border-left: 1px solid #e0e4ef;
  }

  .ori-cs-stat:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .ori-cs-stat {
    padding-right: 12px;
  }
}

/* ---- Sticky filter bar: reuses .ori-subnav (initCapNav pins it); the
        latest-custom.js [data-group-filter] hides non-matching [data-group]
        sections. Button resets beat theme/Elementor button styles. -------- */
.ori-cs-filter .ori-subnav-inner {
  gap: 8px;
  padding: 12px 0;
}

.ori-cs-tab,
.ori-cs-tab:hover,
.ori-cs-tab:focus {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin: 0;
  padding: 0 16px;
  border-radius: var(--r-pill);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
  color: var(--c-slate-2);
  border: 1.5px solid #d5dbe8;
  box-shadow: none;
  transition: background 180ms, border-color 180ms, color 180ms;
}

.ori-cs-tab:hover {
  border-color: var(--c-indigo);
  color: var(--c-ink);
}

.ori-cs-tab:focus-visible {
  outline: 2px solid var(--c-indigo-light);
  outline-offset: 3px;
}

.ori-cs-tab[aria-pressed="true"],
.ori-cs-tab[aria-pressed="true"]:hover,
.ori-cs-tab[aria-pressed="true"]:focus {
  background: var(--c-ink);
  color: #fff;
  border-color: var(--c-ink);
}

.ori-cs-tabn {
  font-size: 12px;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: var(--r-pill);
  background: #eef1ff;
  color: var(--c-indigo-dark);
}

.ori-cs-tab[aria-pressed="true"] .ori-cs-tabn {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

[data-group][hidden] {
  display: none !important;
}

@media (max-width:640px) {
  .ori-cs-filter .ori-subnav-inner {
    padding: 10px 0;
  }

  .ori-cs-tab,
  .ori-cs-tab:hover,
  .ori-cs-tab:focus {
    min-height: 38px;
    padding: 0 14px;
    font-size: 13.5px;
  }
}

/* ---- Category group heading --------------------------------------------- */
.ori-cs-head {
  max-width: 62ch;
  margin-bottom: 24px;
}

.ori-cs-head .ori-eyebrow {
  color: var(--c-indigo-dark);
}

.ori-cs-head .ori-h2 {
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.14;
  margin-bottom: 10px;
  text-wrap: balance;
}

.ori-cs-head .ori-body {
  font-size: 16px;
  line-height: 1.6;
}

/* ---- Case-study card: screenshot slot, meta, metric, stack, link --------- */
.ori-cs-grid {
  gap: 18px;
}

.ori-cs-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 22px 22px 18px;
}

.ori-cs-shot {
  aspect-ratio: 16 / 10;
  margin: -22px -22px 18px;
  overflow: hidden;
  background: #f1f3f8;
  border-bottom: 1px solid var(--c-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}

.ori-cs-shot span {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.5;
  text-align: center;
  color: #8a92a6;
}

.ori-cs-shot:has(img) {
  padding: 0;
}

.ori-cs-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ori-cs-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.ori-cs-num {
  font-size: 13px;
  font-weight: 700;
  color: #8a92a6;
}

.ori-cs-card .ori-tag-pill {
  font-size: 11px;
  letter-spacing: 0.06em;
}

.ori-cs-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin: 0 0 8px;
  color: var(--c-ink);
}

.ori-cs-line {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-slate);
  margin: 0 0 14px;
}

.ori-cs-metric {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid #eef0f6;
}

.ori-cs-metric-v {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  color: var(--c-indigo-dark);
  white-space: nowrap;
}

.ori-cs-metric-l {
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--c-slate-2);
}

.ori-cs-stack {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #eef0f6;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--c-muted);
}

.ori-cs-link {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-indigo-dark);
}

.ori-cs-link:hover {
  color: #1d3299;
}

.ori-cs-link svg {
  flex: none;
}

@media (max-width:992px) {
  .ori-cs-card .ori-tag-pill {
    font-size: 10.5px;
    letter-spacing: 0.05em;
  }
}

@media (max-width:640px) {
  .ori-cs-card {
    padding: 20px 20px 16px;
  }

  .ori-cs-shot {
    margin: -20px -20px 16px;
  }

  .ori-cs-metric-v {
    font-size: 26px;
  }
}

/* ---- CTA band: button + email on the right ------------------------------- */
.ori-cs-ctaside {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.ori-cs-ctamail {
  font-size: 14px;
  color: #c3cbe6;
  overflow-wrap: anywhere;
}

.ori-cs-ctamail a {
  color: #c4d0ff;
  border-bottom: 1px solid rgba(196, 208, 255, 0.5);
}

.ori-cs-ctamail a:hover {
  color: #fff;
}

@media (max-width:768px) {
  .ori-cs-ctaside {
    flex: 1 1 100%;
  }
}

@media (max-width:640px) {
  .ori-cs-ctaside {
    align-items: stretch;
  }

  .ori-cs-ctaside .ori-btn {
    justify-content: center;
  }
}


/* ===QA SERVICES PAGE==== */

/* ---- Visually hidden text (kept for screen readers) ---------------------- */
.ori-vh {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---- Shared orange checkpoint diamond ------------------------------------ */
.ori-qa-diamond {
  display: inline-block;
  flex: none;
  width: 12px;
  height: 12px;
  background: #c2410c;
  border-radius: 2px;
  transform: rotate(45deg);
}

/* ---- Hero: cost-to-fix-a-defect curve card ------------------------------- */
.ori-qa-curve {
  margin: 0;
  min-width: 0;
  padding: 26px 26px 20px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
}

.ori-qa-curvehead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
}

.ori-qa-curvetitle {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}

.ori-qa-curvenote {
  font-size: 12px;
  font-weight: 600;
  color: #a3acd0;
}

.ori-qa-curve svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.ori-qa-curvecap {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.55;
  color: #a3acd0;
}

.ori-anim .ori-qa-curve .ori-qa-curvepath {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1300ms cubic-bezier(0.22, 1, 0.36, 1) 250ms;
}

.ori-anim .ori-qa-curve.ori-in .ori-qa-curvepath {
  stroke-dashoffset: 0;
}

@media (max-width:480px) {
  .ori-qa-curve {
    padding: 20px 16px 16px;
  }
}

/* ---- Credentials band: 3-item variant of .ori-credrow -------------------- */
.ori-credrow.ori-credrow--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width:720px) {
  .ori-credrow.ori-credrow--3 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ---- What we test: vertical problem tabs + dark testing panel ------------ */
.ori-qa-risk {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 28px;
  align-items: stretch;
}

.ori-qa-risktabs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.ori-qa-risktab,
.ori-qa-risktab:hover,
.ori-qa-risktab:focus {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 14px 18px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e0e5f0;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  transition: background 180ms, border-color 180ms, color 180ms;
}

.ori-qa-risktab:hover {
  border-color: #b9c4ea;
}

.ori-qa-risktab:focus-visible {
  outline: 2px solid var(--c-indigo-light);
  outline-offset: 3px;
}

.ori-qa-risktab span {
  flex: 1;
  min-width: 0;
}

.ori-qa-risktab svg {
  flex: none;
  color: #8a92a6;
}

.ori-qa-risktab[aria-selected="true"],
.ori-qa-risktab[aria-selected="true"]:hover,
.ori-qa-risktab[aria-selected="true"]:focus {
  background: #eef1ff;
  border: 1.5px solid var(--c-indigo);
  color: #1d3299;
  font-weight: 700;
}

.ori-qa-risktab[aria-selected="true"] svg {
  color: var(--c-indigo);
}

.ori-qa-riskpanels {
  display: flex;
  min-width: 0;
}

.ori-qa-riskpanel {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 30px 32px;
  border-radius: 18px;
  background: #0e1424;
  color: #fff;
}

.ori-qa-panelkicker {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-orange-light);
}

.ori-qa-riskpanel h3 {
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0 0 10px;
  color: #fff;
}

.ori-qa-riskpanel>p {
  font-size: 15.5px;
  line-height: 1.6;
  color: #c9d0e6;
  margin: 0 0 24px;
  max-width: 52ch;
}

.ori-qa-riskgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

.ori-qa-listlabel {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a9b6ff;
}

.ori-qa-ticks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ori-qa-ticks li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: #e2e7f8;
}

.ori-qa-ticks li::before {
  content: none;
}

.ori-qa-ticks svg {
  margin-top: 3px;
}

.ori-qa-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-qa-toolslabel {
  margin-right: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a3acd0;
}

.ori-qa-tool {
  padding: 5px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 13px;
  font-weight: 600;
  color: #dbe1f2;
}

@media (max-width:1024px) {
  .ori-qa-risk {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ori-qa-risktabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px) {

  .ori-qa-risktab,
  .ori-qa-risktab:hover,
  .ori-qa-risktab:focus {
    min-height: 52px;
    padding: 12px 14px;
    font-size: 14px;
  }

  .ori-qa-risktab svg {
    display: none;
  }

  .ori-qa-riskpanel {
    padding: 24px 20px;
  }

  .ori-qa-riskgrid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ---- Pipeline: seven numbered gates joined by a rule --------------------- */
.ori-qa-pipe {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
}

.ori-qa-pipestep {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0 10px 0 0;
}

.ori-qa-pipestep::before {
  content: none;
}

.ori-qa-pipehead {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}

.ori-qa-pipenum {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--c-indigo);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.ori-qa-pipestep--last .ori-qa-pipenum {
  background: #c2410c;
}

.ori-qa-pipelink {
  flex: 1;
  height: 2px;
  margin-left: 8px;
  background: #c3cde8;
  transform-origin: left center;
}

.ori-anim .ori-qa-pipestep .ori-qa-pipelink {
  transform: scaleX(0);
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1) 200ms;
}

.ori-anim .ori-qa-pipestep.ori-in .ori-qa-pipelink {
  transform: scaleX(1);
}

.ori-qa-pipestep h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 6px;
  color: var(--c-ink);
}

.ori-qa-pipestep p {
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-slate);
  margin: 0 0 10px;
}

.ori-qa-pipetools {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--c-indigo-dark);
}

.ori-qa-pipenote {
  font-size: 13px;
  line-height: 1.55;
  color: #5f6779;
  margin: 26px 0 0;
}

@media (max-width:1024px) {
  .ori-qa-pipe {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 28px;
  }

  .ori-qa-pipestep:nth-child(4n) .ori-qa-pipelink {
    display: none;
  }
}

@media (max-width:640px) {
  .ori-qa-pipe {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 26px;
  }

  .ori-qa-pipestep:nth-child(2n) .ori-qa-pipelink {
    display: none;
  }
}

/* ---- AI drafts / engineer decides: paired rows with a checkpoint mark ---- */
.ori-qa-hands {
  max-width: 100%;
}

.ori-qa-hand {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid #e0e5f0;
}

.ori-qa-handhead {
  padding: 0 0 12px;
  border-bottom: 1.5px solid var(--c-ink);
}

.ori-qa-handk {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-ink);
}

.ori-qa-handk--ai {
  color: var(--c-indigo-dark);
}

.ori-qa-handai {
  min-width: 0;
  font-size: 16px;
  line-height: 1.45;
  color: #3d4553;
}

.ori-qa-handhuman {
  min-width: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--c-ink);
}

.ori-qa-handmark {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 9px;
}

.ori-qa-handmark>span:first-child,
.ori-qa-handmark>span:last-child {
  flex: 1;
  height: 1.5px;
  background: #c3cde8;
}

.ori-qa-handlbl {
  display: none;
}

.ori-qa-handnote {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.5;
  color: #5f6779;
  margin: 16px 0 0;
}

.ori-qa-handnote .ori-qa-diamond {
  width: 10px;
  height: 10px;
}

@media (max-width:720px) {
  .ori-qa-hand {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .ori-qa-handhead {
    display: none;
  }

  .ori-qa-handmark {
    padding: 0;
    justify-content: flex-start;
  }

  .ori-qa-handmark>span:first-child,
  .ori-qa-handmark>span:last-child {
    flex: none;
    width: 24px;
  }

  .ori-qa-handlbl {
    display: block;
    margin-bottom: 4px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-ink);
  }

  .ori-qa-handlbl--ai {
    color: var(--c-indigo-dark);
  }

  .ori-qa-handai,
  .ori-qa-handhuman {
    font-size: 15.5px;
  }
}

/* ---- Engagement models (dark): three columns under a hairline ------------ */
.ori-qa-models {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.ori-qa-model {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 28px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-qa-model:first-child {
  padding-left: 0;
  border-left: 0;
}

.ori-qa-model:last-child {
  padding-right: 0;
}

.ori-qa-modelstep {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b7c4ff;
}

.ori-qa-model--grow .ori-qa-modelstep {
  color: #8ea2ff;
}

.ori-qa-model--hand .ori-qa-modelstep {
  color: var(--c-orange-light);
}

.ori-qa-model h3 {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.25;
  margin: 0 0 10px;
  color: #fff;
}

.ori-qa-model p {
  font-size: 14.5px;
  line-height: 1.6;
  color: #c3cbe4;
  margin: 0 0 14px;
}

.ori-qa-modelbest {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}

@media (max-width:720px) {
  .ori-qa-models {
    grid-template-columns: 1fr;
    padding-top: 0;
  }

  .ori-qa-model,
  .ori-qa-model:first-child,
  .ori-qa-model:last-child {
    padding: 22px 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .ori-qa-model:first-child {
    border-top: 0;
  }

  .ori-qa-model:last-child {
    padding-bottom: 0;
  }
}

/* ---- Weekly report: copy left, sample report card right ------------------ */
.ori-qa-report {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 48px;
  align-items: center;
}

.ori-qa-rep {
  margin: 0;
  min-width: 0;
  background: #fff;
  border: 1px solid #e0e5f0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 26px 50px -34px rgba(20, 26, 40, 0.45);
}

.ori-qa-rephead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 12px;
  padding: 16px 22px;
  background: #fbfcfe;
  border-bottom: 1px solid #eef1f8;
}

.ori-qa-reptitle {
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-qa-repsub {
  margin-top: 2px;
  font-size: 12.5px;
  color: #5f6779;
}

.ori-qa-repbadge {
  padding: 5px 11px;
  border-radius: var(--r-pill);
  background: #fdf2e7;
  font-size: 12px;
  font-weight: 700;
  color: #8a4b12;
}

.ori-qa-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #eef1f8;
}

.ori-qa-kpi {
  min-width: 0;
  padding: 16px 22px;
}

.ori-qa-kpi+.ori-qa-kpi {
  border-left: 1px solid #eef1f8;
}

.ori-qa-kpil {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: #5f6779;
}

.ori-qa-kpiv {
  margin-top: 4px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--c-ink);
}

.ori-qa-kpiv--rust {
  color: #c2410c;
}

.ori-qa-kpiv--indigo {
  color: var(--c-indigo-dark);
}

.ori-qa-sev {
  padding: 18px 22px 20px;
}

.ori-qa-sevlabel {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5f6779;
}

.ori-qa-sevrow {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 28px;
  gap: 12px;
  align-items: center;
  font-size: 13px;
}

.ori-qa-sevrow+.ori-qa-sevrow {
  margin-top: 9px;
}

.ori-qa-sevname {
  font-weight: 600;
  color: #3d4553;
}

.ori-qa-sevtrack {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: #eef1f8;
  overflow: hidden;
}

.ori-qa-sevbar {
  display: block;
  height: 100%;
  border-radius: 6px;
  background: var(--c-indigo);
  transform-origin: left center;
}

.ori-qa-sevbar--critical {
  background: #c2410c;
}

.ori-qa-sevbar--high {
  background: var(--c-orange-dark);
}

.ori-qa-sevbar--medium {
  background: var(--c-indigo);
}

.ori-qa-sevbar--low {
  background: #8ea2ff;
}

.ori-qa-sevval {
  font-weight: 700;
  text-align: right;
  color: var(--c-ink);
}

.ori-anim [data-animate] .ori-qa-sevbar {
  transform: scaleX(0);
  transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1) 250ms;
}

.ori-anim [data-animate].ori-in .ori-qa-sevbar {
  transform: scaleX(1);
}

@media (max-width:1024px) {
  .ori-qa-report {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width:640px) {
  .ori-qa-rephead {
    padding: 14px 18px;
  }

  .ori-qa-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-qa-kpi {
    padding: 14px 18px;
  }

  .ori-qa-kpi:nth-child(3) {
    border-left: 0;
  }

  .ori-qa-kpi:nth-child(n+3) {
    border-top: 1px solid #eef1f8;
  }

  .ori-qa-sev {
    padding: 16px 18px 18px;
  }

  .ori-qa-sevrow {
    grid-template-columns: 64px minmax(0, 1fr) 24px;
    gap: 10px;
  }
}

/* ---- Case studies: tab strip + panel (journey, example test, outcomes) --- */
.ori-qa-workhead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 26px;
}

.ori-qa-workintro {
  max-width: 60ch;
}

.ori-qa-alllink {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 15px;
  font-weight: 700;
  color: var(--c-indigo-dark);
}

.ori-qa-alllink:hover {
  color: #1d3299;
}

.ori-qa-ctabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid #e0e5f0;
  border-radius: 18px 18px 0 0;
  overflow: hidden;
  background: #eef1f8;
}

.ori-qa-ctab,
.ori-qa-ctab:hover,
.ori-qa-ctab:focus {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  min-height: 72px;
  margin: 0;
  padding: 16px 22px;
  border: 0;
  border-right: 1px solid #e0e5f0;
  border-radius: 0;
  background: transparent;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  transition: background 180ms;
}

.ori-qa-ctab:last-child {
  border-right: 0;
}

.ori-qa-ctab:hover {
  background: rgba(255, 255, 255, 0.6);
}

.ori-qa-ctab:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: -3px;
}

.ori-qa-ctab[aria-selected="true"],
.ori-qa-ctab[aria-selected="true"]:hover,
.ori-qa-ctab[aria-selected="true"]:focus {
  background: #fff;
  box-shadow: inset 0 3px 0 #c2410c;
}

.ori-qa-ctabnum {
  flex: none;
  font-size: 13px;
  font-weight: 800;
  color: #8a92a6;
}

.ori-qa-ctab[aria-selected="true"] .ori-qa-ctabnum {
  color: #c2410c;
}

.ori-qa-ctabtxt {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.ori-qa-ctabtitle {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--c-ink);
}

.ori-qa-ctabtag {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.35;
  color: #5f6779;
}

.ori-qa-cpanel {
  padding: 30px 32px 32px;
  background: #fff;
  border: 1px solid #e0e5f0;
  border-top: 0;
  border-radius: 0 0 18px 18px;
}

.ori-qa-chead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px 28px;
  margin-bottom: 28px;
}

.ori-qa-cintro {
  max-width: 62ch;
}

.ori-qa-cintro h3 {
  font-size: clamp(21px, 2vw, 25px);
  font-weight: 700;
  letter-spacing: -0.018em;
  line-height: 1.25;
  margin: 0 0 8px;
  color: var(--c-ink);
}

.ori-qa-cintro p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0;
}

.ori-qa-chead .ori-qa-alllink {
  font-size: 14.5px;
}

.ori-qa-journey {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ori-qa-stage {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.ori-qa-stage::before {
  content: none;
}

.ori-qa-stagehead {
  display: flex;
  align-items: center;
}

.ori-qa-stagenum {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--c-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.ori-qa-stageline {
  flex: 1;
  height: 2px;
  margin: 0 10px;
  background: linear-gradient(90deg, var(--c-ink), #c3cde8);
}

.ori-qa-stagelabel {
  margin: 14px 0 12px;
  padding-right: 18px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-qa-stagetest {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding-right: 18px;
  font-size: 13.5px;
  line-height: 1.5;
  color: #3d4553;
}

.ori-qa-stagetest .ori-qa-diamond {
  width: 10px;
  height: 10px;
  margin-top: 5px;
}

.ori-qa-casebot {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 18px;
}

.ori-qa-casebot--single {
  grid-template-columns: 1fr;
}

.ori-qa-example {
  min-width: 0;
  padding: 24px 26px;
  border-radius: 14px;
  background: #fff8f2;
  border: 1px solid #f4dcc6;
}

.ori-qa-exlabel {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c2410c;
}

.ori-qa-exq {
  font-size: clamp(19px, 1.8vw, 23px);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin: 0 0 10px;
  color: var(--c-ink);
}

.ori-qa-exv {
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
  margin: 0;
}

.ori-qa-exv strong {
  color: var(--c-ink);
}

.ori-qa-outcomes {
  min-width: 0;
  padding: 24px 26px;
  border-radius: 14px;
  background: #0e1424;
  color: #fff;
}

.ori-qa-outcomes .ori-qa-exlabel {
  margin-bottom: 12px;
  color: var(--c-orange-light);
}

.ori-qa-outrow {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: 10px 0;
}

.ori-qa-outrow+.ori-qa-outrow {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-qa-outcomes .ori-qa-exlabel+.ori-qa-outrow {
  padding-top: 0;
}

.ori-qa-outk {
  min-width: 0;
  font-size: 13px;
  line-height: 1.4;
  color: #b3bcd6;
}

.ori-qa-outv {
  flex: none;
  white-space: nowrap;
}

.ori-qa-outfrom {
  font-size: 13.5px;
  color: #8b95b4;
}

.ori-qa-outarrow {
  color: #8ea2ff;
}

.ori-qa-outto {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}

@media (max-width:1024px) {
  .ori-qa-journey {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 26px;
  }

  .ori-qa-stage:nth-child(2) .ori-qa-stageline {
    display: none;
  }

  .ori-qa-casebot {
    grid-template-columns: 1fr;
  }
}

@media (max-width:720px) {
  .ori-qa-ctabs {
    grid-template-columns: 1fr;
  }

  .ori-qa-ctab,
  .ori-qa-ctab:hover,
  .ori-qa-ctab:focus {
    min-height: 64px;
    padding: 14px 18px;
    border-right: 0;
    border-bottom: 1px solid #e0e5f0;
  }

  .ori-qa-ctab:last-child {
    border-bottom: 0;
  }

  .ori-qa-cpanel {
    padding: 24px 20px;
  }

  .ori-qa-journey {
    grid-template-columns: 1fr;
    row-gap: 22px;
  }

  .ori-qa-stageline {
    display: none;
  }

  .ori-qa-stagelabel,
  .ori-qa-stagetest {
    padding-right: 0;
  }

  .ori-qa-example,
  .ori-qa-outcomes {
    padding: 22px 20px;
  }
}

/* ---- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce) {
  .ori-anim .ori-qa-curve .ori-qa-curvepath {
    stroke-dashoffset: 0;
    transition: none;
  }

  .ori-anim .ori-qa-pipestep .ori-qa-pipelink,
  .ori-anim [data-animate] .ori-qa-sevbar {
    transform: none;
    transition: none;
  }
}

/* ---- QA page: small-screen refinements ---------------------------------- */
.ori-qa-h1 {
  text-wrap: balance;
}

@media (max-width:860px) {
  .ori-qa-ctabs {
    grid-template-columns: 1fr;
  }

  .ori-qa-ctab,
  .ori-qa-ctab:hover,
  .ori-qa-ctab:focus {
    min-height: 64px;
    padding: 14px 18px;
    border-right: 0;
    border-bottom: 1px solid #e0e5f0;
  }

  .ori-qa-ctab:last-child {
    border-bottom: 0;
  }
}

@media (max-width:480px) {
  .ori-qa-curve svg text {
    font-size: 19px;
  }
}


/* ===SERVICES PAGE === */

/* ---- Hero: heading left, lead + CTAs right, bottom-aligned --------------- */
.ori-svcs-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 64px;
  align-items: end;
}

.ori-svcs-h1 {
  font-size: clamp(34px, 4.4vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0;
  text-wrap: balance;
}

.ori-svcs-lead {
  font-size: 17px;
  line-height: 1.65;
  color: #c2c9de;
  margin: 0 0 28px;
  max-width: 44ch;
}

@media (max-width:1024px) {
  .ori-svcs-hero {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
}

@media (max-width:640px) {
  .ori-svcs-hero .ori-herocta>a.ori-link-underline {
    width: auto;
    align-self: center;
  }
}

/* ---- Clients: 8-up logo row + credentials under a hairline --------------- */
.ori-svcs-clients {
  border-bottom: 1px solid var(--c-hairline);
}

.ori-logos.ori-svcs-logos {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 12px 28px;
}

.ori-svcs-logos .ori-logo {
  height: 44px;
  font-size: 13.5px;
  line-height: 1.3;
}

.ori-logofoot.ori-svcs-credfoot {
  margin-top: 32px;
  padding-top: 28px;
}

@media (max-width:1024px) {
  .ori-logos.ori-svcs-logos {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 20px;
  }
}

@media (max-width:640px) {
  .ori-logos.ori-svcs-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 16px;
  }
}

/* ---- Practice jump bar: service count beside each practice --------------- */
.ori-svcs-navn {
  margin-left: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--c-muted);
}

.ori-subnav a.is-active .ori-svcs-navn {
  color: inherit;
  opacity: 0.7;
}

/* ---- Practice group: sticky heading left, service rows right ------------- */
.ori-svcs-groupsec {
  border-top: 1px solid #e6e9f2;
  scroll-margin-top: 140px;
}

#practice-ai.ori-svcs-groupsec {
  border-top: 0;
}

.ori-svcs-group {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr);
  gap: 56px;
  align-items: start;
}

.ori-svcs-ghead {
  position: sticky;
  top: 150px;
}

.ori-svcs-ghead .ori-h2 {
  font-size: clamp(26px, 2.8vw, 34px);
  margin: 0 0 12px;
}

.ori-svcs-ghead .ori-body-sm {
  max-width: 34ch;
  margin: 0 0 14px;
}

.ori-svcs-gcount {
  font-size: 13px;
  font-weight: 600;
  color: var(--c-muted);
}

.ori-svcs-list {
  border-top: 2px solid var(--c-ink);
}

.ori-svcs-row,
.ori-svcs-row:hover,
.ori-svcs-row:focus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 28px;
  gap: 28px;
  align-items: baseline;
  padding: 20px 0;
  border-bottom: 1px solid #e6e9f2;
  color: var(--c-ink);
  text-decoration: none;
}

.ori-svcs-rname {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.3;
  color: var(--c-ink);
  transition: color 160ms;
}

.ori-svcs-row p {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-slate);
  margin: 0;
}

.ori-svcs-row svg {
  justify-self: end;
  align-self: center;
  color: var(--c-indigo-dark);
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-svcs-row:hover .ori-svcs-rname,
.ori-svcs-row:focus-visible .ori-svcs-rname {
  color: var(--c-indigo-dark);
}

.ori-svcs-row:hover svg,
.ori-svcs-row:focus-visible svg {
  transform: translateX(4px);
}

.ori-svcs-row:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
  border-radius: 6px;
}

@media (max-width:1024px) {
  .ori-svcs-group {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ori-svcs-ghead {
    position: static;
  }

  .ori-svcs-groupsec {
    scroll-margin-top: 150px;
  }
}

@media (max-width:720px) {

  .ori-svcs-row,
  .ori-svcs-row:hover,
  .ori-svcs-row:focus {
    grid-template-columns: minmax(0, 1fr) 24px;
    gap: 6px 16px;
    padding: 18px 0;
  }

  .ori-svcs-rname {
    font-size: 17px;
  }

  .ori-svcs-row p {
    grid-column: 1;
    grid-row: 2;
    font-size: 14px;
  }

  .ori-svcs-row svg {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-svcs-row svg {
    transition: none;
  }
}

/* ---- Process: positioning context for the .ori-procline--6 rule ---------- */
.ori-svcs-procwrap,
.ori-svcs-proc {
  position: relative;
}

/* ---- Testimonials: featured quote left, three quotes right -------------- */
.ori-svcs-quotes {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0 56px;
}

.ori-svcs-quotes figure {
  margin: 0;
}

.ori-svcs-quotes blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-style: normal;
  quotes: none;
}

.ori-svcs-quotes blockquote::before,
.ori-svcs-quotes blockquote::after {
  content: none;
}

.ori-svcs-qfeat {
  padding: 8px 0 28px;
}

.ori-svcs-qmark {
  font-size: 72px;
  line-height: 0.8;
  font-weight: 700;
  color: #c2410c;
  margin-bottom: 8px;
}

.ori-svcs-qfeat blockquote {
  margin: 0 0 20px;
  font-size: clamp(20px, 2vw, 25px);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: -0.012em;
  color: var(--c-ink);
}

.ori-svcs-qcap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.ori-svcs-qwho {
  font-size: 16px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-svcs-qsvc {
  font-size: 13.5px;
  color: var(--c-slate);
}

.ori-svcs-stars {
  color: #c2410c;
  font-size: 15px;
  letter-spacing: 2px;
  line-height: 1;
}

.ori-svcs-q {
  padding: 22px 0;
  border-top: 1px solid #e6e9f2;
}

.ori-svcs-q:first-child {
  padding-top: 8px;
  border-top: 0;
}

.ori-svcs-q blockquote {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-slate-2);
}

.ori-svcs-q .ori-svcs-qcap {
  gap: 6px 14px;
}

.ori-svcs-q .ori-svcs-qwho {
  font-size: 14.5px;
}

.ori-svcs-q .ori-svcs-qsvc {
  font-size: 13px;
}

.ori-svcs-q .ori-svcs-stars {
  font-size: 13px;
}

@media (max-width:1024px) {
  .ori-svcs-quotes {
    grid-template-columns: 1fr;
  }

  .ori-svcs-q:first-child {
    padding-top: 22px;
    border-top: 1px solid #e6e9f2;
  }
}

@media (max-width:640px) {
  .ori-svcs-qmark {
    font-size: 60px;
  }
}

/* ---- Enquiry band: Clutch review widget under the copy ------------------- */
.ori-svcs-clutch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.ori-svcs-clutchbox {
  display: inline-block;
  max-width: 100%;
  min-width: 220px;
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 10px;
  background: #fff;
}

@media (max-width:400px) {
  .ori-svcs-clutchbox {
    min-width: 0;
    width: 100%;
  }
}

.ori-footer section.ori-pad {
  padding-top: 5px !important;
}

.ori-footer .ori-logofoot.ori-svcs-credfoot {
  margin-top: 0 !important
}

/* ==========================================================================
   AI AUTOMATIONS PAGE
   Reuses: .ori-bg-aihero / .ori-aihero (hero), .ori-statsflat (proof strip),
   .ori-grid-header, .ori-qa-workhead + .ori-qa-alllink (voice header),
   .ori-proc + .ori-procline + .ori-procstep + .ori-stage-circle (steps),
   .ori-erp-indtabs / .ori-erp-indtab (case tabs), .ori-chip, .ori-assureline,
   .ori-faq2 + .ori-faqcard--num + FAQ progress meter, .ori-ctaband--form +
   .ori-aiform + .ori-svcs-clutch (CTA). Both tab widgets use initTabGroup;
   the threshold demo uses initThreshold ([data-threshold]).
   ========================================================================== */

/* ---- Hero: example automation run card ---------------------------------- */
.ori-auto-h1 {
  text-wrap: balance;
}

.ori-auto-run {
  margin: 0;
  min-width: 0;
  padding: 22px 22px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
}

.ori-auto-runtitle {
  margin-bottom: 10px;
  font-size: 12.5px;
  font-weight: 600;
  color: #a3acd0;
}

.ori-auto-runrow {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 11px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ori-auto-rundot {
  display: block;
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 50%;
  background: #7d92ff;
}

.ori-auto-runt {
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
}

.ori-auto-rund {
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.45;
  color: #a3acd0;
}

.ori-auto-runtag {
  flex: none;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(125, 146, 255, 0.16);
  color: #c4d0ff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.ori-auto-runrow--you .ori-auto-rundot {
  background: var(--c-orange-light);
}

.ori-auto-runrow--you .ori-auto-runtag {
  background: rgba(249, 163, 94, 0.18);
  color: #ffd3ad;
}

.ori-auto-runrow--done .ori-auto-rundot {
  background: #6ee7a8;
}

.ori-auto-runrow--done .ori-auto-runtag {
  background: rgba(110, 231, 168, 0.16);
  color: #b6f5d3;
}

@media (max-width:480px) {
  .ori-auto-run {
    padding: 18px 16px 8px;
  }

  .ori-auto-runrow {
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 10px;
  }

  .ori-auto-runtag {
    grid-column: 2;
    justify-self: start;
  }
}

/* ---- Proof strip: compact .ori-statsflat with column dividers ------------ */
.ori-auto-proof {
  gap: 0;
}

.ori-auto-proof>div {
  min-width: 0;
  padding: 0 24px;
  border-left: 1px solid #e3e1d8;
}

.ori-auto-proof>div:first-child {
  padding-left: 0;
  border-left: 0;
}

.ori-auto-proof .ori-statsflat-v {
  font-size: clamp(22px, 2.1vw, 27px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.ori-auto-proof .ori-statsflat-l {
  margin-top: 6px;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.45;
}

@media (max-width:1024px) {
  .ori-auto-proof {
    grid-template-columns: 1fr 1fr;
    row-gap: 22px;
  }

  .ori-auto-proof>div:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width:520px) {
  .ori-auto-proof {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }

  .ori-auto-proof>div {
    padding: 0;
    border-left: 0;
  }

  .ori-auto-proof>div+div {
    padding-top: 18px;
    border-top: 1px solid #e3e1d8;
  }
}

/* ---- What we automate: vertical tabs + comes-in / goes-out panel --------- */
.ori-auto-auto {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: 28px;
  align-items: start;
}

.ori-auto-atabs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border-radius: 16px;
  background: #f0f3f9;
  border: 1px solid #e3e8f3;
}

.ori-auto-atab,
.ori-auto-atab:hover,
.ori-auto-atab:focus {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 18px;
  gap: 12px;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 16px;
  border-radius: 12px;
  background: transparent;
  border: 1px solid transparent;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  transition: background 160ms, border-color 160ms, box-shadow 160ms;
}

.ori-auto-atab:hover {
  background: rgba(255, 255, 255, 0.6);
}

.ori-auto-atab:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 2px;
}

.ori-auto-atabnum {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: #e3e8f3;
  color: var(--c-slate);
  font-size: 12.5px;
  font-weight: 700;
}

.ori-auto-atabtxt {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.ori-auto-atabt {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
  color: var(--c-slate-2);
  transition: color 160ms;
}

.ori-auto-atabd {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
}

.ori-auto-atabmark {
  color: transparent;
  transition: color 160ms;
}

.ori-auto-atab:hover .ori-auto-atabt {
  color: var(--c-indigo-dark);
}

.ori-auto-atab[aria-selected="true"],
.ori-auto-atab[aria-selected="true"]:hover,
.ori-auto-atab[aria-selected="true"]:focus {
  background: #fff;
  border-color: #d7deee;
  box-shadow: 0 10px 24px -16px rgba(14, 20, 36, 0.35);
}

.ori-auto-atab[aria-selected="true"] .ori-auto-atabnum {
  background: #c2410c;
  color: #fff;
}

.ori-auto-atab[aria-selected="true"] .ori-auto-atabt {
  color: var(--c-ink);
}

.ori-auto-atab[aria-selected="true"] .ori-auto-atabmark {
  color: #c2410c;
}

.ori-auto-apanels {
  min-width: 0;
}

.ori-auto-apanel {
  padding: 20px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e3e8f3;
  box-shadow: 0 24px 48px -36px rgba(14, 20, 36, 0.35);
}

.ori-auto-spec {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
  align-items: stretch;
}

.ori-auto-in,
.ori-auto-out {
  min-width: 0;
  border-radius: 14px;
  overflow: hidden;
}

.ori-auto-in {
  background: #fff;
  border: 1px solid #dfe4f1;
}

.ori-auto-out {
  background: #0e1424;
  border: 1px solid #0e1424;
  color: #fff;
}

.ori-auto-spechead {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 16px;
  font-size: 12.5px;
  font-weight: 700;
}

.ori-auto-spechead span:last-child {
  font-weight: 600;
  text-align: right;
}

.ori-auto-in .ori-auto-spechead {
  background: #f5f7fc;
  border-bottom: 1px solid #e6e9f2;
  color: var(--c-slate);
}

.ori-auto-out .ori-auto-spechead {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: #c4d0ff;
}

.ori-auto-out .ori-auto-spechead span:last-child {
  color: #a3acd0;
}

.ori-auto-inbody {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 14px 16px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
  overflow-wrap: anywhere;
}

.ori-auto-inlead {
  font-weight: 700;
  color: var(--c-ink);
}

.ori-auto-inquote {
  padding: 8px 10px;
  border-radius: 8px;
  background: #f5f7fc;
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 12.5px;
}

.ori-auto-specarrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c2410c;
}

.ori-auto-outbody {
  padding: 6px 16px 10px;
}

.ori-auto-outrow {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 13.5px;
}

.ori-auto-outrow:last-child {
  border-bottom: 0;
}

.ori-auto-outrow span:first-child {
  flex: none;
  max-width: 48%;
  font-size: 13px;
  color: #a3acd0;
}

.ori-auto-outrow span:last-child {
  min-width: 0;
  font-weight: 600;
  text-align: right;
  color: #fff;
}

.ori-auto-outrow--flag span:last-child {
  color: var(--c-orange-light);
}

.ori-auto-apfoot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 20px;
  margin-top: 14px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-auto-apfoot strong {
  color: #c2410c;
}

.ori-auto-illus {
  color: var(--c-muted);
}

@media (max-width:1024px) {
  .ori-auto-auto {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ori-auto-atabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:720px) {
  .ori-auto-spec {
    grid-template-columns: 1fr;
  }

  .ori-auto-specarrow {
    height: 36px;
    transform: rotate(90deg);
  }
}

@media (max-width:640px) {
  .ori-auto-atabs {
    grid-template-columns: 1fr;
  }

  .ori-auto-atab,
  .ori-auto-atab:hover,
  .ori-auto-atab:focus {
    padding: 12px 14px;
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .ori-auto-atabmark {
    display: none;
  }

  .ori-auto-atabt {
    font-size: 16px;
  }

  .ori-auto-apanel {
    padding: 14px;
  }
}

/* ---- Voice: dark call-flow card ------------------------------------------ */
.ori-auto-call {
  margin-bottom: 40px;
  padding: 22px 24px 16px;
  border-radius: 16px;
  background: #0e1424;
  color: #fff;
}

.ori-auto-callhead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 20px;
  margin-bottom: 6px;
}

.ori-auto-calltitle {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.ori-auto-callnote {
  font-size: 13px;
  color: #a3acd0;
}

.ori-auto-vflow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ori-auto-vnode {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 16px 14px 16px 0;
}

.ori-auto-vnode::before {
  content: none;
}

.ori-auto-vnode+.ori-auto-vnode {
  padding-left: 16px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-auto-vk {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8ea2ff;
}

.ori-auto-vk--orange {
  color: var(--c-orange-light);
}

.ori-auto-vk--green {
  color: #6ee7a8;
}

.ori-auto-vt {
  margin: 6px 0 4px;
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.ori-auto-vd {
  font-size: 13px;
  line-height: 1.5;
  color: #b3bcd6;
}

.ori-auto-vtech {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #8ea2ff;
}

@media (max-width:1024px) {
  .ori-auto-vflow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 4px;
  }

  .ori-auto-vnode:nth-child(3n+1) {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width:720px) {
  .ori-auto-call {
    padding: 20px 18px 8px;
  }

  .ori-auto-vflow {
    grid-template-columns: 1fr;
  }

  .ori-auto-vnode,
  .ori-auto-vnode+.ori-auto-vnode {
    padding: 14px 0;
    border-left: 0;
  }

  .ori-auto-vnode+.ori-auto-vnode {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
}

/* ---- Ruled columns (voice roles, "you decide", engagement steps) --------- */
.ori-auto-cols {
  display: grid;
  gap: 0 36px;
  border-top: 2px solid var(--c-ink);
}

.ori-auto-cols--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ori-auto-cols--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 28px;
  margin-top: 44px;
  border-top: 0;
}

.ori-auto-col {
  min-width: 0;
  padding: 22px 0 6px;
}

.ori-auto-cols--4 .ori-auto-col {
  padding-top: 18px;
  border-top: 2px solid var(--c-ink);
}

.ori-auto-colk {
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #c2410c;
}

.ori-auto-colk--indigo {
  color: var(--c-indigo-dark);
}

.ori-auto-col h3 {
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-auto-cols--4 .ori-auto-col h3 {
  font-size: 16.5px;
  margin-bottom: 6px;
}

.ori-auto-col p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate);
}

.ori-auto-cols--4 .ori-auto-col p {
  font-size: 14px;
  line-height: 1.55;
}

.ori-auto-colfoot {
  margin-top: 12px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-auto-cols--div {
  gap: 0;
}

.ori-auto-cols--div .ori-auto-col {
  padding: 22px 24px 4px;
  border-left: 1px solid #e3e1d8;
}

.ori-auto-cols--div .ori-auto-col:first-child {
  padding-left: 0;
  border-left: 0;
}

@media (max-width:1024px) {
  .ori-auto-cols--3:not(.ori-auto-cols--div) {
    grid-template-columns: 1fr;
  }

  .ori-auto-cols--3:not(.ori-auto-cols--div) .ori-auto-col+.ori-auto-col {
    border-top: 1px solid #e3e1d8;
  }

  .ori-auto-cols--4 {
    grid-template-columns: 1fr 1fr;
    row-gap: 8px;
  }
}

@media (max-width:720px) {
  .ori-auto-cols--div {
    grid-template-columns: 1fr;
  }

  .ori-auto-cols--div .ori-auto-col,
  .ori-auto-cols--div .ori-auto-col:first-child {
    padding: 22px 0 4px;
    border-left: 0;
  }

  .ori-auto-cols--div .ori-auto-col+.ori-auto-col {
    border-top: 1px solid #e3e1d8;
  }
}

@media (max-width:520px) {
  .ori-auto-cols--4 {
    grid-template-columns: 1fr;
  }
}

/* ---- Voice: guardrail list ----------------------------------------------- */
.ori-auto-guards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 32px;
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #e3e1d8;
}

.ori-auto-guard {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-auto-guard svg {
  margin-top: 1px;
  color: var(--c-indigo-dark);
}

.ori-auto-guard strong {
  color: var(--c-ink);
}

@media (max-width:1024px) {
  .ori-auto-guards {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:520px) {
  .ori-auto-guards {
    grid-template-columns: 1fr;
  }
}

/* ---- How it runs: 5-step variant of .ori-proc / .ori-procline ------------ */
.ori-auto-procwrap {
  position: relative;
}

.ori-proc--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 22px;
}

.ori-procline--5 {
  top: 22px;
  left: 23px;
  right: calc((100% - 88px) / 5 - 23px);
  background: linear-gradient(90deg, var(--c-indigo), #c9d2ee 30%, #c9d2ee 60%, var(--c-orange) 80%, var(--c-ink));
  opacity: 1;
}

.ori-auto-how .ori-stage-circle--light.ori-stage-circle--indigo {
  background-color: #fff;
}

.ori-auto-circle--orange {
  background: #c2410c;
  color: #fff;
}

.ori-auto-circle--ink {
  background: #0e1424;
  color: #fff;
}

.ori-auto-how .ori-stage-circle {
  position: relative;
  z-index: 1;
}

.ori-auto-lands {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 10px;
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid #dbe1f0;
}

.ori-auto-landsk {
  margin-right: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-auto-landsnote {
  flex-basis: 100%;
  margin: 6px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--c-slate);
}

.ori-auto-landsnote a {
  font-weight: 600;
  color: var(--c-indigo-dark);
  border-bottom: 1px solid rgba(43, 69, 176, 0.3);
}

@media (max-width:1024px) {
  .ori-proc.ori-proc--5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 30px;
  }
}

@media (max-width:640px) {
  .ori-proc.ori-proc--5 {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .ori-auto-landsk {
    flex-basis: 100%;
  }
}

/* ---- What your team sees: screenshot slots ------------------------------- */
.ori-auto-shots {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.ori-auto-fig {
  margin: 0;
  min-width: 0;
}

.ori-auto-shot {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  padding: 0 20px;
  border: 1px solid #dfe4f1;
  border-radius: 14px;
  background: #fff;
  background-size: cover !important;
  background-position: center top !important;
  overflow: hidden;
}

.ori-auto-shot span {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
  text-align: center;
  color: #8a92a6;
}

.ori-auto-shot:has(img) {
  padding: 0;
}

.ori-auto-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ori-auto-fig figcaption {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
}

.ori-auto-fig figcaption strong {
  color: var(--c-ink);
}

@media (max-width:1024px) {
  .ori-auto-shots {
    grid-template-columns: 1fr;
  }
}

/* ---- Case studies: copy + dark results card ------------------------------ */
.ori-auto-cases {
  padding-top: 26px;
  border-top: 1px solid #dbe1f0;
}

.ori-auto-case {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

.ori-auto-case>div {
  min-width: 0;
}

.ori-auto-caseclient {
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-slate);
}

.ori-auto-casetitle {
  margin: 0 0 14px;
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--c-ink);
}

.ori-auto-casedesc {
  margin: 0 0 18px;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--c-slate-2);
}

.ori-auto-tech {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.ori-auto-res {
  padding: 22px 24px;
  border-radius: 14px;
  background: #0e1424;
  color: #fff;
}

.ori-auto-reslabel {
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-orange-light);
}

.ori-auto-resrow {
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-auto-resv {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #fff;
}

.ori-auto-resl {
  margin-top: 3px;
  font-size: 13.5px;
  color: #b3bcd6;
}

.ori-auto-reslink {
  min-height: 44px;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #c4d0ff;
}

.ori-auto-reslink:hover {
  color: #fff;
}

@media (max-width:1024px) {
  .ori-auto-case {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width:640px) {
  .ori-auto-cases .ori-erp-indtabs {
    gap: 6px;
  }

  .ori-auto-cases {
    padding-top: 20px;
  }

  .ori-auto-res {
    padding: 20px 18px;
  }
}

@media (max-width:640px) {

  #work .ori-erp-indtab,
  #work .ori-erp-indtab:hover,
  #work .ori-erp-indtab:focus {
    min-height: 40px;
    padding: 0 14px;
    font-size: 14px;
  }
}

/* ---- Controls: threshold picker + example review screen ------------------ */
.ori-auto-rv {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 48px;
  align-items: start;
}

.ori-auto-rv>div {
  min-width: 0;
}

.ori-auto-thrlabel {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-auto-thrs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ori-auto-thr,
.ori-auto-thr:hover,
.ori-auto-thr:focus {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 13px 14px;
  border-radius: 12px;
  background: transparent;
  border: 1.5px solid #dfe4f1;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  transition: background 160ms, border-color 160ms, box-shadow 160ms;
}

.ori-auto-thr:hover {
  border-color: #c3cbe4;
}

.ori-auto-thr:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 2px;
}

.ori-auto-thrdot {
  flex: none;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  border-radius: 50%;
  border: 2px solid #b9c2dc;
  background: #fff;
  transition: border 160ms;
}

.ori-auto-thrtxt {
  flex: 1;
  min-width: 0;
}

.ori-auto-thrname {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-auto-thrnote {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-slate);
}

.ori-auto-thr[aria-checked="true"],
.ori-auto-thr[aria-checked="true"]:hover,
.ori-auto-thr[aria-checked="true"]:focus {
  background: #fff;
  border-color: #c2410c;
  box-shadow: 0 10px 24px -18px rgba(194, 65, 12, 0.6);
}

.ori-auto-thr[aria-checked="true"] .ori-auto-thrdot {
  border: 5px solid #c2410c;
}

.ori-auto-rev {
  background: #fff;
  border: 1px solid #dfe4f1;
  border-radius: 16px;
  box-shadow: 0 30px 60px -36px rgba(14, 20, 36, 0.45);
  overflow: hidden;
}

.ori-auto-revhead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid #e6e9f2;
}

.ori-auto-revtitle {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-auto-revsub {
  margin-top: 2px;
  font-size: 12.5px;
  color: var(--c-muted);
}

.ori-auto-revbadge {
  flex: none;
  padding: 5px 10px;
  border-radius: var(--r-pill);
  background: #fbe3d2;
  color: #8a3208;
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
}

.ori-auto-revbadge.is-clear {
  background: #dfe6fb;
  color: #1d3299;
}

.ori-auto-revbody {
  padding: 6px 18px 4px;
}

.ori-auto-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) 92px;
  gap: 14px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid #eef1f8;
}

.ori-auto-field:last-child {
  border-bottom: 0;
}

.ori-auto-field>div:first-child {
  min-width: 0;
}

.ori-auto-fk {
  display: block;
  font-size: 12.5px;
  color: var(--c-muted);
}

.ori-auto-fv {
  display: block;
  margin-top: 1px;
  font-size: 14px;
  font-weight: 600;
  color: var(--c-ink);
}

.ori-auto-ftrack {
  position: relative;
  height: 8px;
  border-radius: 4px;
  background: #eef1f8;
}

.ori-auto-fbar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 4px;
  background: #7d92ff;
  transition: background 200ms;
}

.ori-auto-fline {
  position: absolute;
  top: -5px;
  bottom: -5px;
  left: var(--thr, 85%);
  width: 2px;
  margin-left: -1px;
  background: #c2410c;
  transition: left 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-auto-ftag {
  justify-self: end;
  padding: 4px 8px;
  border-radius: 6px;
  background: #eef1ff;
  color: #1d3299;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.ori-auto-field.is-low .ori-auto-fbar {
  background: var(--c-orange-light);
}

.ori-auto-field.is-low .ori-auto-ftag {
  background: #fbe3d2;
  color: #8a3208;
}

.ori-auto-revfoot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 18px 16px;
  background: #fbfcfe;
  border-top: 1px solid #eef1f8;
}

.ori-auto-revprompt {
  flex: 1;
  min-width: 140px;
  align-self: center;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--c-slate);
}

.ori-auto-revbtn {
  padding: 8px 12px;
  border-radius: 9px;
  border: 1px solid #cfd6e8;
  color: var(--c-slate-2);
  font-size: 13px;
  font-weight: 600;
}

.ori-auto-revbtn--go {
  padding: 8px 14px;
  border-color: #c2410c;
  background: #c2410c;
  color: #fff;
}

.ori-auto-revnote {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  font-size: 12.5px;
  color: var(--c-muted);
}

@media (max-width:1024px) {
  .ori-auto-rv {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width:520px) {
  .ori-auto-revhead {
    flex-wrap: wrap;
    padding: 14px 16px;
  }

  .ori-auto-revbody {
    padding: 4px 16px;
  }

  .ori-auto-field {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
  }

  .ori-auto-ftrack {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .ori-auto-ftag {
    grid-row: 1;
    grid-column: 2;
  }

  .ori-auto-revfoot {
    padding: 14px 16px;
  }

  .ori-auto-revprompt {
    flex-basis: 100%;
  }
}

/* ---- Controls: "when we'll tell you not to use AI" band ------------------ */
.ori-auto-notai {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 40px;
  margin-top: 44px;
  padding: 26px 28px;
  border-radius: 16px;
  background: #0e1424;
  color: #fff;
}

.ori-auto-notai h3 {
  margin: 0;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
  color: #fff;
}

.ori-auto-notai p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.65;
  color: #c2c9de;
}

@media (max-width:1024px) {
  .ori-auto-notai {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width:720px) {
  .ori-auto-notai {
    padding: 22px 20px;
  }
}

/* ---- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce) {

  .ori-auto-fline,
  .ori-auto-fbar {
    transition: none;
  }
}

.cloudManagedServiceForm {
  margin: 0 !important
}

/* .cloudManagedServiceForm select.wpforms-field-medium{padding-right:40px !important} */

.cloudManagedServiceForm .wpforms-field select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none' stroke='%23cdd6f5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 7.5 10 12.5 15 7.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
}

.automForm .wpforms-field-select {
  grid-column: unset !important;
  margin: 0 !important
}

/* AI consulting Page*/
/* ---- Hero: underlined highlight + workflow-under-review card ------------- */
[data-quiz-result][hidden],
[data-quiz-reset][hidden],
[data-quiz-note][hidden] {
  display: none !important;
}

.ori-aic-h1 {
  text-wrap: balance;
}

.ori-aic-h1 span {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #c2410c;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.14em;
  text-decoration-skip-ink: auto;
}

.ori-auto-run.ori-aic-run {
  padding: 0;
  overflow: hidden;
  background: rgba(14, 20, 36, 0.72);
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 44px 90px -44px rgba(0, 0, 0, 0.85);
}

.ori-aic-runhead {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-aic-runhead .ori-auto-runtitle {
  display: block;
  margin-bottom: 4px;
}

.ori-aic-runname {
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #fff;
}

.ori-aic-illus {
  flex: none;
  padding-top: 3px;
  font-size: 12px;
  font-weight: 600;
  color: #a3acd0;
}

.ori-auto-runrow.ori-aic-runrow {
  align-items: center;
  padding: 12px 20px;
  border-top-color: rgba(255, 255, 255, 0.07);
}

.ori-aic-runhead+.ori-aic-runrow {
  border-top: 0;
}

.ori-aic-chk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(110, 231, 168, 0.16);
  color: #b6f5d3;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
}

.ori-aic-runnote {
  min-width: 0;
  font-size: 13.5px;
  line-height: 1.4;
  text-align: right;
  color: #c2c9de;
}

.ori-aic-runrow--warn .ori-aic-chk {
  background: rgba(249, 115, 22, 0.22);
  color: #ffd3ad;
}

.ori-aic-runrow--warn .ori-aic-runnote {
  color: #ffd3ad;
}

.ori-aic-rec {
  padding: 16px 20px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(194, 65, 12, 0.12);
}

.ori-aic-reck {
  margin-bottom: 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c-orange-light);
}

.ori-aic-rec p {
  margin: 0;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.45;
  color: #fff;
}

@media (max-width:480px) {
  .ori-auto-run.ori-aic-run {
    padding: 0;
  }

  .ori-aic-runhead {
    padding: 14px 16px;
  }

  .ori-auto-runrow.ori-aic-runrow {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 2px 12px;
    padding: 11px 16px;
  }

  .ori-aic-runnote {
    grid-column: 2;
    text-align: left;
    font-size: 13px;
  }

  .ori-aic-rec {
    padding: 14px 16px 16px;
  }

  .ori-aic-rec p {
    font-size: 14.5px;
  }
}

/* ---- Proof strip: label + orange tick above each number ------------------ */
.ori-aic-prooflabel {
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-slate);
}

.ori-qbar.ori-aic-qbar {
  width: 24px;
  margin-bottom: 14px;
  background: #c2410c;
}

/* ---- When it pays off: intro + two-column ruled list --------------------- */
.ori-aic-split {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr);
  gap: 56px;
  align-items: start;
}

.ori-aic-split>div {
  min-width: 0;
}

.ori-aic-signs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 36px;
  border-top: 2px solid var(--c-ink);
}

.ori-aic-sign {
  min-width: 0;
  padding: 18px 0;
  border-bottom: 1px solid #e6e9f2;
}

.ori-aic-sign h3 {
  margin: 0 0 5px;
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-aic-sign p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-slate);
}

@media (max-width:1024px) {
  .ori-aic-split {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width:720px) {
  .ori-aic-signs {
    grid-template-columns: 1fr;
  }
}

/* ---- Process: stage tabs + detail panel with prev / next ----------------- */
.ori-auto-auto.ori-aic-steps {
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 32px;
}

.ori-aic-steps .ori-auto-atab,
.ori-aic-steps .ori-auto-atab:hover,
.ori-aic-steps .ori-auto-atab:focus {
  padding: 12px 14px;
}

.ori-aic-steps .ori-auto-atabt {
  font-size: 16px;
}

.ori-auto-apanel.ori-aic-stage {
  padding: 28px 30px;
  border-color: #dfe4f1;
  box-shadow: 0 28px 56px -36px rgba(20, 26, 40, 0.4);
}

.ori-aic-stagek {
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #c2410c;
}

.ori-aic-staget {
  margin: 0 0 10px;
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--c-ink);
}

.ori-aic-stagelead {
  max-width: 62ch;
  margin: 0 0 24px;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--c-slate-2);
}

.ori-aic-detail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 28px;
}

.ori-aic-detail>div {
  min-width: 0;
  padding-top: 14px;
  border-top: 2px solid var(--c-ink);
}

.ori-aic-detailk {
  margin-bottom: 6px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-slate);
}

.ori-aic-detail p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-slate-2);
}

.ori-aic-detail>.ori-aic-detail--get {
  border-top-color: var(--c-indigo-dark);
}

.ori-aic-detail--get .ori-aic-detailk {
  color: var(--c-indigo-dark);
}

.ori-aic-detail>.ori-aic-detail--decide {
  border-top-color: #c2410c;
}

.ori-aic-detail--decide .ori-aic-detailk {
  color: #c2410c;
}

.ori-aic-stagenav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid #e6e9f2;
}

.ori-aic-navbtn,
.ori-aic-navbtn:hover,
.ori-aic-navbtn:focus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 0 18px;
  border-radius: 10px;
  background: #fff;
  color: var(--c-slate-2);
  border: 1px solid #cfd6e8;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  box-shadow: none;
  cursor: pointer;
  transition: background 160ms, border-color 160ms;
}

.ori-aic-navbtn:hover {
  border-color: #9aa3b5;
}

.ori-aic-navbtn--next,
.ori-aic-navbtn--next:hover,
.ori-aic-navbtn--next:focus {
  background: #0e1424;
  color: #fff;
  border-color: #0e1424;
}

.ori-aic-navbtn--next:hover {
  background: #1d2640;
}

.ori-aic-navbtn:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 2px;
}

.ori-aic-navbtn[disabled],
.ori-aic-navbtn[disabled]:hover {
  opacity: 0.4;
  cursor: not-allowed;
}

@media (max-width:1024px) {
  .ori-auto-auto.ori-aic-steps {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .ori-aic-steps .ori-auto-atabs {
    display: flex;
    flex-direction: row;
    gap: 6px;
    padding: 6px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .ori-aic-steps .ori-auto-atabs::-webkit-scrollbar {
    display: none;
  }

  .ori-aic-steps .ori-auto-atab,
  .ori-aic-steps .ori-auto-atab:hover,
  .ori-aic-steps .ori-auto-atab:focus {
    flex: none;
    width: auto;
    grid-template-columns: 28px auto;
    gap: 10px;
    padding: 10px 14px 10px 10px;
  }

  .ori-aic-steps .ori-auto-atabnum {
    width: 28px;
    height: 28px;
  }

  .ori-aic-steps .ori-auto-atabt {
    font-size: 15px;
    white-space: nowrap;
  }

  .ori-aic-steps .ori-auto-atabmark {
    display: none;
  }
}

@media (max-width:720px) {
  .ori-aic-detail {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
}

@media (max-width:640px) {
  .ori-auto-apanel.ori-aic-stage {
    padding: 22px 18px;
  }

  .ori-aic-stagelead {
    margin-bottom: 20px;
    font-size: 15px;
  }

  .ori-aic-navbtn,
  .ori-aic-navbtn:hover,
  .ori-aic-navbtn:focus {
    padding: 0 14px;
    font-size: 13.5px;
  }
}

/* ---- Prioritisation: value / feasibility matrix -------------------------- */
.ori-aic-matrix {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

.ori-aic-matrix>div {
  min-width: 0;
}

.ori-aic-plot {
  position: relative;
  height: 400px;
  margin: 0 0 30px 30px;
  border-left: 2px solid var(--c-ink);
  border-bottom: 2px solid var(--c-ink);
}

.ori-aic-plot::before,
.ori-aic-plot::after {
  content: '';
  position: absolute;
  z-index: 0;
  pointer-events: none;
}

.ori-aic-plot::before {
  left: 50%;
  top: 0;
  bottom: 0;
  border-left: 1px dashed #b9c2dc;
}

.ori-aic-plot::after {
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px dashed #b9c2dc;
}

.ori-aic-quad {
  position: absolute;
  width: 50%;
  height: 50%;
  padding: 12px 14px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ori-aic-quad--pilot {
  left: 50%;
  top: 0;
  background: #fff7f0;
  color: #a4370a;
}

.ori-aic-quad--later {
  left: 0;
  top: 0;
  background: #f5f7fc;
  color: var(--c-slate);
}

.ori-aic-quad--quick {
  left: 50%;
  top: 50%;
  background: #f5f7fc;
  color: var(--c-slate);
}

.ori-aic-quad--no {
  left: 0;
  top: 50%;
  background: #fff;
  color: var(--c-muted);
}

/* Labels sit in the corner farthest from the plotted dots */
.ori-aic-quad--later,
.ori-aic-quad--quick,
.ori-aic-quad--no {
  display: flex;
  align-items: flex-end;
}

.ori-aic-dot,
.ori-aic-dot:hover,
.ori-aic-dot:focus {
  --o: 18px;
  position: absolute;
  z-index: 2;
  left: var(--x);
  bottom: var(--y);
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px;
  border: 0;
  border-radius: 8px;
  background: none;
  box-shadow: none;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transform: translate(calc(var(--o) * -1), 50%);
}

.ori-aic-dot--rev,
.ori-aic-dot--rev:hover,
.ori-aic-dot--rev:focus {
  flex-direction: row-reverse;
  transform: translate(calc(-100% + var(--o)), 50%);
}

.ori-aic-dot[aria-selected="true"] {
  --o: 21px;
  z-index: 3;
}

.ori-aic-dot:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 0;
}

.ori-aic-dotmark {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--c-indigo-dark);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  transition: width 160ms, height 160ms, background 160ms, box-shadow 160ms;
}

.ori-aic-dot--no .ori-aic-dotmark {
  background: #fff;
  color: var(--c-slate);
  border: 2px solid #9aa3b5;
}

.ori-aic-dot[aria-selected="true"] .ori-aic-dotmark {
  width: 30px;
  height: 30px;
  background: #c2410c;
  color: #fff;
  border: 0;
  box-shadow: 0 0 0 5px rgba(194, 65, 12, 0.18);
}

.ori-aic-dotlabel {
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--c-ink);
}

.ori-aic-dot[aria-selected="true"] .ori-aic-dotlabel {
  font-weight: 700;
}

.ori-aic-dot:hover .ori-aic-dotlabel {
  color: var(--c-indigo-dark);
}

.ori-aic-axis {
  position: absolute;
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
  color: var(--c-slate);
  pointer-events: none;
}

.ori-aic-axis--y {
  left: -17px;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.ori-aic-axis--x {
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
}

.ori-aic-note {
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--c-muted);
}

.ori-aic-pick {
  padding-top: 18px;
  border-top: 2px solid var(--c-ink);
}

.ori-aic-verdict {
  display: inline-flex;
  padding: 5px 11px;
  border-radius: var(--r-pill);
  background: #eef1ff;
  color: #1d3299;
  font-size: 12.5px;
  font-weight: 700;
}

.ori-aic-verdict--pilot {
  background: #fff1e6;
  color: #a4370a;
}

.ori-aic-verdict--no {
  background: #eef0f5;
  color: var(--c-slate);
}

.ori-aic-pickpanel h3 {
  margin: 12px 0 10px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--c-ink);
}

.ori-aic-pickpanel p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--c-slate-2);
}

.ori-aic-scores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 22px;
}

.ori-aic-scorek {
  margin-bottom: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-slate);
}

.ori-aic-scorebar {
  height: 6px;
  border-radius: 3px;
  background: #e6e9f2;
  overflow: hidden;
}

.ori-aic-scorebar span {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--c-indigo-dark);
}

.ori-aic-legend {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #e6e9f2;
}

.ori-aic-leg,
.ori-aic-leg:hover,
.ori-aic-leg:focus {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 6px 4px;
  border: 0;
  border-bottom: 1px solid #e6e9f2;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  transition: background 160ms;
}

.ori-aic-leg:hover {
  background: #fafbfd;
}

.ori-aic-leg:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: -2px;
}

.ori-aic-leg[aria-selected="true"],
.ori-aic-leg[aria-selected="true"]:hover,
.ori-aic-leg[aria-selected="true"]:focus {
  background: #f5f7fc;
  font-weight: 700;
}

.ori-aic-legnum {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eef1ff;
  color: #1d3299;
  font-size: 12px;
  font-weight: 700;
}

.ori-aic-leg[aria-selected="true"] .ori-aic-legnum {
  background: #c2410c;
  color: #fff;
}

.ori-aic-legv {
  flex: none;
  margin-left: auto;
  padding-left: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--c-muted);
}

@media (max-width:1024px) {
  .ori-aic-matrix {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width:720px) {
  .ori-aic-plot {
    height: 300px;
  }

  .ori-aic-dotlabel {
    display: none;
  }

  .ori-aic-dot--rev,
  .ori-aic-dot--rev:hover,
  .ori-aic-dot--rev:focus {
    transform: translate(calc(var(--o) * -1), 50%);
  }

  .ori-aic-quad {
    padding: 10px;
    font-size: 11px;
    letter-spacing: 0.06em;
  }

  .ori-aic-axis {
    font-size: 12px;
  }
}

@media (max-width:400px) {
  .ori-aic-scores {
    grid-template-columns: 1fr;
  }
}

/* ---- Readiness check: questions + sticky result card --------------------- */
.ori-aic-ready {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

.ori-aic-ready>div {
  min-width: 0;
}

.ori-aic-q {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid #dbe1f0;
}

.ori-aic-qt {
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-ink);
}

.ori-aic-qh {
  margin-top: 3px;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--c-slate);
}

.ori-aic-opts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ori-aic-opt,
.ori-aic-opt:hover,
.ori-aic-opt:focus {
  min-height: 40px;
  margin: 0;
  padding: 0 14px;
  border-radius: var(--r-pill);
  background: #fff;
  color: var(--c-slate-2);
  border: 1px solid #cfd6e8;
  box-shadow: none;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 160ms, border-color 160ms, color 160ms;
}

.ori-aic-opt:hover {
  border-color: #9aa3b5;
}

.ori-aic-opt:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 2px;
}

.ori-aic-opt[aria-checked="true"],
.ori-aic-opt[aria-checked="true"]:hover,
.ori-aic-opt[aria-checked="true"]:focus {
  background: #0e1424;
  color: #fff;
  border-color: #0e1424;
}

.ori-aic-resultwrap {
  position: sticky;
  top: 104px;
}

.ori-aic-result {
  padding: 26px 26px 24px;
  border-radius: 16px;
  background: #0e1424;
  color: #fff;
}

.ori-aic-resulthead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.ori-aic-resultk {
  font-size: 13px;
  font-weight: 700;
  color: var(--c-orange-light);
}

.ori-aic-resultn {
  font-size: 12.5px;
  font-weight: 600;
  color: #a3acd0;
}

.ori-aic-resulttrack {
  height: 6px;
  margin-bottom: 20px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.12);
  overflow: hidden;
}

.ori-aic-resulttrack span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 3px;
  background: var(--c-orange-light);
  transition: width 200ms;
}

.ori-aic-result h3 {
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #fff;
}

.ori-aic-result p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #c2c9de;
}

.ori-btn.ori-aic-resultcta {
  height: 48px;
  margin-top: 20px;
  padding: 0 20px;
  border-radius: 11px;
  background: #c2410c;
  font-size: 14.5px;
  font-weight: 600;
}

.ori-btn.ori-aic-resultcta:hover {
  background: #a4370a;
  color: #fff;
}

.ori-aic-reset,
.ori-aic-reset:hover,
.ori-aic-reset:focus {
  display: block;
  min-height: 40px;
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: #c4d0ff;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}

.ori-aic-reset:hover {
  color: #fff;
}

@media (max-width:1024px) {
  .ori-aic-ready {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ori-aic-resultwrap {
    position: static;
  }
}

@media (max-width:720px) {
  .ori-aic-q {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width:480px) {
  .ori-aic-result {
    padding: 22px 18px 20px;
  }

  .ori-aic-result h3 {
    font-size: 21px;
  }

  .ori-btn.ori-aic-resultcta {
    width: 100%;
  }
}

/* ---- Case studies: "what it taught us" ----------------------------------- */
.ori-aic-lesson {
  padding-top: 14px;
  border-top: 2px solid #c2410c;
}

.ori-aic-lessonk {
  margin-bottom: 6px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c2410c;
}

.ori-aic-lesson p {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--c-ink);
}

/* ---- Stance: numbered ruled columns + facts and links -------------------- */
.ori-auto-cols.ori-aic-stance {
  gap: 0 28px;
  border-top: 0;
}

.ori-aic-stance .ori-auto-col {
  padding: 18px 0 4px;
  border-top: 2px solid var(--c-ink);
}

.ori-auto-cols--3.ori-aic-stance .ori-auto-col+.ori-auto-col {
  border-top: 2px solid var(--c-ink);
}

.ori-aic-stancenum {
  margin-bottom: 16px;
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #c2410c;
}

.ori-aic-stance .ori-auto-col h3 {
  margin-bottom: 6px;
  font-size: 16.5px;
}

.ori-aic-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #dbe1f0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-aic-facts strong {
  color: var(--c-ink);
}

.ori-aic-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 22px;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 600;
}

.ori-aic-linksk {
  font-weight: 500;
  color: var(--c-slate);
}

.ori-aic-links a {
  min-height: 32px;
  color: var(--c-indigo-dark);
}

.ori-aic-links a:hover {
  color: #1d3299;
}

@media (max-width:1024px) {
  .ori-auto-cols.ori-auto-cols--3.ori-aic-stance {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:720px) {
  .ori-auto-cols.ori-auto-cols--3.ori-aic-stance {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .ori-aic-stancenum {
    margin-bottom: 12px;
    font-size: 36px;
  }

  .ori-aic-facts {
    flex-direction: column;
    gap: 8px;
  }
}

/* ---- Enquiry band: NDA line + readiness note in the form ----------------- */
.ori-ctaband-copy .ori-aic-nda {
  margin-top: 14px;
  font-size: 14px;
  color: #a3acd0;
}

.ori-aic-quiznote {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(249, 163, 94, 0.12);
  border: 1px solid rgba(249, 163, 94, 0.35);
  color: #ffd9b8;
  font-size: 13.5px;
  line-height: 1.5;
}

.ori-aic-quiznote strong {
  color: #fff;
}

/* ---- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce) {

  .ori-aic-dotmark,
  .ori-aic-resulttrack span,
  .ori-aic-opt,
  .ori-aic-leg,
  .ori-aic-navbtn {
    transition: none;
  }
}

/* ==========================================================================
   GENERATIVE AI DEVELOPMENT PAGE
   ========================================================================== */

[data-stack-if][hidden],
[data-stack-off][hidden],
[data-stack-note][hidden] {
  display: none !important;
}

/* ---- Hero: breadcrumb --------------------------------------------------- */
.ori-gai-crumb {
  margin-bottom: 18px;
}

.ori-gai-crumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: #a3acd0;
}

.ori-gai-crumb li {
  margin: 0;
}

.ori-gai-crumb a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  color: #c4d0ff;
}

.ori-gai-crumb a:hover {
  color: #fff;
}

.ori-gai-crumb [aria-current="page"] {
  color: var(--c-orange-light);
}

/* ---- Chat bubbles: hero card + "built by Orion" card (dark by default) --- */
.ori-aic-runhead.ori-gai-chathead {
  align-items: center;
  padding: 14px 18px;
}

.ori-gai-chatname {
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
}

.ori-gai-thread {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 18px;
}

.ori-gai-q {
  width: fit-content;
  max-width: 85%;
  margin: 0 0 0 auto;
  padding: 10px 13px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
}

.ori-gai-a {
  max-width: 92%;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(59, 91, 219, 0.28);
  border: 1px solid rgba(142, 162, 255, 0.35);
  font-size: 14px;
  line-height: 1.55;
  color: #fff;
}

.ori-gai-ref {
  font-size: 12px;
  font-weight: 700;
  color: #ffd3ad;
}

.ori-gai-srcs {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ori-gai-src {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #c2c9de;
}

.ori-gai-src .ori-gai-ref {
  flex: none;
}

.ori-gai-chatfoot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 18px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-gai-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(125, 146, 255, 0.18);
  color: #c4d0ff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.ori-gai-badge--ok {
  background: rgba(110, 231, 168, 0.16);
  color: #b6f5d3;
}

.ori-gai-badge--muted {
  background: #eef0f5;
  color: var(--c-slate);
}

/* ---- Stack builder: choices (left) + live layer list (right) ------------ */
.ori-gai-build {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: 40px;
  align-items: start;
}

.ori-gai-controls,
.ori-gai-stack {
  min-width: 0;
}

.ori-gai-stepk {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-gai-stepk--gap {
  margin: 26px 0 6px;
}

.ori-gai-uc {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ori-gai-ucbtn,
.ori-gai-ucbtn:hover,
.ori-gai-ucbtn:focus {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 3px;
  width: 100%;
  min-height: 72px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #cfd6e8;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  transition: border-color 160ms, background 160ms;
}

.ori-gai-ucbtn:hover {
  border-color: var(--c-indigo);
}

.ori-gai-ucbtn[aria-checked="true"],
.ori-gai-ucbtn[aria-checked="true"]:hover,
.ori-gai-ucbtn[aria-checked="true"]:focus {
  background: #0e1424;
  border-color: #0e1424;
  color: #fff;
}

.ori-gai-ucbtn:focus-visible,
.ori-gai-segbtn:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

.ori-gai-uct {
  font-size: 15px;
  font-weight: 700;
}

.ori-gai-ucd {
  font-size: 13px;
  line-height: 1.4;
  color: var(--c-slate);
}

.ori-gai-ucbtn[aria-checked="true"] .ori-gai-ucd {
  color: #c2c9de;
}

.ori-gai-togs {
  border-top: 1px solid #e6e9f2;
}

.ori-gai-tog {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin: 0;
  padding: 4px 0;
  border-bottom: 1px solid #e6e9f2;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-slate-2);
  cursor: pointer;
}

.ori-gai-tog input {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #c2410c;
  cursor: pointer;
}

.ori-gai-tog span {
  flex: 1;
  min-width: 0;
}

.ori-gai-segs {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  margin-top: 22px;
}

.ori-gai-segs .ori-gai-stepk {
  margin-bottom: 8px;
}

.ori-gai-seg {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #cfd6e8;
}

.ori-gai-segbtn,
.ori-gai-segbtn:hover,
.ori-gai-segbtn:focus {
  min-height: 36px;
  margin: 0;
  padding: 0 14px;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: var(--c-slate-2);
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  transition: background 160ms, color 160ms;
}

.ori-gai-segbtn:hover {
  background: #f0f3f9;
}

.ori-gai-segbtn[aria-checked="true"],
.ori-gai-segbtn[aria-checked="true"]:hover,
.ori-gai-segbtn[aria-checked="true"]:focus {
  background: #0e1424;
  color: #fff;
}

.ori-gai-stack {
  padding: 22px 22px 20px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #dfe4f1;
  box-shadow: 0 24px 50px -36px rgba(14, 20, 36, 0.35);
}

.ori-gai-stackhead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px 12px;
  margin-bottom: 4px;
}

.ori-gai-stackhead h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-gai-stackcount {
  flex: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-slate);
  white-space: nowrap;
}

.ori-gai-stacknote {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
}

.ori-gai-layers {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ori-gai-layer {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f5f7fc;
  border: 1px solid #dfe4f1;
  transition: background 200ms, border-color 200ms, opacity 200ms;
}

.ori-gai-layerk {
  font-size: 13px;
  font-weight: 700;
  color: #1d3299;
}

.ori-gai-layerv {
  min-width: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--c-ink);
}

.ori-gai-layer--guard {
  background: #fff7f0;
  border-color: #f3d8c2;
}

.ori-gai-layer--guard .ori-gai-layerk {
  color: #a4370a;
}

.ori-gai-layer.is-off {
  background: #fff;
  border: 1px dashed #cfd6e8;
  opacity: 0.6;
}

.ori-gai-layer.is-off .ori-gai-layerk,
.ori-gai-layer.is-off .ori-gai-layerv {
  color: var(--c-muted);
}

.ori-gai-decide {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 2px solid #c2410c;
}

.ori-gai-decidek {
  margin-bottom: 8px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c2410c;
}

.ori-gai-decide ul {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-gai-decide li {
  margin: 0;
}

.ori-gai-send {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  margin-top: 18px;
  padding: 0 20px;
  border-radius: 11px;
  background: #0e1424;
  color: #fff;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.3;
  transition: background 160ms;
}

.ori-gai-send:hover,
.ori-gai-send:focus {
  background: #1d2540;
  color: #fff;
}

/* ---- Demo vs production: two answer cards with an arrow between --------- */
.ori-gai-vs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
  align-items: center;
}

.ori-gai-vsarrow {
  display: flex;
  justify-content: center;
}

.ori-gai-vscard {
  min-width: 0;
  padding: 22px 22px 20px;
  border-radius: 16px;
}

.ori-gai-vscard--demo {
  background: #fff;
  border: 1px dashed #cfd6e8;
}

.ori-gai-vscard--prod {
  background: #0e1424;
  color: #fff;
  box-shadow: 0 22px 46px -24px rgba(14, 20, 36, 0.6);
}

.ori-gai-vshead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 16px;
}

.ori-gai-vsk {
  font-size: 13px;
  font-weight: 700;
  color: var(--c-slate);
}

.ori-gai-vsk--orange {
  color: var(--c-orange-light);
}

.ori-gai-vscard .ori-gai-q {
  margin-bottom: 10px;
}

.ori-gai-vscard--demo .ori-gai-q,
.ori-gai-vscard--demo .ori-gai-a {
  background: #f5f7fc;
  border-color: #e6e9f2;
  color: var(--c-slate-2);
}

.ori-gai-vscard--demo .ori-gai-q {
  color: var(--c-ink);
}

.ori-gai-a--marked {
  position: relative;
  padding-left: 16px;
}

.ori-gai-mk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #c2410c;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}

.ori-gai-mk--corner {
  position: absolute;
  left: -10px;
  top: -10px;
}

.ori-gai-access {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.ori-gai-accesschip {
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.4;
  color: #dbe1f2;
}

.ori-gai-vslist {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 16px 0 0;
  padding: 14px 0 0;
  list-style: none;
  border-top: 1px solid #e6e9f2;
}

.ori-gai-vslist li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--c-slate);
}

.ori-gai-vscard--prod .ori-gai-vslist {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.ori-gai-vscard--prod .ori-gai-vslist li {
  color: #dbe1f2;
}

.ori-gai-x {
  font-weight: 700;
  color: #a4370a;
}

.ori-gai-caption {
  margin: 10px 0 0;
  font-size: 12.5px;
  color: var(--c-muted);
}

/* ---- How it works: list reset, testing loop, production checklist ------- */
.ori-gai-pipe,
.ori-gai-flow {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ori-gai-pipe>li,
.ori-gai-flow>li {
  margin: 0;
}

.ori-gai-loop {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  padding: 14px 18px;
  border-radius: 12px;
  background: #fff7f0;
  border: 1px solid #f3d8c2;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-gai-loop svg {
  flex: none;
}

.ori-gai-loop strong {
  color: var(--c-ink);
}

.ori-gai-prod {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 28px;
  margin-top: 40px;
}

.ori-gai-prod>div {
  min-width: 0;
  padding: 16px 0 18px;
  border-top: 2px solid var(--c-ink);
}

.ori-gai-prod h3 {
  margin: 0 0 5px;
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-gai-prod p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
}

.ori-aic-facts.ori-gai-facts {
  margin-top: 6px;
  border-top-color: #e6e9f2;
}

/* ---- Process: decision-point gradient + "You get" line ------------------ */
.ori-procline--5.ori-gai-flowline {
  background: linear-gradient(90deg, var(--c-indigo), #c9d2ee 28%, var(--c-orange) 50%, #c9d2ee 72%, var(--c-indigo));
}

.ori-gai-out {
  margin-top: auto;
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-slate-2);
}

.ori-gai-out strong {
  color: var(--c-indigo-dark);
}

.ori-gai-out--hi strong {
  color: #c2410c;
}

/* ---- Case studies: service line, pipeline-step chips, built-in list ----- */
.ori-gai-svc {
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-slate);
}

.ori-gai-svc span {
  color: var(--c-ink);
}

.ori-gai-minik {
  margin-bottom: 8px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-slate);
}

.ori-gai-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ori-gai-mini li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  margin: 0;
  padding: 0 11px;
  border-radius: 8px;
  background: #fff;
  border: 1px dashed #cfd6e8;
  font-size: 13px;
  font-weight: 600;
  color: #8a92a6;
}

.ori-gai-mini li span {
  font-size: 12px;
  font-weight: 700;
  color: #a3a9b8;
}

.ori-gai-mini li.is-on {
  background: #0e1424;
  border: 1px solid #0e1424;
  color: #fff;
}

.ori-gai-mini li.is-on span {
  color: #ffd3ad;
}

.ori-gai-built {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14.5px;
  line-height: 1.5;
  color: #e2e7f8;
}

.ori-gai-built svg {
  margin-top: 3px;
}

/* ---- Enquiry form: attached-stack note ---------------------------------- */
.ori-gai-formnote {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(249, 163, 94, 0.12);
  border: 1px solid rgba(249, 163, 94, 0.35);
  font-size: 13.5px;
  line-height: 1.5;
  color: #ffd9b8;
}

.ori-gai-formnote strong {
  color: #fff;
}

.ori-gai-detach,
.ori-gai-detach:hover,
.ori-gai-detach:focus {
  flex: none;
  margin: 0;
  padding: 0;
  min-height: 0;
  background: none;
  border: 0;
  box-shadow: none;
  color: #ffd9b8;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: underline;
  cursor: pointer;
}

.ori-gai-detach:hover {
  color: #fff;
}

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width:1024px) {
  .ori-gai-build {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width:720px) {

  .ori-gai-uc,
  .ori-gai-prod,
  .ori-gai-vs {
    grid-template-columns: 1fr;
  }

  .ori-gai-vsarrow {
    padding: 6px 0;
    transform: rotate(90deg);
  }

  .ori-gai-layer {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .ori-gai-loop {
    align-items: flex-start;
  }

  .ori-gai-loop svg {
    margin-top: 2px;
  }

  .ori-gai-prod {
    margin-top: 32px;
  }
}

@media (max-width:480px) {
  .ori-proc.ori-proc--6.ori-gai-pipe {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .ori-gai-pipe .ori-stage-circle {
    width: 46px;
    height: 46px;
    font-size: 17px;
  }

  .ori-gai-stack,
  .ori-gai-vscard {
    padding: 18px 16px;
  }

  .ori-gai-stackhead {
    flex-wrap: wrap;
  }

  .ori-aic-runhead.ori-gai-chathead {
    padding: 12px 16px;
  }

  .ori-gai-thread {
    padding: 14px 16px;
  }

  .ori-gai-chatfoot {
    padding: 12px 16px 14px;
  }

  .ori-gai-q {
    max-width: 92%;
  }

  .ori-gai-a {
    max-width: 100%;
  }

  .ori-gai-segs>div {
    width: 100%;
  }

  .ori-gai-seg {
    border-radius: 14px;
  }

  .ori-gai-segbtn,
  .ori-gai-segbtn:hover,
  .ori-gai-segbtn:focus {
    padding: 0 12px;
    border-radius: 10px;
  }

  .ori-gai-send {
    width: 100%;
    justify-content: center;
  }
}

/* ---- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce) {

  .ori-gai-layer,
  .ori-gai-ucbtn,
  .ori-gai-segbtn,
  .ori-gai-send {
    transition: none;
  }
}

@media screen and (max-width:992px) {
  .talkmigration .ori-reassure-list {
    flex-direction: column !important;
  }
}

/* hide button */
.scroll_up_btn {
  display: none !important;
}


/* ====API & SYSTEMS INTEGRATION PAGE=== */

/* ---- Hero: checks, credentials, system hub ------------------------------- */
.ori-api-checks {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 28px;
}

.ori-api-herocta {
  gap: 14px 24px;
  margin-bottom: 30px;
}

.ori-api-creds {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.ori-api-creds span {
  font-size: 14px;
  font-weight: 600;
  color: #dbe1f2;
  padding: 0 16px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.ori-api-creds span:first-child {
  padding-left: 0;
  border-left: 0;
}

.ori-api-hubwrap {
  min-width: 0;
}

.ori-api-hubk {
  font-size: 12.5px;
  font-weight: 600;
  color: #aab2cc;
  margin-bottom: 12px;
}

.ori-api-hub {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ori-api-node,
.ori-api-node:hover,
.ori-api-node:focus {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
  min-height: 64px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: none;
  font-family: 'Poppins', sans-serif;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: border-color 160ms, background 160ms;
}

.ori-api-node:hover {
  border-color: rgba(249, 163, 94, 0.7);
}

.ori-api-node[aria-selected="true"] {
  background: rgba(249, 115, 22, 0.16);
  border-color: var(--c-orange);
}

.ori-api-nodet {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.ori-api-nodes {
  font-size: 12px;
  line-height: 1.35;
  color: #aab2cc;
}

.ori-api-stub {
  position: absolute;
  left: 50%;
  width: 2px;
  height: 15px;
  margin-left: -1px;
  background: rgba(142, 162, 255, 0.4);
  pointer-events: none;
}

.ori-api-hub>.ori-api-node:nth-child(-n+3) .ori-api-stub {
  bottom: -16px;
}

.ori-api-hub>.ori-api-node:nth-child(n+5) .ori-api-stub {
  top: -16px;
}

.ori-api-node[aria-selected="true"] .ori-api-stub {
  background: linear-gradient(var(--c-orange) 50%, transparent 50%);
  background-size: 2px 6px;
  animation: ori-api-flow 900ms linear 3;
}

@keyframes ori-api-flow {
  to {
    background-position: 0 12px;
  }
}

.ori-api-hubcore {
  grid-column: 1 / -1;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-radius: var(--r-tile);
  background: var(--c-indigo);
  color: #fff;
  box-shadow: 0 18px 40px -18px rgba(59, 91, 219, 0.9);
}

.ori-api-hubcorek {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #dbe3ff;
}

.ori-api-hubcoret {
  margin-top: 3px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
}

.ori-api-live {
  flex: none;
  padding: 5px 10px;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.18);
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}

.ori-api-hubflow {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-api-hubflowk {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--c-orange-light);
}

.ori-api-hubsteps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: #dfe4ff;
}

.ori-api-hubsteps span+span::before {
  content: "\2192";
  margin-right: 8px;
  color: var(--c-indigo-light);
}

.ori-api-hubsteps span:last-child {
  color: #fff;
}

/* ---- Proof strip: client logo marquee ------------------------------------ */
.ori-api-trusted {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #e3e1d8;
}

.ori-api-trusted .ori-tiny-label {
  margin-bottom: 18px;
}

.ori-api-marq {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.ori-api-marqtrack {
  display: flex;
  align-items: center;
  width: max-content;
  animation: ori-api-marq 38s linear infinite;
}

.ori-api-marqtrack img {
  display: block;
  flex: none;
  width: auto;
  max-width: none;
  height: 52px;
  margin-right: 72px;
}

.ori-api-marq:hover .ori-api-marqtrack {
  animation-play-state: paused;
}

@keyframes ori-api-marq {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* ---- Core capability: intro + stack chips -------------------------------- */
.ori-api-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

.ori-api-intro .ori-body {
  max-width: 62ch;
}

.ori-api-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 4px;
}

.ori-api-stackk {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-slate);
}

.ori-api-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ori-api-chips span {
  padding: 7px 12px;
  border-radius: 8px;
  background: var(--c-panel-2);
  border: 1px solid var(--c-hairline);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--c-ink);
}

.ori-api-chips--tint span {
  background: #eef1ff;
  border-color: #eef1ff;
  color: var(--c-indigo-dark);
}

.ori-api-chips--sm {
  gap: 6px;
}

.ori-api-chips--sm span {
  padding: 6px 10px;
  background: #fff;
  border-color: #dfe4f1;
  font-size: 13.5px;
}

/* ---- Platforms: category tabs + detail panel ----------------------------- */
.ori-api-cats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ori-api-cat,
.ori-api-cat:hover,
.ori-api-cat:focus {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 104px;
  margin: 0;
  padding: 18px 18px 16px;
  border-radius: var(--r-tile);
  background: #fff;
  border: 1px solid var(--c-hairline);
  box-shadow: none;
  color: var(--c-ink);
  font-family: 'Poppins', sans-serif;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  white-space: normal;
  cursor: pointer;
  transition: border-color 160ms, box-shadow 160ms, transform 160ms;
}

.ori-api-cat:hover {
  border-color: #c3ccea;
}

.ori-anim .ori-api-cat:hover {
  transform: translateY(-2px);
}

.ori-api-cat[aria-selected="true"] {
  border-color: var(--c-indigo);
  box-shadow: 0 0 0 3px rgba(59, 91, 219, 0.12);
}

.ori-api-cat[aria-selected="true"]::after {
  content: '';
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -1px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--c-indigo);
}

.ori-api-catn {
  font-size: 12.5px;
  font-weight: 700;
  color: #8a92a6;
}

.ori-api-cat[aria-selected="true"] .ori-api-catn {
  color: #c2410c;
}

.ori-api-catt {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-api-catd {
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--c-slate);
}

.ori-api-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 36px;
  margin-top: 18px;
  padding: 26px 28px;
  border-radius: var(--r-card);
  background: #fff;
  border: 1px solid #dfe4f1;
  box-shadow: 0 22px 46px -32px rgba(20, 26, 40, 0.4);
}

.ori-api-detail h3 {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.018em;
  color: var(--c-ink);
}

.ori-api-detail p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
}

.ori-api-detail .ori-api-chips {
  gap: 7px;
  margin-bottom: 18px;
}

.ori-api-detail .ori-api-chips span {
  padding: 6px 11px;
  font-size: 13.5px;
}

.ori-api-proof {
  padding-top: 14px;
  border-top: 1px solid #eef1f8;
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate-2);
}

.ori-api-proof strong {
  color: #c2410c;
}

.ori-api-flow {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ori-api-flow li {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 14px;
  margin: 0;
  padding: 0 0 16px;
}

.ori-api-flow li:last-child {
  padding-bottom: 0;
}

.ori-api-flow li:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 34px;
  bottom: 2px;
  width: 2px;
  background: #c9d2ee;
}

.ori-api-flown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--c-indigo);
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-indigo);
}

.ori-api-flow li:last-child .ori-api-flown {
  background: var(--c-indigo);
  color: #fff;
}

.ori-api-flow li>div {
  padding-top: 5px;
}

.ori-api-flow b {
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--c-ink);
}

.ori-api-flow li>div span {
  display: block;
  margin-top: 2px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
}

/* ---- The hard part: payment event-log stepper ([data-sim]) --------------- */
.ori-api-fail {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: 28px;
  align-items: start;
}

.ori-api-log {
  overflow: hidden;
  border-radius: var(--r-card);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-api-loghead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ori-api-logtitle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
}

.ori-api-logtitle>span {
  font-size: 12px;
  font-weight: 600;
  color: #8b94b8;
}

.ori-api-logbtns {
  display: flex;
  gap: 8px;
}

.ori-api-logbtn,
.ori-api-logbtn:hover,
.ori-api-logbtn:focus {
  min-height: 40px;
  margin: 0;
  padding: 0 16px;
  border-radius: 9px;
  border: 1px solid var(--c-orange);
  background: var(--c-orange);
  box-shadow: none;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: background 160ms, border-color 160ms, opacity 160ms;
}

.ori-api-logbtn:hover {
  background: var(--c-orange-dark);
  border-color: var(--c-orange-dark);
}

.ori-api-logbtn--ghost,
.ori-api-logbtn--ghost:hover,
.ori-api-logbtn--ghost:focus {
  padding: 0 14px;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.24);
  color: #dbe1f2;
}

.ori-api-logbtn--ghost:hover {
  border-color: rgba(255, 255, 255, 0.5);
}

.ori-api-logbtn:disabled,
.ori-api-logbtn:disabled:hover {
  opacity: 0.45;
  cursor: default;
  border-color: rgba(255, 255, 255, 0.24);
}

.ori-api-logbar {
  height: 3px;
  background: rgba(255, 255, 255, 0.08);
}

.ori-api-logbar span {
  display: block;
  height: 100%;
  background: var(--c-orange);
  transition: width 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-api-logrows {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  outline-offset: -2px;
}

.ori-api-logrow {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 0;
  padding: 11px 18px;
  transition: background 200ms;
}

.ori-api-logrow.is-cur {
  background: rgba(249, 115, 22, 0.1);
  box-shadow: inset 3px 0 0 var(--c-orange);
}

.ori-api-logtime {
  font-size: 12px;
  font-weight: 700;
  color: #8b94b8;
  font-variant-numeric: tabular-nums;
}

.ori-api-logtext {
  font-size: 14px;
  line-height: 1.45;
  color: #6b7395;
  transition: color 200ms;
}

.ori-api-logrow.is-shown .ori-api-logtext {
  color: #fff;
}

.ori-api-logtag {
  padding: 4px 9px;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.04);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  color: #6b7395;
}

.ori-api-logrow.is-shown[data-kind="ok"] .ori-api-logtag {
  background: rgba(143, 255, 176, 0.14);
  color: #b6f5d3;
}

.ori-api-logrow.is-shown[data-kind="warn"] .ori-api-logtag {
  background: rgba(249, 163, 94, 0.16);
  color: #ffd3ad;
}

.ori-api-logrow.is-shown[data-kind="muted"] .ori-api-logtag {
  background: rgba(255, 255, 255, 0.08);
  color: #c3cbe4;
}

.ori-api-logrow.is-shown[data-kind="bad"] .ori-api-logtag {
  background: rgba(255, 155, 138, 0.16);
  color: #ffc2b8;
}

.ori-api-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ori-api-ledger {
  padding: 20px 22px;
  border-radius: var(--r-card);
  background: #fff;
  color: var(--c-ink);
}

.ori-api-ledger .ori-api-stackk {
  margin-bottom: 12px;
}

.ori-api-ledrow {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid #eef1f8;
}

.ori-api-ledrow>span:first-child {
  font-size: 14px;
  color: var(--c-slate);
}

.ori-api-ledv {
  font-size: 15px;
  font-weight: 700;
  text-align: right;
  color: var(--c-ink);
}

.ori-api-ledv[data-tone="good"] {
  color: #15803d;
}

.ori-api-ledv[data-tone="bad"] {
  color: #c2410c;
}

.ori-api-note {
  padding: 18px 20px;
  border-radius: var(--r-tile);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.ori-api-note h3 {
  margin: 0 0 6px;
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
}

.ori-api-note p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #c2c9de;
}

[data-sim-note][hidden] {
  display: none !important;
}

/* ---- Tools grid ---------------------------------------------------------- */
.ori-api-toolcount {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-slate);
}

.ori-api-tools {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  background: #fff;
  border-top: 1px solid #e1e5ef;
  border-left: 1px solid #e1e5ef;
}

.ori-api-tools li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 96px;
  margin: 0;
  padding: 18px 20px;
  border-right: 1px solid #e1e5ef;
  border-bottom: 1px solid #e1e5ef;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  text-align: center;
  color: var(--c-slate-2);
  transition: color 180ms, background 180ms;
}

.ori-api-tools li:hover {
  background: #fafbff;
  color: var(--c-indigo-dark);
}

/* ---- Case study: EverGenius ---------------------------------------------- */
.ori-api-shot {
  margin: 0 0 28px;
}

.ori-api-shotimg {
  overflow: hidden;
  border-radius: var(--r-card);
  border: 1px solid var(--c-hairline);
  background: #2ad0f5;
  box-shadow: 0 28px 60px -36px rgba(20, 26, 40, 0.45);
}

.ori-api-shotimg img {
  display: block;
  width: 100%;
  height: auto;
}

.ori-api-shot figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 20px;
  margin-top: 10px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-slate);
}

.ori-api-shot figcaption strong {
  color: var(--c-ink);
}

.ori-api-eg {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 28px;
  align-items: start;
}

.ori-api-egmap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  border-radius: var(--r-card);
  background: var(--c-panel-2);
  border: 1px solid var(--c-hairline);
}

.ori-api-egrow {
  position: relative;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #eef1f8;
}

.ori-api-egrow::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -11px;
  width: 2px;
  height: 10px;
  background: #c9d2ee;
}

.ori-api-egk {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--c-slate);
}

.ori-api-egcore {
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-indigo);
  color: #fff;
  box-shadow: 0 16px 34px -18px rgba(59, 91, 219, 0.8);
}

.ori-api-egcore .ori-api-hubcoret {
  font-size: 15.5px;
}

.ori-api-does {
  padding: 24px 24px 22px;
  border-radius: var(--r-card);
  background: var(--c-navy);
  color: #fff;
  box-shadow: 0 22px 46px -26px rgba(14, 20, 36, 0.6);
}

.ori-api-doesk {
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-orange-light);
}

.ori-api-doesrow {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14.5px;
  line-height: 1.45;
  color: #c2c9de;
}

.ori-api-doesrow>span:first-child {
  color: #8fffb0;
}

.ori-api-doesrow strong {
  color: #fff;
}

.ori-api-egfoot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 28px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #e6e9f2;
}

.ori-api-egfacts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 36px;
}

.ori-api-egfacts b {
  display: block;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--c-ink);
}

.ori-api-egfacts span {
  display: block;
  margin-top: 2px;
  font-size: 13.5px;
  color: var(--c-slate);
}

.ori-api-visit {
  height: 46px;
  padding: 0 18px;
  font-size: 14.5px;
}

/* ---- Approach: 4-step .ori-proc ------------------------------------------ */
.ori-api-proc {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ori-api-proc .ori-procstep {
  margin: 0;
  padding-right: 12px;
}

.ori-api-proc .ori-stage-circle {
  position: relative;
  z-index: 1;
}

.ori-api-circle--orange {
  background: var(--c-orange);
  color: #fff;
}

/* ---- Security rows ------------------------------------------------------- */
.ori-api-secrows {
  border-top: 2px solid var(--c-ink);
}

.ori-api-secrow {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid #e6e9f2;
}

.ori-api-secrow svg {
  margin-top: 2px;
}

.ori-api-secrow h3 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-api-secrow p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-slate);
}

/* ---- CTA: contact links + system chips in the form ----------------------- */
.ori-api-contact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 22px;
}

.ori-api-contact a {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 40px;
  font-size: 15.5px;
  font-weight: 600;
  color: #fff;
  overflow-wrap: anywhere;
}

.ori-api-contact a+a {
  color: #c4d0ff;
}

.ori-api-contact a:hover {
  color: var(--c-orange-light);
}

.ori-api-sysset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.ori-api-sysset legend {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  color: #cdd6f5;
}

.ori-api-sys {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ori-api-sysopt {
  position: relative;
  display: inline-flex;
  margin: 0;
  cursor: pointer;
}

body .ori-aiform .ori-api-sysopt input {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0;
  pointer-events: none;
}

.ori-api-sysopt span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 13px;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 13.5px;
  font-weight: 600;
  color: #dbe1f2;
  transition: background 160ms, border-color 160ms, color 160ms;
}

.ori-api-sysopt:hover span {
  border-color: rgba(255, 255, 255, 0.42);
}

.ori-api-sysopt input:checked+span {
  background: var(--c-indigo);
  border-color: var(--c-indigo);
  color: #fff;
}

.ori-api-sysopt input:focus-visible+span {
  outline: 2px solid var(--c-indigo-light);
  outline-offset: 2px;
}

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width:1024px) {

  .ori-api-intro,
  .ori-api-fail {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ori-api-cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-api-detail {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .ori-api-eg {
    grid-template-columns: 1fr;
  }

  .ori-api-tools {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width:720px) {
  .ori-api-hub {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .ori-api-hubcore {
    order: -1;
  }

  .ori-api-stub {
    display: none;
  }

  .ori-api-cats {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ori-api-cat,
  .ori-api-cat:hover,
  .ori-api-cat:focus {
    min-height: 0;
    padding: 14px 16px;
  }

  .ori-api-detail {
    padding: 20px;
  }

  .ori-api-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-api-tools li {
    min-height: 72px;
    padding: 14px 12px;
    font-size: 14px;
  }

  .ori-api-egrow {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .ori-api-egfacts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 20px;
    width: 100%;
  }

  .ori-api-egfacts b {
    font-size: 18px;
  }

  .ori-api-visit {
    width: 100%;
  }

  .ori-api-marqtrack img {
    height: 40px;
    margin-right: 48px;
  }
}

@media (max-width:560px) {
  .ori-api-loghead {
    padding: 14px;
  }

  .ori-api-logbtns {
    width: 100%;
  }

  .ori-api-logbtns .ori-api-logbtn {
    flex: 1;
  }

  .ori-api-logrow {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 4px 12px;
    padding: 11px 14px;
  }

  .ori-api-logtag {
    grid-column: 2;
    justify-self: start;
  }

  .ori-api-ledger {
    padding: 18px;
  }

  .ori-proc.ori-api-proc {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .ori-api-creds {
    gap: 8px 18px;
  }

  .ori-api-creds span {
    padding: 0;
    border-left: 0;
    font-size: 13px;
  }
}

@media (max-width:400px) {
  .ori-api-hub {
    grid-template-columns: 1fr 1fr;
  }

  .ori-api-node,
  .ori-api-node:hover,
  .ori-api-node:focus {
    padding: 10px 11px;
  }

  .ori-api-egfacts {
    grid-template-columns: 1fr;
  }
}

/* ---- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce) {

  .ori-api-node,
  .ori-api-cat,
  .ori-api-logbar span,
  .ori-api-logrow,
  .ori-api-logtext {
    transition: none;
  }

  .ori-anim .ori-api-cat:hover {
    transform: none;
  }

  .ori-api-marqtrack {
    animation: none !important;
  }
}

.ori-ctaband--form .ori-aiform-body .apiForm .wpforms-field-container {
  display: flex !important;
  flex-wrap: wrap !important;

}

.ori-ctaband--form .ori-aiform-body .apiForm {
  margin: 0 !important
}

.apiForm .wpforms-field-container .wpforms-one-half {
  width: 48%;
  margin: 0 !important;
}

.apiForm .wp-forms-field-block {
  width: 100% !important;
}

.customCheckNew ul li input {
  position: absolute !important;
  visibility: hidden;
}

.customCheckNew ul li {
  position: relative;
}

.customCheckNew label {
  background: rgba(255, 255, 255, 0.05) !important;
  color: rgb(219, 225, 242) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  padding: 10px 15px !important;
  border-radius: 30px;
  font-size: 13px !important;
}

.customCheckNew ul li.wpforms-selected label {
  background: rgb(59, 91, 219) !important;
  color: rgb(255, 255, 255) !important;
  border: 1px solid rgb(59, 91, 219) !important;
}

@media screen and (max-width:767px) {
  .apiForm .wpforms-field-container .wpforms-one-half {
    width: 100% !important;
  }
}

/* =====MOBILE APP DEVELOPMENT v2 PAGE ==== */

/* ---- Hero: platforms we build on ---------------------------------------- */
.ori-mob-hero .ori-aihero {
  align-items: start;
}

.ori-mob-hero .ori-aibullet {
  font-size: 15px;
  gap: 12px;
}

.ori-mob-platwrap {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ori-mob-platlabel {
  color: #a3acd0;
  margin-bottom: 16px;
}

.ori-mob-plats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 18px;
}

.ori-mob-plat {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.ori-mob-platic {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
}

.ori-mob-platic svg {
  display: block;
  width: 20px;
  height: 20px;
}

.ori-mob-platname {
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: #e6eaff;
}

.ori-mob-platname span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 500;
  color: #a3acd0;
}

/* ---- In short summary band ---------------------------------------------- */
.ori-mob-shortsec {
  padding-top: 36px;
  padding-bottom: 36px;
  border-bottom: 1px solid #edeef3;
}

.ori-mob-short {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 24px;
  align-items: baseline;
}

.ori-mob-shortk {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c2410c;
}

.ori-mob-shortp {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--c-slate-2);
}

.ori-mob-shortmeta {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-muted);
}

/* ---- What we build: open six-item grid ---------------------------------- */
.ori-g3.ori-mob-svcs {
  column-gap: 44px;
  row-gap: 38px;
}

.ori-mob-svc .ori-cap3-top {
  margin-bottom: 14px;
}

.ori-mob-svc .ori-cap3-ic {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.ori-mob-svcnum {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #b9c0d2;
}

.ori-mob-svc h3 {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -0.012em;
  color: var(--c-ink);
}

.ori-mob-svc p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
}

/* ---- AI in your app ------------------------------------------------------ */
.ori-mob-aisec {
  background: #f5f7fc;
  border-top: 1px solid #e6e9f2;
  border-bottom: 1px solid #e6e9f2;
}

.ori-mob-ai {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 28px;
}

.ori-mob-aiitem {
  padding: 18px 0 4px;
  border-top: 2px solid var(--c-ink);
}

.ori-mob-aiitem h3 {
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.3;
  letter-spacing: -0.012em;
  color: var(--c-ink);
}

.ori-mob-aiitem p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-slate);
}

.ori-aic-facts.ori-mob-aifacts {
  align-items: center;
  font-size: 14.5px;
}

.ori-mob-aifacts a {
  min-height: 44px;
}

/* ---- Related services pill row ------------------------------------------ */
.ori-mob-relsec {
  padding-top: 44px;
  padding-bottom: 44px;
  border-top: 1px solid #edeef3;
}

.ori-mob-relrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
}

.ori-mob-relh {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-ink);
}

.ori-mob-rel {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ori-mob-relpill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid #cfd6e8;
  border-radius: var(--r-pill);
  font-size: 14px;
  font-weight: 600;
  color: var(--c-slate-2);
  background: #fff;
  transition: border-color 180ms cubic-bezier(0.22, 1, 0.36, 1), color 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-mob-relpill:hover,
.ori-mob-relpill:focus-visible {
  border-color: var(--c-indigo);
  color: var(--c-indigo-dark);
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:1024px) {
  .ori-mob-ai {
    grid-template-columns: 1fr 1fr;
  }

  .ori-g3.ori-mob-svcs {
    grid-template-columns: 1fr 1fr;
    column-gap: 32px;
  }
}

@media (max-width:720px) {
  .ori-mob-short {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .ori-mob-shortp {
    font-size: 16px;
  }

  .ori-mob-plats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ori-mob-ai {
    grid-template-columns: 1fr;
  }

  .ori-g3.ori-mob-svcs {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }

  .ori-mob-relrow {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width:400px) {
  .ori-mob-plats {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion:reduce) {
  .ori-mob-relpill {
    transition: none;
  }
}

.fullwidthcols {
  margin: 0 !important;
}

.ori-wrap.ori-aihero .ori-aiform-body .fullwidthcols .wpforms-field-container {
  display: flex !important;
  flex-direction: column !important;
}

/* ===========SOFTWARE DEVELOPMENT v2 PAGE (software-development-v2/==================*/

/* ---- AI-first engineering ----------------------------------------------- */
.ori-sdv-aisec {
  border-bottom: 1px solid #e6eaf5;
}

.ori-sdv-aik {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-indigo-dark);
}

/* ---- Technology stack: four connected layers ----------------------------- */
.ori-sdv-stack {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ori-sdv-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1.5fr);
  gap: 16px 32px;
  align-items: center;
  padding: 18px 24px 18px 14px;
  border: 1px solid #dfe5f3;
  border-radius: 14px;
  background: #fff;
  color: var(--c-ink);
}

.ori-sdv-row:nth-child(2) {
  background: #f5f7fd;
}

.ori-sdv-row:nth-child(3) {
  background: #eaf0fd;
}

.ori-sdv-row:nth-child(-n+3)::after {
  content: '';
  position: absolute;
  left: 28px;
  top: 50%;
  width: 2px;
  height: calc(100% + 10px);
  background: #9fb0e6;
  z-index: 1;
}

.ori-sdv-row:nth-child(3)::after {
  background: linear-gradient(180deg, var(--c-indigo), #c2410c);
}

.ori-sdv-row--dark {
  background: #0e1424;
  border-color: #0e1424;
  color: #fff;
}

.ori-sdv-head {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.ori-sdv-num {
  position: relative;
  z-index: 2;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  box-sizing: border-box;
  border: 2px solid var(--c-indigo);
  border-radius: 50%;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: var(--c-indigo-dark);
}

.ori-sdv-row--dark .ori-sdv-num {
  border-color: #c2410c;
  background: #c2410c;
  color: #fff;
}

.ori-sdv-icon {
  flex: none;
  display: flex;
  color: var(--c-indigo);
}

.ori-sdv-row--dark .ori-sdv-icon {
  color: var(--c-orange-light);
}

.ori-sdv-copy {
  min-width: 0;
}

.ori-sdv-title {
  margin: 0;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: -0.014em;
  color: inherit;
}

.ori-sdv-blurb {
  margin: 3px 0 0;
  font-size: 13.5px;
  line-height: 1.45;
  color: inherit;
  opacity: 0.82;
}

.ori-sdv-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ori-sdv-tool {
  display: inline-flex;
  align-items: center;
  height: 34px;
  margin: 0;
  padding: 0 13px;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  color: var(--c-slate-2);
  background: #fff;
  border: 1px solid #dde5f5;
  border-radius: 8px;
}

.ori-sdv-tool::before,
.ori-sdv-tool::marker {
  content: none;
}

.ori-sdv-row--dark .ori-sdv-tool {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
}

.ori-utility--card.ori-sdv-foot {
  margin-top: 6px;
  padding: 18px 24px 18px 56px;
  background: #fff;
  border: 1px dashed #cfd6e8;
  border-radius: 14px;
}

.ori-sdv-foot .ori-utilitytitle {
  font-size: 16px;
  margin-bottom: 3px;
}

.ori-sdv-foot p {
  font-size: 14.5px;
  color: var(--c-slate);
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:900px) {
  .ori-sdv-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .ori-sdv-head {
    align-items: flex-start;
  }

  .ori-sdv-tools {
    padding-left: 42px;
  }

  .ori-sdv-row:nth-child(-n+3)::after {
    top: 32px;
  }
}

@media (max-width:720px) {
  .ori-sdv-aisec .ori-aic-facts {
    align-items: flex-start;
  }
}

@media (max-width:600px) {
  .ori-utility--card.ori-sdv-foot {
    padding: 20px 18px;
  }

  .ori-sdv-foot>a {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}

@media (max-width:480px) {
  .ori-sdv-row {
    padding: 16px 16px 16px 12px;
  }

  .ori-sdv-head {
    gap: 10px;
  }

  .ori-sdv-row:nth-child(-n+3)::after {
    left: 26px;
    top: 30px;
  }

  .ori-sdv-tools {
    padding-left: 38px;
  }

  .ori-sdv-tool {
    height: 32px;
    padding: 0 11px;
    font-size: 12.5px;
  }
}

.selectedWork .ori-workcard:not(:first-child) .ori-workshot {
  padding-bottom: 55%;
  max-height: unset !important;
  aspect-ratio: unset !important;
}

/* ---- AI-first engineering: five capabilities in one row ------------------ */
.ori-mob-ai.ori-cad2-ai {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px 24px;
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:1180px) {
  .ori-mob-ai.ori-cad2-ai {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 20px;
  }
}

@media (max-width:900px) {
  .ori-mob-ai.ori-cad2-ai {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .ori-mob-ai.ori-cad2-ai {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }
}

.fullBannerFooter {
  padding: 0 15px !important;
  background: radial-gradient(circle at 10% 20%, rgba(249, 115, 22, 0.2), transparent 42%), linear-gradient(135deg, #111737, #2a336f) !important;
}

.fullBannerFooter .ori-ctaband {
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =========WEB DEVELOPMENT v2 PAGE=== */

/* ---- AI-first engineering: portal map ------------------------------------ */
.ori-wdv-map {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}

.ori-wdv-browser {
  margin: 0;
  border-radius: var(--r-tile);
  border: 1px solid #dbe1f0;
  background: #fff;
  box-shadow: 0 30px 60px -36px rgba(20, 26, 40, 0.45);
  overflow: hidden;
  min-width: 0;
}

.ori-wdv-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  background: #f2f4f9;
  border-bottom: 1px solid #e3e7f1;
}

.ori-wdv-bar>span {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d3d8e4;
}

.ori-wdv-url {
  margin-left: 10px;
  flex: 1;
  min-width: 0;
  max-width: 280px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  color: #5f6779;
  background: #fff;
  border: 1px solid #e3e7f1;
  border-radius: 6px;
  padding: 4px 10px;
}

.ori-wdv-screen {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  background: #f7f8fc;
}

.ori-wdv-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  color: var(--c-ink);
}

.ori-wdv-nav i {
  display: block;
  width: 46px;
  height: 8px;
  border-radius: 4px;
  background: #dfe4ef;
}

.ori-wdv-body {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 12px;
}

.ori-wdv-main {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.ori-wdv-search,
.ori-wdv-panel {
  position: relative;
  min-width: 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e3e7f1;
  font-size: 13px;
  color: var(--c-slate-2);
  cursor: pointer;
  transition: opacity 220ms ease, box-shadow 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.ori-wdv-search {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-color: #cdd7f7;
}

.ori-wdv-q {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--c-ink);
}

.ori-wdv-ans {
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-slate-2);
}

.ori-wdv-ans em {
  margin-left: 4px;
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  color: var(--c-indigo-dark);
}

.ori-wdv-ptitle {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--c-ink);
}

.ori-wdv-file {
  margin-bottom: 8px;
  padding: 6px 9px;
  border-radius: 7px;
  background: #f2f4f9;
  font-size: 12.5px;
  overflow-wrap: anywhere;
}

.ori-wdv-rows {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.ori-wdv-rows span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12.5px;
}

.ori-wdv-rows b {
  flex: none;
  font-size: 12px;
  font-weight: 700;
  color: #1d3299;
}

.ori-wdv-rows b.is-ok {
  color: #15803d;
}

.ori-wdv-rows b.is-flag {
  color: #c2410c;
}

.ori-wdv-chat {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.ori-wdv-chat .ori-wdv-ptitle {
  margin-bottom: 1px;
}

.ori-wdv-msg {
  max-width: 92%;
  padding: 8px 10px;
  border-radius: 9px;
  background: #eef1ff;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--c-ink);
}

.ori-wdv-msg--me {
  align-self: flex-end;
  background: #0e1424;
  color: #fff;
}

.ori-wdv-confirm {
  align-self: flex-start;
  padding: 5px 12px;
  border-radius: 7px;
  background: #c2410c;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}

.ori-wdv-cap {
  padding: 8px 14px;
  border-top: 1px solid #e3e7f1;
  background: #fff;
  font-size: 12px;
  color: #6b7385;
}

/* Hotspot states (set by initTabGroup via [data-tab-hot]) */
.ori-wdv-screen .is-dim {
  border-color: #e9ecf3;
}

.ori-wdv-screen .is-dim>:not(.ori-wdv-pin) {
  opacity: 0.42;
  transition: opacity 220ms ease;
}

.ori-wdv-screen .is-on {
  border-color: var(--c-indigo);
  box-shadow: 0 0 0 3px rgba(59, 91, 219, 0.18), 0 18px 34px -22px rgba(29, 50, 153, 0.55);
  transform: translateY(-1px);
}

.ori-wdv-pin {
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #c2410c;
  box-shadow: 0 0 0 3px #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  transition: transform 200ms ease, background 200ms ease;
}

.ori-wdv-pin:hover,
.ori-wdv-pin:focus {
  background: #c2410c;
  color: #fff;
}

.is-dim>.ori-wdv-pin {
  background: #6b7385;
}

.is-dim>.ori-wdv-pin:hover {
  background: #c2410c;
}

.is-on>.ori-wdv-pin {
  transform: scale(1.15);
  animation: oriWdvPulse 900ms ease-out 1;
}

.ori-wdv-pin:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
}

@keyframes oriWdvPulse {
  0% {
    box-shadow: 0 0 0 3px #fff, 0 0 0 3px rgba(194, 65, 12, 0.5);
  }

  100% {
    box-shadow: 0 0 0 3px #fff, 0 0 0 14px rgba(194, 65, 12, 0);
  }
}

/* Tabs + detail panel */
.ori-wdv-side {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

.ori-wdv-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.ori-wdv-tab {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #dbe1f0;
  border-radius: 10px;
  background: #fff;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-slate-2);
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: border-color 160ms, background 160ms, color 160ms;
}

.ori-wdv-tab:hover,
.ori-wdv-tab:focus {
  border-color: var(--c-indigo);
  background: #fff;
  color: var(--c-slate-2);
}

.ori-wdv-tab:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 2px;
}

.ori-wdv-tab[aria-selected="true"] {
  background: #0e1424;
  border-color: #0e1424;
  color: #fff;
}

.ori-wdv-tab>span:last-child {
  min-width: 0;
}

.ori-wdv-num {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #8a92a6;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}

.ori-wdv-tab[aria-selected="true"] .ori-wdv-num {
  background: #c2410c;
}

.ori-wdv-detail {
  padding: 20px 22px;
  border: 1px solid #dbe1f0;
  border-top: 3px solid #c2410c;
  border-radius: var(--r-tile);
  background: #fff;
  animation: oriWdvFade 260ms ease both;
}

.ori-wdv-detail[hidden] {
  display: none;
}

@keyframes oriWdvFade {
  from {
    transform: translateY(6px);
  }

  to {
    transform: none;
  }
}

.ori-wdv-dtitle {
  margin: 0 0 8px;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.018em;
  color: var(--c-ink);
}

.ori-wdv-desc {
  margin: 0;
  max-width: 60ch;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--c-slate);
}

.ori-wdv-steps {
  display: flex;
  flex-direction: column;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: oriwdv;
}

.ori-wdv-steps li {
  position: relative;
  margin: 0;
  padding: 0 0 12px 30px;
  list-style: none;
  counter-increment: oriwdv;
  font-size: 14px;
  line-height: 1.45;
  color: var(--c-slate-2);
}

.ori-wdv-steps li::before {
  content: counter(oriwdv);
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  border: 2px solid var(--c-indigo);
  border-radius: 50%;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  color: var(--c-indigo-dark);
}

.ori-wdv-steps li:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 9px;
  top: 22px;
  bottom: 2px;
  width: 2px;
  background: #cdd7f7;
}

.ori-wdv-steps li:last-child {
  padding-bottom: 0;
}

.ori-wdv-steps li:last-child::before {
  border-color: #c2410c;
  color: #c2410c;
}

.ori-wdv-nextrow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #eef1f8;
}

.ori-wdv-count {
  flex: none;
  font-size: 12.5px;
  font-weight: 600;
  color: #6b7385;
}

.ori-wdv-next {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--c-indigo-dark);
  text-align: right;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}

.ori-wdv-next:hover,
.ori-wdv-next:focus {
  background: none;
  color: var(--c-indigo);
}

.ori-wdv-next svg {
  flex: none;
}

.ori-wdv-next:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
  border-radius: 4px;
}

.ori-wdv-map+.ori-aic-facts {
  margin-top: 34px;
}

@media (prefers-reduced-motion:reduce) {

  .ori-wdv-search,
  .ori-wdv-panel,
  .ori-wdv-pin {
    transition: none;
  }

  .is-on>.ori-wdv-pin,
  .ori-wdv-detail {
    animation: none;
  }

  .ori-wdv-screen .is-on {
    transform: none;
  }
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:1024px) {
  .ori-wdv-map {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
}

@media (max-width:600px) {
  .ori-wdv-tabs {
    grid-template-columns: minmax(0, 1fr);
  }

  .ori-wdv-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .ori-wdv-screen {
    padding: 16px 12px 14px;
  }

  .ori-wdv-detail {
    padding: 18px 16px;
  }

  .ori-wdv-dtitle {
    font-size: 19px;
  }
}

@media (max-width:380px) {
  .ori-wdv-nav i {
    width: 30px;
  }

  .ori-wdv-nextrow {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .ori-wdv-next {
    text-align: left;
  }
}

/* =========IT STAFF AUGMENTATION v2 PAGE=== */

/* ---- Hero tweaks ----------------------------------------------------------- */
.ori-isa2-bullets .ori-aibullet {
  align-items: flex-start;
  font-size: 15px;
  line-height: 1.45;
}

.ori-isa2-bullets .ori-aibullet svg {
  flex: none;
  margin-top: 1px;
}

.ori-isa2-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 52px;
}

.ori-isa2-submit svg {
  flex: none;
}

/* ---- Engagement models: comparison grid ----------------------------------- */
.ori-isa2-spechead {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding-left: 128px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-muted);
}

.ori-isa2-specarrow {
  flex: 1;
  max-width: 220px;
  height: 1px;
  background: linear-gradient(90deg, #dbe1f2, var(--c-indigo) 55%, var(--c-orange));
}

.ori-isa2-spec {
  position: relative;
  display: grid;
  grid-template-columns: 128px repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto;
  border-radius: var(--r-card);
  overflow: hidden;
}

.ori-isa2-labels,
.ori-isa2-col {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}

.ori-isa2-col {
  position: relative;
  min-width: 0;
}

.ori-isa2-col--1 {
  background: #f6f8fd;
}

.ori-isa2-col--2 {
  background: #e9eefb;
}

.ori-isa2-col--3 {
  background: #101836;
  color: #fff;
}

.ori-isa2-rowk {
  display: flex;
  align-items: center;
  padding: 16px 18px 16px 0;
  border-top: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-muted);
}

.ori-isa2-labels>.ori-isa2-rowk:not(:first-child) {
  border-top-color: #e6e9f2;
}

.ori-isa2-stage {
  display: flex;
  flex-direction: column;
  padding: 26px 24px 24px;
}

.ori-isa2-mark {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.ori-isa2-mdot {
  position: relative;
  z-index: 3;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #b9c6ef;
  font-size: 13px;
  font-weight: 800;
  color: var(--c-indigo);
}

.ori-isa2-col--2 .ori-isa2-mdot {
  border-color: var(--c-indigo);
}

.ori-isa2-col--3 .ori-isa2-mdot {
  background: #101836;
  border-color: var(--c-orange-light);
  color: var(--c-orange-light);
}

.ori-isa2-marline {
  position: relative;
  z-index: 2;
  flex: 1;
  height: 2px;
  margin-left: 12px;
  margin-right: -67px;
  background: linear-gradient(90deg, #b9c6ef, var(--c-indigo));
  transform-origin: left center;
}

.ori-isa2-col--2 .ori-isa2-marline {
  background: linear-gradient(90deg, var(--c-indigo), var(--c-orange-light));
}

.ori-isa2-col--3 .ori-isa2-marline {
  display: none;
}

.ori-anim .ori-isa2-marline {
  transform: scaleX(0);
}

.ori-anim .ori-isa2-col.ori-in .ori-isa2-marline {
  transform: scaleX(1);
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1) 180ms;
}

.ori-anim .ori-isa2-col--2.ori-in .ori-isa2-marline {
  transition-delay: 420ms;
}

.ori-isa2-start {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 7px;
  margin-bottom: 9px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a4470b;
}

.ori-isa2-startdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-orange);
}

.ori-isa2-title {
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.016em;
  color: var(--c-ink);
}

.ori-isa2-col--3 .ori-isa2-title {
  color: #fff;
}

.ori-isa2-bestfor {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--c-indigo-dark);
}

.ori-isa2-col--3 .ori-isa2-bestfor {
  color: var(--c-orange-light);
}

.ori-isa2-desc {
  margin: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--c-slate);
}

.ori-isa2-col--3 .ori-isa2-desc {
  color: #c3cbe6;
}

.ori-isa2-cta {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-top: auto;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--c-indigo-dark);
  text-decoration: none;
}

.ori-isa2-cta:hover,
.ori-isa2-cta:focus {
  color: var(--c-indigo);
}

.ori-isa2-col--3 .ori-isa2-cta,
.ori-isa2-col--3 .ori-isa2-cta:hover,
.ori-isa2-col--3 .ori-isa2-cta:focus {
  color: var(--c-orange-light);
}

.ori-isa2-cta svg {
  flex: none;
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ori-isa2-cta:hover svg {
  transform: translateX(3px);
}

.ori-isa2-cta:focus-visible {
  outline: 2px solid var(--c-indigo);
  outline-offset: 3px;
  border-radius: 8px;
}

.ori-isa2-col--3 .ori-isa2-cta:focus-visible {
  outline-color: var(--c-orange-light);
}

.ori-isa2-cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 16px 24px;
  border-top: 1px solid rgba(20, 26, 40, 0.09);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--c-slate-2);
}

.ori-isa2-col--3 .ori-isa2-cell {
  border-top-color: rgba(255, 255, 255, 0.16);
  color: #dbe2fb;
}

.ori-isa2-cellk {
  display: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-muted);
}

.ori-isa2-col--3 .ori-isa2-cellk {
  color: #8fa2f0;
}

.ori-isa2-close {
  max-width: 64ch;
  margin: 22px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-slate);
}

.deliveryWorkSectn article.ori-wcard .ori-wmedia {
  height: auto;
  position: relative;
  padding-bottom: 55%;
}

.deliveryWorkSectn article.ori-wcard .ori-wmedia img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (prefers-reduced-motion:reduce) {

  .ori-isa2-marline,
  .ori-isa2-cta svg {
    transform: none !important;
    transition: none !important;
  }
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:1024px) {
  .ori-isa2-spec {
    grid-template-columns: 112px repeat(3, minmax(0, 1fr));
  }

  .ori-isa2-spechead {
    padding-left: 112px;
  }

  .ori-isa2-marline {
    margin-right: -55px;
  }

  .ori-isa2-stage {
    padding: 22px 18px;
  }

  .ori-isa2-cell {
    padding: 14px 18px;
  }

  .ori-isa2-title {
    font-size: 17.5px;
  }
}

@media (max-width:820px) {
  .ori-isa2-spec {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    row-gap: 0;
    overflow: visible;
    border-radius: 0;
  }

  .ori-isa2-labels {
    display: none;
  }

  .ori-isa2-col {
    grid-row: auto;
    grid-template-rows: none;
    margin-bottom: 18px;
    border-radius: var(--r-tile);
  }

  .ori-isa2-col:last-child {
    margin-bottom: 0;
  }

  .ori-isa2-cellk {
    display: block;
  }

  .ori-isa2-spechead {
    padding-left: 0;
  }

  .ori-isa2-stage {
    padding: 22px 20px 20px 66px;
  }

  .ori-isa2-cell {
    padding: 14px 20px 14px 66px;
  }

  .ori-isa2-mark {
    position: absolute;
    top: 22px;
    left: 18px;
    bottom: -18px;
    display: block;
    width: 34px;
    margin: 0;
  }

  .ori-isa2-marline {
    position: absolute;
    left: 16px;
    top: 40px;
    bottom: 0;
    width: 2px;
    height: auto;
    flex: none;
    margin: 0;
    background: linear-gradient(180deg, #b9c6ef, var(--c-indigo));
    transform-origin: center top;
  }

  .ori-isa2-start {
    margin-top: 7px;
  }

  .ori-isa2-col--2 .ori-isa2-title,
  .ori-isa2-col--3 .ori-isa2-title {
    margin-top: 5px;
  }

  .ori-isa2-col--2 .ori-isa2-marline {
    background: linear-gradient(180deg, var(--c-indigo), var(--c-orange-light));
  }

  .ori-anim .ori-isa2-marline {
    transform: scaleY(0);
  }

  .ori-anim .ori-isa2-col.ori-in .ori-isa2-marline {
    transform: scaleY(1);
  }
}

@media (max-width:560px) {
  .ori-isa2-stage {
    padding: 22px 18px 20px 62px;
  }

  .ori-isa2-cell {
    padding: 14px 18px 14px 62px;
  }

  .ori-isa2-mark {
    left: 16px;
  }

  .ori-isa2-submit {
    padding-left: 18px;
    padding-right: 18px;
    line-height: 1.3;
  }

  .ori-isa2-submit svg {
    display: none;
  }

  .ori-isa2-bullets .ori-aibullet {
    font-size: 14.5px;
  }
}

@media screen and (max-width:600px) {
  .staffForm .wp-forms-field-half {
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .ori-custom-app-form .wpforms-field-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.pb-00{padding-bottom:0 !important}

.swiper-slide-inner{cursor:grab;}


