/* Keeps project stills balanced after the hero video without touching embeds. */
.framer-b15zX .framer-dp67m5,
.framer-b15zX .framer-128mmnm,
.framer-b15zX .framer-1kwwqv3 {
  gap: clamp(12px, 1vw, 18px) !important;
  padding-left: clamp(15px, 1.6vw, 28px) !important;
  padding-right: clamp(15px, 1.6vw, 28px) !important;
  padding-bottom: clamp(12px, 1vw, 18px) !important;
}

.framer-b15zX .framer-x8tbsl,
.framer-b15zX .framer-1w9vcts,
.framer-b15zX .framer-mwi591 {
  gap: clamp(12px, 1vw, 18px) !important;
  width: min(100%, 1920px) !important;
  max-width: 1920px !important;
  margin-inline: auto !important;
}

.framer-b15zX .framer-pxj7xx,
.framer-b15zX .framer-1gq5smx,
.framer-b15zX .framer-1lu35wo,
.framer-b15zX .framer-1ngd0nw {
  border-radius: 8px !important;
  overflow: hidden !important;
}

.framer-b15zX .framer-yws4hq,
.framer-b15zX .framer-ubnd77,
.framer-b15zX .framer-oxt3yu,
.framer-b15zX .framer-o4pakz {
  width: 100% !important;
  height: 100% !important;
  flex: 1 1 auto !important;
}

