b2code-hero {
  display: block;
  align-self: start;
  width: 100%;
  min-width: 0;
  clip-path: ellipse(63% 104% at 37% -4%);
}

.page-layout {
  display: grid;
  grid-template-columns: clamp(420px, 38vw, 620px) minmax(0, 1fr);
  min-height: 100vh;
  min-height: 100dvh;
}

.visual-hero {
  width: 100%;
  height: clamp(280px, 23vw, 350px);
  overflow: hidden;
  background: #0a0a0a;
}

.visual-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-position-desktop, 50% 50%);
}

@media (max-width: 760px) {
  .page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  b2code-hero {
    width: min(96vw, 560px);
    clip-path: ellipse(68% 108% at 32% -8%);
  }

  .visual-hero { height: min(58vw, 260px); }
  .visual-hero__image { object-position: var(--hero-position-mobile, 50% 50%); }
}
