:root {
    font-size: 10px;

    --font-body: "Wix Madefor Text", "IBM Plex Sans Thai", sans-serif;
    --font-heading: "Wix Madefor Display", "IBM Plex Sans Thai", sans-serif;

    --font-weight-normal: normal;
    --font-weight-bold: bold;
    --font-weight-medium: 500;
    --font-weight-body: var(--font-weight-normal);
    --font-weight-heading: var(--font-weight-bold);

    --line-height-xs: 1;
    --line-height-sm: 1.2;
    --line-height-md: 1.5;
    --line-height-normal: normal;

    --font-size-3xs: 0.8rem;
    --font-size-2xs: 1rem;
    --font-size-xs: 1.2rem;
    --font-size-sm: 1.4rem;
    --font-size-md: 1.6rem;
    --font-size-lg: 1.8rem;
    --font-size-xl: 2rem;
    --font-size-h3: clamp(2rem, 1.6666666667vw, 2.4rem);
    --line-height-h3: var(--line-height-sm);
    --font-size-h2: clamp(2.4rem, 2.5vw, 3.6rem);
    --line-height-h2: var(--line-height-sm);
    --font-size-h1: clamp(3.6rem, 4.4444444444vw, 6.4rem);
    --line-height-h1: var(--line-height-xs);
    --font-size-h0: clamp(5.6rem, 8.3333333333vw, 12rem);
    --line-height-h0: var(--line-height-xs);

    --font-size-body: var(--font-size-md);
    --font-size-body-sm: var(--font-size-sm);
    --line-height-body: var(--line-height-md);

    --font-size-overline: var(--font-size-sm);
    --line-height-overline: var(--line-height-md);

    --font-size-navi: var(--font-size-sm);
    --line-height-navi: normal;

    --font-size-topic: var(--font-size-h3);
    --line-height-topic: var(--line-height-h3);

    --icon-size: var(--font-size-lg);
    --icon-size-sm: var(--font-size-2xs);

    --text-decoration-thickness: 1px;
    --text-underline-offset: calc(var(--text-decoration-thickness) * 2);

    --color-black: #000000;
    --color-black-rgb: 0, 0, 0;
    --color-black-filter: brightness(0);

    --color-white: #ffffff;
    --color-white-rgb: 255, 255, 255;
    --color-white-filter: brightness(0) invert(1);

    --color-red: #ff0000;
    --color-red-rgb: 255, 0, 0;
    --color-red-filter: brightness(0) saturate(100%) invert(17%) sepia(100%) saturate(7058%) hue-rotate(9deg) brightness(98%) contrast(121%);

    --color-gray: #9c9c9c;
    --color-gray-rgb: 156, 156, 156;
    --color-gray-filter: brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(0%) hue-rotate(143deg) brightness(91%) contrast(83%);

    --color-gray-light: #e4e4e4;
    --color-gray-light-rgb: 228, 228, 228;
    --color-gray-light-filter: brightness(0) saturate(100%) invert(99%) sepia(13%) saturate(435%) hue-rotate(197deg) brightness(119%) contrast(79%);

    --color-gray-bright: #f6f6f6;
    --color-gray-bright-rgb: 246, 246, 246;
    --color-gray-bright-filter: brightness(0) saturate(100%) invert(99%) sepia(5%) saturate(63%) hue-rotate(261deg) brightness(113%) contrast(93%);

    --color-primary: #231f20;
    --color-primary-rgb: 35, 31, 32;
    --color-primary-filter: brightness(0) invert(9%) sepia(3%) saturate(2037%) hue-rotate(295deg) brightness(95%) contrast(90%);

    --color-secondary: #c5c2bb;
    --color-secondary-rgb: 197, 194, 187;
    --color-secondary-filter: brightness(0) invert(91%) sepia(10%) saturate(144%) hue-rotate(4deg) brightness(86%) contrast(86%);

    --color-link-hover: rgba(var(--rgb), 1);
    --color-link-active: rgba(var(--rgb), 1);

    --color-background: var(--color-white);
    --color-background-rgb: var(--color-white-rgb);
    --color-background-filter: var(--color-white-filter);

    --color-body: var(--color-primary);
    --color-body-rgb: var(--color-primary-rgb);
    --color-body-filter: var(--color-primary-filter);
    --color-body-couple: var(--color-white);
    --color-body-couple-rgb: var(--color-white-rgb);
    --color-body-couple-filter: var(--color-white-filter);

    --rgb: var(--color-body-rgb);
    --rgb-couple: var(--color-body-couple-rgb);

    --filter: var(--color-body-filter);
    --filter-couple: var(--color-body-couple-filter);

    --spacing-4xl: 16rem;
    --spacing-3xl: 9rem;
    --spacing-2xl: 7.2rem;
    --spacing-xl: 6rem;
    --spacing-lg: 4.8rem;
    --spacing-md: 3.6rem;
    --spacing-sm: 2.4rem;
    --spacing-xs: 1.6rem;
    --spacing-2xs: 1.2rem;
    --spacing-3xs: 0.8rem;
    --spacing-container: var(--spacing-sm);
    --spacing-section: var(--spacing-3xl);
    --spacing-section-sm: var(--spacing-lg);
    --spacing-row: var(--spacing-md);
    --spacing-column: var(--spacing-3xs);
    --spacing-content: var(--spacing-sm);
    --spacing-content-sm: var(--spacing-2xs);
    --spacing-content-xs: var(--spacing-3xs);

    --logo-height: 4.8rem;
    --header-navi-height: 7.2rem;
    --header-height: var(--header-navi-height);

    --border-width: 1px;
    --border-style: solid;
    --border-color: var(--color-secondary);
    --border: var(--border-width) var(--border-style) var(--border-color);
    --border-radius: 0.8rem;
    --border-radius-x2: 1.6rem;
    --border-radius-x3: 2.4rem;

    --input-height: 4.4rem;
    --input-spacing-y: 0.3em;
    --input-spacing-x: var(--spacing-xs);
    --input-color-border: var(--color-gray-light);
    --input-color-background: transparent;
    --input-color-text: var(--color-primary);
    --input-border: var(--border-width) var(--border-style) var(--input-color-border);
    --input-border-radius: 0px;

    --button-height: 4.4rem;
    --button-spacing-y: 0.3em;
    --button-spacing-x: var(--spacing-xs);
    --button-color-background: var(--color-primary);
    --button-color-border: var(--color-primary);
    --button-color-text: var(--color-white);
    --button-border: var(--border-width) var(--border-style) var(--button-color-border);
    --button-border-radius: 0px;

    --link-underline: 0 1px 0 0 currentColor;
    --link-underline-secondary: 0 1px 0 0 var(--color-secondary);

    --opacity: 0.5;
    --opacity-light: 0.2;
    --opacity-overlay: 0.6;

    --duration: 0.5s;
    --duration-slow: 1s;
    --duration-slower: 1.5s;
    --duration-fast: 200ms;
    --easing: ease;
    --easing-strong: cubic-bezier(0.165, 0.84, 0.44, 1);

    --padding-top-header: var(--header-height);
    --padding-bottom-header: var(--header-height);
}

/*RESET====================*/
*,
*:before,
*:after {
    box-sizing: border-box;
}
::-webkit-scrollbar {
    width: 0px;
    overflow: hidden;
}
::-moz-selection {
    background: var(--color-black);
    color: var(--color-white);
}
::selection {
    background: var(--color-black);
    color: var(--color-white);
}

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
    margin: 0;
    position: relative;
    background: var(--color-background);
    color: rgba(var(--rgb), 1);
    -webkit-animation-name: pageAnimation;
    animation-name: pageAnimation;
    -webkit-animation-duration: var(--duration-slow);
    animation-duration: var(--duration-slow);
    -webkit-animation-timing-function: var(--easing);
    animation-timing-function: var(--easing);
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    will-change: all;
}
@-webkit-keyframes pageAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes pageAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

article,
aside,
figcaption,
figure,
picture,
footer,
header,
hgroup,
main,
nav,
section {
    margin: 0;
    display: block;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    word-break: break-word;
}
p {
    margin: 0;
}
small {
    font-size: 87.5%;
}
address {
    font-style: normal;
}
ul,
ol {
    list-style: none;
}
ul,
ol,
li {
    margin: 0;
    padding: 0;
}
a {
    color: inherit;
}
a,
a:hover,
a:focus {
    outline: 0;
    text-decoration: none;
    box-shadow: none;
}
a[href^="tel"] {
    white-space: nowrap;
}
a[href^="mailto"] {
    word-break: break-word;
}
a,
button,
[role="button"] {
    cursor: pointer;
}
button,
input,
textarea,
select {
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: 0;
    border: 0;
    background: none;
    padding: 0;
    margin: 0;
    min-width: unset;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: normal;
    text-transform: inherit;
    text-align: inherit;
    letter-spacing: inherit;
    text-indent: inherit;
    color: inherit;
}
fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}
img {
    border: 0;
    outline: 0;
    height: auto;
    width: auto;
    max-width: 100%;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    padding: 0;
    font-weight: inherit;
}
hr {
    margin: 0;
    border: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: currentColor;
}
iframe {
    border: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
[tabindex="-1"]:focus {
    outline: 0 !important;
}
:focus-visible {
    outline: 0 !important;
}
script {
    margin: 0 !important;
}

/*TEXT====================*/
body {
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    letter-spacing: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

.font-weight-normal {
    font-weight: var(--font-weight-normal) !important;
}
.font-weight-bold {
    font-weight: var(--font-weight-bold) !important;
}
.font-weight-medium {
    font-weight: var(--font-weight-medium) !important;
}

.font-size-3xs {
    font-size: var(--font-size-3xs) !important;
}
.font-size-2xs {
    font-size: var(--font-size-2xs) !important;
}
.font-size-xs {
    font-size: var(--font-size-xs) !important;
}
.font-size-sm {
    font-size: var(--font-size-sm) !important;
}
.font-size-md {
    font-size: var(--font-size-md) !important;
}
.font-size-lg {
    font-size: var(--font-size-lg) !important;
}
.font-size-xl {
    font-size: var(--font-size-xl) !important;
    line-height: var(--line-height-sm);
}
.font-size-h3 {
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-h3);
}
.font-size-h2 {
    font-size: var(--font-size-h2) !important;
    line-height: var(--line-height-h2);
}
.font-size-h1 {
    font-size: var(--font-size-h1) !important;
    line-height: var(--line-height-h1);
}
.font-size-h0 {
    font-size: var(--font-size-h0) !important;
    line-height: var(--line-height-h0);
}

.font-size-body {
    font-size: var(--font-size-body) !important;
    line-height: var(--line-height-body) !important;
}
.font-size-body-sm {
    font-size: var(--font-size-body-sm) !important;
    line-height: var(--line-height-body) !important;
}
.font-size-topic {
    font-size: var(--font-size-topic) !important;
    line-height: var(--line-height-topic) !important;
}
.font-size-overline {
    font-size: var(--font-size-overline) !important;
    line-height: var(--line-height-overline) !important;
}

/*TRANSITION====================*/
a,
button,
[role="button"],
img,
video,
input,
textarea,
select {
    transition: var(--duration) var(--easing);
}

/*FIX====================*/
.bg-black {
    --color-background: var(--color-black);
    --color-background-rgb: var(--color-black-rgb);
    background-color: rgba(var(--color-background-rgb), 1) !important;
}
.bg-white {
    --color-background: var(--color-white);
    --color-background-rgb: var(--color-white-rgb);
    background-color: rgba(var(--color-background-rgb), 1) !important;
}
.bg-primary {
    --color-background: var(--color-primary);
    --color-background-rgb: var(--color-primary-rgb);
    background-color: rgba(var(--color-background-rgb), 1) !important;
}

.c-black {
    --rgb: var(--color-black-rgb);
    --rgb-couple: var(--color-white-rgb);
    --filter: var(--color-black-filter);
    --filter-couple: var(--color-white-filter);
    color: rgba(var(--rgb), 1) !important;
}
.c-white {
    --rgb: var(--color-white-rgb);
    --rgb-couple: var(--color-black-rgb);
    --filter: var(--color-white-filter);
    --filter-couple: var(--color-black-filter);
    color: rgba(var(--rgb), 1) !important;
}
.c-gray {
    --rgb: var(--color-gray-rgb);
    --rgb-couple: var(--color-white-rgb);
    --filter: var(--color-gray-filter);
    --filter-couple: var(--color-white-filter);
    color: rgba(var(--rgb), 1) !important;
}
.c-primary {
    --rgb: var(--color-primary-rgb);
    --rgb-couple: var(--color-white-rgb);
    --filter: var(--color-primary-filter);
    --filter-couple: var(--color-white-filter);
    color: rgba(var(--rgb), 1) !important;
}

.filter-black {
    -webkit-filter: var(--color-black-filter) !important;
    filter: var(--color-black-filter) !important;
}
.filter-white {
    -webkit-filter: var(--color-white-filter) !important;
    filter: var(--color-white-filter) !important;
}
.filter-primary {
    -webkit-filter: var(--color-primary-filter) !important;
    filter: var(--color-primary-filter) !important;
}

.align-left {
    text-align: left !important;
}
.align-right {
    text-align: right !important;
}
.align-center {
    text-align: center !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}
.text-capitalize {
    text-transform: capitalize !important;
}
.text-nowrap {
    white-space: nowrap !important;
}

.overflow-hidden {
    overflow: hidden !important;
}
.overflow-visible {
    overflow: visible !important;
}
.overflow-clip {
    overflow: clip !important;
}

.z-index-0 {
    z-index: 0 !important;
}
.z-index-1 {
    z-index: 1 !important;
}

.display-inline-block {
    display: inline-block !important;
}
.display-none {
    display: none !important;
}

.padding-0 {
    padding: 0 !important;
}
.padding-top-0 {
    padding-top: 0 !important;
}
.padding-bottom-0 {
    padding-bottom: 0 !important;
}
.padding-y-header {
    padding-top: var(--padding-top-header) !important;
    padding-bottom: var(--padding-bottom-header) !important;
}
.padding-top-header {
    padding-top: var(--padding-top-header) !important;
}
.padding-bottom-header {
    padding-bottom: var(--padding-bottom-header) !important;
}

.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}
.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pointer-events-none {
    pointer-events: none !important;
}
.pointer-events-auto {
    pointer-events: auto !important;
}

