/* The corrected menu replaces Framer's original template overlay on mobile. */
@media (max-width: 809.98px) {
  .framer-NQb12.framer-y9etlm,
  .framer-NQb12.framer-15dr1mr-container,
  .framer-Qacjr.framer-m6prgs,
  .framer-Qacjr.framer-1rtz9xp-container {
    display: none !important;
  }
}

/* Seven-project homepage carousel, built from the site's existing project card. */
.framer-1w87mei-container.bp-home-carousel-ready > :not(.bp-home-carousel) { display: none !important; }
.bp-home-carousel { position: relative; width: 100%; height: 100%; min-height: 520px; overflow: hidden; background: #fff; color: #000; }
.bp-home-carousel__intro { position: absolute; z-index: 3; top: 24px; left: 20px; right: 20px; margin: 0; font-family: "Roboto Mono", monospace; font-size: 12px; font-weight: 400; line-height: 1.5; }
.bp-home-carousel__track { display: flex; align-items: center; gap: 5px; width: 100%; height: 100%; padding: 66px 20px 20px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: none; }
.bp-home-carousel__track::-webkit-scrollbar { display: none; }
.bp-home-carousel__item { flex: 0 0 min(380px, 82vw); min-width: 0; scroll-snap-align: start; }
.bp-home-carousel__item > a { display: block !important; width: 100% !important; opacity: 1 !important; }
.bp-home-carousel__item video { pointer-events: none; }
@media (max-width: 809.98px) {
  .bp-home-carousel { min-height: 500px; }
  .bp-home-carousel__intro { left: 16px; right: 16px; }
  .bp-home-carousel__track { padding-left: 16px; padding-right: 16px; }
  .bp-home-carousel__item { flex-basis: 84vw; }
}

/* Correct portfolio navigation rendered in place of the template's mobile menu. */
.bp-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 20px 16px 24px;
  background: #000;
  color: #fff;
  font-family: "Roboto Mono", monospace;
}

.bp-mobile-menu[hidden] { display: none; }

.bp-mobile-menu__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 12px;
  line-height: 1.5;
}

.bp-mobile-menu__brand,
.bp-mobile-menu__close,
.bp-mobile-menu__link {
  color: inherit;
  text-decoration: none;
}

.bp-mobile-menu__close {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.bp-mobile-menu__links {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4px;
  padding: 56px 0;
}

.bp-mobile-menu__link {
  border-bottom: 1px solid currentColor;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(34px, 10vw, 48px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.bp-mobile-menu__footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  font-size: 12px;
  line-height: 1.5;
}

@media (min-width: 810px) {
  .bp-mobile-menu { display: none !important; }
}


.bp-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Homepage-only introduction and additional work feature. */
.bp-home-feature {
  position: relative;
  z-index: 2;
  padding: clamp(56px, 8vw, 112px) 20px clamp(72px, 10vw, 140px);
  background: #fff;
  color: #000;
}
.bp-home-feature__intro {
  max-width: 980px;
  margin: 0 0 clamp(38px, 6vw, 72px);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(30px, 4.5vw, 64px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.045em;
}
.bp-home-feature__card { display: grid; grid-template-columns: 1fr auto; gap: 10px 24px; color: #000; text-decoration: none; }
.bp-home-feature__card img { grid-column: 1 / -1; width: 100%; aspect-ratio: 16 / 7; object-fit: cover; background: #ddd; }
.bp-home-feature__title,
.bp-home-feature__tags { font-family: "Roboto Mono", monospace; font-size: 12px; line-height: 1.5; }
.bp-home-feature__tags { color: #707070; text-align: right; }
@media (max-width: 809.98px) {
  .bp-home-feature { padding: 48px 16px 80px; }
  .bp-home-feature__card { grid-template-columns: 1fr; }
  .bp-home-feature__card img { aspect-ratio: 4 / 3; }
  .bp-home-feature__tags { text-align: left; }
}
