/* Funnyeye — shared classes (used by 2+ components) */

.fe-inline-block {
max-width: 100%;
  display: inline-block;
}

.fe-container-w {
max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.fe-container-w:before, .fe-container-w:after {
content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.fe-container-w:after {
clear: both;
}

.fe-container-w .fe-row {
margin-left: -10px;
  margin-right: -10px;
}

.fe-row:before, .fe-row:after {
content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.fe-row:after {
clear: both;
}

.fe-row .fe-row {
margin-left: 0;
  margin-right: 0;
}

.fe-col {
float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}

.fe-col .fe-col {
padding-left: 0;
  padding-right: 0;
}

@media screen and (max-width: 991px) {
.w-container {
    max-width: 728px;
  }

  .w-hidden-main {
    display: inherit !important;
  }

  .w-hidden-medium {
    display: none !important;
  }

  .w-col-medium-1 {
    width: 8.33333%;
  }

  .w-col-medium-2 {
    width: 16.6667%;
  }

  .w-col-medium-3 {
    width: 25%;
  }

  .w-col-medium-4 {
    width: 33.3333%;
  }

  .w-col-medium-5 {
    width: 41.6667%;
  }

  .w-col-medium-6 {
    width: 50%;
  }

  .w-col-medium-7 {
    width: 58.3333%;
  }

  .w-col-medium-8 {
    width: 66.6667%;
  }

  .w-col-medium-9 {
    width: 75%;
  }

  .w-col-medium-10 {
    width: 83.3333%;
  }

  .w-col-medium-11 {
    width: 91.6667%;
  }

  .w-col-medium-12 {
    width: 100%;
  }

  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}

@media screen and (max-width: 767px) {
.w-hidden-main, .w-hidden-medium {
    display: inherit !important;
  }

  .w-hidden-small {
    display: none !important;
  }

  .w-row, .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }

  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }

  .w-col-small-1 {
    width: 8.33333%;
  }

  .w-col-small-2 {
    width: 16.6667%;
  }

  .w-col-small-3 {
    width: 25%;
  }

  .w-col-small-4 {
    width: 33.3333%;
  }

  .w-col-small-5 {
    width: 41.6667%;
  }

  .w-col-small-6 {
    width: 50%;
  }

  .w-col-small-7 {
    width: 58.3333%;
  }

  .w-col-small-8 {
    width: 66.6667%;
  }

  .w-col-small-9 {
    width: 75%;
  }

  .w-col-small-10 {
    width: 83.3333%;
  }

  .w-col-small-11 {
    width: 91.6667%;
  }

  .w-col-small-12 {
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
.w-container {
    max-width: none;
  }

  .w-hidden-main, .w-hidden-medium, .w-hidden-small {
    display: inherit !important;
  }

  .w-hidden-tiny {
    display: none !important;
  }

  .w-col {
    width: 100%;
  }

  .w-col-tiny-1 {
    width: 8.33333%;
  }

  .w-col-tiny-2 {
    width: 16.6667%;
  }

  .w-col-tiny-3 {
    width: 25%;
  }

  .w-col-tiny-4 {
    width: 33.3333%;
  }

  .w-col-tiny-5 {
    width: 41.6667%;
  }

  .w-col-tiny-6 {
    width: 50%;
  }

  .w-col-tiny-7 {
    width: 58.3333%;
  }

  .w-col-tiny-8 {
    width: 66.6667%;
  }

  .w-col-tiny-9 {
    width: 75%;
  }

  .w-col-tiny-10 {
    width: 83.3333%;
  }

  .w-col-tiny-11 {
    width: 91.6667%;
  }

  .w-col-tiny-12 {
    width: 100%;
  }
}

.fe-dropdown-link.fe-is-current {
color: #0082f3;
}

@media screen and (max-width: 767px) {
.w-nav-brand {
    padding-left: 10px;
  }
}

@media (min-width: 768px) {
.w-lightbox-content {
    height: 96vh;
    margin-top: 2vh;
  }

  .w-lightbox-view, .w-lightbox-view:before {
    height: 96vh;
  }

  .w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
    height: 84vh;
  }

  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh;
  }

  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh;
  }

  .w-lightbox-left, .w-lightbox-right {
    opacity: .5;
    display: block;
  }

  .w-lightbox-close {
    opacity: .8;
  }

  .w-lightbox-control:hover {
    opacity: 1;
  }
}

