/*!
Theme Name: real-estate-partners
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: University Real Estate Partners parent theme.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: real-estate-partners
Tags: custom-background, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================
   UREP BASE
   ========================================================== */

:root {
    --rep-red: #be0000;
    --rep-red-dark: #91172c;
    --rep-black: #000;
    --rep-white: #fff;
    --rep-dark: #050505;
    --rep-charcoal: #414141;
    --rep-text: #47494a;
    --rep-muted: #707271;
    --rep-border: #e6ecf2;
    --rep-max: 1080px;
    --rep-wide: 1280px;
    --rep-header-height: 96px;
    --rep-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

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

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    padding: 0;
    background: #000;
    color: var(--rep-text);
    font-family: "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

main {
    display: block;
}

img {
    display: block;
    border-style: none;
    height: auto;
    max-width: 100%;
}

a {
    background-color: transparent;
    color: var(--rep-red);
    text-decoration: none;
    outline: 3px dotted rgba(0, 0, 0, 0);
    outline-offset: 2px;
}

a:visited {
    color: var(--rep-red);
}

a:hover,
a:focus,
a:active {
    color: var(--rep-red-dark);
}

a:focus,
a:focus-visible {
    outline-color: var(--rep-red);
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

table {
    margin: 30px 0;
    width: 100%;
    border-collapse: collapse;
}

figure {
    margin: 30px 0;
}

/* ==========================================================
   WORDPRESS / UNDERSCORES CLEANUP
   ========================================================== */

#page,
.site,
.site-main,
.rep-site-main,
.hentry,
.entry-content,
.page-content,
.entry-summary,
article.page,
.post,
.page {
    margin: 0;
    padding: 0;
}

#page {
    overflow: hidden;
    background: #000;
}

.entry-content > * {
    max-width: none;
}

.updated:not(.published) {
    display: none;
}

.widget {
    margin: 0;
}

.entry-footer {
    display: none;
}

.screen-reader-text,
.uu-skip-link,
.rep-skip-link {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus,
.uu-skip-link:hover,
.uu-skip-link:active,
.uu-skip-link:focus,
.rep-skip-link:hover,
.rep-skip-link:active,
.rep-skip-link:focus {
    background-color: #000;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: 700;
    height: auto;
    left: 15%;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: underline;
    top: 4px;
    width: auto;
    z-index: 100000;
    outline: 1px dotted #fff;
    position: fixed !important;
}

#primary[tabindex="-1"]:focus {
    outline: 0;
}

.alignleft {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}

.alignright {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}

/* ==========================================================
   HEADER
   ========================================================== */

.rep-header {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    z-index: 1000;
    width: 100%;
    background: #000;
}

body.home .rep-header,
body.front-page .rep-header {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    background: transparent;
}

.rep-header__inner {
    max-width: var(--rep-max);
    height: var(--rep-header-height);
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: border-box;
}

.rep-logo {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding-top: 25px;
    text-decoration: none;
    line-height: 1;
}

.rep-logo img {
    display: block;
    width: 200px;
    max-width: 200px;
    height: auto;
}

.main-navigation {
    display: block;
}

.rep-nav.main-navigation,
.rep-nav {
    width: auto;
    display: flex;
    align-items: center;
    padding-top: 42px;
}

.rep-nav.main-navigation ul,
.rep-nav ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rep-nav.main-navigation li,
.rep-nav li {
    position: relative;
    margin: 0;
    padding: 0;
}

.rep-nav.main-navigation a,
.rep-nav a {
    position: relative;
    display: block;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
}

.rep-nav.main-navigation a:visited,
.rep-nav a:visited,
.rep-nav.main-navigation a:hover,
.rep-nav.main-navigation a:focus,
.rep-nav a:hover,
.rep-nav a:focus,
.rep-nav .current-menu-item > a,
.rep-nav .current_page_item > a {
    color: #fff;
}

.rep-nav .current-menu-item > a::before,
.rep-nav .current_page_item > a::before,
.rep-nav .current-menu-ancestor > a::before,
.rep-nav .current_page_ancestor > a::before {
    content: "";
    position: absolute;
    top: -23px;
    left: 50%;
    transform: translateX(-50%);
    width: 86px;
    height: 7px;
    background: var(--rep-red);
    display: block;
}

.menu-toggle {
    display: none;
}

/* ==========================================================
   GLOBAL TYPOGRAPHY
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6,
.faux-heading {
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 15px;
}

h1,
.entry-content h1,
.page-content h1,
.site-main h1,
.faux-heading.h1 {
    color: #fff;
    font-size: 36px;
    line-height: normal;
    margin: 0 0 24px;
}

h2,
.entry-content h2,
.page-content h2,
.site-main h2,
.rep-section-title,
.faux-heading.h2 {
    color: inherit;
    font-size: 36px;
    line-height: normal;
    margin: 0 0 48px;
}

h3,
.entry-content h3,
.page-content h3,
.site-main h3,
.rep-section-subtitle,
.faux-heading.h3 {
    color: inherit;
    font-size: 26px;
    margin: 0 0 16px;
}

h4,
.faux-heading.h4 {
    font-size: 21px;
}

h5,
.faux-heading.h5 {
    font-size: 18px;
}

h6,
.faux-heading.h6 {
    font-size: 16px;
}

h1.white,
h2.white,
h3.white,
h4.white,
h5.white,
h6.white,
.faux-heading.white {
    color: #fff;
}

h1.red,
h2.red,
h3.red,
h4.red,
h5.red,
h6.red,
.faux-heading.red,
.rep-heading-red,
.rep-section-subtitle-red,
.rep-red {
    color: var(--rep-red);
}

h1.black,
h2.black,
h3.black,
h4.black,
h5.black,
h6.black,
.faux-heading.black {
    color: #000;
}

.bold {
    font-weight: 800;
}

.rep-h1,
.entry-content .rep-h1,
.rep-hero h1 {
    color: #fff;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 18px;
}

.rep-section-kicker,
.rep-red-line,
hr.rep-red-line {
    display: block;
    width: 86px;
    height: 7px;
    max-width: 86px;
    background: var(--rep-red);
    border: 0;
    margin: 0 0 34px;
}

.rep-section-kicker-center,
.rep-red-line-center,
.rep-section-kicker.center,
.rep-red-line.center,
hr.rep-red-line.center {
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================
   SITEORIGIN SECTION SYSTEM
   ========================================================== */

.rep-section,
.rep-section-dark,
.rep-section-light,
.rep-section-white,
.rep-section-black {
    position: relative;
    padding: 100px 32px;
    box-sizing: border-box;
}

.rep-section-sm {
    position: relative;
    padding: 70px 32px;
    box-sizing: border-box;
}

.rep-section-large,
.rep-section-lg {
    position: relative;
    padding: 120px 32px;
    box-sizing: border-box;
}

.rep-dark,
.rep-section-dark,
.rep-section-black {
    background: #000;
    color: #fff;
}

.rep-light,
.rep-section-light,
.rep-section-white {
    background: #fff;
    color: #111;
}

.rep-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--rep-max);
    margin: 0 auto;
}

.rep-container-wide {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--rep-wide);
    margin: 0 auto;
}

.rep-container-narrow {
    position: relative;
    z-index: 2;
    max-width: 760px;
    margin: 0 auto;
}

.rep-center {
    text-align: center;
}

.rep-two-column {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
    gap: clamp(48px, 7vw, 120px);
    align-items: center;
}

.rep-two-column-balanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rep-copy,
.entry-content .rep-copy {
    font-size: 16px;
    line-height: 1.45;
    max-width: 440px;
}

.rep-copy p {
    margin: 0 0 20px;
}

