:root {
  --white-200: #e2d9c8;
  --_typography---main-font: Newsreader, sans-serif;
  --black-100: #242a23;
  --_typography---font-size--paragraphs--body-base: 1rem;
  --_typography---line-height--line-height-reg: 160%;
  --_typography---font-weight--regular: 400;
  --_typography---font-size--headers--h1: 4.5rem;
  --_typography---line-height--line-height-sm: 120%;
  --_typography---font-weight--semibold: 600;
  --_typography---font-size--headers--h2: 3.5rem;
  --_typography---font-size--headers--h3: 2.75rem;
  --_typography---font-size--headers--h4: 2.25rem;
  --_typography---font-size--headers--h5: 1.75rem;
  --_typography---font-weight--bold: 700;
  --_typography---font-size--headers--h6: 1.5rem;
  --primary: #d9643a;
  --_typography---font-size--paragraphs--body-lg: 1.25rem;
  --_typography---line-height--line-height-md: 140%;
  --_spacing---spacer-xl: 4rem;
  --_typography---font-weight--medium: 500;
  --_spacing---spacer-md: 1rem;
  --_typography---font-size--headers--header-xs: .875rem;
  --_spacing---spacer-lg: 2rem;
  --_spacing---spacer-3xl: 8rem;
  --_spacing---spacer-5xl: 12rem;
  --_borders---border-16px: 16px;
  --_typography---font-size--paragraphs--body-2xl: 2rem;
  --_typography---font-size--headers--header-xl: 4rem;
  --_spacing---spacer-xs: .25rem;
  --_borders---border-8px: 8px;
  --_borders---border-32px: 32px;
  --white-100: white;
  --_spacing---spacer-sm: .5rem;
  --white-0-1: #ffffff1a;
  --white-0-6: #ffffffb3;
  --black-0-1: #0000001a;
  --_typography---font-size--headers--header-lg: 2.5rem;
  --_typography---font-size--headers--header-md: 1.75rem;
  --_typography---font-size--headers--header-sm: 1.25rem;
  --black-0-6: #0009;
  --_typography---font-size--paragraphs--body-xl: 1.75rem;
  --_typography---font-size--paragraphs--body-sm: .875rem;
  --_typography---font-size--paragraphs--body-xs: .75rem;
  --_spacing---spacer-2xl: 6rem;
  --white-0-8: #fffc;
  --_spacing---spacer-4xl: 10rem;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  background-color: var(--white-200);
  font-family: var(--_typography---main-font);
  color: var(--black-100);
  font-size: var(--_typography---font-size--paragraphs--body-base);
  line-height: var(--_typography---line-height--line-height-reg);
  font-weight: var(--_typography---font-weight--regular);
  --_typography---main-font: Newsreader, sans-serif;
  --_typography---font-size--paragraphs--body-base: 1rem;
  --_typography---line-height--line-height-reg: 160%;
  --_typography---font-weight--regular: 400;
  --_typography---font-size--headers--h1: 4.5rem;
  --_typography---line-height--line-height-sm: 110%;
  --_typography---font-weight--semibold: 600;
  --_typography---font-size--headers--h2: 3.5rem;
  --_typography---font-size--headers--h3: 2.75rem;
  --_typography---font-size--headers--h4: 2.25rem;
  --_typography---font-size--headers--h5: 1.75rem;
  --_typography---font-weight--bold: 700;
  --_typography---font-size--headers--h6: 1.5rem;
  --_typography---font-size--paragraphs--body-lg: 1.25rem;
  --_typography---line-height--line-height-md: 140%;
  --_typography---font-weight--medium: 500;
  --_typography---font-size--headers--header-xs: .875rem;
  --_typography---font-size--paragraphs--body-2xl: 2rem;
  --_typography---font-size--headers--header-xl: 4rem;
  --_typography---font-size--headers--header-lg: 2.5rem;
  --_typography---font-size--headers--header-md: 1.75rem;
  --_typography---font-size--headers--header-sm: 1.25rem;
  --_typography---font-size--paragraphs--body-xl: 1.75rem;
  --_typography---font-size--paragraphs--body-sm: .875rem;
  --_typography---font-size--paragraphs--body-xs: .75rem;
  --_spacing---spacer-xl: 4rem;
  --_spacing---spacer-md: 1rem;
  --_spacing---spacer-lg: 2rem;
  --_spacing---spacer-3xl: 8rem;
  --_spacing---spacer-5xl: 30rem;
  --_spacing---spacer-xs: .25rem;
  --_spacing---spacer-sm: .5rem;
  --_spacing---spacer-2xl: 6rem;
  --_spacing---spacer-4xl: 10rem;
  background-image: none;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto;
  background-attachment: scroll;
}

