/* Product landing page styles. Kept separate so the existing home page stays unchanged. */
.cmrf-product-page {
  --cmrf-product-section-space: clamp(4.2rem, 8vw, 7.25rem);
  --cmrf-product-card-radius: clamp(1rem, 2vw, 1.45rem);
  overflow: clip;
}

.cmrf-product-page .cmrf-parallax-section,
.cmrf-implementation .cmrf-parallax-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.cmrf-product-page .cmrf-parallax-media,
.cmrf-implementation .cmrf-parallax-media {
  position: absolute;
  z-index: -1;
  inset: -12% 0;
  background-position: center;
  background-size: cover;
  pointer-events: none;
  will-change: transform;
}

.cmrf-product-page .cmrf-parallax-media::after,
.cmrf-implementation .cmrf-parallax-media::after {
  position: absolute;
  inset: 0;
  content: '';
  pointer-events: none;
}

.cmrf-product-page .cmrf-section {
  padding-block: var(--cmrf-product-section-space);
}

.cmrf-product-page .cmrf-section__intro {
  max-width: 53rem;
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.cmrf-product-page .cmrf-section__title {
  max-width: 20ch;
  font-size: clamp(2.15rem, 4.2vw, 4.1rem);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.cmrf-product-page .cmrf-section__lead {
  max-width: 62ch;
  font-size: clamp(1rem, 1.25vw, 1.13rem);
  line-height: 1.65;
}

.cmrf-product-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(5.5rem, 7vw, 7rem) 0 clamp(3rem, 5vw, 4rem);
  background: var(--palette-charcoal);
  color: var(--palette-white);
}

.cmrf-product-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.92fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 6rem);
}

.cmrf-product-hero__copy {
  max-width: 40rem;
}

.cmrf-product-hero .cmrf-kicker {
  color: var(--palette-accent);
}

.cmrf-product-hero h1 {
  max-width: none;
  margin: 0 0 1.35rem;
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(2.8rem, 4.2vw, 4.5rem);
  letter-spacing: -0.045em;
  line-height: 0.99;
}

.cmrf-product-hero h1 span {
  display: block;
  color: var(--palette-accent);
}

.cmrf-product-hero .cmrf-product-hero__lead {
  max-width: 42rem;
  margin: 0 0 1.45rem;
  color: rgba(var(--palette-white-rgb), 0.81);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.55;
}

.cmrf-product-hero__benefits {
  display: grid;
  gap: 0.68rem;
  margin: 0 0 1.8rem;
  padding: 0;
  list-style: none;
}

.cmrf-product-hero__benefits li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  color: rgba(var(--palette-white-rgb), 0.94);
  font-weight: 600;
}

.cmrf-product-hero__benefits li::before {
  display: grid;
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 1.2rem;
  place-items: center;
  margin-top: 0.07rem;
  border-radius: 50%;
  background: var(--palette-accent);
  color: var(--palette-charcoal);
  content: '✓';
  font-size: 0.78rem;
  font-weight: 900;
}

.cmrf-product-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
}

.cmrf-product-page .cmrf-product-hero__actions .btn-primary {
  border-radius: var(--n-radius-pill);
  padding-inline: 1.5rem;
}

.cmrf-product-text-link {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  gap: 0.5rem;
  color: var(--palette-white);
  font-weight: 700;
  text-decoration-color: rgba(var(--palette-white-rgb), 0.45);
  text-underline-offset: 0.35em;
}

.cmrf-product-text-link:hover {
  color: var(--palette-accent);
}

.cmrf-product-hero .cmrf-product-hero__note {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 1.35rem 0 0;
  color: rgba(var(--palette-white-rgb), 0.66);
  font-size: 0.91rem;
}

.cmrf-product-hero__note i {
  color: var(--palette-accent);
}

.cmrf-product-hero__photo {
  position: relative;
  min-width: 0;
  aspect-ratio: 1.12 / 1;
  isolation: isolate;
  margin: 0;
  padding: 0;
}

.cmrf-product-hero__photo::before {
  content: none;
}

.cmrf-product-hero__device {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.cmrf-product-hero__device img {
  position: absolute;
  top: -3%;
  left: 50%;
  display: block;
  width: 122%;
  max-width: none;
  height: auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  filter: drop-shadow(0 1.1rem 1.1rem rgba(var(--palette-black-rgb), 0.22));
  transform: translateX(-50%);
}

.cmrf-product-hero__element {
  position: absolute;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 0.25rem;
  width: clamp(5.4rem, 15vw, 8.6rem);
  pointer-events: none;
  will-change: transform;
}

.cmrf-product-hero__element--primary {
  top: 12%;
  left: 0;
}

.cmrf-product-hero__element--secondary {
  right: 0;
  bottom: 18%;
}

.cmrf-product-hero__element img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  filter: drop-shadow(0 0.8rem 0.9rem rgba(var(--palette-black-rgb), 0.28));
}

.cmrf-product-hero__element span {
  max-width: 100%;
  padding: 0.38rem 0.6rem;
  border: 1px solid rgba(var(--palette-white-rgb), 0.16);
  border-radius: var(--n-radius-pill);
  background: rgba(var(--palette-black-rgb), 0.68);
  color: var(--palette-white);
  font-size: clamp(0.62rem, 0.8vw, 0.72rem);
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  backdrop-filter: blur(10px);
}

.cmrf-product-hero__photo figcaption {
  position: absolute;
  z-index: 3;
  right: 2%;
  bottom: 1%;
  left: 2%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid rgba(var(--palette-white-rgb), 0.24);
  border-radius: var(--n-radius-pill);
  background: rgba(var(--palette-black-rgb), 0.64);
  color: var(--palette-white);
  font-size: 0.82rem;
  font-weight: 700;
  backdrop-filter: blur(12px);
  pointer-events: none;
}

.cmrf-product-hero__photo figcaption i {
  color: var(--palette-accent);
}

.cmrf-product-proof {
  padding: clamp(2.7rem, 5vw, 4.5rem) 0;
  background: var(--palette-paper);
}

.cmrf-product-proof__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.cmrf-product-proof__heading .cmrf-section-label {
  margin: 0;
}

.cmrf-product-proof__heading h2 {
  max-width: 18ch;
  margin: 0;
  color: var(--cmrf-ink);
  font-family: var(--n-font-display);
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  line-height: 1.1;
}

.cmrf-product-proof__slider {
  position: relative;
}

.cmrf-product-proof__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid rgba(var(--palette-charcoal-rgb), 0.14);
}

.cmrf-product-proof__item {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 1.1rem;
  padding: 1.6rem clamp(1rem, 3vw, 2.4rem);
}

.cmrf-product-proof__item + .cmrf-product-proof__item {
  border-left: 1px solid rgba(var(--palette-charcoal-rgb), 0.14);
}

.cmrf-product-proof__icon {
  display: grid;
  width: 3.1rem;
  height: 3.1rem;
  flex: 0 0 3.1rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--palette-white);
  color: var(--palette-charcoal);
  font-size: 1.3rem;
}

.cmrf-product-proof__item p {
  display: flex;
  flex-direction: column;
  margin: 0;
  color: var(--palette-gray-700);
  line-height: 1.35;
}

.cmrf-product-proof__item strong {
  color: var(--cmrf-ink);
  font-family: var(--n-font-display);
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  line-height: 1;
}

.cmrf-product-proof__item span:last-child {
  margin-top: 0.4rem;
  font-size: 0.94rem;
  font-weight: 600;
}

.cmrf-product-proof__arrow {
  display: none;
}

.cmrf-product-devices {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: var(--cmrf-product-section-space) 0;
  background: var(--palette-charcoal);
  color: var(--palette-white);
}

.cmrf-product-devices__background {
  background-image: var(--cmrf-product-device-background);
  background-position: center 54%;
}

.cmrf-product-devices__background::after {
  background: linear-gradient(110deg, rgba(var(--palette-black-rgb), 0.89), rgba(var(--palette-black-rgb), 0.75) 56%, rgba(var(--palette-black-rgb), 0.76));
}

