/* Hero Program Snapshot visual component */
.ca-offer-hero__panel {
	position: relative;
	overflow: hidden;
	padding: clamp(24px, 3vw, 34px);
	border: 1px solid var(--ca-offer-line);
	border-radius: var(--ca-offer-panel-radius);
	background: var(--ca-offer-paper-2);
	box-shadow: var(--ca-offer-shadow);
}
.ca-offer-hero__panel::before {
	content: "";
	position: absolute;
	inset: 0 0 auto auto;
	width: 58%;
	height: 58%;
	background: radial-gradient(circle at 100% 0, var(--ca-offer-gold-soft), transparent 68%);
	pointer-events: none;
}
.ca-offer-hero__mark {
	position: absolute;
	top: 18px;
	right: 18px;
	width: clamp(84px, 10vw, 132px);
	height: auto;
	opacity: .9;
}
.ca-offer-hero__panel-kicker {
	margin: 0 0 10px;
	color: var(--ca-offer-gold);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.ca-offer-hero__panel h2 {
	max-width: 10ch;
	margin: 0 0 22px;
	font-family: var(--ca-offer-serif);
	font-size: clamp(26px, 2.8vw, 36px);
	line-height: 1.16;
	color: var(--ca-offer-navy);
}
.ca-offer-hero__panel-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0 0 18px;
	border-top: 1px solid var(--ca-offer-line);
}
.ca-offer-hero__panel-facts > div {
	padding: 13px 0 11px;
	border-bottom: 1px solid var(--ca-offer-line-soft);
}
.ca-offer-hero__panel-facts > div:nth-child(odd) {
	padding-right: 14px;
	border-right: 1px solid var(--ca-offer-line-soft);
}
.ca-offer-hero__panel-facts > div:nth-child(even) { padding-left: 14px; }
.ca-offer-hero__panel-facts span {
	display: block;
	margin-bottom: 3px;
	color: var(--ca-offer-muted);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ca-offer-hero__panel-facts strong {
	display: block;
	color: var(--ca-offer-navy);
	font-family: var(--ca-offer-serif);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.25;
}
.ca-offer-hero__panel-points {
	display: grid;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.ca-offer-hero__panel-points li {
	position: relative;
	padding-left: 18px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ca-offer-ink-soft);
}
.ca-offer-hero__panel-points li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ca-offer-gold);
	font-weight: 800;
}
.ca-offer-hero__panel-note {
	margin: 0;
	padding-top: 13px;
	border-top: 1px solid var(--ca-offer-line);
	color: var(--ca-offer-muted);
	font-size: 11px;
	line-height: 1.5;
}

/* Context variants */
body.ca-offer-style-swiss .ca-offer-hero__panel,
body.ca-offer-style-cobalt .ca-offer-hero__panel { border-width: 2px; }
body.ca-offer-style-noir .ca-offer-hero__mark { filter: none; opacity: 1; }
body.ca-offer-style-noir .ca-offer-hero__mark--course { filter: none !important; opacity: 1 !important; }
.ca-offer-bg-ink .ca-offer-hero__panel { border-color: rgba(255, 255, 255, .18); }
.ca-offer-composition-centered .ca-offer-hero__panel {
	width: 100%;
	max-width: 760px;
	margin: 8px auto 0;
	text-align: left;
}
.ca-offer-composition-stacked .ca-offer-hero__panel {
	width: 100%;
	max-width: 880px;
	margin-top: 12px;
}

/* Large course cover */
.ca-offer-hero__panel.is-visual .ca-offer-hero__mark {
	position: static;
	display: block;
	width: min(100%, 300px);
	max-height: 280px;
	height: auto;
	margin: 0 auto 22px;
	object-fit: contain;
	opacity: 1;
}

@media (max-width: 820px) {
	.ca-offer-hero__panel { margin-top: 8px; }
	.ca-offer-composition-centered .ca-offer-hero__meta,
	.ca-offer-composition-centered .ca-offer-hero__panel { max-width: none; }
}
@media (max-width: 760px) {
	.ca-offer-hero__panel.is-visual .ca-offer-hero__mark { width: min(100%, 220px); }
}

/* Service diagnostic stack */
.ca-offer-hero__panel-facts--service {
	grid-template-columns: 1fr;
	margin-bottom: 14px;
}

.ca-offer-hero__panel-facts--service > div,
.ca-offer-hero__panel-facts--service > div:nth-child(odd),
.ca-offer-hero__panel-facts--service > div:nth-child(even) {
	display: grid;
	grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 10px 0;
	border-right: 0;
	border-bottom: 1px solid var(--ca-offer-line-soft);
}

.ca-offer-hero__panel-facts--service span {
	margin: 0;
	color: var(--ca-offer-gold);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .1em;
	line-height: 1.5;
}

.ca-offer-hero__panel-facts--service strong {
	font-family: var(--ca-offer-sans);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.55;
	color: var(--ca-offer-ink-soft);
}

@media (max-width: 640px) {
	.ca-offer-hero__panel-facts--service > div,
	.ca-offer-hero__panel-facts--service > div:nth-child(odd),
	.ca-offer-hero__panel-facts--service > div:nth-child(even) {
		grid-template-columns: 1fr;
		gap: 2px;
	}
}
