:root {
    font-size: 10px;

    --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;

    --line-height-xs: 1;
    --line-height-sm: 1.25;
    --line-height-md: 1.5;
    --line-height-lg: 1.75;

    --font-size-h2: clamp(2.2rem, 2.2222222222vw, 3.2rem);
    --font-size-h2-line-height: var(--line-height-sm);
    --font-size-h1: clamp(2.6rem, 2.7777777778vw, 4rem);
    --font-size-h1-line-height: var(--line-height-sm);

    --icon-size: 1.6rem;

    --font-base: "Poppins", "IBM Plex Sans Thai", sans-serif;
    --font-base-style: normal;
    --font-base-weight: 400;
    --font-base-weight-bold: 700;
    --font-base-size: var(--font-size-xs);
    --font-base-size-sm: var(--font-size-2xs);
    --font-base-line-height: var(--line-height-md);
    --font-base-letter-spacing: 0.1em;

    --font-display: "adobe-caslon-pro", "than", serif;
    --font-display-style: normal;
    --font-display-weight: 400;
    --font-display-weight-bold: 700;
    --font-display-size: var(--font-size-lg);
    --font-display-size-sm: var(--font-size-sm);
    --font-display-line-height: var(--line-height-md);
    --font-display-letter-spacing: 0.01em;

    --color-black: 0, 0, 0;
    --color-black-filter: brightness(0);
    --color-white: 255, 255, 255;
    --color-white-filter: brightness(0) invert(1);
    --color-red: 194, 0, 0;
    --color-red-filter: brightness(0) invert(11%) sepia(99%) saturate(5031%) hue-rotate(1deg) brightness(80%) contrast(115%);
    --color-neutral-dark: 25, 25, 25;
    --color-neutral-dark-filter: brightness(0) invert(0%) sepia(5%) saturate(6025%) hue-rotate(15deg) brightness(115%) contrast(80%);
    --color-neutral-light: 250, 248, 241;
    --color-neutral-light-filter: brightness(0) invert(88%) sepia(3%) saturate(714%) hue-rotate(335deg) brightness(114%) contrast(96%);
    --color-brown: 49, 32, 23;
    --color-brown-filter: brightness(0) invert(9%) sepia(32%) saturate(968%) hue-rotate(336deg) brightness(97%) contrast(89%);
    --color-beige: 244, 241, 229;
    --color-beige-filter: brightness(0) invert(93%) sepia(6%) saturate(564%) hue-rotate(335deg) brightness(107%) contrast(91%);
    --color-green: 31, 67, 46;
    --color-green-filter: brightness(0) invert(19%) sepia(57%) saturate(436%) hue-rotate(92deg) brightness(90%) contrast(88%);
    --color-gold: 142, 129, 97;
    --color-gold-filter: brightness(0) invert(55%) sepia(4%) saturate(3080%) hue-rotate(5deg) brightness(92%) contrast(69%);
    --color-offwhite: 227, 223, 214;
    --color-offwhite-filter: brightness(0) invert(93%) sepia(9%) saturate(171%) hue-rotate(4deg) brightness(97%) contrast(91%);

    --color-background: var(--color-beige);
    --color-background-filter: var(--color-beige-filter);

    --color-base: var(--color-brown);
    --color-base-filter: var(--color-brown-filter);

    --color-display: var(--color-green);
    --color-display-filter: var(--color-green-filter);

    --color-accent: var(--color-gold);
    --color-accent-filter: var(--color-gold-filter);

    --color-border: var(--color-offwhite);
    --color-border-filter: var(--color-offwhite-filter);

    --color-link-hover: var(--color-display);

    --spacing-2xl: 9.6rem;
    --spacing-xl: 6.4rem;
    --spacing-lg: 4.8rem;
    --spacing-md: 3.2rem;
    --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-2xl);
    --spacing-section-row: var(--spacing-xl);
    --spacing-row: var(--spacing-lg);
    --spacing-column: var(--spacing-sm);
    --spacing-content: var(--spacing-sm);
    --spacing-content-sm: var(--spacing-xs);
    --spacing-content-xs: var(--spacing-3xs);

    --logo-height: 4.8rem;
    --header-navi-height: calc(var(--logo-height) + var(--spacing-xs) * 2);
    --header-height: var(--header-navi-height);

    --border-width: 1px;
    --border-style: solid;
    --border-color: rgba(var(--color-border), 1);
    --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.8rem;
    --input-spacing-y: 0.3em;
    --input-spacing-x: 0px;
    --input-color-border: rgba(var(--color-accent), 1);
    --input-color-background: transparent;
    --input-color-text: rgba(var(--color-base), 1);
    --input-border: var(--border-width) var(--border-style) var(--input-color-border);
    --input-border-radius: 0px;

    --button-height: 3.4rem;
    --button-spacing-y: 0.3em;
    --button-spacing-x: var(--spacing-sm);
    --button-color-background: transparent;
    --button-color-border: rgba(var(--color-accent), 1);
    --button-color-text: rgba(var(--color-accent), 1);
    --button-color-background--hover: rgba(var(--color-accent), 1);
    --button-color-border--hover: rgba(var(--color-accent), 1);
    --button-color-text--hover: rgba(var(--color-white), 1);

    --button-border-radius: 0px;

    --link-underline: 0 1px 0 0 currentColor;

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

    --duration: 0.5s;
    --duration-slow: 1s;
    --duration-slower: 1.5s;
    --duration-fast: 300ms;
    --easing: ease;

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

/* Fix Style */
.bg-black {
    --color-background: var(--color-black);
    --color-background-filter: var(--color-black-filter);
    background-color: rgb(var(--color-background)) !important;
}
.bg-neutral-light {
    --color-background: var(--color-neutral-light);
    --color-background-filter: var(--color-neutral-light-filter);
    background-color: rgb(var(--color-background)) !important;
}

.color-white {
    --color-base: var(--color-white);
    --color-base-filter: var(--color-white-filter);
    --color-link-hover: var(--color-white);
    --button-color-background: transparent;
    --button-color-border: rgba(var(--color-white), 1);
    --button-color-text: rgba(var(--color-white), 1);
    --button-color-background--hover: rgba(var(--color-accent), 1);
    --button-color-border--hover: rgba(var(--color-accent), 1);
    --button-color-text--hover: rgba(var(--color-white), 1);

    color: rgba(var(--color-base), 1) !important;
}
.color-display {
    color: rgba(var(--color-display), 1) !important;
}
.color-accent {
    color: rgba(var(--color-accent), 1) !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;
}

.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;
}

.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;
}

/* Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}
::-webkit-scrollbar {
    width: 0px;
    overflow: hidden;
}
::-moz-selection {
    background: rgba(var(--color-base), 1);
    color: rgba(var(--color-background), 1);
}
::selection {
    background: rgba(var(--color-base), 1);
    color: rgba(var(--color-background), 1);
}

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

body {
    margin: 0;
    padding: 0;
    position: relative;
    color: rgba(var(--color-base), 1);
    background-color: rgba(var(--color-background), 1);
    -webkit-animation: pageAnimation var(--duration-slower) var(--easing) 1 forwards;
    animation: pageAnimation var(--duration-slower) var(--easing) 1 forwards;
}
@-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-style: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: 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;
    padding: 0;
    border: 0;
    background: none;
}
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: var(--border-width);
    background-color: var(--border-color);
}
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-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.font-base {
    font-family: var(--font-base) !important;
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
}

.font-display {
    font-family: var(--font-display) !important;
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
}

.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;
}
.font-size-h2 {
    font-size: var(--font-size-h2) !important;
    line-height: var(--font-size-h2-line-height);
}

.text-display {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size);
    line-height: var(--font-display-line-height);
    letter-spacing: var(--font-display-letter-spacing);
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}
.text-display-overline {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size-sm);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}
.text-display-content {
    --font-base-size: var(--font-display-size);
    --font-base-size-sm: var(--font-display-size-sm);
    --font-base-line-height: var(--line-height-lg);
    --font-base-letter-spacing: var(--font-display-letter-spacing);
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
}

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

/*CTA====================*/
a:hover {
    color: rgba(var(--color-link-hover), 1);
}

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

.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;
}

.link-underline *:is(a, button, u):not(.button, .wp-block-button__link),
.link-underline-hover *:is(a, button):not(.button, .wp-block-button__link):hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.link-explore,
.links-style a:not(.button) {
    text-decoration: none;
    outline: none;
    position: relative;
    color: inherit;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.link-explore::before,
.links-style a:not(.button)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--border-width);
    background-color: currentColor;
    transform: scale3d(0, 1, 1);
    transform-origin: 100% 50%;
    transition: var(--duration) var(--easing);
    transition-property: transform, background-color;
}
.link-explore:is(:hover, .active)::before,
.links-style a:not(.button):is(:hover, .active)::before {
    transform: scale3d(1, 1, 1);
    transform-origin: 0% 50%;
}

.link-explore.active::before {
    background-color: rgba(var(--color-accent), 1);
}
.color-white .link-explore.active::before {
    background-color: currentColor;
}
.link-explore.active:hover::before {
    transform: scale3d(0, 1, 1);
    transform-origin: 100% 50%;
}
.link-explore.active:hover {
    color: currentColor;
}
.link-explore:is(:disabled, .disabled) {
    opacity: 0.5 !important;
    pointer-events: none !important;
}

.link-container {
    display: flex;
    flex-wrap: wrap;
    align-items: first baseline;
    grid-gap: var(--spacing-content-xs) clamp(var(--spacing-xs), 2.7777777778vw, var(--spacing-lg));
}
.link-container.align-center,
.align-center .link-container {
    justify-content: center;
}

