/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./assets/scss/main.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************/
:root {
  --color-primary-600: #171717;
  --color-primary-500: #3d3d3d;
  --color-primary-400: #636363;
  --color-primary-300: #919191;
  --color-primary-200: #c8c8c8;
  --color-primary-100: #fbfbfb;
  --color-accent: #4828e9;
  --font-headline: "Graphik Web", system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  --font-body: "Space Mono", monospace;
  --container: 1360px;
  --gap: 2rem;
  --header-height: 86px;
  --header-height-mobile: 48px;
  --space-16: 1rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-40: 2.5rem;
  --space-80: 5rem;
  --space-120: 7.5rem;
  --space-240: 15rem;
  --space-fluid-120: clamp(2.5rem, 10.2301790281vw + -1.1956521739rem, 7.5rem);
  --space-fluid-240: clamp(7.5rem, 15.3452685422vw + 1.9565217391rem, 15rem);
  --space-fluid-80: clamp(2.5rem, 5.1150895141vw + 0.652173913rem, 5rem);
  --fs-h1-home: clamp(1.25rem, 1.0230179028vw + 0.8804347826rem, 1.75rem);
  --fs-h2: clamp(3rem, 4.2199488491vw + 1.4755434783rem, 5.0625rem);
  --fs-h3: clamp(2.5rem, 3.0690537084vw + 1.3913043478rem, 4rem);
  --fs-h4: clamp(2rem, 1.0230179028vw + 1.6304347826rem, 2.5rem);
  --fs-h5: clamp(1.75rem, 0.5115089514vw + 1.5652173913rem, 2rem);
  --fs-h6: clamp(1.375rem, 0.3836317136vw + 1.2364130435rem, 1.5625rem);
  --fs-eyebrow: 0.9375rem;
  --fs-p-large: clamp(1.125rem, 0.2557544757vw + 1.0326086957rem, 1.25rem);
  --fs-p-mid: clamp(1rem, 0.2557544757vw + 0.9076086957rem, 1.125rem);
  --fs-p-small: 0.8125rem;
  --fs-caption-sm-a: 0.75rem;
  --fs-caption-sm-b: 0.8125rem;
  --fs-caption-lg: 1rem;
}

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

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  color: var(--color-primary-100);
  background-color: var(--color-primary-600);
}

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

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

ul,
ol {
  list-style: none;
}

p {
  margin: 0 0 1.25rem 0;
}

p:last-child {
  margin-bottom: 0;
}

@font-face {
  font-display: swap;
  font-family: "Space Mono";
  font-style: normal;
  font-weight: 400;
  src: url(fonts/space-mono-v17-latin_latin-ext-regular.4fdfc1ed.woff2) format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Space Mono";
  font-style: normal;
  font-weight: 700;
  src: url(fonts/space-mono-v17-latin_latin-ext-700.c96f73f9.woff2) format("woff2");
}

@font-face {
  font-family: "Graphik Web";
  src: url(fonts/Graphik-Medium-Web.64ef9801.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Graphik Web";
  src: url(fonts/Graphik-Bold-Web.29cb6258.woff2) format("woff2");
  font-weight: 700;
  font-style: normal;
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-p-large);
  line-height: 1.5;
  color: var(--color-primary-100);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-headline);
  font-weight: 700;
  color: var(--color-primary-100);
}

h1 {
  font-size: var(--fs-h1-home);
  line-height: 1.2;
}

h2 {
  font-size: var(--fs-h2);
  line-height: 0.95;
}

h3 {
  font-size: var(--fs-h3);
  line-height: 0.95;
  letter-spacing: -0.03em;
}

h4 {
  font-size: var(--fs-h4);
  line-height: 1;
  letter-spacing: -0.03em;
}

h5 {
  font-size: var(--fs-h5);
  line-height: 1;
}

h6 {
  font-size: var(--fs-h6);
  line-height: 1;
}

.text-h1-home {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-h1-home);
  line-height: 1.2;
}

.text-h2 {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-h2);
  line-height: 0.95;
}

.text-h3 {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-h3);
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.text-h4 {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1;
  letter-spacing: -0.03em;
}

.text-h5 {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-h5);
  line-height: 1;
}

.text-h6 {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-h6);
  line-height: 1;
}

.text-eyebrow {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-eyebrow);
  line-height: 1.4;
}

.text-p-large {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--fs-p-large);
  line-height: 1.5;
}

.text-p-mid {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--fs-p-mid);
  line-height: 1.6;
}

.text-p-small {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--fs-p-small);
  line-height: 1.1;
}

.text-caption-a-sm {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--fs-caption-sm);
  line-height: 1.1;
}

.text-caption-b-sm {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--fs-caption-sm);
  line-height: 1.1;
}

.text-caption-a-lg {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--fs-caption-lg);
  line-height: 1.1;
}

.text-caption-b-lg {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--fs-caption-lg);
  line-height: 1.1;
}

.font-body {
  font-family: var(--font-body);
}

.font-headline {
  font-family: var(--font-headline);
}

html {
  scroll-padding-top: calc(var(--header-height) + 20px);
}

@media (max-width: 767.98px) {
  html {
    scroll-padding-top: calc(var(--header-height-mobile) + 20px);
  }
}

body {
  padding-top: var(--header-height);
}

@media (max-width: 767.98px) {
  body {
    padding-top: var(--header-height-mobile);
  }
}

body.admin-bar {
  padding-top: calc(var(--header-height) + 32px);
}

@media screen and (max-width: 767.98px) {
  body.admin-bar {
    padding-top: calc(var(--header-height-mobile) + 46px);
  }
}

.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 1rem;
}

.admin-bar .site-header {
  top: 32px;
}

@media screen and (max-width: 899.98px) {
  .admin-bar .site-header {
    top: 46px;
  }
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  mix-blend-mode: difference;
  height: var(--header-height);
  display: flex;
  align-items: center;
}

@media (max-width: 899.98px) {
  .site-header {
    height: var(--header-height-mobile);
  }
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  height: 100%;
}

.site-header__logo {
  flex-shrink: 0;
}

.site-header__logo-desktop {
  display: block;
}

@media (max-width: 899.98px) {
  .site-header__logo-desktop {
    display: none;
  }
}

.site-header__logo-desktop svg {
  width: auto;
  height: 38px;
  display: block;
}

.site-header__logo-mobile {
  display: none;
}

@media (max-width: 899.98px) {
  .site-header__logo-mobile {
    display: block;
  }
}

.site-header__logo-mobile svg {
  width: 35px;
  height: 24px;
  display: block;
}

.site-header__nav, .site-header__actions {
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.site-header--compact .site-header__nav, .site-header--compact .site-header__actions {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.site-header__nav {
  flex: 1;
  display: flex;
  justify-content: center;
  font-family: var(--font-headline);
}

@media (max-width: 899.98px) {
  .site-header__nav {
    display: none;
  }
}

.site-header__nav ul {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.site-header__nav a {
  font-size: 0.875rem;
  font-weight: 500;
  color: white;
  text-transform: uppercase;
  position: relative;
}

.site-header__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.site-header__nav a:hover::after {
  transform: scaleX(1);
}

.site-header__nav .current-menu-item:not(.menu-about-us) > a::after,
.site-header__nav .current_page_item:not(.menu-about-us) > a::after {
  transform: scaleX(1);
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-shrink: 0;
}

.site-header__lang {
  display: none;
  align-items: center;
  gap: 0.25rem;
  font-family: var(--font-headline);
}

.site-header__lang a {
  font-size: 0.75rem;
  font-weight: 500;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.site-header__lang a.current-lang {
  background-color: var(--color-primary-100);
  color: var(--color-primary-600);
}

.site-header__lang a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.site-header__cta {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-headline);
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-primary-100);
  color: white;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 32px;
  text-transform: uppercase;
  transition: all 0.2s ease;
  line-height: 1;
}

.site-header__cta:hover {
  background-color: var(--color-primary-100);
  color: var(--color-primary-600);
}

.site-header__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: white;
  flex-shrink: 0;
}

@media (max-width: 899.98px) {
  .site-header__burger {
    display: flex;
  }
}

.site-header__burger svg {
  display: block;
}

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
  visibility: hidden;
}

.mobile-menu.is-open {
  pointer-events: auto;
  visibility: visible;
}

.mobile-menu__inner {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary-600);
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  padding-top: calc(var(--header-height-mobile) + 1.5rem);
  transform: translateX(100%);
}

.mobile-menu__close {
  position: absolute;
  top: calc((var(--header-height-mobile) - 24px) / 2);
  right: 1.5rem;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobile-menu__close svg {
  display: block;
}

.mobile-menu__nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.mobile-menu__list {
  text-align: right;
  list-style: none;
}

.mobile-menu__list li {
  overflow: hidden;
}

.mobile-menu__list a {
  display: block;
  font-family: var(--font-headline);
  font-size: var(--fs-h4);
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-primary-100);
  padding: 0.4em 0;
  opacity: 0;
  transform: translateY(60px);
}

.mobile-menu__lang {
  display: none;
}

.mobile-menu__lang-link {
  font-family: var(--font-headline);
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-primary-100);
  letter-spacing: 0.05em;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.mobile-menu__lang-link.current-lang {
  background-color: var(--color-primary-100);
  color: var(--color-primary-600);
}

.mobile-menu__lang-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.site-footer {
  background-color: var(--color-accent);
  color: var(--color-primary-100);
  border-radius: 16px;
  padding-top: clamp(2rem, 1.0230179028vw + 1.6304347826rem, 2.5rem);
}

@media (max-width: 767.98px) {
  .site-footer > * {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }
}

@media (min-width: 768px) {
  .site-footer {
    border-radius: 24px;
  }
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 3rem;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  padding-bottom: 3rem;
}

