.videoCallout { --columns: 1; margin: 0; display: grid; grid-template-columns: repeat(var(--columns), minmax(0, 1fr)); gap: 32px; background-color: var(--black); border-radius: 6px; overflow: hidden; @media (--medium-up) { --columns: 12; } } .thumbnail { position: relative; display: grid; place-items: center; grid-column: 1 / -1; background-color: transparent; border: 0; cursor: pointer; padding: 96px 32px; min-height: 300px; @media (--medium-up) { grid-column: 1 / 7; } @media (--large) { grid-column: 1 / 9; } & > svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; @media (--small) { width: 52px; height: 52px; } } &::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.45; transition: opacity ease-in-out 0.2s; } &:hover::after { opacity: 0.2; } } .content { padding: 32px; grid-column: 1 / -1; @media (--medium-up) { padding: 80px 32px; grid-column: 7 / -1; } @media (--large) { grid-column: 9 / -1; } } .heading { margin: 0; composes: g-type-display-4 from global; color: var(--white); } .description { margin: 8px 0 0; composes: g-type-body-small from global; color: var(--white); } .person { margin-top: 64px; display: flex; align-items: center; gap: 16px; } .personThumbnail { display: flex; border-radius: 9999px; overflow: hidden; } .personName { margin: 0; composes: g-type-body-strong from global; color: var(--white); } .personDescription { margin: 4px 0 0; composes: g-type-label-strong from global; color: var(--gray-3); } .videoHeading { margin-top: 0; margin-bottom: 32px; padding-right: 100px; composes: g-type-display-4 from global; } .video { position: relative; background-color: var(--gray-2); aspect-ratio: 16 / 9; }