@-moz-keyframes circle-in-hesitate {
  0% {
    clip-path: circle(0%);
  }
  40% {
    clip-path: circle(40%);
  }
  100% {
    clip-path: circle(125%);
  }
}
@keyframes circle-in-hesitate {
  0% {
    -webkit-clip-path: circle(0%);
            clip-path: circle(0%);
  }
  40% {
    -webkit-clip-path: circle(40%);
            clip-path: circle(40%);
  }
  100% {
    -webkit-clip-path: circle(125%);
            clip-path: circle(125%);
  }
}
@-moz-keyframes circle-in-top-right {
  from {
    clip-path: circle(0%);
  }
  to {
    clip-path: circle(150% at top right);
  }
}
@keyframes circle-in-top-right {
  from {
    -webkit-clip-path: circle(0%);
            clip-path: circle(0%);
  }
  to {
    -webkit-clip-path: circle(150% at top right);
            clip-path: circle(150% at top right);
  }
}
@-moz-keyframes fade-in-left {
  from {
    opacity: 0;
    -moz-transform: translate3d(-100%, 0, 0);
         transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}
@keyframes fade-in-left {
  from {
    opacity: 0;
    -moz-transform: translate3d(-100%, 0, 0);
         transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes fade-in-right {
  from {
    opacity: 0;
    -moz-transform: translate3d(100%, 0, 0);
         transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}
@keyframes fade-in-right {
  from {
    opacity: 0;
    -moz-transform: translate3d(100%, 0, 0);
         transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes fade-in-up {
  from {
    -moz-transform: translateY(4rem);
         transform: translateY(4rem);
  }
  to {
    opacity: 1;
    -moz-transform: translateY(0);
         transform: translateY(0);
  }
}
@keyframes fade-in-up {
  from {
    -moz-transform: translateY(4rem);
         transform: translateY(4rem);
  }
  to {
    opacity: 1;
    -moz-transform: translateY(0);
         transform: translateY(0);
  }
}
@-moz-keyframes fade-in {
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  to {
    opacity: 1;
  }
}
@-moz-keyframes glare {
  to {
    background-position: var(--glare-end);
  }
}
@keyframes glare {
  to {
    background-position: var(--glare-end);
  }
}
@-moz-keyframes marquee {
  from {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  to {
    -moz-transform: translateX(-moz-calc(-100% - var(--marquee-gap)));
         transform: translateX(calc(-100% - var(--marquee-gap)));
  }
}
@keyframes marquee {
  from {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  to {
    -moz-transform: translateX(-moz-calc(-100% - var(--marquee-gap)));
         transform: translateX(calc(-100% - var(--marquee-gap)));
  }
}
@-moz-keyframes orbitPosition {
  75% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -moz-transform: translate(var(--orbit-x), var(--orbit-y));
         transform: translate(var(--orbit-x), var(--orbit-y));
  }
}
@keyframes orbitPosition {
  75% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -moz-transform: translate(var(--orbit-x), var(--orbit-y));
         transform: translate(var(--orbit-x), var(--orbit-y));
  }
}
@-moz-keyframes pulseX {
  0% {
    -moz-transform: translateX(5px);
         transform: translateX(5px);
  }
  70% {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  100% {
    -moz-transform: translateX(5px);
         transform: translateX(5px);
  }
}
@keyframes pulseX {
  0% {
    -moz-transform: translateX(5px);
         transform: translateX(5px);
  }
  70% {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  100% {
    -moz-transform: translateX(5px);
         transform: translateX(5px);
  }
}
@-moz-keyframes pulseY {
  0% {
    -moz-transform: translateY(5px);
         transform: translateY(5px);
  }
  70% {
    -moz-transform: translateY(0);
         transform: translateY(0);
  }
  100% {
    -moz-transform: translateY(5px);
         transform: translateY(5px);
  }
}
@keyframes pulseY {
  0% {
    -moz-transform: translateY(5px);
         transform: translateY(5px);
  }
  70% {
    -moz-transform: translateY(0);
         transform: translateY(0);
  }
  100% {
    -moz-transform: translateY(5px);
         transform: translateY(5px);
  }
}
@-moz-keyframes pulseSlow {
  0% {
    -moz-transform: scale(1);
         transform: scale(1);
  }
  60% {
    -moz-transform: scale(1.01);
         transform: scale(1.01);
  }
  100% {
    -moz-transform: scale(1);
         transform: scale(1);
  }
}
@keyframes pulseSlow {
  0% {
    -moz-transform: scale(1);
         transform: scale(1);
  }
  60% {
    -moz-transform: scale(1.01);
         transform: scale(1.01);
  }
  100% {
    -moz-transform: scale(1);
         transform: scale(1);
  }
}
@-moz-keyframes preloaderRotation {
  0% {
    -moz-transform: rotate(90deg);
         transform: rotate(90deg);
  }
  10% {
    opacity: 0;
  }
  35% {
    -moz-transform: rotate(0deg);
         transform: rotate(0deg);
    opacity: 1;
  }
  65% {
    -moz-transform: rotate(0deg);
         transform: rotate(0deg);
    opacity: 1;
  }
  80% {
    opacity: 0;
  }
  100% {
    -moz-transform: rotate(-90deg);
         transform: rotate(-90deg);
  }
}
@keyframes preloaderRotation {
  0% {
    -moz-transform: rotate(90deg);
         transform: rotate(90deg);
  }
  10% {
    opacity: 0;
  }
  35% {
    -moz-transform: rotate(0deg);
         transform: rotate(0deg);
    opacity: 1;
  }
  65% {
    -moz-transform: rotate(0deg);
         transform: rotate(0deg);
    opacity: 1;
  }
  80% {
    opacity: 0;
  }
  100% {
    -moz-transform: rotate(-90deg);
         transform: rotate(-90deg);
  }
}
@-moz-keyframes rubberband {
  0% {
    -moz-transform: scaleX(1);
         transform: scaleX(1);
  }
  40% {
    -moz-transform: scaleX(1.12) scaleY(0.75);
         transform: scaleX(1.12) scaleY(0.75);
  }
  55% {
    -moz-transform: scaleX(0.85) scaleY(1);
         transform: scaleX(0.85) scaleY(1);
  }
  65% {
    -moz-transform: scaleX(1.09) scaleY(0.85);
         transform: scaleX(1.09) scaleY(0.85);
  }
  75% {
    -moz-transform: scaleX(0.9) scaleY(1);
         transform: scaleX(0.9) scaleY(1);
  }
  90% {
    -moz-transform: scaleX(1.05) scaleY(0.95);
         transform: scaleX(1.05) scaleY(0.95);
  }
  100% {
    -moz-transform: scaleX(1) scaleY(1);
         transform: scaleX(1) scaleY(1);
  }
}
@keyframes rubberband {
  0% {
    -moz-transform: scaleX(1);
         transform: scaleX(1);
  }
  40% {
    -moz-transform: scaleX(1.12) scaleY(0.75);
         transform: scaleX(1.12) scaleY(0.75);
  }
  55% {
    -moz-transform: scaleX(0.85) scaleY(1);
         transform: scaleX(0.85) scaleY(1);
  }
  65% {
    -moz-transform: scaleX(1.09) scaleY(0.85);
         transform: scaleX(1.09) scaleY(0.85);
  }
  75% {
    -moz-transform: scaleX(0.9) scaleY(1);
         transform: scaleX(0.9) scaleY(1);
  }
  90% {
    -moz-transform: scaleX(1.05) scaleY(0.95);
         transform: scaleX(1.05) scaleY(0.95);
  }
  100% {
    -moz-transform: scaleX(1) scaleY(1);
         transform: scaleX(1) scaleY(1);
  }
}
@-moz-keyframes spin {
  to {
    -moz-transform: rotate(360deg);
         transform: rotate(360deg);
  }
}
@keyframes spin {
  to {
    -moz-transform: rotate(360deg);
         transform: rotate(360deg);
  }
}
@-moz-keyframes spin3d {
  0% {
    -moz-transform: rotate3d(0, 0, 1, 0deg);
         transform: rotate3d(0, 0, 1, 0deg);
  }
  100% {
    -moz-transform: rotate3d(0, 0, 1, 360deg);
         transform: rotate3d(0, 0, 1, 360deg);
  }
}
@keyframes spin3d {
  0% {
    -moz-transform: rotate3d(0, 0, 1, 0deg);
         transform: rotate3d(0, 0, 1, 0deg);
  }
  100% {
    -moz-transform: rotate3d(0, 0, 1, 360deg);
         transform: rotate3d(0, 0, 1, 360deg);
  }
}
@-moz-keyframes wiggle {
  20% {
    -moz-transform: rotate(7deg);
         transform: rotate(7deg);
  }
  40% {
    -moz-transform: rotate(-14deg);
         transform: rotate(-14deg);
  }
  60% {
    -moz-transform: rotate(4deg);
         transform: rotate(4deg);
  }
  80% {
    -moz-transform: rotate(-2deg);
         transform: rotate(-2deg);
  }
  100% {
    -moz-transform: rotate(0deg);
         transform: rotate(0deg);
  }
}
@keyframes wiggle {
  20% {
    -moz-transform: rotate(7deg);
         transform: rotate(7deg);
  }
  40% {
    -moz-transform: rotate(-14deg);
         transform: rotate(-14deg);
  }
  60% {
    -moz-transform: rotate(4deg);
         transform: rotate(4deg);
  }
  80% {
    -moz-transform: rotate(-2deg);
         transform: rotate(-2deg);
  }
  100% {
    -moz-transform: rotate(0deg);
         transform: rotate(0deg);
  }
}
/* 
Fallbacks for browsers that don't support particular CSS properties 
All fallbacks are denoted with a _ prefix
*/
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -moz-animation-duration: 0.01ms !important;
         animation-duration: 0.01ms !important;
    -moz-animation-iteration-count: 1 !important;
         animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    -moz-transition-delay: 0s !important;
         transition-delay: 0s !important;
    -moz-transition-duration: 0.01ms !important;
         transition-duration: 0.01ms !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :focus,
  *:focus {
    outline-offset: 5px;
    -moz-transition: outline-offset 0.25s ease;
    transition: outline-offset 0.25s ease;
  }
  html,
  html:focus-within {
    scroll-behavior: smooth;
  }
}
.sr__text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.sr__text:focus {
  background-color: var(--color-white);
  border-radius: 0;
  box-shadow: 0 0 2px 2px rgba(22, 22, 22, 0.6);
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  display: block;
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}
.sr__text.skip-link {
  margin: 5px;
}
.sr__text.skip-link:focus {
  color: currentColor;
}

.sr__skip-link {
  height: 1px;
  left: -999px;
  opacity: 0;
  position: absolute;
  text-align: center;
  top: auto;
  width: 1px;
}
.sr__skip-link:focus-visible {
  background: var(--clr-primary);
  height: auto;
  left: 50%;
  margin: auto;
  opacity: 1;
  top: 1rem;
  -moz-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
       transform: translateX(-50%);
  width: auto;
  z-index: 2000;
}

a,
button,
input,
textarea,
summary,
select {
  --outline-size: max(2px, 0.08em);
  --outline-style: solid;
  --outline-color: var(--clr-primary);
}

a:focus,
button:focus,
input:focus,
textarea:focus,
summary:focus,
select:focus {
  outline: var(--outline-size) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-size));
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible,
select:focus-visible {
  outline: var(--outline-size) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-size));
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
select:focus:not(:focus-visible) {
  outline: none;
}

@media print {
  a[href]::after {
    content: " (" attr(href) " )";
  }
}
html {
  --clr-dark: #333333;
  --clr-grey: #5f5f5f;
  --clr-grey-light: #e3e3e3;
  --clr-light: #fefbfa;
  --clr-theme-bg: var(--clr-light);
  --clr-theme-bg-invert: var(--clr-light);
  --clr-theme-gradient-bg-luminosity: 7%;
  --clr-primary: #f3e0d2;
  --clr-secondary: var(--clr-primary);
  --clr-highlight: #f25f4c;
  --clr-font-darkmode: #d8d8e3;
  --clr-font-lightmode: var(--clr-dark);
  --clr-font-default: var(--clr-font-lightmode);
  --clr-font-invert: var(--clr-font-lightmode);
  --clr-form-input: var(--clr-secondary);
}
html[data-theme=dark] {
  --clr-theme-bg: var(--clr-dark);
  --clr-theme-bg-invert: var(--clr-light);
  --clr-theme-gradient-bg-luminosity: 7%;
  --clr-font-default: var(--clr-font-darkmode);
  --clr-font-invert: var(--clr-font-lightmode);
}
html[data-theme=light] {
  --clr-theme-bg: var(--clr-light);
  --clr-theme-bg-invert: var(--clr-dark);
  --clr-theme-gradient-bg-luminosity: 93%;
  --clr-font-default: var(--clr-font-lightmode);
  --clr-font-invert: var(--clr-font-darkmode);
}
@supports not (color-scheme: light) {
  html[data-theme=light] {
    background: #fffffe;
  }
}

/*
100 = thin
200 = extra light
300 = light
400 = regular
500 = medium
600 = semi-bold
700 = bold
800 = extra bold
900 = black / heavy
*/
@font-face {
  font-display: swap;
  font-family: "PoiretOne-Regular";
  font-style: normal;
  font-weight: 400;
  src: local("PoiretOne-Regular"), url("../../assets/fonts/PoiretOne-Regular.ttf") format("truetype");
  unicode-range: U+000-5FF;
}
@font-face {
  font-display: swap;
  font-family: "Hind-Light";
  font-style: normal;
  font-weight: 400;
  src: local("Hind-Light"), url("../../assets/fonts/Hind-Light.ttf") format("truetype");
  unicode-range: U+000-5FF;
}
@font-face {
  font-display: swap;
  font-family: "Hind-SemiBold";
  font-style: normal;
  font-weight: 400;
  src: local("Hind-SemiBold"), url("../../assets/fonts/Hind-SemiBold.ttf") format("truetype");
  unicode-range: U+000-5FF;
}
html {
  --base: 2.7778vw;
  --border-radius-default: 1rem;
  --gap-size: 2rem;
  --gap-y: 0;
  --gap-x: 0;
  --grid-col-size: 25rem;
  --grid-col-template: repeat(12, [col-start] minmax(0, 1fr) [col-end]);
  --max-width: 1240px;
}

:root {
  --step-factor: 0.5vw;
  --step--1: min(max(0.99rem, 0.99rem + var(--step-factor)), 1.4rem);
  --step-0: min(max(1.6rem, 1.6rem + var(--step-factor)), 2rem);
  --step-0_5: min(max(2.1rem, 2.1rem + var(--step-factor)), 2.5rem);
  --step-1: min(max(2.59rem, 2.59rem + var(--step-factor)), 3rem);
  --step-2: min(max(4.19rem, 4.19rem + var(--step-factor)), 4.6rem);
  --step--1: clamp(0.99rem, 0.99rem + var(--step-factor), 1.4rem);
  --step-0: clamp(1.6rem, 1.6rem + var(--step-factor), 2rem);
  --step-0_5: clamp(2.1rem, 2.1rem + var(--step-factor), 2.5rem);
  --step-1: clamp(2.59rem, 2.59rem + var(--step-factor), 3rem);
  --step-2: clamp(4.19rem, 4.19rem + var(--step-factor), 4.6rem);
  --font-family-default: "Hind-Light", sans-serif;
  --font-family-highlight: "PoiretOne-Regular", sans-serif;
  --font-family-details: "Hind-SemiBold", sans-serif;
  --font-family-details-italic: "Hind-SemiBold", sans-serif;
}

*,
*::before,
*::after {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

body {
  background: var(--clr-theme-bg);
  color: var(--clr-font-default);
  font-family: var(--font-family-default);
  height: 100%;
  line-height: 1.7;
  min-height: 100vh;
  overflow-x: hidden;
  text-rendering: optimizeSpeed;
  width: 100%;
}

address,
button,
input,
pre,
select,
textarea {
  color: currentColor;
  font: inherit;
}

textarea {
  min-width: 100%;
  max-width: 100%;
}

ol[role=list],
ul[role=list],
menu {
  list-style: none;
}

[hidden] {
  display: none;
}

[contenteditable] {
  overflow-wrap: break-word;
}

canvas,
img,
picture,
svg,
video,
iframe {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
}

img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

textarea {
  white-space: revert;
}

.main > *[data-section] {
  --max-width: 75rem;
  --_mb: var(--mb, 0);
  display: grid;
  gap: var(--gap-y) var(--gap-x);
  grid-template-columns: [full-start] minmax(1.5rem, 1fr) [wrapper-start] minmax(0, var(--max-width)) [wrapper-end] minmax(1.5rem, 1fr) [full-end];
  -webkit-margin-after: var(--_mb);
          margin-block-end: var(--_mb);
}
.main > *[data-section] > * {
  grid-column: wrapper;
}
.main > *[data-section] > .full-width {
  grid-column: full;
}

.section__landmark-heading {
  color: var(--clr-primary);
  font-family: var(--font-family-code);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: clamp(1rem, 5vw, 1.5625rem);
  -webkit-margin-after: clamp(0.5rem, 2.5vw, 1rem);
          margin-block-end: clamp(0.5rem, 2.5vw, 1rem);
  font-weight: 700;
  font-variation-settings: "wght" 700;
}
@supports not (font-size: clamp(1rem, 5vw, 1.5625rem)) {
  .section__landmark-heading {
    font-size: min(max(1rem, 5vw), 1.5625rem);
  }
}
@supports not ((-webkit-margin-after: clamp(0.5rem, 2.5vw, 1rem)) or (margin-block-end: clamp(0.5rem, 2.5vw, 1rem))) {
  .section__landmark-heading {
    -webkit-margin-after: min(max(0.5rem, 2.5vw), 1rem);
            margin-block-end: min(max(0.5rem, 2.5vw), 1rem);
  }
}
.section__landmark-copy {
  width: min(45ch, 95%);
}

.col-2 {
  display: grid;
  gap: 32px 32px;
  grid-template-columns: repeat(auto-fill, minmax(max(min(300px, 100%), (100% - 32px) / 2), 1fr));
}

.columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(50ch, 100%), 1fr));
  gap: clamp(1rem, 5vw, 1.5rem);
}
@supports not (gap: clamp(1rem, 5vw, 1.5rem)) {
  .columns {
    gap: min(max(1rem, 5vw), 1.5rem);
  }
}

.flow > * + * {
  -webkit-margin-before: var(--flow, 1em);
          margin-block-start: var(--flow, 1em);
}

.form input:not([type=submit]),
.form .custom--select,
.form textarea {
  border: 1px solid var(--clr-form-input);
  border-radius: var(--border-radius-default);
  color: var(--clr-font-lightmode);
  margin-top: 0.25rem;
  width: 100%;
  font-weight: 400;
  font-variation-settings: "wght" 400;
  font-size: clamp(1rem, 5vw, 1.5625rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.5625rem)) {
  .form input:not([type=submit]),
  .form .custom--select,
  .form textarea {
    font-size: min(max(1rem, 5vw), 1.5625rem);
  }
}
.form input:not([type=submit]),
.form textarea,
.form select {
  padding: 1.5rem 1rem;
}
.form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: inherit;
  line-height: inherit;
  width: 100%;
}
.form select,
.form .custom--select {
  cursor: pointer;
}
.form .custom--select {
  -moz-box-align: center;
       align-items: center;
  display: grid;
  grid-template-areas: "arrow";
  position: relative;
}
.form .custom--select::after {
  background-color: currentColor;
  -webkit-clip-path: polygon(100% 0%, 0 0%, 50% 100%);
          clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  content: "";
  height: 0.5em;
  justify-self: end;
  margin-right: 1rem;
  -moz-transition: transform 0.3s cubic-bezier(0.25, 0, 0.5, 1), -moz-transform 0.3s cubic-bezier(0.25, 0, 0.5, 1);
  transition: transform 0.3s cubic-bezier(0.25, 0, 0.5, 1);
  transition: transform 0.3s cubic-bezier(0.25, 0, 0.5, 1), -moz-transform 0.3s cubic-bezier(0.25, 0, 0.5, 1);
  width: 0.8em;
}
.form .custom--select:hover::after {
  -moz-transform: translateY(2.5px);
   -ms-transform: translateY(2.5px);
       transform: translateY(2.5px);
}
.form .custom--select select, .form .custom--select::after {
  grid-area: arrow;
}
.form .custom--select option {
  color: var(--clr-font-lightmode);
}
.form label {
  padding-left: 1rem;
}
[data-theme=light] .form input:not([type=submit]),
[data-theme=light] .form .custom--select,
[data-theme=light] .form textarea {
  --clr-form-input: var(--clr-primary);
  color: var(--clr-font-lightmode);
}
.form input::-webkit-input-placeholder, .form textarea::-webkit-input-placeholder {
  color: var(--clr-font-darkmode);
}
.form input::-moz-placeholder, .form textarea::-moz-placeholder {
  color: var(--clr-font-darkmode);
}
.form input:-ms-input-placeholder, .form textarea:-ms-input-placeholder {
  color: var(--clr-font-darkmode);
}
.form input::-ms-input-placeholder, .form textarea::-ms-input-placeholder {
  color: var(--clr-font-darkmode);
}
.form input::placeholder,
.form textarea::placeholder {
  color: var(--clr-font-darkmode);
}
[data-theme=light] .form input::-webkit-input-placeholder, [data-theme=light] .form textarea::-webkit-input-placeholder {
  color: var(--clr-font-lightmode);
}
[data-theme=light] .form input::-moz-placeholder, [data-theme=light] .form textarea::-moz-placeholder {
  color: var(--clr-font-lightmode);
}
[data-theme=light] .form input:-ms-input-placeholder, [data-theme=light] .form textarea:-ms-input-placeholder {
  color: var(--clr-font-lightmode);
}
[data-theme=light] .form input::-ms-input-placeholder, [data-theme=light] .form textarea::-ms-input-placeholder {
  color: var(--clr-font-lightmode);
}
[data-theme=light] .form input::placeholder,
[data-theme=light] .form textarea::placeholder {
  color: var(--clr-font-lightmode);
}
.form label {
  font-weight: 700;
  font-variation-settings: "wght" 700;
  font-size: clamp(1rem, 5vw, 1.5625rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.5625rem)) {
  .form label {
    font-size: min(max(1rem, 5vw), 1.5625rem);
  }
}
.form__input-field.submit {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: justify;
       justify-content: space-between;
}
.form__input-field.submit .btn {
  width: 66%;
}
.form__input-field.submit input[type=submit] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
}
.form__input-field.submit span {
  color: var(--clr-primary);
}
.form__input-field.submit span svg {
  height: 62.5%;
  width: clamp(3.125rem, 15.625vw, 6.25rem);
}
@supports not (width: clamp(3.125rem, 15.625vw, 6.25rem)) {
  .form__input-field.submit span svg {
    width: min(max(3.125rem, 15.625vw), 6.25rem);
  }
}
.form__input--error {
  background-color: red;
}

a,
.link {
  font-size: clamp(1rem, 5vw, 1.375rem);
  font-weight: 400;
  font-variation-settings: "wght" 400;
}
@supports not (font-size: clamp(1rem, 5vw, 1.375rem)) {
  a,
  .link {
    font-size: min(max(1rem, 5vw), 1.375rem);
  }
}

a[aria-current=page],
.nav__link:hover a {
  text-decoration: underline;
  -webkit-text-decoration-color: var(--clr-primary);
     -moz-text-decoration-color: var(--clr-primary);
          text-decoration-color: var(--clr-primary);
  text-underline-offset: 0.5rem;
}

.link--contact {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
}
.link--contact svg {
  align-self: flex-start;
  -moz-box-flex: 0;
       flex: 0 0 2.5rem;
  height: 2.5rem;
  margin-right: 1.5rem;
  width: 2.5rem;
}
.link--contact svg path {
  fill: var(--clr-primary);
}
.link--contact span {
  font-size: clamp(1rem, 5vw, 1.375rem);
  font-weight: 400;
  font-variation-settings: "wght" 400;
}
@supports not (font-size: clamp(1rem, 5vw, 1.375rem)) {
  .link--contact span {
    font-size: min(max(1rem, 5vw), 1.375rem);
  }
}

.link--external {
  position: relative;
}
.link--external.no-icon::after {
  background-color: currentColor;
  content: "";
  display: inline-block;
  margin-left: 0.5rem;
  -webkit-mask: url("/assets/svgs/external-link.svg") no-repeat 50% 50%;
          mask: url("/assets/svgs/external-link.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
          mask-size: cover;
  height: clamp(1rem, 5vw, 1.25rem);
  width: clamp(1rem, 5vw, 1.25rem);
}
@supports not (height: clamp(1rem, 5vw, 1.25rem)) {
  .link--external.no-icon::after {
    height: min(max(1rem, 5vw), 1.25rem);
  }
}
@supports not (width: clamp(1rem, 5vw, 1.25rem)) {
  .link--external.no-icon::after {
    width: min(max(1rem, 5vw), 1.25rem);
  }
}

.link--highlight {
  background-image: -moz-linear-gradient(65deg, var(--clr-secondary) 0%, rgb(94.2579787234, 9.085106383, 204.414893617) 100%);
  background-image: linear-gradient(25deg, var(--clr-secondary) 0%, rgb(94.2579787234, 9.085106383, 204.414893617) 100%);
  background-position: 0 110%;
  background-repeat: no-repeat;
  background-size: 100% 0.5em;
  font-size: inherit;
  -moz-transition: all 250ms;
  transition: all 250ms;
}
.link--highlight:hover {
  background-size: 100% 100%;
}
[data-theme=light] .link--highlight {
  background-image: -moz-linear-gradient(65deg, var(--clr-primary) 0%, rgb(255, 149.0843373494, 31.5) 100%);
  background-image: linear-gradient(25deg, var(--clr-primary) 0%, rgb(255, 149.0843373494, 31.5) 100%);
}

.link--internal {
  background-image: -moz-linear-gradient(transparent, transparent), -moz-linear-gradient(var(--clr-primary), var(--clr-primary)), -moz-linear-gradient(var(--clr-secondary), var(--clr-secondary));
  background-image: linear-gradient(transparent, transparent), linear-gradient(var(--clr-primary), var(--clr-primary)), linear-gradient(var(--clr-secondary), var(--clr-secondary));
  background-position: -20px 100%, 100% 100%, 0 100%;
  background-size: 20px 2px, 100% 2px, 0 2px;
  background-repeat: no-repeat;
  -moz-transition: background-size 0.3s linear, background-position 0.3s linear;
  transition: background-size 0.3s linear, background-position 0.3s linear;
}
.link--internal:hover {
  background-size: 20px 2px, 0 2px, 100% 2px;
  background-position: -moz-calc(100% + 20px) 100%, 100% 100%, 0 100%;
  background-position: calc(100% + 20px) 100%, 100% 100%, 0 100%;
}

.links__social {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: justify;
       justify-content: space-between;
}
.links__social svg {
  height: 1.5rem;
  width: 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-highlight);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.heading--page {
  font-weight: unset;
  line-height: 1.2;
  font-size: clamp(2.0625rem, 10.3125vw, 6.25rem);
}
@supports not (font-size: clamp(2.0625rem, 10.3125vw, 6.25rem)) {
  .heading--page {
    font-size: min(max(2.0625rem, 10.3125vw), 6.25rem);
  }
}

.heading--section {
  font-weight: unset;
  line-height: 1.2;
  margin: 1rem 0;
  font-size: clamp(1.375rem, 6.875vw, 4.125rem);
}
@supports not (font-size: clamp(1.375rem, 6.875vw, 4.125rem)) {
  .heading--section {
    font-size: min(max(1.375rem, 6.875vw), 4.125rem);
  }
}

h1,
.heading--primary {
  font-size: clamp(2rem, 10vw, 3.4375rem);
}
@supports not (font-size: clamp(2rem, 10vw, 3.4375rem)) {
  h1,
  .heading--primary {
    font-size: min(max(2rem, 10vw), 3.4375rem);
  }
}

h2,
.heading--secondary {
  font-size: clamp(1.375rem, 6.875vw, 4.125rem);
}
@supports not (font-size: clamp(1.375rem, 6.875vw, 4.125rem)) {
  h2,
  .heading--secondary {
    font-size: min(max(1.375rem, 6.875vw), 4.125rem);
  }
}

h3,
.heading--tertiary {
  font-size: clamp(0.875rem, 4.375vw, 1.125rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1.125rem)) {
  h3,
  .heading--tertiary {
    font-size: min(max(0.875rem, 4.375vw), 1.125rem);
  }
}

a,
details,
li,
summary {
  font-size: clamp(1rem, 5vw, 1.125rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.125rem)) {
  a,
  details,
  li,
  summary {
    font-size: min(max(1rem, 5vw), 1.125rem);
  }
}
a.text--big,
details.text--big,
li.text--big,
summary.text--big {
  font-size: clamp(1.8125rem, 9.0625vw, 4.1875rem);
}
@supports not (font-size: clamp(1.8125rem, 9.0625vw, 4.1875rem)) {
  a.text--big,
  details.text--big,
  li.text--big,
  summary.text--big {
    font-size: min(max(1.8125rem, 9.0625vw), 4.1875rem);
  }
}

span {
  font-size: inherit;
}

p {
  color: inherit;
  max-width: 60ch;
}

:is(h1, h2, h3, blockquote) {
  --flow-space: 1.5em;
}

:is(h1, h2, h3) + * {
  --flow-space: 0.5em;
}

.announcement-bar {
  -moz-box-align: center;
       align-items: center;
  background-color: var(--clr-primary);
  display: -moz-box;
  display: flex;
  -moz-box-pack: center;
       justify-content: center;
  min-height: 42px;
}
.announcement-bar__text {
  font-size: clamp(0.875rem, 4.375vw, 1rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1rem)) {
  .announcement-bar__text {
    font-size: min(max(0.875rem, 4.375vw), 1rem);
  }
}

.bg--line {
  height: 100%;
  left: 50%;
  opacity: 0.65;
  position: absolute;
  top: 50%;
  -moz-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
       transform: translate(-50%, -50%);
  width: 100%;
  z-index: -1;
}
.bg--line svg {
  height: 100%;
}
.bg--line svg path {
  stroke: var(--clr-primary);
}

.breadcrumbs {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
}
.breadcrumbs > *:not(:last-child) {
  margin-right: 0.5em;
}
.breadcrumbs span {
  font-size: clamp(0.875rem, 4.375vw, 1rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1rem)) {
  .breadcrumbs span {
    font-size: min(max(0.875rem, 4.375vw), 1rem);
  }
}
.breadcrumbs a {
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  position: relative;
}

.btn {
  --btn-clr-outline: var(--clr-primary);
  --btn-rotate: 3.25deg;
  --btn-border-radius: 10px;
  -moz-box-align: center;
       align-items: center;
  background-color: var(--clr-btn-background, transparent);
  border: 4px solid var(--clr-btn-border, transparent);
  border-radius: var(--btn-border-radius, 0);
  color: var(--btn-clr-font, currentColor);
  cursor: pointer;
  display: -moz-inline-box;
  display: inline-flex;
  -moz-box-pack: center;
       justify-content: center;
  line-height: 1;
  text-align: center;
  -moz-transition: 0.5s;
  transition: 0.5s;
  font-size: clamp(1rem, 5vw, 1.5625rem);
  padding-bottom: clamp(1.25rem, 6.25vw, 2rem);
  padding-left: clamp(1.5rem, 7.5vw, 2.25rem);
  padding-right: clamp(1.5rem, 7.5vw, 2.25rem);
  padding-top: clamp(1.25rem, 6.25vw, 2rem);
  font-weight: 700;
  font-variation-settings: "wght" 700;
}
@supports not (font-size: clamp(1rem, 5vw, 1.5625rem)) {
  .btn {
    font-size: min(max(1rem, 5vw), 1.5625rem);
  }
}
@supports not (padding-bottom: clamp(1.25rem, 6.25vw, 2rem)) {
  .btn {
    padding-bottom: min(max(1.25rem, 6.25vw), 2rem);
  }
}
@supports not (padding-left: clamp(1.5rem, 7.5vw, 2.25rem)) {
  .btn {
    padding-left: min(max(1.5rem, 7.5vw), 2.25rem);
  }
}
@supports not (padding-right: clamp(1.5rem, 7.5vw, 2.25rem)) {
  .btn {
    padding-right: min(max(1.5rem, 7.5vw), 2.25rem);
  }
}
@supports not (padding-top: clamp(1.25rem, 6.25vw, 2rem)) {
  .btn {
    padding-top: min(max(1.25rem, 6.25vw), 2rem);
  }
}
.btn--primary {
  --clr-btn-border: var(--clr-primary);
  --clr-arrow: var(--clr-primary);
}
.btn--secondary {
  --clr-btn-border: var(--clr-secondary);
  --clr-arrow: var(--clr-secondary);
}
.btn--checkout {
  --btn-border-radius: 10px;
  width: 100%;
}
.btn--checkout a {
  background-color: var(--clr-primary);
  block-size: 100%;
  border-radius: var(--btn-border-radius, 0);
  display: block;
  inline-size: 100%;
  padding: 1em;
  text-align: center;
  -moz-transition: 0.5s;
  transition: 0.5s;
}
.btn--primary {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.btn--primary a {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
}
.btn--primary a span:not(.like-animation) {
  border: 1px solid var(--clr-primary);
  border-radius: 100px;
  padding: 1em;
  font-size: clamp(1rem, 5vw, 1.375rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.375rem)) {
  .btn--primary a span:not(.like-animation) {
    font-size: min(max(1rem, 5vw), 1.375rem);
  }
}
.btn--primary a > *:not(:last-child) {
  margin-right: 1.5rem;
}
.btn--primary svg {
  height: clamp(3.125rem, 15.625vw, 4.6875rem);
  width: clamp(3.125rem, 15.625vw, 4.6875rem);
}
@supports not (height: clamp(3.125rem, 15.625vw, 4.6875rem)) {
  .btn--primary svg {
    height: min(max(3.125rem, 15.625vw), 4.6875rem);
  }
}
@supports not (width: clamp(3.125rem, 15.625vw, 4.6875rem)) {
  .btn--primary svg {
    width: min(max(3.125rem, 15.625vw), 4.6875rem);
  }
}
.btn--primary svg .icon__arrow,
.btn--primary svg .icon__circle {
  -moz-transition: fill 0.5s ease-in-out;
  transition: fill 0.5s ease-in-out;
}
.btn--primary:hover svg .icon__arrow {
  fill: var(--clr-primary);
}
.btn--primary:hover svg .icon__circle {
  fill: white;
}
.btn--secondary {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: center;
       justify-content: center;
  min-width: 170px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.btn--secondary span {
  font-weight: 600;
  line-height: 1;
  margin-right: 1.5rem;
  font-size: clamp(0.875rem, 4.375vw, 1rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1rem)) {
  .btn--secondary span {
    font-size: min(max(0.875rem, 4.375vw), 1rem);
  }
}
.btn--secondary svg {
  display: inline-block;
  margin-left: 1rem;
  -moz-transition: transform 0.5s ease-in-out, -moz-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -moz-transform 0.5s ease-in-out;
}
.btn--secondary:hover svg {
  -moz-transform: translateX(0.5rem);
   -ms-transform: translateX(0.5rem);
       transform: translateX(0.5rem);
}
.btn--outlined {
  padding-left: clamp(1rem, 5vw, 2rem);
  padding-right: clamp(1rem, 5vw, 2rem);
}
.btn--outlined a {
  -moz-box-align: center;
       align-items: center;
  border: 1px solid var(--clr-grey-light);
  border-radius: 100px;
  color: var(--clr-grey);
  display: -moz-box;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  max-width: 320px;
  padding: 0.75rem 2rem;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.btn--outlined a:hover {
  background-color: var(--clr-primary);
  border-color: var(--clr-primary);
  color: var(--clr-white);
}
.btn--outlined a:hover svg {
  -moz-transform: translateX(0.25rem);
   -ms-transform: translateX(0.25rem);
       transform: translateX(0.25rem);
}
@supports not (padding-left: clamp(1rem, 5vw, 2rem)) {
  .btn--outlined {
    padding-left: min(max(1rem, 5vw), 2rem);
  }
}
@supports not (padding-right: clamp(1rem, 5vw, 2rem)) {
  .btn--outlined {
    padding-right: min(max(1rem, 5vw), 2rem);
  }
}
.btn--outlined span {
  line-height: 1;
}
.btn--outlined svg {
  display: inline-block;
  margin-left: 1rem;
  -moz-transition: transform 0.5s cubic-bezier(0, 0, 0.3, 1), -moz-transform 0.5s cubic-bezier(0, 0, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0, 0, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0, 0, 0.3, 1), -moz-transform 0.5s cubic-bezier(0, 0, 0.3, 1);
}

.btn--clipboard {
  background-color: #cccccc;
  border-radius: 4px;
  color: #000;
  display: none;
  opacity: 0;
  padding: 0.5rem 1rem;
  position: absolute;
  right: 1rem;
  top: min(1.5rem, 50%);
  -moz-transition: opacity 0.25s cubic-bezier(0, 0, 0.75, 1);
  transition: opacity 0.25s cubic-bezier(0, 0, 0.75, 1);
  -moz-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
       transform: translateY(-50%);
}

.btn--mobile {
  color: var(--clr-primary);
  -moz-transition: 0.3s;
  transition: 0.3s;
  aspect-ratio: 1 / 1;
  width: clamp(2.5rem, 12.5vw, 3.125rem);
}
@supports not (aspect-ratio: 1 / 1) {
  .btn--mobile::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .btn--mobile::after {
    content: "";
    display: block;
    clear: both;
  }
}
@supports not (width: clamp(2.5rem, 12.5vw, 3.125rem)) {
  .btn--mobile {
    width: min(max(2.5rem, 12.5vw), 3.125rem);
  }
}
.btn--mobile svg {
  height: 100%;
  width: 100%;
}
.btn--mobile svg path {
  fill: var(--clr-primary);
}

.btn--wa {
  display: none;
}
.btn--wa.active {
  -moz-box-align: center;
       align-items: center;
  bottom: 1rem;
  display: -moz-box;
  display: flex;
  height: 3rem;
  -moz-box-pack: center;
       justify-content: center;
  position: fixed;
  right: 1rem;
  width: 3rem;
  z-index: 1000;
}
.btn--wa.active::before {
  background-color: #25d366;
  border-radius: 50%;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.btn--wa.active svg {
  color: #fff;
  height: 60%;
  width: 60%;
}

.copyright {
  font-family: var(--font-family-highlight);
}

details > summary {
  list-style: none;
}
details > summary::marker, details > summary::-webkit-details-marker {
  display: none;
}

.drawer__outer {
  border-bottom: 1px solid var(--clr-primary);
  cursor: pointer;
}
.drawer__summary {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-family-highlight);
  -moz-box-pack: justify;
       justify-content: space-between;
  padding: 1.5rem 0.8rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.drawer__summary > span:first-of-type {
  font-size: clamp(1.125rem, 5.625vw, 1.5rem);
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 1.5rem)) {
  .drawer__summary > span:first-of-type {
    font-size: min(max(1.125rem, 5.625vw), 1.5rem);
  }
}
.drawer__summary .treatment__price {
  font-size: clamp(0.875rem, 4.375vw, 1.125rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1.125rem)) {
  .drawer__summary .treatment__price {
    font-size: min(max(0.875rem, 4.375vw), 1.125rem);
  }
}
.drawer__summary .treatment__price span:first-of-type {
  font-weight: 900;
  font-variation-settings: "wght" 900;
}
.drawer__summary .treatment__price span:last-of-type {
  font-weight: 300;
  font-variation-settings: "wght" 300;
}
.drawer__inner {
  border-left: 1px solid var(--clr-primary);
  border-right: 1px solid var(--clr-primary);
  padding: 0.8rem;
}
.drawer__inner-row > * + * {
  -webkit-margin-before: var(--flow-space, 1em);
          margin-block-start: var(--flow-space, 1em);
}
.drawer__inner-row:not(:last-of-type) {
  -webkit-margin-after: 2rem;
          margin-block-end: 2rem;
}
.drawer__inner h3 {
  font-family: var(--font-family-highlight);
  font-weight: 300;
  font-size: clamp(1rem, 5vw, 1.125rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.125rem)) {
  .drawer__inner h3 {
    font-size: min(max(1rem, 5vw), 1.125rem);
  }
}
.drawer__list {
  display: -moz-box;
  display: flex;
  flex-wrap: wrap;
}
.drawer__list-item {
  background-color: var(--clr-primary);
  border: 1px solid var(--clr-primary);
  border-radius: var(--border-radius-pill, 100px);
  -webkit-margin-after: 0.5rem;
          margin-block-end: 0.5rem;
  margin-top: 0.5rem;
  padding: 0.8rem 1rem;
  text-align: center;
}
.drawer__list-item:not(:last-of-type) {
  margin-right: 1rem;
}

.footer {
  background-color: var(--clr-primary);
  padding-bottom: clamp(1rem, 5vw, 2rem);
  padding-left: clamp(1rem, 5vw, 2rem);
  padding-right: clamp(1rem, 5vw, 2rem);
  padding-top: clamp(2rem, 10vw, 4rem);
}
@supports not (padding-bottom: clamp(1rem, 5vw, 2rem)) {
  .footer {
    padding-bottom: min(max(1rem, 5vw), 2rem);
  }
}
@supports not (padding-left: clamp(1rem, 5vw, 2rem)) {
  .footer {
    padding-left: min(max(1rem, 5vw), 2rem);
  }
}
@supports not (padding-right: clamp(1rem, 5vw, 2rem)) {
  .footer {
    padding-right: min(max(1rem, 5vw), 2rem);
  }
}
@supports not (padding-top: clamp(2rem, 10vw, 4rem)) {
  .footer {
    padding-top: min(max(2rem, 10vw), 4rem);
  }
}
.footer > * {
  margin: 0 auto;
  max-width: 700px;
}
.footer > *:not(:last-child) {
  -webkit-margin-after: 2rem;
          margin-block-end: 2rem;
}
.footer__logo {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: start;
       justify-content: flex-start;
}
@media (min-width: 60em) {
  .footer__logo {
    -moz-box-pack: center;
         justify-content: center;
  }
  .footer__logo svg {
    margin: 0 auto;
    height: clamp(3.125rem, 15.625vw, 9.375rem);
    width: clamp(3.125rem, 15.625vw, 9.375rem);
  }
  @supports not (height: clamp(3.125rem, 15.625vw, 9.375rem)) {
    .footer__logo svg {
      height: min(max(3.125rem, 15.625vw), 9.375rem);
    }
  }
  @supports not (width: clamp(3.125rem, 15.625vw, 9.375rem)) {
    .footer__logo svg {
      width: min(max(3.125rem, 15.625vw), 9.375rem);
    }
  }
}
.footer__links ul {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
}
@media (min-width: 60em) {
  .footer__links ul {
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
         flex-direction: row;
    flex-wrap: wrap;
    -moz-box-pack: justify;
         justify-content: space-between;
  }
  .footer__links ul li:not(:last-child) {
    margin-right: 1rem;
  }
}
.footer__links ul a {
  font-family: var(--font-family-highlight);
  text-transform: uppercase;
}
.footer__social {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 60em) {
  .footer__social {
    -moz-box-pack: center;
         justify-content: center;
  }
}
.footer__social p {
  font-family: var(--font-family-highlight);
  line-height: 1;
  margin-right: 1rem;
  text-transform: uppercase;
}
.footer__social .links__social {
  padding: 1rem 0;
}
.footer__social .links__social li:not(:last-child) {
  margin-right: clamp(0.5rem, 2.5vw, 1.5rem);
}
@supports not (margin-right: clamp(0.5rem, 2.5vw, 1.5rem)) {
  .footer__social .links__social li:not(:last-child) {
    margin-right: min(max(0.5rem, 2.5vw), 1.5rem);
  }
}
@media (min-width: 60em) {
  .footer__social p {
    margin-right: 3rem;
  }
}
.footer__legal {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  -moz-box-pack: justify;
       justify-content: space-between;
}
@media (min-width: 60em) {
  .footer__legal {
    padding-top: 2rem;
  }
}
.footer__legal-links {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
}
.footer__legal-links li:not(:last-child) {
  margin-right: 1rem;
}
.footer__legal-links li .link--a11y {
  height: clamp(1rem, 5vw, 1.5rem);
  width: clamp(1rem, 5vw, 1.5rem);
}
@supports not (height: clamp(1rem, 5vw, 1.5rem)) {
  .footer__legal-links li .link--a11y {
    height: min(max(1rem, 5vw), 1.5rem);
  }
}
@supports not (width: clamp(1rem, 5vw, 1.5rem)) {
  .footer__legal-links li .link--a11y {
    width: min(max(1rem, 5vw), 1.5rem);
  }
}

.like-animation {
  background: url(../../assets/svgs/heart-filled-animation.svg) no-repeat center;
  background-size: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  height: clamp(1rem, 5vw, 2rem);
  width: clamp(1rem, 5vw, 2rem);
}
@supports not (height: clamp(1rem, 5vw, 2rem)) {
  .like-animation {
    height: min(max(1rem, 5vw), 2rem);
  }
}
@supports not (width: clamp(1rem, 5vw, 2rem)) {
  .like-animation {
    width: min(max(1rem, 5vw), 2rem);
  }
}
.like-animation::before, .like-animation::after {
  content: "";
  background: url(../../assets/svgs/heart-filled-animation.svg) no-repeat center;
  background-size: 100%;
  display: inherit;
  height: 80%;
  left: inherit;
  opacity: 0;
  position: relative;
  visibility: hidden;
  top: inherit;
  width: 80%;
}
.like-animation.animate {
  -moz-animation: heart-float-main-1 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
       animation: heart-float-main-1 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}
.like-animation.animate::before {
  -moz-animation: heart-float-sub-1 1s 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
       animation: heart-float-sub-1 1s 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
  opacity: 0.6;
}
.like-animation.animate::after {
  -moz-animation: heart-float-sub-2 1s 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
       animation: heart-float-sub-2 1s 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
  opacity: 0.75;
}
@-moz-keyframes heart-float-main-1 {
  0% {
    opacity: 0;
    -moz-transform: translate(0) rotate(0);
         transform: translate(0) rotate(0);
  }
  50% {
    opacity: 1;
    -moz-transform: translate(0, min(-3vw, -25px)) rotate(-20deg);
         transform: translate(0, min(-3vw, -25px)) rotate(-20deg);
  }
}
@keyframes heart-float-main-1 {
  0% {
    opacity: 0;
    -moz-transform: translate(0) rotate(0);
         transform: translate(0) rotate(0);
  }
  50% {
    opacity: 1;
    -moz-transform: translate(0, min(-3vw, -25px)) rotate(-20deg);
         transform: translate(0, min(-3vw, -25px)) rotate(-20deg);
  }
}
@-moz-keyframes heart-float-sub-1 {
  0% {
    visibility: hidden;
    -moz-transform: translate(0) rotate(0);
         transform: translate(0) rotate(0);
  }
  50% {
    visibility: visible;
    -moz-transform: translate(13px, -13px) rotate(30deg);
         transform: translate(13px, -13px) rotate(30deg);
  }
}
@keyframes heart-float-sub-1 {
  0% {
    visibility: hidden;
    -moz-transform: translate(0) rotate(0);
         transform: translate(0) rotate(0);
  }
  50% {
    visibility: visible;
    -moz-transform: translate(13px, -13px) rotate(30deg);
         transform: translate(13px, -13px) rotate(30deg);
  }
}
@-moz-keyframes heart-float-sub-2 {
  0% {
    visibility: hidden;
    -moz-transform: translate(0) rotate(0);
         transform: translate(0) rotate(0);
  }
  50% {
    visibility: visible;
    -moz-transform: translate(18px, -10px) rotate(55deg);
         transform: translate(18px, -10px) rotate(55deg);
  }
}
@keyframes heart-float-sub-2 {
  0% {
    visibility: hidden;
    -moz-transform: translate(0) rotate(0);
         transform: translate(0) rotate(0);
  }
  50% {
    visibility: visible;
    -moz-transform: translate(18px, -10px) rotate(55deg);
         transform: translate(18px, -10px) rotate(55deg);
  }
}

.nav--primary-mobile {
  --max-width: 75rem;
  display: grid;
  gap: var(--gap-y) var(--gap-x);
  grid-template-columns: [full-start] minmax(1.5rem, 1fr) [wrapper-start] minmax(0, var(--max-width)) [wrapper-end] minmax(1.5rem, 1fr) [full-end];
  -webkit-margin-after: clamp(2rem, 10vw, 3rem);
          margin-block-end: clamp(2rem, 10vw, 3rem);
  padding-top: clamp(0.5rem, 2.5vw, 1.5rem);
}
@supports not ((-webkit-margin-after: clamp(2rem, 10vw, 3rem)) or (margin-block-end: clamp(2rem, 10vw, 3rem))) {
  .nav--primary-mobile {
    -webkit-margin-after: min(max(2rem, 10vw), 3rem);
            margin-block-end: min(max(2rem, 10vw), 3rem);
  }
}
@supports not (padding-top: clamp(0.5rem, 2.5vw, 1.5rem)) {
  .nav--primary-mobile {
    padding-top: min(max(0.5rem, 2.5vw), 1.5rem);
  }
}
.nav--primary-mobile > * {
  grid-column: wrapper;
}
.nav--primary-mobile-visible {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: justify;
       justify-content: space-between;
}
.nav--primary-mobile .btn--mobile {
  z-index: 2000;
}
.nav--primary-mobile .nav__link-logo {
  display: -moz-box;
  display: flex;
  -moz-box-flex: 1;
       flex: 1;
  -moz-box-pack: center;
       justify-content: center;
}
.nav--primary-mobile .nav__link-logo svg {
  height: clamp(4.375rem, 21.875vw, 9.375rem);
  width: clamp(5.0625rem, 25.3125vw, 10.9375rem);
}
@supports not (height: clamp(4.375rem, 21.875vw, 9.375rem)) {
  .nav--primary-mobile .nav__link-logo svg {
    height: min(max(4.375rem, 21.875vw), 9.375rem);
  }
}
@supports not (width: clamp(5.0625rem, 25.3125vw, 10.9375rem)) {
  .nav--primary-mobile .nav__link-logo svg {
    width: min(max(5.0625rem, 25.3125vw), 10.9375rem);
  }
}
.nav--primary-mobile .nav__wrapper {
  -moz-box-align: center;
       align-items: center;
  background: var(--clr-theme-bg-invert);
  color: var(--clr-font-invert);
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  min-height: 100vh;
  overflow: hidden;
  position: fixed;
  -moz-transform: translateX(-101%);
   -ms-transform: translateX(-101%);
       transform: translateX(-101%);
  -moz-transition: transform 0.4s, -moz-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -moz-transform 0.4s;
  width: 100%;
  z-index: 1000;
  inset: 0;
}
@supports not (inset: 0) {
  .nav--primary-mobile .nav__wrapper {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
  }
}
.nav--primary-mobile .nav__wrapper .nav__links,
.nav--primary-mobile .nav__wrapper .nav__social {
  width: min(300px, 90%);
}
.nav--primary-mobile .nav__wrapper .links__social {
  -moz-box-pack: start;
       justify-content: flex-start;
  margin-top: clamp(1rem, 5vw, 1.5rem);
}
@supports not (margin-top: clamp(1rem, 5vw, 1.5rem)) {
  .nav--primary-mobile .nav__wrapper .links__social {
    margin-top: min(max(1rem, 5vw), 1.5rem);
  }
}
.nav--primary-mobile .nav__wrapper .links__social li:not(:last-child) {
  margin-right: 1rem;
}
.nav--primary-mobile .nav__wrapper .nav__links {
  -webkit-margin-after: clamp(2rem, 10vw, 3rem);
          margin-block-end: clamp(2rem, 10vw, 3rem);
}
@supports not ((-webkit-margin-after: clamp(2rem, 10vw, 3rem)) or (margin-block-end: clamp(2rem, 10vw, 3rem))) {
  .nav--primary-mobile .nav__wrapper .nav__links {
    -webkit-margin-after: min(max(2rem, 10vw), 3rem);
            margin-block-end: min(max(2rem, 10vw), 3rem);
  }
}
.nav--primary-mobile .nav__wrapper .nav__links li {
  opacity: 0;
  -moz-transform: translateX(-2rem);
   -ms-transform: translateX(-2rem);
       transform: translateX(-2rem);
  -moz-transition-property: all;
  transition-property: all;
  -moz-transition-duration: 0.4s;
       transition-duration: 0.4s;
}
.nav--primary-mobile .nav__wrapper .nav__links li:not(:last-of-type) {
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
}
.nav--primary-mobile .nav__wrapper .nav__links li:nth-of-type(1) {
  -moz-transition-delay: -0.1s;
       transition-delay: -0.1s;
}
.nav--primary-mobile .nav__wrapper .nav__links li:nth-of-type(2) {
  -moz-transition-delay: 0.02s;
       transition-delay: 0.02s;
}
.nav--primary-mobile .nav__wrapper .nav__links li:nth-of-type(3) {
  -moz-transition-delay: 0.14s;
       transition-delay: 0.14s;
}
.nav--primary-mobile .nav__wrapper .nav__links li:nth-of-type(4) {
  -moz-transition-delay: 0.26s;
       transition-delay: 0.26s;
}
.nav--primary-mobile .nav__wrapper .nav__links li a {
  font-family: var(--font-family-highlight);
  text-transform: uppercase;
  font-size: clamp(1.125rem, 5.625vw, 1.375rem);
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 1.375rem)) {
  .nav--primary-mobile .nav__wrapper .nav__links li a {
    font-size: min(max(1.125rem, 5.625vw), 1.375rem);
  }
}
.nav--primary-mobile.nav-open .btn--mobile {
  position: fixed;
  top: 42px;
}
.nav--primary-mobile.nav-open .nav__wrapper {
  -moz-transform: translateX(0);
   -ms-transform: translateX(0);
       transform: translateX(0);
}
.nav--primary-mobile.nav-open .nav__wrapper .nav__links li {
  opacity: 1;
  -moz-transform: translateX(0);
   -ms-transform: translateX(0);
       transform: translateX(0);
}
@media (min-width: 60em) {
  .nav--primary-mobile {
    display: none;
  }
}

.nav__link-shop a {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
}
.nav__link-shop a span {
  line-height: 1;
}
.nav__link-shop a svg {
  margin-left: 0.75rem;
}

.nav--primary {
  display: none;
}
@media (min-width: 60em) {
  .nav--primary {
    display: block;
  }
}
.nav--primary .nav__wrapper {
  display: -moz-box;
  display: flex;
  -moz-box-pack: center;
       justify-content: center;
  -webkit-margin-after: clamp(4.6875rem, 23.4375vw, 6.25rem);
          margin-block-end: clamp(4.6875rem, 23.4375vw, 6.25rem);
}
@supports not ((-webkit-margin-after: clamp(4.6875rem, 23.4375vw, 6.25rem)) or (margin-block-end: clamp(4.6875rem, 23.4375vw, 6.25rem))) {
  .nav--primary .nav__wrapper {
    -webkit-margin-after: min(max(4.6875rem, 23.4375vw), 6.25rem);
            margin-block-end: min(max(4.6875rem, 23.4375vw), 6.25rem);
  }
}
.nav--primary .nav__links {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: space-evenly;
       justify-content: space-evenly;
  gap: 1.5rem;
  margin: 0 1rem;
  max-width: 1200px;
  padding: 1.5rem 0;
  width: 100%;
}
.nav--primary .nav__link:not(.nav__link-logo) {
  font-family: var(--font-family-highlight);
  text-transform: uppercase;
  font-size: clamp(1rem, 5vw, 1.25rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.25rem)) {
  .nav--primary .nav__link:not(.nav__link-logo) {
    font-size: min(max(1rem, 5vw), 1.25rem);
  }
}
.nav--primary .nav__link:not(.nav__link-logo):not(:last-of-type) {
  margin-right: 1.5rem;
}
.nav--primary .nav__link-logo {
  display: -moz-box;
  display: flex;
  -moz-box-flex: 1;
       flex: 1;
  -moz-box-pack: center;
       justify-content: center;
}
.nav--primary .nav__link-logo svg {
  height: clamp(6.4375rem, 32.1875vw, 9.375rem);
  width: clamp(7.5rem, 37.5vw, 10.9375rem);
}
@supports not (height: clamp(6.4375rem, 32.1875vw, 9.375rem)) {
  .nav--primary .nav__link-logo svg {
    height: min(max(6.4375rem, 32.1875vw), 9.375rem);
  }
}
@supports not (width: clamp(7.5rem, 37.5vw, 10.9375rem)) {
  .nav--primary .nav__link-logo svg {
    width: min(max(7.5rem, 37.5vw), 10.9375rem);
  }
}

.size-guide__ui-open {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  gap: 0.5em;
  line-height: 1;
}
.size-guide__ui-open svg {
  height: 1em;
  width: 1em;
}
.size-guide__ui-open span {
  font-weight: 700;
  font-variation-settings: "wght" 700;
}
.size-guide__ui-close {
  -moz-box-align: center;
       align-items: center;
  border-radius: 50%;
  border: 1px solid var(--clr-primary);
  display: -moz-box;
  display: flex;
  -moz-box-pack: center;
       justify-content: center;
  height: 2em;
  line-height: 1;
  -webkit-margin-start: auto;
     -moz-margin-start: auto;
          margin-inline-start: auto;
  width: 2em;
}
.size-guide table {
  border-collapse: collapse;
  width: 100%;
}
.size-guide table th,
.size-guide table td {
  border: 1px solid var(--clr-primary);
  padding: 0.5em;
  text-align: center;
}
.size-guide table th {
  background-color: var(--clr-primary);
  color: var(--clr-white);
}
.size-guide dialog {
  border: none;
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  left: 50%;
  max-height: min(85vh, 750px);
  opacity: 0;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  text-align: center;
  top: 50%;
  -moz-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
       transform: translate(-50%, -50%);
  -moz-transition: opacity 0.15s ease-out, transform 0.15s ease-out, overlay 0.15s ease-out allow-discrete, display 0.15s ease-out allow-discrete, -moz-transform 0.15s ease-out;
  transition: opacity 0.15s ease-out, transform 0.15s ease-out, overlay 0.15s ease-out allow-discrete, display 0.15s ease-out allow-discrete;
  transition: opacity 0.15s ease-out, transform 0.15s ease-out, overlay 0.15s ease-out allow-discrete, display 0.15s ease-out allow-discrete, -moz-transform 0.15s ease-out;
  width: min(100%, 600px);
  padding: clamp(1.5rem, 7.5vw, 3rem);
}
@supports not (padding: clamp(1.5rem, 7.5vw, 3rem)) {
  .size-guide dialog {
    padding: min(max(1.5rem, 7.5vw), 3rem);
  }
}
.size-guide dialog::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0);
  -ms-transition: display 0.15s allow-discrete, overlay 0.15s allow-discrete, background-color 0.15s;
  transition: display 0.15s allow-discrete, overlay 0.15s allow-discrete, background-color 0.15s;
}
.size-guide dialog::backdrop {
  background-color: rgba(0, 0, 0, 0);
  -moz-transition: display 0.15s allow-discrete, overlay 0.15s allow-discrete, background-color 0.15s;
  transition: display 0.15s allow-discrete, overlay 0.15s allow-discrete, background-color 0.15s;
}
.size-guide dialog[open]::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.25);
}
.size-guide dialog[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.25);
}
.size-guide dialog[open] {
  opacity: 1;
}
.size-guide dialog h2 {
  --flow: 0.15em;
}
.size-guide dialog p {
  margin-inline: auto;
  width: min(40ch, 100%);
}
@starting-style {
  .size-guide dialog[open] {
    opacity: 0;
  }
}
@starting-style {
  .size-guide dialog[open]::-ms-backdrop {
    background-color: rgba(0, 0, 0, 0);
  }
  .size-guide dialog[open]::backdrop {
    background-color: rgba(0, 0, 0, 0);
  }
}