@media (min-width: 768px) {
  .site-footer__grid {
    padding-bottom: 3.25rem;
    grid-template-columns: repeat(12, 1fr);
  }
}

@media (max-width: 480px) {
  .site-footer__grid {
    grid-template-columns: 1fr;
  }
}

.site-footer__brand {
  grid-column: 1/-1;
}

@media (min-width: 768px) {
  .site-footer__brand {
    grid-column: 1/4;
  }
}

.site-footer__company {
  font-family: var(--font-headline);
  font-size: var(--fs-caption-sm-a);
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

.site-footer__address {
  font-size: var(--fs-p-small);
  line-height: 1.6;
  color: var(--color-primary-100);
  font-style: normal;
}

.site-footer__link {
  display: inline-flex;
  align-items: center;
  font-size: var(--fs-caption-sm-b);
  text-transform: uppercase;
  color: var(--color-primary-100);
  text-decoration: none;
  position: relative;
  gap: 0.125rem;
}

.site-footer__link--desktop {
  display: none;
}

@media (min-width: 768px) {
  .site-footer__link--desktop {
    display: inline-flex;
  }
}

.site-footer__link--mobile {
  margin-top: 0;
  margin-bottom: auto;
}

@media (min-width: 768px) {
  .site-footer__link--mobile {
    display: none;
  }
}

.site-footer__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.site-footer__link:hover::after {
  transform: scaleX(1);
}

.site-footer__nav {
  grid-column: 1/1;
}

@media (min-width: 768px) {
  .site-footer__nav {
    grid-column: 4/11;
  }
}

.site-footer__nav-heading {
  font-family: var(--font-headline);
  font-size: var(--fs-caption-sm-a);
  text-transform: uppercase;
  color: var(--color-primary-100);
  margin-bottom: 1.5rem;
}

.site-footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.site-footer__menu li a {
  font-size: var(--fs-caption-sm-b);
  color: var(--color-primary-100);
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
}

.site-footer__menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.site-footer__menu li a:hover::after {
  transform: scaleX(1);
}

.site-footer__social {
  grid-column: 2/-1;
}

@media (min-width: 768px) {
  .site-footer__social {
    grid-column: 11/-1;
    justify-self: end;
  }
}

.site-footer__social-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: var(--fs-caption-lg);
  color: var(--color-primary-100);
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
}

.site-footer__social-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.site-footer__social-link:hover::after {
  transform: scaleX(1);
}

.site-footer__social-icon {
  width: 1rem;
  height: 1rem;
  -o-object-fit: contain;
     object-fit: contain;
  filter: brightness(0) invert(1);
}

.site-footer__logo {
  max-width: 100%;
  height: auto;
  display: none;
}

@media (min-width: 768px) {
  .site-footer__logo {
    display: block;
  }
}

.site-footer__logo-mobile {
  margin: 2rem auto 0 auto;
  text-align: center;
}

.site-footer__logo-mobile svg {
  max-width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  .site-footer__logo-mobile {
    display: none;
  }
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.site-footer__legal {
  margin-left: auto;
}

.site-footer__legal-menu {
  list-style: none;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.3rem 0.75rem;
  border: 1px solid var(--color-primary-100);
  border-radius: 16px;
}

.site-footer__legal-menu li {
  display: flex;
  align-items: center;
}

.site-footer__legal-menu li a {
  font-size: var(--fs-caption-sm-b);
  color: var(--color-primary-100);
  text-decoration: none;
  text-transform: uppercase;
  line-height: 1;
}

.site-footer__copy {
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.site-footer--simple {
  background: transparent;
  border-radius: 0;
  padding-top: clamp(1.5rem, 2.0460358056vw + 0.7608695652rem, 2.5rem);
  padding-bottom: clamp(1.5rem, 2.0460358056vw + 0.7608695652rem, 2.5rem);
}

.site-footer--simple .site-footer__social-simple {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1.5rem;
}

.site-footer--simple .site-footer__social-simple-link {
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-primary-100);
  text-decoration: none;
  position: relative;
}

.site-footer--simple .site-footer__social-simple-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.site-footer--simple .site-footer__social-simple-link:hover::after {
  transform: scaleX(1);
}

.hero {
  position: relative;
  background-color: var(--color-primary-600);
  overflow: hidden;
  margin: 0 0 var(--space-fluid-240);
  display: flex;
  flex-direction: column;
  height: calc(100vh - var(--header-height));
  height: calc(100svh - var(--header-height));
  max-height: 800px;
  padding-top: 3.125rem;
}

@media (min-width: 768px) {
  .hero {
    padding-top: 1rem;
  }
}

@media (orientation: portrait) and (min-width: 768px) and (max-width: 1024px) {
  .hero {
    max-height: 580px;
  }
}

.hero > .container {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
}

.hero__inner {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: end;
  padding-bottom: clamp(2rem, 3.0690537084vw + 0.8913043478rem, 3.5rem);
  gap: var(--gap);
}

.hero__media {
  grid-column: 1/8;
  position: relative;
  overflow: hidden;
  aspect-ratio: 772/485;
  align-self: end;
  margin-bottom: 2rem;
}

.hero__media-track {
  width: 100%;
  height: 100%;
}

.hero__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom center;
     object-position: bottom center;
  display: block;
}

.hero__content {
  grid-column: 8/-1;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.hero__eyebrow {
  color: var(--color-primary-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.hero__heading {
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 2rem 0;
}

@media (min-width: 768px) {
  .hero__heading {
    margin: 0 0 1.5rem 0;
  }
}

.hero__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 0.5rem;
}

.hero__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: 1.1;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--color-primary-100);
  text-decoration: none;
  padding-bottom: 3px;
}

.hero__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.hero__link:hover::after {
  transform: scaleX(1);
}

.hero__link-icon {
  flex-shrink: 0;
  width: 12px;
  height: 15px;
}

.hero__svg-band {
  overflow: hidden;
  flex-shrink: 0;
}

@media (max-width: 767.98px) {
  .hero {
    height: auto;
    max-height: none;
    margin: 0 0 var(--space-80);
  }
  .hero > .container {
    flex: none;
    overflow: visible;
  }
  .hero__inner {
    display: flex;
    flex-direction: column;
    padding-bottom: clamp(2.5rem, 2.557544757vw + 1.5760869565rem, 3.75rem);
    gap: clamp(1.5rem, 2.0460358056vw + 0.7608695652rem, 2.5rem);
  }
  .hero__media {
    margin-bottom: 1.5rem;
    aspect-ratio: 343/385;
    width: 100%;
  }
  .hero__content {
    gap: 1rem;
  }
}

.services {
  padding-bottom: var(--space-120);
}

.services__layout {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: var(--gap);
}

@media (max-width: 767.98px) {
  .services__layout {
    grid-template-columns: 1fr;
  }
}

.services__sticky {
  position: sticky;
  top: 50vh;
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 1.0230179028vw + 0.6304347826rem, 1.5rem);
}

@media (max-width: 767.98px) {
  .services__sticky {
    position: static;
    margin-bottom: clamp(2rem, 2.0460358056vw + 1.2608695652rem, 3rem);
  }
}

.services__eyebrow {
  font-size: clamp(0.875rem, 0.1278772379vw + 0.8288043478rem, 0.9375rem);
  text-transform: uppercase;
  margin-bottom: 2.5rem;
  color: var(--color-primary-100);
}

.services__text {
  font-size: clamp(1.25rem, 0.2557544757vw + 1.1576086957rem, 1.375rem);
  line-height: 1.5;
  color: var(--color-primary-100);
  max-width: 440px;
}

.services__text p {
  margin-bottom: 1em;
}

.services__text p:last-child {
  margin-bottom: 0;
}

.services__list {
  list-style: none;
  margin: 0;
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.services__item {
  border: 1px solid var(--color-primary-100);
  border-radius: 16px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  box-shadow: -4px 4px 13.5px 0 #fff;
}

.services__item-heading {
  font-size: clamp(1.375rem, 0.3836317136vw + 1.2364130435rem, 1.5625rem);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-primary-100);
  line-height: 1.2;
  margin-bottom: 1rem;
}

.services__item-text {
  font-size: var(--fs-p-mid);
  line-height: 1.5;
  color: var(--color-primary-100);
}

.services__item-text p {
  margin-bottom: 0;
}

.scrolling-svg {
  overflow: hidden;
  margin: 0 0 clamp(7.5rem, 15.3452685422vw + 1.9565217391rem, 15rem);
}

.scrolling-svg__track {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}

.scrolling-svg__img {
  display: block;
  height: clamp(3.75rem, 1.9181585678vw + 3.0570652174rem, 4.6875rem);
  width: auto;
  max-width: none;
}