*:is(.button, .wp-element-button, .wp-block-button__link) {
    text-decoration: none;
    box-shadow: none;
    background: none;
    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: 14.8rem;
    max-width: 100%;
    height: var(--button-height);
    min-height: 0;
    max-height: none;
    padding: var(--button-spacing-y) var(--button-spacing-x);
    color: var(--button-color-text);
    background-color: var(--button-color-background);
    border: var(--border-width) var(--border-style) var(--button-color-border);
    border-radius: var(--button-border-radius);
    opacity: 1;
    overflow: hidden;
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: normal;
    letter-spacing: var(--font-base-letter-spacing);
    text-transform: uppercase;
    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):is(:hover, .active) {
    color: var(--button-color-text--hover);
    background-color: var(--button-color-background);
    border-color: var(--button-color-border--hover);
    box-shadow: inset 0 0 0 var(--button-height) var(--button-color-background--hover);
    opacity: 1;
}
*:is(.button, .wp-element-button, .wp-block-button__link).w-auto {
    min-width: 0;
}
*:is(.button, .wp-element-button, .wp-block-button__link):is(:disabled, .disabled) {
    opacity: 0.5;
    pointer-events: none;
}

.buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: var(--spacing-content-sm) var(--spacing-content);
}
.buttons.align-center,
.align-center .buttons {
    justify-content: center;
}

/* General */
.container {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
}
.container.padding-x-x2 {
    padding-left: calc(var(--spacing-container) * 2);
    padding-right: calc(var(--spacing-container) * 2);
}

*: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.13em !important;
    padding-right: 0.13em !important;
}
.ic-youtube::before {
    transform: scale(1.3);
}

.ic-wrap {
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    grid-gap: var(--spacing-content-xs);
}
.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: none;
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}
*: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%;
}
.object-svg {
    display: block;
    overflow: hidden;
    position: relative;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.object-svg > svg {
    outline: 0;
    border: 0;
    display: block;
    height: auto;
    width: 100%;
    max-width: 100%;
}
.object-overlay {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.object-caption > *:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}
.object-caption:not(:first-child) {
    margin-top: var(--spacing-content);
}
.object-caption:not(:last-child) {
    margin-bottom: var(--spacing-content);
}

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

.social {
    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 {
    font-size: var(--icon-size);
    vertical-align: top;
}
.social img {
    display: block;
    width: 1em;
    height: 1em;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

:is(.menu, .policy, .info) {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content-sm) var(--spacing-content);
}
:is(.menu, .policy, .info).align-center,
.align-center :is(.menu, .policy, .info) {
    justify-content: center;
}

.info > .ic-text {
    text-align: left;
}

.map-container {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.map-container::before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 46.4285714286%;
}
.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-base-size);
    --wp--preset--font-size--small: var(--font-base-size);
    --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-h2);
    --wp--preset--font-size--huge: var(--font-size-h1);
    --wp--style--global--content-size: 100%;
    --wp--style--global--wide-size: 100%;
    --wp--style--block-gap: var(--spacing-column);
    --wp--style--unstable-gallery-gap: var(--spacing-column);
    --wp--custom--gap--baseline: var(--spacing-content);
    --wp--custom--gap--block: var(--spacing-section);
}
.entry-content .is-layout-flex {
    display: flex;
    flex-wrap: wrap;
}
.entry-content .is-layout-grid {
    display: grid;
    gap: calc(2 * var(--wp--custom--gap--baseline));
}

.entry-content :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}
.entry-content p {
    margin: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}

.entry-content .has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(.has-normal-font-size, .has-regular-font-size) {
    font-size: var(--wp--preset--font-size--normal) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(h4, .has-medium-font-size) {
    font-size: var(--wp--preset--font-size--medium) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(h3, .has-large-font-size, .has-larger-font-size) {
    font-size: var(--wp--preset--font-size--large) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(h2, .has-x-large-font-size) {
    font-size: var(--wp--preset--font-size--x-large) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(h1, .has-xx-large-font-size) {
    font-size: var(--wp--preset--font-size--xx-large) !important;
    line-height: var(--font-size-h2-line-height);
}
.entry-content :is(.has-huge-font-size) {
    font-size: var(--wp--preset--font-size--huge) !important;
    line-height: var(--font-size-h1-line-height);
}

.entry-content :is(ul, ol) {
    margin: 0;
    padding: 0;
    list-style: none;
}
.entry-content ul.wp-block-list {
    list-style-type: disc;
    padding-left: 1em;
}
.entry-content ul.wp-block-list ::marker {
    font-size: small;
}
.entry-content ol.wp-block-list {
    list-style-type: decimal;
    list-style-position: inside;
}

.entry-content :is([class*="wp-block-"], figcaption) {
    margin: 0;
}

.entry-content :is(.wp-block-image, .wp-block-video) {
    width: 100%;
}
.entry-content :is(.wp-block-image, .wp-block-video) :is(img, video) {
    display: block;
    height: auto;
    max-height: none;
    max-width: 100%;
    margin: 0 auto;
}
.entry-content :is(.wp-block-image, .wp-block-video).size-large :is(img, video) {
    width: 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-base-size-sm);
    line-height: var(--font-base-line-height);
    color: inherit;
}

.entry-content .wp-block-buttons > .wp-block-button {
    margin: 0;
    vertical-align: top;
}

.entry-content .wp-block-separator {
    border: 0;
    color: currentColor;
    -webkit-animation: none !important;
    animation: none !important;
}

.entry-content > * {
    margin-top: 0;
    margin-bottom: 0;
}
.entry-content > *:not(:first-child),
.entry-content :is(.wp-block-group, .wp-block-column, .wp-block-quote) > *:not(:first-child) {
    margin-top: var(--spacing-content);
}
.entry-content [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column) + *:not(:first-child),
.entry-content * + [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column):not(:first-child) {
    margin-top: calc(var(--spacing-row));
}
.entry-content > [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column, .wp-block-button, .wp-block-buttons) + *:not(:first-child),
.entry-content > * + [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column, .wp-block-button, .wp-block-buttons):not(:first-child) {
    margin-top: var(--spacing-section);
}
.entry-content :is(.wp-block-list) > *:not(:first-child),
.entry-content :is(p, address) + :is(.wp-block-list):not(:first-child),
.entry-content [class*="wp-block-"] figcaption:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}
.entry-content :is(.wp-block-buttons, .wp-block-media-text) > :not(:first-child) {
    margin-top: 0 !important;
}

.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(--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-content .alignwide {
    width: calc(100vw - (var(--spacing-container) * 2)) !important;
    max-width: calc(100vw - (var(--spacing-container) * 2)) !important;
    margin-left: calc(50% - (100vw - (var(--spacing-container) * 2)) / 2) !important;
    margin-right: calc(50% - (100vw - (var(--spacing-container) * 2)) / 2) !important;
}

.entry-content .wp-block-group.has-global-padding {
    padding-right: 0;
    padding-left: 0;
}

.entry-share {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content-xs) var(--spacing-column);
    align-items: center;
}
.entry-share .title {
    text-transform: uppercase;
}
.entry-share .social .ic {
    font-size: var(--font-size-xl);
}
.entry-share.align-center,
.align-center .entry-share {
    justify-content: center;
}

/* Form */
input:not([type="checkbox"], [type="radio"]),
textarea,
select {
    display: block;
    width: 100%;
    height: var(--input-height);
    padding: var(--input-spacing-y) var(--input-spacing-x);
    border: 0;
    border-bottom: var(--input-border);
    border-color: var(--input-color-border);
    border-radius: var(--input-border-radius);
    background: var(--input-color-background);
    color: var(--input-color-text);
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size);
    line-height: var(--font-display-line-height);
    letter-spacing: normal;
    text-align: left;
}

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

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: rgba(var(--color-base), 0.3) !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: rgba(var(--color-base), 0.3) !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: rgba(var(--color-base), 0.3) !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-border);
    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: rgba(var(--color-accent), 1) !important;
    background: rgba(var(--color-white), 1) !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: 0;
}
.select2-container.select2-container--default.select2-container--open .select2-dropdown--below {
    margin: -1px 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-content);
    font-family: var(--font-base);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-align: left;
}
.select2-container.select2-container--default .select2-results > .select2-results__options {
    max-height: 50vh;
    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-sm);
}
.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);
    color: var(--input-color-text);
    background: var(--input-color-background);
    border: 0 !important;
    border-bottom: var(--input-border) !important;
    border-color: var(--input-color-border) !important;
    border-radius: var(--input-border-radius) !important;
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size);
    line-height: var(--font-display-line-height);
    letter-spacing: normal;
    text-align: left;
    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: rgba(var(--color-base), 0.3);
    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-border);
    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 {
    text-decoration: none !important;
    background: none !important;
    color: inherit !important;
}
.select2-container.select2-container--default .select2-results__option span {
    display: inline;
    font-weight: inherit;
    transition: var(--duration) var(--easing);
}
.select2-container.select2-container--default .select2-results__option[role="group"] {
    padding: 0;
}
.select2-container.select2-container--default .select2-results__option--highlighted[aria-selected] span {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.select2-container.select2-container--default .select2-results__option:is([aria-selected="true"], [data-selected="true"]) {
    text-decoration: none !important;
    background: none !important;
    color: inherit !important;
    font-weight: var(--font-base-weight-bold) !important;
}
.select2-container.select2-container--default .select2-results__option:is([aria-selected="true"], [data-selected="true"]) span {
    box-shadow: none;
}
.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;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 2rem;
    max-width: 100%;
    min-height: 2rem;
    font-family: var(--font-base);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-transform: none;
    color: rgba(var(--color-accent), 1);
}
.align-center .choice {
    margin-left: auto;
    margin-right: auto;
}
.choice input:is([type="checkbox"], [type="radio"]) {
    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:is([type="checkbox"], [type="radio"]) + 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;
    padding-left: calc(2rem + var(--spacing-2xs));
    text-align: left;
    line-height: normal;
    height: auto;
    cursor: pointer;
}
.choice input:is([type="checkbox"], [type="radio"]) + span a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.choice input:is([type="checkbox"], [type="radio"]) + span::before,
.choice input:is([type="checkbox"], [type="radio"]) + span::after {
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0px;
    color: rgba(var(--color-accent), 1);
    margin: 0;
    position: absolute;
    left: 0;
    top: -0.1ex;
}
.choice input:is([type="checkbox"], [type="radio"]) + span::before {
    background: rgba(var(--color-white), 1);
    border: var(--input-border);
    border-color: rgba(var(--color-accent), 1);
}
.choice input:is([type="checkbox"], [type="radio"]) + span::after {
    background: rgba(var(--color-accent), 1);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.1s;
}
.choice input:is([type="checkbox"], [type="radio"]):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: 1.4rem;
    color: rgba(var(--color-accent), 1);
    background: none;
}
.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-base-size) + var(--spacing-2xs));
}

