/*!
Theme Name: Campbell
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: campbell
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

campbell is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
.c-head {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9;
  padding: var(--pt, 32px) var(--px, 26px);
  transition: 0.2s ease;
  pointer-events: none;
}
.c-head a, .c-head button {
  pointer-events: all;
}
.c-head .c-hamburger {
  position: fixed;
  right: var(--px, 26px);
  top: var(--pt, 32px);
}
.c-head .c-site-logo {
  max-width: clamp(106px, 10vw, 178px);
  transition: 0.5s ease;
}
.c-head--light .c-site-logo,
.c-head--light .c-menu-toggle {
  filter: invert(1);
}
.c-head--light .c-menu-toggle.is-opened {
  filter: inherit;
}

.c-nav {
  position: fixed;
  max-width: clamp(227px, 58.25vw, 320px);
  width: 100%;
  right: 0;
  top: 0;
  padding: 93px 38px 71px;
  z-index: 4;
  background: #F2EBE2;
}
.c-nav .is-parent-with-out-link > .c-nav__label:after {
  content: "+";
  margin-left: 4px;
}
.c-nav__submenu {
  display: none;
}
.c-nav__submenu .c-nav__link {
  color: #7a8698;
}
.c-nav__item.is-open .is-parent-with-out-link > .c-nav__label:after {
  content: "-";
}
.c-nav__link {
  transition: 0.5s ease;
  font: 400 var(--fs-nav, 30px)/1.5 articulat-cf, sans-serif, "Helvetica Neue", Helvetica, -apple-system, Arial, sans-serif;
}
.c-nav__link--contact .c-nav__label:after {
  content: "";
  height: 22px;
  width: 22px;
  background: url("./assets/imgs/arrow-icon.svg") no-repeat;
  display: inline-block;
  background-size: 22px 27px;
  margin-left: 8px;
  background-position: left -5px bottom;
  margin-left: 8px;
  filter: brightness(0);
  margin-bottom: -2px;
}
@media (min-width: 1280px) {
  .c-nav {
    --fs-nav: 16px;
    line-height: 24px;
    z-index: 9;
    display: block;
    background: transparent;
    padding: 32px 22px;
    max-width: 160px;
    mix-blend-mode: difference;
  }
  .c-nav__link {
    color: #fff;
    font-weight: 300;
    overflow: hidden;
    position: relative;
  }
  .c-nav .c-nav__label {
    transition: 0.25s ease;
    display: inline-block;
  }
  .c-nav .c-nav__label.hover-state {
    position: absolute;
    top: 100%;
    left: 0;
  }
  .c-nav__link:hover {
    color: #fff;
  }
  .c-nav__link:hover .c-nav__label {
    transform: translateY(-100%);
  }
  .c-nav__link--contact {
    margin-top: 32px;
  }
  .c-nav__link--contact .c-nav__label:after {
    height: 11px;
    width: 12px;
    background-size: 20px 22px;
    background-position: left -10px bottom;
    filter: brightness(0) invert(1);
    margin-bottom: 0;
  }
}
@media (min-width: 1440px) {
  .c-nav {
    max-width: 180px;
  }
}
@media (min-width: 1800px) {
  .c-nav {
    right: calc((100% - clamp(1280px, 90.2083333333vw, 1732px)) / 2);
    transform: translateX(40%);
  }
}

.menu-open:before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #383838;
  mix-blend-mode: multiply;
  z-index: 2;
  opacity: 0.8;
  visibility: visible;
  z-index: 3;
}
.menu-open .c-nav__link {
  animation: clipTotop 1s ease;
}

@keyframes clipTotop {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
  }
}
.c-footer {
  --footer-color: #fff;
  position: sticky;
  bottom: 0;
  padding-block: var(--pt, 64px) var(--pb, 20px);
  background: var(--clr-black);
  color: var(--footer-color);
}
.c-footer a:hover {
  color: var(--clr-accent);
}
.c-footer address {
  font-style: normal;
}
.c-footer__deamed {
  color: var(--clr-gray);
}
.c-footer__col {
  width: 100%;
}
.c-footer__col-title {
  width: 100%;
  margin-bottom: clamp(12px, 1.5vw, 22px);
  font-weight: 400;
}
.c-footer__top {
  --gapy: 40px;
}
.c-footer__top a {
  color: var(--footer-color);
}
.c-footer__top a:hover {
  color: var(--clr-accent);
}
.c-footer__logo img {
  max-width: var(--footer-logox, 106px);
}
.c-footer__grid {
  padding-inline: 26px;
}
.c-footer__info a {
  color: var(--clr-gray);
}
@media (max-width: calc(1024px - 1px)) {
  .c-footer {
    position: relative;
  }
  .c-footer__copyright {
    margin-bottom: 6px;
  }
  .c-footer__logo {
    display: none;
  }
  .c-footer .c-contact__details {
    font-size: 14px;
  }
  .c-footer br {
    display: block;
  }
  .c-footer__credit {
    width: 100%;
  }
  .c-footer .c-contact__details > p, .c-footer__address-wrap {
    width: min(40%, 110px);
  }
  .c-footer .c-addresses,
  .c-footer .c-contact__details {
    display: flex;
    flex-wrap: wrap;
    column-gap: min(16.5vw, 74px);
  }
  .c-footer .c-socials {
    order: 3;
  }
  .c-footer__qlinks {
    order: -1;
    width: 100%;
    padding-bottom: 14px;
    position: relative;
    --gapx: 46px;
    margin: 0 0 26px;
  }
  .c-footer__qlinks:after {
    content: "";
    width: calc(100% + 52px);
    bottom: 0;
    height: 1px;
    left: -26px;
    position: absolute;
    background-color: var(--clr-gray);
  }
  .c-footer__info {
    margin-top: 50px;
  }
}
@media (min-width: 1024px) {
  .c-footer {
    --pt: 50px;
    --pb: 18px;
    --footer-logox: 160px;
    padding-inline: 26px;
  }
  .c-footer__grid {
    padding: 0;
  }
  .c-footer__social {
    margin: 0 0 8px;
  }
  .c-footer__top {
    margin-bottom: clamp(36px, 11vw, 196px);
  }
  .c-footer .c-footer__grid {
    display: grid;
    grid-template-columns: 1fr min(59.5%, 854px);
  }
  .c-footer__meta {
    --gapx: 22px;
  }
  .c-footer__qlinks {
    --justify: space-between;
  }
  .c-footer__qlinks-wrap {
    min-width: 256px;
  }
  .c-footer .c-contact,
  .c-footer .c-socials {
    max-width: 120px;
  }
  .c-footer .c-footer__credit,
  .c-footer .c-addresses {
    max-width: 230px;
    width: 100%;
  }
  .c-footer__address-wrap {
    font-style: normal;
    display: grid;
    column-gap: 12px;
    grid-template-columns: 120px auto;
    margin: 0 0 16px;
  }
}
@media (min-width: 1800px) {
  .c-footer .c-footer__credit,
  .c-footer .c-addresses {
    max-width: 270px;
  }
  .c-footer__address-wrap {
    column-gap: 20px;
    grid-template-columns: 125px auto;
  }
  .c-footer__logo img {
    --footer-logox: 218px;
  }
}

.c-project__img {
  aspect-ratio: 338/214;
  background: var(--clr-secondary);
  margin-bottom: 16px;
  cursor: pointer;
  overflow: hidden;
}
.c-project__img:after {
  content: "View Project";
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  --overlay: rgba(0,0,0,0.5);
  opacity: 0;
  transition: 0.5s ease;
}
.c-project img {
  transition: 0.5s ease;
  height: 100%;
}
.c-project__img:hover:after {
  opacity: 1;
}
.c-project__img:hover img {
  transform: scale(1.05);
}
.c-project .c-taxos__pill {
  border-color: #F2EBE2;
}
.c-project__meta {
  width: 100%;
  --gapx: 30px;
  --gapy: 10px;
}
.c-project .c-taxos {
  width: 100%;
}
.c-project__title {
  color: var(--clr-black);
  cursor: pointer;
  width: 100%;
  font-size: clamp(13px, 2.25vw, 30px);
}
.c-project__title:hover {
  color: var(--clr-black);
}
@media (max-width: calc(768px - 1px)) {
  .c-project .c-taxos {
    --gapx: 5px;
  }
  .c-project .c-taxos__pill:hover {
    background: transparent;
  }
}
@media (min-width: 1024px) {
  .c-project__img {
    aspect-ratio: 710/450;
  }
  .c-project__meta {
    --justify: space-between;
    --wrap: nowrap;
    --align: flex-start;
  }
  .c-project .c-taxos {
    --justify: flex-end;
    max-width: 50%;
  }
  .c-project__img {
    margin-bottom: 24px;
  }
}

.c-button, input[type=submit] {
  font: 400 var(--fs-body, 13px)/1 articulat-cf, sans-serif;
  color: var(--btn-color);
  background: var(--btn-bg, transparent);
  border: var(--border-width, 1px) var(--btn-border-color, #000) solid;
  border-radius: var(--btn-border-radius, 0);
  display: inline-flex;
  align-items: center;
  justify-content: space-around;
  cursor: pointer;
  transition: 0.5s ease;
  padding: 0;
}

.c-button:hover, input[type=submit]:hover {
  background: var(--btn-hover-bg, var(--clr-secondary));
  color: var(--btn-hover-color, var(--clr-white));
  border-color: var(--btn-hover-border-color);
  text-decoration: none;
}

.c-button:focus, input[type=submit]:focus {
  outline: none;
}

.c-button:focus-visible, input[type=submit]:focus-visible {
  outline: var(--outline-width, 1px) dashed;
  outline-offset: var(--outline-offset, 2px);
}

.c-button :disabled, input[type=submit] :disabled, .is-disabled.c-button, input.is-disabled[type=submit] {
  opacity: 0.5;
  pointer-events: none;
  cursor: initial;
}

.c-button :disabled:hover, input[type=submit] :disabled:hover, .is-disabled.c-button:hover, input.is-disabled[type=submit]:hover {
  transform: none;
}

input[type=submit], button {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  box-sizing: border-box;
}

input[type=submit] {
  --btn-bg: #f4f4f4;
  border: var(--clr-secondary);
}

input[type=submit]:hover {
  background: var(--btn-hover-bg, var(--clr-secondary));
  color: var(--btn-hover-color, var(--clr-white));
  border-color: var(--btn-hover-border-color);
  text-decoration: none;
}

button:focus {
  outline: none;
}

:focus-visible {
  outline: var(--outline-width, 1px) solid;
  outline-offset: var(--outline-offset, 2px);
}

body:before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.1;
  max-width: clamp(1280px, 90.2083333333vw, 1732px);
  margin: 0 auto;
  display: block;
  background-image: repeating-linear-gradient(to right, rgb(0, 255, 0) 0, rgb(0, 255, 0) calc((100% - 220px) / 12), transparent calc((100% - 220px) / 12), transparent calc((100% - 220px) / 12 + 20px));
  visibility: hidden;
}

:root {
  --tr-ease: ease;
  --tr-speed: 0.45s;
  --clr-primary: #000;
  --clr-secondary: #9B907D;
  --clr-accent: #F2EBE2;
  --clr-white: #fff;
  --clr-gray: #9d9d9d;
  --clr-black: #000;
}

/**
 * Generate font rules
 */