.cmrf-product-devices__heading {
  position: relative;
  z-index: 1;
  max-width: 56rem;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.cmrf-product-devices__heading .cmrf-section-label {
  justify-content: center;
}

.cmrf-product-devices__heading h2 {
  margin: 0 auto 1.65rem;
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(2.2rem, 4.5vw, 4.4rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.cmrf-device-switch {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.35rem;
  border: 1px solid rgba(var(--palette-white-rgb), 0.25);
  border-radius: var(--n-radius-pill);
  background: rgba(var(--palette-black-rgb), 0.33);
  backdrop-filter: blur(12px);
}

.cmrf-device-switch button {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  gap: 0.48rem;
  padding: 0.55rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--n-radius-pill);
  background: transparent;
  color: rgba(var(--palette-white-rgb), 0.76);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cmrf-device-switch button:hover {
  color: var(--palette-white);
}

.cmrf-device-switch button[aria-selected='true'] {
  background: var(--palette-accent);
  color: var(--palette-charcoal);
}

.cmrf-device-switch button:focus-visible,
.cmrf-capability-tab:focus-visible,
.cmrf-business-choice:focus-visible,
.cmrf-product-faq__tabs button:focus-visible,
.cmrf-product-proof__arrow:focus-visible {
  outline: 3px solid var(--palette-accent);
  outline-offset: 3px;
}

.cmrf-device-panel[hidden],
.cmrf-capability-panel[hidden],
.cmrf-business-panel[hidden],
.cmrf-product-faq__panel[hidden] {
  display: none !important;
}

.cmrf-device-panel {
  display: flex;
  justify-content: center;
  animation: cmrf-product-panel-in 360ms ease both;
}

.cmrf-device-panel__frame {
  width: 100%;
  margin: 0;
}

.cmrf-device-panel__frame--pc {
  max-width: 70rem;
}

.cmrf-device-panel__frame--tablet {
  max-width: 61rem;
}

.cmrf-device-panel__frame--mobile {
  max-width: 25rem;
}

.cmrf-device-panel__frame .pos-demo__surface {
  margin-inline: auto;
  box-shadow: 0 0 48px rgba(var(--palette-black-rgb), 0.35);
}

.cmrf-device-panel--pc .pos-demo--desktop .pos-demo__surface {
  aspect-ratio: 1.85 / 1;
  min-height: clamp(30rem, 42vw, 36rem);
  max-height: none;
}

.cmrf-device-panel--tablet .pos-demo--desktop .pos-demo__surface {
  aspect-ratio: 1.35 / 1;
  min-height: 29rem;
  max-height: 38rem;
}

.cmrf-device-panel--tablet .pos-demo__desktop-layout {
  grid-template-columns: minmax(0, 1.28fr) minmax(10rem, 0.88fr);
}

.cmrf-device-panel--mobile .pos-demo__surface {
  max-width: 24rem;
  margin-inline: auto;
}

.cmrf-product-capabilities {
  background: var(--palette-paper);
}

.cmrf-capability-explorer {
  display: grid;
  grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.55fr);
  align-items: stretch;
  gap: clamp(1.4rem, 4vw, 4rem);
}

.cmrf-capability-explorer__tabs {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.cmrf-capability-tab {
  display: grid;
  min-height: 4rem;
  grid-template-columns: 2.5rem minmax(0, 1fr) 1rem;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid transparent;
  border-radius: var(--n-radius-md);
  background: transparent;
  color: var(--palette-gray-700);
  font: inherit;
  font-size: 0.97rem;
  font-weight: 700;
  line-height: 1.28;
  text-align: left;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.cmrf-capability-tab:hover {
  transform: translateX(3px);
  color: var(--cmrf-ink);
}

.cmrf-capability-tab.is-active {
  border-color: rgba(var(--palette-charcoal-rgb), 0.08);
  background: var(--palette-white);
  color: var(--cmrf-ink);
  box-shadow: 0 0 20px rgba(var(--palette-black-rgb), 0.045);
}

.cmrf-capability-tab > i:last-child {
  color: var(--palette-gray-500);
  font-size: 0.78rem;
}

.cmrf-capability-tab__icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--palette-gray-100);
  color: var(--cmrf-ink);
  font-size: 1rem;
}

.cmrf-capability-tab.is-active .cmrf-capability-tab__icon {
  background: var(--palette-accent);
}

.cmrf-capability-explorer__panels {
  min-width: 0;
}

.cmrf-capability-panel {
  display: grid;
  min-height: 100%;
  grid-template-columns: minmax(0, 0.82fr) minmax(19rem, 1.05fr);
  align-items: center;
  gap: clamp(1.5rem, 3vw, 2.8rem);
  animation: cmrf-product-panel-in 360ms ease both;
}

.cmrf-capability-panel__copy .cmrf-section-label {
  margin-bottom: 0.75rem;
}

.cmrf-capability-panel__copy h3 {
  margin: 0 0 0.9rem;
  color: var(--cmrf-ink);
  font-family: var(--n-font-display);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.cmrf-capability-panel__copy > p:not(.cmrf-section-label) {
  color: var(--palette-gray-700);
  line-height: 1.6;
}

.cmrf-capability-panel__copy ul,
.cmrf-business-panel__copy ul {
  display: grid;
  gap: 0.7rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
}

.cmrf-capability-panel__copy li,
.cmrf-business-panel__copy li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  color: var(--palette-gray-800);
  line-height: 1.45;
}

.cmrf-capability-panel__copy li i,
.cmrf-business-panel__copy li i {
  flex: 0 0 auto;
  color: var(--palette-gray-700);
  font-size: 1.05rem;
  font-weight: 800;
}

.cmrf-capability-panel__image {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: var(--cmrf-product-card-radius);
  background: var(--palette-gray-200);
  box-shadow: 0 0 36px rgba(var(--palette-black-rgb), 0.11);
}

.cmrf-capability-panel__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.22 / 1;
  object-fit: cover;
}

.cmrf-capability-panel__image figcaption {
  position: absolute;
  right: 0.9rem;
  bottom: 0.9rem;
  left: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(var(--palette-white-rgb), 0.27);
  border-radius: var(--n-radius-pill);
  background: rgba(var(--palette-black-rgb), 0.7);
  color: var(--palette-white);
  font-size: 0.8rem;
  font-weight: 700;
  backdrop-filter: blur(10px);
}

.cmrf-capability-panel__image figcaption i {
  color: var(--palette-accent);
}

.cmrf-product-integrations {
  background: var(--palette-white);
}

.cmrf-product-integration-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.8vw, 1.35rem);
}

.cmrf-product-integration {
  grid-column: span 2;
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(15rem, 22vw, 20rem);
  flex-direction: column;
  justify-content: space-between;
  gap: 2.2rem;
  overflow: hidden;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid rgba(var(--palette-black-rgb), 0.09);
  border-radius: var(--cmrf-product-card-radius);
  background: var(--cmrf-integration-image) center / cover;
  color: var(--palette-white);
  box-shadow: 0 0 0 rgba(var(--palette-black-rgb), 0);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.cmrf-product-integration:nth-child(4) {
  grid-column: 2 / 4;
}

.cmrf-product-integration:nth-child(5) {
  grid-column: 4 / 6;
}

.cmrf-product-integration::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(var(--palette-black-rgb), 0.16) 5%, rgba(var(--palette-black-rgb), 0.84) 100%);
  content: '';
}

.cmrf-product-integration:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 24px rgba(var(--palette-black-rgb), 0.14);
}

.cmrf-product-integration__icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid rgba(var(--palette-white-rgb), 0.38);
  border-radius: 1rem;
  background: rgba(var(--palette-black-rgb), 0.46);
  color: var(--palette-accent);
  font-size: 1.35rem;
  backdrop-filter: blur(12px);
}

.cmrf-product-integration h3 {
  margin: 0 0 0.45rem;
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.cmrf-product-integration p {
  max-width: 34ch;
  margin: 0;
  color: rgba(var(--palette-white-rgb), 0.89);
  line-height: 1.48;
}

.cmrf-product-businesses {
  background: var(--palette-paper);
}

.cmrf-business-explorer__choices {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.7rem;
  margin-bottom: 1.2rem;
}

.cmrf-business-choice {
  position: relative;
  isolation: isolate;
  display: flex;
  min-width: 0;
  min-height: clamp(6.5rem, 11vw, 9.2rem);
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
  overflow: hidden;
  padding: 1rem;
  border: 1px solid rgba(var(--palette-black-rgb), 0.16);
  border-radius: var(--n-radius-md);
  background: var(--cmrf-business-image) center / cover;
  color: var(--palette-white);
  font: inherit;
  font-size: 0.95rem;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  transition: transform 200ms ease, border-color 200ms ease;
}

.cmrf-business-choice::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(var(--palette-black-rgb), 0.44), rgba(var(--palette-black-rgb), 0.76));
  content: '';
  transition: background-color 200ms ease;
}

.cmrf-business-choice:hover {
  transform: translateY(-2px);
}

.cmrf-business-choice.is-active {
  border-color: var(--palette-accent);
  box-shadow: 0 0 0 2px var(--palette-accent);
}

.cmrf-business-choice.is-active::before {
  background: linear-gradient(180deg, rgba(var(--palette-black-rgb), 0.25), rgba(var(--palette-black-rgb), 0.82));
}

.cmrf-business-choice > i:first-child {
  color: var(--palette-accent);
  font-size: 1.3rem;
}

.cmrf-business-choice > i:last-child {
  position: absolute;
  right: 0.85rem;
  bottom: 0.85rem;
  color: rgba(var(--palette-white-rgb), 0.85);
  font-size: 0.85rem;
}

.cmrf-business-panel {
  display: grid;
  min-height: 32rem;
  grid-template-columns: minmax(0, 0.92fr) minmax(20rem, 1.08fr);
  overflow: hidden;
  border: 1px solid rgba(var(--palette-black-rgb), 0.1);
  border-radius: var(--cmrf-product-card-radius);
  background: var(--palette-white);
  box-shadow: 0 0 30px rgba(var(--palette-black-rgb), 0.06);
  animation: cmrf-product-panel-in 360ms ease both;
}

.cmrf-business-panel__copy {
  align-self: center;
  padding: clamp(1.5rem, 4vw, 3.6rem);
}

.cmrf-business-panel__copy .cmrf-section-label {
  margin-bottom: 0.75rem;
}

.cmrf-business-panel__copy h3 {
  margin: 0 0 0.8rem;
  color: var(--cmrf-ink);
  font-family: var(--n-font-display);
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.cmrf-business-panel__copy > p:not(.cmrf-section-label) {
  color: var(--palette-gray-700);
  line-height: 1.58;
}

.cmrf-business-panel__copy h4 {
  margin: 1.35rem 0 0;
  color: var(--cmrf-ink);
  font-size: 0.95rem;
  font-weight: 800;
}

.cmrf-business-panel__hardware {
  display: flex;
  gap: 0.8rem;
  margin: 1.4rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(var(--palette-charcoal-rgb), 0.13);
  color: var(--palette-gray-700);
  font-size: 0.91rem;
  line-height: 1.5;
}

.cmrf-business-panel__hardware > i {
  flex: 0 0 auto;
  color: var(--cmrf-ink);
  font-size: 1.2rem;
}

.cmrf-business-panel__hardware strong {
  display: block;
  margin-bottom: 0.15rem;
  color: var(--cmrf-ink);
}

.cmrf-business-panel__image {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  margin: 0;
  background:
    linear-gradient(180deg, rgba(var(--palette-black-rgb), 0.02), rgba(var(--palette-black-rgb), 0.5)),
    var(--cmrf-business-image) center / cover;
}

.cmrf-business-panel__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 32rem;
  object-fit: contain;
  mix-blend-mode: normal;
}

.cmrf-business-panel__image figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.6rem 0.85rem;
  border: 1px solid rgba(var(--palette-white-rgb), 0.23);
  border-radius: var(--n-radius-pill);
  background: rgba(var(--palette-black-rgb), 0.68);
  color: var(--palette-white);
  font-size: 0.78rem;
  font-weight: 700;
  backdrop-filter: blur(10px);
}

.cmrf-product-sales-cta {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(25rem, 42vw, 35rem);
  place-items: center;
  overflow: hidden;
  padding: clamp(4rem, 9vw, 8rem) 0;
  background: var(--palette-charcoal);
  color: var(--palette-white);
  text-align: center;
}

.cmrf-product-sales-cta__background {
  background-image: var(--cmrf-product-center-background);
  background-position: center 47%;
}

.cmrf-product-sales-cta__background::after {
  background: linear-gradient(rgba(var(--palette-black-rgb), 0.67), rgba(var(--palette-black-rgb), 0.82));
}

.cmrf-product-sales-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 57rem;
}

.cmrf-product-sales-cta__inner .cmrf-section-label {
  justify-content: center;
}

.cmrf-product-sales-cta h2 {
  margin: 0 auto 1rem;
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(2.45rem, 5.4vw, 5.1rem);
  letter-spacing: -0.045em;
  line-height: 0.99;
}

.cmrf-product-sales-cta p:not(.cmrf-section-label) {
  max-width: 56ch;
  margin: 0 auto 1.7rem;
  color: rgba(var(--palette-white-rgb), 0.84);
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  line-height: 1.6;
}

.cmrf-product-page .cmrf-product-sales-cta .btn-primary {
  border-radius: var(--n-radius-pill);
  padding-inline: 1.5rem;
}

.cmrf-product-plans {
  scroll-margin-top: 5rem;
  background: var(--palette-charcoal);
}

.cmrf-product-plans .cmrf-section__intro {
  max-width: 64rem;
}