.fieldset {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--spacing-section-row);
}

.fields {
    --field-spacing-x: var(--spacing-column);
    --field-spacing-y: var(--spacing-row);
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--field-spacing-y) var(--field-spacing-x);
}
.field {
    position: relative;
    width: 100%;
}
.field.focusin {
    z-index: 2;
}

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

.input {
    position: relative;
    text-align: left;
}

.label {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    position: relative;
    display: block;
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    color: rgba(var(--color-accent), 1);
    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: 0;
    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;
    transform: translateY(-100%);
}
.input:has(*:-internal-autofill-selected) .label.anim.fixed {
    top: 0;
    transform: translateY(-100%);
}

#form-message {
    display: none;
    width: 100%;
    height: 100dvh;
    overflow: hidden;

    position: fixed;
    z-index: 102;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.form-message-overlay {
    width: 100%;
    height: 100lvh;
    position: fixed;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, var(--opacity-light));
}
.form-message-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}
.form-message-box {
    position: relative;
    z-index: 1;
    width: 44.2rem;
    max-width: calc(100vw - var(--spacing-container) * 2);
    margin: auto;
    overflow: hidden;
    background-color: rgba(var(--color-background), 1);
    color: rgba(var(--color-base), 1);
    pointer-events: auto;
}
.form-message-box-scroll {
    height: auto;
    max-height: calc(100dvh - var(--spacing-container) * 2);
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
}
.form-message-box-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    grid-gap: var(--spacing-content-sm);
    padding: var(--spacing-md) var(--spacing-container);
}
.form-message-box-body > .entry-title:not(:last-child) {
    padding-bottom: var(--spacing-content-sm);
    border-bottom: var(--border);
}
.form-message-box-body > .entry-explore:not(:first-child) {
    margin-top: calc(var(--spacing-section-row) - var(--spacing-content-sm));
}

/* Form : Upload File */
.file-upload-wrapper {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    grid-gap: 0 var(--spacing-2xs);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.file-upload-wrapper .file-upload-input,
.file-upload-wrapper .file-upload-remark {
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: normal;
    letter-spacing: var(--font-base-letter-spacing);
    text-transform: uppercase;
    color: rgba(var(--color-accent), 1);
}
.file-upload-wrapper .file-upload-input {
    grid-row: 1;
    grid-column: 2;
    border: 0;
    padding: 0;
    width: 100%;
    height: auto;
    font-weight: var(--font-base-weight-bold);
}
.file-upload-wrapper .file-upload-input:-ms-input-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-base-weight) !important;
    font-size: inherit !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    color: inherit !important;
    opacity: 1 !important;
}
.file-upload-wrapper .file-upload-input::-webkit-input-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-base-weight) !important;
    font-size: inherit !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    color: inherit !important;
    opacity: 1 !important;
}
.file-upload-wrapper .file-upload-input::-moz-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-base-weight) !important;
    font-size: inherit !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    color: inherit !important;
    opacity: 1 !important;
}
.file-upload-wrapper .file-upload-remark {
    grid-row: 2;
    grid-column: 2;
}
.file-upload-wrapper .file-upload-action {
    grid-row: 1 / span 2;
    grid-column: 1;
    cursor: pointer;
    height: auto;
    width: auto;
    min-width: 0;
}
.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 : 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: rgba(var(--color-accent), 1);
    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-"].color-white,
.color-white *[class*="swiper-button-"] {
    color: inherit;
}
.swiper-button-prev {
    left: 0;
}
.swiper-button-next {
    right: 0;
}
.swiper-button-prev.x-container {
    left: var(--spacing-container);
}
.swiper-button-next.x-container {
    right: var(--spacing-container);
}
*[class*="swiper-button-"]::after {
    font-family: "iconfont";
    font-size: 2.4rem;
    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.2em);
}
.swiper-button-next::after {
    content: "\e90a";
    transform: translateX(0.2em);
}
.swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: auto !important;
}
.swiper-button-lock {
    display: none !important;
}

.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;
}

.swiper-pagination:not(.swiper-pagination-custom) {
    --bullet-size: 4px;
    line-height: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    grid-gap: var(--spacing-3xs);
    pointer-events: none;
}
.swiper-pagination.align-center {
    justify-content: center;
}
.swiper-pagination-bullet {
    outline: none !important;
    margin: 0 !important;
    opacity: var(--opacity-light) !important;
    font-size: 0;
    display: block;
    width: var(--bullet-size);
    height: var(--bullet-size);
    background: rgba(var(--color-accent), 1);
    border: 0;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    transition: var(--duration) var(--easing);
    pointer-events: auto;
}
.color-white .swiper-pagination-bullet {
    background-color: currentColor;
}
.swiper-pagination-bullet:only-child {
    display: none !important;
}
.swiper-pagination-bullet-active {
    opacity: 1 !important;
}
.swiper-horizontal > .swiper-pagination-bullets {
    bottom: calc((var(--spacing-section-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-section-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-family-heading);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
}
.swiper-pagination.numbered .swiper-pagination-bullet::before {
    content: counter(numbered);
}
.swiper-pagination.numbered .swiper-pagination-bullet-active {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.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%);
}

/* Plugin : Popup */
.fancybox__hide {
    display: none;
}
.fancybox__container {
    --fancybox-color: rgba(var(--color-base), 1);
    --fancybox-hover-color: rgba(var(--color-base), 1);
    --fancybox-bg: rgba(var(--color-background), 1);
    --fancybox-opacity: 1;
    --fancybox-content-color: rgba(var(--color-base), 1);
    --fancybox-content-bg: rgba(var(--color-background), 1);
}
.fancybox__container .fancybox__slide {
    padding: calc(var(--spacing-container) * 2 + var(--font-base-size)) var(--spacing-container);
}
.fancybox__container .f-button {
    opacity: 1 !important;
    width: auto;
    height: auto;
    background: none;
    font-family: var(--font-base);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: 1;
}
.f-button:hover:not([disabled]) {
    color: currentColor;
    background: none;
}
.fancybox__container .f-button:is([data-fancybox-close], [data-carousel-prev], [data-carousel-next]) svg {
    display: none;
}
.fancybox__container .f-button:is([data-fancybox-close], [data-carousel-prev], [data-carousel-next])::before {
    display: block;
    font-family: "iconfont";
    font-size: var(--font-size-xl);
    color: rgba(var(--color-accent), 1);
    position: static;
    margin: unset;
    top: unset;
    bottom: unset;
    left: unset;
    right: unset;
}
.fancybox__container .f-button[data-fancybox-close]::before {
    content: "\e900";
}
.fancybox__container .f-button[data-carousel-prev]::before {
    content: "\e909";
    transform: translateX(-0.2em);
}
.fancybox__container .f-button[data-carousel-next]::before {
    content: "\e90a";
    transform: translateX(0.2em);
}

.fancybox__container .fancybox__toolbar {
    padding: var(--spacing-container);
}
.fancybox__container .fancybox__nav {
    --f-button-width: auto;
    --f-button-height: auto;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: currentColor;
    --f-button-hover-color: currentColor;
    --f-button-bg: transparent;
    --f-button-hover-bg: transparent;
    --f-button-active-bg: transparent;
    --f-button-shadow: none;
    --f-button-transition: var(--duration) var(--easing);
    --f-button-transform: none;
    --f-button-svg-width: auto;
    --f-button-svg-height: auto;
    --f-button-svg-stroke-width: 0;
    --f-button-svg-fill: none;
    --f-button-svg-filter: unset;
    --f-button-svg-disabled-opacity: 0.5;
    --f-button-next-pos: var(--spacing-container);
    --f-button-prev-pos: var(--spacing-container);
    opacity: var(--fancybox-opacity, 1);
}
.fancybox__container .fancybox__nav .f-button:is([data-carousel-prev], [data-carousel-next]) {
    transform: translateY(-50%);
    padding: var(--spacing-container);
}
.fancybox__container .fancybox__nav .f-button[data-carousel-prev] {
    left: 0;
}
.fancybox__container .fancybox__nav .f-button[data-carousel-next] {
    right: 0;
}

.fancybox__container.style-content .fancybox__slide {
    padding: 0 !important;
    overflow: hidden !important;
}
.fancybox__container.style-content .fancybox__content {
    padding: 0 !important;
    width: 100% !important;
    transition: var(--duration) var(--easing);
}
.fancybox__container.style-content.is-animated .fancybox__content {
    opacity: 0;
}
.fancybox__container.style-content .fancybox__content > .f-button.is-close-btn {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    padding-top: var(--spacing-container) !important;
    padding-right: var(--spacing-container) !important;
}
.fancybox__container.style-content .fancybox__section {
    width: 100%;
    height: 100dvh;
    overflow: hidden;
    overflow-y: auto;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
}

/* Function : Accordion */
.accordion {
    width: 100%;
    position: relative;
    border-bottom: 1px solid;
}
.accordion > .entry-panel {
    display: none;
    padding-bottom: var(--spacing-row);
}
.accordion > .entry-panel > *:not(:first-child) {
    margin-top: var(--spacing-content);
}
.accordion > .entry-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 0 var(--spacing-column);
    transition: var(--duration) var(--easing);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-heading);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
    text-transform: uppercase;
    padding: var(--spacing-content) 0;
    padding-left: calc(3rem + var(--spacing-2xs));
    min-height: calc((3rem * 10) * (var(--font-base-line-height) * 10) / 100);
}
.accordion > .entry-title::before {
    content: "";
    display: flex;
    align-items: center;
    width: 3rem;
    height: calc((3rem * 10) * (var(--font-base-line-height) * 10) / 100);
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16" fill="none"><path d="M15 8.42279V7.57723L12.0319 7.31864C9.9072 7.31864 8.18369 5.59056 8.18369 3.45613L7.92987 0H7.07423L6.82041 3.45613C6.82041 5.58645 5.0969 7.31864 2.96807 7.31864L0 7.57723V8.42279L2.96807 8.68139C5.0928 8.68139 6.82041 10.4094 6.82041 12.5439L7.07423 16H7.92987L8.18369 12.5439C8.18369 10.4135 9.9072 8.68139 12.0319 8.68139L15 8.42279Z" fill="%23FF99FA"/></svg>');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
    position: absolute;
    left: 0;
    top: calc(var(--spacing-content) / 2);
    transition: var(--duration) var(--easing);
}
.accordion > .entry-title::after {
    font-family: "iconfont";
    content: "\e90b";
    font-size: var(--font-base-size);
    transition: var(--duration) var(--easing);
}
.accordion:not(.active) > .entry-title {
    padding-left: 0;
}
.accordion:not(.active) > .entry-title::before {
    opacity: 0;
}
.accordion:not(.active) > .entry-title::after {
    transform: rotate(180deg);
}