.robots-nav {
  margin-bottom: clamp(2.5rem, 5.1150895141vw + 0.652173913rem, 5rem);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.robots-nav::-webkit-scrollbar {
  display: none;
}

.robots-nav__list {
  display: flex;
  flex-wrap: nowrap;
  gap: 2rem;
  list-style: none;
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  justify-content: center;
}

.robots-nav__link {
  display: block;
  font-family: var(--font-headline);
  font-size: clamp(1.375rem, 0.2557544757vw + 1.2826086957rem, 1.5rem);
  text-transform: uppercase;
  letter-spacing: -0.05em;
  color: var(--color-primary-100);
  text-decoration: none;
  position: relative;
  font-weight: 700;
  transition: color 0.2s ease;
}

.robots-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.robots-nav__link:hover {
  color: var(--color-primary-100);
}

.robots-nav__link:hover::after {
  transform: scaleX(1);
}

.robots-nav__link--active {
  color: var(--color-primary-100);
}

.robots-nav__link--active::after {
  transform: scaleX(1);
}

.robot-single {
  padding-top: clamp(2.5rem, 5.1150895141vw + 0.652173913rem, 5rem);
  padding-bottom: var(--space-80);
}

.robot-single__intro {
  display: grid;
  gap: clamp(2.5rem, 5.1150895141vw + 0.652173913rem, 5rem);
  align-items: start;
  margin-bottom: clamp(4rem, 7.1611253197vw + 1.4130434783rem, 7.5rem);
}

@media (min-width: 783px) {
  .robot-single__intro {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas: "title image" "desc  image";
  }
}

@media (max-width: 782px) {
  .robot-single__intro {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.robot-single__eyebrow {
  text-transform: uppercase;
  color: var(--color-primary-100);
  margin-bottom: clamp(2.5rem, 3.0690537084vw + 1.3913043478rem, 4rem);
}

.robot-single__title {
  font-size: var(--fs-h2);
  line-height: 0.95;
  margin-bottom: clamp(1.5rem, 2.0460358056vw + 0.7608695652rem, 2.5rem);
  text-transform: uppercase;
}

@media (min-width: 783px) {
  .robot-single__title {
    grid-area: title;
  }
}

@media (max-width: 782px) {
  .robot-single__title {
    margin-bottom: 0;
  }
}

.robot-single__description {
  font-size: var(--fs-p-large);
  line-height: 1.6;
  color: var(--color-primary-100);
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media (min-width: 783px) {
  .robot-single__description {
    grid-area: desc;
  }
}

.robot-single__description-content {
  margin-top: auto;
}

@media (min-width: 783px) {
  .robot-single__media--top {
    grid-area: image;
  }
}

@media (min-width: 783px) {
  .robot-single__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .robot-single__description {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .robot-single__media--top {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
}

.robot-single__cta {
  position: relative;
  display: inline-flex;
  align-items: start;
  gap: 0.25rem;
  font-size: 1.125rem;
  color: var(--color-primary-100);
  text-decoration: none;
  text-transform: uppercase;
}

.robot-single__cta::before {
  content: "";
  display: block;
  width: 12px;
  height: 15px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%2715%27 viewBox=%270 0 12 15%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M6.96967 6.96967C7.26256 6.67678 7.73732 6.67678 8.03022 6.96967L11.4052 10.3447C11.6981 10.6376 11.6981 11.1123 11.4052 11.4052L8.03022 14.7802C7.73732 15.0731 7.26256 15.0731 6.96967 14.7802C6.67678 14.4873 6.67678 14.0126 6.96967 13.7197L9.8144 10.8749L6.96967 8.03022C6.67678 7.73732 6.67678 7.26256 6.96967 6.96967Z%27 fill=%27%23FBFBFB%27/%3E%3Cpath d=%27M0 0.75C0 0.335786 0.335786 0 0.75 0C1.16421 0 1.5 0.335786 1.5 0.75V10.125H10.875C11.2892 10.125 11.625 10.4608 11.625 10.875C11.625 11.2892 11.2892 11.625 10.875 11.625H0.75C0.335786 11.625 0 11.2892 0 10.875V0.75Z%27 fill=%27%23FBFBFB%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: 4px;
}

.robot-single__cta::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.robot-single__cta:hover::after {
  transform: scaleX(1);
}

.robot-single__advantages {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  row-gap: clamp(2rem, 2.0460358056vw + 1.2608695652rem, 3rem);
  margin-bottom: clamp(2.5rem, 3.0690537084vw + 1.3913043478rem, 4rem);
}

.robot-single__advantages-wrap {
  margin-bottom: clamp(3.75rem, 7.6726342711vw + 0.9782608696rem, 7.5rem);
}

@media (max-width: 782px) {
  .robot-single__advantages {
    grid-template-columns: 1fr;
  }
}

.robot-single__advantage-heading {
  display: block;
  font-family: var(--font-headline);
  font-size: var(--fs-h6);
  text-transform: uppercase;
  color: var(--color-primary-100);
  margin-bottom: 1.5rem;
  line-height: 1.15;
  font-weight: 700;
}

.robot-single__advantage-text {
  font-size: var(--fs-p-mid);
  line-height: 1.5;
  color: var(--color-primary-100);
}

.robot-single__advantage-text p {
  margin: 0;
}

.robot-single__media {
  overflow: hidden;
}

.robot-single__media--bottom {
  width: 100%;
}

.robot-single__img {
  width: 100%;
  height: auto;
  display: block;
}

.robots-showcase {
  margin-bottom: clamp(7.5rem, 15.3452685422vw + 1.9565217391rem, 15rem);
}

.robots-showcase__header {
  margin-bottom: clamp(2.5rem, 3.0690537084vw + 1.3913043478rem, 4rem);
}

.robots-showcase__eyebrow {
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--color-primary-100);
  margin-bottom: var(--space-16);
  text-align: center;
}

.robots-showcase__heading {
  font-size: var(--fs-h2);
  text-transform: uppercase;
  max-width: 880px;
  margin: 0 auto 1rem auto;
  line-height: 0.95;
  font-weight: 700;
  text-align: center;
}

.robots-showcase__inner {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gap);
  align-items: center;
}

@media (max-width: 767.98px) {
  .robots-showcase__inner {
    display: none;
  }
}

.robots-showcase__list {
  list-style: none;
  grid-column: 1/8;
}

.robots-showcase__item:hover .robots-showcase__name {
  color: var(--color-primary-100);
}

.robots-showcase__name {
  display: block;
  font-size: clamp(2rem, 4.0920716113vw + 0.5217391304rem, 4rem);
  font-family: var(--font-headline);
  font-weight: 700;
  line-height: 1;
  color: var(--color-primary-400);
  transition: color 0.25s ease;
  text-transform: uppercase;
}

.robots-showcase__media {
  grid-column: 8/12;
  position: sticky;
  top: calc(var(--header-height) + var(--space-40));
  display: grid;
}

@media (max-width: 767.98px) {
  .robots-showcase__media {
    display: none;
  }
}

.robots-showcase__img-wrap {
  grid-area: 1/1;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.robots-showcase__img {
  width: auto;
  height: auto;
  max-width: 100%;
  display: block;
  aspect-ratio: 3/4;
}

.robots-showcase__carousel {
  display: none;
}

@media (max-width: 767.98px) {
  .robots-showcase__carousel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: clamp(1.25rem, 1.5345268542vw + 0.6956521739rem, 2rem);
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .robots-showcase__carousel::-webkit-scrollbar {
    display: none;
  }
}

.robots-showcase__card {
  flex: 0 0 min(300px, 78vw);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 1.0230179028vw + 0.6304347826rem, 1.5rem);
}

.robots-showcase__card-name {
  font-size: var(--fs-h4);
  font-family: var(--font-headline);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin-bottom: 0;
  color: var(--color-primary-100);
}

.robots-showcase__card-media {
  aspect-ratio: 3/4;
}

.robots-showcase__card-media .robots-showcase__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.robots-showcase__card-link {
  position: relative;
  display: inline-flex;
  align-items: start;
  gap: 0.25rem;
  font-size: 1.125rem;
  color: var(--color-primary-100);
  text-decoration: none;
}

.robots-showcase__card-link::before {
  content: "";
  display: block;
  width: 12px;
  height: 15px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%2715%27 viewBox=%270 0 12 15%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M6.96967 6.96967C7.26256 6.67678 7.73732 6.67678 8.03022 6.96967L11.4052 10.3447C11.6981 10.6376 11.6981 11.1123 11.4052 11.4052L8.03022 14.7802C7.73732 15.0731 7.26256 15.0731 6.96967 14.7802C6.67678 14.4873 6.67678 14.0126 6.96967 13.7197L9.8144 10.8749L6.96967 8.03022C6.67678 7.73732 6.67678 7.26256 6.96967 6.96967Z%27 fill=%27%23FBFBFB%27/%3E%3Cpath d=%27M0 0.75C0 0.335786 0.335786 0 0.75 0C1.16421 0 1.5 0.335786 1.5 0.75V10.125H10.875C11.2892 10.125 11.625 10.4608 11.625 10.875C11.625 11.2892 11.2892 11.625 10.875 11.625H0.75C0.335786 11.625 0 11.2892 0 10.875V0.75Z%27 fill=%27%23FBFBFB%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: 4px;
}

.robots-showcase__card-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.robots-showcase__card-link:hover::after {
  transform: scaleX(1);
}

.default-section__content {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  align-items: start;
}

@media (min-width: 768px) {
  .default-section__content {
    grid-template-columns: repeat(12, 1fr);
  }
}

.default-section__heading {
  font-size: var(--fs-h2);
  line-height: 0.95;
  text-transform: uppercase;
  text-align: center;
  max-width: 880px;
  margin: 0 auto 1rem auto;
}

.default-section__eyebrow {
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: var(--space-fluid-120);
  text-align: center;
}

@media (min-width: 768px) {
  .default-section__text {
    grid-column: 1/7;
  }
}

@media (min-width: 1024px) {
  .default-section__text {
    grid-column: 1/6;
  }
}

.default-section__image {
  order: -1;
}

@media (min-width: 768px) {
  .default-section__image {
    grid-column: 7/-1;
    order: 1;
  }
}

@media (min-width: 1024px) {
  .default-section__image {
    grid-column: 8/-1;
  }
}

@media (min-width: 768px) {
  .default-section--image-left .default-section__text {
    grid-column: 8/-1;
  }
}

@media (min-width: 768px) {
  .default-section--image-left .default-section__image {
    grid-column: 1/6;
  }
}

.default-section__image-media {
  overflow: hidden;
}

.default-section__image-media img {
  width: 100%;
  height: auto;
  display: block;
}

.newsletter-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.newsletter-popup[hidden] {
  display: none;
}

.newsletter-popup__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.72);
  cursor: pointer;
}

.newsletter-popup__dialog {
  position: relative;
  z-index: 1;
  background-color: var(--color-accent);
  border-radius: 24px;
  padding: clamp(2rem, 3.0690537084vw + 0.8913043478rem, 3.5rem);
  width: min(560px, 90vw);
  max-height: 90dvh;
  overflow-y: auto;
}

.newsletter-popup__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--color-primary-100);
  cursor: pointer;
  padding: 0.25rem;
  opacity: 0.7;
  transition: opacity 0.2s ease;
  line-height: 0;
}

