:root {
--up-navy: #1a3355;
--up-orange: #eb693f;
--up-pink: #fe86ae;
--up-green-dark: #385846;
--up-green: #6aa94f;
--up-charcoal: var(--up-ink);
--up-yellow: #fbdf4c;
--up-page-bg: #f5f3f0;
--up-gray-light: #ececec; 
--up-white: #ffffff;
--up-cream: #eeeae3;
--up-red: #fe2b41;
--up-green-bright: #23bb79;
--up-ink: #292829;
--up-ink-muted: #464646;
--up-gutter: clamp(16px, 1.565vw, 22.5px);
--up-card-row-gap: clamp(40px, 4.883vw, 70.3px);
--content-max: 1600px;
--space-2xs: 8px;
--space-xs:  12px;
--space-sm:  16px;
--space-md:  24px;
--space-lg:  40px;
--space-xl:  60px;
--space-2xl: 80px;
--space-top-gap: clamp(24px, 2.083vw, 34px);  
--space-header-pad: clamp(20px, 1.9vw, 30px); 
--section-gap: var(--space-xl);
--tag-work: var(--up-pink);
--tag-thoughts: var(--up-orange);
--tag-culture: var(--up-green-bright);
--svc-brand: #0076bb;
--svc-creative: #b556a1;
--svc-media: #b25f40;
--tag-everything: var(--up-charcoal);
--fs-display: clamp(36px, 4.549vw, 66px);   
--fs-1:       clamp(32px, 3.611vw, 52px);   
--fs-2:       clamp(28px, 3.316vw, 48px);   
--fs-3:       clamp(20px, 2.049vw, 30px);   
--fs-4:       clamp(18px, 1.675vw, 24px);   
--fs-lead:    clamp(16px, 1.389vw, 20px);   
--fs-body:    clamp(16px, 1.276vw, 18.4px); 
--fs-sm:      clamp(13px, 1.042vw, 15px);   
--fs-xs:      clamp(13px, 0.998vw, 14.4px); 
--track-body: 0.0224em;
--fs-2xs:     clamp(10px, 0.729vw, 11px);   
--font-display: 'Boxed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
--font-title: 'Red Hat Display', 'Red Hat Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;
--font-label: 'Red Hat Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;
--font-body: 'Boxed', 'Red Hat Text', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
@font-face {
font-family: 'Boxed';
src: url('fonts/Boxed-Regular-webfont.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Boxed';
src: url('fonts/Boxed-RegularItalic-webfont.woff2') format('woff2');
font-weight: 400;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Boxed';
src: url('fonts/Boxed-Bold-webfont.woff2') format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Red Hat Text';
src: url('fonts/redhattext-variable.woff2') format('woff2-variations'),
url('fonts/redhattext-variable.woff2') format('woff2');
font-weight: 300 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Red Hat Text';
src: url('fonts/redhattext-italic-variable.woff2') format('woff2-variations'),
url('fonts/redhattext-italic-variable.woff2') format('woff2');
font-weight: 300 700;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Red Hat Display';
src: url('fonts/redhatdisplay-variable.woff2') format('woff2-variations'),
url('fonts/redhatdisplay-variable.woff2') format('woff2');
font-weight: 300 900;
font-style: normal;
font-display: swap;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: var(--font-body);
color: var(--up-ink);
background: var(--up-page-bg); 
line-height: 1.5;
}
h1, h2, h3, .up-hero h1 {
font-family: var(--font-display);
font-weight: 700;
letter-spacing: normal;
}
p, li, dd, blockquote, figcaption, address, td {
letter-spacing: var(--track-body);
}
.up-card-title, .up-card-graphic-title {
font-family: var(--font-body);
font-weight: 400; 
}
a { color: inherit; text-decoration: none; }
:where(.up-page-content, .up-single-content, .up-legal-body, .up-about-manifesto-inner, .up-hero-intro, .up-phero-intro, .up-prefooter-copy)
:where(p, li, dd, td, blockquote, figcaption) a {
text-decoration: underline;
text-underline-offset: 0.15em;
}
img { max-width: 100%; display: block; }
.up-container {
max-width: var(--content-max);
margin: 0 auto;
padding: 0 var(--up-gutter);
}
.up-container:has(#up-home-grid),
.up-cs-archive > .up-container {
max-width: none; 
padding: 0 var(--up-gutter);
}
.up-hero-row {
display: grid;
grid-template-columns: 266fr 834fr;
gap: clamp(16px, 1.475vw, 24px); 
padding: var(--space-top-gap) var(--up-gutter) var(--space-lg); 
align-items: stretch;
}
@media (max-width: 800px) {
.up-hero-row { grid-template-columns: 1fr; }
}
.up-hero-row { overflow-x: clip; }
.up-hero-left {
display: flex;
flex-direction: column;
justify-content: space-between; 
gap: clamp(18px, 4.9vw, 80px);
}
.up-hero-right {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.up-home-wedge {
margin-bottom: calc(var(--space-md) + var(--composed-pink-below, 0%));
}
.up-home-wedge--layered {
margin-bottom: clamp(16px, 2.08vw, 30px); 
}
.up-home-wordmark {
position: absolute;
left: 11.5%;
top: 20.8%;
width: 81.4%;
height: auto;
max-width: none;
z-index: 3;
pointer-events: none;
}
.up-hero-intro {
font-size: var(--fs-xs); 
background: var(--intro-bg, var(--up-charcoal)); 
color: var(--up-white);
padding: var(--space-md);
}
.up-hero-intro,
.up-hero-intro p {
color: var(--up-white) !important; 
font-family: var(--font-body) !important; 
}
.up-hero-intro-h1 {
font-family: var(--font-display);
font-weight: 700;
font-size: var(--fs-4);
line-height: 1.1;
margin: 0 0 var(--space-xs);
color: var(--up-white);
}
.up-hero-intro p { margin: 0 0 14px; }
.up-hero-intro p:last-child { margin-bottom: 0; }
.up-hero-video {
width: 100%;
aspect-ratio: 16 / 9;
background: var(--up-gray-light);
position: relative;
overflow: hidden;
}
.up-videobox {
position: relative;
}
.up-video-expand,
.up-video-mute,
.up-video-play {
position: absolute;
right: clamp(10px, 1.09vw, 16px);  
bottom: clamp(8px, 0.95vw, 14px);
z-index: 2; 
display: grid;
place-items: center;
width: clamp(44px, 4.75vw, 68px);  
height: clamp(44px, 4.75vw, 68px);
padding: 0;
border: 0;
background: none;
color: var(--up-page-bg); 
cursor: pointer;
}
.up-video-expand[hidden],
.up-video-mute[hidden],
.up-video-play[hidden] { display: none; }
.up-video-expand svg,
.up-video-mute svg,
.up-video-play svg {
width: 100%;
height: 100%;
filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.6));
}
.up-video-expand:hover,
.up-video-mute:hover,
.up-video-play:hover { opacity: 0.75; }
.up-footer-contact-link {
color: inherit;
text-decoration: none;
}
.up-footer-contact-link:hover { text-decoration: underline; }
.up-footer-contact-link:focus-visible {
outline: 3px solid var(--up-ink);
outline-offset: 2px;
}
.up-video-expand:focus-visible,
.up-video-mute:focus-visible,
.up-video-play:focus-visible {
outline: 3px solid var(--up-page-bg);
outline-offset: 2px;
}
.up-video-mute {
right: calc(clamp(10px, 1.09vw, 16px) + clamp(44px, 4.75vw, 68px) + clamp(6px, 0.7vw, 10px));
bottom: clamp(8px, 0.95vw, 14px);
}
.up-video-mute [data-mute-on],
.up-video-mute [data-mute-off] { display: none; }
.up-video-mute.is-muted [data-mute-off] { display: block; }
.up-video-mute:not(.is-muted) [data-mute-on] { display: block; }
.up-videobox.is-theatre .up-video-mute {
right: calc(24px + clamp(44px, 4.75vw, 68px) + 10px);
bottom: 24px;
}
.up-video-play {
right: calc(clamp(10px, 1.09vw, 16px) + clamp(44px, 4.75vw, 68px) + clamp(6px, 0.7vw, 10px));
bottom: clamp(8px, 0.95vw, 14px);
}
.up-card-videobox .up-video-play {
right: calc(4.7% + clamp(44px, 4.75vw, 68px) + clamp(6px, 0.7vw, 10px));
bottom: 5.1%;
}
.up-videobox.is-theatre .up-video-play {
right: calc(24px + clamp(44px, 4.75vw, 68px) + 10px);
bottom: 24px;
}
.up-video-play [data-play-pause],
.up-video-play [data-play-play] { display: none; }
.up-video-play.is-paused [data-play-play] { display: block; }
.up-video-play:not(.is-paused) [data-play-pause] { display: block; }
.up-videobox:fullscreen {
aspect-ratio: auto;
width: 100vw;
height: 100vh;
background: #000;
display: grid;
place-items: center;
}
.up-videobox:fullscreen iframe,
.up-videobox:fullscreen video {
width: 100vw;
height: 56.25vw;      
max-height: 100vh;
max-width: 177.78vh;  
}
.up-videobox.is-theatre {
position: fixed;
inset: 0;
z-index: 9999;
width: 100vw;
height: 100vh;
aspect-ratio: auto;
background: #000;
display: grid;
place-items: center;
margin-left: 0;
max-width: none;
transform: none;
}
.up-videobox.is-theatre {
--up-th-ar: 1.7778;   
--up-th-inv: 0.5625;  
}
.up-videobox.up-videobox.is-theatre.is-theatre iframe,
.up-videobox.up-videobox.is-theatre.is-theatre video {
width: min(100vw, calc(100vh * var(--up-th-ar)));
height: min(100vh, calc(100vw * var(--up-th-inv)));
max-width: none;
max-height: none;
}
@supports (height: 100dvh) {
.up-videobox.up-videobox.is-theatre.is-theatre iframe,
.up-videobox.up-videobox.is-theatre.is-theatre video {
width: min(100vw, calc(100dvh * var(--up-th-ar)));
height: min(100dvh, calc(100vw * var(--up-th-inv)));
}
}
@media (max-width: 800px) {
.up-hero-video[data-has-mobile="true"].is-theatre {
--up-th-ar: 0.5625;
--up-th-inv: 1.7778;
}
}
html.up-theatre-open,
html.up-theatre-open body {
overflow: hidden;
}
.up-videobox:fullscreen .up-video-expand,
.up-videobox.is-theatre .up-video-expand {
right: 24px;
bottom: 24px;
}
.up-videobox.is-theatre .wp-block-embed__wrapper {
position: static;
padding: 0;
}
.up-videobox.is-theatre .wp-block-embed__wrapper::before {
display: none;
}
.up-videobox.is-theatre .wp-block-embed,
.up-videobox.is-theatre figure {
width: auto;
max-width: none;
margin: 0;
transform: none;
}
.up-videobox.is-theatre iframe,
.up-videobox.is-theatre video {
position: static;
}
@media (max-width: 800px) {
.up-hero-video[data-has-mobile="true"] {
aspect-ratio: var(--up-hero-mobile-ratio, 9 / 16);
}
}
.up-hero-video [data-hero-video-slot] {
position: absolute;
inset: 0;
}
.up-hero-video iframe,
.up-hero-video video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: 0;
display: block;
}
.up-hero-video-placeholder {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 20px;
color: #777;
font-size: 14px;
aspect-ratio: 16 / 9;
width: 100%;
min-height: 0;
}
.up-services-strip {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
border-bottom: 2px solid var(--up-charcoal);
padding-bottom: 20px;
margin-top: var(--space-2xs);
}
@media (max-width: 600px) {
.up-services-strip { grid-template-columns: 1fr; }
}
.up-services-col {
padding: 4px 0;
transition: opacity 0.15s ease;
}
.up-services-col:hover { opacity: 0.7; }
.up-services-col h2, 
.up-services-col h3 {
font-family: var(--font-body);
font-weight: 400; 
font-size: var(--fs-1); 
margin: 0 0 10px;
}
.up-services-col ul {
margin: 0;
padding-left: 0;
list-style: none;
font-size: var(--fs-body); 
color: var(--up-ink);
}
.up-services-col li {
padding-left: 1.1em;
text-indent: -1.1em;
}
.up-services-col li::before {
content: "+ ";
}
.up-header {
position: sticky;
top: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--space-header-pad) var(--up-gutter);
background: var(--up-page-bg);
border-bottom: 2px solid var(--up-charcoal);
}
.up-header-left {
font-family: var(--font-label); 
font-size: var(--fs-sm); 
font-weight: 600;  
letter-spacing: 0.08em;
text-transform: uppercase;
flex: 1;
}
.up-header-logo {
flex: 0 0 auto;
}
.up-header-logo img {
height: 40px;
width: auto;
display: block;
}
.up-header-logo-fallback {
font-family: var(--font-display);
font-weight: 700;
font-size: 18px;
}
.up-header-right {
flex: 1;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 20px;
}
.up-header-contact-btn {
position: relative;
font-family: var(--font-label); 
font-size: var(--fs-sm); 
border: 0.25em solid var(--up-charcoal); 
border-radius: 0; 
padding: 0 0.34em; 
line-height: 1.33; 
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.up-header-contact-btn:hover,
.up-header-contact-btn:focus-visible {
background: var(--up-ink);
border-color: var(--up-ink);
color: var(--up-white);
}
.up-header-contact-btn::after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
height: 44px;
}
@media (max-width: 600px) {
.up-header-contact-btn { display: none; }
}
.up-hamburger-toggle {
background: none;
border: none;
cursor: pointer;
display: flex;
flex-direction: column;
justify-content: center;
gap: 0.54em; 
padding: 0;
font-size: var(--fs-sm); 
min-height: 44px; 
}
.up-hamburger-toggle span {
display: block;
width: 4em; 
height: 0.25em; 
background: var(--up-charcoal);
}
.up-hamburger-menu {
display: none;
position: absolute;
top: 100%;
right: var(--up-gutter);
background: var(--up-white);
border: 2px solid var(--up-charcoal);
padding: 20px 28px;
z-index: 50;
min-width: 200px;
}
.up-hamburger-menu.is-open { display: block; }
.up-hamburger-menu ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 14px;
}
.up-hamburger-menu a {
font-family: var(--font-label); 
font-weight: 700;
text-transform: uppercase;
font-size: var(--fs-body); 
letter-spacing: 0.04em;
transition: color 0.15s ease;
}
.up-hamburger-menu li.nav-work a:hover { color: var(--tag-work); }
.up-hamburger-menu li.nav-thoughts a:hover { color: var(--tag-thoughts); }
.up-hamburger-menu li.nav-culture a:hover { color: var(--tag-culture); }
.up-hamburger-menu li.nav-brand a:hover { color: var(--svc-brand); }
.up-hamburger-menu li.nav-creative a:hover { color: var(--svc-creative); }
.up-hamburger-menu li.nav-media a:hover { color: var(--svc-media); }
.up-btnrow {
display: flex;
width: 100%;
gap: clamp(12px, 1.6vw, 23px); 
}
.up-btnrow > a,
.up-btnrow > button {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
min-height: clamp(26px, 2.02vw, 29px); 
padding: 0 var(--space-xs);
font-family: var(--font-label); 
font-weight: 600;               
font-size: var(--fs-sm);        
letter-spacing: 0.087em;        
text-transform: uppercase;
border: 2px solid var(--up-charcoal); 
cursor: pointer;
transition: filter 0.15s ease;
}
.up-btnrow > a:hover,
.up-btnrow > button:hover {
filter: brightness(1.25); 
}
@media (max-width: 600px) {
.up-btnrow {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
}
.up-btnrow > .active,
.up-btnrow > [aria-pressed="true"] {
outline: 2px solid var(--up-navy);
outline-offset: -4px;
}
.up-btnrow > a:focus-visible,
.up-btnrow > button:focus-visible {
outline: 3px solid var(--up-navy);
outline-offset: 2px;
}
.up-filter-tabs .tab-everything { background: var(--tag-everything); color: var(--up-white); }
.up-filter-tabs .tab-work       { background: var(--tag-work);       color: var(--up-ink); }
.up-filter-tabs .tab-thoughts   { background: var(--tag-thoughts);   color: var(--up-ink); }
.up-filter-tabs .tab-culture    { background: var(--tag-culture);    color: var(--up-ink); }
.up-filter-tabs > button:hover,
.up-filter-tabs > button:focus-visible {
background: var(--up-ink);
color: var(--up-white);
filter: none;
}
.up-filter-tabs > .active,
.up-filter-tabs > [aria-pressed="true"] {
background: var(--up-ink);
color: var(--up-white);
}
.up-filter-tabs:has(> .active:not(.tab-everything)) > .tab-everything,
.up-filter-tabs:has(> [aria-pressed="true"]:not(.tab-everything)) > .tab-everything {
background: var(--svc-creative);
color: var(--up-white);
}
.up-filter-tabs {
margin: 0 0 32px;
}
.up-card-grid,
.up-grid-more {
--gap-before-band: clamp(48px, 5.94vw, 85.5px);
}
.up-card-grid {
display: grid;
grid-template-columns: repeat(8, 1fr);
column-gap: var(--up-gutter);
row-gap: var(--up-card-row-gap);
padding-bottom: var(--gap-before-band);
grid-auto-flow: row dense;
}
body.home .up-card-grid,
body.home .up-grid-more {
--gap-before-band: clamp(32px, 3.57vw, 51.4px);
}
body.tax-content_type .up-card-grid,
.up-card-grid.is-filtered {
grid-auto-flow: dense;
}
@media (max-width: 900px) {
.up-card-grid { grid-template-columns: repeat(2, 1fr); }
.up-card { grid-column: span 1 !important; }
}
@media (max-width: 600px) {
.up-card-grid { grid-template-columns: 1fr; }
.up-card { grid-column: span 1 !important; }
.up-hero h1 { font-size: 32px; }
}
@media (max-width: 600px) and (min-width: 360px) {
body.home .up-card-grid,
body.tax-content_type .up-card-grid { grid-template-columns: repeat(2, 1fr); }
body.home .up-card-excerpt,
body.tax-content_type .up-card-excerpt { display: none; }
body.home .up-card-tags .pill-practice,
body.tax-content_type .up-card-tags .pill-practice { display: none; }
body.home .up-card-title,
body.tax-content_type .up-card-title { margin-bottom: 10px; }
body.home .up-card-body,
body.tax-content_type .up-card-body { padding-bottom: 12px; }
}
.up-card {
border-bottom: clamp(2px, 0.26vw, 4px) solid var(--up-charcoal);
overflow: hidden;
display: flex;
flex-direction: column;
background: var(--up-page-bg); 
transition: transform 0.15s ease;
}
.up-card:hover { transform: translateY(-3px); }
.up-card-videobox {
position: absolute;
top: 0;
left: 0;
right: 0;
aspect-ratio: 16 / 9;   
pointer-events: none;
}
.up-card-videobox > * { pointer-events: auto; }
.up-card-image--video { cursor: default; }
.up-card-videobox .up-video-expand {
right: 4.7%;
bottom: 5.1%;
}
.up-card-videobox .up-video-mute {
right: calc(4.7% + clamp(44px, 4.75vw, 68px) + clamp(6px, 0.7vw, 10px));
bottom: 5.1%;
}
.up-video-play {
opacity: 0;
transition: opacity 0.15s ease-in-out;
}
.up-videobox:hover .up-video-play,
.up-videobox:focus-within .up-video-play,
.up-video-play[aria-pressed="true"] {
opacity: 1;
}
@media (hover: none) {
.up-hero-video .up-video-play {
opacity: 1;
transition: none;
}
}
.up-videobox .up-video-play:hover { opacity: 0.75; }
@media (prefers-reduced-motion: reduce) {
.up-video-play { transition: none; }
}
.up-videobox:has(iframe:not([src*="controls=0"]), video[controls]) .up-video-expand {
top: clamp(8px, 0.95vw, 14px);
bottom: auto;
}
.up-card-videobox:has(iframe:not([src*="controls=0"]), video[controls]) .up-video-expand {
top: 5.1%;
bottom: auto;
}
.up-videobox.is-theatre:has(iframe:not([src*="controls=0"]), video[controls]) .up-video-expand,
.up-videobox:fullscreen:has(iframe:not([src*="controls=0"]), video[controls]) .up-video-expand {
top: 24px;
bottom: auto;
}
.up-card-videobox.is-loaded {
background: #000;
}
.up-card-videobox {
overflow: hidden;
}
.up-card-videobox.is-loaded > [data-up-video-injected] {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
padding: 0 !important;
}
.up-card-videobox.is-loaded iframe,
.up-card-videobox.is-loaded video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: 0;
}
.up-card { position: relative; }
.up-card:has(.up-videobox.is-theatre) {
transform: none;
overflow: visible;
}
.up-card .up-card-image {
aspect-ratio: 264.452 / 213.12;
overflow: hidden;
background: var(--up-page-bg);
}
.up-card .up-card-image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.up-card--double .up-card-image { aspect-ratio: 16 / 9; } 
.up-card-image-placeholder {
width: 100%;
height: 100%;
background: repeating-linear-gradient(45deg, var(--up-gray-light), var(--up-gray-light) 10px, #fff 10px, #fff 20px);
}
.up-card-body { padding: 24px 0; }   
.up-card-title {
font-size: var(--fs-3); 
margin: 0 0 28px;       
line-height: 1.1;
}
.up-card-excerpt {
font-size: var(--fs-body); 
font-family: var(--font-body);
color: var(--up-ink);
margin: 0 0 var(--space-sm); 
}
.up-card--graphic .up-card-graphic-bg {
aspect-ratio: 264.452 / 213.12; 
display: flex;
align-items: flex-end;
padding: 20px;
}
.up-card--double.up-card--graphic .up-card-graphic-bg { aspect-ratio: 16 / 9; }
.up-card-graphic-title {
font-size: var(--fs-3); 
color: var(--up-white);
text-shadow: 0 1px 3px rgba(0,0,0,0.3);
max-width: 70%;
}
.up-card--poster { border-bottom: none; overflow: visible; }
.up-card-poster {
position: relative;
aspect-ratio: 548.5 / 426.5;
display: flow-root;
color: var(--up-ink);
}
.up-card-poster-field {
position: absolute;
inset: 0;
background: var(--poster-ground, var(--up-yellow));
clip-path: polygon(0 51%, 100% 0.5%, 100% 100%, 0 100%);
z-index: 0;
}
.up-card-poster-art {
position: absolute;
left: var(--p-art-l);
top: var(--p-art-t);
width: var(--p-art-w);
height: auto;
max-width: none;
z-index: 1;
pointer-events: none;
}
.up-card-poster-headline {
position: absolute;
left: var(--p-head-l);
top: var(--p-head-t);
z-index: 2;
margin: 0;
font-family: var(--font-display);
font-weight: 700;
font-size: clamp(18px, 1.675vw, 24px);      
line-height: 0.93;                           
letter-spacing: normal;
color: var(--up-white);
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}
.up-card-poster-note {
position: absolute;
left: var(--p-note-l);
top: var(--p-note-t);
z-index: 2;
margin: 0;
font-family: var(--font-display);
font-weight: 700;
font-size: clamp(13px, 1.04vw, 15px);       
line-height: 1;
letter-spacing: normal;
color: #666;
}
.up-card-poster-box {
position: relative;
z-index: 2;
margin: calc(var(--p-box-t) * 426.5 / 548.5) 0 calc(8% * 426.5 / 548.5) var(--p-box-l);
width: var(--p-box-w);
box-sizing: border-box;
border: clamp(2px, 0.26vw, 4px) solid var(--up-ink);  
padding: var(--p-pad-t) var(--p-pad-r) var(--p-pad-b) var(--p-pad-l);
}
.up-card-poster-box p {
margin: 0;
font-size: var(--fs-body);                  
line-height: 1.5;                           
}
@media (max-width: 600px) {
.up-card-poster-headline { font-size: 15px; }
.up-card-poster-box {
margin-top: calc(var(--p-box-t) * 426.5 / 548.5 + 7%);
margin-left: 8%;
width: 84%;
padding: 5% 6%;
}
.up-card-poster-box p { font-size: var(--fs-xs); }
}
.up-card--image-only {
border-bottom: none; 
}
.up-card-image-full img {
width: 100%;
height: auto;
display: block;
}
.up-card-image-full .up-card-image-placeholder {
aspect-ratio: 264.452 / 213.12; 
height: auto;
}
.up-card-tags {
display: flex;
align-items: center; 
flex-wrap: nowrap;
overflow-x: auto;
gap: clamp(6px, 0.75vw, 11px); 
font-family: var(--font-label); 
font-size: var(--fs-2xs);       
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.075em; 
padding: 0 0 clamp(5px, 0.62vw, 9px);
margin-block-start: auto;
}
.up-card-tags a {
border-block-start: 9px solid transparent;
border-block-end: 0;
margin-block-start: -9px;
background-clip: padding-box;
display: inline-flex;
align-items: center;
min-width: clamp(64px, 5.74vw, 83px);
min-height: clamp(14px, 1.15vw, 17px);
padding: 0 clamp(5px, 0.48vw, 7px);
justify-content: center;
color: var(--up-cream);
white-space: nowrap;
}
.up-card-tags .pill-work { background-color: var(--tag-work); }
.up-card-tags .pill-thoughts { background-color: var(--tag-thoughts); }
.up-card-tags .pill-culture { background-color: var(--tag-culture); }
.up-card-tags a.pill-work:hover,
.up-card-tags a.pill-work:focus-visible,
.up-card-tags a.pill-thoughts:hover,
.up-card-tags a.pill-thoughts:focus-visible,
.up-card-tags a.pill-culture:hover,
.up-card-tags a.pill-culture:focus-visible {
background-color: var(--up-ink);
color: var(--up-white);
}
.up-card-tags .pill-practice {
background: none;
border: none;
color: var(--up-charcoal);
padding: 0;
white-space: nowrap;
}
.up-card-tags .pill-practice a {
color: var(--up-charcoal);
padding: 0;
min-width: 0;
min-height: 0;
}
.up-card-tags .pill-practice .pill-divider {
opacity: 0.5;
padding: 0 2px;
}
.up-full-banner {
width: 100%;
line-height: 0; 
}
.up-full-banner-img {
width: 100%;
height: auto;
display: block;
}
.up-full-banner-placeholder {
padding: var(--space-xl) var(--up-gutter);
text-align: center;
background: var(--up-cream);
color: var(--up-charcoal);
}
.up-marquee {
position: relative;
width: 100%;
--marquee-duration: 45s;
}
.up-marquee-viewport {
overflow: hidden;
}
.up-marquee-track {
display: flex;
align-items: center;
width: max-content;
margin: 0;
padding: 0;
list-style: none;
animation: up-marquee-scroll var(--marquee-duration) linear infinite;
}
@keyframes up-marquee-scroll {
from { transform: translateX(0); }
to   { transform: translateX(-50%); }
}
.up-marquee-item {
flex: 0 0 auto;
}
.up-marquee:hover:not(:has(.up-marquee-toggle:hover)) .up-marquee-track,
.up-marquee:focus-within:not(:has(.up-marquee-check:focus)) .up-marquee-track,
.up-marquee-check:checked ~ .up-marquee-viewport .up-marquee-track {
animation-play-state: paused;
}
.up-marquee-check {
position: absolute;
width: 1px;
height: 1px;
margin: 0;
padding: 0;
border: 0;
clip: rect(0 0 0 0);
clip-path: inset(50%);
overflow: hidden;
white-space: nowrap;
}
.up-marquee-toggle {
position: absolute;
right: 0;
bottom: 0;
z-index: 2;
display: grid;
place-items: center;
width: 44px;
height: 44px;
cursor: pointer;
color: var(--marquee-control-ink, var(--up-white));
background: var(--marquee-control-bg, var(--up-ink));
}
.up-marquee-toggle > * {
grid-area: 1 / 1;
}
.up-marquee-toggle {
opacity: 0;
transition: opacity 0.15s ease-in-out;
}
.up-marquee:hover .up-marquee-toggle,
.up-marquee:focus-within .up-marquee-toggle,
.up-marquee-check:checked ~ .up-marquee-toggle {
opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
.up-marquee-toggle { transition: none; }
}
.up-marquee-toggle:hover {
opacity: 0.8;
}
.up-marquee-check:focus-visible ~ .up-marquee-toggle {
outline: 3px solid var(--marquee-control-ink, var(--up-white));
outline-offset: -3px;
}
.up-marquee-icon {
flex: 0 0 auto;
}
.up-marquee-word {
position: absolute;
width: 1px;
height: 1px;
clip: rect(0 0 0 0);
clip-path: inset(50%);
overflow: hidden;
white-space: nowrap;
}
.up-marquee-icon--play,
.up-marquee-word--play { display: none; }
.up-marquee-check:checked ~ .up-marquee-toggle .up-marquee-icon--pause,
.up-marquee-check:checked ~ .up-marquee-toggle .up-marquee-word--pause { display: none; }
.up-marquee-check:checked ~ .up-marquee-toggle .up-marquee-icon--play { display: block; }
.up-marquee-check:checked ~ .up-marquee-toggle .up-marquee-word--play { display: block; }
@media (prefers-reduced-motion: reduce) {
.up-marquee-track { animation: none; }
.up-marquee-toggle { display: none; }
.up-marquee-viewport { overflow-x: auto; }
}
.up-marquee--logos {
background: var(--up-charcoal);
--marquee-control-ink: var(--up-charcoal);
--marquee-control-bg: var(--up-white);
}
.up-marquee--logos .up-marquee-track {
min-height: clamp(128px, 13.36vw, 192px);
}
.up-marquee--logos .up-marquee-item {
display: grid;
place-items: center;
width: clamp(150px, 15.43vw, 222px);
}
.up-marquee--logos .up-marquee-img {
width: auto;
height: auto;
max-height: clamp(44px, 5.4vw, 78px);
max-width: 95%;
filter: brightness(0) invert(1); 
opacity: 0.85;
}
.up-marquee--ticker {
background: var(--up-orange);
color: var(--up-ink);
--marquee-control-ink: var(--up-orange);
--marquee-control-bg: var(--up-ink);
}
.up-marquee--ticker .up-marquee-track {
min-height: clamp(40px, 3.76vw, 54px);
}
.up-prefooter {
position: relative;
overflow: hidden;
background: var(--up-green-dark);
color: var(--up-white);
padding: var(--space-xl) var(--up-gutter);
}
.up-prefooter-columns {
display: grid;
grid-template-columns: 1fr 1.3fr;
gap: var(--space-lg);
align-items: center;
max-width: 1200px;
margin: 0 auto;
}
@media (max-width: 800px) {
.up-prefooter-columns { grid-template-columns: 1fr; }
}
.up-prefooter-title {
font-family: var(--font-title); 
font-weight: 900;
font-size: var(--fs-2); 
line-height: 1.05;
margin: 0 0 14px;
}
.up-prefooter-copy {
font-size: var(--fs-body); 
color: #e4e4e4;
max-width: 380px;
}
.up-prefooter-copy p { margin: 0 0 8px; }
.up-prefooter-form-placeholder {
border: 2px dashed rgba(255,255,255,0.5);
padding: 30px 20px;
font-size: 13px;
text-align: center;
}
.up-prefooter-form { width: 100%; }
.up-prefooter-form .hs-form-frame {
display: block;
width: 100%;
min-height: 150px;
}
.up-prefooter-form iframe {
display: block;
width: 100%;
height: 100%;
min-height: 150px;
margin: 0;
border: 0;
vertical-align: top;
}
[data-hsfc-id="Renderer"] .hsfc-Step__Banner:empty {
display: none !important;height:0px !important;
}
.hsfc-Step__Banner {
height: 0 !important;
display: none !important;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Step__Content {
padding: 0;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-FieldLabel {
font-family: var(--font-label);
font-size: var(--fs-sm);
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 6px;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextInput,
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextareaInput {
font-family: var(--font-body);
font-size: var(--fs-body);
color: var(--up-ink);
background: var(--up-page-bg);
border: 2px solid var(--up-ink);
border-radius: 0;
min-height: clamp(38px, 3.02vw, 44px);
padding: 0 12px;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextareaInput {
min-height: calc(5 * 1.5em + 20px);
padding: 10px 12px;
line-height: 1.5;
resize: vertical;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextInput:focus-visible,
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextareaInput:focus-visible {
outline: 3px solid var(--up-page-bg);
outline-offset: 2px;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button {
position: relative;
font-family: var(--font-label);
font-size: var(--fs-sm);
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
line-height: 1.33;
color: var(--up-page-bg);
background: var(--up-ink);
border: 0.25em solid var(--up-ink);
border-radius: 0;
min-height: 0;
padding: 0 0.34em;
cursor: pointer;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button::after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
height: 44px;
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button:hover {
background: var(--up-page-bg);
color: var(--up-ink);
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button:focus-visible {
outline: 3px solid var(--up-page-bg);
outline-offset: 2px;
}
.up-prefooter [data-hsfc-id="Renderer"] .hsfc-FieldLabel,
.up-prefooter [data-hsfc-id="Renderer"] .hsfc-NavigationRow__Alerts {
color: #e4e4e4;
}
.up-prefooter [data-hsfc-id="Renderer"] .hsfc-FieldLabel__RequiredIndicator {
color: #e4e4e4;
}
.up-footer {
background: var(--up-page-bg);
color: var(--up-charcoal);
}
.up-footer-columns {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
align-items: center;
gap: 30px;
padding: var(--space-xl) var(--up-gutter) var(--space-lg);
max-width: 1200px;
margin: 0 auto;
}
@media (max-width: 700px) {
.up-footer-columns { grid-template-columns: 1fr; text-align: center; }
}
.up-footer-col {
text-align: center;
font-size: var(--fs-body); 
line-height: 1.6;
}
.up-footer-address p,
.up-footer-contact p {
margin: 0;
}
.up-footer-center {
display: flex;
flex-direction: column;
align-items: center;
gap: 18px;
}
.up-footer-logo img {
height: 200px;
width: auto;
}
.up-footer-social {
display: flex;
gap: clamp(10px, 0.99vw, 14px);
}
.up-social-badge {
width: clamp(30px, 2.49vw, 36px);
height: clamp(30px, 2.49vw, 36px);
border-radius: 0;
background: var(--up-charcoal);
color: #e4e4e4; 
display: flex;
align-items: center;
justify-content: center;
transition: background 0.15s ease;
}
.up-social-badge svg {
width: 62%;
height: 62%;
}
.up-social-badge:hover { background: var(--up-navy); }
.up-footer-bottom {
border-top: 1px solid #bbb;
padding: var(--space-sm) var(--up-gutter);
font-size: var(--fs-sm); 
color: #666;
text-align: center;
}
.up-single {
font-size: var(--fs-body);
max-width: calc(62ch + var(--up-gutter) * 2); 
margin: 0 auto;
padding: var(--space-xl) var(--up-gutter);
}
.up-page {
max-width: 760px;
margin: 0 auto;
padding: var(--space-xl) var(--up-gutter);
}
.up-single-featured-image img {
width: 100%;
height: auto;
max-width: 1920px;
margin: 0 auto;
display: block;
}
body.single .up-single-featured-image img {
height: clamp(220px, 34vw, 460px);
object-fit: cover;
}
.up-single-content {
line-height: 1.6;
}
.up-single-content .wp-block-image,
.up-page-content .wp-block-image {
width: min(1200px, calc(100vw - (var(--up-gutter) * 2))) !important;
max-width: none !important;
margin: 0 0 1.5em 50% !important;
transform: translateX(-50%) !important;
float: none !important;
display: block !important;
}
.up-single-content .wp-block-image figure,
.up-page-content .wp-block-image figure {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
transform: none !important;
float: none !important;
display: block !important;
}
.up-single-content .wp-block-image img,
.up-page-content .wp-block-image img {
width: auto !important;
max-width: 100% !important;
height: auto !important;
margin: 0 auto !important;
float: none !important;
transform: none !important;
display: block !important;
}
.up-single-content img:not(.hs-form-html *),
.up-page-content img:not(.hs-form-html *) {
width: auto !important;
max-width: min(1200px, calc(100vw - (var(--up-gutter) * 2))) !important;
height: auto !important;
display: block !important;
margin: 0 0 1.5em 50% !important;
transform: translateX(-50%) !important;
float: none !important;
}
.up-single-content .wp-block-columns .wp-block-image,
.up-single-content .wp-block-columns .wp-block-image figure,
.up-single-content .wp-block-columns img:not(.hs-form-html *),
.up-page-content .wp-block-columns .wp-block-image,
.up-page-content .wp-block-columns .wp-block-image figure,
.up-page-content .wp-block-columns img:not(.hs-form-html *) {
width: auto !important;
max-width: 100% !important;
margin: 0 0 1em !important;
float: none !important;
transform: none !important;
display: block !important;
}
body.single-post .up-single-content .wp-block-image,
body.single-post .up-single-content .wp-block-image figure {
width: 100% !important;
max-width: 100% !important;
margin: 0 0 1.5em !important;
transform: none !important;
}
body.single-post .up-single-content .wp-block-image img,
body.single-post .up-single-content img:not(.hs-form-html *) {
width: auto !important;
max-width: 100% !important;
max-height: 75vh !important;
margin: 0 auto 1.5em !important;
transform: none !important;
}
body.single-post .up-single-content .wp-block-columns.up-two-up {
width: 100% !important;
max-width: 100% !important;
margin: 0 0 1.5em !important;
transform: none !important;
display: grid !important;
grid-template-columns: 40% 1fr;
gap: 24px;
align-items: start;
}
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-column {
width: auto !important;
max-width: 100% !important;
margin: 0 !important;
flex-basis: auto !important;
}
body.single-post .up-single-content .wp-block-columns.up-two-up:has(> .wp-block-column:last-child .wp-block-image) {
grid-template-columns: 1fr 40%;
}
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-image,
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-image figure {
width: auto !important;
max-width: 100% !important;
margin: 0 !important;
}
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-image img {
width: 100% !important;
max-width: 100% !important;
max-height: none !important;
margin: 0 !important;
}
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-column:not(:has(.wp-block-image)) {
font-size: 16px;
line-height: 1.55;
}
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-column > *:first-child { margin-top: 0 !important; }
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-column > *:last-child  { margin-bottom: 0 !important; }
@media (max-width: 781px) {
body.single-post .up-single-content .wp-block-columns.up-two-up {
grid-template-columns: 1fr;
gap: 1.25em;
}
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-column:has(.wp-block-image) { order: -1; }
body.single-post .up-single-content .wp-block-columns.up-two-up .wp-block-column:not(:has(.wp-block-image)) {
font-size: inherit;
line-height: inherit;
}
}
body.single-post .up-single-content .wp-block-media-text {
grid-column-gap: 24px !important;
}
body.single-post .up-single-content .wp-block-media-text .wp-block-media-text__content {
padding-left: 0 !important;
padding-right: 0 !important;
}
body.single-post .up-single-content .wp-block-media-text .wp-block-media-text__content > *:first-child { margin-top: 0 !important; }
body.single-post .up-single-content .wp-block-media-text .wp-block-media-text__content > *:last-child  { margin-bottom: 0 !important; }
body.single-post .up-single-content .wp-block-media-text img {
max-height: none !important;
margin: 0 !important;
}
body.single-post .up-single-content .wp-block-image.alignright,
body.single-post .up-single-content .wp-block-image.alignleft,
body.single-post .up-single-content .wp-block-image:has(> figure.alignright),
body.single-post .up-single-content .wp-block-image:has(> figure.alignleft) {
width: 40% !important;
max-width: 40% !important;
transform: none !important;
display: block !important;
}
body.single-post .up-single-content .wp-block-image.alignright,
body.single-post .up-single-content .wp-block-image:has(> figure.alignright) {
float: right !important;
margin: 0.3em 0 1em 24px !important;
}
body.single-post .up-single-content .wp-block-image.alignleft,
body.single-post .up-single-content .wp-block-image:has(> figure.alignleft) {
float: left !important;
margin: 0.3em 24px 1em 0 !important;
}
body.single-post .up-single-content .wp-block-image > figure.alignright,
body.single-post .up-single-content .wp-block-image > figure.alignleft {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
float: none !important;
}
body.single-post .up-single-content .wp-block-image.alignright img,
body.single-post .up-single-content .wp-block-image.alignleft img,
body.single-post .up-single-content .wp-block-image > figure.alignright img,
body.single-post .up-single-content .wp-block-image > figure.alignleft img {
width: 100% !important;
max-width: 100% !important;
max-height: none !important;
margin: 0 !important;
}
body.single-post .up-single-content h2,
body.single-post .up-single-content h3 { clear: both; }
body.single-post .up-single-content .wp-block-gallery {
display: grid !important;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
align-items: start;
margin: 0 0 1.5em !important;
}
body.single-post .up-single-content .wp-block-gallery .wp-block-image,
body.single-post .up-single-content .wp-block-gallery figure {
width: auto !important;
max-width: 100% !important;
margin: 0 !important;
transform: none !important;
flex-basis: auto !important;
}
body.single-post .up-single-content .wp-block-gallery .wp-block-image img,
body.single-post .up-single-content .wp-block-gallery figure img {
width: 100% !important;
height: auto !important;
max-width: 100% !important;
max-height: none !important;
margin: 0 !important;
}
@media (max-width: 781px) {
body.single-post .up-single-content .wp-block-gallery {
grid-template-columns: repeat(2, 1fr);
gap: 8px;
}
}
@media (max-width: 781px) {
body.single-post .up-single-content .wp-block-image.alignright,
body.single-post .up-single-content .wp-block-image.alignleft,
body.single-post .up-single-content .wp-block-image:has(> figure.alignright),
body.single-post .up-single-content .wp-block-image:has(> figure.alignleft) {
float: none !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 0 1.5em !important;
}
}
.up-single-content .wp-block-embed,
.up-page-content .wp-block-embed {
width: 1200px;
max-width: 90vw;
margin-left: 50%;
transform: translateX(-50%);
}
.up-single-content .up-content-video,
.up-page-content .up-content-video {
width: 1200px;
max-width: 90vw;
margin-left: 50%;
transform: translateX(-50%);
}
.up-single-content .up-content-video .wp-block-embed,
.up-page-content .up-content-video .wp-block-embed {
width: auto;
max-width: none;
margin-left: 0;
transform: none;
}
.up-single-content .up-content-video.is-theatre,
.up-page-content .up-content-video.is-theatre {
width: 100vw;
max-width: none;
margin-left: 0;
transform: none;
}
.up-single-content .wp-block-columns .wp-block-embed,
.up-page-content .wp-block-columns .wp-block-embed {
width: 100%;
max-width: 100%;
margin-left: 0;
transform: none;
}
.up-single-content iframe:not(.hs-form-html *),
.up-page-content iframe:not(.hs-form-html *) {
width: 1200px;
max-width: 90vw;
aspect-ratio: 16/9;
height: auto;
display: block;
margin-left: 50%;
transform: translateX(-50%);
}
.up-single-content .up-content-video iframe:not(.hs-form-html *),
.up-page-content .up-content-video iframe:not(.hs-form-html *) {
aspect-ratio: var(--up-embed-ar, 16 / 9);
}
.up-single-content .up-content-video--portrait,
.up-page-content .up-content-video--portrait {
width: min(90vw, 420px);
}
.up-single-content .up-content-video--portrait iframe:not(.hs-form-html *),
.up-page-content .up-content-video--portrait iframe:not(.hs-form-html *) {
width: 100%;
}
.up-single-content .wp-block-columns iframe:not(.hs-form-html *),
.up-page-content .wp-block-columns iframe:not(.hs-form-html *) {
width: 100%;
max-width: 100%;
aspect-ratio: 16/9;
margin-left: 0;
transform: none;
}
.up-single h1, .up-page h1 {
font-size: var(--fs-2); 
margin-bottom: 20px;
}
body.tax-content_type .up-hero-row {
align-items: stretch;
}
body.tax-content_type .up-hero-left {
justify-content: flex-start;
overflow: visible;
}
.up-hero-intro {
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: clamp(24px, 2.29vw, 33px) clamp(24px, 2.25vw, 32px);
}
.up-video-scroll-row {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: var(--up-gutter);
margin-top: 20px;
}
.up-video-scroll-item {
min-width: 0; 
}
@media (max-width: 600px) {
.up-video-scroll-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.up-video-scroll-thumb {
position: relative;
display: block;
width: 100%;
aspect-ratio: 16/9;
background: var(--up-gray-light);
overflow: hidden;
border: none;
padding: 0;
margin: 0;
cursor: pointer;
font: inherit;
}
.up-video-scroll-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}
.up-video-scroll-play {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(0,0,0,0.6);
color: var(--up-white);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
transition: background 0.15s ease;
}
.up-video-scroll-item:hover .up-video-scroll-play {
background: var(--up-orange);
}
.up-video-scroll-thumb.is-playing iframe {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
}
.up-video-scroll-title {
display: block;
margin-top: 6px;
font-family: var(--font-label);
font-size: var(--fs-sm); 
font-weight: 700;
}
.up-video-scroll-case-link {
display: block;
font-size: var(--fs-xs);
line-height: 1.3;
padding-block: 3px;
min-height: 24px;
margin-top: 0;
text-decoration: underline;
color: var(--up-ink);
}
.up-case-study-link {
margin: 10px 0 0;
font-size: 13px;
}
.up-case-study-link a {
text-decoration: underline;
}
.up-wedge {
position: relative;
aspect-ratio: 266 / 227; 
overflow: visible; 
z-index: 2; 
}
.up-wedge-paper,
.up-wedge-field {
position: absolute;
inset: 0;
clip-path: polygon(0 0, 100% 0, 100% 54%, 0 100%); 
}
.up-wedge-paper {
background: var(--up-white);
z-index: 0;
}
.up-wedge-art {
position: absolute;
left: calc(0px - var(--wedge-over-left, 0%));
top: calc(0px - var(--wedge-over-top, 0%));
width: calc(100% + var(--wedge-over-left, 0%) + var(--wedge-over-right, 0%));
height: calc(100% + var(--wedge-over-top, 0%) + var(--wedge-over-bottom, 0%));
max-width: none; 
object-fit: contain;
object-position: center center;
z-index: 1;
}
@media (max-width: 700px) {
.up-wedge-art {
left: 0;
width: 100%;
}
}
.up-wedge-field {
background: var(--wedge-ground, var(--up-pink));
mix-blend-mode: multiply;
z-index: 2;
}
.up-wedge--composed {
--composed-pink-top: 7.7%;    
--composed-pink-below: 8.7%;  
aspect-ratio: auto; 
}
.up-wedge--composed > .up-wedge-paper,
.up-wedge--composed > .up-wedge-field {
display: none;
}
.up-wedge--composed > .up-wedge-art {
position: static; 
width: 100%;
height: auto;
max-width: none;
margin-top: calc(-1 * var(--composed-pink-top));
margin-bottom: calc(-1 * var(--composed-pink-below));
}
.up-wedge-title {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 3;
margin: 0;
padding: 0 var(--space-sm);
text-align: center;
color: var(--wedge-ink, var(--up-white));
font-family: var(--font-title); 
font-weight: 900;
font-size: var(--fs-2); 
line-height: 1.05;
}
.up-hero-intro--about,
.up-hero-intro--about p {
color: var(--intro-ink, var(--up-white)) !important;
}
.up-wedge:has(.up-wedge-art) .up-wedge-title,
.up-wedge--titled .up-wedge-title {
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55), 0 1px 4px rgba(0, 0, 0, 0.55);
}
.up-wedge--titled .up-wedge-title {
color: var(--up-white);
}
.up-term-diagonal {
height: 40px;
background: linear-gradient(45deg, var(--term-accent) 0%, var(--term-accent) 50%, transparent 50%, transparent 100%), var(--up-page-bg);
}
.up-svc-hero {
--svc-hero-indent: clamp(0px, 7.24vw, 116px);
padding-block: var(--space-xl) var(--space-md);
padding-inline: calc(var(--up-gutter) + var(--svc-hero-indent));
max-width: var(--content-max);
margin-inline: auto;
display: grid;
grid-template-columns: minmax(0, 1.24fr) minmax(0, 1fr);
gap: clamp(20px, 3.29vw, 53px);   
align-items: start;
}
.up-svc-title {
margin: 0;
font-size: clamp(30px, 4.43vw, 71px);
line-height: 0.94;
}
.up-svc-intro {
padding-block-start: clamp(6px, 0.8vw, 14px);
}
.up-svc-intro p:first-child { margin-top: 0; }
@media (max-width: 900px) {
.up-svc-hero { grid-template-columns: 1fr; --svc-hero-indent: 0px; }
}
.up-svc-columns {
padding-inline: var(--up-gutter);
padding-block-end: var(--space-xl);
max-width: var(--content-max);
margin-inline: auto;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: clamp(12px, 1.82vw, 26px);   
align-items: stretch;
}
@media (max-width: 900px) {
.up-svc-columns { grid-template-columns: 1fr; }
.up-svc-col { max-width: 440px; margin-inline: auto; width: 100%; }
}
.up-svc-col {
--svc-frame-inset: 7.6%;          
--svc-rule: clamp(2px, 0.19vw, 3px);
display: flex;
flex-direction: column;
}
.up-svc-col-art {
position: relative;
aspect-ratio: 355.4 / 306.7;
container-type: inline-size;
}
.up-svc-col-wedge {
position: absolute;
inset: 0;
background: var(--col-bg);
clip-path: polygon(0 45.8%, 100% 0, 100% 100%, 0 100%);
pointer-events: none;
}
.up-svc-col-photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: contain;
mix-blend-mode: multiply;
}
.up-svc-col-heading {
position: absolute;
left: 0;
right: 0;
bottom: 4.8%;
margin: 0;
text-align: center;
font-family: var(--font-display, "Boxed"), sans-serif;
font-size: clamp(22px, 3.13vw, 50px);
font-size: 10.16cqw;
line-height: 1;
color: var(--up-white);
}
.up-svc-col-frame {
position: relative;
z-index: 1;
border: var(--svc-rule) solid var(--up-ink);
margin-inline: var(--svc-frame-inset);
margin-block-start: -21%;
padding: calc(20.4% + 0.4em) 5.26% clamp(14px, 1.7vw, 24px);
background: transparent;
display: flex;
flex-direction: column;
flex: 1;
}
.up-svc-col-list {
list-style: none;
margin: 0 0 auto;
padding: 0;
text-align: center;
}
.up-svc-col-list li {
font-size: clamp(16px, 1.53vw, 22px);
line-height: 1.25;
color: var(--up-ink);
}
.up-svc-col-list li + li::before {
content: "+";
display: block;
margin: 0.34em 0;
color: var(--up-ink);
}
.up-svc-btn {
display: block;
margin-block-start: clamp(20px, 2.6vw, 38px);
padding: clamp(6px, 0.7vw, 10px) 12px;
background: var(--col-bg);
color: var(--up-white);
border: var(--svc-rule) solid var(--up-ink);
text-align: center;
text-decoration: none;
font-family: "Red Hat Text", sans-serif;
font-weight: 600;
font-size: clamp(11px, 0.9vw, 13px);
letter-spacing: 0.087em;
text-transform: uppercase;
}
.up-svc-btn:hover,
.up-svc-btn:focus-visible {
background: var(--up-ink);
color: var(--up-white);
}
.up-svc-btn:focus-visible {
outline: 3px solid var(--up-navy);
outline-offset: 2px;
}
.up-svcd-hero {
background: linear-gradient(135deg, var(--up-page-bg) 0%, var(--up-page-bg) 30%, var(--hero-bg) 30%, var(--hero-bg) 100%);
padding: var(--space-xl) var(--up-gutter) var(--space-lg);
color: var(--up-white);
}
.up-svcd-hero-inner {
display: grid;
grid-template-columns: 1fr 2fr;
gap: var(--space-lg);
max-width: 1200px;
margin: 0 auto;
align-items: center;
}
@media (max-width: 800px) {
.up-svcd-hero-inner { grid-template-columns: 1fr; }
}
.up-svcd-hero-image img {
width: 100%;
height: auto;
display: block;
}
.up-svcd-hero-body h1 {
font-family: var(--font-display);
font-size: var(--fs-display); 
line-height: 1.05;
margin: 0 0 var(--space-2xs);
}
.up-svcd-tagline {
font-family: var(--font-body);
font-size: 20px;
margin: 0 0 20px;
opacity: 0.9;
}
.up-svcd-intro {
font-size: 16px;
line-height: 1.6;
}
.up-svcd-intro p { margin: 0 0 12px; }
.up-svcd-cards {
padding-block: calc(clamp(64px, 7.74vw, 111.5px) - var(--space-lg)) var(--space-xl);
}
.up-svcd-cards-wrap {
position: relative;
}
.up-svcd-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 3;
}
.up-svcd-arrows {
display: contents;
}
.up-svcd-arrows[hidden] { display: none; }
.up-svcd-arrow-prev {
right: calc(50% + (var(--card-w) / 2) + (var(--card-gap) / 2) - 24px);
}
.up-svcd-arrow-next {
left: calc(50% + (var(--card-w) / 2) + (var(--card-gap) / 2) - 24px);
}
@media (max-width: 700px) {
.up-svcd-cards-wrap {
display: flex;
flex-direction: column;
}
.up-svcd-card-grid { order: 1; }
.up-svcd-arrows {
order: 2;
display: flex;          
justify-content: center;
gap: 48px;
margin-top: 20px;
}
.up-svcd-arrow {
position: static;
transform: none;
top: auto;
}
.up-svcd-arrow-prev,
.up-svcd-arrow-next {
left: auto;
right: auto;
}
}
@media (max-width: 700px) {
.up-about-wwbo .up-svcd-cards-wrap {
display: block;                                   
width: min(100vw, 410px);
margin-left: calc(50% - min(50vw, 205px));
margin-right: 0;
}
.up-about-wwbo .up-svcd-arrows { display: contents; }
.up-about-wwbo .up-svcd-arrows[hidden] { display: none; }
.up-about-wwbo .up-svcd-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 44px;
}
.up-about-wwbo .up-svcd-arrow-prev { left: 0; right: auto; }
.up-about-wwbo .up-svcd-arrow-next { right: 0; left: auto; }
.up-about-wwbo .up-svcd-card-grid {
margin-inline: 40px;      
padding-inline: 0;        
scroll-padding-inline: 0;
}
.up-about-wwbo .up-svcd-card { flex: 0 0 100%; }
}
.up-svcd-cards-wrap {
--track-inset: max(var(--up-gutter), calc((100% - var(--content-max)) / 2));
--track-content: min(var(--content-max), calc(100vw - (var(--up-gutter) * 2)));
--card-w: clamp(270px, calc(var(--track-content) * 0.4922), 787px);
--card-gap: calc(var(--track-content) * 0.042);
}
.up-svcd-card-grid {
list-style: none;
margin: 0;
display: flex;
gap: var(--card-gap);
overflow-x: auto;
overscroll-behavior-x: contain;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
padding-inline: calc((100% - var(--card-w)) / 2);
scroll-padding-inline: calc((100% - var(--card-w)) / 2);
scrollbar-width: none;
-ms-overflow-style: none;
}
.up-svcd-card-grid::-webkit-scrollbar { display: none; }
.up-svcd-card-grid:focus-visible {
outline: 3px solid var(--up-navy);
outline-offset: -3px;
}
.up-svcd-card-grid.is-dragging {
scroll-snap-type: none;
scroll-behavior: auto;
cursor: grabbing;
user-select: none;
}
.up-svcd-arrow {
display: grid;
place-items: center;
width: 48px;
height: 82px;
padding: 0;
background: transparent;
color: var(--up-ink);
border: 0;
cursor: pointer;
}
.up-svcd-arrows[hidden] { display: none; }
.up-svcd-arrow:hover {
color: var(--up-orange);
}
.up-svcd-arrow:focus-visible {
outline: 3px solid var(--up-navy);
outline-offset: 2px;
}
.up-svcd-arrow:disabled {
opacity: 0.3;
cursor: default;
}
.up-svcd-arrow:disabled:hover {
color: var(--up-ink);
}
@media (prefers-reduced-motion: reduce) {
.up-svcd-card-grid { scroll-behavior: auto; }
}
.up-svcd-card {
display: flex;
flex-direction: column;
border: clamp(2px, 0.26vw, 4px) solid var(--up-ink);
background: var(--up-page-bg);
flex: 0 0 var(--card-w);
scroll-snap-align: center;
}
.up-svcd-card-title {
margin: 0;
padding: var(--space-sm) var(--space-md);
background: var(--card-bar, var(--up-yellow));
color: var(--card-ink, var(--up-ink));
font-family: var(--font-body);
font-size: max(24px, var(--fs-3)); 
font-weight: 400;
letter-spacing: 0.03em;
text-transform: uppercase;
text-align: center;
line-height: 1.15;
min-height: 4.02em;
display: flex;
align-items: center;
justify-content: center;
}
.up-svcd-card-inner {
padding: 27px 0 49px;
display: flex;
flex-direction: column;
gap: 28px;
}
.up-svcd-card-tagline {
margin: 0;
padding: 0 var(--space-md); 
font-family: var(--font-body);
font-size: var(--fs-body); 
letter-spacing: 0.03em;
text-transform: uppercase;
text-align: center;
color: var(--up-ink);
}
.up-svcd-card-body {
font-family: var(--font-body);
font-size: var(--fs-body);
line-height: 1.5;
color: var(--up-ink);
padding: 0 14.5%;
}
@media (max-width: 900px) {
.up-svcd-card-body { padding: 0 var(--space-md); }
}
.up-svcd-card-body p { margin: 0 0 28px; }
.up-svcd-card-body p:last-child { margin-bottom: 0; }
.up-svcd-related-nav {
max-width: var(--content-max);
margin: 0 auto;
padding: 0 var(--up-gutter) var(--space-xl);
}
@media (max-width: 700px) {
.up-svcd-related-nav { flex-direction: column; }
}
.up-svcd-related-btn {
background: var(--svcd-ground, var(--up-charcoal));
color: var(--svcd-ink, var(--up-white));
}
.up-footer-nav {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--space-md);
padding: 0 var(--up-gutter) var(--space-md);
font-size: var(--fs-sm); 
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.up-footer-nav a {
padding-block: 2px;
margin-block: -2px;
}
.up-footer-nav a:hover {
text-decoration: underline;
}
.up-footer-legal {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--space-sm);
padding: 0 var(--up-gutter) var(--space-md);
font-size: var(--fs-2xs); 
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.04em;
color: var(--up-ink);
}
.up-footer-legal a {
padding: 6px 0;
}
.up-footer-legal a:hover {
text-decoration: underline;
}
.up-svcd-work-heading {
display: none; 
font-family: var(--font-display);
font-size: var(--fs-3); 
margin: 0 0 var(--space-md);
}
.up-hero-featured-image {
display: block;
overflow: hidden;
}
.up-hero-featured-image {
aspect-ratio: 16 / 9;
background: none;
}
.up-hero-featured-image img {
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
}
.up-about-hero-still {
margin: 0;
aspect-ratio: auto;
background: none;
align-self: start;
}
.up-about-hero-still img {
display: block;
width: 100%;
height: auto;
}
.up-about-band {
padding: clamp(28px, 3.3vw, 48px) var(--up-gutter) clamp(36px, 4.4vw, 64px);
border-top: clamp(2px, 0.26vw, 4px) solid var(--up-ink-muted);
margin: 0 var(--up-gutter);
}
.up-about-band-title {
font-family: var(--font-display);
font-size: var(--fs-3);            
font-weight: 700;
letter-spacing: 0.02em;
text-transform: uppercase;
text-align: center;
margin: 0 0 var(--space-2xs);
}
.up-about-band-sub {
max-width: min(100%, 954px);
margin: 0 auto clamp(24px, 3vw, 44px);
text-align: center;
font-size: var(--fs-sm);
line-height: 1.5;
}
.up-about-manifesto-copy h2,
.up-about-manifesto-copy h3,
.up-about-manifesto-copy h4 {
font-family: var(--font-title);
font-size: clamp(1.15rem, 1.55vw, 1.5rem);
font-weight: 700;
line-height: 1.22;
margin: 1.5em 0 0.55em;
color: inherit;
}
.up-about-manifesto-copy > :first-child { margin-top: 0; }
.up-about-manifesto-copy > :last-child { margin-bottom: 0; }
.up-about-manifesto-copy blockquote {
border: 1px solid currentColor;
margin: 1.6em 0;
padding: clamp(12px, 1.2vw, 18px) clamp(14px, 1.4vw, 20px);
font-style: italic;
font-size: inherit;
}
.up-about-manifesto-copy blockquote > :first-child { margin-top: 0; }
.up-about-manifesto-copy blockquote > :last-child { margin-bottom: 0; }
.up-about-wwbo-grid {
list-style: none;
margin: 0;
padding: 0;
}
.up-about-wwbo-item {
background: var(--up-white, #fff);
color: var(--up-ink);
border: 1px solid var(--up-ink-muted, #464646);
padding: 0;                 
margin: 0;
display: flex;
flex-direction: column;
overflow: hidden;           
}
.up-about-wwbo-title {
background: var(--wwbo-band, var(--up-yellow));
color: var(--wwbo-band-ink, var(--up-ink));
font-family: var(--font-label);
font-size: var(--fs-sm);
font-weight: 600;           
line-height: 1.3;
text-transform: uppercase;
text-align: center;
letter-spacing: 0.02em;
margin: 0;
padding: clamp(14px, 1.6vw, 23px) clamp(12px, 1.4vw, 20px);
}
.up-about-wwbo-inner {
padding: clamp(18px, 2.2vw, 32px) clamp(16px, 1.9vw, 27px) clamp(22px, 2.6vw, 38px);
}
.up-about-wwbo-body {
font-size: var(--fs-sm);
line-height: 1.55;
margin: 0;
}
.up-about-leadership {
--team-bleed: clamp(0px, 3.99vw, 58px);
}
.up-about-team-figure {
position: relative;
width: calc(100% + (2 * var(--team-bleed)));
margin-left: calc(-1 * var(--team-bleed));
}
.up-about-team-photo {
display: block;
width: 100%;
max-width: none;
height: auto;
}
.up-about-team-hotspot {
position: absolute;
top: 0;
bottom: 0;
display: block;
cursor: pointer;
}
@media (max-width: 800px) {
.up-about-team-hotspot { display: none; }
}
.up-about-leadership:has(.up-about-team-hotspot:nth-of-type(1):hover) .up-about-team-person:nth-child(1) a.up-about-team-name,
.up-about-leadership:has(.up-about-team-hotspot:nth-of-type(2):hover) .up-about-team-person:nth-child(2) a.up-about-team-name,
.up-about-leadership:has(.up-about-team-hotspot:nth-of-type(3):hover) .up-about-team-person:nth-child(3) a.up-about-team-name,
.up-about-leadership:has(.up-about-team-hotspot:nth-of-type(4):hover) .up-about-team-person:nth-child(4) a.up-about-team-name,
.up-about-leadership:has(.up-about-team-hotspot:nth-of-type(5):hover) .up-about-team-person:nth-child(5) a.up-about-team-name {
text-decoration: underline;
text-underline-offset: 0.15em;
}
.up-about-team-names {
--team-inset-left: 5.66%;
--team-inset-right: 8.25%;
list-style: none;
margin: var(--space-sm) 0 0;
padding: 0 var(--team-inset-right) 0 var(--team-inset-left);
width: calc(100% + (2 * var(--team-bleed)));
margin-left: calc(-1 * var(--team-bleed));
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: var(--space-xs);
}
.up-about-team-person {
text-align: center;
transform: translateX(var(--team-nudge, 0));
}
.up-about-team-person:nth-child(2) { --team-nudge: -6.2%; }
.up-about-team-person:nth-child(3) { --team-nudge: -13.8%; }
.up-about-team-person:nth-child(4) { --team-nudge: -17.7%; }
.up-about-team-name {
display: block;
font-family: var(--font-label);
font-size: var(--fs-sm);
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: inherit;
text-decoration: none;
}
a.up-about-team-name:hover,
a.up-about-team-name:focus-visible {
text-decoration: underline;
text-underline-offset: 0.15em;
}
.up-about-team-role {
display: block;
font-size: var(--fs-sm);
line-height: 1.4;
margin-top: 0.35em;
}
@media (max-width: 800px) {
.up-about-team-names {
grid-template-columns: repeat(2, 1fr);
padding: 0;
gap: var(--space-sm);
width: 100%;
margin-left: 0;
}
.up-about-team-person { transform: none; }
}
.up-about-culture {
background: var(--culture-bg);
color: var(--up-white);
padding: var(--space-xl) var(--up-gutter);
text-align: center;
}
.up-about-culture-inner { max-width: 1000px; margin: 0 auto; }
.up-about-culture h2 {
font-family: var(--font-display);
font-size: var(--fs-3); 
margin: 0 0 var(--space-xs);
}
.up-about-culture-intro {
font-size: 17px;
margin: 0 0 var(--space-lg);
opacity: 0.9;
}
.up-about-culture-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
text-align: left;
margin-bottom: var(--space-lg);
}
@media (max-width: 700px) {
.up-about-culture-grid { grid-template-columns: 1fr; }
}
.up-about-culture-item h3 {
font-family: var(--font-body);
font-size: 22px;
margin: 0 0 10px;
}
.up-about-culture-item {
border-top: 4px solid var(--item-accent);
padding-top: var(--space-sm);
position: relative;
}
.up-about-culture-number {
display: block;
font-family: var(--font-body);
font-size: var(--fs-sm);
font-weight: 700;
color: var(--section-ink, var(--up-white));
letter-spacing: 0.1em;
margin-bottom: var(--space-2xs);
}
.up-about-culture-item p {
font-size: 14px;
line-height: 1.6;
opacity: 0.9;
margin: 0;
}
.up-about-culture-cta {
display: inline-block;
background: var(--up-white);
color: var(--culture-bg);
border: 2px solid var(--up-charcoal);
font-family: var(--font-label);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
font-size: 13px;
padding: 9px 20px;
transition: filter 0.15s ease;
}
.up-about-culture-cta:hover { filter: brightness(1.1); }
.up-about-culture {
position: relative;
overflow: hidden;
}
.up-about-culture-diagonal {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 50px;
background: linear-gradient(100deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0.15) 50%, transparent 50%, transparent 100%);
}
.up-about-culture-inner {
position: relative;
z-index: 1;
}
.up-team-photo {
position: relative;
aspect-ratio: 3/4;
overflow: hidden;
}
.up-team-photo-static,
.up-team-photo-gif {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.up-team-photo-gif {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.2s ease;
z-index: 1;
}
.up-team-photo-link:hover .up-team-photo-gif,
.up-team-photo:hover .up-team-photo-gif {
opacity: 1;
}
.up-team-wedge {
position: absolute;
inset: 0;
background: var(--divider-color);
clip-path: polygon(100% 55%, 100% 100%, 35% 100%);
z-index: 2;
}
.up-team-name {
font-family: var(--font-body);
font-weight: 700;
color: var(--up-white);
margin: var(--space-xs) 0 2px;
font-size: var(--fs-body); 
}
.up-team-photo-link:hover .up-team-name { text-decoration: underline; }
.up-team-role {
font-size: var(--fs-sm); 
font-style: italic;
color: var(--up-white);
opacity: 0.85;
margin: 0;
}
.up-teambio {
display: grid;
grid-template-columns: 1fr 1.5fr;
gap: 50px;
max-width: 1100px;
margin: 0 auto;
padding: var(--space-xl) var(--up-gutter);
align-items: start;
}
@media (max-width: 700px) {
.up-teambio { grid-template-columns: 1fr; }
}
.up-teambio-photo-col .up-team-photo { aspect-ratio: 3/4; }
.up-teambio-content h1 {
font-family: var(--font-display);
font-size: clamp(32px, 5vw, 48px);
margin: 0 0 6px;
}
.up-teambio-role {
font-family: var(--font-label);
color: var(--up-orange);
font-size: var(--fs-lead); 
margin: 0 0 var(--space-md);
}
.up-teambio-bio { font-size: 16px; line-height: 1.7; margin-bottom: 24px; }
.up-teambio-bio p { margin: 0 0 14px; }
.up-teambio-fact {
background: var(--up-gray-light);
border-left: 4px solid var(--up-pink);
padding: var(--space-sm) 20px;
margin-bottom: var(--space-sm);
}
.up-teambio-fact-q {
font-weight: 700;
text-transform: uppercase;
font-size: 12px;
letter-spacing: 0.05em;
margin: 0 0 4px;
opacity: 0.7;
}
.up-teambio-fact-a {
font-family: var(--font-display);
font-size: 22px;
margin: 0;
}
.up-teambio-since { font-size: 13px; color: #888; }
.up-about-manifesto {
--manifesto-cut: clamp(90px, 19.3vw, 278px);
padding: clamp(32px, 4.3vw, 62px) var(--up-gutter) 0;
color: var(--manifesto-ink, var(--up-ink));
}
.up-about-manifesto-inner {
position: relative;
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
font-size: var(--fs-body);
line-height: 1.5;
}
.up-about-manifesto-figure {
grid-column: 1;
grid-row: 1;
width: 124%;
max-width: none;
margin-left: -8%;
align-self: center;
position: relative;
z-index: 2;   
pointer-events: none;
}
.up-about-manifesto-art {
display: block;
width: 100%;
max-width: none;
height: auto;
}
.up-about-manifesto-helmet {
position: absolute;
left: 64.8%;
bottom: 0;
width: 41.3%;
max-width: none;
height: auto;
transform: translateY(52%);
z-index: 3;              
pointer-events: none;    
}
.up-about-manifesto-panel {
grid-column: 2;
grid-row: 1;
background: var(--manifesto-ground, var(--up-yellow));
clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--manifesto-cut)), 0 100%);
padding: clamp(28px, 5.8vw, 84px) clamp(24px, 5.56vw, 80px) 0 clamp(28px, 5.68vw, 82px);
z-index: 1;
}
.up-about-manifesto-copy {
padding-bottom: calc(var(--manifesto-cut) * 0.83);
}
@media (max-width: 800px) {
.up-about-manifesto {
--manifesto-cut: clamp(48px, 16vw, 90px);
}
.up-about-manifesto-inner {
grid-template-columns: 1fr;
}
.up-about-manifesto-figure {
grid-column: 1;
grid-row: 1;
width: 100%;
margin-left: 0;
}
.up-about-manifesto-helmet {
left: 50%;
width: 41.3%;
transform: translate(-50%, 52%);
}
.up-about-manifesto-panel {
grid-column: 1;
grid-row: 2;
}
.up-about-manifesto-figure {
margin-bottom: clamp(64px, 19vw, 96px);
}
.up-about-manifesto {
padding-bottom: clamp(28px, 8vw, 44px);
}
}
.up-about-manifesto-inner p { margin: 0 0 20px; }
.up-about-manifesto-inner mark {
background: var(--up-pink);
color: var(--up-ink);
padding: 2px 6px;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
}
.up-about-manifesto-inner blockquote {
border: 2px solid var(--up-ink);
color: var(--up-ink);
font-style: italic;
font-size: 19px;
line-height: 1.5;
padding: var(--space-md) 28px;
margin: 36px 0;
}
.up-about-manifesto-inner blockquote p { margin: 0; }
.up-about-manifesto-inner .up-accent-line {
font-family: var(--font-display);
font-size: clamp(32px, 5vw, 48px);
line-height: 1.1;
font-weight: 400;
margin: 10px 0;
}
.up-about-manifesto-inner .up-accent-line em {
font-style: italic;
color: var(--up-ink);
text-decoration: underline;
text-decoration-color: var(--up-pink);
text-decoration-thickness: 0.12em;
text-underline-offset: 0.12em;
}
.up-editor-note {
background: #fff8e5;
border-left: 4px solid var(--up-yellow);
padding: var(--space-xs) var(--space-sm);
font-size: 14px;
color: #6b5900;
margin: 0 0 var(--space-md);
}
.up-skip-link {
position: absolute;
left: -9999px;
top: 0;
z-index: 10000;
background: var(--up-navy);
color: var(--up-white);
font-family: var(--font-label);
font-size: var(--fs-sm); 
font-weight: 700;
letter-spacing: .06em;
text-decoration: none;
padding: 14px 22px;
}
.up-skip-link:focus {
left: 8px;
top: 8px;
}
.up-main:focus { outline: none; }
.up-main { overflow-x: clip; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
outline: 3px solid var(--up-navy);
outline-offset: 2px;
box-shadow: 0 0 0 5px var(--up-white);
border-radius: 2px;
}
:where(.up-card-link):focus-visible {
outline-offset: 0;
}
.up-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.up-grid-more {
margin: 0;
}
.up-card-grid:has(+ .up-grid-more .up-grid-more-btn:not([hidden])) {
padding-bottom: 0;
}
.up-grid-more:has(.up-grid-more-btn:not([hidden])) {
margin: var(--up-card-row-gap) 0 var(--gap-before-band);
}
.up-grid-more-btn {
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-sm);
width: 100%;
background: none;
border: 0;
padding: 0;
cursor: pointer;
font: inherit;
color: var(--up-charcoal);
}
.up-grid-more-box {
display: flex;
align-items: stretch;
border: clamp(2px, 0.26vw, 4px) solid var(--up-charcoal);
background: var(--up-page-bg);
height: clamp(26px, 2.02vw, 29px);
width: clamp(280px, 47.6vw, 686px);
min-width: 0;
}
.up-grid-more-hatch {
flex: 1 1 0;
display: flex;
align-items: center;
overflow: hidden;
min-width: 0;
font-family: var(--font-label); 
font-size: var(--fs-sm);        
font-weight: 400;
line-height: 1;
letter-spacing: 0.135em;        
user-select: none;              
}
.up-grid-more-hatch > span {
white-space: nowrap;
}
.up-grid-more-hatch--right {
justify-content: flex-end;
}
.up-grid-more-label {
display: flex;
align-items: center;
flex: 0 0 auto;
font-family: var(--font-label); 
font-size: var(--fs-sm);        
font-weight: 600;        
letter-spacing: 0.094em; 
text-transform: uppercase;
white-space: nowrap;
padding: 0 8px;
transition: background .15s ease, color .15s ease;
}
.up-grid-more-btn:hover .up-grid-more-label,
.up-grid-more-btn:focus-visible .up-grid-more-label {
background: var(--up-charcoal);
color: var(--up-white);
}
.up-grid-more-btn:focus-visible {
outline: none;
}
.up-grid-more-btn:focus-visible .up-grid-more-box {
outline: 3px solid var(--up-navy);
outline-offset: 4px;
}
.up-grid-more-btn[aria-busy="true"] .up-grid-more-label {
opacity: .55;
cursor: progress;
}
.up-grid-more-btn[hidden] { display: none; }
@media (max-width: 640px) {
.up-grid-more-hatch { width: clamp(20px, 8vw, 48px); }
.up-grid-more-box {
width: 100%;
height: auto;
min-height: 26px;
}
.up-grid-more-hatch { flex: 0 0 auto; }
.up-grid-more-label {
flex: 1 1 auto;
min-width: 0;
justify-content: center;
white-space: normal;
text-align: center;
line-height: 1.3;
padding: 4px 8px;
}
}
@media (prefers-reduced-motion: reduce) {
.up-grid-more-label { transition: none; }
}
.up-diag-ticker-item {
font-family: var(--font-body);
font-weight: 400;
font-size: clamp(15px, 1.39vw, 20px);
letter-spacing: 0.02em;
text-transform: uppercase;
white-space: nowrap;
padding: 0 clamp(10px, 1.4vw, 20px);
}
.up-diag-ticker-item + .up-diag-ticker-item::before {
content: "::";
margin-inline-start: calc(-1 * clamp(10px, 1.4vw, 20px));
margin-inline-end: clamp(6px, 0.9vw, 14px);
opacity: 0.75;
}
.up-diag {
position: relative;
isolation: isolate;
background: var(--diag-ground, var(--up-navy));
color: var(--diag-ink, var(--up-white));
overflow: hidden;
min-height: clamp(340px, 43.6vw, 820px);
display: flex;
--diag-apex: 10%;
margin: 0;
}
.up-diag-wedge {
position: absolute;
inset: 0;
z-index: 0;
background: var(--diag-wedge, var(--up-cream));
clip-path: polygon(0 100%, 100% var(--diag-apex, 10%), 100% 100%);
}
.up-diag-inner {
position: relative;
z-index: 1;
width: 100%;
max-width: 1200px;
margin-inline: auto;
padding: var(--space-xl) var(--up-gutter) var(--space-lg);
--diag-copy-max: 46rem;
display: grid;
justify-items: center;
align-content: start;
gap: var(--space-md);
text-align: left;
}
.up-diag-copy {
max-width: min(100%, var(--diag-copy-max));
}
.up-diag-title {
font-family: var(--font-title); 
font-weight: 900;
font-size: var(--fs-display);
line-height: 1.02;
margin: 0;
color: inherit;
}
.up-diag-sub {
font-family: var(--font-body);
font-size: var(--fs-body);
line-height: 1.45;
margin: var(--space-sm) 0 0;
max-width: 38ch;
color: inherit;
}
.up-diag-cta {
font-family: var(--font-label);
font-weight: 600;
display: inline-block;
margin-top: var(--space-md);
padding: var(--space-xs) var(--space-lg);
background: var(--diag-ink, var(--up-white));
color: var(--diag-ground, var(--up-navy));
font-size: var(--fs-sm);
letter-spacing: 0.08em;
text-transform: uppercase;
text-decoration: none;
border: 2px solid var(--diag-ink, var(--up-white));
transition: background-color 0.18s ease, color 0.18s ease;
}
.up-diag-cta:hover {
background: transparent;
color: var(--diag-ink, var(--up-white));
}
.up-diag :where(a, button, [tabindex]):focus-visible {
outline: 3px solid var(--diag-ink, var(--up-white));
outline-offset: 3px;
box-shadow: 0 0 0 6px var(--diag-ground, var(--up-navy));
}
.up-diag-art {
line-height: 0;
}
.up-diag-art-img {
width: clamp(150px, 22vw, 300px);
height: auto;
display: block;
}
@media (prefers-reduced-motion: reduce) {
.up-diag-cta { transition: none; }
}
@media (min-width: 1900px) {
.up-diag { --diag-apex: 22%; }
}
@media (max-width: 1100px) {
.up-diag { --diag-apex: 26%; }
}
@media (min-width: 901px) {
.up-diag-inner {
max-width: none;
padding-top: clamp(32px, 3.75vw, 54px);    
gap: clamp(28px, 3.65vw, 52px);            
}
.up-diag-copy {
justify-self: start;
max-width: none;
margin-left: calc(31.5vw - var(--up-gutter)); 
font-size: var(--fs-display);
line-height: 0.88;
}
.up-diag-title {
display: inline;
line-height: inherit;
}
.up-diag-title,
.up-diag-sub {
color: color-mix(in srgb, var(--diag-ink, #fff) 89%, var(--diag-ground, #1a3355));
}
.up-diag-sub {
display: inline-block;
max-width: none;
margin: -0.6em 0 0 0.26em;     
vertical-align: 0.1em;
font-size: var(--fs-body);
line-height: 1.5;              
}
.up-diag-cta {
display: table;                
}
}
@media (max-width: 700px) {
.up-diag {
min-height: 440px;
--diag-apex: 56%;
}
.up-diag-inner {
padding-block: var(--space-lg);
gap: var(--space-md);
text-align: center;
}
.up-diag-sub { margin-inline: auto; }
.up-diag-ticker-item {
padding: 0 12px;
}
}
.up-phero {
padding: var(--space-top-gap) var(--up-gutter) var(--space-lg); 
padding-bottom: calc(var(--space-lg) + var(--art-clear-b, 0px));
}
.up-phero-inner {
max-width: var(--content-max);
margin: 0 auto;
display: grid;
grid-template-columns: 558.7fr 522fr;
gap: clamp(24px, 3.16%, 48px);
align-items: center;
}
.up-phero-frame {
position: relative;
aspect-ratio: 556 / 294;
overflow: hidden;
isolation: isolate;
}
.up-phero-paper {
position: absolute;
inset: 0;
z-index: 0;
background: var(--up-white);
clip-path: polygon(0 0, 100% 0, 100% 55%, 67% 100%, 0 100%);
}
.up-phero-photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: contain;
display: block;
z-index: 1;
}
@media (min-width: 801px) {
.up-phero-frame--placed {
overflow: visible;
}
.up-phero-frame--placed .up-phero-photo {
inset: auto;
left: var(--art-left);
top: var(--art-top);
width: var(--art-width);
height: auto;
max-width: none;
}
}
.up-phero-field {
position: absolute;
inset: 0;
z-index: 2;
background: var(--phero-ground, var(--svc-brand));
mix-blend-mode: multiply;
clip-path: polygon(0 0, 100% 0, 100% 55%, 67% 100%, 0 100%);
}
.up-phero-name {
position: absolute;
inset: 0;
z-index: 3;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--font-title); 
font-weight: 900;
font-size: var(--fs-display);
line-height: 1;
color: var(--up-white);
mix-blend-mode: normal;
pointer-events: none;
}
.up-phero-question {
font-family: var(--font-display);
font-weight: 400;
font-size: var(--fs-3); 
line-height: 1.15;
margin: 0 0 var(--space-md);
color: var(--up-ink);
}
.up-phero-intro {
font-family: var(--font-body);
font-size: var(--fs-body); 
line-height: 1.5;
color: var(--up-ink);
max-width: 93.3%;
}
.up-phero-intro p { margin: 0 0 var(--space-sm); }
.up-phero-intro p:last-child { margin-bottom: 0; }
@media (max-width: 800px) {
.up-phero-inner {
grid-template-columns: 1fr;
gap: var(--space-lg);
}
.up-phero-frame {
aspect-ratio: 4 / 3;
}
}
.up-legal {
padding: var(--space-xl) var(--up-gutter) var(--space-2xl);
}
.up-legal-head {
max-width: 68ch;
margin: 0 auto var(--space-lg);
}
.up-legal h1 {
font-size: var(--fs-2); 
line-height: 1.1;
margin: 0;
}
.up-legal-effective {
margin: var(--space-2xs) 0 0;
font-family: var(--font-label);
font-size: var(--fs-2xs);
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--up-ink);
}
.up-legal-body {
max-width: 62ch; 
margin: 0 auto;
font-size: var(--fs-body); 
line-height: 1.65; 
}
.up-legal-body h2 {
font-size: var(--fs-3); 
font-weight: 400; 
line-height: 1.2;
margin: var(--space-lg) 0 var(--space-2xs);
}
.up-legal-body h3 {
font-size: var(--fs-lead);
font-weight: 700;
margin: var(--space-md) 0 var(--space-2xs);
}
.up-legal-body p { margin: 0 0 var(--space-sm); }
.up-legal-body ol,
.up-legal-body ul {
margin: 0 0 var(--space-sm);
padding-left: 1.4em;
}
.up-legal-body li { margin-bottom: var(--space-2xs); }
.up-legal-body a {
text-decoration: underline;
text-underline-offset: 0.15em;
}
.up-legal-body a:hover { text-decoration-thickness: 2px; }
.up-legal-body table {
width: 100%;
border-collapse: collapse;
margin: 0 0 var(--space-sm);
font-size: var(--fs-xs);
}
.up-legal-body th,
.up-legal-body td {
text-align: left;
vertical-align: top;
padding: var(--space-2xs);
border-bottom: 1px solid var(--up-gray-light);
}
.up-legal-body th { font-weight: 700; }
@media (max-width: 700px) {
.up-legal { padding-top: var(--space-lg); }
}
.up-lp-hero {
padding: var(--space-top-gap) var(--up-gutter) 0;
}
.up-lp-hero-inner {
position: relative;
max-width: 1440px;
margin: 0 auto;
}
.up-lp-panel {
width: 81.8%;
background: var(--lp-ground, var(--up-orange));
color: var(--lp-ink, var(--up-ink));
padding: 4.58vw 5.07vw 4.79vw;
clip-path: polygon(0 0, 100% 0, 100% 80.9%, 78.85% 100%, 0 100%);
}
.up-lp-panel > * { max-width: calc(55% / 0.818 - 5.07vw - 2vw); }
.up-lp-headline {
font-family: var(--font-display);
font-size: clamp(30px, 3.05vw, 46px);
font-weight: 700;
line-height: 1.07;
margin: 0 0 0.32em;
color: inherit;
}
.up-lp-lead {
font-size: clamp(17px, 1.5vw, 22px);
font-weight: 600;
line-height: 1.32;
margin: 0 0 1.75em;
}
.up-lp-body {
font-size: var(--fs-body);
line-height: 1.5;
margin: 0;
}
.up-lp-actions {
margin: 1.6em 0 0;
}
.up-lp-download {
position: relative;
display: inline-flex;
align-items: center;
gap: 0.6em;
font-family: var(--font-label);
font-size: var(--fs-sm);
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
line-height: 1.33;
text-decoration: none;
color: var(--up-ink);
background: var(--up-page-bg);
border: 0.25em solid var(--up-ink);
padding: 0.5em 0.9em;
}
.up-lp-download::after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
height: 44px;
}
.up-lp-download svg { flex: 0 0 auto; }
.up-lp-download:hover {
background: var(--up-ink);
color: var(--up-page-bg);
}
.up-lp-download:focus-visible {
outline: 3px solid var(--lp-ink, var(--up-ink));
outline-offset: 3px;
}
.up-lp-note {
margin: 1.1em 0 0;
font-size: var(--fs-sm);
line-height: 1.5;
}
.up-lp-note a {
color: inherit;
text-decoration: underline;
text-underline-offset: 0.15em;
}
.up-lp-note a:hover { text-decoration-thickness: 2px; }
.up-lp-cover {
position: absolute;
left: 55%;
top: 1.3vw;
width: 44%;
margin: 0;
}
.up-lp-cover img {
display: block;
width: 100%;
height: auto;
}
.up-lp-form {
padding: var(--space-lg) var(--up-gutter);
}
.up-lp-form-inner {
max-width: 940px;
margin: 0 auto;
}
.up-lp-form-empty {
border: 2px dashed var(--up-ink);
padding: var(--space-sm);
text-align: center;
}
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-FieldLabel,
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-NavigationRow__Alerts,
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-RichText,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-FieldLabel,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-NavigationRow__Alerts,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-RichText {
color: var(--up-ink);
}
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-FieldLabel__RequiredIndicator,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-FieldLabel__RequiredIndicator {
color: var(--up-ink);
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-RichText {
font-family: var(--font-body);
}
[data-hsfc-id="Renderer"] .hsfc-Form .hsfc-RichText strong {
font-family: var(--font-display);
}
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextInput:focus-visible,
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextareaInput:focus-visible,
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button:focus-visible,
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form input[type="checkbox"]:focus-visible,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextInput:focus-visible,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-TextareaInput:focus-visible,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button:focus-visible,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form input[type="checkbox"]:focus-visible {
outline: 3px solid var(--up-ink);
outline-offset: 2px;
}
.up-lp-form [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button:hover,
.up-page-content [data-hsfc-id="Renderer"] .hsfc-Form .hsfc-Button:hover {
background: var(--up-page-bg);
color: var(--up-ink);
}
@media (max-width: 800px) {
.up-lp-panel {
width: 100%;
padding: var(--space-md) var(--up-gutter) calc(var(--space-md) + 6%);
clip-path: polygon(0 0, 100% 0, 100% 94%, 80% 100%, 0 100%);
}
.up-lp-panel > * { max-width: none; }
.up-lp-cover {
position: relative;
left: auto;
top: auto;
width: min(440px, 88%);
margin: calc(-1 * var(--space-lg)) auto 0;
}
}
.up-cs-archive-head {
margin-inline: auto;
padding: var(--space-lg) var(--up-gutter) var(--space-sm);
}
.up-cs-archive-head h1 {
font-family: var(--font-display);
font-size: var(--fs-1);
margin: 0;
}
.up-cs {
max-width: var(--content-max);
margin: 0 auto;
padding: 0 var(--up-gutter);
}
.up-cs-top {
display: grid;
gap: var(--space-sm);
margin-top: var(--space-md);
}
@media (min-width: 900px) {
.up-cs-top {
grid-template-columns: minmax(0, 23.6fr) minmax(0, 74.6fr);
gap: 1.8%;
align-items: stretch;
}
.up-cs-top--nosidebar { grid-template-columns: minmax(0, 1fr); }
.up-cs-top-side { height: 100%; }
}
.up-cs-top-side { display: flex; flex-direction: column; gap: var(--space-sm); }
.up-cs-logo { padding: var(--space-sm) 0; }
.up-cs-logo img {
width: 76%;
max-width: 320px;
height: auto;
display: block;
margin-inline: auto;
}
.up-cs-poster img,
.up-piece-video img {
display: block;
width: 100%;
height: auto;
}
@media (min-width: 900px) {
.up-cs-poster { flex: 1; min-height: 0; }
.up-cs-poster img { height: 100%; object-fit: cover; }
}
.up-piece-video {
position: relative;
margin: 0;
}
.up-piece-video img { aspect-ratio: 16 / 9; object-fit: cover; }
.up-piece-video--playing { aspect-ratio: 16 / 9; }
.up-piece-video--playing > .up-videobox {
position: absolute;
inset: 0;
}
.up-single-video-wrap {
max-width: calc(62ch + var(--up-gutter) * 2);
margin: 0 auto;
padding: var(--space-xl) var(--up-gutter) 0;
}
.up-single-video-wrap + .up-single { padding-top: var(--space-md); }
.up-cs-title {
font-family: var(--font-display);
font-size: var(--fs-1);
line-height: 1.05;
margin: var(--space-sm) 0 0;
}
.up-cs-summary {
display: grid;
gap: var(--space-sm);
margin: var(--space-sm) 0 0;
}
@media (min-width: 700px) {
.up-cs-summary { grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
}
.up-cs-summary-item {
border-bottom: 2px solid var(--up-ink);
padding-bottom: 14px;
}
.up-cs-summary-item dt {
font-family: var(--font-display);
font-weight: 400; 
font-size: clamp(26px, 3vw, 34px);
line-height: 1;
text-transform: uppercase;
margin: 0 0 8px;
}
.up-cs-summary-item dd {
margin: 0;
font-family: var(--font-body);
font-size: var(--fs-body);
line-height: 1.45;
}
.up-cs-servicebar {
background: var(--up-orange);
color: var(--up-ink);
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
margin-top: var(--space-md);
padding: 14px var(--up-gutter);
}
.up-cs-servicebar-list {
list-style: none;
margin: 0 auto;
padding: 0;
max-width: 1200px;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 6px 0;
font-family: var(--font-label);
font-weight: 600;
font-size: var(--fs-sm);
letter-spacing: 0.08em;
text-transform: uppercase;
}
.up-cs-servicebar-list li + li::before {
content: "::";
padding: 0 0.85em;
opacity: 0.65;
}
.up-cs-servicebar-list a {
color: inherit;
text-decoration: none;
}
.up-cs-servicebar-list a:hover,
.up-cs-servicebar-list a:focus-visible {
text-decoration: underline;
text-underline-offset: 3px;
}
.up-cs-servicebar-list a:focus-visible {
outline: 3px solid var(--up-ink);
outline-offset: 3px;
}
.up-cs-body { margin-top: var(--space-md); }
.up-cs-eyebrow {
font-family: var(--font-label);
font-weight: 600;
font-size: var(--fs-sm);
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--up-ink);
margin: 0 0 var(--space-sm);
}
.up-cs-chapter {
display: block;
margin: 0 0 var(--space-lg);
}
.up-cs-chapter::after {
content: "";
display: block;
clear: both;
}
@media (min-width: 900px) {
.up-cs-chapter .up-cs-chapter-media {
width: 48%;
margin-bottom: var(--space-sm);
}
.up-cs-chapter--challenge .up-cs-chapter-media { float: left;  margin-right: 2.16%; }
.up-cs-chapter--solution  .up-cs-chapter-media { float: right; margin-left:  2.16%; }
.up-cs-chapter:not(:has(.up-cs-chapter-media)) .up-cs-chapter-copy { max-width: 72ch; }
}
@media (max-width: 899px) {
.up-cs-chapter .up-cs-chapter-media { margin-bottom: var(--space-sm); }
}
.up-cs-chapter-media img { display: block; width: 100%; height: auto; }
.up-cs-chapter-h {
font-family: var(--font-display);
font-weight: 400; 
font-size: clamp(30px, 3.6vw, 44px);
line-height: 1;
text-transform: uppercase;
margin: 0 0 12px;
}
.up-cs-chapter-copy p {
font-family: var(--font-body);
font-size: var(--fs-body);
line-height: 1.55;
margin: 0 0 1em;
}
.up-cs-chapter-copy p:last-child { margin-bottom: 0; }
.up-cs-chapter--solution { border-top: 2px solid var(--up-ink); padding-top: var(--space-md); }
.up-cs-gallery { margin: 0 0 var(--space-lg); }
.up-cs-results {
border-top: 2px solid var(--up-ink);
padding-top: var(--space-md);
margin: 0 0 var(--space-lg);
text-align: center;
}
.up-cs-results-h {
font-family: var(--font-display);
font-weight: 400;
font-size: clamp(32px, 4vw, 48px);
line-height: 1;
text-transform: uppercase;
margin: 0 0 12px;
}
.up-cs-results-intro {
font-family: var(--font-body);
font-size: var(--fs-body);
line-height: 1.5;
max-width: 62ch;
margin: 0 auto var(--space-md);
}
.up-cs-results-grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: var(--space-md);
text-align: left;
}
@media (min-width: 640px) { .up-cs-results-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .up-cs-results-grid { grid-template-columns: repeat(4, 1fr); } }
.up-cs-result {
border-bottom: 2px solid var(--up-ink);
padding-bottom: 14px;
}
.up-cs-result-h { margin: 0 0 10px; font-weight: 400; }
.up-cs-result-stat {
display: block;
font-family: var(--font-display);
font-weight: 700;
font-size: clamp(34px, 3.6vw, 44px);
line-height: 1.02;
letter-spacing: -0.01em;
font-variant-numeric: tabular-nums;
}
.up-cs-result-label {
display: block;
font-family: var(--font-body);
font-size: clamp(17px, 1.6vw, 20px);
line-height: 1.25;
margin-top: 2px;
}
.up-cs-result-label--solo {
font-family: var(--font-display);
font-weight: 700;
font-size: clamp(26px, 2.6vw, 32px);
line-height: 1.05;
margin-top: 0;
}
.up-cs-result-body {
font-family: var(--font-body);
font-size: var(--fs-sm);
line-height: 1.5;
margin: 0;
}
.up-cs-related {
max-width: 1200px;
margin: 0 auto var(--space-xl);
padding: 0 var(--up-gutter);
}
.up-cs-related-head {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: var(--space-sm);
flex-wrap: wrap;
border-bottom: 2px solid var(--up-ink);
padding-bottom: 10px;
margin-bottom: var(--space-md);
}
.up-cs-related-heading {
font-family: var(--font-display);
font-weight: 400;
font-size: clamp(28px, 3.2vw, 38px);
line-height: 1;
margin: 0;
}
.up-cs-related-all {
font-family: var(--font-label);
font-weight: 600;
font-size: var(--fs-sm);
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--up-ink);
text-decoration: underline;
text-underline-offset: 3px;
}
.up-cs-related-all:focus-visible { outline: 3px solid var(--up-ink); outline-offset: 3px; }
.up-cs-related-grid {
display: grid;
gap: var(--space-md);
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.up-cs-related-grid > .up-card {
grid-column: auto / span 1 !important;
grid-row: auto !important;
}
@media (prefers-reduced-motion: reduce) {
.up-cs-servicebar-list a { transition: none; }
}
.up-card--art-flip .up-card-poster-art,
.up-card--art-flip .up-card-image img {
scale: -1 1;
}
.up-card-poster-headline {
font-family: var(--font-title);
font-weight: 900;
}
body.up-grid-composed .up-card-grid,
body.up-grid-composed #up-home-grid { grid-auto-flow: row; }
.up-cs-gallery {
width: min(100%, calc(100vw - (var(--up-gutter) * 2)));
margin-left: 50%;
transform: translateX(-50%);
}
.up-csg {
display: grid;
grid-template-columns: repeat(8, 1fr);
column-gap: var(--up-gutter);
row-gap: var(--up-gutter);
margin: 0 0 var(--space-lg);
padding: 0;
list-style: none;
}
.up-csg > * { min-width: 0; }
.up-csg--spots > *  { grid-column: span 4; }
.up-csg--reels > *  { grid-column: span 2; }
.up-csg--grid  > *  { grid-column: span 2; }
.up-csg--wide  > *  { grid-column: span 8; }
.up-csg--posts > *  { grid-column: span 2; }
.up-csg--stack > *  { grid-column: span 8; }
.up-csg--half  > *  { grid-column: span 4; }
.up-csg-label {
grid-column: 1 / -1;
margin: 0 0 calc(var(--up-gutter) * -0.5);
font-size: clamp(18px, 1.6vw, 23px);
letter-spacing: .02em;
text-transform: uppercase;
}
.up-csg-video {
position: relative;
aspect-ratio: 16 / 9;
background: var(--up-charcoal, #292829);
overflow: hidden;
}
.up-csg-video:not(.is-theatre) iframe {
position: absolute;
inset: 0;
width: 100% !important;
height: 100% !important;
max-width: none !important;
border: 0;
display: block;
}
.up-cs-gallery .wp-block-image,
.up-cs-gallery figure.wp-block-image {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
transform: none !important;
float: none !important;
display: block !important;
}
.up-cs-gallery .up-csg img {
width: 100% !important;
max-width: 100% !important;
height: 100%;
object-fit: cover;
display: block;
}
.up-cs-gallery > .wp-block-image img,
.up-cs-gallery > figure.wp-block-image img {
width: 100% !important;
max-width: 100% !important;
height: auto;
}
.up-csg--grid > * { aspect-ratio: 1 / 1; }
.up-csg--posts,
.up-csg--stack,
.up-csg--half { align-items: start; }
.up-csg--posts > figure,
.up-csg--stack > figure,
.up-csg--half > figure { margin: 0; }
.up-cs-gallery .up-csg--posts img,
.up-cs-gallery .up-csg--stack img,
.up-cs-gallery .up-csg--half img {
height: auto;
margin: 0 !important;
transform: none !important;
}
@media (max-width: 900px) {
.up-csg--posts > * { grid-column: span 4; }
.up-csg--half  > * { grid-column: span 8; }
}
.up-csg--reels .up-csg-video:not(.is-theatre) { aspect-ratio: 9 / 16; }
.up-csg--reels .up-csg-video.is-theatre {
--up-th-ar: 0.5625;   
--up-th-inv: 1.7778;  
}
.up-csg-video:hover .up-video-play,
.up-csg-video:focus-within .up-video-play {
opacity: 1;
}
.up-csg--wide > * { aspect-ratio: 16 / 9; }
@media (max-width: 1100px) {
.up-csg--reels > * { grid-column: span 4; }
}
@media (max-width: 900px) {
.up-csg--spots > * { grid-column: span 8; }
.up-csg--grid  > * { grid-column: span 4; }
}
@media (max-width: 600px) {
.up-csg--reels > * { grid-column: span 8; }
.up-csg { row-gap: var(--space-md); }
}
.up-single-masthead {
margin: 0 0 clamp(20px, 2.4vw, 34px);
}
.up-single-masthead img {
display: block;
width: 100%;
height: auto;
}
.up-single-head.has-portrait > h1 {
padding-left: 116px;
}
.up-single-byline {
display: flex;
align-items: flex-start;
gap: 16px;
margin: clamp(14px, 1.6vw, 22px) 0 clamp(22px, 2.6vw, 36px);
}
.up-byline-portrait {
flex: 0 0 100px;
}
.up-byline-portrait img {
display: block;
width: 100px;
height: 100px;
object-fit: cover;
}
.up-byline-text {
display: flex;
flex-direction: column;
justify-content: center;
line-height: 27px;
}
.up-byline-by,
.up-byline-name {
font-size: var(--fs-sm, 15px);
}
.up-byline-role {
font-size: var(--fs-sm, 15px);
font-style: italic;
}
@media (max-width: 600px) {
.up-single-head.has-portrait > h1 {
padding-left: 0;
}
.up-byline-portrait {
flex-basis: 72px;
}
.up-byline-portrait img {
width: 72px;
height: 72px;
}
}
body.single-post .up-single h1 {
font-size: var(--fs-3);
}
body.single-post .up-single-content ul,
body.single-post .up-single-content ol {
display: flow-root;
}
.up-csg--wide > .up-csg-label,
.up-csg--grid > .up-csg-label {
aspect-ratio: auto;
}
@media (min-width: 782px) {
body.single-post .up-single-content .wp-block-image.up-float-lg.alignleft,
body.single-post .up-single-content .wp-block-image.up-float-lg.alignright,
body.single-post .up-single-content .wp-block-image.up-float-lg:has(> figure.alignleft),
body.single-post .up-single-content .wp-block-image.up-float-lg:has(> figure.alignright) {
width: 50% !important;
max-width: 50% !important;
}
}
.up-search {
display: block;
margin: 0 0 18px;
}
.up-search-field {
display: block;
width: 100%;
box-sizing: border-box;
font: inherit;
font-size: var(--fs-sm);
color: var(--up-charcoal);
background: var(--up-white);
border: 2px solid var(--up-charcoal);
border-radius: 0;
padding: 8px 10px;
-webkit-appearance: none;
appearance: none;
}
.up-search-field::placeholder {
color: var(--up-charcoal);
opacity: 0.6;
}
.up-search-submit {
display: block;
width: 100%;
margin: 8px 0 0;
box-sizing: border-box;
font-family: var(--font-label);
font-size: var(--fs-sm);
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--up-white);
background: var(--up-charcoal);
border: 2px solid var(--up-charcoal);
border-radius: 0;
padding: 8px 10px;
cursor: pointer;
}
.up-search-submit:hover,
.up-search-submit:focus-visible {
background: var(--up-navy);
border-color: var(--up-navy);
}
.up-search-field:focus-visible,
.up-search-submit:focus-visible {
outline: 3px solid var(--up-navy);
outline-offset: 2px;
}
.up-404-search {
margin: 28px 0 0;
max-width: 360px;
}
.up-page-content [data-hsfc-id="Renderer"] .hsfc-ErrorAlert {
color: #c8102e;
}
.up-prefooter [data-hsfc-id="Renderer"] .hsfc-ErrorAlert {
color: #ffc9cc;
}