/* 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 : Filter */
.filter-slider {
    position: relative;
}
.filter-slider::before {
    content: "";
    display: block;
    width: 100%;
    height: var(--border-width);
    background-color: rgba(var(--color-border), 1);
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
}
.filter-slider .swiper {
    overflow: visible !important;
}
.filter-slider .swiper-slide {
    width: auto !important;
}
.filter-slider .swiper-slide:not(:last-child) {
    padding-right: calc(var(--spacing-sm) - var(--spacing-2xs));
}
.filter-slider .swiper-slide > a {
    display: block;
    padding: 0 var(--spacing-2xs) var(--spacing-3xs);
    color: currentColor;
    border-bottom: var(--border);
    border-bottom-color: transparent;
}
.filter-slider .swiper-slide > a.active {
    border-bottom-color: rgba(var(--color-accent), 1);
}

/* 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-family-body);
    font-weight: var(--font-weight-body);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: normal;
    text-transform: uppercase;
    background-color: rgba(var(--color-black), 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.8rem;
    height: 2.8rem;
}
.hamburger .bars,
.hamburger .bars::before,
.hamburger .bars::after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: 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.8rem;
    transition-property: background-color, top;
    transition-delay: 0s, 0.1s;
}
.hamburger .bars::after {
    bottom: -0.8rem;
    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;
}

/* Page */
#page {
    position: relative;
    min-height: 100svh;
    display: grid;
    grid-template-rows: 1fr auto;
    grid-template-columns: 100%;
    overflow: clip;
    padding-bottom: var(--footer-height, 0px);
}

/* Header */
#header {
    width: 100%;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    pointer-events: none;
    -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: grid;
    width: 100%;
    height: var(--header-navi-height);
    background-color: transparent;
    color: rgba(var(--color-accent), 1);
    grid-gap: var(--spacing-container);
    padding: 0 var(--spacing-container);
    text-transform: uppercase;
    transition: var(--duration) var(--easing);
    transition-property: background-color;
}
.header-navi > * {
    pointer-events: auto;
}

html.page-scrolling .header-navi {
    background-color: rgba(var(--color-background), 1);
}

html.header-synced--light:not(.page-scrolling, .header-panel-active) .header-navi {
    --color-base: var(--color-white);
    --color-link-hover: var(--color-white);

    --button-color-background: transparent;
    --button-color-border: rgba(var(--color-white), 1);
    --button-color-text: rgba(var(--color-white), 1);
    --button-color-background--hover: rgba(var(--color-accent), 1);
    --button-color-border--hover: rgba(var(--color-accent), 1);
    --button-color-text--hover: rgba(var(--color-white), 1);

    background-color: transparent;
    color: rgba(var(--color-base), 1);
}
html.header-synced--light:not(.page-scrolling, .header-panel-active) .header-brand {
    width: 100%;
    align-self: unset;
}
html.header-synced--light:not(.page-scrolling, .header-panel-active) .header-brand .logo {
    height: 7rem;
    position: absolute;
    top: calc((var(--header-navi-height) - var(--button-height)) / 2);
    -webkit-filter: var(--color-white-filter);
    filter: var(--color-white-filter);
}
html.header-synced--light:not(.page-scrolling, .header-panel-active) .header-panel .menu > li > a {
    color: inherit;
}

.header-panel .menu-dropdown {
    display: none;
}
.header-panel .menu-dropdown ul {
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-sm);
}

/* Footer */
#footer {
    width: 100%;
    height: auto;
    position: fixed;
    z-index: 0;
    bottom: 0;
    left: 0;
    right: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: opacity var(--duration) var(--easing);
}
html:not(.main-end) #footer {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.footer-navi {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    text-transform: uppercase;
    transition: var(--duration) var(--easing);
}
.footer-navi .detail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    grid-gap: var(--spacing-content);
}
.footer-navi :is(.menu, .info) {
    justify-content: center;
}

.footer-navi-top,
.footer-navi-bottom {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    grid-gap: var(--spacing-content);
}

.footer-navi-top {
    min-height: min(28.4722222222vw, 410px);
    padding: var(--spacing-section) var(--spacing-container);
}
.footer-navi-top:not(:last-child) {
    border-bottom: var(--border);
    border-color: currentColor;
}

.footer-navi-bottom {
    min-height: min(13.8888888889vw, 200px);
    padding: var(--spacing-row) var(--spacing-container);
}

.footer-cover {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
}
.footer-cover .object-fit,
.footer-cover .object-fit::before {
    height: 100%;
}

/* Main */
#main {
    position: relative;
    z-index: 1;
    width: 100%;
    background-color: rgba(var(--color-background), 1);
}

section,
article {
    position: relative;
    width: 100%;
}

.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-resize {
    padding-top: var(--spacing-section-row);
    padding-bottom: var(--spacing-section-row);
}
.sc-inner.padding-top-resize {
    padding-bottom: var(--spacing-section-row);
}
.sc-inner.padding-bottom-resize {
    padding-bottom: var(--spacing-section-row);
}
.sc-inner.padding-top-header {
    padding-top: calc(var(--header-height) + var(--spacing-section-row)) !important;
}

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

:is(.sc-container, .sc-break) + :is(.sc-container, .sc-break) {
    margin-top: var(--spacing-section);
}
:is(.sc-container, .sc-group, .sc-column) > *:not(:first-child) {
    margin-top: var(--spacing-section-row);
}
:is(.sc-explore) > *:not(:first-child) {
    margin-top: var(--spacing-row);
}
:is(.sc-headline, .sc-desc, .sc-content) > *:not(:first-child),
.sc-overline + *:not(:first-child) {
    margin-top: var(--spacing-content);
}
.sc-heading + .sc-category:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}

.sc-cover {
    position: relative;
}
.sc-cover-headline .object-fit::before {
    padding-bottom: 25.4310344828%;
}

.sc-filter {
    position: relative;
    z-index: 10;
}

.sc-heading,
.sc-desc {
    text-wrap: balance;
}

.sc-categories {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content-xs) clamp(0.8rem, 1.1111vw, var(--spacing-xs));
}
.sc-categories > *:not(:last-child) {
    padding-right: calc(clamp(0.8rem, 1.1111vw, var(--spacing-xs)) + var(--border-width));
    border-right: var(--border);
}
.sc-categories.align-center,
.align-center .sc-categories {
    justify-content: center;
}

