/* Launch Day 2026 foundry blocks: concatenation of each block's custom-css-snippet.css from the
   harrison-block-developer repo. Enqueued by mu-plugins/launch-day-blocks.php at priority 20. */

/* ==================== intro-split-block ==================== */
/* foundry: intro-split-block (Frontier 2026 "Why we're doing this").
   Reused: .container.container--md, .h2 (element + family), .font-rules.
   Added: 5fr/7fr two-column grid (64px gap), royal kicker, 44px heading,
   19px grey paragraphs with a 24px gap. White ground (theme default).
   Scoped to .intro-split--frontier; nothing else can match. */
.intro-split-block.intro-split--frontier {
	padding-block: 104px;
	background: #fff;
}
.intro-split--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.intro-split--frontier .intro-split-f__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 64px;
	align-items: start;
	color: #000f5b;
}
.intro-split--frontier .intro-split-f__kicker {
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .01em;
	color: #0972f1;
}
.intro-split--frontier .intro-split-f__right {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.intro-split--frontier .intro-split-f__title {
	margin: 0;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #000f5b;
}
.intro-split--frontier .intro-split-f__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.intro-split--frontier .intro-split-f__body p {
	margin: 0;
	font-size: 19px;
	line-height: 1.6;
	color: #555;
}
.intro-split--frontier .intro-split-f__body a {
	color: #0972f1;
}
@media (max-width: 900px) {
	.intro-split-block.intro-split--frontier {
		padding-block: 64px;
	}
	.intro-split--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.intro-split--frontier .intro-split-f__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
	.intro-split--frontier .intro-split-f__title {
		font-size: 32px;
	}
}


/* ==================== countdown-block ==================== */
/* foundry: countdown-block extension (label, expired_message) — new
   selectors only; the block's existing .clockdiv/.raise__title/.smalltext/
   .text-gradient/.b2 treatment is untouched and reused as-is for both. */
.countdown-block__label {
	margin-bottom: 12px;
	text-align: center;
}
.countdown-block__expired {
	text-align: center;
}

/* foundry: countdown-block frontier design (Frontier 2026 / Niven's mock).
   Opt-in via block_design (class countdown--frontier); all selectors new and
   scoped to it, so existing countdown-block instances keep the original
   gradient-digit look. Reused: .container.container--md, .font-rules.
   Added because the theme has no equivalent: the #f7f7f7 band with a bottom
   rule (theme bg-light-gray is #f1f1f1 and carries no border), solid-navy
   56px digits (the classic digits are gradient text), and the calendar line. */
.countdown-block.countdown--frontier {
	background: #f7f7f7;
	border-bottom: 1px solid #e4e4e4;
	padding-block: 72px;
}
.countdown--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.countdown--frontier .countdown-f__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	text-align: center;
	color: #000f5b;
}
.countdown--frontier .countdown-f__kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .01em;
	line-height: 1.4;
	color: #0972f1;
}
.countdown--frontier .countdown-f__count {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	max-width: 720px;
}
.countdown--frontier .countdown-f__count div {
	text-align: center;
}
.countdown--frontier .countdown-f__count b {
	display: block;
	font-size: 56px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.02em;
	color: #000f5b;
	font-variant-numeric: tabular-nums;
}
.countdown--frontier .countdown-f__count small {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	color: #555;
}
.countdown--frontier .countdown-f__expired {
	margin: 0;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	color: #000f5b;
}
.countdown--frontier .countdown-f__date {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}
.countdown--frontier .countdown-f__date a {
	color: #0972f1;
	text-decoration: underline;
}
.countdown--frontier .countdown-f__date a:hover {
	color: #0057e0;
}
@media (max-width: 900px) {
	.countdown-block.countdown--frontier {
		padding-block: 48px;
	}
	.countdown--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.countdown--frontier .countdown-f__count {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.countdown--frontier .countdown-f__count b {
		font-size: 44px;
	}
}
/* foundry: countdown-block frontier digits — proportional figures (additive
   fix, appended after the frontier design section). tabular-nums made the
   theme font render slashed zeros ("00", "10"); Niven's mock uses plain
   proportional digits. Only the frontier variant is touched. */
.countdown--frontier .countdown-f__count b {
	font-variant-numeric: normal;
}
/* foundry: countdown-block frontier sessions (multi-session mode: session chips +
   per-session date line). Additive and Frontier-scoped: every selector hangs off
   .countdown--frontier / .countdown-f__* so classic and single-date instances are
   untouched. Chips are pill buttons in the Frontier palette (navy #000f5b, royal
   #0972f1); the active chip is solid navy. */
.countdown--frontier .countdown-f__sessions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 4px;
}
.countdown--frontier .countdown-f__chip {
	appearance: none;
	cursor: pointer;
	padding: 10px 20px;
	border: 1px solid #cfd8ee;
	border-radius: 999px;
	background: #fff;
	color: #000f5b;
	font: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.countdown--frontier .countdown-f__chip strong {
	font-weight: 600;
}
.countdown--frontier .countdown-f__chip:hover {
	border-color: #0972f1;
}
.countdown--frontier .countdown-f__chip:focus-visible {
	outline: 2px solid #0972f1;
	outline-offset: 2px;
}
.countdown--frontier .countdown-f__chip.is-active {
	background: #000f5b;
	border-color: #000f5b;
	color: #fff;
}
.countdown--frontier .countdown-f__date [hidden] {
	display: none;
}
@media (max-width: 600px) {
	.countdown--frontier .countdown-f__sessions {
		flex-direction: column;
		width: 100%;
	}
	.countdown--frontier .countdown-f__chip {
		width: 100%;
		text-align: center;
	}
}


/* ==================== expect-rings-block ==================== */
/* foundry: expect-rings-block (Frontier 2026 "What to expect").
   Reused from the theme: .container.container--md, .h2/.h3 (element + family),
   .font-rules. Added because the theme has nothing equivalent: the #f7f7f7
   ground (theme .bg-light-gray is #f1f1f1), the single hairline-divided
   bordered cell container, and the Frontier type scale. All selectors are new
   and scoped to .expect-rings--frontier, so no existing section can match. */
.expect-rings-block.expect-rings--frontier {
	background: #f7f7f7;
	padding-block: 88px 104px;
}
/* when a card-layout Plain Banner Block follows, it carries the shared ground and the 40px gap */
.expect-rings-block.expect-rings--frontier:has(+ .plain-banner--card) {
	padding-bottom: 40px;
}
.expect-rings--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.expect-rings--frontier .expect-f__stack {
	display: flex;
	flex-direction: column;
	gap: 40px;
	color: #000f5b;
}
.expect-rings--frontier .expect-f__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 760px;
}
.expect-rings--frontier .expect-f__kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .01em;
	color: #0972f1;
}
.expect-rings--frontier .expect-f__title {
	margin: 0;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #000f5b;
}
.expect-rings--frontier .expect-f__intro {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: #555;
}
.expect-rings--frontier .expect-f__rings {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: #e4e4e4;
	border: 1px solid #e4e4e4;
	border-radius: 16px;
	overflow: hidden;
}
.expect-rings--frontier .expect-f__rings--n1 { grid-template-columns: minmax(0, 1fr); }
.expect-rings--frontier .expect-f__rings--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.expect-rings--frontier .expect-f__rings--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.expect-rings--frontier .expect-f__ring {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 280px;
	padding: 32px 28px 36px;
	background: #fff;
}
.expect-rings--frontier .expect-f__ring-title {
	margin: 0;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: #000f5b;
}
.expect-rings--frontier .expect-f__ring-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}
.expect-rings--frontier .expect-f__ring--navy {
	background: #000f5b;
}
.expect-rings--frontier .expect-f__ring--navy .expect-f__ring-title {
	color: #fff;
}
.expect-rings--frontier .expect-f__ring--navy .expect-f__ring-text {
	color: rgba(255, 255, 255, .78);
}
.expect-rings--frontier .expect-f__small {
	/* 12.5px top/bottom = the mock's default <p> margins, which its flex stack does not collapse */
	margin: 12.5px 0;
	max-width: 760px;
	font-size: 12.5px;
	line-height: 1.5;
	color: #555;
}
@media (max-width: 900px) {
	.expect-rings-block.expect-rings--frontier {
		/* the mock keeps its 88px top padding inline on phones */
		padding-block: 88px 64px;
	}
	.expect-rings-block.expect-rings--frontier:has(+ .plain-banner--card) {
		padding-bottom: 40px;
	}
	.expect-rings--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.expect-rings--frontier .expect-f__title {
		font-size: 32px;
	}
	.expect-rings--frontier .expect-f__rings,
	.expect-rings--frontier .expect-f__rings--n2,
	.expect-rings--frontier .expect-f__rings--n3 {
		grid-template-columns: minmax(0, 1fr);
	}
	.expect-rings--frontier .expect-f__ring {
		min-height: 0;
	}
}