.cmrf-product-plans .cmrf-section-label,
.cmrf-product-plans .cmrf-plan__index,
.cmrf-product-plans .cmrf-plan__label {
  color: var(--palette-accent);
}

.cmrf-product-plans .cmrf-section__title,
.cmrf-product-plans .cmrf-section__lead {
  color: var(--palette-white);
}

.cmrf-product-plans .cmrf-plan-grid {
  border-color: rgba(var(--palette-white-rgb), 0.25);
}

.cmrf-product-plans .cmrf-plan {
  min-height: 30rem;
  padding: clamp(1.5rem, 3vw, 2.6rem);
}

.cmrf-product-plans .cmrf-plan + .cmrf-plan {
  border-color: rgba(var(--palette-white-rgb), 0.25);
}

.cmrf-product-plans .cmrf-plan h3 {
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(1.8rem, 2.6vw, 2.45rem);
  font-weight: 400;
  text-transform: uppercase;
}

.cmrf-product-plans .cmrf-plan__description,
.cmrf-product-plans .cmrf-plan__list li {
  color: rgba(var(--palette-white-rgb), 0.8);
}

.cmrf-product-plans .cmrf-plan__price {
  color: var(--palette-white);
}

.cmrf-product-plans .cmrf-plan__list {
  border-color: rgba(var(--palette-white-rgb), 0.2);
}

.cmrf-product-plans .cmrf-plan__list li::before {
  color: var(--palette-accent);
}

.cmrf-product-plans .cmrf-plan--presence {
  background: rgba(var(--palette-accent-rgb), 0.12);
}

.cmrf-product-plans .cmrf-plan--custom {
  border-radius: 0 0 var(--n-radius-lg) var(--n-radius-lg);
  background: var(--palette-paper);
  color: var(--cmrf-ink);
}

.cmrf-product-plans .cmrf-plan--custom h3,
.cmrf-product-plans .cmrf-plan--custom .cmrf-plan__price {
  color: var(--cmrf-ink);
}

.cmrf-product-plans .cmrf-plan--custom .cmrf-plan__index,
.cmrf-product-plans .cmrf-plan--custom .cmrf-plan__label {
  color: var(--palette-gray-700);
}

.cmrf-product-plans .cmrf-plan--custom .cmrf-plan__description,
.cmrf-product-plans .cmrf-plan--custom .cmrf-plan__list li {
  color: var(--palette-gray-800);
}

.cmrf-product-plans .cmrf-plan--custom .cmrf-plan__list {
  border-color: rgba(var(--palette-charcoal-rgb), 0.17);
}

.cmrf-product-plans .cmrf-plan--custom .cmrf-plan__list li::before {
  color: var(--palette-gray-700);
}

.cmrf-product-compare {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.25rem;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(var(--palette-white-rgb), 0.2);
}

.cmrf-product-compare p {
  margin: 0;
  color: rgba(var(--palette-white-rgb), 0.83);
}

.cmrf-product-page .cmrf-product-compare .btn {
  flex: 0 0 auto;
  border-radius: var(--n-radius-pill);
  font-weight: 700;
}

.cmrf-product-faq {
  background: var(--palette-charcoal);
  color: var(--palette-white);
}

.cmrf-product-faq .cmrf-section__intro {
  margin: 0 auto clamp(2.2rem, 5vw, 4rem);
}

.cmrf-product-faq .cmrf-section__title {
  max-width: none;
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(2.4rem, 5vw, 4.5rem);
}

.cmrf-product-faq .cmrf-section-label {
  justify-content: center;
  color: var(--palette-accent);
}

.cmrf-product-faq__explorer {
  max-width: 58rem;
  margin-inline: auto;
}

.cmrf-product-faq__tabs {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 3rem;
  padding: 0.35rem;
  overflow-x: auto;
  border: 1px solid rgba(var(--palette-white-rgb), 0.12);
  border-radius: var(--n-radius-pill);
  background: rgba(var(--palette-white-rgb), 0.1);
}

.cmrf-product-faq__tabs button {
  min-height: 2.8rem;
  flex: 0 0 auto;
  padding: 0.6rem 1rem;
  border: 0;
  border-radius: var(--n-radius-pill);
  background: transparent;
  color: rgba(var(--palette-white-rgb), 0.65);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}

.cmrf-product-faq__tabs button:hover {
  color: var(--palette-white);
}

.cmrf-product-faq__tabs button.is-active {
  background: var(--palette-black);
  color: var(--palette-white);
}

.cmrf-product-faq__panel {
  animation: cmrf-product-panel-in 300ms ease both;
}

.cmrf-product-faq__panel h3 {
  margin: 0 0 1rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid rgba(var(--palette-white-rgb), 0.14);
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.cmrf-product-faq__item {
  border-bottom: 1px solid rgba(var(--palette-white-rgb), 0.14);
}

.cmrf-product-faq__item summary {
  display: flex;
  min-height: 4.6rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}

.cmrf-product-faq__item summary::-webkit-details-marker {
  display: none;
}

.cmrf-product-faq__item summary span {
  position: relative;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 1.15rem;
  color: rgba(var(--palette-white-rgb), 0.78);
}

.cmrf-product-faq__item summary span::before,
.cmrf-product-faq__item summary span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1px;
  background: currentColor;
  content: '';
  transform: translate(-50%, -50%);
  transition: transform 200ms ease;
}

.cmrf-product-faq__item summary span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.cmrf-product-faq__item[open] summary span::after {
  transform: translate(-50%, -50%) rotate(0);
}

.cmrf-product-faq__item summary:focus-visible {
  outline: 3px solid var(--palette-accent);
  outline-offset: 3px;
}

.cmrf-product-faq__item > p {
  max-width: 68ch;
  margin: -0.15rem 2rem 1.4rem 0;
  color: rgba(var(--palette-white-rgb), 0.7);
  line-height: 1.62;
}

.cmrf-product-contact {
  padding-block: clamp(3rem, 6vw, 5rem);
  background: var(--palette-paper);
}

.cmrf-product-contact .cmrf-final-cta {
  isolation: isolate;
  border-radius: var(--n-radius-lg);
  background: var(--palette-charcoal);
}

.cmrf-product-contact__background {
  background-image: var(--cmrf-product-contact-background);
  background-position: center 48%;
}

.cmrf-product-contact__background::after {
  background: linear-gradient(105deg, rgba(var(--palette-black-rgb), 0.87), rgba(var(--palette-black-rgb), 0.72));
}

.cmrf-product-contact .cmrf-final-cta__inner {
  position: relative;
  z-index: 1;
  align-items: center;
}

.cmrf-product-contact .cmrf-final-cta__inner > div > .cmrf-section-label {
  color: var(--palette-accent);
}