h1 {
  font-size: var(--_typography---font-size--headers--h1);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--semibold);
  letter-spacing: -3px;
  margin-top: 1.25rem;
  margin-bottom: .75rem;
}

h2 {
  font-size: var(--_typography---font-size--headers--h2);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--semibold);
  letter-spacing: -2px;
  margin-top: 1rem;
  margin-bottom: .75rem;
}

h3 {
  font-size: var(--_typography---font-size--headers--h3);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--semibold);
  letter-spacing: -1.6px;
  margin-top: 1rem;
  margin-bottom: .75rem;
}

h4 {
  font-size: var(--_typography---font-size--headers--h4);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--semibold);
  letter-spacing: -1.2px;
  margin-top: .75rem;
  margin-bottom: .75rem;
}

h5 {
  font-size: var(--_typography---font-size--headers--h5);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--bold);
  margin-top: .75rem;
  margin-bottom: .75rem;
}

h6 {
  font-size: var(--_typography---font-size--headers--h6);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--bold);
  margin-top: .75rem;
  margin-bottom: .75rem;
}

p {
  margin-bottom: 10px;
}

a {
  color: var(--black-100);
  text-decoration: none;
}

img {
  object-fit: cover;
  max-width: 100%;
  display: inline-block;
}

blockquote {
  border-left: 5px solid var(--primary);
  font-size: var(--_typography---font-size--paragraphs--body-lg);
  line-height: var(--_typography---line-height--line-height-md);
  margin-bottom: 10px;
  padding: 10px 20px;
}

.default-container {
  width: 100%;
  max-width: 86rem;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
}

.default-container.hero {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.default-container.gallery {
  max-width: 100%;
}

.body-lg {
  font-size: var(--_typography---font-size--paragraphs--body-lg);
  line-height: var(--_typography---line-height--line-height-md);
  letter-spacing: -.6px;
}

.space-sm {
  width: 100%;
  height: .5rem;
}

.space-xl {
  height: var(--_spacing---spacer-xl);
  width: 100%;
}

.body-base {
  margin-bottom: 0;
}

.section {
  padding-top: 10rem;
  padding-bottom: 10rem;
  position: relative;
  overflow: hidden;
}

.section.footer {
  padding-top: 6rem;
  padding-bottom: 1rem;
}

.section.hero {
  padding-top: 0;
  padding-bottom: 0;
  overflow: visible;
}

.section.has-overflow {
  overflow: visible;
}

.header-md {
  font-size: var(--_typography---font-size--headers--h5);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--medium);
  letter-spacing: -1px;
}

.space-md {
  height: var(--_spacing---spacer-md);
  width: 100%;
}

.header-xs {
  font-size: var(--_typography---font-size--headers--header-xs);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--semibold);
  text-transform: uppercase;
}