/* ==================== audience-columns-block ==================== */
/* foundry: audience-columns-block (Frontier 2026 "Who should watch").
   Reused: .container.container--md, .h2/.h3 (element + family), .font-rules.
   Added: #f7f7f7 ground, 2px navy top-rule columns, Frontier type scale.
   Scoped to .audience-columns--frontier; nothing else can match. */
.audience-columns-block.audience-columns--frontier {
	background: #f7f7f7;
	padding-block: 104px;
}
.audience-columns--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.audience-columns--frontier .audience-f__stack {
	display: flex;
	flex-direction: column;
	gap: 40px;
	color: #000f5b;
}
.audience-columns--frontier .audience-f__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 760px;
}
.audience-columns--frontier .audience-f__kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .01em;
	color: #0972f1;
}
.audience-columns--frontier .audience-f__title {
	margin: 0;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #000f5b;
}
.audience-columns--frontier .audience-f__cols {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}
.audience-columns--frontier .audience-f__cols--n1 { grid-template-columns: minmax(0, 1fr); }
.audience-columns--frontier .audience-f__cols--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.audience-columns--frontier .audience-f__cols--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.audience-columns--frontier .audience-f__col {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 20px;
	border-top: 2px solid #000f5b;
}
.audience-columns--frontier .audience-f__col-title {
	margin: 0;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: #000f5b;
}
.audience-columns--frontier .audience-f__col-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}
@media (max-width: 900px) {
	.audience-columns-block.audience-columns--frontier {
		padding-block: 64px;
	}
	.audience-columns--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.audience-columns--frontier .audience-f__title {
		font-size: 32px;
	}
	.audience-columns--frontier .audience-f__cols,
	.audience-columns--frontier .audience-f__cols--n2,
	.audience-columns--frontier .audience-f__cols--n3 {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* ==================== replay-block ==================== */
/* foundry: replay-block (Frontier 2026 "Where we left off").
   Reused: .container.container--md, .h2 (element + family), .btn (base),
   .font-rules. Added: the navy 16:9 dot-grid video tile + 76px circular play
   button + caption, the two-column split, the navy outline pill button (theme
   .btn--outline is an 8px-radius royal-border button), Frontier type scale.
   Scoped to .replay--frontier; nothing else can match. */
.replay-block.replay--frontier {
	background: #fff;
	padding-block: 104px;
}
.replay--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.replay--frontier .replay-f__split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
	color: #000f5b;
}
.replay--frontier .replay-f__tile {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	background: #000f5b;
	overflow: hidden;
}
.replay--frontier .replay-f__dots {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at center, rgba(112, 212, 252, .5) 0 1px, transparent 1.6px);
	background-size: 28px 28px;
	opacity: .6;
}
.replay--frontier .replay-f__poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.replay--frontier .replay-f__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 15, 91, 0) 55%, rgba(0, 15, 91, .65) 100%);
}
.replay--frontier .replay-f__play {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: #fff;
	color: #000f5b;
	text-decoration: none;
	transition: transform .15s;
}
.replay--frontier a.replay-f__play:hover,
.replay--frontier a.replay-f__play:focus {
	color: #000f5b;
	transform: scale(1.06);
}
.replay--frontier .replay-f__caption {
	position: absolute;
	left: 20px;
	bottom: 16px;
	font-size: 13px;
	color: rgba(255, 255, 255, .78);
}
.replay--frontier .replay-f__copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.replay--frontier .replay-f__kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .01em;
	color: #0972f1;
}
.replay--frontier .replay-f__title {
	margin: 0;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #000f5b;
}
.replay--frontier .replay-f__text {
	font-size: 17px;
	line-height: 1.6;
	color: #555;
}
.replay--frontier .replay-f__text p {
	margin: 0;
}
.replay--frontier .replay-f__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid #000f5b;
	color: #000f5b;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}