.sc-grid-row {
    --h-sq: 100vw;
    --h-lg: 50vw;
    --h-md: 41.6666666667vw;
    position: relative;
    width: 100%;
    min-height: var(--h, 0);
    display: flex;
    flex-direction: column;
    transition: min-height var(--duration) var(--easing);
}
.sc-grid-row.h-vh {
    --h: 100vh;
}
.sc-grid-row.h-lvh {
    --h: 100lvh;
}
.sc-grid-row.h-svh {
    --h: 100svh;
}
.sc-grid-row.h-dvh {
    --h: 100dvh;
}
.sc-grid-row.h-lg {
    --h: var(--h-lg);
}
.sc-grid-row.h-md {
    --h: var(--h-md);
}
.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="bottom"] .animated {
    -webkit-animation-delay: 0s !important;
    animation-delay: 0s !important;
}
.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: unset;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="2"] {
    grid-template-rows: 1fr auto;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="2"] > * {
    grid-row: unset;
}
.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 > .sc-cover .sc-cover-sticky {
    width: 100%;
    height: 100lvh;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
.sc-billboard > .sc-cover::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
}
.sc-billboard.fade > .sc-cover::after {
    background-color: rgba(var(--color-background), 0.4);
}
.sc-billboard.fade-top > .sc-cover::after {
    background: linear-gradient(180deg, rgba(var(--color-background), 0.4) 0%, rgba(var(--color-background), 0) 40%);
}
.sc-billboard.fade-bottom > .sc-cover::after {
    background: linear-gradient(180deg, rgba(var(--color-background), 0) 60%, rgba(var(--color-background), 0.4) 100%);
}
.sc-billboard.fade-top-bottom > .sc-cover::after {
    background: linear-gradient(180deg, rgba(var(--color-background), 0.4) 0%, rgba(var(--color-background), 0) 40%, rgba(var(--color-background), 0) 60%, rgba(var(--color-background), 0.4) 100%);
}

.sc-columns {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-section-row) var(--spacing-column);
}
.sc-columns > .sc-column {
    width: 100%;
}

.sc-hint {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-2xs);
    text-transform: uppercase;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}
.sc-hint--line {
    position: relative;
    width: var(--border-width);
    height: 4.2rem;
    margin: 0 auto;
}
.sc-hint--line::before,
.sc-hint--line::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
}
.sc-hint--line::before {
    background-color: rgba(var(--color-base), var(--opacity));
}
.sc-hint--line::after {
    background-color: rgba(var(--color-base), 1);
    position: absolute;
    top: 0;
    left: 0;
    transform: scale3d(1, 0, 1);
    transform-origin: 50% 0%;
    -webkit-animation: line-run 2s var(--easing) infinite;
    animation: line-run 2s var(--easing) infinite;
    will-change: transform;
}
@-webkit-keyframes line-run {
    25% {
        transform: scale3d(1, 0, 1);
        transform-origin: 50% 0%;
    }
    50% {
        transform: scale3d(1, 1, 1);
        transform-origin: 50% 0%;
    }
    51% {
        transform-origin: 50% 100%;
    }
    100% {
        transform: scale3d(1, 0, 1);
        transform-origin: 50% 100%;
    }
}
@keyframes line-run {
    25% {
        transform: scale3d(1, 0, 1);
        transform-origin: 50% 0%;
    }
    50% {
        transform: scale3d(1, 1, 1);
        transform-origin: 50% 0%;
    }
    51% {
        transform-origin: 50% 100%;
    }
    100% {
        transform: scale3d(1, 0, 1);
        transform-origin: 50% 100%;
    }
}

[data-section-style="line-break"] > .sc-billboard + .sc-break:last-child,
[data-section-style="line-break"]:last-child > .sc-break:last-child,
[data-section-style="line-break"].next-section-no-spacing > .sc-break:last-child {
    display: none;
}

[data-section-style="frame"] {
    padding: var(--spacing-container);
}
[data-section-style="frame"]:not(:first-child) {
    padding-top: 0;
}
[data-section-style="frame"]:not(:last-child) {
    padding-bottom: 0;
}
[data-section-style="frame"] .sc-grid-row {
    --h-lg: calc(50vw - (var(--spacing-container) * 2));
    --h-sq: calc(100vw - (var(--spacing-container) * 2));
}
[data-section-style="frame"] .sc-grid-row.h-vh {
    --h: calc(100vh - (var(--spacing-container) * 2));
}
[data-section-style="frame"] .sc-grid-row.h-lvh {
    --h: calc(100lvh - (var(--spacing-container) * 2));
}
[data-section-style="frame"] .sc-grid-row.h-svh {
    --h: calc(100svh - (var(--spacing-container) * 2));
}
[data-section-style="frame"] .sc-grid-row.h-dvh {
    --h: calc(100dvh - (var(--spacing-container) * 2));
}

.clear-spacing-sections > section:not(.next-section-no-spacing):not(:last-child) > .sc-inner:last-child,
.clear-spacing-sections .elevator-sections > section:not(.next-section-no-spacing):not(:last-child) > .sc-inner:last-child {
    padding-bottom: 0 !important;
}

[data-section="hero"] + section > .sc-inner.padding-top-header:first-child,
[data-section="hero"] + .clear-spacing-sections > section:first-child > .sc-inner.padding-top-header:first-child,
[data-section="hero"] + .clear-spacing-sections > .elevator-sections > section:first-child > .sc-inner.padding-top-header:first-child {
    padding-top: var(--spacing-section) !important;
}

[data-section="single"] > .sc-inner.next-sc-inner {
    padding-bottom: 0;
}
[data-section="single"] > .sc-inner.next-sc-inner + .sc-inner.padding-top-section-row:not(:first-child) {
    padding-top: var(--spacing-section-row);
}

.elevator-container {
    position: relative;
    overflow: clip;
}
.elevator-control {
    width: auto;
    position: absolute;
    z-index: 99;
    top: 0;
    bottom: 0;
    right: var(--spacing-container);
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.elevator-control > ul {
    width: 100%;
    height: 100dvh;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    text-align: right;
    color: rgba(var(--color-accent), 1);
    transition: height var(--duration) var(--easing);
}
.elevator-control > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    width: auto;
    min-height: 3.6rem;
    padding: 0.1em 1.2rem;
    padding-left: 0;
    color: currentColor;
    border-right: var(--border);
    border-color: currentColor;
    pointer-events: auto;
}
.elevator-control > ul > li > a > span {
    position: relative;
    z-index: 1;
    letter-spacing: normal;
    transition: var(--duration) var(--easing);
}
.elevator-control > ul > li > a > span::before {
    content: attr(data-text);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.elevator-control > ul > li > a > span::after {
    content: attr(data-text);
    -webkit-text-stroke: 2px rgba(var(--color-background), 1);
    text-shadow: 0 0 4px rgba(var(--color-background), 1);
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    overflow: hidden;
}
.elevator-control > ul > li > a:not(.active):not(:hover) {
    border-color: rgba(var(--color-accent), 0.3);
}
.elevator-control > ul > li > a:not(.active):not(:hover) > span {
    opacity: 0;
    transform: translateX(1.2rem);
}

/* Modules */
.card {
    width: 100%;
    height: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content);
    text-align: center;
    white-space: normal;
    color: rgba(var(--color-base), 1);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.card .ellipsis {
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.card .caption {
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-xs);
}
.card .caption .entry-title {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size);
    line-height: var(--font-display-line-height);
    letter-spacing: var(--font-display-letter-spacing);
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    text-wrap: balance;
}
.card .caption :is(.entry-category, .entry-publish) {
    text-transform: uppercase;
}
.card .caption :is(.entry-category, .entry-publish, .entry-content) {
    color: rgba(var(--color-accent), 1);
}
.card .caption .entry-publish:not(:first-child) {
    padding-top: calc(var(--spacing-content) - var(--spacing-content-xs));
}

.card :is(.caption, .cover) {
    width: 100%;
    position: relative;
    z-index: 3;
    pointer-events: none;
}
.card .cover .object-fit::before {
    aspect-ratio: 3/4;
    background-color: rgba(var(--color-background), 1);
}
.card .cover :is(.object, .object-fit) > * {
    transition: var(--duration) var(--easing);
}
.card .link-overlay:hover ~ .cover :is(.object, .object-fit) > * {
    opacity: 0.8;
}
.card *:is(a, button):not(.link-overlay) {
    position: relative;
    z-index: 3;
    pointer-events: auto;
}

.card.type-youtube .cover .object-fit::before {
    aspect-ratio: 16/9;
}

.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"] .card-slider {
    position: relative;
    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="flex"].js-count {
    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);
    justify-content: center;
}

[data-card="design"],
[data-card="team"] {
    --spacing-x: var(--spacing-column);
    --spacing-y: var(--spacing-row);
    --column: 2;
}

[data-card="article"] {
    --spacing-x: var(--spacing-column);
    --spacing-y: var(--spacing-row);
    --column: 1;
}
[data-card="article"] .card .caption {
    flex: 1;
}
[data-card="article"] .card .caption .entry-content {
    padding: 0 var(--spacing-container);
}
[data-card="article"] .card .caption .entry-publish {
    margin-top: auto;
}

[data-card="process"] {
    --spacing-x: var(--spacing-column);
    --spacing-y: var(--spacing-row);
    --column: 1;
}
[data-card="process"] .card .cover .object-fit::before {
    aspect-ratio: 1/1;
}
[data-card="process"] .card .caption .entry-title {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size-sm);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}

[data-card="offer"] {
    --spacing-x: var(--spacing-column);
    --spacing-y: var(--spacing-row);
    --column: 1;
}
[data-card="offer"] .card {
    grid-gap: var(--spacing-row);
}
[data-card="offer"] .card .caption {
    grid-gap: var(--spacing-row);
    flex: 1;
}
[data-card="offer"] .card .cover .object-fit::before {
    aspect-ratio: 1/1;
}

.list {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    grid-gap: var(--spacing-content-sm);
    padding: var(--spacing-content) 0;
    color: rgba(var(--color-display), 1);
}
.list > hr {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: currentColor;
}
.list:first-child {
    padding-top: 0;
}
.list:last-child {
    padding-bottom: 0;
}
.list:last-child > hr {
    display: none;
}
.list .entry-category {
    text-transform: uppercase;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    color: rgba(var(--color-accent), 1);
}
.list .entry-title {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-size-h2);
    line-height: var(--font-size-h2-line-height);
    letter-spacing: var(--font-display-letter-spacing);
    text-transform: uppercase;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    text-wrap: balance;
}

