:root {
  --color-text-dark: #141416;
  --color-text-light: #fcfcfd;
  --color-text-secondary: #555669;
  --color-bg-page: #d4cfc1;
  --color-bg-page-light: #fcfcfd;
  --color-header-scroll: rgba(252, 252, 253, 0.85);
  --color-footer-bg: rgba(246, 246, 249, 0.32);
  --color-overlay: rgba(38, 32, 32, 0.29);
  --color-btn-bg: rgba(255, 255, 255, 0.29);
  --color-badge-bg: #f6f6f9;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-light: #e5e4e2;

  --font-family: "Manrope", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
}

@keyframes rotate_counterclockwise {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}

a:focus,
button:focus {
  outline: none;
}

button {
  border: none;
  background: none;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}

.coming-soon {
  min-height: 100dvh;
  padding: 0.375rem;
  display: flex;

  font-family: var(--font-family);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-dark);

  overflow: clip;
}

.coming-soon__in {
  width: 100%;
  display: flex;
  flex-direction: column;

  border-radius: 0.75rem;
  background-color: var(--color-bg-page);
}

.container {
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 3.5rem;
}

.header {
  position: fixed;
  top: 0;
  left: 0;

  padding-block: 2.5rem 1rem;
  width: 100%;

  z-index: 100;

  transition: all 0.3s ease;
  will-change: background-color, backdrop-filter, box-shadow;
}

.header.header--scroll {
  background-color: var(--color-header-scroll);
  backdrop-filter: blur(20px);
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.05);
}

html.menu_open .header--scroll {
  background-color: transparent;
  backdrop-filter: none;
  box-shadow: none;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.logo {
  z-index: 103;

  flex-shrink: 0;

  width: 10.25rem;
  aspect-ratio: 164/38.6;
}

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

.nav {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
}

.nav__link {
  padding: 0.75rem 0.875rem;
  min-width: 6.25rem;

  font-size: 0.875rem;
  font-weight: var(--font-weight-regular);
  color: var(--color-text-dark);
  white-space: nowrap;
}

.nav__link:focus-visible {
  opacity: 0.7;
}

@media (any-hover: hover) {
  .nav__link:hover {
    opacity: 0.7;
  }
}

.icon_menu {
  display: none;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 6.25rem;
  backdrop-filter: blur(90.45px);
  background-color: var(--color-btn-bg);
  flex-shrink: 0;
  z-index: 103;
  transition: all 0.3s ease;
}

.icon_menu:focus-visible {
  opacity: 0.8;
}

@media (any-hover: hover) {
  .icon_menu:hover {
    opacity: 0.8;
  }
}

.icon_menu__icon {
  position: relative;
  width: 1.5rem;
  height: 1rem;
}

.icon_menu__icon span,
.icon_menu__icon::before,
.icon_menu__icon::after {
  position: absolute;
  right: 0;
  width: 100%;
  height: 0.125rem;
  background-color: var(--color-text-dark);
  transition: all 0.3s ease;
  content: "";
}

.icon_menu__icon::before {
  top: 0;
}

.icon_menu__icon::after {
  bottom: 0;
}

.icon_menu__icon span {
  top: calc(50% - 0.0625rem);
}

html.menu_open .icon_menu__icon span {
  width: 0;
}

html.menu_open .icon_menu__icon::before {
  top: calc(50% - 0.0625rem);
  transform: rotate(-45deg);
}

html.menu_open .icon_menu__icon::after {
  bottom: calc(50% - 0.0625rem);
  transform: rotate(45deg);
}

html.menu_open .icon_menu__icon span,
html.menu_open .icon_menu__icon::before,
html.menu_open .icon_menu__icon::after {
  background-color: var(--color-text-light);
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;

  width: 100%;
  height: 100dvh;

  background-color: var(--color-overlay);
  backdrop-filter: blur(43.5px);
  opacity: 0;
  visibility: hidden;

  transition: all 0.3s ease;
}

html.menu_open .overlay {
  opacity: 1;
  visibility: visible;
}

.main {
  flex-grow: 1;

  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
}

.hero {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 20vh;
}

.hero__logo {
  position: relative;

  max-width: min(28.125rem, 53vh);
  width: 100%;
  margin: 0 auto;
  aspect-ratio: 1;
}

.hero__logo canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

.footer {
  padding: 0 0 2rem 0;
}

.footer__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;

  padding: 2rem 1.5rem 1.5rem 1.5rem;
  max-width: 30.9375rem;
  margin-inline: auto;

  text-align: center;

  background-color: var(--color-footer-bg);
  backdrop-filter: blur(40.7px);
  border-radius: 1.5rem;
}

.footer__title {
  width: 100%;
}

.footer__title p {
  font-size: 1.5rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.47;
  color: var(--color-text-dark);
}

.footer__text {
  width: 100%;
  padding-inline: 0.5rem;

  font-size: 1rem;
  font-weight: var(--font-weight-regular);
  color: var(--color-text-dark);
}

.footer__text a {
  font-weight: var(--font-weight-medium);
  color: var(--color-black);
}

.footer__text a:focus-visible {
  opacity: 0.7;
}

@media (any-hover: hover) {
  .footer__text a:hover {
    opacity: 0.7;
  }
}

@media (min-width: 768px) {
  .footer__text {
    line-height: 1.47;
  }
}

