/* Extreme — sector hero: full-bleed photo, white slanted panel anchored bottom-left. */
.ex.sectorhero { background: var(--ex-ink); color: var(--ex-ink-text); }
.ex .sh-stage { --sh-shade: rgba(7, 15, 34, .55); position: relative; display: flex; align-items: flex-end; min-height: min(86vh, 860px); padding-top: var(--ex-hdr); overflow: hidden; }
.ex .sh-media { position: absolute; inset: 0; }
.ex .sh-media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; }
.ex .sh-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--sh-shade) 0%, rgba(7, 15, 34, 0) 28%), linear-gradient(20deg, rgba(7, 15, 34, .55) 0%, rgba(7, 15, 34, 0) 55%); }
.ex .sh-wrap { position: relative; z-index: 2; }
.ex .sh-panel { position: relative; max-width: 680px; margin-bottom: -1px; padding: clamp(28px, 3.4vw, 48px) clamp(24px, 3.4vw, 52px) clamp(32px, 3.6vw, 52px); background: #fff; color: var(--ex-ink-text); clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 100%, 0 100%); padding-right: clamp(72px, 7vw, 110px); }
.ex .sh-panel::before { content: ""; position: absolute; left: 0; top: 0; width: 120px; height: 5px; background: var(--ex-arc); }
.ex .sh-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; font-size: 13px; font-weight: 600; color: var(--ex-ink-dim); }
.ex .sh-crumbs li + li::before { content: "/"; margin-right: 6px; color: #9aa6bd; }
.ex .sh-crumbs a { color: var(--ex-brand); text-decoration: none; }
.ex .sh-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ex .sh-crumbs [aria-current] { color: var(--ex-ink-text); }
.ex .sh-kick { margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ex-green-dark); }
.ex .sh-h { font-size: clamp(36px, 4.6vw, 70px); line-height: .94; font-weight: 880; font-stretch: 122%; font-style: italic; letter-spacing: -.02em; text-transform: uppercase; color: var(--ex-navy-900); text-wrap: balance; }
.ex .sh-lead { margin-top: 18px; font-size: var(--ex-fs-lead); line-height: 1.55; color: var(--ex-ink-dim); max-width: 48ch; }
.ex .sh-acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ex .sh-panel .btn--line { color: var(--ex-ink-text); box-shadow: inset 0 0 0 1.5px var(--ex-line-light); }
.ex .sh-panel .btn--line:hover, .ex .sh-panel .btn--line:focus-visible { color: var(--ex-ink-text); box-shadow: inset 0 0 0 1.5px var(--ex-ink-text); }

@media (max-width: 640px) {
	.ex .sh-stage { display: block; min-height: 0; padding-top: var(--ex-hdr); }
	.ex .sh-media { position: relative; aspect-ratio: 4 / 3.1; }
	.ex .sh-media::after { background: linear-gradient(180deg, rgba(7, 15, 34, .35) 0%, rgba(7, 15, 34, 0) 40%); }
	.ex .sh-wrap { padding: 0; }
	.ex .sh-panel { max-width: none; margin: -36px 0 0; padding: 28px 16px 36px; clip-path: polygon(0 36px, 100% 0, 100% 100%, 0 100%); padding-top: 74px; }
	/* clear of the slanted top edge (36px at the left), with room before the crumbs */
	.ex .sh-panel::before { top: 54px; left: 16px; width: 80px; }
	.ex .sh-h { font-size: clamp(34px, 10vw, 44px); }
	.ex .sh-acts .btn { flex: 1 1 100%; }
}
