/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, 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;
  font-size: inherit;
}

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

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

@font-face {
  font-family: "YoonGothic";
  src: url("../fonts/YoonGothic720.woff2") format("woff2"), url("../fonts/YoonGothic720.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "YoonGothic";
  src: url("../fonts/YoonGothic740.woff2") format("woff2"), url("../fonts/YoonGothic740.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "YoonGothic";
  src: url("../fonts/YoonGothic750.woff2") format("woff2"), url("../fonts/YoonGothic750.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "YoonGothic";
  src: url("../fonts/YoonGothic770.woff2") format("woff2"), url("../fonts/YoonGothic770.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "YoonGothic";
  src: url("../fonts/YoonGothic780.woff2") format("woff2"), url("../fonts/YoonGothic780.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "YoonGothic";
  src: url("../fonts/YoonGothic790.woff2") format("woff2"), url("../fonts/YoonGothic790.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Averta";
  src: url("../fonts/AvertaPE-Regular.woff2") format("woff2"), url("../fonts/AvertaPE-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Averta";
  src: url("../fonts/AvertaPE-Semibold.woff2") format("woff2"), url("../fonts/AvertaPE-Semibold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Averta";
  src: url("../fonts/AvertaPE-Bold.woff2") format("woff2"), url("../fonts/AvertaPE-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
html {
  font-family: "YoonGothic", sans-serif;
  font-size: 16px;
  letter-spacing: -0.02em;
  font-size-adjust: none;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  word-break: keep-all;
  color: #000;
}

a {
  text-decoration: none;
  color: #000;
}

.font-en,
.font-averta {
  font-family: "Averta", "YoonGothic", sans-serif !important;
  letter-spacing: 0em;
}

.font-w200 {
  font-weight: 200 !important;
}

.font-w300 {
  font-weight: 300 !important;
}

.font-w400 {
  font-weight: 400 !important;
}

.font-w500 {
  font-weight: 500 !important;
}

.font-w600 {
  font-weight: 600 !important;
}

.font-w700 {
  font-weight: 700 !important;
}

.font-w800 {
  font-weight: 800 !important;
}

html {
  font-size: clamp(0.75rem, 1.5640273705vw, 1rem);
  font-weight: 300;
}

a {
  font-family: inherit;
  color: inherit;
}

.font--txt {
  font-size: 1rem;
  line-height: 1.9em;
}

.font--txt-lg {
  font-size: 1.2rem;
  line-height: 1.8em;
}

.fs--title-sm {
  font-size: clamp(1rem, 1.6666666667vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.025em;
}

.fs--desc-lg {
  font-size: clamp(2rem, 3.2291666667vw, 3.875rem);
  font-weight: 600;
  letter-spacing: -0.0625em;
  line-height: 1.6;
}

.fs--desc-md {
  font-size: clamp(1.625rem, 2.6041666667vw, 3.125rem);
  font-weight: 600;
  letter-spacing: -0.0625em;
  line-height: 1.6;
}

.fs--desc-sm {
  font-size: clamp(1.125rem, 1.25vw, 1.5rem);
  font-weight: 400;
  line-height: 2;
}

::-webkit-scrollbar {
  width: 0px;
  height: 0px;
  background-color: rgb(0, 0, 0);
}

::-webkit-scrollbar-thumb {
  width: 0px;
  height: 0px;
  background-color: rgba(255, 255, 255, 0.35);
}

body {
  background: #101010;
}
body:after {
  position: fixed;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: 2997;
}
body .wrapper {
  opacity: 0;
}
body.ready .wrapper {
  opacity: 1;
}

.no-page-trans body:after {
  display: none;
}

.container {
  padding: 0 clamp(2rem, 3.65vw, 80px);
}
@media screen and (max-width: 500px) {
  .container {
    padding: 0;
  }
}
.container.container-boxed {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 clamp(2rem, 3.65vw, 80px);
}
.container.container-boxed.__sm {
  max-width: 1440px;
}
.container.container-boxed.__xs {
  max-width: 1257px;
}

.wrapper {
  background: #101010;
  position: relative;
  z-index: 2;
}

#main {
  min-height: 100vh;
  min-height: 100svh;
  background: #101010;
  z-index: 2;
  position: relative;
  overflow: hidden;
}
#main > .elementor {
  overflow: hidden;
}

.mb--0 {
  margin-bottom: 0em !important;
}

.mt--0 {
  margin-top: 0em !important;
}

.mb--1 {
  margin-bottom: 0.5em !important;
}

.mt--1 {
  margin-top: 0.5em !important;
}

.mb--2 {
  margin-bottom: 1em !important;
}

.mt--2 {
  margin-top: 1em !important;
}

.mb--3 {
  margin-bottom: 1.5em !important;
}

.mt--3 {
  margin-top: 1.5em !important;
}

.mb--4 {
  margin-bottom: 2em !important;
}

.mt--4 {
  margin-top: 2em !important;
}

.mb--5 {
  margin-bottom: 2.5em !important;
}

.mt--5 {
  margin-top: 2.5em !important;
}

.mb--6 {
  margin-bottom: 3em !important;
}

.mt--6 {
  margin-top: 3em !important;
}

.mb--7 {
  margin-bottom: 3.5em !important;
}

.mt--7 {
  margin-top: 3.5em !important;
}

.mb--8 {
  margin-bottom: 4em !important;
}

.mt--8 {
  margin-top: 4em !important;
}

.mb--9 {
  margin-bottom: 4.5em !important;
}

.mt--9 {
  margin-top: 4.5em !important;
}

@media screen and (max-width: 1023px) {
  .mb--0--t {
    margin-bottom: 0em !important;
  }
  .mt--0--t {
    margin-top: 0em !important;
  }
  .mb--1--t {
    margin-bottom: 0.5em !important;
  }
  .mt--1--t {
    margin-top: 0.5em !important;
  }
  .mb--2--t {
    margin-bottom: 1em !important;
  }
  .mt--2--t {
    margin-top: 1em !important;
  }
  .mb--3--t {
    margin-bottom: 1.5em !important;
  }
  .mt--3--t {
    margin-top: 1.5em !important;
  }
  .mb--4--t {
    margin-bottom: 2em !important;
  }
  .mt--4--t {
    margin-top: 2em !important;
  }
  .mb--5--t {
    margin-bottom: 2.5em !important;
  }
  .mt--5--t {
    margin-top: 2.5em !important;
  }
  .mb--6--t {
    margin-bottom: 3em !important;
  }
  .mt--6--t {
    margin-top: 3em !important;
  }
  .mb--7--t {
    margin-bottom: 3.5em !important;
  }
  .mt--7--t {
    margin-top: 3.5em !important;
  }
  .mb--8--t {
    margin-bottom: 4em !important;
  }
  .mt--8--t {
    margin-top: 4em !important;
  }
  .mb--9--t {
    margin-bottom: 4.5em !important;
  }
  .mt--9--t {
    margin-top: 4.5em !important;
  }
}
@media screen and (max-width: 500px) {
  .mb--0--m {
    margin-bottom: 0em !important;
  }
  .mt--0--m {
    margin-top: 0em !important;
  }
  .mb--1--m {
    margin-bottom: 0.5em !important;
  }
  .mt--1--m {
    margin-top: 0.5em !important;
  }
  .mb--2--m {
    margin-bottom: 1em !important;
  }
  .mt--2--m {
    margin-top: 1em !important;
  }
  .mb--3--m {
    margin-bottom: 1.5em !important;
  }
  .mt--3--m {
    margin-top: 1.5em !important;
  }
  .mb--4--m {
    margin-bottom: 2em !important;
  }
  .mt--4--m {
    margin-top: 2em !important;
  }
  .mb--5--m {
    margin-bottom: 2.5em !important;
  }
  .mt--5--m {
    margin-top: 2.5em !important;
  }
  .mb--6--m {
    margin-bottom: 3em !important;
  }
  .mt--6--m {
    margin-top: 3em !important;
  }
  .mb--7--m {
    margin-bottom: 3.5em !important;
  }
  .mt--7--m {
    margin-top: 3.5em !important;
  }
  .mb--8--m {
    margin-bottom: 4em !important;
  }
  .mt--8--m {
    margin-top: 4em !important;
  }
  .mb--9--m {
    margin-bottom: 4.5em !important;
  }
  .mt--9--m {
    margin-top: 4.5em !important;
  }
}
.bg-color-blue {
  background: #030FFD !important;
}

.section-bg-light {
  color: #fff;
  background: #000;
}

#cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  display: none;
  z-index: 1998;
  mix-blend-mode: difference;
}
#cursor .circle,
#cursor .dot {
  position: fixed;
  top: 0;
  left: 0;
}
#cursor i {
  display: block;
  transition: background-color 100ms cubic-bezier(0.785, 0.135, 0.15, 0.86), opacity 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86), width 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86), height 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#cursor .dot i {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  transform: translate(-50%, -50%);
  background: var(--key-color, #fff);
}
#cursor .circle {
  background: #000;
}
#cursor .circle i {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: 5.375rem;
  height: 5.375rem;
  border: 1px solid #fff;
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}
#cursor[data-status=circle] .dot i, #cursor[data-status=drag] .dot i {
  width: 5.375rem;
  height: 5.375rem;
}
#cursor[data-status=circle] .circle i, #cursor[data-status=drag] .circle i {
  opacity: 0;
  width: 0;
  height: 0;
}
#cursor[data-status=drag] {
  mix-blend-mode: initial;
}
#cursor[data-status=drag] .dot i {
  width: 6.5rem;
  height: 6.5rem;
  background-image: url(../img/icon/cursor-drag.svg);
  background-position: 50% 50%;
  background-size: contain;
}
#cursor[data-status=next], #cursor[data-status=prev] {
  mix-blend-mode: initial;
}
#cursor[data-status=next] .circle, #cursor[data-status=prev] .circle {
  display: none;
}
#cursor[data-status=next] .dot, #cursor[data-status=prev] .dot {
  border: 0;
}
#cursor[data-status=next] .dot i, #cursor[data-status=prev] .dot i {
  width: 6.5rem;
  height: 6.5rem;
  background: url(../img/icon/cursor-next.svg) 50% 50% no-repeat;
  background-size: contain;
}
#cursor[data-status=prev] .dot i {
  transform: scaleX(-1);
}
#cursor[data-status=dot] .dot i {
  width: 2.625rem;
  height: 2.625rem;
}
#cursor[data-status=dot] .circle i {
  opacity: 0;
  width: 0;
  height: 0;
}
#cursor[data-status=close] .circle {
  display: none;
}
#cursor[data-status=close] .dot {
  border: 0;
}
#cursor[data-status=close] .dot i {
  width: 5.375rem;
  height: 5.375rem;
  background: #fff 50% 50% no-repeat url(../img/icon/x.svg);
  background-size: contain;
}
#cursor[data-status=plus] .circle {
  display: none;
}
#cursor[data-status=plus] .dot {
  border: 0;
}
#cursor[data-status=plus] .dot i {
  width: 5.375rem;
  height: 5.375rem;
  background: #fff 50% 50% no-repeat url(../img/icon/x.svg);
  background-size: contain;
  transform: translate(-50%, -50%) rotate(45deg);
}
#cursor[data-color=true] {
  mix-blend-mode: darken;
}
#cursor[data-color=about] {
  mix-blend-mode: darken;
  --key-color: #F3EB05;
}
#cursor[data-color=projects] {
  mix-blend-mode: darken;
  --key-color: #E23998;
}
#cursor[data-color=rnd] {
  mix-blend-mode: darken;
  --key-color: #A620FB;
}
#cursor[data-color=contact] {
  mix-blend-mode: darken;
  --key-color: #030FFD;
}

