@charset "UTF-8";
@import "fonts.css";
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Parkinsans", sans-serif;
}

html, body {
  background-color: #161616;
}

html.site-vitrine-js section.main-hero div.main-hero-right {
  clip-path: inset(0% 0% 100% 0%);
}

html.site-vitrine-js section.main-hero div.main-hero-left p,
html.site-vitrine-js section.main-hero div.main-hero-left .main-cta-button {
  opacity: 0;
  transform: translateY(24px);
}

@media (prefers-reduced-motion: reduce) {
  html.site-vitrine-js section.main-hero div.main-hero-right {
    clip-path: none;
  }
  html.site-vitrine-js section.main-hero div.main-hero-left p,
  html.site-vitrine-js section.main-hero div.main-hero-left .main-cta-button {
    opacity: 1;
    transform: none;
  }
}
section.main-hero {
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  margin: 0 auto;
  display: flex;
  gap: 2.25rem;
}
section.main-hero div.main-hero-left {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 4rem;
}
section.main-hero div.main-hero-left h1 {
  font-size: 3rem;
  color: white;
  font-weight: 300;
  clip-path: inset(0% 0% 0% 0%);
}
section.main-hero div.main-hero-left h1 b {
  font-weight: 600;
}
section.main-hero div.main-hero-left p {
  margin-top: 4rem;
  width: min(1000px, 100%);
  font-size: clamp(1rem, 1.65vw, 1.25rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
}
section.main-hero div.main-hero-left a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 4rem;
  margin-right: 1.5rem;
  padding: 0.75rem 1.5rem;
  background-color: transparent;
  border: 2px solid rgba(255, 255, 255, 0.9);
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-size: clamp(0.92rem, 1.05vw, 1rem);
  transition: background-color 0.3s, color 0.3s;
}
section.main-hero div.main-hero-left a:hover {
  background-color: rgb(255, 255, 255);
  color: #161616;
}
section.main-hero div.main-hero-right {
  width: 90%;
}
section.main-hero div.main-hero-right img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

