/*
 * Pattern: Stage hero (see README.md).
 * The page's opening: navy, a spotlight on the billing, the title in huge white capitals.
 */

:is(.biovid-main, .editor-styles-wrapper) .bv-hero {
	color: var(--bv-paper);
	background-color: var(--bv-stage);
	background-image:
		radial-gradient(38% 26% at 34% 74%, rgba(143, 214, 242, 0.24) 0%, rgba(143, 214, 242, 0.07) 50%, rgba(143, 214, 242, 0) 76%),
		radial-gradient(55% 60% at 100% -10%, rgba(1, 108, 211, 0.5) 0%, rgba(1, 108, 211, 0) 72%),
		linear-gradient(180deg, #0e2850 0%, var(--bv-stage) 55%, #0b2146 100%);
	overflow: hidden;
	padding: clamp(170px, 8vw + 110px, 250px) 0 clamp(100px, 8vw + 30px, 170px);
}

/* The spotlight's beam: a soft cone from a lamp above the stage, down onto the billing. */
:is(.biovid-main, .editor-styles-wrapper) .bv-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: conic-gradient(
		from 186deg at 60% -14%,
		rgba(143, 214, 242, 0) 0deg,
		rgba(143, 214, 242, 0.13) 8deg,
		rgba(143, 214, 242, 0.19) 17deg,
		rgba(143, 214, 242, 0.13) 26deg,
		rgba(143, 214, 242, 0) 34deg,
		rgba(143, 214, 242, 0) 360deg
	);
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, #000 52%, rgba(0, 0, 0, 0.35) 88%, transparent 100%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, #000 52%, rgba(0, 0, 0, 0.35) 88%, transparent 100%);
	pointer-events: none;
}

:is(.biovid-main, .editor-styles-wrapper) .bv-billing {
	font-size: var(--bv-label);
	font-weight: var(--bv-bold);
	letter-spacing: 0.34em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--bv-spot);
	margin-bottom: 1.5em;
}

:is(.biovid-main, .editor-styles-wrapper) .bv-hero-kicker {
	font-size: clamp(26px, 2.6vw + 10px, 54px);
	font-weight: var(--bv-regular);
	line-height: 1;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bv-paper);
	margin-bottom: 0.12em;
}

:is(.biovid-main, .editor-styles-wrapper) .bv-hero h1 {
	font-size: var(--bv-h1);
	font-weight: var(--bv-bold);
	line-height: 0.88;
	letter-spacing: -0.012em;
	text-transform: uppercase;
	color: var(--bv-paper);
	margin: 0 0 0.26em -0.04em;
	white-space: nowrap;
}

:is(.biovid-main, .editor-styles-wrapper) .bv-hero-tagline {
	font-size: clamp(20px, 1.1vw + 14px, 30px);
	font-style: italic;
	font-weight: var(--bv-regular);
	line-height: 1.3;
	color: rgba(255, 255, 255, 0.9);
	max-width: 30ch;
	margin-bottom: 2.1em;
	text-wrap: balance;
}

:is(.biovid-main, .editor-styles-wrapper) .bv-hero .wp-block-button__link:focus-visible {
	outline-color: var(--bv-paper);
}

/* On the stage, the text-link button is white. */
:is(.biovid-main, .editor-styles-wrapper) .bv-hero .bv-btn-text .wp-block-button__link,
:is(.biovid-main, .editor-styles-wrapper) .bv-hero .bv-btn-text .wp-block-button__link:hover {
	color: var(--bv-paper);
}

@media (max-width: 767px) {
	:is(.biovid-main, .editor-styles-wrapper) .bv-hero {
		padding-top: 140px;
	}

	/* Buttons keep their own width at every size; on a phone they stack, left-aligned. */
	:is(.biovid-main, .editor-styles-wrapper) .bv-hero .wp-block-buttons {
		flex-direction: column;
		align-items: flex-start;
	}
}