@media (pointer: fine) {
  #cursor {
    display: block;
  }
  html * {
    cursor: none !important;
  }
  .elementor-editor-active #cursor {
    display: none;
  }
  .elementor-editor-active * {
    cursor: auto !important;
  }
}
#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  color: #fff;
  transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  padding: 3.5rem clamp(2rem, 3.65vw, 80px);
}
.site-header.hide {
  transform: translateY(-120px);
}
.site-header a {
  color: inherit;
}
@media screen and (max-width: 1440px) {
  .site-header {
    padding: 2.5rem clamp(2rem, 3.65vw, 80px);
  }
}
@media screen and (max-width: 500px) {
  .site-header {
    padding: 8vw clamp(2rem, 3.65vw, 80px);
  }
}
.site-header .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
  height: clamp(57.6px, 9.3872229465vw, 72px);
}
.site-header .brand {
  position: relative;
  z-index: 1000;
}
.site-header .brand a {
  display: block;
  position: relative;
  transition: opacity 300ms, visibility 300ms;
}
.site-header .brand svg {
  display: block;
  width: clamp(60px, 13.037809648vw, 100px);
  height: auto;
}
.site-header .header-utils {
  display: flex;
  align-items: center;
}
.site-header .header-utils .btn-toggle-menu {
  transform: translateX(25%);
}
.site-header .header-utils .btn-toggle-menu a,
.site-header .header-utils .btn-toggle-menu svg {
  display: block;
}
.site-header .header-utils .btn-toggle-menu svg {
  width: auto;
  height: clamp(57.6px, 9.3872229465vw, 72px);
}
.site-header .header-utils .btn-toggle-menu svg .bg {
  fill: rgba(255, 255, 255, 0);
}
.site-header .header-utils .btn-toggle-menu svg .bg,
.site-header .header-utils .btn-toggle-menu svg .line {
  transition: fill 200ms;
}
@media screen and (max-width: 1023px) {
  .site-header .header-utils .btn-inquiry {
    display: none;
  }
}

#header[data-theme=light] .site-header {
  color: #000;
}
#header[data-theme=light] .btn-inquiry {
  --key-color: #000;
  --rev-color: #fff;
}

#header[data-theme=dark] .site-header {
  color: #fff;
}

@media screen and (max-width: 1023px) {
  #header[data-status=opaque] .site-header .brand a {
    opacity: 0;
    visibility: hidden;
  }
  #header[data-status=opaque] .site-header .header-utils .btn-toggle-menu .bg {
    fill: #fff;
  }
  #header[data-status=opaque] .site-header .header-utils .btn-toggle-menu .line {
    fill: #000;
  }
}

.nav-open {
  overflow: hidden !important;
}

#nav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  z-index: 1000;
  background-color: #fff;
  box-sizing: border-box;
  padding: 3.5rem clamp(2rem, 3.65vw, 80px);
  color: #000;
  opacity: 0;
  visibility: hidden;
  clip-path: circle(var(--circle-r) at var(--circle-x) var(--circle-y));
  will-change: clip-path, opacity, visibility;
  transform: translate3d(0, 0, 0);
}
#nav.active {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 1440px) {
  #nav {
    padding: 2.5rem clamp(2rem, 3.65vw, 80px);
  }
}
@media screen and (max-width: 1257px) {
  #nav {
    padding: 2.5rem clamp(2.5rem, 5.6vw, 5.6rem);
  }
}
@media screen and (max-width: 500px) {
  #nav {
    padding: 8vw clamp(2rem, 3.65vw, 80px);
  }
}

.nav-header {
  position: relative;
}
.nav-header.hide {
  transform: translateY(-120px);
}
.nav-header a {
  color: #fff;
}
.nav-header .nav-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
  height: clamp(57.6px, 9.3872229465vw, 72px);
}
.nav-header .btn-close {
  transform: translateX(25%);
  margin-left: auto;
}
.nav-header .btn-close a,
.nav-header .btn-close svg {
  display: block;
}
.nav-header .btn-close svg {
  width: auto;
  height: clamp(57.6px, 9.3872229465vw, 72px);
}

.nav-content {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  margin-top: 4vh;
}
.nav-content .gnb {
  font-size: clamp(3.75rem, 5vw, 6rem);
  width: 50vw;
  color: #000;
}
@media screen and (max-width: 1257px) {
  .nav-content .gnb {
    width: 100vw;
  }
}
.nav-content .gnb ul {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  align-items: flex-start;
}
.nav-content .gnb ul li {
  overflow: hidden;
}
.nav-content .gnb a {
  color: #000;
  font-weight: 700;
  display: block;
}

.nav-footer {
  display: flex;
  justify-content: flex-end;
}

#footer {
  overflow: hidden;
  z-index: 1;
  background: #fff;
  position: sticky;
  bottom: 0;
}
#footer .footer-inner {
  position: relative;
  box-sizing: border-box;
  padding: clamp(2rem, 3.65vw, 80px) clamp(2rem, 3.65vw, 80px);
  transform: translateY(var(--y-percent));
}
#footer .footer-content {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #footer .footer-content {
    flex-direction: column;
    gap: 3.5rem;
  }
}
#footer .footer-main {
  display: flex;
  flex-direction: column;
  gap: 10rem;
  flex: 1;
}
@media screen and (max-width: 767px) {
  #footer .footer-main {
    gap: 3.5rem;
  }
}
#footer .footer-main .footer-main-top,
#footer .footer-main .footer-main-bottom {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #footer .footer-main .footer-main-top,
  #footer .footer-main .footer-main-bottom {
    flex-direction: column;
    gap: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  #footer .footer-main .footer-main-bottom {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
