/* Shared engineering pictograms: quiet on the page, useful when scanning. */
.rf-icon { display: inline-block; width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.rf-vs-label, .rf-vs-heading { display: flex; align-items: center; gap: 12px; }
.rf-vs-label .rf-icon { width: 19px; height: 19px; color: #006A80; }
.rf-vs-heading .rf-icon { width: 28px; height: 28px; color: #526D88; }
.rf-vs-logo { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 9px; box-shadow: 0 2px 7px #0003; }

.rf-living-section { position: relative; isolation: isolate; scroll-margin-top: 72px; }
.rf-living-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  opacity: .24;
  mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
  pointer-events: none;
}
.rf-living-section > .container { position: relative; }
.rf-living-loop > div { position: relative; min-height: 205px; }
.rf-living-loop > div > span { position: absolute; top: 27px; right: 24px; color: #526D88; }
.rf-step-icon { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #C4DDE5; border-radius: 12px; background: linear-gradient(145deg, #F6FCFE, #E4F2F6); color: #006A80; box-shadow: 0 3px 0 #D7E7ED, inset 0 1px 0 #fff; }
.rf-step-icon .rf-icon { width: 29px; height: 29px; }
.rf-living-loop > b { background: var(--rr-deep); }

/* Reuse the site's cyan-to-violet hover line across home-page cards. */
.rf-home :is(.rf-solution-cards .rf-card, .rf-living-loop > div, .rf-era-card, .rf-faq-short .faq-item) {
  position: relative;
  overflow: hidden;
}
.rf-home :is(.rf-solution-cards .rf-card, .rf-living-loop > div, .rf-era-card, .rf-faq-short .faq-item)::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--rr-cyan), #8B7CFF);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
  pointer-events: none;
}
.rf-home :is(.rf-solution-cards .rf-card, .rf-living-loop > div, .rf-era-card, .rf-faq-short .faq-item):is(:hover, :focus-within)::before,
.rf-home .rf-faq-short .faq-item[open]::before { transform: scaleX(1); }
@media (hover: none) {
  .rf-home :is(.rf-solution-cards .rf-card, .rf-living-loop > div, .rf-era-card, .rf-faq-short .faq-item)::before { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
  .rf-home :is(.rf-solution-cards .rf-card, .rf-living-loop > div, .rf-era-card, .rf-faq-short .faq-item)::before { transition: none; }
}

.rf-section-emblem { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 24px; border: 1px solid #C4DDE5; border-radius: 15px; color: #006A80; background: linear-gradient(145deg, #FFF, #E4F2F6); box-shadow: 0 4px 0 #D7E7ED, 0 12px 22px #0A223610; }
.rf-section-emblem .rf-icon { width: 36px; height: 36px; }
.rf-night .rf-section-emblem { color: #8FEFFF; border-color: #42687D; background: linear-gradient(145deg, #1B4B60, #0A2236); box-shadow: 0 4px 0 #102D41, 0 12px 24px #0003; }
.rf-evidence-principles li { display: flex; align-items: center; gap: 8px; }
.rf-evidence-principles .rf-icon { width: 17px; height: 17px; color: #8FEFFF; }
.rf-evidence-record dt .rf-icon { display: block; width: 28px; height: 28px; margin-bottom: 16px; color: #8FEFFF; }
.rf-data-terms dt { display: flex; align-items: flex-start; gap: 13px; }
.rf-data-terms dt .rf-icon { margin-top: 3px; color: #006A80; }

@media (max-width: 900px) {
  .rf-vs-label, .rf-vs-heading { gap: 8px; }
  .rf-vs-logo { width: 30px; height: 30px; border-radius: 7px; }
}
@media (max-width: 640px) {
  .rf-vs-label, .rf-vs-heading { flex-direction: column; align-items: flex-start; gap: 9px; }
  .rf-vs-heading .rf-icon { width: 30px; height: 30px; }
  .rf-vs-label .rf-icon { width: 18px; height: 18px; }
  .rf-living-loop > div { min-height: 174px; }
  .rf-living-backdrop { object-position: 28% center; opacity: .18; }
  .rf-section-emblem { width: 56px; height: 56px; margin-bottom: 22px; }
  .rf-section-emblem .rf-icon { width: 31px; height: 31px; }
  .rf-evidence-record dt .rf-icon { width: 24px; height: 24px; margin-bottom: 9px; }
}