.about {
  --mb: clamp(4.5rem, 22.5vw, 9rem);
}
@supports not (--mb: clamp(4.5rem, 22.5vw, 9rem)) {
  .about {
    --mb: min(max(4.5rem, 22.5vw), 9rem);
  }
}
@media (min-width: 60em) {
  .about[data-section] > .about__box.full-width {
    grid-column: wrapper;
  }
}
.about__box {
  display: grid;
  grid-template-areas: "image-1" "middle" "image-2";
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 60em) {
  .about__box {
    grid-template-areas: unset;
    grid-template-columns: repeat(3, -moz-calc(56% - 27.5px) 55px -moz-calc(44% - 27.5px));
    grid-template-columns: repeat(3, calc(56% - 27.5px) 55px calc(44% - 27.5px));
    grid-template-rows: minmax(5rem, 8rem) auto auto minmax(2rem, 4rem);
  }
}
.about .heading--section {
  grid-area: middle;
  grid-row: 2/3;
  place-self: start center;
  position: relative;
  z-index: 10;
}
@media (min-width: 60em) {
  .about .heading--section {
    grid-column: 1/4;
    grid-row: 1/2;
    place-self: start center;
  }
}
.about__text {
  background-color: var(--clr-primary);
  display: grid;
  gap: 1.5rem 0;
  grid-area: middle;
  grid-row: 2/3;
  grid-template-columns: minmax(0, 1fr);
  padding-bottom: clamp(1rem, 5vw, 2rem);
  padding-left: clamp(2rem, 10vw, 6rem);
  padding-right: clamp(2rem, 10vw, 6rem);
  padding-top: clamp(4rem, 20vw, 8rem);
}
.about__text p:not([class*=about__qualification]):last-of-type {
  -moz-box-ordinal-group: 5;
       order: 4;
}
@media (min-width: 60em) {
  .about__text p:not([class*=about__qualification]) {
    text-align: end;
  }
}
@media (min-width: 60em) {
  .about__text {
    border-radius: 300px 0 0 300px;
  }
}
@supports not (padding-bottom: clamp(1rem, 5vw, 2rem)) {
  .about__text {
    padding-bottom: min(max(1rem, 5vw), 2rem);
  }
}
@supports not (padding-left: clamp(2rem, 10vw, 6rem)) {
  .about__text {
    padding-left: min(max(2rem, 10vw), 6rem);
  }
}
@supports not (padding-right: clamp(2rem, 10vw, 6rem)) {
  .about__text {
    padding-right: min(max(2rem, 10vw), 6rem);
  }
}
@supports not (padding-top: clamp(4rem, 20vw, 8rem)) {
  .about__text {
    padding-top: min(max(4rem, 20vw), 8rem);
  }
}
@media (min-width: 60em) {
  .about__text {
    grid-column: 1/3;
    grid-row: 1/5;
  }
}
.about__qualification-list {
  display: grid;
  gap: 1.5rem 0;
  grid-template-columns: minmax(0, 1fr);
}
.about__qualification-list-item {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: center;
       justify-content: center;
  width: 100%;
}
.about__qualification-list-item .icon__box {
  color: var(--clr-light);
  flex-shrink: 0;
  margin-right: 1.5rem;
}
.about__qualification-list-item .icon__box svg {
  height: clamp(1rem, 5vw, 1.5rem);
  width: clamp(1rem, 5vw, 1.5rem);
}
@supports not (height: clamp(1rem, 5vw, 1.5rem)) {
  .about__qualification-list-item .icon__box svg {
    height: min(max(1rem, 5vw), 1.5rem);
  }
}
@supports not (width: clamp(1rem, 5vw, 1.5rem)) {
  .about__qualification-list-item .icon__box svg {
    width: min(max(1rem, 5vw), 1.5rem);
  }
}
.about__qualification-details {
  width: 100%;
}
.about__qualification-type {
  font-size: clamp(1.125rem, 5.625vw, 1.25rem);
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 1.25rem)) {
  .about__qualification-type {
    font-size: min(max(1.125rem, 5.625vw), 1.25rem);
  }
}
.about__qualification-education {
  font-size: clamp(0.875rem, 4.375vw, 1rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1rem)) {
  .about__qualification-education {
    font-size: min(max(0.875rem, 4.375vw), 1rem);
  }
}
.about__heading {
  font-family: var(--font-family-default);
  font-weight: 600;
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
}
@media (min-width: 60em) {
  .about__image {
    max-width: 500px;
  }
}
.about__image:nth-of-type(1) {
  grid-area: image-1;
}
@media (min-width: 60em) {
  .about__image:nth-of-type(1) {
    grid-column: 2/4;
    grid-row: 2/3;
    place-self: end start;
  }
}
.about__image:nth-of-type(1) img {
  border-radius: 50% 50% 0 0;
}
@media (min-width: 60em) {
  .about__image:nth-of-type(1) img {
    border-top-left-radius: 0;
    border-top-right-radius: 50%;
  }
}
.about__image:nth-of-type(2) {
  grid-area: image-2;
}
@media (min-width: 60em) {
  .about__image:nth-of-type(2) {
    grid-column: 3/4;
    grid-row: 3/4;
  }
}
.about__image:nth-of-type(2) img {
  border-radius: 0 0 50% 50%;
}
@media (min-width: 60em) {
  .about__image:nth-of-type(2) img {
    border-end-start-radius: 0;
    border-end-end-radius: 50%;
  }
}

