/* 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;
  }
}

/* Reel page: let the showreel actually command the page. */
.framer-lXGMo.framer-1r9muw9 {
  max-width: none !important;
  overflow-x: hidden !important;
  width: 100% !important;
}

.framer-lXGMo .framer-4ns304,
.framer-lXGMo .framer-1ynrhxo,
.framer-lXGMo .framer-rtn63w {
  width: 100% !important;
}

.framer-lXGMo .framer-1ynrhxo {
  padding: clamp(86px, 7vw, 118px) clamp(16px, 2vw, 40px) clamp(34px, 3vw, 58px) !important;
}

.framer-lXGMo .framer-rtn63w {
  gap: clamp(30px, 2.8vw, 52px) !important;
  padding-bottom: clamp(58px, 5vw, 96px) !important;
}

.framer-lXGMo .framer-1naimmt {
  width: 100% !important;
}

.framer-lXGMo .framer-1rojmvw-container {
  align-self: center !important;
  aspect-ratio: 16 / 9 !important;
  flex: none !important;
  height: auto !important;
  max-height: none !important;
  max-width: 1680px !important;
  width: min(100%, calc(100vw - 80px), 1680px) !important;
}

.framer-lXGMo .framer-1rojmvw-container .framer-vimeo,
.framer-lXGMo .framer-1rojmvw-container iframe,
.framer-lXGMo .framer-1rojmvw-container video {
  height: 100% !important;
  width: 100% !important;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-lXGMo .framer-1ynrhxo {
    padding: 96px 20px 42px !important;
  }

  .framer-lXGMo .framer-1rojmvw-container {
    width: min(100%, calc(100vw - 40px)) !important;
  }
}