:is([data-list="key-solutions"], [data-list="service"]) .list .entry-title {
    font-size: var(--font-size-h1);
}

.testimonial {
    width: 100%;
    height: 100%;
    padding: 0 max(calc(var(--spacing-container) * 2), 5.2083333333vw);
    position: relative;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto 1fr auto;
    grid-row-gap: var(--spacing-row);
}
.testimonial .entry-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-3xs);
    font-size: var(--icon-size);
    line-height: 1;
    color: rgba(var(--color-accent), 1);
}
.testimonial .entry-writer {
    display: flex;
    flex-direction: column;
    text-align: center;
    grid-gap: var(--spacing-3xs);
    color: rgba(var(--color-accent), 1);
}
.testimonial .entry-writer-name {
    text-transform: uppercase;
}
.testimonial .entry-content {
    text-align: justify;
}
.testimonial-container {
    --spacing-x: 0px;
    --spacing-y: 0px;
    --column: 1;
    position: relative;
}
.testimonial-container[data-layout="grid"] {
    --spacing-y: var(--spacing-row);
    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;
}
.testimonial-container[data-layout="grid"] .testimonial {
    padding-bottom: var(--spacing-row);
    border-bottom: var(--border);
}
.testimonial-container[data-layout="slider"] {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.testimonial-container[data-layout="slider"] .swiper-slide {
    height: auto !important;
    width: calc(100% / var(--column)) !important;
    padding-left: calc(var(--spacing-x) / 2);
    padding-right: calc(var(--spacing-x) / 2);
}
.testimonial-container[data-layout="slider"] .swiper-slide > .testimonial {
    border-left: var(--border);
    border-right: var(--border);
    border-right-color: transparent;
}
.testimonial-container[data-layout="slider"] .swiper-slide:first-child > .testimonial {
    border-left-color: transparent;
}

.job {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
    text-align: center;
    grid-gap: var(--spacing-content-sm);
    padding: var(--spacing-md) var(--spacing-sm);
    background-color: rgba(var(--color-neutral-light), 1);
}
.job > *:not(:first-child) {
    margin-top: var(--spacing-content-sm);
}
.job > .entry-header {
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-xs);
}
.job > .entry-header:not(:last-child) {
    padding-bottom: var(--spacing-content-sm);
    border-bottom: var(--border);
}
.job > .entry-header > .entry-level {
    margin-top: auto;
}
.job > .entry-desc {
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
}
.job > .entry-explore:not(:first-child) {
    margin-top: auto;
    padding-top: calc(var(--spacing-section-row) - var(--spacing-content-sm));
}
.job-container {
    --spacing-x: var(--spacing-column);
    --spacing-y: var(--spacing-content);
    --column: 1;
}
.job-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;
}

.gallery {
    --spacing-x: var(--spacing-column);
    --spacing-y: var(--spacing-column);
    --column: 9;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-y) var(--spacing-x);
}
.gallery > .gallery-item {
    position: relative;
    display: block;
    width: calc((100% - (var(--spacing-x) * (var(--column) - 1))) / var(--column));
}

.contact-info > *:not(:first-child) {
    margin-top: var(--spacing-content);
}
.contact-map {
    display: flex;
    flex-direction: column;
    grid-row-gap: var(--spacing-row);
}
.contact-map > * {
    padding: 0 var(--spacing-container);
}

[data-content="journey-intro"].sc-container:not(:last-child)::after {
    content: "";
    display: block;
    height: var(--border-width);
    width: calc(100vw - var(--spacing-container) * 2);
    max-width: calc(100vw - var(--spacing-container) * 2);
    margin: var(--spacing-section) calc(50% - ((100vw - var(--spacing-container) * 2) / 2)) 0;
    background-color: rgba(var(--color-border), 1);
}

.stats {
    list-style: none !important;
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    text-align: center;
    grid-gap: var(--spacing-content) 0;
}
.stats-item {
    width: auto;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-xs);
    padding: 1px var(--spacing-2xs);
    border-right: var(--border);
}
.stats-item:only-child {
    min-width: 0 !important;
}
.stats-item:last-child {
    border-right-color: transparent !important;
}
.stats-label,
.stats-value {
    display: block;
}

.checklist {
    list-style: none !important;
    padding: 0 !important;
}
.checklist > li {
    position: relative;
    padding-left: 3.2rem;
    text-align: left;
}
.checklist > li::before {
    content: "";
    display: block;
    width: 2rem;
    height: auto;
    aspect-ratio: 1/1;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><mask id="mask0_996_5680" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20"><rect width="20" height="20" fill="currentColor"/></mask><g mask="url(%23mask0_996_5680)"><path d="M10.0011 17.9163C8.90613 17.9163 7.8769 17.7086 6.91342 17.293C5.94995 16.8775 5.1119 16.3135 4.39926 15.6011C3.68662 14.8888 3.12238 14.0511 2.70655 13.088C2.29085 12.125 2.08301 11.096 2.08301 10.0011C2.08301 8.90613 2.29085 7.8769 2.70655 6.91342C3.1221 5.94995 3.68613 5.1119 4.39863 4.39926C5.11113 3.68662 5.94898 3.12238 6.91217 2.70655C7.87537 2.29085 8.90454 2.08301 9.99967 2.08301C10.8775 2.08301 11.708 2.21495 12.4913 2.47884C13.2747 2.74273 13.9933 3.11079 14.6472 3.58301L13.7432 4.5078C13.2047 4.13697 12.6215 3.84849 11.9934 3.64238C11.3654 3.43613 10.7008 3.33301 9.99967 3.33301C8.15245 3.33301 6.57954 3.98231 5.28092 5.28092C3.98231 6.57954 3.33301 8.15245 3.33301 9.99967C3.33301 11.8469 3.98231 13.4198 5.28092 14.7184C6.57954 16.017 8.15245 16.6663 9.99967 16.6663C11.8469 16.6663 13.4198 16.017 14.7184 14.7184C16.017 13.4198 16.6663 11.8469 16.6663 9.99967C16.6663 9.7069 16.6471 9.41738 16.6086 9.13113C16.5702 8.84488 16.5125 8.56655 16.4355 8.29613L17.4451 7.27863C17.5979 7.70697 17.7146 8.14766 17.7953 8.60072C17.876 9.05363 17.9163 9.51995 17.9163 9.99967C17.9163 11.0948 17.7086 12.124 17.293 13.0872C16.8775 14.0504 16.3135 14.8882 15.6011 15.6007C14.8888 16.3132 14.0511 16.8772 13.088 17.2928C12.125 17.7085 11.096 17.9163 10.0011 17.9163ZM8.81697 13.5445L5.56384 10.2913L6.44197 9.41322L8.81697 11.7882L17.0382 3.55426L17.9163 4.43238L8.81697 13.5445Z" fill="currentColor"/></g></svg>');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
    position: absolute;
    left: 0;
    top: 0.1em;
}
.checklist > li:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}
.checklist :is(.checklist-title, .checklist-desc) {
    display: block;
}
.checklist[data-layout="columns"] > li:not(:first-child) {
    margin-top: var(--spacing-content);
}

.feature > *:not(:first-child) {
    margin-top: var(--spacing-row);
}
.feature .entry-icon {
    display: block;
    line-height: 1;
}
.feature .entry-icon > * {
    display: inline-block;
    vertical-align: top;
    height: 5rem;
    width: auto;
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
.feature .entry-content + .entry-checklist:not(:first-child) {
    margin-top: var(--spacing-content);
}
.feature .entry-break {
    width: calc(100vw - (var(--spacing-container) * 2));
    max-width: calc(100vw - (var(--spacing-container) * 2));
    margin-left: calc(50% - ((100vw - (var(--spacing-container) * 2)) / 2));
    margin-right: calc(50% - ((100vw - (var(--spacing-container) * 2)) / 2));
}
.feature-container {
    --spacing-x: 0px;
    --spacing-y: var(--spacing-row);
    --column: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    grid-gap: var(--spacing-y) var(--spacing-x);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.feature-container > .feature {
    width: calc((100% - (var(--spacing-x) * (var(--column) - 1))) / var(--column));
    padding: 0 max(calc(var(--spacing-container) * 2), 5.2083333333vw);
}
.feature-container > .feature:last-child .entry-break {
    display: none;
}

#page.scroll-snap {
    display: block;
    height: 100svh;
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    padding-bottom: 0;
}
#page.scroll-snap #footer {
    position: relative;
    z-index: 1;
    scroll-snap-align: end;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
#page.scroll-snap #main [scroll-snap-align-start] {
    scroll-snap-align: start;
}

