@layer blocks {
  .premium-color-hero {
    --bevel-color: var(--theme-surface-primary);
    --hero-height: calc(100vh - var(--header-height, 0rem));
    background-color: var(--bevel-color);
  }
  @supports (height: 1svh) {
    .premium-color-hero {
      --hero-height: calc(100svh - var(--header-height, 0rem));
    }
  }
  .premium-color-hero__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: var(--hero-height);
    overflow: hidden;
  }
  .premium-color-hero__media {
    position: absolute;
    inset: 0;
    margin-inline: auto;
    z-index: 0;
    will-change: transform;
    box-sizing: content-box;
    margin-inline: auto;
    max-width: 100%;
  }
  @media (min-width: 1024px) {
    .premium-color-hero__media {
      max-width: 120rem;
    }
  }
  .premium-color-hero__media .video {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .premium-color-hero__media .video__player,
  .premium-color-hero__media .video__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .premium-color-hero__media .video__poster {
    z-index: 0;
  }
  .premium-color-hero__media .video__poster[data-visible=false] {
    opacity: 1;
    visibility: visible;
  }
  .premium-color-hero__media .video__player {
    z-index: 1;
    object-fit: cover;
  }
  .premium-color-hero__image {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .premium-color-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .premium-color-hero__content {
    position: relative;
    width: 100%;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
    padding: 3.5rem 0 1.5rem;
  }
  @media (min-width: 768px) {
    .premium-color-hero__content {
      padding: 3.5rem 0 2rem;
    }
  }
  @media (min-width: 1024px) {
    .premium-color-hero__content {
      padding: 3.5rem 3rem;
    }
  }
  .premium-color-hero__bevel {
    position: absolute;
    bottom: -0.5rem;
    left: -40%;
    width: 180%;
    height: calc(100% + 0.5rem);
    background-color: var(--bevel-color);
    border-radius: 50% 50% 0 0;
    transform-origin: bottom center;
    pointer-events: none;
    will-change: transform, border-radius;
  }
  @media (min-width: 1024px) {
    .premium-color-hero__bevel {
      left: -15%;
      width: 130%;
    }
  }
  .premium-color-hero__text {
    position: relative;
    z-index: 1;
    text-align: center;
    pointer-events: auto;
    will-change: opacity, transform;
  }
  .premium-color-hero__eyebrow {
    color: var(--theme-text-primary);
    font-weight: 600;
    margin-bottom: 1rem;
    letter-spacing: 0.02em;
  }
  .premium-color-hero__heading {
    color: var(--theme-text-primary);
    font-weight: 700;
    margin: 0;
    letter-spacing: -0.02em;
  }
  .premium-color-hero__color-code {
    color: var(--theme-text-primary);
    margin: 0;
    opacity: 0.9;
  }
  .premium-color-hero__cta-section {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    will-change: opacity, transform;
    margin-top: 3rem;
    width: 100%;
  }
  .premium-color-hero__cta-section:focus-within {
    opacity: 1 !important;
  }
  .premium-color-hero__cta-section .button {
    width: 100%;
  }
  .premium-color-hero__cta-section .button.primary.focus, .premium-color-hero__cta-section .button.primary:focus-visible, .premium-color-hero__cta-section .button.primary:hover {
    --background-color: var(--theme-interactive-primary-fill);
    --border-color: transparent;
    --color: var(--theme-interactive-primary-text);
  }
  .premium-color-hero__cta-section .button.primary.focus .icon, .premium-color-hero__cta-section .button.primary:focus-visible .icon, .premium-color-hero__cta-section .button.primary:hover .icon {
    --icon-color: var(--theme-interactive-primary-icon);
  }
  @media (min-width: 1024px) {
    .premium-color-hero__cta-section {
      position: absolute;
      bottom: 3.5rem;
      left: 1rem;
      margin-top: 0;
      width: fit-content;
    }
    .premium-color-hero--no-eyebrow .premium-color-hero__cta-section {
      bottom: 2.5rem;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .premium-color-hero__media, .premium-color-hero__bevel, .premium-color-hero__text, .premium-color-hero__cta-section {
      will-change: auto;
    }
    .premium-color-hero .video .video__player {
      display: none;
    }
  }
}