/* ============================================================
   Pontem redesign — Home V2 (hidden preview page)
   EXACT-MATCH build against Figma "Website Design V2 (Current)".
   Colors + type read directly from Figma's own style panel:
     - Font family: Work Sans (hero H1 = Work Sans 600, 72px/88px)
     - brand/100 #782CD7 (primary) · brand/hover #5C11B9 · brand/10 #F2EAFB
     - text #242424 · grey #4A5565 · plum/100 #48395C · lavender #E8DCF2
   Scoped under .rd-page — cannot affect live pages. Linked ONLY from home-v2.region.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800&display=swap");

.rd-page {
  /* ---- EXACT V2 tokens (from Figma color styles) ---- */
  --v2-purple: #782CD7;         /* brand/100 */
  --v2-purple-hover: #5C11B9;   /* brand/hover */
  --v2-purple-pressed: #410986; /* brand/pressed */
  --v2-purple-70: #A16DE4;      /* brand/70 */
  --v2-purple-50: #BC97EB;      /* brand/50 */
  --v2-purple-10: #F2EAFB;      /* brand/10 light tint */
  --v2-text: #242424;           /* text */
  --v2-grey: #4A5565;           /* body grey */
  --v2-plum: #48395C;           /* plum/100 dark surface */
  --v2-dark: #392A46;           /* deep plum */
  --v2-lav: #E8DCF2;            /* lavender bg (footer/sections) */
  --v2-divider: #DEE1E4;
  --v2-divider-2: #D2D2D2;
  --v2-font: 'Work Sans', Helvetica, Arial, sans-serif;
  --v2-font-btn: 'Syne', Helvetica, Arial, sans-serif; /* buttons/CTA labels use Syne (confirmed from Figma) */

  font-family: var(--v2-font);
  color: var(--v2-text);
  background: #fff;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
.rd-page * { box-sizing: border-box; font-family: var(--v2-font); }
.rd-page img { max-width: 100%; display: block; }
.rd-page a { text-decoration: none; color: inherit; }

.rd-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; width: 100%; }

/* ---------- preview ribbon ---------- */
.rd-preview-ribbon {
  background: var(--v2-purple);
  color: #fff;
  font: 700 11px/1 var(--v2-font);
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: center;
  padding: 8px 12px;
  position: relative;
  z-index: 60;
}