.newsletter-popup__close:hover {
  opacity: 1;
}

.newsletter-popup__heading {
  font-size: var(--fs-p-large);
  line-height: 1.4;
  color: var(--color-primary-100);
  margin-bottom: 2rem;
  padding-right: 2.5rem;
}

.newsletter-popup__form .ff-t-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  border-bottom: 1px solid #fff;
}

.newsletter-popup__form .ff-t-cell:first-child {
  flex: 1 1 0% !important;
  min-width: 0;
}

.newsletter-popup__form .ff-t-cell:last-child {
  flex: 0 0 auto !important;
  width: auto !important;
}

.newsletter-popup__form .ff-el-group {
  margin-bottom: 0 !important;
}

.newsletter-popup__form .ff-el-form-control,
.newsletter-popup__form input[type=email],
.newsletter-popup__form input[type=text] {
  width: 100% !important;
  background: transparent;
  border: none !important;
  border-radius: 0;
  color: var(--color-primary-100);
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.75rem 0;
  outline: none;
}

.newsletter-popup__form .ff-el-form-control::-moz-placeholder, .newsletter-popup__form input[type=email]::-moz-placeholder, .newsletter-popup__form input[type=text]::-moz-placeholder {
  color: var(--color-primary-100);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.newsletter-popup__form .ff-el-form-control::placeholder,
.newsletter-popup__form input[type=email]::placeholder,
.newsletter-popup__form input[type=text]::placeholder {
  color: var(--color-primary-100);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.newsletter-popup__form .ff-el-form-control:active, .newsletter-popup__form .ff-el-form-control:focus,
.newsletter-popup__form input[type=email]:active,
.newsletter-popup__form input[type=email]:focus,
.newsletter-popup__form input[type=text]:active,
.newsletter-popup__form input[type=text]:focus {
  background: transparent;
  color: var(--color-primary-100);
  box-shadow: none;
}

.newsletter-popup__form .ff-btn-submit,
.newsletter-popup__form button[type=submit] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
  font-size: 0 !important;
  color: transparent !important;
  width: auto !important;
  min-width: 0 !important;
  transition: opacity 0.2s ease;
}

.newsletter-popup__form .ff-btn-submit span,
.newsletter-popup__form button[type=submit] span {
  display: none !important;
}

.newsletter-popup__form .ff-btn-submit::after,
.newsletter-popup__form button[type=submit]::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M3.75 12H20.25%27 stroke=%27%23FBFBFB%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3Cpath d=%27M13.5 5.25L20.25 12L13.5 18.75%27 stroke=%27%23FBFBFB%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.newsletter-popup__form .ff-btn-submit:hover,
.newsletter-popup__form button[type=submit]:hover {
  opacity: 0.6;
}

.newsletter-popup__form label {
  display: none;
}

.newsletter {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.newsletter__bg {
  position: absolute;
  inset: 0;
  background-color: var(--color-accent);
  will-change: transform, border-radius;
  transform-origin: center center;
  border-radius: 32px;
  opacity: 0;
}

.newsletter__inner {
  position: relative;
  z-index: 1;
  width: min(640px, 90%);
  text-align: left;
  padding: clamp(2rem, 3.0690537084vw + 0.8913043478rem, 3.5rem);
}

.newsletter__icon {
  margin-bottom: 2rem;
  text-align: center;
}

.newsletter__icon svg {
  display: block;
  margin: 0 auto;
}

.newsletter__text {
  font-size: var(--fs-p-large);
  line-height: 1.4;
  color: var(--color-primary-100);
  margin-bottom: 1rem;
}

.newsletter__form .ff-t-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  border-bottom: 1px solid #fff;
}

.newsletter__form .ff-t-cell:first-child {
  flex: 1 1 0% !important;
  min-width: 0;
}

.newsletter__form .ff-t-cell:last-child {
  flex: 0 0 auto !important;
  width: auto !important;
}

.newsletter__form .ff-el-group {
  margin-bottom: 0 !important;
}

.newsletter__form .ff-el-form-control,
.newsletter__form input[type=email],
.newsletter__form input[type=text] {
  width: 100% !important;
  background: transparent;
  border: none !important;
  border-radius: 0;
  color: var(--color-primary-100);
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.75rem 0;
  outline: none;
}

.newsletter__form .ff-el-form-control::-moz-placeholder, .newsletter__form input[type=email]::-moz-placeholder, .newsletter__form input[type=text]::-moz-placeholder {
  color: var(--color-primary-100);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.newsletter__form .ff-el-form-control::placeholder,
.newsletter__form input[type=email]::placeholder,
.newsletter__form input[type=text]::placeholder {
  color: var(--color-primary-100);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.newsletter__form .ff-el-form-control:active, .newsletter__form .ff-el-form-control:focus,
.newsletter__form input[type=email]:active,
.newsletter__form input[type=email]:focus,
.newsletter__form input[type=text]:active,
.newsletter__form input[type=text]:focus {
  background: transparent;
  color: var(--color-primary-100);
  box-shadow: none;
}

.newsletter__form .ff-btn-submit,
.newsletter__form button[type=submit] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
  font-size: 0 !important;
  color: transparent !important;
  width: auto !important;
  min-width: 0 !important;
  transition: opacity 0.2s ease;
}

.newsletter__form .ff-btn-submit span,
.newsletter__form button[type=submit] span {
  display: none !important;
}

.newsletter__form .ff-btn-submit::after,
.newsletter__form button[type=submit]::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M3.75 12H20.25%27 stroke=%27%23FBFBFB%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3Cpath d=%27M13.5 5.25L20.25 12L13.5 18.75%27 stroke=%27%23FBFBFB%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.newsletter__form .ff-btn-submit:hover,
.newsletter__form button[type=submit]:hover {
  opacity: 0.6;
}

.newsletter__form label {
  display: none;
}

.portfolio-section {
  padding-top: clamp(5rem, 15.3452685422vw + -0.5434782609rem, 12.5rem);
  padding-bottom: clamp(5rem, 15.3452685422vw + -0.5434782609rem, 12.5rem);
}

.portfolio-section__images {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 1.0230179028vw + 0.6304347826rem, 1.5rem);
  align-items: start;
}

@media (min-width: 640px) {
  .portfolio-section__images {
    grid-template-columns: 55.15% 40.15%;
    gap: 34px;
  }
}

.portfolio-section__img-link {
  display: block;
  line-height: 0;
}

.portfolio-section__img-wrap {
  overflow: hidden;
}

@media (min-width: 640px) {
  .portfolio-section__img-wrap:nth-child(2) {
    margin-top: 194px;
  }
}

.portfolio-section__img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
}

.portfolio-section__img-wrap:first-child .portfolio-section__img {
  aspect-ratio: 750/563;
}

.portfolio-section__img-wrap:nth-child(2) .portfolio-section__img {
  aspect-ratio: 1/1;
}

.portfolio-section__cta {
  margin-top: clamp(1.5rem, 2.0460358056vw + 0.7608695652rem, 2.5rem);
  display: flex;
  justify-content: flex-start;
}

@media (max-width: 639px) {
  .portfolio-section__cta:not(.portfolio-section__cta--mobile) {
    display: none;
  }
}

.portfolio-section__cta--mobile {
  display: none;
}

@media (max-width: 639px) {
  .portfolio-section__cta--mobile {
    display: flex;
  }
}

.portfolio-section__link {
  position: relative;
  display: inline-flex;
  align-items: start;
  gap: 0.25rem;
  font-size: 1.125rem;
  color: var(--color-primary-100);
  text-decoration: none;
  padding-bottom: 3px;
}

.portfolio-section__link::before {
  content: "";
  display: block;
  width: 12px;
  height: 15px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%2715%27 viewBox=%270 0 12 15%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M6.96967 6.96967C7.26256 6.67678 7.73732 6.67678 8.03022 6.96967L11.4052 10.3447C11.6981 10.6376 11.6981 11.1123 11.4052 11.4052L8.03022 14.7802C7.73732 15.0731 7.26256 15.0731 6.96967 14.7802C6.67678 14.4873 6.67678 14.0126 6.96967 13.7197L9.8144 10.8749L6.96967 8.03022C6.67678 7.73732 6.67678 7.26256 6.96967 6.96967Z%27 fill=%27%23FBFBFB%27/%3E%3Cpath d=%27M0 0.75C0 0.335786 0.335786 0 0.75 0C1.16421 0 1.5 0.335786 1.5 0.75V10.125H10.875C11.2892 10.125 11.625 10.4608 11.625 10.875C11.625 11.2892 11.2892 11.625 10.875 11.625H0.75C0.335786 11.625 0 11.2892 0 10.875V0.75Z%27 fill=%27%23FBFBFB%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: 4px;
}

.portfolio-section__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.portfolio-section__link:hover::after {
  transform: scaleX(1);
}

.portfolio-archive {
  padding-top: var(--space-120);
  padding-bottom: var(--space-240);
}

.portfolio-archive__header {
  text-align: center;
  margin-bottom: clamp(3rem, 6.1381074169vw + 0.7826086957rem, 6rem);
}

.portfolio-archive__heading {
  font-size: var(--fs-h2);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 0.95;
}

.portfolio-archive__category {
  font-size: var(--fs-caption-sm-b);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-300);
  margin-top: 1rem;
  line-height: 1;
}

.portfolio-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-120);
  align-items: center;
}