.fs200 {
  font-size: clamp(50px, 10.4166666667vw, 200px);
  line-height: 1.3;
}

.fs130 {
  font-size: clamp(25px, 6.7708333333vw, 130px);
  line-height: 1.15;
}

.fs85 {
  font-size: clamp(25px, 4.4270833333vw, 85px);
  line-height: 1.1;
}

h1, .fs38 {
  font-size: clamp(25px, 2.8125vw, 54px);
  line-height: 1.2;
}

h2, .fs50 {
  font-size: clamp(20px, 2.6041666667vw, 50px);
  line-height: 1.3;
}

h5, .fs30 {
  font-size: clamp(20px, 1.5625vw, 30px);
  line-height: 1.4;
}

.fs30--xs {
  font-size: clamp(13px, 1.5625vw, 30px);
  line-height: 1.4;
}

.fs14 {
  font-size: clamp(13px, 0.7291666667vw, 14px);
  line-height: 1.4;
}

.fs20 {
  font-size: clamp(13px, 1.0416666667vw, 20px);
  line-height: 1.4;
}

h6 {
  font-size: clamp(13px, 0.8333333333vw, 16px);
  line-height: 1.6;
}

.ar-1-1 {
  aspect-ratio: 1 / 1;
}

.ar-2-3 {
  aspect-ratio: 2 / 3;
}

.ar-3-2 {
  aspect-ratio: 3 / 2;
}

.ar-4-3 {
  aspect-ratio: 4 / 3;
}

.ar-16-9 {
  aspect-ratio: 16 / 9;
}

.ar-9-16 {
  aspect-ratio: 9 / 16;
}

.bg-primary {
  background-color: #000;
}

.clr-primary {
  color: #000;
}

.bg-secondary {
  background-color: #9B907D;
}

.clr-secondary {
  color: #9B907D;
}

.bg-accent {
  background-color: #F2EBE2;
}

.clr-accent {
  color: #F2EBE2;
}

.bg-white {
  background-color: #fff;
}

.clr-white {
  color: #fff;
}

.bg-gray {
  background-color: #9d9d9d;
}

.clr-gray {
  color: #9d9d9d;
}

.bg-black {
  background-color: #000;
}

.clr-black {
  color: #000;
}

*,
*:after,
*:before {
  box-sizing: inherit;
}

html, body, div, span, applet, object, iframe, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s,
samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

body {
  font-family: articulat-cf, sans-serif, "Helvetica Neue", Helvetica, -apple-system, Arial, sans-serif;
  font-weight: 300;
}

h1, h2, h3, h4, h5, h6, p, blockquote {
  margin: 0 0 1em;
}

h1:only-child, h2:only-child, h3:only-child, h4:only-child, h5:only-child, h6:only-child, p:only-child, blockquote:only-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 300;
}

a {
  color: var(--clr-black);
  text-decoration: none;
  display: inline-block;
  transition: var(--tr-ease) var(--tr-speed) all;
}

a:hover {
  color: var(--clr-black);
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, section {
  display: block;
}

html {
  font-size: 16px;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.w300 {
  font-weight: 300;
}

.w400 {
  font-weight: 400;
}

.w500 {
  font-weight: 500;
}

nav li {
  list-style: none;
}

::backdrop {
  background-color: transparent;
}

dialog {
  width: 100%;
  visibility: hidden;
  height: 100dvh;
  overflow: hidden;
  margin: 0;
  max-width: inherit;
  max-height: inherit;
  display: block;
  position: fixed;
  top: 0;
  left: auto;
  border: none;
  box-shadow: none;
  padding: 0;
  -webkit-overflow-scrolling: touch;
  background: transparent;
  transition: var(--tr-ease) var(--tr-speed) visibility;
}

dialog:before {
  content: "";
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  mix-blend-mode: multiply;
  opacity: 0;
  transition: var(--tr-ease) var(--tr-speed) opacity;
  background: rgba(255, 255, 255, 0.8);
}

@media (min-width: 1024px) {
  dialog {
    transition-delay: var(--tr-speed);
  }
}
dialog[open] {
  visibility: visible;
}

dialog[open]::before {
  opacity: 1;
}

svg, img {
  max-width: 100%;
  width: 100%;
  height: auto;
  transition: 0.5s ease;
}

svg:only-child, img:only-child {
  display: block;
}

.c-dialog__close button {
  transition: 0.5s ease;
  border: none;
}

.c-dialog__close button:focus-visible {
  outline-width: 0;
}

.c-dialog__close:hover button {
  transform: rotate(180deg);
}

img, video {
  object-fit: cover;
  width: 100%;
  max-height: 100%;
}

svg {
  fill: var(--fill, var(--color));
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
form {
  max-width: 100%;
  width: 100%;
}

input, select, input[type=submit] {
  padding: 8px 18px;
  border: 0 0 1px solid var(--clr-secondary);
  border-radius: 0;
}

label {
  display: inline-block;
}

.fs16 {
  font-size: clamp(13px, 1.11vw, 16px);
  letter-spacing: 0.39px;
  line-height: 1.4375;
}

.fs85 {
  font-weight: 300;
}

.fs13 {
  font-size: 13px;
  line-height: 1.5384615385;
  letter-spacing: 0.39px;
}

.fs130 {
  font-size: clamp(25px, 6.0570833333vw, 130px);
}

@media (min-width: 1024px) {
  .fs16 {
    font-size: 16px;
    letter-spacing: 0.48px;
  }
}
[hidden] {
  display: none;
}

body .u-overflow-visible {
  overflow: visible;
}

body .u-overflow-hidden {
  overflow: hidden;
}

.c-wpdefault {
  padding-block: 140px;
}

.search .search-form {
  display: flex;
  column-gap: 12px;
  row-gap: 12px;
  flex-wrap: wrap;
  margin: 24px 0 0;
}

.search .no-results {
  max-width: 520px;
}

.search .no-results .page-header {
  margin-bottom: 32px;
}

.search-results .page-header {
  margin-bottom: 32px;
}

.search-results .c-project {
  max-width: 590px;
  display: inline-block;
  margin-right: 22px;
}

.error-404 .page-content {
  max-width: 600px;
}

.c-icn-plus {
  height: var(--plus-icn-size, 26px);
  width: var(--plus-icn-size, 26px);
  position: relative;
  display: inline-block;
}

.c-icn-plus:before, .c-icn-plus:after {
  content: "";
  width: 100%;
  height: var(--plus-icn-thickness, 1px);
  background-color: var(--plus-icn-color, currentColor);
  display: block;
  position: absolute;
  top: 50%;
}

.c-icn-plus:after {
  transform: rotate(90deg);
}

.c-icn-plus--close {
  transform: rotate(45deg);
}

@keyframes hamburger-anim {
  0% {
    clip-path: polygon(0 54%, 0% 20%, 30% 50%, 51% 100%, 20% 100%, 50% 70%, 100% 39%, 100% 80%, 70% 50%, 45% 0, 80% 0%, 50% 30%);
  }
  50% {
    clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
  }
  100% {
    clip-path: inherit;
  }
}
.c-hamburger {
  background: transparent;
  padding: 0;
  border: none;
  height: 32px;
  width: 40px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-direction: column;
  row-gap: 3px;
  cursor: pointer;
}

.c-hamburger:after, .c-hamburger:before {
  content: "";
  height: 2px;
  background: var(--clr-black);
  display: block;
}

.c-hamburger:after {
  width: 70%;
}

.c-hamburger:before {
  width: 100%;
}

.c-hamburger.is-opened {
  align-items: center;
  row-gap: 0;
  animation: hamburger-anim 1s ease;
  width: 33px;
}

.c-hamburger.is-opened:after {
  width: 100%;
  rotate: -45deg;
}

.c-hamburger.is-opened:before {
  rotate: 45deg;
  margin: -2px;
}

.c-learn-link {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: flex-end;
  padding-bottom: 1px;
}

.c-learn-link:before {
  content: "";
  border-bottom: 1px solid;
  height: 1px;
  position: absolute;
  bottom: 0;
}

.c-learn-link:before {
  width: 0;
  left: 0;
  transition: 0.25s ease width;
}

.c-learn-link:hover:before {
  width: 100%;
  transition: 0.5s ease width;
}

.c-learn-link:hover .c-learn-link__label:before, .c-learn-link:hover .c-learn-link__label:after {
  filter: brightness(0);
}

.c-learn-link:hover .c-learn-link__label:before {
  width: 14px;
  margin-right: 2px;
}

.c-learn-link:hover .c-learn-link__label:after {
  width: 0;
  margin-left: 0;
  transform: translateX(100%);
}

@media (min-width: 768px) {
  .c-learn-link:hover .c-learn-link__label:before {
    width: 17px;
  }
}
@media (min-width: 1440px) {
  .c-learn-link:hover .c-learn-link__label:before {
    margin-right: 8px;
  }
}
.c-learn-link__label {
  font-weight: 300;
  display: flex;
  align-items: center;
}

.c-learn-link__label:after, .c-learn-link__label:before {
  content: "";
  height: 9px;
  width: 0;
  background: url(./assets/imgs/arrow-icon-2.svg) no-repeat;
  background-size: cover;
  background-position: center right;
  transition: 0.45s ease;
  display: inline-block;
  margin-top: 2px;
}

.c-learn-link__label:after {
  width: 14px;
  margin-left: 2px;
}

@media (min-width: 768px) {
  .c-learn-link__label:after, .c-learn-link__label:before {
    height: 13px;
    margin-top: 4%;
  }
  .c-learn-link__label:after {
    width: 17px;
  }
}
@media (min-width: 1440px) {
  .c-learn-link__label:after {
    margin-left: 8px;
  }
}
@media (min-width: 1280px) {
  .fs30 .c-learn-link__label:after, .fs30 .c-learn-link__label:hover:before {
    width: 18px;
    height: 12px;
  }
}
@media (min-width: 1800px) {
  .fs30 .c-learn-link__label:after, .fs30 .c-learn-link__label:hover:before {
    width: 22px;
    height: 23px;
  }
}
.c-learn-link--dark .c-learn-link__label {
  filter: brightness(0);
}

.has-dot {
  font-weight: 400;
}

.has-dot:before {
  content: "";
  height: var(--dot-size, 5px);
  width: var(--dot-size, 5px);
  margin-right: var(--dot-spacing, 10px);
  background: currentColor;
  display: inline-block;
  border-radius: 50%;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .has-dot:before {
    transform: translateY(-1.5px);
  }
}
.has-overlay:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--overlay);
}

.has-bg {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.c-marque {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  background: #fff;
}

.c-marque__track {
  display: flex;
  width: max-content;
  will-change: transform;
}

.c-marque__el {
  display: inline-flex;
  align-items: center;
}

.c-marque__el:before, .c-marque__el:after {
  content: "";
  display: inline-flex;
}

.c-dialog {
  --tr-speed: 0.5s;
}

.c-dialog__body {
  overflow-y: auto;
  height: 100dvh;
  padding: 30px 28px;
  background: var(--clr-white);
}

.c-dialog__form-head {
  max-inline-size: 22ch;
}

.c-dialog__panel {
  position: fixed;
  right: 0;
  transform: translateX(200vw);
  width: 100%;
  transition-delay: 0.5s;
}

.c-dialog__body {
  transition: opacity var(--tr-speed) var(--tr-ease);
  opacity: 0;
}

.c-dialog[open] .c-dialog__panel {
  transform: translateX(0);
  transition: transform var(--tr-speed) var(--tr-ease);
}

.c-dialog[open] .c-dialog__body {
  background: var(--clr-white);
  opacity: 1;
}

@media (min-width: 1024px) {
  .c-dialog__panel {
    width: 50%;
    transition: transform var(--tr-speed) var(--tr-ease);
    transition-delay: 0.75s;
  }
  .c-dialog[open] .c-dialog__panel {
    transition-delay: 0.25s;
  }
}
@media (min-width: 1440px) {
  .c-dialog__body {
    padding: 40px 38px;
  }
}
@media (min-width: 1800px) {
  .c-dialog__body {
    padding: 70px 98px;
  }
}
.lenis-stopped {
  overflow: hidden;
}

.dialog-open-trigger {
  cursor: pointer;
}

.dialog-close-trigger {
  border: none;
  padding: 0;
  transition: 0.4s ease-in-out transform;
}

.dialog-close-trigger:focus {
  outline: none;
}

.dialog-close-trigger:hover {
  --plus-icn-color: var(--clr-secondary);
  --btn-hover-bg: transparent;
  transform: rotate(180deg);
}

.c-accordion {
  transition: all 0.4s ease-in-out;
  width: 100%;
  max-width: var(--max-width, 100%);
}

.c-accordion__head-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  cursor: pointer;
  column-gap: 24px;
}

.c-accordion__content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease-in-out;
}