/* Animation */
.animate {
    -webkit-animation-duration: var(--duration-slower);
    animation-duration: var(--duration-slower);
    -webkit-animation-timing-function: var(--easing);
    animation-timing-function: var(--easing);
}
.animate.animated {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, var(--spacing-sm), 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, var(--spacing-sm), 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.animate.drawLTR {
    -webkit-animation-name: drawLTR;
    animation-name: drawLTR;
}
.animate.drawLTR:not(.animated) {
    width: 100%;
}

@-webkit-keyframes drawLTR {
    from {
        width: 0%;
    }
    to {
        width: 100%;
    }
}
@keyframes drawLTR {
    from {
        width: 0%;
    }
    to {
        width: 100%;
    }
}

.staggerFade .word {
    will-change: opacity, transform;
}

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

@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(--field-spacing-x) / 2));
    }

    /* Modules */
    [data-card="design"],
    [data-card="team"],
    [data-card="article"],
    [data-card="process"],
    [data-card="offer"],
    .testimonial-container,
    .job-container {
        --column: 2;
    }

    .testimonial-container[data-layout="grid"],
    .job-container[data-layout="grid"] {
        grid-auto-rows: 1fr;
    }

    .testimonial-container[data-layout="grid"] .testimonial {
        padding-bottom: calc(var(--spacing-content) + var(--spacing-row));
        border-bottom: 0;
    }
    .testimonial-container[data-layout="grid"] .testimonial::before {
        content: "";
        display: block;
        width: var(--border-width);
        height: calc(100% - var(--spacing-row));
        background-color: var(--border-color);
        position: absolute;
        top: 0;
        right: 0;
    }
    .testimonial-container[data-layout="grid"] .testimonial::after {
        content: "";
        display: block;
        width: 100%;
        height: var(--border-width);
        background-color: var(--border-color);
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .testimonial-container[data-layout="grid"] .testimonial:nth-child(2n + 2)::before {
        display: none;
    }
    .testimonial-container[data-layout="slider"] .testimonial {
        padding-bottom: var(--spacing-content);
    }
    .thome-main .testimonial-container[data-layout="grid"] {
        --spacing-y: var(--spacing-section-row);
    }
    .thome-main .testimonial-container[data-layout="grid"] .testimonial {
        padding-bottom: var(--spacing-content);
    }
    .thome-main .testimonial-container[data-layout="grid"] .testimonial::before {
        height: 100%;
    }
    .thome-main .testimonial-container[data-layout="grid"] .testimonial::after {
        display: none;
    }

    .contact-map {
        flex-direction: row;
    }
    .contact-map > * {
        flex: 1;
        padding: var(--spacing-row) var(--spacing-column);
        display: flex;
        align-items: center;
    }
    .contact-map > *:first-child {
        flex: unset;
        width: 54%;
    }
    .contact-map > *:not(:last-child) {
        border-right: var(--border);
    }

    .checklist[data-layout="columns"] {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: var(--spacing-column);
        column-gap: var(--spacing-column);
    }
    .checklist[data-layout="columns"] > li {
        -moz-column-break-inside: avoid;
        break-inside: avoid-column;
    }
}

@media (min-width: 992px) {
    :root {
        --container-md: max(91.4rem, 63.4722222222vw);
        --container-lg: max(105.8rem, 73.4722222222vw);
        --container-xl: max(117rem, 81.25vw);
    }

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

    /* General */
    .container.w-md {
        max-width: calc(var(--container-md) + (var(--spacing-container) * 2));
    }
    .container.w-lg {
        max-width: calc(var(--container-lg) + (var(--spacing-container) * 2));
    }
    .container.w-xl {
        max-width: calc(var(--container-xl) + (var(--spacing-container) * 2));
    }

    .container.padding-x-x2.w-md {
        max-width: calc(var(--container-md) + (var(--spacing-container) * 4));
    }
    .container.padding-x-x2.w-lg {
        max-width: calc(var(--container-lg) + (var(--spacing-container) * 4));
    }
    .container.padding-x-x2.w-xl {
        max-width: calc(var(--container-xl) + (var(--spacing-container) * 4));
    }

    .sc-cover.size-medium,
    .entry-content :is(.wp-block-image, .wp-block-video).size-medium :is(img, video) {
        width: clamp(432px, 30%, 100%);
    }

    /* Footer */
    .footer-navi {
        padding: 0 var(--spacing-container);
    }
    .footer-navi [visible-breakpoint] {
        display: none !important;
    }
    .footer-navi-bottom {
        padding-top: var(--spacing-section-row);
    }

    /* Main */
    .align-center .sc-cover.size-medium,
    .sc-cover.size-medium.align-center {
        margin-left: auto;
        margin-right: auto;
    }

    .sc-columns {
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .sc-columns.row-reverse {
        flex-direction: row-reverse;
    }
    .sc-columns > .sc-column.v-align-center {
        align-self: center;
    }
    .sc-columns > .sc-column {
        width: calc(50% - (var(--spacing-column) / 2));
    }
    .sc-columns > .sc-column-40 {
        width: calc(40% - (var(--spacing-column) / 2));
    }

    [data-card="design"],
    [data-card="team"],
    [data-card="article"] {
        --column: 4;
    }
    .job-container,
    .testimonial-container,
    .feature-container {
        --column: 3;
    }
    .testimonial-container[data-layout="grid"] .testimonial:nth-child(2n + 2)::before {
        display: block;
    }
    .testimonial-container[data-layout="grid"] .testimonial:nth-child(3n + 3)::before {
        display: none;
    }

    .card-container[data-layout="flex"].js-count {
        --column: 3;
    }
    .card-container[data-layout="flex"].js-count:not(.count-large).even-count {
        --column: 2;
        --card-width: calc((100% - (var(--spacing-x) * (var(--column) - 1))) / var(--column));
        width: calc((var(--card-width) * 2) + (var(--spacing-x) * (var(--column) - 1)));
        max-width: calc((var(--card-width) * 2) + (var(--spacing-x) * (var(--column) - 1)));
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }

    .feature-container {
        --column: 3;
    }
    .feature-container > .feature {
        border-right: var(--border);
    }
    .feature-container > .feature:last-child,
    .feature-container > .feature:nth-child(3n + 3) {
        border-right-color: transparent;
    }
    .feature-container > .feature .entry-break {
        display: none;
    }
    .feature-container > .feature.min-height {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 42rem;
    }

    .sc-columns.column-devider {
        grid-column-gap: 0;
    }
    .sc-columns.column-devider > .sc-column {
        flex: 1;
    }
    .sc-columns.column-devider > .sc-column:not(:first-child) {
        padding-left: var(--spacing-column);
        border-left: var(--border);
        border-color: transparent;
    }
    .sc-columns.column-devider > .sc-column:not(:last-child) {
        padding-right: var(--spacing-column);
        border-right: var(--border);
    }

    .stats > .stats-item {
        min-width: calc(100% / 6);
    }
    .stats > .stats-item:nth-child(6n + 6) {
        border-right-color: transparent;
    }
}

@media (min-width: 1200px) {
    :root {
        --spacing-column: var(--spacing-md);
    }

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

    /* Header */
    .header-navi {
        grid-template-columns: 1fr auto 1fr;
        grid-gap: var(--spacing-column);
    }
    .header-navi [visible-breakpoint] {
        display: none !important;
    }
    .header-brand {
        grid-row: 1;
        grid-column: 1;
        justify-self: flex-start;
        align-self: center;
    }
    .header-tools {
        grid-row: 1;
        grid-column: 3;
        justify-self: flex-end;
        align-self: center;
    }
    .header-panel {
        grid-row: 1;
        grid-column: 2;
    }
    .header-panel [class^="header-panel-"] {
        height: 100%;
    }
    .header-panel .menu {
        height: 100%;
        display: flex;
        grid-gap: var(--spacing-column);
    }
    .header-panel .menu > li {
        display: flex;
        align-items: center;
        position: relative;
        transition: none !important;
    }
    .header-panel .menu a {
        position: relative;
        line-height: var(--line-height-sm);
    }
    .header-panel .menu a::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: var(--border-width);
        background-color: currentColor;
        transform: scale3d(0, 1, 1);
        transform-origin: 100% 50%;
        transition: var(--duration) var(--easing);
        transition-property: transform, background-color;
    }
    .header-panel .menu a:is(:hover, .active),
    .header-panel .menu > li:is(:hover, .active) > a {
        color: rgba(var(--color-link-hover), 1);
    }
    .header-panel .menu a:is(:hover, .active)::before,
    .header-panel .menu > li:is(:hover, .active) > a::before {
        transform: scale3d(1, 1, 1);
        transform-origin: 0% 50%;
    }
    .header-panel .menu-dropdown {
        position: absolute;
        left: calc(var(--spacing-md) * -1);
        top: 100%;
        width: auto;
        min-width: calc(100% + (var(--spacing-md) * 2));
        background: rgba(var(--color-white), 1);
        color: rgba(var(--color-accent), 1);
        overflow: hidden;
    }
    .header-panel .menu-dropdown a:is(:hover, .active) {
        color: rgba(var(--color-display), 1);
    }
    .header-panel .menu-dropdown-inner {
        padding: var(--spacing-md);
        min-width: -webkit-max-content;
        min-width: -moz-max-content;
        min-width: max-content;
        width: 100%;
    }

    /* Main */
    .gallery > .gallery-item:is(:nth-child(27)):not(:last-child)::after {
        content: "MORE";
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: rgba(0, 0, 0, 0.5);
        color: rgba(255, 255, 255, 1);
    }
    .gallery > .gallery-item:not(:nth-child(-n + 27)) {
        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;
    }
}