@media (max-width: 992px) {
  .portfolio-archive__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767.98px) {
  .portfolio-archive__grid {
    grid-template-columns: 1fr;
  }
}

.portfolio-archive__pagination {
  margin-top: clamp(3rem, 6.1381074169vw + 0.7826086957rem, 6rem);
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.portfolio-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding-inline: 0.5rem;
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-100);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 2rem;
  transition: border-color 0.2s;
}

.portfolio-archive__pagination .page-numbers.current, .portfolio-archive__pagination .page-numbers:hover {
  border-color: var(--color-primary-100);
}

.portfolio-archive__pagination .page-numbers.dots {
  border-color: transparent;
  pointer-events: none;
}

.portfolio-archive__pagination .page-numbers.prev svg, .portfolio-archive__pagination .page-numbers.next svg {
  width: 24px;
  height: 24px;
  display: block;
  flex-shrink: 0;
}

.portfolio-item__link {
  display: block;
  color: inherit;
}

.portfolio-item__media {
  overflow: hidden;
  display: block;
}

.portfolio-item__img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}

.portfolio-item__media-link {
  display: block;
}

.portfolio-item__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.portfolio-item__title {
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-100);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  mix-blend-mode: difference;
}

.portfolio-item__title:hover {
  opacity: 0.7;
}

.portfolio-item__cat {
  font-size: var(--fs-caption-sm-b);
  color: var(--color-primary-100);
  line-height: 1;
  text-align: right;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  mix-blend-mode: difference;
}

.portfolio-item__cat::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.portfolio-item__cat:hover::after {
  transform: scaleX(1);
}

body .contact-section {
  padding: var(--space-fluid-80) 0;
}

body .contact-section__heading {
  font-size: var(--fs-h3);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.95;
  margin-bottom: var(--space-fluid-80);
}

body .contact-section__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
}

@media (min-width: 900px) {
  body .contact-section__body {
    grid-template-columns: 1fr 1fr;
  }
}

body .contact-section__form {
  max-width: 578px;
}

body .contact-section__form .ff-el-input--label label {
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  text-transform: none;
  letter-spacing: 0.06em;
  color: var(--color-primary-300);
  margin-bottom: 0.375rem;
}

body .contact-section__form .ff-el-group {
  margin-bottom: 2.5rem;
}

body .contact-section__form .ff-el-group:last-of-type {
  margin-bottom: 0;
}

body .contact-section__form .ff-el-form-control {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--color-primary-100);
  border-radius: 0;
  color: var(--color-primary-100);
  font-family: var(--font-body);
  font-size: 1rem;
  text-transform: none;
  padding: 0;
  width: 100%;
  transition: border-color 0.2s;
}

body .contact-section__form .ff-el-form-control:focus, body .contact-section__form .ff-el-form-control:active {
  color: var(--color-primary-100);
  outline: none;
  background: transparent;
  border-bottom-color: var(--color-primary-200);
  box-shadow: none;
}

body .contact-section__form .ff-el-form-control:-webkit-autofill, body .contact-section__form .ff-el-form-control:-webkit-autofill:hover, body .contact-section__form .ff-el-form-control:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: var(--color-primary-100) !important;
  -webkit-transition: background-color 9999s ease-in-out 0s;
  transition: background-color 9999s ease-in-out 0s;
  color: var(--color-primary-100);
}

body .contact-section__form .ff-el-form-control::-moz-placeholder {
  color: var(--color-primary-100);
  text-transform: none;
  font-size: var(--fs-p-small);
  letter-spacing: 0.04em;
}

body .contact-section__form .ff-el-form-control::placeholder {
  color: var(--color-primary-100);
  text-transform: none;
  font-size: var(--fs-p-small);
  letter-spacing: 0.04em;
}

body .contact-section__form input.ff-el-form-control {
  height: 48px;
}

body .contact-section__form textarea.ff-el-form-control {
  height: 204px;
  resize: none;
}

body .contact-section__form .ff_submit_btn_wrapper {
  margin-top: clamp(2.5rem, 5.1150895141vw + 0.652173913rem, 5rem);
}

body .contact-section__form .ff-btn-submit {
  position: relative;
  display: inline-flex !important;
  padding: 0 !important;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-100);
  background: transparent;
  border: none;
  padding: 0.25rem 0;
  cursor: pointer;
}

body .contact-section__form .ff-btn-submit::before {
  content: "";
  display: block;
  width: 12px;
  height: 15px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%2715%27 viewBox=%270 0 12 15%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M6.96967 6.96967C7.26256 6.67678 7.73732 6.67678 8.03022 6.96967L11.4052 10.3447C11.6981 10.6376 11.6981 11.1123 11.4052 11.4052L8.03022 14.7802C7.73732 15.0731 7.26256 15.0731 6.96967 14.7802C6.67678 14.4873 6.67678 14.0126 6.96967 13.7197L9.8144 10.8749L6.96967 8.03022C6.67678 7.73732 6.67678 7.26256 6.96967 6.96967Z%27 fill=%27%23FBFBFB%27/%3E%3Cpath d=%27M0 0.75C0 0.335786 0.335786 0 0.75 0C1.16421 0 1.5 0.335786 1.5 0.75V10.125H10.875C11.2892 10.125 11.625 10.4608 11.625 10.875C11.625 11.2892 11.2892 11.625 10.875 11.625H0.75C0.335786 11.625 0 11.2892 0 10.875V0.75Z%27 fill=%27%23FBFBFB%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

body .contact-section__form .ff-btn-submit::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

body .contact-section__form .ff-btn-submit:hover::after {
  transform: scaleX(1);
}

body .contact-section__form .ff-btn-submit:focus-visible {
  outline: 1px solid currentColor;
  border-radius: 2rem;
  padding: 0.25rem 1rem;
  outline-offset: 2px;
}

body .contact-section__form .ff-btn-submit:hover {
  opacity: 1 !important;
}

body .contact-section__form .ff-errors-head,
body .contact-section__form .error {
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  color: #ff6b6b;
  margin-top: 0.25rem;
}

body .contact-section__form .ff-message-success {
  font-family: var(--font-body);
  font-size: var(--fs-p-mid);
  color: var(--color-primary-100);
  padding: 1.5rem 0;
}

body .contact-section__columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  align-content: start;
}

@media (min-width: 992px) {
  body .contact-section__columns {
    grid-template-columns: 1fr 1fr;
  }
}

body .contact-section__col-heading {
  font-size: var(--fs-caption-lg);
  font-family: var(--font-headline);
  text-transform: uppercase;
  color: var(--color-primary-100);
  margin-bottom: 1.5rem;
  font-weight: 500;
}

body .contact-section__col-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-primary-100);
  margin-bottom: clamp(2.5rem, 5.1150895141vw + 0.652173913rem, 5rem);
}

body .contact-section__col-text:last-child {
  margin-bottom: 0;
}

body .contact-section__col-text p {
  margin-bottom: 1.5rem;
}

body .contact-section__col-text p:last-child {
  margin: 0;
}

body .contact-section__col-text a {
  position: relative;
  text-decoration: none;
  color: inherit;
}

body .contact-section__col-text a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

body .contact-section__col-text a:hover::after {
  transform: scaleX(1);
}

.news-archive {
  padding: var(--space-fluid-240) 0;
}

.news-archive__header {
  text-align: center;
  margin-bottom: clamp(3rem, 6.1381074169vw + 0.7826086957rem, 6rem);
  margin-bottom: 154px;
}

.news-archive__heading {
  font-size: var(--fs-h2);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.95;
  margin-bottom: 0.5rem;
}

.news-archive__eyebrow {
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-300);
  margin-top: 1rem;
}

.news-archive__grid {
  display: grid;
  grid-template-columns: 1fr;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  row-gap: var(--space-120);
}

@media (min-width: 768px) {
  .news-archive__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 992px) {
  .news-archive__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.news-archive__pagination {
  margin-top: clamp(3rem, 6.1381074169vw + 0.7826086957rem, 6rem);
  display: flex;
  justify-content: center;
}

.news-archive__pagination .nav-links {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.news-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding-inline: 0.5rem;
  font-family: var(--font-body);
  font-size: var(--fs-p-small);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-100);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 2rem;
  transition: border-color 0.2s;
}

.news-archive__pagination .page-numbers.current, .news-archive__pagination .page-numbers:hover {
  border-color: var(--color-primary-100);
}

.news-archive__pagination .page-numbers.dots {
  border-color: transparent;
  pointer-events: none;
}

.news-archive__pagination .page-numbers.prev, .news-archive__pagination .page-numbers.next {
  min-width: 2.5rem;
  padding-inline: 0.5rem;
}

.news-archive__pagination .page-numbers.prev svg, .news-archive__pagination .page-numbers.next svg {
  width: 24px;
  height: 24px;
  display: block;
  flex-shrink: 0;
}

.news-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 4/3;
  margin-bottom: 0.75rem;
}

.news-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
  margin-bottom: 0.5rem;
}

.news-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.news-card__date {
  font-family: var(--font-headline);
  font-size: var(--fs-caption-sm-a);
  color: var(--color-primary-100);
  line-height: 1;
  mix-blend-mode: difference;
}

.news-card__cat {
  font-size: var(--fs-caption-sm-b);
  color: var(--color-primary-100);
  line-height: 1;
  text-align: right;
  text-decoration: none;
  position: relative;
  mix-blend-mode: difference;
}

.news-card__cat::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.news-card__cat:hover {
  color: var(--color-primary-100);
}

.news-card__cat:hover::after {
  transform: scaleX(1);
}

.news-card__title {
  font-size: var(--fs-h5);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--color-primary-100);
}

.news-card__title-link {
  color: inherit;
  text-decoration: none;
  mix-blend-mode: difference;
}

.news-card__title-link:hover {
  opacity: 0.8;
}

