
        html:not(.gsap-not-found) [data-prevent-flicker='true'] {
            visibility: hidden;
        }
        
        .char-wrapper,
        .word-wrapper {
            overflow: hidden;
            display: inline-block;
        }
        
        .char-mask,
        .word-mask {
            display: inline-block;
            transform: translateY(0);
            /* or X if animating X */
            will-change: transform;
            padding-block: 0.1em;
            margin-block: -0.1em;
        }
        
        .line-mask {
            overflow: hidden;
            display: block;
        }
        
        .holding_curtain,
        .brush-curtain_right,
        .brush-curtain_left {
            width: 100%;
        }
        
        .loader_wrap {
            display: flex;
        }
        
        .loader_logo {
            visibility: hidden;
        }



                    :root {
                        --grid-breakout: [full-start] minmax(0, 1fr) [content-start] repeat(var(--site--column-count), minmax(0, var(--site--column-width))) [content-end] minmax(0, 1fr) [full-end];
                        --grid-breakout-single: [full-start] minmax(0, 1fr) [content-start] minmax(0, var(--container--main)) [content-end] minmax(0, 1fr) [full-end];
                    }
                    
                    * {
                        vertical-align: bottom;
                    }
                    
                    ::before,
                    ::after {
                        box-sizing: border-box;
                    }
                    
                    html {
                        background-color: var(--_theme---background);
                    }
                    
                    button {
                        background-color: unset;
                        padding: unset;
                        text-align: inherit;
                    }
                    
                    button:not(:disabled) {
                        cursor: pointer;
                    }
                    
                    video {
                        width: 100%;
                        object-fit: cover;
                    }
                    /* remove padding of empty element */
                    
                    .wf-empty {
                        padding: 0;
                    }
                    
                    svg {
                        max-width: 100%;
                    }
                    
                    section,
                    header,
                    footer {
                        position: relative;
                    }
                    
                    @media (prefers-color-scheme: light) {
                        option {
                            color: black;
                        }
                    }
                    
                    img::selection {
                        background: transparent;
                    }
                    /* Typography */
                    
                    body {
                        text-transform: var(--_text-style---text-transform);
                        font-smoothing: antialiased;
                        -webkit-font-smoothing: antialiased;
                    }
                    /* Clear Defaults */
                    
                    a:not([class]) {
                        text-decoration: underline;
                    }
                    
                    h1,
                    h2,
                    h3,
                    h4,
                    h5,
                    h6,
                    p,
                    blockquote,
                    label {
                        font-family: inherit;
                        font-size: inherit;
                        font-weight: inherit;
                        line-height: inherit;
                        letter-spacing: inherit;
                        text-transform: inherit;
                        text-wrap: inherit;
                        margin-top: 0;
                        margin-bottom: 0;
                    }
                    /* Selection Color */
                    
                    ::selection {
                        background-color: var(--_theme---selection--background);
                        color: var(--_theme---selection--text);
                    }
                    /* Margin Trim */
                    
                    :is(.u-margin-trim, .u-rich-text) >:not(:not(.w-condition-invisible) ~:not(.w-condition-invisible)) {
                        margin-top: 0;
                    }
                    
                    :is(.u-margin-trim, .u-rich-text) >:not(:has(~:not(.w-condition-invisible))) {
                        margin-bottom: 0;
                    }
                    /* Line Height Trim */
                    
                    :is([class*="u-text-style-"], h1, h2, h3, h4, h5, h6, p):not(.w-richtext, .u-text-trim-off)::before {
                        content: "";
                        display: table;
                        margin-bottom: calc(-0.5lh + var(--_text-style---trim-top));
                    }
                    
                    :is([class*="u-text-style-"], h1, h2, h3, h4, h5, h6, p):not(.w-richtext, .u-text-trim-off)::after {
                        content: "";
                        display: table;
                        margin-bottom: calc(-0.5lh + var(--_text-style---trim-bottom));
                    }
                    /* Rich Text Links */
                    
                    .w-richtext a {
                        position: relative;
                        z-index: 4;
                    }
                    /* Line Clamp */
                    
                    .u-line-clamp-1,
                    .u-line-clamp-2,
                    .u-line-clamp-3,
                    .u-line-clamp-4 {
                        -webkit-line-clamp: 1;
                        -webkit-box-orient: vertical;
                    }
                    
                    .u-line-clamp-2 {
                        -webkit-line-clamp: 2;
                    }
                    
                    .u-line-clamp-3 {
                        -webkit-line-clamp: 3;
                    }
                    
                    .u-line-clamp-4 {
                        -webkit-line-clamp: 4;
                    }
                    /* Child Contain */
                    
                    .u-child-contain > * {
                        width: 100%;
                        max-width: inherit !important;
                        margin-inline: 0 !important;
                        margin-top: 0 !important;
                    }
                    /* Hide */
                    
                    .u-hide-if-empty:empty,
                    .u-hide-if-empty:not(:has(>:not(.w-condition-invisible))),
                    .u-hide-if-empty-cms:not(:has(.w-dyn-item)),
                    .u-embed-js,
                    .u-embed-css {
                        display: none !important;
                    }
                    /* Focus State */
                    
                    a,
                    button,
                    :where([tabindex]) {
                        outline-offset: var(--focus--offset-outer);
                    }
                    
                    a:focus-visible,
                    button:focus-visible,
                    [tabindex]:focus-visible {
                        outline-color: var(--_theme---text);
                        outline-width: var(--focus--width);
                        outline-style: solid;
                    }
                    /* Global / Clickable Component */
                    
                    .wf-design-mode .g_clickable_wrap {
                        z-index: 0;
                    }
                    
                    .g_clickable_wrap a[href="#"] {
                        display: none;
                    }
                    
                    .g_clickable_wrap a[href="#"] ~ button {
                        display: block;
                    }
                    /* Responsive Above */
                    
                    @container threshold-large (width >=62em) {
                        .u-order-unset-above {
                            order: unset !important;
                        }
                        .u-all-unset-above {
                            all: unset !important;
                        }
                        .u-grid-below {
                            display: flex !important;
                        }
                    }
                    
                    @container threshold-medium (width >=48em) {
                        .u-order-unset-above {
                            order: unset !important;
                        }
                        .u-all-unset-above {
                            all: unset !important;
                        }
                        .u-grid-below {
                            display: flex !important;
                        }
                    }
                    
                    @container threshold-small (width >=30em) {
                        .u-order-unset-above {
                            order: unset !important;
                        }
                        .u-all-unset-above {
                            all: unset !important;
                        }
                        .u-grid-below {
                            display: flex !important;
                        }
                    }
                    /* Responsive Below */
                    
                    @container threshold-large (width < 62em) {
                        .u-order-unset-below {
                            order: unset !important;
                        }
                        .u-all-unset-below {
                            all: unset !important;
                        }
                        .u-grid-above {
                            display: flex !important;
                        }
                    }
                    
                    @container threshold-medium (width < 48em) {
                        .u-order-unset-below {
                            order: unset !important;
                        }
                        .u-all-unset-below {
                            all: unset !important;
                        }
                        .u-grid-above {
                            display: flex !important;
                        }
                    }
                    
                    @container threshold-small (width < 30em) {
                        .u-order-unset-below {
                            order: unset !important;
                        }
                        .u-all-unset-below {
                            all: unset !important;
                        }
                        .u-grid-above {
                            display: flex !important;
                        }
                    }
                 .projects_cursor_pointer.fullscreen [data-projects=view-project-wrap] {
                        opacity: 0;
                    }


                    /* Global attribute to easily control easing and timing of all targetted elements */
                    
                    [data-button-anim-target] {
                        transition: transform 0.525s cubic-bezier(0.625, 0.05, 0, 1);
                    }
                    /* Fake a duplicate text element using text shadow without blur  */
                    /* We save the distance in a variable for easy use in the CSS animation */
                    
                    .btn-icon-content__text {
                        --text-duplicate-distance: 1.5em;
                        text-shadow: 0px var(--text-duplicate-distance) currentColor;
                    }
                    /* Only apply hover animations if they are actually not supported */
                    
                    @media (hover:hover) and (pointer:fine) {
                        .btn-icon-link:hover .btn-icon-content__text {
                            transform: translate(0px, calc(-1 * var(--text-duplicate-distance)));
                        }
                        .btn-icon-link:hover .btn-icon-icon__bg {
                            transform: rotate(90deg);
                        }
                        .btn-icon-link:hover .btn-icon-icon__arrow {
                            transform: translate(200%, 0px);
                        }
                        .btn-icon-link:hover .btn-icon-content__bg {
                            transform: translate(0px, 0%) rotate(0deg);
                        }
                    }
           


                    html.wf-design-mode .styleguide_guide_wrap {
                        display: block;
                    }
                    
                    .styleguide_guide_layout {
                        counter-reset: gridguides;
                    }
                    
                    .styleguide_guide_layout > div::before {
                        counter-increment: gridguides;
                        content: counter(gridguides);
                    }
           