.no-select {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/*CTA====================*/
:is(a, button):hover {
    color: var(--color-link-hover);
}
:is(a, button).active {
    color: var(--color-link-active);
}
.c-white :is(a, button):is(:hover, .active) {
    color: inherit;
}

.js-link-hover.link-hover a:hover {
    color: inherit;
}
.js-link-hover.link-hover a:not(:hover) {
    opacity: var(--opacity);
}

*[class*="link-underline"] *:is(a, button, u) {
    display: inline;
    text-decoration: none;
    background: none;
    box-shadow: none;
}
.link-underline *:is(a, button, u):hover,
.link-underline-hover a:hover {
    box-shadow: var(--link-underline);
}
.link-underline *:is(a, button, u),
.link-underline-active a.active {
    box-shadow: var(--link-underline-secondary);
}

:is(.link-explore, .link-effect) {
    text-decoration: none;
    box-shadow: none;
    background: none;
    border: 0;
    outline: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    line-height: normal;
    color: inherit;
    padding: 0 1px;
    overflow: hidden;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
:is(.link-explore, .link-effect):hover {
    color: inherit;
}
:is(.link-explore, .link-effect):before,
:is(.link-explore, .link-effect):after {
    content: "";
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    pointer-events: none;
}
:is(.link-explore, .link-effect):after {
    content: attr(data-text);
    height: 100%;
    top: 0;
    background: none;
    transform-origin: 100% 50%;
    transform: translate3d(150%, 0, 0);
    transition: transform var(--duration-slow) var(--easing);
}
:is(.link-explore, .link-effect):is(:hover, .active):after {
    transform: translate3d(0, 0, 0);
}
:is(.link-explore, .link-effect) span {
    display: inline-block;
    transition: transform var(--duration-slow) var(--easing);
}
:is(.link-explore, .link-effect):is(:hover, .active) span {
    transform: translate3d(-150%, 0, 0);
}

.link-explore {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-body-sm);
}
.link-explore:before {
    height: var(--border-width);
    background-color: var(--color-secondary);
    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
    transition: background-color var(--duration-slow) var(--easing);
}
.link-explore:is(:hover, .active):before {
    background-color: currentColor;
}

.link-effect:before {
    height: var(--border-width);
    background: currentColor;
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
    transition: transform var(--duration-slow) var(--easing);
}
.link-effect:is(:hover, .active):before {
    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
}

.link-wrap {
    display: inline-flex;
    align-items: center;
    grid-gap: 0 var(--spacing-content-sm);
}

.link-overlay {
    font-size: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    background: none !important;
    opacity: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
    pointer-events: auto !important;
}

*:is(.button, .wp-element-button, .wp-block-button__link) {
    text-decoration: none !important;
    box-shadow: none !important;
    background: none !important;
    margin: 0;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-content-sm);
    vertical-align: top;
    white-space: normal;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 0;
    max-width: 100%;
    height: var(--button-height);
    min-height: 0;
    max-height: none;
    padding: var(--button-spacing-y) var(--button-spacing-x) !important;
    color: var(--button-color-text) !important;
    background-color: var(--button-color-background) !important;
    border: var(--border-width) var(--border-style) var(--button-color-border) !important;
    border-radius: var(--button-border-radius) !important;
    opacity: 1 !important;
    overflow: hidden;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-body);
    line-height: normal;
    letter-spacing: normal;
    text-transform: none;
    text-align: center;
    transition: var(--duration) var(--easing);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
*:is(.button, .wp-element-button, .wp-block-button__link):hover {
    --button-color-background: var(--color-primary);
    --button-color-border: var(--color-primary);
    --button-color-text: var(--color-white);
}
.button.min-width {
    min-width: 175px;
}

/*GENERAL====================*/
.container {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
}
.container.xl {
    width: 96.6666666667vw;
    padding-left: 0;
    padding-right: 0;
}
*[block-width] {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

*:is(.ic, .ic-text) {
    display: inline-block;
}
.ic img {
    display: inline-block;
    vertical-align: top;
    width: auto;
    min-width: 1em;
    height: 1em;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
.ic:before {
    display: block;
}

.ic-youtube {
    padding-left: 0.3em !important;
    padding-right: 0.3em !important;
}
.ic-youtube:before {
    transform: scale(1.3);
}

.ic-wrap {
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    grid-gap: var(--spacing-3xs);
}
.ic-wrap > * {
    display: block;
}
.ic-wrap > .ic {
    font-size: var(--icon-size);
}
.ic-wrap > img {
    width: var(--icon-size);
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

.brand {
    text-decoration: none !important;
    box-shadow: none !important;
    background: none !important;
    opacity: 1 !important;
    display: inline-block;
    vertical-align: top;
    line-height: 1;
}
.brand .logo {
    display: inline-block;
    vertical-align: top;
    width: auto;
    height: var(--logo-height);
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    transition-property: width, height;
}

*:is(.object, .object-fit) {
    text-decoration: none;
    box-shadow: none;
    background-image: none;
    display: block;
    overflow: hidden;
    position: relative;
}
*:is(.object, .object-fit) > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
}
.object-fit > *:is(img, video, iframe) {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.object-fit.contain > *:is(img, video, iframe) {
    -o-object-fit: contain;
    object-fit: contain;
}
.object-fit:before {
    content: "";
    display: block;
    width: 100%;
}

.ratio-1-1 {
    aspect-ratio: 1/1;
}
.ratio-2-3 {
    aspect-ratio: 2/3;
}
.ratio-3-2 {
    aspect-ratio: 3/2;
}
.ratio-3-4 {
    aspect-ratio: 3/4;
}
.ratio-4-3 {
    aspect-ratio: 4/3;
}
.ratio-4-5 {
    aspect-ratio: 4/5;
}
.ratio-5-4 {
    aspect-ratio: 5/4;
}
.ratio-9-16 {
    aspect-ratio: 9/16;
}
.ratio-16-9 {
    aspect-ratio: 16/9;
}

.object-overlay {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.social,
.social-text {
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    grid-gap: var(--spacing-sm);
}
.social a {
    display: block;
    text-decoration: none;
    background: none;
    box-shadow: none;
}
.social .ic {
    display: block;
    padding: 1px;
    margin: -1px;
    font-size: var(--icon-size);
}
.social img {
    display: block;
    width: 1em;
    height: 1em;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

.social-text {
    grid-gap: var(--spacing-2xs) var(--spacing-md);
}

.map-container {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.map-container:before {
    content: "";
    display: block;
    width: 100%;
}
.map-container iframe {
    outline: 0;
    border: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.map-container .design {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}
.map-container .design,
.map-container .design img {
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

/*CONTENT====================*/
.entry-content {
    --wp--preset--font-size--normal: var(--font-size-body);
    --wp--preset--font-size--small: var(--font-size-body-sm);
    --wp--preset--font-size--medium: var(--font-size-md);
    --wp--preset--font-size--large: var(--font-size-lg);
    --wp--preset--font-size--x-large: var(--font-size-xl);
    --wp--preset--font-size--xx-large: var(--font-size-h3);
    --wp--preset--font-size--huge: var(--font-size-h3);

    --wp--style--unstable-gallery-gap: var(--spacing-column);
}
.entry-content .is-layout-flex {
    display: flex;
    flex-wrap: wrap;
}
.entry-content :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}
.entry-content :is(h1, h2) {
    font-family: var(--font-family-heading);
}
.entry-content .has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
}
.entry-content :is(.has-normal-font-size, .has-regular-font-size) {
    font-size: var(--wp--preset--font-size--normal) !important;
}
.entry-content :is(h3, .has-medium-font-size) {
    font-size: var(--wp--preset--font-size--medium) !important;
}
.entry-content :is(.has-large-font-size, .has-larger-font-size) {
    font-size: var(--wp--preset--font-size--large) !important;
}
.entry-content :is(.has-x-large-font-size) {
    font-size: var(--wp--preset--font-size--x-large) !important;
    line-height: var(--line-height-sm);
}
.entry-content :is(h2, .has-xx-large-font-size) {
    font-size: var(--wp--preset--font-size--xx-large) !important;
    line-height: var(--line-height-sm);
}
.entry-content :is(h1, .has-huge-font-size) {
    font-size: var(--wp--preset--font-size--huge) !important;
    line-height: var(--line-height-sm);
}
.entry-content p {
    margin: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}
.entry-content ul,
.entry-content ul.wp-block-list {
    margin: 0;
    padding: 0;
    list-style-type: disc;
    padding-left: 1.2em;
}
.entry-content ol,
.entry-content ol.wp-block-list {
    margin: 0;
    padding: 0;
    list-style-type: decimal;
    /* list-style-position: inside; */
    padding-left: 1.2em;
}
/* .entry-content :is(ol, ol.wp-block-list) :is(ul, ol).wp-block-list {
    padding-left: calc(1.2em * 2);
} */

.entry-content :is(.wp-block-image, .wp-block-video) :is(img, video) {
    margin: 0;
    height: auto;
    max-height: none;
    max-width: 100%;
    vertical-align: top;
    border-radius: 0;
    overflow: hidden;
}
.entry-content :is(.wp-block-image, .wp-block-video).size-thumbnail :is(img, video) {
    width: clamp(20.8333333333vw, 300px, 100%);
}
.entry-content :is(.wp-block-image, .wp-block-video).size-medium :is(img, video) {
    width: clamp(27.7777777778vw, 400px, 100%);
}
.entry-content :is(.wp-block-image, .wp-block-video).size-large :is(img, video) {
    width: clamp(52.08333333333vw, 750px, 100%);
}
.entry-content .wp-block-embed .wp-block-embed__wrapper {
    position: relative;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper:before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 56.25%;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper > * {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
}
.entry-content [class*="wp-block"] figcaption {
    font-style: normal;
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body);
    color: inherit;
}

.entry-content > *,
.entry-content :is([class*="wp-block-"], figcaption) {
    margin: 0;
}
.entry-content > *:not(:first-child),
.entry-content :is(ul, ol).wp-block-list:not(:first-child),
.entry-content :is(ol, ol.wp-block-list) > li:not(:first-child),
*:is(.wp-block-group, .wp-block-column, .wp-block-quote) > *:not(:first-child) {
    margin-top: var(--spacing-content);
}
[class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column) + *:not(:first-child),
* + [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column):not(:first-child) {
    margin-top: var(--spacing-section);
}
.entry-content br + *:not(:first-child),
.entry-content :is(ul, ul.wp-block-list) > li:not(:first-child),
.entry-content [class*="wp-block-"] br + *:not(:first-child),
.entry-content [class*="wp-block-"] figcaption:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}

.entry-content .wp-block-columns {
    grid-gap: var(--spacing-row) var(--spacing-column);
}
.entry-content .wp-block-columns > * {
    margin: 0;
}

.entry-content .wp-block-gallery {
    gap: 0;
    grid-gap: var(--spacing-row) var(--wp--style--unstable-gallery-gap);
}
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image {
    flex-grow: 0;
}
.entry-content [class*="wp-block"].aligncenter {
    margin-left: auto;
    margin-right: auto;
}

.entry-header > *:not(:first-child) {
    margin-top: var(--spacing-content);
}

.entry-category,
.entry-publish {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body);
}

.entry-contact {
    width: 100%;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-sm);
}

/*FORM====================*/
*:is(input, textarea, select) {
    display: block;
    width: 100%;
    height: var(--input-height);
    padding: var(--input-spacing-y) var(--input-spacing-x);
    background: var(--input-color-background);
    border: var(--input-border);
    border-color: var(--input-color-border);
    border-radius: var(--input-border-radius);
    color: var(--input-color-text);
    font-family: var(--font-body);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-body);
    font-style: normal;
    line-height: normal;
    text-align: left;
    text-transform: none;
    letter-spacing: normal;
    text-indent: 0;
}

textarea {
    --height: calc(var(--input-height) * 3);
    --spacing-y: calc(var(--input-spacing-y) * 1.35);
    resize: none;
    display: block;
    overflow: auto;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: var(--height);
    padding-top: var(--spacing-y);
    padding-bottom: var(--spacing-y);
}

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

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 0;
}

input::-webkit-contacts-auto-fill-button {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    box-shadow: 0 0 0px 1000px #fff inset;
    -webkit-transition: 5000s ease 0s;
    transition: 5000s ease 0s;
}

input:-internal-autofill-selected,
textarea:-internal-autofill-selected,
select:-internal-autofill-selected {
    color: inherit;
}

input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input:disabled,
textarea:disabled,
select:disabled,
button:disabled {
    cursor: default !important;
    opacity: var(--opacity-light) !important;
}
button:disabled {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

:-ms-input-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-weight-body) !important;
    font-size: inherit !important;
    font-style: inherit !important;
    text-transform: none !important;
    color: var(--color-gray) !important;
    opacity: 1 !important;
}
::-webkit-input-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-weight-body) !important;
    font-size: inherit !important;
    font-style: inherit !important;
    text-transform: none !important;
    color: var(--color-gray) !important;
    opacity: 1 !important;
}
::-moz-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-weight-body) !important;
    font-size: inherit !important;
    font-style: inherit !important;
    text-transform: none !important;
    color: var(--color-gray) !important;
    opacity: 1 !important;
}