.single-post__inner {
  padding-top: clamp(2.5rem, 10.2301790281vw + -1.1956521739rem, 7.5rem);
  padding-bottom: clamp(5rem, 20.4603580563vw + -2.3913043478rem, 15rem);
  max-width: 1128px;
  margin-inline: auto;
}

.single-post__header {
  margin-bottom: clamp(2rem, 2.0460358056vw + 1.2608695652rem, 3rem);
}

.single-post__title {
  font-size: var(--fs-h2);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.95;
  text-align: center;
  margin-bottom: 1.5rem;
}

.single-post__meta {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: clamp(2.5rem, 8.9514066496vw + -0.7336956522rem, 6.875rem);
}

.single-post__date {
  font-family: var(--font-headline);
  font-size: var(--fs-caption-lg);
  color: var(--color-primary-100);
  font-weight: 500;
}

.single-post__cat {
  font-size: var(--fs-caption-lg);
  color: var(--color-primary-100);
  text-decoration: none;
  position: relative;
}

.single-post__cat::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.single-post__cat:hover::after {
  transform: scaleX(1);
}

.single-post__thumbnail {
  margin-bottom: var(--space-fluid-120);
  overflow: hidden;
}

.single-post__img {
  width: 100%;
  height: auto;
  display: block;
}

.single-post__excerpt {
  text-align: center;
  max-width: 900px;
  margin-inline: auto;
  margin-bottom: clamp(2.5rem, 3.0690537084vw + 1.3913043478rem, 4rem);
  font-size: var(--fs-p-large);
  line-height: 1.4;
  color: var(--color-primary-100);
  margin-bottom: clamp(3.75rem, 7.6726342711vw + 0.9782608696rem, 7.5rem);
}

.single-post__content > * {
  max-width: 664px;
  margin-inline: auto;
}

.single-post__content > .wp-block-group:has(.wp-block-gallery) {
  max-width: 100%;
  margin-inline: 0;
}

.single-post__content > .wp-block-group:has(.wp-block-gallery) > .wp-block-group__inner-container {
  max-width: 100%;
  --wp--style--global--content-size: 100%;
}

.single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery {
  width: 100%;
  max-width: 100% !important;
  gap: 0 !important;
  --wp--style--unstable-gallery-gap: 0px !important;
}

.single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery, .single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery.is-layout-flex, .single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery.wp-block-gallery-is-layout-flex {
  gap: 0 !important;
}

.single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 767.98px) {
  .single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery, .single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery.is-layout-flex {
    flex-direction: column !important;
  }
  .single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery figure.wp-block-image,
  .single-post__content > .wp-block-group:has(.wp-block-gallery) .wp-block-gallery figure.wp-block-image:not(#individual-image) {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.single-post__content h1,
.single-post__content h2,
.single-post__content h3,
.single-post__content h4,
.single-post__content h5,
.single-post__content h6 {
  font-size: var(--fs-h6);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.1;
  margin-top: clamp(4rem, 2.0460358056vw + 3.2608695652rem, 5rem);
  margin-bottom: 1.5rem;
}

.single-post__content h1:first-child,
.single-post__content h2:first-child,
.single-post__content h3:first-child,
.single-post__content h4:first-child,
.single-post__content h5:first-child,
.single-post__content h6:first-child {
  margin-top: 0;
}

.single-post__content p {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-primary-100);
  margin-bottom: 1.5rem;
}

.single-post__content p:last-child {
  margin-bottom: 0;
}

.single-post__content a:not(:has(img)) {
  color: inherit;
  text-decoration: none;
  position: relative;
}

.single-post__content a:not(:has(img))::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.single-post__content a:not(:has(img)):hover::after {
  transform: scaleX(1);
}

.single-post__content ul,
.single-post__content ol {
  padding-inline-start: 1.5rem;
  margin-bottom: 1.5rem;
}

.single-post__content ul li,
.single-post__content ol li {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.single-post__content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 2rem;
}

.single-post__content a:has(img) {
  display: block;
  overflow: hidden;
  line-height: 0;
}

.single-post__content a:has(img) img {
  margin: 0;
  transition: transform 0.6s ease;
}

.single-post__content blockquote {
  border-left: 2px solid var(--color-accent);
  padding-inline-start: 1.5rem;
  margin: 2.5rem;
}

.single-post__content blockquote p {
  font-size: var(--fs-p-large);
  font-style: italic;
}

.single-post__content figure {
  margin: 2rem;
  overflow: hidden;
}

.single-post__content figure img {
  margin: 0;
}

.single-post__content figure figcaption {
  font-size: var(--fs-p-small);
  color: var(--color-primary-300);
  margin-top: 0.5rem;
}

.portfolio-single {
  padding-top: clamp(2.5rem, 10.2301790281vw + -1.1956521739rem, 7.5rem);
  padding-bottom: clamp(5rem, 20.4603580563vw + -2.3913043478rem, 15rem);
}

.portfolio-single__header {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gap);
  align-items: start;
  margin-bottom: clamp(5rem, 5.1150895141vw + 3.152173913rem, 7.5rem);
}

.portfolio-single__title {
  grid-column: 1/span 8;
  font-size: var(--fs-h2);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 0.95;
}

@media (max-width: 767.98px) {
  .portfolio-single__title {
    grid-column: 1/-1;
  }
}

.portfolio-single__details {
  grid-column: 9/span 4;
}

@media (max-width: 767.98px) {
  .portfolio-single__details {
    grid-column: 1/-1;
  }
}

.portfolio-single__details p {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-primary-100);
  margin-bottom: 1.5rem;
}

.portfolio-single__details p:last-child {
  margin-bottom: 0;
}

.portfolio-single__details h2,
.portfolio-single__details h3,
.portfolio-single__details h4 {
  font-size: var(--fs-h6);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.1;
  margin: clamp(2.5rem, 2.0460358056vw + 1.7608695652rem, 3.5rem) 0 1rem;
}

.portfolio-single__details a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.portfolio-single__details ul,
.portfolio-single__details ol {
  padding-inline-start: 1.5rem;
  margin-bottom: 1.5rem;
}

.portfolio-single__details ul li,
.portfolio-single__details ol li {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.portfolio-single__details img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-block: 2rem;
}

.portfolio-single__hero {
  max-width: 1126px;
  margin-inline: auto;
  margin-bottom: clamp(1.5rem, 12.2762148338vw + -2.9347826087rem, 7.5rem);
  overflow: hidden;
}

.portfolio-single__hero-img {
  width: 100%;
  height: auto;
  display: block;
}

.portfolio-single__content > * {
  max-width: 670px;
  margin-inline: auto;
  margin-bottom: 1.5rem;
}

.portfolio-single__content > *:last-child {
  margin-bottom: 0;
}

.portfolio-single__content > .wp-block-group {
  margin-bottom: clamp(5rem, 5.1150895141vw + 3.152173913rem, 7.5rem);
}

.portfolio-single__content > .wp-block-group:last-child {
  margin-bottom: 0;
}

.portfolio-single__content > .wp-block-image {
  max-width: 670px;
  overflow: hidden;
}

.portfolio-single__content > .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}

.portfolio-single__content > .wp-block-image figcaption {
  font-size: var(--fs-p-small);
  color: var(--color-primary-300);
  margin-top: 0.5rem;
}

.portfolio-single__content > .wp-block-gallery,
.portfolio-single__content > .wp-block-group:has(.wp-block-gallery) {
  max-width: 100%;
  width: 100%;
  margin-inline: 0;
}

.portfolio-single__content > .wp-block-group:has(.wp-block-gallery) > .wp-block-group__inner-container {
  max-width: 100%;
  --wp--style--global--content-size: 100%;
}

.portfolio-single__content .wp-block-gallery {
  max-width: 100% !important;
  width: 100%;
  gap: 0 !important;
  --wp--style--unstable-gallery-gap: 0px !important;
}

.portfolio-single__content .wp-block-gallery, .portfolio-single__content .wp-block-gallery.is-layout-flex, .portfolio-single__content .wp-block-gallery.wp-block-gallery-is-layout-flex {
  gap: 0 !important;
}

.portfolio-single__content .wp-block-gallery .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 767.98px) {
  .portfolio-single__content .wp-block-gallery, .portfolio-single__content .wp-block-gallery.is-layout-flex {
    flex-direction: column !important;
  }
  .portfolio-single__content .wp-block-gallery figure.wp-block-image,
  .portfolio-single__content .wp-block-gallery figure.wp-block-image:not(#individual-image) {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    flex-shrink: 0 !important;
  }
}

.portfolio-single__content a:has(img) {
  display: block;
  overflow: hidden;
  line-height: 0;
}

.portfolio-single__content a:has(img) img {
  transition: transform 0.6s ease;
}

.portfolio-single__content p {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-primary-100);
}

.portfolio-single__content h2,
.portfolio-single__content h3,
.portfolio-single__content h4,
.portfolio-single__content h5,
.portfolio-single__content h6 {
  font-size: var(--fs-h6);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.1;
  margin-top: clamp(3rem, 2.0460358056vw + 2.2608695652rem, 4rem);
  margin-bottom: 1rem;
}

.portfolio-single__content a:not(:has(img)) {
  color: inherit;
  text-decoration: none;
  position: relative;
}

.portfolio-single__content a:not(:has(img))::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.portfolio-single__content a:not(:has(img)):hover::after {
  transform: scaleX(1);
}

.portfolio-single__content ul,
.portfolio-single__content ol {
  padding-inline-start: 1.5rem;
}