.fe-nav-link.fe-is-current {
color: #0082f3;
}

@media screen and (max-width: 991px) {
.w-nav[data-collapse="medium"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="medium"] .w-nav-button {
    display: block;
  }
}

@media screen and (max-width: 767px) {
.w-nav[data-collapse="small"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="small"] .w-nav-button {
    display: block;
  }

  .w-nav-brand {
    padding-left: 10px;
  }
}

@media screen and (max-width: 479px) {
.w-nav[data-collapse="tiny"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="tiny"] .w-nav-button {
    display: block;
  }
}

.fe-tab-link.fe-is-current {
background-color: #c8c8c8;
}

@media screen and (max-width: 479px) {
.w-tab-link {
    display: block;
  }
}

.fe-grid {
grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.fe-btn {
grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  background-color: var(--colors--white);
  color: var(--colors--black);
  justify-content: center;
  align-items: center;
  padding: .75rem;
  text-decoration: none;
  display: flex;
}

.fe-btn:where(.fe-btn-outline) {
background-color: #fff0;
  padding: 0;
}

.fe-btn:hover {
color: var(--colors--black);
}

.fe-btn.fe-btn-ghost {
background-color: #fff0;
  padding: 0;
}

.fe-btn.fe-btn-ghost.fe-text-invert {
color: var(--colors--white);
}

.fe-section {
padding: var(--spacing--section-top-and-bottom) var(--spacing--section-left-and-right);
  position: relative;
}

.fe-btn-label {
max-height: 1rem;
  overflow: hidden;
}

.fe-text-lg {
font-size: var(--font-sizes--body-text-large);
  letter-spacing: -1px;
  line-height: 120%;
  transition: opacity .2s;
}

.fe-wrap-md {
max-width: var(--containers--medium);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.fe-wrap-md.fe-mobile-only {
display: none;
}

/* Mobile (≤767px): reveal the mobile-only variants.  The desktop
   layout is shown by default above; below this breakpoint the
   mobile-only stack takes over (see services.js / any other
   consumer). */
@media (max-width: 767px) {
  .fe-wrap-md.fe-mobile-only {
    display: block;
  }
}

.fe-wrap-md.instructions {
grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  flex-flow: column;
  display: flex;
}

.fe-text-muted {
color: var(--colors--light-grey);
}

.fe-container {
max-width: var(--containers--medium);
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: .5rem;
  padding-bottom: .5rem;
  display: flex;
}

.fe-section-corners {
z-index: -1;
  pointer-events: none;
  position: absolute;
  inset: 0%;
}

.fe-corner-tl {
margin-top: 1rem;
  margin-left: 1rem;
  position: absolute;
  inset: 0% auto auto 0%;
}

.fe-corner-tr {
margin-top: 1rem;
  margin-right: 1rem;
  position: absolute;
  inset: 0% 0% auto auto;
}

.fe-corner-bl {
margin-bottom: 1rem;
  margin-left: 1rem;
  position: absolute;
  inset: auto auto 0% 0%;
}

.fe-corner-br {
margin-bottom: 1rem;
  margin-right: 1rem;
  position: absolute;
  inset: auto 0% 0% auto;
}

.fe-eyebrow {
color: var(--colors--grey);
  font-size: var(--font-sizes--body-text);
  letter-spacing: -.3px;
}

.fe-text-soft {
color: var(--colors--grey);
}

.fe-parallax {
position: relative;
  overflow: clip;
}

.fe-reveal {
z-index: 1;
  background-color: var(--colors--white);
  display: none;
  position: absolute;
  inset: 0%;
}

.fe-wrap-lg {
max-width: var(--containers--large);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.fe-indent-lg {
padding-left: 6rem;
}

.fe-indent-sm {
padding-left: 4rem;
}

.fe-text-semibold {
font-weight: 600;
}

@media screen and (min-width: 1280px) {
.page-hero-section, .hero-section {
    padding-top: 10rem;
  }

  .hero-image-wrapper {
    background-position: 50% 0;
  }

  .loading-mask {
    outline-offset: -800px;
  }

  .gallery-hero-section, .contact-hero-section, .work-hero-section {
    padding-top: 10rem;
  }
}

@media screen and (max-width: 991px) {
body {
    --fonts--geist: Geist, sans-serif;
    --colors--black: #000;
    --font-sizes--body-text: .875rem;
    --font-sizes--h1: 3.5rem;
    --font-sizes--h2: 2.75rem;
    --font-sizes--h3: 2.5rem;
    --font-sizes--h4: 2.25rem;
    --font-sizes--h5: 2rem;
    --font-sizes--h6: 1.75rem;
    --colors--grey: dimgrey;
    --colors--white: #fff;
    --spacing--section-top-and-bottom: 3rem;
    --spacing--section-left-and-right: 2.25rem;
    --colors--light-grey: #c8c8c8;
    --font-sizes--body-text-large: 2rem;
    --containers--medium: 1160px;
    --containers--large: 1400px;
    --containers--small: 680px;
  }

  .style-guide-grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-hero-section, .hero-section {
    padding-top: 20vw;
  }

  .home-hero-text-grid {
    grid-template-columns: 1fr;
  }

  .loading-mask {
    outline-offset: -350px;
    outline-width: 1000px;
  }

  .loading-mask-wrapper {
    display: none;
  }

  .story-section-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .gallery-hero-section {
    min-height: 100dvh;
  }

  .gallery-hero-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .gallery-hero-section-wrapper {
    min-height: 0;
  }

  .gallery-images-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .contact-hero-section {
    min-height: 100dvh;
    padding-top: 8rem;
  }

  .contact-hero-grid {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-columns: 2fr;
  }

  .contact-grid-left {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .work-hero-section {
    min-height: 100dvh;
    padding-top: 8rem;
  }
}

@media screen and (max-width: 767px) {
body {
    --fonts--geist: Geist, sans-serif;
    --colors--black: #000;
    --font-sizes--body-text: .875rem;
    --font-sizes--h1: 3rem;
    --font-sizes--h2: 2.5rem;
    --font-sizes--h3: 2.25rem;
    --font-sizes--h4: 2rem;
    --font-sizes--h5: 1.75rem;
    --font-sizes--h6: 1.5rem;
    --colors--grey: dimgrey;
    --colors--white: #fff;
    --spacing--section-top-and-bottom: 2rem;
    --spacing--section-left-and-right: 2rem;
    --colors--light-grey: #c8c8c8;
    --font-sizes--body-text-large: 1.75rem;
    --containers--medium: 1160px;
    --containers--large: 1400px;
    --containers--small: 680px;
  }

  .section {
    padding: var(--spacing--section-top-and-bottom) var(--spacing--section-left-and-right);
  }

  .page-hero-section, .hero-section {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .content-container-medium.desktop-hidden {
    display: block;
  }

  .about-section-grid {
    grid-template-columns: 1fr;
  }

  .work-card-wrapper {
    grid-template-columns: 1.25fr .5fr;
  }

  .work-card-image-wrapper.portrait, .sticky-content-container {
    display: none;
  }

  .process-grid {
    grid-template-columns: 1fr;
  }

  .cta-wrapper {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .footer-grid {
    grid-column-gap: 1.25rem;
    grid-row-gap: 2.05rem;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .nav-button-wrapper {
    margin-left: auto;
  }

  .mobile-service-card-wrapper {
    margin-top: 1.25rem;
  }

  .mobile-service-card-images {
    grid-template-rows: auto;
    margin-top: 1.25rem;
  }

  .story-section-grid {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }

  .philosophy-grid {
    grid-template-columns: 1fr;
  }

  .built-to-adapt {
    padding: var(--spacing--section-top-and-bottom) var(--spacing--section-left-and-right);
  }

  .who-we-work-with-grid, .awards-grid {
    grid-template-columns: 1fr;
  }

  .paragraph-text-left-padding-large {
    padding-left: 2rem;
  }

  .gallery-hero-section {
    padding-top: 8rem;
  }

  .gallery-hero-grid {
    grid-template-columns: 1fr 1fr;
    margin-top: 8rem;
  }

  .contact-hero-section, .work-hero-section {
    padding-top: 8rem;
  }

  .work-cms-grid {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    grid-template-columns: 1fr;
  }

  .work-cms-text-wrapper {
    grid-column-gap: 6rem;
    grid-row-gap: 6rem;
  }
}

@media screen and (max-width: 479px) {
body {
    --fonts--geist: Geist, sans-serif;
    --colors--black: #000;
    --font-sizes--body-text: .875rem;
    --font-sizes--h1: 2.75rem;
    --font-sizes--h2: 2.5rem;
    --font-sizes--h3: 2.25rem;
    --font-sizes--h4: 2rem;
    --font-sizes--h5: 1.75rem;
    --font-sizes--h6: 1.5rem;
    --colors--grey: dimgrey;
    --colors--white: #fff;
    --spacing--section-top-and-bottom: 2rem;
    --spacing--section-left-and-right: 1.75rem;
    --colors--light-grey: #c8c8c8;
    --font-sizes--body-text-large: 1.75rem;
    --containers--medium: 1160px;
    --containers--large: 1400px;
    --containers--small: 680px;
  }

  .section {
    padding: var(--spacing--section-top-and-bottom) var(--spacing--section-left-and-right);
  }

  .button-text-wrapper {
    max-height: 1rem;
  }

  .style-guide-grid {
    grid-template-columns: 1fr;
  }

  .page-hero-section, .hero-section {
    padding-top: 50vw;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .content-container-medium.desktop-hidden {
    display: block;
  }

  .about-section-grid {
    grid-row-gap: 2rem;
  }

  .about-section-images, .work-card-wrapper {
    grid-template-columns: 1.25fr;
  }

  .services-text {
    font-size: 18px;
  }

  .cta-wrapper {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .cta-heading {
    font-size: 18px;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mobile-service-card-images {
    grid-template-columns: 1fr;
  }

  .story-section-grid {
    grid-row-gap: 2rem;
    grid-template-rows: auto auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .philosophy-grid-right-text-wrapper {
    grid-template-columns: 1fr;
  }

  .built-to-adapt {
    padding: var(--spacing--section-top-and-bottom) var(--spacing--section-left-and-right);
  }

  .gallery-hero-section {
    padding-top: 50vw;
  }

  .gallery-images-grid, .contact-form {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 991px) {
#w-node-_38d97229-dd56-529b-1f75-56423463387c-34faa6d1 {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_6767c89f-08f3-d63c-7642-e4083510580f-34faa6d1 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-b5af40fe-202e-8b98-082a-9ab1b69700df-34faa6d1 {
    grid-area: 3 / 2 / 4 / 4;
  }

  #w-node-_199b780c-40ad-b131-9153-14271d1dd226-34faa6d1 {
    grid-area: 2 / 6 / 3 / 9;
  }

  #w-node-ee45bea8-4ec9-1ec7-e5a7-5a4e00483356-34faa6d1 {
    grid-area: 2 / 1 / 3 / 3;
  }

  #w-node-_52aa5d25-25a0-0e23-27f0-6e7fd38acf8d-34faa6d1 {
    grid-area: 3 / 6 / 4 / 8;
  }

  #w-node-_13785803-0847-dc84-0d95-73ed17fd58cc-34faa6d1 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_13785803-0847-dc84-0d95-73ed17fd58cf-34faa6d1 {
    grid-column: 7 / 9;
  }

  #w-node-_13785803-0847-dc84-0d95-73ed17fd58d2-34faa6d1 {
    grid-area: 2 / 6 / 3 / 8;
  }

  #w-node-cd3ea3e1-6602-c45a-4892-c01b9e63d677-34faa6d1, #w-node-_55faf01e-9ac8-16b8-4408-d248aa163f46-34faa6d1, #w-node-c0396831-5d46-eb20-3496-87930bff9e29-34faa6d1 {
    grid-area: 3 / 2 / 4 / 4;
  }

  #w-node-_38d97229-dd56-529b-1f75-56423463387c-970241cc {
    grid-area: 1 / 1 / 3 / 2;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde53-970241cc {
    grid-area: 2 / 1 / 3 / 9;
  }

  #w-node-_9cd8dc99-e808-ba5d-cfe7-4c50992bcdff-970241cc {
    grid-area: 3 / 6 / 4 / 9;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde59-970241cc {
    grid-area: 3 / 1 / 4 / 4;
    align-self: end;
  }
}

@media screen and (max-width: 767px) {
#w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde58-34faa6d1 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-ee45bea8-4ec9-1ec7-e5a7-5a4e00483356-34faa6d1 {
    grid-area: 1 / 1 / 2 / 3;
  }

  #w-node-c0396831-5d46-eb20-3496-87930bff9e2d-34faa6d1 {
    align-self: end;
  }

  #w-node-b62c503c-d3e4-cc80-3fd1-99d4a9e83305-a9e832f8 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-b62c503c-d3e4-cc80-3fd1-99d4a9e83307-a9e832f8, #w-node-b62c503c-d3e4-cc80-3fd1-99d4a9e8330c-a9e832f8, #w-node-b62c503c-d3e4-cc80-3fd1-99d4a9e83311-a9e832f8, #w-node-b62c503c-d3e4-cc80-3fd1-99d4a9e83316-a9e832f8, #w-node-b62c503c-d3e4-cc80-3fd1-99d4a9e8331b-a9e832f8 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde53-970241cc {
    grid-area: 2 / 1 / 3 / 6;
  }

  #w-node-_9cd8dc99-e808-ba5d-cfe7-4c50992bcdff-970241cc {
    grid-area: 3 / 1 / 4 / 4;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde59-970241cc {
    grid-area: 4 / 1 / 5 / 4;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde5e-970241cc {
    grid-area: 4 / 4 / 5 / 6;
  }

  #w-node-c6c23bfb-9cac-686f-8d40-cba2e7349a87-970241cc {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}

@media screen and (max-width: 479px) {
#w-node-b62c503c-d3e4-cc80-3fd1-99d4a9e83305-a9e832f8 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde53-970241cc {
    grid-area: 2 / 1 / 3 / 2;
  }

  #w-node-_9cd8dc99-e808-ba5d-cfe7-4c50992bcdff-970241cc {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde59-970241cc {
    grid-area: 4 / 1 / 5 / 2;
    align-self: end;
  }

  #w-node-_17b0fa18-0b9f-a2c3-e36a-8cc7a24cde5e-970241cc {
    grid-area: 5 / 1 / 6 / 2;
    place-self: end start;
  }

  #w-node-eab33d7d-4674-9c5a-b300-f4f79762b9ef-fddaf567, #w-node-_7c06c1fc-b45c-f3d0-3fd9-b5e5864ccbca-fddaf567, #w-node-d983b296-bbda-7e42-130d-4c23a729b59b-fddaf567, #w-node-d699f8ff-6c2f-2061-c72b-0bd24be9f290-fddaf567, #w-node-_755e4a61-8ff7-ccc7-3123-3d463f373226-c36d5822, #w-node-_9daecb2b-956c-879b-e19a-46008f144da7-c36d5822 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}