.construction__wrapper {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  -webkit-margin-after: clamp(3rem, 15vw, 6rem);
          margin-block-end: clamp(3rem, 15vw, 6rem);
  -webkit-margin-before: clamp(1rem, 5vw, 2rem);
          margin-block-start: clamp(1rem, 5vw, 2rem);
}
@supports not ((-webkit-margin-after: clamp(3rem, 15vw, 6rem)) or (margin-block-end: clamp(3rem, 15vw, 6rem))) {
  .construction__wrapper {
    -webkit-margin-after: min(max(3rem, 15vw), 6rem);
            margin-block-end: min(max(3rem, 15vw), 6rem);
  }
}
@supports not ((-webkit-margin-before: clamp(1rem, 5vw, 2rem)) or (margin-block-start: clamp(1rem, 5vw, 2rem))) {
  .construction__wrapper {
    -webkit-margin-before: min(max(1rem, 5vw), 2rem);
            margin-block-start: min(max(1rem, 5vw), 2rem);
  }
}
.construction__wrapper > * {
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.construction__wrapper .sandglass {
  -webkit-margin-after: clamp(2rem, 10vw, 4rem);
          margin-block-end: clamp(2rem, 10vw, 4rem);
  width: clamp(6.25rem, 31.25vw, 12.5rem);
}
@supports not ((-webkit-margin-after: clamp(2rem, 10vw, 4rem)) or (margin-block-end: clamp(2rem, 10vw, 4rem))) {
  .construction__wrapper .sandglass {
    -webkit-margin-after: min(max(2rem, 10vw), 4rem);
            margin-block-end: min(max(2rem, 10vw), 4rem);
  }
}
@supports not (width: clamp(6.25rem, 31.25vw, 12.5rem)) {
  .construction__wrapper .sandglass {
    width: min(max(6.25rem, 31.25vw), 12.5rem);
  }
}
.construction__wrapper .sandglass svg {
  height: 100%;
  width: 100%;
}
.construction__wrapper h1,
.construction__wrapper p {
  text-align: center;
}
.construction__wrapper a svg {
  height: clamp(1.5625rem, 7.8125vw, 2.5rem);
  width: clamp(1.5625rem, 7.8125vw, 2.5rem);
}
@supports not (height: clamp(1.5625rem, 7.8125vw, 2.5rem)) {
  .construction__wrapper a svg {
    height: min(max(1.5625rem, 7.8125vw), 2.5rem);
  }
}
@supports not (width: clamp(1.5625rem, 7.8125vw, 2.5rem)) {
  .construction__wrapper a svg {
    width: min(max(1.5625rem, 7.8125vw), 2.5rem);
  }
}
.construction__wrapper small {
  text-align: center;
  width: min(65ch, 100%);
  margin-top: clamp(1rem, 5vw, 1.5rem);
}
@supports not (margin-top: clamp(1rem, 5vw, 1.5rem)) {
  .construction__wrapper small {
    margin-top: min(max(1rem, 5vw), 1.5rem);
  }
}

.contact .heading--section {
  grid-column: 1/2;
  grid-row: 1/2;
  place-self: center;
  text-align: center;
}
@media (min-width: 60em) {
  .contact .heading--section {
    grid-row: 1/2;
    place-self: end center;
  }
}
.contact__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  position: relative;
}
.contact__deco {
  color: var(--clr-primary);
  position: absolute;
  left: var(--decoCoordX);
  top: var(--decoCoordY);
  z-index: -1;
}
.contact__deco#heart-filled-1 svg {
  height: clamp(1.5rem, 7.5vw, 4.8125rem);
  width: clamp(1.6875rem, 8.4375vw, 5.5rem);
}
@supports not (height: clamp(1.5rem, 7.5vw, 4.8125rem)) {
  .contact__deco#heart-filled-1 svg {
    height: min(max(1.5rem, 7.5vw), 4.8125rem);
  }
}
@supports not (width: clamp(1.6875rem, 8.4375vw, 5.5rem)) {
  .contact__deco#heart-filled-1 svg {
    width: min(max(1.6875rem, 8.4375vw), 5.5rem);
  }
}
.contact__deco#heart-filled-2 svg {
  -moz-transform: rotate(16deg);
   -ms-transform: rotate(16deg);
       transform: rotate(16deg);
  height: clamp(1.75rem, 8.75vw, 5.5625rem);
  width: clamp(2rem, 10vw, 6.375rem);
}
@supports not (height: clamp(1.75rem, 8.75vw, 5.5625rem)) {
  .contact__deco#heart-filled-2 svg {
    height: min(max(1.75rem, 8.75vw), 5.5625rem);
  }
}
@supports not (width: clamp(2rem, 10vw, 6.375rem)) {
  .contact__deco#heart-filled-2 svg {
    width: min(max(2rem, 10vw), 6.375rem);
  }
}
.contact__deco#heart-empty-3 svg {
  height: clamp(1.5rem, 7.5vw, 4.1875rem);
  width: clamp(1.75rem, 8.75vw, 4.8125rem);
}
@supports not (height: clamp(1.5rem, 7.5vw, 4.1875rem)) {
  .contact__deco#heart-empty-3 svg {
    height: min(max(1.5rem, 7.5vw), 4.1875rem);
  }
}
@supports not (width: clamp(1.75rem, 8.75vw, 4.8125rem)) {
  .contact__deco#heart-empty-3 svg {
    width: min(max(1.75rem, 8.75vw), 4.8125rem);
  }
}
.contact__deco#circles-4 svg {
  height: 5.3rem;
  width: 5.3rem;
}
.contact__deco#outro-circles-4 svg {
  height: clamp(3.125rem, 15.625vw, 9.375rem);
  width: clamp(3.125rem, 15.625vw, 9.375rem);
}
@supports not (height: clamp(3.125rem, 15.625vw, 9.375rem)) {
  .contact__deco#outro-circles-4 svg {
    height: min(max(3.125rem, 15.625vw), 9.375rem);
  }
}
@supports not (width: clamp(3.125rem, 15.625vw, 9.375rem)) {
  .contact__deco#outro-circles-4 svg {
    width: min(max(3.125rem, 15.625vw), 9.375rem);
  }
}
.contact__deco#star-6 svg {
  height: clamp(1.0625rem, 5.3125vw, 2.0625rem);
  width: clamp(1rem, 5vw, 2rem);
}
@supports not (height: clamp(1.0625rem, 5.3125vw, 2.0625rem)) {
  .contact__deco#star-6 svg {
    height: min(max(1.0625rem, 5.3125vw), 2.0625rem);
  }
}
@supports not (width: clamp(1rem, 5vw, 2rem)) {
  .contact__deco#star-6 svg {
    width: min(max(1rem, 5vw), 2rem);
  }
}
.contact__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.contact__bg {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-column: 1/2;
  grid-row: 2/5;
  margin: 1.5rem 0;
  place-items: center;
  position: relative;
  z-index: -1;
}
@media (min-width: 60em) {
  .contact__bg {
    grid-column: 1/2;
    grid-row: 1/4;
  }
}
.contact__orbit, .contact__circle {
  grid-column: 1/2;
  grid-row: 1/2;
}
.contact__orbit {
  border: 1px solid var(--clr-primary);
  border-radius: 50%;
}
.contact__orbit:nth-of-type(1) {
  height: 66vw;
  max-height: 916px;
  max-width: 916px;
  width: 66vw;
}
.contact__orbit:nth-of-type(2) {
  height: 67vw;
  max-height: 932px;
  max-width: 932px;
  width: 67vw;
}
.contact__circle {
  background-color: var(--clr-primary);
  border-radius: 50%;
  height: 65vw;
  max-height: 900px;
  max-width: 900px;
  width: 65vw;
}
.contact__text {
  grid-column: 1/2;
  grid-row: 5/6;
  place-self: center;
  text-align: center;
  width: min(23rem, 90%);
  font-size: clamp(1rem, 5vw, 1.25rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.25rem)) {
  .contact__text {
    font-size: min(max(1rem, 5vw), 1.25rem);
  }
}
@media (min-width: 60em) {
  .contact__text {
    grid-row: 3/4;
    place-self: start center;
  }
}
.contact__link {
  grid-column: 1/2;
  grid-row: 2/5;
  place-self: center;
}
@media (min-width: 60em) {
  .contact__link {
    grid-row: 2/3;
  }
}
.contact__link a:hover svg {
  -moz-animation: wiggle 3s infinite both;
       animation: wiggle 3s infinite both;
}
.contact__link svg {
  height: clamp(3.125rem, 15.625vw, 6.8125rem);
  width: clamp(3.6875rem, 18.4375vw, 8rem);
}
@supports not (height: clamp(3.125rem, 15.625vw, 6.8125rem)) {
  .contact__link svg {
    height: min(max(3.125rem, 15.625vw), 6.8125rem);
  }
}
@supports not (width: clamp(3.6875rem, 18.4375vw, 8rem)) {
  .contact__link svg {
    width: min(max(3.6875rem, 18.4375vw), 8rem);
  }
}
.contact__outro {
  display: grid;
  grid-template-areas: "text" "img";
  grid-template-columns: minmax(0, 1fr);
  position: relative;
  margin-top: clamp(4rem, 20vw, 8rem);
}
@supports not (margin-top: clamp(4rem, 20vw, 8rem)) {
  .contact__outro {
    margin-top: min(max(4rem, 20vw), 8rem);
  }
}
@media (min-width: 60em) {
  .contact__outro {
    grid-template-areas: "img text";
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.contact__outro p {
  font-family: var(--font-family-highlight);
  grid-area: text;
  line-height: 1.2;
  -webkit-margin-after: 3rem;
          margin-block-end: 3rem;
  place-self: center;
  text-align: center;
  font-size: clamp(2.0625rem, 10.3125vw, 4.125rem);
}
@supports not (font-size: clamp(2.0625rem, 10.3125vw, 4.125rem)) {
  .contact__outro p {
    font-size: min(max(2.0625rem, 10.3125vw), 4.125rem);
  }
}
@media (min-width: 60em) {
  .contact__outro p {
    place-self: end start;
    text-align: left;
  }
}
.contact__outro-img {
  grid-area: img;
}
.contact__outro .contact__deco#outro-circles-4 {
  --decoCoordX: 52%;
  --decoCoordY: 18%;
}
.contact__outro .contact__deco#outro-circles-4 svg {
  height: clamp(2.1875rem, 10.9375vw, 9.375rem);
  width: clamp(2.1875rem, 10.9375vw, 9.375rem);
}
@supports not (height: clamp(2.1875rem, 10.9375vw, 9.375rem)) {
  .contact__outro .contact__deco#outro-circles-4 svg {
    height: min(max(2.1875rem, 10.9375vw), 9.375rem);
  }
}
@supports not (width: clamp(2.1875rem, 10.9375vw, 9.375rem)) {
  .contact__outro .contact__deco#outro-circles-4 svg {
    width: min(max(2.1875rem, 10.9375vw), 9.375rem);
  }
}
@media (min-width: 60em) {
  .contact__outro .contact__deco#outro-circles-4 {
    --decoCoordX: 83%;
    --decoCoordY: 24%;
  }
}
.contact__outro .contact__deco#outro-star-5 {
  --decoCoordX: 4%;
  --decoCoordY: -2%;
}
@media (min-width: 60em) {
  .contact__outro .contact__deco#outro-star-5 {
    --decoCoordX: 62%;
    --decoCoordY: 11%;
  }
}

