/* ============================================================================
   Case studies overview and both case studies
   Markup: pages/case-studies.php, case-study-finance-transformation.php, case-study-shared-services.php
   Loaded only on this page (see the route's "css" key in config.php).
   Shared blocks such as buttons, heroes and closing CTAs live in components.css.
   ========================================================================= */

/* Overview hero */
.rp-hero.rp-hero--cases{
  padding:clamp(120px,15vw,215px) 0 clamp(130px,15vw,210px);
}
.rp-hero--cases .rp-eyebrow{ font-size:14px; letter-spacing:.2em; color:var(--rp-bronze); margin-bottom:20px; }
.rp-hero--cases .rp-hero__title{ font-size:clamp(2.4rem,5vw,4rem); line-height:1.12; margin-bottom:.8em; }
.rp-hero--cases .rp-hero__lead{ max-width:620px; font-size:clamp(1rem,1.3vw,1.125rem); font-weight:400; line-height:1.62; color:#4B5563; }
.rp-hero--cases .rp-hero__actions{ gap:24px; margin-top:48px; }
.rp-hero--cases .rp-btn{ padding:17px 40px; font-size:14px; letter-spacing:.04em; box-shadow:none; }
.rp-hero--cases .rp-btn::after{ content:none; }
.rp-hero--cases .rp-btn--gold{ box-shadow:0 14px 26px -14px rgba(214,160,40,.8); }
.rp-hero--cases .rp-btn--ghost{ border-color:#1F2937; color:#1F2937; }

/* Intro */
.rp-section.rp-cases-intro{ background:#F9F8F6; padding-block:clamp(64px,7vw,82px) clamp(80px,10vw,150px); }
.rp-cases-intro__grid{ display:grid; grid-template-columns:minmax(0,392px) minmax(0,760px); justify-content:space-between; gap:32px; }
.rp-cases-intro__label{ font-size:14px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:#374151; margin:12px 0 0; }
.rp-cases-intro__title{
  font-size:clamp(1.8rem,2.8vw,2.25rem);
  font-weight:400;
  color:var(--rp-ink-blue);
  padding-bottom:30px;
  margin:0 0 34px;
  border-bottom:1px solid #D6D3CE;
}
.rp-cases-intro__text{ max-width:680px; font-size:18px; line-height:1.62; color:#374151; margin:0; }

/* Case study teasers */
.rp-section.rp-case-teaser{ background:#F3F2F0; padding-block:clamp(72px,7.5vw,96px) clamp(80px,9vw,120px); }
.rp-section.rp-case-teaser--flip{ background:#F9F8F6; padding-block:clamp(80px,9vw,120px); }
.rp-case-teaser__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,544px);
  align-items:start;
  gap:clamp(40px,6vw,80px);
}
.rp-case-teaser--flip .rp-case-teaser__grid{ grid-template-columns:minmax(0,465px) minmax(0,564px); justify-content:space-between; }
.rp-case-teaser--flip .rp-case-teaser__copy{ order:2; padding-top:30px; }
.rp-case-teaser__copy{ padding-top:24px; }
.rp-case-teaser__tag{ font-size:14px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--rp-bronze); margin:0 0 20px; }
.rp-case-teaser__client{ font-size:14px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:#374151; margin:0 0 24px; }
.rp-case-teaser__title{ font-size:clamp(1.7rem,2.6vw,2.25rem); font-weight:400; line-height:1.06; letter-spacing:0; margin:0 0 30px; }
.rp-case-teaser__title a{ color:var(--rp-ink-blue); }
.rp-case-teaser__title a:hover{ color:var(--rp-bronze); }
.rp-case-teaser__block{ margin-bottom:30px; }
.rp-case-teaser__label{ font-size:14px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#374151; margin:0 0 10px; }
.rp-case-teaser__block p:not(.rp-case-teaser__label){ max-width:540px; font-size:16px; line-height:1.5; color:#374151; margin:0; }
.rp-case-teaser__text{ max-width:570px; font-size:18px; line-height:1.62; color:#374151; margin:40px 0 0; padding-bottom:40px; border-bottom:1px solid #DDDAD4; }
.rp-case-teaser__outcome{ margin-top:48px; }
.rp-case-teaser__outcome blockquote{ max-width:540px; margin:22px 0 0; padding:0; border:0; font-family:var(--rp-sans); font-size:16px; line-height:1.5; font-style:italic; color:#4B5563; }
.rp-case-teaser__chips{ display:flex; flex-wrap:wrap; gap:16px; list-style:none; margin:12px 0 42px; padding:0; }
.rp-case-teaser__chips li{ padding:8px 16px; border:1px solid #C9C7C3; font-size:12.5px; text-transform:uppercase; color:#374151; }
.rp-case-teaser__link{ display:inline-flex; align-items:center; gap:14px; font-size:15px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#374151; }
.rp-case-teaser__link svg{ width:16px; height:16px; transition:transform .3s var(--rp-ease); }
.rp-case-teaser__link:hover{ color:var(--rp-ink-blue); }
.rp-case-teaser__link:hover svg{ transform:translateX(4px); }
.rp-case-teaser--flip .rp-case-teaser__link{ margin-top:36px; }
.rp-case-teaser__figure{ margin:0; overflow:hidden; background:#1B1F27; }
.rp-case-teaser__figure img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.rp-case-teaser__figure.is-slanted{
  aspect-ratio:544/600;
  -webkit-clip-path:polygon(0 0,100% 0,100% 85%,0 100%);
          clip-path:polygon(0 0,100% 0,100% 85%,0 100%);
}
.rp-case-teaser--flip .rp-case-teaser__figure{ aspect-ratio:466/583; border:1px solid #C9C7C3; }

/* Areas of impact */
.rp-section.rp-impact{ background:#EEEEED; padding-block:clamp(80px,9vw,120px) clamp(90px,10vw,120px); }
.rp-impact__title{
  display:inline-block;
  font-size:clamp(1.8rem,2.8vw,2.25rem);
  font-weight:400;
  color:var(--rp-ink-blue);
  padding-bottom:18px;
  margin:0 0 64px;
  position:relative;
}
.rp-impact__title::after{ content:""; position:absolute; left:0; bottom:0; width:80px; height:3px; background:var(--rp-bronze); }
.rp-impact__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  list-style:none;
  margin:0;
  padding:0;
  border-block:1px solid #CFCFCF;
}
.rp-impact__grid li{ padding:36px 32px 56px; }
.rp-impact__grid li:first-child{ padding-left:0; }
.rp-impact__grid li + li{ border-left:1px solid #CFCFCF; }
.rp-impact__tri{
  display:block;
  width:20px;
  height:16px;
  margin:0 0 14px 2px;
  background:var(--rp-bronze);
  -webkit-clip-path:polygon(50% 0,100% 100%,0 100%);
          clip-path:polygon(50% 0,100% 100%,0 100%);
}
.rp-impact__name{ font-size:clamp(1.3rem,2vw,1.65rem); font-weight:400; line-height:1.1; letter-spacing:0; color:var(--rp-ink-blue); margin:0 0 20px; }
.rp-impact__grid p{ font-size:16px; line-height:1.5; color:#4B5563; margin:0; }

/* The method */
.rp-section.rp-method4{ background:#F9F8F6; padding-block:clamp(80px,9vw,130px) clamp(80px,9vw,120px); text-align:center; }
.rp-method4__eyebrow{ font-size:15px; font-weight:500; letter-spacing:.24em; color:#374151; margin-bottom:44px; }
.rp-method4__steps{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; }
.rp-method4__steps li{ position:relative; }
.rp-method4__steps li + li::before{
  content:"";
  position:absolute;
  top:72px;
  right:calc(100% - 22px);
  width:48px;
  height:2px;
  background:#D1D5DB;
}
.rp-method4__no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#000;
  font-size:17px;
  font-variant-numeric:lining-nums;
  color:#fff;
  margin-bottom:28px;
}
.rp-method4__title{ font-family:var(--rp-sans); font-size:15px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:#374151; margin:0 0 8px; }
.rp-method4__steps p{ max-width:240px; margin:0 auto; font-size:16px; line-height:1.5; color:#374151; }

/* Confidentiality band */
.rp-section.rp-discreet{ background:#0A1938; padding-block:clamp(72px,7vw,88px); }
.rp-discreet__header{ max-width:none; }
.rp-discreet__header .rp-eyebrow{ font-size:14px; letter-spacing:.08em; color:var(--rp-gold-bright); margin-bottom:22px; }
.rp-discreet__header .rp-heading{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; line-height:1.06; color:#fff; margin-bottom:1em; }
.rp-discreet__header .rp-lead{ max-width:none; font-size:16px; color:#E5E7EB; }

/* Closing CTAs on case pages */
.rp-section.rp-together--cases{ background:#F3F2F0; margin-top:56px; padding-block:clamp(90px,10vw,120px) clamp(90px,10vw,140px); }
.rp-together--cases .rp-heading{ font-size:clamp(2rem,4vw,3rem); }
.rp-section.rp-together--case{ background:#F9F8F6; padding-block:clamp(80px,9vw,120px) clamp(120px,14vw,180px); }
.rp-together--case .rp-eyebrow{ font-size:14px; letter-spacing:.2em; color:var(--rp-bronze); margin-bottom:22px; }
.rp-together--case .rp-heading{ font-size:clamp(2rem,4vw,3rem); line-height:1.12; }

/* Breadcrumb */
.rp-crumbs{ background:#F9F8F6; border-bottom:1px solid #ECEAE6; }
.rp-crumbs ol{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:14px 0; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.rp-crumbs li + li::before{ content:"\203A"; margin-right:8px; color:#6B7280; }
.rp-crumbs a{ color:#4B5563; }
.rp-crumbs a:hover{ color:var(--rp-ink-blue); }
.rp-crumbs [aria-current]{ font-weight:500; color:#1F2937; }

/* Case study hero */
.rp-case-hero{ background:var(--rp-hero-bg); padding-top:clamp(48px,6vw,64px); }
.rp-case-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,544px);
  align-items:center;
  gap:clamp(32px,6vw,80px);
  padding-bottom:clamp(64px,8vw,80px);
}
.rp-case-hero__tag{ font-size:14px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--rp-bronze); margin:0 0 14px; }
.rp-case-hero__client{ font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#4B5563; margin:0 0 36px; }
.rp-case-hero__title{ font-size:clamp(2.6rem,5vw,4rem); font-weight:400; line-height:1.12; letter-spacing:-.005em; color:var(--rp-ink-blue); margin:0 0 42px; }
.rp-case-hero__lead{ max-width:520px; font-size:18px; line-height:1.62; color:#4B5563; margin:0; }
.rp-case-hero__figure{
  margin:0;
  aspect-ratio:544/600;
  overflow:hidden;
  -webkit-clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);
          clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);
}
.rp-case-hero__figure img{ width:100%; height:100%; object-fit:cover; }

.rp-case-facts{ padding:clamp(24px,5vw,72px) 0 44px; }
.rp-case-facts__list{ display:grid; margin:0; padding:30px 0; border-block:1px solid #D6D3CE; }
.rp-case-facts__list--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.rp-case-facts__list--4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.rp-case-facts__list div{ padding:2px 32px; }
.rp-case-facts__list div:first-child{ padding-left:0; }
.rp-case-facts__list div + div{ border-left:1px solid #D6D3CE; }
.rp-case-facts dt{ font-size:12.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#374151; margin-bottom:8px; }
.rp-case-facts dd{ margin:0; font-size:17px; color:#374151; }
.rp-case-facts--band{ background:#F3F2F0; border-block:1px solid #D6D3CE; padding:52px 0 46px; }
.rp-case-facts--band .rp-case-facts__list{ padding:0; border:0; }
.rp-case-facts--band .rp-case-facts__list div{ padding:0 24px 0 0; border:0; }
.rp-case-facts--band dt{ font-size:11px; font-weight:500; letter-spacing:.1em; color:#6B7280; margin-bottom:6px; }
.rp-case-facts--band dd{ font-size:15px; line-height:1.35; }

/* Shared services: four pillars */
.rp-section.rp-pillars{ background:#fff; padding-block:clamp(72px,8vw,96px) clamp(80px,9vw,120px); }
.rp-pillars__header{ max-width:680px; margin-bottom:56px; }
.rp-pillars__header .rp-heading{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; color:var(--rp-ink-blue); margin-bottom:.6em; }
.rp-pillars__header .rp-lead{ font-size:17px; line-height:1.7; color:#4B5563; }
.rp-pillars__list{ list-style:none; margin:0; padding:0; border-top:1px solid #D1D1D1; }
.rp-pillars__list li{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) minmax(0,400px) 40px;
  align-items:center;
  gap:16px;
  min-height:128px;
  padding:20px 16px;
  border-bottom:1px solid #D1D1D1;
  transition:background-color .3s var(--rp-ease);
}
.rp-pillars__list li:hover{ background:#FAF9F7; }
.rp-pillars__no{ font-family:var(--rp-serif); font-size:26px; font-variant-numeric:lining-nums; color:rgba(232,182,62,.35); }
.rp-pillars__title{ font-size:clamp(1.3rem,2vw,1.75rem); font-weight:400; letter-spacing:0; color:var(--rp-ink-blue); margin:0; }
.rp-pillars__text{ font-size:16px; line-height:1.5; color:#4B5563; margin:0; }
.rp-pillars__tri{ justify-self:end; width:20px; height:17px; color:var(--rp-bronze); }

/* Shared services: gallery */
.rp-section.rp-gallery{ background:#F9F8F6; padding-block:clamp(80px,9vw,120px) clamp(80px,9vw,120px); overflow:hidden; }
.rp-gallery__header{ max-width:none; margin-bottom:48px; }
.rp-gallery__header .rp-eyebrow{ font-size:14px; letter-spacing:.24em; color:#374151; margin-bottom:10px; }
.rp-gallery__header .rp-heading{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; color:var(--rp-ink-blue); }
.rp-gallery__carousel .rp-carousel__track{ gap:24px; margin-right:calc(50% - 50vw); padding-right:var(--rp-gutter); }
.rp-carousel__slide.rp-gallery__slide{ flex:0 0 min(767px, 82%); margin:0; aspect-ratio:767/430; border-radius:4px; overflow:hidden; border:1px solid #D1D1D1; }
.rp-gallery__slide img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.rp-gallery__nav{ display:flex; align-items:center; justify-content:space-between; margin-top:48px; }
.rp-gallery__count{ display:flex; align-items:center; gap:16px; font-size:15px; color:#374151; font-variant-numeric:tabular-nums; }
.rp-gallery__count .rp-carousel__dots{ gap:0; margin:0; }
.rp-gallery__count .rp-carousel__dot{ width:53px; height:2px; border-radius:0; background:#E0DFDC; }
.rp-gallery__count .rp-carousel__dot.is-active{ width:53px; border-radius:0; background:#4B5563; }
.rp-gallery__buttons{ display:flex; gap:16px; }
.rp-gallery__buttons .rp-carousel__btn{ width:48px; height:48px; border-color:#D1D1D1; font-size:19px; color:#111827; }

/* Shared services: structure and discipline */
.rp-section.rp-value{ background:#0A1938; padding-block:clamp(90px,10vw,120px) clamp(90px,11vw,130px); }
.rp-value__title{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; line-height:1.1; color:#fff; margin:0 0 84px; }
.rp-value__steps{ position:relative; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:32px; list-style:none; margin:0; padding:0; }
.rp-value__steps::before{ content:""; position:absolute; top:28px; left:0; right:0; height:1px; background:rgba(255,255,255,.18); }
.rp-value__no{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#3A4A6B;
  box-shadow:0 0 0 5px #0A1938;
  font-size:16px;
  font-weight:600;
  font-variant-numeric:lining-nums;
  color:#fff;
  margin-bottom:28px;
}
.rp-value__name{ font-size:clamp(1.3rem,2vw,1.65rem); font-weight:400; line-height:1.1; letter-spacing:0; color:#fff; margin:0 0 18px; }
.rp-value__steps p{ font-size:16px; line-height:1.62; color:#B8C0CC; margin:0; }

/* Finance transformation: context */
.rp-section.rp-context{ background:#F9F8F6; padding-block:clamp(80px,9vw,120px) clamp(100px,12vw,190px); }
.rp-context__grid{ display:grid; grid-template-columns:minmax(0,440px) minmax(0,646px); justify-content:space-between; gap:40px; }
.rp-context__title{ font-size:clamp(1.9rem,3vw,2.5rem); font-weight:400; line-height:1.1; color:var(--rp-ink-blue); margin:0; }
.rp-context__grid p{ font-size:18px; line-height:1.62; color:#374151; margin:0 0 20px; }

/* Finance transformation: pre-transformation state */
.rp-section.rp-prestate{ background:#0A1938; padding-block:clamp(90px,10vw,125px) clamp(90px,10vw,120px); }
.rp-prestate__eyebrow{ font-size:14px; letter-spacing:.24em; color:var(--rp-gold-bright); text-align:center; margin-bottom:44px; }
.rp-prestate__grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:44px 0; list-style:none; margin:0; padding:0; }
.rp-prestate__grid li{ padding:0 32px; border-left:1px solid rgba(255,255,255,.2); }
.rp-prestate__no{ display:block; font-family:var(--rp-serif); font-size:40px; line-height:1; font-variant-numeric:lining-nums; color:var(--rp-gold-bright); margin-bottom:24px; }
.rp-prestate__title{ font-size:clamp(1.2rem,1.7vw,1.5rem); font-weight:400; letter-spacing:0; color:#fff; margin:0 0 18px; }
.rp-prestate__grid p{ font-size:15px; line-height:1.55; color:#D1D5DB; margin:0; }

/* Finance transformation: priorities */
.rp-section.rp-priorities{ background:#F9F8F6; padding-block:clamp(90px,10vw,120px) clamp(80px,9vw,120px); }
.rp-priorities__header{ max-width:none; margin-bottom:64px; }
.rp-priorities__header .rp-eyebrow{ font-size:14px; letter-spacing:.24em; color:var(--rp-bronze); margin-bottom:12px; }
.rp-priorities__header .rp-heading{ font-size:clamp(1.8rem,3.2vw,2.6rem); font-weight:400; color:var(--rp-ink-blue); }
.rp-priorities__grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; list-style:none; margin:0 0 clamp(90px,12vw,200px); padding:0; align-items:start; }
.rp-priorities__grid li{
  min-height:215px;
  padding:38px 60px 40px 40px;
  background:#F3F2F0;
  -webkit-clip-path:polygon(0 0,100% 0,86% 100%,0 100%);
          clip-path:polygon(0 0,100% 0,86% 100%,0 100%);
}
.rp-priorities__grid li:nth-child(even){ margin-top:32px; }
.rp-priorities__icon{ width:32px; height:32px; color:var(--rp-bronze); margin-bottom:24px; }
.rp-priorities__title{ font-family:var(--rp-sans); font-size:14px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#374151; margin:0 0 22px; }
.rp-priorities__grid p{ font-size:15px; line-height:1.4; color:#4B5563; margin:0; }

.rp-changes{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:64px; margin-bottom:clamp(90px,12vw,230px); }
.rp-changes__col{ border-top:1px solid #8C93A1; padding-top:30px; }
.rp-changes__title{ font-size:clamp(1.3rem,2vw,1.75rem); font-weight:400; letter-spacing:0; color:var(--rp-ink-blue); margin:0 0 34px; }
.rp-changes ul{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.rp-changes li{ position:relative; padding-left:18px; font-size:15px; line-height:1.4; color:#374151; }
.rp-changes li::before{ content:""; position:absolute; left:0; top:.45em; width:6px; height:6px; background:var(--rp-bronze); }

.rp-compare{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); }
.rp-compare__side{ padding:64px 64px 56px; }
.rp-compare__side--before{ background:#F3F2F0; }
.rp-compare__side--after{ background:#0A1938; }
.rp-compare__title{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; letter-spacing:.08em; text-transform:uppercase; color:#6B7280; margin:0 0 44px; }
.rp-compare__side--after .rp-compare__title{ color:var(--rp-gold-bright); }
.rp-compare ul{ list-style:none; margin:0; padding:0; display:grid; gap:30px; }
.rp-compare li{ display:flex; align-items:center; gap:16px; font-size:15px; letter-spacing:.12em; text-transform:uppercase; color:#4B5563; }
.rp-compare__side--after li{ color:#fff; }
.rp-compare li svg{ flex:none; width:18px; height:18px; color:var(--rp-gold-bright); }

/* Finance transformation: what the new model enabled */
.rp-section.rp-enabled{ background:#F9F8F6; border-block:1px solid #D1D1D1; margin-top:clamp(64px,8vw,120px); padding-block:clamp(80px,9vw,120px); }
.rp-enabled__grid{ display:grid; grid-template-columns:minmax(0,340px) minmax(0,752px); justify-content:space-between; gap:40px; }
.rp-enabled__title{ font-size:clamp(1.8rem,2.8vw,2.25rem); font-weight:400; line-height:1.06; color:var(--rp-ink-blue); margin:0; }
.rp-enabled__list{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:40px 48px; margin:0; }
.rp-enabled__list dt{ font-size:13px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--rp-bronze); margin-bottom:12px; }
.rp-enabled__list dd{ margin:0; font-size:15px; line-height:1.55; color:#374151; }

/* Finance transformation: core services and related engagement */
.rp-section.rp-deployed{ background:#F9F8F6; padding-block:clamp(80px,9vw,100px) clamp(64px,7vw,80px); }
.rp-deployed__eyebrow{ font-size:14px; font-weight:400; letter-spacing:.3em; color:#6B7280; margin-bottom:64px; }
.rp-deployed__list{ list-style:none; margin:0 0 clamp(90px,12vw,160px); padding:0; }
.rp-deployed__list li + li{ border-top:1px solid #D1D1D1; }
.rp-deployed__list a{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:34px 0 36px; color:inherit; }
.rp-deployed__title{ display:block; font-family:var(--rp-serif); font-size:clamp(1.4rem,2vw,1.75rem); line-height:1.2; color:var(--rp-ink-blue); margin-bottom:8px; }
.rp-deployed__text{ display:block; font-size:15px; color:#4B5563; }
.rp-deployed__list svg{ flex:none; width:24px; height:24px; color:#111827; transition:transform .3s var(--rp-ease); }
.rp-deployed__list a:hover svg{ transform:translateX(5px); color:var(--rp-bronze); }

.rp-related{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#0A1938;
  padding:clamp(48px,6vw,64px) clamp(28px,5vw,64px) 64px;
}
.rp-related::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:#1F2E4A;
  -webkit-clip-path:polygon(94% 0,100% 0,100% 100%,51% 100%);
          clip-path:polygon(94% 0,100% 0,100% 100%,51% 100%);
}
.rp-related__eyebrow{ font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--rp-gold-bright); margin:0 0 16px; }
.rp-related__title{ font-size:clamp(1.8rem,3vw,2.5rem); font-weight:400; line-height:1.08; color:#fff; margin:0 0 26px; }
.rp-related__text{ max-width:540px; font-size:16px; line-height:1.5; color:#E5E7EB; margin:0 0 26px; }
.rp-related__link{ display:inline-flex; gap:10px; padding-bottom:6px; border-bottom:1px solid var(--rp-gold-bright); font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--rp-gold-bright); }
.rp-related__link:hover{ color:#fff; }

@media (max-width:1024px){
  .rp-impact__grid,
  .rp-priorities__grid,
  .rp-method4__steps,
  .rp-value__steps{ grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:44px; }
  .rp-impact__grid li:nth-child(3){ border-left:0; padding-left:0; }
  .rp-method4__steps li::before,
  .rp-value__steps::before{ display:none; }
  .rp-priorities__grid li:nth-child(even){ margin-top:0; }
  .rp-prestate__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .rp-pillars__list li{ grid-template-columns:48px minmax(0,1fr) 28px; }
  .rp-pillars__text{ grid-column:2 / 3; }
  .rp-pillars__tri{ grid-row:1; grid-column:3; }
}
@media (max-width:860px){
  .rp-cases-intro__grid,
  .rp-case-teaser__grid,
  .rp-case-teaser--flip .rp-case-teaser__grid,
  .rp-case-hero__inner,
  .rp-context__grid,
  .rp-enabled__grid{ grid-template-columns:1fr; }
  .rp-case-teaser--flip .rp-case-teaser__copy{ order:0; }
  .rp-case-facts__list--3,
  .rp-case-facts__list--4,
  .rp-changes,
  .rp-compare{ grid-template-columns:1fr; }
  .rp-case-facts__list div,
  .rp-case-facts__list div:first-child{ padding:12px 0; border-left:0 !important; }
  /* Facts sit two across; the band's own padding would otherwise remove the gaps. */
  .rp-case-facts__list--3,
  .rp-case-facts__list--4{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px 24px; }
  .rp-case-facts--band{ padding:40px 0 36px; }
  .rp-case-facts--band .rp-case-facts__list{ gap:24px; }
  .rp-case-facts--band .rp-case-facts__list div{ padding:0; }
  .rp-changes{ gap:48px; }
  .rp-compare__side{ padding:44px 28px; }
}
@media (max-width:600px){
  .rp-hero.rp-hero--cases{ padding:88px 0 96px; }
  .rp-hero--cases .rp-btn{ padding:17px 24px; }
  .rp-case-hero__title{ font-size:clamp(2.1rem,9vw,2.6rem); margin-bottom:28px; }
  .rp-case-hero__client{ margin-bottom:24px; }
  .rp-section.rp-together--case{ padding-bottom:96px; }
  .rp-priorities__grid li{ padding:32px 28px; }
  /* Gallery: shorter progress bars so the counter and arrows fit on one line. */
  .rp-gallery__nav{ gap:16px; margin-top:32px; }
  .rp-gallery__count{ gap:10px; min-width:0; }
  .rp-gallery__count .rp-carousel__dot,
  .rp-gallery__count .rp-carousel__dot.is-active{ width:28px; }
  .rp-gallery__buttons{ gap:10px; }
  .rp-gallery__buttons .rp-carousel__btn{ width:44px; height:44px; }
  /* Pillars: narrower number column so the copy gets the width. */
  .rp-pillars__list li{ grid-template-columns:32px minmax(0,1fr) 20px; gap:6px 12px; padding:22px 0; min-height:0; }
  .rp-pillars__no{ font-size:22px; }
  .rp-pillars__tri{ width:16px; height:14px; }
}
@media (max-width:560px){
  .rp-impact__grid,
  .rp-priorities__grid,
  .rp-method4__steps,
  .rp-value__steps,
  .rp-prestate__grid,
  .rp-enabled__list{ grid-template-columns:1fr; }
  .rp-impact__grid li,
  .rp-impact__grid li + li{ padding:28px 0; border-left:0; border-top:1px solid #CFCFCF; }
  .rp-priorities__grid li{ -webkit-clip-path:none; clip-path:none; min-height:0; }
}