.replay--frontier .replay-f__btn:hover,
.replay--frontier .replay-f__btn:focus {
	background: #000f5b;
	color: #fff;
}
@media (max-width: 900px) {
	.replay-block.replay--frontier {
		padding-block: 64px;
	}
	.replay--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.replay--frontier .replay-f__split {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
	.replay--frontier .replay-f__title {
		font-size: 32px;
	}
}


/* ==================== faq-columns-block ==================== */
/* foundry: faq-columns-block (Frontier 2026 "The practical bits").
   Reused: .container.container--md, .h3 (element + family), .font-rules.
   Added: top hairline section, three-column Q&A grid, Frontier type scale.
   Scoped to .faq-columns--frontier; nothing else can match. */
.faq-columns-block.faq-columns--frontier {
	background: #fff;
	border-top: 1px solid #e4e4e4;
	padding-block: 72px;
}
.faq-columns--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.faq-columns--frontier .faq-f__stack {
	display: flex;
	flex-direction: column;
	gap: 28px;
	color: #000f5b;
}
.faq-columns--frontier .faq-f__kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .01em;
	color: #0972f1;
}
.faq-columns--frontier .faq-f__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 48px;
}
.faq-columns--frontier .faq-f__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.faq-columns--frontier .faq-f__item-title {
	margin: 0;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: #000f5b;
}
.faq-columns--frontier .faq-f__item-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}
@media (max-width: 900px) {
	.faq-columns-block.faq-columns--frontier {
		padding-block: 48px;
	}
	.faq-columns--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.faq-columns--frontier .faq-f__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
}


/* ==================== plain-banner-block ==================== */
/* foundry: plain-banner-block */
.plain-banner-block {
	padding-block: 64px;
}
.plain-banner-block .plain-banner__inner {
	max-width: 56ch;
	margin: 0 auto;
	text-align: center;
}
.plain-banner-block .story__subtitle {
	display: block;
}
.plain-banner-block .plain-banner__heading {
	margin-top: 8px;
}
.plain-banner-block .plain-banner__content {
	margin-top: 16px;
}
.plain-banner-block .plain-banner__btn {
	margin-top: 26px;
}

/* No existing theme utility provides a pale/light-blue background (checked
   both custom.css and the compiled style.css's full .bg-* list: black,
   dark-gray, light-gray, medium-gray, navy, royal, sky, white — no light/
   pale variant). New, scoped color — not reused from the speaker-grid-block
   uncommitted working-tree diff's light-card gradient tint, which was left
   untouched; this is a flat, independently-chosen tint consistent with the
   brand's sky-blue hue (#70d4fc). */
.plain-banner-block.plain-banner-block--light-sky {
	background-color: #eaf6fd;
}