.hero {
  position: relative;
  --mb: clamp(4rem, 20vw, 6rem);
  -webkit-padding-before: clamp(2rem, 10vw, 4rem);
          padding-block-start: clamp(2rem, 10vw, 4rem);
}
@supports not (--mb: clamp(4rem, 20vw, 6rem)) {
  .hero {
    --mb: min(max(4rem, 20vw), 6rem);
  }
}
@supports not ((-webkit-padding-before: clamp(2rem, 10vw, 4rem)) or (padding-block-start: clamp(2rem, 10vw, 4rem))) {
  .hero {
    -webkit-padding-before: min(max(2rem, 10vw), 4rem);
            padding-block-start: min(max(2rem, 10vw), 4rem);
  }
}
.hero__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  position: relative;
}
@media (min-width: 60em) {
  .hero__wrapper {
    grid-template-columns: 1.6fr 1fr;
    place-items: unset;
  }
}
.hero__text {
  display: grid;
}
.hero__text > * {
  -webkit-margin-after: var(--flow, 1.5em);
          margin-block-end: var(--flow, 1.5em);
}
.hero__title {
  --flow: 2em;
}
.hero__title h1 {
  display: inline;
  line-height: 1;
}
.hero__icon {
  color: var(--clr-primary);
}
.hero__icon.hero__icon-filled-heart {
  display: none;
}
@media (min-width: 60em) {
  .hero__icon.hero__icon-filled-heart {
    display: block;
  }
}
.hero__icon.hero__icon-empty-heart {
  display: inline;
}
.hero__icon.hero__icon-empty-heart svg {
  display: inherit;
  height: min(10vw, 1.5rem);
  margin-left: 1rem;
  width: min(10vw, 1.5rem);
}
.hero__icon.hero__icon-stars {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  height: 50px;
  -moz-box-pack: center;
       justify-content: center;
}
@media (min-width: 60em) {
  .hero__icon.hero__icon-stars {
    left: 50%;
    position: absolute;
    top: 40%;
    -moz-transform: translate(-50%, -50%);
     -ms-transform: translate(-50%, -50%);
         transform: translate(-50%, -50%);
    z-index: -1;
  }
}
.hero__icon.hero__icon-stars svg {
  display: inline;
}
.hero__icon.hero__icon-stars svg:nth-of-type(2) {
  align-self: flex-end;
  height: 1rem;
  margin-left: min(10vw, 3rem);
  width: 1rem;
}
.hero__teaser-pillar {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  height: 100%;
  margin-top: clamp(1rem, 5vw, 6rem);
}
@supports not (margin-top: clamp(1rem, 5vw, 6rem)) {
  .hero__teaser-pillar {
    margin-top: min(max(1rem, 5vw), 6rem);
  }
}
@media (min-width: 60em) {
  .hero__teaser-pillar {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
.hero__teaser-image-box {
  border: 1px solid var(--clr-primary);
  border-bottom: none;
  border-radius: 77% 77% 0px 0px;
  padding: 1.5rem 1.5rem 0;
}
.hero__teaser-image-box img {
  border-radius: 77% 77% 0px 0px;
  max-width: 480px;
  max-height: 430px;
  aspect-ratio: 1 / 1.12;
}
@supports not (aspect-ratio: 1 / 1.12) {
  .hero__teaser-image-box img::before {
    content: "";
    float: left;
    padding-top: 112%;
  }
  .hero__teaser-image-box img::after {
    content: "";
    display: block;
    clear: both;
  }
}
.hero__teaser-block {
  border-left: 1px solid var(--clr-primary);
  border-right: 1px solid var(--clr-primary);
  -moz-box-flex: 2;
       flex: 2;
  max-height: 500px;
  padding: 10px 1.5rem 0;
}
.hero__teaser-block-copy {
  background-color: var(--clr-primary);
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  height: 100%;
  -moz-box-pack: justify;
       justify-content: space-between;
  max-width: 480px;
  padding-bottom: clamp(1.25rem, 6.25vw, 2rem);
  padding-left: clamp(1rem, 5vw, 2.3125rem);
  padding-right: clamp(1rem, 5vw, 2.3125rem);
  padding-top: clamp(1.25rem, 6.25vw, 2rem);
}
@supports not (padding-bottom: clamp(1.25rem, 6.25vw, 2rem)) {
  .hero__teaser-block-copy {
    padding-bottom: min(max(1.25rem, 6.25vw), 2rem);
  }
}
@supports not (padding-left: clamp(1rem, 5vw, 2.3125rem)) {
  .hero__teaser-block-copy {
    padding-left: min(max(1rem, 5vw), 2.3125rem);
  }
}
@supports not (padding-right: clamp(1rem, 5vw, 2.3125rem)) {
  .hero__teaser-block-copy {
    padding-right: min(max(1rem, 5vw), 2.3125rem);
  }
}
@supports not (padding-top: clamp(1.25rem, 6.25vw, 2rem)) {
  .hero__teaser-block-copy {
    padding-top: min(max(1.25rem, 6.25vw), 2rem);
  }
}
.hero__teaser-block p {
  font-family: var(--font-family-highlight);
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-align: end;
  font-size: clamp(1.25rem, 6.25vw, 1.875rem);
}
@supports not (font-size: clamp(1.25rem, 6.25vw, 1.875rem)) {
  .hero__teaser-block p {
    font-size: min(max(1.25rem, 6.25vw), 1.875rem);
  }
}
.hero__teaser-block p:nth-child(1) {
  -webkit-margin-after: clamp(1.5rem, 7.5vw, 3rem);
          margin-block-end: clamp(1.5rem, 7.5vw, 3rem);
}
@supports not ((-webkit-margin-after: clamp(1.5rem, 7.5vw, 3rem)) or (margin-block-end: clamp(1.5rem, 7.5vw, 3rem))) {
  .hero__teaser-block p:nth-child(1) {
    -webkit-margin-after: min(max(1.5rem, 7.5vw), 3rem);
            margin-block-end: min(max(1.5rem, 7.5vw), 3rem);
  }
}
@media (min-width: 60em) {
  .hero__teaser {
    grid-column: 2/-1;
    grid-row: 1/3;
  }
}
.hero__images {
  display: none;
}
@media (min-width: 60em) {
  .hero__images {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: min(650px, 100%);
    place-self: center start;
    margin-top: clamp(2rem, 10vw, 6rem);
  }
  @supports not (margin-top: clamp(2rem, 10vw, 6rem)) {
    .hero__images {
      margin-top: min(max(2rem, 10vw), 6rem);
    }
  }
  .hero__images-box {
    max-height: 450px;
    aspect-ratio: 1 / 1.64;
  }
  @supports not (aspect-ratio: 1 / 1.64) {
    .hero__images-box::before {
      content: "";
      float: left;
      padding-top: 164%;
    }
    .hero__images-box::after {
      content: "";
      display: block;
      clear: both;
    }
  }
  .hero__images-box:nth-child(1) {
    place-self: start end;
  }
  .hero__images-box:nth-child(1) img {
    border-radius: 100px 100px 0px 0px;
    aspect-ratio: 1 / 1.64;
  }
  @supports not (aspect-ratio: 1 / 1.64) {
    .hero__images-box:nth-child(1) img::before {
      content: "";
      float: left;
      padding-top: 164%;
    }
    .hero__images-box:nth-child(1) img::after {
      content: "";
      display: block;
      clear: both;
    }
  }
  .hero__images-box:nth-child(2) {
    place-self: center start;
  }
  .hero__images-box:nth-child(2) img {
    border-radius: 0px 0px 100px 100px;
  }
  .hero__images-image {
    height: 100%;
    max-height: 450px;
  }
  .hero__images-image img {
    max-height: 450px;
  }
}

.location {
  --mb: clamp(2.03125rem, 10.15625vw, 9.375rem);
}
@supports not (--mb: clamp(2.03125rem, 10.15625vw, 9.375rem)) {
  .location {
    --mb: min(max(2.03125rem, 10.15625vw), 9.375rem);
  }
}
.location__box {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 60em) {
  .location__box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(5rem, 8rem);
  }
}
.location .heading--section {
  text-align: center;
}
@media (min-width: 60em) {
  .location .heading--section {
    grid-column: 1/3;
    grid-row: 1/2;
    place-self: start center;
    position: relative;
    z-index: 10;
  }
}
.location__info {
  -moz-box-align: center;
       align-items: center;
  background-color: var(--clr-primary);
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: space-evenly;
       justify-content: space-evenly;
  padding: 1.5rem 1.5rem 3rem;
}
.location__info p,
.location__info a {
  font-family: var(--font-family-highlight);
  letter-spacing: 0.03em;
  font-size: clamp(1.125rem, 5.625vw, 2.0625rem);
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 2.0625rem)) {
  .location__info p,
  .location__info a {
    font-size: min(max(1.125rem, 5.625vw), 2.0625rem);
  }
}
.location__info p {
  text-align: center;
}
.location__info a {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-pack: justify;
       justify-content: space-between;
  margin: 0 auto;
  max-width: 450px;
}
.location__info address {
  display: grid;
  gap: 1.5rem 0;
  grid-template-columns: minmax(0, 1fr);
}
.location__info address div:last-of-type {
  margin-top: 1.5rem;
}
.location__info address + p {
  margin-top: 1.5rem;
}
@media (min-width: 60em) {
  .location__info {
    grid-column: 2/3;
    grid-row: 1/3;
    padding-top: clamp(5.125rem, 25.625vw, 7.875rem);
  }
  @supports not (padding-top: clamp(5.125rem, 25.625vw, 7.875rem)) {
    .location__info {
      padding-top: min(max(5.125rem, 25.625vw), 7.875rem);
    }
  }
}
@media (min-width: 60em) {
  .location__img {
    grid-column: 1/2;
    grid-row: 2/3;
    max-height: 660px;
  }
}

