.rdn-service-cases {
  --rdn-cases-bg: var(--rdn-bg-soft);
  --rdn-cases-panel: var(--rdn-white);
  --rdn-cases-ink: var(--rdn-ink-dark);
  --rdn-cases-muted: color-mix(in srgb, var(--rdn-muted) 90%, var(--rdn-ink));
  --rdn-cases-accent: var(--rdn-blue-text);
  --rdn-cases-line: rgba(23, 32, 51, .14);
  padding-block: clamp(48px, 6vw, 80px);
  scroll-margin-top: calc(110px + var(--wp-admin--admin-bar--height, 0px));
  color: var(--rdn-cases-ink);
  background: var(--rdn-cases-bg);
  font-family: var(--rdn-font);
}
.rdn-service-cases--gamer {
  --rdn-cases-bg: var(--gamer-bg, #0b1420);
  --rdn-cases-panel: var(--gamer-panel, #111a27);
  --rdn-cases-ink: #edf5ff;
  --rdn-cases-muted: #b4c3d7;
  --rdn-cases-accent: var(--gamer-cyan, #26d9ff);
  --rdn-cases-line: rgba(115, 201, 225, .28);
}
.rdn-service-cases .rdn-container { width: min(calc(100% - 32px), var(--rdn-container)); }
.rdn-service-cases__heading { max-width: 780px; margin-bottom: 32px; }
.rdn-service-cases__eyebrow { margin: 0 0 14px; color: var(--rdn-cases-accent); font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.rdn-service-cases__heading h2 { margin: 0; color: var(--rdn-cases-ink); font: 900 clamp(28px, 3.5vw, 44px)/1.12 var(--rdn-heading-font); letter-spacing: -.035em; text-wrap: balance; }
.rdn-service-cases__heading > p:last-child { margin: 16px 0 0; color: var(--rdn-cases-muted); font-size: 16px; line-height: 1.65; }
.rdn-service-cases__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rdn-service-case { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 2px solid var(--rdn-cases-line); border-radius: var(--rdn-radius); background: var(--rdn-cases-panel); }
.rdn-service-case__image { position: relative; flex-shrink: 0; overflow: hidden; margin: 0; aspect-ratio: 16 / 9; background: var(--rdn-ice); }
.rdn-service-case__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.rdn-service-case__image--photo img { object-fit: cover; object-position: center 85%; }
.rdn-service-case__image figcaption { position: absolute; right: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 5px 9px; border-radius: 6px; color: #fff; background: #172033; font-size: 11px; line-height: 1.4; }
.rdn-service-case__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.rdn-service-case__model { margin: 0 0 10px; color: var(--rdn-cases-accent); font-size: 12px; font-weight: 800; line-height: 1.5; }
.rdn-service-case h3 { margin: 0; color: var(--rdn-cases-ink); font: 800 clamp(20px, 2vw, 24px)/1.25 var(--rdn-heading-font); letter-spacing: -.02em; }
.rdn-service-case__summary { margin: 14px 0 20px; color: var(--rdn-cases-muted); font-size: 15px; line-height: 1.65; }
.rdn-service-case__link, .rdn-service-cases__more { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; gap: 12px; color: var(--rdn-cases-accent); font-size: 15px; font-weight: 800; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.rdn-service-case__link { margin-top: auto; }
.rdn-service-cases__more { margin-top: 24px; }
.rdn-service-cases a:hover { color: var(--rdn-cases-ink); }
.rdn-service-cases a:focus-visible { outline: 3px solid var(--rdn-cases-accent); outline-offset: 4px; }
@media (min-width: 768px) and (max-width: 1023px) { .rdn-service-cases__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .rdn-service-cases__grid { grid-template-columns: 1fr; gap: 20px; }
  .rdn-service-case__body { padding: 20px; }
  .rdn-service-cases__heading > p:last-child { font-size: 15px; }
}