#footer .brand {
  width: 25%;
}
#footer .brand a {
  display: block;
  position: relative;
  transition: opacity 300ms, visibility 300ms;
}
#footer .brand svg {
  display: block;
  width: clamp(60px, 13.037809648vw, 100px);
  height: auto;
}
#footer .footer-nav {
  font-size: clamp(1.75rem, 4.4965786901vw, 2.875rem);
  font-weight: 700;
  margin-right: auto;
}
#footer .footer-nav ul {
  display: flex;
  flex-direction: column;
  gap: 0.625em;
}
@media screen and (max-width: 767px) {
  #footer .footer-nav ul {
    gap: 0.6em;
  }
}
#footer .company-info {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
}
#footer .sns {
  font-size: 1.425rem;
  display: flex;
  gap: 1.8em;
}
#footer .copy {
  margin-right: auto;
  font-size: max(10px, 0.9rem);
}

button {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  margin: 0;
  font-family: inherit;
  border: 0;
  background: transparent;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
}

.__btn-flip {
  position: relative;
  display: inline-flex;
}
.__btn-flip:before {
  content: "";
  top: -0.5em;
  right: -0.5em;
  bottom: -0.5em;
  left: -0.5em;
  background-color: rgba(0, 0, 0, 0);
  position: absolute;
}
.__btn-flip .__label {
  display: block;
  overflow: hidden;
  position: relative;
}
.__btn-flip .__label span {
  transition: transform 300ms;
  display: flex;
  align-items: center;
  height: 1.5em;
}
.__btn-flip .__label span[data-label]:after {
  content: attr(data-label);
  position: absolute;
  left: 0;
  top: 100%;
}
.__btn-flip:hover .__label span {
  transform: translateY(-100%);
}

.btn-capsule {
  overflow: hidden;
  position: relative;
  border-radius: 4em;
  color: var(--key-color, #fff);
  padding: 1em 2em;
  border: solid 1px var(--key-color, #fff);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  line-height: 1;
}
.btn-capsule .btn-capsule-title {
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 2;
}
.btn-capsule .btn-capsule-title span {
  display: block;
  text-align: center;
  transform-origin: left top;
  color: var(--key-color, #fff);
  transition: color 0.2s, transform 0.4s;
}
.btn-capsule .btn-capsule-title span[data-text]:after,
.btn-capsule .btn-capsule-title span .__after {
  content: attr(data-text);
  display: block;
  position: absolute;
  top: 150%;
  left: 0;
  transform: skewY(5deg);
  transform-origin: left top;
  transition: transform 0.4s;
  color: var(--rev-color, #000);
}
.btn-capsule .btn-capsule-ripple {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  transform: translateZ(0);
  border-radius: inherit;
  color: var(--rev-color, #000);
}
.btn-capsule .btn-capsule-ripple span {
  display: block;
  width: 100%;
  height: 100%;
  transform: translateY(105%);
  border-radius: 50%;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0, 1), border-radius 0.5s cubic-bezier(0.4, 0, 0, 1);
  animation: none;
  background: var(--key-color, #fff);
  color: var(--rev-color, #000);
}
.btn-capsule.__inverse {
  --key-color: #000;
  --rev-color: #fff;
}

@media (hover: hover) {
  .btn-capsule:hover .btn-capsule-title span {
    transform: translateY(-150%) skewY(-7deg);
  }
  .btn-capsule:hover .btn-capsule-title span .__after,
  .btn-capsule:hover .btn-capsule-title span[data-text]:after {
    transform: skewY(7deg);
  }
  .btn-capsule:hover .btn-capsule-ripple span {
    border-radius: 0;
    transform: translateY(0);
    transition-duration: 0s, 0s;
    animation: btn-capsule--rounded-ripple-in 0.5s cubic-bezier(0.4, 0, 0, 1);
  }
}
@keyframes btn-capsule--rounded-ripple-in {
  0% {
    border-radius: 100%;
    transform: translateY(-105%) translateZ(0);
  }
  100% {
    border-radius: 0;
    transform: translateY(0) translateZ(0);
  }
}
.btn-more {
  --key-color: #fff;
  --border-color: rgba(255,255,255,.2);
  color: var(--key-color, #fff);
  gap: 1em;
  display: flex;
  align-items: center;
  font-size: clamp(1.125rem, 2.3460410557vw, 1.5rem);
}
.btn-more.__rev {
  --key-color: #000;
  --border-color: rgba(0,0,0,.6);
}
.btn-more svg {
  width: 2.6875em;
  overflow: visible;
  border: 1px solid var(--border-color, rgba(255, 255, 255, 0.2));
  height: auto;
  border-radius: 50%;
  display: block;
  transition: border-color 300ms;
}
.btn-more svg.__l {
  transform: rotate(90deg);
}
.btn-more svg.__r {
  transform: rotate(-90deg);
}
.btn-more svg .arrow {
  animation: arrow-down 2s infinite forwards;
}
@keyframes arrow-down {
  0% {
    transform: translateY(-2%);
  }
  50% {
    transform: translateY(8%);
  }
  100% {
    transform: translateY(-2%);
  }
}
.btn-more span {
  display: block;
  opacity: 0;
  transition: opacity 300ms;
  pointer-events: none;
  font-family: "Averta", "YoonGothic", sans-serif;
}
@media (hover: hover) {
  .btn-more:hover svg {
    border-color: rgba(255, 255, 255, 0);
  }
  .btn-more:hover span {
    opacity: 1;
  }
}
@media (hover: none) {
  .btn-more span {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .btn-more {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75em;
  }
}

.__btn-circle {
  position: relative;
  font-size: clamp(1.25rem, 1.5476190476vw, 1.625rem);
  width: 20.7692307692em;
  aspect-ratio: 1/1;
}
.__btn-circle canvas {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1023px) {
  .__btn-circle canvas {
    display: none;
  }
}
.__btn-circle .__label {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  color: #fff;
  transition: color 300ms;
  white-space: nowrap;
  text-align: center;
}
.__btn-circle .__label.__active {
  color: #000;
}

[data-device=mobile] .__btn-circle {
  border: 1px solid #fff;
  border-radius: 50%;
  width: 15.3846153846em;
}

.sub-content {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding: clamp(6.25rem, 19.550342131vw, 12.5rem) 0;
}
.sub-content .visual {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sub-content .visual .bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  height: 100lvh;
}
.sub-content .visual .bg canvas {
  display: block;
}
.sub-content section {
  position: relative;
  padding: clamp(5rem, 15.6402737048vw, 10rem) 0;
}
.sub-content section h2 {
  margin-bottom: 1.25em;
}
.sub-content section p {
  max-width: 1400px;
}
.sub-content section p span {
  display: inline-block;
}
.sub-content section p strong {
  font-weight: 600;
}
.sub-content section p .color-blue {
  color: #030ffd;
}
.sub-content section p .color-purple {
  color: #a620fb;
}
.sub-content section p .color-yellow {
  color: #fcf012;
}
.sub-content section p .color-red {
  color: #e23998;
}
.sub-content section .cta {
  margin-top: 4rem;
  display: flex;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  letter-spacing: -0.05em;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: all 400ms ease-out;
}
.modal.active {
  z-index: 999999;
  visibility: visible;
  opacity: 1;
}
.modal.active .modal-box {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 200ms;
}
.modal .modal-inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal .modal-box {
  width: min(44rem, 84vw);
  background: #fff;
  transition: transform 600ms cubic-bezier(0.77, 0, 0.175, 1), opacity 600ms;
  transform: translateY(10%);
  opacity: 0;
}
.modal .modal-box-header {
  padding: 3em min(3.5rem, 8vw);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 500px) {
  .modal .modal-box-header {
    align-items: flex-start;
  }
}
.modal .modal-box-header .__title {
  margin-right: 1em;
  font-size: 1.75em;
  letter-spacing: -0.05em;
  line-height: 1.8;
}
.modal .modal-box-header .__close {
  margin-left: auto;
  display: block;
  background: url(../img/icon/x.svg) 50% 50% no-repeat;
  background-size: contain;
  width: 1.875em;
  height: 1.875em;
  text-indent: -999em;
  overflow: hidden;
}
.modal .modal-box-body {
  max-height: max(25rem, 60vh);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  line-height: 1.7777777778em;
}
.modal .modal-box-body .__inner {
  padding: 0 min(3.5rem, 8vw) min(3.5rem, 8vw);
}
.modal .modal-box-body h5 {
  font-weight: 600;
  margin-bottom: 1em;
}
.modal .modal-box-body hr {
  border: 0;
  height: 1px;
  background: #d4d4d4;
  margin: 2.5em 0;
}
.modal .modal-box-body p, .modal .modal-box-body ol, .modal .modal-box-body ul {
  margin-bottom: 2.25em;
}
.modal .modal-box-body ol {
  list-style: decimal;
  list-style-position: inside;
}
@media screen and (max-width: 500px) {
  .modal .modal-box {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .modal .modal-box-body {
    max-height: 100%;
    flex: 1;
  }
}

.dcreativeleb-slider .swiper {
  overflow: visible;
}
.dcreativeleb-slider .swiper .swiper-slide {
  width: clamp(15rem, 44.4444444444vw, 40rem);
  margin-right: clamp(2rem, 3.65vw, 80px);
}
.dcreativeleb-slider .swiper .swiper-slide:nth-child(even) {
  margin-top: 5%;
}
.dcreativeleb-slider .swiper .swiper-slide:last-child {
  margin-right: 0;
}
.dcreativeleb-slider .swiper .swiper-slide img {
  display: block;
  width: 100%;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

#homeKV {
  height: 100vh;
  height: 100svh;
  position: relative;
  overflow: hidden;
}
#homeKV .__video {
  position: absolute;
  height: 100vh;
  height: 100svh;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 1;
}
#homeKV .__video .__m,
#homeKV .__video .__d {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#homeKV .__video .__m video,
#homeKV .__video .__d video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
#homeKV .__video .__m {
  display: none;
}
@media screen and (max-aspect-ratio: 3/4) {
  #homeKV .__video .__d {
    display: none;
  }
  #homeKV .__video .__m {
    display: block;
  }
}
#homeKV .title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  z-index: 2;
}
#homeKV .title .__lottie {
  width: clamp(280px, 35.4166666667vw, 680px);
}
@media screen and (max-width: 500px) {
  #homeKV .title .__lottie {
    width: calc(100vw - 50px);
  }
}
#homeKV .home-foot {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5rem;
  z-index: 2;
}

#homeRnd .rnd-slider {
  margin: 0 calc(clamp(1.5625rem, 3.9100684262vw, 2.5rem) * -1);
  margin-top: 6.25rem;
}
#homeRnd .rnd-slider .swiper {
  overflow: visible;
}
#homeRnd .rnd-slider .swiper.dragging {
  cursor: grabbing;
}
#homeRnd .rnd-slider .swiper.dragging .swiper-slide .item {
  transform: rotate(0deg) scale(1) !important;
}
#homeRnd .rnd-slider .swiper .swiper-slide {
  width: auto !important;
}
#homeRnd .rnd-slider .swiper .swiper-slide .item {
  padding: 0 clamp(1.5625rem, 3.9100684262vw, 2.5rem);
  box-sizing: border-box;
  transition: transform 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
  user-select: none;
}
#homeRnd .rnd-slider .swiper .swiper-slide .item img {
  display: block;
  width: clamp(19.53125rem, 48.8758553275vw, 31.25rem);
  pointer-events: none;
}
#homeRnd .rnd-slider .swiper .swiper-slide:nth-child(odd) .item {
  transform: rotate(10deg) scale(0.865);
}
#homeRnd .rnd-slider .swiper .swiper-slide:nth-child(even) .item {
  transform: rotate(-10deg) scale(0.865);
}