.portfolio-single__content ul li,
.portfolio-single__content ol li {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.portfolio-single__content blockquote {
  border-left: 2px solid var(--color-accent);
  padding-inline-start: 1.5rem;
}

.portfolio-single__content blockquote p {
  font-size: var(--fs-p-large);
  font-style: italic;
}

body .wp-block-gallery {
  gap: 0 !important;
}

@media (max-width: 767.98px) {
  body .wp-block-gallery {
    gap: clamp(5rem, 5.1150895141vw + 3.152173913rem, 7.5rem) !important;
  }
  body .wp-block-gallery.has-nested-images figure {
    width: 100% !important;
  }
}

.cta-section {
  padding-block: 130px;
}

.cta-section__stage {
  display: grid;
  gap: var(--gap);
  align-items: start;
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  .cta-section__stage {
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
  }
}

.cta-section__center-wrap {
  will-change: transform;
}

@media (min-width: 1024px) {
  .cta-section__center-wrap {
    grid-column: 3/10;
  }
}

.cta-section__img-wrap {
  overflow: hidden;
}

.cta-section__img-wrap--left {
  will-change: transform;
}

@media (min-width: 1024px) {
  .cta-section__img-wrap--left {
    grid-column: 1/3;
    align-self: end;
    grid-row: 2;
  }
}

.cta-section__img-wrap--right img {
  margin-left: auto;
}

@media (min-width: 1024px) {
  .cta-section__img-wrap--right {
    align-self: end;
    grid-column: 10/-1;
    grid-row: 3;
  }
}

.cta-section__img {
  width: 100%;
  height: auto;
  display: block;
  transform: scale(1.08);
}

.cta-section__img-wrap--left .cta-section__img, .cta-section__img-wrap--right .cta-section__img {
  max-width: 210px;
}

.cta-section__center-caption {
  margin-top: clamp(1rem, 1.0230179028vw + 0.6304347826rem, 1.5rem);
}

.cta-section__center-caption p {
  font-size: clamp(0.75rem, 0.2557544757vw + 0.6576086957rem, 0.875rem);
  line-height: 1.6;
  color: var(--color-primary-100);
  margin-bottom: 0.5em;
}

.cta-section__center-caption p:last-child {
  margin-bottom: 0;
}

.cta-section__center-caption a {
  color: inherit;
  text-decoration: underline;
}

.cta-section__center-caption strong {
  font-weight: 600;
}

.cta-section__body {
  display: flex;
  gap: clamp(0.75rem, 1.0230179028vw + 0.3804347826rem, 1.25rem);
  flex-direction: column;
  padding-top: clamp(1.5rem, 2.0460358056vw + 0.7608695652rem, 2.5rem);
}

.cta-section__body--desktop {
  grid-column: 5/span 4;
  display: none;
}

@media (min-width: 1024px) {
  .cta-section__body--desktop {
    display: flex;
  }
}

.cta-section__body--mobile {
  padding-top: 0;
}

@media (min-width: 1024px) {
  .cta-section__body--mobile {
    display: none;
  }
}

.cta-section__text p {
  font-size: clamp(0.8125rem, 0.3836317136vw + 0.6739130435rem, 1rem);
  line-height: 1.65;
  color: var(--color-primary-100);
  margin-bottom: 0.75em;
}

.cta-section__text p:last-child {
  margin-bottom: 0;
}

.cta-section__text a {
  color: inherit;
}

.cta-section__link {
  position: relative;
  display: inline-flex;
  align-items: start;
  align-self: flex-start;
  gap: 0.25rem;
  font-size: 1.125rem;
  color: var(--color-primary-100);
  text-decoration: none;
}

.cta-section__link::before {
  content: "";
  display: block;
  width: 12px;
  height: 15px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%2715%27 viewBox=%270 0 12 15%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M6.96967 6.96967C7.26256 6.67678 7.73732 6.67678 8.03022 6.96967L11.4052 10.3447C11.6981 10.6376 11.6981 11.1123 11.4052 11.4052L8.03022 14.7802C7.73732 15.0731 7.26256 15.0731 6.96967 14.7802C6.67678 14.4873 6.67678 14.0126 6.96967 13.7197L9.8144 10.8749L6.96967 8.03022C6.67678 7.73732 6.67678 7.26256 6.96967 6.96967Z%27 fill=%27%23FBFBFB%27/%3E%3Cpath d=%27M0 0.75C0 0.335786 0.335786 0 0.75 0C1.16421 0 1.5 0.335786 1.5 0.75V10.125H10.875C11.2892 10.125 11.625 10.4608 11.625 10.875C11.625 11.2892 11.2892 11.625 10.875 11.625H0.75C0.335786 11.625 0 11.2892 0 10.875V0.75Z%27 fill=%27%23FBFBFB%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: 4px;
}

.cta-section__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.cta-section__link:hover::after {
  transform: scaleX(1);
}

@media (max-width: 1023.98px) {
  .cta-section {
    padding-block: var(--space-80);
  }
  .cta-section__img-wrap--left .cta-section__img, .cta-section__img-wrap--right .cta-section__img {
    max-width: 160px;
  }
}

body.error404 {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.error404 .error-404 {
  flex: 1;
}

.error-404 {
  display: flex;
  align-items: center;
  padding: var(--space-fluid-120) 0;
}

.error-404__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(0.75rem, 1.5345268542vw + 0.1956521739rem, 1.5rem);
  width: 100%;
}

.error-404__eyebrow {
  color: var(--color-primary-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.error-404__heading {
  font-size: var(--fs-h2);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--color-primary-100);
  margin: 0;
}

.error-404__text {
  font-size: var(--fs-p-mid);
  color: var(--color-primary-300);
  line-height: 1.65;
  max-width: 38ch;
}

.error-404__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: var(--font-body);
  font-size: 1.125rem;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--color-primary-100);
  text-decoration: none;
  padding-bottom: 3px;
  margin-top: clamp(0.5rem, 1.0230179028vw + 0.1304347826rem, 1rem);
}

.error-404__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.error-404__link:hover::after {
  transform: scaleX(1);
}

.work-archive__heading-wrap {
  position: fixed;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  z-index: 0;
  pointer-events: none;
  padding-bottom: 7.5rem;
}

.work-archive__heading {
  font-family: var(--font-headline);
  font-size: clamp(3.5rem, 13.2992327366vw + -1.3043478261rem, 10rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  line-height: 0.9;
  color: var(--color-primary-100);
  text-align: center;
}

.work-archive__heading--centered {
  text-align: center;
}

.work-archive .portfolio-archive__category,
.work-archive .news-archive__eyebrow {
  margin-top: 1rem;
  color: var(--color-primary-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
}

.work-archive__grid-section {
  position: relative;
  padding-bottom: clamp(5rem, 20.4603580563vw + -2.3913043478rem, 15rem);
}

.page-content {
  padding-block: var(--space-fluid-120);
}

.page-content__inner {
  max-width: 720px;
}

.page-content__inner h1,
.page-content__inner h2,
.page-content__inner h3,
.page-content__inner h4,
.page-content__inner h5,
.page-content__inner h6 {
  font-family: var(--font-headline);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--color-primary-100);
  margin-bottom: 1rem;
  margin-top: 2.5rem;
}

.page-content__inner h1:first-child,
.page-content__inner h2:first-child,
.page-content__inner h3:first-child,
.page-content__inner h4:first-child,
.page-content__inner h5:first-child,
.page-content__inner h6:first-child {
  margin-top: 0;
}

.page-content__inner h1 {
  font-size: var(--fs-h3);
}

.page-content__inner h2 {
  font-size: clamp(1.375rem, 1.2787723785vw + 0.9130434783rem, 2rem);
}

.page-content__inner h3 {
  font-size: clamp(1.125rem, 0.7672634271vw + 0.847826087rem, 1.5rem);
}

.page-content__inner h4,
.page-content__inner h5,
.page-content__inner h6 {
  font-size: clamp(0.9375rem, 0.3836317136vw + 0.7989130435rem, 1.125rem);
}

.page-content__inner p {
  font-size: clamp(0.875rem, 0.2557544757vw + 0.7826086957rem, 1rem);
  line-height: 1.7;
  color: var(--color-primary-100);
  margin-bottom: 1.25rem;
}

.page-content__inner p:last-child {
  margin-bottom: 0;
}

.page-content__inner a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-content__inner a:hover {
  opacity: 0.7;
}

.page-content__inner ul,
.page-content__inner ol {
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
  color: var(--color-primary-100);
  font-size: clamp(0.875rem, 0.2557544757vw + 0.7826086957rem, 1rem);
  line-height: 1.7;
}

.page-content__inner ul li,
.page-content__inner ol li {
  margin-bottom: 0.4rem;
}

.page-content__inner strong {
  font-weight: 600;
}

.page-content__inner em {
  font-style: italic;
}

.page-content__inner hr {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  margin-block: 2rem;
}

.page-content__inner blockquote {
  border-left: 2px solid var(--color-primary-100);
  margin-left: 0;
  padding-left: 1.5rem;
  opacity: 0.8;
  font-style: italic;
}

.video-section {
  padding-block: var(--space-fluid-80);
}

.video-section__inner {
  max-width: 860px;
  margin-inline: auto;
}

.video-section__heading {
  font-size: var(--fs-h2);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--color-primary-100);
  text-align: center;
  margin-bottom: clamp(1.5rem, 2.0460358056vw + 0.7608695652rem, 2.5rem);
}

.video-section__player {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.video-section__caption {
  margin-top: clamp(1.25rem, 1.5345268542vw + 0.6956521739rem, 2rem);
  text-align: center;
}

.video-section__caption p {
  font-size: clamp(0.8125rem, 0.2557544757vw + 0.7201086957rem, 0.9375rem);
  line-height: 1.7;
  color: var(--color-primary-100);
  margin-bottom: 0.75em;
}

.video-section__caption p:last-child {
  margin-bottom: 0;
}

.video-section__caption a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.video-section__caption a:hover {
  opacity: 0.7;
}

.video-section__caption strong {
  font-weight: 600;
}

.video-section__caption ul,
.video-section__caption ol {
  padding-left: 1.5rem;
  margin-bottom: 0.75em;
  color: var(--color-primary-100);
}

.video-section__caption ul li,
.video-section__caption ol li {
  margin-bottom: 0.3em;
}
/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/glightbox/dist/css/glightbox.css ***!
  \***************************************************************************************************************************************************************************************************/
.glightbox-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999 !important;
  overflow: hidden;
  touch-action: none;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  backface-visibility: hidden;
  outline: none;
}