/* ---------- nav ---------- */
.rd-nav {
  position: absolute;
  top: 33px;
  left: 0; right: 0;
  z-index: 50;
  padding: 26px 0;
  background: transparent;
  transition: background .3s ease, padding .3s ease;
}
.rd-nav-solid {
  position: fixed;
  top: 0;
  background: rgba(45, 30, 60, .97);
  padding: 14px 0;
  box-shadow: 0 2px 18px rgba(0,0,0,.25);
}
.rd-nav-inner { display: flex; align-items: center; justify-content: space-between; }
.rd-nav-logo img { width: 104px; height: auto; }
.rd-nav-links { display: flex; align-items: center; gap: 40px; }
.rd-nav-item > a {
  color: #fff;
  font: 600 14px/1 var(--v2-font-btn);
  letter-spacing: .84px;
  text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 7px;
}
.rd-chev { width: 10px; height: 7px; opacity: .9; }
.rd-has-drop { position: relative; padding: 12px 0; }
.rd-drop {
  display: none;
  position: absolute; top: 100%; left: -14px;
  min-width: 220px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(30,15,50,.18);
  padding: 6px 0;
}
.rd-has-drop:hover .rd-drop { display: block; }
.rd-drop a {
  display: block;
  padding: 11px 18px;
  color: var(--v2-text);
  font: 400 15px/1.2 var(--v2-font);
  letter-spacing: 0;
  text-transform: none;
}
.rd-drop a:hover { background: var(--v2-purple-10); color: var(--v2-purple); }
/* R2: nested Industries > Non-Profits submenu (Child & Youth Advocacy Centres / Regulatory Colleges) */
.rd-has-sub { position: relative; }
.rd-has-sub > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rd-chev-r { width: 9px; height: 6px; flex: 0 0 auto; transform: rotate(-90deg); opacity: .85; }
.rd-subdrop { display: none; position: absolute; left: 100%; top: -8px; background: #fff; box-shadow: 0 18px 40px rgba(30,15,55,.16); border-radius: 8px; min-width: 252px; padding: 8px 0; }
.rd-has-sub:hover .rd-subdrop { display: block; }

/* ---------- mobile hamburger (CSS-only checkbox toggle; no JS) ---------- */
.rd-nav-burger { display: none; }   /* desktop: hidden, hover nav shown */

/* ---------- buttons ---------- */
.rd-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font: 600 14px/1 var(--v2-font-btn);
  letter-spacing: .84px;
  text-transform: uppercase;
  padding: 16px 26px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: opacity .25s ease, background .25s ease;
}
.rd-arr { width: 7px; height: 11px; }
/* hero EXPLORE SOLUTIONS = #6D4A8D muted plum (pixel-sampled from Figma Home.pdf) */
.rd-page .rd-btn-primary { background: #6D4A8D; color: #fff; }
.rd-page .rd-btn-primary:hover { background: #5c3d78; }
.rd-page .rd-btn-outline { background: transparent; border-color: #fff; color: #fff; }
.rd-page .rd-btn-outline:hover { background: rgba(255,255,255,.14); }
.rd-page .rd-btn-nav { background: transparent; border-color: #fff; color: #fff; padding: 13px 20px; }
.rd-nav-solid .rd-btn-nav, .rd-page .rd-btn-nav:hover { background: var(--v2-purple); border-color: var(--v2-purple); }

/* ---------- headings ---------- */
.rd-h2 {
  font: 600 35px/1.2 var(--v2-font);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-text);
  margin: 0 0 18px;
  width: fit-content;
}
.rd-h2-center { text-align: center; margin-left: auto; margin-right: auto; }
.rd-rule { display: block; width: auto; height: 2px; background: var(--v2-purple); margin-top: 16px; }
.rd-h2-center .rd-rule { margin-left: auto; margin-right: auto; }
.rd-rule-sm { display: block; width: 46px; height: 2px; background: var(--v2-purple); margin-top: 10px; }
.rd-section { padding: 60px 0; }   /* was 88 — tightened per feedback (too much empty space between sections); inter-section gap 176->120px */
.rd-section-sub { text-align: center; max-width: 1200px; margin: 0 auto 54px; font-size: 24px; line-height: 1.55; color: var(--v2-grey); }

/* ---------- hero ---------- */
.rd-hero {
  position: relative;
  min-height: 713px;
  display: flex; align-items: center;
  background: url("../../img/banner2.jpg") center 60% / cover no-repeat, var(--v2-dark);
}
.rd-hero-overlay {
  position: absolute; inset: 0;
  /* plum wash — opacity reduced a further 30% per review (bridge shows through more) */
  background: linear-gradient(180deg, rgba(48,36,64,.29) 0%, rgba(55,42,70,.27) 100%);
}
.rd-hero-inner { position: relative; z-index: 2; padding-top: 120px; padding-bottom: 60px; }
.rd-hero h1 {
  color: #fff;
  font: 600 72px/88px var(--v2-font);
  letter-spacing: 0;
  max-width: 1000px;
  margin: 0 0 30px;
}
.rd-hero-sub { color: #f0eaf7; font: 400 18px/1.6 var(--v2-font); max-width: 1180px; margin: 0 0 62px; }
.rd-hero-ctas { display: flex; gap: 18px; flex-wrap: wrap; }

/* ---------- pains ---------- */
.rd-pains { padding-bottom: 16px; } /* R2: balance whitespace above "How Pontem Helps" to match the gap below the block (was 74) */
.rd-pains-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px 48px;
  margin: 56px 0 46px;
}
.rd-pain { display: flex; align-items: center; gap: 16px; }
.rd-pain-ico { flex: 0 0 54px; width: 54px; height: 54px; } /* real extracted icon (circle baked in) */
.rd-pain p { margin: 0; font: 400 16px/1.5 var(--v2-font); color: var(--v2-text); max-width: 256px; }
.rd-callout {
  background: var(--v2-purple-10);
  color: #6D4A8D;
  text-align: center;
  padding: 28px 28px;
  font: 600 20px/1.5 var(--v2-font);
}

/* ---------- how pontem helps ---------- */
.rd-help { padding-bottom: 0; }
.rd-help-top {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 72px;
  align-items: center;
  margin-bottom: 76px;
}
.rd-photo-block { position: relative; padding: 26px 0 0 26px; }
.rd-photo-block img {
  position: relative; z-index: 2;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: left center;
}
.rd-help-top .rd-photo-block img { aspect-ratio: 601 / 366; object-position: center; } /* extracted photo already the right crop */
.rd-photo-square {
  position: absolute; z-index: 1;
  top: 0; left: 0;
  width: 78%; height: 62%;
  background: #A085B8;
}
.rd-photo-dots {
  position: absolute; z-index: 0;
  top: 40px; left: -12px;
  width: 120px; height: 190px;
  background-image: radial-gradient(#A085B8 2px, transparent 2.6px);
  background-size: 16px 16px;
}
.rd-help-copy .rd-rule { width: 220px; }
.rd-help-copy p { font: 400 20px/1.55 var(--v2-font); color: var(--v2-grey); max-width: 508px; }

/* pillars */
.rd-pillars-band { position: relative; padding-bottom: 88px; }
.rd-pillars-band::before {
  content: "";
  position: absolute; left: 0; right: 0;
  top: 130px; height: 292px;
  background: var(--v2-purple);
}
.rd-pillars {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.rd-pillar-label {
  font: 700 33px/1 var(--v2-font);
  color: var(--v2-purple);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin: 0 0 16px;
}
.rd-band-dots {
  position: absolute; z-index: 0;
  top: -30px; right: 0;
  width: 240px; height: 240px;
  background-image: radial-gradient(#A085B8 2px, transparent 2.6px);
  background-size: 16px 16px;
}
.rd-pillar-wrap { display: flex; flex-direction: column; }   /* let the dark card fill to equal height */
.rd-pillar {
  background: var(--v2-plum);
  color: #fff;
  padding: 32px 28px 28px;
  min-height: 480px;
  flex: 1;                 /* all three cards match the tallest → LEARN MORE aligns at the bottom */
  display: flex; flex-direction: column;
}
.rd-pillar h3 {
  font: 700 16px/1.4 var(--v2-font);
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 14px;
}
.rd-pillar > p { font: 400 14px/1.6 var(--v2-font); color: #e8e2f0; margin: 0 0 18px; }
.rd-pillar h4 {
  font: 700 13px/1 var(--v2-font);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #C6BCD6;
  margin: 16px 0 10px;
}
.rd-pillar ul { margin: 0; padding: 0 0 0 18px; list-style: disc; }
.rd-pillar ul li { font: 400 14px/1.75 var(--v2-font); color: #e8e2f0; }
.rd-pillar ul.rd-checks { list-style: none; padding-left: 0; }
.rd-pillar ul.rd-checks li::before { content: "\2713\00a0\00a0"; color: var(--v2-purple-50); }
.rd-pillar .rd-more { margin-top: auto; padding-top: 20px; }

/* learn-more link */
.rd-page .rd-more {
  display: inline-flex; align-items: center; gap: 9px;
  font: 600 14px/1 var(--v2-font-btn);
  letter-spacing: .84px;
  text-transform: uppercase;
  color: var(--v2-purple);
}
.rd-page .rd-more:hover { color: var(--v2-purple-hover); }
.rd-page .rd-more-light { color: #fff; }
.rd-arr-c { width: 17px; height: 17px; }

/* ---------- why choose ---------- */
.rd-why .rd-h2 { color: #A694BB; font-size: 31px; }
.rd-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 114px; max-width: 1128px; margin-left: -24px; }
.rd-why-col h3 {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  font: 700 16px/1 var(--v2-font);
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--v2-text);
  margin: 0 0 16px;
}
.rd-why-ico { height: 38px; width: auto; display: inline-block; }
.rd-why-col p { font: 400 15px/1.7 var(--v2-font); color: var(--v2-grey); margin: 0; }

/* ---------- industries ---------- */
.rd-industries { background: #F6F1FC; }
.rd-industries .rd-container { max-width: 1248px; }
.rd-industries .rd-h2 { font-weight: 500; letter-spacing: 3.5px; }
.rd-industries .rd-section-sub { font-size: 20px; }
.rd-ind-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 41px; }
.rd-card {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 10px 30px rgba(72,57,92,.10);
  padding: 32px 26px;
  display: flex; flex-direction: column;
}
.rd-card h3 {
  font: 700 17px/1.35 var(--v2-font);
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--v2-plum);
  margin: 0 0 16px;
}
.rd-card > p { font: 400 16px/1.65 var(--v2-font); color: var(--v2-grey); margin: 0 0 18px; }
.rd-card h4 { font: 700 13px/1 var(--v2-font); letter-spacing: 1px; text-transform: uppercase; color: var(--v2-text); margin: 0 0 10px; }
.rd-card ul { margin: 0 0 22px; padding-left: 16px; list-style: disc; }
.rd-card ul li { font: 400 16px/1.75 var(--v2-font); color: var(--v2-grey); }
.rd-card ul li::marker { color: var(--v2-grey); }
.rd-card .rd-more { margin-top: auto; padding-top: 22px; }   /* pin LEARN MORE to the bottom of each equal-height card */

/* ---------- logos ---------- */
.rd-logos { padding: 70px 0; }
/* R2: continuous auto-scrolling ticker (matches the live site's animated partner strip) */
.rd-logos-viewport { overflow: hidden; width: 100%; }
.rd-logos-track { display: flex; width: max-content; animation: rd-ticker 149s linear infinite;  /* R4: client supplied 46 ticker logos (was 5). The track is ~4.6x longer, so the duration is scaled to keep the approved scroll speed (~98px/s). */ }
.rd-logos-viewport:hover .rd-logos-track { animation-play-state: paused; }
.rd-logos-half { display: flex; align-items: center; }
.rd-logo { height: 68px; width: auto; }
.rd-logos-half .rd-logo { margin-right: 92px; }
@keyframes rd-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rd-logos-track { animation: none; } }

/* ---------- testimonial ---------- */
.rd-quote { padding-top: 24px; }
.rd-quote .rd-container { max-width: 1248px; }
.rd-quote-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 62px;
  align-items: center;
}
.rd-quote .rd-photo-block { padding: 42px 0 0 100px; }
.rd-photo-block-dotted .rd-photo-square {
  width: 62%; height: 82%;
  background: #A58EBA;
}
.rd-quote .rd-photo-block img { aspect-ratio: 1386 / 1356; object-position: center; }
.rd-photo-dots-left {
  top: 26px; left: 4px; width: 96px; height: 192px; z-index: 1;
  background-image: radial-gradient(rgba(255,255,255,.5) 2px, transparent 2.6px);
}
.rd-quote-divider { display: block; height: 1px; background: #E2DCE9; margin: 26px 0 22px; }
.rd-quote-mark-img { display: block; width: 42px; height: auto; margin-bottom: 24px; }
.rd-quote-copy { max-width: 378px; }
.rd-quote-text {
  font: 700 20px/1.4 var(--v2-font);
  color: var(--v2-text);
  margin: 0 0 20px;
}
.rd-quote-body { font: 400 14px/1.7 var(--v2-font); color: var(--v2-grey); margin: 0 0 18px; }
.rd-quote-attr { font: 700 16px/1.4 var(--v2-font); color: var(--v2-text); margin: 0; }
.rd-quote-nav { display: flex; gap: 20px; margin-top: 26px; }
.rd-quote-nav button {
  width: 34px; height: 24px; padding: 0; background: none; border: 0; cursor: pointer;
  color: var(--v2-purple); display: inline-flex; align-items: center; justify-content: center;
}
.rd-quote-nav svg { width: 30px; height: 14px; }
/* R2: interactive testimonial carousel — fade the copy on slide change (arrows + autoplay) */
.rd-quote-text, .rd-quote-body, .rd-quote-attr { transition: opacity .18s ease; }
.rd-quote-copy.is-fading .rd-quote-text,
.rd-quote-copy.is-fading .rd-quote-body,
.rd-quote-copy.is-fading .rd-quote-attr { opacity: 0; }
.rd-quote-nav button:hover { color: var(--v2-purple-hover); }

/* R2: case-study modal (arrow opens it; see mock). Progressive-enhanced over the link. */
.rd-cmodal[hidden] { display: none; }
.rd-cmodal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.rd-cmodal-overlay { position: absolute; inset: 0; background: rgba(30,15,55,.55); }
.rd-cmodal-panel {
  position: relative; z-index: 1; background: #fff; border-radius: 16px; width: 100%; max-width: 680px;
  max-height: calc(100vh - 48px); overflow-y: auto; box-shadow: 0 30px 80px rgba(30,15,55,.35);
}
.rd-cmodal-head { padding: 34px 40px; background: linear-gradient(120deg, #6C2BD9 0%, #A21CAF 100%); border-radius: 16px 16px 0 0; }
.rd-cmodal-eyebrow { display: inline-block; font: 700 11px/1 var(--v2-font); letter-spacing: 2px; color: rgba(255,255,255,.82); margin-bottom: 14px; }
.rd-page .rd-cmodal-title { font: 700 24px/1.3 var(--v2-font); color: #fff; margin: 0; }
/* R3: modal now shows the FULL case study (real content), scrollable inside the panel */
.rd-cmodal-body { padding: 28px 40px 4px; }
.rd-page .rd-cmodal-body .rd-cs-h { font: 700 13px/1.3 var(--v2-font); letter-spacing: 1.2px; text-transform: uppercase; color: var(--v2-purple); margin: 26px 0 10px; padding-top: 22px; border-top: 1px solid #ECE7F3; }
.rd-page .rd-cmodal-body .rd-cs-h:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.rd-cmodal-body .rd-cs-sub { font: 700 15px/1.4 var(--v2-font); color: var(--v2-text); margin: 0 0 10px; }
.rd-cmodal-body p { font: 400 14.5px/1.7 var(--v2-font); color: var(--v2-grey); margin: 0 0 12px; }
.rd-cmodal-body .rd-cs-list { list-style: disc; margin: 2px 0 14px; padding-left: 22px; }
.rd-cmodal-body .rd-cs-list li { font: 400 14.5px/1.6 var(--v2-font); color: var(--v2-grey); margin-bottom: 7px; }
.rd-cmodal-body .rd-cs-list li strong { color: var(--v2-text); font-weight: 700; }
.rd-cmodal-body .rd-cs-quote { margin: 16px 0 18px; padding: 14px 20px; border-left: 3px solid var(--v2-purple); background: #F7F3FC; border-radius: 0 8px 8px 0; font: italic 400 14.5px/1.6 var(--v2-font); color: var(--v2-text); }
.rd-cmodal-body .rd-cs-quote cite { display: block; margin-top: 8px; font: 700 12.5px/1.4 var(--v2-font); font-style: normal; color: var(--v2-purple); }
.rd-page .rd-cmodal-link { display: inline-flex; align-items: center; gap: 10px; margin: 8px 40px 34px; font: 700 13px/1 var(--v2-font-btn); letter-spacing: .6px; color: var(--v2-purple); }
.rd-cmodal-link svg { width: 8px; height: 12px; }
.rd-cmodal-link:hover { color: var(--v2-purple-hover); }
.rd-cmodal-x {
  position: absolute; top: 16px; right: 16px; z-index: 2; width: 34px; height: 34px; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.18); color: #fff; font: 400 22px/1 var(--v2-font); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.rd-cmodal-x:hover { background: rgba(255,255,255,.32); }
@media (max-width: 620px) {
  .rd-cmodal-head { padding: 26px; }
  .rd-cmodal-body { padding: 22px 26px 4px; }
  .rd-cmodal-link { margin: 6px 26px 28px; }
  .rd-page .rd-cmodal-title { font-size: 21px; }
}

/* ---------- case studies ---------- */
.rd-cases-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 30px;
  margin-bottom: 40px;
}
.rd-page .rd-cases-viewall {
  display: inline-flex; align-items: center;
  border: 1px solid var(--v2-purple); color: var(--v2-purple);
  font: 600 11px/1 var(--v2-font-btn); letter-spacing: 1.6px;
  padding: 14px 22px; text-decoration: none; white-space: nowrap;
}
.rd-page .rd-cases-viewall:hover { background: var(--v2-purple); color: #fff; }
.rd-case {
  display: grid;
  grid-template-columns: 325px 1fr;
  gap: 26px;
  padding: 34px 0;
  border-top: 1px solid var(--v2-divider);
  align-items: start;
}
.rd-case:last-child { border-bottom: 1px solid var(--v2-divider); }
.rd-case-logo img { width: 100%; height: 164px; object-fit: cover; display: block; }
.rd-case-body { position: relative; }
.rd-case-body h3 { font: 700 20px/1.4 var(--v2-font); color: var(--v2-text); margin: 0 0 22px; }
.rd-case-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.rd-case-cols h4 {
  font: 700 13px/1 var(--v2-font);
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--v2-purple);
  margin: 0 0 10px;
}
.rd-case-cols p { font: 400 14px/1.6 var(--v2-font); color: var(--v2-grey); margin: 0; }
.rd-page .rd-case-arrow { display: inline-block; margin-top: 22px; }
.rd-case-arrow-img { width: 46px; height: auto; display: block; }

/* ---------- CTA ---------- */
.rd-cta {
  position: relative;
  background: var(--v2-dark);
  color: #fff;
  padding: 92px 0;
  overflow: hidden;
}
.rd-cta-dots {
  position: absolute;
  width: 210px; height: 130px;
  background-image: radial-gradient(rgba(255,255,255,.5) 1.8px, transparent 2.4px);
  background-size: 15px 15px;
}
.rd-cta-dots-tl { left: 20px; bottom: 60px; }
.rd-cta-dots-br { right: 0; top: 46px; width: 300px; height: 200px; }
.rd-cta-inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 395px 517px;
  justify-content: center;
  gap: 102px;
  align-items: center;
}
.rd-cta-photo { min-width: 0; }
.rd-cta-photo img { width: 100%; height: auto; display: block; }
.rd-cta h2 {
  font: 600 32px/1.3 var(--v2-font);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-left: 4px solid var(--v2-purple);
  padding-left: 14px;
  margin: 0 0 24px;
}
.rd-cta p { font: 400 16px/1.7 var(--v2-font); color: #ded5ea; margin: 0 0 34px; max-width: 340px; }

/* ---------- footer ---------- */
.rd-footer { background: var(--v2-lav); padding: 80px 0 64px; color: var(--v2-plum); }
.rd-footer-inner { display: grid; grid-template-columns: 1.56fr 1fr; gap: 106px; align-items: start; }   /* both columns top-align (feedback: right col was vertically centred) */
.rd-footer-logo { width: 122px; margin-bottom: 24px; }
.rd-footer-tag {
  font: 700 14px/1.4 var(--v2-font);
  color: var(--v2-text);
  letter-spacing: .5px;
  text-transform: uppercase;
  margin: 0 0 24px;
}
.rd-footer-solutions { list-style: none; margin: 0 0 32px; padding: 0; }
.rd-footer-solutions li {
  display: flex; align-items: flex-start;   /* icon aligns to the first text line when it wraps */
  font: 400 12.5px/1.4 var(--v2-font);
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--v2-plum);
  margin-bottom: 12px;
}
.rd-footer-solutions strong { margin-right: 4px; font-weight: 700; color: #5C11B9; }  /* REPORT:/STORE:/OPERATE: brand purple (Figma) */
.rd-f-txt { flex: 1; }
.rd-f-ico { width: 17px; height: 17px; margin-right: 10px; margin-top: 1px; color: var(--v2-purple); flex: 0 0 17px; }
.rd-f-stars { color: var(--v2-purple); letter-spacing: 2px; margin-right: 4px; }
.rd-footer-copyright { font: 400 12px/1.4 var(--v2-font); color: #9f88b3; margin: 0; }
/* R3: copyright in its own full-width bottom row so it sits at the very bottom of the footer (esp. mobile, where it used to land in the middle between the stacked columns) */
.rd-footer-bottom { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(159,136,179,.30); }
.rd-footer-right { display: flex; flex-direction: column; align-items: flex-start; }
.rd-footer-right h4 {
  font: 700 18px/1 var(--v2-font);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--v2-purple);
  margin: 0 0 20px;
}
.rd-footer-right a {
  font: 400 12.5px/1.4 var(--v2-font);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-plum);
  margin-bottom: 12px;
}
.rd-footer-right a:hover { color: var(--v2-purple); }
.rd-footer-contact { display: flex; align-items: center; gap: 9px; }   /* email/IG/LinkedIn icon + text */
.rd-f-cico { width: 16px; height: 16px; flex: 0 0 16px; color: var(--v2-purple); }
.rd-footer-divider { width: 100%; max-width: 340px; height: 1px; background: #b79cd6; margin: 14px 0 20px; }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .rd-pains-grid, .rd-why-grid, .rd-ind-grid, .rd-pillars { grid-template-columns: 1fr 1fr; }
  .rd-why-grid { max-width: none; margin-left: 0; gap: 40px; }
  .rd-ind-grid { margin: 0; gap: 30px; }
  .rd-help-top, .rd-quote-inner, .rd-cta-inner, .rd-footer-inner { grid-template-columns: 1fr; gap: 44px; }
  .rd-quote .rd-photo-block { padding: 26px 0 0 26px; }
  .rd-case { grid-template-columns: 1fr; }
  .rd-case-logo { min-height: 110px; }
  .rd-hero h1 { font-size: 48px; line-height: 1.15; }
  .rd-nav-links { gap: 22px; }
  .rd-pillars-band::before { display: none; }
  /* feedback: CTA decorative grey dots are distracting on tablet/mobile — hide (all pages reuse .rd-cta) */
  .rd-cta-dots { display: none; }
}

/* ---------- mobile nav: hamburger drawer (feedback: no way to reach pages on mobile) ---------- */
@media (max-width: 900px) {
  .rd-nav-burger {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 40px; height: 40px; padding: 8px; cursor: pointer; margin-left: auto;
  }
  .rd-nav-burger span { display: block; height: 2px; width: 100%; background: #fff; border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }
  .rd-nav-light .rd-nav-burger span { background: var(--v2-text); }
  /* animate to X when open */
  .rd-nav-check:checked ~ .rd-nav-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .rd-nav-check:checked ~ .rd-nav-burger span:nth-child(2) { opacity: 0; }
  .rd-nav-check:checked ~ .rd-nav-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* the links become a full-width drawer under the bar */
  .rd-nav-links {
    display: none;
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: #2D1E3C; padding: 6px 0 14px;
    box-shadow: 0 14px 30px rgba(0,0,0,.28);
  }
  .rd-nav-light .rd-nav-links { background: #fff; border-top: 1px solid #ECECF1; }
  .rd-nav-check:checked ~ .rd-nav-links { display: flex; }

  .rd-nav-item { display: block; }
  .rd-has-drop { position: static; padding: 0; }
  .rd-nav-item > a { display: flex; padding: 13px 26px; }
  .rd-nav-light .rd-nav-item > a { color: var(--v2-text); }
  .rd-chev { margin-left: auto; }

  /* dropdown children shown inline, indented, always visible */
  .rd-drop { display: block; position: static; box-shadow: none; background: transparent; min-width: 0; padding: 0; }
  .rd-drop a { padding: 10px 26px 10px 42px; color: rgba(255,255,255,.82); font-size: 14px; }
  .rd-nav-light .rd-drop a { color: var(--v2-grey); }
  .rd-drop a:hover { background: transparent; }
  .rd-has-sub { position: static; }                                                        /* R2: nested submenu inline on mobile */
  .rd-subdrop { display: block; position: static; box-shadow: none; min-width: 0; padding: 0; border-radius: 0; }
  .rd-subdrop a { padding-left: 58px; font-size: 13px; }
  .rd-chev-r { display: none; }

  .rd-nav-links .rd-btn-nav { margin: 12px 26px 2px; justify-content: center; }
  .rd-nav-light .rd-nav-links .rd-btn-nav { background: var(--v2-purple); border-color: var(--v2-purple); color: #fff; }
}
@media (max-width: 640px) {
  .rd-pains-grid, .rd-why-grid, .rd-ind-grid, .rd-pillars, .rd-case-cols { grid-template-columns: 1fr; }
  .rd-hero { min-height: 560px; }
  .rd-hero h1 { font-size: 36px; }
  .rd-h2 { font-size: 26px; }
  .rd-section { padding: 40px 0; }   /* was 56 — tighter section gaps on mobile (feedback) */
  .rd-pillars-band { padding-bottom: 32px; }   /* was 88px — feedback: gap above Why Choose too big on mobile */
  .rd-cases-head { flex-direction: column; align-items: flex-start; }
  .rd-cta h2 { font-size: 26px; }
  .rd-logos-half .rd-logo { margin-right: 56px; }   /* tighter ticker spacing on mobile */
  .rd-logo { height: 52px; }
}
/* mobile safety clamp (after real fixes; kills residual 1-2rem dead scroll) */
@media (max-width: 980px) {
  html, body { overflow-x: hidden; }
}

/* ---- mobile hero + Why-gap polish (feedback) ---- */
@media (max-width: 640px) {
  /* H1 top sat at ~120px, right under the logo (bottom ~124px) — give clear
     space between the header and the hero heading on phones */
  .rd-hero-inner { padding-top: 172px; }
  /* Gap above "Why Choose Pontem" summed ~144px (pillars 32 + help pb 56 +
     why pt 56). The .rd-section ≤640 rule re-leaks 56px onto .rd-help's bottom,
     so pin it back to 0 and trim the Why top → ~76px combined, tighter/natural */
  .rd-help { padding-bottom: 0; }
  .rd-why { padding-top: 44px; }
}