#homeContact .motion-area {
  display: flex;
}
#homeContact .motion-area p {
  display: inline-flex;
  padding: 0.2em 0;
  margin: -0.2em 0;
  font-size: clamp(5rem, 15.2492668622vw, 9.75rem);
  letter-spacing: -0.01em;
  line-height: 1;
  font-weight: 700;
}
@media (hover: hover) {
  #homeContact .motion-area p {
    background-color: #282828;
    background-size: auto 0%;
    background-origin: initial;
    background-repeat: no-repeat;
    background-image: url(../img/home/organic-animated-mask.svg);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    transition: background-size 0.2s ease;
  }
  #homeContact .motion-area p:hover {
    background-size: auto 140%;
  }
}
@media (hover: none) {
  #homeContact .motion-area p {
    color: #dfd808;
  }
}

#homeProjects h2 {
  margin-bottom: 2em;
}
#homeProjects .slider-wrapper {
  perspective: 1200px;
  position: relative;
}
#homeProjects .slider-wrapper .slider {
  --rotateX: 0deg;
  --rotateY: 0deg;
  --translateY: 0%;
  position: absolute;
  transform: rotateX(var(--rotateX)) rotateY(var(--rotateY)) translateY(-10%);
  transition: transform 100ms ease-out;
  right: 0;
  top: 0;
  width: clamp(29.6875rem, 39.5833333333vw, 47.5rem);
  overflow: hidden;
}
#homeProjects .slider-wrapper .slider .swiper {
  position: relative;
}
#homeProjects .slider-wrapper .slider .swiper img {
  max-width: initial;
  width: 100%;
}
#homeProjects .slider-wrapper .slider canvas {
  display: block;
  position: absolute;
  transform: translateY(var(--translateY));
  will-change: transform;
}
@media screen and (max-width: 767px) {
  #homeProjects .slider-wrapper .slider {
    opacity: 0;
    visibility: hidden;
  }
}
#homeProjects .project-list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625em;
  font-size: clamp(1.875rem, 4.375vw, 5.25rem);
}
@media screen and (max-width: 767px) {
  #homeProjects .project-list {
    gap: 1.25em;
  }
}
#homeProjects .project-list-item {
  position: relative;
}
#homeProjects .project-list-item .__title {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25em;
  row-gap: 0.2em;
  font-weight: 700;
  line-height: 1.2;
}
#homeProjects .project-list-item .__title .font-en {
  font-size: 1.15em;
}
#homeProjects .project-list-item .__title span {
  display: block;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #fff;
  position: relative;
}
#homeProjects .project-list-item .__title span:after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  transition: color 300ms, opacity 300ms;
  opacity: 0;
  color: #fff;
  -webkit-text-fill-color: initial;
  -webkit-text-stroke-width: initial;
}
#homeProjects .project-list-item .__tb {
  margin-bottom: -0.6em;
  display: none;
}
#homeProjects .project-list-item .__tb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: 50% var(--background-pos-y);
}
@media screen and (max-width: 767px) {
  #homeProjects .project-list-item .__tb {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  #homeProjects .project-list-item.active .__title span:after {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  #homeProjects .project-list-item .__title {
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    margin: 1.25em 0 1em;
  }
  #homeProjects .project-list-item .__title span {
    -webkit-text-fill-color: initial;
    -webkit-text-stroke-width: initial;
    color: #fff;
  }
  #homeProjects .project-list-item .__title span:after {
    opacity: 0;
    display: none;
  }
}

#aboutKV {
  height: 100vh;
  height: 100svh;
  position: relative;
  overflow: hidden;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  letter-spacing: -0.0325em;
  font-size: clamp(3.5rem, 4.9180327869vw, 7.5rem);
  pointer-events: none;
}
#aboutKV.__interactive {
  pointer-events: auto;
}
#aboutKV .__sentences {
  display: flex;
  flex-direction: column;
  gap: 0.2833333333em;
  justify-content: flex-start;
  align-items: flex-start;
  will-change: transform;
}
#aboutKV .__sentence {
  display: flex;
  white-space: nowrap;
  flex-wrap: nowrap;
  will-change: transform;
  position: relative;
  box-sizing: border-box;
  gap: 0;
}
#aboutKV .__sentence .__group {
  transform: translate3d(0, 0, 0);
  padding: 0 0.1666666667em;
  box-sizing: border-box;
}
#aboutKV .__sentence .__ghost {
  position: absolute;
  top: 0;
  left: 100%;
  display: flex;
  white-space: nowrap;
  flex-wrap: nowrap;
  will-change: transform;
  box-sizing: border-box;
  gap: 0;
}
#aboutKV .__word {
  color: var(--key-color, #fcf012);
}
@media screen and (hover: hover) {
  #aboutKV .__word:hover {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: max(1px, 0.0166666667em);
    -webkit-text-stroke-color: var(--key-color, #fcf012);
  }
}
#aboutKV [data-word=brand] {
  --key-color: #fcf012;
}
#aboutKV [data-word=people] {
  --key-color: #FC30AA;
}
#aboutKV [data-word=emotion] {
  --key-color: #AE3BFF;
}
#aboutKV .__anim {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity 300ms ease;
}
#aboutKV .__anim .__anim-inner img,
#aboutKV .__anim .__anim-inner svg {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: auto;
  transform: translate(-50%, -50%) scale(0.1, 0.1);
  transform-origin: 50% 50%;
  transition: transform 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
}
#aboutKV .__anim .__anim-inner .__people0 {
  width: 1.4083333333em;
}
#aboutKV .__anim .__anim-inner .__people1 {
  width: 1.3083333333em;
}
#aboutKV .__anim .__anim-inner .__people2 {
  width: 1.3083333333em;
}
#aboutKV .__anim .__anim-inner .__people-bg {
  width: 200vmax;
  transform: translate(-50%, -50%) scale(0);
  transition: none;
  opacity: 0.8;
}
#aboutKV .__anim .__anim-inner .__emotion0 {
  width: 1.3333333333em;
}
#aboutKV .__anim .__anim-inner .__emotion1 {
  width: 0.7833333333em;
}
#aboutKV .__anim .__anim-inner .__emotion2 {
  width: 0.75em;
}
#aboutKV .__anim.__active {
  opacity: 1;
}
#aboutKV .__anim.__active .__people-bg {
  transform: translate(-50%, -50%) scale(1.5);
  opacity: 0;
  transition: transform 500ms cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 500ms linear;
}
#aboutKV .__anim.__active .__people0 {
  transform: translate(-140%, -20%) scale(1, 1);
}
#aboutKV .__anim.__active .__people1 {
  transform: translate(10%, 20%) scale(1, 1);
}
#aboutKV .__anim.__active .__people2 {
  transform: translate(70%, -90%) scale(1, 1);
}
#aboutKV .__anim.__active .__emotion0 {
  transform: translate(-110%, -110%) scale(1, 1);
}
#aboutKV .__anim.__active .__emotion1 {
  transform: translate(100%, -120%) scale(1, 1);
}
#aboutKV .__anim.__active .__emotion2 {
  transform: translate(-50%, 30%) scale(1, 1);
}