/* .btn--outline's compiled default (border:1px solid #0972f1; color:#000;
   background:transparent) assumes a light background — on this block's
   navy/royal options that would render near-invisible dark-on-dark text.
   Scoped override only for those two backgrounds; .btn--outline itself,
   and every other block using it, is untouched. */
.plain-banner-block.bg-navy .btn--outline,
.plain-banner-block.bg-royal .btn--outline {
	border-color: #fff;
	color: #fff;
}
.plain-banner-block.bg-navy .btn--outline:hover,
.plain-banner-block.bg-royal .btn--outline:hover {
	background: #fff;
	color: #000f5b;
}

/* foundry: plain-banner-block frontier design (Frontier 2026 / Niven's RSNA
   band). Opt-in via block_design (class plain-banner--frontier); all selectors
   new and scoped, so existing plain-banner pages are untouched.
   Reused: .container.container--md, .h3 (heading element/family), .btn (base),
   .bg-navy / .bg-white (selectable backgrounds), .font-rules.
   Added because the theme has nothing equivalent: the pale #f2f8ff and #f7f7f7
   backgrounds (theme bg-* has no pale blue; the older light-sky tint #eaf6fd is
   deliberately not used), the one-row left-copy / right-button layout, and the
   navy outline pill button (theme .btn--outline is 8px-radius, royal border). */