@media (max-width: 809.98px) {
  .framer-lXGMo .framer-1ynrhxo {
    padding: 84px 15px 32px !important;
  }

  .framer-lXGMo .framer-rtn63w {
    gap: 24px !important;
    padding-bottom: 48px !important;
  }

  .framer-lXGMo .framer-1rojmvw-container {
    width: 100% !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 Work 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 .framer-qdxe3v:hover::before,
.framer-b15zX .framer-qdxe3v:focus-visible::before {
  opacity: 1;
}

.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(3, minmax(0, 1fr)) !important;
  }
}

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

  .framer-b15zX .framer-ybj1oe {
    gap: 4px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

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

  .framer-b15zX .framer-qdxe3v::before {
    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-7mRd7 .framer-1chbn5y,
.framer-7mRd7 .framer-1hcno77 {
  height: 145vh !important;
}

@media (max-width: 809.98px) {
  .framer-7mRd7 .framer-1chbn5y,
  .framer-7mRd7 .framer-1hcno77 {
    height: 135vh !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;
}

a.btf-work-card {
  color: inherit !important;
  display: block !important;
  overflow: hidden !important;
  position: relative !important;
  text-decoration: none !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:hover::before,
.btf-work-card:focus-visible::before {
  opacity: 0 !important;
}

.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 {
    opacity: 0 !important;
  }

  .framer-7mRd7 section[data-framer-name="Section Projects"] a[href*="/work/"] [data-framer-component-type="RichTextContainer"],
  .framer-7mRd7 section[data-framer-name="Section Projects"] a[href*="/work/"] .framer-text,
  .framer-YvqX5 a[href*="/work/"] [data-framer-component-type="RichTextContainer"],
  .framer-YvqX5 a[href*="/work/"] .framer-text,
  .framer-b15zX .framer-ybj1oe a[href*="/work/"] [data-framer-component-type="RichTextContainer"],
  .framer-b15zX .framer-ybj1oe a[href*="/work/"] .framer-text {
    display: none !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    visibility: hidden !important;
  }
}

.btf-work-card > .btf-work-card-title,
.btf-work-card .btf-hidden-card-caption,
.btf-hidden-card-caption,
[data-btf-caption-hidden="1"],
.framer-7mRd7 .btf-work-card [data-framer-component-type="RichTextContainer"],
.framer-YvqX5 .btf-work-card [data-framer-component-type="RichTextContainer"],
.framer-b15zX .btf-work-card [data-framer-component-type="RichTextContainer"],
.framer-7mRd7 .btf-work-card .framer-text,
.framer-YvqX5 .btf-work-card .framer-text,
.framer-b15zX .btf-work-card .framer-text,
.framer-b15zX .btf-work-card > .btf-work-card-title,
.framer-YvqX5 .btf-work-card > .btf-work-card-title,
.framer-7mRd7 .btf-work-card > .btf-work-card-title {
  display: none !important;
  height: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  visibility: hidden !important;
}

.framer-7mRd7 .btf-work-card::before,
.framer-YvqX5 .btf-work-card::before,
.framer-b15zX .btf-work-card::before,
.btf-work-card:hover::before,
.btf-work-card:focus-visible::before {
  display: none !important;
  opacity: 0 !important;
}

.btf-work-row-title.btf-work-row-title-text,
.btf-work-row-title .btf-work-row-title-text {
  display: inline-block !important;
  max-width: 100% !important;
  position: relative !important;
  text-decoration: none !important;
  width: fit-content !important;
}

.btf-work-row-title .btf-work-row-title-text span {
  text-decoration: none !important;
  animation-duration: 140ms !important;
  transition-delay: 0ms !important;
  transition-duration: 140ms !important;
}

.btf-work-row-title,
.btf-work-row-title *,
.btf-work-row-title .btf-work-row-title-text,
.btf-work-row-title .btf-work-row-title-text span {
  animation-duration: 140ms !important;
  transition-duration: 140ms !important;
}

.btf-title-fast .btf-work-row-title-text span,
.btf-title-fast .btf-work-row-title-text span span {
  animation-delay: 0ms !important;
  animation-duration: 140ms !important;
  transition: opacity 140ms ease, transform 140ms cubic-bezier(.19, 1, .22, 1) !important;
  transition-delay: 0ms !important;
}

.btf-work-row-title.btf-work-row-title-text::after,
.btf-work-row-title .btf-work-row-title-text::after {
  background: currentColor !important;
  bottom: -6px !important;
  content: "" !important;
  height: 2px !important;
  left: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform 900ms cubic-bezier(.19, 1, .22, 1) !important;
  will-change: transform !important;
}

.btf-work-row.btf-work-row-active + .btf-work-row-title .btf-work-row-title-text::after,
.btf-work-row:hover + .btf-work-row-title .btf-work-row-title-text::after,
.btf-work-row:has(a:hover) + .btf-work-row-title .btf-work-row-title-text::after,
.framer-7mRd7 section[data-framer-name="Section Projects"]:has(.btf-work-card:hover) .btf-work-row-title .btf-work-row-title-text::after,
.framer-7mRd7 section[data-framer-name="Section Projects"]:has(.btf-work-card:focus-visible) .btf-work-row-title .btf-work-row-title-text::after,
.btf-work-row-title.btf-title-active.btf-work-row-title-text::after,
.btf-work-row-title.btf-title-active .btf-work-row-title-text::after,
.btf-work-row-title:hover.btf-work-row-title-text::after,
.btf-work-row-title:hover .btf-work-row-title-text::after {
  transform: scaleX(1) !important;
}

@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 .framer-pp57fj {
  position: relative !important;
}

.framer-aoszr .btf-footer-wordmark {
  cursor: default !important;
}

.framer-aoszr .btf-footer-wordmark,
.framer-aoszr .btf-footer-wordmark:hover,
.framer-aoszr .btf-footer-wordmark:focus-visible {
  background-color: transparent !important;
  filter: none !important;
  outline: none !important;
  transform: none !important;
}

.framer-aoszr .btf-footer-wordmark p,
.framer-aoszr .btf-footer-wordmark:hover p,
.framer-aoszr .btf-footer-wordmark:focus-visible p {
  color: inherit !important;
}

html.btf-contact-route,
body.btf-contact-route,
body.btf-contact-route .framer-oTjzd.framer-61muh2,
body.btf-contact-route .framer-oTjzd .framer-kxohxf {
  background: #ffffff !important;
}

body.btf-contact-route .framer-oTjzd .framer-1v11eav {
  display: none !important;
}

.btf-contact-panel {
  background: #ffffff !important;
  color: #000000 !important;
  display: block !important;
  padding: clamp(160px, 18vw, 240px) 20px clamp(60px, 8vw, 110px) !important;
  width: 100% !important;
}

.btf-contact-inner {
  margin: 0 auto !important;
  max-width: 1080px !important;
  width: 100% !important;
}

.btf-contact-panel h1 {
  color: #000000 !important;
  font-family: "Switzer", "Switzer Placeholder", Arial, sans-serif !important;
  font-size: clamp(46px, 7vw, 96px) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 0.92 !important;
  margin: 0 0 clamp(42px, 5vw, 80px) !important;
  text-transform: uppercase !important;
}

.btf-contact-links {
  display: grid !important;
  gap: 0 !important;
  margin-bottom: clamp(76px, 8vw, 120px) !important;
  width: 100% !important;
}

.btf-contact-row {
  align-items: center !important;
  border-bottom: 2px solid #000000 !important;
  color: #000000 !important;
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1fr) 30px !important;
  min-height: 74px !important;
  padding: 18px 0 !important;
  text-decoration: none !important;
  width: 100% !important;
}

.btf-contact-label,
.btf-contact-value,
.btf-contact-arrow {
  color: #000000 !important;
  font-family: "Switzer", "Switzer Placeholder", Arial, sans-serif !important;
  font-size: clamp(18px, 1.6vw, 25px) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.btf-contact-value {
  justify-self: start !important;
  min-width: 0 !important;
}

.btf-contact-email-text {
  overflow-wrap: normal !important;
  text-wrap: nowrap !important;
  white-space: nowrap !important;
  word-break: normal !important;
}

.btf-contact-arrow {
  font-size: clamp(22px, 2vw, 32px) !important;
  justify-self: end !important;
}

.btf-contact-image-link {
  border-radius: 8px !important;
  color: #ffffff !important;
  display: block !important;
  min-height: clamp(280px, 44vw, 520px) !important;
  overflow: hidden !important;
  position: relative !important;
  text-decoration: none !important;
  width: 100% !important;
}

.btf-contact-image-link::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.5)) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1 !important;
}