.is-open .c-icn-plus:after {
  opacity: 0;
}

.c-taxos {
  --gapx: 8px;
  --align: center;
  --gapy: 6px;
  --wrap: wrap;
}

.c-taxos__pill {
  border: 1px solid #F2EBE2;
  border-radius: 30px;
  padding: 4px 11.5px 5px;
  font-size: clamp(13px, 2vw, 16px);
  line-height: 1;
  transition: 0.45s ease all;
  font-weight: 400;
}

.c-taxos__separator {
  display: none;
}

.c-taxos__pill:hover {
  background: var(--clr-secondary);
  color: var(--clr-white);
}

@media (min-width: 1440px) {
  .c-taxos {
    --gapy: 8px;
  }
  .c-taxos__pill {
    padding: 6.2px 16.5px 7px;
  }
}
.horizontal-wrap {
  overflow: hidden;
}

.horizontal-track {
  display: flex;
  width: max-content;
}

.swiper-button {
  background: transparent;
  height: var(--swiper-button-size, 33.61px);
  width: var(--swiper-button-size, 33.61px);
  display: inline-flex;
  align-items: center;
  border: none;
  justify-content: center;
  z-index: 3;
  padding: 0;
  border: 1px solid #000;
  transition: all 0.3s ease-in-out;
}

.swiper-button:before {
  content: "";
  background: url("./assets/imgs/swiper-long-bg.svg") no-repeat center;
  height: 100%;
  width: 100%;
  display: block;
  background-size: 44% auto;
  transition: all 0.3s ease-in-out;
}

@media (min-width: 1024px) {
  .swiper-button {
    --swiper-button-size: 40px;
  }
}
@media (min-width: 1440px) {
  .swiper-button {
    --swiper-button-size: 54px;
  }
}
.swiper-prev:before {
  transform: rotate(180deg);
}

.swiper-scrollbar {
  background: rgba(155, 144, 125, 0.5);
  width: 100%;
  position: relative;
  height: 2px;
  margin: clamp(24px, 4.85vw, 92px) 0 0;
  border-radius: 16px;
}

body {
  --swiper-scrollbar-size: 2px;
}

.swiper-scrollbar-drag {
  background: #9B907D;
  height: 100%;
}

.swiper-button-disabled {
  opacity: 0.5;
}

.swiper-button--abs {
  bottom: 0;
  position: absolute;
  left: 26px;
}

.swiper-button--abs .swiper-next {
  transform: translateX(140%);
}

.swiper-nav {
  display: flex;
  column-gap: 11px;
}

.same-height .swiper-slide {
  height: auto;
}

.swiper-horizontal .swiper-slide {
  cursor: grab;
}

body .gform_footer button {
  background: transparent;
  border: none;
  padding: 0;
}

body .gform_wrapper.gravity-theme .gfield_validation_message,
body .gform_wrapper.gravity-theme .validation_message,
body .gform_wrapper.gravity-theme .gform_validation_errors {
  display: none;
}

body .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border-width: 0 0 1px;
}

body .gform_wrapper.gravity-theme .gform_footer {
  padding: 0;
  margin: 16px 0 0;
}

body .gform_wrapper.gravity-theme .gform_fields {
  --col-gap: 10px;
  --row-gap: 10px;
  column-gap: var(--col-gap);
  row-gap: var(--row-gap);
  display: flex;
  flex-wrap: wrap;
}

body .gfield--width-half {
  max-width: calc((100% - var(--col-gap)) / 2);
}

body .gfield {
  display: block;
  width: 100%;
}

body .gform-footer .c-learn-link__label {
  filter: brightness(0);
}

body input:focus, body textarea:focus {
  outline: none !important;
}

body .gform_wrapper.gravity-theme input,
body .gform_wrapper.gravity-theme textarea {
  font-size: clamp(13px, 0.8333333333vw, 16px) !important;
  font-family: articulat-cf, sans-serif, "Helvetica Neue", Helvetica, -apple-system, Arial, sans-serif;
  color: #000;
  letter-spacing: 0.48px;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  padding-inline: 0 !important;
  font-weight: 300;
}

body .gform_wrapper.gravity-theme input::placeholder,
body .gform_wrapper.gravity-theme textarea::placeholder {
  font-size: clamp(13px, 0.8333333333vw, 16px) !important;
  font-family: articulat-cf, sans-serif, "Helvetica Neue", Helvetica, -apple-system, Arial, sans-serif;
  letter-spacing: 0.48px;
}

body .gform_wrapper.gravity-theme .gfield textarea.large {
  height: 120px;
  resize: none;
}

@media (max-width: calc(1024px - 1px)) {
  body .c-learn-link:hover .c-learn-link__label:before,
  body .c-learn-link__label:after {
    width: 18px;
    height: 21px;
  }
  body .c-learn-link:hover .c-learn-link__label:before {
    margin-right: 6px;
  }
  body .c-learn-link__label:after {
    margin-left: 6px;
  }
}
@media (min-width: 1024px) {
  body .gform_wrapper.gravity-theme .gform_fields {
    --col-gap: 20px;
    --row-gap: 18px;
  }
  body .gfield--width-third {
    max-width: calc((100% - var(--col-gap) * 2) / 3);
  }
  body .gfield--width-quarter {
    max-width: calc((100% - var(--col-gap) * 3) / 4);
  }
}
@media (min-width: 1440px) {
  body .gform_wrapper.gravity-theme input,
  body .gform_wrapper.gravity-theme textarea {
    padding-bottom: 16px !important;
  }
  body .gform_wrapper.gravity-theme .gform_fields {
    --row-gap: 25px;
  }
}
.c-project__img {
  aspect-ratio: 338/214;
  background: var(--clr-secondary);
  margin-bottom: 16px;
  cursor: pointer;
  overflow: hidden;
}

.c-project__img:after {
  content: "View Project";
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  --overlay: rgba(0,0,0,0.5);
  opacity: 0;
  transition: 0.5s ease;
}

.c-project img {
  transition: 0.5s ease;
  height: 100%;
}

.c-project__img:hover:after {
  opacity: 1;
}

.c-project__img:hover img {
  transform: scale(1.05);
}

.c-project .c-taxos__pill {
  border-color: #F2EBE2;
}

.c-project__meta {
  width: 100%;
  --gapx: 30px;
  --gapy: 10px;
}

.c-project .c-taxos {
  width: 100%;
}

.c-project__title {
  color: var(--clr-black);
  cursor: pointer;
  width: 100%;
  font-size: clamp(13px, 2.25vw, 30px);
}

.c-project__title:hover {
  color: var(--clr-black);
}

@media (max-width: calc(768px - 1px)) {
  .c-project .c-taxos {
    --gapx: 5px;
  }
  .c-project .c-taxos__pill:hover {
    background: transparent;
  }
}
@media (min-width: 1024px) {
  .c-project__img {
    aspect-ratio: 710/450;
  }
  .c-project__meta {
    --justify: space-between;
    --wrap: nowrap;
    --align: flex-start;
  }
  .c-project .c-taxos {
    --justify: flex-end;
    max-width: 50%;
  }
  .c-project__img {
    margin-bottom: 24px;
  }
}
.c-service-list {
  --pt: clamp(32px, 12vw, 120px);
  --pb: clamp(32px, 12vw, 120px);
  --gapy: 32px;
  --gapx: clamp(40px, 8vw, 166px);
}

.c-service-list__media {
  padding-bottom: 45.2%;
  width: 100%;
  min-height: 290px;
}

.c-service-list .c-content {
  display: flex;
  flex-direction: column;
  margin: 0 0 clamp(32px, 5vw, 88px);
  max-width: 100%;
}

.c-service-list .head {
  order: -1;
  margin: 0 0 clamp(24px, 3vw, 50px);
}

.c-service-list .sub-head {
  margin: 0;
}

.c-service-list__link-wrap {
  border-top: 1px solid #000;
}

.c-service-list__link-wrap:last-child {
  border-bottom: 1px solid #000;
}

.c-service-list__link {
  display: grid;
  grid-template-columns: 1fr clamp(16px, 1vw, 18px);
  column-gap: 24px;
  padding: 18px 0;
  align-items: center;
}

.c-service-list__link:hover {
  background: #F2EBE2;
  padding: 18px;
}

@media (min-width: 1024px) {
  .c-service-list {
    --content-width: 420px;
  }
  .c-service-list__content {
    max-width: var(--content-width);
  }
  .c-service-list__media {
    max-width: clamp(400px, 100% - var(--content-width) - var(--gapx), 1150px);
    padding-bottom: 41.5%;
  }
}
.o-wrapper {
  max-width: clamp(1280px, 90.2083333333vw, 1732px);
  margin-inline: auto;
}
@media (min-width: 1280px) {
  .o-wrapper {
    padding-right: 12%;
  }
}
@media (min-width: 1900px) {
  .o-wrapper {
    padding-right: min(7.66%, 142px);
  }
}