.framer-b15zX .framer-yws4hq img,
.framer-b15zX .framer-ubnd77 img,
.framer-b15zX .framer-oxt3yu img,
.framer-b15zX .framer-o4pakz img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (min-width: 810px) {
  .framer-b15zX .framer-x8tbsl {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  .framer-b15zX .framer-pxj7xx,
  .framer-b15zX .framer-1gq5smx,
  .framer-b15zX .framer-1lu35wo,
  .framer-b15zX .framer-1ngd0nw {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
    aspect-ratio: 16 / 9 !important;
  }
}

@media (max-width: 809.98px) {
  .framer-b15zX .framer-dp67m5,
  .framer-b15zX .framer-128mmnm,
  .framer-b15zX .framer-1kwwqv3 {
    padding-left: 15px !important;
    padding-right: 15px !important;
    padding-bottom: 12px !important;
  }

  .framer-b15zX .framer-x8tbsl,
  .framer-b15zX .framer-1w9vcts,
  .framer-b15zX .framer-mwi591 {
    width: 100% !important;
    max-width: none !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .framer-b15zX .framer-pxj7xx,
  .framer-b15zX .framer-1gq5smx,
  .framer-b15zX .framer-1lu35wo,
  .framer-b15zX .framer-1ngd0nw {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
    aspect-ratio: 16 / 10 !important;
    border-radius: 6px !important;
  }
}

/* About page: keep the portrait freestanding and reduce the handoff gap. */
.framer-qtVkZ .framer-13sdz5a {
  padding-bottom: clamp(48px, 5vw, 72px) !important;
}

.framer-qtVkZ .framer-13sdz5a .framer-vzn8v9 {
  height: auto !important;
}

.framer-qtVkZ .framer-13sdz5a .framer-jd8n1c {
  overflow: visible !important;
}

.framer-qtVkZ .framer-13sdz5a .framer-qptiz1 {
  aspect-ratio: 2 / 3 !important;
  border-radius: 8px !important;
  flex: none !important;
  height: auto !important;
  overflow: hidden !important;
  width: min(100%, 560px) !important;
}

.framer-qtVkZ .framer-13sdz5a .framer-j4zr92 {
  flex: none !important;
  height: 100% !important;
  width: 100% !important;
}

.framer-qtVkZ .framer-13sdz5a .framer-j4zr92 img {
  object-position: center center !important;
}

@media (min-width: 1200px) {
  .framer-qtVkZ .framer-13sdz5a {
    padding-top: clamp(96px, 7vw, 120px) !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-vzn8v9 {
    align-items: start !important;
    display: grid !important;
    gap: clamp(34px, 4vw, 68px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 32vw) !important;
    max-width: 1480px !important;
    width: 100% !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-9waq2u {
    max-width: 980px !important;
    width: 100% !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-jd8n1c {
    justify-content: flex-end !important;
    width: 100% !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-qptiz1 {
    justify-self: end !important;
    max-width: 520px !important;
    width: 100% !important;
  }
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-qtVkZ .framer-13sdz5a {
    padding-bottom: 64px !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-vzn8v9 {
    gap: 28px !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-9waq2u {
    max-width: 100% !important;
    width: 100% !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-jd8n1c {
    justify-content: center !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-qptiz1 {
    max-width: 500px !important;
  }
}

@media (max-width: 809.98px) {
  .framer-qtVkZ .framer-13sdz5a {
    padding-bottom: 56px !important;
  }
}

/* Project pages: make the More Works strip behave like proper cards. */
.framer-b15zX .framer-1fxc526 {
  overflow: visible !important;
  padding: clamp(86px, 9vw, 150px) clamp(15px, 1.6vw, 28px) clamp(44px, 4vw, 64px) !important;
}

.framer-b15zX .framer-ybj1oe {
  display: grid !important;
  gap: clamp(12px, 1vw, 18px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 1920px !important;
  width: 100% !important;
}

.framer-b15zX .framer-qdxe3v {
  aspect-ratio: 16 / 9 !important;
  border-radius: 8px !important;
  display: block !important;
  flex: none !important;
  height: auto !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

.framer-b15zX .framer-ljudl5 {
  flex: none !important;
  height: 100% !important;
  width: 100% !important;
}

.framer-b15zX .framer-ljudl5 img {
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1) !important;
  transition: transform 450ms ease, filter 450ms ease !important;
  width: 100% !important;
}

.framer-b15zX .framer-qdxe3v::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, 0.58) 100%);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 260ms ease;
  z-index: 4;
}

.framer-b15zX .btf-work-card-title {
  bottom: clamp(12px, 1.2vw, 20px);
  color: #ffffff;
  font-family: "Switzer", "Switzer Placeholder", sans-serif;
  font-size: clamp(14px, 1vw, 18px);
  font-weight: 700;
  left: clamp(12px, 1.2vw, 20px);
  letter-spacing: 0;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  text-transform: uppercase;
  transform: translateY(10px);
  transition: opacity 260ms ease, transform 260ms ease;
  z-index: 5;
}

.framer-b15zX .framer-qdxe3v:hover::before,
.framer-b15zX .framer-qdxe3v:focus-visible::before {
  opacity: 1;
}

.framer-b15zX .framer-qdxe3v:hover .btf-work-card-title,
.framer-b15zX .framer-qdxe3v:focus-visible .btf-work-card-title {
  opacity: 1;
  transform: translateY(0);
}

.framer-b15zX .framer-qdxe3v:hover .framer-ljudl5 img,
.framer-b15zX .framer-qdxe3v:focus-visible .framer-ljudl5 img {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.035) !important;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-b15zX .framer-ybj1oe {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 809.98px) {
  .framer-b15zX .framer-1fxc526 {
    padding: 70px 15px 42px !important;
  }

  .framer-b15zX .framer-ybj1oe {
    grid-template-columns: 1fr !important;
  }

  .framer-b15zX .framer-qdxe3v {
    aspect-ratio: 16 / 10 !important;
    border-radius: 6px !important;
  }

  .framer-b15zX .framer-qdxe3v::before,
  .framer-b15zX .btf-work-card-title {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Site-wide polish pass: keep the cloned layout cleaner without touching embeds. */
.btf-hero-title {
  max-width: calc(100vw - 96px) !important;
  min-width: min(740px, calc(100vw - 96px)) !important;
  width: max-content !important;
}

.btf-hero-title .btf-hero-title-text {
  color: #ffffff !important;
  font-family: "Switzer", "Switzer Placeholder", sans-serif !important;
  font-size: clamp(34px, 4vw, 68px) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 0.88 !important;
  max-width: 100% !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  width: max-content !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
}

.btf-hero-title .btf-hero-name,
.btf-hero-title .btf-role-rotator {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
}

.btf-role-rotator {
  display: inline-block;
  min-width: 0;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 220ms ease, transform 220ms ease;
  will-change: opacity, transform;
}

.btf-role-rotator.is-changing {
  opacity: 0;
  transform: translateY(10px);
}

@media (min-width: 810px) {
  .framer-7mRd7 .framer-1aic3mm {
    bottom: auto !important;
    height: calc(100vh - 49px) !important;
    position: relative !important;
    top: auto !important;
  }

  .framer-7mRd7 .framer-1tz9qck {
    padding: clamp(44px, 4.2vw, 72px) 20px clamp(34px, 3.2vw, 52px) !important;
  }

  .framer-7mRd7 .framer-hujkdu {
    gap: clamp(14px, 1.3vw, 22px) !important;
  }

  .framer-7mRd7 .framer-14eprd5 {
    height: auto !important;
    min-height: clamp(780px, 56vw, 1040px) !important;
    padding: clamp(62px, 6vw, 112px) 20px !important;
  }

  .framer-7mRd7 .framer-14eprd5 .framer-1i0qe8m {
    align-items: center !important;
    display: flex !important;
    height: auto !important;
    justify-content: center !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  .framer-7mRd7 .framer-14eprd5 .framer-1gxf5zy-container {
    aspect-ratio: 16 / 9 !important;
    flex: none !important;
    height: auto !important;
    max-width: 1680px !important;
    width: min(100%, calc(100vw - 80px)) !important;
  }

  .framer-7mRd7 .framer-14eprd5 .framer-vimeo,
  .framer-7mRd7 .framer-14eprd5 #EodxkJ5FL {
    height: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 809.98px) {
  .btf-hero-title {
    max-width: calc(100vw - 44px) !important;
    min-width: 0 !important;
    width: calc(100vw - 44px) !important;
  }

  .btf-hero-title .btf-hero-title-text {
    font-size: clamp(27px, 8.7vw, 40px) !important;
    max-width: 100% !important;
  }

  .framer-7mRd7 .framer-1aic3mm {
    bottom: auto !important;
    min-height: calc(100vh - 49px) !important;
    position: relative !important;
    top: auto !important;
  }

  .framer-7mRd7 .framer-1tz9qck {
    padding: 34px 15px 30px !important;
  }

  .framer-7mRd7 .framer-14eprd5 {
    height: auto !important;
    min-height: 0 !important;
    padding: 46px 15px !important;
  }

  .framer-7mRd7 .framer-14eprd5 .framer-1gxf5zy-container {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    width: 100% !important;
  }
}

.framer-YvqX5 .framer-1dr7e5h .framer-1uynzkd span,
.framer-YvqX5 .framer-1dr7e5h .framer-osrpmt span {
  opacity: 1 !important;
  transform: none !important;
}

.framer-7mRd7 .framer-KOXa3.btf-work-card,
.framer-YvqX5 .framer-KOXa3.btf-work-card,
.framer-b15zX .framer-qdxe3v.btf-work-card {
  border-radius: 8px !important;
  isolation: isolate;
  overflow: hidden !important;
  position: relative !important;
}

.framer-7mRd7 .framer-KOXa3.btf-work-card::before,
.framer-YvqX5 .framer-KOXa3.btf-work-card::before,
.framer-b15zX .framer-qdxe3v.btf-work-card::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 34%, rgba(0, 0, 0, 0.68) 100%);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 260ms ease;
  z-index: 4;
}

.framer-7mRd7 .framer-KOXa3.btf-work-card img,
.framer-YvqX5 .framer-KOXa3.btf-work-card img,
.framer-b15zX .framer-qdxe3v.btf-work-card img {
  transition: filter 420ms ease, transform 420ms ease !important;
}

.btf-work-card .btf-work-card-title {
  bottom: clamp(12px, 1.2vw, 20px);
  color: #ffffff;
  display: inline-block;
  font-family: "Switzer", "Switzer Placeholder", sans-serif;
  font-size: clamp(14px, 0.95vw, 18px);
  font-weight: 800;
  left: clamp(12px, 1.2vw, 20px);
  letter-spacing: 0;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  text-transform: uppercase;
  transform: translateY(10px);
  transition: opacity 260ms ease, transform 260ms ease;
  z-index: 5;
}

.btf-work-card .btf-work-card-title::after {
  background: currentColor;
  bottom: -6px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 300ms ease 80ms;
  width: 100%;
}

.btf-work-card:hover::before,
.btf-work-card:focus-visible::before,
.btf-work-card:hover .btf-work-card-title,
.btf-work-card:focus-visible .btf-work-card-title {
  opacity: 1;
}

.btf-work-card:hover .btf-work-card-title,
.btf-work-card:focus-visible .btf-work-card-title {
  transform: translateY(0);
}

.btf-work-card:hover .btf-work-card-title::after,
.btf-work-card:focus-visible .btf-work-card-title::after {
  transform: scaleX(1);
}

.btf-work-card:hover img,
.btf-work-card:focus-visible img {
  filter: saturate(1.05) contrast(1.03);
  transform: scale(1.025) !important;
}

@media (max-width: 809.98px) {
  .btf-work-card::before,
  .btf-work-card .btf-work-card-title {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .btf-work-card .btf-work-card-title::after {
    transform: scaleX(1);
  }
}

@media (min-width: 1200px) {
  .framer-qtVkZ .framer-13sdz5a .framer-vzn8v9 {
    gap: clamp(38px, 4.2vw, 96px) !important;
    grid-template-columns: minmax(780px, 1fr) minmax(460px, 30vw) !important;
    max-width: min(100%, calc(100vw - 80px)) !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-9waq2u {
    max-width: 1320px !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-qptiz1 {
    max-width: clamp(500px, 25vw, 640px) !important;
  }
}

@media (min-width: 810px) {
  .framer-b15zX .framer-wsqo7 {
    align-items: start !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  .framer-b15zX .framer-uzbv6j,
  .framer-b15zX .framer-dp67m5,
  .framer-b15zX .framer-1fxc526 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .framer-b15zX .framer-128mmnm,
  .framer-b15zX .framer-1kwwqv3 {
    grid-column: auto !important;
    width: 100% !important;
  }

  .framer-b15zX .framer-1w9vcts,
  .framer-b15zX .framer-mwi591 {
    width: 100% !important;
  }

  .framer-b15zX .framer-1lu35wo,
  .framer-b15zX .framer-1ngd0nw {
    aspect-ratio: 16 / 9 !important;
  }

  .framer-b15zX .framer-1fxc526 {
    clear: both !important;
  }
}

.framer-aoszr .btf-footer-logo-link {
  cursor: pointer;
  outline: none;
  transition: background-color 220ms ease, filter 220ms ease, transform 220ms ease;
}

.framer-aoszr .btf-footer-logo-link:hover,
.framer-aoszr .btf-footer-logo-link:focus-visible {
  background-color: #000000;
  transform: translateY(-3px);
}

.framer-aoszr .btf-footer-logo-link:hover p,
.framer-aoszr .btf-footer-logo-link:focus-visible p {
  color: #ffffff !important;
}