::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}
::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

/* FORM:SELECT */
.select {
    position: relative;
}
.select select {
    line-height: normal;
    padding-right: var(--input-height);
    text-overflow: "";
    cursor: pointer;
}
.select:after {
    font-family: "iconfont";
    content: "\e90c";
    font-size: var(--font-size-xs);
    font-weight: normal;
    line-height: 1;
    color: var(--input-color-text);
    vertical-align: top;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-right: var(--input-spacing-x);
    width: auto;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}
.select2-parent:after,
.select.hide-arrow:after,
.select.hide-arrow .select2-selection__arrow {
    display: none !important;
}

.select2-hidden-accessible {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}
.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 98;
    background-color: #fff;
    filter: alpha(opacity=0);
}
.select2-rendered__match {
    text-decoration: underline;
}
.select2-container.select2-container--default {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
}
.select2-container.select2-container--default .select2-dropdown {
    box-sizing: border-box;
    display: block;
    width: 100%;
    position: absolute;
    z-index: 1051;
    left: -100000px;
    font-weight: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: var(--color-black) !important;
    background: var(--color-white) !important;
    border: var(--input-border) !important;
    border-color: var(--input-color-border) !important;
    border-radius: var(--input-border-radius) !important;
    overflow: hidden !important;
    transition: none;
}
.select2-container.select2-container--default.select2-container--open .select2-dropdown {
    left: 0;
}
.select2-container.select2-container--default.select2-container--open .select2-dropdown--above {
    margin: calc(var(--spacing-2xs) * -1) 0 0;
}
.select2-container.select2-container--default.select2-container--open .select2-dropdown--below {
    margin: var(--spacing-2xs) 0 0;
}
.select2-container.select2-container--default .select2-results {
    display: block;
}
.select2-container.select2-container--default .select2-results__options {
    list-style: none;
    margin: 0;
    padding: var(--spacing-sm);
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    text-align: inherit;
}
.select2-container.select2-container--default .select2-results > .select2-results__options {
    max-height: 40vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.select2-container.select2-container--default .select2-results__option {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.select2-container.select2-container--default .select2-results__option:not(:last-child) {
    margin-bottom: var(--spacing-content);
}
.select2-container.select2-container--default .select2-results__option[aria-selected] {
    cursor: pointer;
}
.select2-container.select2-container--default .select2-results__option:not([id]) {
    margin: 0;
}
.select2-container.select2-container--default .select2-search--dropdown {
    display: block;
    padding: var(--input-spacing-y) var(--input-spacing-x);
}
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field {
    box-sizing: border-box;
    width: 100%;
    padding: var(--input-spacing-y) var(--input-spacing-x);
}
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
.select2-container.select2-container--default .select2-search--dropdown.select2-search--hide {
    display: none;
}
.select2-container.select2-container--default .select2-selection--single {
    outline: 0;
    padding: 0;
    display: block;
    width: 100%;
    height: var(--input-height);
    font-family: var(--font-body);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-body);
    text-align: inherit;
    color: var(--input-color-text);
    background: var(--input-color-background);
    border: var(--input-border) !important;
    border-color: var(--input-color-border) !important;
    border-radius: var(--input-border-radius) !important;
    transition: none;
    overflow: hidden;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered {
    display: block;
    padding: var(--input-spacing-y) var(--input-spacing-x);
    padding-right: var(--input-height);
    height: 100%;
    line-height: calc(var(--input-height) - var(--input-spacing-y) * 2 - 2px);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: inherit;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered[title] {
    background-color: transparent;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__clear {
    position: relative;
    cursor: pointer;
    float: right;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__placeholder {
    font-weight: var(--font-weight-body);
    color: var(--color-gray);
    opacity: 1;
}
.select2-container.select2-container--default .select2-selection--single *:is(.select2-selection__arrow, .select2-selection__clear) {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1;
    font-size: 0;
    color: var(--input-color-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-right: var(--input-spacing-x);
    width: auto;
    height: 100%;
    cursor: pointer;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: 0 !important;
    margin: 0;
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: auto;
    height: auto;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow b:before,
.select2-container.select2-container--default .select2-selection--single .select2-selection__clear:before {
    font-family: "iconfont";
    font-size: var(--font-size-xs);
    font-weight: normal;
    line-height: 1;
    display: block;
    width: auto;
    height: auto;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\e90c";
    transition: var(--duration) var(--easing);
}
.select2-container.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b:before {
    transform: rotate(0deg);
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__clear:before {
    content: "\e900";
}
.select2-container.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: transparent;
    cursor: default;
    opacity: var(--opacity-light);
}
.select2-container.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none;
}
.select2-container.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none;
}
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--border-color);
}
.select2-container.select2-container--default .select2-search--inline {
    float: left;
}
.select2-container.select2-container--default .select2-search--inline .select2-search__field {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    box-sizing: border-box;
    box-shadow: none;
    background: none;
    border: none;
    padding: 0;
    outline: 0;
    font-size: 100%;
    margin-top: var(--spacing-3xs);
}
.select2-container.select2-container--default .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
.select2-container.select2-container--default .select2-results__option {
    transition: var(--duration) var(--easing);
}
.select2-container.select2-container--default .select2-results__option span {
    display: inline;
    font-weight: inherit;
}
.select2-container.select2-container--default .select2-results__option[role="group"] {
    padding: 0;
}
.select2-container.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: none;
    color: var(--color-primary);
}
.select2-container.select2-container--default .select2-results__option:is([aria-selected="true"], [data-selected="true"]) {
    text-decoration: none !important;
    background: none !important;
    color: var(--color-primary) !important;
    font-weight: var(--font-weight-bold) !important;
}
.select2-container.select2-container--default .select2-results__option[aria-disabled="true"] {
    background: none !important;
    text-decoration: none !important;
    color: inherit !important;
    opacity: var(--opacity-light) !important;
    pointer-events: none !important;
}
.select2-container.select2-container--default .select2-results__group {
    cursor: default;
    display: block;
    padding: 0;
}

/* FORM:CHECKBOX & RADIO */
.choice {
    position: relative;
    display: flex;
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-family: inherit;
    font-weight: inherit;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    letter-spacing: normal;
    text-transform: none;
    color: inherit;
}
.choice > span {
    position: relative;
    display: inline-block;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.choice > input {
    position: absolute;
    z-index: -1000;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    background: none;
}
.choice input + span {
    display: inline-block;
    vertical-align: baseline;
    text-align: left;
    padding-left: calc(var(--font-size-body) + var(--spacing-2xs));
    line-height: inherit;
    min-width: var(--font-size-body);
    min-height: var(--font-size-body);
    height: auto;
    cursor: pointer;
}
.choice input + span:before,
.choice input + span:after {
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--font-size-body);
    height: var(--font-size-body);
    border-radius: 2px;
    color: rgba(var(--rgb), 1);
    margin: 0;
    position: absolute;
    left: 0;
    top: 0.5ex;
}
.choice input + span:before {
    background: none;
    border: var(--input-border);
    border-color: var(--input-color-border);
}
.choice input + span:after {
    background: var(--color-primary);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.1s;
}
.choice input:checked + span:before {
    border-color: var(--color-primary);
}
.choice input:checked + span:after {
    opacity: 1;
}
.choice input[type="checkbox"] + span:after {
    display: flex;
    align-items: center;
    justify-content: center;
    transform: none;
    font-family: "iconfont";
    content: "\e923";
    font-size: 0.7em;
    color: var(--color-white);
}
.choice input[type="radio"] + span:before,
.choice input[type="radio"] + span:after {
    border-radius: 50%;
}

.choices {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-2xs) var(--spacing-row);
}
.choices.vertical {
    flex-direction: column;
}
.choices.vertical .choices {
    padding-left: calc(var(--font-size-body) + var(--spacing-2xs));
}

/* FORM:STRUCTURE */
.fieldset {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--spacing-row);
}
.fields {
    --gap: var(--spacing-2xs);
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--gap);
}
.field {
    position: relative;
    width: 100%;
}
.field.focusin {
    z-index: 2;
}

.call-to-action {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content-sm) var(--spacing-content);
}
.call-to-action.a-center,
.a-center .call-to-action {
    justify-content: center;
}

