.cab-insights {
	--cab-orange: #ff6a00;
	--cab-orange-dark: #e95d00;
	--cab-cream: #fff4e8;
	--cab-cream-light: #fffaf5;
	--cab-teal: #073f50;
	--cab-heading: #171717;
	--cab-body: #555555;
	--cab-white: #ffffff;
	--cab-border: #eadfd5;
	--cab-muted: #77716c;
	--cab-shadow: 0 12px 30px rgba(7, 63, 80, 0.1);
	--cab-radius: 18px;
	--cab-control-radius: 12px;
	color: var(--cab-body);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.65;
	width: 100%;
}

.cab-insights *,
.cab-insights *::before,
.cab-insights *::after { box-sizing: border-box; }

.cab-insights__container {
	margin-inline: auto;
	max-width: 1240px;
	padding-inline: 28px;
	width: 100%;
}

.cab-insights__hero {
	align-items: center;
	background: linear-gradient(135deg, var(--cab-teal), #0b6175);
	background-position: center;
	background-size: cover;
	color: var(--cab-white);
	display: flex;
	isolation: isolate;
	min-height: var(--cab-hero-min-height, 500px);
	position: relative;
}

.cab-insights__hero-overlay {
	background: var(--cab-hero-overlay-background, linear-gradient(to right, rgba(7, 63, 80, .82), rgba(7, 63, 80, .3)));
	inset: 0;
	position: absolute;
	z-index: -1;
}

.cab-insights__hero-media {
	inset: 0;
	overflow: hidden;
	position: absolute;
	z-index: -2;
}

.cab-insights__hero-media img { height: 100%; object-fit: cover; object-position: var(--cab-hero-position, center right); width: 100%; }

.cab-insights__hero-content { padding-block: 72px; }

.cab-insights__breadcrumb {
	align-items: center;
	display: flex;
	font-size: .875rem;
	gap: 9px;
	margin-bottom: 42px;
}

.cab-insights .cab-insights__breadcrumb,
.cab-insights .cab-insights__breadcrumb a { color: var(--cab-hero-breadcrumb, #fff) !important; }
.cab-insights__breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.cab-insights__breadcrumb span:last-child { opacity: .82; }

.cab-insights__eyebrow,
.cab-insights__section-eyebrow {
	color: var(--cab-orange);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .11em;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.cab-insights .cab-insights__hero .cab-insights__eyebrow { color: var(--cab-hero-eyebrow, #ffb47d) !important; }

.cab-insights .cab-insights__hero-title {
	color: var(--cab-hero-heading, #fff) !important;
	font-family: inherit !important;
	font-size: clamp(2.55rem, 5.2vw, var(--cab-hero-title-size, 64px));
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: 1.02;
	margin: 0;
	max-width: var(--cab-hero-content-width, 760px);
}

.cab-insights .cab-insights__hero-description {
	color: var(--cab-hero-description, #fff) !important;
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	margin: 24px 0 0;
	max-width: var(--cab-hero-content-width, 760px);
}

.cab-insights__hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }

.cab-insights .cab-insights__button {
	align-items: center;
	border: 2px solid transparent;
	border-radius: 999px !important;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 750;
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: 12px 24px;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.cab-insights .cab-insights__button--primary { background: var(--cab-orange) !important; border-color: transparent !important; color: #fff !important; }
.cab-insights .cab-insights__button--primary:hover { background: var(--cab-orange-dark) !important; color: #fff !important; transform: translateY(-2px); }
.cab-insights .cab-insights__button--secondary { background: var(--cab-white) !important; color: var(--cab-teal) !important; }
.cab-insights .cab-insights__button--secondary:hover { background: var(--cab-cream) !important; color: var(--cab-teal) !important; transform: translateY(-2px); }
.cab-insights .cab-insights__button--reset { background: transparent !important; border-color: var(--cab-border) !important; color: var(--cab-teal) !important; }
.cab-insights .cab-insights__button--reset:hover { background: var(--cab-white) !important; border-color: var(--cab-orange) !important; color: var(--cab-orange-dark) !important; }

.cab-insights a:focus-visible,
.cab-insights button:focus-visible,
.cab-insights input:focus-visible,
.cab-insights select:focus-visible {
	box-shadow: 0 0 0 3px var(--cab-white), 0 0 0 6px var(--cab-orange);
	outline: none;
}

.cab-insights__body { background: var(--cab-cream-light); padding: 0 0 92px; }

.cab-insights__filters {
	align-items: end;
	background: var(--cab-cream);
	border: 1px solid var(--cab-border);
	border-radius: var(--cab-radius);
	box-shadow: var(--cab-shadow);
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(240px, 1.55fr) minmax(180px, .85fr) minmax(170px, .75fr) auto;
	margin: 0 0 70px;
	padding: 24px;
	position: relative;
	transform: translateY(-34px);
	z-index: 2;
}

.cab-insights__field label {
	color: var(--cab-heading);
	display: block;
	font-size: .82rem;
	font-weight: 750;
	margin: 0 0 7px;
}

.cab-insights__field input,
.cab-insights__field select {
	appearance: none;
	background-color: var(--cab-white);
	border: 1px solid var(--cab-border);
	border-radius: var(--cab-control-radius, 12px) !important;
	color: var(--cab-heading);
	font: inherit;
	height: 50px;
	padding: 0 15px;
	width: 100%;
}

.cab-insights__field select {
	background-image: linear-gradient(45deg, transparent 50%, var(--cab-teal) 50%), linear-gradient(135deg, var(--cab-teal) 50%, transparent 50%);
	background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 36px;
}

.cab-insights__filter-actions { display: flex; gap: 9px; }
.cab-insights__filter-actions .cab-insights__button { min-height: 50px; white-space: nowrap; }
.cab-insights__filter-actions button.cab-insights__button { border-radius: 999px !important; }
.cab-insights__filter-actions button:disabled { cursor: wait; opacity: .62; }

.cab-insights__results-shell { min-height: 260px; position: relative; }

.cab-insights__results-header {
	align-items: end;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin: 0 0 34px;
}

.cab-insights__results-header:focus { outline: none; }
.cab-insights .cab-insights__results-header h2 { color: var(--cab-heading) !important; font-family: inherit !important; font-size: clamp(2rem, 3.5vw, var(--cab-results-title-size, 48px)); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; margin: 0; }
.cab-insights__section-description { margin: 12px 0 0; max-width: 680px; }
.cab-insights__result-count { color: var(--cab-teal); flex: 0 0 auto; font-weight: 750; margin: 0 0 5px; }

.cab-insights__grid { display: grid; gap: 30px; grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cab-insights-card {
	background: var(--cab-white);
	border: 1px solid var(--cab-border);
	border-radius: var(--cab-radius);
	box-shadow: 0 8px 24px rgba(7, 63, 80, .07);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition: box-shadow .25s ease, transform .25s ease;
}

.cab-insights-card:hover { box-shadow: var(--cab-shadow); transform: translateY(-5px); }
.cab-insights-card__media { aspect-ratio: 8 / 5; background: var(--cab-cream); display: block; overflow: hidden; }
.cab-insights-card__media img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.cab-insights-card:hover .cab-insights-card__media img { transform: scale(1.035); }
.cab-insights-card__image-placeholder { background: linear-gradient(135deg, var(--cab-cream), #f4d7bd); display: block; height: 100%; width: 100%; }
.cab-insights-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.cab-insights-card__categories { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 15px; position: relative; z-index: 2; }
.cab-insights-card__categories a { background: var(--cab-cream); border-radius: 999px; color: var(--cab-orange-dark); font-size: .72rem; font-weight: 800; letter-spacing: .04em; padding: 5px 10px; text-decoration: none; text-transform: uppercase; }
.cab-insights-card__categories a:hover { background: var(--cab-orange); color: var(--cab-white); }

.cab-insights .cab-insights-card__title { color: var(--cab-heading) !important; font-family: inherit !important; font-size: var(--cab-card-title-size, 22px); font-weight: 800; line-height: 1.3; margin: 0; }
.cab-insights-card__title a { color: inherit; display: -webkit-box; overflow: hidden; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cab-insights-card--clickable .cab-insights-card__title a::after { content: ""; inset: 0; position: absolute; z-index: 1; }
.cab-insights-card__meta { color: var(--cab-muted); display: flex; flex-wrap: wrap; font-size: .82rem; gap: 14px; margin-top: 13px; }
.cab-insights-card__meta span + span::before,
.cab-insights-card__meta time + span::before { content: "•"; margin-right: 14px; }
.cab-insights-card__excerpt { display: -webkit-box; margin: 16px 0 20px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.cab-insights-card__read-more { color: var(--cab-orange-dark); font-weight: 800; margin-top: auto; position: relative; text-decoration: none; width: fit-content; z-index: 2; }
.cab-insights-card__read-more:hover { color: var(--cab-teal); }

.cab-insights__pagination { margin-top: 48px; }
.cab-insights__pagination ul { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.cab-insights__pagination a,
.cab-insights__pagination .current,
.cab-insights__pagination .dots {
	align-items: center;
	border: 1px solid var(--cab-border);
	border-radius: 10px;
	color: var(--cab-teal);
	display: inline-flex;
	font-weight: 750;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 8px 13px;
	text-decoration: none;
}
.cab-insights__pagination a:hover { border-color: var(--cab-orange); color: var(--cab-orange-dark); }
.cab-insights__pagination .current { background: var(--cab-orange); border-color: var(--cab-orange); color: var(--cab-white); }
.cab-insights__pagination .dots { border-color: transparent; }

.cab-insights__empty { background: var(--cab-cream); border: 1px solid var(--cab-border); border-radius: var(--cab-radius); padding: 64px 24px; text-align: center; }
.cab-insights__empty-icon { color: var(--cab-orange); display: block; font-size: 3rem; line-height: 1; }
.cab-insights__empty h3 { color: var(--cab-heading); font-size: 1.8rem; margin: 16px 0 8px; }
.cab-insights__empty p { margin: 0 auto 24px; max-width: 520px; }

.cab-insights__results-shell.is-loading::after {
	background: rgba(255, 250, 245, .72);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 5;
}
.cab-insights__skeletons { display: none; gap: 30px; grid-template-columns: repeat(3, 1fr); inset: 116px 0 auto; position: absolute; z-index: 6; }
.cab-insights__results-shell.is-loading .cab-insights__skeletons { display: grid; }
.cab-insights__skeleton { animation: cab-insights-pulse 1.1s ease-in-out infinite alternate; background: linear-gradient(100deg, #f4e6db 30%, #fff 50%, #f4e6db 70%); background-size: 220% 100%; border-radius: var(--cab-radius); height: 360px; }
.cab-insights__error { background: #fff1ef; border: 1px solid #d63638; border-radius: 10px; color: #8a2424; margin-bottom: 24px; padding: 14px 16px; }

.cab-insights .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

@keyframes cab-insights-pulse { to { background-position-x: -120%; } }

@media (max-width: 991px) {
	.cab-insights__filters { grid-template-columns: 1fr 1fr; }
	.cab-insights__field--search { grid-column: 1 / -1; }
	.cab-insights__filter-actions { justify-content: flex-end; }
	.cab-insights__grid { gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cab-insights__skeletons { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	.cab-insights { font-size: 15px; }
	.cab-insights__container { padding-inline: 18px; }
	.cab-insights__hero { min-height: var(--cab-hero-min-height-mobile, 430px); }
	.cab-insights__hero-media img { object-position: var(--cab-hero-position-mobile, center center); }
	.cab-insights .cab-insights__hero-title { font-size: var(--cab-hero-title-size-mobile, 40px); }
	.cab-insights__hero-content { padding-block: 48px 72px; }
	.cab-insights__breadcrumb { margin-bottom: 30px; }
	.cab-insights__hero-actions { flex-direction: column; }
	.cab-insights__hero-actions .cab-insights__button { width: 100%; }
	.cab-insights__filters { gap: 14px; grid-template-columns: 1fr; margin-bottom: 38px; padding: 18px; transform: translateY(-26px); }
	.cab-insights__field--search { grid-column: auto; }
	.cab-insights__filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
	.cab-insights__results-header { align-items: flex-start; flex-direction: column; gap: 13px; }
	.cab-insights__grid { grid-template-columns: 1fr; }
	.cab-insights__skeletons { grid-template-columns: 1fr; }
	.cab-insights__body { padding-bottom: 64px; }
	.cab-insights__pagination .page-numbers:not(.prev):not(.next):not(.current):not(.dots) { display: none; }
}

@media (max-width: 479px) {
	.cab-insights__filter-actions { grid-template-columns: 1fr; }
	.cab-insights__pagination .prev,
	.cab-insights__pagination .next { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.cab-insights *, .cab-insights *::before, .cab-insights *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
