/* ============================================================
   Industrial Services (Industries) — page-specific styles.
   Loaded after home-v2.css + about-us.css; reuses .rd-* + .rd-about-hero + rd-nav-light.
   Text on any colored/dark bg is given an EXPLICIT color (see CLAUDE.md §6).
   ============================================================ */

/* ---- Hero (reuses .rd-about-hero) ---- */
.rd-is-hero .rd-about-hero-inner { grid-template-columns: 1fr 540px; gap: 66px; }
.rd-is-hero h1 { max-width: 500px; }
.rd-is-hero h1 span { color: var(--v2-purple); }
.rd-is-hero .rd-about-hero-copy p { max-width: 405px; }
.rd-is-hero .rd-about-hero-media img { aspect-ratio: 540 / 359; }
.rd-is-hero .rd-about-hero-square { top: -34px; left: 150px; width: 460px; height: 300px; }
.rd-is-hero .rd-about-hero-dots { top: 250px; left: 470px; width: 104px; height: 110px; }
.rd-is-hero-btns { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; }
.rd-page .rd-is-hero-btns .rd-btn { border-color: var(--v2-purple); color: var(--v2-purple); background: transparent; }
.rd-page .rd-is-hero-btns .rd-btn:hover { background: var(--v2-purple-10); }

/* ---- 2. Does This Sound Familiar (reuses .rd-pains + .rd-callout) ---- */
.rd-is-pains { padding: 88px 0 96px; }
.rd-is-pains .rd-h2 { font-size: 31px; letter-spacing: 3.3px; margin-bottom: 0; }
.rd-is-pains .rd-h2 .rd-rule { margin: 18px auto 0; }   /* rule = heading text width, centered */
.rd-is-pains .rd-pains-grid { gap: 42px 48px; margin: 56px 0 44px; }
.rd-is-pains .rd-callout { color: #410986; padding: 30px 40px; }
.rd-is-pains .rd-callout b { color: #410986; font-weight: 700; }

/* ---- 3. Better Information Creates Better Performance (new) ---- */
.rd-is-better { position: relative; background: #F6F1FC; padding: 88px 0 80px; overflow: hidden; }
.rd-is-better .rd-container { max-width: 1246px; }   /* ~120px margin breakout */
.rd-is-better-dots {
  position: absolute; z-index: 0; top: 54px; left: 0; width: 88px; height: 132px;
  background-image: radial-gradient(var(--v2-purple-50) 2px, transparent 2.6px);
  background-size: 16px 16px;
}
.rd-is-better-h {
  position: relative; z-index: 1;
  width: fit-content; max-width: 100%;
  font: 700 30px/1.2 var(--v2-font); letter-spacing: 4.6px; text-transform: uppercase;
  color: var(--v2-plum); margin: 0; padding-bottom: 26px;
  border-bottom: 1px solid var(--v2-purple);
}
.rd-is-better-rule { display: none; }   /* rule is the heading's border-bottom */
.rd-is-better-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 43px; margin-top: 50px; }
.rd-is-card { background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(72,57,92,.09); padding: 24px 26px 26px; }
.rd-is-card-head { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.rd-is-card-ico { width: 32px; height: 32px; flex: 0 0 32px; }
.rd-is-card h3 { font: 700 17px/1 var(--v2-font); letter-spacing: .5px; text-transform: uppercase; color: var(--v2-text); margin: 0; }
.rd-is-card p { font: 400 16px/1.5 var(--v2-font); color: #3D3D3D; margin: 0; max-width: 285px; }

/* ---- 4. How Pontem Helps (new; 4 bordered white cards, centered) ---- */
.rd-is-help { background: #fff; padding: 88px 0 90px; }
.rd-is-help-h {
  width: fit-content; margin: 0 auto; text-align: center;
  font: 600 30px/1.2 var(--v2-font); letter-spacing: 5px; text-transform: uppercase;
  color: var(--v2-text); padding-bottom: 28px; border-bottom: 1px solid var(--v2-purple);
}
.rd-is-help-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 27px; margin-top: 54px; }
.rd-is-hcard { background: #fff; border: 1px solid #E9E9E9; border-radius: 8px; padding: 26px 22px 30px; text-align: center; box-shadow: 0 8px 22px rgba(72,57,92,.06); }
.rd-is-hcard h3 { font: 700 17px/1 var(--v2-font); letter-spacing: .5px; text-transform: uppercase; color: var(--v2-purple); margin: 0 0 16px; }
.rd-is-hcard p { font: 400 15px/1.5 var(--v2-font); color: #3D3D3D; margin: 0; }

/* ---- 5. How Industrial Organizations Improve Visibility & Performance (new) ---- */
.rd-is-improve { background: #fff; padding: 84px 0 92px; }
.rd-is-improve .rd-container { max-width: 1246px; }   /* 120 breakout */
.rd-is-improve-h {
  text-align: center; margin: 0 auto; max-width: 1160px;
  font: 600 30px/1.35 var(--v2-font); letter-spacing: 4.5px; text-transform: uppercase; color: var(--v2-text);
}
.rd-is-improve-rule { display: block; height: 1px; background: var(--v2-purple); margin: 24px 0 56px; }

/* R2: each feature is ONE elevated white card (band + content) with a drop shadow — client flagged the "How" boxes/shadows were missing */
.rd-is-feat { margin-bottom: 42px; background: #fff; border-radius: 16px; box-shadow: 0 22px 50px rgba(72,57,92,.13); overflow: hidden; }
/* -- band (grey): image + heading — now the top of the card (no own radius/shadow) -- */
.rd-is-feat-band { background: #EDF0F2; min-height: 322px; display: flex; align-items: center; }
/* R3: centre the purple divider — image + heading each 50%, grouped around the middle line (was image fixed 476px on the left, line stuck to the right). Applies to every .rd-is-feat "How" card (Report/Store/Operate + industry pages). */
.rd-is-feat-img { flex: 1 1 50%; display: flex; justify-content: flex-end; align-items: center; padding: 0 46px 0 0; }
.rd-is-feat-img img { width: 396px; height: auto; display: block; }
.rd-is-feat-head { flex: 1 1 50%; border-left: 3px solid var(--v2-purple); padding-left: 39px; }
.rd-is-feat-head h3 {
  font: 700 30px/1.22 var(--v2-font); letter-spacing: .4px; text-transform: uppercase;
  color: #5C11B9; margin: 0 0 14px;
}
.rd-is-feat-sub { font: 400 24px/1.32 var(--v2-font); color: var(--v2-text); margin: 0; }
/* image-right variant */
.rd-is-feat--right .rd-is-feat-band,
.rd-is-feat-band.rd-is-feat--right { flex-direction: row-reverse; }  /* BUG FIX: the Solutions Store block puts --right on the SAME element as -band (not an outer wrapper like the industry pages), so the descendant selector alone missed it -> Store laptop stayed LEFT instead of mirroring RIGHT per the mockup. */
.rd-is-feat--right .rd-is-feat-img { justify-content: flex-start; padding: 0 0 0 46px; }
.rd-is-feat--right .rd-is-feat-head {
  border-left: none; border-right: 3px solid var(--v2-purple);
  padding-left: 0; padding-right: 39px; text-align: right;
  display: flex; flex-direction: column; align-items: flex-end;
}
/* AI block: smaller graphic */
.rd-is-feat--ai .rd-is-feat-img img { width: 348px; }

/* -- white row: description / use cases / outcomes -- */
.rd-is-feat-row { background: #fff; display: grid; grid-template-columns: 419px 227px 357px; justify-content: space-between; align-items: center; padding: 38px 40px 40px 40px; }
.rd-is-feat-desc { font: 400 16px/1.55 var(--v2-font); color: var(--v2-grey); margin: 0; }
.rd-is-feat-uc h4 { font: 700 18px/1.2 var(--v2-font); color: #101828; margin: 0 0 18px; border-left: 3px solid var(--v2-purple); padding-left: 13px; }
.rd-is-feat-uc ul { list-style: none; margin: 0; padding: 0; }
.rd-is-feat-uc li { font: 400 16px/1.4 var(--v2-font); color: var(--v2-grey); margin-bottom: 16px; padding-left: 18px; position: relative; }
.rd-is-feat-uc li:last-child { margin-bottom: 0; }
.rd-is-feat-uc li::before { content: ""; position: absolute; left: 0; top: 8px; width: 5px; height: 5px; border-radius: 50%; background: var(--v2-purple); }
.rd-is-feat-out { border: 1px solid #E6E6E6; border-radius: 8px; padding: 22px 26px 24px; align-self: center; box-shadow: 0 8px 22px rgba(72,57,92,.06); }
.rd-is-feat-out h4 { display: flex; align-items: center; gap: 9px; font: 700 18px/1.2 var(--v2-font); color: #101828; margin: 0 0 18px; }
.rd-is-feat-out ul { list-style: none; margin: 0; padding: 0; }
.rd-is-feat-out li { font: 400 16px/1.4 var(--v2-font); color: var(--v2-grey); margin-bottom: 14px; padding-left: 26px; position: relative; }
.rd-is-feat-out li:last-child { margin-bottom: 0; }
.rd-is-feat-out li::before { content: "\2713"; position: absolute; left: 4px; top: 0; color: #00961E; font-weight: 700; }
.rd-is-chk {
  flex: 0 0 20px; width: 20px; height: 20px;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300961E' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12l3 3 5-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---- 6. Specialized Experience (new) ---- */
.rd-is-spec { background: #F6F1FC; padding: 88px 0 92px; }
.rd-is-spec .rd-container { max-width: 1246px; }
.rd-is-spec-head { display: grid; grid-template-columns: 331px 1fr; align-items: center; margin-bottom: 52px; }
.rd-is-spec-h { font: 700 40px/1.15 var(--v2-font); letter-spacing: 1.5px; text-transform: uppercase; color: var(--v2-purple); margin: 0; }
.rd-is-spec-sub { font: 400 20px/1.5 var(--v2-font); color: #3D3D3D; margin: 0; max-width: 852px; }
.rd-is-spec-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; }
.rd-is-scard { background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(72,57,92,.08); padding: 26px 40px; text-align: center; min-height: 150px; display: flex; flex-direction: column; justify-content: center; }
.rd-is-scard h3 { font: 700 18px/1.2 var(--v2-font); letter-spacing: .5px; text-transform: uppercase; color: var(--v2-purple); margin: 0 0 14px; }
.rd-is-scard p { font: 400 16px/1.35 var(--v2-font); color: #3D3D3D; margin: 0; }

/* ---- 7. The Right Solution Isn't Always The Most Complex One (new) ---- */
.rd-is-solution { position: relative; background: #EDF0F2; padding: 84px 0 88px; overflow: hidden; }
.rd-is-solution .rd-container { max-width: 1246px; position: relative; z-index: 1; }
.rd-is-sol-head { display: grid; grid-template-columns: 520px 1fr; gap: 15px; align-items: start; margin-bottom: 44px; }
.rd-is-sol-h { font: 700 44px/1.05 var(--v2-font); letter-spacing: 2px; text-transform: uppercase; color: var(--v2-text); margin: 0; }
.rd-is-sol-h .pl { color: var(--v2-purple); }
.rd-is-sol-right { padding-top: 4px; }
.rd-is-sol-right p { font: 400 16px/1.55 var(--v2-font); color: var(--v2-text); margin: 0 0 18px; max-width: 620px; }  /* R2: reduce right-hand text (client) 20->16 */
.rd-is-sol-list { list-style: none; margin: 0; padding: 0; }
.rd-is-sol-list li { font: 400 16px/1.5 var(--v2-font); color: var(--v2-text); padding-left: 24px; position: relative; margin-bottom: 8px; }
.rd-is-sol-list li::before { content: ""; position: absolute; left: 2px; top: 12px; width: 7px; height: 7px; border-radius: 50%; background: var(--v2-purple); }
.rd-is-sol-list b { color: var(--v2-purple); font-weight: 700; }
.rd-is-sol-callout { background: #DBD3EE; text-align: center; padding: 27px 28px; font: 700 18px/1.5 var(--v2-font); color: #410986; }
.rd-is-sol-dots { position: absolute; z-index: 0; background-image: radial-gradient(var(--v2-purple-50) 2px, transparent 2.6px); background-size: 16px 16px; }
.rd-is-sol-dots-l  { top: 123px; left: 0;    width: 88px;  height: 116px; }
/* R2: right dot-grid anchored to the right screen edge, one block, +1 row (client) */
.rd-is-sol-dots-r1 { top: 300px; right: 0; left: auto; width: 214px; height: 90px; }
.rd-is-sol-dots-r2 { display: none; }

/* ---- 8. Featured Case Studies (reuses .rd-cases; heading tracked wider on this page) ---- */
.rd-is-cases .rd-h2 { letter-spacing: 4.4px; }

/* ---- 9. How We Work (new; 4-step timeline) ---- */
.rd-is-work { background: #EDF0F2; padding: 84px 0 88px; }
.rd-is-work .rd-container { max-width: 1246px; }
.rd-is-work-h { text-align: center; font: 600 35px/1.2 var(--v2-font); letter-spacing: 7px; text-transform: uppercase; color: var(--v2-text); margin: 0 0 66px; }
.rd-is-work-steps { display: grid; grid-template-columns: 1fr 1fr 2fr 1fr; }
.rd-is-step { position: relative; }
.rd-is-step-rail { position: relative; height: 20px; margin-bottom: 22px; }
.rd-is-step-rail::before { content: ""; position: absolute; left: 8px; right: 0; top: 50%; transform: translateY(-50%); height: 5px; background: var(--v2-purple); }
.rd-is-step-node { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 50%; background: #E3D4F6; z-index: 1; }
.rd-is-step-node::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 10px; height: 10px; border-radius: 50%; background: var(--v2-purple); }
.rd-is-step-txt { padding-left: 8px; padding-right: 24px; }
.rd-is-step-num { display: block; font: 400 17px/1 var(--v2-font); color: var(--v2-purple); margin-bottom: 42px; }
.rd-is-step h3 { font: 700 18px/1.25 var(--v2-font); letter-spacing: .5px; text-transform: uppercase; color: var(--v2-purple); margin: 0 0 12px; }
.rd-is-step p { font: 400 15px/1.5 var(--v2-font); color: #3D3D3D; margin: 0; max-width: 220px; }

/* ---- 10. CTA (reuses .rd-cta; white heading bar, narrower photo) ---- */
.rd-is-cta { padding: 115px 0 69px; }
.rd-is-cta .rd-cta-inner { grid-template-columns: 395px 434px; gap: 88px; transform: translateX(-32px); }
.rd-is-cta h2 { border-left: 2px solid rgba(255,255,255,.6); padding-left: 18px; }
.rd-is-cta .rd-cta-photo img { aspect-ratio: 434 / 350; object-fit: cover; }
.rd-is-cta .rd-cta-dots { background-image: radial-gradient(rgba(224,208,240,.85) 2px, transparent 2.6px); background-size: 15px 15px; }
.rd-is-cta .rd-cta-dots-tl { left: 0; right: auto; top: auto; bottom: 4px; width: 236px; height: 146px; }
.rd-is-cta .rd-cta-dots-br { left: auto; right: 0; top: 162px; bottom: auto; width: 226px; height: 240px; }

/* ============ MOBILE (additive; desktop rendering untouched) ============ */
@media (max-width: 980px) {
  /* hero: stack copy over photo; page-scoped offsets/deco reset */
  .rd-is-hero .rd-about-hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .rd-is-hero h1, .rd-is-hero .rd-about-hero-copy p { max-width: none; }
  .rd-is-hero .rd-about-hero-media { align-self: auto !important; margin-top: 0 !important; }
  .rd-is-hero .rd-about-hero-media img { width: 100%; height: auto; }
  .rd-is-hero .rd-about-hero-square, .rd-is-hero .rd-about-hero-dots { display: none !important; }

  .rd-is-better-grid, .rd-is-help-grid { grid-template-columns: 1fr 1fr; }
  .rd-is-card p { max-width: none; }
  .rd-is-spec-head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 36px; }
  .rd-is-spec-grid { grid-template-columns: 1fr; }
  .rd-is-sol-head { grid-template-columns: 1fr; gap: 22px; }
  .rd-is-sol-dots-l, .rd-is-sol-dots-r1, .rd-is-sol-dots-r2 { display: none; }
  .rd-is-work-steps { grid-template-columns: 1fr 1fr; row-gap: 40px; }

  /* feature blocks: TITLE FIRST, then image, then single-column detail rows (feedback) */
  .rd-is-feat-band { flex-direction: column; align-items: stretch; padding: 28px 20px; }
  .rd-is-feat--right .rd-is-feat-band { flex-direction: column; }
  .rd-is-feat-head { order: 1; padding-left: 21px; }        /* title before image */
  .rd-is-feat-img, .rd-is-feat--right .rd-is-feat-img { order: 2; flex: none; padding: 0; margin-top: 22px; }
  .rd-is-feat-img img, .rd-is-feat--ai .rd-is-feat-img img { width: 100%; max-width: 396px; margin: 0 auto; }
  .rd-is-feat--right .rd-is-feat-head {
    border-right: none; border-left: 3px solid var(--v2-purple);
    padding-right: 0; padding-left: 21px; text-align: left; align-items: flex-start;
  }
  .rd-is-feat-row { grid-template-columns: 1fr; padding: 30px 22px 4px; gap: 30px; }  /* R3: indent the blurb + Common Use Cases off the card edge on mobile */

  /* CTA: page-scoped desktop rules out-specify home-v2 media rules — reset here */
  .rd-is-cta .rd-cta-inner { grid-template-columns: 1fr; gap: 44px; transform: none; }
  .rd-is-cta .rd-cta-dots-tl, .rd-is-cta .rd-cta-dots-br { display: none; }
  .rd-is-cta .rd-cta-photo img { width: 100%; height: auto; }
}
@media (max-width: 640px) {
  .rd-is-better-grid, .rd-is-help-grid, .rd-is-work-steps { grid-template-columns: 1fr; }
  .rd-is-pains .rd-h2 { font-size: 23px; letter-spacing: 2px; }
  .rd-is-better-h { font-size: 22px; letter-spacing: 2.5px; }
  .rd-is-help-h { font-size: 22px; letter-spacing: 3px; }
  .rd-is-improve-h { font-size: 22px; letter-spacing: 2.5px; }
  .rd-is-feat-head h3 { font-size: 24px; } /* keep the art-directed <br> breaks — segments fit at 24px */
  .rd-is-feat-sub { font-size: 19px; }
  .rd-is-spec-h { font-size: 28px; }
  .rd-is-sol-h { font-size: 28px; letter-spacing: 1.2px; }
  .rd-is-sol-right p, .rd-is-sol-list li { font-size: 18px; }
  .rd-is-work-h { font-size: 23px; letter-spacing: 3.5px; }
  .rd-is-sol-callout { padding: 20px 18px; font-size: 16px; }
  .rd-is-step-rail::before { display: none; }
  .rd-is-step-num { margin-bottom: 16px; }
  .rd-is-step p { max-width: none; }
}
/* mobile round 2 */
@media (max-width: 980px) {
  .rd-is-feat-head, .rd-is-feat--right .rd-is-feat-head { display: block; min-width: 0; }
  .rd-is-feat-head h3 { max-width: 100%; overflow-wrap: break-word; }
  .rd-is-feat-img img, .rd-is-feat--ai .rd-is-feat-img img { max-width: 100% !important; height: auto; }
}