.cmrf-product-contact .cmrf-final-cta h2 {
  color: var(--palette-white);
  font-family: var(--n-font-display);
  font-size: clamp(2.1rem, 4vw, 3.7rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.cmrf-product-contact .cmrf-final-cta__inner > div > p:not(.cmrf-section-label) {
  color: rgba(var(--palette-white-rgb), 0.82);
  line-height: 1.62;
}

.cmrf-product-contact .cmrf-lead-form {
  border-radius: var(--n-radius-lg);
}

.cmrf-product-contact .cmrf-lead-form .btn-primary {
  border-radius: var(--n-radius-pill);
}

@keyframes cmrf-product-panel-in {
  from { opacity: 0; transform: translateY(0.55rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 991.98px) {
  .cmrf-product-plans .cmrf-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cmrf-product-plans .cmrf-plan--custom {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(var(--palette-white-rgb), 0.25);
    border-left: 0;
    border-radius: var(--n-radius-lg);
  }

  .cmrf-product-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.86fr);
    gap: 2.25rem;
  }

  .cmrf-capability-explorer {
    grid-template-columns: minmax(13rem, 0.65fr) minmax(0, 1.35fr);
    gap: 1.5rem;
  }

  .cmrf-capability-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-capability-panel__copy {
    order: 1;
  }

  .cmrf-capability-panel__image {
    order: 0;
  }

  .cmrf-business-explorer__choices {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cmrf-business-panel {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.85fr);
  }

  .cmrf-business-panel__image img {
    min-height: 34rem;
  }

  .cmrf-product-integration-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cmrf-product-integration:nth-child(4),
  .cmrf-product-integration:nth-child(5) {
    grid-column: auto;
  }

  .cmrf-product-integration:nth-child(5) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .cmrf-product-hero {
    padding-top: 6.9rem;
  }

  .cmrf-product-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.4rem;
  }

  .cmrf-product-hero h1 {
    max-width: 11ch;
    font-size: clamp(3rem, 13vw, 4.3rem);
  }

  .cmrf-product-hero__photo {
    max-width: 38rem;
    margin-left: 0.5rem;
  }

  .cmrf-product-proof__heading {
    display: block;
  }

  .cmrf-product-proof__heading .cmrf-section-label {
    margin-bottom: 0.65rem;
  }

  .cmrf-product-proof__slider {
    padding-inline: 2.75rem;
  }

  .cmrf-product-proof__track {
    display: flex;
    gap: 0.8rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--palette-gray-400) transparent;
  }

  .cmrf-product-proof__item {
    min-height: 7.6rem;
    flex: 0 0 100%;
    scroll-snap-align: start;
  }

  .cmrf-product-proof__item + .cmrf-product-proof__item {
    border-left: 0;
  }

  .cmrf-product-proof__arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border: 1px solid rgba(var(--palette-charcoal-rgb), 0.16);
    border-radius: 50%;
    background: var(--palette-white);
    color: var(--cmrf-ink);
    font-size: 1rem;
    cursor: pointer;
    transform: translateY(-50%);
  }

  .cmrf-product-proof__arrow--previous { left: 0; }
  .cmrf-product-proof__arrow--next { right: 0; }

  .cmrf-capability-explorer {
    display: block;
  }

  .cmrf-capability-explorer__tabs {
    flex-direction: row;
    gap: 0.55rem;
    margin: 0 -1rem 1.4rem;
    padding: 0.15rem 1rem 0.75rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .cmrf-capability-explorer__tabs::-webkit-scrollbar {
    display: none;
  }

  .cmrf-capability-tab {
    min-width: 12rem;
    grid-template-columns: 2.2rem minmax(0, 1fr) 0.75rem;
    flex: 0 0 auto;
    border-color: rgba(var(--palette-charcoal-rgb), 0.1);
    background: rgba(var(--palette-white-rgb), 0.55);
  }

  .cmrf-capability-tab:hover {
    transform: none;
  }

  .cmrf-capability-tab__icon {
    width: 2.2rem;
    height: 2.2rem;
  }

  .cmrf-capability-panel {
    gap: 1.3rem;
  }

  .cmrf-capability-panel__image img {
    aspect-ratio: 1.15 / 1;
  }

  .cmrf-product-integration-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-product-integration:nth-child(5) {
    grid-column: auto;
  }

  .cmrf-product-integration {
    min-height: 15.5rem;
  }

  .cmrf-business-explorer__choices {
    grid-template-columns: repeat(6, minmax(9.5rem, 75vw));
    margin-inline: -1rem;
    padding: 0.25rem 1rem 0.7rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .cmrf-business-explorer__choices::-webkit-scrollbar {
    display: none;
  }

  .cmrf-business-choice {
    min-height: 7rem;
    scroll-snap-align: start;
  }

  .cmrf-business-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-business-panel__copy {
    order: 1;
  }

  .cmrf-business-panel__image {
    min-height: 18rem;
    order: 0;
  }

  .cmrf-business-panel__image img {
    height: auto;
    min-height: 18rem;
    max-height: 25rem;
  }

  .cmrf-product-sales-cta {
    min-height: 28rem;
  }

  .cmrf-product-plans .cmrf-plan {
    min-height: 0;
  }

  .cmrf-product-plans .cmrf-plan-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-product-plans .cmrf-plan--custom {
    grid-column: auto;
    border-radius: var(--n-radius-lg);
  }

  .cmrf-product-compare {
    align-items: flex-start;
    flex-direction: column;
  }

  .cmrf-product-faq__tabs {
    justify-content: flex-start;
    width: 100%;
    margin-bottom: 2rem;
    scrollbar-width: none;
  }

  .cmrf-product-faq__tabs::-webkit-scrollbar {
    display: none;
  }

  .cmrf-product-contact .cmrf-final-cta {
    padding: clamp(1.35rem, 5vw, 2.5rem);
  }
}

@media (max-width: 420px) {
  .cmrf-device-switch {
    width: 100%;
  }

  .cmrf-device-switch button {
    flex: 1 1 0;
    padding-inline: 0.6rem;
    font-size: 0.82rem;
  }

  .cmrf-device-panel--tablet .pos-demo__desktop-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(8rem, 0.85fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cmrf-product-page *,
  .cmrf-product-page *::before,
  .cmrf-product-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Product page refinements: keep these overrides isolated from the landing page. */
.cmrf-product-hero__background {
  position: absolute;
  z-index: 0;
  inset: -12% 0;
  background-image: var(--cmrf-product-hero-background);
  background-position: center 48%;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
  will-change: transform;
}

.cmrf-product-hero__background::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(var(--palette-black-rgb), 0.88), rgba(var(--palette-black-rgb), 0.72) 48%, rgba(var(--palette-black-rgb), 0.38));
  content: '';
  pointer-events: none;
}

.cmrf-product-plans {
  background: var(--palette-white);
  color: var(--cmrf-ink);
}

.cmrf-product-plans .cmrf-section-label,
.cmrf-product-plans .cmrf-plan__index,
.cmrf-product-plans .cmrf-plan__label {
  color: var(--palette-gray-700);
}

.cmrf-product-plans .cmrf-section__title,
.cmrf-product-plans .cmrf-section__lead {
  color: var(--cmrf-ink);
}

.cmrf-product-plans .cmrf-plan-grid {
  gap: clamp(0.8rem, 1.6vw, 1.25rem);
  border: 0;
}

.cmrf-product-plans .cmrf-plan,
.cmrf-product-plans .cmrf-plan + .cmrf-plan {
  min-height: 100%;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  border: 1px solid rgba(var(--palette-charcoal-rgb), 0.14);
  border-radius: var(--cmrf-product-card-radius);
  background: var(--palette-white);
  color: var(--cmrf-ink);
  box-shadow: 0 0 28px rgba(var(--palette-charcoal-rgb), 0.08);
}

.cmrf-product-plans .cmrf-plan h3,
.cmrf-product-plans .cmrf-plan__price {
  color: var(--cmrf-ink);
}

.cmrf-product-plans .cmrf-plan h3 {
  font-weight: 600;
}

.cmrf-product-plans .cmrf-plan__description,
.cmrf-product-plans .cmrf-plan__list li {
  color: var(--palette-gray-700);
}

.cmrf-product-plans .cmrf-plan__list {
  border-color: rgba(var(--palette-charcoal-rgb), 0.15);
}

.cmrf-product-plans .cmrf-plan__list li::before {
  color: var(--palette-gray-700);
}

.cmrf-product-plans .cmrf-plan.cmrf-plan--presence {
  border-color: var(--palette-charcoal);
  background: var(--palette-charcoal);
  color: var(--palette-white);
  box-shadow: 0 0 32px rgba(var(--palette-black-rgb), 0.18);
}

.cmrf-product-plans .cmrf-plan--presence h3,
.cmrf-product-plans .cmrf-plan--presence .cmrf-plan__price,
.cmrf-product-plans .cmrf-plan--presence .cmrf-plan__description,
.cmrf-product-plans .cmrf-plan--presence .cmrf-plan__list li {
  color: var(--palette-white);
}

.cmrf-product-plans .cmrf-plan--presence .cmrf-plan__index,
.cmrf-product-plans .cmrf-plan--presence .cmrf-plan__label,
.cmrf-product-plans .cmrf-plan--presence .cmrf-plan__list li::before {
  color: var(--palette-accent);
}

.cmrf-product-plans .cmrf-plan--presence .cmrf-plan__list {
  border-color: rgba(var(--palette-white-rgb), 0.22);
}

.cmrf-product-plans .cmrf-plan--custom {
  border-radius: var(--cmrf-product-card-radius);
  background: var(--palette-white);
}

.cmrf-product-plans .cmrf-product-compare {
  border-color: rgba(var(--palette-charcoal-rgb), 0.16);
}

.cmrf-product-plans .cmrf-product-compare p {
  color: var(--palette-gray-700);
}

.cmrf-product-plans .cmrf-product-compare .btn-outline-light {
  border-color: var(--palette-charcoal);
  color: var(--palette-charcoal);
}

.cmrf-product-plans .cmrf-product-compare .btn-outline-light:hover {
  background: var(--palette-charcoal);
  color: var(--palette-white);
}

.cmrf-product-plans > .container > .small {
  color: var(--palette-gray-700) !important;
}

.cmrf-product-businesses {
  overflow: hidden;
}

.cmrf-business-panel__image {
  border-radius: var(--cmrf-product-card-radius) 0 0 var(--cmrf-product-card-radius);
  background: transparent;
  isolation: isolate;
}

.cmrf-business-panel__backdrop {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(var(--palette-black-rgb), 0.02), rgba(var(--palette-black-rgb), 0.5)),
    var(--cmrf-business-image) center / cover;
  transform-origin: left center;
  will-change: transform;
}

.cmrf-business-panel__image img {
  position: relative;
  transform-origin: center;
  will-change: transform;
}

.cmrf-product-faq {
  position: relative;
  isolation: isolate;
  background: var(--palette-charcoal);
}

.cmrf-product-faq__background {
  z-index: -1;
  opacity: 0;
  background-position: center;
  background-size: cover;
  will-change: transform, opacity;
}

.cmrf-product-faq__background::after {
  background: linear-gradient(90deg, rgba(var(--palette-black-rgb), 0.88), rgba(var(--palette-black-rgb), 0.78) 58%, rgba(var(--palette-black-rgb), 0.72));
}

.cmrf-product-faq__background.is-active {
  opacity: 1;
}

.cmrf-product-faq > .container {
  position: relative;
  z-index: 1;
}

.cmrf-product-faq__tabs {
  border-color: rgba(var(--palette-white-rgb), 0.2);
  background: rgba(var(--palette-black-rgb), 0.58);
  backdrop-filter: blur(14px);
}

.cmrf-product-faq__tabs button {
  color: rgba(var(--palette-white-rgb), 0.76);
}

.cmrf-product-faq__tabs button:hover,
.cmrf-product-faq__tabs button.is-active {
  color: var(--palette-white);
}

.cmrf-business-choice,
.cmrf-product-integration {
  background-position: center 48%;
}

@media (max-width: 767.98px) {
  .cmrf-product-plans .cmrf-plan-grid {
    gap: 0.85rem;
  }

  .cmrf-product-plans .cmrf-plan,
  .cmrf-product-plans .cmrf-plan + .cmrf-plan {
    min-height: 0;
  }

  .cmrf-business-panel__image {
    border-radius: 0 0 25px 25px;
  }

  .cmrf-business-panel__backdrop {
    border-radius: 0 0 25px 25px;
  }
}

/* Shared pricing, contact, and blog page treatments. */
.cmrf-product-devices .pos-demo__chrome {
  color: rgba(var(--palette-white-rgb), 0.93);
}

.cmrf-product-sales-cta .cmrf-section-label {
  color: var(--palette-white);
}

.cmrf-pricing-page .cmrf-pricing-sales-cta .cmrf-product-sales-cta__background {
  background-image: var(--cmrf-product-center-background);
  background-position: center 48%;
}

.cmrf-pricing-compare {
  background: var(--palette-paper);
  color: var(--cmrf-ink);
}

.cmrf-pricing-compare .cmrf-section__intro {
  max-width: 58rem;
}

.cmrf-pricing-compare .cmrf-section__title,
.cmrf-pricing-compare .cmrf-section__lead {
  color: var(--cmrf-ink);
}

.cmrf-pricing-compare__scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid rgba(var(--palette-charcoal-rgb), 0.14);
  border-radius: var(--cmrf-product-card-radius);
  background: var(--palette-white);
  box-shadow: 0 0 28px rgba(var(--palette-charcoal-rgb), 0.07);
  scrollbar-color: var(--palette-gray-500) var(--palette-gray-100);
}

.cmrf-pricing-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--cmrf-ink);
  text-align: left;
}

.cmrf-pricing-table th,
.cmrf-pricing-table td {
  padding: 1rem clamp(0.8rem, 1.8vw, 1.35rem);
  border-bottom: 1px solid rgba(var(--palette-charcoal-rgb), 0.12);
  vertical-align: middle;
}

.cmrf-pricing-table thead th {
  min-width: 10rem;
  padding-block: 1.35rem;
  background: var(--palette-white);
  text-align: center;
}

.cmrf-pricing-table thead th:first-child {
  width: 36%;
  min-width: 17rem;
  text-align: left;
}

.cmrf-pricing-table thead th > span,
.cmrf-pricing-table thead th > strong {
  display: block;
}

.cmrf-pricing-table thead th > span {
  margin-bottom: 0.35rem;
  font-size: 0.9rem;
  font-weight: 800;
}

.cmrf-pricing-table thead th > strong {
  font-size: 1.05rem;
  line-height: 1.25;
}

.cmrf-pricing-table thead th small {
  color: var(--palette-gray-600);
  font-size: 0.72rem;
  font-weight: 600;
}

.cmrf-pricing-table tbody:last-child tr:last-child th,
.cmrf-pricing-table tbody:last-child tr:last-child td {
  border-bottom: 0;
}

.cmrf-pricing-table tbody th[scope='row'] {
  position: sticky;
  left: 0;
  z-index: 1;
  width: 36%;
  background: var(--palette-white);
  font-weight: 600;
}