.o-flex {
  display: flex;
  flex-wrap: var(--wrap, wrap);
  flex-direction: var(--direction, row);
  justify-content: var(--justify, flex-start);
  align-items: var(--align, stretch);
  column-gap: var(--gapx, 0);
  row-gap: var(--gapy, 0);
}
.o-flex.is-column {
  --direction: column;
}
.o-flex.is-reverse {
  --direction: row-reverse;
}
.o-flex.is-center {
  --justify: center;
  --align: center;
}
.o-flex.align-center {
  --align: center;
}
.o-flex.justify-center {
  --justify: center;
}
.o-flex.justify-between {
  --justify: space-between;
}
@media (min-width: 1024px) {
  .o-flex.is-md-reverse {
    --direction: row-reverse;
  }
}
@media (min-width: 1280px) {
  .o-flex.is-lg-reverse {
    --direction: row-reverse;
  }
}

.wid-100 {
  width: 100%;
}

iframe {
  aspect-ratio: 16/9;
  width: 100%;
  border: none;
}

.u-hide {
  display: none;
}

@media (max-width: calc(1024px - 1px)) {
  .u-sm-hide {
    display: none;
  }
}

@media (min-width: 1024px) {
  .u-md-hide {
    display: none;
  }
}

@media (min-width: 1280px) {
  .u-lg-hide {
    display: none;
  }
}

.c-media-wrap {
  position: relative;
}

.c-media-wrap,
.anim {
  opacity: 0;
  transition: 0.7s cubic-bezier(0.25, 0.1, 0.54, 1.01) opacity;
}
.c-media-wrap.in,
.anim.in {
  opacity: 1;
}

@media (max-width: calc(1280px - 1px)) {
  .c-video-wrap:before {
    content: "Watch";
    position: absolute;
    z-index: 2;
    color: #fff;
    top: 50%;
    left: 50%;
    display: inline-flex;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.2);
    aspect-ratio: 1/1;
    height: 90px;
    width: 90px;
    align-items: center;
    letter-spacing: 1px;
    justify-content: center;
    border-radius: 50%;
    backdrop-filter: blur(20px);
    pointer-events: none;
    transition: 0.4s ease opacity;
    font-size: 12px;
  }
  .c-video-wrap:has(.isplaying):before {
    opacity: 0;
  }
}

.clickToplay:not(.isplaying) {
  cursor: pointer;
}

.c-video-wrap:has(.custom-video.autoplay):before {
  opacity: 0;
}