.input {
    position: relative;
    text-align: left;
}
.input > .ic {
    position: absolute;
    font-size: var(--icon-size);
    top: calc(var(--input-height) / 2);
    transform: translateY(-50%);
}
.input > .ic ~ *:is(input, textarea, select, .label.anim),
.input > .ic ~ .select *:is(select, .select2-selection__rendered),
.input > .ic ~ .wpcf7-form-control-wrap *:is(input, textarea, select),
.input > .ic ~ .wpcf7-form-control-wrap .select *:is(select, .select2-selection__rendered),
.input > .ic ~ .datepicker *:is(input) {
    padding-left: calc(var(--icon-size) + var(--spacing-xs));
}
.input > .ic ~ .datepicker:before {
    opacity: 0;
}
.input > *:is(.ic),
.input > .ic ~ .select:after,
.input > .ic ~ .select .select2-selection__arrow b:before {
    color: var(--color-gray-light);
}

.label {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    position: relative;
    display: block;
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    text-transform: none;
    color: var(--color-gray-light);
    opacity: 1;
    transition: var(--duration) var(--easing);
}
.label:not(.anim):not(:last-child) {
    margin-bottom: var(--spacing-content-xs);
}
.label.anim {
    height: auto;
    width: auto;
    max-width: calc(100% - var(--input-spacing-x) * 2);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    position: absolute;
    z-index: 1;
    left: calc(var(--input-spacing-x) + var(--border-width));
    top: calc(var(--input-height) / 2);
    transform: translateY(-50%);
    pointer-events: none;
}
.label.anim:not(.fixed) {
    transition-property: opacity, visibility;
}
.input.filled .label.anim:not(.fixed) {
    opacity: 0;
    visibility: hidden;
}
.input:has(*:-internal-autofill-selected) .label.anim:not(.fixed) {
    opacity: 0;
    visibility: hidden;
}
.input.filled .label.anim.fixed {
    top: 0;
    left: calc((var(--input-spacing-x) / 2) + var(--border-width));
    transform: translateY(-50%);
    font-size: var(--font-size-3xs);
    background-color: var(--color-background);
    border-radius: 0.25em;
    padding: 0.1em 0.5em;
}
.input:has(*:-internal-autofill-selected) .label.anim.fixed {
    top: 0;
    left: calc((var(--input-spacing-x) / 2) + var(--border-width));
    transform: translateY(-50%);
    font-size: var(--font-size-3xs);
    background-color: var(--color-background);
    border-radius: 0.25em;
    padding: 0.1em 0.5em;
}

.input-cta {
    --cta-width: 0px;
}
.input-cta > .cta {
    position: absolute;
    z-index: 1;
    right: 0;
    top: calc(var(--input-height) / 2);
    transform: translateY(-50%);
}
.input-cta > input {
    padding-right: calc(var(--cta-width) + var(--spacing-content-sm));
}

.entry-form.style-underline {
    --input-spacing-x: 0px;
}
.entry-form.style-underline *:is(input, textarea, select),
.entry-form.style-underline .select2-container.select2-container--default .select2-selection--single {
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

/*FORM:UPLOAD FILE====================*/
.file-upload-wrapper {
    position: relative;
    display: flex;
    width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.file-upload-wrapper .file-upload-input {
    border: 0;
    width: auto;
    flex: 1;
}
.input:not(.filled) .file-upload-wrapper .file-upload-input {
    pointer-events: none;
}
.file-upload-wrapper .file-upload-action {
    order: -1;
    cursor: pointer;
    position: relative;
    z-index: 1;
    height: auto;
    width: auto;
    min-width: 0;
}
.file-upload-wrapper .file-upload-button {
    --button-color-background: var(--color-gray-bright);
    --button-color-border: var(--color-gray-bright);
    --button-color-text: var(--color-primary);
}
.file-upload-wrapper .file-upload-button:hover {
    --button-color-background: var(--color-gray-bright);
    --button-color-border: var(--color-gray-bright);
    --button-color-text: var(--color-primary);
}
.file-upload-wrapper .file-upload-button > * {
    margin: 0;
}
.file-upload-wrapper .file-upload-button .ic {
    font-size: var(--icon-size);
}
.custom-file-upload-hidden {
    display: none;
    visibility: hidden;
    position: absolute;
    left: -9999px;
}
.custom-file-upload {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

/*PLUGIN:LENIS====================*/
.lenis {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/*PLUGIN:RELLAX====================*/
.rellax {
    will-change: transform !important;
    transition: none !important;
}

/*PLUGIN:SPLITTING====================*/
[data-splitting] {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
[data-splitting] :is(.word, .char) {
    position: relative;
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
}

/*PLUGIN:SPLITTYPE====================*/
.splittype .line-wrap {
    display: block;
    overflow: hidden;
    margin: -0.2em 0;
    padding: 0.2em 0;
}

/*PLUGIN:MARQUEE====================*/
*[data-limarquee].mWrap {
    transition: height var(--duration) var(--easing);
}
*[data-limarquee].mWrap .mMove,
*[data-limarquee].mWrap .mItem {
    width: auto !important;
}
*[data-limarquee] .cloneContent {
    padding: 0 !important;
}

/*PLUGIN:SLIDER====================*/
.swiper {
    width: 100%;
}
.swiper-wrapper {
    will-change: transform;
}

*[class*="swiper-button-"] {
    z-index: 10;
    outline: none;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    color: inherit;
    background: none;
    border-radius: 0;
    overflow: visible;
    line-height: 1;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: 0;
    line-height: 1;
    letter-spacing: normal;
    text-transform: uppercase;
    pointer-events: auto;
}
*[class*="swiper-button-"]:hover {
    color: inherit;
}
.swiper-button-prev {
    left: 0;
}
.swiper-button-next {
    right: 0;
}
.swiper-button-prev.spacing-container {
    left: var(--spacing-container);
}
.swiper-button-next.spacing-container {
    right: var(--spacing-container);
}

.swiper-button-disabled {
    opacity: 0.1 !important;
    pointer-events: auto !important;
}
.swiper-button-lock {
    display: none !important;
}
*[class*="swiper-button-"]:after {
    font-family: "iconfont";
    font-size: 28px;
    font-weight: normal;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: inherit;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    transition: none;
}
.swiper-button-prev:after {
    content: "\e909";
    transform: translateX(-0.05em);
}
.swiper-button-next:after {
    content: "\e90a";
    transform: translateX(0.05em);
}

.swiper-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-sm);
}
.swiper-buttons > *[class*="swiper-button-"] {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

*[class*="swiper-button-"].style-button {
    --button-size: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--button-size);
    width: var(--button-size);
    min-width: var(--button-size);
    max-width: var(--button-size);
    background-color: var(--color-white);
    color: var(--color-primary);
    border: var(--border);
    border-radius: 50%;
    overflow: hidden;
}
*[class*="swiper-button-"].style-button:hover {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}
*[class*="swiper-button-"].style-button:after {
    color: inherit !important;
    font-size: 16px !important;
}
.swiper-button-disabled.style-button {
    opacity: 0 !important;
    pointer-events: none !important;
}

.swiper-pagination:not(.swiper-pagination-custom) {
    --bullet-size: 8px;
    line-height: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    grid-gap: var(--spacing-3xs);
    pointer-events: none;
}
.swiper-pagination.a-center {
    justify-content: center;
}
.swiper-pagination-bullet {
    outline: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    font-size: 0;
    display: block;
    width: var(--bullet-size);
    height: var(--bullet-size);
    background: rgba(var(--rgb), var(--opacity-light));
    border: 0;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    transition: var(--duration) var(--easing);
    pointer-events: auto;
}
.swiper-pagination-bullet-active {
    background: rgba(var(--rgb), 1);
}
.swiper-horizontal > .swiper-pagination-bullets {
    bottom: calc((var(--spacing-row) - var(--bullet-size)) / 2);
}
.swiper-pagination.static {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    transition: none !important;
    line-height: inherit;
}
.swiper-pagination.static:not(:first-child) > .swiper-pagination-bullet:first-child {
    margin-top: var(--spacing-row) !important;
}
.swiper-pagination-custom {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    transition: none !important;
}
.swiper-pagination.numbered {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    grid-gap: var(--spacing-content-sm);
    counter-reset: numbered;
}
.swiper-pagination.numbered .swiper-pagination-bullet {
    counter-increment: numbered;
    display: inline;
    width: auto;
    height: auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: none;
    color: inherit;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body);
}
.swiper-pagination.numbered .swiper-pagination-bullet:before {
    content: counter(numbered);
}
.swiper-pagination.numbered .swiper-pagination-bullet-active {
    text-decoration: underline;
    text-decoration-thickness: var(--text-decoration-thickness);
    text-underline-offset: var(--text-underline-offset);
}

.swiper-fade .swiper-slide {
    opacity: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
.swiper-fade .swiper-slide-active {
    opacity: 1 !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

.swiper.default .swiper-slide {
    width: 100% !important;
    height: auto !important;
}

.swiper.fix *[class*="swiper-button-"] {
    top: calc(var(--swiper-button-y, 0));
    transform: translateY(-50%);
}

/*FUNCTION:TAB====================*/
.tab {
    position: relative;
    z-index: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.tab-content {
    margin: 0 !important;
    position: relative;
    height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition-property: opacity;
    transition-duration: 1s;
}
.tab-content.active {
    height: auto;
    opacity: 1;
    overflow: visible;
    pointer-events: auto;
}

/*FUNCTION:CLIPBOARD====================*/
#clipboard {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: var(--button-height);
    width: auto;
    max-width: calc(100% - var(--spacing-container) * 2);
    margin: 0 auto;
    padding: var(--spacing-3xs) var(--spacing-2xs);
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body);
    letter-spacing: normal;
    text-transform: uppercase;
    background-color: rgba(var(--color-black-rgb), 1);
    color: var(--color-white);
    border-radius: 10px;
    overflow: hidden;
    position: fixed;
    z-index: 999999;
    top: auto;
    bottom: var(--spacing-xs);
    left: 50%;
    transform: translate(-50%, 0%);
    pointer-events: none;
}

/*HAMBURGER====================*/
.hamburger {
    position: relative;
    display: block;
    width: 2.4rem;
    height: 2.4rem;
}
.hamburger .bars,
.hamburger .bars:before,
.hamburger .bars:after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.5px;
    background: currentColor;
    transition: var(--duration) var(--easing);
}
.hamburger .bars {
    display: block;
    font-size: 0;
    line-height: 0;
    top: 50%;
    transform: translateY(-50%);
    transition-property: background-color, transform;
}
.hamburger .bars:before,
.hamburger .bars:after {
    display: block;
    content: "";
}
.hamburger .bars:before {
    top: -0.6rem;
    transition-property: background-color, top;
    transition-delay: 0s, 0.1s;
}
.hamburger .bars:after {
    bottom: -0.6rem;
    transition-property: background-color, bottom, transform;
    transition-delay: 0s, 0.1s, 0s;
}
.active > .hamburger .bars {
    transform: translateY(-50%) rotate(45deg);
    transition-delay: 0s, 0.1s;
}
.active > .hamburger .bars:before {
    top: 0;
    opacity: 0;
}
.active > .hamburger .bars:after {
    bottom: 0;
    transform: rotate(-90deg);
    transition-delay: 0s, 0s, 0.1s;
}

/*LANGUAGE====================*/
.lang *:is(ul, li) {
    display: flex !important;
    grid-gap: var(--spacing-2xs) !important;
}
.lang ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.lang ul > li:not(:last-child):after {
    content: "/";
}
.lang ul > li > a.active {
    color: inherit;
}
.lang ul > li > a:not(.active) {
    color: rgba(var(--rgb), var(--opacity));
}

/*FUNCTION:DROPDOWN====================*/
.dropdown-style {
    position: relative;
    z-index: 3;
}

.dropdown-style .dropdown-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 0 var(--spacing-content-sm);
    text-align: inherit;
    width: 100%;
    min-height: var(--input-height);
    padding: var(--spacing-3xs) var(--spacing-xs);
    background: var(--color-white);
    color: var(--color-primary);
    border: 1px solid currentColor;
}
.dropdown-style .dropdown-button > .ic {
    margin-left: auto;
}
.dropdown-style > .dropdown-title:not(:last-child) {
    margin-bottom: var(--spacing-content-sm);
}
.dropdown-style > .dropdown-ctrl .ic[class*="ic-chevron"] {
    font-size: var(--icon-size-sm);
}
.dropdown-style > .dropdown-panel {
    position: absolute;
    z-index: 10;
    top: calc(100% + 1px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: calc(100vw - var(--spacing-container) * 2);
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    /* display: none; */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: var(--duration-fast) var(--easing);
}
.dropdown-style.active > .dropdown-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.dropdown-style > .dropdown-panel a {
    pointer-events: none;
}
.dropdown-style.active > .dropdown-panel a {
    pointer-events: auto;
}
.dropdown-style > .dropdown-button ~ .dropdown-panel {
    width: 100%;
    top: calc(100% - 1px);
}
.dropdown-style .dropdown-panel-wrap {
    position: relative;
    display: block;
    width: 100%;
    min-width: 100%;
    background: var(--color-white);
    color: var(--color-primary);
    border: 1px solid rgba(var(--rgb), 1);
}
.dropdown-style .dropdown-panel-scroll {
    max-height: 30vh;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.dropdown-style .dropdown-panel-inner ul {
    display: flex;
    flex-direction: column;
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    letter-spacing: normal;
    text-transform: uppercase;
    text-align: left;
}
.dropdown-style .dropdown-panel-inner ul > li:not(:first-child) {
    border-top: 1px solid rgba(var(--rgb), 1);
}
.dropdown-style .dropdown-panel-inner ul > li > a {
    display: flex;
    align-items: center;
    text-align: inherit;
    width: 100%;
    min-height: var(--input-height);
    padding: var(--spacing-3xs) var(--spacing-xs);
}
.dropdown-style .dropdown-panel-inner ul > li > a:is(:hover, .active) {
    background: var(--color-primary);
    color: var(--color-white);
}
.dropdown-style .dropdown-panel-inner ul.align-center > li > a {
    justify-content: center;
}

/*PAGE====================*/
#page {
    position: relative;
    min-height: 100svh;
    display: grid;
    grid-template-rows: 1fr auto;
    grid-template-columns: 100%;
    overflow: clip;
}

/*HEADER====================*/
#header {
    width: 100%;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#header-height {
    width: 100%;
    height: var(--header-height);
    opacity: 0;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    pointer-events: none;
}

.header-navi {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: var(--header-navi-height);
    background-color: rgba(var(--rgb-couple), 1);
    color: rgba(var(--rgb), 1);
    grid-gap: var(--spacing-container);
    padding: 0 var(--spacing-container);
    font-size: var(--font-size-body-sm);
    transition: var(--duration) var(--easing);
}

.header-brand {
    line-height: 1;
    margin-left: 0;
    margin-right: auto;
}
.c-white .header-brand .logo {
    -webkit-filter: var(--filter);
    filter: var(--filter);
}

.header-menu .menu {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    display: flex;
    grid-gap: var(--spacing-content) var(--spacing-container);
    pointer-events: auto;
}

.header-system {
    align-self: normal;
    line-height: 1;
}
.header-system .tools {
    height: 100%;
    display: flex;
    grid-gap: var(--spacing-container);
}
.header-system .tool {
    position: relative;
    display: flex;
    align-items: center;
}
.header-system .tool .ctrl {
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    line-height: 1;
}
.header-system .tool .ic {
    margin: 0 !important;
    display: block;
    color: inherit;
    font-size: var(--icon-size);
}
.header-system .tool .dropdown-style {
    position: static;
}
.header-system .tool .dropdown-panel {
    min-width: 123px;
}
.header-system .tool[data-tool="search"] .search-box {
    display: flex;
    align-items: center;
    padding: 0;
    width: 274px;
    max-width: calc(100vw - var(--spacing-container) * 2);
    height: auto;
    color: var(--color-primary);
    background: var(--color-white);
    border: 1px solid currentColor;
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body);
    position: absolute;
    z-index: 102;
    left: auto;
    right: 0;
    top: 100%;
    bottom: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration) var(--easing);
}
.header-system .tool[data-tool="search"].active > .search-box {
    opacity: 1;
    pointer-events: auto;
}
.header-system .tool[data-tool="search"].active > .ctrl {
    color: var(--color-link-active);
}
.header-system .tool[data-tool="search"] .search-form {
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
}
.header-system .tool[data-tool="search"] .search-form .input {
    flex: 1;
    width: 100%;
    text-transform: none;
}
.header-system .tool[data-tool="search"] .search-form .input input {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-body);
    color: inherit;
    letter-spacing: normal;
    line-height: normal;
    text-transform: none;
    background: none;
    border: 0;
    border-radius: 0;
}
.header-system .tool[data-tool="search"] .search-form .input input:-ms-input-placeholder {
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-body) !important;
    font-size: var(--font-size-body) !important;
    color: rgba(var(--color-primary-rgb), 0.3) !important;
    opacity: 1 !important;
}
.header-system .tool[data-tool="search"] .search-form .input input::-webkit-input-placeholder {
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-body) !important;
    font-size: var(--font-size-body) !important;
    color: rgba(var(--color-primary-rgb), 0.3) !important;
    opacity: 1 !important;
}
.header-system .tool[data-tool="search"] .search-form .input input::-moz-placeholder {
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-body) !important;
    font-size: var(--font-size-body) !important;
    color: rgba(var(--color-primary-rgb), 0.3) !important;
    opacity: 1 !important;
}
.header-system .tool[data-tool="search"] .search-form .call-to-action {
    width: auto;
    display: flex;
    line-height: 1;
}
.header-system .tool[data-tool="search"] .search-form .call-to-action *[data-search-cta] {
    box-shadow: none !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--input-spacing-x);
    width: auto;
    height: auto;
    line-height: 1;
    color: inherit;
}