.plain-banner-block.plain-banner--frontier {
	padding-block: 72px;
	text-align: left;
}
.plain-banner-block.plain-banner--bg-royal-50 {
	background-color: #f2f8ff;
}
.plain-banner-block.plain-banner--bg-grey-50 {
	background-color: #f7f7f7;
}
.plain-banner--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.plain-banner--frontier .plain-banner__f-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}
.plain-banner--frontier .plain-banner__f-copy {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 640px;
}
.plain-banner--frontier .plain-banner__f-kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .01em;
	color: #0972f1;
}
.plain-banner--frontier .plain-banner__f-title {
	margin: 0;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: #000f5b;
}
.plain-banner--frontier .plain-banner__f-text {
	font-size: 17px;
	line-height: 1.6;
	color: #555;
}
.plain-banner--frontier .plain-banner__f-text p {
	margin: 0;
}
.plain-banner--frontier .plain-banner__f-btn {
	align-items: center;
	justify-content: center;
	height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid #000f5b;
	color: #000f5b;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}
.plain-banner--frontier .plain-banner__f-btn:hover,
.plain-banner--frontier .plain-banner__f-btn:focus {
	background: #000f5b;
	color: #fff;
}
.plain-banner--frontier.plain-banner--on-navy .plain-banner__f-kicker { color: #70d4fc; }
.plain-banner--frontier.plain-banner--on-navy .plain-banner__f-title { color: #fff; }
.plain-banner--frontier.plain-banner--on-navy .plain-banner__f-text { color: rgba(255, 255, 255, .78); }
.plain-banner--frontier.plain-banner--on-navy .plain-banner__f-btn { border-color: #fff; color: #fff; }
.plain-banner--frontier.plain-banner--on-navy .plain-banner__f-btn:hover { background: #fff; color: #000f5b; }
@media (max-width: 900px) {
	.plain-banner-block.plain-banner--frontier {
		padding-block: 48px;
	}
	.plain-banner--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* foundry: plain-banner-block frontier card layout + solid button (additive;
   opt-in via frontier_layout = card / button_style = solid, so the staged
   RSNA band is unchanged). Reused: the frontier row/copy/button rules above.
   Added: the navy 16px card (not full-bleed), solid royal pill, footnote.
   In card layout the section carries only the ground colour (grey-50 by
   default, to join the section above) with no top padding. */
.plain-banner-block.plain-banner--card {
	padding-block: 0 104px;
}
.plain-banner--card .plain-banner__f-row--card {
	gap: 20px;
	padding: 36px 40px;
	border-radius: 16px;
	background: #000f5b;
}
.plain-banner--card .plain-banner__f-row--card .plain-banner__f-title { color: #fff; }
.plain-banner--card .plain-banner__f-row--card .plain-banner__f-kicker { color: #70d4fc; }
.plain-banner--card .plain-banner__f-row--card .plain-banner__f-text { color: rgba(255, 255, 255, .78); }
.plain-banner--card .plain-banner__f-row--card .plain-banner__f-btn:not(.plain-banner__f-btn--solid) { border-color: #fff; color: #fff; }
.plain-banner--card .plain-banner__f-row--card .plain-banner__f-btn:not(.plain-banner__f-btn--solid):hover { background: #fff; color: #000f5b; }
.plain-banner--frontier .plain-banner__f-btn.plain-banner__f-btn--solid {
	background: #0972f1;
	border-color: #0972f1;
	color: #fff;
}
.plain-banner--frontier .plain-banner__f-btn.plain-banner__f-btn--solid:hover,
.plain-banner--frontier .plain-banner__f-btn.plain-banner__f-btn--solid:focus {
	background: #0057e0;
	border-color: #0057e0;
	color: #fff;
}
.plain-banner--frontier .plain-banner__f-footnote {
	/* 40px stack gap + 12.5px default <p> margin (as in the mock), 12.5px below */
	margin: 52.5px 0 12.5px;
	max-width: 760px;
	font-size: 12.5px;
	line-height: 1.5;
	color: #555;
}
.plain-banner--frontier.plain-banner--on-navy .plain-banner__f-footnote { color: rgba(255, 255, 255, .6); }
@media (max-width: 900px) {
	.plain-banner-block.plain-banner--card {
		padding-block: 0 64px;
	}
}


/* ==================== closing-cta-block ==================== */
/* foundry: closing-cta-block */
.closing-cta-block {
	position: relative;
	overflow: hidden;
	padding-block: 72px;
	text-align: center;
}
.closing-cta-block .closing-cta__inner {
	max-width: 54ch;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.closing-cta-block .closing-cta__content {
	margin-top: 16px;
}
.closing-cta-block .closing-cta__btn {
	margin-top: 28px;
}

/* Three-dot diagonal-stagger accent — same visual idea as
   event-hero-block's .event-hero__decor (cited sibling pattern; no
   tileable dot-background utility class exists theme-wide, confirmed by
   the earlier research pass, only this per-block accent convention), new
   scoped selector here, event-hero-block's own CSS is untouched. Centered
   above the heading rather than left-aligned, since this block's content
   is center-aligned (event-hero-block's is left-aligned copy). */
.closing-cta-block .closing-cta__decor {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	gap: 4px;
	margin: 0 auto 18px;
	width: fit-content;
}
.closing-cta-block .closing-cta__decor span {
	display: block;
	width: 9px;
	height: 9px;
}
.closing-cta-block .closing-cta__decor span:nth-child(1) { background: #38bdf8; }
.closing-cta-block .closing-cta__decor span:nth-child(2) { background: #70d4fc; margin-top: 9px; }
.closing-cta-block .closing-cta__decor span:nth-child(3) { background: #ffffff; margin-top: 18px; }

/* .btn--royal is solid-blue; on this block's own bg-royal background that
   would be invisible, so that one option gets a white outline treatment
   instead. .btn--outline's own compiled default (dark border/text) is
   overridden here too, scoped to this block + background only. */
.closing-cta-block.bg-royal .closing-cta__btn--on-royal.btn--outline {
	border-color: #fff;
	color: #fff;
	background: transparent;
}
.closing-cta-block.bg-royal .closing-cta__btn--on-royal.btn--outline:hover {
	background: #fff;
	color: #0972f1;
}

/* foundry: closing-cta-block frontier design (Frontier 2026 / Niven's final
   CTA). Opt-in via block_design (class closing-cta--frontier); all selectors
   new and scoped. The navy section is the theme's .bg-navy (forced in this
   design); no blue-on-royal override is used. Reused: .container.container--md,
   .h2 (element/family), .btn.btn--royal (solid royal colour), .font-rules.
   Added because the theme has nothing equivalent: the centred masked dot-field,
   the 56px/17px pill button with no arrow icon, 52px headline, and the 60%-white
   fine print. */
.closing-cta-block.closing-cta--frontier {
	position: relative;
	overflow: hidden;
	padding-block: 104px;
	text-align: center;
}
.closing-cta--frontier .closing-cta__f-field {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle at center, rgba(112, 212, 252, .55) 0 1px, transparent 1.6px);
	background-size: 34px 34px;
	-webkit-mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(0, 0, 0, .9), transparent 75%);
	mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(0, 0, 0, .9), transparent 75%);
}
.closing-cta--frontier .frontier-container.container {
	position: relative;
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.closing-cta--frontier .closing-cta__f-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 28px;
}
.closing-cta--frontier .closing-cta__f-eyebrow {
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: .01em;
	font-weight: 500;
	color: #70d4fc;
}
.closing-cta--frontier .closing-cta__f-title {
	margin: 0;
	max-width: 18em;
	font-size: 52px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #fff;
}
.closing-cta--frontier .closing-cta__f-lead {
	max-width: 34em;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
	color: rgba(255, 255, 255, .78);
}
.closing-cta--frontier .closing-cta__f-lead p {
	margin: 0;
}
.closing-cta--frontier .closing-cta__f-btn {
	align-items: center;
	justify-content: center;
	height: 56px;
	padding: 0 32px;
	border-radius: 999px;
	background: #0972f1;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}
.closing-cta--frontier .closing-cta__f-btn:hover,
.closing-cta--frontier .closing-cta__f-btn:focus {
	background: #0057e0;
	color: #fff;
}
.closing-cta--frontier .closing-cta__f-fine {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, .6);
}
@media (max-width: 900px) {
	.closing-cta-block.closing-cta--frontier {
		padding-block: 64px;
	}
	.closing-cta--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	/* headline intentionally stays 52px on phones: the Frontier 2026 mock sets it inline, so its own 390px render keeps 52px */
	.closing-cta--frontier .closing-cta__f-lead {
		font-size: 17px;
	}
}


/* ==================== launch-hero-block (Frontier-2026 section of event-hero-block's snippet; classic rules already live in the theme) ==================== */
/* foundry: event-hero-block frontier design (Frontier 2026 / Niven's mock).
   Opt-in via the block_design field (class event-hero--frontier), so every
   selector below is new and scoped to .event-hero--frontier — pages that do
   not select the design render exactly as before.
   Reused from the theme: .bg-navy (section colour), .container.container--md
   (1240px => 1200px content at 1440), .h1 (heading element + family/weight),
   .btn (inline-flex/font base), .font-rules. Added here because the theme has
   no equivalent: the masked dot-field, the left-to-right video scrim, pill
   buttons (theme .btn--* are 8px-radius), 64px/1.05 headline (theme .h1 is
   50px), and the white form card. The Gravity Form fields are NOT touched —
   the block's existing form rules above still apply. */
.event-hero-block.event-hero--frontier {
	position: relative;
	overflow: hidden;
	padding-block: 0;
	color: #fff;
}
.event-hero-block.event-hero--frontier::before {
	content: none;
}
.event-hero--frontier .frontier-container.container {
	/* 1264 = Niven's hero: .hero-grid overrides .wrap padding to 0, so its content is a full 1200px (1264 incl. our 32px padding). */
	max-width: 1264px;
	padding-left: 32px;
	padding-right: 32px;
}
.event-hero--frontier .event-hero__f-field {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle at center, rgba(112, 212, 252, .55) 0 1px, transparent 1.6px);
	background-size: 34px 34px;
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 65% 45%, rgba(0, 0, 0, .9), transparent 75%);
	mask-image: radial-gradient(ellipse 70% 80% at 65% 45%, rgba(0, 0, 0, .9), transparent 75%);
}
.event-hero--frontier .event-hero__f-video {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.event-hero--frontier .event-hero__f-video-el {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.event-hero--frontier .event-hero__f-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 15, 91, .92) 0%, rgba(0, 15, 91, .72) 55%, rgba(0, 15, 91, .55) 100%);
}
.event-hero--frontier .event-hero__f-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 64px;
	align-items: center;
	padding: 72px 0 88px;
}
.event-hero--frontier .event-hero__f-copy {
	display: flex;
	flex-direction: column;
	gap: 28px;
	min-width: 0;
}
.event-hero--frontier .event-hero__f-brand {
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
}
.event-hero--frontier .event-hero__f-name {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -.01em;
	line-height: 1;
	color: #fff;
}
.event-hero--frontier .event-hero__f-eyebrow {
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: .01em;
	font-weight: 500;
	color: #70d4fc;
}
.event-hero--frontier .event-hero__f-title {
	margin: 0;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -.02em;
	color: #fff;
}
.event-hero--frontier .event-hero__f-lead {
	font-size: 20px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .78);
	max-width: 34em;
}
.event-hero--frontier .event-hero__f-lead p {
	margin: 0;
}
.event-hero--frontier .event-hero__f-lead b,
.event-hero--frontier .event-hero__f-lead strong {
	font-weight: 500;
	color: #fff;
}
.event-hero--frontier .event-hero__f-meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	font-size: 15px;
	line-height: 1.4;
	color: rgba(255, 255, 255, .78);
}
.event-hero--frontier .event-hero__f-meta li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
}
.event-hero--frontier .event-hero__f-meta li::before {
	content: none;
}
.event-hero--frontier .event-hero__f-meta svg {
	flex: 0 0 auto;
}
.event-hero--frontier .event-hero__f-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.event-hero--frontier .event-hero__f-btn {
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .4);
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: border-color .15s;
}
.event-hero--frontier .event-hero__f-btn:hover,
.event-hero--frontier .event-hero__f-btn:focus {
	border-color: #fff;
	color: #fff;
}
.event-hero--frontier .event-hero__f-fine {
	font-size: 14px;
	color: rgba(255, 255, 255, .6);
}
.event-hero--frontier .event-hero__f-card {
	min-width: 0;
	background: #fff;
	color: #000f5b;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 24px 56px rgba(0, 8, 74, .35);
}
.event-hero--frontier .event-hero__f-card-head {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 16px;
}
.event-hero--frontier .event-hero__f-card-title {
	margin: 0;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: #000f5b;
}
.event-hero--frontier .event-hero__f-card-sub {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}
.event-hero--frontier .event-hero__form-wrapper {
	margin-top: 0;
}
.event-hero--frontier .event-hero__f-footnote {
	margin: 16px 0 0;
	text-align: center;
	font-size: 12.5px;
	line-height: 1.5;
	color: #555;
}
@media (max-width: 900px) {
	.event-hero--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.event-hero--frontier .event-hero__f-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
		padding: 40px 0 56px;
	}
	.event-hero--frontier .event-hero__f-title {
		font-size: 40px;
	}
	.event-hero--frontier .event-hero__f-lead {
		font-size: 17px;
	}
	.event-hero--frontier .event-hero__f-card {
		padding: 24px 20px;
		border-radius: 12px;
	}
}


/* ==================== launch-speakers-block (Frontier-2026 section of speaker-grid-block's snippet; classic rules already live in the theme) ==================== */
/* foundry: speaker-grid-block frontier design (Frontier 2026 / Niven's mock).
   Opt-in via block_design (class speaker-grid--frontier); every selector is
   new and scoped to it, so existing speaker-grid pages keep the dark-tile look
   (no Swiper, no arrow buttons in this design — one native scroll row).
   Reused: .container.container--md, .bg-white, .h2 (heading element/family),
   .font-rules. Added because the theme has nothing equivalent: the host row,
   the 212px scroll-snap card row, circle initials avatars and the dashed
   closing card. */
.speaker-grid-block.speaker-grid--frontier {
	padding-block: 104px;
	/* the block's older rules paint a pale-blue !important gradient on .speaker-grid-block, hence !important here; this design is plain white */
	background: #fff !important;
}
.speaker-grid--frontier .frontier-container.container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}
.speaker-grid--frontier .speaker-f__stack {
	display: flex;
	flex-direction: column;
	gap: 40px;
	color: #000f5b;
}
.speaker-grid--frontier .speaker-f__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 760px;
}
.speaker-grid--frontier .speaker-f__kicker {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .01em;
	color: #0972f1;
}
.speaker-grid--frontier .speaker-f__title {
	margin: 0;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #000f5b;
}
.speaker-grid--frontier .speaker-f__intro {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: #555;
}
.speaker-grid--frontier .speaker-f__host {
	display: flex;
	align-items: center;
	gap: 24px;
}
.speaker-grid--frontier .speaker-f__avatar {
	flex: 0 0 auto;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: #e4f0fe;
	color: #0972f1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: 500;
	overflow: hidden;
}
.speaker-grid--frontier .speaker-f__avatar img,
.speaker-grid--frontier .speaker-f__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.speaker-grid--frontier .speaker-f__host-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.speaker-grid--frontier .speaker-f__host-name {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
}
.speaker-grid--frontier .speaker-f__host-role {
	font-size: 15px;
	line-height: 1.5;
	color: #555;
}
.speaker-grid--frontier .speaker-f__host-bio {
	font-size: 15px;
	line-height: 1.5;
	color: #555;
	max-width: 48em;
	margin-top: 6px;
}
.speaker-grid--frontier .speaker-f__also {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border-top: 1px solid #e4e4e4;
	padding-top: 32px;
}
.speaker-grid--frontier .speaker-f__also-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
}
.speaker-grid--frontier .speaker-f__also-title {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.25;
	color: #555;
}
.speaker-grid--frontier .speaker-f__hint {
	font-size: 13px;
	color: #555;
}
.speaker-grid--frontier .speaker-f__scroll {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 12px;
	scrollbar-width: thin;
}
.speaker-grid--frontier .speaker-f__card {
	flex: 0 0 212px;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px;
	border: 1px solid #e4e4e4;
	border-radius: 12px;
	background: #fff;
	min-height: 208px;
}
.speaker-grid--frontier .speaker-f__photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #f1f1f1;
	color: #555;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 8px;
	overflow: hidden;
}
.speaker-grid--frontier .speaker-f__name {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
}
.speaker-grid--frontier .speaker-f__role {
	font-size: 13px;
	line-height: 1.45;
	color: #555;
}
.speaker-grid--frontier .speaker-f__note {
	font-size: 13px;
	line-height: 1.45;
	color: #0972f1;
}
.speaker-grid--frontier .speaker-f__card--more {
	justify-content: center;
	align-items: center;
	text-align: center;
	border-style: dashed;
}
.speaker-grid--frontier .speaker-f__card--more .speaker-f__name {
	color: #555;
}
.speaker-grid--frontier .speaker-f__fine {
	/* Niven's .fine <p> keeps the browser's default ~12.5px margins; reproduced so the section height matches (989px) */
	margin: 13px 0 12px;
	font-size: 12.5px;
	line-height: 1.5;
	color: #555;
}
@media (max-width: 900px) {
	.speaker-grid-block.speaker-grid--frontier {
		padding-block: 64px;
	}
	.speaker-grid--frontier .frontier-container.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.speaker-grid--frontier .speaker-f__title {
		font-size: 32px;
	}
}
.speaker-grid--frontier .speaker-f__host-bio p {
	margin: 0;
}