.screen-reader-text {
  top: 10px;
  left: 10px;
  color: var(--clr-white);
  background-color: var(--clr-black);
  padding: 12px 16px;
  text-decoration: none;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.screen-reader-text:focus {
  height: auto;
  width: auto;
  text-decoration: none;
  clip-path: inherit;
  clip: inherit;
}

.is-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.is-bg img, .is-bg video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-block {
  padding: var(--pt, 40px) var(--px, 26px) var(--pb, 40px);
  color: var(--color, var(--clr-black));
  background: var(--bg-color, var(--clr-white));
}

.c-main {
  position: relative;
  z-index: 2;
  background: #fff;
  min-height: 100dvh;
}

.c-btn-wrap {
  --gapx: 12px;
  --gapy: 12px;
  --direction: row;
}

.mt-auto {
  margin-top: auto;
}

.mt-0 {
  margin-top: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.mx-auto {
  margin-inline: auto;
}

.pl-0 {
  padding-left: 0;
}

.pr-0 {
  padding-right: 0;
}

.pt-0 {
  padding-top: 0;
}

.pb-0 {
  padding-bottom: 0;
}

.ptb-0 {
  padding-block: 0;
}

.sub-head {
  width: 100%;
  display: block;
}

.c-content {
  max-width: var(--content-width, 100%);
}

.c-accord-services {
  --pb: 0;
}
.c-accord-services .c-accordion {
  padding: 40px var(--px, 26px);
  border-top: 1px solid #9F9F9F;
}
.c-accord-services .c-accordion__content {
  margin: 16px 0 0;
}
.c-accord-services .c-arrodion__trigger {
  margin-bottom: 24px;
  transition: 0.45s ease margin;
}
.c-accord-services .cta_link {
  filter: brightness(0);
  margin: 20px 0 0;
}
@media (max-width: calc(1024px - 1px)) {
  .c-accord-services__content {
    margin-inline: var(--px, -26px);
  }
  .c-accord-services .c-accordion__trigger {
    pointer-events: none;
  }
  .c-accord-services .c-accordion__content {
    max-height: inherit !important;
  }
  .c-accord-services .img-wrap {
    display: block;
    margin: 47px 0 0;
  }
}
@media (min-width: 1024px) {
  .c-accord-services__wrap {
    --wrap: nowrap;
    border-top: 1px solid #9F9F9F;
  }
  .c-accord-services__wrap > div {
    padding-top: min(6vw, 85px);
  }
  .c-accord-services .c-icn-plus {
    --plus-icn-size: clamp(20px, 1.5625vw, 26px);
  }
  .c-accord-services .c-accordion__content {
    min-height: 0;
    transition: 0.3s ease;
  }
  .c-accord-services .c-accordion:last-child {
    padding-bottom: 0;
  }
  .c-accord-services .cta_link {
    margin: 26px 0 0;
  }
  .c-accord-services .c-accordion {
    padding: 28px 0;
  }
  .c-accord-services .c-accordion:first-child {
    border-top: none;
    padding-top: 0;
  }
  .c-accord-services .c-accordion:has(.is-open) {
    padding-bottom: clamp(40px, 5.25vw, 60px);
  }
  .c-accord-services .c-accordion:has(.is-open) .c-icn-plus {
    opacity: 0;
  }
  .c-accord-services .c-accordion:has(.is-open) .c-accordion__content {
    min-height: clamp(200px, 28.5vw, 540px);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .c-accord-services .c-accordion:has(.is-open) .index {
    display: block;
    margin: 0 0 24px;
  }
  .c-accord-services .c-accordion:has(.is-open) .c-arrodion__trigger {
    margin-bottom: min(18vw, 370px);
  }
  .c-accord-services .c-accordion__trigger.is-open {
    pointer-events: none;
  }
  .c-accord-services__media {
    width: min(56.667vw, 1088px);
    border-right: 1px solid #9F9F9F;
    padding-right: min(66px, 16vw);
  }
  .c-accord-services__content {
    margin-inline: auto 0;
    width: min(38vw, 510px);
  }
  .c-accord-services .c-accordion {
    padding-left: min(80px, 4vw);
  }
  .c-accord-services .c-accordion__trigger {
    margin: 0;
  }
  .c-accord-services .img-wrap {
    aspect-ratio: 1022/804;
    padding-block: min(402px, 20vw);
    background: #f4f4f4;
    height: 100%;
    max-width: 100%;
  }
}
@media (min-width: 1440px) {
  .c-accord-services .c-accordion {
    padding-block: 34px;
  }
}
@media (min-width: 1800px) {
  .c-accord-services .c-accordion {
    padding-block: 43px;
  }
  .c-accord-services .c-accordion:last-child {
    padding-bottom: 27px;
  }
}

.c-banner {
  --bg-color: var(--clr-black);
  --color: var(--clr-white);
  min-height: 100dvh;
}
.c-banner__media:after {
  mix-blend-mode: multiply;
}
.c-banner__text {
  --justify: space-between;
  z-index: 2;
  position: relative;
  padding-block: 60px 27px;
  width: 100%;
}
.c-banner__text span:nth-child(2) {
  transform: translateX(var(--span-pull-left, -55%));
}
.c-banner__text span:nth-child(3) {
  transform: translateX(-6vw);
}
@media (min-width: 1024px) {
  .c-banner {
    --span-pull-left: -94%;
  }
  .c-banner__text span:nth-child(3) {
    transform: translateX(-6vw);
  }
}
@media (min-width: 1440px) {
  .c-banner__text span:nth-child(3) {
    transform: translateX(0);
  }
}

.c-logos {
  --px: 0;
  --pt: clamp(40px, 12vw, 180px);
}
.c-logos img {
  object-fit: contain;
}
.c-logos .swiper-wrapper {
  transition-timing-function: linear !important;
}
.c-logos .swiper-slide {
  display: flex;
  justify-content: center;
}
.c-logos .c-marque {
  margin: 0 0 clamp(50px, 10vw, 180px);
}
.c-logos .c-marque__el {
  margin: 0;
}
.c-logos .c-marque__el:after {
  width: clamp(53px, 12vw, 272px);
  height: 1px;
  background: #000;
  margin: 0 clamp(20px, 2vw, 60px);
}
.c-logos .o-flex {
  --justify: space-around;
  --gapy: 30px;
  --gapx: 32px;
  padding-inline: 26px;
}
.c-logos .c-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
}
.c-logos .c-img-wrap img {
  max-width: 93px;
  max-height: 30px;
  opacity: 0.6;
}
@media (min-width: 1024px) {
  .c-logos .o-flex {
    --justify: space-between;
    --gapx: 40px;
  }
  .c-logos .c-img-wrap img {
    max-width: 100px;
    max-height: 60px;
  }
  .c-logos .c-marque__el:after {
    height: 2px;
    margin-top: 1%;
  }
}
@media (min-width: 1280px) {
  .c-logos .o-wrapper {
    max-width: min(75vw, 1420px);
  }
}

.c-contact {
  --pt: 43px;
  --pb: 54px;
}
.c-contact .gform_wrapper .c-learn-link__label {
  font-family: articulat-cf, sans-serif, "Helvetica Neue", Helvetica, -apple-system, Arial, sans-serif;
}
.c-contact .img-wrap {
  display: none;
}
.c-contact .desc {
  max-width: 420px;
}
.c-contact .head {
  max-width: 300px;
  font-size: clamp(25px, 6vw, 130px);
}
.c-contact__top {
  --gapy: 12px;
  margin-bottom: clamp(30px, 4vw, 76px);
}
.c-contact__foot {
  margin-top: clamp(32px, 7vw, 134px);
  --gapy: 43px;
}
@media (min-width: 768px) {
  .c-contact .img-wrap {
    max-width: 272px;
    max-height: 330px;
    display: block;
  }
  .c-contact .desc {
    margin-bottom: 0;
    letter-spacing: 0;
  }
  .c-contact .head {
    max-width: 100%;
  }
}
@media (min-width: 1024px) {
  .c-contact {
    --pt: 76px;
    --pb: 80px;
  }
  .c-contact .has-dot {
    max-width: 270px;
  }
  .c-contact .desc {
    margin-left: 20vw;
    max-width: 454px;
    width: 100%;
  }
  .c-contact .form_wrap {
    width: min(60%, 858px);
  }
  .c-contact .form_wrap .gform_wrapper.gravity-theme .gform_footer {
    margin: 28px 0 0;
  }
}
@media (min-width: 1800px) {
  .c-contact {
    --pt: 136px;
    --pb: 140px;
  }
  .c-contact .desc {
    margin-left: min(35vw, 620px);
  }
}

.c-faqs .c-icn-plus {
  --plus-icn-size: clamp(28px, 3.33vw, 56px);
}
.c-faqs__top {
  margin-bottom: clamp(31px, 4vw, 67px);
}
.c-faqs .c-accordion__content {
  max-width: 1002px;
}
.c-faqs .c-accordion {
  border-bottom: 1px solid #9B907D;
}
.c-faqs .c-accordion:has(.is-open) {
  padding-bottom: clamp(24px, 4vw, 67px);
}
.c-faqs .c-accordion:first-child {
  border-top: 1px solid #9B907D;
}
.c-faqs .c-accordion__trigger {
  margin-block: clamp(21px, 2vw, 33px);
}
.c-faqs .c-accordion__trigger.is-open {
  margin-bottom: 20px;
}

.hide-nav .c-head,
.hide-nav .c-nav {
  opacity: 0;
  visibility: hidden;
}

.c-fwork {
  position: relative;
  --pt: 51px;
  --pb: 26px;
  padding-bottom: 0;
}
.c-fwork a {
  color: #fff;
}
.c-fwork__inner .o-wrapper {
  transition: 0.5s ease;
  transform: translateY(60%);
}
.c-fwork__inner .o-wrapper.in {
  transform: translateY(0);
}
.c-fwork .is-bg {
  z-index: -1;
}
.c-fwork .c-taxos {
  pointer-events: none;
}
.c-fwork__card {
  background: #000;
  --color: var(--clr-white);
  overflow: hidden;
  position: relative;
}
.c-fwork__inner {
  min-height: var(--card-height, 658px);
  padding: var(--card-py, 24px) var(--card-px, 26px);
}
.c-fwork__title {
  display: block;
  margin-bottom: 18px;
}
.c-fwork__title:hover {
  color: #fff;
}
.c-fwork .heading {
  font-size: clamp(25px, 6.25vw, 130px);
}
.c-fwork .fs50 {
  font-size: clamp(25px, 2.6041666667vw, 50px);
}
@media (min-width: 768px) {
  .c-fwork__title {
    margin-bottom: 20px;
  }
  .c-fwork__card {
    --card-height: 100vh;
    --card-py: 66px;
    position: sticky;
    top: 0;
    will-change: filter, transform;
    transition: 0.35s ease;
  }
  .c-fwork__card.is-blurring * {
    filter: blur(var(--blur-amount, 0px));
  }
}
@media (min-width: 1326px) {
  .c-fwork {
    --px: 0;
    --pb: 40px;
  }
}
@media (min-width: 1280px) {
  .c-fwork {
    --pt: 64px;
  }
  .c-fwork__title:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
@media (min-width: 1440px) {
  .c-fwork {
    --pt: 122px;
  }
}

.c-fwork-marque {
  padding-block: 19px var(--pb, 0);
}
.c-fwork-marque .c-marque__el {
  margin-right: clamp(16px, 1.5vw, 35px);
  align-items: flex-end;
}
.c-fwork-marque .c-marque__el:after {
  background: url("./assets/imgs/arrow-icon.svg") no-repeat;
  background-size: cover;
  width: clamp(16px, 3vw, 54px);
  height: clamp(16px, 3vw, 54px);
  margin-left: clamp(16px, 1.5vw, 35px);
  margin-bottom: 2%;
  filter: brightness(0);
  transition: 0.25s ease;
}
@media (min-width: 1024px) {
  .c-fwork-marque {
    padding-block: 48px var(--pb, 0);
  }
}

.c-cont-cta .fs30 {
  font-size: clamp(13px, 1.5625vw, 30px);
}
.c-cont-cta .sub-head {
  margin-bottom: clamp(23px, 2.35vw, 40px);
}
.c-cont-cta__wrap {
  --align: flex-start;
  --direction: column;
  --gapy: 26px;
}
.c-cont-cta .head:last-child {
  margin-bottom: 0;
}
.c-cont-cta .c-learn-link {
  filter: brightness(0);
}
@media (min-width: 1024px) {
  .c-cont-cta__wrap {
    --wrap: nowrap;
    --align: flex-end;
    --direction: row;
    --gapy: 30px;
    --justify: space-between;
  }
}
@media (min-width: 1440px) {
  .c-cont-cta .c-learn-link {
    min-width: 185px;
  }
}

@media (max-width: calc(768px - 1px)) {
  br {
    display: none;
  }
}
.c-img-text {
  --pt: clamp(53px, 10vw, 128px);
  --pb: clamp(53px, 10vw, 144px);
}
.c-img-text__wrap {
  --direction: column;
  --align: flex-start;
}
.c-img-text__head {
  margin: 26px 0 17px;
}
.c-img-text .mobile-head {
  margin: 0 0 28px;
}
.c-img-text .c-learn-link {
  margin-top: 20px;
  filter: brightness(0);
}
@media (min-width: 1024px) {
  .c-img-text__media {
    max-width: clamp(600px, 54vw, 1002px);
    width: 100%;
  }
  .c-img-text .is-md-reverse .c-media-wrap {
    max-width: 855px;
  }
  .c-img-text__content {
    max-width: min(40vw, var(--max-cont-width));
  }
  .c-img-text .has-padding {
    padding-block: min(2vw, 75px);
  }
  .c-img-text .c-content {
    display: flex;
    flex-direction: column;
  }
  .c-img-text__head {
    margin: 0 0 19px;
    order: -1;
  }
  .c-img-text__wrap {
    --direction: row;
    --gapx: min(168px, 10.15vw);
    --wrap: nowrap;
  }
}

.c-team {
  --px: 0;
  --pt: 0;
  --pb: 0;
}
.c-team .appeal_text b {
  display: block;
  font-weight: 600;
}
.c-team__wrap {
  padding-inline: 26px;
}
.c-team .appeal_wrap {
  --direction: column;
}
.c-team .appeal_title {
  margin-bottom: clamp(20px, 3vw, 30px);
}
.c-team .c-button__label {
  line-height: 1.5384615385;
}
.c-team .c-button__label b {
  font-weight: 600;
  display: block;
}
.c-team .img-wrap {
  margin-bottom: clamp(14px, 2vw, 26px);
  padding-bottom: 52.5vw;
}
.c-team .c-marque__el {
  margin-bottom: clamp(35px, 6vw, 92px);
}
.c-team .c-marque__el::after {
  width: clamp(52px, 10vw, 272px);
  height: 1px;
  background: currentColor;
  margin-inline: clamp(26px, 3vw, 72px);
  margin-top: 3%;
}
@media (max-width: calc(1024px - 1px)) {
  .c-team .appeal_title {
    max-width: 260px;
    margin: 0;
    font-size: clamp(25px, 2.6041666667vw, 50px);
  }
  .c-team .inwrap {
    --gapy: 43px;
    --gapx: 12px;
  }
  .c-team .team-member {
    max-width: calc((100% - 12px) / 2);
    width: 100%;
  }
  .c-team .appeal_text {
    width: 100%;
    margin: 0;
  }
  .c-team .team-member:is(.appeal_wrap) {
    --direction: row;
    --gapy: 20px;
    min-width: calc(100% + 52px);
    margin-left: -26px;
    padding: 33px 26px;
    border: solid #9B907D;
    border-width: 1px 0;
  }
}
@media (min-width: 1024px) {
  .c-team img {
    object-position: top center;
  }
  .c-team .inwrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    --gapx: 1px;
  }
  .c-team__wrap {
    border: solid #9B907D;
    border-width: 1px 0;
  }
  .c-team .team-col {
    border-right: solid #9B907D 1px;
  }
  .c-team .team-col:nth-child(3) {
    border: none;
  }
  .c-team .c-marque__el:after {
    height: 2px;
  }
  .c-team .team-member {
    padding: 54px 80px 54px 44px;
    transition: 0.5s ease all;
  }
  .c-team .team-member:last-child {
    margin-bottom: 76px;
  }
  .c-team .team-member:hover {
    padding-right: 44px;
  }
  .c-team .team-member:hover .img-wrap {
    max-width: 100%;
    padding-bottom: 26.6vw;
  }
  .c-team .appeal_wrap {
    margin-top: 9vw;
  }
  .c-team .team-member.appeal_wrap {
    padding-right: 14px;
  }
  .c-team .appeal_title {
    max-width: 212px;
    line-height: 1.1;
  }
  .c-team .img-wrap {
    padding-bottom: 20vw;
    max-width: 268px;
    transition: 0.5s ease all;
  }
}
@media (min-width: 1800px) {
  .c-team .inwrap {
    padding-left: 2.85%;
  }
  .c-team .team-member {
    padding: 70px 134px 70px 94px;
  }
  .c-team .team-member:hover {
    padding-right: 94px;
  }
  .c-team .team-member:hover .img-wrap {
    padding-bottom: min(24.6vw, 430px);
  }
  .c-team .img-wrap {
    padding-bottom: min(17.6vw, 338px);
  }
  .c-team .appeal_wrap {
    margin-top: min(115px, 5vw);
  }
}
@media (min-width: 1800px) {
  .c-team .appeal_wrap {
    transform: translateY(16px);
  }
}

.c-dialog--team .c-dialog__panel {
  transform: translateX(-200vw);
  left: 0;
  bottom: 0;
  right: auto;
}
.c-dialog--team[open] .c-dialog__body {
  --clr-white: #f2ebe2;
}
.c-dialog--team .c-bio__meta-wrap {
  --justify: space-between;
}
.c-dialog--team .c-bio__meta {
  --direction: column;
  --justify: flex-start;
  width: calc(100% - 60px);
  margin: 0;
  row-gap: 10px;
}
.c-dialog--team .c-bio__desc {
  margin: clamp(32px, 3vw, 72px) 0 0;
  max-width: 540px;
}
.c-dialog--team[open] .c-dialog__panel {
  max-width: clamp(768px, 60vw, 993px);
  width: 100%;
}
@media (min-width: 1024px) {
  .c-dialog--team .c-bio__meta {
    --direction: row;
    --justify: space-between;
  }
  .c-dialog--team .c-bio__name {
    max-width: 365px;
  }
  .c-dialog--team .c-dialog__body {
    padding: 44px 64px 86px;
    height: calc(100dvh - 120px);
  }
}
@media (min-width: 1800px) {
  .c-dialog--team .c-dialog__body {
    padding: 64px 94px 133px;
  }
}

.c-phead {
  --pt: clamp(165px, 20vw, 343px);
  --pb: 0;
}
.c-phead .head {
  margin-bottom: clamp(24px, 3vw, 56px);
  font-size: clamp(50px, 6.7708333333vw, 130px);
}
.c-phead .c-img-wrap {
  margin-inline: -26px;
}
.c-phead .c-img-wrap img {
  height: clamp(191px, 48vw, 938px);
}
.c-phead .text {
  margin-bottom: clamp(53px, 4.5vw, 76px);
  --gapx: 24px;
  --gapy: 24px;
}
.c-phead .cta:hover {
  color: var(--clr-secondary);
}
.c-phead .subtitle {
  width: 100%;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 1.625;
}
.c-phead .desc {
  max-width: 400px;
  line-height: 1.25;
}
@media (min-width: 768px) {
  .c-phead .subtitle {
    max-width: 100px;
  }
}
@media (min-width: 1024px) {
  .c-phead .head svg {
    width: clamp(40px, 4vw, 74px);
    transform: translateY(19%);
  }
  .c-phead .appeal_wrap {
    margin-top: min(124px, 19vw);
  }
  .c-phead .desc {
    max-width: min(48vw, 710px);
    line-height: 1.5;
  }
  .c-phead .text,
  .c-phead .head {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    column-gap: 20px;
    justify-content: flex-start;
  }
  .c-phead .head {
    align-items: center;
  }
  .c-phead .text {
    align-items: flex-end;
  }
}
@media (min-width: 1440px) {
  .c-phead .head {
    grid-template-columns: 200px 520px auto;
  }
  .c-phead .text {
    grid-template-columns: 200px 330px auto;
  }
}
@media (min-width: 1800px) {
  .c-phead .c-img-wrap img {
    min-height: 938px;
  }
  .c-phead .head {
    grid-template-columns: 272px 36% auto;
  }
  .c-phead .text {
    grid-template-columns: 272px min(29vw, 546px) auto;
  }
  .c-phead .desc {
    padding-left: 20px;
  }
}

@media (max-width: calc(768px - 1px)) {
  .c-sec-head br {
    display: none;
  }
}

@media (max-width: calc(768px - 1px)) {
  .c-sec-head br {
    display: none;
  }
}

.c-service-info {
  --direction: column;
  --pt: clamp(53px, 5vw, 80px);
}
.c-service-info__media {
  height: clamp(328px, 70vw, 705px);
  width: 100%;
}
.c-service-info .desc p {
  margin: 0 0 1.5em;
}
.c-service-info__media-wrap {
  margin-block: 40px 30px;
  --gapx: 20px;
  --gapy: 34px;
  --direction: row;
}
@media (max-width: calc(768px - 1px)) {
  .c-service-info .subhead--desktop {
    display: none;
  }
  .c-service-info__media {
    display: none;
  }
  .c-service-info__media:nth-child(1) {
    display: block;
  }
}
@media (min-width: 768px) {
  .c-service-info .desc :last-child {
    margin: 0;
  }
  .c-service-info .subhead--mobile {
    display: none;
  }
  .c-service-info__media {
    max-width: calc(50% - var(--gapx, 20px) / 2);
    height: min(36.75vw, 705px);
  }
  .c-service-info__media-wrap {
    margin-block: clamp(60px, 9vw, 167px) 0;
  }
  .c-service-info__media:first-child {
    max-width: 41%;
  }
  .c-service-info__media:nth-child(2n) {
    max-width: 48%;
  }
  .c-service-info .text-wrap {
    order: 2;
    margin-top: min(9vw, 97px);
  }
  .c-service-info .text-wrap:first-child {
    margin-top: 0;
  }
  .c-service-info .media {
    order: 3;
  }
  .c-service-info .est_info,
  .c-service-info .text-wrap__in {
    display: grid;
    column-gap: 20px;
  }
  .c-service-info .text-wrap__in {
    grid-template-columns: 44.75% 45.5%;
  }
  .c-service-info .est_info {
    grid-template-columns: 44.75% 17% 35.5%;
  }
}
@media (min-width: 1800px) {
  .c-service-info__media:first-child {
    max-width: min(710px, 47%);
  }
  .c-service-info__media:nth-child(2n) {
    max-width: min(855px, 50%);
  }
}

.c-services-list {
  list-style: none;
  --gapx: 20px;
  --direction: row;
}
.c-services-list__title {
  font-size: clamp(25px, 1.5625vw, 30px);
}
.c-services-list__title:after {
  content: "";
  display: block;
  height: 1px;
  width: calc(100% + 52px);
  background: #D9D0C3;
  margin: 25px 0 25px -26px;
}
.c-services-list__el {
  width: 100%;
  letter-spacing: 0.06em;
}
.c-services-list__wrap {
  margin-block: 36px 16px;
}
@media (min-width: 768px) {
  .c-services-list__title:after {
    display: none;
  }
  .c-services-list__wrap {
    order: 3;
    margin-block: min(6.5vw, 95px) min(7.75vw, 110px);
    display: grid;
    grid-template-columns: 44.75% 54%;
    column-gap: 20px;
    padding-top: 29px;
    position: relative;
  }
  .c-services-list__wrap:before {
    content: "";
    display: block;
    width: 100%;
    border-top: 1px solid #9B907D;
    position: absolute;
    top: 0;
    left: 0;
    max-width: calc(100% - min(7.66%, 142px));
  }
}
@media (min-width: 1024px) {
  .c-services-list__el {
    max-width: calc((100% - var(--gapx, 20px)) / 2);
  }
}
@media (min-width: 1800px) {
  .c-services-list {
    --gapx: min(10vw, 166px);
  }
}

.c-services-pan {
  padding: 0;
  --bg-color: #F2EBE2;
}
.c-services-pan__imgs-wrap {
  margin-top: clamp(80px, 15vw, 130px);
}
.c-services-pan .c-media-wrap {
  height: clamp(265px, 40vw, 345px);
}
.c-services-pan .c-learn-link {
  color: #9B907D;
}
.c-services-pan .c-learn-link:hover {
  color: #000;
}
@media (max-width: calc(768px - 1px)) {
  .c-services-pan {
    text-align: center;
  }
  .c-services-pan .swiper-wrapper {
    flex-direction: column;
  }
  .c-services-pan .swiper-slide {
    padding-top: 160px;
  }
  .c-services-pan .swiper-slide:last-child {
    padding-bottom: 75px;
  }
  .c-services-pan .head {
    margin: 25px 0 45px;
  }
  .c-services-pan .c-media-wrap {
    display: none;
  }
  .c-services-pan .c-media-wrap:nth-child(1),
  .c-services-pan .c-media-wrap:nth-child(2) {
    display: block;
    width: 50%;
  }
}
@media (min-width: 768px) {
  .c-services-pan .head {
    margin: 0 0 20px;
  }
  .c-services-pan .c-media-wrap:nth-child(4) {
    display: none;
  }
  .c-services-pan .swiper-slide {
    min-height: 100vh;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: center;
  }
  .c-services-pan .swiper-pagination {
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    max-width: max-content;
    max-height: max-content;
  }
  .c-services-pan .c-media-wrap {
    width: 33.33%;
    background: #808080;
  }
}
@media (min-width: 1024px) {
  .c-services-pan .c-media-wrap {
    width: 25%;
  }
  .c-services-pan .swiper-slide {
    padding-top: 60px;
  }
  .c-services-pan .c-media-wrap:nth-child(4) {
    display: block;
  }
}

body:has(.c-services-pan:only-child) .c-footer {
  display: none;
}

.c-process-slider {
  padding-bottom: 0;
}
.c-process-slider__top {
  margin-bottom: clamp(36px, 3.5vw, 64px);
}
.c-process-slider .c-marque {
  padding-block: clamp(50px, 4.25vw, 71px) var(--pb, 40px);
  margin-inline: -26px;
  width: calc(100% + 52px);
}
.c-process-slider .swiper-slide {
  height: auto;
}
@media (min-width: 1024px) {
  .c-process-slider {
    position: relative;
  }
  .c-process-slider .swiper-button {
    --swiper-button-size: clamp(50px,7.75vw,147px);
    position: absolute;
    top: 46.5%;
    transform: translateY(-50%);
    background-color: #fff;
    border-color: #fff;
    border-radius: 50%;
    z-index: 7;
  }
  .c-process-slider .swiper-button:before {
    background-image: url("./assets/imgs/swiper-arrow-icn.svg");
    background-size: 24px auto;
  }
  .c-process-slider .swiper-button:hover {
    background: #F2EBE2;
    border-color: #F2EBE2;
  }
  .c-process-slider .swiper-button-disabled {
    opacity: 0;
  }
  .c-process-slider .swiper-next {
    right: 20px;
  }
  .c-process-slider .swiper-prev {
    left: 20px;
  }
}
@media (min-width: 1440px) {
  .c-process-slider .swiper-button:before {
    background-size: 30px auto;
  }
}
@media (min-width: 2000px) {
  .c-process-slider .swiper-next {
    right: calc((100% - 1732px) / 2.5);
  }
  .c-process-slider .swiper-prev {
    left: calc((100% - 1732px) / 2.5);
  }
}
.c-process-slider .c-marque__el {
  margin-right: clamp(16px, 1.5vw, 35px);
  align-items: flex-end;
}
.c-process-slider .c-marque__el:after {
  background: url("./assets/imgs/arrow-icon.svg") no-repeat;
  background-size: cover;
  width: clamp(16px, 3vw, 54px);
  height: clamp(16px, 3vw, 54px);
  margin-left: clamp(16px, 1.5vw, 35px);
  margin-bottom: 2%;
  filter: brightness(0);
  transition: 0.25s ease;
}

.c-process-card {
  padding: var(--card-padding, 28px 32px 39px 26px);
}
.c-process-card__title {
  margin: clamp(124px, 11.25vw, 200px) 0 clamp(12px, 1.5vw, 28px);
  font-size: clamp(13px, 1.5625vw, 30px);
}
.c-process-card__index {
  font-size: 16px;
  line-height: 1.4375;
  letter-spacing: 0.48px;
}
@media (min-width: 1024px) {
  .c-process-card {
    --card-padding: 42px 48px 59px 42px;
  }
}
@media (min-width: 1440px) {
  .c-process-card {
    --card-padding: 42px 64px 59px 42px;
  }
}
@media (min-width: 1800px) {
  .c-process-card {
    --card-padding: 43px 106px 60px 40px;
  }
}

.c-testimonials {
  --px: 0;
  --pt: clamp(20px, 9vw, 190px);
  --pb: 0;
  position: relative;
  background: transparent;
  transition-delay: 0.5s;
}
.c-testimonials .swiper-pagination {
  position: absolute;
  top: 35px;
  left: 26px;
  width: auto;
  height: max-content;
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.625;
}
.c-testimonials .c-media-wrap {
  opacity: 1;
}
.c-testimonials .swiper-button {
  background: #E6DCCF;
  border-color: #E6DCCF;
}
.c-testimonials .swiper-nav {
  position: absolute;
  bottom: calc(min(51.75vw, 1140px) + 30px);
  left: 26px;
}
.c-testimonials .swiper-slide {
  display: flex;
  --direction: column;
  background: var(--bg-color, #F2EBE2);
}
.c-testimonials .sec_title {
  margin: 0 0 36px;
}
.c-testimonials .c-img-wrap {
  height: min(51.75vw, 1140px);
  position: relative;
}
.c-testimonials .swiper-button {
  bottom: calc(75vw + 30px);
}
.c-testimonials img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
@media (min-width: 1024px) {
  .c-testimonials .c-img-wrap {
    height: min(71.75vw, 1140px);
  }
}

.c-testimonial {
  padding: 100px 26px 110px;
  position: relative;
}

@media (min-width: 1024px) {
  .c-testimonials .swiper-slide {
    background: transparent;
    --direction: row-reverse;
    --wrap: nowrap;
    --align: flex-end;
  }
  .c-testimonials .prev-trig .swiper-slide-active img {
    animation: clipToright 0.5s ease;
  }
  .c-testimonials .next-trig .swiper-slide-active img {
    animation: clipToleft 0.5s ease;
  }
  .c-testimonials .swiper-slide-active {
    z-index: 2;
    position: relative;
  }
  .c-testimonials .swiper-slide-active .c-testimonial {
    opacity: 1;
  }
  .c-testimonials .swiper-slide {
    opacity: 1 !important;
  }
  .c-testimonials .c-testimonial,
  .c-testimonials .c-media-wrap {
    width: 57.083vw;
  }
  .c-testimonials .c-testimonial {
    background: #F2EBE2;
    z-index: 2;
    opacity: 0;
  }
  .c-testimonials .c-media-wrap {
    margin-right: -14.938vw;
    z-index: 1;
    position: relative;
  }
  .c-testimonials .swiper-pagination {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    text-align: left;
  }
  .c-testimonials .swiper-title {
    max-width: min(17vw, 209px);
  }
  .c-testimonials .meta {
    position: absolute;
    bottom: clamp(140px, 12vw, 210px);
    left: 47.25vw;
    display: flex;
    row-gap: 25px;
    flex-direction: column;
    z-index: 3;
  }
  .c-testimonials .swiper-nav {
    width: max-content;
    position: relative;
    bottom: 0;
    left: 0;
    order: 3;
  }
  .c-testimonials .c-testimonial {
    padding: 0 2vw 9.45vw 22vw;
    margin-bottom: clamp(100px, 8vw, 155px);
  }
  .c-testimonials .c-testimonial__index-wrap {
    position: absolute;
    top: 0;
    left: 4.5vw;
  }
  .c-testimonials .c-testimonial__review {
    margin-bottom: 30px;
  }
  .c-testimonials .c-testimonial__inwrap {
    max-width: 438px;
    border-left: #9F9F9F solid 1px;
    padding: 55px 0 55px 20px;
    min-height: min(36vw, 444px);
    overflow: hidden;
  }
  .c-testimonials .c-testimonial__index, .c-testimonials .c-testimonial__inwrap * {
    opacity: 0;
    transform: translateY(100%);
    transition: all 0.5s ease;
  }
  .c-testimonials .c-testimonial__inwrap .sec_title {
    transform: translateY(-100%);
  }
  .c-testimonials .c-testimonial__index, .c-testimonials .c-testimonial__name {
    display: block;
    transition-delay: 0.2s;
  }
  .c-testimonials .swiper-slide-active .c-testimonial__inwrap *,
  .c-testimonials .swiper-slide-active .c-testimonial__index {
    opacity: 1;
    transform: translateY(0);
  }
  .c-testimonials .c-slide-change {
    animation: clipTotop 1s ease;
  }
}
@media (min-width: 1800px) {
  .c-testimonials .c-testimonial {
    padding: 0 240px 181px 418px;
  }
  .c-testimonials .c-testimonial__index-wrap {
    min-width: 126px;
    left: 7.5vw;
  }
  .c-testimonials .c-testimonial_review {
    margin-bottom: 30px;
  }
  .c-testimonials .c-testimonial__review {
    margin-bottom: 30px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    overflow: hidden;
    display: -webkit-box;
  }
  .c-testimonials .sec_title {
    margin-bottom: 123px;
  }
  .c-testimonials .meta {
    left: calc(43vw + 146px);
  }
  .c-testimonials .swiper-title {
    margin: 0 0 50px;
    line-height: 1.5;
    max-width: 209px;
  }
}
@media (min-width: 2150px) {
  .c-testimonials .c-testimonial__index-wrap {
    left: 6.5vw;
  }
}
@media (min-width: 2400px) {
  .c-testimonials .c-testimonial__index-wrap {
    left: 5.5vw;
  }
}
@media (min-width: 2850px) {
  .c-testimonials .c-testimonial__index-wrap {
    left: 4.5vw;
  }
}
@media (min-width: 3400px) {
  .c-testimonials .c-testimonial__index-wrap {
    left: 3.5vw;
  }
}

@keyframes clipToleft {
  0% {
    clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  }
}
@keyframes clipToright {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  }
}
.c-work {
  --pt: clamp(103px, 14vw, 184px);
  --pb: clamp(70px, 14vw, 135px);
}
.c-work__posts {
  --gapy: 40px;
  min-height: 50vh;
}
.c-work .applyFilter {
  background: transparent;
  border: none;
  padding: 0;
  transition: 0.4s ease-in-out transform;
  font-family: articulat-cf, sans-serif, "Helvetica Neue", Helvetica, -apple-system, Arial, sans-serif;
}
@media (min-width: 768px) {
  .c-work__posts {
    --gapy: 4vw;
    --gapx: 3vw;
  }
  .c-work .c-project {
    max-width: calc((100% - var(--gapx)) / 2);
  }
}
@media (min-width: 1024px) {
  .c-work .c-project__meta {
    --gapx: 20px;
  }
  .c-work .c-taxos {
    min-width: 60%;
    padding-top: 1%;
  }
  .c-work .c-taxos__pill {
    font-size: clamp(13px, 0.95vw, 16px);
  }
}
@media (min-width: 1800px) {
  .c-work__posts {
    --gapy: clamp(40px, 8vw, 130px);
    --gapx: clamp(40px, 9vw, 166px);
  }
  .c-work .c-project__title {
    max-width: 40%;
  }
}

.check-mark {
  display: inline-flex;
  align-items: center;
  width: 27px;
  justify-content: space-between;
  position: relative;
}
.check-mark i {
  height: 5px;
  width: 5px;
  background: currentColor;
  border-radius: 50%;
  opacity: 0;
  transition: var(--tr-ease) var(--tr-speed) opacity;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -25%);
}
.check-mark:after, .check-mark:before {
  content: "";
  line-height: 1;
}
.check-mark:before {
  content: "[ ";
}
.check-mark:after {
  content: " ]";
}

.trigger-filter {
  --plus-icn-size: 14px;
  --plus-icn-thickness: 2px;
  background: #F2EBE2;
  font-size: 20px;
  color: #0F0F0F;
  border: none;
  position: fixed;
  right: 0;
  bottom: 0;
  column-gap: 8px;
  width: 33.75vw;
  height: clamp(41px, 9.75vw, 148px);
  font-weight: 300;
  max-height: 128px;
  max-width: 200px;
  justify-content: center;
  z-index: 3;
}
.trigger-filter:focus {
  outline: none;
}
@media (min-width: 1024px) {
  .trigger-filter {
    font-size: 24px;
    padding: 32px;
  }
}
@media (min-width: 1800px) {
  .trigger-filter {
    font-size: 30px;
    max-height: 148px;
    max-width: 271px;
  }
}

.c-work__posts.is-loading::after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 3px solid rgba(0, 0, 0, 0.15);
  border-top-color: #000;
  animation: spin 0.5s linear infinite;
  z-index: 11;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
    opacity: 0.25;
  }
  100% {
    transform: rotate(360deg);
    opacity: 1;
  }
}
.c-filter {
  --gapx: 20px;
  --left-col: clamp(58px, 10vw,130px);
  padding: 30px 22px 30px;
  width: clamp(300px, 90vw, 572px);
  background: #F2EBE2;
}
.c-filter__top {
  --align: center;
  margin-bottom: 32px;
}
.c-filter__bottom {
  margin-top: 34px;
  padding-left: calc(var(--left-col) + var(--gapx));
}
.c-filter .applyFilter {
  color: var(--clr-black);
}
.c-filter .applyFilter:hover {
  color: var(--clr-secondary);
}
.c-filter .count {
  margin-left: auto;
}
.c-filter__tax-item {
  margin: 0 0 20px;
}
.c-filter__tax {
  display: flex;
  column-gap: 12px;
  cursor: pointer;
  margin: 0 0 8px;
  transition: var(--tr-ease) var(--tr-speed) color;
}
.c-filter__tax:hover, .c-filter__tax.is-selected {
  color: var(--clr-black);
}
.c-filter .c-icn-plus {
  --plus-icn-color: #707070;
}
.c-filter__tax.is-selected i {
  opacity: 1;
}
.c-filter .name {
  min-width: clamp(78px, 12vw, 134px);
  font-weight: 400;
}
@media (min-width: 768px) {
  .c-filter {
    padding: 40px 52px 50px;
  }
}
@media (min-width: 1440px) {
  .c-filter__top {
    margin-bottom: 54px;
  }
  .c-filter__bottom {
    margin-top: 70px;
  }
}