.about-section .__grid {
  display: grid;
  font-size: clamp(1rem, 2.3460410557vw, 1.5rem);
  gap: 1.75em;
  grid-template-columns: 3fr 2fr;
}
@media screen and (max-width: 1023px) {
  .about-section .__grid {
    grid-template-columns: 1fr;
  }
}
.about-section .__grid + .__grid {
  margin-top: clamp(5rem, 11.7302052786vw, 7.5rem);
}
.about-section .__grid.__half {
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 1023px) {
  .about-section .__grid.__half {
    grid-template-columns: 1fr;
  }
}

.sub-content--about {
  padding-top: 0;
}

#aboutWhoWeAre .__gallery-wrapper {
  position: relative;
}
#aboutWhoWeAre .__gallery {
  position: relative;
  aspect-ratio: 640/860;
  overflow: hidden;
}
#aboutWhoWeAre .__gallery-slider {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  transform: translateY(var(--y-percent, 0%));
}
#aboutWhoWeAre .__gallery-slider .swiper {
  pointer-events: none;
}
#aboutWhoWeAre .__gallery-slider .swiper img {
  display: block;
  width: 100%;
  user-select: none;
  -webkit-user-drag: none;
}
#aboutWhoWeAre .__gallery-slider canvas {
  display: block;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
#aboutWhoWeAre .swiper-pagination {
  transform: rotate(90deg) translateY(calc(100% + 1em));
  left: 0;
  right: auto;
  width: auto;
  padding: 0.325em;
  font-size: 1.25rem;
  font-weight: 400;
  text-align: right;
  word-spacing: 0.25em;
}
#aboutWhoWeAre .__btn-circle {
  position: absolute;
  bottom: 0%;
  left: 100%;
  transform: translate(-44%, -20%);
}
@media screen and (max-width: 1023px) {
  #aboutWhoWeAre .__grid-gallery {
    margin-top: 2rem;
    gap: 3rem;
    display: flex;
    flex-direction: column-reverse;
  }
  #aboutWhoWeAre .__grid-gallery .__gallery-slider {
    transform: none;
  }
  #aboutWhoWeAre .__grid-gallery .__gallery-slider .swiper {
    pointer-events: auto;
  }
  #aboutWhoWeAre .__grid-gallery .swiper-pagination {
    transform: none;
    left: 0;
    right: 0;
    text-align: left;
    position: relative;
    padding: 1em 0;
  }
  #aboutWhoWeAre .__grid-gallery .__btn-circle {
    left: auto;
    right: auto;
    position: relative;
    margin: 3rem auto 0;
    transform: none;
  }
}

#aboutWhatWeDo .__what-we-do {
  display: grid;
  font-size: clamp(1.75rem, 3.5190615836vw, 2.25rem);
  gap: 1.1666666667em;
}
@media screen and (max-width: 1023px) {
  #aboutWhatWeDo .__what-we-do {
    gap: 2em;
  }
}
#aboutWhatWeDo .__what-we-do dl .__anim {
  display: none;
  margin: 0 auto 0.25em;
  width: 50vw;
  max-width: 320px;
}
#aboutWhatWeDo .__what-we-do dl dt button {
  font-weight: 400;
  transition: opacity 300ms;
  opacity: 0.25;
  color: inherit;
  font-size: 1em;
}
@media (hover: hover) {
  #aboutWhatWeDo .__what-we-do dl dt button:hover {
    opacity: 1;
  }
}
#aboutWhatWeDo .__what-we-do dl dd {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 500ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#aboutWhatWeDo .__what-we-do dl dd ul {
  overflow: hidden;
  display: grid;
  font-size: 0.625em;
  gap: 0.6em;
  opacity: 0.625;
  box-sizing: border-box;
  transition: padding 500ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#aboutWhatWeDo .__what-we-do dl dd ul li {
  box-sizing: border-box;
}
#aboutWhatWeDo .__what-we-do dl dd ul li:first-child {
  padding-top: 1em;
}
#aboutWhatWeDo .__what-we-do dl.__active dt button {
  font-weight: 600;
  opacity: 1;
}
#aboutWhatWeDo .__what-we-do dl.__active dd {
  grid-template-rows: 1fr;
}
@media screen and (max-width: 1023px) {
  #aboutWhatWeDo .__what-we-do dl {
    text-align: center;
  }
  #aboutWhatWeDo .__what-we-do dl dt .__anim {
    display: block;
  }
  #aboutWhatWeDo .__what-we-do dl dt button {
    font-weight: 600;
    opacity: 1;
  }
  #aboutWhatWeDo .__what-we-do dl dd {
    grid-template-rows: 1fr;
  }
}
#aboutWhatWeDo .__motions {
  transform: translate(20%, -60%);
}
@media screen and (max-width: 1023px) {
  #aboutWhatWeDo .__motions {
    display: none;
  }
}
#aboutWhatWeDo .__motions .__list {
  position: relative;
  transform: translateY(var(--y-percent, 0%));
  aspect-ratio: 1/1;
}
#aboutWhatWeDo .__motions .__list .__motion-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
#aboutWhatWeDo .__motions .__list .__motion-item.__active {
  opacity: 1;
  visibility: visible;
}