@media (max-width: 767px) {
  .container {
    padding: 0 1rem;
  }

  .header {
    padding-top: 2rem;
  }

  .hero {
    padding-top: min(8.75rem, 18vh);
  }

  .nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 102;

    flex-direction: column;
    align-items: center;
    gap: 1.25rem;

    width: 100%;
    height: 100dvh;
    padding-top: 8.75rem;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-1.25rem);
    transition: all 0.3s ease;
    pointer-events: none;
  }

  .nav__link {
    font-size: 1.5rem;
    color: var(--color-text-light);
  }

  html.menu_open .nav {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .icon_menu {
    display: flex;
  }

  html.menu_open .logo img {
    filter: brightness(0) invert(1);
  }

  .hero__logo {
    width: 19rem;
    margin-block: auto;
  }

  .footer__title p {
    font-size: 1.125rem;
    line-height: 1.44;
  }

  .footer__text p {
    font-size: 0.875rem;
  }
}

@media (max-height: 450px) {
  .hero {
    padding-top: min(8.75rem, 10vh);
  }
}

.privacy-policy-page {
  min-height: 100dvh;
  display: flex;

  font-family: var(--font-family);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-dark);

  overflow: clip;
}

.privacy-policy-page__in {
  width: 100%;
  display: flex;
  flex-direction: column;

  border-radius: 0.75rem;
  background-color: var(--color-bg-page-light);
}

.article {
  width: 100%;
  padding: 10.25rem 0 2.5rem 0;
}

.article__in {
  max-width: 37.75rem;
  margin: 0 auto;
}

.article__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.article__header:not(:last-child) {
  margin-bottom: 4.375rem;
}

.article__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem;

  background-color: var(--color-badge-bg);
  backdrop-filter: blur(39.55px);
  border-radius: 6.25rem;
}

.article__badge_inner {
  display: flex;
  gap: 0.1875rem;
  padding: 0.6875rem 1rem;

  background-color: var(--color-white);
  border-radius: 6.25rem;
}

.article__badge_inner p,
.article__badge_inner .wp-block-post-date,
.article__badge_inner .wp-block-post-date time {
  font-size: 0.875rem !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: normal !important;
  color: var(--color-text-dark) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.article__title {
  width: 100%;
}

.article__title h1,
.article__title h2 {
  font-size: 2rem !important;
  font-weight: var(--font-weight-semibold) !important;
  line-height: 1.44 !important;
  color: var(--color-text-dark) !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.article__content {
  width: 100%;
}

.article__content *,
.article__content *::before,
.article__content *::after {
  font-family: var(--font-family) !important;
}

.article .has-global-padding,
.article__content .has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.article .is-layout-constrained > *,
.article__content .is-layout-constrained > * {
  margin-block-start: 0;
}

.article__content > *:not(:last-child) {
  margin-bottom: 3.125rem;
}

.article__content h2 {
  font-size: 1.5rem !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.47 !important;
  color: var(--color-text-dark) !important;
}

.article__content h2:not(:first-child) {
  margin-top: 3rem !important;
}

.article__content h2:not(:last-child) {
  margin-bottom: 2rem;
}

.article__content p {
  font-size: 1rem !important;
  font-weight: var(--font-weight-regular) !important;
  line-height: 1.5 !important;
  color: var(--color-text-secondary) !important;
}

.article__content p:not(:last-child) {
  margin-bottom: 1rem;
}

.article__content a {
  color: #1D51EF;
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

.article__content a:focus-visible {
  text-decoration: none;
}

@media (any-hover: hover) {
  .article__content a:hover {
    text-decoration: none;
  }
}

.article__content ul,
.article__content ol {
  padding-left: 0;
  list-style: none;
}

.article__content ul:not(:last-child),
.article__content ol:not(:last-child) {
  margin-bottom: 1rem;
}

.article__content ul li,
.article__content ol li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1rem;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
  color: var(--color-text-secondary);
}

.article__content ul li::before {
  content: "";
  position: absolute;
  left: 0.6rem;
  top: 0.625rem;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: var(--color-text-secondary);
}

.article__content ol {
  counter-reset: list-counter;
}

.article__content ol li {
  counter-increment: list-counter;
}

.article__content ol li::before {
  content: counter(list-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1rem;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
  color: var(--color-text-secondary);
}

@media (max-width: 767px) {
  .privacy-policy-page .header {
    position: fixed;
  }

  .article {
    padding: 8.5rem 0 5rem 0;
  }

  .article__in {
    padding: 0 1rem;
  }

  .article__header {
    gap: 1rem;
  }

  .article__header:not(:last-child) {
    margin-bottom: 2.5rem;
  }

  .article__title h1 {
    font-size: 1.5rem;
    font-weight: var(--font-weight-semibold);
    line-height: 1.47;
  }

  .article__content > *:not(:last-child) {
    margin-bottom: 2rem;
  }

  .article__content h2:not(:first-child) {
    margin-top: 2rem;
  }

  .article__content h2:not(:last-child) {
    margin-bottom: 2rem;
  }

  .article__content h2 + p {
    margin-top: -0.5rem;
  }
}

/* Utility class to remove list styles */
ul.no_list_styles,
ol.no_list_styles,
.no_list_styles ul,
.no_list_styles ol {
  list-style: none;
  padding-left: 0;
}

ul.no_list_styles li,
ol.no_list_styles li,
.no_list_styles ul li,
.no_list_styles ol li {
  padding-left: 0;
}

ul.no_list_styles li::before,
ol.no_list_styles li::before,
.no_list_styles ul li::before,
.no_list_styles ol li::before {
  display: none;
  content: none;
}