.c-filter__tax-list {
  color: var(--clr-secondary);
}

.c-dialog__close,
.c-filter__taxname {
  min-width: var(--left-col);
}

#dialog-work-filter {
  display: flex;
  align-items: flex-end;
}
#dialog-work-filter::before {
  background: rgba(255, 255, 255, 0.8);
}
#dialog-work-filter .c-dialog__panel {
  width: auto;
}
#dialog-work-filter .c-dialog__body {
  height: auto;
  padding: 0;
}

#load-more-projects {
  padding: 14px 18px;
  margin-top: 60px;
}

body:has(dialog#dialog-work-filter[open]) .trigger-filter {
  opacity: 0;
}

.c-pchead {
  --bg-color: #f2ebe2;
  --pt: clamp(165px, 20vw, 343px);
  --pb: clamp(40px,10vw,143px);
}
.c-pchead .head {
  width: 100%;
  max-width: min(44vw, 640px);
}
.c-pchead .text {
  --direction: column;
  --gapx: clamp(32px, 4vw, 72px);
}
.c-pchead .desc br {
  display: block;
}
.c-pchead p + h3 {
  margin-top: 2em;
}
.c-pchead p {
  line-height: 1.625;
}
.c-pchead .desc h3 {
  color: #9b907d;
}
.c-pchead .desc h3:before {
  background: currentColor;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: var(--dot-size, 5px);
  margin-right: var(--dot-spacing, 10px);
  vertical-align: middle;
  width: var(--dot-size, 5px);
}
.c-pchead__bottom {
  --gapy: 40px;
}
.c-pchead .subhead {
  max-width: 410px;
}
.c-pchead__top {
  border-bottom: 2px solid #9B907D;
  padding-bottom: clamp(32px, 8vw, 127px);
  margin-bottom: clamp(32px, 8vw, 143px);
  --gapx: 20px;
  --gapy: 20px;
}
@media (min-width: 768px) {
  .c-pchead__top {
    --wrap: nowrap;
    --justify: space-between;
    --align: flex-end;
  }
}
@media (min-width: 1024px) {
  .c-pchead .subhead {
    max-width: 100%;
  }
  .c-pchead :last-child {
    margin-bottom: 0;
  }
  .c-pchead .subtitle {
    margin-bottom: 0.5em;
    width: 100%;
  }
  .c-pchead .c-media-wrap img {
    min-height: min(50vw, 698px);
  }
  .c-pchead__bottom {
    --direction: row-reverse;
    --gapy: 20px;
    --wrap: nowrap;
  }
  .c-pchead .subtitle, .c-pchead__bottom > div {
    max-width: 710px;
    max-width: min(39vw, 710px);
  }
}