.btf-contact-image-link img {
  display: block !important;
  height: 100% !important;
  inset: 0 !important;
  object-fit: cover !important;
  position: absolute !important;
  width: 100% !important;
}

.btf-contact-image-link span {
  bottom: clamp(24px, 4vw, 54px) !important;
  color: #ffffff !important;
  display: block !important;
  font-family: "Switzer", "Switzer Placeholder", Arial, sans-serif !important;
  font-size: clamp(42px, 8vw, 92px) !important;
  font-weight: 900 !important;
  left: clamp(22px, 4vw, 56px) !important;
  letter-spacing: 0 !important;
  line-height: 0.9 !important;
  max-width: min(760px, 78%) !important;
  position: absolute !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
}

@media (max-width: 809.98px) {
  .btf-contact-panel {
    padding: 230px 20px 72px !important;
  }

  .btf-contact-panel h1 {
    font-size: 46px !important;
    margin-bottom: 44px !important;
  }

  .btf-contact-links {
    margin-bottom: 86px !important;
  }

  .btf-contact-row {
    gap: 10px !important;
    grid-template-columns: 92px minmax(0, 1fr) 24px !important;
    min-height: 74px !important;
    padding: 16px 0 !important;
  }

  .btf-contact-label,
  .btf-contact-value,
  .btf-contact-arrow {
    font-size: 15px !important;
  }

  .btf-contact-panel .btf-contact-email-text {
    font-size: clamp(10px, 3.25vw, 13px) !important;
    max-width: calc(100vw - 158px) !important;
  }

  .btf-contact-image-link {
    min-height: 420px !important;
  }

  .btf-contact-image-link span {
    bottom: 26px !important;
    font-size: clamp(38px, 11vw, 48px) !important;
    left: 28px !important;
    max-width: 82% !important;
  }

  .btf-contact-email-row {
    min-width: 0 !important;
  }

  .btf-contact-email-text,
  .btf-contact-email-text .framer-text,
  .btf-contact-email-text span {
    display: block !important;
    font-size: clamp(9px, 2.65vw, 12px) !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
    max-width: calc(100vw - 190px) !important;
    overflow-wrap: normal !important;
    text-wrap: nowrap !important;
    white-space: nowrap !important;
    word-break: normal !important;
  }
}

/* Final project-card pass: square media, row-title underline, More Work title overlay. */
.framer-7mRd7 a[href*="/work/"],
.framer-YvqX5 a[href*="/work/"],
.framer-b15zX a[href*="/work/"],
.framer-7mRd7 a[href*="/work/"] *,
.framer-YvqX5 a[href*="/work/"] *,
.framer-b15zX a[href*="/work/"] *,
.framer-7mRd7 a[href*="/work/"] [data-framer-background-image-wrapper],
.framer-YvqX5 a[href*="/work/"] [data-framer-background-image-wrapper],
.framer-b15zX a[href*="/work/"] [data-framer-background-image-wrapper],
.framer-7mRd7 a[href*="/work/"] img,
.framer-YvqX5 a[href*="/work/"] img,
.framer-b15zX a[href*="/work/"] img {
  border-radius: 0 !important;
  corner-shape: unset !important;
}

.framer-7mRd7 .framer-KOXa3.btf-work-card,
.framer-YvqX5 .framer-KOXa3.btf-work-card,
.framer-b15zX .framer-qdxe3v.btf-work-card,
.framer-b15zX .framer-qdxe3v.btf-generated-more-work {
  border-radius: 0 !important;
  corner-shape: unset !important;
}