.offers {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .offers {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.offers__box {
  display: grid;
  gap: 3rem 0;
  grid-template-columns: minmax(0, 1fr);
  margin: 0 1rem;
  max-width: 1390px;
  place-self: center;
}
@media (min-width: 60em) {
  .offers__box {
    gap: 5px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 60em) {
  .offers__box-half {
    max-height: 560px;
  }
}
.offers__box-half:nth-of-type(1) {
  border-radius: 50px 50px 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}
@media (min-width: 60em) {
  .offers__box-half:nth-of-type(1) {
    border-radius: 300px 0 0 300px;
    gap: 5px;
  }
  .offers__box-half:nth-of-type(1) > * {
    grid-column: 1/-1;
    grid-row: 1/-1;
  }
}
.offers__box-half:nth-of-type(1) .offers__card {
  -moz-box-align: center;
       align-items: center;
  background-color: var(--clr-light);
  border-left: 1px solid var(--clr-primary);
  border-right: 1px solid var(--clr-primary);
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  padding: 1rem;
  place-self: center;
  width: 100%;
}
.offers__box-half:nth-of-type(1) .offers__card-title {
  text-align: center;
}
@media (min-width: 60em) {
  .offers__box-half:nth-of-type(1) .offers__card {
    border: none;
    height: 40%;
    max-height: 200px;
    width: min(80%, 480px);
  }
}
.offers__box-half:nth-of-type(2) {
  border-radius: 0 0 50px 50px;
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}
@media (min-width: 60em) {
  .offers__box-half:nth-of-type(2) {
    border-radius: 0 300px 300px 0;
    grid-template-rows: 50% 50%;
  }
}
.offers__box-half:nth-of-type(2) .offers__card {
  -moz-box-align: start;
       align-items: flex-start;
  background-color: var(--clr-primary);
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  padding: 1.5rem;
}
.offers__box-half:nth-of-type(2) .offers__card-text {
  width: min(45ch, 100%);
}
.offers__card > *:not(:last-child) {
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
}
.offers__card-title {
  font-weight: unset;
  font-size: clamp(1.25rem, 6.25vw, 2.0625rem);
}
@supports not (font-size: clamp(1.25rem, 6.25vw, 2.0625rem)) {
  .offers__card-title {
    font-size: min(max(1.25rem, 6.25vw), 2.0625rem);
  }
}
.offers__card-text {
  width: min(60ch, 90%);
}

.principles {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .principles {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.principles .heading--section {
  text-align: center;
  -webkit-margin-after: clamp(3.125rem, 15.625vw, 9.375rem);
          margin-block-end: clamp(3.125rem, 15.625vw, 9.375rem);
}
@supports not ((-webkit-margin-after: clamp(3.125rem, 15.625vw, 9.375rem)) or (margin-block-end: clamp(3.125rem, 15.625vw, 9.375rem))) {
  .principles .heading--section {
    -webkit-margin-after: min(max(3.125rem, 15.625vw), 9.375rem);
            margin-block-end: min(max(3.125rem, 15.625vw), 9.375rem);
  }
}
.principles__pillars {
  -webkit-margin-after: clamp(2rem, 10vw, 4rem);
          margin-block-end: clamp(2rem, 10vw, 4rem);
}
@supports not ((-webkit-margin-after: clamp(2rem, 10vw, 4rem)) or (margin-block-end: clamp(2rem, 10vw, 4rem))) {
  .principles__pillars {
    -webkit-margin-after: min(max(2rem, 10vw), 4rem);
            margin-block-end: min(max(2rem, 10vw), 4rem);
  }
}
.principles__pillars .container {
  height: 70vh;
  position: relative;
}
.principles__pillars .container > svg {
  color: var(--clr-primary);
  left: 0;
  position: absolute;
  top: 0;
  -moz-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
       transform: translate(-50%, -50%);
  z-index: 100;
  height: clamp(6.25rem, 31.25vw, 12.5rem);
  width: clamp(6.25rem, 31.25vw, 12.5rem);
}
@supports not (height: clamp(6.25rem, 31.25vw, 12.5rem)) {
  .principles__pillars .container > svg {
    height: min(max(6.25rem, 31.25vw), 12.5rem);
  }
}
@supports not (width: clamp(6.25rem, 31.25vw, 12.5rem)) {
  .principles__pillars .container > svg {
    width: min(max(6.25rem, 31.25vw), 12.5rem);
  }
}
.principles__pillar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  position: absolute;
  width: 100%;
  gap: clamp(2rem, 10vw, 4rem);
}
@supports not (gap: clamp(2rem, 10vw, 4rem)) {
  .principles__pillar {
    gap: min(max(2rem, 10vw), 4rem);
  }
}
@media (min-width: 45em) {
  .principles__pillar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.principles__pillar-img {
  aspect-ratio: 1 / 1;
}
@supports not (aspect-ratio: 1 / 1) {
  .principles__pillar-img::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .principles__pillar-img::after {
    content: "";
    display: block;
    clear: both;
  }
}
@media (min-width: 45em) {
  .principles__pillar-img {
    max-height: 550px;
    aspect-ratio: 2 / 3;
  }
  @supports not (aspect-ratio: 2 / 3) {
    .principles__pillar-img::before {
      content: "";
      float: left;
      padding-top: 150%;
    }
    .principles__pillar-img::after {
      content: "";
      display: block;
      clear: both;
    }
  }
}
.principles__pillar-img img {
  border-top-right-radius: 100px;
  border-bottom-left-radius: 100px;
}
.principles__pillar-text {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
}
.principles__pillar-text > * + * {
  margin-top: 1rem;
}
.principles__pillar-text svg {
  color: currentColor;
}
.principles__pillar-text p {
  text-align: center;
}
.principles__pillar-title {
  font-family: var(--font-family-highlight);
  font-size: clamp(1.375rem, 6.875vw, 2.75rem);
}
@supports not (font-size: clamp(1.375rem, 6.875vw, 2.75rem)) {
  .principles__pillar-title {
    font-size: min(max(1.375rem, 6.875vw), 2.75rem);
  }
}
.principles__pillar-copy {
  max-width: min(80%, 35ch);
}

.products-benefits {
  background-color: var(--clr-primary);
  --gap-y: clamp(2rem, 10vw, 4rem);
  --mb: clamp(4rem, 20vw, 8rem);
  padding-block: clamp(3rem, 15vw, 6rem);
}
@supports not (--gap-y: clamp(2rem, 10vw, 4rem)) {
  .products-benefits {
    --gap-y: min(max(2rem, 10vw), 4rem);
  }
}
@supports not (--mb: clamp(4rem, 20vw, 8rem)) {
  .products-benefits {
    --mb: min(max(4rem, 20vw), 8rem);
  }
}
@supports not (padding-block: clamp(3rem, 15vw, 6rem)) {
  .products-benefits {
    padding-block: min(max(3rem, 15vw), 6rem);
  }
}
.products-benefits h2 {
  place-self: center;
}
.products-benefits ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: clamp(2rem, 10vw, 3rem);
}
@supports not (gap: clamp(2rem, 10vw, 3rem)) {
  .products-benefits ul {
    gap: min(max(2rem, 10vw), 3rem);
  }
}
.products-benefits ul li article {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  text-align: center;
}
.products-benefits ul li article h3 {
  --flow: 0.5em;
  font-size: clamp(1rem, 5vw, 1.125rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.125rem)) {
  .products-benefits ul li article h3 {
    font-size: min(max(1rem, 5vw), 1.125rem);
  }
}
.products-benefits ul li article svg {
  aspect-ratio: 1 / 1;
  width: clamp(2rem, 10vw, 3rem);
}
@supports not (aspect-ratio: 1 / 1) {
  .products-benefits ul li article svg::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .products-benefits ul li article svg::after {
    content: "";
    display: block;
    clear: both;
  }
}
@supports not (width: clamp(2rem, 10vw, 3rem)) {
  .products-benefits ul li article svg {
    width: min(max(2rem, 10vw), 3rem);
  }
}
.products-benefits ul li article P:first-of-type {
  --flow: 1.5em;
}
.products-benefits ul li article p:last-of-type {
  --flow: 0.5em;
}
.products-benefits ul li article p a {
  text-decoration: underline;
}
.products-concept {
  --gap-y: clamp(2rem, 10vw, 4rem);
  --mb: clamp(6rem, 30vw, 8rem);
  scroll-margin-block-start: clamp(6rem, 30vw, 8rem);
}
@supports not (--gap-y: clamp(2rem, 10vw, 4rem)) {
  .products-concept {
    --gap-y: min(max(2rem, 10vw), 4rem);
  }
}
@supports not (--mb: clamp(6rem, 30vw, 8rem)) {
  .products-concept {
    --mb: min(max(6rem, 30vw), 8rem);
  }
}
@supports not (scroll-margin-block-start: clamp(6rem, 30vw, 8rem)) {
  .products-concept {
    scroll-margin-block-start: min(max(6rem, 30vw), 8rem);
  }
}
.products-concept h2 {
  place-self: center;
}
.products-concept .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(0.5rem, 2.5vw, 1rem);
}
@supports not (row-gap: clamp(0.5rem, 2.5vw, 1rem)) {
  .products-concept .container {
    row-gap: min(max(0.5rem, 2.5vw), 1rem);
  }
}
.products-concept .container .col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  place-items: center;
}
.products-concept .container .col .content {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  padding-inline: 2em;
  margin-block: clamp(1.5rem, 7.5vw, 3rem);
}
@supports not (margin-block: clamp(1.5rem, 7.5vw, 3rem)) {
  .products-concept .container .col .content {
    margin-block: min(max(1.5rem, 7.5vw), 3rem);
  }
}
@media (min-width: 60em) {
  .products-concept .container .col .content {
    margin-block: 0;
  }
}
.products-concept .container .col:nth-of-type(even) picture {
  border-radius: 0 0 25% 25%;
  -moz-box-ordinal-group: 3;
       order: 2;
}
.products-concept .container .col p {
  width: min(45ch, 100%);
}
.products-concept .container .col picture {
  border-radius: 25% 25% 0 0;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
}
@supports not (aspect-ratio: 4 / 3) {
  .products-concept .container .col picture::before {
    content: "";
    float: left;
    padding-top: 75%;
  }
  .products-concept .container .col picture::after {
    content: "";
    display: block;
    clear: both;
  }
}
.products-custom {
  --gap-y: clamp(2rem, 10vw, 4rem);
  --mb: clamp(4rem, 20vw, 12rem);
}
@supports not (--gap-y: clamp(2rem, 10vw, 4rem)) {
  .products-custom {
    --gap-y: min(max(2rem, 10vw), 4rem);
  }
}
@supports not (--mb: clamp(4rem, 20vw, 12rem)) {
  .products-custom {
    --mb: min(max(4rem, 20vw), 12rem);
  }
}
.products-custom h2,
.products-custom .btn--primary {
  place-self: center;
}
.products-custom .btn--primary svg {
  color: var(--clr-primary);
}
.products-intro {
  --mb: clamp(6rem, 30vw, 8rem);
}
@supports not (--mb: clamp(6rem, 30vw, 8rem)) {
  .products-intro {
    --mb: min(max(6rem, 30vw), 8rem);
  }
}
.products-intro .zoom-parallax__container {
  min-height: 150vh;
  position: relative;
}
.products-intro .zoom-parallax__sticky {
  background-color: var(--clr-primary);
  display: grid;
  place-content: center;
  min-height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
}
.products-intro .zoom-parallax__sticky .content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 100%;
  margin-inline: auto;
  max-width: 90%;
  place-items: center;
  gap: clamp(2rem, 10vw, 4rem);
}
@supports not (gap: clamp(2rem, 10vw, 4rem)) {
  .products-intro .zoom-parallax__sticky .content {
    gap: min(max(2rem, 10vw), 4rem);
  }
}
.products-intro .zoom-parallax__sticky .content p:nth-child(even) {
  text-align: right;
}
.products-intro .zoom-parallax__sticky .content p {
  font-family: var(--font-family-highlight);
  width: min(16ch, 80%);
  font-size: clamp(1.125rem, 5.625vw, 2rem);
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 2rem)) {
  .products-intro .zoom-parallax__sticky .content p {
    font-size: min(max(1.125rem, 5.625vw), 2rem);
  }
}
.products-impressions {
  --gap-y: clamp(2rem, 10vw, 4rem);
  --mb: clamp(4rem, 20vw, 8rem);
}
@supports not (--gap-y: clamp(2rem, 10vw, 4rem)) {
  .products-impressions {
    --gap-y: min(max(2rem, 10vw), 4rem);
  }
}
@supports not (--mb: clamp(4rem, 20vw, 8rem)) {
  .products-impressions {
    --mb: min(max(4rem, 20vw), 8rem);
  }
}
.products-impressions h2,
.products-impressions .btn--primary {
  place-self: center;
}
.products-impressions-gallery {
  -webkit-columns: 300px 3;
     -moz-columns: 300px 3;
          columns: 300px 3;
}
.products-impressions-gallery-img {
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.products-impressions .like-animation.animate {
  -moz-animation-iteration-count: infinite;
       animation-iteration-count: infinite;
  -moz-animation-duration: 2s;
       animation-duration: 2s;
}
.products-impressions .like-animation.animate::before, .products-impressions .like-animation.animate::after {
  -moz-animation-iteration-count: infinite;
       animation-iteration-count: infinite;
  -moz-animation-duration: 2s;
       animation-duration: 2s;
}
.products-impressions .btn--primary {
  place-self: center;
  position: relative;
}
.products-impressions .btn--primary svg {
  color: var(--clr-primary);
}
.products-impressions .btn--primary span:not(.like-animation) {
  border: none;
}
.products-order {
  --gap-y: clamp(2rem, 10vw, 4rem);
  --mb: clamp(4rem, 20vw, 8rem);
}
@supports not (--gap-y: clamp(2rem, 10vw, 4rem)) {
  .products-order {
    --gap-y: min(max(2rem, 10vw), 4rem);
  }
}
@supports not (--mb: clamp(4rem, 20vw, 8rem)) {
  .products-order {
    --mb: min(max(4rem, 20vw), 8rem);
  }
}
.products-order > p,
.products-order h2 {
  place-self: center;
}
.products-order .container {
  background-color: var(--clr-primary);
  border-radius: 100px;
  display: grid;
  gap: 1em;
  grid-template-areas: "steps" "info" "cta";
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  padding-block: clamp(3rem, 15vw, 6rem);
  padding-inline: clamp(1.5rem, 7.5vw, 2rem);
}
@supports not (padding-block: clamp(3rem, 15vw, 6rem)) {
  .products-order .container {
    padding-block: min(max(3rem, 15vw), 6rem);
  }
}
@supports not (padding-inline: clamp(1.5rem, 7.5vw, 2rem)) {
  .products-order .container {
    padding-inline: min(max(1.5rem, 7.5vw), 2rem);
  }
}
@media (min-width: 60em) {
  .products-order .container {
    grid-template-areas: "steps info" "cta info";
  }
}
.products-order__steps {
  grid-area: steps;
  list-style-position: inside;
}
@media (min-width: 60em) {
  .products-order__steps {
    place-self: start center;
  }
}
.products-order__info {
  grid-area: info;
  width: min(40ch, 100%);
}
.products-order .btn--primary {
  grid-area: cta;
  justify-self: center;
}
.products-overview {
  --mb: clamp(4rem, 20vw, 6rem);
}
@supports not (--mb: clamp(4rem, 20vw, 6rem)) {
  .products-overview {
    --mb: min(max(4rem, 20vw), 6rem);
  }
}
.products-overview > p,
.products-overview h2 {
  place-self: center;
  text-align: center;
}
.products-overview__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  width: 100%;
  margin-block: clamp(2rem, 10vw, 3rem);
}
@supports not (margin-block: clamp(2rem, 10vw, 3rem)) {
  .products-overview__list {
    margin-block: min(max(2rem, 10vw), 3rem);
  }
}
.products-overview__list li {
  max-width: 500px;
  width: 100%;
}
.products-overview .btn--primary {
  place-self: center;
  -webkit-margin-before: clamp(1.5rem, 7.5vw, 3rem);
          margin-block-start: clamp(1.5rem, 7.5vw, 3rem);
}
@supports not ((-webkit-margin-before: clamp(1.5rem, 7.5vw, 3rem)) or (margin-block-start: clamp(1.5rem, 7.5vw, 3rem))) {
  .products-overview .btn--primary {
    -webkit-margin-before: min(max(1.5rem, 7.5vw), 3rem);
            margin-block-start: min(max(1.5rem, 7.5vw), 3rem);
  }
}
.products-overview .btn--primary svg {
  color: var(--clr-primary);
}