.headline-container-centred {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.space-lg {
  height: var(--_spacing---spacer-lg);
  width: 100%;
}

.space-3xl {
  height: var(--_spacing---spacer-3xl);
  width: 100%;
}

.space-5xl {
  height: var(--_spacing---spacer-5xl);
  width: 100%;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 80rem;
  display: flex;
}

.lottie-animation-02 {
  height: 220px;
}

.image-cover {
  width: 100%;
  height: 100%;
}

.image-cover.footer {
  width: 102%;
}

.vertical-flex {
  flex-flow: column;
  display: flex;
}

.vertical-flex.center-align {
  text-align: center;
}

.vertical-flex.fill-width {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  width: 100%;
}

.horizontal-flex {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.horizontal-flex.footer {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
}

.feature-card {
  z-index: 999;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-radius: var(--_borders---border-16px);
  background-color: var(--white-200);
  flex-flow: column;
  padding: 2rem;
  display: flex;
}

.accordion {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  border-bottom: 1px solid var(--black-100);
  cursor: pointer;
  transform-style: preserve-3d;
  justify-content: space-between;
  width: 100%;
  padding: 1.5rem 2rem;
  transition: transform .3s;
  display: flex;
}

.accordion:hover {
  transform: scale3d(.96, .96, 1.01);
}

.primary-button {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  border: 2px solid var(--black-100);
  background-color: var(--white-200);
  box-shadow: 4px 4px 0 0 var(--black-100);
  font-weight: var(--_typography---font-weight--medium);
  flex-flow: column;
  transition: all .4s;
}

.primary-button:hover {
  box-shadow: none;
  transform: translate(4px, 4px);
}

.btn-text-wrapper {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  height: 48px;
  padding-left: 24px;
  padding-right: 18px;
  display: flex;
}

.button-icon-wrapper {
  justify-content: center;
  align-items: center;
  display: flex;
}

.card-reveal-wrapper {
  color: #fff;
  width: 100%;
  height: 100%;
  text-decoration: none;
  overflow: hidden;
}

.showcase-img-wrapper {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.showcase-img {
  width: 100%;
  height: 100%;
}

.card-reveal-mask {
  z-index: 3;
  background-color: var(--white-200);
  display: flex;
  position: absolute;
  inset: auto 0% 0%;
}

.loader-container {
  z-index: 999;
  display: none;
  position: fixed;
  inset: 0%;
}

.loader-bg-1 {
  z-index: 2;
  background-color: var(--black-100);
  width: 100%;
  height: 100%;
  margin-top: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.loader-bg-2 {
  z-index: 1;
  background-color: var(--primary);
  width: 100%;
  height: 100%;
  margin-top: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.home-subheader {
  border-bottom: 2px solid var(--black-100);
}

.grid-12-column {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.padding-sm {
  padding: .5rem;
}

.home-pg-img-wrapper {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  overflow: hidden;
}

.hero-grid-3-row {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  align-items: stretch;
  height: 100%;
  display: grid;
  overflow: hidden;
}

.home-subheader-02 {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border: 2px solid var(--black-100);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: 3rem;
  padding-right: 3rem;
  display: flex;
}

.infinite-scroll-wrapper {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  white-space: nowrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.circle-div {
  background-color: var(--primary);
  border-radius: 100%;
  width: 8px;
  height: 8px;
}

.body-2xl {
  font-size: var(--_typography---font-size--paragraphs--body-2xl);
  line-height: var(--_typography---line-height--line-height-md);
  font-weight: var(--_typography---font-weight--medium);
}

.body-2xl.hero-subheader {
  text-indent: 64px;
  margin-bottom: 0;
}

.hero-section-container {
  height: 100svh;
  padding: 4.5rem 1rem 1rem;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.about-text-wrapper {
  color: var(--white-200);
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 40rem;
  height: 100svh;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.rounded-container {
  z-index: 20;
  height: 100px;
  margin-bottom: -2px;
  position: relative;
  overflow: hidden;
  transform: translate(0, -1px);
}

.rounded-shape {
  border-radius: 50%;
  width: 150%;
  height: 750%;
  position: absolute;
  left: 50%;
  overflow: hidden;
  transform: translate(-50%);
}

.rounded-shape-bg {
  background-color: var(--black-100);
  position: absolute;
  inset: 0%;
}

.sticky-scroll-wrapper {
  background-color: var(--black-100);
  flex-flow: column;
  height: 100svh;
  display: flex;
  position: sticky;
  top: 0;
  overflow: clip;
}

.about-img-wrapper {
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.image-fit {
  opacity: 1;
  filter: brightness(46%) sepia();
  vertical-align: bottom;
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.about-scroll-size {
  height: 500svh;
  overflow: clip;
}

.about-showcase-img-grid {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  margin-bottom: 50svh;
  padding-left: 1rem;
  padding-right: 1rem;
  display: grid;
  position: relative;
}

.about-img-01 {
  height: 12rem;
}

.about-img-overlay {
  background-image: linear-gradient(#242a2300, #242a23);
  height: 10rem;
  position: absolute;
  inset: auto 0% 0%;
}

.about-img-overlay.footer {
  z-index: 9999;
}

.about-text {
  font-size: var(--_typography---font-size--headers--header-xl);
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--medium);
}

.about-text.position-absolute {
  position: absolute;
}

.h1-header {
  font-size: var(--_typography---font-size--headers--h1);
}

.services-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}

.services-wrapper._02 {
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: space-around;
  place-items: center;
}

.service-card-wrapper {
  border: 2px solid var(--black-100);
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 15rem;
  height: 15rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.service-card-img-wrapper {
  z-index: -9;
  border-radius: 100%;
  width: 14rem;
  height: 14rem;
  position: absolute;
  overflow: hidden;
}

.service-card-text {
  color: var(--white-200);
  text-align: center;
}

.image-overlay {
  background-color: #00000080;
  position: absolute;
  inset: 0%;
}

.gallery-header {
  white-space: nowrap;
  justify-content: center;
  font-size: 12.5em;
  font-weight: 500;
  line-height: 100%;
  display: flex;
  position: relative;
}

.gallery-div-wrapper {
  z-index: 99;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 0;
  max-width: 100vw;
  display: flex;
  position: relative;
}

.gallery-header-start {
  justify-content: flex-end;
  display: flex;
  overflow: hidden;
}

.gallery-header-end {
  justify-content: flex-start;
  display: flex;
  overflow: hidden;
}

.gallery-section-wrapper {
  justify-content: center;
  align-items: center;
  height: 100svh;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.gallery-scroll-size {
  height: 450svh;
  position: relative;
}

.gallery-grow-div {
  background-color: var(--black-100);
  width: 0%;
  height: 0%;
}

.background-video {
  width: 100%;
  height: 100%;
}

.gallery-feature-image {
  border: 3px solid var(--black-100);
  height: 30rem;
  padding: 8px;
  overflow: hidden;
}

.gallery-grid-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.gallery-images-container {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.cta-text {
  font-size: 7rem;
  line-height: 100%;
  font-weight: var(--_typography---font-weight--semibold);
  letter-spacing: -4px;
}

.cta-text-wrapper {
  z-index: 99;
  text-align: center;
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2rem;
  display: flex;
}

.gallery-subheader-text {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 20rem;
  display: flex;
  position: absolute;
  inset: auto auto 3%;
}

.footer-wrapper {
  background-color: var(--black-100);
  color: var(--white-200);
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  height: 90svh;
  padding-top: 3rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
  position: relative;
}

.footer-image-wrapper {
  z-index: 99;
  justify-content: center;
  align-items: stretch;
  height: 80svh;
  display: flex;
  position: absolute;
  inset: auto 0% 0%;
  overflow: hidden;
}

.footer-image {
  filter: none;
  object-fit: contain;
  width: 100%;
  height: 105%;
}

.footer-copyright {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.line-div {
  background-color: var(--black-100);
  width: 80%;
  height: 2px;
}

.ikonik-x8sssj {
  color: #242a23;
}

.header-2xs {
  font-size: .75rem;
  line-height: var(--_typography---line-height--line-height-sm);
  font-weight: var(--_typography---font-weight--semibold);
}

.header-2xs.footer {
  white-space: nowrap;
  line-height: 100%;
}

.footer-pattern-img {
  opacity: .3;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.brand-logo-wrapper {
  z-index: 2;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: absolute;
  bottom: auto;
  left: 0%;
  right: 0%;
  overflow: hidden;
}

.brand-logo-wrapper.w--current {
  transition: transform .2s ease-in-out;
}

.brand-logo-wrapper.w--current:hover {
  transform: scale(.96);
}

.navbar {
  background-color: #0000;
  width: 100%;
  height: 4rem;
  padding: .5rem 1rem;
  position: absolute;
  top: 0;
}

.nav-menu-wrapper-2 {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.nav-link-2 {
  color: #000;
  text-align: center;
  border-radius: 8px;
  margin-left: .5rem;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease-in-out, color .15s;
}

.nav-link-2:hover {
  color: var(--primary);
  transform: scale(.96);
}

.nav-link-2.w--current {
  color: #5532fa;
}

.hamburger-menu {
  background-color: #0000;
  width: 60px;
  height: 60px;
  padding: 0;
  overflow: hidden;
}

.hamburger-menu.w--open {
  background-color: #0000;
}

.navbar-container {
  border-top: 2px solid var(--black-100);
  border-bottom: 2px solid var(--black-100);
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.about-image-pattern {
  z-index: -9;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.about-image-cover {
  width: 105%;
  height: 105%;
}

.subheader-wrapper {
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 30rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.footer-scroll-size {
  flex-flow: column;
  align-items: stretch;
  height: 200svh;
  display: flex;
}

.cta-image-wrapper {
  width: 20rem;
  height: 25rem;
  margin-left: auto;
  margin-right: auto;
  position: sticky;
  top: 3rem;
}

.contact-card {
  border: 2px solid var(--black-100);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-end;
  height: 25rem;
  padding: 2rem 2rem 1.5rem 1.5rem;
  transition: all .4s;
  display: flex;
}

.contact-card:hover {
  box-shadow: 4px 4px 0 0 var(--primary);
  transform: translate(-4px, -4px);
}

.contact-icon {
  width: 3rem;
  height: 3rem;
}

.lottie-call {
  transform-style: preserve-3d;
  transform: rotateX(0)rotateY(180deg)rotateZ(0);
}

.italic-text-span {
  color: var(--primary);
  font-style: italic;
  font-weight: var(--_typography---font-weight--medium);
}

.grid-3-column {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  min-height: 100%;
  max-height: 100%;
  display: grid;
}

.cta-grid-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.hero-infinite-scroll {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  white-space: nowrap;
  word-break: normal;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  width: 10rem;
  display: flex;
  overflow: hidden;
}

.home-pg-img {
  width: 100%;
}

.text-with-lottie-wrapper {
  align-items: flex-start;
  display: flex;
  position: relative;
}

.lottie-wrapper {
  height: 64px;
  margin-top: -12px;
  margin-left: -8px;
  position: absolute;
  inset: 0% auto auto 0%;
  overflow: visible;
}

.hello-world, .contact-email {
  width: 100%;
  height: 100%;
}

.heart-lottie {
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  overflow: hidden;
}

.footer-credits {
  grid-column-gap: 2px;
  grid-row-gap: 2px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.heart-love {
  width: 100%;
  height: 100%;
}

.cat-out {
  width: 200px;
  height: 214px;
}

.cat-wrapper {
  z-index: -2;
  position: absolute;
  inset: auto 12% 0% auto;
}

.orange-cat-peeping {
  width: 100%;
  height: 100%;
}

.peek-cat-wrapper {
  justify-content: center;
  align-items: center;
  width: 5rem;
  height: 5rem;
  display: flex;
  overflow: hidden;
}

.lottie-animation-4 {
  width: 8rem;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.logo-img {
  object-fit: contain;
  height: 65%;
}

.link {
  font-weight: var(--_typography---font-weight--bold);
  text-decoration: underline;
}

@media screen and (max-width: 991px) {
  body {
    --_typography---main-font: Newsreader, sans-serif;
    --_typography---font-size--paragraphs--body-base: 1rem;
    --_typography---line-height--line-height-reg: 160%;
    --_typography---font-weight--regular: 400;
    --_typography---font-size--headers--h1: 4.5rem;
    --_typography---line-height--line-height-sm: 120%;
    --_typography---font-weight--semibold: 600;
    --_typography---font-size--headers--h2: 3.5rem;
    --_typography---font-size--headers--h3: 2.75rem;
    --_typography---font-size--headers--h4: 2.25rem;
    --_typography---font-size--headers--h5: 1.75rem;
    --_typography---font-weight--bold: 700;
    --_typography---font-size--headers--h6: 1.5rem;
    --_typography---font-size--paragraphs--body-lg: 1.25rem;
    --_typography---line-height--line-height-md: 140%;
    --_typography---font-weight--medium: 500;
    --_typography---font-size--headers--header-xs: .875rem;
    --_typography---font-size--paragraphs--body-2xl: 1.5rem;
    --_typography---font-size--headers--header-xl: 4rem;
    --_typography---font-size--headers--header-lg: 2.5rem;
    --_typography---font-size--headers--header-md: 1.75rem;
    --_typography---font-size--headers--header-sm: 1.25rem;
    --_typography---font-size--paragraphs--body-xl: 1.75rem;
    --_typography---font-size--paragraphs--body-sm: .875rem;
    --_typography---font-size--paragraphs--body-xs: .75rem;
    --_spacing---spacer-xl: 3rem;
    --_spacing---spacer-md: 1rem;
    --_spacing---spacer-lg: 2rem;
    --_spacing---spacer-3xl: 6rem;
    --_spacing---spacer-5xl: 9rem;
    --_spacing---spacer-xs: .25rem;
    --_spacing---spacer-sm: .5rem;
    --_spacing---spacer-2xl: 5rem;
    --_spacing---spacer-4xl: 8rem;
  }

  .default-container {
    max-width: 80rem;
  }

  .section {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .space-3xl {
    height: 4rem;
  }

  .grid-12-column {
    flex-flow: column;
    display: flex;
  }

  .home-pg-img-wrapper {
    height: 12rem;
  }

  .hero-grid-3-row {
    flex-flow: column;
    grid-auto-columns: 1fr;
    justify-content: space-between;
  }

  .home-subheader-02 {
    padding: 1.5rem 1.5rem 1rem;
  }

  .about-showcase-img-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    display: flex;
  }

  .about-showcase-img-grid.right-align {
    justify-content: flex-end;
  }

  .h1-header {
    letter-spacing: -2px;
  }

  .services-wrapper {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    place-items: center;
    display: grid;
  }

  .services-wrapper._02 {
    grid-template-columns: 1fr 1fr;
  }

  .gallery-header {
    font-size: 9em;
  }

  .gallery-images-container {
    grid-template-columns: 1fr 1fr;
  }

  .cta-text {
    font-size: var(--_typography---font-size--headers--h1);
    letter-spacing: -2px;
  }

  .nav-menu-item {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .brand-logo-wrapper {
    justify-content: flex-start;
    align-items: center;
    right: auto;
  }

  .navbar {
    padding: 0 32px;
  }

  .nav-menu-wrapper-2 {
    border-top: 1px solid var(--black-100);
    border-bottom: 1px solid var(--black-100);
    background-color: var(--white-200);
    justify-content: center;
  }

  .nav-link-2 {
    margin-bottom: 1rem;
    margin-left: 0;
    margin-right: 0;
  }

  .hamburger-menu {
    background-color: #0000;
    justify-content: center;
    align-items: center;
    padding-top: 1rem;
    transition: transform .2s;
  }

  .hamburger-menu:hover {
    transform: scale(.96);
  }

  .hamburger-menu.w--open {
    background-color: #0000;
    justify-content: center;
    align-items: center;
    padding-left: 0;
  }

  .navbar-container {
    padding: 0;
    position: relative;
  }

  .lottie-animation {
    width: 40px;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-scroll-size {
    height: auto;
  }

  .grid-3-column {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid;
    overflow: hidden;
  }

  .cta-grid-wrapper {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 767px) {
  body {
    --_typography---main-font: Newsreader, sans-serif;
    --_typography---font-size--paragraphs--body-base: 1rem;
    --_typography---line-height--line-height-reg: 160%;
    --_typography---font-weight--regular: 400;
    --_typography---font-size--headers--h1: 3.5rem;
    --_typography---line-height--line-height-sm: 120%;
    --_typography---font-weight--semibold: 600;
    --_typography---font-size--headers--h2: 2.75rem;
    --_typography---font-size--headers--h3: 2.25rem;
    --_typography---font-size--headers--h4: 1.875rem;
    --_typography---font-size--headers--h5: 1.5rem;
    --_typography---font-weight--bold: 700;
    --_typography---font-size--headers--h6: 1.25rem;
    --_typography---font-size--paragraphs--body-lg: 1.25rem;
    --_typography---line-height--line-height-md: 140%;
    --_typography---font-weight--medium: 500;
    --_typography---font-size--headers--header-xs: .875rem;
    --_typography---font-size--paragraphs--body-2xl: 1.25rem;
    --_typography---font-size--headers--header-xl: 3.5rem;
    --_typography---font-size--headers--header-lg: 2rem;
    --_typography---font-size--headers--header-md: 1.75rem;
    --_typography---font-size--headers--header-sm: 1.25rem;
    --_typography---font-size--paragraphs--body-xl: 1.75rem;
    --_typography---font-size--paragraphs--body-sm: .875rem;
    --_typography---font-size--paragraphs--body-xs: .75rem;
    --_spacing---spacer-xl: 2.75rem;
    --_spacing---spacer-md: 1rem;
    --_spacing---spacer-lg: 2rem;
    --_spacing---spacer-3xl: 4.5rem;
    --_spacing---spacer-5xl: 7rem;
    --_spacing---spacer-xs: .25rem;
    --_spacing---spacer-sm: .5rem;
    --_spacing---spacer-2xl: 4rem;
    --_spacing---spacer-4xl: 6rem;
  }

  h2 {
    letter-spacing: -1.5px;
  }

  .default-container {
    max-width: 80rem;
  }

  .section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .accordion {
    padding: 2rem 1.5rem;
  }

  .about-text {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .h1-header {
    letter-spacing: -1px;
  }

  .gallery-header {
    font-size: 5.5em;
  }

  .gallery-feature-image {
    height: 20rem;
  }

  .footer-image {
    object-fit: cover;
  }

  .navbar, .nav-link-2 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .navbar-container {
    padding-left: 0;
    padding-right: 0;
  }

  .cta-image-wrapper {
    width: 16rem;
    height: 20rem;
  }

  .contact-card {
    height: 20rem;
  }

  .lottie-wrapper {
    margin-top: -18px;
  }
}

@media screen and (max-width: 479px) {
  body {
    --_typography---main-font: Newsreader, sans-serif;
    --_typography---font-size--paragraphs--body-base: 1rem;
    --_typography---line-height--line-height-reg: 160%;
    --_typography---font-weight--regular: 400;
    --_typography---font-size--headers--h1: 2.5rem;
    --_typography---line-height--line-height-sm: 110%;
    --_typography---font-weight--semibold: 600;
    --_typography---font-size--headers--h2: 2rem;
    --_typography---font-size--headers--h3: 1.75rem;
    --_typography---font-size--headers--h4: 1.5rem;
    --_typography---font-size--headers--h5: 1.25rem;
    --_typography---font-weight--bold: 700;
    --_typography---font-size--headers--h6: 1.125rem;
    --_typography---font-size--paragraphs--body-lg: 1.25rem;
    --_typography---line-height--line-height-md: 140%;
    --_typography---font-weight--medium: 500;
    --_typography---font-size--headers--header-xs: .875rem;
    --_typography---font-size--paragraphs--body-2xl: 1.25rem;
    --_typography---font-size--headers--header-xl: 2rem;
    --_typography---font-size--headers--header-lg: 1.5rem;
    --_typography---font-size--headers--header-md: 1.25rem;
    --_typography---font-size--headers--header-sm: 1.25rem;
    --_typography---font-size--paragraphs--body-xl: 1.5rem;
    --_typography---font-size--paragraphs--body-sm: .875rem;
    --_typography---font-size--paragraphs--body-xs: .75rem;
    --_spacing---spacer-xl: 2.25rem;
    --_spacing---spacer-md: 1rem;
    --_spacing---spacer-lg: 2rem;
    --_spacing---spacer-3xl: 4rem;
    --_spacing---spacer-5xl: 5rem;
    --_spacing---spacer-xs: .25rem;
    --_spacing---spacer-sm: .5rem;
    --_spacing---spacer-2xl: 3rem;
    --_spacing---spacer-4xl: 4.5rem;
  }

  .lottie-animation-02 {
    height: 200px;
  }

  .horizontal-flex.hero {
    flex-flow: column;
  }

  .feature-card {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .image-fit {
    object-fit: cover;
  }

  .services-wrapper {
    flex-flow: column;
    display: flex;
  }

  .gallery-images-container {
    grid-template-columns: 1fr;
  }

  .cta-text {
    letter-spacing: -1px;
  }

  .footer-image {
    object-fit: cover;
  }

  .footer-copyright {
    flex-flow: column;
  }

  .line-div {
    display: none;
  }

  .navbar {
    padding-left: 0;
    padding-right: 0;
  }

  .nav-link-2 {
    margin-bottom: .5rem;
  }

  .navbar-container {
    padding: 0;
  }

  .lottie-animation {
    width: 32px;
  }

  .cta-image-wrapper {
    position: relative;
  }

  .contact-card {
    height: 15rem;
  }

  .grid-3-column, .cta-grid-wrapper {
    grid-template-columns: 1fr;
  }

  .lottie-wrapper {
    height: 56px;
    margin-left: 0;
  }
}

#w-node-_46326107-4c9d-672f-b6d1-8c6bd9b08fde-a351ca58 {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#w-node-_325ddc48-e14d-39b4-e7a1-623729bbfa29-a351ca58, #w-node-d1b6747e-411e-f5a5-95b4-14a1575cd5cb-a351ca58 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-b9c18dbf-6ed1-1701-755a-50ab0b6eb57c-a351ca58 {
  grid-area: 1 / 10 / 2 / 12;
}

#w-node-_5caa79ec-8d3e-2003-8e17-5a1f323ce68a-a351ca58 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_5caa79ec-8d3e-2003-8e17-5a1f323ce68c-a351ca58 {
  grid-area: 1 / 11 / 2 / 13;
}

#w-node-_9b98f9cc-01c8-3a79-a1dd-0363c68f870f-a351ca58 {
  grid-area: 1 / 4 / 2 / 6;
}

#w-node-_872eae87-d1a7-dea1-094f-1167c4e1fb72-a351ca58 {
  grid-area: 1 / 10 / 2 / 12;
}

#w-node-_077cb26d-193a-5d9f-7364-f4815315a95e-a351ca58, #w-node-bfc6c767-6047-663a-37bb-43200474d4ce-a351ca58 {
  grid-area: 1 / 3 / 2 / 11;
}

#w-node-_637e4221-fec4-7d4b-1c21-4262afa37d70-a351ca58 {
  grid-area: 1 / 1 / 2 / 7;
}

#w-node-af7b1fff-5722-3590-aa10-fed8b0e67320-a351ca58, #w-node-aac85fc8-a7a7-5cac-0658-959b05b8008b-a351ca58 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_04aa9462-83c5-c1d1-7b1e-a5cbcb49908a-a351ca58 {
  grid-area: 1 / 10 / 2 / 13;
}

@media screen and (max-width: 991px) {
  #w-node-_325ddc48-e14d-39b4-e7a1-623729bbfa29-a351ca58 {
    grid-column: span 1 / span 1;
  }

  #w-node-a0178733-3db8-a98d-a0b5-0a1da3e175eb-a351ca58 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-d1b6747e-411e-f5a5-95b4-14a1575cd5cb-a351ca58 {
    grid-column: span 1 / span 1;
  }

  #w-node-b9c18dbf-6ed1-1701-755a-50ab0b6eb57c-a351ca58 {
    grid-column: 4 / 5;
  }

  #w-node-af7b1fff-5722-3590-aa10-fed8b0e67320-a351ca58, #w-node-aac85fc8-a7a7-5cac-0658-959b05b8008b-a351ca58 {
    grid-column: span 1 / span 1;
  }

  #w-node-_04aa9462-83c5-c1d1-7b1e-a5cbcb49908a-a351ca58 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}