/*FOOTER====================*/
#footer {
    position: relative;
    width: 100%;
    height: auto;
    background-color: var(--color-background);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.footer-navi {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-content-sm);
    padding: var(--spacing-xl) var(--spacing-container);
    font-family: var(--font-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-normal);
    text-transform: uppercase;
    text-align: center;
}
.footer-navi .policy {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    grid-gap: var(--spacing-content-sm) var(--spacing-section);
}

/*MAIN====================*/
#main {
    position: relative;
    width: 100%;
    padding-top: var(--header-height);
}

section {
    position: relative;
    width: 100%;
    background-color: var(--color-background);
}

.sc-link {
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    font-size: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
}

.sc-inner {
    position: relative;
    z-index: 0;
    width: 100%;
    padding-top: var(--spacing-section);
    padding-bottom: var(--spacing-section);
}
.sc-inner.padding-sm {
    padding-top: var(--spacing-section-sm);
    padding-bottom: var(--spacing-section-sm);
}
.sc-inner.padding-container {
    padding-top: var(--spacing-container);
    padding-bottom: var(--spacing-container);
}
.sc-inner.padding-y-header {
    padding-top: calc(var(--header-height) + var(--spacing-section)) !important;
    padding-bottom: calc(var(--header-height) + var(--spacing-section)) !important;
}
.sc-inner.padding-top-header {
    padding-top: calc(var(--header-height) + var(--spacing-section)) !important;
}
.sc-inner.padding-bottom-header {
    padding-bottom: calc(var(--header-height) + var(--spacing-section)) !important;
}

.sc-container + .sc-container {
    margin-top: var(--spacing-section);
}

*:is(.sc-container) > *:not(:first-child) {
    margin-top: var(--spacing-row);
}
*:is(.sc-headline, .sc-content, .sc-group, .sc-grid, .sc-sidebar, .sc-main) > *:not(:first-child) {
    margin-top: var(--spacing-content);
}
*:is(.sc-desc, .sc-explore) > *:not(:first-child) {
    margin-top: var(--spacing-content);
}

.margin-top-section:not(:first-child) {
    margin-top: var(--spacing-section) !important;
}

.sc-cover {
    position: relative;
}

.sc-category,
.sc-publish {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body);
}

.sc-filter {
    width: auto;
    position: relative;
    z-index: 10;
}
.sc-filter .dropdown-style > .dropdown-panel {
    left: 0;
    top: calc(100% + var(--spacing-content-xs));
    transform: translateX(0);
}

.sc-grid-row {
    --h-xl: 0px;
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
}
.sc-grid-row.h-vh {
    min-height: 100vh;
}
.sc-grid-row.h-lvh {
    min-height: 100lvh;
}
.sc-grid-row.h-svh {
    min-height: 100svh;
}
.sc-grid-row.h-dvh {
    min-height: 100dvh;
}
.sc-grid-row.h-xl {
    min-height: var(--h-xl);
}
.sc-grid-row > .sc-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 3;
}
.sc-grid-row > .sc-inner > .sc-container {
    flex: 1;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 1fr auto 1fr;
    grid-gap: var(--spacing-row) 0;
}
.sc-grid-row > .sc-inner > .sc-container > * {
    position: relative;
}
.sc-grid-row > .sc-inner > .sc-container > *:not(:first-child) {
    margin-top: 0;
}
.sc-grid-row > .sc-inner > .sc-container > *[data-row="top"] {
    grid-row: 1;
    align-self: flex-start;
}
.sc-grid-row > .sc-inner > .sc-container > *[data-row="middle"] {
    grid-row: 2;
    align-self: center;
}
.sc-grid-row > .sc-inner > .sc-container > *[data-row="bottom"] {
    grid-row: 3;
    align-self: flex-end;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="1"] {
    grid-template-rows: 1fr;
    grid-gap: 0;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="1"] > * {
    grid-row: auto;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="2"] {
    grid-template-rows: auto 1fr;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="2"] > * {
    grid-row: auto;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-align="center"] {
    grid-template-rows: unset;
    align-items: center;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-align="center"] > * {
    grid-row: unset;
    align-self: unset;
}

.sc-billboard {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.sc-billboard > * {
    width: 100%;
}
.sc-billboard > *:is(.sc-inner, .sc-grid-row) {
    width: 100%;
    position: relative;
    z-index: 2;
    pointer-events: none;
}
.sc-billboard > *:is(.sc-inner, .sc-grid-row) *:is(a, button, form, iframe) {
    pointer-events: auto;
}
.sc-billboard > .sc-cover {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.sc-billboard > .sc-cover,
.sc-billboard > .sc-cover .object-fit,
.sc-billboard > .sc-cover .object-fit:before,
.sc-billboard > .sc-cover *:is(.swiper, .swiper-wrapper, .swiper-slide) {
    height: 100%;
}
.sc-billboard.fade .sc-cover .object-fit {
    opacity: var(--opacity-overlay);
}

.sc-gallery {
    position: relative;
}
.sc-gallery .entry-swiper {
    margin: 0 calc((var(--spacing-container) / 2) * -1);
}
.sc-gallery .swiper-slide {
    width: calc(min(64.3055555556vw, var(--container-md, 100%)) + var(--spacing-container) / 2) !important;
    padding: 0 calc(var(--spacing-container) / 2) !important;
}

.sc-columns {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--spacing-row) var(--spacing-column);
}
.sc-columns > .sc-column {
    width: 100%;
}

.sc-layout {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--spacing-row) var(--spacing-column);
    position: relative;
}
.sc-layout > * {
    width: 100%;
}

.sc-scroll-to-explore {
    width: auto;
    height: 100%;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-body-sm);
    line-height: 1;
    display: flex;
    align-items: flex-end;
    position: absolute;
    z-index: 10;
    top: 0;
    right: var(--spacing-container);
    padding: var(--spacing-section) 0;
    pointer-events: none;
}
.sc-scroll-to-explore .scroll-to-explore {
    display: flex;
    align-items: center;
    flex-direction: column;
    grid-gap: var(--spacing-md);
    position: -webkit-sticky;
    position: sticky;
    bottom: var(--spacing-container);
    right: 0;
}
.sc-scroll-to-explore .scroll-to-explore .text {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
}

