/* Native page layout. Values intentionally retain the accepted site's rem scale. */
@font-face { font-family: "Inter var"; font-weight: 100 900; font-display: swap; font-style: normal; src: url('/assets/fonts/inter-var/Inter.var.woff2') format('woff2'); }
@font-face { font-family: Inter; font-weight: 100 900; font-display: swap; font-style: normal; src: url('/assets/fonts/inter-var/Inter.var.woff2') format('woff2'); }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
.layout { display: flex; flex-direction: column; width: 100%; min-width: 0; position: relative; flex: 0 1 auto; gap: 0; padding: 0; margin: 0; }
.grid-layout { display: grid; }
.content-block { position: relative; min-width: 0; max-width: 100%; }
.heading-text { padding: 0; margin: 0; line-height: 1; }
.site-header a, .site-main a, .site-footer a { box-shadow: none; text-decoration: none; }
.site-header iframe, .site-main iframe { border: 0; line-height: 1; margin: 0; max-width: 100%; width: 100%; }
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
.layout::before { position: absolute; inset: 0; width: 100%; height: 100%; opacity: var(--overlay-opacity, 1); pointer-events: none; }
.hero-video { position: absolute; inset: 0; overflow: hidden; }
.hero-video video { width: 100%; height: 100%; object-fit: cover; }
.hero-video::before { content: ''; position: absolute; inset: 0; z-index: 1; opacity: var(--overlay-opacity, 1); }
.hero-main, .hero-services { z-index: 1; }
.section-heading { position: relative; }
.section-heading a { color: inherit; }
.section-eyebrow { display: inline-block; vertical-align: middle; position: relative; line-height: 1; }
.section-title { display: flex; position: relative; margin: 0; padding: 0; }
.gallery-grid { display: flex; flex-wrap: wrap; position: relative; padding: 0; }
.gallery-item { width: 50%; flex: none; text-align: center; }
.gallery-image { display: block; position: relative; overflow: hidden; }
.gallery-image img { width: 100%; object-fit: cover; vertical-align: top; }
.project-card { position: relative; }
.project-card img { display: block; }
.logo-list { display: grid; grid-template-columns: repeat(5, 1fr); }
.menu-open { display: inline-flex; align-items: center; text-decoration: none; }
.menu-icon { display: inline-flex; }
.menu-icon svg { width: 1em; height: 1em; }
.header-brand .site-logo { display: block; width: 45rem; height: auto; object-fit: contain; }
.site-header-bar.is-transparent .site-logo { filter: brightness(0) invert(1); }
@media (max-width: 767px) { .site-header-bar.is-transparent .site-logo { filter: none; } }
@media (min-width: 640px) { .gallery-item { width: 33.3222%; } }
@media (min-width: 960px) { .gallery-item { width: 25%; } }
@media (min-width: 1025px) { .hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .hide-tablet { display: none !important; } .logos-tablet-two.logo-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .hide-mobile { display: none !important; } .layout { flex-wrap: wrap; } .logos-mobile-two.logo-list { grid-template-columns: repeat(2, 1fr); } }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (min-width: 960px) { .gallery-columns-3 .gallery-item { width: 33.3222%; } }
.section-heading > .section-title { display: flex; }
.section-eyebrow > span { display: inline-block; vertical-align: middle; }
.page-home .services-section .service-card { padding-block: 0; }
@media (max-width: 767px) {
  .page-home .services-section .service-card.is-first { padding-top: 6rem; }
  .page-home .services-section .service-item-title { margin-bottom: 1.5rem; }
}
.project-column-left > .project-card, .project-column-right > .project-card { margin-block-end: 0; }
.project-card { min-width: 0; max-width: 100%; }
.menu-open { border: 0; padding: 0; background: transparent; font: inherit; color: inherit; cursor: pointer; }
.hero .hero-main .hero-facts { margin-top: 0; top: 1.25rem; }
.page-production .hero .hero-main .hero-facts { top: 3.25rem; }
.site-body .site-main .clients-section { display: block; }
.client-logos.logo-list { flex: none; }
.logo-image { width: 100%; }
/* Direct grid images retain the original image widths and spaces between rows. */
.site-main .clients-section .client-logos.logo-list { column-gap: 12rem; row-gap: 36rem; padding-right: 12rem; padding-bottom: 36rem; }
.logo-list > .logo-image { display: block; align-self: start; width: 100%; height: auto; aspect-ratio: 1080 / 354; }
@media (max-width: 767px) {
  .site-main .clients-section .client-logos.logo-list { column-gap: 0; row-gap: 18rem; padding-right: 0; padding-bottom: 18rem; }
}