.cmrf-pricing-table__group th {
  padding-block: 0.75rem;
  background: var(--palette-gray-100);
  color: var(--palette-gray-700);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}

.cmrf-pricing-table .cmrf-pricing-table__featured {
  background: rgba(var(--palette-accent-rgb), 0.18);
}

.cmrf-pricing-table__value {
  display: inline-flex;
  min-width: 6.3rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  color: var(--palette-gray-700);
  font-size: 0.82rem;
  font-weight: 700;
  text-align: center;
}

.cmrf-pricing-table__value i {
  color: var(--palette-charcoal);
  font-size: 1rem;
}

.cmrf-pricing-table__value--excluded {
  color: var(--palette-gray-600);
  font-weight: 500;
}

.cmrf-pricing-table__value--scope {
  color: var(--palette-gray-800);
}

.cmrf-pricing-compare__hint {
  display: none;
  margin: 0.8rem 0 0;
  color: var(--palette-gray-700);
  font-size: 0.82rem;
}

.cmrf-contact-page__section {
  background: var(--palette-paper);
}

.cmrf-contact-page__section .cmrf-section__intro {
  max-width: 58rem;
}

.cmrf-contact-page__grid {
  display: grid;
  grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: clamp(1.2rem, 3vw, 2.5rem);
}

.cmrf-contact-page__details,
.cmrf-contact-page__form-wrap {
  min-width: 0;
  padding: clamp(1.2rem, 2.7vw, 2rem);
  border: 1px solid rgba(var(--palette-charcoal-rgb), 0.12);
  border-radius: var(--cmrf-product-card-radius);
  background: var(--palette-white);
  box-shadow: 0 0 28px rgba(var(--palette-charcoal-rgb), 0.06);
}

.cmrf-contact-page__details h3,
.cmrf-contact-page__form-heading h3 {
  margin: 0 0 1.1rem;
  color: var(--cmrf-ink);
  font-family: var(--n-font-display);
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.cmrf-contact-page__channel {
  display: grid;
  grid-template-columns: 2.7rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 0;
  border-top: 1px solid rgba(var(--palette-charcoal-rgb), 0.12);
  color: var(--cmrf-ink);
  text-decoration: none;
}

.cmrf-contact-page__channel > span:nth-child(2) {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.cmrf-contact-page__channel small {
  color: var(--palette-gray-600);
  font-size: 0.76rem;
}

.cmrf-contact-page__channel strong {
  overflow-wrap: anywhere;
  font-size: 0.9rem;
}

.cmrf-contact-page__channel > i:last-child {
  color: var(--palette-gray-600);
}

.cmrf-contact-page__channel:hover strong,
.cmrf-contact-page__channel:hover > i:last-child {
  color: var(--palette-gray-700);
}

.cmrf-contact-page__channel-icon {
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  border-radius: 0.85rem;
  background: var(--palette-gray-100);
  color: var(--palette-charcoal);
  font-size: 1.1rem;
}

.cmrf-contact-page__socials {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0.85rem 0 1rem;
  color: var(--palette-gray-700);
  font-size: 0.86rem;
  font-weight: 700;
}

.cmrf-contact-page__socials .footer-socials {
  margin: 0;
}

.cmrf-contact-page__socials .social-icon {
  color: var(--palette-charcoal);
}

.cmrf-contact-page__map {
  overflow: hidden;
  border-radius: 1rem;
  background: var(--palette-gray-100);
  aspect-ratio: 1.55 / 1;
}

.cmrf-contact-page__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.cmrf-contact-page__form-heading .cmrf-section-label {
  margin-bottom: 0.55rem;
  color: var(--palette-gray-700);
}

.cmrf-contact-page__form-heading h3 {
  margin-bottom: 1.25rem;
}

.cmrf-contact-page__form-wrap .cmrf-lead-form {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cmrf-lead-form__field select {
  width: 100%;
  min-height: 2.9rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--palette-gray-300);
  border-radius: 0.65rem;
  background: var(--palette-white);
  color: var(--palette-charcoal);
  font: inherit;
  font-size: 0.95rem;
}

.cmrf-lead-form__field select:focus {
  border-color: var(--palette-charcoal);
  outline: 3px solid rgba(var(--palette-accent-rgb), 0.45);
  outline-offset: 1px;
}

.cmrf-lead-form__trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

.cmrf-form-feedback {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  font-weight: 700;
  line-height: 1.45;
}

.cmrf-form-feedback--success {
  background: var(--n-success-soft);
  color: var(--n-success);
}

.cmrf-form-feedback--error {
  background: var(--palette-gray-200);
  color: var(--n-danger);
}

.cmrf-pricing-page .cmrf-product-hero {
  padding-bottom: clamp(3.2rem, 5vw, 4.5rem);
}

.cmrf-pricing-page .cmrf-product-hero__photo {
  aspect-ratio: 1.12 / 1;
}

.cmrf-pricing-page .cmrf-pricing-contact {
  isolation: isolate;
  border-radius: var(--n-radius-lg);
  background: var(--palette-charcoal);
}

.cmrf-pricing-page .cmrf-pricing-contact .cmrf-product-contact__background {
  background-image: var(--cmrf-product-contact-background);
  background-position: center 48%;
}

.cmrf-pricing-page .cmrf-pricing-contact .cmrf-product-contact__background::after {
  background: linear-gradient(105deg, rgba(var(--palette-black-rgb), 0.88), rgba(var(--palette-black-rgb), 0.72));
}

.cmrf-pricing-page .cmrf-pricing-sales-cta .cmrf-product-sales-cta__background::after {
  background: linear-gradient(90deg, rgba(var(--palette-black-rgb), 0.84), rgba(var(--palette-black-rgb), 0.68));
}

.cmrf-implementation .cmrf-subpage-hero {
  isolation: isolate;
  min-height: 29rem;
  display: flex;
  align-items: center;
}

.cmrf-implementation .cmrf-implementation-hero__background {
  background-image: var(--cmrf-implementation-hero-background);
  background-position: center 52%;
}

.cmrf-implementation .cmrf-implementation-hero__background::after {
  background: linear-gradient(90deg, rgba(var(--palette-black-rgb), 0.88), rgba(var(--palette-black-rgb), 0.72) 52%, rgba(var(--palette-black-rgb), 0.48));
}

.cmrf-implementation .cmrf-subpage-hero .cmrf-kicker {
  color: var(--palette-accent);
}

.cmrf-implementation .cmrf-subpage-hero p:not(.cmrf-kicker) {
  color: rgba(var(--palette-white-rgb), 0.84);
}

.cmrf-implementation .cmrf-implementation-cta {
  isolation: isolate;
  border-radius: var(--n-radius-lg);
  background: var(--palette-charcoal);
}

.cmrf-implementation .cmrf-implementation-cta__background {
  background-image: var(--cmrf-implementation-cta-background);
  background-position: center 48%;
}

.cmrf-implementation .cmrf-implementation-cta__background::after {
  background: linear-gradient(105deg, rgba(var(--palette-black-rgb), 0.88), rgba(var(--palette-black-rgb), 0.7));
}

.cmrf-implementation .cmrf-final-cta__inner,
.cmrf-implementation .cmrf-final-cta__inner > div {
  position: relative;
  z-index: 1;
}

.cmrf-implementation .cmrf-implementation-cta h2 {
  color: var(--palette-white);
}

.cmrf-implementation .cmrf-implementation-cta .cmrf-section-label {
  color: var(--palette-accent);
}

.cmrf-implementation .cmrf-implementation-cta p:not(.cmrf-section-label) {
  color: rgba(var(--palette-white-rgb), 0.84);
}

.cmrf-pricing-page .cmrf-pricing-compare .cmrf-section__intro {
  max-width: 62rem;
}

.cmrf-blog-page .cmrf-blog-hero .cmrf-product-hero__grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.8fr);
}

.cmrf-blog-page .cmrf-blog-hero h1 {
  max-width: 14ch;
}

.cmrf-blog-page .cmrf-blog-hero .cmrf-breadcrumb {
  color: rgba(var(--palette-white-rgb), 0.78);
  font-size: 0.86rem;
}

.cmrf-blog-page .cmrf-blog-hero .cmrf-breadcrumb a {
  color: var(--palette-white);
}

.cmrf-blog-page .cmrf-blog-hero .cmrf-breadcrumb .active {
  color: var(--palette-accent);
}

.cmrf-blog-page .cmrf-blog-hero--detail h1 {
  font-size: clamp(2.35rem, 4vw, 4rem);
}

@media (max-width: 767.98px) {
  .cmrf-pricing-compare__hint {
    display: block;
  }

  .cmrf-pricing-table th,
  .cmrf-pricing-table td {
    padding-inline: 0.75rem;
  }

  .cmrf-contact-page__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-contact-page__details {
    order: 2;
  }

  .cmrf-contact-page__form-wrap {
    order: 1;
  }

  .cmrf-blog-page .cmrf-blog-hero .cmrf-product-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-device-panel--pc .pos-demo--desktop .pos-demo__surface,
  .cmrf-device-panel--tablet .pos-demo--desktop .pos-demo__surface {
    aspect-ratio: auto;
    min-height: 0;
  }

  .cmrf-device-panel--pc .pos-demo__desktop-layout,
  .cmrf-device-panel--tablet .pos-demo__desktop-layout {
    height: auto;
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 420px) {
  .cmrf-contact-page__details,
  .cmrf-contact-page__form-wrap {
    padding: 1rem;
  }
}

@media (max-width: 767.98px) {
  body.page-product_intent .cmrf-product-hero h1 {
    max-width: none;
  }

  .cmrf-product-hero h1 {
    font-size: clamp(2.4rem, 10.5vw, 2.9rem);
    line-height: 0.98;
  }

  .cmrf-product-hero .cmrf-product-hero__lead {
    margin-bottom: 1.1rem;
  }

  .cmrf-product-hero__benefits {
    gap: 0.52rem;
    margin-bottom: 1.3rem;
  }

  .cmrf-product-hero .cmrf-product-hero__note {
    margin-top: 1rem;
  }

  .cmrf-product-hero__photo {
    width: min(100%, 36rem);
    aspect-ratio: 1.08 / 1;
    margin-inline: auto;
  }

  .cmrf-product-hero__element {
    width: clamp(5rem, 19vw, 7.2rem);
  }

  .cmrf-product-hero__element--primary {
    top: 14%;
    left: 1%;
  }

  .cmrf-product-hero__element--secondary {
    right: 1%;
    bottom: 18%;
  }

  .cmrf-product-hero__photo figcaption {
    right: 4%;
    bottom: 1%;
    left: 4%;
  }
}

@media (max-width: 420px) {
  .cmrf-product-hero__device img {
    top: -1%;
    width: 132%;
  }

  .cmrf-product-hero__element {
    width: 4.85rem;
  }

  .cmrf-product-hero__element span {
    padding-inline: 0.45rem;
    font-size: 0.62rem;
  }
}

.cmrf-blog-order-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #242729;
}