.c-sfwork {
  --pt: clamp(40px,5.5vw,90px);
  --pb: clamp(65px,5.75vw,100px);
}
.c-sfwork__top {
  --gapx: 20px;
  margin-bottom: clamp(35px, 2.5vw, 38px);
}
.c-sfwork__title {
  margin-bottom: 0;
}
.c-sfwork .swiper {
  margin-left: 0;
}
.c-sfwork .swiper-slide {
  height: clamp(257px, 34vw, 650px);
  position: relative;
  color: #fff;
}
.c-sfwork .swiper-scrollbar {
  position: relative;
}
.c-sfwork .is-bg {
  z-index: -1;
}
.c-sfwork .c-taxos {
  pointer-events: none;
  filter: brightness(0) invert(1);
  margin-top: 25px;
}
@media (max-width: calc(1024px - 1px)) {
  .c-sfwork .c-taxos {
    display: none;
  }
}
@media (min-width: 1024px) {
  .c-sfwork {
    position: relative;
  }
  .c-sfwork .swiper-button {
    --swiper-button-size: clamp(50px,7.75vw,147px);
    position: absolute;
    top: 31.75vw;
    transform: translateY(-50%);
    background: #F2EBE2;
    border-color: #F2EBE2;
    border-radius: 50%;
  }
  .c-sfwork .swiper-button:before {
    background-image: url("./assets/imgs/swiper-arrow-icn.svg");
    background-size: 24px auto;
  }
  .c-sfwork .swiper-button:hover {
    background-color: #fff;
    border-color: #fff;
  }
  .c-sfwork .swiper-button-disabled {
    opacity: 0;
  }
  .c-sfwork .swiper-next {
    right: min(6vw, 108px);
  }
  .c-sfwork .swiper-prev {
    left: min(6vw, 108px);
  }
}
@media (min-width: 1280px) {
  .c-sfwork .swiper-button {
    top: 30.75vw;
  }
}
@media (min-width: 1440px) {
  .c-sfwork .o-wrapper {
    padding-right: min(15.66%, 292px);
  }
  .c-sfwork .swiper-button:before {
    background-size: 30px auto;
  }
}
@media (min-width: 1600px) {
  .c-sfwork .swiper-button {
    top: min(32.5vw, 637px);
  }
}

