#__framer-badge-container { display: none !important; }
/* Remove the two rotating Product Design decorative circles. */
.framer-10ah1r8-container, .framer-104ndvn-container { display: none !important; }
#contact { scroll-margin-top: 110px; }
.company-logo-added { flex: none; width: 200px; height: 100px; display: flex; align-items: center; justify-content: center; }
.company-logo-added img { width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); opacity: .4; }
/* Projects are a fixed gallery: all four cards are visible, without carousel controls. */
section[aria-roledescription="carousel"] { overflow: visible !important; height: auto !important; min-height: 0 !important; }
ul.framer--carousel {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  scroll-snap-type: none !important;
}
ul.framer--carousel > li { width: auto !important; min-width: 0 !important; flex: initial !important; scroll-snap-align: none !important; }
ul.framer--carousel > li > * { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
ul.framer--carousel > li > * > :first-child {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
}
ul.framer--carousel > li > * > :first-child [data-framer-background-image-wrapper] { background-size: cover !important; background-position: center !important; }
ul.framer--carousel > li > * > :first-child img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
/* Preserve the Just logo when its wide source image is cropped into the card frame. */
ul.framer--carousel .framer-1gm2xup .framer-1njgrwt [data-framer-background-image-wrapper] { background-position: right top !important; }
.framer--carousel-controls { display: none !important; }
@media (min-width: 1000px) {
  #projects .framer-ltg4a4-container,
  #projects section[aria-roledescription="carousel"] {
    width: calc(100vw - 96px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (max-width: 1439.98px) { ul.framer--carousel { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 809.98px) {
  /* Framer's original mobile layout reserves space for three cards. Let the
     section grow after the fourth card is added on hydration. */
  #projects,
  #projects .framer-ltg4a4-container,
  #projects section[aria-roledescription="carousel"] {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  #projects ul.framer--carousel {
    grid-template-columns: 1fr !important;
    padding-bottom: 24px !important;
  }

  /* The Framer menu switches variants when tapped; animate that switch rather
     than replacing its native links or interaction model. */
  .framer-3ymHI.framer-1e6yynk {
    transition: height 360ms cubic-bezier(.22, 1, .36, 1),
      padding 360ms cubic-bezier(.22, 1, .36, 1),
      box-shadow 260ms ease;
  }
  .framer-3ymHI .framer-1uzatj6 {
    transition: transform 280ms cubic-bezier(.22, 1, .36, 1);
  }
  .framer-3ymHI.framer-v-gify6z .framer-1uzatj6 { transform: rotate(180deg); }
  .framer-3ymHI.framer-v-gify6z .framer-fd2dzy { animation: mobile-menu-links-in 260ms 70ms both cubic-bezier(.22, 1, .36, 1); }

  .company-logo-added { width: 174px; height: 90px; }
  .company-logo-added[data-company-group="2"], .company-logo-added[data-company-group="3"] { display: none; }
}
@keyframes mobile-menu-links-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
.contact-status { font: 16px/1.5 sans-serif; margin: 12px 0 0; }
.contact-status[data-error="true"] { color: #a52121; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
