@charset "UTF-8";
:root {
  --color-primary-100: hsl(226, 83%, 19%);
  --color-primary-200: hsl(226, 83%, 18%);
  --color-primary-300: hsl(226, 83%, 17%);
  --color-primary-400: hsl(226, 83%, 16%);
  --color-primary-hsl: 226, 83%, 16%;
  --color-primary-500: hsl(226, 83%, 15%);
  --color-primary-600: hsl(226, 83%, 14%);
  --color-primary-700: hsl(226, 83%, 13%);
  --color-primary-800: hsl(226, 83%, 12%);
  --color-primary-900: hsl(226, 83%, 11%);
  --color-black: #111318;
  --color-secondary-50: hsl(45 50% 98.4%);
  --color-secondary-100: hsl(46.2 54.2% 90.6%);
  --color-secondary-200: hsl(46.8 40.3% 75.7%);
  --color-secondary-300: hsl(46 24.6% 65.7%);
  --color-secondary-400: #fbfaf9;
  --color-secondary-hsl: 30, 20%, 98%;
  --color-secondary-500: hsl(30, 20%, 94%);
  --color-secondary-600: hsl(30, 20%, 90%);
  --color-secondary-700: hsl(30, 20%, 86%);
  --color-secondary-800: hsl(30, 20%, 82%);
  --color-secondary-900: hsl(30, 20%, 78%);
  --color-secondary-950: hsl(30, 20%, 74%);
  --color-beige: #f5f0eb;
  --color-accent: #111318;
  --color-success: #0b751e;
  --color-error: #eb6565;
  --site-padding: clamp(1.25rem, 2.380952vw, 2.5rem);
  --gap: 1rem;
  --nav-height: 52px;
  --top-padding: 1.5rem;
  --button-height: 48px;
  --button-height-big: 52px;
  --default-radius: 6px;
  --radius: 0.25rem;
  --radius-big: calc(var(--radius) * 5);
  --radius-full: 100vmax;
  --transition-base: 0.3s cubic-bezier(0.38, 0.005, 0.215, 1);
  --transition-nav: 0.5s cubic-bezier(0.38, 0.005, 0.215, 1);
  --transition-smooth: 1.2s cubic-bezier(0.38, 0.005, 0.215, 1);
  --transition-simple: 0.4s cubic-bezier(0.2, 0, 0, 1);
  --cubic-default: cubic-bezier(0.625, 0.05, 0, 1);
  --animation-ease: 0.2s ease;
  --duration-default: 0.5s;
  --duration-default-long: 0.75s;
  --duration-default-half: 0.25s;
  --animation-default: var(--duration-default) var(--cubic-default);
  --animation-default-long: var(--duration-default-long) var(--cubic-default);
  --animation-default-half: var(--duration-default-half) var(--cubic-default);
  --navbar-padding-bottom: clamp(1rem, 1.428571vw, 1.5rem);
  --stroke-width: 0.094rem;
  --font-primary: "Inter Variable", sans-serif;
  --font-secondary: "PP Writer", serif;
  --fp-wght-normal: 475;
  --fs-wght-normal: 100;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
* {
  box-sizing: border-box;
}

body,
html {
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
}

b,
strong {
  font-weight: bold;
}

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
  display: inline-block;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
}

img,
video {
  max-width: 100%;
  height: auto;
}