/* @media queries (max-width) */
@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;
    }

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

    /* Header */
    .header-navi {
        grid-template-columns: auto auto;
        grid-gap: var(--spacing-column);
        color: rgba(var(--color-display), 1);
    }
    .header-navi [hidden-breakpoint] {
        display: none !important;
    }

    .header-brand {
        grid-row: 1;
        grid-column: 1;
        align-self: center;
        justify-self: flex-start;
        position: relative;
        z-index: 101;
    }

    .header-tools {
        grid-row: 1;
        grid-column: 2;
        align-self: center;
        justify-self: flex-end;
        position: relative;
        z-index: 101;
    }

    .header-panel {
        margin: 0;
        padding: 0;
        width: 100vw;
        height: 100dvh;
        padding-top: var(--header-height);
        overflow: hidden;
        position: fixed;
        z-index: 100;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: var(--duration) var(--easing);
        background-color: rgba(var(--color-background), 1);
        color: rgba(var(--color-base), 1);
    }
    html.header-panel-active .header-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .header-panel .menu {
        width: 100%;
        flex-direction: column;
        grid-gap: 0;
    }
    .header-panel .menu > li {
        width: 100%;
    }
    .header-panel .menu > li > a {
        display: block;
        padding: var(--spacing-xs) 0;
        font-family: var(--font-display);
        font-style: var(--font-display-style);
        font-weight: var(--font-display-weight);
        font-size: var(--font-size-sm);
        text-box-trim: trim-both;
        text-box-edge: cap alphabetic;
        color: rgba(var(--color-display), 1);
    }
    .header-panel .menu.links-style > li > a::before {
        display: none;
    }
    .header-panel .menu > li:first-child > a {
        padding-top: 0;
    }
    .header-panel .menu > li::after {
        content: "";
        display: block;
        width: 100%;
        height: var(--border-width);
        background-color: rgba(var(--color-border), 1);
        transition: width var(--duration-slow) var(--easing);
        transition-delay: inherit;
    }
    .header-panel .menu-dropdown {
        color: rgba(var(--color-accent), 1);
    }
    .header-panel .menu-dropdown a:is(:hover, .active) {
        color: rgba(var(--color-link-hover), 1);
    }
    .header-panel .menu-dropdown-inner {
        padding: var(--spacing-xs);
        padding-right: 0;
        border-top: var(--border);
    }
    .header-panel :is(.policy, .info) {
        justify-content: center;
    }
    .header-panel-container {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .header-panel-scroll {
        display: flex;
        flex-direction: column;
        width: auto;
        height: 100%;
        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-xs));
    }
    .header-panel-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        grid-gap: var(--spacing-content-sm);
        padding: var(--spacing-xs) var(--spacing-container);
    }
    .header-panel-body {
        flex: 1;
        width: 100%;
        overflow: hidden;
        -webkit-mask-box-image: -webkit-linear-gradient(-90deg, transparent 0%, white var(--spacing-xs));
    }
    .header-panel-footer {
        width: 100%;
        text-align: center;
        color: var(--color-base);
    }
    .header-panel-footer .header-panel-inner {
        padding-bottom: calc(var(--spacing-xs) * 2);
    }
    .header-panel-footer .social {
        color: var(--color-neutral-dark);
    }

    .header-panel-container > *,
    .header-panel-container .menu > li {
        opacity: 1;
        transition: var(--duration-slow) var(--easing);
        will-change: opacity;
    }
    html:not(.header-panel-active) .header-panel-container > *,
    html:not(.header-panel-active) .header-panel-container .menu > li {
        opacity: 0;
    }
    html:not(.header-panel-active) .header-panel-container .menu > li::after {
        width: 0%;
    }
    html.on-resize .header-panel,
    html.on-resize .header-panel * {
        transition: none !important;
    }
    html.header-synced--light:not(.page-scrolling, .header-panel-active) .header-brand .logo {
        height: 6rem;
        top: calc((var(--header-navi-height) - 6rem) / 2);
    }

    /* Main */
    .gallery {
        --column: 6;
    }
    .gallery > .gallery-item:is(:nth-child(12)):not(:last-child)::after {
        content: "MORE";
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: rgba(0, 0, 0, 0.5);
        color: rgba(255, 255, 255, 1);
    }
    .gallery > .gallery-item:not(:nth-child(-n + 12)) {
        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;
    }
}

@media (max-width: 991px) {
    .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;
    }

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

    /* Slider */
    .swiper-button-prev.x-container {
        left: calc(var(--spacing-container) / 2);
    }
    .swiper-button-next.x-container {
        right: calc(var(--spacing-container) / 2);
    }
    .card-container[data-layout="slider"] .card-slider .swiper-button-prev.x-container {
        left: 0;
    }
    .card-container[data-layout="slider"] .card-slider .swiper-button-next.x-container {
        right: 0;
    }

    /* Popup */
    .fancybox__container .fancybox__nav .f-button:is([data-carousel-prev], [data-carousel-next]) {
        padding: calc(var(--spacing-container) / 2);
    }

    /* Footer */
    .footer-navi [hidden-breakpoint] {
        display: none !important;
    }

    /* Main */
    .sc-cover-headline .object-fit::before {
        padding-bottom: 100%;
    }

    .sc-grid-row {
        --h-lg: 203.07692307692vw;
        --h-md: 153.8461538462vw;
    }
    .sc-grid-row.re-h-sq {
        --h: var(--h-sq);
    }

    .sc-container.container.padding-x-x2 .sc-columns > .sc-column > .sc-cover,
    .sc-container.container.padding-x-x2 .entry-content > :is(.wp-block-image, .wp-block-video, .wp-block-embed):not(.alignfull),
    .sc-container.container.padding-x-x2 .entry-content > .wp-block-group > :is(.wp-block-image, .wp-block-video, .wp-block-embed):not(.alignfull) {
        width: calc(100vw - (var(--spacing-container) * 2)) !important;
        max-width: calc(100vw - (var(--spacing-container) * 2)) !important;
        margin-left: calc(50% - ((100vw - (var(--spacing-container) * 2)) / 2)) !important;
        margin-right: calc(50% - ((100vw - (var(--spacing-container) * 2)) / 2)) !important;
    }
    .sc-container.container:not(.padding-x-x2) .card-container:not([data-card="design"]) .card .caption,
    .card-container[data-layout="flex"].js-count .card .caption {
        padding-left: var(--spacing-container);
        padding-right: var(--spacing-container);
    }

    .elevator-control {
        display: none !important;
    }

    .stats:not(.even-count) > .stats-item {
        min-width: calc(100% / 3);
    }
    .stats:not(.even-count) > .stats-item:nth-child(3n + 3) {
        border-right-color: transparent;
    }
    .stats:not(.count-large).even-count > .stats-item {
        min-width: calc(100% / 2);
    }
    .stats:not(.count-large).even-count > .stats-item:nth-child(2n + 2) {
        border-right-color: transparent;
    }

    .feature .entry-content {
        color: inherit !important;
    }
}

@media (max-width: 781px) {
    /* Gutenberg */
    .entry-content .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;
    }

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

    /* Header */
    .header-tools .tool .button {
        min-width: 0;
    }

    /* Main */
    .sc-container.container.padding-x-x2 :is([data-card="process"], [data-card="offer"]):is([data-layout="grid"], [data-layout="flex"]) .card > .cover {
        width: calc(100vw - (var(--spacing-container) * 2)) !important;
        max-width: calc(100vw - (var(--spacing-container) * 2)) !important;
        margin-left: calc(50% - ((100vw - (var(--spacing-container) * 2)) / 2)) !important;
        margin-right: calc(50% - ((100vw - (var(--spacing-container) * 2)) / 2)) !important;
    }

    .gallery {
        --column: 3;
    }

    [data-content="journey-intro"].sc-container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    [data-content="journey-intro"].sc-container > .sc-headline + .sc-cover {
        order: -1;
        margin-top: 0;
        margin-bottom: var(--spacing-section-row);
    }
    [data-content="journey-ig-reels"].card-container > .card:not(:nth-child(-n + 2)),
    [data-content="journey-blog-and-news"].card-container > .card:not(:nth-child(-n + 1)) {
        display: none !important;
    }

    [data-content="solution-team"] .card-slider {
        margin-left: 0;
        margin-right: 0;
    }
    [data-content="solution-team"] .card-slider .swiper-wrapper {
        width: 100% !important;
        transform: none !important;
        cursor: default !important;
        flex-direction: column !important;
        grid-gap: var(--spacing-y) var(--spacing-x);
    }
    [data-content="solution-team"] .card-slider .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    [data-content="solution-team"] .card-slider .swiper-slide:not(:nth-child(-n + 4)),
    [data-content="solution-team"] .card-slider :is(.swiper-pagination, [class*="swiper-button-"]) {
        display: none !important;
    }

    .thome-main [data-card="team"][data-layout="grid"] {
        --column: 1;
    }
}

@media (max-width: 599px) {
    :root {
        --font-display-size: var(--font-size-md);
        --font-display-size-sm: var(--font-size-xs);

        --spacing-container: var(--spacing-xs);
        --spacing-section: var(--spacing-xl);
        --spacing-section-row: var(--spacing-lg);
        --spacing-column: var(--spacing-container);
    }

    .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;
    }

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

    .align-left-mobile-sm {
        text-align: left !important;
    }

    /* General */
    .info.dir-column-mobile-sm {
        flex-direction: column;
    }
    /* Form */
    .field.empty {
        display: none !important;
    }
}

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

/* @media queries (additional) */
@media (min-width: 992px) and (max-height: 50vw), (max-width: 991px) and (max-height: 203.07692307692vw) {
    .sc-grid-row {
        --h-lg: 100svh;
    }
    [data-section-style="frame"] .sc-grid-row {
        --h-lg: calc(100svh - (var(--spacing-container) * 2));
    }
}

@media (min-width: 992px) and (max-height: 41.6666666667vw), (max-width: 991px) and (max-height: 153.8461538462vw) {
    .sc-grid-row {
        --h-md: 100svh;
    }
    [data-section-style="frame"] .sc-grid-row {
        --h-md: calc(100svh - (var(--spacing-container) * 2));
    }
}