[data-section-snap] {
    height: 100vh;
    overflow: hidden;
}
[data-section-snap] .sc-billboard {
    overflow: visible;
}
[data-section-snap] .sc-billboard > .sc-cover {
    height: 100vh;
    overflow: hidden;
}
[data-section-snap] .sc-billboard > .sc-inner {
    flex: none;
    min-height: 100dvh;
    transition: min-height var(--duration) ease;
}

.clear-gap-section > section:not([class*="bg-"]):not(:last-child) > .sc-inner:last-child {
    padding-bottom: 0;
}

/*MODULES====================*/
.divider {
    background-color: var(--color-secondary);
}
.divider.hide-last:last-child {
    display: none;
}

.card {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-sm);
    position: relative;
    color: rgba(var(--rgb), 1);
    text-align: left;
    white-space: normal;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}
.card .ellipsis {
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    padding: 0.08em 0;
    overflow: hidden;
}
.card .cover,
.card .caption {
    width: 100%;
    position: relative;
    z-index: 3;
    pointer-events: none;
}
.card .cover :is(.object, .object-fit) > * {
    transition: var(--duration-slow) var(--easing);
}
.card .cover:hover :is(.object, .object-fit) > * {
    transform: scale(1.02);
}
.card *:is(a, button):not(.link-overlay) {
    position: relative;
    z-index: 3;
    pointer-events: auto;
}
.card .caption {
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-xs);
}

.card-marquee {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
    vertical-align: top;
}
.card-marquee > .card {
    margin-right: var(--spacing-x);
}

.card-container {
    --spacing-x: 0px;
    --spacing-y: 0px;
    --column: 1;
    position: relative;
}
.card-container[data-layout="grid"] {
    display: grid;
    grid-gap: var(--spacing-y) var(--spacing-x);
    grid-template-columns: repeat(var(--column), calc((100% - (var(--spacing-x) * (var(--column) - 1))) / var(--column)));
    grid-auto-flow: dense;
}

.card-container[data-layout="flex"] {
    --card-width: calc((100% - (var(--spacing-x) * (var(--column) - 1))) / var(--column));
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-y) var(--spacing-x);
}
.card-container[data-layout="flex"] > .card {
    width: var(--card-width);
}

.card-container[data-layout="slider"] .entry-swiper {
    margin-left: calc((var(--spacing-x) * -1) / 2);
    margin-right: calc((var(--spacing-x) * -1) / 2);
}
.card-container[data-layout="slider"] .swiper-slide {
    width: calc(100% / var(--column)) !important;
    padding-left: calc(var(--spacing-x) / 2);
    padding-right: calc(var(--spacing-x) / 2);
}
.card-container[data-layout="slider"] .swiper-pagination {
    padding-left: calc(var(--spacing-x) / 2);
    padding-right: calc(var(--spacing-x) / 2);
}
.card-container[data-layout="slider"] .swiper-button-prev {
    left: calc(var(--spacing-x) / 2);
}
.card-container[data-layout="slider"] .swiper-button-next {
    right: calc(var(--spacing-x) / 2);
}
.card-container[data-layout="list"] {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-y) var(--spacing-x);
}
.card-container[data-layout="list"] .card {
    width: 100%;
}
.card-container[data-layout="list"] .card:not(:first-child) {
    padding-top: var(--spacing-y);
    border-top: var(--border);
}

*[data-card="client"] {
    --spacing-x: var(--spacing-lg);
    --spacing-y: var(--spacing-lg);
    --column: 3;
    --width: 86px;
}
*[data-card="client"][data-layout="grid"] .card {
    width: 100%;
    max-width: var(--width);
    margin: auto;
}
*[data-card="client"][data-layout="marquee"] .card {
    width: var(--width);
    max-width: 100%;
}

*[data-card="how-we-work"] {
    --spacing-x: var(--spacing-container);
    --spacing-y: var(--spacing-container);
    --column: 1;
}
*[data-card="how-we-work"] .card .caption .entry-title {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
}
*[data-card="how-we-work"] .card .cover .object-fit:before {
    padding-bottom: 137.3737373737%;
}
*[data-card="how-we-work"] .card .cover .object-overlay {
    width: 100%;
    height: 100%;
    padding: var(--spacing-lg) var(--spacing-md);
    background-color: rgba(var(--color-background-rgb), var(--opacity));
}
*[data-card="how-we-work"] .card .cover .object-overlay .caption {
    width: 100%;
    height: 100%;
}
*[data-card="how-we-work"] .card .cover .object-overlay .caption > .entry-title {
    margin-bottom: auto;
}
*[data-card="how-we-work"][data-layout="slider"] .swiper-slide {
    width: calc(84.6153846154vw + var(--spacing-x)) !important;
    max-width: calc(495px + var(--spacing-x)) !important;
}

*[data-card="portfolio"] {
    --spacing-x: var(--spacing-container);
    --spacing-y: var(--spacing-row);
    --column: 1;
}
*[data-card="portfolio"] .card .caption .entry-title {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-xl);
    line-height: var(--line-height-sm);
}

*[data-card="inspiration"] {
    --spacing-x: var(--spacing-container);
    --spacing-y: var(--spacing-row);
    --column: 1;
}
*[data-card="inspiration"] .card .caption .entry-title {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
}

*[data-card="service-fee"] {
    --spacing-x: var(--spacing-container);
    --spacing-y: var(--spacing-row);
    --column: 1;
}
*[data-card="service-fee"] .card .caption .entry-title {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
}

/* Gallery */
.gallery .gallery-marquee {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
    vertical-align: top;
}
.gallery .gallery-marquee > .object {
    margin-right: var(--spacing-column);
}
.gallery .gallery-marquee > .object > * {
    width: auto;
    height: min(65.641025641vw, 480px);
}

.gallery-parallax {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    grid-row-gap: var(--spacing-container);
}
.gallery-parallax-item {
    position: relative;
    width: 100%;
}
.gallery-parallax-item .object {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
}
.gallery-parallax-item .object > * {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

/* Intro */
.intro-container {
    width: 100%;
}
.intro-container .words {
    overflow: hidden;
}
.intro-container .word {
    white-space: nowrap;
}
.intro-container [class*="intro-words"] {
    font-family: var(--font-body);
    font-size: clamp(var(--font-size-h0), 8.6111111111vw, 124px);
    line-height: var(--line-height-h0);
    letter-spacing: -0.03em;
    text-indent: -0.015em;
    overflow: hidden;
}

.intro-overlay {
    inset: 0;
    margin: 0;
    padding: 0;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99;
    pointer-events: none;
}
.intro-overlay :is(.object, .object-fit) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.intro-overlay .object-fit:before {
    padding: 0;
}
.intro-overlay :is(img, video) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    -webkit-clip-path: inset(var(--clip-top, 0px) var(--clip-right, 0px) var(--clip-bottom, 0px) var(--clip-left, 0px));
    clip-path: inset(var(--clip-top, 0px) var(--clip-right, 0px) var(--clip-bottom, 0px) var(--clip-left, 0px));
    will-change: clip-path;
    transition: none !important;
}

.intro-logo .logo {
    display: block;
    width: 100%;
    height: auto;
}
.c-white .intro-logo .logo {
    -webkit-filter: var(--filter);
    filter: var(--filter);
}

.intro-container.animate .word {
    opacity: 0;
    transform: translateY(100%) rotate(5deg);
    transition: var(--duration) var(--easing-strong);
    transition-property: opacity, transform;
}
.intro-container.animated .word {
    opacity: 1;
    transform: translateY(0) rotate(0deg);
}
.intro-container.animate :is(.intro-logo, .intro-content, .intro-overlay) {
    opacity: 0;
    transition: var(--duration-slow) var(--easing);
}
.intro-container.animated :is(.intro-logo, .intro-content, .intro-overlay) {
    opacity: 1;
}
.intro-container.animated .intro-logo {
    transition-delay: 0.1s;
}
.intro-container.animated .intro-words-1 .word {
    transition-delay: 0.25s;
}
.intro-container.animated .intro-words-2 .word {
    transition-delay: 0.4s;
}
.intro-container.animated :is(.intro-words-3, .intro-words-4) .word {
    transition-delay: 0.55s;
}
.intro-container.animated :is(.intro-words-5, .intro-words-6) .word {
    transition-delay: 0.7s;
}
.intro-container.animated .intro-words-7 .word,
.intro-container.animated :is(.intro-content, .intro-overlay) {
    transition-delay: 0.85s;
}

html.has-intro #main {
    padding-top: 0 !important;
}
html.has-intro.intro-active .header-navi {
    transform: translateY(-100%);
    background-color: transparent;
}
html.has-intro:not(.intro-complete) .header-navi {
    background-color: transparent;
}
html.has-intro:not(.intro-complete) .header-brand .brand {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: none;
}
html.has-intro:not(.intro-complete).page-scrolling .header-navi {
    transform: translateY(-100%);
    background-color: transparent;
}

.index-main #intro .sc-inner {
    padding-bottom: 0;
}
.index-main #intro .intro-content {
    padding-right: var(--spacing-container);
    padding-bottom: var(--spacing-lg);
}

/* Overview */
.overview {
    position: relative;
    display: grid;
    grid-template-columns: 100%;
    grid-gap: var(--spacing-content);
}
.overview > .caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: var(--spacing-content);
}

/* Portfolio */
.portfolio {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    display: flex;
    grid-gap: var(--spacing-content) var(--spacing-column);
    padding-top: var(--spacing-row);
    padding-bottom: var(--spacing-row);
    margin-top: calc(var(--border-width) * -1);
    margin-bottom: calc(var(--border-width) * -1);
    border-top: var(--border);
    border-bottom: var(--border);
}
.portfolio .cover {
    position: relative;
    overflow: hidden;
}
.portfolio .cover :is(.object, .object-fit) > * {
    transition: var(--duration-slow) var(--easing);
}
.portfolio .cover:hover :is(.object, .object-fit) > * {
    transform: scale(1.02);
}
.portfolio > .gallery .gallery-wrapper .entry-swiper {
    margin: 0 calc((var(--spacing-column) / 2) * -1) !important;
}
.portfolio > .gallery .gallery-wrapper .entry-swiper .swiper.auto {
    overflow: visible;
}
.portfolio > .gallery .gallery-wrapper .entry-swiper .swiper.auto .swiper-slide {
    width: auto !important;
    padding: 0 calc(var(--spacing-column) / 2) !important;
}
.portfolio > .gallery .gallery-wrapper .entry-swiper .swiper.auto .swiper-slide .object > * {
    width: auto;
    height: min(65.641025641vw, 342px);
}