.cmrf-blog-order-cta::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: linear-gradient(110deg, rgba(15, 16, 17, 0.88), rgba(15, 16, 17, 0.5)), var(--cmrf-blog-cta-background);
  background-position: center;
  background-size: cover;
  content: '';
  pointer-events: none;
}

.cmrf-blog-order-cta > * {
  position: relative;
  z-index: 1;
}

.cmrf-blog-order-cta h2,
.cmrf-blog-order-cta p {
  color: #fff;
}

.cmrf-blog-order-cta p {
  color: rgba(255, 255, 255, 0.9);
}

.cmrf-blog-page .cmrf-blog-hero__grid {
  grid-template-columns: minmax(0, 1fr);
}

.cmrf-blog-page .cmrf-blog-hero__copy {
  max-width: 57rem;
}

.cmrf-blog-page .cmrf-blog-hero--detail h1 {
  max-width: 21ch;
}

.cmrf-blog-page .cmrf-blog-hero__metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1.25rem;
  color: rgba(var(--palette-white-rgb), 0.82);
  font-size: 0.92rem;
}

.cmrf-blog-topic-intro {
  max-width: 56rem;
  margin: 0 auto 3rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(var(--palette-black-rgb), 0.08);
  border-radius: var(--radius-xl, 1.5rem);
  background: rgba(var(--palette-black-rgb), 0.025);
  font-size: 1.08rem;
}

.cmrf-blog-topic-intro > :last-child {
  margin-bottom: 0;
}

.cmrf-blog-card-grid > article {
  min-width: 0;
}

.cmrf-blog-card-topic {
  text-decoration: none;
}

.cmrf-blog-card-topic:hover,
.cmrf-blog-card-topic:focus-visible {
  color: var(--palette-black);
}