section.main-section-body {
  padding: 4rem 0;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
section.main-section-body div.main-section-content {
  width: 100%;
  display: flex;
  gap: 2rem;
  height: -moz-max-content;
  height: max-content;
  margin-top: 8rem;
}
section.main-section-body div.main-section-content div.main-section-texts {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4rem;
  width: 100%;
  margin-left: 4rem;
}
section.main-section-body div.main-section-content div.main-section-texts h2 {
  font-size: 2.5rem;
  color: white;
  font-weight: 400;
}
section.main-section-body div.main-section-content div.main-section-texts h2 b {
  font-weight: 600;
}
section.main-section-body div.main-section-content div.main-section-texts p {
  font-size: clamp(1rem, 1.65vw, 1.25rem);
  line-height: 1.5;
  color: white;
}
section.main-section-body div.main-section-content div.main-section-image {
  width: 100%;
  display: flex;
  justify-content: center;
}
section.main-section-body div.main-section-content div.main-section-image img {
  width: 70%;
  max-width: 800px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
section.main-section-body div.main-section-content.column {
  flex-direction: column;
  width: calc(100% - 8rem);
  justify-content: center;
  text-align: center;
}
section.main-section-body div.main-section-content div.main-section-list {
  width: 100%;
  display: grid;
  grid-template-rows: repeat(auto-fit, minmax(100px, 3fr));
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  text-align: left;
}
section.main-section-body div.main-section-content div.main-section-list--faq {
  width: min(100%, 760px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item {
  --list-square-color: #39af8b;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item:nth-child(5n+2) {
  --list-square-color: #e1b148;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item:nth-child(5n+3) {
  --list-square-color: #ab5861;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item:nth-child(5n+4) {
  --list-square-color: #507cff;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item:nth-child(5n+5) {
  --list-square-color: #9650ff;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1.25rem 2.5rem 1.25rem 2rem;
  min-height: 4.5rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  position: relative;
  color: white;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 700;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item summary:focus-visible {
  outline: 2px solid var(--pt-primary);
  outline-offset: 4px;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item summary::-webkit-details-marker {
  display: none;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item summary:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--list-square-color);
  transform: translateY(-50%);
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item summary:after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--pt-primary);
  font-size: 1.5rem;
  font-weight: 400;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item[open] summary:after {
  content: "−";
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item.is-closing summary:after {
  content: "+";
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-answer-inner {
  overflow: hidden;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-answer-inner p, section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-answer-inner a {
  text-align: left;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item[open] .faq-answer, section.main-section-body div.main-section-content div.main-section-list--faq .faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item.is-closing[open] .faq-answer {
  grid-template-rows: 0fr;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item p {
  margin: 0;
  padding: 0 2.5rem 1.25rem 0;
  color: white;
  font-size: clamp(0.875rem, 1.25vw, 1rem);
  line-height: 1.6;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 1.25rem;
  color: white;
  text-decoration: none;
  position: relative;
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-link:before {
  content: "";
  position: absolute;
  bottom: 0;
  height: 2px;
  width: 100%;
  background-color: white;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.19, 1, 0.22, 1);
}
section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-link:hover:before, section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-link:focus-visible:before, section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-link:active:before {
  transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
  section.main-section-body div.main-section-content div.main-section-list--faq .faq-answer,
  section.main-section-body div.main-section-content div.main-section-list--faq .faq-item .faq-link:before {
    transition: none;
  }
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item {
  --list-square-color: #39af8b;
  display: flex;
  flex-direction: row;
  gap: 3rem;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item:nth-child(5n+2) {
  --list-square-color: #e1b148;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item:nth-child(5n+3) {
  --list-square-color: #ab5861;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item:nth-child(5n+4) {
  --list-square-color: #507cff;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item:nth-child(5n+5) {
  --list-square-color: #9650ff;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item:before {
  content: "";
  flex: 0 0 0.9rem;
  width: 0.9rem;
  height: 0.9rem;
  margin-top: 0.35rem;
  background-color: var(--list-square-color);
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item--empty:before {
  content: none;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item i {
  display: none;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts h3 {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  color: white;
  font-weight: 700;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts p {
  font-size: clamp(0.875rem, 1.25vw, 1rem);
  color: white;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts a {
  color: white;
  text-decoration: none;
  position: relative;
  display: inline-block;
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts a:before {
  content: "";
  position: absolute;
  bottom: 0;
  height: 2px;
  width: 100%;
  background-color: white;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.19, 1, 0.22, 1);
}
section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts a:hover:before, section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts a:focus:before, section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts a:active:before {
  transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
  section.main-section-body div.main-section-content div.main-section-list div.main-section-list-item div.main-section-list-item-texts a:before {
    transition: none;
    transform: none;
  }
}
section.main-section-body div.main-section-content.reverse {
  flex-direction: row-reverse;
}
section.main-section-body div.main-section-content.reverse div.main-section-texts {
  margin-left: 0;
  margin-right: 4rem;
}
@media (max-width: 900px) {
  section.main-hero {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    flex-direction: column;
    padding: 7rem 1.25rem 3rem;
    gap: 2rem;
  }
  section.main-hero div.main-hero-left {
    width: 100%;
    margin: 0;
  }
  section.main-hero div.main-hero-left h1 {
    font-size: 2rem;
    overflow-wrap: anywhere;
  }
  section.main-hero div.main-hero-left p {
    margin-top: 1.5rem;
  }
  section.main-hero div.main-hero-left a {
    margin-top: 1.5rem;
    margin-right: 0.75rem;
  }
  section.main-hero div.main-hero-right {
    width: 100%;
    height: clamp(240px, 55vw, 420px);
  }
  section.main-hero div.main-hero-right img {
    object-fit: contain;
  }
  section.main-section-body {
    padding: 2rem 1.25rem;
    gap: 2rem;
  }
  section.main-section-body div.main-section-content,
  section.main-section-body div.main-section-content.column,
  section.main-section-body div.main-section-content.reverse {
    width: 100%;
    flex-direction: column;
    margin-top: 2rem;
    gap: 2rem;
  }
  section.main-section-body div.main-section-content div.main-section-texts,
  section.main-section-body div.main-section-content.reverse div.main-section-texts {
    margin: 0;
    gap: 1.5rem;
  }
  section.main-section-body div.main-section-content div.main-section-image img {
    width: 100%;
    max-width: 100%;
  }
  section.main-section-body div.main-section-content div.main-section-list:not(.main-section-list--faq) {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 1.5rem;
  }
  section.main-section-body div.main-section-content div.main-section-list:not(.main-section-list--faq) div.main-section-list-item {
    gap: 1rem;
  }
  section.main-section-body div.main-section-content div.main-section-list:not(.main-section-list--faq) .main-section-list-item--empty {
    display: none;
  }
  section.main-section-body div.cta-banner {
    flex-direction: column;
    align-items: flex-start;
  }
  section.main-section-body div.cta-actions {
    justify-content: flex-start;
  }
  section.main-section-body a.cta-button {
    max-width: 100%;
    text-align: center;
    line-height: 1.3;
  }
}
section.main-section-body .cta-banner {
  width: min(1100px, 100%);
  margin: 0 auto;
  padding: clamp(1.2rem, 2.4vw, 1.9rem);
  background: #1d1d1d;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
section.main-section-body .cta-banner h2 {
  margin: 0;
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  letter-spacing: -0.03em;
  line-height: 1;
  text-transform: lowercase;
  color: white;
}
section.main-section-body .cta-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
  flex-wrap: wrap;
}
section.main-section-body .cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-family: "Parkinsans", sans-serif;
  font-size: clamp(0.95rem, 1.2vw, 1.02rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: lowercase;
  line-height: 1;
  padding: 0.78rem 1.08rem;
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), background-color 180ms cubic-bezier(0.22, 1, 0.36, 1), border-color 180ms cubic-bezier(0.22, 1, 0.36, 1), color 180ms cubic-bezier(0.22, 1, 0.36, 1);
}
section.main-section-body .cta-button:hover, section.main-section-body .cta-button:focus-visible {
  transform: translateY(-1px);
}
section.main-section-body .cta-button:focus-visible {
  outline: 2px solid #507cff;
  outline-offset: 2px;
}
section.main-section-body .cta-button--secondary {
  color: #f4f4f4;
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: transparent;
}
section.main-section-body .cta-button--secondary:hover, section.main-section-body .cta-button--secondary:focus-visible {
  border-color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.08);
}
section.main-section-body .cta-button--primary {
  color: #fff;
  border: 1px solid #507cff;
  background: #507cff;
}
section.main-section-body .cta-button--primary:hover, section.main-section-body .cta-button--primary:focus-visible {
  border-color: #6f92ff;
  background: #6f92ff;
}

/* Compact service pages on phones */
@media screen and (max-width: 600px) {
  section.main-hero {
    min-height: 100vh;
    min-height: 100dvh;
    padding: 5.5rem 1rem 2.5rem;
    gap: 1.5rem;
  }

  section.main-hero div.main-hero-left h1 {
    font-size: 1.85rem;
    line-height: 1.18;
    letter-spacing: 0;
  }

  section.main-hero div.main-hero-left p {
    margin-top: 1rem;
    font-size: 1rem;
  }

  section.main-hero div.main-hero-left > div {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.5rem;
  }

  section.main-hero div.main-hero-left a {
    width: 100%;
    min-height: 46px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  section.main-hero div.main-hero-right {
    display: none;
  }

  section.main-section-body {
    padding: 1.5rem 1rem;
    gap: 1.5rem;
  }

  section.main-section-body div.main-section-content,
  section.main-section-body div.main-section-content.column,
  section.main-section-body div.main-section-content.reverse {
    margin-top: 0.75rem;
    gap: 1.5rem;
  }

  section.main-section-body div.main-section-content div.main-section-texts,
  section.main-section-body div.main-section-content.reverse div.main-section-texts {
    gap: 1.25rem;
  }

  section.main-section-body div.main-section-content div.main-section-texts h2 {
    font-size: 1.75rem;
    line-height: 1.2;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }

  section.main-section-body div.main-section-content div.main-section-texts p {
    font-size: 1rem;
  }

  section.main-section-body div.main-section-content div.main-section-list:not(.main-section-list--faq) {
    gap: 1rem;
  }

  section.main-section-body div.main-section-content div.main-section-list:not(.main-section-list--faq) div.main-section-list-item {
    gap: 0.75rem;
  }

  section.main-section-body div.main-section-content div.main-section-list.main-section-list--faq {
    gap: 0.5rem;
  }

  section.main-section-body .main-section-list--faq .faq-item summary {
    min-height: 3.75rem;
    padding: 1rem 2rem 1rem 1.5rem;
    line-height: 1.35;
    text-align: left;
  }

  section.main-section-body .main-section-list--faq .faq-item summary::before {
    width: 0.65rem;
    height: 0.65rem;
  }

  section.main-section-body .main-section-list--faq .faq-item .faq-answer-inner p {
    padding: 0 1.75rem 1rem 0;
  }

  section.main-section-body div.cta-banner {
    width: 100%;
    padding: 1.25rem 1rem;
  }

  section.main-section-body div.cta-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  section.main-section-body a.cta-button {
    width: 100%;
    min-height: 46px;
  }
}

@media screen and (max-width: 380px) {
  section.main-hero div.main-hero-left h1 {
    font-size: 1.65rem;
  }

  section.main-section-body div.main-section-content div.main-section-texts h2 {
    font-size: 1.55rem;
  }
}