#aboutHowWeWork {
  overflow: hidden;
}
#aboutHowWeWork .__grid {
  grid-template-columns: 5fr 1fr;
  margin-top: 2rem;
}
@media screen and (max-width: 1023px) {
  #aboutHowWeWork .__grid {
    grid-template-columns: 1fr;
  }
}
#aboutHowWeWork .__how-we-work {
  position: relative;
  display: inline-flex;
  min-width: 100%;
}
#aboutHowWeWork .__how-we-work .__objs {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  height: 100%;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  #aboutHowWeWork .__how-we-work .__objs {
    display: none;
  }
}
#aboutHowWeWork .__how-we-work .__objs svg {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  fill: transparent;
  width: 30rem;
  height: auto;
  transition: opacity 300ms;
  opacity: 0;
  transform: translateX(-50%);
}
#aboutHowWeWork .__how-we-work .__objs svg.__active {
  opacity: 0.8;
}
#aboutHowWeWork .__how-we-work .__objs svg.__circle {
  left: 40%;
  bottom: 0%;
}
#aboutHowWeWork .__how-we-work .__objs svg.__rectangle {
  left: 50%;
  bottom: 15%;
}
#aboutHowWeWork .__how-we-work .__objs svg.__triangle {
  left: 60%;
  bottom: 30%;
}
#aboutHowWeWork .__how-we-work .swiper {
  overflow: visible;
  position: relative;
  z-index: 2;
  max-width: 100%;
}
#aboutHowWeWork .__how-we-work .swiper .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955) !important;
}
#aboutHowWeWork .__how-we-work .__slide-item {
  -webkit-user-drag: none;
  user-select: none;
  max-width: 100%;
  position: relative;
}
#aboutHowWeWork .__how-we-work .__slide-item .__icon {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 12rem;
  opacity: 0;
  transform: translate(60%, 10%);
}
@media screen and (max-width: 1023px) {
  #aboutHowWeWork .__how-we-work .__slide-item .__icon {
    opacity: 0.8;
  }
}
#aboutHowWeWork .__how-we-work .__slide-item .__title {
  font-size: clamp(3rem, 9.375vw, 11.25rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 0.5em;
}
#aboutHowWeWork .__how-we-work .__slide-item .__title small {
  font-size: max(1rem, 0.2em);
  font-weight: 300;
}
#aboutHowWeWork .__how-we-work .__slide-item .__title strong {
  display: block;
  position: relative;
  font-weight: 700;
  line-height: 1.1;
}
#aboutHowWeWork .__how-we-work .__slide-item .__title strong .__line {
  background: #fff;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0%;
  width: 0%;
  transition: width 400ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transform-origin: 0 0;
}
#aboutHowWeWork .__how-we-work .__slide-item p {
  font-size: clamp(1.125rem, 1.5277777778vw, 1.375rem);
  line-height: 2;
  margin-top: 1em;
  max-width: 30em;
  padding-bottom: 6em;
}
@media screen and (max-width: 1023px) {
  #aboutHowWeWork .__how-we-work .__slide-item p {
    padding-bottom: 0;
  }
}
#aboutHowWeWork .__how-we-work .swiper-slide-active .__slide-item .__title strong .__line {
  transition-delay: 600ms;
  width: 100%;
}
#aboutHowWeWork .__how-we-work .__next,
#aboutHowWeWork .__how-we-work .__prev {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  left: 0;
  z-index: 3;
}
@media screen and (max-width: 1023px) {
  #aboutHowWeWork .__how-we-work .__next,
  #aboutHowWeWork .__how-we-work .__prev {
    display: none;
  }
}
#aboutHowWeWork .__how-we-work .__next {
  left: 50%;
}

#aboutOurClients .__clients {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(4rem, 6vw, 120px);
  row-gap: clamp(4rem, 5vw, 100px);
  margin-top: clamp(5rem, 11.7302052786vw, 7.5rem);
}
@media screen and (max-width: 1023px) {
  #aboutOurClients .__clients {
    grid-template-columns: 1fr 1fr;
  }
}
#aboutOurClients .__clients .__client img {
  display: block;
  max-width: 100%;
  width: auto;
  opacity: 0.5;
  transition: opacity 400ms;
}
@media (hover: hover) {
  #aboutOurClients .__clients .__client:hover img {
    opacity: 1;
  }
}

#contactMain {
  color: #fff;
  padding: clamp(12.5rem, 23.4604105572vw, 15rem) 0 clamp(10rem, 19.550342131vw, 12.5rem);
}
#contactMain h1 {
  font-size: clamp(3.25rem, 6.3636363636vw, 8.75rem);
  display: flex;
  flex-direction: column;
  justify-items: flex-start;
  letter-spacing: -0.02em;
  line-height: 1.4;
  margin-bottom: 1em;
}
#contactMain h1 .__sentence {
  display: block;
  position: relative;
  font-weight: 700;
}
#contactMain h1 .__sentence span {
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
}
#contactMain h1 .__sentence:before {
  content: attr(data-txt);
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  -webkit-text-stroke-width: max(1px, 0.0142857143em);
  -webkit-text-stroke-color: #fff;
}
#contactMain .__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
  row-gap: 4rem;
}
@media screen and (max-width: 1023px) {
  #contactMain .__grid {
    grid-template-columns: 1fr;
  }
  #contactMain .__grid .__btn-circle {
    margin: 0 auto;
  }
}
#contactMain .__basic-info {
  display: grid;
  gap: 1.0769230769em;
  font-size: clamp(1.375rem, 1.8055555556vw, 1.625rem);
  line-height: 1.6;
}
#contactMain .__basic-info dl {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.25em;
}
#contactMain .__basic-info dl dt {
  font-size: 0.6153846154em;
  opacity: 0.4;
  font-weight: 500;
  letter-spacing: 0.02em;
}

#contactJob {
  padding: clamp(8.75rem, 17.5953079179vw, 11.25rem) 0 clamp(12.5rem, 23.4604105572vw, 15rem);
  background: #F3EB05;
}
#contactJob .job-list {
  margin: 5rem 0;
  border-top: 1px solid #000;
}
#contactJob .job-item {
  border-bottom: 1px solid #000;
  font-size: 1.25rem;
  text-align: left;
}
#contactJob .job-item.__active .__subject i:after {
  transform: translate(-50%, -50%) rotate(180deg);
}
#contactJob .job-item.__active .__description {
  grid-template-rows: 1fr;
}
#contactJob .job-item .__subject {
  padding: 1.6em 0;
  line-height: 1.25;
  display: flex;
  align-items: center;
  gap: 1em;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}
#contactJob .job-item .__subject i {
  display: block;
  width: 1.25em;
  min-width: 1.25em;
  height: 1.25em;
  position: relative;
  margin-left: auto;
}
#contactJob .job-item .__subject i:before, #contactJob .job-item .__subject i:after {
  width: 100%;
  background: #000;
  height: 1px;
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#contactJob .job-item .__subject i:after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 300ms ease;
}
#contactJob .job-item .__subject strong {
  position: relative;
  display: inline-flex;
  font-size: 1.825em;
}
#contactJob .job-item .__subject strong.__required:after {
  content: "";
  display: block;
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  background-color: #ff4646;
  margin-left: 0.25em;
}
#contactJob .job-item .__description {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#contactJob .job-item .__description .__accordion {
  overflow: hidden;
}
#contactJob .job-item .__description .__accordion .__inner {
  padding: 1em 0 3em;
  line-height: 2;
}
#contactJob .job-item .__description .__accordion .__inner > *:first-child {
  margin-top: 0;
}
#contactJob .job-item .__description h4 {
  font-weight: 700;
  margin-bottom: 0.5em;
  margin-top: 2em;
  font-size: 1.1em;
}
#contactJob .job-item .__description ul li {
  position: relative;
  padding-left: 1em;
}
#contactJob .job-item .__description ul li:before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}
#contactJob .cta {
  margin-top: 3.75rem;
}

#WEB_GL {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.post-list-wrapper {
  color: #fff;
  padding: clamp(12.5rem, 23.4604105572vw, 15rem) 0 clamp(12.5rem, 29.3255131965vw, 18.75rem);
}
.post-list-wrapper .__post-list-header {
  margin-bottom: clamp(5rem, 12.7287191726vw, 10rem);
}
.post-list-wrapper .__post-list-header .__title {
  font-size: clamp(5.25rem, 12.7287191726vw, 10rem);
  font-weight: 700;
  margin-bottom: 0.4em;
}
.post-list-wrapper .__post-list-header .__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6em;
  row-gap: 0.8em;
  margin-bottom: 1em;
  font-size: clamp(1.25rem, 2.0684168656vw, 1.625rem);
}
.post-list-wrapper .__post-list-header .__categories .__category {
  font-weight: 400;
  white-space: nowrap;
  line-height: 1.6;
  display: block;
}
.post-list-wrapper .__post-list-header .__categories .__category span {
  position: relative;
  display: block;
}
.post-list-wrapper .__post-list-header .__categories .__category span:after {
  height: 1px;
  background-color: #fff;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  transition: width 300ms ease;
}
.post-list-wrapper .__post-list-header .__categories .__category:hover span:after, .post-list-wrapper .__post-list-header .__categories .__category.__active span:after {
  width: 100%;
}