.cmrf-blog-sidebar .widget-link-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.cmrf-blog-sidebar .widget-link-list li > a {
  min-width: 0;
  color: var(--palette-black, #151718);
  text-decoration-color: rgba(var(--palette-accent-rgb), .75);
  text-underline-offset: .16em;
}

.cmrf-blog-sidebar .widget-link-list li > a:hover,
.cmrf-blog-sidebar .widget-link-list li > a:focus-visible {
  color: var(--palette-black, #151718);
  text-decoration: underline;
}

.cmrf-blog-sidebar .widget-link-list li > i {
  flex: 0 0 auto;
  color: var(--palette-accent);
}

.cmrf-blog-article__byline {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(var(--palette-black-rgb), 0.12);
}

.cmrf-blog-article__byline > div {
  display: grid;
  gap: 0.18rem;
}

.cmrf-blog-article__byline span {
  color: var(--palette-gray-600, #64686b);
  font-size: 0.9rem;
}

.cmrf-blog-article .blog-detail-image {
  margin-bottom: 2rem !important;
}

.cmrf-blog-toc {
  border-radius: var(--radius-xl, 1.5rem);
}

.cmrf-blog-toc--desktop {
  position: sticky;
  top: 6rem;
}

.cmrf-blog-toc--mobile {
  display: none;
  margin-bottom: 2rem;
}

.cmrf-blog-toc ol {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding-left: 1.2rem;
}

.cmrf-blog-toc li {
  color: var(--palette-gray-700, #565b5f);
  line-height: 1.45;
}

.cmrf-blog-toc li.cmrf-blog-toc__level-3 {
  margin-left: 0.75rem;
  font-size: 0.92rem;
}

.cmrf-blog-toc a {
  color: inherit;
  text-decoration: none;
}

.cmrf-blog-toc a:hover,
.cmrf-blog-toc a:focus-visible {
  color: var(--palette-black);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.cmrf-blog-toc--mobile summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.cmrf-blog-toc--mobile summary::-webkit-details-marker {
  display: none;
}

.cmrf-blog-toc--mobile ol {
  padding-top: 1rem;
}

.blog-article-content h2,
.blog-article-content h3 {
  scroll-margin-top: 6rem;
}

.blog-article-content table {
  width: 100%;
  margin: 1.5rem 0;
  overflow: hidden;
  border: 1px solid rgba(var(--palette-black-rgb), .14);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: .85rem;
  color: var(--palette-charcoal, #17191b);
  font-size: .94rem;
  line-height: 1.5;
}

.blog-article-content th,
.blog-article-content td {
  min-width: 9rem;
  padding: .8rem 1rem;
  border-right: 1px solid rgba(var(--palette-black-rgb), .1);
  border-bottom: 1px solid rgba(var(--palette-black-rgb), .1);
  text-align: left;
  vertical-align: top;
}

.blog-article-content th {
  background: var(--palette-charcoal, #17191b);
  color: var(--palette-white, #fff);
  font-weight: 700;
}

.blog-article-content th * {
  color: inherit;
}

.blog-article-content td {
  background: var(--palette-white, #fff);
}

.blog-article-content tbody tr:nth-child(even) td {
  background: var(--palette-paper, #f5f5f4);
}

.blog-article-content tr > :last-child {
  border-right: 0;
}

.blog-article-content tbody tr:last-child > *,
.blog-article-content thead tr:last-child > * {
  border-bottom: 0;
}

.blog-article-content th p,
.blog-article-content td p {
  margin: 0;
}

.cmrf-blog-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(var(--palette-black-rgb), 0.12);
}

.cmrf-blog-tags > strong {
  flex-basis: 100%;
}

.cmrf-blog-author-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
}

.cmrf-blog-article-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 3rem;
}

.cmrf-blog-article-navigation__item {
  display: grid;
  align-content: start;
  gap: 0.75rem;
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid rgba(var(--palette-black-rgb), 0.11);
  border-radius: var(--radius-xl, 1.5rem);
  color: inherit;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.cmrf-blog-article-navigation__item:hover,
.cmrf-blog-article-navigation__item:focus-visible {
  border-color: var(--palette-accent);
  background: rgba(var(--palette-black-rgb), 0.025);
}

.cmrf-blog-article-navigation__item span {
  color: var(--palette-gray-600, #64686b);
  font-size: 0.9rem;
}

.cmrf-blog-article-navigation__item strong {
  overflow-wrap: anywhere;
}

.cmrf-blog-article-navigation__item--next {
  text-align: right;
}

.cmrf-blog-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(var(--palette-black-rgb), 0.12);
}

.cmrf-blog-pagination__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.cmrf-blog-pagination__link:hover,
.cmrf-blog-pagination__link:focus-visible {
  color: var(--palette-accent-dark, #1986a1);
}

@media (max-width: 991.98px) {
  .cmrf-blog-toc--desktop {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .cmrf-blog-page .cmrf-blog-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-blog-toc--desktop {
    display: none;
  }

  .cmrf-blog-toc--mobile {
    display: block;
  }

  .cmrf-blog-article-navigation {
    grid-template-columns: minmax(0, 1fr);
  }

  .cmrf-blog-article-navigation__item--next {
    text-align: left;
  }

  .cmrf-blog-pagination {
    flex-wrap: wrap;
  }
}

/* Blog discovery and article cards */
.cmrf-blog-content { padding-block: clamp(3.5rem, 7vw, 6rem); }
.cmrf-blog-topic-nav { display: grid; gap: .8rem; margin: 0 0 clamp(2rem, 4vw, 3.25rem); padding: 1.15rem 1.25rem; border: 1px solid rgba(var(--palette-black-rgb), .09); border-radius: var(--radius-xl, 1.5rem); background: var(--palette-white, #fff); }
.cmrf-blog-topic-nav__label, .cmrf-blog-list-heading__eyebrow { margin: 0; color: var(--palette-gray-600, #64686b); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cmrf-blog-topic-nav__links { display: flex; flex-wrap: wrap; gap: .55rem; }
.cmrf-blog-topic-nav__link, .cmrf-blog-topic-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 2.25rem; padding: .42rem .8rem; border: 1px solid rgba(var(--palette-black-rgb), .12); border-radius: 999px; background: rgba(var(--palette-black-rgb), .025); color: var(--palette-black, #151718); font-size: .79rem; font-weight: 700; line-height: 1.25; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease; }
.cmrf-blog-topic-nav__link:hover, .cmrf-blog-topic-nav__link:focus-visible, .cmrf-blog-topic-nav__link.is-current, .cmrf-blog-topic-badge:hover, .cmrf-blog-topic-badge:focus-visible { border-color: var(--palette-accent, #a5eeff); background: var(--palette-accent, #a5eeff); color: var(--palette-black, #151718); }
.cmrf-blog-topic-badge--plain { cursor: default; }
.cmrf-blog-layout { align-items: start; }
.cmrf-blog-main { min-width: 0; }
.cmrf-blog-featured, .cmrf-blog-card { min-width: 0; overflow: hidden; border: 1px solid rgba(var(--palette-black-rgb), .1); border-radius: var(--radius-xl, 1.5rem); background: var(--palette-white, #fff); }
.cmrf-blog-featured { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.cmrf-blog-featured__media, .cmrf-blog-card__media { display: block; overflow: hidden; background: rgba(var(--palette-black-rgb), .055); }
.cmrf-blog-featured__media { min-height: 21rem; }
.cmrf-blog-featured__media img, .cmrf-blog-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.cmrf-blog-featured:hover img, .cmrf-blog-card:hover img { transform: scale(1.035); }
.cmrf-blog-card__media { aspect-ratio: 16 / 10; }
.cmrf-blog-card__media--empty { display: grid; place-items: center; color: var(--palette-gray-600, #64686b); font-size: 2rem; text-decoration: none; }
.cmrf-blog-featured__body, .cmrf-blog-card__body { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.cmrf-blog-featured__body { justify-content: center; padding: clamp(1.4rem, 3.2vw, 2.7rem); }
.cmrf-blog-card__body { height: 100%; padding: 1.35rem; height: min-content; }
.cmrf-blog-card__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .9rem; }
.cmrf-blog-featured__label { color: var(--palette-gray-600, #64686b); font-size: .76rem; font-weight: 700; }
.cmrf-blog-featured h2, .cmrf-blog-card h2 { margin: 0 0 .7rem; color: var(--palette-black, #151718); line-height: 1.18; }
.cmrf-blog-featured h2 a, .cmrf-blog-card h2 a { color: inherit; text-decoration: none; text-decoration-color: var(--palette-accent, #a5eeff); text-underline-offset: .16em; }
.cmrf-blog-featured h2 a:hover, .cmrf-blog-card h2 a:hover, .cmrf-blog-featured h2 a:focus-visible, .cmrf-blog-card h2 a:focus-visible { text-decoration: underline; text-decoration-thickness: .1em; }
.cmrf-blog-card__excerpt { margin: 0 0 1.1rem; color: var(--palette-gray-700, #4f5558); line-height: 1.6; }
.cmrf-blog-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: auto; color: var(--palette-gray-600, #64686b); font-size: .8rem; }
.cmrf-blog-card__read-link { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1rem; color: var(--palette-black, #151718); font-size: .87rem; font-weight: 700; text-decoration: none; }
.cmrf-blog-card__read-link i { color: var(--palette-accent-dark, #1986a1); }
.cmrf-blog-card__read-link:hover, .cmrf-blog-card__read-link:focus-visible { text-decoration: underline; text-underline-offset: .18em; }
.cmrf-blog-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.cmrf-blog-list-heading h2 { margin: .2rem 0 0; font-size: clamp(1.5rem, 2.8vw, 2rem); }
.cmrf-blog-list-heading > a { flex: 0 0 auto; color: inherit; font-size: .88rem; font-weight: 700; text-decoration: none; }
.cmrf-blog-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.cmrf-blog-card-grid > article { min-width: 0; height: 100%; }
.cmrf-blog-search__field { display: flex; gap: .45rem; }
.cmrf-blog-search__field .form-control { min-width: 0; min-height: 2.9rem; border-color: rgba(var(--palette-black-rgb), .17); border-radius: .8rem; box-shadow: none; }
.cmrf-blog-search__field .form-control:focus { border-color: var(--palette-accent-dark, #1986a1); box-shadow: 0 0 0 .18rem rgba(var(--palette-accent-rgb), .2); }
.cmrf-blog-search__field .btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.9rem; padding-inline: .95rem; border-radius: .8rem; white-space: nowrap; }
.cmrf-blog-search-widget { margin-bottom: 1rem; }
.cmrf-blog-search-widget--mobile { display: none; }
.cmrf-blog-empty-state { padding: clamp(2rem, 5vw, 3.5rem); border: 1px solid rgba(var(--palette-black-rgb), .1); border-radius: var(--radius-xl, 1.5rem); background: rgba(var(--palette-black-rgb), .025); text-align: center; }
.cmrf-blog-empty-state > i { display: inline-grid; width: 3.25rem; aspect-ratio: 1; place-items: center; margin-bottom: 1rem; border-radius: 1rem; background: rgba(var(--palette-accent-rgb), .35); font-size: 1.4rem; }
.cmrf-blog-empty-state p { max-width: 34rem; margin: 0 auto; }

@media (max-width: 991.98px) {
  .cmrf-blog-featured { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .cmrf-blog-featured__media { min-height: 18rem; }
}

@media (max-width: 767.98px) {
  .cmrf-blog-featured { grid-template-columns: minmax(0, 1fr); }
  .cmrf-blog-featured__media { min-height: 0; aspect-ratio: 16 / 9; }
  .cmrf-blog-card-grid { grid-template-columns: minmax(0, 1fr); }
  .cmrf-blog-topic-nav { padding: 1rem; }
  .cmrf-blog-list-heading { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 991.98px) {
  .cmrf-blog-search-widget--mobile { display: block; }
  .cmrf-blog-sidebar .cmrf-blog-search-widget { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cmrf-blog-featured__media img, .cmrf-blog-card__media img { transition: none; }
}

/* CMRF Knowledge Center */
.cmrf-product-page.cmrf-blog-page {
  overflow: visible;
}

.cmrf-product-page .cmrf-blog-hero--knowledge {
  z-index: 2;
  overflow: visible;
}

.cmrf-blog-hero--knowledge {
  position: relative;
  overflow: visible;
  padding: clamp(7rem, 11vw, 9.5rem) 0 3.25rem;
  background:
    radial-gradient(ellipse at 12% 12%, rgba(var(--palette-accent-rgb), .18), transparent 34rem),
    radial-gradient(ellipse at 88% 72%, rgba(93, 190, 154, .11), transparent 29rem),
    var(--palette-paper, #f5f5f4);
  color: var(--palette-charcoal, #17191b);
}
.cmrf-blog-hero--knowledge.cmrf-product-hero {
  background: transparent;
  color: var(--palette-white, #fff);
}
.cmrf-blog-hero--knowledge .cmrf-product-hero__background::after {
  background: linear-gradient(90deg, rgba(var(--palette-black-rgb), .78), rgba(var(--palette-black-rgb), .62) 52%, rgba(var(--palette-black-rgb), .46));
}
.cmrf-blog-hero--knowledge .cmrf-blog-hero__inner { max-width: 68rem; text-align: center; }
.cmrf-blog-hero--knowledge .cmrf-kicker { justify-content: center; margin-bottom: 1rem; color: rgba(var(--palette-white-rgb), .84); }
.cmrf-blog-page .cmrf-blog-hero--knowledge h1 { max-width: 16ch; margin: 0 auto .9rem; color: var(--palette-white, #fff); font-family: var(--n-font-display); font-size: clamp(2.7rem, 6.3vw, 5rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.02; text-transform: none; }
.cmrf-blog-hero--knowledge .cmrf-blog-hero__lead { max-width: 43rem; margin: 0 auto; color: rgba(var(--palette-white-rgb), .9); font-size: clamp(1.02rem, 1.8vw, 1.22rem); line-height: 1.65; }
.cmrf-blog-hero--topic h1 { max-width: 20ch; font-size: clamp(2.35rem, 5vw, 4.15rem); }
.cmrf-blog-search { position: relative; z-index: 4; max-width: 49rem; margin: 2rem auto 0; text-align: left; }
.cmrf-blog-search__field { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem; min-height: 4.35rem; padding: .45rem .5rem .45rem 1.15rem; border: 1px solid rgba(var(--palette-black-rgb), .16); border-radius: 1rem; background: var(--palette-white, #fff); box-shadow: 0 1rem 2.8rem rgba(var(--palette-black-rgb), .09); }
.cmrf-blog-search__field > i { color: var(--palette-gray-600, #6b7074); font-size: 1.15rem; }
.cmrf-blog-search__field .form-control { width: 100%; min-height: 3.35rem; padding: .7rem 0; border: 0; border-radius: .5rem; background: transparent; color: var(--palette-charcoal, #17191b); font-size: 1.03rem; box-shadow: none; }
.cmrf-blog-search__field .form-control:focus { outline: 0; box-shadow: none; }
.cmrf-blog-search__field:focus-within { border-color: var(--palette-gray-700, #565b5f); box-shadow: 0 0 0 .22rem rgba(var(--palette-accent-rgb), .3), 0 1rem 2.8rem rgba(var(--palette-black-rgb), .09); }
.cmrf-blog-search__field .btn { min-height: 3.35rem; padding-inline: 1.2rem; border-radius: .72rem; font-weight: 700; }
.cmrf-blog-search__field .btn:focus-visible, .cmrf-blog-search__field .form-control:focus-visible { outline: 3px solid var(--palette-gray-700, #565b5f); outline-offset: 3px; }
.cmrf-blog-search__suggestions { position: absolute; top: calc(100% + .5rem); right: 0; left: 0; display: grid; gap: .2rem; max-height: min(70vh, 28rem); margin: 0; padding: .45rem; overflow-y: auto; border: 1px solid rgba(var(--palette-black-rgb), .12); border-radius: 1rem; background: var(--palette-white, #fff); box-shadow: 0 1.25rem 3rem rgba(var(--palette-black-rgb), .15); list-style: none; }
.cmrf-blog-search__suggestions[hidden] { display: none; }
.cmrf-blog-search__suggestions [role="option"] { min-width: 0; border-radius: .72rem; }
.cmrf-blog-search__suggestions [role="option"][aria-selected="true"] { background: var(--palette-gray-100, #f1f2f3); }
.cmrf-blog-search-result { display: grid; gap: .18rem; padding: .8rem .9rem; border-radius: .72rem; color: var(--palette-charcoal, #17191b); text-decoration: none; }
.cmrf-blog-search-result:hover, .cmrf-blog-search-result:focus-visible { background: var(--palette-gray-100, #f1f2f3); color: var(--palette-charcoal, #17191b); outline: 0; }
.cmrf-blog-search-result strong { font-size: .98rem; line-height: 1.35; }
.cmrf-blog-search-result__meta { color: var(--palette-gray-700, #565b5f); font-size: .77rem; font-weight: 700; }
.cmrf-blog-search-result__excerpt { color: var(--palette-gray-700, #565b5f); font-size: .88rem; line-height: 1.45; }
.cmrf-blog-search__status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.cmrf-blog-popular { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem; max-width: 55rem; margin: 1.25rem auto 0; }
.cmrf-blog-popular > span { margin-right: .15rem; color: rgba(var(--palette-white-rgb), .86); font-size: .8rem; font-weight: 700; }
.cmrf-blog-popular a { display: inline-flex; min-height: 2.35rem; align-items: center; padding: .45rem .78rem; border: 1px solid rgba(var(--palette-black-rgb), .14); border-radius: 999px; background: rgba(255,255,255,.66); color: var(--palette-charcoal, #17191b); font-size: .82rem; font-weight: 700; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease; }
.cmrf-blog-popular a:hover, .cmrf-blog-popular a:focus-visible { border-color: var(--palette-charcoal, #17191b); background: var(--palette-white, #fff); outline: 3px solid rgba(var(--palette-accent-rgb), .4); outline-offset: 2px; }
.cmrf-blog-breadcrumb { justify-content: center; margin-top: 1.75rem !important; color: rgba(var(--palette-white-rgb), .78); }
.cmrf-blog-page .cmrf-blog-hero--knowledge .cmrf-blog-breadcrumb,
.cmrf-blog-page .cmrf-blog-hero--knowledge .cmrf-blog-breadcrumb a { color: rgba(var(--palette-white-rgb), .86); }
.cmrf-blog-page .cmrf-blog-hero--knowledge .cmrf-blog-breadcrumb .active { color: var(--palette-accent); }
.cmrf-blog-content { padding-block: clamp(3rem, 6vw, 5.5rem); background: var(--palette-white, #fff); }
.cmrf-blog-section + .cmrf-blog-section { margin-top: clamp(3.5rem, 7vw, 6rem); }
.cmrf-blog-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.4rem; }
.cmrf-blog-section__heading h2 { margin: .28rem 0 0; color: var(--palette-charcoal, #17191b); font-family: var(--n-font-display); font-size: clamp(1.7rem, 3.2vw, 2.55rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.1; }
.cmrf-blog-section__heading > p { max-width: 31rem; margin: 0; color: var(--palette-gray-700, #565b5f); line-height: 1.55; }
.cmrf-blog-eyebrow { margin: 0; color: var(--palette-gray-700, #565b5f); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cmrf-blog-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.cmrf-blog-topic-card { position: relative; display: grid; min-height: 9rem; grid-template-columns: auto minmax(0,1fr) auto; align-items: start; gap: 1rem; padding: 1.25rem; border: 1px solid rgba(var(--palette-black-rgb), .11); border-radius: 1rem; background: var(--palette-white, #fff); color: var(--palette-charcoal, #17191b); text-decoration: none; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.cmrf-blog-topic-card:hover, .cmrf-blog-topic-card:focus-visible { transform: translateY(-2px); border-color: rgba(var(--palette-black-rgb), .32); box-shadow: 0 .75rem 1.8rem rgba(var(--palette-black-rgb), .08); color: var(--palette-charcoal, #17191b); outline: 3px solid rgba(var(--palette-accent-rgb), .42); outline-offset: 2px; }
.cmrf-blog-topic-card__icon { display: grid; width: 2.9rem; aspect-ratio: 1; place-items: center; border-radius: .85rem; background: rgba(var(--palette-accent-rgb), .3); color: var(--palette-charcoal, #17191b); font-size: 1.2rem; }
.cmrf-blog-topic-card__copy { display: grid; gap: .45rem; padding-top: .12rem; }
.cmrf-blog-topic-card__copy strong { font-size: 1rem; line-height: 1.3; }
.cmrf-blog-topic-card__copy > span { color: var(--palette-gray-700, #565b5f); font-size: .89rem; line-height: 1.5; }
.cmrf-blog-topic-card__arrow { align-self: center; color: var(--palette-gray-600, #6b7074); }
.cmrf-blog-topic-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: 0 0 clamp(2.4rem, 4vw, 3.6rem); }
.cmrf-blog-topic-nav > span { margin-right: .2rem; color: var(--palette-gray-700, #565b5f); font-size: .8rem; font-weight: 800; }
.cmrf-blog-topic-nav__link { min-height: 2.45rem; }
.cmrf-blog-topic-nav__link.is-current { background: var(--palette-charcoal, #17191b); color: var(--palette-white, #fff); }
.cmrf-blog-topic-intro { max-width: 62rem; margin: 0 auto clamp(2.8rem, 5vw, 4.5rem); padding: clamp(1.4rem, 3vw, 2.25rem); border-left: 3px solid var(--palette-accent, #76da6e); border-radius: 0 1rem 1rem 0; background: var(--palette-paper, #f5f5f4); color: var(--palette-gray-800, #414548); font-size: 1.03rem; line-height: 1.7; }
.cmrf-blog-topic-intro > :last-child { margin-bottom: 0; }
.cmrf-blog-featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cmrf-blog-featured-grid .cmrf-blog-featured { display: flex; min-height: 100%; flex-direction: column; margin: 0; }
.cmrf-blog-featured-grid .cmrf-blog-featured__media { min-height: 0; aspect-ratio: 16 / 10; }
.cmrf-blog-featured-grid .cmrf-blog-featured__body { flex: 1; justify-content: flex-start; padding: 1.25rem; }
.cmrf-blog-featured-grid .cmrf-blog-featured h3 { margin: 0 0 .65rem; font-size: 1.2rem; line-height: 1.25; }
.cmrf-blog-featured-grid .cmrf-blog-featured__label { padding: .24rem .48rem; border-radius: 999px; background: var(--palette-gray-100, #f1f2f3); font-size: .68rem; }
.cmrf-blog-type-badge { display: inline-flex; align-items: center; min-height: 1.8rem; padding: .25rem .55rem; border-radius: 999px; background: var(--palette-gray-100, #f1f2f3); color: var(--palette-gray-800, #414548); font-size: .68rem; font-weight: 800; line-height: 1.2; }
.cmrf-blog-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cmrf-blog-card { display: flex; flex-direction: column; }
.cmrf-blog-card__media { aspect-ratio: 16 / 9; }
.cmrf-blog-card__body { flex: 1; }
.cmrf-blog-card h3 { font-size: 1.12rem; }
.cmrf-blog-card__meta { margin-top: auto; }
.cmrf-blog-result-count { margin: .45rem 0 0; color: var(--palette-gray-700, #565b5f); }
.cmrf-blog-clear-link { color: var(--palette-gray-800, #414548); font-size: .86rem; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.cmrf-blog-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin: 0 0 1.15rem; }
.cmrf-blog-filters label { color: var(--palette-gray-700, #565b5f); font-size: .83rem; font-weight: 700; }
.cmrf-blog-filters .form-select { width: auto; min-width: 12.5rem; min-height: 2.7rem; border-color: rgba(var(--palette-black-rgb), .2); border-radius: .65rem; }
.cmrf-blog-filters .btn { min-height: 2.7rem; border-radius: .65rem; font-size: .84rem; font-weight: 700; }
.cmrf-blog-empty-state { padding: clamp(2rem, 5vw, 3.5rem); border: 1px solid rgba(var(--palette-black-rgb), .11); border-radius: 1.2rem; background: var(--palette-paper, #f5f5f4); text-align: center; }
.cmrf-blog-empty-state__icon { display: grid; width: 3.4rem; aspect-ratio: 1; place-items: center; margin: 0 auto 1rem; border-radius: 1rem; background: rgba(var(--palette-accent-rgb), .35); font-size: 1.35rem; }
.cmrf-blog-empty-state h3 { margin-bottom: .55rem; color: var(--palette-charcoal, #17191b); font-family: var(--n-font-display); font-size: 1.5rem; }
.cmrf-blog-empty-state p { max-width: 36rem; margin: 0 auto 1.1rem; color: var(--palette-gray-700, #565b5f); line-height: 1.6; }
.cmrf-blog-empty-state .btn { min-height: 2.85rem; border-radius: .7rem; }
.cmrf-blog-contact { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.3rem; margin-top: clamp(3.5rem, 7vw, 6rem); padding: clamp(1.4rem, 3.5vw, 2.3rem); border-radius: 1.2rem; background: var(--palette-charcoal, #17191b); color: var(--palette-white, #fff); }
.cmrf-blog-contact__icon { display: grid; width: 3.2rem; aspect-ratio: 1; place-items: center; border-radius: 1rem; background: rgba(255,255,255,.12); color: var(--palette-white, #fff); font-size: 1.3rem; }
.cmrf-blog-contact .cmrf-blog-eyebrow { color: rgba(255,255,255,.72); }
.cmrf-blog-contact h2 { margin: .3rem 0; color: var(--palette-white, #fff); font-family: var(--n-font-display); font-size: clamp(1.35rem, 2.6vw, 2rem); line-height: 1.15; }
.cmrf-blog-contact p:not(.cmrf-blog-eyebrow) { margin: 0; color: rgba(255,255,255,.76); font-size: .91rem; }
.cmrf-blog-contact .btn { min-height: 2.9rem; border-radius: .7rem; white-space: nowrap; }
.cmrf-blog-direct-answer { margin: 1.25rem 0 1.4rem; padding: 1.15rem 1.3rem; border-left: 3px solid var(--palette-accent, #76da6e); border-radius: 0 .8rem .8rem 0; background: var(--palette-paper, #f5f5f4); }
.cmrf-blog-direct-answer__label { display: block; margin-bottom: .35rem; color: var(--palette-gray-700, #565b5f); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cmrf-blog-direct-answer p { margin: 0; color: var(--palette-charcoal, #17191b); font-size: 1.03rem; font-weight: 600; line-height: 1.6; }
.cmrf-blog-review-meta { margin: -.7rem 0 1.2rem; color: var(--palette-gray-700, #565b5f); font-size: .83rem; }
.cmrf-blog-sources { margin-top: 2rem; padding: 1.2rem 1.35rem; border: 1px solid rgba(var(--palette-black-rgb), .12); border-radius: 1rem; background: var(--palette-paper, #f5f5f4); }
.cmrf-blog-sources h2 { margin: 0 0 .75rem; color: var(--palette-charcoal, #17191b); font-family: var(--n-font-display); font-size: 1.25rem; }
.cmrf-blog-sources ul { display: grid; gap: .7rem; margin: 0; padding-left: 1.1rem; }
.cmrf-blog-sources li { padding-left: .15rem; color: var(--palette-gray-700, #565b5f); }
.cmrf-blog-sources a { color: var(--palette-charcoal, #17191b); font-weight: 700; text-underline-offset: .16em; }
.cmrf-blog-sources li > span, .cmrf-blog-sources small { display: block; margin-top: .12rem; font-size: .8rem; }

@media (max-width: 991.98px) {
  .cmrf-blog-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cmrf-blog-featured-grid, .cmrf-blog-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cmrf-blog-contact { grid-template-columns: auto minmax(0, 1fr); }
  .cmrf-blog-contact .btn { grid-column: 2; justify-self: start; }
}

@media (max-width: 767.98px) {
  .cmrf-blog-hero--knowledge { padding: 6.7rem 0 2.4rem; }
  .cmrf-blog-hero--knowledge h1 { max-width: 13ch; }
  .cmrf-blog-search { margin-top: 1.5rem; }
  .cmrf-blog-search__field { grid-template-columns: auto minmax(0, 1fr); gap: .55rem; padding: .55rem .65rem .65rem .9rem; }
  .cmrf-blog-search__field .btn { grid-column: 1 / -1; width: 100%; }
  .cmrf-blog-search__field .form-control { font-size: .96rem; }
  .cmrf-blog-popular { justify-content: flex-start; }
  .cmrf-blog-popular > span { flex: 0 0 100%; text-align: left; }
  .cmrf-blog-section__heading { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .cmrf-blog-topic-grid, .cmrf-blog-featured-grid, .cmrf-blog-card-grid { grid-template-columns: minmax(0, 1fr); }
  .cmrf-blog-topic-card { min-height: 7.4rem; }
  .cmrf-blog-topic-nav { align-items: flex-start; }
  .cmrf-blog-topic-nav > span { flex: 0 0 100%; }
  .cmrf-blog-filters { align-items: stretch; }
  .cmrf-blog-filters label { flex: 0 0 100%; }
  .cmrf-blog-filters .form-select, .cmrf-blog-filters .btn { width: 100%; }
  .cmrf-blog-contact { grid-template-columns: minmax(0, 1fr); }
  .cmrf-blog-contact .btn { grid-column: auto; width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .cmrf-blog-topic-card, .cmrf-blog-popular a { transition: none; }
}

.cmrf-blog-search-widget .cmrf-blog-search__field {
  display: flex;
  min-height: auto;
  gap: .5rem;
  padding: .5rem .8rem .5rem 1rem;
}

.cmrf-blog-search-widget .cmrf-blog-search__field .form-control {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.cmrf-blog-search-widget .cmrf-blog-search__field .btn {
  flex: 0 0 auto;
  margin-right: .1rem;
  padding-inline: 1rem;
}

@media (max-width: 767.98px) {
  .cmrf-blog-search-widget .cmrf-blog-search__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .55rem;
    padding: .65rem;
  }

  .cmrf-blog-search-widget .cmrf-blog-search__field .form-control {
    width: 100%;
  }

  .cmrf-blog-search-widget .cmrf-blog-search__field .btn {
    grid-column: auto;
    width: 100%;
    margin-right: 0;
  }

  .blog-article-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}