.rep-copy-narrow {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================
   BUTTON SYSTEM
   Backwards compatible with .btn and .uu-btn.
   ========================================================== */

a.btn,
a.btn:visited,
button.btn,
input.btn,
a.uu-btn,
a.uu-btn:visited,
button.uu-btn,
input.uu-btn,
a.rep-button,
a.rep-button:visited,
button.rep-button,
input.rep-button,
.entry-content .btn,
.entry-content .uu-btn,
.entry-content .rep-button {
    display: inline-block;
    margin: 10px auto;
    background-color: var(--rep-red);
    color: #fff;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    border: 0;
    border-radius: 4px;
    padding: 8px 20px;
    box-shadow: 0 0 0 0 rgba(84, 117, 145, 0.1);
    cursor: pointer;
    transition: all 0.15s ease-in-out;
}

a.btn:hover,
a.btn:focus,
button.btn:hover,
button.btn:focus,
input.btn:hover,
input.btn:focus,
a.uu-btn:hover,
a.uu-btn:focus,
button.uu-btn:hover,
button.uu-btn:focus,
input.uu-btn:hover,
input.uu-btn:focus,
a.rep-button:hover,
a.rep-button:focus,
button.rep-button:hover,
button.rep-button:focus,
input.rep-button:hover,
input.rep-button:focus {
    background-color: var(--rep-red-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 10px 10px 0 rgba(84, 117, 145, 0.2);
    text-decoration: none;
}

a.btn:focus,
button.btn:focus,
input.btn:focus,
a.uu-btn:focus,
button.uu-btn:focus,
input.uu-btn:focus,
a.rep-button:focus,
button.rep-button:focus,
input.rep-button:focus {
    outline: 1px dotted var(--rep-red);
    outline-offset: 2px;
}

a.btn.ghost,
button.btn.ghost,
input.btn.ghost,
a.uu-btn.ghost,
button.uu-btn.ghost,
input.uu-btn.ghost,
a.rep-button.ghost,
button.rep-button.ghost,
input.rep-button.ghost {
    background-color: transparent !important;
    border: 2px solid var(--rep-red);
    color: var(--rep-red);
}

a.btn.black,
button.btn.black,
input.btn.black,
a.uu-btn.black,
button.uu-btn.black,
input.uu-btn.black,
a.rep-button.black,
button.rep-button.black,
input.rep-button.black {
    background-color: #372c2c;
    color: #fff;
}

a.btn.black:hover,
button.btn.black:hover,
input.btn.black:hover,
a.uu-btn.black:hover,
button.uu-btn.black:hover,
input.uu-btn.black:hover,
a.rep-button.black:hover,
button.rep-button.black:hover,
input.rep-button.black:hover {
    background-color: var(--rep-red);
    color: #fff;
}

a.btn.gray,
button.btn.gray,
input.btn.gray,
a.uu-btn.gray,
button.uu-btn.gray,
input.uu-btn.gray,
a.rep-button.gray,
button.rep-button.gray,
input.rep-button.gray {
    background-color: #b5b5b5;
    color: #000;
}

a.btn.gray:hover,
button.btn.gray:hover,
input.btn.gray:hover,
a.uu-btn.gray:hover,
button.uu-btn.gray:hover,
input.uu-btn.gray:hover,
a.rep-button.gray:hover,
button.rep-button.gray:hover,
input.rep-button.gray:hover {
    background-color: #372c2c;
    color: #fff;
}

a.btn.white,
button.btn.white,
input.btn.white,
a.uu-btn.white,
button.uu-btn.white,
input.uu-btn.white,
a.rep-button.white,
button.rep-button.white,
input.rep-button.white {
    background-color: #fff;
    color: var(--rep-red);
}

a.btn.white:hover,
button.btn.white:hover,
input.btn.white:hover,
a.uu-btn.white:hover,
button.uu-btn.white:hover,
input.uu-btn.white:hover,
a.rep-button.white:hover,
button.rep-button.white:hover,
input.rep-button.white:hover {
    background-color: var(--rep-red);
    color: #fff;
}

a.btn.sm,
a.btn.small,
button.btn.sm,
button.btn.small,
input.btn.sm,
input.btn.small,
a.uu-btn.sm,
a.uu-btn.small,
button.uu-btn.sm,
button.uu-btn.small,
input.uu-btn.sm,
input.uu-btn.small,
a.rep-button.sm,
a.rep-button.small {
    font-size: 13px;
    padding: 2px 15px;
}

a.btn.lg,
a.btn.large,
button.btn.lg,
button.btn.large,
input.btn.lg,
input.btn.large,
a.uu-btn.lg,
a.uu-btn.large,
button.uu-btn.lg,
button.uu-btn.large,
input.uu-btn.lg,
input.uu-btn.large,
a.rep-button.lg,
a.rep-button.large {
    font-size: 18px;
    padding: 12px 26px;
}

a.btn.full,
button.btn.full,
input.btn.full,
a.uu-btn.full,
button.uu-btn.full,
input.uu-btn.full,
a.rep-button.full {
    display: block;
    width: 100%;
}

/* ==========================================================
   RESPONSIVE DOT ANIMATIONS
   ========================================================== */

.rep-dots {
    --rep-dot-color: #be0000;
    --rep-dot-size: clamp(2px, 0.22vw, 4px);
    --rep-dot-left-x: clamp(22px, 4.6vw, 86px);
    --rep-dot-right-x: clamp(22px, 4.6vw, 86px);
    --rep-dot-column-gap: clamp(58px, 7.2vw, 128px);
    --rep-dot-top-y: clamp(44px, 8vw, 138px);
    --rep-dot-bottom-y: clamp(44px, 8vw, 138px);
    --rep-dot-mid-y: 50%;
    --rep-dot-drift: clamp(4px, 0.6vw, 9px);
    position: relative;
    overflow: hidden;
}

.rep-dots-red,
.rep-dots--red {
    --rep-dot-color: #be0000;
}

.rep-dots-white,
.rep-dots--white {
    --rep-dot-color: #fff;
}

.rep-dots-black,
.rep-dots--black {
    --rep-dot-color: #000;
}

html.rep-animations-ready .rep-dots::before,
html.rep-animations-ready .rep-dots::after {
    display: none !important;
}

.rep-dot-layer {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.rep-dot-particle {
    position: absolute;
    width: var(--rep-dot-size);
    height: var(--rep-dot-size);
    border-radius: 999px;
    background: var(--rep-dot-color);
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(0.2);
    transition:
            opacity 0.85s ease,
            transform 1s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.rep-dots > *:not(.rep-dot-layer) {
    position: relative;
    z-index: 2;
}

.rep-dot-1 {
    left: var(--rep-dot-left-x);
    top: var(--rep-dot-top-y);
    transition-delay: 0.05s;
}

.rep-dot-2 {
    left: calc(var(--rep-dot-left-x) + var(--rep-dot-column-gap));
    top: var(--rep-dot-top-y);
    transition-delay: 0.1s;
}

.rep-dot-3 {
    left: var(--rep-dot-left-x);
    top: var(--rep-dot-mid-y);
    transition-delay: 0.15s;
}

.rep-dot-4 {
    left: calc(var(--rep-dot-left-x) + var(--rep-dot-column-gap));
    top: var(--rep-dot-mid-y);
    transition-delay: 0.2s;
}

.rep-dot-5 {
    left: var(--rep-dot-left-x);
    bottom: var(--rep-dot-bottom-y);
    transition-delay: 0.25s;
}

.rep-dot-6 {
    left: calc(var(--rep-dot-left-x) + var(--rep-dot-column-gap));
    bottom: var(--rep-dot-bottom-y);
    transition-delay: 0.3s;
}

.rep-dot-7 {
    right: calc(var(--rep-dot-right-x) + var(--rep-dot-column-gap));
    top: var(--rep-dot-top-y);
    transition-delay: 0.08s;
}

.rep-dot-8 {
    right: var(--rep-dot-right-x);
    top: var(--rep-dot-top-y);
    transition-delay: 0.13s;
}

.rep-dot-9 {
    right: calc(var(--rep-dot-right-x) + var(--rep-dot-column-gap));
    top: var(--rep-dot-mid-y);
    transition-delay: 0.18s;
}

.rep-dot-10 {
    right: var(--rep-dot-right-x);
    top: var(--rep-dot-mid-y);
    transition-delay: 0.23s;
}

.rep-dot-11 {
    right: calc(var(--rep-dot-right-x) + var(--rep-dot-column-gap));
    bottom: var(--rep-dot-bottom-y);
    transition-delay: 0.28s;
}

.rep-dot-12 {
    right: var(--rep-dot-right-x);
    bottom: var(--rep-dot-bottom-y);
    transition-delay: 0.33s;
}

.rep-dots.is-visible .rep-dot-particle {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.rep-dots.is-visible.rep-dots-drifting .rep-dot-particle:nth-child(odd) {
    animation: rep-dot-drift-a 6s ease-in-out infinite;
}

.rep-dots.is-visible.rep-dots-drifting .rep-dot-particle:nth-child(even) {
    animation: rep-dot-drift-b 6.8s ease-in-out infinite;
}

.rep-dots.is-visible.rep-dots-drifting .rep-dot-particle:nth-child(3n) {
    animation-duration: 7.4s;
}

.rep-dots.is-visible.rep-dots-drifting .rep-dot-particle:nth-child(4n) {
    animation-delay: -1.2s;
}

.rep-dots.is-visible.rep-dots-drifting .rep-dot-particle:nth-child(5n) {
    animation-delay: -2s;
}

.rep-dots-left-only .rep-dot-7,
.rep-dots-left-only .rep-dot-8,
.rep-dots-left-only .rep-dot-9,
.rep-dots-left-only .rep-dot-10,
.rep-dots-left-only .rep-dot-11,
.rep-dots-left-only .rep-dot-12,
.rep-dots-no-right .rep-dot-7,
.rep-dots-no-right .rep-dot-8,
.rep-dots-no-right .rep-dot-9,
.rep-dots-no-right .rep-dot-10,
.rep-dots-no-right .rep-dot-11,
.rep-dots-no-right .rep-dot-12 {
    display: none !important;
}

.rep-dots-right-only .rep-dot-1,
.rep-dots-right-only .rep-dot-2,
.rep-dots-right-only .rep-dot-3,
.rep-dots-right-only .rep-dot-4,
.rep-dots-right-only .rep-dot-5,
.rep-dots-right-only .rep-dot-6,
.rep-dots-no-left .rep-dot-1,
.rep-dots-no-left .rep-dot-2,
.rep-dots-no-left .rep-dot-3,
.rep-dots-no-left .rep-dot-4,
.rep-dots-no-left .rep-dot-5,
.rep-dots-no-left .rep-dot-6 {
    display: none !important;
}

.rep-dots-enter-left .rep-dot-particle {
    transform: translate3d(-42px, 0, 0) scale(0.2);
}

.rep-dots-enter-left.is-visible .rep-dot-particle {
    transform: translate3d(0, 0, 0) scale(1);
}

.rep-footer.rep-dots {
    --rep-dot-color: #be0000;
    --rep-dot-size: clamp(2px, 0.2vw, 4px);
    --rep-dot-left-x: clamp(18px, 4vw, 72px);
    --rep-dot-right-x: clamp(18px, 4vw, 72px);
    --rep-dot-column-gap: clamp(54px, 7vw, 116px);
    --rep-dot-top-y: clamp(30px, 6vw, 84px);
    --rep-dot-bottom-y: clamp(30px, 6vw, 84px);
    --rep-dot-mid-y: 50%;
}

@keyframes rep-dot-drift-a {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(var(--rep-dot-drift), calc(var(--rep-dot-drift) * -1), 0) scale(1);
    }
}

@keyframes rep-dot-drift-b {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(calc(var(--rep-dot-drift) * -1), var(--rep-dot-drift), 0) scale(1);
    }
}

@media (max-width: 1180px) {
    .rep-dots {
        --rep-dot-left-x: clamp(18px, 3.5vw, 50px);
        --rep-dot-right-x: clamp(18px, 3.5vw, 50px);
        --rep-dot-column-gap: clamp(50px, 6.2vw, 86px);
    }
}

@media (max-width: 900px) {
    .rep-dots {
        --rep-dot-size: 3px;
        --rep-dot-left-x: clamp(18px, 4vw, 40px);
        --rep-dot-right-x: clamp(18px, 4vw, 40px);
        --rep-dot-column-gap: clamp(52px, 12vw, 88px);
        --rep-dot-top-y: clamp(38px, 8vw, 78px);
        --rep-dot-bottom-y: clamp(38px, 8vw, 78px);
    }

    .rep-dot-2,
    .rep-dot-4,
    .rep-dot-6,
    .rep-dot-7,
    .rep-dot-9,
    .rep-dot-11 {
        display: none !important;
    }
}

@media (max-width: 782px) {
    .rep-dots-hide-mobile .rep-dot-layer,
    .rep-dots-hide-mobile .rep-dot-particle {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .rep-footer.rep-dots .rep-dot-layer,
    .rep-footer.rep-dots .rep-dot-particle {
        display: block !important;
        visibility: visible !important;
    }
}

@media (max-width: 600px) {
    .rep-dots {
        --rep-dot-size: 2px;
        --rep-dot-left-x: 18px;
        --rep-dot-right-x: 18px;
        --rep-dot-column-gap: 58px;
        --rep-dot-top-y: 40px;
        --rep-dot-bottom-y: 40px;
        --rep-dot-drift: 5px;
    }

    .rep-footer.rep-dots {
        --rep-dot-size: 2px;
        --rep-dot-left-x: 14px;
        --rep-dot-right-x: 14px;
        --rep-dot-column-gap: 52px;
        --rep-dot-top-y: 34px;
        --rep-dot-bottom-y: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rep-dot-particle,
    .rep-dots.is-visible.rep-dots-drifting .rep-dot-particle {
        animation: none !important;
        transition: none !important;
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

/* ==========================================================
   HOME SCROLL EXPERIENCE
   ========================================================== */

body.home,
body.front-page {
    background: #fff;
}

body.home #page,
body.front-page #page {
    position: relative;
    background: #fff;
    overflow: visible !important;
}

body.home #content,
body.front-page #content,
body.home .site-main,
body.front-page .site-main,
body.home .entry-content,
body.front-page .entry-content,
body.home .panel-layout,
body.front-page .panel-layout {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background: #000;
    overflow: visible !important;
}

body.home .panel-grid,
body.front-page .panel-grid,
body.home .panel-row-style,
body.front-page .panel-row-style {
    overflow: visible;
}

body.home .rep-header,
body.front-page .rep-header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 60;
    background: transparent !important;
}

body.home .rep-header::before,
body.home .rep-header::after,
body.front-page .rep-header::before,
body.front-page .rep-header::after {
    display: none !important;
}

body.home .rep-header__inner,
body.front-page .rep-header__inner {
    background: transparent !important;
}

body.home .rep-header *,
body.front-page .rep-header * {
    position: relative;
    z-index: 61;
}

/* ==========================================================
   HOME HERO
   ========================================================== */

.rep-hero-home,
.rep-scroll-hero,
.panel-row-style.rep-hero-home,
.panel-row-style.rep-scroll-hero {
    position: relative !important;
    top: auto !important;
    z-index: 1;
    isolation: isolate;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    min-height: 100vh !important;
    min-height: 100svh !important;
    margin: 0 !important;
    padding: var(--rep-header-height, 96px) 32px 0 !important;
    background-size: cover !important;
    background-position: center 15% !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed;
    color: #fff;
}

.rep-hero-home > .panel-grid-cell,
.rep-hero-home .panel-grid-cell,
.rep-hero-home .so-panel,
.rep-hero-home .siteorigin-widget-tinymce,
.rep-hero-home .textwidget,
.panel-row-style.rep-hero-home > .panel-grid-cell,
.panel-row-style.rep-hero-home .so-panel,
.panel-row-style.rep-hero-home .siteorigin-widget-tinymce,
.panel-row-style.rep-hero-home .textwidget {
    width: 100%;
    position: relative;
    z-index: 3;
}

.rep-hero-home__content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 960px;
    margin: 0 auto !important;
    text-align: center;
    transform: translate3d(0, var(--rep-hero-shift, 0px), 0);
    opacity: var(--rep-hero-opacity, 1);
    will-change: transform, opacity;
}

.rep-hero-home__content h1 {
    color: #fff;
    text-align: center;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: clamp(38px, 4vw, 48px);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 18px;
}

.rep-hero-home__content p {
    max-width: 550px;
    margin: 0 auto 38px;
    color: #c5c5c5;
    text-align: center;
    font-family: "Myriad Pro", "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.rep-hero-home::before,
.panel-row-style.rep-hero-home::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
            linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0.28) 0%,
                    rgba(0, 0, 0, 0.50) 52%,
                    rgba(0, 0, 0, 0.84) 100%
            );
    pointer-events: none;
}

.rep-hero-home::after,
.panel-row-style.rep-hero-home::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
            radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.08), transparent 34%),
            linear-gradient(
                    90deg,
                    rgba(0, 0, 0, 0.18) 0%,
                    rgba(0, 0, 0, 0.02) 34%,
                    rgba(0, 0, 0, 0.02) 66%,
                    rgba(0, 0, 0, 0.18) 100%
            );
    pointer-events: none;
}

/* ==========================================================
   WHO WE ARE PARALLAX SECTION
   ========================================================== */

.panel-grid.rep-who-section,
.panel-grid.rep-overlap-section,
.panel-row-style.rep-who-section,
.panel-row-style.rep-overlap-section {
    --rep-home-gutter: clamp(32px, 4vw, 64px);
    --rep-dot-lane-width: clamp(150px, 16vw, 245px);
    --rep-dot-text-gap: 80px;
    --rep-home-text-left: max(var(--rep-home-gutter), calc(var(--rep-dot-lane-width) + var(--rep-dot-text-gap)));
    --rep-home-copy-width: clamp(320px, 30vw, 440px);
    --rep-home-image-gap: clamp(28px, 5vw, 78px);
    --rep-home-image-width: min(604px, calc(100vw - var(--rep-home-text-left) - var(--rep-home-copy-width) - var(--rep-home-image-gap)));
    --rep-home-image-height: min(414px, calc(var(--rep-home-image-width) * 0.68543));

    position: relative;
    z-index: 8;
    display: grid !important;
    grid-template-columns: var(--rep-home-copy-width) minmax(0, 1fr) !important;
    column-gap: var(--rep-home-image-gap) !important;
    align-items: center !important;
    justify-content: start !important;
    width: 100% !important;
    min-height: 697px !important;
    margin-top: clamp(-240px, -17vw, -140px) !important;
    padding: clamp(130px, 11vw, 170px) 0 clamp(90px, 9vw, 130px) var(--rep-home-text-left) !important;
    transform: translate3d(0, var(--rep-parallax-y, 120px), 0);
    will-change: transform;
    background:
            linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0) 0%,
                    rgba(0, 0, 0, 0.72) 22%,
                    #000 42%,
                    #000 100%
            ) !important;
    overflow: hidden !important;
}

.panel-grid.rep-who-section.rep-dots-left-only,
.panel-row-style.rep-who-section.rep-dots-left-only {
    --rep-dot-left-x: clamp(22px, 4.5vw, 86px);
    --rep-dot-column-gap: clamp(54px, 6.5vw, 200px);
}

.panel-grid.rep-who-section::before,
.panel-grid.rep-overlap-section::before,
.panel-row-style.rep-who-section::before,
.panel-row-style.rep-overlap-section::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: clamp(220px, 24vw, 360px) !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%) !important;
    pointer-events: none !important;
    display: block !important;
}