picture {
  width: 100%;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

button,
input {
  /* 1 */
  overflow: visible;
}

button,
select {
  /* 1 */
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -moz-appearance: textfield;
       appearance: textfield; /* 1 */
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
ul li {
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

figure {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: flex;
}

:root {
  font-feature-settings: "liga" 1, "calt" 1, "opsz" 32;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 100%;
  background-color: var(--color-secondary-400);
}

body {
  display: block;
  font-family: var(--font-primary);
  font-weight: var(--fp-wght-normal);
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: -0.01em;
  font-optical-sizing: auto;
  color: var(--color-primary-400);
  background-color: var(--color-secondary-400);
}

.use-js .page-inner {
  margin-top: 100vh;
  background-color: var(--color-secondary-400);
  position: relative;
  z-index: 1;
}
.use-js .hero {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
}

.veil {
  display: none;
}

@supports (-webkit-touch-callout: none) {
  .veil {
    position: sticky;
    top: 0;
    z-index: 9999999999;
    display: block;
    pointer-events: none;
  }
  .veil-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    backdrop-filter: blur(1px);
  }
}
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

a *,
.btn * {
  cursor: pointer;
}

body.disable-scroll {
  overflow: hidden;
}

*:focus-visible {
  outline-color: var(--color-error);
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 4px;
}

@font-face {
  font-family: "Inter Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/InterVariable.woff2") format("woff2");
}
@font-face {
  font-family: "Inter Variable";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/InterVariable-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "PP Writer";
  src: url("../fonts/PPWriter-Thin.otf") format("opentype");
  font-weight: 100;
  font-display: swap;
  font-style: normal;
}
[data-whatsapp-modal-trigger] {
  position: relative;
}

[data-split=heading] {
  visibility: hidden;
}

h1 {
  font-family: var(--font-secondary);
  font-weight: var(--fs-wght-normal);
  font-size: 84px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

h2,
.h2 {
  font-family: var(--font-secondary);
  font-weight: var(--fs-wght-normal);
  font-size: clamp(2.25rem, 4.52381vw, 4.75rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 0.65lh;
}
h2.smaller,
.h2.smaller {
  font-size: clamp(2rem, 3.333333vw, 3.5rem);
}
h2.x-small,
.h2.x-small {
  font-size: 52px;
}

.link-line-effect {
  display: flex;
}
.link-line-effect .outer {
  overflow: hidden;
  position: relative;
}
.link-line-effect .inner {
  --text-duplicate-distance: 1lh;
  display: flex;
  text-shadow: 0px var(--text-duplicate-distance) currentColor;
  transition: transform 0.6s cubic-bezier(0.32, 0.72, 0, 1);
}
.link-line-effect:hover .inner {
  transform: translate(0px, calc(-1 * var(--text-duplicate-distance)));
}

.small-p p {
  font-size: clamp(0.75rem, 0.952381vw, 1rem);
}

.container {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding-inline: var(--site-padding);
}

.row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  width: 100%;
  align-items: start;
}
@media (min-width: 768px) {
  .row {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .row {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
}

.grid-view {
  position: fixed;
  z-index: 9999999;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  pointer-events: none;
}
.grid-view * {
  pointer-events: none;
}
.grid-view .container,
.grid-view .row {
  height: 100%;
}
.grid-view .col {
  height: 100%;
  transform: scaleY(0);
  transition: transform 0.3s ease;
  transform-origin: top;
  background: rgba(255, 0, 0, 0.1);
}
.grid-view .col:nth-of-type(2) {
  transition-delay: 0.025s;
}
.grid-view .col:nth-of-type(3) {
  transition-delay: 0.05s;
}
.grid-view .col:nth-of-type(4) {
  transition-delay: 0.075s;
}
.grid-view .col:nth-of-type(5) {
  transition-delay: 0.1s;
}
.grid-view .col:nth-of-type(6) {
  transition-delay: 0.125s;
}
.grid-view .col:nth-of-type(7) {
  transition-delay: 0.15s;
}
.grid-view .col:nth-of-type(8) {
  transition-delay: 0.175s;
}
.grid-view .col:nth-of-type(9) {
  transition-delay: 0.2s;
}
.grid-view .col:nth-of-type(10) {
  transition-delay: 0.225s;
}
.grid-view .col:nth-of-type(11) {
  transition-delay: 0.25s;
}
.grid-view .col:nth-of-type(12) {
  transition-delay: 0.275s;
}
.grid-view .col:nth-of-type(13) {
  transition-delay: 0.3s;
}
.grid-view .col:nth-of-type(14) {
  transition-delay: 0.325s;
}
.grid-view .col:nth-of-type(15) {
  transition-delay: 0.35s;
}
.grid-view .col:nth-of-type(16) {
  transition-delay: 0.375s;
}
.grid-view .col:nth-of-type(17) {
  transition-delay: 0.4s;
}
.grid-view .col:nth-of-type(18) {
  transition-delay: 0.425s;
}
.grid-view .col:nth-of-type(19) {
  transition-delay: 0.45s;
}
.grid-view .col:nth-of-type(20) {
  transition-delay: 0.475s;
}
.grid-view .col:nth-of-type(21) {
  transition-delay: 0.5s;
}
.grid-view .col:nth-of-type(22) {
  transition-delay: 0.525s;
}
.grid-view .col:nth-of-type(23) {
  transition-delay: 0.55s;
}
.grid-view .col:nth-of-type(24) {
  transition-delay: 0.575s;
}
@media (max-width: 767px) {
  .grid-view .col:nth-of-type(n + 5) {
    display: none;
  }
}
@media (max-width: 1199px) {
  .grid-view .col:nth-of-type(n + 13) {
    display: none;
  }
}

[data-grid-status=active] .grid-view .col {
  transform: scaleY(1);
  transform-origin: bottom;
}

button {
  display: inline-block;
  overflow: visible;
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  background: none transparent;
  color: inherit;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  font: inherit;
  line-height: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  white-space: nowrap;
}

.btn {
  max-width: -moz-max-content;
  max-width: max-content;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.02em;
  padding: 1em 1.5em;
}
.btn.primary {
  background-color: var(--color-primary-400);
  color: var(--color-secondary-400);
}
.btn.secondary {
  color: var(--color-primary-400);
  background-color: var(--color-secondary-400);
}
.btn.full-w {
  width: 100%;
  max-width: 100%;
}

.btn-simple {
  --btn-transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-decoration: none;
  max-width: -moz-max-content;
  max-width: max-content;
  height: var(--button-height);
  max-height: var(--button-height);
  color: var(--color-secondary-400);
  background-color: var(--color-primary-400);
  border-radius: var(--default-radius);
  justify-content: center;
  align-items: center;
  padding: 0px 22px;
  display: flex;
  position: relative;
  overflow: hidden;
}
.btn-simple__mask {
  z-index: 1;
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}
.btn-simple__mask--text {
  --text-duplicate-distance: 1.5em;
  font-size: 1em;
  text-shadow: 0px var(--text-duplicate-distance) currentColor;
  transition: var(--btn-transition);
}
.btn-simple.light {
  color: var(--color-primary-400);
  background-color: var(--color-secondary-400);
  font-weight: 550;
  letter-spacing: 0em;
}

.btn-icon-link {
  --btn-transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  cursor: pointer;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-decoration: none;
  max-width: -moz-max-content;
  max-width: max-content;
  height: var(--button-height-big);
  max-height: var(--button-height-big);
  color: var(--color-primary-400);
  background-color: var(--color-secondary-400);
  border-radius: var(--default-radius);
  justify-content: flex-start;
  align-items: center;
  padding: 6px 1.2em 6px 6px;
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
  position: relative;
  overflow: hidden;
  border: 1px solid hsla(var(--color-primary-hsl), 40%);
}
.btn-icon-link__mask {
  z-index: 1;
  flex: none;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}
.btn-icon-link__mask--text {
  --text-duplicate-distance: 1.5em;
  font-size: 1em;
  text-shadow: 0px var(--text-duplicate-distance) currentColor;
}
.btn-icon-link__icon {
  --icon-size: 1.1em;
  z-index: 1;
  flex: none;
  justify-content: center;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  display: flex;
  position: relative;
  color: var(--color-secondary-400);
  padding: 0.75em;
}
.btn-icon-link__icon:before {
  content: "";
  background-color: var(--color-primary-400);
  border-radius: calc(var(--default-radius) / 2);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.btn-icon-link__icon--list {
  width: var(--icon-size);
  height: var(--icon-size);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.btn-icon-link__icon .arrow {
  position: relative;
  z-index: 1;
  flex: none;
  width: var(--icon-size);
  height: var(--icon-size);
  transition: var(--btn-transition);
}
.btn-icon-link__icon .arrow path {
  stroke: currentColor;
}
.btn-icon-link.small .btn-icon-link__icon {
  --icon-size: 1em;
  padding: 0.7em;
}
.btn-icon-link.full-w {
  width: 100%;
  max-width: none;
  justify-content: space-between;
}
.btn-icon-link.beige {
  background-color: var(--color-beige);
}
.btn-icon-link.light {
  color: var(--color-primary-400);
  background-color: var(--color-secondary-400);
  font-weight: 550;
  letter-spacing: 0em;
}
.btn-icon-link.light .btn-icon-link__icon {
  color: var(--color-secondary-400);
}
.btn-icon-link.light .btn-icon-link__icon:before {
  content: "";
  background-color: var(--color-primary-400);
}
.btn-icon-link.reversed {
  padding: 6px 6px 6px 1.2em;
}

/* Global attribute to easily control easing and timing of all targetted elements */
.btn-transition {
  transition: var(--btn-transition);
}

/* Only apply hover animations if they are actually not supported */
@media (hover: hover) and (pointer: fine) {
  .btn-simple:hover .btn-simple__mask--text {
    transform: translate(0px, calc(-1 * var(--text-duplicate-distance)));
  }
  .btn-icon-link:hover:before {
    transform: translate(0px, 0%) rotate(0deg);
  }
  .btn-icon-link:hover .btn-icon-link__mask--text {
    transform: translate(0px, calc(-1 * var(--text-duplicate-distance)));
  }
  .btn-icon-link:hover .btn-icon-link__icon--list .arrow {
    transform: translate(100%, 0px);
  }
}
.header {
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  color: var(--color-secondary-400);
  display: grid;
  align-items: center;
  padding-inline: var(--site-padding);
  padding-block: 32px 0;
}
.header .logo,
.header .cta {
  display: flex;
  grid-row: 1;
  grid-column: 1;
  align-self: center;
}
.header .logo svg {
  height: clamp(3rem, 3.571429vw, 3.75rem);
  width: auto;
  fill: var(--color-secondary-400);
}
.header .cta {
  justify-self: end;
  display: none;
  align-items: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media (min-width: 768px) {
  .header .cta {
    display: flex;
  }
}
.header .cta ul {
  display: flex;
  align-items: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media (max-width: 1199px) {
  .header .cta ul {
    display: none;
  }
}
.header .cta ul li {
  display: flex;
}
.header .cta ul li a {
  transition: color var(--transition-base);
}
.header .cta ul li a:hover {
  color: hsla(var(--color-secondary-hsl), 40%);
}

.navbar {
  z-index: 999;
  pointer-events: none;
  position: fixed;
  inset: 0;
}
.navbar__bg {
  z-index: 0;
  opacity: 0;
  pointer-events: auto;
  visibility: hidden;
  background-color: hsla(223, 17%, 8%, 0.6);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
  transition: opacity var(--animation-default), visibility var(--animation-default);
}
.navbar__top {
  position: absolute;
  bottom: calc(var(--navbar-padding-bottom) + 0.5rem + var(--nav-height));
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - var(--site-padding) - var(--site-padding));
  padding: 3rem 2rem;
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  color: var(--color-secondary-400);
}
@media (min-width: 768px) {
  .navbar__top {
    padding: 4rem 3rem;
  }
}
@media (min-width: 1200px) {
  .navbar__top {
    width: 420px;
    padding: 4rem 3rem;
  }
}
.navbar__top .bg {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-color: var(--color-primary-900);
  border: 1px solid hsla(30, 20%, 98%, 0.15);
  border-radius: var(--default-radius);
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.76, 0, 0.24, 1);
  transform-origin: center bottom;
  transform: scale(0);
}
.navbar__bottom {
  width: 13.5rem;
  max-width: 13.5rem;
  height: var(--nav-height);
  background-color: var(--color-primary-400);
  color: var(--color-secondary-400);
  border: 1px solid hsla(30, 20%, 98%, 0.15);
  border-radius: var(--default-radius);
  position: absolute;
  bottom: var(--navbar-padding-bottom);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transition: max-width var(--animation-default), background-color var(--animation-default);
}
@media (min-width: 1200px) {
  .navbar__bottom {
    width: 15rem;
    max-width: 15rem;
  }
}
.navbar__bottom--logo {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: auto;
  cursor: pointer;
  height: var(--nav-height);
  width: var(--nav-height);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: visibility var(--animation-default-half), opacity var(--animation-default-half);
}
.navbar__bottom--logo svg {
  height: 65%;
  width: auto;
}
.navbar__bottom--toggle {
  all: unset;
  pointer-events: auto;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  height: var(--nav-height);
  width: var(--nav-height);
  display: flex;
  position: relative;
}
.navbar__bottom--toggle .navbar-toggle-bar {
  background-color: currentColor;
  width: 1.75em;
  height: 1.5px;
  position: absolute;
}

.navbar-menu {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  width: 100%;
  position: relative;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--animation-default);
}
.navbar-menu__title {
  margin-bottom: 1.5rem;
}
.navbar-menu__title p {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  opacity: 0.6;
}
.navbar-menu__ul {
  display: flex;
  flex-direction: column;
  margin-bottom: 5rem;
  pointer-events: none;
}
.navbar-menu__ul:hover li a {
  opacity: 0.4;
}
.navbar-menu__ul li {
  display: flex;
  pointer-events: auto;
  max-width: -moz-max-content;
  max-width: max-content;
}
.navbar-menu__ul li a {
  font-size: clamp(1.75rem, 1.666667vw, 2rem);
  line-height: 1.2;
  font-weight: 400;
  transition: opacity 0.3s;
}
.navbar-menu__ul li a:hover {
  opacity: 1;
}
.navbar-menu__contact-ul {
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
}
.navbar-menu__contact-ul li {
  display: flex;
}
.navbar-menu__contact-ul li a {
  opacity: 0.6;
  line-height: 1.6;
}

/* Menu button */
.navbar-toggle-bar {
  transition: transform var(--animation-default);
  transform: translateY(-0.25em) rotate(0.001deg);
}

.navbar__bottom--toggle:hover .navbar-toggle-bar {
  transform: translateY(0.25em) rotate(0.001deg);
}

.navbar__bottom--toggle .navbar-toggle-bar:nth-child(2) {
  transform: translateY(0.15em) rotate(0.001deg);
}

.navbar__bottom--toggle:hover .navbar-toggle-bar:nth-child(2) {
  transform: translateY(-0.15em) rotate(0.001deg);
}

[data-nav-status=active] .navbar__bottom--toggle .navbar-toggle-bar {
  transform: translateY(0em) rotate(45deg);
}

[data-nav-status=active] .navbar__bottom--toggle .navbar-toggle-bar:nth-child(2) {
  transform: translateY(0em) rotate(-45deg);
}

[data-nav-status=active] .navbar__bg {
  opacity: 1;
  visibility: visible;
}
[data-nav-status=active] .navbar__bottom {
  max-width: var(--nav-height);
  background-color: var(--color-primary-800);
}
[data-nav-status=active] .navbar__bottom--logo {
  visibility: hidden;
  opacity: 0;
}
[data-nav-status=active] .navbar__top {
  opacity: 1;
  visibility: visible;
}
[data-nav-status=active] .navbar__top .bg {
  transform: scale(1);
}
[data-nav-status=active] .navbar__top .navbar-menu {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  transition: opacity var(--animation-default) 0.15s;
}

.footer {
  background-color: var(--color-primary-400);
  color: var(--color-secondary-400);
  padding-block: clamp(5rem, 7.142857vw, 7.5rem) 6rem;
}
@media (min-width: 768px) {
  .footer {
    padding-block: clamp(5rem, 7.142857vw, 7.5rem) var(--navbar-padding-bottom);
  }
}
.footer .subtitle-row {
  padding-top: 1rem;
  border-top: 1px solid currentColor;
}
.footer .cf-row {
  padding-block: clamp(1rem, 2.142857vw, 2.25rem) clamp(7.5rem, 9.52381vw, 10rem);
}
.footer .tab-nav {
  grid-column: 1/span 4;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .footer .tab-nav {
    grid-column: 1/span 12;
    gap: clamp(1.75rem, 3.333333vw, 3.5rem);
    flex-direction: row;
  }
}
@media (min-width: 1200px) {
  .footer .tab-nav {
    grid-column: 1/span 24;
  }
}
.footer .tab-nav .tab-btn {
  font-family: var(--font-secondary);
  font-weight: var(--fs-wght-normal);
  font-size: clamp(2.75rem, 4.285714vw, 4.5rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
  opacity: 0.4;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: opacity var(--transition-base);
}
.footer .tab-nav .tab-btn .indicator .icon {
  width: clamp(1rem, 1.666667vw, 1.75rem);
  height: clamp(1rem, 1.666667vw, 1.75rem);
  background-color: currentColor;
  transform: scale(0) rotate(0deg);
  transform-origin: center center;
  transition: transform var(--transition-base);
}
.footer .tab-nav .tab-btn .text {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  margin-left: 0px;
  transition: margin-left var(--transition-base);
}
.footer .tab-nav .tab-btn .text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform var(--transition-base);
}
.footer .tab-nav .tab-btn:hover {
  opacity: 0.6;
}
.footer .tab-nav .tab-btn[aria-selected=true] {
  opacity: 1;
}
.footer .tab-nav .tab-btn[aria-selected=true] .indicator .icon {
  transform: scale(1) rotate(-135deg);
}
.footer .tab-nav .tab-btn[aria-selected=true] .text {
  margin-left: 20px;
}
.footer .tab-nav .tab-btn[aria-selected=true] .text::after {
  transform: scaleX(1);
  transform-origin: left center;
}
.footer .tab-panel {
  grid-column: 1/span 4;
  grid-row: 2;
  display: grid;
  grid-template-columns: subgrid;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  transition: opacity var(--transition-base) 0.2s;
}
@media (min-width: 768px) {
  .footer .tab-panel {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .footer .tab-panel {
    grid-column: 1/span 24;
  }
}
.footer .tab-panel[hidden] {
  display: grid !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.footer .contact-form {
  grid-column: 1/span 4;
  grid-row: 2;
  display: grid;
  grid-template-columns: subgrid;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}
@media (min-width: 768px) {
  .footer .contact-form {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .footer .contact-form {
    grid-column: 1/span 24;
  }
}
.footer .contact-form .wpforms-field-container {
  grid-column: 1/span 4;
  grid-row: 1;
  display: grid;
  grid-template-columns: subgrid;
  gap: 2rem var(--gap);
}
@media (min-width: 768px) {
  .footer .contact-form .wpforms-field-container {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .footer .contact-form .wpforms-field-container {
    grid-column: 11/span 14;
  }
}
.footer .contact-form .wpforms-submit-container {
  grid-column: 1/span 4;
  grid-row: 2;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .footer .contact-form .wpforms-submit-container {
    margin-top: 2rem;
  }
}
@media (min-width: 768px) {
  .footer .contact-form .wpforms-submit-container {
    grid-column: 1/span 4;
    grid-row: 1;
  }
}
@media (min-width: 1200px) {
  .footer .contact-form .wpforms-submit-container {
    grid-column: 1/span 10;
  }
}
.footer .contact-form form {
  grid-column: 1/span 4;
  grid-row: 1;
  display: grid;
  grid-template-columns: subgrid;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}
@media (min-width: 768px) {
  .footer .contact-form form {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .footer .contact-form form {
    grid-column: 1/span 24;
  }
}
.footer .contact-form form .wpforms-field {
  grid-column: span 4;
}
@media (min-width: 768px) {
  .footer .contact-form form .wpforms-field {
    grid-column: span 8;
  }
}
@media (min-width: 1200px) {
  .footer .contact-form form .wpforms-field {
    grid-column: span 14;
  }
}
.footer .contact-form form .wpforms-field.full-w {
  grid-column: span 4;
}
@media (min-width: 768px) {
  .footer .contact-form form .wpforms-field.full-w {
    grid-column: span 8;
  }
}
@media (min-width: 1200px) {
  .footer .contact-form form .wpforms-field.full-w {
    grid-column: span 14;
  }
}
.footer .contact-form form .wpforms-field.half-w {
  grid-column: span 4;
}
@media (min-width: 1200px) {
  .footer .contact-form form .wpforms-field.half-w {
    grid-column: span 7;
  }
}
.footer .bottom-row {
  padding-top: 1rem;
  border-top: 2px solid currentColor;
}
.footer .bottom-row__contacts {
  grid-column: 1/span 4;
  grid-row: 2;
}
@media (min-width: 768px) {
  .footer .bottom-row__contacts {
    grid-column: 1/span 8;
    grid-row: 1;
  }
}
@media (min-width: 1200px) {
  .footer .bottom-row__contacts {
    grid-column: 1/span 16;
  }
}
.footer .bottom-row__contacts ul {
  display: flex;
  flex-direction: column;
}
.footer .bottom-row__contacts ul li {
  display: flex;
}
.footer .bottom-row__contacts ul li a {
  font-family: var(--font-secondary);
  font-weight: var(--fs-wght-normal);
  font-size: clamp(2rem, 3.095238vw, 3.25rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  transition: color var(--transition-base);
}
.footer .bottom-row__contacts ul li a:hover {
  color: hsla(var(--color-secondary-hsl), 40%);
}
.footer .bottom-row__contacts ul li a .line-mask:not(:first-of-type) {
  padding-bottom: 0.2lh;
  margin-bottom: -0.2lh;
}
.footer .bottom-row__logo {
  grid-column: 1/span 4;
  grid-row: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .footer .bottom-row__logo {
    margin-bottom: 2rem;
  }
}
@media (min-width: 768px) {
  .footer .bottom-row__logo {
    grid-column: 9/span 4;
    justify-content: flex-end;
  }
}
@media (min-width: 1200px) {
  .footer .bottom-row__logo {
    grid-column: 17/span 8;
  }
}
.footer .bottom-row__logo svg {
  height: clamp(3.5rem, 4.285714vw, 4.5rem);
  width: auto;
}
.footer .contact-row {
  padding-block: 80px 320px;
}
.footer .contact-row__dsgvo {
  grid-column: 1/span 14;
}
.footer .contact-row__dsgvo ul {
  display: flex;
  flex-direction: column;
}
.footer .contact-row__dsgvo ul li {
  display: flex;
}
.footer .contact-row__dsgvo ul li a {
  transition: color var(--transition-base);
}
.footer .contact-row__dsgvo ul li a:hover {
  color: hsla(var(--color-secondary-hsl), 40%);
}
@media (max-width: 767px) {
  .footer .last-row {
    display: flex;
    flex-direction: column;
    row-gap: 0.25rem;
  }
}
.footer .last-row__copyright {
  grid-column: 1/span 12;
  grid-row: 1;
}
.footer .last-row__copyright p {
  color: hsla(var(--color-secondary-hsl), 40%);
  font-size: clamp(0.75rem, 0.952381vw, 1rem);
}
.footer .last-row__madeby {
  grid-column: 13/span 12;
  grid-row: 1;
  display: flex;
  justify-content: flex-end;
}
.footer .last-row__madeby a {
  color: hsla(var(--color-secondary-hsl), 40%);
  transition: color var(--transition-base);
  font-size: clamp(0.75rem, 0.952381vw, 1rem);
}
.footer .last-row__madeby a:hover {
  color: hsla(var(--color-secondary-hsl), 100%);
}

.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) {
  display: flex;
  flex-direction: column;
}
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) input,
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) textarea {
  margin-top: 0.25rem;
  width: 100%;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 550;
  padding: 8px;
  background-color: transparent;
  color: var(--color-secondary-400);
  border: none;
  border-bottom: 1px solid hsla(var(--color-secondary-hsl), 40%);
  transition: border-bottom var(--transition-base);
}
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) input::-moz-placeholder, .wpforms-form .wpforms-field:not(.wpforms-field-checkbox) textarea::-moz-placeholder {
  font-size: 16px;
  font-weight: 500;
  color: hsla(var(--color-secondary-hsl), 40%);
}
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) input::placeholder,
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) textarea::placeholder {
  font-size: 16px;
  font-weight: 500;
  color: hsla(var(--color-secondary-hsl), 40%);
}
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) input:focus-visible,
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox) textarea:focus-visible {
  outline: none;
  border-bottom: 1px solid hsla(var(--color-secondary-hsl), 100%);
}
.wpforms-form .wpforms-field.optional .wpforms-field-label {
  display: inline-flex;
}
.wpforms-form .wpforms-field.optional .wpforms-field-label::after {
  content: " (optional)";
}
.wpforms-form .wpforms-field-checkbox {
  margin-bottom: 2rem;
}
.wpforms-form fieldset {
  max-width: 640px;
  margin: 0;
  padding: 0;
  border: none;
}
.wpforms-form fieldset .wpforms-field-label {
  font-size: clamp(0.88rem, 0.952381vw, 1rem);
  font-weight: 550;
  color: hsla(var(--color-secondary-hsl), 40%);
  margin-bottom: 1em;
}
.wpforms-form fieldset ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.wpforms-form fieldset ul li {
  border-radius: 100vmax;
  border: 1px solid var(--color-secondary-400);
  padding: 8px 14px 8px 14px;
  position: relative;
  transition: background-color var(--transition-base), color var(--transition-base);
  cursor: pointer;
}
.wpforms-form fieldset ul li * {
  cursor: pointer;
}
.wpforms-form fieldset ul li input {
  position: absolute;
  opacity: 0;
}
.wpforms-form fieldset ul li label {
  font-size: clamp(0.88rem, 0.952381vw, 1rem);
  font-weight: 550;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.wpforms-form fieldset ul li label::before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  background-color: hsla(var(--color-primary-hsl), 0%);
  border: 1px solid var(--color-secondary-400);
  transform-origin: center center;
  transition: background-color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
}
.wpforms-form fieldset ul li:has(input:checked) {
  background-color: var(--color-secondary-400);
  color: var(--color-primary-400);
}
.wpforms-form fieldset ul li:has(input:checked) label::before {
  background-color: hsla(var(--color-primary-hsl), 100%);
  border-color: var(--color-primary-400);
  transform: rotate(45deg);
}
.wpforms-form .wpforms-field:not(.wpforms-field-checkbox):not(.wpforms-field-html) {
  font-size: clamp(0.88rem, 0.952381vw, 1rem);
  font-weight: 550;
  color: hsla(var(--color-secondary-hsl), 40%);
  margin-bottom: 1em;
}
.wpforms-form textarea {
  min-height: 6lh;
}
.wpforms-form .wpforms-error {
  display: inline-block;
  color: var(--color-error);
  font-size: 14px;
  font-weight: 500;
  padding-top: 1em;
}

form .form-group {
  display: flex;
  flex-direction: column;
}

.subtitle-wrapper {
  grid-column: span 4;
  display: flex;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .subtitle-wrapper {
    grid-column: span 12;
  }
}
@media (min-width: 1200px) {
  .subtitle-wrapper {
    grid-column: span 24;
  }
}
.subtitle-wrapper .subtitle {
  display: flex;
  align-items: center;
  gap: 7px;
  padding-top: 0.25rem;
}
.subtitle-wrapper .subtitle::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  background-color: currentColor;
}
.subtitle-wrapper .subtitle span {
  font-size: clamp(0.88rem, 0.952381vw, 1rem);
  font-weight: 500;
}

.hero {
  height: 100lvh;
  background-color: #000;
  color: var(--color-secondary-400);
  display: grid;
  position: relative;
  overflow: clip;
}
.hero .container {
  height: 100lvh;
  position: relative;
  will-change: opacity;
}
.hero .container .background-color {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: var(--color-primary-400);
}
.hero .container .background-image {
  position: absolute;
  right: var(--site-padding);
  bottom: -35%;
  z-index: 1;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  display: flex;
}
.hero .container .background-image svg {
  width: 50rem;
  height: auto;
}
.hero .container .background-image svg path {
  fill: var(--color-primary-500);
}
.hero .row {
  height: 100svh;
  padding-block: clamp(8.75rem, 10vw, 10.5rem) 5.5rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .hero .row {
    padding-block: clamp(8.75rem, 10vw, 10.5rem) var(--navbar-padding-bottom);
  }
}
.hero .title {
  grid-column: 1/span 4;
  display: flex;
  flex-direction: column;
  will-change: transform;
  font-size: clamp(2.5rem, 4.761905vw, 5rem);
  max-width: 24ch;
}
@media (min-width: 768px) {
  .hero .title {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .hero .title {
    grid-column: 1/span 24;
  }
}
.hero .title h1 {
  font-size: 1em;
  font-weight: var(--fs-wght-normal);
  line-height: 1;
  letter-spacing: -0.02em;
}
.hero .title h1 .line-mask:not(:first-of-type) {
  padding-bottom: 1ch;
  margin-bottom: -1ch;
}
@media (max-width: 1199px) {
  .hero .scroll-info {
    display: none;
  }
}
@media (min-width: 1200px) {
  .hero .scroll-info {
    grid-column: 1/span 24;
    align-self: end;
  }
}

.about {
  padding-block: clamp(5rem, 8.333333vw, 8.75rem);
}
.about .title {
  grid-column: 1/span 4;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .about .title {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .about .title {
    grid-column: 1/span 24;
  }
}
.about .title h2 {
  max-width: 24ch;
}
.about .desc-row {
  padding-top: clamp(6.25rem, 8.333333vw, 8.75rem);
}
.about .desc-row .desc-01,
.about .desc-row .desc-02 {
  grid-column: 1/span 4;
  font-size: clamp(1.13rem, 1.190476vw, 1.25rem);
}
@media (min-width: 768px) {
  .about .desc-row .desc-01,
  .about .desc-row .desc-02 {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .about .desc-row .desc-01,
  .about .desc-row .desc-02 {
    grid-column: 13/span 12;
  }
}
.about .desc-row .desc-01 p,
.about .desc-row .desc-02 p {
  font-size: 1em;
  max-inline-size: 52ch;
}
.about .desc-row .desc-01 {
  margin-bottom: 2lh;
}
.about .image-tiles-row {
  padding-block: clamp(6.25rem, 8.333333vw, 8.75rem) 4rem;
}
.about .img-tile {
  display: flex;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
}
@media (max-width: 767px) {
  .about .img-tile {
    grid-column: 1/span 12;
  }
  .about .img-tile:nth-of-type(1) {
    grid-column: 1/span 3;
    margin-bottom: 1.5rem;
  }
  .about .img-tile:nth-of-type(2) {
    grid-column: 2/span 3;
  }
  .about .img-tile:nth-of-type(3), .about .img-tile:nth-of-type(4) {
    display: none;
  }
}
@media (min-width: 768px) {
  .about .img-tile {
    grid-column: span 6;
  }
}
@media (max-width: 1199px) {
  .about .img-tile:nth-of-type(3), .about .img-tile:nth-of-type(4) {
    display: none;
  }
}
@media (min-width: 1200px) {
  .about .img-tile {
    grid-column: span 6;
  }
}
.about .founders-row .title-row {
  grid-row: 1;
  grid-column: 1/span 4;
  border-top: 1px solid var(--color-primary-400);
  padding-top: 1.25rem;
  display: grid;
  grid-template-columns: subgrid;
  gap: var(--gap);
}
@media (min-width: 768px) {
  .about .founders-row .title-row {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .about .founders-row .title-row {
    grid-column: 1/span 24;
  }
}
.about .founders-row .title-row .subtitle-wrapper {
  grid-column: 1/span 4;
  align-self: start;
}
@media (min-width: 1200px) {
  .about .founders-row .title-row .subtitle-wrapper {
    grid-column: 1/span 12;
  }
}
.about .founders-row .title-row .title {
  grid-column: 1/span 4;
  align-self: start;
}
@media (min-width: 768px) {
  .about .founders-row .title-row .title {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .about .founders-row .title-row .title {
    grid-column: 13/span 12;
  }
}
.about .founders-row .title-row .title h3 {
  font-size: clamp(1.5rem, 2.142857vw, 2.25rem);
  font-weight: 400;
  line-height: 1.2;
}
.about .founders-row .founders-tiles {
  grid-row: 2;
  grid-column: 1/span 4;
  align-self: start;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap);
  margin-top: clamp(3.75rem, 5.952381vw, 6.25rem);
}
@media (min-width: 768px) {
  .about .founders-row .founders-tiles {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .about .founders-row .founders-tiles {
    grid-column: 13/span 12;
  }
}
.about .founders-row .founders-tiles .founder-tile {
  grid-column: span 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.about .founders-row .founders-tiles .founder-tile .img {
  display: flex;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
}
.about .founders-row .founders-tiles .founder-tile .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about .founders-row .founders-tiles .founder-tile .desc {
  display: flex;
  flex-direction: column;
}
.about .founders-row .founders-tiles .founder-tile .desc h4 {
  font-family: var(--font-secondary);
  font-size: clamp(1.5rem, 2.142857vw, 2.25rem);
  font-weight: var(--fs-wght-normal);
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.about .founders-row .founders-tiles .founder-tile .desc p {
  font-size: clamp(0.75rem, 0.952381vw, 1rem);
  letter-spacing: 0.01em;
}

.places {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  display: grid;
  background-color: var(--color-beige);
}
.places .container {
  padding-block: clamp(5rem, 5.952381vw, 6.25rem) clamp(6.25rem, 8.333333vw, 8.75rem);
  display: flex;
  flex-direction: column;
  row-gap: clamp(7.5rem, 11.428571vw, 12rem);
  justify-content: space-between;
}
.places .subtitle-wrapper {
  padding-top: 1rem;
  border-top: 1px solid var(--color-primary-400);
}
.places .title {
  grid-column: 1/span 4;
  grid-row: 2;
  max-width: 20ch;
}
@media (min-width: 768px) {
  .places .title {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .places .title {
    grid-column: 1/span 24;
  }
}
.places .location-wrapper {
  grid-column: 1/span 4;
  grid-row: 1;
  display: grid;
  align-items: start;
  grid-template-columns: 1fr;
  gap: 4rem var(--gap);
}
@media (max-width: 767px) {
  .places .location-wrapper {
    grid-auto-rows: max-content;
  }
}
@media (min-width: 768px) {
  .places .location-wrapper {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .places .location-wrapper {
    grid-column: 9/span 16;
    gap: var(--gap);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.places .location-wrapper .location {
  grid-column: span 1;
  grid-row: span 1;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1200px) {
  .places .location-wrapper .location {
    grid-row: 1;
  }
}
.places .location-wrapper .location__title {
  display: flex;
  padding-bottom: 1rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid currentColor;
}
.places .location-wrapper .location__title h5 {
  font-family: var(--font-secondary);
  font-weight: var(--fs-wght-normal);
  line-height: 1;
  letter-spacing: -0.02em;
  font-size: clamp(2.5rem, 2.857143vw, 3rem);
}
.places .location-wrapper .location__info {
  display: flex;
  gap: var(--gap);
  align-content: start;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .places .location-wrapper .location__info {
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .places .location-wrapper .location__info {
    display: grid;
    grid-template-columns: 0.75fr 1fr;
  }
}
.places .location-wrapper .location__info .address {
  grid-column: span 1;
  display: flex;
}
.places .location-wrapper .location__info .ul {
  grid-column: span 1;
  display: flex;
  flex-direction: column;
}
.places .location-wrapper .location__info .ul li a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-color: hsla(var(--color-primary-hsl), 40%);
}

.services {
  padding-block: clamp(6.25rem, 10.714286vw, 11.25rem) clamp(5rem, 8.333333vw, 8.75rem);
  background-color: var(--color-primary-900);
  color: var(--color-secondary-400);
}
.services .subtitle-wrapper {
  grid-column: 1/span 4;
  align-self: start;
}
@media (min-width: 768px) {
  .services .subtitle-wrapper {
    grid-column: 1/span 4;
  }
}
@media (min-width: 1200px) {
  .services .subtitle-wrapper {
    grid-column: 1/span 8;
  }
}
.services .title {
  grid-column: 1/span 4;
  align-self: start;
}
@media (min-width: 768px) {
  .services .title {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .services .title {
    grid-column: span 16;
  }
}
.services .title h2 {
  margin-bottom: 0;
  max-width: 32ch;
}
.services .row:first-of-type {
  border-top: 1px solid currentColor;
  padding-top: 1.25rem;
}
.services .service-row {
  margin-top: clamp(6.25rem, 11.904762vw, 12.5rem);
  row-gap: clamp(5rem, 7.142857vw, 7.5rem);
  position: relative;
}
.services .service-row .service {
  scroll-margin-top: 3rem;
  grid-column: 1/span 4;
  grid-row: span 1;
  min-height: 100vh;
  padding-block: var(--navbar-padding-bottom);
  display: grid;
  grid-template-columns: subgrid;
  grid-template-rows: max-content minmax(clamp(8.75rem, 19.047619vw, 20rem), auto) 1fr;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  align-items: start;
}
@media (min-width: 768px) {
  .services .service-row .service {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .services .service-row .service {
    grid-column: 1/span 24;
  }
}
.services .service-row .service .title-count {
  grid-column: 1/span 1;
  grid-row: 1;
}
@media (min-width: 768px) {
  .services .service-row .service .title-count {
    grid-column: 1/span 4;
  }
}
@media (min-width: 1200px) {
  .services .service-row .service .title-count {
    grid-column: 1/span 8;
  }
}
.services .service-row .service .title-count span {
  color: hsla(var(--color-secondary-hsl), 40%);
}
.services .service-row .service .title-title {
  grid-column: 2/span 3;
  grid-row: 1;
}
@media (min-width: 768px) {
  .services .service-row .service .title-title {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .services .service-row .service .title-title {
    grid-column: 9/span 16;
  }
}
.services .service-row .service .title-count,
.services .service-row .service .title-title {
  padding-top: 1rem;
  border-top: 1px solid hsla(var(--color-secondary-hsl), 40%);
}
.services .service-row .service .title-count span,
.services .service-row .service .title-title span {
  display: block;
  font-family: var(--font-secondary);
  font-weight: var(--fs-wght-normal);
  font-size: clamp(2.5rem, 4.52381vw, 4.75rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.services .service-row .service .img {
  grid-column: 1/span 4;
  grid-row: 4;
  display: flex;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
}
@media (min-width: 768px) {
  .services .service-row .service .img {
    grid-column: 1/span 4;
    grid-row: 3;
  }
}
@media (min-width: 1200px) {
  .services .service-row .service .img {
    grid-column: 1/span 6;
  }
}
.services .service-row .service .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.services .service-row .service .desc {
  grid-column: 1/span 4;
  grid-row: 2;
  margin-top: 52px;
}
@media (min-width: 768px) {
  .services .service-row .service .desc {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .services .service-row .service .desc {
    grid-column: 9/span 16;
  }
}
.services .service-row .service .desc .inline-text {
  display: inline-block;
  font-size: clamp(1rem, 1.190476vw, 1.25rem);
  max-width: 54ch;
}
.services .service-row .service .desc .inline-text h3,
.services .service-row .service .desc .inline-text p {
  display: inline;
  font-size: 1em;
  line-height: 1.2;
  font-weight: var(--fp-wght-normal);
}
.services .service-row .service .ul-list {
  grid-column: 1/span 4;
  grid-row: 3;
}
@media (max-width: 767px) {
  .services .service-row .service .ul-list {
    margin-block: 5rem 3rem;
  }
}
@media (min-width: 768px) {
  .services .service-row .service .ul-list {
    grid-column: 5/span 8;
  }
}
@media (min-width: 1200px) {
  .services .service-row .service .ul-list {
    grid-column: 9/span 16;
  }
}
.services .service-row .service .ul-list ul {
  display: flex;
  flex-direction: column;
}
.services .service-row .service .ul-list ul li {
  display: flex;
  padding-block: 8px 12px;
  padding-inline: clamp(1.25rem, 2.380952vw, 2.5rem);
  border-top: 1px solid hsla(var(--color-secondary-hsl), 40%);
  cursor: default;
  position: relative;
}
.services .service-row .service .ul-list ul li::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  inset: 0;
  background-color: var(--color-secondary-400);
  transform-origin: center bottom;
  transform: scaleY(0);
  transition: transform var(--transition-base);
}
.services .service-row .service .ul-list ul li p {
  position: relative;
  z-index: 1;
  font-size: clamp(1rem, 1.428571vw, 1.5rem);
  line-height: 1.4;
  font-weight: 400;
  cursor: default;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: color var(--transition-base);
}
.services .service-row .service .ul-list ul li p::after {
  content: "";
  display: block;
  width: clamp(1rem, 1.190476vw, 1.25rem);
  height: clamp(1rem, 1.190476vw, 1.25rem);
  background-color: currentColor;
  transform: scale(0) rotate(90deg);
  transform-origin: center center;
  transition: color var(--transition-base), transform var(--transition-base);
}
.services .service-row .service .ul-list ul li:hover::after {
  transform: scaleY(1);
}
.services .service-row .service .ul-list ul li:hover p {
  color: var(--color-primary-400);
}
.services .service-row .service .ul-list ul li:hover p::after {
  transform: scale(1) rotate(0deg);
}

.statistics {
  height: 100vh;
  display: grid;
  background-color: #f5f0eb;
}
.statistics .container {
  height: 100%;
}
.statistics .row {
  height: 100%;
  padding-block: 88px calc(var(--nav-height) + var(--site-padding) * 2);
  grid-template-rows: 1fr;
}
.statistics .img {
  grid-column: 2/span 9;
  grid-row: 1;
  display: flex;
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.statistics .img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.statistics .stats {
  grid-column: 13/span 12;
  grid-row: 1;
  height: 100%;
  display: grid;
  grid-template-columns: subgrid;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}
.statistics .stats .title {
  grid-column: 1/span 11;
  display: flex;
  flex-direction: column;
}
.statistics .stats .stats-wrapper {
  grid-column: 1/span 10;
  display: grid;
  grid-template-columns: subgrid;
  align-content: end;
  grid-auto-rows: max-content;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  row-gap: 0.75rem;
}
.statistics .stats .stats-wrapper .stat {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  justify-content: center;
  padding: 1.5rem 1.25rem;
  background: linear-gradient(90deg, #f5f0eb 0%, #eae0d7 100%);
}
.statistics .stats .stats-wrapper .stat .number {
  font-family: var(--font-secondary);
  font-weight: var(--fs-wght-normal);
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-size: 40px;
}
.statistics .stats .stats-wrapper .stat.stat-first {
  grid-column: 1/span 7;
}
.statistics .stats .stats-wrapper .stat.stat-second {
  grid-column: 1/span 8;
}
.statistics .stats .stats-wrapper .stat.stat-third {
  grid-column: 1/span 10;
}

.more {
  padding-block: clamp(5rem, 11.904762vw, 12.5rem) clamp(2.5rem, 10.714286vw, 11.25rem);
}
.more .title-row {
  padding-block: 1.25rem clamp(3.75rem, 7.142857vw, 7.5rem);
  border-top: 1px solid currentColor;
}
.more .title-row .title {
  grid-column: 1/span 4;
  max-width: 14ch;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .more .title-row .title {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .more .title-row .title {
    grid-column: 1/span 14;
  }
}
.more .title-row .title h2.smaller {
  margin-bottom: 0;
}
.more .title-row .desc {
  grid-column: 1/span 4;
  padding-top: 0.5rem;
}
@media (min-width: 768px) {
  .more .title-row .desc {
    grid-column: 1/span 12;
  }
}
@media (min-width: 1200px) {
  .more .title-row .desc {
    grid-column: 15/span 10;
  }
}
.more .title-row .desc p {
  font-size: clamp(1rem, 1.190476vw, 1.25rem);
}
.more .image-row .image {
  width: 100%;
  position: relative;
  background-color: gray;
}
.more .image-row .image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.more .image-row .image--01 {
  grid-column: span 3;
  grid-row: 1;
}
@media (max-width: 767px) {
  .more .image-row .image--01 {
    margin-bottom: 2rem;
    width: 100%;
    aspect-ratio: 5/4;
  }
}
@media (min-width: 768px) {
  .more .image-row .image--01 {
    grid-column: 1/span 8;
    height: 100%;
  }
}
@media (min-width: 1200px) {
  .more .image-row .image--01 {
    grid-column: span 16;
  }
}
.more .image-row .image--02 {
  grid-column: 2/span 3;
  grid-row: 2;
  height: auto;
  aspect-ratio: 25/34;
}
@media (min-width: 768px) {
  .more .image-row .image--02 {
    grid-column: 9/span 4;
    grid-row: 1;
  }
}
@media (min-width: 1200px) {
  .more .image-row .image--02 {
    grid-column: span 8;
  }
}/*# sourceMappingURL=styles.css.map */