.framer-b15zX .btf-work-card {
  isolation: isolate !important;
}

.framer-b15zX .btf-work-card::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 36%, rgba(0, 0, 0, 0.7) 100%) !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  transition: opacity 420ms ease !important;
  z-index: 5 !important;
}

.framer-b15zX .btf-more-work-card-title {
  bottom: clamp(12px, 1.1vw, 18px) !important;
  color: #ffffff !important;
  display: block !important;
  font-family: "Switzer", "Switzer Placeholder", Arial, sans-serif !important;
  font-size: clamp(14px, 1.2vw, 21px) !important;
  font-weight: 900 !important;
  left: clamp(12px, 1.1vw, 18px) !important;
  letter-spacing: 0 !important;
  line-height: 0.94 !important;
  max-width: calc(100% - 32px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  text-transform: uppercase !important;
  transform: translateY(12px) !important;
  transition: opacity 520ms ease, transform 520ms cubic-bezier(.19, 1, .22, 1) !important;
  visibility: visible !important;
  z-index: 6 !important;
}

.framer-b15zX .btf-work-card:hover::after,
.framer-b15zX .btf-work-card:focus-visible::after {
  opacity: 1 !important;
}

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

@media (max-width: 809.98px) {
  .framer-b15zX .btf-more-work-card-title {
    font-size: clamp(17px, 5.2vw, 24px) !important;
  }
}

.framer-b15zX .framer-12g7wgu,
.framer-b15zX .framer-12g7wgu .framer-text {
  color: #000000 !important;
  font-family: "Switzer", "Switzer Placeholder", Arial, sans-serif !important;
  font-size: clamp(36px, 3.85vw, 46px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.4px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.framer-b15zX .framer-ybj1oe {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html,
body {
  scroll-behavior: auto !important;
}

/* About page: keep headline words intact while the image/text layout scales. */
.framer-qtVkZ .framer-13sdz5a .framer-9waq2u,
.framer-qtVkZ .framer-13sdz5a .framer-9waq2u *,
.framer-qtVkZ .framer-13sdz5a .framer-9waq2u .framer-text {
  hyphens: manual !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  word-wrap: normal !important;
}

.framer-qtVkZ .framer-13sdz5a .framer-9waq2u {
  min-width: 0 !important;
}

.framer-qtVkZ .framer-13sdz5a .framer-9waq2u .framer-text > span {
  white-space: nowrap !important;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .framer-qtVkZ .framer-13sdz5a .framer-vzn8v9 {
    gap: clamp(22px, 2.4vw, 38px) !important;
    grid-template-columns: minmax(0, 1fr) clamp(280px, 25vw, 360px) !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-9waq2u .framer-text {
    font-size: clamp(40px, 4.05vw, 56px) !important;
    line-height: 0.9 !important;
  }

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

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-qtVkZ .framer-13sdz5a .framer-vzn8v9 {
    height: auto !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-9waq2u .framer-text {
    font-size: clamp(38px, 5.2vw, 56px) !important;
    line-height: 0.9 !important;
  }
}

@media (max-width: 809.98px) {
  .framer-qtVkZ .framer-13sdz5a .framer-9waq2u .framer-text {
    font-size: clamp(29px, 8.9vw, 42px) !important;
    line-height: 0.92 !important;
  }
}

/* About page: stop the desktop hero from stretching the portrait to the far edge. */
@media (min-width: 1400px) {
  .framer-qtVkZ .framer-13sdz5a {
    justify-content: flex-start !important;
    padding-bottom: clamp(28px, 3vw, 48px) !important;
    padding-left: clamp(24px, 3.2vw, 68px) !important;
    padding-right: clamp(24px, 3.2vw, 68px) !important;
  }

  .framer-qtVkZ .framer-13sdz5a .framer-vzn8v9 {
    flex: 0 1 min(1560px, calc(100vw - 96px)) !important;
    gap: clamp(48px, 4vw, 78px) !important;
    grid-template-columns: minmax(0, 1fr) clamp(430px, 25vw, 540px) !important;
    justify-content: start !important;
    max-width: 1560px !important;
    width: min(1560px, calc(100vw - 96px)) !important;
  }

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

  .framer-qtVkZ .framer-13sdz5a .framer-qptiz1 {
    justify-self: start !important;
    max-width: 540px !important;
  }
}

/* About page: shift the desktop portrait slightly right for a more balanced composition. */
@media (min-width: 1200px) {
  .framer-qtVkZ .framer-13sdz5a .framer-jd8n1c {
    left: clamp(52px, 4.5vw, 88px) !important;
    position: relative !important;
  }
}