.panel-grid.rep-who-section > .panel-grid-cell,
.panel-grid.rep-overlap-section > .panel-grid-cell,
.panel-row-style.rep-who-section > .panel-grid-cell,
.panel-row-style.rep-overlap-section > .panel-grid-cell {
    position: relative !important;
    z-index: 3 !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.panel-grid.rep-who-section > .panel-grid-cell:first-child,
.panel-row-style.rep-who-section > .panel-grid-cell:first-child {
    width: var(--rep-home-copy-width) !important;
    max-width: var(--rep-home-copy-width) !important;
    justify-self: start !important;
}

.panel-grid.rep-who-section > .panel-grid-cell:last-child,
.panel-row-style.rep-who-section > .panel-grid-cell:last-child {
    width: 100% !important;
    max-width: none !important;
    height: var(--rep-home-image-height) !important;
    max-height: 414px !important;
    justify-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    overflow: visible;
}

.panel-grid.rep-who-section .so-panel,
.panel-grid.rep-overlap-section .so-panel,
.panel-row-style.rep-who-section .so-panel,
.panel-row-style.rep-overlap-section .so-panel,
.panel-grid.rep-who-section .siteorigin-widget-tinymce,
.panel-row-style.rep-who-section .siteorigin-widget-tinymce,
.panel-grid.rep-who-section .textwidget,
.panel-row-style.rep-who-section .textwidget {
    position: relative;
    z-index: 3;
    padding: 0 !important;
    margin: 0 !important;
}

.panel-grid.rep-who-section .panel-grid-cell:first-child .so-panel,
.panel-row-style.rep-who-section .panel-grid-cell:first-child .so-panel,
.panel-grid.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
.panel-row-style.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
.panel-grid.rep-who-section .panel-grid-cell:first-child .textwidget,
.panel-row-style.rep-who-section .panel-grid-cell:first-child .textwidget {
    opacity: 0;
    transform: translate3d(-32px, 0, 0);
    transition: opacity 0.56s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.panel-grid.rep-who-section.is-visible .panel-grid-cell:first-child .so-panel,
.panel-row-style.rep-who-section.is-visible .panel-grid-cell:first-child .so-panel,
.panel-grid.rep-who-section.is-visible .panel-grid-cell:first-child .siteorigin-widget-tinymce,
.panel-row-style.rep-who-section.is-visible .panel-grid-cell:first-child .siteorigin-widget-tinymce,
.panel-grid.rep-who-section.is-visible .panel-grid-cell:first-child .textwidget,
.panel-row-style.rep-who-section.is-visible .panel-grid-cell:first-child .textwidget {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.panel-grid.rep-who-section .rep-section-title,
.panel-row-style.rep-who-section .rep-section-title {
    margin-bottom: 34px;
}

.panel-grid.rep-who-section .rep-copy,
.panel-row-style.rep-who-section .rep-copy {
    max-width: var(--rep-home-copy-width);
}

.panel-grid.rep-who-section .rep-copy p,
.panel-row-style.rep-who-section .rep-copy p {
    margin-bottom: 28px;
}

.panel-grid.rep-who-section .rep-image-card,
.panel-row-style.rep-who-section .rep-image-card,
.panel-grid.rep-who-section .sow-image-container,
.panel-row-style.rep-who-section .sow-image-container {
    display: block !important;
    width: var(--rep-home-image-width) !important;
    max-width: 604px !important;
    height: var(--rep-home-image-height) !important;
    max-height: 414px !important;
    margin: 0 0 0 auto !important;
    overflow: hidden;
    opacity: 0;
    transform: translate3d(40px, 0, 0);
    transition: opacity 0.56s ease 0.08s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.08s;
    will-change: opacity, transform;
}

.panel-grid.rep-who-section.is-visible .rep-image-card,
.panel-row-style.rep-who-section.is-visible .rep-image-card,
.panel-grid.rep-who-section.is-visible .sow-image-container,
.panel-row-style.rep-who-section.is-visible .sow-image-container {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.panel-grid.rep-who-section img,
.panel-grid.rep-overlap-section img,
.panel-row-style.rep-who-section img,
.panel-row-style.rep-overlap-section img,
.panel-grid.rep-who-section .so-widget-image,
.panel-row-style.rep-who-section .so-widget-image {
    display: block !important;
    width: 100% !important;
    max-width: 604px !important;
    height: var(--rep-home-image-height) !important;
    max-height: 414px !important;
    object-fit: cover !important;
    border-radius: 4px 0 0 4px;
}

/* ==========================================================
   PROJECT CLICK SLIDER
   ========================================================== */

.panel-grid.rep-project-section.rep-scroll-projects,
.panel-row-style.rep-project-section.rep-scroll-projects {
    --rep-home-gutter: clamp(32px, 4vw, 64px);
    --rep-home-text-left: clamp(92px, 13vw, 180px);
    --rep-home-copy-width: clamp(320px, 30vw, 440px);
    --rep-home-image-gap: clamp(28px, 5vw, 78px);
    --rep-home-image-width: min(604px, calc(100vw - var(--rep-home-text-left) - var(--rep-home-copy-width) - var(--rep-home-image-gap)));
    --rep-home-image-height: min(414px, calc(var(--rep-home-image-width) * 0.68543));
    --rep-project-visible-height: 697px;

    position: relative;
    z-index: 9;
    background: #fff !important;
    color: #111;
    padding: 0 !important;
    margin: 0 !important;
    min-height: var(--rep-project-visible-height) !important;
    height: var(--rep-project-visible-height) !important;
    max-height: var(--rep-project-visible-height) !important;
    overflow: hidden !important;
}

.panel-grid.rep-scroll-projects.is-scroll-controlled,
.panel-row-style.rep-scroll-projects.is-scroll-controlled {
    min-height: var(--rep-project-visible-height) !important;
    height: var(--rep-project-visible-height) !important;
    max-height: var(--rep-project-visible-height) !important;
}

.panel-grid.rep-scroll-projects,
.panel-grid.rep-scroll-projects > .panel-grid-cell,
.panel-grid.rep-scroll-projects .so-panel,
.panel-grid.rep-scroll-projects .siteorigin-widget-tinymce,
.panel-grid.rep-scroll-projects .textwidget,
.panel-row-style.rep-scroll-projects,
.panel-row-style.rep-scroll-projects > .panel-grid-cell,
.panel-row-style.rep-scroll-projects .so-panel,
.panel-row-style.rep-scroll-projects .siteorigin-widget-tinymce,
.panel-row-style.rep-scroll-projects .textwidget {
    overflow: visible !important;
}

.rep-scroll-projects .rep-container,
.rep-scroll-projects.is-scroll-controlled .rep-container {
    position: relative;
    top: auto;
    width: 100%;
    max-width: none;
    height: var(--rep-project-visible-height);
    min-height: var(--rep-project-visible-height);
    max-height: var(--rep-project-visible-height);
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.rep-project-layout.rep-scroll-slider {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: var(--rep-home-copy-width) minmax(0, 1fr) !important;
    gap: var(--rep-home-image-gap) !important;
    align-items: center;
    justify-content: start !important;
    padding-left: var(--rep-home-text-left) !important;
    padding-right: 0 !important;
}

.rep-project-content {
    position: relative;
    z-index: 3;
    width: var(--rep-home-copy-width) !important;
    max-width: var(--rep-home-copy-width) !important;
    opacity: 0;
    transform: translate3d(0, -28px, 0);
    transition: opacity 0.56s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.rep-scroll-projects.is-visible .rep-project-content {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.rep-project-title {
    color: #000;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 72px;
}

.rep-project-slides {
    position: relative;
    min-height: 222px;
}

.rep-project-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    pointer-events: none;
    transition: opacity 0.38s ease, transform 0.48s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.rep-project-slide.is-active {
    position: relative;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
}

.rep-project-name {
    color: #be0000!important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 18px;
}

.rep-project-copy {
    max-width: var(--rep-home-copy-width);
    color: #414141;
    font-family: "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.25;
}

.rep-project-copy p {
    margin: 0 0 28px;
}

.rep-project-media {
    position: relative;
    width: var(--rep-home-image-width) !important;
    max-width: 604px !important;
    height: var(--rep-home-image-height) !important;
    min-height: 340px;
    max-height: 414px !important;
    justify-self: end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    overflow: hidden;
    border-radius: 4px 0 0 4px;
    opacity: 0;
    transform: translate3d(40px, 0, 0);
    transition: opacity 0.56s ease 0.08s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.08s;
    will-change: opacity, transform;
}

.rep-scroll-projects.is-visible .rep-project-media {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.rep-project-image-slide {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: 604px !important;
    height: var(--rep-home-image-height) !important;
    max-height: 414px !important;
    opacity: 0;
    transform: translate3d(40px, 0, 0) scale(1.025);
    transition: opacity 0.42s ease, transform 0.56s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.rep-project-image-slide.is-active {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    z-index: 2;
}

.rep-project-image-slide img {
    width: 100% !important;
    max-width: 604px !important;
    height: var(--rep-home-image-height) !important;
    max-height: 414px !important;
    object-fit: cover !important;
    display: block;
    border-radius: 4px 0 0 4px;
}

.rep-project-arrows {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin-top: 40px;
}

.rep-project-arrows br {
    display: none !important;
}

.rep-arrow,
.rep-project-arrow {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: #b8b8b8;
    color: #fff;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition:
            background-color 0.18s ease,
            color 0.18s ease,
            transform 0.18s ease;
}

.rep-arrow-red,
.rep-project-arrow-red,
.rep-arrow--red {
    background: #bbb;
    color: #fff;
}

.rep-arrow:hover,
.rep-arrow:focus,
.rep-project-arrow:hover,
.rep-project-arrow:focus,
.rep-arrow-red:hover,
.rep-arrow-red:focus,
.rep-project-arrow-red:hover,
.rep-project-arrow-red:focus,
.rep-arrow--red:hover,
.rep-arrow--red:focus {
    background: #be0000;
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.rep-arrow:visited,
.rep-project-arrow:visited,
.rep-arrow-red:visited,
.rep-project-arrow-red:visited,
.rep-arrow--red:visited {
    color: #fff;
}

/* ==========================================================
   404 PAGE
   ========================================================== */

.error404 .site-main,
.error404 .rep-site-main {
    background: #fff;
}

.error404 .error-404,
.error404 .not-found,
.error404 .page-content {
    width: 100%;
    max-width: var(--rep-max, 1080px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px;
}

.error404 .error-404,
.error404 .not-found {
    padding-top: clamp(72px, 8vw, 120px);
    padding-bottom: clamp(88px, 10vw, 140px);
}

.error404 .page-title {
    max-width: var(--rep-max, 1080px);
    margin-left: 0;
    margin-right: auto;
    color: #111;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 700;
    line-height: 1.05;
}

.error404 .page-content {
    color: #414141;
    font-family: "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1.45;
}

/* ==========================================================
   TEAM SECTION
   ========================================================== */

.panel-grid.rep-team-section,
.panel-row-style.rep-team-section {
    position: relative;
    z-index: 8;
    background-color: #000;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    padding: clamp(95px, 10vw, 140px) 32px clamp(120px, 12vw, 170px) !important;
    overflow: hidden;
}

.rep-team-section .rep-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--rep-max, 1080px);
    margin-left: auto;
    margin-right: auto;
}

.rep-team-section .rep-section-kicker,
.rep-team-section .rep-section-title {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

.rep-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(48px, 6vw, 72px) clamp(44px, 6vw, 72px);
    width: 100%;
    max-width: var(--rep-max, 1080px);
    margin: clamp(64px, 7vw, 92px) 0 0;
}

.rep-team-member,
.rep-person {
    color: #fff;
}

.rep-team-member img,
.rep-person img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0 0 14px;
    border-radius: 4px;
}

.rep-team-member h3,
.rep-person h3 {
    margin: 0;
    color: var(--rep-red);
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.1;
}

.rep-team-member p,
.rep-person p {
    margin: 4px 0 0;
    color: #fff;
    font-family: "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.2;
}

.rep-team-animate .rep-team-member,
.rep-team-animate .rep-person {
    opacity: 0;
    transform: translate3d(0, 42px, 0) scale(0.96);
    transition:
            opacity 0.7s ease,
            transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.rep-team-animate.is-visible .rep-team-member,
.rep-team-animate.is-visible .rep-person {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

/* ==========================================================
   HOME SCROLL RESPONSIVE
   ========================================================== */

@media (min-width: 901px) and (max-width: 1440px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        --rep-dot-lane-width: clamp(128px, 13vw, 188px);
        --rep-dot-text-gap: 80px;
        --rep-home-copy-width: clamp(320px, 29vw, 410px);
        --rep-home-image-gap: clamp(28px, 4vw, 56px);
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects {
        --rep-home-text-left: clamp(78px, 10vw, 140px);
        --rep-home-copy-width: clamp(320px, 29vw, 410px);
        --rep-home-image-gap: clamp(28px, 4vw, 56px);
    }

    .panel-grid.rep-who-section.rep-dots-left-only,
    .panel-row-style.rep-who-section.rep-dots-left-only {
        --rep-dot-left-x: clamp(18px, 3vw, 44px);
        --rep-dot-column-gap: clamp(44px, 5vw, 78px);
    }
}

@media (min-width: 901px) and (max-width: 1280px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        --rep-dot-lane-width: clamp(108px, 11vw, 150px);
        --rep-home-copy-width: clamp(300px, 28vw, 370px);
        --rep-home-image-gap: clamp(22px, 3vw, 42px);
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects {
        --rep-home-text-left: clamp(54px, 7vw, 92px);
        --rep-home-copy-width: clamp(300px, 28vw, 370px);
        --rep-home-image-gap: clamp(22px, 3vw, 42px);
    }

    .panel-grid.rep-who-section.rep-dots-left-only,
    .panel-row-style.rep-who-section.rep-dots-left-only {
        --rep-dot-left-x: 18px;
        --rep-dot-column-gap: clamp(38px, 4vw, 58px);
    }
}

@media (max-width: 900px) {
    .rep-hero-home,
    .rep-scroll-hero,
    .panel-row-style.rep-hero-home,
    .panel-row-style.rep-scroll-hero {
        position: relative !important;
        top: auto;
        background-attachment: scroll;
        padding-top: 90px !important;
    }

    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: block !important;
        margin-top: 0 !important;
        padding: 70px 32px !important;
        min-height: auto !important;
        transform: none !important;
        background: #000 !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        justify-self: auto;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        margin-top: 42px !important;
        justify-content: flex-start !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container,
    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: 414px !important;
        border-radius: 4px;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        aspect-ratio: 604 / 414;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img {
        height: 100% !important;
        object-fit: cover !important;
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects,
    .panel-grid.rep-scroll-projects.is-scroll-controlled,
    .panel-row-style.rep-scroll-projects.is-scroll-controlled {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative;
        top: auto;
        min-height: auto;
        height: auto;
        max-height: none;
        display: block;
        padding: 80px 24px;
    }

    .rep-project-layout.rep-scroll-slider {
        display: block !important;
        grid-template-columns: 1fr !important;
        justify-content: stretch;
        gap: 48px;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: 100% !important;
        max-width: none !important;
    }

    .rep-project-slides {
        min-height: auto;
    }

    .rep-project-slide,
    .rep-project-slide.is-active {
        position: relative;
        inset: auto;
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    .rep-project-slide:not(.is-active) {
        display: none;
    }

    .rep-project-media {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        min-height: 0;
        max-height: 414px !important;
        aspect-ratio: 604 / 414;
        margin-top: 48px;
        border-radius: 4px;
    }

    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: 414px !important;
        border-radius: 4px;
    }

    .rep-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
    }
}

@media (max-width: 782px) {
    body.home .rep-header,
    body.front-page .rep-header {
        position: relative !important;
        background: #000 !important;
    }

    .rep-hero-home,
    .rep-scroll-hero {
        min-height: 540px !important;
        padding-top: 90px !important;
        background-position: center center !important;
    }

    .rep-hero-home__content h1 {
        font-size: 38px;
    }

    .rep-hero-home__content p {
        font-size: 16px;
    }

    .error404 .error-404,
    .error404 .not-found,
    .error404 .page-content {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 600px) {
    .rep-team-grid {
        grid-template-columns: 1fr;
        max-width: 320px;
        gap: 42px;
    }
}

@media (max-width: 520px) {
    .rep-hero-home__content h1 {
        font-size: 32px;
    }

    .rep-project-title {
        font-size: 30px;
    }
}

/* ==========================================================
   FOOTER DOT SAFE ZONES
   ========================================================== */

.rep-footer.rep-dots .rep-dot-2,
.rep-footer.rep-dots .rep-dot-4,
.rep-footer.rep-dots .rep-dot-6,
.rep-footer.rep-dots .rep-dot-7,
.rep-footer.rep-dots .rep-dot-9,
.rep-footer.rep-dots .rep-dot-11 {
    display: none !important;
}

@media (min-width: 901px) and (max-width: 1440px) {
    .rep-footer.rep-dots {
        --rep-dot-left-x: clamp(22px, 3vw, 48px);
        --rep-dot-right-x: clamp(22px, 3vw, 48px);
        --rep-dot-column-gap: clamp(52px, 5.5vw, 84px);
    }
}

@media (max-width: 900px) {
    .rep-footer.rep-dots {
        --rep-dot-left-x: 16px;
        --rep-dot-right-x: 16px;
        --rep-dot-column-gap: 52px;
    }

    .rep-footer.rep-dots .rep-dot-1,
    .rep-footer.rep-dots .rep-dot-3,
    .rep-footer.rep-dots .rep-dot-5,
    .rep-footer.rep-dots .rep-dot-8,
    .rep-footer.rep-dots .rep-dot-10,
    .rep-footer.rep-dots .rep-dot-12 {
        display: block !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rep-hero-home__content,
    .rep-who-section,
    .rep-parallax-section,
    .rep-project-content,
    .rep-project-slide,
    .rep-project-media,
    .rep-project-image-slide,
    .rep-team-animate .rep-team-member,
    .rep-team-animate .rep-person,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
        animation: none !important;
    }

    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative;
        top: auto;
    }
}

/* ==========================================================
   IMAGE HELPERS
   ========================================================== */

.rep-image img,
.rep-image-card img,
.entry-content .rep-image img,
.entry-content .rep-image-card img {
    width: 100%;
    height: auto;
    display: block;
}

.rep-image-card img {
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
}

.rep-image-flush-right {
    margin-right: calc((100vw - var(--rep-max)) / -2);
}

.rep-image-flush-right img {
    width: 100%;
    max-width: none;
    height: auto;
    display: block;
}

/* ==========================================================
   HARD-CODED FOOTER
   ========================================================== */

.rep-footer {
    position: relative;
    overflow: hidden;
    background:
            linear-gradient(180deg, rgba(65, 65, 65, 0) 0%, #414141 100%),
            #000;
    color: #fff;
    min-height: clamp(300px, 27vw, 430px);
    padding: clamp(80px, 9vw, 130px) 32px clamp(60px, 7vw, 95px);
    box-sizing: border-box;
}

.rep-footer__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr);
    align-items: center;
    gap: clamp(48px, 8vw, 120px);
}

.rep-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rep-footer__logo {
    display: inline-block;
    text-decoration: none;
    line-height: 1;
}

.rep-footer__logo img {
    display: block;
    width: clamp(180px, 23vw, 326px);
    max-width: 100%;
    height: auto;
}

.rep-footer__copyright {
    margin: 34px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: clamp(10px, 0.9vw, 13px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.rep-footer__address {
    align-self: center;
}

.rep-footer__address p {
    margin: 0;
    color: #fff;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: clamp(10px, 0.9vw, 13px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.rep-footer a,
.rep-footer a:visited {
    color: #fff;
    text-decoration: none;
}

.rep-footer a:hover,
.rep-footer a:focus {
    color: var(--rep-red);
}


/* ==========================================================
   SINGLE ARTICLE STYLE

   ========================================================== */

.single .site-main,
.single-post .site-main,
.single-news .site-main {
    background:
            radial-gradient(circle at 10% 10%, rgba(190, 0, 0, 0.08), transparent 28%),
            #000;
    padding: clamp(60px, 8vw, 110px) 24px;
}

.single .site-main > article,
.single-post .site-main > article,
.single-news .site-main > article {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    background: #fff;
    color: var(--rep-text);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: var(--rep-shadow);
}

.single .entry-header,
.single-post .entry-header,
.single-news .entry-header {
    padding: clamp(40px, 6vw, 70px) clamp(28px, 6vw, 70px) 0;
    margin: 0;
}

.single .entry-title,
.single-post .entry-title,
.single-news .entry-title {
    color: #000;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.05;
    margin: 0 0 20px;
}

.single .entry-meta,
.single-post .entry-meta,
.single-news .entry-meta {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rep-red);
    letter-spacing: 0.03em;
    margin-bottom: 24px;
}

.single .post-thumbnail,
.single-post .post-thumbnail,
.single-news .post-thumbnail {
    margin: 30px 0 0;
}

.single .post-thumbnail img,
.single-post .post-thumbnail img,
.single-news .post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.single .entry-content,
.single-post .entry-content,
.single-news .entry-content {
    padding: clamp(32px, 6vw, 70px);
    color: var(--rep-text);
}

.single .entry-content h1,
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6 {
    color: #000;
}

.single .entry-content p {
    margin: 0 0 1.4em;
}

.single .entry-content a:not(.btn):not(.uu-btn):not(.rep-button) {
    color: var(--rep-red);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

body:not(.siteorigin-panels).page:not(.home) .entry-content {
    max-width: 980px;
    margin: 0 auto;
    padding: clamp(48px, 7vw, 90px) 24px;
    background: #fff;
}

/* ==========================================================
   ARCHIVE / BLOG / SEARCH STYLE

   ========================================================== */

.blog .site-main,
.archive .site-main,
.search .site-main {
    background:
            radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.08), transparent 25%),
            #000;
    color: #fff;
    padding: clamp(60px, 8vw, 110px) 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.blog .page-header,
.archive .page-header,
.search .page-header,
.blog .navigation,
.archive .navigation,
.search .navigation {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 40px;
}

.blog .page-title,
.archive .page-title,
.search .page-title {
    color: #fff;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.05;
    margin: 0;
}

.blog .site-main > article,
.archive .site-main > article,
.search .site-main > article {
    background:
            linear-gradient(180deg, rgba(65, 65, 65, 0.65) 0%, rgba(10, 10, 10, 1) 100%),
            #101010;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.blog .site-main > article:hover,
.archive .site-main > article:hover,
.search .site-main > article:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px rgba(0, 0, 0, 0.38);
    border-color: rgba(190, 0, 0, 0.5);
}

.blog .site-main > article .post-thumbnail,
.archive .site-main > article .post-thumbnail,
.search .site-main > article .post-thumbnail {
    margin: 0;
}

.blog .site-main > article .post-thumbnail img,
.archive .site-main > article .post-thumbnail img,
.search .site-main > article .post-thumbnail img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.blog .site-main > article .entry-header,
.archive .site-main > article .entry-header,
.search .site-main > article .entry-header {
    padding: 26px 26px 0;
    margin: 0;
}

.blog .site-main > article .entry-title,
.archive .site-main > article .entry-title,
.search .site-main > article .entry-title {
    color: #fff;
    font-size: 24px;
    line-height: 1.15;
    margin: 0 0 12px;
}

.blog .site-main > article .entry-title a,
.archive .site-main > article .entry-title a,
.search .site-main > article .entry-title a {
    color: #fff;
    text-decoration: none;
}

.blog .site-main > article .entry-title a:hover,
.archive .site-main > article .entry-title a:hover,
.search .site-main > article .entry-title a:hover {
    color: var(--rep-red);
}

.blog .site-main > article .entry-meta,
.archive .site-main > article .entry-meta,
.search .site-main > article .entry-meta {
    color: var(--rep-red);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.blog .site-main > article .entry-summary,
.archive .site-main > article .entry-summary,
.search .site-main > article .entry-summary,
.blog .site-main > article .entry-content,
.archive .site-main > article .entry-content,
.search .site-main > article .entry-content {
    padding: 18px 26px 30px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
}

.blog .site-main > article .entry-summary p,
.archive .site-main > article .entry-summary p,
.search .site-main > article .entry-summary p {
    margin: 0;
}


.pagination,
.posts-navigation,
.post-navigation {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto 0;
}

.pagination .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
    display: flex;
    gap: 10px;
}

.pagination a,
.pagination span,
.posts-navigation a,
.post-navigation a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 12px;
    background: #101010;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.14);
    text-decoration: none;
    border-radius: 4px;
}

.pagination .current,
.pagination a:hover,
.posts-navigation a:hover,
.post-navigation a:hover {
    background: var(--rep-red);
    color: #fff;
    border-color: var(--rep-red);
}

/* ==========================================================
   CONTENT ELEMENTS
   ========================================================== */

.entry-content ul,
.entry-content ol,
.siteorigin-widget-tinymce ul,
.siteorigin-widget-tinymce ol {
    margin: 0 0 30px 20px;
    padding-left: 18px;
    line-height: 1.5;
}

.entry-content li,
.siteorigin-widget-tinymce li {
    margin-bottom: 10px;
}

.entry-content table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    margin: 30px 0;
}

.entry-content table th,
.entry-content table td {
    padding: 12px 18px;
    border: 1px solid var(--rep-border);
    text-align: left;
}

.entry-content table th {
    background: #f7f9fb;
    color: #000;
    font-weight: 700;
}

.entry-content blockquote {
    position: relative;
    background: #fff;
    color: var(--rep-text);
    padding: 34px;
    margin: 34px auto;
    border-left: 7px solid var(--rep-red);
    box-shadow: 0 10px 20px rgba(84, 117, 145, 0.1);
}

.entry-content figure {
    display: flex;
    flex-flow: column nowrap;
    margin: 30px 0;
    padding: 0;
    max-width: 100%;
}

.entry-content figure img {
    flex: 0 0 auto;
    margin: 0;
}

.entry-content figcaption,
.wp-caption-text {
    color: #000;
    background: #f6f9fc;
    font-size: 15px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--rep-border);
}


label {
    font-weight: 700;
    color: #000;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
    width: 100%;
    max-width: 100%;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff;
    color: var(--rep-text);
    padding: 10px 14px;
    box-sizing: border-box;
}

input:focus,
textarea:focus,
select:focus {
    outline: 1px dotted var(--rep-red);
    outline-offset: 2px;
    border-color: var(--rep-red);
}


.siteorigin-panels .entry-content {
    padding: 0;
}

.so-panel {
    padding: 10px 0;
}

[data-stretch-type="full-stretched"] .so-panel,
[data-stretch-type="full-width-stretch"] .so-panel {
    padding: 0;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1024px) {
    .blog .site-main,
    .archive .site-main,
    .search .site-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {

    .rep-footer {
        min-height: auto;
        padding: 90px 28px 72px;
    }

    .rep-footer__inner {
        grid-template-columns: 1fr;
        gap: 34px;
        text-align: center;
        justify-items: center;
    }

    .rep-footer__brand {
        align-items: center;
    }

    .rep-footer__copyright {
        margin-top: 28px;
    }

    .rep-footer__address {
        max-width: 320px;
    }
}

@media (max-width: 782px) {
    body.home .rep-header,
    body.front-page .rep-header,
    .rep-header {
        position: relative;
        background: #000;
    }

    .rep-header__inner {
        height: auto;
        min-height: 72px;
        padding: 18px 22px;
        align-items: center;
    }

    .rep-logo {
        padding-top: 0;
        align-self: center;
    }

    .rep-logo img {
        width: 132px;
        max-width: 132px;
    }

    .rep-nav.main-navigation,
    .rep-nav {
        padding-top: 0;
    }

    .rep-nav .menu-toggle,
    .menu-toggle {
        display: inline-flex;
        background: var(--rep-red);
        color: #fff;
        border: 0;
        border-radius: 0;
        padding: 10px 14px;
        text-transform: uppercase;
        font-size: 12px;
        font-weight: 800;
        cursor: pointer;
    }

    .rep-nav.main-navigation ul,
    .rep-nav ul {
        display: none;
        position: absolute;
        top: 72px;
        left: -70px;
        right: 0;
        background: #fff;
        padding: 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        z-index: 1001;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
    }

    .rep-nav.main-navigation.toggled ul,
    .rep-nav.toggled ul {
        display: flex;
    }

    .rep-nav.main-navigation ul a,
    .rep-nav ul a,
    .rep-nav.main-navigation ul a:visited,
    .rep-nav ul a:visited,
    .rep-nav.main-navigation ul a:hover,
    .rep-nav.main-navigation ul a:focus,
    .rep-nav ul a:hover,
    .rep-nav ul a:focus,
    .rep-nav.toggled .current-menu-item > a,
    .rep-nav.toggled .current_page_item > a {
        color: #000;
    }

    .rep-nav .current-menu-item > a::before,
    .rep-nav .current_page_item > a::before,
    .rep-nav .current-menu-ancestor > a::before,
    .rep-nav .current_page_ancestor > a::before {
        display: none;
    }

    .rep-section,
    .rep-section-dark,
    .rep-section-light,
    .rep-section-white,
    .rep-section-black {
        padding: 70px 24px;
    }

    .rep-section-large,
    .rep-section-lg {
        padding: 80px 24px;
    }

    .rep-hero {
        min-height: 560px;
        padding: 80px 24px;
    }

    .rep-two-column,
    .rep-two-column-balanced {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}

@media (max-width: 700px) {
    .blog .site-main,
    .archive .site-main,
    .search .site-main {
        grid-template-columns: 1fr;
    }

    .single .entry-header,
    .single .entry-content,
    .single-post .entry-header,
    .single-post .entry-content,
    .single-news .entry-header,
    .single-news .entry-content {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 600px) {
    .rep-footer {
        padding: 76px 24px 60px;
    }

    .rep-footer__logo img {
        width: 230px;
    }

    .rep-footer__copyright,
    .rep-footer__address p {
        font-size: 10px;
    }
}

@media (max-width: 520px) {
    h1,
    .entry-content h1,
    .page-content h1,
    .site-main h1,
    h2,
    .entry-content h2,
    .page-content h2,
    .site-main h2,
    .rep-section-title,
    .rep-h1,
    .entry-content .rep-h1,
    .rep-hero h1 {
        font-size: 30px;
    }

    .rep-project-title {
        font-size: 30px;
    }

    .rep-project-name {
        font-size: 22px;
    }

    .rep-project-copy {
        font-size: 16px;
    }

    .rep-project-arrow,
    .rep-arrow {
        width: 46px;
        height: 46px;
        font-size: 36px;
    }

}

@media (max-width: 420px) {

    .rep-footer__logo img {
        width: 205px;
    }
}


/* ==========================================================
   INTERIOR PAGES
   ========================================================== */

body:not(.home):not(.front-page) {
    background: #fff;
    color: var(--rep-text);
}

body:not(.home):not(.front-page) #page {
    background: #fff;
}

body:not(.home):not(.front-page) .rep-header {
    position: relative !important;
    background: #000 !important;
    z-index: 1000;
}

body:not(.home):not(.front-page) .rep-header__inner {
    background: transparent !important;
}

body:not(.home):not(.front-page) .rep-site-main,
body:not(.home):not(.front-page) .site-main {
    background: #fff !important;
    color: var(--rep-text);
    padding: clamp(70px, 8vw, 110px) 24px;
}

body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .site-main > article,
body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .site-main > .page,
body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .site-main > .post {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    background: #fff;
    color: var(--rep-text);
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .entry-header {
    position: relative;
    padding: 0 0 34px;
    margin: 0 0 34px;
    border-bottom: 1px solid var(--rep-border);
}

body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .entry-header::before {
    content: "";
    display: block;
    width: 86px;
    height: 7px;
    background: var(--rep-red);
    margin: 0 0 28px;
}

body:not(.home):not(.front-page) .entry-title {
    color: #000 !important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: clamp(38px, 5vw, 56px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.05;
    margin: 0;
}

body:not(.home):not(.front-page) .entry-meta {
    color: var(--rep-red);
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 18px 0 0;
}

body:not(.home):not(.front-page) .entry-meta a,
body:not(.home):not(.front-page) .entry-meta a:visited {
    color: var(--rep-red);
    text-decoration: none;
}

body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .entry-content,
body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .entry-summary,
body:not(.home):not(.front-page):not(.blog):not(.archive):not(.search) .page-content {
    max-width: 760px;
    padding: 0;
    margin: 0;
    color: var(--rep-text);
    font-family: "Myriad Pro", "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
}

body:not(.home):not(.front-page) .entry-content > *,
body:not(.home):not(.front-page) .entry-summary > *,
body:not(.home):not(.front-page) .page-content > * {
    max-width: 100%;
}

body:not(.home):not(.front-page) .entry-content p,
body:not(.home):not(.front-page) .entry-summary p,
body:not(.home):not(.front-page) .page-content p {
    margin: 0 0 1.35em;
}

body:not(.home):not(.front-page) .entry-content h1,
body:not(.home):not(.front-page) .entry-content h2,
body:not(.home):not(.front-page) .entry-content h3,
body:not(.home):not(.front-page) .entry-content h4,
body:not(.home):not(.front-page) .entry-content h5,
body:not(.home):not(.front-page) .entry-content h6 {
    color: #000 !important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-weight: 700;
    line-height: 1.15;
    margin: 1.5em 0 0.55em;
}

body:not(.home):not(.front-page) .entry-content h2 {
    font-size: 36px;
}

body:not(.home):not(.front-page) .entry-content h3 {
    font-size: 26px;
}

body:not(.home):not(.front-page) .entry-content a:not(.btn):not(.rep-button):not(.uu-btn),
body:not(.home):not(.front-page) .entry-summary a:not(.btn):not(.rep-button):not(.uu-btn) {
    color: var(--rep-red);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

body:not(.home):not(.front-page) .post-thumbnail {
    margin: 0 auto 42px;
    max-width: 1080px;
}

body:not(.home):not(.front-page) .post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

body:not(.home):not(.front-page) .entry-footer {
    display: none;
}


/* ==========================================================
   ARCHIVES
   ========================================================== */

body:not(.home):not(.front-page).blog .site-main,
body:not(.home):not(.front-page).archive .site-main,
body:not(.home):not(.front-page).search .site-main {
    background: #fff !important;
    color: var(--rep-text);
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: clamp(70px, 8vw, 110px) 24px;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}

body:not(.home):not(.front-page).blog .page-header,
body:not(.home):not(.front-page).archive .page-header,
body:not(.home):not(.front-page).search .page-header {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin: 0 0 clamp(48px, 6vw, 80px);
    padding: 0;
    text-align: center;
    border: 0;
}

body:not(.home):not(.front-page).blog .page-header::before,
body:not(.home):not(.front-page).archive .page-header::before,
body:not(.home):not(.front-page).search .page-header::before {
    display: none;
}

body:not(.home):not(.front-page).blog .page-title,
body:not(.home):not(.front-page).archive .page-title,
body:not(.home):not(.front-page).search .page-title {
    color: #000 !important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.05;
    margin: 0;
    text-align: center;
}

body:not(.home):not(.front-page).blog .archive-description,
body:not(.home):not(.front-page).archive .archive-description,
body:not(.home):not(.front-page).search .archive-description {
    max-width: 720px;
    margin: 18px auto 0;
    color: var(--rep-text);
    font-family: "Myriad Pro", "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.45;
    text-align: center;
}

body:not(.home):not(.front-page).blog .site-main > article,
body:not(.home):not(.front-page).archive .site-main > article,
body:not(.home):not(.front-page).search .site-main > article {
    margin: 0;
    background: #fff !important;
    color: var(--rep-text);
    border: 1px solid var(--rep-border);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body:not(.home):not(.front-page).blog .site-main > article:hover,
body:not(.home):not(.front-page).archive .site-main > article:hover,
body:not(.home):not(.front-page).search .site-main > article:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px rgba(0, 0, 0, 0.12);
    border-color: rgba(190, 0, 0, 0.35);
}

body:not(.home):not(.front-page).blog .site-main > article .entry-header,
body:not(.home):not(.front-page).archive .site-main > article .entry-header,
body:not(.home):not(.front-page).search .site-main > article .entry-header {
    position: relative;
    padding: 38px 28px 0;
    margin: 0;
    border: 0;
}

body:not(.home):not(.front-page).blog .site-main > article .entry-header::before,
body:not(.home):not(.front-page).archive .site-main > article .entry-header::before,
body:not(.home):not(.front-page).search .site-main > article .entry-header::before {
    content: "";
    display: block;
    width: 86px;
    height: 7px;
    background: var(--rep-red);
    margin: 0 0 28px;
}

body:not(.home):not(.front-page).blog .site-main > article .entry-title,
body:not(.home):not(.front-page).archive .site-main > article .entry-title,
body:not(.home):not(.front-page).search .site-main > article .entry-title {
    color: #000 !important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 18px;
}

body:not(.home):not(.front-page).blog .site-main > article .entry-title a,
body:not(.home):not(.front-page).archive .site-main > article .entry-title a,
body:not(.home):not(.front-page).search .site-main > article .entry-title a {
    color: #000;
    text-decoration: none;
}

body:not(.home):not(.front-page).blog .site-main > article .entry-title a:hover,
body:not(.home):not(.front-page).archive .site-main > article .entry-title a:hover,
body:not(.home):not(.front-page).search .site-main > article .entry-title a:hover {
    color: var(--rep-red);
}

body:not(.home):not(.front-page).blog .site-main > article .entry-meta,
body:not(.home):not(.front-page).archive .site-main > article .entry-meta,
body:not(.home):not(.front-page).search .site-main > article .entry-meta {
    color: var(--rep-red);
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
}

body:not(.home):not(.front-page).blog .site-main > article .entry-summary,
body:not(.home):not(.front-page).archive .site-main > article .entry-summary,
body:not(.home):not(.front-page).search .site-main > article .entry-summary,
body:not(.home):not(.front-page).blog .site-main > article .entry-content,
body:not(.home):not(.front-page).archive .site-main > article .entry-content,
body:not(.home):not(.front-page).search .site-main > article .entry-content {
    padding: 28px;
    margin: 0;
    color: var(--rep-text);
    font-family: "Myriad Pro", "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.45;
}

body:not(.home):not(.front-page).blog .site-main > article .entry-summary p,
body:not(.home):not(.front-page).archive .site-main > article .entry-summary p,
body:not(.home):not(.front-page).search .site-main > article .entry-summary p,
body:not(.home):not(.front-page).blog .site-main > article .entry-content p,
body:not(.home):not(.front-page).archive .site-main > article .entry-content p,
body:not(.home):not(.front-page).search .site-main > article .entry-content p {
    margin: 0 0 1.2em;
}

body:not(.home):not(.front-page).blog .site-main > article .post-thumbnail,
body:not(.home):not(.front-page).archive .site-main > article .post-thumbnail,
body:not(.home):not(.front-page).search .site-main > article .post-thumbnail {
    margin: 0;
}

body:not(.home):not(.front-page).blog .site-main > article .post-thumbnail img,
body:not(.home):not(.front-page).archive .site-main > article .post-thumbnail img,
body:not(.home):not(.front-page).search .site-main > article .post-thumbnail img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}

body:not(.home):not(.front-page).blog .navigation,
body:not(.home):not(.front-page).archive .navigation,
body:not(.home):not(.front-page).search .navigation,
body:not(.home):not(.front-page).blog .pagination,
body:not(.home):not(.front-page).archive .pagination,
body:not(.home):not(.front-page).search .pagination,
body:not(.home):not(.front-page).blog .posts-navigation,
body:not(.home):not(.front-page).archive .posts-navigation,
body:not(.home):not(.front-page).search .posts-navigation {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin: 50px 0 0;
}

body:not(.home):not(.front-page).blog .pagination .nav-links,
body:not(.home):not(.front-page).archive .pagination .nav-links,
body:not(.home):not(.front-page).search .pagination .nav-links,
body:not(.home):not(.front-page).blog .posts-navigation .nav-links,
body:not(.home):not(.front-page).archive .posts-navigation .nav-links,
body:not(.home):not(.front-page).search .posts-navigation .nav-links {
    display: flex;
    gap: 10px;
}

body:not(.home):not(.front-page).blog .pagination a,
body:not(.home):not(.front-page).blog .pagination span,
body:not(.home):not(.front-page).archive .pagination a,
body:not(.home):not(.front-page).archive .pagination span,
body:not(.home):not(.front-page).search .pagination a,
body:not(.home):not(.front-page).search .pagination span,
body:not(.home):not(.front-page).blog .posts-navigation a,
body:not(.home):not(.front-page).archive .posts-navigation a,
body:not(.home):not(.front-page).search .posts-navigation a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 12px;
    background: #fff;
    color: #000;
    border: 1px solid var(--rep-border);
    border-radius: 4px;
    text-decoration: none;
}

body:not(.home):not(.front-page).blog .pagination .current,
body:not(.home):not(.front-page).blog .pagination a:hover,
body:not(.home):not(.front-page).archive .pagination .current,
body:not(.home):not(.front-page).archive .pagination a:hover,
body:not(.home):not(.front-page).search .pagination .current,
body:not(.home):not(.front-page).search .pagination a:hover,
body:not(.home):not(.front-page).blog .posts-navigation a:hover,
body:not(.home):not(.front-page).archive .posts-navigation a:hover,
body:not(.home):not(.front-page).search .posts-navigation a:hover {
    background: var(--rep-red);
    color: #fff;
    border-color: var(--rep-red);
}


/* ==========================================================
   COMMENTS
   ========================================================== */

body:not(.home):not(.front-page) .comments-area {
    width: 100%;
    max-width: 1080px;
    margin: 60px auto 0 !important;
    padding: 50px 0 0;
    background: #fff;
    color: var(--rep-text);
    border-top: 1px solid var(--rep-border);
    box-shadow: none;
    border-radius: 0;
}

body:not(.home):not(.front-page) .comments-title,
body:not(.home):not(.front-page) .comment-reply-title {
    color: #000;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 24px;
}

body:not(.home):not(.front-page) .comment-list {
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
}

body:not(.home):not(.front-page) .comment {
    margin: 0 0 28px;
    padding: 0 0 28px;
    border-bottom: 1px solid var(--rep-border);
}

body:not(.home):not(.front-page) .comment-author,
body:not(.home):not(.front-page) .comment-metadata,
body:not(.home):not(.front-page) .comment-content,
body:not(.home):not(.front-page) .reply {
    color: var(--rep-text);
}

body:not(.home):not(.front-page) .comment-content p {
    margin: 0 0 1em;
}

body:not(.home):not(.front-page) .comment-form {
    max-width: 760px;
}

body:not(.home):not(.front-page) .comment-form label {
    display: block;
    color: #000;
    font-weight: 700;
    margin-bottom: 8px;
}

body:not(.home):not(.front-page) .comment-form textarea,
body:not(.home):not(.front-page) .comment-form input[type="text"],
body:not(.home):not(.front-page) .comment-form input[type="email"],
body:not(.home):not(.front-page) .comment-form input[type="url"] {
    width: 100%;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff;
    color: var(--rep-text);
    padding: 12px 14px;
}

body:not(.home):not(.front-page) .comment-form .submit,
body:not(.home):not(.front-page) input[type="submit"],
body:not(.home):not(.front-page) button[type="submit"] {
    display: inline-block;
    margin: 10px auto;
    padding: 8px 20px;
    background-color: var(--rep-red);
    color: #fff;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
}

body:not(.home):not(.front-page) .comment-form .submit:hover,
body:not(.home):not(.front-page) input[type="submit"]:hover,
body:not(.home):not(.front-page) button[type="submit"]:hover {
    background-color: var(--rep-red-dark);
}


/* ==========================================================
   INTERIOR RESPONSIVE
   ========================================================== */

@media (max-width: 1024px) {
    body:not(.home):not(.front-page).blog .site-main,
    body:not(.home):not(.front-page).archive .site-main,
    body:not(.home):not(.front-page).search .site-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    body:not(.home):not(.front-page) .rep-site-main,
    body:not(.home):not(.front-page) .site-main {
        padding: 50px 20px;
    }

    body:not(.home):not(.front-page) .entry-content,
    body:not(.home):not(.front-page) .entry-summary,
    body:not(.home):not(.front-page) .page-content {
        font-size: 16px;
    }

    body:not(.home):not(.front-page).blog .site-main,
    body:not(.home):not(.front-page).archive .site-main,
    body:not(.home):not(.front-page).search .site-main {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    body:not(.home):not(.front-page).blog .page-header,
    body:not(.home):not(.front-page).archive .page-header,
    body:not(.home):not(.front-page).search .page-header {
        text-align: left;
        margin-bottom: 38px;
    }

    body:not(.home):not(.front-page).blog .page-title,
    body:not(.home):not(.front-page).archive .page-title,
    body:not(.home):not(.front-page).search .page-title {
        font-size: 36px;
        text-align: left;
    }
}

/* ==========================================================
   SINGLE POSTS
   ========================================================== */

body.single-post {
    background: #fff !important;
    color: var(--rep-text);
}

body.single-post #page {
    background: #fff !important;
}

body.single-post .rep-header {
    position: relative !important;
    background: #000 !important;
    z-index: 1000;
}

body.single-post .site-main {
    background: #fff !important;
    color: var(--rep-text);
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: clamp(70px, 8vw, 110px) 24px;
}

body.single-post .site-main > article {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    background: transparent !important;
    color: var(--rep-text);
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.single-post .entry-header {
    position: relative;
    padding: 0 0 34px !important;
    margin: 0 0 34px !important;
    border-bottom: 1px solid var(--rep-border);
}

body.single-post .entry-header::before {
    content: "";
    display: block;
    width: 86px;
    height: 7px;
    background: var(--rep-red);
    margin: 0 0 28px;
}

body.single-post .entry-title {
    color: #000 !important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.05;
    margin: 0 0 18px;
}

body.single-post .entry-meta {
    color: var(--rep-red);
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0;
}

body.single-post .entry-meta a,
body.single-post .entry-meta a:visited {
    color: var(--rep-red);
    text-decoration: none;
}

body.single-post .entry-content {
    max-width: 760px;
    padding: 0 !important;
    margin: 0;
    color: var(--rep-text);
    font-family: "Myriad Pro", "myriad-pro", Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
}

body.single-post .entry-content p {
    margin: 0 0 1.35em;
}

body.single-post .entry-content h1,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6 {
    color: #000 !important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-weight: 700;
    line-height: 1.15;
    margin: 1.5em 0 0.55em;
}

body.single-post .entry-content a:not(.btn):not(.rep-button):not(.uu-btn) {
    color: var(--rep-red);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

body.single-post .post-thumbnail {
    margin: 0 0 42px;
    max-width: 1080px;
}

body.single-post .post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

body.single-post .comments-area {
    width: 100%;
    max-width: 1080px;
    margin: 70px auto 0 !important;
    padding: 50px 0 0 !important;
    background: #fff !important;
    color: var(--rep-text);
    border-top: 1px solid var(--rep-border);
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.single-post .comments-title,
body.single-post .comment-reply-title {
    color: #000 !important;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 24px;
}

body.single-post .comment-list {
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
}

body.single-post .comment {
    margin: 0 0 28px;
    padding: 0 0 28px;
    border-bottom: 1px solid var(--rep-border);
}

body.single-post .comment-author,
body.single-post .comment-metadata,
body.single-post .comment-content,
body.single-post .reply {
    color: var(--rep-text);
}

body.single-post .comment-content p {
    margin: 0 0 1em;
}

body.single-post .comment-form {
    max-width: 760px;
}

body.single-post .comment-form label {
    display: block;
    color: #000;
    font-weight: 700;
    margin-bottom: 8px;
}

body.single-post .comment-form textarea,
body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"] {
    width: 100%;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff;
    color: var(--rep-text);
    padding: 12px 14px;
}

body.single-post .comment-form .submit {
    display: inline-block;
    margin: 10px auto;
    padding: 8px 20px;
    background-color: var(--rep-red);
    color: #fff;
    font-family: "Industry", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
}

body.single-post .comment-form .submit:hover {
    background-color: var(--rep-red-dark);
}

@media (max-width: 700px) {
    body.single-post .site-main {
        padding: 50px 20px;
    }

    body.single-post .entry-content {
        font-size: 16px;
    }
}


@media (min-width: 740px) and (max-width: 1032px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: block !important;
        margin-top: 0 !important;
        padding: 80px 40px !important;
        min-height: auto !important;
        transform: none !important;
        background: #000 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        justify-self: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child {
        max-width: 604px !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        margin-top: 48px !important;
        display: flex !important;
        justify-content: center !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        max-width: 604px !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin: 0 auto !important;
        border-radius: 4px !important;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 4px !important;
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects,
    .panel-grid.rep-scroll-projects.is-scroll-controlled,
    .panel-row-style.rep-scroll-projects.is-scroll-controlled {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 80px 40px !important;
        display: block !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: block !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 604px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: 100% !important;
        max-width: 604px !important;
    }

    .rep-project-copy {
        max-width: 604px !important;
    }

    .rep-project-media {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin-top: 48px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 4px !important;
    }

    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        border-radius: 4px !important;
        object-fit: cover !important;
    }

    .panel-grid.rep-who-section .rep-dot-layer,
    .panel-row-style.rep-who-section .rep-dot-layer {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section,
    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects {
        --rep-desktop-content-width: 1080px;
        --rep-desktop-content-left: max(32px, calc((100vw - var(--rep-desktop-content-width)) / 2));
        --rep-desktop-text-inset: clamp(90px, 11.111vw, 160px);
        --rep-home-text-left: calc(var(--rep-desktop-content-left) + var(--rep-desktop-text-inset));
        --rep-home-copy-width: 410px;
        --rep-home-image-width: 604px;
        --rep-home-image-height: 414px;
        --rep-home-image-gap: max(40px, calc(100vw - var(--rep-home-text-left) - var(--rep-home-copy-width) - var(--rep-home-image-width)));
    }

    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: grid !important;
        grid-template-columns: var(--rep-home-copy-width) var(--rep-home-image-width) !important;
        column-gap: var(--rep-home-image-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        width: 100% !important;
        padding-left: var(--rep-home-text-left) !important;
        padding-right: 0 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child {
        width: var(--rep-home-copy-width) !important;
        max-width: var(--rep-home-copy-width) !important;
        justify-self: start !important;
        margin: 0 !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
        justify-self: end !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        max-width: var(--rep-home-copy-width) !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container,
    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
        object-fit: cover !important;
        margin-right: 0 !important;
        border-radius: 4px 0 0 4px !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: grid !important;
        grid-template-columns: var(--rep-home-copy-width) var(--rep-home-image-width) !important;
        gap: var(--rep-home-image-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        width: 100% !important;
        padding-left: var(--rep-home-text-left) !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: var(--rep-home-copy-width) !important;
        max-width: var(--rep-home-copy-width) !important;
        justify-self: start !important;
    }

    .rep-project-copy {
        max-width: var(--rep-home-copy-width) !important;
    }

    .rep-project-media,
    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
    }

    .rep-project-media {
        justify-self: end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        border-radius: 4px 0 0 4px !important;
    }

    .rep-project-image-slide img {
        object-fit: cover !important;
        border-radius: 4px 0 0 4px !important;
    }

    .panel-grid.rep-who-section,
    .panel-row-style.rep-who-section {
        --rep-dot-left-x: clamp(58px, 4.4vw, 88px);
        --rep-dot-column-gap: clamp(70px, 5.3vw, 96px);
        --rep-dot-top-y: clamp(150px, 12vw, 180px);
        --rep-dot-mid-y: 50%;
        --rep-dot-bottom-y: clamp(120px, 9vw, 150px);
    }

    .panel-grid.rep-who-section .rep-dot-1,
    .panel-grid.rep-who-section .rep-dot-2,
    .panel-grid.rep-who-section .rep-dot-3,
    .panel-grid.rep-who-section .rep-dot-4,
    .panel-grid.rep-who-section .rep-dot-5,
    .panel-grid.rep-who-section .rep-dot-6,
    .panel-row-style.rep-who-section .rep-dot-1,
    .panel-row-style.rep-who-section .rep-dot-2,
    .panel-row-style.rep-who-section .rep-dot-3,
    .panel-row-style.rep-who-section .rep-dot-4,
    .panel-row-style.rep-who-section .rep-dot-5,
    .panel-row-style.rep-who-section .rep-dot-6 {
        display: block !important;
    }

    .panel-grid.rep-who-section .rep-dot-7,
    .panel-grid.rep-who-section .rep-dot-8,
    .panel-grid.rep-who-section .rep-dot-9,
    .panel-grid.rep-who-section .rep-dot-10,
    .panel-grid.rep-who-section .rep-dot-11,
    .panel-grid.rep-who-section .rep-dot-12,
    .panel-row-style.rep-who-section .rep-dot-7,
    .panel-row-style.rep-who-section .rep-dot-8,
    .panel-row-style.rep-who-section .rep-dot-9,
    .panel-row-style.rep-who-section .rep-dot-10,
    .panel-row-style.rep-who-section .rep-dot-11,
    .panel-row-style.rep-who-section .rep-dot-12 {
        display: none !important;
    }

    .rep-footer.rep-dots {
        --rep-dot-left-x: clamp(48px, 3.8vw, 72px);
        --rep-dot-right-x: clamp(48px, 3.8vw, 72px);
        --rep-dot-column-gap: clamp(76px, 5vw, 96px);
        --rep-dot-top-y: clamp(46px, 4.4vw, 74px);
        --rep-dot-mid-y: 50%;
        --rep-dot-bottom-y: clamp(46px, 4.4vw, 74px);
    }

    .rep-footer.rep-dots .rep-dot-1,
    .rep-footer.rep-dots .rep-dot-2,
    .rep-footer.rep-dots .rep-dot-3,
    .rep-footer.rep-dots .rep-dot-4,
    .rep-footer.rep-dots .rep-dot-5,
    .rep-footer.rep-dots .rep-dot-6,
    .rep-footer.rep-dots .rep-dot-7,
    .rep-footer.rep-dots .rep-dot-8,
    .rep-footer.rep-dots .rep-dot-9,
    .rep-footer.rep-dots .rep-dot-10,
    .rep-footer.rep-dots .rep-dot-11,
    .rep-footer.rep-dots .rep-dot-12 {
        display: block !important;
    }

    .rep-footer__inner {
        width: 100% !important;
        max-width: 1080px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: relative !important;
        z-index: 2 !important;
    }
}

@media (min-width: 767px) and (max-width: 1024px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: block !important;
        margin-top: 0 !important;
        padding: 80px 40px !important;
        min-height: auto !important;
        transform: none !important;
        background: #000 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child {
        width: 100% !important;
        max-width: 604px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        margin: 48px auto 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .panel-grid.rep-who-section .rep-section-kicker,
    .panel-row-style.rep-who-section .rep-section-kicker,
    .panel-grid.rep-who-section .rep-red-line,
    .panel-row-style.rep-who-section .rep-red-line {
        margin-left: 0 !important;
        margin-right: auto !important;
    }

    .panel-grid.rep-who-section .rep-section-title,
    .panel-row-style.rep-who-section .rep-section-title {
        margin-bottom: 32px !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        width: 100% !important;
        max-width: 604px !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin: 0 !important;
        border-radius: 4px !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 4px !important;
    }

    .panel-grid.rep-who-section .rep-dot-layer,
    .panel-row-style.rep-who-section .rep-dot-layer {
        display: none !important;
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects,
    .panel-grid.rep-scroll-projects.is-scroll-controlled,
    .panel-row-style.rep-scroll-projects.is-scroll-controlled {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 80px 40px !important;
        display: block !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: 100% !important;
        max-width: 604px !important;
    }

    .rep-project-copy {
        width: 100% !important;
        max-width: 604px !important;
    }

    .rep-project-media {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin: 48px 0 0 !important;
        border-radius: 4px !important;
    }

    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        border-radius: 4px !important;
        object-fit: cover !important;
    }
}

@media (min-width: 1025px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section,
    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects {
        --rep-desktop-content-width: 1080px;
        --rep-desktop-content-left: max(32px, calc((100vw - var(--rep-desktop-content-width)) / 2));
        --rep-home-text-left: var(--rep-desktop-content-left);
        --rep-home-copy-width: 410px;
        --rep-home-image-width: 604px;
        --rep-home-image-height: 414px;
        --rep-home-image-gap: max(40px, calc(100vw - var(--rep-home-text-left) - var(--rep-home-copy-width) - var(--rep-home-image-width)));
    }

    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: grid !important;
        grid-template-columns: var(--rep-home-copy-width) var(--rep-home-image-width) !important;
        column-gap: var(--rep-home-image-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        width: 100% !important;
        padding-left: var(--rep-home-text-left) !important;
        padding-right: 0 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child {
        width: var(--rep-home-copy-width) !important;
        max-width: var(--rep-home-copy-width) !important;
        justify-self: start !important;
        margin: 0 !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
        justify-self: end !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        max-width: var(--rep-home-copy-width) !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container,
    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
        object-fit: cover !important;
        margin-right: 0 !important;
        border-radius: 4px 0 0 4px !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: grid !important;
        grid-template-columns: var(--rep-home-copy-width) var(--rep-home-image-width) !important;
        gap: var(--rep-home-image-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        width: 100% !important;
        padding-left: var(--rep-home-text-left) !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: var(--rep-home-copy-width) !important;
        max-width: var(--rep-home-copy-width) !important;
        justify-self: start !important;
    }

    .rep-project-copy {
        max-width: var(--rep-home-copy-width) !important;
    }

    .rep-project-media,
    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
    }

    .rep-project-media {
        justify-self: end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        border-radius: 4px 0 0 4px !important;
    }

    .rep-project-image-slide img {
        object-fit: cover !important;
        border-radius: 4px 0 0 4px !important;
    }

    .panel-grid.rep-who-section,
    .panel-row-style.rep-who-section {
        --rep-dot-left-x: clamp(58px, 4.4vw, 88px);
        --rep-dot-column-gap: clamp(70px, 5.3vw, 96px);
        --rep-dot-top-y: clamp(150px, 12vw, 180px);
        --rep-dot-mid-y: 50%;
        --rep-dot-bottom-y: clamp(120px, 9vw, 150px);
    }

    .panel-grid.rep-who-section .rep-dot-1,
    .panel-grid.rep-who-section .rep-dot-2,
    .panel-grid.rep-who-section .rep-dot-3,
    .panel-grid.rep-who-section .rep-dot-4,
    .panel-grid.rep-who-section .rep-dot-5,
    .panel-grid.rep-who-section .rep-dot-6,
    .panel-row-style.rep-who-section .rep-dot-1,
    .panel-row-style.rep-who-section .rep-dot-2,
    .panel-row-style.rep-who-section .rep-dot-3,
    .panel-row-style.rep-who-section .rep-dot-4,
    .panel-row-style.rep-who-section .rep-dot-5,
    .panel-row-style.rep-who-section .rep-dot-6 {
        display: block !important;
    }

    .panel-grid.rep-who-section .rep-dot-7,
    .panel-grid.rep-who-section .rep-dot-8,
    .panel-grid.rep-who-section .rep-dot-9,
    .panel-grid.rep-who-section .rep-dot-10,
    .panel-grid.rep-who-section .rep-dot-11,
    .panel-grid.rep-who-section .rep-dot-12,
    .panel-row-style.rep-who-section .rep-dot-7,
    .panel-row-style.rep-who-section .rep-dot-8,
    .panel-row-style.rep-who-section .rep-dot-9,
    .panel-row-style.rep-who-section .rep-dot-10,
    .panel-row-style.rep-who-section .rep-dot-11,
    .panel-row-style.rep-who-section .rep-dot-12 {
        display: none !important;
    }

    .rep-footer.rep-dots {
        --rep-dot-left-x: clamp(48px, 3.8vw, 72px);
        --rep-dot-right-x: clamp(48px, 3.8vw, 72px);
        --rep-dot-column-gap: clamp(76px, 5vw, 96px);
        --rep-dot-top-y: clamp(46px, 4.4vw, 74px);
        --rep-dot-mid-y: 50%;
        --rep-dot-bottom-y: clamp(46px, 4.4vw, 74px);
    }

    .rep-footer.rep-dots .rep-dot-1,
    .rep-footer.rep-dots .rep-dot-2,
    .rep-footer.rep-dots .rep-dot-3,
    .rep-footer.rep-dots .rep-dot-4,
    .rep-footer.rep-dots .rep-dot-5,
    .rep-footer.rep-dots .rep-dot-6,
    .rep-footer.rep-dots .rep-dot-7,
    .rep-footer.rep-dots .rep-dot-8,
    .rep-footer.rep-dots .rep-dot-9,
    .rep-footer.rep-dots .rep-dot-10,
    .rep-footer.rep-dots .rep-dot-11,
    .rep-footer.rep-dots .rep-dot-12 {
        display: block !important;
    }

    .rep-footer__inner {
        width: 100% !important;
        max-width: 1080px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: relative !important;
        z-index: 2 !important;
    }
}

@media (min-width: 1181px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section,
    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects {
        --rep-desktop-content-width: 1080px;
        --rep-desktop-content-left: max(32px, calc((100vw - var(--rep-desktop-content-width)) / 2));
        --rep-home-text-left: var(--rep-desktop-content-left);
        --rep-home-copy-width: 410px;
        --rep-home-image-width: 604px;
        --rep-home-image-height: 414px;
        --rep-home-image-gap: max(40px, calc(100vw - var(--rep-home-text-left) - var(--rep-home-copy-width) - var(--rep-home-image-width)));
    }

    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: grid !important;
        grid-template-columns: var(--rep-home-copy-width) var(--rep-home-image-width) !important;
        column-gap: var(--rep-home-image-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        width: 100% !important;
        padding-left: var(--rep-home-text-left) !important;
        padding-right: 0 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child {
        width: var(--rep-home-copy-width) !important;
        max-width: var(--rep-home-copy-width) !important;
        justify-self: start !important;
        margin: 0 !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
        justify-self: end !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        max-width: var(--rep-home-copy-width) !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container,
    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
        object-fit: cover !important;
        margin-right: 0 !important;
        border-radius: 4px 0 0 4px !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        opacity: 1 !important;
        transform: none !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: grid !important;
        grid-template-columns: var(--rep-home-copy-width) var(--rep-home-image-width) !important;
        gap: var(--rep-home-image-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        width: 100% !important;
        padding-left: var(--rep-home-text-left) !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: var(--rep-home-copy-width) !important;
        max-width: var(--rep-home-copy-width) !important;
        justify-self: start !important;
    }

    .rep-project-copy {
        max-width: var(--rep-home-copy-width) !important;
    }

    .rep-project-media,
    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: var(--rep-home-image-width) !important;
        max-width: var(--rep-home-image-width) !important;
        height: var(--rep-home-image-height) !important;
        max-height: var(--rep-home-image-height) !important;
    }

    .rep-project-media {
        justify-self: end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        border-radius: 4px 0 0 4px !important;
    }

    .rep-project-image-slide img {
        object-fit: cover !important;
        border-radius: 4px 0 0 4px !important;
    }

    .panel-grid.rep-who-section,
    .panel-row-style.rep-who-section {
        --rep-dot-left-x: clamp(58px, 4.4vw, 88px);
        --rep-dot-column-gap: clamp(70px, 5.3vw, 96px);
        --rep-dot-top-y: clamp(150px, 12vw, 180px);
        --rep-dot-mid-y: 50%;
        --rep-dot-bottom-y: clamp(120px, 9vw, 150px);
    }

    .panel-grid.rep-who-section .rep-dot-1,
    .panel-grid.rep-who-section .rep-dot-2,
    .panel-grid.rep-who-section .rep-dot-3,
    .panel-grid.rep-who-section .rep-dot-4,
    .panel-grid.rep-who-section .rep-dot-5,
    .panel-grid.rep-who-section .rep-dot-6,
    .panel-row-style.rep-who-section .rep-dot-1,
    .panel-row-style.rep-who-section .rep-dot-2,
    .panel-row-style.rep-who-section .rep-dot-3,
    .panel-row-style.rep-who-section .rep-dot-4,
    .panel-row-style.rep-who-section .rep-dot-5,
    .panel-row-style.rep-who-section .rep-dot-6 {
        display: block !important;
    }

    .panel-grid.rep-who-section .rep-dot-7,
    .panel-grid.rep-who-section .rep-dot-8,
    .panel-grid.rep-who-section .rep-dot-9,
    .panel-grid.rep-who-section .rep-dot-10,
    .panel-grid.rep-who-section .rep-dot-11,
    .panel-grid.rep-who-section .rep-dot-12,
    .panel-row-style.rep-who-section .rep-dot-7,
    .panel-row-style.rep-who-section .rep-dot-8,
    .panel-row-style.rep-who-section .rep-dot-9,
    .panel-row-style.rep-who-section .rep-dot-10,
    .panel-row-style.rep-who-section .rep-dot-11,
    .panel-row-style.rep-who-section .rep-dot-12 {
        display: none !important;
    }

    .rep-footer.rep-dots {
        --rep-dot-left-x: clamp(48px, 3.8vw, 72px);
        --rep-dot-right-x: clamp(48px, 3.8vw, 72px);
        --rep-dot-column-gap: clamp(76px, 5vw, 96px);
        --rep-dot-top-y: clamp(46px, 4.4vw, 74px);
        --rep-dot-mid-y: 50%;
        --rep-dot-bottom-y: clamp(46px, 4.4vw, 74px);
    }

    .rep-footer.rep-dots .rep-dot-1,
    .rep-footer.rep-dots .rep-dot-2,
    .rep-footer.rep-dots .rep-dot-3,
    .rep-footer.rep-dots .rep-dot-4,
    .rep-footer.rep-dots .rep-dot-5,
    .rep-footer.rep-dots .rep-dot-6,
    .rep-footer.rep-dots .rep-dot-7,
    .rep-footer.rep-dots .rep-dot-8,
    .rep-footer.rep-dots .rep-dot-9,
    .rep-footer.rep-dots .rep-dot-10,
    .rep-footer.rep-dots .rep-dot-11,
    .rep-footer.rep-dots .rep-dot-12 {
        display: block !important;
    }
}

@media (min-width: 767px) and (max-width: 1180px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: block !important;
        margin-top: 0 !important;
        padding: 96px 40px 104px !important;
        min-height: auto !important;
        transform: none !important;
        background: #000 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section::before,
    .panel-grid.rep-overlap-section::before,
    .panel-row-style.rep-who-section::before,
    .panel-row-style.rep-overlap-section::before {
        display: none !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child,
    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        display: block !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        margin-top: 56px !important;
    }

    .panel-grid.rep-who-section .so-panel,
    .panel-row-style.rep-who-section .so-panel,
    .panel-grid.rep-who-section .siteorigin-widget-tinymce,
    .panel-row-style.rep-who-section .siteorigin-widget-tinymce,
    .panel-grid.rep-who-section .textwidget,
    .panel-row-style.rep-who-section .textwidget,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .textwidget,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .textwidget {
        opacity: 1 !important;
        transform: none !important;
    }

    .panel-grid.rep-who-section .rep-section-kicker,
    .panel-row-style.rep-who-section .rep-section-kicker,
    .panel-grid.rep-who-section .rep-red-line,
    .panel-row-style.rep-who-section .rep-red-line {
        margin-left: 0 !important;
        margin-right: auto !important;
    }

    .panel-grid.rep-who-section .rep-section-title,
    .panel-row-style.rep-who-section .rep-section-title {
        margin-bottom: 36px !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        width: 100% !important;
        max-width: 604px !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin: 0 !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 4px !important;
    }

    .panel-grid.rep-who-section .rep-dot-layer,
    .panel-row-style.rep-who-section .rep-dot-layer {
        display: none !important;
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects,
    .panel-grid.rep-scroll-projects.is-scroll-controlled,
    .panel-row-style.rep-scroll-projects.is-scroll-controlled {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 104px 40px 112px !important;
        display: block !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: 100% !important;
        max-width: 604px !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .rep-project-copy {
        width: 100% !important;
        max-width: 604px !important;
    }

    .rep-project-title {
        margin-bottom: 58px !important;
    }

    .rep-project-media {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin: 56px 0 0 !important;
        border-radius: 4px !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        border-radius: 4px !important;
        object-fit: cover !important;
    }
}

@media (max-width: 766px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: block !important;
        margin-top: 0 !important;
        padding: 76px 32px 84px !important;
        min-height: auto !important;
        transform: none !important;
        background: #000 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section::before,
    .panel-grid.rep-overlap-section::before,
    .panel-row-style.rep-who-section::before,
    .panel-row-style.rep-overlap-section::before {
        display: none !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child,
    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        display: block !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        margin-top: 44px !important;
    }

    .panel-grid.rep-who-section .so-panel,
    .panel-row-style.rep-who-section .so-panel,
    .panel-grid.rep-who-section .siteorigin-widget-tinymce,
    .panel-row-style.rep-who-section .siteorigin-widget-tinymce,
    .panel-grid.rep-who-section .textwidget,
    .panel-row-style.rep-who-section .textwidget,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .textwidget,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .textwidget {
        opacity: 1 !important;
        transform: none !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        width: 100% !important;
        max-width: 604px !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin: 0 !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 4px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .panel-grid.rep-who-section .rep-dot-layer,
    .panel-row-style.rep-who-section .rep-dot-layer {
        display: none !important;
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects,
    .panel-grid.rep-scroll-projects.is-scroll-controlled,
    .panel-row-style.rep-scroll-projects.is-scroll-controlled {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 76px 32px 84px !important;
        display: block !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: 100% !important;
        max-width: 604px !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .rep-project-copy {
        width: 100% !important;
        max-width: 604px !important;
    }

    .rep-project-title {
        margin-bottom: 48px !important;
    }

    .rep-project-media {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        margin: 48px 0 0 !important;
        border-radius: 4px !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        border-radius: 4px !important;
        object-fit: cover !important;
    }
}

/* ==========================================================
   RESPONSIVE LAYOUT REFACTOR
   ========================================================== */

.rep-footer {
    --rep-footer-dot-safe: clamp(96px, 11vw, 156px);
    --rep-footer-dot-edge: clamp(18px, 3vw, 48px);
    --rep-footer-dot-gap: clamp(52px, 5vw, 84px);
}

.rep-footer__inner {
    width: min(1080px, calc(100% - (var(--rep-footer-dot-safe) * 2)));
    max-width: calc(100% - (var(--rep-footer-dot-safe) * 2));
}

.rep-footer.rep-dots {
    --rep-dot-left-x: var(--rep-footer-dot-edge);
    --rep-dot-right-x: var(--rep-footer-dot-edge);
    --rep-dot-column-gap: var(--rep-footer-dot-gap);
    --rep-dot-top-y: clamp(40px, 4.8vw, 74px);
    --rep-dot-mid-y: 50%;
    --rep-dot-bottom-y: clamp(40px, 4.8vw, 74px);
}

.rep-footer.rep-dots .rep-dot-1,
.rep-footer.rep-dots .rep-dot-2,
.rep-footer.rep-dots .rep-dot-3,
.rep-footer.rep-dots .rep-dot-4,
.rep-footer.rep-dots .rep-dot-5,
.rep-footer.rep-dots .rep-dot-6,
.rep-footer.rep-dots .rep-dot-7,
.rep-footer.rep-dots .rep-dot-8,
.rep-footer.rep-dots .rep-dot-9,
.rep-footer.rep-dots .rep-dot-10,
.rep-footer.rep-dots .rep-dot-11,
.rep-footer.rep-dots .rep-dot-12 {
    display: block !important;
}

@media (max-width: 1366px) {
    .rep-footer.rep-dots .rep-dot-2,
    .rep-footer.rep-dots .rep-dot-4,
    .rep-footer.rep-dots .rep-dot-6,
    .rep-footer.rep-dots .rep-dot-7,
    .rep-footer.rep-dots .rep-dot-9,
    .rep-footer.rep-dots .rep-dot-11 {
        display: none !important;
    }
}

@media (max-width: 1180px) {
    .rep-dots:not(.rep-footer) .rep-dot-layer,
    .rep-dots:not(.rep-footer) .rep-dot-particle {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .rep-footer {
        --rep-footer-dot-safe: clamp(42px, 7vw, 76px);
        --rep-footer-dot-edge: clamp(12px, 2.8vw, 20px);
        --rep-footer-dot-gap: clamp(42px, 5vw, 56px);
    }
}

@media (min-width: 1181px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section,
    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects {
        --rep-desktop-content-width: 1080px;
        --rep-desktop-content-left: max(32px, calc((100vw - var(--rep-desktop-content-width)) / 2));
        --rep-layout-copy-width: clamp(420px, 31vw, 520px);
        --rep-layout-media-width: min(604px, clamp(420px, 47vw, 604px));
        --rep-layout-gap: clamp(36px, 3.2vw, 64px);
    }

    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: grid !important;
        grid-template-columns: minmax(320px, var(--rep-layout-copy-width)) minmax(0, 1fr) !important;
        column-gap: var(--rep-layout-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        padding-left: var(--rep-desktop-content-left) !important;
        padding-right: 0 !important;
    }

    .panel-grid.rep-who-section,
    .panel-row-style.rep-who-section {
        --rep-dot-left-x: clamp(42px, 3.5vw, 68px);
        --rep-dot-column-gap: clamp(52px, 4.3vw, 84px);
        --rep-dot-top-y: clamp(126px, 11vw, 172px);
        --rep-dot-mid-y: 50%;
        --rep-dot-bottom-y: clamp(106px, 9vw, 144px);
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child,
    .rep-project-content {
        width: 100% !important;
        max-width: var(--rep-layout-copy-width) !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: 100% !important;
        max-width: var(--rep-layout-media-width) !important;
        height: auto !important;
        max-height: none !important;
        justify-self: end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy,
    .rep-project-copy {
        width: 100% !important;
        max-width: var(--rep-layout-copy-width) !important;
    }

    .panel-grid.rep-who-section .rep-section-kicker,
    .panel-row-style.rep-who-section .rep-section-kicker,
    .panel-grid.rep-who-section .rep-section-title,
    .panel-row-style.rep-who-section .rep-section-title,
    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        opacity: 0 !important;
        transform: translate3d(-32px, 0, 0) !important;
        transition: opacity 0.56s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
        will-change: opacity, transform;
    }

    .panel-grid.rep-who-section .rep-section-kicker,
    .panel-row-style.rep-who-section .rep-section-kicker {
        transition-delay: 0s !important;
    }

    .panel-grid.rep-who-section .rep-section-title,
    .panel-row-style.rep-who-section .rep-section-title {
        transition-delay: 0.08s !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy {
        transition-delay: 0.16s !important;
    }

    .panel-grid.rep-who-section.is-visible .rep-section-kicker,
    .panel-row-style.rep-who-section.is-visible .rep-section-kicker,
    .panel-grid.rep-who-section.is-visible .rep-section-title,
    .panel-row-style.rep-who-section.is-visible .rep-section-title,
    .panel-grid.rep-who-section.is-visible .rep-copy,
    .panel-row-style.rep-who-section.is-visible .rep-copy {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container {
        width: 100% !important;
        max-width: var(--rep-layout-media-width) !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        border-radius: 4px 0 0 4px !important;
        opacity: 0 !important;
        transform: translate3d(40px, 0, 0) !important;
        transition: opacity 0.56s ease 0.08s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.08s !important;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image {
        width: 100% !important;
        max-width: var(--rep-layout-media-width) !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 4px 0 0 4px !important;
    }

    .panel-grid.rep-who-section.is-visible .rep-image-card,
    .panel-row-style.rep-who-section.is-visible .rep-image-card,
    .panel-grid.rep-who-section.is-visible .sow-image-container,
    .panel-row-style.rep-who-section.is-visible .sow-image-container {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: grid !important;
        grid-template-columns: minmax(320px, var(--rep-layout-copy-width)) minmax(0, 1fr) !important;
        gap: var(--rep-layout-gap) !important;
        align-items: center !important;
        justify-content: start !important;
        padding-left: var(--rep-desktop-content-left) !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        opacity: 1 !important;
        transform: none !important;
    }

    .rep-scroll-projects .rep-project-content > .rep-section-kicker,
    .rep-scroll-projects .rep-project-title,
    .rep-scroll-projects .rep-project-slide.is-active,
    .rep-scroll-projects .rep-project-arrows {
        opacity: 0 !important;
        transform: translate3d(-32px, 0, 0) !important;
        transition: opacity 0.56s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
        will-change: opacity, transform;
    }

    .rep-scroll-projects .rep-project-content > .rep-section-kicker {
        transition-delay: 0s !important;
    }

    .rep-scroll-projects .rep-project-title {
        transition-delay: 0.08s !important;
    }

    .rep-scroll-projects .rep-project-slide.is-active {
        transition-delay: 0.16s !important;
    }

    .rep-scroll-projects .rep-project-arrows {
        transition-delay: 0.24s !important;
    }

    .rep-scroll-projects.is-visible .rep-project-content > .rep-section-kicker,
    .rep-scroll-projects.is-visible .rep-project-title,
    .rep-scroll-projects.is-visible .rep-project-slide.is-active,
    .rep-scroll-projects.is-visible .rep-project-arrows {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    .rep-project-media,
    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: var(--rep-layout-media-width) !important;
    }

    .rep-project-media {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        justify-self: end !important;
        margin: 0 0 0 auto !important;
    }

    .rep-project-image-slide,
    .rep-project-image-slide img {
        height: 100% !important;
        max-height: none !important;
    }

    .rep-footer__copyright,
    .rep-footer__address p {
        white-space: nowrap;
    }
}

@media (min-width: 768px) and (max-width: 1180px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: grid !important;
        grid-template-columns: minmax(280px, 1fr) minmax(280px, 0.95fr) !important;
        column-gap: clamp(28px, 4vw, 44px) !important;
        align-items: center !important;
        justify-content: center !important;
        margin-top: 0 !important;
        padding: 88px 40px 96px !important;
        min-height: auto !important;
        transform: none !important;
        background: #000 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section::before,
    .panel-grid.rep-overlap-section::before,
    .panel-row-style.rep-who-section::before,
    .panel-row-style.rep-overlap-section::before {
        display: none !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell,
    .panel-row-style.rep-who-section > .panel-grid-cell,
    .rep-project-content,
    .rep-project-media {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child,
    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        height: auto !important;
        max-height: none !important;
        padding: 0 !important;
    }

    .panel-grid.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .textwidget,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .textwidget,
    .rep-project-content {
        opacity: 1 !important;
        transform: none !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy,
    .rep-project-copy {
        width: 100% !important;
        max-width: 100% !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container,
    .rep-project-media {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        border-radius: 4px !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image,
    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 4px !important;
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects,
    .panel-grid.rep-scroll-projects.is-scroll-controlled,
    .panel-row-style.rep-scroll-projects.is-scroll-controlled {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 88px 40px 96px !important;
        display: block !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: grid !important;
        grid-template-columns: minmax(280px, 1fr) minmax(280px, 0.95fr) !important;
        gap: clamp(28px, 4vw, 44px) !important;
        align-items: center !important;
        width: min(1080px, 100%) !important;
        max-width: 1080px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rep-project-slides {
        min-height: auto !important;
    }

    .rep-project-slide,
    .rep-project-slide.is-active {
        position: relative !important;
        inset: auto !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    .rep-project-slide:not(.is-active) {
        display: none !important;
    }

    .rep-project-title {
        margin-bottom: 52px !important;
    }

    .rep-project-media {
        opacity: 1 !important;
        transform: none !important;
    }

    .rep-project-image-slide {
        position: absolute !important;
        inset: 0 !important;
    }
}

@media (max-width: 767px) {
    .panel-grid.rep-who-section,
    .panel-grid.rep-overlap-section,
    .panel-row-style.rep-who-section,
    .panel-row-style.rep-overlap-section {
        display: block !important;
        margin-top: 0 !important;
        padding: 76px 24px 84px !important;
        min-height: auto !important;
        transform: none !important;
        background: #000 !important;
        overflow: hidden !important;
    }

    .panel-grid.rep-who-section::before,
    .panel-grid.rep-overlap-section::before,
    .panel-row-style.rep-who-section::before,
    .panel-row-style.rep-overlap-section::before {
        display: none !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:first-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:first-child,
    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        max-height: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        display: block !important;
    }

    .panel-grid.rep-who-section > .panel-grid-cell:last-child,
    .panel-row-style.rep-who-section > .panel-grid-cell:last-child {
        margin-top: 40px !important;
    }

    .panel-grid.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .so-panel,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .siteorigin-widget-tinymce,
    .panel-grid.rep-who-section .panel-grid-cell:first-child .textwidget,
    .panel-row-style.rep-who-section .panel-grid-cell:first-child .textwidget,
    .rep-project-content {
        opacity: 1 !important;
        transform: none !important;
    }

    .panel-grid.rep-who-section .rep-copy,
    .panel-row-style.rep-who-section .rep-copy,
    .rep-project-copy {
        width: 100% !important;
        max-width: 604px !important;
    }

    .panel-grid.rep-who-section .rep-image-card,
    .panel-row-style.rep-who-section .rep-image-card,
    .panel-grid.rep-who-section .sow-image-container,
    .panel-row-style.rep-who-section .sow-image-container,
    .rep-project-media {
        width: 100% !important;
        max-width: 604px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 604 / 414;
        border-radius: 4px !important;
        overflow: hidden !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .panel-grid.rep-who-section img,
    .panel-row-style.rep-who-section img,
    .panel-grid.rep-who-section .so-widget-image,
    .panel-row-style.rep-who-section .so-widget-image,
    .rep-project-image-slide,
    .rep-project-image-slide img {
        width: 100% !important;
        max-width: 604px !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        border-radius: 4px !important;
    }

    .panel-grid.rep-project-section.rep-scroll-projects,
    .panel-row-style.rep-project-section.rep-scroll-projects,
    .panel-grid.rep-scroll-projects.is-scroll-controlled,
    .panel-row-style.rep-scroll-projects.is-scroll-controlled {
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .rep-scroll-projects .rep-container,
    .rep-scroll-projects.is-scroll-controlled .rep-container {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 76px 24px 84px !important;
        display: block !important;
    }

    .rep-project-layout.rep-scroll-slider {
        display: block !important;
        width: 100% !important;
        max-width: 604px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rep-project-content {
        width: 100% !important;
        max-width: 604px !important;
    }

    .rep-project-slides {
        min-height: auto !important;
    }

    .rep-project-slide,
    .rep-project-slide.is-active {
        position: relative !important;
        inset: auto !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    .rep-project-slide:not(.is-active) {
        display: none !important;
    }

    .rep-project-title {
        margin-bottom: 44px !important;
    }

    .rep-project-media {
        margin: 44px 0 0 !important;
    }

    .rep-project-image-slide {
        position: absolute !important;
        inset: 0 !important;
    }

    .rep-footer {
        --rep-footer-dot-safe: clamp(28px, 7vw, 40px);
        --rep-footer-dot-edge: 12px;
        --rep-footer-dot-gap: 42px;
    }
}