/* ==================== hero second button (pair layout, only when link_2 is set) ==================== */
.hero__btn--pair { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-block--center .hero__btn--pair { justify-content: center; }

/* Frontier RSNA page: patient-block portrait. The theme crops the image to 335/176 on phones with object-fit:cover centred, which cuts a head-and-shoulders portrait off at the neck. Anchor the crop to the top instead. Additive; the theme has no object-position rule for this element. */
.patient__img img{object-position:top center}

/* Frontier RSNA thank-you page: Zoom Scheduler embed. The theme caps .book__content at 690px, which forces the Scheduler into its cramped two-column layout; it needs ~868px for the three-column view (Mark, 2026-10-06). Scoped with :has() so it only applies to a .book__content that contains the booking iframe. */
.book__content:has(> .text iframe[title^="Book an interview"]),.book__content:has(iframe[src*="zbook"]){max-width:900px;margin-left:auto;margin-right:auto;text-align:center}

/* Anchor injected ahead of event-hero-block by launch-day-blocks.php; offset for the site header. */
.ld-anchor{display:block;height:0;scroll-margin-top:96px}

/* Frontier RSNA thank-you: two-recruiter booking picker. CSS-only radio toggle (no JS): the radios are visually hidden, the cards are their labels. Amy is checked by default; the other pane is hidden until its card (or the "See X's availability" link) is chosen. */
.rec-picker input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;padding:0}
.rec-picker .rec-step{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px;font-size:15px;font-weight:500;color:#000f5b}
.rec-picker .rec-step span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#000f5b;color:#fff;font-size:13px;line-height:1}
.rec-picker .rec-step--2{margin-top:22px}
.rec-picker .rec-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0}
.rec-picker .rec-card{position:relative;flex:1 1 260px;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;column-gap:14px;text-align:left;cursor:pointer;border:2px solid rgba(0,15,91,.15);border-radius:12px;padding:14px 16px;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}
.rec-picker .rec-card:hover{border-color:#0972f1}
.rec-picker .rec-avatar{grid-row:1/3;width:48px;height:48px;border-radius:50%;background:#000f5b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;letter-spacing:.5px}
.rec-picker .rec-name{font-size:17px;font-weight:600;color:#000f5b;line-height:1.2;align-self:end}
.rec-picker .rec-role{font-size:13px;color:rgba(0,15,91,.6);line-height:1.3;align-self:start}
.rec-picker .rec-check{grid-row:1/3;grid-column:3;width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,15,91,.25);box-sizing:border-box}
.rec-picker .rec-pane{display:none}
#rec-amy:checked~.rec-pane--amy,#rec-james:checked~.rec-pane--james{display:block}
#rec-amy:checked~.rec-tabs label[for=rec-amy],#rec-james:checked~.rec-tabs label[for=rec-james]{border-color:#0972f1;background:rgba(9,114,241,.06);box-shadow:0 0 0 3px rgba(9,114,241,.15)}
#rec-amy:checked~.rec-tabs label[for=rec-amy] .rec-avatar,#rec-james:checked~.rec-tabs label[for=rec-james] .rec-avatar{background:#0972f1}
#rec-amy:checked~.rec-tabs label[for=rec-amy] .rec-check,#rec-james:checked~.rec-tabs label[for=rec-james] .rec-check{border-color:#0972f1;background:#0972f1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
#rec-amy:focus-visible~.rec-tabs label[for=rec-amy],#rec-james:focus-visible~.rec-tabs label[for=rec-james]{outline:2px solid #000f5b;outline-offset:3px}
.rec-picker .rec-switch{margin:10px 0 0;font-size:14px;color:rgba(0,15,91,.7)}
.rec-picker .rec-switch label{cursor:pointer;color:#0972f1;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.book__content:has(.rec-picker){max-width:900px;margin-left:auto;margin-right:auto;text-align:center}

/* Frontier RSNA hero loop (post 6493 only). The loop is a 1920x1080 screen capture of the CT viewer: the CT slice is the middle ~40% of the frame, surrounded by a flat navy (#001051, sampled from the footage) and the viewer's own chrome (panel border at ~19% and ~79% of the width, a slider/scrollbar and a mouse cursor at the right, a Z/threshold bar near the bottom). The video stays at natural size (no zoom, so it is not upscaled); its edges are masked out so the chrome never shows, and the hero is filled with the footage's own navy so the fade is invisible. A navy overlay keeps the headline, lede and form legible. Scoped by body class so no other event hero is touched. */
.postid-6493 .event-hero-block.event-hero--video{background-color:#001051}
.postid-6493 .event-hero-block.event-hero--video .event-hero__video-bg{object-position:50% 9%;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 19%,#000 27%,#000 70%,transparent 76%,transparent 100%),linear-gradient(180deg,transparent 0,#000 12%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,transparent 19%,#000 27%,#000 70%,transparent 76%,transparent 100%),linear-gradient(180deg,transparent 0,#000 12%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.postid-6493 .event-hero-block.event-hero--video .event-hero__video-overlay{background:linear-gradient(90deg,rgba(0,16,81,.9) 0%,rgba(0,16,81,.78) 38%,rgba(0,16,81,.45) 66%,rgba(0,16,81,.35) 100%)}
@media (max-width:767px){.postid-6493 .event-hero-block.event-hero--video .event-hero__video-bg{opacity:.5}}

/* Frontier RSNA thank-you pages (posts 6500 and 6506): centre the confirmation heading and its paragraph so they line up with the centred "Book Your Interview" block below. Scoped by body class; no other page uses these rules. */
.postid-6500 .info-block .container,.postid-6506 .info-block .container{text-align:center}

/* Expect Rings (Frontier): optional date/time line and optional text link per card (RSNA "Find Frontier" copy, James Lu 2026-10-07). Both render only when the card fills the field. */
.expect-rings--frontier .expect-f__ring-when{margin:0;font-size:15px;font-weight:600;line-height:1.4;color:#0972f1}
.expect-rings--frontier .expect-f__ring-link{align-self:flex-start;font-size:15px;font-weight:600;line-height:1.4;color:#0972f1;text-decoration:underline;text-underline-offset:3px}
.expect-rings--frontier .expect-f__ring--navy .expect-f__ring-when{color:#8fd0ff}
.expect-rings--frontier .expect-f__ring--navy .expect-f__ring-link{color:#fff}
