
            .block-quote {
            }
            @media(min-width:768px) {
                .block-quote {
                }
            }
            .block-quote-content {
                display:block;
                margin:0 auto;
                max-width:910px;
                font-weight:500;
                font-size: 24px; line-height:24px;                text-align:center;
            }
            @media(min-width:768px) {
                .block-quote-content {
                    font-size: 48px; line-height:54px;                }
            }
            .vertical-rule:before {
                content:"";
                display:block;
                margin:0 auto 32px;
                height:52px;
                width:2px;
                background-color:black;
                /* border-left:1px solid black; */
            }
            @media(min-width:768px) {
                .vertical-rule:before {
                    height:100px;
                }
            }
            @media(max-width:767px) {
                .no-wrap-mobile {
                    white-space: nowrap;
                }
            }
        
            .card {
                text-decoration:none;
                color:black;
            }
            .card--top {
                aspect-ratio: 323 / 215;
                border-radius:4px;
                overflow:hidden;
            }
            .card--top img {
                width:100%;
                height:100%;
                object-fit:cover;
            }
            .card--bottom {
                padding-top:20px;
            }
            .card--suptext {
                font-weight:400;
                font-size: 16px; line-height:22px;            }
            .card--heading {
                font-weight:500;
                font-size: 22px; line-height:31px;            }
        
            .contact-success,
            .form-contact {
                background:black;
                border-radius:20px;
                padding:50px;
                color:white;
            }
            @media(max-width:767px) {
                .form-contact {
                    margin-top:22px;
                    padding:32px;
                }
            }
            .contact-success {
                display:flex;
                align-items:center;
                justify-content: center;
                font-family:Marsden;
            }
            .contact-success-inner {
                display:flex;
                flex-direction:column;
                align-items:center;
            }
            .contact-success-inner img {}
            .contact-success-inner h3 {margin-top:12px; margin-bottom:24px;
                font-size: 48px; line-height:54px;            font-weight:900; text-transform:uppercase;}
            .contact-success-inner p {margin-bottom:32px;
                font-size: 16px; line-height:22px;}
            .contact-success-inner a {
                font-size: 18px; line-height:25px;}

            .form-2-across {
                display:grid;
                grid-template-columns: 1fr;
            }
            @media(max-width:767px) {
                .form-2-across .field-wrapper:nth-child(n+2) {
                    margin-top:20px;
                }
            }
            @media(min-width:768px) {
                .form-2-across {
                    grid-template-columns: 1fr 1fr;
                    gap: 30px;
                }
            }
            .form-contact label {
                display:block;
                font-size: 12px; line-height:25px;            }
            .form-contact input[type="email"],
            .form-contact input[type="text"],
            .form-contact textarea {
                display:block;
                width:100%;
                box-sizing:border-box;
                color:white;
                background: #212121;
                border:1px solid #8b8a89;
                border-radius:4px;
                padding:13px 16px;
                font-family:Marsden;
                font-size: 16px; line-height:25px;            }
            .form-contact textarea {
                height:156px;
                padding:16px 16px;
            }
            .form-contact input[type="checkbox"],
            .form-contact input[type="checkbox"] + label {
                display:inline-block;
                width:auto;
            }
            p+.form-1-across {
                margin-top:32px;
            }
            .form-1-across,
            .form-2-across {
                margin-top:20px;
            }
            .form-2-across:first-child {
                margin-top:0;
            }
            .form-flex {
                display:flex;
                align-items:flex-end;
                justify-content:end;
            }
            .form-contact .submit-button {
                background:black;
                color:white;
                border:1px solid white;
                font-size: 20px; line-height:28px;                padding: 20px 100px;
                border-radius: 100px;
                transition: color 0.35s, background-color 0.35s;
                margin-top:52px;
            }
            @media(max-width:767px) {
                .form-contact .submit-button {
                    padding-left:20px;
                    padding-right:20px;
                    width:100%;
                    margin-top:32px;
                }
            }
            .form-contact .submit-button:not(.is-submitting):hover {
                color:black;
                background-color:white;
            }

            .form-contact .submit-button.is-submitting {
                border:1px solid rgba(255,255,255,0.6);
            }

            .form-contact .submit-button .static-message,
            .form-contact .submit-button.is-submitting .is-submitting-message {
                display:inline;
            }

            .form-contact .submit-button.is-submitting .static-message,
            .form-contact .submit-button .is-submitting-message {
                display:none;
            }

            /* Validation UI */
            .form-contact .field-wrapper {
                position:relative;
            }
            .form-contact input[type="email"].field-error,
            .form-contact input[type="text"].field-error,
            .form-contact textarea.field-error {
                border: 1px solid #D15252
            }
            .error-icon {
                display:none;
            }
            .field-error + .error-icon {
                display:block;
                position:absolute;
                top:39px;
                right:16px;
            }
            .form-contact .field-error-text {
                margin-top:10px;
                font-size: 12px; line-height:14px;                color:#D15252;
            }
            .form-contact .error-summary {
                margin:0 0 52px;
                padding:16px 14px;
                border-radius:4px;
                background:#D15252;
                color:white;
            }

            
            .work-link {
                text-wrap:nowrap;
                text-decoration:none;
                display: inline-block;
                border-bottom:1px solid white;
                font-weight: 700;
                font-size: 20px; line-height:28px;            }
            .work-link,
            .work-link:active,
            .work-link:focus,
            .work-link:visited {
                color:white;
            }
            .work-link-arrow {
                font-weight:500;
            }
            .form-contact .required-msg {
                /* margin-top: 32px; */
                font-weight: 400;
                font-size: 12px; line-height:19px;            }
        
            .four-across {
                display:grid;
                gap:30px;
                grid-template-columns: 1fr;
                /* padding-bottom:190px; */
            }
            
            @media(min-width:768px) {
                .four-across {
                    gap:52px 30px;
                    grid-template-columns: 1fr 1fr 1fr 1fr;
                }
            }
            .four-across--child {
                /* flex: 1 1 0; */
            }
        
            .four-across-list {
                padding-top:90px;
                border-top:1px solid black;
                margin-top:52px;
            }
            @media(min-width:768px) {
                .four-across-list {
                    padding-top:190px;
                    margin-top:90px;
                }
            }
            .four-across-list h2 {
                font-size: 36px; line-height:36px;                text-transform:uppercase;
                font-weight:900;
            }
            
            @media(min-width:768px) {
                .four-across-list h2 {
                    font-size: clamp(64px, 7vw, 92px); line-height:102px;                }
            }
            .four-across-list--grid {
                display:grid;
                grid-template-columns: 1fr;
                gap:16px;
                align-items:start;
                justify-items:stretch;
                padding-top:16px;
                font-size: 18px; line-height:25px;            }
            @media(max-width:767px) {
                .page--about .four-across-list--grid {
                    font-size: 16px; line-height:22px;                }
            }
            
            @media(min-width:768px) {
                .four-across-list--grid {
                    padding-top:90px;
                    gap:80px;
                    grid-template-columns: 1fr 1fr 1fr 1fr;
                }
            }

            @media(min-width:768px) {
            }
            
            .four-across-list--grid li {
                margin-bottom:7px;
            }

        
            .four-across-list {
                padding-top:90px;
                border-top:1px solid black;
                margin-top:52px;
            }
            @media(min-width:768px) {
                .four-across-list {
                    padding-top:190px;
                    margin-top:90px;
                }
            }
            .four-across-list h2 {
                font-size: 36px; line-height:36px;                text-transform:uppercase;
                font-weight:900;
            }
            
            @media(min-width:768px) {
                .four-across-list h2 {
                    font-size: clamp(64px, 7vw, 92px); line-height:102px;                }
            }
            .four-across-list--grid {
                display:grid;
                grid-template-columns: 1fr;
                gap:16px;
                align-items:start;
                justify-items:stretch;
                padding-top:16px;
                font-size: 18px; line-height:25px;            }
            @media(max-width:767px) {
                .page--about .four-across-list--grid {
                    font-size: 16px; line-height:22px;                }
            }
            
            @media(min-width:768px) {
                .four-across-list--grid {
                    padding-top:90px;
                    gap:80px;
                    grid-template-columns: 1fr 1fr 1fr 1fr;
                }
            }

            @media(min-width:768px) {
            }
            
            .four-across-list--grid li {
                margin-bottom:7px;
            }

        
            .marquee {
                overflow:hidden;
                white-space:nowrap;
                max-width:100%;
                position:relative;
            }
            .marquee::before,
            .marquee::after {
                content: "";
                position: absolute;
                top: 0;
                width: 30px;
                height: 100%;
                z-index: 2;
                /* Use a solid color or gradient that matches background */
                background: #ffffff; /*linear-gradient(to right, white 50%, transparent 100%);*/;
            }
            .marquee::after {
                right: 0;
                transform: scaleX(-1);
            }

            .marquee ul {
                list-style-type:none;
                display:flex;
                gap:120px;
                flex-wrap:nowrap;
                align-items:center;
            }
            .marquee li {
	            flex-shrink: 0;
            }
        
            .one-across {
            }
            .one-across img {
                width:100%;
                display:block;
                /* height:100%;
                object-fit:cover; */
            }
            /* .one-across.m-t-30 {
                margin-top:30px;
            } */
            /* .one-across.m-t-52 {
                margin-top:52px;
            } */
        
            .one-across-shadow-box {
                padding-bottom:52px;
            }
            @media(max-width:767px) {
                .one-across-shadow-box {
                    padding-bottom:32px;
                }
            }
            .one-across-shadow-box--shadow {
                /* padding:100px clamp(20px, 15vw, 235px); */
                display:grid;
                grid-template-columns: 1fr;
                gap:80px;
                padding:100px 235px;
                background-color:#EBEBEB;
                border-radius:4px;
                /* display:flex; */
            }
            @media(max-width:767px) {
                .one-across-shadow-box--shadow {
                    padding:60px 24px;
                    gap:44px;
                }
            }
            .one-across-shadow-box img {
                width:100%;
                /* flex:1 1 0; */
                /* height:100%;
                object-fit:contain; */
            }
            /* .one-across-shadow-box.m-t-30 {
                margin-top:30px;
            }
            .one-across-shadow-box.m-t-52 {
                margin-top:52px;
            }
            @media(max-width:767px) {
                .one-across-shadow-box.m-t-52 {
                    margin-top:32px;
                }
            } */
        
            .page-headings {
                padding-top:100px;
                padding-bottom:32px;
            }
            @media(min-width:768px) {
                .page-headings {
                    padding-top:190px;
                    padding-bottom:52px;
                }
            }
            .page-heading-suptext {
                font-size: 18px; line-height:25px;            }
            @media(min-width:768px) {
                .page-heading-suptext {
                    font-size: 22px; line-height:31px;                }
            }
            .page-heading {
                font-size: 48px; line-height:54px;                margin-top:12px;
                font-weight:500;
            }
            @media(min-width:768px) {
                .page-heading {
                    font-size: clamp(64px, 7vw, 92px); line-height:102px;                }
            }
            .page-heading-subtext {
                font-size: 16px; line-height:22px;                margin-top:16px;
            }
            @media(min-width:768px) {
                .page-heading-subtext {
                    font-size: 18px; line-height:25px;                    margin-top:32px;
                }
            }
        
            .password-wrapper {
                display:flex;
                justify-content:center;
                margin-top:190px;

            }
            .password-success,
            .form-password {
                background:black;
                border-radius:20px;
                padding:50px;
                color:white;
            }
            @media(max-width:767px) {
                .form-password {
                    margin-top:22px;
                }
            }
            .password-success {
                display:flex;
                align-items:center;
                justify-content: center;
                font-family:Marsden;
            }
            .password-success-inner {
                display:flex;
                flex-direction:column;
                align-items:center;
            }
            .password-success-inner img {}
            .password-success-inner h3 {margin-top:12px; margin-bottom:24px;
                font-size: 48px; line-height:54px;            font-weight:900; text-transform:uppercase;}
            .password-success-inner p {margin-bottom:32px;
                font-size: 16px; line-height:22px;}
            .password-success-inner a {
                font-size: 18px; line-height:25px;}

            .form-2-across {
                display:grid;
                grid-template-columns: 1fr;
            }
            @media(max-width:767px) {
                .form-2-across .field-wrapper:nth-child(n+2) {
                    margin-top:20px;
                }
            }
            @media(min-width:768px) {
                .form-2-across {
                    grid-template-columns: 1fr 1fr;
                    gap: 30px;
                }
            }
            .form-password label {
                display:block;
                font-size: 12px; line-height:25px;            }
            .form-password input[type="email"],
            .form-password input[type="text"],
            .form-password input[type="password"],
            .form-password textarea {
                display:block;
                width:100%;
                box-sizing:border-box;
                color:white;
                background: #212121;
                border:1px solid #8b8a89;
                border-radius:4px;
                padding:13px 16px;
                font-family:Marsden;
                font-size: 16px; line-height:25px;            }
            .form-password textarea {
                height:156px;
                padding:16px 16px;
            }
            .form-password input[type="checkbox"],
            .form-password input[type="checkbox"] + label {
                display:inline-block;
                width:auto;
            }
            .form-password .form-1-across,
            .form-password .form-2-across {
                margin-top:32px;
            }
            .form-2-across:first-child {
                margin-top:0;
            }
            .form-password .form-flex {
                display:flex;
                align-items:flex-end;
                justify-content:center;
            }
            .form-password .submit-button {
                background:black;
                color:white;
                border:1px solid white;
                font-size: 20px; line-height:28px;                padding: 20px 100px;
                border-radius: 100px;
                transition: color 0.35s, background-color 0.35s;
                margin-top:52px;
                width:100%;
                max-width:100%;
            }
            @media(max-width:767px) {
                .form-password .submit-button {
                    padding-left:20px;
                    padding-right:20px;
                    width:100%;
                }
            }
            .form-password .submit-button:not(.is-submitting):hover {
                color:black;
                background-color:white;
            }

            .form-password .submit-button.is-submitting {
                border:1px solid rgba(255,255,255,0.6);
            }

            .form-password .submit-button .static-message,
            .form-password .submit-button.is-submitting .is-submitting-message {
                display:inline;
            }

            .form-password .submit-button.is-submitting .static-message,
            .form-password .submit-button .is-submitting-message {
                display:none;
            }

            /* Validation UI */
            .form-password .field-wrapper {
                position:relative;
            }
            .form-password input[type="email"].field-error,
            .form-password input[type="text"].field-error,
            .form-password input[type="password"].field-error,
            .form-password textarea.field-error {
                border: 1px solid #D15252
            }
            .error-icon {
                display:none;
            }
            .field-error + .error-icon {
                display:block;
                position:absolute;
                top:39px;
                right:16px;
            }
            .form-password .field-error-text {
                margin-top:10px;
                font-size: 12px; line-height:14px;                color:#D15252;
            }
            .form-password .error-summary {
                margin:0 0 52px;
                padding:16px 14px;
                border-radius:4px;
                background:#D15252;
                color:white;
            }

            
            .work-link {
                text-wrap:nowrap;
                text-decoration:none;
                display: inline-block;
                border-bottom:1px solid white;
                font-weight: 700;
                font-size: 20px; line-height:28px;            }
            .work-link,
            .work-link:active,
            .work-link:focus,
            .work-link:visited {
                color:white;
            }
            .work-link-arrow {
                font-weight:500;
            }
            .form-password p {
                font-size: 20px; line-height:28px;            }
            .form-password .required-msg {
                margin-top: 32px;
                font-weight: 400;
                font-size: 12px; line-height:19px;            }
        
            .project-tease {
                max-width:100%;
                /* margin-left:30px; */
                margin-right:30px;
            }
            .parallax-dynamic {
                display:flex;
                align-items: center;
                flex-direction: column;
                max-width:100%;
            }
            @media(min-width:768px) {
                
                .project-tease {
                    margin-right:0;
                }
                .parallax-wrapper {
                    height: 200vh;
                    position: relative;
                }
                .parallax-static {
                    position: sticky;
                    top: 0;
                    height: 100vh;
                    overflow: hidden;
                    display: grid;
                    place-items:center;
                    z-index:1;
                }
                .parallax-dynamic {
                    display:block;
                    max-width:none;
                    position:absolute;
                    top:calc(150vh);
                    left:50%;
                    transform:translate(-50%,0);
                    will-change: transform;
                    z-index:2;
                }
            }

            @media (prefers-reduced-motion: reduce) {
                .parallax-dynamic { transition: none !important; }
            }

            .project-tease-subheading {
                text-align:center;
            }
            .project-tease-image-wrapper-static-only {
                max-width:100%;
                aspect-ratio: 448 / 299;
                overflow:hidden;
                border-radius:4px;
            }
            .parallax-static .project-tease-image-wrapper-static-only {
                margin: 21px auto 0;
            }
            @media(max-width:767px) {
                .page--case-study .project-tease {
                    margin-right:0;
                    
                    max-width:100%;
                    margin-left:62.5px;
                    margin-right:62.5px;
                }
                .page--case-study .project-tease-image-wrapper-static-only {
                    margin: 21px auto 0;
                }
                .page--case-study .project-tease-button {
                    margin-top:16px;
                }
            }
            @media(min-width:768px) {
                .project-tease-image-wrapper-static-only {
                    margin:clamp(-92px, -6vw, -47px) auto 32px;
                    z-index:2;
                    position:relative;
                    aspect-ratio:auto;
                    width:448px;
                    height:299px;
                }
            }
            @media(min-width:768px) {
                .parallax-wrapper .project-tease-image-wrapper-static-only {
                    display:none;
                }
            }
            .parallax-wrapper .project-tease-image-wrapper-dynamic-only {
                display:none;
            }
            @media(min-width:768px) {
                .parallax-wrapper .project-tease-image-wrapper-dynamic-only {
                    display:block;
                    max-width:100%;
                    aspect-ratio: 448 / 299;
                    overflow:hidden;
                    border-radius:4px;
                    aspect-ratio:auto;
                    width:448px;
                    height:299px;
                }
            }
            .dynamic-only {
                display:none;
            }
            @media(min-width:768px) {
                .parallax-wrapper .dynamic-only {
                    display:block;
                }
            }
            .project-tease-image {
                width:100%;
                height:100%;
                object-fit:cover;
            }
            .project-tease-heading {
                font-size: 36px; line-height:36px;                text-align:center;
                text-transform:uppercase;
                font-weight:900;
                margin:0;
                margin-top: 16px;
            }
            .project-tease .rise-row {
                display:flex;
                justify-content:center;
                align-items:baseline;
            }
            .project-tease .rise-letterwrap,
            .project-tease .rise-letter {
                display: inline-block;
            }
            @media(min-width:768px) {
                .project-tease-heading {
                    font-size: clamp(36px, 10vw, 152px); line-height:1;                    margin-top: 32px;
                    /* display:flex;
                    flex-direction:column;
                    flex-wrap:nowrap;
                    justify-content:center;
                    align-items:baseline; */
                }

                /* ---- VIEWPORT-SAFE FLUID TYPE FOR RISE ROWS ---- */
                .project-tease-heading {
                    /* Fluid font size that never causes overflow */
                    /* font-size: clamp(36px, 10vw, 152px); */
                    line-height: 1;
                    max-width: 100vw;
                    overflow: hidden;
                }

                /* Hard width clamp on each animated line */
                .project-tease .rise-row {
                    max-width: 100vw;
                    overflow: hidden;
                    white-space: nowrap;
                }

                /* Ensure letters never force expansion */
                .project-tease .rise-letter-wrap,
                .project-tease .rise-letter {
                    max-width: 1em;
                    flex: 0 0 auto;
                }

                /* Prevent transform animations from visually overflowing */
                .project-tease-heading,
                .project-tease .rise-row {
                    contain: layout paint;
                }


                .project-tease-suptext {
                    font-size: 28px; line-height:28px;                }
                .parallax-wrapper .project-tease-suptext,
                .parallax-wrapper .project-tease-button {
                    opacity: 0;
                }
                .project-tease.is-visible .project-tease-suptext {
                    transition: opacity 1.4s ease;
                    opacity: 1;
                }

                .project-tease.is-visible .project-tease-button {
                    transition: opacity 1.4s ease, color 0.35s, background-color 0.35s;
                    opacity: 1;
                }
                .project-tease .rise-row {
                    display:flex;
                    flex-wrap:nowrap;
                    justify-content:center;
                    align-items:baseline;
                }
                .project-tease .rise-letter-wrap {
                    display: inline-block;
                    overflow: hidden;
                    height: 1em;
                    vertical-align: baseline;
                }
                .project-tease .rise-letter {
                    display: inline-block;
                }
                .parallax-wrapper .rise-letter {
                    transform: translateY(1.2em);
                    opacity: 0;
                    /* transition: ; */
                }

                .project-tease.is-visible .rise-letter {
                    transition: transform 0.35s ease, opacity 0.35s ease;
                }
                .parallax-wrapper .rise-letter--visible {
                    transform: translateY(0);
                    opacity: 1;
                }
            }
            .project-tease-button {
                display:inline-block;
                border-radius:100px;
                font-weight:500;
                text-decoration:none;
                color:black;
                background-color:white;
                border:1px solid black;
                padding:18.5px 30px;
                text-align:center;
                transition: color 0.35s, background-color 0.35s;
            }
            @media(min-width:768px) {
                .project-tease-button {
                    min-width:337px;
                }
            }
            .parallax-static .project-tease-button {
                margin-top:16px;
            }
            .project-tease-button:hover {
                color:white;
                background-color:black;
            }
            .project-tease-button > span {
                font-size: 20px; line-height:28px;            }
            .project-tease-content {
                text-align:center;
            }
        
            @media(max-width:767px) {
                .snappy-list {
                    position: relative;
                    overflow: hidden; /* no normal scrolling */
                }
                /* slide track */
                .snappy-list-children {
                    display: flex;
                    flex-direction:row;
                    flex-wrap: nowrap;
                    transform: translateX(0);
                    transition: transform 0.4s ease;
                    touch-action: pan-y; /* allow vertical page scroll, block horizontal panning */
                }
                /* each slide */
                .snappy-list-children > * {
                    flex: 0 0 100%; /* one slide per viewport width of the list */
                }

                /* nav layout (tweak as needed) */
                .snappy-list-nav {
                    display: flex;
                    flex-direction:row;
                    align-items: center;
                    justify-content: center;
                    gap: 1rem;
                    margin-top: 52px;
                }
            }

            @media(min-width:768px) {
                .snappy-list-nav {
                    display:none;
                }
            }

            /* .snappy-list-nav--control {
                display: flex;
            }

            .snappy-list-nav--button {
                border: none;
                background: none;
                cursor: pointer;
                padding: 0.5rem;
            }

            .snappy-list-nav--button:disabled {
                opacity: 0.4;
                cursor: default;
            } */



            /* @media(min-width:768px) {
                .snappy-list {
                    margin-top:25vh;
                }
            } */
            .snappy-list-nav--controls {}
            .snappy-list-nav--button {
                padding:0;
                background:transparent;
                border:0 none transparent;
            }
            .snappy-list-nav--progress {
                flex-grow:1;
                text-align:center;
            }

            .snappy-list-children {
                display:flex;
                flex-direction:row;
                flex-wrap:nowrap;
                /* overflow:hidden; */
            }
            @media(min-width:768px) {
                /* html, body {
                    scroll-snap-type: y proximity;
                } */
                .snappy-list-children {
                    flex-direction: column;
                }
                /* Only “opt in” to snapping when user is engaged */
                /* .snappy-list-children, */
                /* .snappy-list-children:hover,
                .snappy-list-children:focus-within {
                    scroll-snap-type: y proximity;
                } */

                .snappy-list-children > * {
                    scroll-snap-align: start;
                    scroll-snap-stop: normal;
                }
            }
        
            .text-hero {
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction:column;
                position: relative;
                height:calc(100vh - 101px);
                overflow: hidden;
            }
            @media(min-width:768px) {
                .text-hero {
                    height:calc(100vh - 80px);
                }
            }
            .text-hero-heading {
                margin:0;
                flex-grow:1;
                display:flex;
                justify-content:center;
                align-items:center;
            }
            .text-hero-heading-content {
                text-transform:uppercase;
                font-weight:900;
                font-size: 48px; line-height:54px;                text-align:center;
            }
            @media(min-width:768px) {
                .text-hero-heading-content {
                    font-size: clamp(36px, 10vw, 152px); line-height:1;                }
            }
            .text-hero-subheading {
                text-align:center;
                font-weight:500;
                font-size: 16px; line-height:22px;            }
            @media(min-width:768px) {
                .text-hero-subheading {
                    font-size: 20px; line-height:28px;                }
            }
            .text-hero .rise-row {
                display:flex;
                justify-content:center;
                align-items:baseline;
                margin-bottom:clamp(12.315789473684px, 2vw, 52px);
            }
            .text-hero .rise-letter-wrap,
            .text-hero .rise-letter {
                display: inline-block;
            }
            .text-hero .rise-letter-wrap {
                margin-right:0.035em;
            }
            .text-hero .rise-letter-wrap-t {
                margin-left:-0.095em;
            }
            .text-hero .rise-letter svg {
                display:none;
                display:block;
            }
            .text-hero .rise-letter .rise-letter-text {
                display:block;
            }
            @media(min-width:768px) {

                /* ---- VIEWPORT-SAFE FLUID TYPE FOR RISE ROWS ---- */
                .project-tease-heading {
                    /* Fluid font size that never causes overflow */
                    /* font-size: clamp(36px, 10vw, 152px); */
                    line-height: 1;
                    max-width: 100vw;
                    overflow: hidden;
                }

                /* Hard width clamp on each animated line */
                .text-hero .rise-row {
                    max-width: 100vw;
                    overflow: hidden;
                    white-space: nowrap;
                }

                /* Ensure letters never force expansion */
                .text-hero .rise-letter-wrap,
                .text-hero .rise-letter {
                    /* max-width: 1em; */
                    flex: 0 0 auto;
                }

                /* Prevent transform animations from visually overflowing */
                .text-hero .rise-row {
                    contain: layout paint;
                }
                .text-hero .rise-row {
                    display:flex;
                    flex-wrap:nowrap;
                    justify-content:center;
                    align-items:baseline;
                }
                .text-hero .rise-letter-wrap {
                    display: inline-block;
                    overflow: hidden;
                    height: 1em;
                    vertical-align: baseline;
                    /* padding-bottom: 30px;
                    box-sizing:border-box; */
                }
                .text-hero .rise-letter {
                    display: inline-block;
                }
                .text-hero .rise-letter {
                    transform: translateY(1.2em);
                    opacity: 0;
                    transition: transform 0.35s ease, opacity 0.35s ease;
                }
                .text-hero .rise-letter--visible {
                    transform: translateY(0);
                    opacity: 1;
                }
                .text-hero .rise-letter svg {
                    display:block;
                    height:1em;
                }
                .text-hero .rise-letter .rise-letter-text {
                    display:none;
                }
            }
        
            .three-across {
                display:grid;
                grid-template-columns: 1fr;
                gap:32px;
                align-items:center;
                justify-items:stretch;
                padding-top:52px;
            }
            .three-across {}
            
            @media(min-width:768px) {
                .three-across {
                padding-top:90px;
                    gap:80px;
                    grid-template-columns: 1fr 2fr 1fr;
                }
            }

            .three-across img {
                width:100%;
                height:100%;
                object-fit:contain;
            }
            .three-across--empty {
                display:none;
            }
            .three-across--left,
            .three-across--right {
                font-size: 12px; line-height:14px;                text-transform:uppercase;
                text-align:center;
            }
            @media(min-width:768px) {
                .three-across--empty {
                    display:block;
                }
                .three-across--left {
                    text-align:left;
                }
                .three-across--right {
                    text-align:right;
                }
            }

            .three-across .addr-link {
                color:black;
            }
            .three-across .three-across--center div + div .paragraph,
            .three-across .three-across--center div + div .addr-link {
                margin-top:1em;
            }
        
            .three-across-shadow-box {
                /* padding-bottom:52px; */
            }
            .three-across-shadow-box--shadow {
                display:grid;
                grid-template-columns: 1fr;
                gap:44px;
                padding:60px 24px;
                background-color:#000000;
                border-radius:4px;
            }
            
            @media(min-width:768px) {
                .three-across-shadow-box--shadow {
                    grid-template-columns: 1fr 1fr 1fr;
                    padding:100px 235px;
                    gap:80px;
                }
            }

            .three-across-shadow-box img {
                width:100%;
                height:100%;
                object-fit:contain;
                /* flex:1 1 0; */
                /* width:100%; */
                /* height:100%;
                object-fit:contain; */
            }
        
            .two-across {
                display:grid;
                gap:30px;
                grid-template-columns: 1fr;
            }
            @media(max-width:767px) {
                .page--contact .two-across {
                    gap:16px;
                }
            }
            .two-across img {
                max-width:100%;
            }
            .two-across.left-gray .two-across--left {
                border-radius:4px;
                background-color:#ebebeb;
                padding:60px 24px;
            }
            @media(min-width:768px) {
                .two-across {
                    grid-template-columns: 1fr 1fr;
                }
                .two-across.left-gray .two-across--left {
                    padding:84px clamp(24px, 10vw, 190px);
                }
            }
        
            .two-across-12 {
                display:flex;
                gap:30px;
                flex-direction:column;
            }
            @media(max-width:767px) {
                .page--work .two-across-12 {
                    gap:16px;
                }
            }
            @media(min-width:768px) {
                .two-across-12 {
                    flex-direction:row;
                }
                .two-across-12--left {
                    flex: 7 1 0;
                    padding-right:16%
                }
                .two-across-12--right {
                    flex: 12 1 0;
                }
            }
        
            .two-across-21 {
                display:flex;
                gap:30px;
                padding-top:190px;
                padding-bottom:90px;
                flex-direction:column;
            }
            @media(max-width:767px) {
                .two-across-21 {
                    padding-top:100px;
                    padding-bottom:60px;
                }
            }
            @media(min-width:768px) {
                
                .two-across-21 {
                    flex-direction:row;
                }
                .two-across-21--left {
                    flex: 2 1 0;
                }
                .two-across-21--right {
                    flex: 1 1 0;
                }
            }
        
            .two-across-flex-shadow-box {
                /* padding-bottom:52px; */
            }
            .two-across-flex-shadow-box--shadow {
                display:grid;
                gap:44px 13px;
                padding:60px 24px;
                background-color:#EBEBEB;
                max-width:100%;
                grid-template-columns: 1fr;
                align-items:start;
                justify-items: start;
                border-radius:4px;
            }
            
            @media(min-width:768px) {
                .two-across-flex-shadow-box--shadow {
                    padding:100px 70px;
                    gap:80px;
                }
            }

            .two-across-flex-shadow-box img {
                width:100%;
                height:100%;
                object-fit:contain;
            }
            /* .two-across-flex-shadow-box.m-t-30 {
                margin-top:30px;
            }
            .two-across-flex-shadow-box.m-t-52 {
                margin-top:52px;
            } */
        
            .addr-link {
                text-wrap:nowrap;
                text-decoration:none;
                display: inline-block;
                border-bottom:1px solid black;
                font-weight: 700;
                font-size: 20px; line-height:28px;            }
            @media(max-width:767px) {
                .page--about .addr-link {
                    font-size: 16px; line-height:22px;                }
            }
            .addr-link-arrow {
                font-weight:500;
            }
        
            .heading-heavy {
                margin:0;
                font-weight:900;
                font-size: clamp(64px, 7vw, 92px); line-height:102px;                text-transform:uppercase;
            }
            
            @media(max-width:767px) {
                .page--contact .heading-heavy,
                .page--work .heading-heavy {
                    font-size: 36px; line-height:36px;                }
            }
            .page--contact .heading-heavy,
            .page--work .heading-heavy {
                margin-top:-8px;
            }
        
        
            .paragraph {
                font-weight:400;
                font-size: 20px; line-height:28px;                margin:0;
            }
            .page--case-study .paragraph {
                font-size: 22px; line-height:32px;            }
            @media(max-width:767px) {
                .page--case-study .paragraph {
                    font-size: 18px; line-height:25px;                }

                .page--about .paragraph {
                    font-size: 16px; line-height:22px;                }
                .page--contact .paragraph,
                .page--work .paragraph {
                    font-size: 16px; line-height:22px;                }
                .page--contact .paragraph--heading ~ .paragraph {
                    text-align:left;
                }
            }
            .paragraph + .paragraph--heading {
                margin-top:52px;
            }
            @media(max-width:767px) {
                .page--contact .paragraph + .paragraph--heading {
                    margin-top:32px;
                }
            }
            .paragraph + .paragraph {
                margin-top:1em;
            }
            .paragraph--heading {
                margin-bottom:13px;
                font-weight:400;
                font-size: 12px; line-height:14px;                text-transform:uppercase;
            }
            
            .paragraph .linked-in-link {
                color:black;
                border-bottom:1px solid black;
                text-decoration:none;
                font-weight: 700;
                font-size: 20px; line-height:28px;            }
            @media(max-width:767px) {
                .paragraph .linked-in-link  {
                    font-size: 16px; line-height:22px;                }
            }
            .paragraph .addr-link {
                color:black;
            }
            .paragraph.big-text {
                font-size: 48px; line-height:54px;            }
            @media(max-width:767px) {
                .paragraph.big-text {
                    font-size: 24px; line-height:24px;                }
            }
        
        .footer {
            display:flex;
            flex-direction:column;
            align-items:stretch;
            justify-content:stretch;
            background-color:black;
            min-height:100vh;
            color:white;
            margin-top:90px;
        }
        @media(max-width:767px) {
            .page--case-study .footer {
                margin-top:60px;
            }
        }
        @media(min-width:768px) {
            .footer {
                margin-top:190px;
            }
            .page--case-study .footer {
                margin-top:100px;
            }
        }
        .footer .talk-cta-container {
            flex-grow:1;
            display:flex;
            flex-direction:column;
            justify-content:center;
            align-items:center;
        }
        @media(max-width:767px) {
            .talk-cta-container--contact-wrap {
                flex-grow:1;
                display:flex;
                flex-direction:column;
                justify-content:center;
                align-items:center;
            }
        }
        .footer .talk-cta {
            display:inline-block;
            color:white;
            font-family:Marsden;
            font-weight:900;
            font-size: 48px; line-height:54px;            text-align:center;
            text-transform:uppercase;
            text-decoration:none;
        }
        @media(min-width:768px) {
            .footer .talk-cta {
                font-size: clamp(36px, 10vw, 152px); line-height:1;            }
        }
        .footer .addr-link {
            color:white;
            border-color:white;
            margin-bottom:52px;
        }
        @media(min-width:768px) {
            .footer .addr-link {
                margin-top:52px;
                margin-bottom:0;
            }
        }
        .footer-links {
            display: flex;
            justify-content: space-between;
            text-transform:uppercase;
            padding-top:20.5px;
            padding-bottom:20.5px;
            gap:50px;
            font-size: 16px; line-height:22px;        }
        @media(max-width:767px) {
            .footer-links {
                font-size: 12px; line-height:14px;            }
        }
        .footer-links a {
            color:white;
            text-decoration:none;
        }
        .footer-link--heavy {
            font-weight:800;
        }
        @media(max-width:767px) {
            .top-link,
            .footer-link--heavy {
                font-size: 16px; line-height:22px;            }
        }
        .footer-link-desktop-only {
            display:none;
        }
        @media(min-width:768px) {
            .footer-link-desktop-only {
                display:inline;
            }
        }
        @media(max-width:767px) {
            .mobile-block {
                display:block;
            }
        }
        
            .header-nav--logo {
                font-size: 24px; line-height:24px;                font-weight:900;
            }
            .header-nav--logo-text {
                display:inline-block;
                /* line-height:1.2; */
                text-decoration:none;
                text-transform:uppercase;
                color:black;
            }
            .sr-only {
                position: absolute;
                width: 1px;
                height: 1px;
                padding: 0;
                margin: -1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap; /* prevent line breaks */
                border: 0;
            }

        
        
            .header-nav--modal {
                display:flex;
                flex-direction:column;
            }
            .header-nav--modal.js-toggle--on {
                position:fixed;
                top:0;
                left:0;
                right:0;
                bottom:0;
                background-color:#fff;
                z-index:1000;
            }
            .header-nav--modal.js-toggle--off {
                height:auto;
            }
            @media(min-width:768px) {
                .header-nav--modal {
                    display:none;
                }
            }
            .header-nav--modal--top {
                display:flex;
                justify-content: space-between;
                align-items:center;
                padding:16.5px 24px;
            }
            .header-nav--modal.js-toggle--off .header-nav--modal--open,
            .header-nav--modal.js-toggle--on .header-nav--modal--close {
                display:inline-block;
            }
            .header-nav--modal.js-toggle--on .header-nav--modal--open,
            .header-nav--modal.js-toggle--off .header-nav--modal--close {
                display:none;
            }
            .header-nav--modal--content {
                display:flex;
                flex-direction:column;
                padding:90px 24px 32px;
                flex-grow:1;
            }
            .header-nav--modal.js-toggle--off .header-nav--modal--content {
                display:none;
            }
            .header-nav--links--major li {
                margin-bottom:12px;
            }
            .header-nav--links--major a {
                font-size: 40px; line-height:54px;                text-decoration:none;
                color:#000;
                font-weight:500;
            }
            .header-nav--links--minor {
                flex-grow:1;
                padding-top:52px;
            }
            .header-nav--links--minor li {
                margin-bottom:14px;
            }
            .header-nav--links--minor a {
                font-size: 18px; line-height:25px;                text-decoration:none;
                color:#000;
                font-weight:500;
            }
            .header-nav--modal--content .addr-link {
                font-size: 18px; line-height:25px;                color:#000;
                font-weight:700;
            }
            .header-nav--link:after {
                content:"";
                display:block;
                background-color:black;
                height:1px;
                width:0;
                transition: width 0.35s ease;
            }
            .header-nav--link:hover:after,
            .header-nav--link--active:after {
                width:100%;
            }
        
        
            .header-nav--flat {
                display:none;
                grid-template-columns: repeat(3, 1fr);
                justify-items:stretch;
                align-items:center;
                gap: 30px;
                padding:0 30px;
                text-transform:uppercase;
                min-height:60px;
            }
            @media(min-width:768px) {
                .header-nav--flat {
                    display: grid;
                }
            }
            .header-nav--links--left {
                display:flex;
                gap:56px;
                text-align:left;
            }
            .header-nav--links--right {
                text-align:right;
            }
            .header-nav--flat li {
                display:inline-block;
            }
            .header-nav--flat li a {
                color:#000;
                font-size: 14px; line-height:14px;                font-weight:800;
                text-decoration:none;
            }
        
            html, body, div, span, applet, object, iframe,
            h1, h2, h3, h4, h5, h6, p, blockquote, pre,
            a, abbr, acronym, address, big, cite, code,
            del, dfn, em, img, ins, kbd, q, s, samp,
            small, strike, strong, sub, sup, tt, var,
            b, u, i, center,
            dl, dt, dd, ol, ul, li,
            fieldset, form, label, legend,
            table, caption, tbody, tfoot, thead, tr, th, td,
            article, aside, canvas, details, embed, 
            figure, figcaption, footer, header, hgroup, 
            menu, nav, output, ruby, section, summary,
            time, mark, audio, video {
                margin: 0;
                padding: 0;
                border: 0;
                font-size: 100%;
                font: inherit;
                vertical-align: baseline;
                box-sizing: border-box;
            }
            /* HTML5 display-role reset for older browsers */
            article, aside, details, figcaption, figure, 
            footer, header, hgroup, menu, nav, section {
                display: block;
            }
            body {
                line-height: 1;
            }
            ol, ul {
                list-style: none;
            }
            blockquote, q {
                quotes: none;
            }
            blockquote:before, blockquote:after,
            q:before, q:after {
                content: '';
                content: none;
            }
            table {
                border-collapse: collapse;
                border-spacing: 0;
            }
        
            html {
                font-family:'Marsden';
            }
            .main-section-wrapper {
                padding-left:30px;
                padding-right:30px;
            }
            @media(max-width:767px) {
                .main-section-wrapper {
                    padding-left:24px;
                    padding-right:24px;
                }
            }

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

            .inline-list {
                list-style-type:none;
            }
            .inline-list li {
                display:inline-block;
            }

                        .m-p-t-0 { padding-top: 0px; }
            .m-p-b-0 { padding-bottom: 0px; }
            .m-m-t-0 { margin-top: 0px; }
            .m-m-b-0 { margin-bottom: 0px; }
            @media(min-width:768px) {
                .d-p-t-0 { padding-top: 0px; }
                .d-p-b-0 { padding-bottom: 0px; }
                .d-m-t-0 { margin-top: 0px; }
                .d-m-b-0 { margin-bottom: 0px; }
            }
                        .m-p-t-28 { padding-top: 28px; }
            .m-p-b-28 { padding-bottom: 28px; }
            .m-m-t-28 { margin-top: 28px; }
            .m-m-b-28 { margin-bottom: 28px; }
            @media(min-width:768px) {
                .d-p-t-28 { padding-top: 28px; }
                .d-p-b-28 { padding-bottom: 28px; }
                .d-m-t-28 { margin-top: 28px; }
                .d-m-b-28 { margin-bottom: 28px; }
            }
                        .m-p-t-30 { padding-top: 30px; }
            .m-p-b-30 { padding-bottom: 30px; }
            .m-m-t-30 { margin-top: 30px; }
            .m-m-b-30 { margin-bottom: 30px; }
            @media(min-width:768px) {
                .d-p-t-30 { padding-top: 30px; }
                .d-p-b-30 { padding-bottom: 30px; }
                .d-m-t-30 { margin-top: 30px; }
                .d-m-b-30 { margin-bottom: 30px; }
            }
                        .m-p-t-32 { padding-top: 32px; }
            .m-p-b-32 { padding-bottom: 32px; }
            .m-m-t-32 { margin-top: 32px; }
            .m-m-b-32 { margin-bottom: 32px; }
            @media(min-width:768px) {
                .d-p-t-32 { padding-top: 32px; }
                .d-p-b-32 { padding-bottom: 32px; }
                .d-m-t-32 { margin-top: 32px; }
                .d-m-b-32 { margin-bottom: 32px; }
            }
                        .m-p-t-52 { padding-top: 52px; }
            .m-p-b-52 { padding-bottom: 52px; }
            .m-m-t-52 { margin-top: 52px; }
            .m-m-b-52 { margin-bottom: 52px; }
            @media(min-width:768px) {
                .d-p-t-52 { padding-top: 52px; }
                .d-p-b-52 { padding-bottom: 52px; }
                .d-m-t-52 { margin-top: 52px; }
                .d-m-b-52 { margin-bottom: 52px; }
            }
                        .m-p-t-60 { padding-top: 60px; }
            .m-p-b-60 { padding-bottom: 60px; }
            .m-m-t-60 { margin-top: 60px; }
            .m-m-b-60 { margin-bottom: 60px; }
            @media(min-width:768px) {
                .d-p-t-60 { padding-top: 60px; }
                .d-p-b-60 { padding-bottom: 60px; }
                .d-m-t-60 { margin-top: 60px; }
                .d-m-b-60 { margin-bottom: 60px; }
            }
                        .m-p-t-68 { padding-top: 68px; }
            .m-p-b-68 { padding-bottom: 68px; }
            .m-m-t-68 { margin-top: 68px; }
            .m-m-b-68 { margin-bottom: 68px; }
            @media(min-width:768px) {
                .d-p-t-68 { padding-top: 68px; }
                .d-p-b-68 { padding-bottom: 68px; }
                .d-m-t-68 { margin-top: 68px; }
                .d-m-b-68 { margin-bottom: 68px; }
            }
                        .m-p-t-70 { padding-top: 70px; }
            .m-p-b-70 { padding-bottom: 70px; }
            .m-m-t-70 { margin-top: 70px; }
            .m-m-b-70 { margin-bottom: 70px; }
            @media(min-width:768px) {
                .d-p-t-70 { padding-top: 70px; }
                .d-p-b-70 { padding-bottom: 70px; }
                .d-m-t-70 { margin-top: 70px; }
                .d-m-b-70 { margin-bottom: 70px; }
            }
                        .m-p-t-90 { padding-top: 90px; }
            .m-p-b-90 { padding-bottom: 90px; }
            .m-m-t-90 { margin-top: 90px; }
            .m-m-b-90 { margin-bottom: 90px; }
            @media(min-width:768px) {
                .d-p-t-90 { padding-top: 90px; }
                .d-p-b-90 { padding-bottom: 90px; }
                .d-m-t-90 { margin-top: 90px; }
                .d-m-b-90 { margin-bottom: 90px; }
            }
                        .m-p-t-96 { padding-top: 96px; }
            .m-p-b-96 { padding-bottom: 96px; }
            .m-m-t-96 { margin-top: 96px; }
            .m-m-b-96 { margin-bottom: 96px; }
            @media(min-width:768px) {
                .d-p-t-96 { padding-top: 96px; }
                .d-p-b-96 { padding-bottom: 96px; }
                .d-m-t-96 { margin-top: 96px; }
                .d-m-b-96 { margin-bottom: 96px; }
            }
                        .m-p-t-100 { padding-top: 100px; }
            .m-p-b-100 { padding-bottom: 100px; }
            .m-m-t-100 { margin-top: 100px; }
            .m-m-b-100 { margin-bottom: 100px; }
            @media(min-width:768px) {
                .d-p-t-100 { padding-top: 100px; }
                .d-p-b-100 { padding-bottom: 100px; }
                .d-m-t-100 { margin-top: 100px; }
                .d-m-b-100 { margin-bottom: 100px; }
            }
                        .m-p-t-164 { padding-top: 164px; }
            .m-p-b-164 { padding-bottom: 164px; }
            .m-m-t-164 { margin-top: 164px; }
            .m-m-b-164 { margin-bottom: 164px; }
            @media(min-width:768px) {
                .d-p-t-164 { padding-top: 164px; }
                .d-p-b-164 { padding-bottom: 164px; }
                .d-m-t-164 { margin-top: 164px; }
                .d-m-b-164 { margin-bottom: 164px; }
            }
                        .m-p-t-190 { padding-top: 190px; }
            .m-p-b-190 { padding-bottom: 190px; }
            .m-m-t-190 { margin-top: 190px; }
            .m-m-b-190 { margin-bottom: 190px; }
            @media(min-width:768px) {
                .d-p-t-190 { padding-top: 190px; }
                .d-p-b-190 { padding-bottom: 190px; }
                .d-m-t-190 { margin-top: 190px; }
                .d-m-b-190 { margin-bottom: 190px; }
            }
                        .m-p-t-380 { padding-top: 380px; }
            .m-p-b-380 { padding-bottom: 380px; }
            .m-m-t-380 { margin-top: 380px; }
            .m-m-b-380 { margin-bottom: 380px; }
            @media(min-width:768px) {
                .d-p-t-380 { padding-top: 380px; }
                .d-p-b-380 { padding-bottom: 380px; }
                .d-m-t-380 { margin-top: 380px; }
                .d-m-b-380 { margin-bottom: 380px; }
            }
                            
        
            @font-face {
                font-family: 'Marsden';
                src: url('/assets/fonts/Marsden/Marsden-Regular.woff2') format('woff2'),
                    url('/assets/fonts/Marsden/Marsden-Regular.woff') format('woff');
                font-weight: 400;
            }

            @font-face {
                font-family: 'Marsden';
                src: url('/assets/fonts/Marsden/Marsden-Medium.woff2') format('woff2'),
                    url('/assets/fonts/Marsden/Marsden-Medium.woff') format('woff');
                font-weight: 500;
            }

            @font-face {
                font-family: 'Marsden';
                src: url('/assets/fonts/Marsden/Marsden-Bold.woff2') format('woff2'),
                    url('/assets/fonts/Marsden/Marsden-Bold.woff') format('woff');
                font-weight: 700;
            }

            @font-face {
                font-family: 'Marsden';
                src: url('/assets/fonts/Marsden/Marsden-Heavy.woff2') format('woff2'),
                    url('/assets/fonts/Marsden/Marsden-Heavy.woff') format('woff');
                font-weight: 800;
                font-display: block;
            }

            @font-face {
                font-family: 'Marsden';
                src: url('/assets/fonts/Marsden/Marsden-SuperBlack.woff2') format('woff2'),
                    url('/assets/fonts/Marsden/Marsden-SuperBlack.woff') format('woff');
                font-weight: 900;
            }
                #top .fs-22-32,
        .fs-22-32 {
            font-size: 22px; line-height:32px;        }
        #top .fs-28-38,
        .fs-28-38 {
            font-size: 28px; line-height:38px;        }
        #top .fs-18-32,
        .fs-18-32 {
            font-size: 18px; line-height:32px;        }
        @media(max-width:767px) {
            #top .fs-m-22-32 {
                font-size: 22px; line-height:32px;            }
            #top .fs-m-28-38 {
                font-size: 28px; line-height:38px;            }
            #top .fs-m-18-25 {
                font-size: 18px; line-height:25px;            }
        }
        
        
        