.c-sfwork__card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  padding: clamp(19px, 3.75vw, 33px) clamp(13px, 2.75vw, 37px);
  cursor: pointer;
}
.c-sfwork__card:after {
  --overlay: linear-gradient(0deg, rgba(0, 0, 0, 0.64), transparent);
  height: 60%;
  top: auto;
  bottom: 0;
}
.c-sfwork__card .c-sfwork__title,
.c-sfwork__card .c-taxos {
  position: relative;
  z-index: 2;
}
.c-sfwork__card:hover img {
  transform: scale(1.1);
}

@keyframes arwRotate {
  0% {
    background-position: 50% 50%;
  }
  50% {
    background-position: 150% 150%;
  }
  51% {
    background-position: -150% -150%;
  }
  70% {
    background-position: -150% -150%;
  }
  100% {
    background-position: 50% 50%;
  }
}
.c-next-cta {
  --bg-color: #F2EBE2;
  --pt: clamp(47px, 3.85vw, 72.5px);
  --pb: clamp(30px, 3.5vw, 67px);
  width: 100%;
}
.c-next-cta .fs50 {
  font-size: clamp(25px, 2.6041666667vw, 50px);
}
.c-next-cta__title {
  font-size: clamp(13px, 1.5625vw, 30px);
}
.c-next-cta__inwrap {
  position: relative;
  margin-left: 0;
  max-width: clamp(1280px, 90.2083333333vw, 1680px);
}
.c-next-cta__btn {
  background: #fff;
  position: absolute;
  width: clamp(85px, 10vw, 161px);
  height: clamp(85px, 10vw, 161px);
  border-radius: 50%;
  top: var(--pt);
  right: 26px;
  font-size: 0;
  overflow: hidden;
}
.c-next-cta__btn:hover:after {
  animation: arwRotate 0.45s ease-in-out;
}
.c-next-cta__btn:after {
  content: "";
  background: url(./assets/imgs/arrow-icon.svg) no-repeat;
  background-size: 40%;
  background-position: 50% 50%;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transform: rotate(-90deg);
  filter: brightness(0);
}
.c-next-cta__img {
  height: clamp(216px, 55vw, 450px);
  margin-top: 96px;
}
@media (min-width: 768px) {
  .c-next-cta__img {
    margin-top: 0;
    width: min(45.75%, 710px);
    order: -1;
  }
  .c-next-cta__inwrap {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 40px;
    padding-left: min(4.85vw, 92px);
  }
  .c-next-cta__link-wrap {
    width: 40%;
    display: flex;
    flex-direction: column;
    column-gap: 20px;
    justify-content: space-between;
  }
}
@media (min-width: 1440px) {
  .c-next-cta__btn {
    right: 56px;
  }
  .c-next-cta__btn:after {
    background-size: 42px auto;
  }
}

.c-proj__hero {
  min-height: clamp(470px, 73.241vh, 791px);
  background: #666;
}
.c-proj__hero img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-proj__hero.in {
  animation: clipTotop 0.2s ease;
}
.c-proj__hero:after {
  --overlay: rgba(0,0,0,0.4);
  mix-blend-mode: multiply;
}
.c-proj__title {
  margin: 0 0 8px;
}
.c-proj .location {
  margin: 0 0 20px;
}
.c-proj .scope-title {
  margin: 36px 0 12px;
}
.c-proj .short-desc p:last-child {
  margin-bottom: 0;
}
.c-proj .work-desc li {
  list-style: none;
}
.c-proj__details {
  margin-block: 33px 40px;
  position: relative;
  z-index: 2;
}
.c-proj .c-learn-link {
  margin: 33px 0 0;
}
.c-proj__gallery__wrap {
  margin: 50px 0 0;
  --gapy: clamp(30px, 8vw, 143px);
}
.c-proj__gallery {
  --justify: space-between;
  --gapx: 2.75vw;
}
.c-proj .c-media-wrap {
  max-width: calc((100% - var(--gapx)) / 2);
  width: 100%;
  padding-bottom: 51.25vw;
  min-height: 214px;
}
.c-proj .c-media-wrap > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-proj .c-media-wrap:nth-child(3n) {
  max-width: 100%;
  padding-bottom: min(50.25vw, 585px);
  min-height: 198px;
}
@media (min-width: 1280px) {
  .c-proj__details {
    align-items: flex-start;
    margin-block: 76px 143px;
  }
  .c-proj__info {
    max-width: 418px;
    position: sticky;
    top: 32px;
    max-height: 80vh;
    padding-bottom: 40px;
    left: 0;
    overflow: visible;
    scroll-behavior: smooth;
  }
  .c-proj__info::-webkit-scrollbar {
    display: none;
  }
  .c-proj__gallery__wrap {
    max-width: calc(100% - 418px);
    padding-left: clamp(32px, 10vw, 166px);
    margin-top: 0;
    position: relative;
    z-index: -4;
  }
  .c-proj .c-media-wrap {
    padding-bottom: min(28.25vw, 540px);
  }
}
@media (min-width: 1800px) {
  .c-proj__details {
    margin-top: 95px;
  }
  .c-proj .short-desc {
    margin-top: 30px;
  }
  .c-proj .scope-title,
  .c-proj .c-learn-link {
    margin-top: 44px;
  }
}

.c-bar {
  width: clamp(27px, 4.75vw, 80px);
  height: clamp(73px, 16.5vw, 217px);
  background: var(--bar-color);
}
.c-bar.in {
  transition-delay: var(--delay, 100ms);
  animation: clipTotop 2s ease;
}

.c-bar-wrap {
  --justify: space-between;
  --gapx: 20px;
  margin: 20px 0;
}
@media (min-width: 768px) {
  .c-bar-wrap {
    margin: -15px 0 13px;
  }
}

.related-projects {
  --pt: 56px;
  --pb: 73px;
  --px: 0;
  --bg-color: #F2EBE2;
}
.related-projects .horizontal-wrap {
  overflow: auto;
}
@media (min-width: 768px) {
  .related-projects {
    --pt: min(271px, 14vw);
    --pb: min(276px, 14vw);
  }
}
@media (min-width: 1024px) {
  .related-projects .horizontal-wrap {
    overflow: hidden;
  }
  .related-projects .horizontal-track {
    min-height: 100vh;
  }
  .related-projects .horizontal-track a {
    margin-top: auto;
    margin-bottom: auto;
  }
}

.related-project {
  width: clamp(202px, 24vw, 418px);
  margin-right: clamp(46px, 12vw, 166px);
  text-align: center;
}
.related-project:last-child {
  margin-right: 0;
}
.related-project:before {
  content: attr("data-title");
  display: block;
  font-size: 16px;
}
.related-project .has-bg {
  padding-bottom: clamp(262px, 32vw, 539px);
}
.related-project img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.related-project.in {
  animation: clipTotop 2s ease;
}

.dialog-scope .c-dialog-top {
  --wrap: nowrap;
  margin-bottom: auto;
  padding-inline: clamp(32px, 12vw, 60px);
}
.dialog-scope .c-proj__process {
  position: relative;
  padding-inline: clamp(32px, 12vw, 60px);
}
.dialog-scope .swiper-button {
  --swiper-button-size: clamp(50px, 7.75vw, 147px);
  position: absolute;
  top: calc(max(clamp(320px, 27vw, 503px), clamp(320px, 48vh, 510px)) / 2);
  transform: translateY(-50%);
  background-color: #fff;
  border-color: #fff;
  border-radius: 50%;
  z-index: 7;
}
.dialog-scope .swiper-button:before {
  background-image: url("./assets/imgs/swiper-arrow-icn.svg");
  background-size: 24px auto;
}
.dialog-scope .swiper-button:hover {
  background: #F2EBE2;
  border-color: #F2EBE2;
}
.dialog-scope .swiper-button-disabled {
  opacity: 0;
}
.dialog-scope .swiper-next {
  right: 20px;
}
.dialog-scope .swiper-prev {
  left: 20px;
}
@media (min-width: 1440px) {
  .dialog-scope .swiper-button:before {
    background-size: 30px auto;
  }
}
.dialog-scope[open] .c-dialog__body {
  background: #D9D0C3;
  opacity: 1;
}
.dialog-scope .c-dialog__body {
  padding-inline: 0;
  row-gap: 32px;
  opacity: 0;
  transition: 0.5s ease;
}
.dialog-scope .c-dialog__panel {
  width: 100%;
}
@media (min-width: 1024px) {
  .dialog-scope .c-icn-plus--close {
    --plus-icn-size: 44px;
  }
}
@media (min-width: 1800px) {
  .dialog-scope .c-icn-plus--close {
    --plus-icn-size: 56px;
  }
}

.process-card {
  margin-right: 20px;
  width: clamp(240px, 50.25vw, 710px);
}
.process-card .title {
  margin-top: 20px;
}
.process-card .c-img-wrap {
  padding-bottom: clamp(320px, 27vw, 503px);
  min-height: clamp(320px, 48vh, 510px);
  width: 100%;
}
.process-card .c-img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

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