@font-face {
  font-family: "Helvetica Regular";
  src: url("https://db.onlinewebfonts.com/t/a64ff11d2c24584c767f6257e880dc65.eot");
  src: url("https://db.onlinewebfonts.com/t/a64ff11d2c24584c767f6257e880dc65.eot?#iefix") format("embedded-opentype"),
       url("https://db.onlinewebfonts.com/t/a64ff11d2c24584c767f6257e880dc65.woff2") format("woff2"),
       url("https://db.onlinewebfonts.com/t/a64ff11d2c24584c767f6257e880dc65.woff") format("woff"),
       url("https://db.onlinewebfonts.com/t/a64ff11d2c24584c767f6257e880dc65.ttf") format("truetype"),
       url("https://db.onlinewebfonts.com/t/a64ff11d2c24584c767f6257e880dc65.svg#Helvetica Regular") format("svg");
  font-display: swap;
}

:root {
  --font-helvetica: "Helvetica Regular", ui-sans-serif, system-ui, sans-serif;
  font-family: var(--font-helvetica);
}

html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background-color: #f0f0f0;
  font-family: var(--font-helvetica);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  box-sizing: border-box;
}

/* Motion helpers */
@keyframes rivrFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes rivrFadeScale {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes rivrFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.rivr-anim {
  opacity: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.9s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.rivr-anim-up { animation-name: rivrFadeUp; }
.rivr-anim-scale { animation-name: rivrFadeScale; }
.rivr-anim-in { animation-name: rivrFadeIn; }

.rivr-inview-up {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.rivr-inview-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hide scrollbar on group hover effect helpers */
.tile-watermark {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.group:hover .tile-watermark {
  transform: scale(1.1);
}
.group:hover .tile-watermark-tr {
  transform: scale(1.1) translate(8%, -8%);
}

.cross-arrow {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.group:hover .cross-arrow {
  transform: scale(1.15) translate(2px, -2px);
}

.book-demo-pill {
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.book-demo-pill:hover {
  transform: translateY(-1px);
}
.book-demo-pill .arrow-wrap {
  transition: transform 0.3s ease;
}
.book-demo-pill:hover .arrow-wrap {
  transform: rotate(45deg);
}

/* Lucide icon defaults */
.lucide {
  width: 1em;
  height: 1em;
  stroke-width: 1.6;
}