.quote {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .quote {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.quote[data-section] > .quote__box {
  grid-column: full;
}
@media (min-width: 60em) {
  .quote[data-section] > .quote__box {
    grid-column: wrapper;
  }
}
.quote__box {
  -moz-box-align: center;
       align-items: center;
  background-color: var(--clr-primary);
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  padding-bottom: clamp(4.6875rem, 23.4375vw, 9.375rem);
  padding-top: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (padding-bottom: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .quote__box {
    padding-bottom: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
@supports not (padding-top: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .quote__box {
    padding-top: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
@media (min-width: 60em) {
  .quote__box {
    border-radius: 50px;
  }
}
.quote .icon__box {
  color: var(--clr-light);
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
}
.quote .icon__box svg {
  -moz-transform: rotate(25deg);
   -ms-transform: rotate(25deg);
       transform: rotate(25deg);
  height: clamp(1.375rem, 6.875vw, 2.8125rem);
  width: clamp(1.6875rem, 8.4375vw, 3.4375rem);
}
@supports not (height: clamp(1.375rem, 6.875vw, 2.8125rem)) {
  .quote .icon__box svg {
    height: min(max(1.375rem, 6.875vw), 2.8125rem);
  }
}
@supports not (width: clamp(1.6875rem, 8.4375vw, 3.4375rem)) {
  .quote .icon__box svg {
    width: min(max(1.6875rem, 8.4375vw), 3.4375rem);
  }
}
.quote p {
  font-family: var(--font-family-highlight);
  line-height: 1.2;
  text-align: center;
  width: min(90%, 820px);
}
.quote__text {
  -webkit-margin-after: 0.5rem;
          margin-block-end: 0.5rem;
  font-size: clamp(1.25rem, 6.25vw, 4.125rem);
}
@supports not (font-size: clamp(1.25rem, 6.25vw, 4.125rem)) {
  .quote__text {
    font-size: min(max(1.25rem, 6.25vw), 4.125rem);
  }
}
.quote__author {
  font-size: clamp(1rem, 5vw, 2.0625rem);
}
@supports not (font-size: clamp(1rem, 5vw, 2.0625rem)) {
  .quote__author {
    font-size: min(max(1rem, 5vw), 2.0625rem);
  }
}

.reviews {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .reviews {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.reviews__box {
  display: grid;
  gap: 4rem 2rem;
  grid-template-columns: minmax(0, 1fr);
  margin: 0 1rem;
  max-width: 1390px;
  place-self: center;
}
@media (min-width: 60em) {
  .reviews__box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.reviews__heading .heading--section {
  text-align: center;
  width: min(35ch, 100%);
}
.reviews__heading .icon__box {
  color: var(--clr-primary);
}
@media (min-width: 60em) {
  .reviews__heading {
    grid-column: 1/2;
  }
}
@media (min-width: 60em) {
  .reviews__gallery, .reviews__swiper {
    grid-row: 2/3;
  }
}
@media (min-width: 60em) {
  .reviews__gallery {
    border-right: 1px solid var(--clr-primary);
    padding-right: 2rem;
  }
}
.reviews__gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 125px));
  grid-template-areas: "f-1 a-6 c-1 a-3 f-3" "c-2 a-5 a-1 f-2 c-3" "f-4 c-4 a-4 a-2 c-5";
}
.reviews__gallery-item {
  border-radius: 50%;
  color: var(--clr-primary);
  grid-area: var(--location);
  overflow: hidden;
  aspect-ratio: 1 / 1;
}
@supports not (aspect-ratio: 1 / 1) {
  .reviews__gallery-item::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .reviews__gallery-item::after {
    content: "";
    display: block;
    clear: both;
  }
}
.reviews__gallery-item svg,
.reviews__gallery-item img,
.reviews__gallery-item picture {
  width: 100%;
  height: 100%;
}
.reviews__gallery-filled-circle {
  background-color: var(--clr-primary);
}
.reviews__card {
  font-family: var(--font-family-highlight);
  margin-left: auto;
  -webkit-margin-after: 2.5rem;
          margin-block-end: 2.5rem;
  width: min(35ch, 100%);
}
.reviews__card-text {
  line-height: 1;
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
  overflow-wrap: break-word;
  font-size: clamp(1.25rem, 6.25vw, 2.5rem);
}
@supports not (font-size: clamp(1.25rem, 6.25vw, 2.5rem)) {
  .reviews__card-text {
    font-size: min(max(1.25rem, 6.25vw), 2.5rem);
  }
}
.reviews__card-reviewer, .reviews__card-service {
  line-height: 1;
  font-size: clamp(0.875rem, 4.375vw, 1.25rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1.25rem)) {
  .reviews__card-reviewer, .reviews__card-service {
    font-size: min(max(0.875rem, 4.375vw), 1.25rem);
  }
}
.reviews__swiper .glide {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  height: 100%;
  -moz-box-pack: justify;
       justify-content: space-between;
}
.reviews__custom-arrows {
  display: -moz-box;
  display: flex;
  -moz-box-pack: end;
       justify-content: flex-end;
}
.reviews__custom-arrows .slider__arrow--prev {
  display: none;
}
.reviews__custom-arrows .slider__arrow--next .swiper__custom-arrow {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
}
.reviews__custom-arrows .slider__arrow--next .swiper__custom-arrow .swiper__custom-arrow__text {
  margin-right: 1.5rem;
  font-size: clamp(0.875rem, 4.375vw, 1rem);
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1rem)) {
  .reviews__custom-arrows .slider__arrow--next .swiper__custom-arrow .swiper__custom-arrow__text {
    font-size: min(max(0.875rem, 4.375vw), 1rem);
  }
}
.reviews__custom-arrows .slider__arrow--next .swiper__custom-arrow .swiper__custom-arrow__icon-box {
  position: relative;
}
.reviews__custom-arrows .slider__arrow--next svg {
  -moz-transform: rotate(-90deg);
   -ms-transform: rotate(-90deg);
       transform: rotate(-90deg);
  height: clamp(2.1875rem, 10.9375vw, 4.375rem);
  width: clamp(2.1875rem, 10.9375vw, 4.375rem);
}
@supports not (height: clamp(2.1875rem, 10.9375vw, 4.375rem)) {
  .reviews__custom-arrows .slider__arrow--next svg {
    height: min(max(2.1875rem, 10.9375vw), 4.375rem);
  }
}
@supports not (width: clamp(2.1875rem, 10.9375vw, 4.375rem)) {
  .reviews__custom-arrows .slider__arrow--next svg {
    width: min(max(2.1875rem, 10.9375vw), 4.375rem);
  }
}
.reviews__custom-arrows .slider__arrow--next .icon__circle {
  fill: none;
  stroke: var(--clr-grey);
}
.reviews__custom-arrows .slider__arrow--next .icon__arrow {
  fill: var(--clr-grey);
}

.services {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
  scroll-margin-top: clamp(1rem, 5vw, 2rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .services {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
@supports not (scroll-margin-top: clamp(1rem, 5vw, 2rem)) {
  .services {
    scroll-margin-top: min(max(1rem, 5vw), 2rem);
  }
}
.services .icon__box {
  color: var(--clr-primary);
}
.services__quick-access {
  text-align: center;
}
.services .col-2 {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 45em) {
  .services .col-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.services__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  -webkit-column-gap: clamp(1rem, 5vw, 1.5rem);
     -moz-column-gap: clamp(1rem, 5vw, 1.5rem);
          column-gap: clamp(1rem, 5vw, 1.5rem);
  -webkit-margin-after: clamp(1.5rem, 7.5vw, 3rem);
          margin-block-end: clamp(1.5rem, 7.5vw, 3rem);
  margin-top: clamp(1rem, 5vw, 4rem);
  row-gap: clamp(3rem, 15vw, 4rem);
}
@supports not ((-webkit-column-gap: clamp(1rem, 5vw, 1.5rem)) or (-moz-column-gap: clamp(1rem, 5vw, 1.5rem)) or (column-gap: clamp(1rem, 5vw, 1.5rem))) {
  .services__list {
    -webkit-column-gap: min(max(1rem, 5vw), 1.5rem);
       -moz-column-gap: min(max(1rem, 5vw), 1.5rem);
            column-gap: min(max(1rem, 5vw), 1.5rem);
  }
}
@supports not ((-webkit-margin-after: clamp(1.5rem, 7.5vw, 3rem)) or (margin-block-end: clamp(1.5rem, 7.5vw, 3rem))) {
  .services__list {
    -webkit-margin-after: min(max(1.5rem, 7.5vw), 3rem);
            margin-block-end: min(max(1.5rem, 7.5vw), 3rem);
  }
}
@supports not (margin-top: clamp(1rem, 5vw, 4rem)) {
  .services__list {
    margin-top: min(max(1rem, 5vw), 4rem);
  }
}
@supports not (row-gap: clamp(3rem, 15vw, 4rem)) {
  .services__list {
    row-gap: min(max(3rem, 15vw), 4rem);
  }
}
.services__card-img-box {
  color: var(--clr-primary);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
  place-items: center;
}
.services__card-img-box > * {
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.services__card-img {
  height: 150px;
  width: 150px;
}
.services__card-img img {
  border-radius: 50%;
}
.services__card-info {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
}
.services__card-info > * {
  text-align: center;
}
.services__card-title {
  font-family: var(--font-family-highlight);
  font-size: clamp(1.375rem, 6.875vw, 2.0625rem);
}
@supports not (font-size: clamp(1.375rem, 6.875vw, 2.0625rem)) {
  .services__card-title {
    font-size: min(max(1.375rem, 6.875vw), 2.0625rem);
  }
}
.services__card-desc {
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
  font-size: clamp(1rem, 5vw, 1.125rem);
}
@supports not (font-size: clamp(1rem, 5vw, 1.125rem)) {
  .services__card-desc {
    font-size: min(max(1rem, 5vw), 1.125rem);
  }
}

.shop-promo {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .shop-promo {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.shop-promo__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 7.5vw, 4.5rem);
}
@supports not (gap: clamp(1.5rem, 7.5vw, 4.5rem)) {
  .shop-promo__wrapper {
    gap: min(max(1.5rem, 7.5vw), 4.5rem);
  }
}
@media (min-width: 45em) {
  .shop-promo__wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.shop-promo__content {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: space-evenly;
       justify-content: space-evenly;
}
.shop-promo__content-main p,
.shop-promo__content-main .heading--section {
  text-align: center;
}
.shop-promo__visual-img {
  max-width: 700px;
}
.shop-promo .btn--outlined {
  margin-top: clamp(1rem, 5vw, 1.5rem);
}
@supports not (margin-top: clamp(1rem, 5vw, 1.5rem)) {
  .shop-promo .btn--outlined {
    margin-top: min(max(1rem, 5vw), 1.5rem);
  }
}

.vertical-steps {
  place-items: center;
  --mb: clamp(6rem, 30vw, 8rem);
  scroll-margin-block-start: clamp(4rem, 20vw, 8rem);
}
@supports not (--mb: clamp(6rem, 30vw, 8rem)) {
  .vertical-steps {
    --mb: min(max(6rem, 30vw), 8rem);
  }
}
@supports not (scroll-margin-block-start: clamp(4rem, 20vw, 8rem)) {
  .vertical-steps {
    scroll-margin-block-start: min(max(4rem, 20vw), 8rem);
  }
}
.vertical-steps .intro {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  text-align: center;
}
.vertical-steps h2 {
  --flow: 0.5em;
}
.vertical-steps__wrapper {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: start;
       justify-content: flex-start;
  margin-inline: auto;
  max-width: 960px;
  position: relative;
  width: 100%;
  z-index: 2;
  margin-block: clamp(4rem, 20vw, 8rem);
}
@supports not (margin-block: clamp(4rem, 20vw, 8rem)) {
  .vertical-steps__wrapper {
    margin-block: min(max(4rem, 20vw), 8rem);
  }
}
.vertical-steps__progress {
  --progress-bar-width: 5px;
  --base-height: 100%;
  --extra-height: 5%;
  background-color: var(--clr-grey-light);
  border-radius: 100vw;
  height: -moz-calc(var(--base-height) + var(--extra-height));
  height: calc(var(--base-height) + var(--extra-height));
  left: 0;
  position: absolute;
  top: -moz-calc(-1 * var(--extra-height) / 2);
  top: calc(-1 * var(--extra-height) / 2);
  width: var(--progress-bar-width);
  z-index: -2;
}
.vertical-steps__progress-bar {
  background-color: var(--clr-primary);
  border-radius: inherit;
  height: 25vh;
  position: -webkit-sticky;
  position: sticky;
  top: 1vh;
  width: var(--progress-bar-width);
  z-index: -1;
}
.vertical-steps__content {
  display: grid;
  grid-template-columns: min(10vw, 64px) minmax(0, 1fr);
  min-height: 50svh;
  width: 100%;
  z-index: 2;
}
.vertical-steps__content:not(:last-child) {
  -webkit-margin-after: clamp(2rem, 10vw, 6rem);
          margin-block-end: clamp(2rem, 10vw, 6rem);
}
@supports not ((-webkit-margin-after: clamp(2rem, 10vw, 6rem)) or (margin-block-end: clamp(2rem, 10vw, 6rem))) {
  .vertical-steps__content:not(:last-child) {
    -webkit-margin-after: min(max(2rem, 10vw), 6rem);
            margin-block-end: min(max(2rem, 10vw), 6rem);
  }
}
.vertical-steps__content svg {
  color: var(--clr-primary);
  fill: var(--clr-light);
  left: 0.5rem;
  position: relative;
  top: 10%;
  -moz-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
       transform: translate(-50%, -50%);
  -moz-transition: fill 0.3s ease-in-out;
  transition: fill 0.3s ease-in-out;
}
.vertical-steps__content-number {
  color: var(--clr-light);
  left: 1rem;
  line-height: 1;
  position: absolute;
  top: 1rem;
  font-size: clamp(2rem, 10vw, 6rem);
}
@supports not (font-size: clamp(2rem, 10vw, 6rem)) {
  .vertical-steps__content-number {
    font-size: min(max(2rem, 10vw), 6rem);
  }
}
.vertical-steps__content-copy {
  -moz-box-align: center;
       align-items: center;
  background-color: var(--clr-primary);
  border-radius: 1rem;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  gap: 0.5em;
  grid-column: 2/-1;
  height: 100%;
  max-width: 600px;
  padding: 1em;
  position: relative;
}
.vertical-steps__content-copy h3 {
  text-align: center;
  font-size: clamp(1.125rem, 5.625vw, 2rem);
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 2rem)) {
  .vertical-steps__content-copy h3 {
    font-size: min(max(1.125rem, 5.625vw), 2rem);
  }
}
.vertical-steps__content-copy p {
  text-align: center;
  width: min(45ch, 90%);
}
.vertical-steps .btn--primary svg {
  color: var(--clr-primary);
}

.accessibility {
  place-items: center;
  --mb: clamp(2rem, 10vw, 6rem);
}
@supports not (--mb: clamp(2rem, 10vw, 6rem)) {
  .accessibility {
    --mb: min(max(2rem, 10vw), 6rem);
  }
}
.accessibility > *:not(.btn--outlined) {
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.accessibility a[href^=http] {
  text-decoration: underline;
  font-weight: 600;
  font-variation-settings: "wght" 600;
}
.accessibility .btn--outlined {
  margin-top: 1em;
  -webkit-margin-after: 2em;
          margin-block-end: 2em;
}

.error__wrapper {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  --mb: clamp(2rem, 10vw, 6rem);
}
@supports not (--mb: clamp(2rem, 10vw, 6rem)) {
  .error__wrapper {
    --mb: min(max(2rem, 10vw), 6rem);
  }
}
.error__wrapper > *:not(figure) {
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.error__wrapper h1,
.error__wrapper p {
  text-align: center;
}
.error__wrapper figure span {
  font-size: clamp(4rem, 20vw, 8rem);
}
@supports not (font-size: clamp(4rem, 20vw, 8rem)) {
  .error__wrapper figure span {
    font-size: min(max(4rem, 20vw), 8rem);
  }
}

.legal {
  -webkit-margin-before: clamp(4rem, 20vw, 6rem);
          margin-block-start: clamp(4rem, 20vw, 6rem);
}
@supports not ((-webkit-margin-before: clamp(4rem, 20vw, 6rem)) or (margin-block-start: clamp(4rem, 20vw, 6rem))) {
  .legal {
    -webkit-margin-before: min(max(4rem, 20vw), 6rem);
            margin-block-start: min(max(4rem, 20vw), 6rem);
  }
}
.legal__title {
  font-weight: 600;
  font-variation-settings: "wght" 600;
  font-style: normal;
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
}
.legal__intro:not(:last-of-type) {
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
}
.legal__disclaimer {
  font-size: clamp(1.125rem, 5.625vw, 2.25rem);
  font-weight: 600;
  font-variation-settings: "wght" 600;
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 2.25rem)) {
  .legal__disclaimer {
    font-size: min(max(1.125rem, 5.625vw), 2.25rem);
  }
}
.legal__responsible {
  margin: 2.5rem 0 5rem;
}
.legal__address {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  margin-top: 1rem;
}
.legal__workingTimes {
  margin: 0.5rem 0 0.8rem;
}
.legal__optional-data {
  margin: 1.5rem 0 0.8rem;
}
.legal__optional-data span {
  padding-left: 0.8rem;
}
.legal__details {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  font-size: var(--step-0);
  margin-top: clamp(1rem, 5vw, 2rem);
}
@supports not (margin-top: clamp(1rem, 5vw, 2rem)) {
  .legal__details {
    margin-top: min(max(1rem, 5vw), 2rem);
  }
}
.legal__content {
  position: relative;
}
.legal__content::before {
  background-color: var(--clr-dark);
  content: "";
  height: 1px;
  position: absolute;
  top: -1.5rem;
  width: 100%;
}
.legal__section:not(:last-of-type) {
  -webkit-margin-after: 3.5rem;
          margin-block-end: 3.5rem;
}
.legal__section-heading {
  margin: 2rem 0 0.3125rem;
  font-size: clamp(1.125rem, 5.625vw, 1.75rem);
  font-weight: 600;
  font-variation-settings: "wght" 600;
}
@supports not (font-size: clamp(1.125rem, 5.625vw, 1.75rem)) {
  .legal__section-heading {
    font-size: min(max(1.125rem, 5.625vw), 1.75rem);
  }
}
.legal__section a {
  text-decoration: underline;
}
.legal__chapter-heading {
  margin: 2rem 0 0.3125rem;
  font-size: clamp(0.875rem, 4.375vw, 1.25rem);
  font-weight: 600;
  font-variation-settings: "wght" 600;
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1.25rem)) {
  .legal__chapter-heading {
    font-size: min(max(0.875rem, 4.375vw), 1.25rem);
  }
}
.legal__text {
  -webkit-margin-after: 1.25rem;
          margin-block-end: 1.25rem;
  width: min(100%, 100ch);
}
.legal__timestamp {
  margin: 2rem 0 4rem;
}

.offline {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  min-height: 70vh;
}
.offline > *:not(:last-child) {
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
}

.product-main {
  -webkit-margin-after: clamp(3rem, 15vw, 6rem);
          margin-block-end: clamp(3rem, 15vw, 6rem);
}
@supports not ((-webkit-margin-after: clamp(3rem, 15vw, 6rem)) or (margin-block-end: clamp(3rem, 15vw, 6rem))) {
  .product-main {
    -webkit-margin-after: min(max(3rem, 15vw), 6rem);
            margin-block-end: min(max(3rem, 15vw), 6rem);
  }
}
.product-main .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1em;
  width: 100%;
  -webkit-column-gap: clamp(1.5rem, 7.5vw, 2rem);
     -moz-column-gap: clamp(1.5rem, 7.5vw, 2rem);
          column-gap: clamp(1.5rem, 7.5vw, 2rem);
}
@supports not ((-webkit-column-gap: clamp(1.5rem, 7.5vw, 2rem)) or (-moz-column-gap: clamp(1.5rem, 7.5vw, 2rem)) or (column-gap: clamp(1.5rem, 7.5vw, 2rem))) {
  .product-main .container {
    -webkit-column-gap: min(max(1.5rem, 7.5vw), 2rem);
       -moz-column-gap: min(max(1.5rem, 7.5vw), 2rem);
            column-gap: min(max(1.5rem, 7.5vw), 2rem);
  }
}
@media (min-width: 60em) {
  .product-main .container {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  }
}
.product-main .breadcrumbs {
  grid-column: 1/-1;
}
.product-info {
  -moz-box-align: start;
       align-items: flex-start;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  padding: 1em 0.5em;
}
.product-info .btn--outlined {
  padding: 0;
  width: 100%;
}
.product-info .btn--outlined a {
  max-width: unset;
  width: 100%;
}
.product-info .size-guide {
  margin-inline: auto;
  -webkit-margin-before: clamp(1rem, 5vw, 2rem);
          margin-block-start: clamp(1rem, 5vw, 2rem);
}
@supports not ((-webkit-margin-before: clamp(1rem, 5vw, 2rem)) or (margin-block-start: clamp(1rem, 5vw, 2rem))) {
  .product-info .size-guide {
    -webkit-margin-before: min(max(1rem, 5vw), 2rem);
            margin-block-start: min(max(1rem, 5vw), 2rem);
  }
}
.product-details {
  width: 100%;
  -webkit-margin-after: clamp(1.5rem, 7.5vw, 3rem);
          margin-block-end: clamp(1.5rem, 7.5vw, 3rem);
}
@supports not ((-webkit-margin-after: clamp(1.5rem, 7.5vw, 3rem)) or (margin-block-end: clamp(1.5rem, 7.5vw, 3rem))) {
  .product-details {
    -webkit-margin-after: min(max(1.5rem, 7.5vw), 3rem);
            margin-block-end: min(max(1.5rem, 7.5vw), 3rem);
  }
}
.product-details__stones {
  display: -moz-box;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.product-details__stone {
  border: 1px solid var(--clr-primary);
  border-radius: var(--border-radius-default);
  padding-block: 0.25em;
  padding-inline: 1em;
}
.product-gallery .glide {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  height: 100%;
  -moz-box-pack: justify;
       justify-content: space-between;
}
.product-gallery picture {
  max-height: 80vh;
  aspect-ratio: 1 / 1;
}
@supports not (aspect-ratio: 1 / 1) {
  .product-gallery picture::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .product-gallery picture::after {
    content: "";
    display: block;
    clear: both;
  }
}
.product-gallery picture img {
  -webkit-user-drag: none;
  user-drag: none;
}
.product-card {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  padding: 1em;
}
.product-card__title {
  text-align: center;
  -webkit-margin-before: clamp(1rem, 5vw, 1.5rem);
          margin-block-start: clamp(1rem, 5vw, 1.5rem);
}
@supports not ((-webkit-margin-before: clamp(1rem, 5vw, 1.5rem)) or (margin-block-start: clamp(1rem, 5vw, 1.5rem))) {
  .product-card__title {
    -webkit-margin-before: min(max(1rem, 5vw), 1.5rem);
            margin-block-start: min(max(1rem, 5vw), 1.5rem);
  }
}
.product-card__img-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  width: 100%;
}
.product-card__img-box:hover .product-card__img:last-of-type {
  opacity: 0;
}
.product-card__img {
  grid-column: 1/-1;
  grid-row: 1/-1;
  -moz-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  aspect-ratio: 1 / 1;
}
@supports not (aspect-ratio: 1 / 1) {
  .product-card__img::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .product-card__img::after {
    content: "";
    display: block;
    clear: both;
  }
}
.product-slow-shopping {
  -webkit-margin-after: clamp(3rem, 15vw, 6rem);
          margin-block-end: clamp(3rem, 15vw, 6rem);
}
@supports not ((-webkit-margin-after: clamp(3rem, 15vw, 6rem)) or (margin-block-end: clamp(3rem, 15vw, 6rem))) {
  .product-slow-shopping {
    -webkit-margin-after: min(max(3rem, 15vw), 6rem);
            margin-block-end: min(max(3rem, 15vw), 6rem);
  }
}
.product-slow-shopping h2 {
  place-self: center;
}
.product-slow-shopping .columns {
  --flow: 2em;
}

.service__hero {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .service__hero {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.service__hero .wrapper {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
}
.service__hero-pretitle {
  -webkit-margin-after: clamp(1rem, 5vw, 2rem);
          margin-block-end: clamp(1rem, 5vw, 2rem);
}
@supports not ((-webkit-margin-after: clamp(1rem, 5vw, 2rem)) or (margin-block-end: clamp(1rem, 5vw, 2rem))) {
  .service__hero-pretitle {
    -webkit-margin-after: min(max(1rem, 5vw), 2rem);
            margin-block-end: min(max(1rem, 5vw), 2rem);
  }
}
.service__hero-heading {
  text-align: center;
  font-size: clamp(2.0625rem, 10.3125vw, 6.25rem);
}
@supports not (font-size: clamp(2.0625rem, 10.3125vw, 6.25rem)) {
  .service__hero-heading {
    font-size: min(max(2.0625rem, 10.3125vw), 6.25rem);
  }
}
.service__treatments {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .service__treatments {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.service__treatments .icon--star {
  color: var(--clr-primary);
}
.service__treatments .wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 7.5vw, 4.5rem);
}
@supports not (gap: clamp(1.5rem, 7.5vw, 4.5rem)) {
  .service__treatments .wrapper {
    gap: min(max(1.5rem, 7.5vw), 4.5rem);
  }
}
@media (min-width: 60em) {
  .service__treatments .wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.service__treatments-content > * + * {
  -webkit-margin-before: min(1.5rem, var(--flow-space, 1em));
          margin-block-start: min(1.5rem, var(--flow-space, 1em));
}
.service__treatments-visual {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
}
.service__treatments-visual img {
  border-bottom-left-radius: min(300px, 50%);
  border-bottom-right-radius: min(300px, 50%);
}
.service__treatments-image {
  max-width: 450px;
  width: 100%;
  aspect-ratio: 1 / 1;
  -webkit-margin-after: clamp(2rem, 10vw, 4rem);
          margin-block-end: clamp(2rem, 10vw, 4rem);
}
@supports not (aspect-ratio: 1 / 1) {
  .service__treatments-image::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .service__treatments-image::after {
    content: "";
    display: block;
    clear: both;
  }
}
@supports not ((-webkit-margin-after: clamp(2rem, 10vw, 4rem)) or (margin-block-end: clamp(2rem, 10vw, 4rem))) {
  .service__treatments-image {
    -webkit-margin-after: min(max(2rem, 10vw), 4rem);
            margin-block-end: min(max(2rem, 10vw), 4rem);
  }
}
.service__treatments-assets {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 7.5vw, 4.5rem);
}
@supports not (gap: clamp(1.5rem, 7.5vw, 4.5rem)) {
  .service__treatments-assets {
    gap: min(max(1.5rem, 7.5vw), 4.5rem);
  }
}
.service__treatments-assets .heading--section {
  grid-column: 1/-1;
  text-align: center;
}
@media (min-width: 60em) {
  .service__treatments-assets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.service__treatments-assets-team {
  max-width: min(90%, 500px);
  place-self: center;
}
@media (min-width: 60em) {
  .service__treatments-assets-team:nth-of-type(1) {
    grid-column: 2/3;
    grid-row: 2/3;
    place-self: end;
  }
  .service__treatments-assets-team:nth-of-type(2) {
    grid-column: 1/2;
    grid-row: 2/3;
    place-self: start;
  }
}
.service__extras {
  --mb: clamp(4.6875rem, 23.4375vw, 9.375rem);
}
@supports not (--mb: clamp(4.6875rem, 23.4375vw, 9.375rem)) {
  .service__extras {
    --mb: min(max(4.6875rem, 23.4375vw), 9.375rem);
  }
}
.service__extras .wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 7.5vw, 4.5rem);
}
@supports not (gap: clamp(1.5rem, 7.5vw, 4.5rem)) {
  .service__extras .wrapper {
    gap: min(max(1.5rem, 7.5vw), 4.5rem);
  }
}
@media (min-width: 60em) {
  .service__extras .wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.service__extras svg {
  color: var(--clr-primary);
  display: inline-block;
  height: clamp(1rem, 5vw, 1.5rem);
  width: clamp(1rem, 5vw, 1.5rem);
}
@supports not (height: clamp(1rem, 5vw, 1.5rem)) {
  .service__extras svg {
    height: min(max(1rem, 5vw), 1.5rem);
  }
}
@supports not (width: clamp(1rem, 5vw, 1.5rem)) {
  .service__extras svg {
    width: min(max(1rem, 5vw), 1.5rem);
  }
}
.service__extras-content > * + * {
  -webkit-margin-before: min(1.5rem, var(--flow-space, 1em));
          margin-block-start: min(1.5rem, var(--flow-space, 1em));
}
.service__extras-content svg {
  vertical-align: baseline;
}
.service__extras-offers {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  height: 100%;
  -moz-box-pack: center;
       justify-content: center;
  width: 100%;
}
@media (min-width: 60em) {
  .service__extras-offers {
    border-left: 1px solid var(--clr-primary);
    padding-left: 1.5rem;
  }
}
.service__extras-offers svg {
  align-self: flex-start;
  height: 0.75rem;
  margin-left: 0.25rem;
  margin-right: -1.25rem;
  vertical-align: super;
  width: 0.75rem;
}
.service__extras-offers-list {
  width: 100%;
}
.service__extras-offers-list li {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  font-family: var(--font-family-highlight);
  width: 100%;
}
.service__extras-offers-list li:not(:last-of-type) {
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
}
.service__extras-offers-list li span:first-of-type {
  margin-right: auto;
  font-size: clamp(0.875rem, 4.375vw, 1.125rem);
  font-weight: 900;
  font-variation-settings: "wght" 900;
}
@supports not (font-size: clamp(0.875rem, 4.375vw, 1.125rem)) {
  .service__extras-offers-list li span:first-of-type {
    font-size: min(max(0.875rem, 4.375vw), 1.125rem);
  }
}
.service__extras-offers-list li span:last-of-type {
  font-family: var(--font-family-default);
  font-size: clamp(0.8125rem, 4.0625vw, 1.0625rem);
  font-weight: 300;
  font-variation-settings: "wght" 300;
}
@supports not (font-size: clamp(0.8125rem, 4.0625vw, 1.0625rem)) {
  .service__extras-offers-list li span:last-of-type {
    font-size: min(max(0.8125rem, 4.0625vw), 1.0625rem);
  }
}

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background-color: var(--clr-theme-bg);
}

::-webkit-scrollbar-thumb {
  background-color: var(--clr-primary);
  border-radius: 4px;
}

:root {
  scrollbar-color: var(--clr-primary) var(--clr-theme-bg);
}

.text--bold {
  font-weight: 700;
  font-variation-settings: "wght" 700;
}

.text--cascade {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
}

.text--eclipse {
  color: currentColor;
  font-size: inherit;
}
.text--eclipse::after {
  content: "[...]";
}

.text--highlight {
  color: var(--clr-primary);
  text-decoration: underline;
}

.text--italic {
  font-style: italic;
}

.text--low {
  text-transform: lowercase;
}

.text--slub {
  font-family: var(--font-family-highlight);
  font-weight: bold;
  letter-spacing: 0.05em;
  opacity: 0.75;
  text-transform: uppercase;
}

.text--thin {
  font-family: var(--font-family-default);
  font-weight: 300;
}

.text--thick {
  font-weight: 900;
}

.text--up {
  text-transform: uppercase;
}

.text--glow {
  text-shadow: 0 0 7.5px var(--clr-glow, currentColor);
}

::-moz-selection {
  background-color: var(--clr-primary);
  color: var(--clr-dark);
}

::selection {
  background-color: var(--clr-primary);
  color: var(--clr-dark);
}

.ui__language {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}
.ui__language-selector {
  font-size: 1.25rem;
  font-weight: 900;
}
.ui__language-selector:hover, .ui__language-selector:focus-within, .ui__language-selector[aria-current=language] {
  color: var(--clr-primary);
}
.ui__language-divider {
  background-color: currentColor;
  height: 1.125rem;
  margin: 0 0.5rem;
  place-self: center;
  width: 2px;
}

.ui__scroll-lock {
  overflow: hidden;
}

.ui__theme {
  --icon-fill: hsl(210 10% 70%);
  --icon-fill-hover: hsl(210 15% 90%);
  block-size: var(--theme-icon-size);
  border-radius: 50%;
  inline-size: var(--theme-icon-size);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  aspect-ratio: 1 / 1;
}
@supports not (aspect-ratio: 1 / 1) {
  .ui__theme::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .ui__theme::after {
    content: "";
    display: block;
    clear: both;
  }
}
.ui__theme > svg {
  block-size: 100%;
  inline-size: 100%;
  stroke-linecap: round;
}
[data-theme=light] .ui__theme {
  --icon-fill: hsl(210 10% 30%);
  --icon-fill-hover: hsl(210 10% 15%);
}
.ui__theme .sun-and-moon > .moon, .ui__theme .sun-and-moon > .sun, .ui__theme .sun-and-moon > .sun-beams {
  -moz-transform-origin: center center;
   -ms-transform-origin: center center;
       transform-origin: center center;
}
.ui__theme .sun-and-moon > .moon, .ui__theme .sun-and-moon > .sun {
  fill: var(--icon-fill);
}
.ui__theme .sun-and-moon:hover > .moon, .ui__theme .sun-and-moon:focus-visible > .moon, .ui__theme .sun-and-moon:hover > .sun, .ui__theme .sun-and-moon:focus-visible > .sun {
  fill: var(--icon-fill-hover);
}
.ui__theme .sun-and-moon > .sun-beams {
  stroke: var(--icon-fill);
  stroke-width: 2px;
}
.ui__theme:hover .ui__theme .sun-and-moon > .sun-beams, .ui__theme:focus-visible .ui__theme .sun-and-moon > .sun-beams {
  stroke: var(--icon-fill-hover);
}
[data-theme=dark] .ui__theme .sun-and-moon > .sun {
  -moz-transform: scale(1.75);
   -ms-transform: scale(1.75);
       transform: scale(1.75);
}
[data-theme=dark] .ui__theme .sun-and-moon > .sun-beams {
  opacity: 0;
}
[data-theme=dark] .ui__theme .sun-and-moon > .moon > circle {
  -moz-transform: translateX(-7px);
   -ms-transform: translateX(-7px);
       transform: translateX(-7px);
}
@supports (cx: 1) {
  [data-theme=dark] .ui__theme .sun-and-moon > .moon > circle {
    -moz-transform: translateX(0);
     -ms-transform: translateX(0);
         transform: translateX(0);
    cx: 17;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ui__theme .sun-and-moon > .sun {
    -moz-transition: all 0.5s cubic-bezier(0.5, 1.25, 0.75, 1.25);
    transition: all 0.5s cubic-bezier(0.5, 1.25, 0.75, 1.25);
  }
  .ui__theme .sun-and-moon > .sun-beams {
    -moz-transition: transform 0.5s cubic-bezier(0.5, 1.5, 0.75, 1.25), opacity 0.5s cubic-bezier(0.25, 0, 0.3, 1), -moz-transform 0.5s cubic-bezier(0.5, 1.5, 0.75, 1.25);
    transition: transform 0.5s cubic-bezier(0.5, 1.5, 0.75, 1.25), opacity 0.5s cubic-bezier(0.25, 0, 0.3, 1);
    transition: transform 0.5s cubic-bezier(0.5, 1.5, 0.75, 1.25), opacity 0.5s cubic-bezier(0.25, 0, 0.3, 1), -moz-transform 0.5s cubic-bezier(0.5, 1.5, 0.75, 1.25);
  }
  .ui__theme .sun-and-moon .moon > circle {
    -moz-transition: transform 0.25s cubic-bezier(0, 0, 0, 1), -moz-transform 0.25s cubic-bezier(0, 0, 0, 1);
    transition: transform 0.25s cubic-bezier(0, 0, 0, 1);
    transition: transform 0.25s cubic-bezier(0, 0, 0, 1), -moz-transform 0.25s cubic-bezier(0, 0, 0, 1);
  }
  @supports (cx: 1) {
    .ui__theme .sun-and-moon .moon > circle {
      -moz-transition: cx 0.25s cubic-bezier(0, 0, 0, 1);
      transition: cx 0.25s cubic-bezier(0, 0, 0, 1);
    }
  }
  [data-theme=dark] .ui__theme .sun-and-moon > .sun {
    -moz-transform: scale(1.75);
     -ms-transform: scale(1.75);
         transform: scale(1.75);
    -moz-transition-timing-function: cubic-bezier(0.25, 0, 0.3, 1);
         transition-timing-function: cubic-bezier(0.25, 0, 0.3, 1);
    -moz-transition-duration: 0.25s;
         transition-duration: 0.25s;
  }
  [data-theme=dark] .ui__theme .sun-and-moon > .sun-beams {
    -moz-transform: rotateZ(-25deg);
     -ms-transform: rotate(-25deg);
         transform: rotateZ(-25deg);
    -moz-transition-duration: 0.15s;
         transition-duration: 0.15s;
  }
  [data-theme=dark] .ui__theme .sun-and-moon > .moon > circle {
    -moz-transition-delay: 0.25s;
         transition-delay: 0.25s;
    -moz-transition-duration: 0.5s;
         transition-duration: 0.5s;
  }
}

#cotton-cursor {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  #cotton-cursor {
    background-color: var(--clr-primary);
    -webkit-mask-image: url(../../assets/svgs/heart-filled.svg);
            mask-image: url(../../assets/svgs/heart-filled.svg);
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    display: block;
    height: 1.5rem;
    left: 0;
    opacity: 0.75;
    pointer-events: none;
    position: fixed;
    top: 0;
    -moz-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
    width: 1.5rem;
    z-index: 9;
  }
  #cotton-cursor.cotton-active {
    display: none;
  }
}

.js-focus-visible :focus:not(.focus-visible) {
  outline: none;
}

.glide {
  position: relative;
  width: 100%;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
}
.glide * {
  -moz-box-sizing: inherit;
       box-sizing: inherit;
}
.glide__track {
  overflow: hidden;
}
.glide__slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  -moz-transform-style: preserve-3d;
       transform-style: preserve-3d;
  touch-action: pan-Y;
  overflow: hidden;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: -moz-box;
  display: flex;
  flex-wrap: nowrap;
  will-change: transform;
}
.glide__slides--dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.glide__slide {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  white-space: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.glide__slide a {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.glide__arrows {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.glide__bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.glide--rtl {
  direction: rtl;
}

.glide__slide {
  cursor: pointer;
}
.glide__custom-arrows {
  color: var(--clr-primary);
  display: -moz-box;
  display: flex;
  margin-top: clamp(0.5rem, 2.5vw, 1rem);
}
@supports not (margin-top: clamp(0.5rem, 2.5vw, 1rem)) {
  .glide__custom-arrows {
    margin-top: min(max(0.5rem, 2.5vw), 1rem);
  }
}
.glide__custom-arrows button:not(:last-of-type) {
  margin-right: clamp(0.5rem, 2.5vw, 1rem);
}
@supports not (margin-right: clamp(0.5rem, 2.5vw, 1rem)) {
  .glide__custom-arrows button:not(:last-of-type) {
    margin-right: min(max(0.5rem, 2.5vw), 1rem);
  }
}
.glide__custom-arrows button svg {
  height: clamp(1.5rem, 7.5vw, 2.25rem);
  width: clamp(1.5rem, 7.5vw, 2.25rem);
}
@supports not (height: clamp(1.5rem, 7.5vw, 2.25rem)) {
  .glide__custom-arrows button svg {
    height: min(max(1.5rem, 7.5vw), 2.25rem);
  }
}
@supports not (width: clamp(1.5rem, 7.5vw, 2.25rem)) {
  .glide__custom-arrows button svg {
    width: min(max(1.5rem, 7.5vw), 2.25rem);
  }
}

.line__container {
  height: 3522px;
  overflow: hidden;
  position: absolute;
  top: -10vh;
  width: 100%;
  z-index: -1;
}
.line__container #line {
  display: inline;
  left: 50%;
  max-width: unset;
  opacity: 0.25;
  position: absolute;
  -moz-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
       transform: translateX(-50%);
}