/* ============================================================
   Regulatory Colleges (sub-page of Non-Profits) — page-specific styles.
   Loaded AFTER home-v2 + about-us + industrial-services + non-profits.
   Reuses the shared .rd-* system: .rd-about-hero (hero), .rd-pains/.rd-is-pains,
   .rd-is-better (3 cards), .rd-is-help (4 cards), .rd-cases (case), .rd-is-work,
   .rd-cta. Bespoke: the intro statement, the dark platform card, and the
   experience band. Text on any colored/dark bg gets an EXPLICIT color (CLAUDE.md §6).
   ============================================================ */

/* ---- 1. Hero (reuses .rd-about-hero; photo 549x360, square + dots) ---- */
.rd-reg-hero .rd-about-hero-inner { grid-template-columns: 1fr 549px; gap: 60px; align-items: start; }
.rd-reg-hero h1 { font-weight: 600; font-size: 34px; line-height: 1.2; letter-spacing: 6px; max-width: none; }
.rd-reg-hero h1 span { color: var(--v2-purple); }
.rd-reg-hero .rd-about-hero-copy p { max-width: 455px; }
.rd-reg-hero .rd-about-hero-media img { aspect-ratio: 549 / 360; }
.rd-reg-hero .rd-about-hero-square { top: -39px; left: 55px; width: 640px; height: 311px; background: #9F84B7; }
.rd-reg-hero .rd-about-hero-dots { top: 205px; left: 553px; width: 152px; height: 150px; background-image: radial-gradient(#c8bcd8 2px, transparent 2.6px); background-size: 16px 16px; }
.rd-reg-hero-btns { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; }
.rd-page .rd-reg-hero-btns .rd-btn { border-color: var(--v2-purple); color: var(--v2-purple); background: transparent; }
.rd-page .rd-reg-hero-btns .rd-btn:hover { background: var(--v2-purple-10); }

/* ---- 2. Why Regulatory Colleges Are Different (intro statement) ---- */
.rd-reg-intro { background: #fff; padding: 84px 0 78px; }
.rd-reg-intro .rd-container { max-width: 1248px; }
.rd-reg-intro .rd-reg-intro-label { font: 400 31px/1.2 var(--v2-font); text-transform: uppercase; letter-spacing: 1.5px; color: #A694BB; margin: 0 0 18px; max-width: none; }
.rd-reg-intro-h { font: 700 30px/1.3 var(--v2-font); text-transform: uppercase; letter-spacing: 1px; color: var(--v2-text); margin: 0 0 30px; }  /* R2: cut letter-spacing so heading fits one line (same as CYAC) */
.rd-reg-intro-h .pl { color: var(--v2-purple); }
.rd-reg-intro p { font: 400 16px/1.6 var(--v2-font); color: var(--v2-grey); margin: 0 0 16px; max-width: 1160px; }  /* R2: body 19->16 (same as CYAC) */
.rd-reg-intro p:last-child { margin-bottom: 0; }

/* ---- 3. Does This Sound Familiar (reuses .rd-is-pains) ---- */
/* Figma callout wraps to 2 centered lines (~900px text width) — this page's copy is short */
.rd-reg-pains .rd-callout { padding: 30px 125px; }

/* ---- 4. Better Management Creates Better Outcomes (reuses .rd-is-better) ---- */
/* content only; layout inherited */

/* ---- 5. Why Pontem Is Different (reuses .rd-is-help) — 4 bordered cards ---- */
/* layout inherited */

/* ---- 6. Purpose-Built Regulatory College Platform (dark card) ---- */
.rd-reg-platform { background: #fff; padding: 84px 0; }
.rd-reg-platform .rd-container { max-width: 1248px; }
.rd-reg-card { border-radius: 16px; overflow: hidden; box-shadow: 0 24px 64px rgba(65,9,134,.20); }

/* -- purple top: copy + devices -- */
.rd-reg-card-top { background: #410986; display: grid; grid-template-columns: 1fr 700px; align-items: center; padding: 56px 0 56px 66px; }
.rd-reg-plat-copy { padding-right: 24px; }
.rd-reg-plat-devices { margin-top: 0; }
.rd-reg-plat-h { color: #fff; font: 700 30px/1.16 var(--v2-font); text-transform: uppercase; letter-spacing: .4px; margin: 0 0 16px; }
.rd-reg-plat-sub { color: #fff; font: 700 20px/1.35 var(--v2-font); margin: 0 0 22px; max-width: 380px; }
.rd-reg-plat-rule { display: block; width: 200px; height: 1px; background: rgba(255,255,255,.5); margin: 0 0 26px; }
.rd-reg-plat-copy p:not(.rd-reg-plat-sub) { color: #efe8f8; font: 400 16px/1.62 var(--v2-font); margin: 0 0 20px; max-width: 400px; }
.rd-reg-plat-copy p:last-child { margin-bottom: 0; }
.rd-reg-plat-devices img { display: block; width: 100%; height: auto; }

/* -- white body: key capabilities + outcomes -- */
.rd-reg-card-body { background: #fff; padding: 40px 34px 44px; }
.rd-reg-keycap-h { font: 700 20px/1 var(--v2-font); color: #101828; border-left: 4px solid var(--v2-purple); padding-left: 14px; margin: 0 0 26px; }
.rd-reg-keycap { list-style: none; margin: 0 0 32px; padding: 0; }
.rd-reg-keycap li { position: relative; padding-left: 20px; margin-bottom: 15px; font: 400 18px/1.45 var(--v2-font); color: var(--v2-grey); }
.rd-reg-keycap li:last-child { margin-bottom: 0; }
.rd-reg-keycap li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--v2-purple); }
.rd-reg-keycap li b { color: #101828; font-weight: 700; }
.rd-reg-outcomes { border: 1px solid #E2E2E2; border-radius: 8px; padding: 24px 30px 26px; box-shadow: 0 8px 22px rgba(72,57,92,.05); }
.rd-reg-outcomes-h { display: flex; align-items: center; gap: 9px; font: 700 19px/1 var(--v2-font); color: #101828; margin: 0 0 20px; }
.rd-reg-oc { 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%3Cpath d='M21 12a9 9 0 1 1-4-7.5' stroke-linecap='round'/%3E%3Cpath d='M8 12l3 3 6-7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.rd-reg-outcomes-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; row-gap: 14px; }
.rd-reg-outcomes-list li { position: relative; padding-left: 26px; font: 400 16px/1.4 var(--v2-font); color: var(--v2-grey); }
.rd-reg-outcomes-list li::before { content: "\2713"; position: absolute; left: 2px; top: 0; color: #00961E; font-weight: 700; }

/* ---- 7. Experience That Shapes Better Solutions (band) ---- */
.rd-reg-exp { background: #F6F1FC; padding: 80px 0 82px; }
.rd-reg-exp .rd-container { max-width: 1248px; }
.rd-reg-exp-grid { display: grid; grid-template-columns: 275px 1fr; column-gap: 48px; align-items: start; }
.rd-reg-exp-h { font: 700 30px/1.16 var(--v2-font); text-transform: uppercase; letter-spacing: .5px; color: var(--v2-text); margin: 0; }
.rd-reg-exp-h .pl { color: var(--v2-purple); }
.rd-reg-exp-dots { display: block; margin-top: 30px; width: 245px; height: 132px; background-image: radial-gradient(var(--v2-purple-50) 2px, transparent 2.6px); background-size: 24px 24px; }
.rd-reg-exp-body p { font: 400 16px/1.6 var(--v2-font); color: var(--v2-text); margin: 0 0 16px; max-width: 840px; }  /* R2: body 20->16 (same as CYAC) */
.rd-reg-exp-body p:last-child { margin-bottom: 0; }

/* ---- 8. Featured Success Story (reuses .rd-cases + .rd-is-cases) ---- */
.rd-reg-cases .rd-h2 { text-transform: uppercase; letter-spacing: 4.6px; }

/* ---- 10. CTA (reuses .rd-cta; near-square photo, left-aligned group) ---- */
.rd-reg-cta .rd-cta-inner { grid-template-columns: 440px 438px; column-gap: 104px; justify-content: start; padding-left: 40px; }
.rd-reg-cta .rd-cta-photo img { aspect-ratio: 438 / 365; object-fit: cover; }
.rd-reg-cta .rd-cta-dots-tl { left: 0; bottom: 86px; width: 236px; height: 120px; }
.rd-reg-cta .rd-cta-dots-br { right: 110px; top: 120px; width: 120px; height: 240px; }

/* ============ MOBILE (additive; desktop untouched) ============ */
@media (max-width: 980px) {
  /* pains callout: reset the wide desktop padding so it doesn't collapse on mobile */
  .rd-reg-pains .rd-callout { padding: 26px 24px; }

  /* hero */
  .rd-reg-hero .rd-about-hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .rd-reg-hero h1, .rd-reg-hero .rd-about-hero-copy p { max-width: none; }
  .rd-reg-hero .rd-about-hero-media { width: 100% !important; align-self: auto !important; margin-top: 0 !important; }
  .rd-reg-hero .rd-about-hero-media img { width: 100% !important; height: auto; }
  .rd-reg-hero .rd-about-hero-square, .rd-reg-hero .rd-about-hero-dots { display: none !important; }

  /* platform card: stack copy over devices, then white body */
  .rd-reg-card-top { grid-template-columns: 1fr; gap: 30px; padding: 34px 24px; }
  .rd-reg-plat-copy { padding-right: 0; }
  .rd-reg-plat-sub, .rd-reg-plat-copy p:not(.rd-reg-plat-sub) { max-width: none; }
  .rd-reg-plat-devices img { max-width: 640px; margin: 0 auto; }
  .rd-reg-card-body { padding: 32px 24px 34px; }

  /* experience band: stack */
  .rd-reg-exp-grid { grid-template-columns: 1fr; row-gap: 26px; }
  .rd-reg-exp-dots { display: none; }

  /* CTA: stack, reset dots (page rules out-specify home media rules) */
  .rd-reg-cta .rd-cta-inner { grid-template-columns: 1fr; gap: 40px; }
  .rd-reg-cta .rd-cta-dots-tl, .rd-reg-cta .rd-cta-dots-br { display: none; }
  .rd-reg-cta .rd-cta-photo img { width: 100%; height: auto; }
}
@media (max-width: 640px) {
  .rd-reg-hero h1 { font-size: 27px; letter-spacing: 2px; }
  .rd-reg-intro-label { font-size: 22px; }
  .rd-reg-intro-h { font-size: 23px; }
  .rd-reg-intro p { font-size: 17px; }
  .rd-reg-plat-h { font-size: 24px; }
  .rd-reg-exp-h { font-size: 24px; }
  .rd-reg-exp-body p { font-size: 18px; }
  .rd-reg-outcomes-list { grid-template-columns: 1fr; }
}