.__post-list {
  font-size: clamp(2rem, 4.1666666667vw, 3.75rem);
  -webkit-user-drag: none;
  user-select: none;
  display: grid;
  position: relative;
}
.__post-list .__col {
  display: none;
}
.__post-list .__col.__active {
  display: block;
}
@media screen and (max-width: 767px) {
  .__post-list {
    grid-template-columns: 1fr;
    gap: 2.3333333333em;
    direction: ltr;
  }
}
.__post-list canvas {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.__post-list .__col.__even {
  margin-top: 5em;
}
@media screen and (max-width: 767px) {
  .__post-list .__col.__even {
    margin-top: 0;
  }
}

.__post-list-item {
  position: relative;
}
.__post-list-item .__tb {
  position: relative;
  opacity: 0;
}
.__post-list-item .__tb img {
  display: block;
  width: 100%;
  -webkit-user-drag: none;
  user-select: none;
}
.__post-list-item .__tb .__hover {
  position: absolute;
  top: 0;
  left: 0;
}
.__post-list-item .__title {
  pointer-events: none;
  line-height: 1.2;
  white-space: nowrap;
}
.__post-list-item .__title span {
  display: inline-block;
  vertical-align: middle;
}
.__post-list-item .__title .font-en {
  font-size: 1.1825em;
}
@media screen and (max-width: 767px) {
  .__post-list-item .__title {
    white-space: normal;
  }
  .__post-list-item .__title strong {
    font-size: 1.1666666667em;
  }
}
.__post-list-item .__keywords {
  pointer-events: none;
}

.__post-list.__full {
  grid-template-columns: 1fr;
  gap: 5em;
  padding: 1em 0;
}
.__post-list.__full .__post-list-item .__title {
  position: absolute;
  bottom: 0.6666666667em;
  display: flex;
  justify-content: flex-start;
}
.__post-list.__full .__post-list-item .__title strong {
  display: block;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.__post-list.__full .__post-list-item .__title strong span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .__post-list.__full .__post-list-item .__title strong span {
    display: block;
  }
}
.__post-list.__full .__post-list-item .__keywords {
  font-size: 0.3333333333em;
  position: absolute;
  top: 100%;
  margin-top: 2.2em;
  transition: opacity 300ms;
  opacity: 0.3;
  line-height: 1.4;
}
@media (hover: hover) {
  .__post-list.__full .__post-list-item:hover .__keywords {
    opacity: 0;
  }
}
.__post-list.__full .__col:nth-child(even) {
  margin-top: 0;
}
.__post-list.__full .__col:nth-child(even) .__post-list-item {
  padding-right: 3.3333333333em;
  --color-per: 100%;
}
.__post-list.__full .__col:nth-child(even) .__post-list-item .__title {
  right: 0;
}
.__post-list.__full .__col:nth-child(even) .__post-list-item .__title strong {
  background-image: linear-gradient(90deg, #fff calc(var(--color-per, 100%) - var(--per, 0%)), var(--key-color, #030FFD) calc(var(--color-per, 100%) - var(--per, 0%)), var(--key-color, #030FFD) 100%);
}
.__post-list.__full .__col:nth-child(odd) .__post-list-item {
  padding-left: 3.3333333333em;
  --color-per: 100%;
}
.__post-list.__full .__col:nth-child(odd) .__post-list-item .__title {
  left: 0;
}
.__post-list.__full .__col:nth-child(odd) .__post-list-item .__title strong {
  background-image: linear-gradient(270deg, #fff calc(var(--color-per, 100%) - var(--per, 0%)), var(--key-color, #030FFD) calc(var(--color-per, 100%) - var(--per, 0%)), var(--key-color, #030FFD) 100%);
}
@media screen and (max-width: 767px) {
  .__post-list.__full {
    padding: 0;
  }
  .__post-list.__full .__col:nth-child(even) .__post-list-item,
  .__post-list.__full .__col:nth-child(odd) .__post-list-item {
    padding: 0;
  }
  .__post-list.__full .__col:nth-child(even) .__post-list-item .__title,
  .__post-list.__full .__col:nth-child(odd) .__post-list-item .__title {
    position: relative;
    margin-top: 0.5em;
    bottom: inherit;
  }
  .__post-list.__full .__col:nth-child(even) .__post-list-item .__title strong,
  .__post-list.__full .__col:nth-child(odd) .__post-list-item .__title strong {
    background: transparent !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    color: var(--key-color, #030FFD) !important;
  }
  .__post-list.__full .__col:nth-child(even) .__post-list-item .__keywords,
  .__post-list.__full .__col:nth-child(odd) .__post-list-item .__keywords {
    font-size: 1rem;
    position: relative;
    top: inherit;
    margin: 0.6em 0 0 0;
    opacity: 0.6;
  }
}

.__post-list.__half {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  direction: rtl;
  padding: 0 0.6666666667em;
}
@media screen and (max-width: 767px) {
  .__post-list.__half {
    gap: 50px;
  }
}
.__post-list.__half .__col:nth-child(3n) {
  --key-color: #f3eb05;
}
.__post-list.__half .__col:nth-child(3n+1) {
  --key-color: #e23998;
}
.__post-list.__half .__col:nth-child(3n+2) {
  --key-color: #a620fb;
}
.__post-list.__half .__post-list-item {
  --color-per: 65%;
  direction: ltr;
  padding-right: 2em;
}
.__post-list.__half .__post-list-item .__title {
  position: absolute;
  right: -0.9090909091em;
  bottom: 1.8181818182em;
  display: flex;
  font-size: 0.7333333333em;
}
.__post-list.__half .__post-list-item .__title strong {
  display: flex;
  flex-direction: column;
}
.__post-list.__half .__post-list-item .__title strong span {
  display: block;
  background-image: linear-gradient(90deg, #fff calc(var(--color-per, 100%) - var(--per, 0%)), var(--key-color, #030FFD) calc(var(--color-per, 100%) - var(--per, 0%)), var(--key-color, #030FFD) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .__post-list.__half .__post-list-item {
    padding-right: 0;
  }
  .__post-list.__half .__post-list-item .__title {
    position: relative;
    right: initial;
    bottom: initial;
    margin-top: 0.5em;
    display: block;
  }
  .__post-list.__half .__post-list-item .__title strong span {
    background: transparent;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: initial;
    color: var(--key-color, #030FFD);
  }
  .__post-list.__half .__post-list-item .__title strong span:first-child {
    color: var(--key-color, #030FFD);
  }
}

[data-device=mobile] .__post-list.__half {
  padding: 0;
  grid-template-columns: 1fr;
}
[data-device=mobile] .__post-list-item {
  padding-right: 0;
}
[data-device=mobile] .__post-list-item .__tb {
  opacity: 1;
  overflow: hidden;
}
[data-device=mobile] .__post-list-item .__tb img {
  aspect-ratio: 1/1;
  object-fit: cover;
  transform: scale(var(--scale, 1));
  transition: transform 100ms cubic-bezier(0.23, 1, 0.32, 1);
}

.page-404 {
  display: flex;
  min-height: 100vh;
  min-height: 100svh;
  color: #fff;
  flex-direction: column;
  place-items: center;
  place-content: center;
  text-align: center;
  gap: 1em;
  font-size: clamp(16px, 3vw, 50px);
}
.page-404 h2 {
  font-size: clamp(30px, 12vw, 160px);
  font-weight: 700;
  line-height: 1.1;
  margin-top: -0.5em;
}
.page-404 .__cta {
  display: flex;
  justify-content: center;
  padding: 0.1em 0.2em;
  font-weight: 700;
  border-bottom: 0.05em solid #fff;
}
.page-404 .__circles {
  position: absolute;
  z-index: -1;
  top: 55%;
  left: 0;
}
.page-404 .__circles .__c1,
.page-404 .__circles .__c2,
.page-404 .__circles .__c3 {
  width: min(500px, 30vw);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #AE3BFF;
  position: absolute;
  top: 0;
  z-index: 1;
}
.page-404 .__circles .__c1 {
  background-color: #FCF012;
  transform: translateX(-30%);
  z-index: 2;
}
.page-404 .__circles .__c2 {
  background-color: #FC30AA;
  transform: translateX(50%);
}
.page-404 .__circles .__c3 {
  left: clamp(260px, 70vw, 1400px);
  transform: translateX(-50%);
}

.single-project {
  color: #fff;
}
.single-project #main {
  overflow: initial;
}
.single-project .single-project-main {
  position: relative;
  z-index: 2;
  background: #101010;
}
.single-project #footer {
  display: none;
}

.project-post-header {
  color: #fff;
  padding: clamp(11.25rem, 23.8663484487vw, 18.75rem) 0 clamp(6.25rem, 23.8663484487vw, 18.75rem);
  text-align: center;
  word-break: keep-all;
}
.project-post-header .__category {
  font-weight: 500;
  font-size: clamp(1rem, 1.9550342131vw, 1.25rem);
  text-align: center;
  line-height: 1.2;
  margin-bottom: 2em;
}
.project-post-header .__title {
  font-size: clamp(2.75rem, 8.3333333333vw, 7.5rem);
  display: flex;
  justify-content: center;
  margin-bottom: 1.25em;
}
.project-post-header .__title strong {
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
  letter-spacing: -0.04em;
  row-gap: 0.1em;
}
.project-post-header .__title strong span {
  vertical-align: middle;
}
.project-post-header .__title strong .font-en {
  font-size: 1.1825em;
  font-weight: 600;
}
.project-post-header .__title strong span:first-child {
  color: var(--key-color);
}
.project-post-header .__title strong span:last-child {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #fff;
}
.project-post-header .__kv {
  overflow: hidden;
}
.project-post-header .__kv img {
  display: block;
  width: 100%;
  max-width: initial;
}

.project-post-summary {
  padding: 0 0 clamp(6.25rem, 23.8663484487vw, 18.75rem);
  color: #fff;
}
.project-post-summary .__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(2rem, 3.65vw, 80px);
}
@media screen and (max-width: 1023px) {
  .project-post-summary .__grid {
    grid-template-columns: 1fr;
  }
}
.project-post-summary .__title {
  font-size: clamp(1.625rem, 5.7366362451vw, 2.75rem);
  font-weight: 600;
  margin-bottom: 1em;
  line-height: 1.325;
  letter-spacing: -0.04em;
}
.project-post-summary .__info {
  display: flex;
  gap: 1.25em;
  row-gap: 0.325em;
  font-size: 1.125rem;
  flex-wrap: wrap;
}
.project-post-summary .__info dl {
  display: flex;
  gap: 0.5em;
}
.project-post-summary .__info dl dt {
  opacity: 0.5;
}
.project-post-summary .__info dl dt:after {
  content: ".";
}
.project-post-summary .__content {
  font-size: 1.125rem;
  display: grid;
  gap: 2.5em;
}
.project-post-summary .__content dt {
  padding-bottom: 1.2em;
  margin-bottom: 1.15em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.project-post-summary .__content dd {
  line-height: 2;
}

.project-post-footer {
  background: #fff;
  color: #000;
  overflow: hidden;
  z-index: 1;
  position: sticky;
  bottom: 0;
  text-align: center;
  word-break: keep-all;
}
.project-post-footer .__next-project {
  transform: translateY(var(--y-percent));
  display: block;
  padding: clamp(5rem, 19.0930787589vw, 15rem) 0;
}
@media screen and (max-width: 1023px) {
  .project-post-footer .__next-project {
    transform: none;
  }
}
.project-post-footer .__category {
  font-weight: 500;
  font-size: clamp(1rem, 1.9550342131vw, 1.25rem);
  text-align: center;
  line-height: 1.2;
  margin-bottom: 2em;
}
.project-post-footer .__marquee {
  position: relative;
  display: flex;
  justify-content: flex-start;
  white-space: nowrap;
}
.project-post-footer .__marquee .__marquee-inner {
  display: flex;
  justify-content: flex-start;
  position: relative;
  animation: __marquee 10s linear infinite;
  will-change: transform;
}
.project-post-footer .__marquee .__title {
  padding-right: 1em;
}
.project-post-footer .__marquee .__group {
  display: flex;
  position: absolute;
  top: 0;
  left: 100%;
}
@keyframes __marquee {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(-200%);
  }
}
.project-post-footer .__title {
  font-size: clamp(2.375rem, 6.6666666667vw, 6rem);
  display: flex;
  justify-content: flex-start;
}
.project-post-footer .__title strong {
  font-weight: 700;
  justify-content: center;
  align-items: center;
  line-height: 1.15;
  letter-spacing: -0.04em;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #000;
}
.project-post-footer .__title strong span {
  vertical-align: middle;
  display: inline-block;
}
.project-post-footer .__title strong .font-en {
  font-size: 1.1825em;
  font-weight: 600;
}

.project-results {
  padding: clamp(5rem, 14.3198090692vw, 11.25rem) 0;
  background: var(--key-color, #030FFD);
  color: var(--font-color, #fff);
  overflow: hidden;
}
.project-results .__cta {
  display: flex;
  font-size: 1.375rem;
  margin-top: 6em;
}
.project-results .results-slider {
  margin: 6rem 0;
}
.project-results .swiper {
  overflow: visible;
}
.project-results .swiper .swiper-slide {
  width: auto !important;
  margin-right: clamp(1.5rem, 6.3643595863vw, 5rem);
}
.project-results .swiper .swiper-slide img {
  display: block;
  width: clamp(17.5rem, 37.5vw, 33.75rem);
  -webkit-user-drag: none;
  user-select: none;
}
.project-results .swiper .swiper-slide:last-child {
  margin-right: 0;
}

.rnd-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
}
.rnd-modal.__interactive .__modal-inner {
  pointer-events: initial;
}
.rnd-modal.__active {
  opacity: 1;
  visibility: visible;
  z-index: 999;
}
.rnd-modal .__close {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.rnd-modal .__modal-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  box-sizing: border-box;
  pointer-events: none;
}
.rnd-modal .__modal-box {
  max-width: 1257px;
  width: 70vw;
  box-sizing: border-box;
}
@media screen and (max-width: 500px) {
  .rnd-modal .__modal-box {
    width: 100vw;
  }
}
@media screen and (max-width: 500px) {
  .rnd-modal .__modal-box {
    padding: 0;
  }
}

.rnd-post-article {
  color: #fff;
}
.rnd-post-article .__slider {
  position: relative;
}
.rnd-post-article .__slider .__slider-inner {
  transform-style: preserve-3d;
  perspective: 1000px;
  position: relative;
  z-index: 1;
}
.rnd-post-article .__slider video,
.rnd-post-article .__slider img {
  display: block;
  width: 100%;
  user-select: none;
  -webkit-user-drag: none;
}
.rnd-post-article .__slider .swiper-slide {
  overflow: hidden;
}
.rnd-post-article .__slider .swiper-pagination {
  position: static;
  text-align: center;
  font-size: 0.9375rem;
  margin-top: 1em;
}
.rnd-post-article .__slider .__next {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  top: 0;
  left: 0;
}
@media (pointer: fine) {
  .rnd-post-article .__slider .__next {
    display: block;
  }
}
.rnd-post-article .__desc {
  padding: 0 clamp(2rem, 3.65vw, 80px);
  max-width: 47.5rem;
  margin: 1.875rem auto 0;
}
.rnd-post-article .__title {
  font-family: "Averta", "YoonGothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  text-align: center;
}
.rnd-post-article .__content {
  font-size: 1rem;
  line-height: 1.8;
  display: grid;
  gap: 0.725em;
}
.rnd-post-article .__content a {
  color: #fcf012;
}

.project-post-wrapper,
.elementor-default {
  font-size: 1.125rem;
}
.project-post-wrapper .does-container,
.elementor-default .does-container {
  padding: 0 clamp(2rem, 3.65vw, 80px);
  width: initial;
}
.project-post-wrapper .does-container.__boxed,
.elementor-default .does-container.__boxed {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 clamp(2rem, 3.65vw, 80px);
  box-sizing: content-box;
}
.project-post-wrapper .does-container.__boxed.__sm,
.elementor-default .does-container.__boxed.__sm {
  max-width: 1440px;
}
.project-post-wrapper .does-container.__boxed.__xs,
.elementor-default .does-container.__boxed.__xs {
  max-width: 1257px;
}
.project-post-wrapper .does-title-lg,
.elementor-default .does-title-lg {
  font-size: clamp(2.625rem, 6.2561094819vw, 4rem);
  font-weight: 700;
  padding: 0;
  margin-bottom: 2rem;
}
.project-post-wrapper .does-title-sm,
.elementor-default .does-title-sm {
  font-size: clamp(1.125rem, 3.5190615836vw, 2.25rem);
  font-weight: 700;
  padding: 0;
  margin-bottom: 2rem;
}
.project-post-wrapper .does-title-xs,
.elementor-default .does-title-xs {
  font-size: 1.25rem;
  line-height: 1.8;
  padding: 0;
}
.project-post-wrapper .does-title-xs *,
.elementor-default .does-title-xs * {
  font-weight: 500;
  opacity: 0.7;
}
.project-post-wrapper .does-desc-md,
.elementor-default .does-desc-md {
  font-size: 1.125rem;
  line-height: 2;
  padding: 0;
}
.project-post-wrapper .does-desc-md.__condensed,
.elementor-default .does-desc-md.__condensed {
  max-width: 920px !important;
}
.project-post-wrapper .__mb-xl,
.elementor-default .__mb-xl {
  margin-bottom: clamp(6.25rem, 19.0930787589vw, 15rem);
}
.project-post-wrapper .__mb-lg,
.elementor-default .__mb-lg {
  margin-bottom: clamp(5rem, 15.9108989658vw, 12.5rem);
}
.project-post-wrapper .__mb-md,
.elementor-default .__mb-md {
  margin-bottom: clamp(3.75rem, 12.7287191726vw, 10rem);
}
.project-post-wrapper .__mb-sm,
.elementor-default .__mb-sm {
  margin-bottom: clamp(2.5rem, 7.9554494829vw, 6.25rem);
}
.project-post-wrapper .fade-in-up-text,
.elementor-default .fade-in-up-text {
  animation-name: fadeInUpText;
}

@keyframes fadeInUpText {
  from {
    opacity: 0;
    transform: translate3d(0, 3rem, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}