/* Moving Forward */
.moving-forward-container {
    --cards-width: min(25vw, 360px);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 0 0.25em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.moving-forward-text {
    word-break: normal;
}
.moving-forward-cards-space,
.moving-forward-cards {
    width: var(--cards-width);
    min-width: var(--cards-width);
    max-width: var(--cards-width);
    transition: var(--duration) var(--easing);
}
.moving-forward-cards-space,
.moving-forward-card .object-fit {
    aspect-ratio: 2/3;
}
.moving-forward-cards {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}
.moving-forward-cards-wrapper {
    display: grid;
    grid-template-columns: 100%;
}
.moving-forward-card {
    grid-row: 1;
    grid-column: 1;
    position: relative;
    opacity: 1;
    transform: translateY(0%);
    transition: var(--duration-slow) var(--easing);
    transition-property: opacity;
    cursor: pointer;
    pointer-events: auto;
}
.moving-forward-card.inactive {
    opacity: 0;
    transform: translateY(calc(var(--spacing-section) * -1));
    transition-property: opacity, transform;
    pointer-events: none;
}
.moving-forward-card > * {
    transition: var(--duration) var(--easing);
}
.moving-forward-card.active > * {
    box-shadow: 112.8px 264px 80.4px 0px rgba(0, 0, 0, 0), 72px 169.2px 73.2px 0px rgba(0, 0, 0, 0.01), 40.8px 94.8px 62.4px 0px rgba(0, 0, 0, 0.04), 18px 42px 45.6px 0px rgba(0, 0, 0, 0.06), 4.8px 10.8px 25.2px 0px rgba(0, 0, 0, 0.07);
}
.moving-forward-card:nth-child(3n + 1) > * {
    transform: rotate(4.086deg);
}
.moving-forward-card:nth-child(3n + 2) > * {
    transform: rotate(-3.179deg);
}
.moving-forward-card:nth-child(3n + 3) > * {
    transform: rotate(6.276deg);
}

/* Inspiration Featured */
.inspiration-featured {
    position: relative;
    display: grid;
    grid-template-columns: 100%;
    grid-auto-rows: 1fr;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.inspiration-featured-content {
    position: relative;
    width: 100%;
    padding: var(--spacing-sm);
}
.inspiration-featured-content > *:not(:first-child) {
    margin-top: var(--spacing-content);
}
.inspiration-featured-content .entry-title.ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    padding: 0.08em 0;
    overflow: hidden;
}
.inspiration-featured-cover {
    position: relative;
    width: 100%;
}
.inspiration-featured-cover .cover {
    width: 74.3016759777%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.inspiration-featured-slider {
    position: relative;
    z-index: 1;
}
.inspiration-featured-slider > :is(.entry-category, .entry-explore) {
    width: 100%;
    padding: var(--spacing-sm);
    position: absolute;
    z-index: 2;
    left: 0;
    pointer-events: none;
}
.inspiration-featured-slider > :is(.entry-category, .entry-explore) :is(a, button) {
    pointer-events: auto;
}
.inspiration-featured-slider > .entry-category {
    top: 0;
}
.inspiration-featured-slider > .entry-explore {
    bottom: 0;
    text-align: right;
}
.inspiration-featured-slider .inspiration-featured-content {
    padding: calc((var(--spacing-sm) * 2) + (var(--font-size-body-sm) * var(--line-height-body))) var(--spacing-sm);
}
.inspiration-featured-slider .swiper-pagination.numbered {
    width: calc(50% - (var(--spacing-column) / 2));
    padding: var(--spacing-sm);
    left: 0;
    bottom: 0;
}

/* Team */
.team-container {
    --picture-width: min(342px, 38vw);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    grid-gap: var(--spacing-section);
}
.team {
    width: 100%;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content) var(--spacing-column);
}
.team > .entry-picture {
    width: var(--picture-width);
    overflow: hidden;
}
.team:nth-child(odd) > .entry-picture {
    border-top-right-radius: 100vw;
    border-bottom-right-radius: 100vw;
}
.team:nth-child(even) > .entry-picture {
    border-top-left-radius: 100vw;
    border-bottom-left-radius: 100vw;
}
.team > .entry-header {
    width: calc(100% - var(--picture-width) - var(--spacing-column));
    align-self: flex-end;
}
.team:nth-child(odd) > .entry-header {
    text-align: right;
}
.team:nth-child(even) > .entry-header {
    order: -1;
    text-align: left;
}
.team > .entry-header > *:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}
.team > .entry-header > .entry-title {
    font-family: var(--font-body);
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
}
.team > .entry-content {
    width: 100%;
}
.team > .entry-content:not(:first-child) {
    padding-top: var(--spacing-content);
    border-top: 1px solid;
}

/* Service Fee */
.service-fee-content > *:not(:first-child) {
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: var(--border);
}

/* Error404 */
html.has-intro:not(.intro-taller-than-vp) .error-main *[data-section="intro"] > .sc-inner {
    justify-content: flex-start;
}

/*ANIMATE====================*/
.animate {
    -webkit-animation-duration: var(--duration-slow);
    animation-duration: var(--duration-slow);
}
.animated {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.staggerFade {
    opacity: 0;
}
.staggerSlide {
    opacity: 0;
    transform: translate3d(5vw, 0, 0);
}

.splittype .line {
    position: relative;
    display: block;
    opacity: 0;
    transform: translateY(100%) rotate(5deg);
    transform-origin: left top;
    will-change: transform, opacity;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(var(--spacing-row));
    }
    to {
        opacity: 1;
        transform: translateY(0px);
    }
}
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(var(--spacing-row));
    }
    to {
        opacity: 1;
        transform: translateY(0px);
    }
}

/*MEDIA QUERIES:MIN====================*/
@media (min-width: 600px) {
    .visible-mobile-sm {
        display: none !important;
    }
    .visible-mobile-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    /* modules */
    .card-container[data-layout="list"] .card {
        flex-direction: row;
        grid-column-gap: var(--spacing-md);
    }
    .card-container[data-layout="list"] .card > .cover {
        width: min(342px, 23.75vw);
    }
    .card-container[data-layout="list"] .card > .caption {
        flex: 1;
    }

    *[data-card="client"] {
        --column: 6;
        --width: 102px;
    }

    *[data-card="portfolio"] {
        --column: 3;
    }

    /* Gallery */
    .gallery-parallax {
        grid-row-gap: var(--spacing-section);
    }
    .gallery-parallax > .gallery-parallax-item {
        width: calc(50% - (var(--spacing-column) / 2));
    }
    .gallery-parallax > .gallery-parallax-item:nth-child(5n + 1):last-child {
        margin: 0 auto;
    }
    .gallery-parallax > .gallery-parallax-item:is(:nth-child(5n + 2), :nth-child(5n + 4)) .object > * {
        max-height: 23.9583333333vw;
    }
    .gallery-parallax > .gallery-parallax-item:nth-child(5n + 3) {
        width: 100%;
    }
    .gallery-parallax > .gallery-parallax-item:nth-child(5n + 3) .object > * {
        max-height: 39.9305555556vw;
    }
    .gallery-parallax > .gallery-parallax-item:nth-child(5n + 4) {
        align-self: flex-start;
        padding-left: 8.05555555556vw;
    }
    .gallery-parallax > .gallery-parallax-item:nth-child(5n + 4) .object {
        margin-left: 0;
    }
    .gallery-parallax > .gallery-parallax-item:nth-child(5n + 5) .object {
        width: 83.09248554913%;
        margin-right: 0;
    }
}

@media (min-width: 768px) {
    .visible-mobile {
        display: none !important;
    }
    .visible-mobile:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    /* form */
    .field.half {
        width: calc(50% - var(--gap) / 2);
    }
}