.glightbox-container.inactive {
  display: none;
}

.glightbox-container .gcontainer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}

.glightbox-container .gslider {
  transition: transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: flex !important;
  justify-content: center;
  align-items: center;
  transform: translate3d(0, 0, 0);
}

.glightbox-container .gslide {
  width: 100%;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}

.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}

.glightbox-container .gslide-inner-content {
  width: 100%;
}

.glightbox-container .ginner-container {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  max-width: 100%;
  margin: auto;
  height: 100vh;
}

.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}

.glightbox-container .ginner-container.desc-bottom,
        .glightbox-container .ginner-container.desc-top {
  flex-direction: column;
}

.glightbox-container .ginner-container.desc-left,
        .glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}

.gslide iframe,
    .gslide video {
  outline: none !important;
  border: none;
  min-height: 165px;
  -webkit-overflow-scrolling: touch;
  touch-action: auto;
}

.gslide:not(.current) {
  pointer-events: none;
}

.gslide-image {
  align-items: center;
}

.gslide-image img {
  max-height: 100vh;
  display: block;
  padding: 0;
  float: none;
  outline: none;
  border: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  max-width: 100vw;
  width: auto;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  touch-action: none;
  margin: auto;
  min-width: 200px;
}

.desc-top .gslide-image img,
        .desc-bottom .gslide-image img {
  width: auto;
}

.desc-left .gslide-image img,
        .desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}

.gslide-image img.zoomable {
  position: relative;
}

.gslide-image img.dragging {
  cursor: grabbing !important;
  transition: none;
}

.gslide-video {
  position: relative;
  max-width: 100vh;
  width: 100% !important;
}

.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
  display: none;
}

.gslide-video .gvideo-wrapper {
  width: 100%;
        /* max-width: 160vmin; */
  margin: auto;
}

.gslide-video::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.34);
  display: none;
}

.gslide-video.playing::before {
  display: none;
}

.gslide-video.fullscreen {
  max-width: 100% !important;
  min-width: 100%;
  height: 75vh;
}

.gslide-video.fullscreen video {
  max-width: 100% !important;
  width: 100% !important;
}

.gslide-inline {
  background: #fff;
  text-align: left;
  max-height: calc(100vh - 40px);
  overflow: auto;
  max-width: 100%;
  margin: auto;
}

.gslide-inline .ginlined-content {
  padding: 20px;
  width: 100%;
}

.gslide-inline .dragging {
  cursor: grabbing !important;
  transition: none;
}

.ginlined-content {
  overflow: auto;
  display: block !important;
  opacity: 1;
}

.gslide-external {
  display: flex;
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 0;
  overflow: auto;
  max-height: 75vh;
  height: 100%;
}

.gslide-media {
  display: flex;
  width: auto;
}

.zoomed .gslide-media {
  box-shadow: none !important;
}

.desc-top .gslide-media,
    .desc-bottom .gslide-media {
  margin: 0 auto;
  flex-direction: column;
}

.gslide-description {
  position: relative;
  flex: 1 0 100%;
}

.gslide-description.description-left,
    .gslide-description.description-right {
  max-width: 100%;
}

.gslide-description.description-bottom,
    .gslide-description.description-top {
  margin: 0 auto;
  width: 100%;
}

.gslide-description p {
  margin-bottom: 12px;
}

.gslide-description p:last-child {
  margin-bottom: 0;
}

.zoomed .gslide-description {
  display: none;
}

.glightbox-button-hidden {
  display: none;
}

/*
 * Description for mobiles
 * something like facebook does the description
 * for the photos
*/

.glightbox-mobile .glightbox-container .gslide-description {
  height: auto !important;
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 19px 11px;
  max-width: 100vw !important;
  order: 2 !important;
  max-height: 78vh;
  overflow: auto !important;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  transition: opacity 0.3s linear;
  padding-bottom: 50px;
}

.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: bold;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: 0.4;
}

.gdesc-open .gslide-media {
  transition: opacity 0.5s ease;
  opacity: 0.4;
}

.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
  transition: opacity 0.5s ease;
  opacity: 1;
}

.greset {
  transition: all 0.3s ease;
}

.gabsolute {
  position: absolute;
}

.grelative {
  position: relative;
}

.glightbox-desc {
  display: none !important;
}

.glightbox-open {
  overflow: hidden;
}

.gloader {
  height: 25px;
  width: 25px;
  animation: lightboxLoader 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  position: absolute;
  display: block;
  z-index: 9999;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 47%;
}

.goverlay {
  width: 100%;
  height: calc(100vh + 1px);
  position: fixed;
  top: -1px;
  left: 0;
  background: #000;
  will-change: opacity;
}

.glightbox-mobile .goverlay {
  background: #000;
}

.gprev,
.gnext,
.gclose {
  z-index: 99999;
  cursor: pointer;
  width: 26px;
  height: 44px;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.gprev svg,
.gnext svg,
.gclose svg {
  display: block;
  width: 25px;
  height: auto;
  margin: 0;
  padding: 0;
}

.gprev.disabled,
.gnext.disabled,
.gclose.disabled {
  opacity: 0.1;
}

.gprev .garrow,
.gnext .garrow,
.gclose .garrow {
  stroke: #fff;
}

.gbtn.focused {
  outline: 2px solid #0f3d81;
}

iframe.wait-autoplay {
  opacity: 0;
}

.glightbox-closing .gnext,
    .glightbox-closing .gprev,
    .glightbox-closing .gclose {
  opacity: 0 !important;
}

/*Skin */

.glightbox-clean .gslide-description {
  background: #fff;
}

.glightbox-clean .gdesc-inner {
  padding: 22px 20px;
}

.glightbox-clean .gslide-title {
  font-size: 1em;
  font-weight: normal;
  font-family: arial;
  color: #000;
  margin-bottom: 19px;
  line-height: 1.4em;
}

.glightbox-clean .gslide-desc {
  font-size: 0.86em;
  margin-bottom: 0;
  font-family: arial;
  line-height: 1.4em;
}

.glightbox-clean .gslide-video {
  background: #000;
}

.glightbox-clean .gprev,
    .glightbox-clean .gnext,
    .glightbox-clean .gclose {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 4px;
}

.glightbox-clean .gprev path,
.glightbox-clean .gnext path,
.glightbox-clean .gclose path {
  fill: #fff;
}

.glightbox-clean .gprev {
  position: absolute;
  top: -100%;
  left: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gnext {
  position: absolute;
  top: -100%;
  right: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gclose {
  width: 35px;
  height: 35px;
  top: 15px;
  right: 10px;
  position: absolute;
}

.glightbox-clean .gclose svg {
  width: 18px;
  height: auto;
}

.glightbox-clean .gclose:hover {
  opacity: 1;
}

/*CSS Animations*/

.gfadeIn {
  animation: gfadeIn 0.5s ease;
}

.gfadeOut {
  animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
  animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
  animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
  animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
  animation: gslideInRight 0.3s ease;
}

.gzoomIn {
  animation: gzoomIn 0.5s ease;
}

.gzoomOut {
  animation: gzoomOut 0.5s ease;
}

@keyframes lightboxLoader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes gslideInLeft {
  from {
    opacity: 0;
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    transform: translate3d(60%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}

@keyframes gzoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}

@keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

@media (min-width: 769px) {
  .glightbox-container .ginner-container {
    width: auto;
    height: auto;
    flex-direction: row;
  }
  .glightbox-container .ginner-container.desc-top .gslide-description {
    order: 0;
  }
  .glightbox-container .ginner-container.desc-top .gslide-image,
                .glightbox-container .ginner-container.desc-top .gslide-image img {
    order: 1;
  }
  .glightbox-container .ginner-container.desc-left .gslide-description {
    order: 0;
  }
  .glightbox-container .ginner-container.desc-left .gslide-image {
    order: 1;
  }
  .gslide-image img {
    max-height: 97vh;
    max-width: 100%;
  }
  .gslide-image img.zoomable {
    cursor: zoom-in;
  }
  .zoomed .gslide-image img.zoomable {
    cursor: grab;
  }
  .gslide-inline {
    max-height: 95vh;
  }
  .gslide-external {
    max-height: 100vh;
  }
  .gslide-description.description-left,
    .gslide-description.description-right {
    max-width: 275px;
  }
  .glightbox-open {
    height: auto;
  }
  .goverlay {
    background: rgba(0, 0, 0, 0.92);
  }
  .glightbox-clean .gslide-media {
    box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
  }
  .glightbox-clean .description-left .gdesc-inner,
.glightbox-clean .description-right .gdesc-inner {
    position: absolute;
    height: 100%;
    overflow-y: auto;
  }
  .glightbox-clean .gprev,
    .glightbox-clean .gnext,
    .glightbox-clean .gclose {
    background-color: rgba(0, 0, 0, 0.32);
  }
  .glightbox-clean .gprev:hover,
.glightbox-clean .gnext:hover,
.glightbox-clean .gclose:hover {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .glightbox-clean .gprev {
    top: 45%;
  }
  .glightbox-clean .gnext {
    top: 45%;
  }
}

@media (min-width: 992px) {
  .glightbox-clean .gclose {
    opacity: 0.7;
    right: 20px;
  }
}

@media screen and (max-height: 420px) {
  .goverlay {
    background: #000;
  }
}


/*# sourceMappingURL=index.css.map*/