@media (min-width: 992px) {
    .visible-device-sm {
        display: none !important;
    }
    .visible-device-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    :root {
        --container-xs: 524px;
        --container-sm: 692px;
        --container-md: 926px;
    }

    /* general */
    .container.width-xs {
        max-width: calc(var(--container-xs) + (var(--spacing-container) * 2));
    }
    .container.width-sm {
        max-width: calc(var(--container-sm) + (var(--spacing-container) * 2));
    }
    .container.width-md {
        max-width: calc(var(--container-md) + (var(--spacing-container) * 2));
    }

    .container.width-half {
        width: calc(50% - (var(--spacing-3xs) / 1));
    }

    .float-left {
        margin-left: 0 !important;
        margin-right: auto !important;
    }
    .float-right {
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    /* Section */
    .sc-headline--grids {
        --grid-right-width: 41.3074712644%;
        display: flex;
        flex-wrap: wrap;
        grid-gap: var(--spacing-content) var(--spacing-column);
    }
    .sc-headline--grids > * {
        width: 100%;
    }
    .sc-headline--grids > *:not(:first-child) {
        margin-top: 0;
    }
    .sc-headline--grids > .sc-heading {
        width: calc(100% - var(--grid-right-width) - var(--spacing-column));
    }
    .sc-headline--grids > .sc-desc {
        width: var(--grid-right-width);
        margin-left: auto;
        margin-right: 0;
    }
    .sc-headline--flex {
        display: flex;
        grid-gap: var(--spacing-content) var(--spacing-column);
    }
    .sc-headline--flex > .sc-explore {
        align-self: flex-end;
        margin-left: auto;
    }

    .sc-columns > .sc-column {
        width: calc(50% - var(--spacing-column) / 2);
    }
    .sc-columns > .sc-column.padding-right {
        padding-right: var(--spacing-section);
    }

    .sc-layout > .sc-sidebar {
        width: 33.04597701149%;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        position: -webkit-sticky;
        position: sticky;
        top: calc(var(--header-height) + var(--spacing-container));
        left: 0;
        transition: top var(--duration) var(--easing);
    }
    .sc-layout > .sc-main {
        width: 58.1896551724%;
        margin-left: auto;
    }
    .sc-tab .dropdown-style > .dropdown-ctrl {
        display: none !important;
    }
    .sc-tab .dropdown-style > .dropdown-panel {
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        display: block !important;
        height: auto !important;
        max-height: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .sc-tab .dropdown-style > .dropdown-panel a {
        pointer-events: auto;
    }
    .sc-tab .dropdown-style .dropdown-panel-scroll {
        max-height: none;
        overflow: visible;
    }

    /* Intro */
    .intro-overlay {
        position: absolute;
    }

    .intro-wrapper {
        position: relative;
        display: grid;
        grid-template-columns: var(--intro-logo-size) auto repeat(2, 6.9444444444vw) auto;
        grid-column-gap: 1.1vw;
        grid-auto-rows: -webkit-min-content;
        grid-auto-rows: min-content;
        grid-auto-flow: dense;
        justify-content: center;
        padding-right: var(--spacing-container);
    }
    .intro-wrapper > .intro-logo {
        grid-row: 1;
        grid-column: 1;
        width: var(--intro-logo-size);
        position: absolute;
        top: var(--font-size-h0);
        left: calc(10.06944444444vw + var(--spacing-container));
        transform: translate(-100%, -100%);
    }
    .intro-wrapper > .intro-words-1 {
        grid-row: 1;
        grid-column: 1 / span 5;
        position: relative;
        padding-left: calc(10.06944444444vw + var(--spacing-md) * 2);
    }
    .intro-wrapper > .intro-words-2 {
        grid-row: 2;
        grid-column: 3 / span 3;
    }
    .intro-wrapper > .intro-words-3 {
        grid-row: 3;
        grid-column: 1 / span 2;
        text-align: right;
    }
    .intro-wrapper > .intro-words-4 {
        grid-row: 3;
        grid-column: 4 / span 2;
    }
    .intro-wrapper > .intro-words-5 {
        grid-row: 4;
        grid-column: 1 / span 2;
        text-align: right;
    }
    .intro-wrapper > .intro-words-6 {
        grid-row: 4;
        grid-column: 5;
    }
    .intro-wrapper > .intro-words-7 {
        grid-row: 5;
        grid-column: 1 / span 2;
        text-align: right;
    }
    .intro-wrapper > .intro-cover {
        grid-row: 4 / span 2;
        grid-column: 3 / span 2;
        width: 100%;
        aspect-ratio: 200/300;
        background: var(--color-background);
        z-index: 2;
        overflow: hidden;
        pointer-events: none;
        margin-top: calc(var(--line-height-h0) * 1em);
    }
    .intro-wrapper > .intro-content {
        grid-row: 5;
        grid-column: 5;
        width: 33.6805555556vw;
        margin-top: calc(var(--line-height-h0) * 1em);
    }

    *[data-section="intro"] > .sc-inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        min-height: 0;
    }
    *[data-section="intro"] > .sc-inner > .sc-container {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
    }

    html.has-intro {
        --intro-logo-size: min(10.06944444444vw, 145px);
    }
    html.has-intro:not(.intro-taller-than-vp) *[data-section="intro"] > .sc-inner {
        min-height: 100svh;
        justify-content: center;
    }

    /* Overview */
    .overview > .caption {
        height: 100%;
        width: min(36.3888888889vw, 524px);
        margin: 0 auto;
        position: absolute;
        z-index: 2;
        top: 0;
        bottom: 0;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        background: var(--color-white);
        color: var(--color-primary);
        padding: var(--spacing-container);
    }
    .overview > .caption .entry-title {
        margin-bottom: auto;
    }

    /* Portfolio */
    .portfolio {
        flex-direction: row;
    }
    .portfolio > .caption {
        width: 252px;
        padding: var(--spacing-container);
    }
    .portfolio > .gallery {
        position: static;
        width: calc(100% - 252px - var(--spacing-column));
    }
    .portfolio > .gallery .gallery-wrapper {
        position: static;
        overflow: hidden;
    }
    .portfolio.blend-mode {
        background: var(--color-background);
    }
    .portfolio.blend-mode > .caption {
        position: relative;
        z-index: 2;
        color: #fff;
        mix-blend-mode: difference;
        pointer-events: none;
    }
    .portfolio.blend-mode > .gallery .gallery-wrapper {
        overflow: visible;
    }

    /* Inspiration Featured */
    .inspiration-featured {
        display: flex;
        grid-gap: 0 var(--spacing-column);
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    .inspiration-featured-content,
    .inspiration-featured-cover {
        width: calc(50% - (var(--spacing-column) / 2));
        aspect-ratio: 1/1;
    }
    .inspiration-featured-cover .cover {
        width: 50%;
    }
    .inspiration-featured-content > * {
        width: 75%;
        max-width: var(--container-xs, 100%);
    }
    .inspiration-featured-slider {
        background: none !important;
    }
    .inspiration-featured-slider.c-white:before {
        content: "";
        display: block;
        height: 100%;
        width: calc(50% - (var(--spacing-column) / 2));
        background: var(--color-primary);
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        pointer-events: none;
    }
    .inspiration-featured-slider > :is(.entry-category, .entry-explore) {
        width: calc(50% - (var(--spacing-column) / 2));
    }

    /* Error404 */
    *[data-intro="404"] .intro-wrapper {
        grid-auto-flow: unset;
        justify-content: space-between;
    }
    *[data-intro="404"] .intro-wrapper > * {
        grid-row: unset;
    }
    *[data-intro="404"] .intro-wrapper > .intro-words-3 {
        grid-column: 1 / span 5;
        text-align: left;
        padding-left: 3.3333333333vw;
    }
    *[data-intro="404"] .intro-wrapper > .intro-words-4 {
        grid-row: unset;
        grid-column: 1 / span 5;
        text-align: right;
        padding-right: 9.4444444444vw;
    }
}

@media (min-width: 1200px) {
    .visible-device {
        display: none !important;
    }
    .visible-device:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    /* Header */
    .header-navi,
    .header-navi .menu {
        grid-column-gap: calc(var(--spacing-container) * 1.5);
    }

    .header-brand {
        order: 0;
        margin-right: auto;
    }
    .header-menu {
        order: 1;
    }
    .header-system {
        order: 2;
    }
    .header-system .tool[data-tool="menu"] {
        display: none !important;
    }

    .header-menu {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        height: auto !important;
        max-height: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .header-menu .menu {
        display: flex;
        justify-content: flex-end;
    }

    /* modules */
    *[data-card="client"] {
        --column: 9;
    }
}

@media (min-width: 1280px) {
    /* Header */
    .header-navi,
    .header-navi .menu {
        grid-column-gap: 4.1666666667vw;
    }
}

@media (min-width: 1680px) {
    /* modules */
    *[data-card="client"] {
        --column: 12;
    }
}

/*MEDIA QUERIES:MAX====================*/
@media (max-width: 1199px) {
    .hidden-device {
        display: none !important;
    }
    .hidden-device:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-device {
        overflow: hidden !important;
    }
    .overflow-visible-device {
        overflow: visible !important;
    }

    .alignwide-device {
        width: 100% !important;
    }
    .alignfull-device {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    /* Header */
    .header-brand,
    .header-system {
        position: relative;
        z-index: 101;
    }

    .header-system .tool[data-tool="search"] .search-box {
        --input-spacing-x: var(--spacing-container);
        width: 100vw;
        max-width: 100vw;
        margin: 0 calc(50% - 50vw);
        border-left: 0;
        border-right: 0;
        position: fixed;
        left: 0;
        right: 0;
        top: var(--header-height);
        bottom: auto;
    }

    .header-menu {
        margin: 0;
        padding: 0;
        width: 100vw;
        height: 100dvh;
        background: var(--color-white);
        color: var(--color-primary);
        overflow: hidden;
        position: fixed;
        z-index: 100;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        display: none;
    }
    html.on-resize .header-menu,
    html.on-resize .header-menu a {
        transition: none !important;
    }

    .header-menu .menu {
        flex-direction: column;
    }
    .header-menu .menu li {
        width: 100%;
        display: flex;
        align-items: center;
        grid-gap: 0;
    }
    .header-menu .menu-panel {
        position: relative;
        z-index: 1;
        width: 100%;
        padding-top: var(--header-height);
        overflow: hidden;
    }
    .header-menu .menu-panel-wrap {
        display: flex;
        flex-direction: column;
        position: relative;
        width: 100%;
        height: calc(100dvh - var(--header-height));
        overflow: hidden;
        -webkit-mask-box-image: -webkit-linear-gradient(90deg, transparent 0%, white var(--spacing-md));
    }
    .header-menu .menu-panel-scroll {
        flex: 1;
        display: flex;
        flex-direction: column;
        width: auto;
        max-width: none;
        height: 100%;
        padding: 0 25px 0 0;
        margin-right: -25px;
        overflow: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-mask-box-image: -webkit-linear-gradient(-90deg, transparent 0%, white var(--spacing-md));
    }
    .header-menu .menu-panel-inner {
        flex: 1;
        width: 100%;
        position: relative;
        display: flex;
        flex-direction: column;
        grid-gap: var(--spacing-content);
        padding: var(--spacing-md) var(--spacing-container);
    }

    html.header-menu-active #header {
        --rgb: var(--color-primary-rgb);
        --rgb-couple: var(--color-white-rgb);
    }
    html.header-menu-active .header-brand .logo {
        -webkit-filter: unset;
        filter: unset;
    }

    /* Intro */
    html.has-intro:is(.header-menu-active) .header-brand .brand {
        opacity: 1 !important;
        pointer-events: auto !important;
        transition: var(--duration) var(--easing);
    }
}

@media (max-width: 991px) {
    :root {
        --spacing-container: var(--spacing-xs);
        --spacing-section: var(--spacing-lg);

        --logo-height: 40px;
        --header-navi-height: 60px;
    }

    .hidden-device-sm {
        display: none !important;
    }
    .hidden-device-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-device-sm {
        overflow: hidden !important;
    }
    .overflow-visible-device-sm {
        overflow: visible !important;
    }

    .alignwide-device-sm {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .alignfull-device-sm {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    /* Gutenberg */
    .entry-content .wp-block-columns {
        flex-wrap: wrap !important;
    }
    .entry-content .wp-block-columns > * {
        flex-basis: unset !important;
        flex-grow: unset !important;
        width: 100% !important;
    }
    .entry-content .wp-block-gallery {
        grid-row-gap: var(--spacing-container);
    }
    .entry-content .wp-block-gallery > * {
        width: 100% !important;
    }

    /* Plugin:Slider */
    .swiper-button-prev.spacing-container {
        left: calc(var(--spacing-container) / 2);
    }
    .swiper-button-next.spacing-container {
        right: calc(var(--spacing-container) / 2);
    }

    /* Section */
    .sc-gallery .swiper-slide {
        width: 100% !important;
    }

    /* Modules */
    .card-container[data-layout="slider"] .swiper-button-prev {
        left: 0;
    }
    .card-container[data-layout="slider"] .swiper-button-next {
        right: 0;
    }

    /* Intro */
    .intro-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start;
        grid-column-gap: 1em;
    }
    .intro-wrapper .intro-heading {
        width: 100%;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-auto-rows: -webkit-min-content;
        grid-auto-rows: min-content;
        grid-auto-flow: dense;
        grid-column-gap: var(--spacing-content-sm);
        align-items: center;
        margin-bottom: var(--spacing-content);
    }
    .intro-wrapper .intro-heading > :not(.intro-logo) {
        grid-column: 2;
    }
    .intro-wrapper .intro-heading > .intro-logo {
        grid-column: 1;
        grid-row: 1 / span 2;
    }
    .intro-wrapper .intro-heading > .intro-logo .logo {
        display: block;
        width: auto;
        height: calc(var(--font-size-h0) * 2);
    }
    .intro-wrapper .intro-content {
        width: 100%;
    }
    .intro-wrapper .intro-content:not(:first-child) {
        margin-top: var(--spacing-content);
    }
    .intro-wrapper .intro-cover {
        aspect-ratio: 390/130;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    .index-main *[data-section="intro"] > .sc-inner {
        display: flex;
        min-height: 100svh;
    }
    .index-main *[data-section="intro"] > .sc-inner > .sc-container,
    .index-main *[data-section="intro"] > .sc-inner > .sc-container > .sc-content {
        flex: 1;
        display: flex;
        width: 100%;
    }
    .index-main *[data-section="intro"] .intro-container {
        flex: 1;
        width: 100%;
        display: flex;
    }
    .index-main *[data-section="intro"] .intro-wrapper {
        flex: 1;
        width: 100%;
    }
    .index-main *[data-section="intro"] .intro-wrapper > .intro-cover {
        flex: 1;
        min-height: 100%;
    }

    html.has-intro *[data-section="intro"] > .sc-inner {
        padding-top: calc(var(--spacing-section) + var(--header-height));
    }
    html.has-intro.intro-taller-than-vp .pin-spacer-intro-section {
        height: var(--height-intro-spacer) !important;
    }

    /* Portfolio */
    .portfolio {
        padding-left: var(--spacing-container);
        padding-right: var(--spacing-container);
        flex-direction: column;
    }
    .portfolio > .gallery {
        position: relative;
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: var(--spacing-container);
        padding-right: var(--spacing-container);
        overflow: hidden;
    }
    .portfolio > .gallery:first-child {
        margin-bottom: 0.5em;
    }
    .portfolio > .gallery:last-child {
        margin-bottom: 0.5em;
    }

    /* Moving Forward */
    .moving-forward-container {
        --cards-width: min(47.6923076923vw, 360px);
        flex-direction: column;
    }
    .moving-forward-cards-space {
        display: none;
    }
    .moving-forward-cards {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
    }

    /* Inspiration Featured */
    .inspiration-featured-slider > .entry-explore,
    .inspiration-featured-slider .swiper-pagination.numbered {
        bottom: calc(100vw - var(--spacing-container) * 2) !important;
    }

    /* Service */
    *[data-section="service"] .sc-grid-row > .sc-inner > .sc-container[data-row-total="1"] :is(.sc-group, .sc-columns) {
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    *[data-section="service"] .sc-grid-row > .sc-inner > .sc-container[data-row-total="1"] :is(.sc-group, .sc-columns) > .sc-headline {
        margin-bottom: auto;
    }

    /* Error404 */
    *[data-intro="404"] .intro-wrapper :is(.intro-words-2, .intro-words-4) {
        text-align: right;
        margin-left: auto;
    }
}

@media (max-width: 781px) {
    /* Gutenberg */
    .wp-block-columns > .wp-block-column:empty {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .hidden-mobile {
        display: none !important;
    }
    .hidden-mobile:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-mobile {
        overflow: hidden !important;
    }
    .overflow-visible-mobile {
        overflow: visible !important;
    }

    .alignwide-mobile {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .alignfull-mobile {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

@media (max-width: 599px) {
    .hidden-mobile-sm {
        display: none !important;
    }
    .hidden-mobile-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-mobile-sm {
        overflow: hidden !important;
    }
    .overflow-visible-mobile-sm {
        overflow: visible !important;
    }

    .alignwide-mobile-sm {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .alignfull-mobile-sm {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    /* Footer */
    .footer-navi {
        padding-top: var(--spacing-md);
        padding-bottom: var(--spacing-md);
        grid-row-gap: var(--spacing-content);
    }
    .footer-navi .policy {
        flex-direction: column;
    }
}

@media (max-width: 500px) {
    :root {
        font-size: min(2vw, 10px);
    }
}

/*MEDIA QUERIES:MIN AND MAX====================*/
@media (min-width: 992px) and (max-width: 1440px) {
}
