/**
 * Inadev 2026 — front-end stylesheet (classic theme).
 *
 * Mobile-first: base rules target small screens. Media queries scale up
 * at Bootstrap 5's own grid breakpoints — 576 (sm), 768 (md), 992 (lg),
 * 1200 (xl), 1400 (xxl) — plus one extra 1920px tier for true Full HD/
 * large-monitor sizing on top of Bootstrap's own scale.
 *
 * Section index:
 *   1. Base / resets
 *   2. Site header / footer
 *   3. Shared section helpers (.section-eyebrow, .ribbon*, .bg-dot-pattern,
 *      .bg-navy-tech-pattern, .avatar-placeholder, .line-clamp-4, .card-btn-bottom)
 *   4. Home hero (.home-hero*)
 *   5. Core capabilities (.cap-card*, .core-capabilities-grid)
 *   6. Industries teaser (.industries-row*)              — alternating rows
 *   7. Enterprise solutions teaser (.solutions-grid*, .solutions-card*)
 *   8. Client logos (.client-logos*)
 *   9. Home intro (.home-intro*)
 *  10. Meet Ceebit (.home-meet-ceebit*)
 *  11. Home Insights (.home-insights*, replaces the previous News section)
 *  12. Blog (.home-blog*)
 *  13. Testimonial (.home-testimonial*)
 *  14. Careers teaser (.home-careers-teaser*)
 *  15. Reduced motion
 *  16. Primary nav dropdown (.site-header__nav .dropdown-*)
 *  17. Industry hero (.industry-hero*)
 *  18. Swiper carousels — shared (.swiper, .carousel-scroll__btn, .swiper-pagination)
 *  19. Mission areas (.mission-card*)
 *  20. AWS expertise (.aws-expertise*)
 *  21. Success stories (.success-story-card*)
 *  22. Industry final CTA (.industry-final-cta*)
 *  23. Enterprise Solutions detail page (.solution-row*)
 *  24. Ceebit page (.ceebit-capabilities*, .ceebit-benefits*, .ceebit-callout*)
 *  25. Insights page (.insights-hero*, .insights-press-*, .insights-white-paper-*, .insights-blog-*, .insights-success-stories*)
 *  26. Primary nav active state (.current-menu-item, .current-menu-parent)
 */

/* 1. Base / resets */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* main {
	& > section {
		overflow: hidden;
	}
} */
/* 2. Site header / footer */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: var(--white);
}

.site-header__nav {
	flex-wrap: wrap;
	/* Tiered so it never overlaps the logo/wraps at the tight 992-1023px
	   navbar-expand-lg edge (only ~58px slack there), growing as available
	   room increases at wider breakpoints. */
	gap: var(--spacing-10);
}

@media (min-width: 992px) {
	.site-header__nav {
		gap: var(--spacing-30);
	}
}

@media (min-width: 1200px) {
	.site-header__nav {
		gap: var(--spacing-40);
	}
}

@media (min-width: 1900px) {
	.site-header__nav {
		gap: var(--spacing-50);
	}
}

.site-header__nav .nav-link {
	color: var(--brand-navy);
	font-size: var(--fs-body);
	font-weight: 500;
}

.navbar-toggler {
	width: 44px;
	height: 44px;
	padding: 0.5rem;
	border: 1px solid var(--brand-navy);
	color: var(--brand-navy);
}

.navbar-toggler-icon {
	position: relative;
	display: block;
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background-image: none !important;
	background-color: currentColor;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
	content: "";
	position: absolute;
	left: 0;
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background-color: currentColor;
}

.navbar-toggler-icon::before {
	top: -7px;
}

.navbar-toggler-icon::after {
	top: 7px;
}

.home .navbar-toggler {
	border-color: rgba(255, 255, 255, 0.9);
	color: var(--white);
}

.home .site-header.is-scrolled .navbar-toggler {
	border-color: var(--brand-navy);
	color: var(--brand-navy);
}

.nav-link:focus-visible{
	box-shadow: none;
}

.site-footer {
	margin-top: auto;
	background-color: var(--gray-50);
	background-image: url("../images/footer-bg.png");
	background-size: cover;
	background-position: bottom center;
	background-repeat: no-repeat;
}

.site-footer__top {
	gap: var(--spacing-40);
	margin-bottom: var(--spacing-20);
}

.site-footer__right {
	flex: 1 1 auto;
}

.site-footer__nav-row {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-bottom: var(--spacing-70);
}

.site-footer__nav-row a {
	color: var(--brand-navy);
	font-weight: 500;
	text-decoration: none;
}

.site-footer__regions {
	gap: var(--spacing-60);
	margin-bottom: var(--spacing-40);
	padding-left: var(--spacing-100);
}

.site-footer__region-label {
	font-weight: 400;
	color: var(--dark-gray);
	margin-bottom: var(--spacing-10);
}

.site-footer__region-linkedin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	background-color: var(--blue-linkedin);
	color: #ffffff;
}

.site-footer__hq-email {
	color: var(--blue-link);
	text-decoration: none;
}

/* Home only: transparent header overlaying the hero — position:fixed so it never
   reserves flow space (hero image stays at the true top, header floats over it),
   while still staying pinned during scroll (WP adds ".home" to <body> via
   is_front_page()). Turns solid once scrolled past the hero — see .is-scrolled,
   toggled by header-scroll.js. */
.home .site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
	background-color: transparent !important;
	transition: background-color 0.25s ease;
}

.home .site-header__logo img {
	filter: brightness(0) invert(1);
	transition: filter 0.25s ease;
}

.home .site-header__nav .nav-link {
	color: #ffffff;
	transition: color 0.25s ease;
}

/* Reference design shows Contact Us as a plain link, not a filled button, in the transparent home overlay. */
.home .site-header__nav .site-header__cta {
	background-color: transparent !important;
	padding: 0;
}

/* Solid state once scrolled past the hero — matches every other page's header. */
.home .site-header.is-scrolled {
	background-color: var(--white) !important;
}

.home .site-header.is-scrolled .site-header__logo img {
	filter: none;
}

.home .site-header.is-scrolled .site-header__nav .nav-link {
	color: var(--brand-navy);
}

@media (max-width: 991.98px) {
	.home .site-header {
		position: sticky;
		top: 0;
		left: auto;
		right: auto;
		padding: 0;
		background-color: var(--white) !important;
	}

	.home .site-header__inner {
		min-height: 80px;
	}

	.home .site-header__logo img {
		width: 110px;
		filter: none;
	}

	.home .site-header .navbar-toggler {
		border-color: transparent;
		color: var(--brand-navy);
	}
}

/* Safety net: keep the open mobile nav overlay readable on every page, including home (dark brand background, no white box). */
.navbar-collapse.show,
.navbar-collapse.collapsing {
	background-color: var(--brand-navy);
	color: #ffffff;
	padding: var(--spacing-40);
}

.navbar-collapse.show .nav-link,
.navbar-collapse.collapsing .nav-link,
.navbar-collapse.is-open .nav-link {
	color: #ffffff !important;
}

.navbar-collapse.show .site-header__nav .current-menu-item > .nav-link,
.navbar-collapse.show .site-header__nav .current-menu-parent > .nav-link,
.navbar-collapse.show .site-header__nav .current-menu-ancestor > .nav-link,
.navbar-collapse.collapsing .site-header__nav .current-menu-item > .nav-link,
.navbar-collapse.collapsing .site-header__nav .current-menu-parent > .nav-link,
.navbar-collapse.collapsing .site-header__nav .current-menu-ancestor > .nav-link,
.navbar-collapse.is-open .site-header__nav .current-menu-item > .nav-link,
.navbar-collapse.is-open .site-header__nav .current-menu-parent > .nav-link,
.navbar-collapse.is-open .site-header__nav .current-menu-ancestor > .nav-link {
	color: var(--brand-orange) !important;
}

.navbar-collapse.show .dropdown-menu.show,
.navbar-collapse.collapsing .dropdown-menu.show,
.navbar-collapse.is-open .dropdown-menu.show {
	position: static;
	display: block;
	background-color: rgba(0, 0, 0, 0.12);
	box-shadow: none;
	padding: var(--spacing-10) 0;
}

.navbar-collapse.show .dropdown-menu.show .dropdown-item,
.navbar-collapse.collapsing .dropdown-menu.show .dropdown-item,
.navbar-collapse.is-open .dropdown-menu.show .dropdown-item {
	color: var(--white) !important;
	padding: var(--spacing-10) var(--spacing-40);
}

.navbar-collapse.show .dropdown-menu.show .dropdown-item:hover,
.navbar-collapse.show .dropdown-menu.show .dropdown-item:focus-visible,
.navbar-collapse.collapsing .dropdown-menu.show .dropdown-item:hover,
.navbar-collapse.collapsing .dropdown-menu.show .dropdown-item:focus-visible,
.navbar-collapse.is-open .dropdown-menu.show .dropdown-item:hover,
.navbar-collapse.is-open .dropdown-menu.show .dropdown-item:focus-visible {
	background-color: transparent;
	color: var(--brand-orange) !important;
}

.navbar-toggler:focus-visible {
	border-color: var(--brand-orange);
	box-shadow: 0 0 0 0.2rem rgba(242, 102, 51, 0.25);
}

body.mobile-nav-open {
	overflow: hidden;
}

.mobile-nav__close {
	display: none;
}

@media (max-width: 991.98px) {
	.site-header .navbar-collapse {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 101;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100vw;
		height: 100dvh;
		max-height: 100dvh;
		padding: var(--spacing-40);
		background-color: var(--brand-navy);
		overflow-y: auto;
		transform: translateX(-100%);
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s ease;
	}

	.site-header .navbar-collapse.is-open {
		transform: translateX(0);
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.mobile-nav__close {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		align-self: flex-end;
		width: 44px;
		height: 44px;
		flex: 0 0 44px;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, 0.9);
		border-radius: 4px;
		background: transparent;
		color: var(--white);
	}

	.mobile-nav__close span,
	.mobile-nav__close span::after {
		/* position: absolute;
		width: 24px;
		height: 2px;
		border-radius: 2px;
		background-color: currentColor; */
		content: "\00d7";
		font-size: 30px;
	}

	/* .mobile-nav__close span {
		transform: rotate(45deg);
	}

	.mobile-nav__close span::after {
		transform: rotate(90deg);
	} */

	.mobile-nav__close:focus-visible {
		border-color: var(--brand-orange);
		box-shadow: 0 0 0 0.2rem rgba(242, 102, 51, 0.25);
		outline: 0;
	}

	.site-header .navbar-collapse .site-header__nav {
		width: 100%;
		margin: 0 !important;
		flex-direction: column;
		align-items: stretch;
		gap: var(--spacing-10);
	}

	.site-header .navbar-collapse .site-header__nav .nav-link {
		width: 100%;
		padding: var(--spacing-10) 0;
		text-align: left;
		color: var(--white);
	}
	.site-header{
		box-shadow: 0px 4px 15px 0px #0000001A;

	}
}

/* 3. Shared section helpers */
.section-eyebrow {
	letter-spacing: 0.08em;
	font-weight: 600;
	text-transform: uppercase;
}

/* Shared ribbon accent bar — one class reused site-wide instead of a
   per-section duplicate rule; color/size/alignment are opt-in modifiers. */
.ribbon {
	width: 75px;
	height: 14px;
	border: 0;
	opacity: 1;
	margin: 0 0 var(--spacing-20);
	background-color: var(--brand-orange);
}

.ribbon--cyan { background-color: var(--brand-cyan); }
.ribbon--blue { background-color: var(--blue-medium); }
.ribbon--green { background-color: var(--green-light); }

/* .ribbon--thin { height: 4px; } */
.ribbon--w64 { width: 64px; }
.ribbon--w40 { width: 40px; margin-top: var(--spacing-40); }

.ribbon--mb10 { margin-bottom: var(--spacing-10); }
.ribbon--mb30 { margin-bottom: var(--spacing-30); }
.ribbon--mb40 { margin-bottom: var(--spacing-40); }

.ribbon--hidden { visibility: hidden; }

.ribbon--right { margin-left: auto; }

@media (min-width: 992px) {
	.ribbon--right-lg { margin-left: auto; }
}

/* Other shared utilities (dedupe identical per-section rules) */
.bg-dot-pattern {
	background-color: var(--gray-50);
	background-image: radial-gradient(circle, rgba(4, 45, 98, 0.08) 1px, transparent 1px);
	background-size: 18px 18px;
}

.bg-navy-tech-pattern {
	background: var(--gradient-navy-to-blue);
	background-image: url("../images/industry/aws-expertise-bg.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: var(--white);
}

.section-bg-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.video-backgroud-meet-us{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: #030611;
	background-size: cover;
	background-position: center;
	z-index: 2;
	opacity: .57;
}

.section-bg-video-overlay {
	position: absolute;
	inset: 0;
	background: #004F6B;
	opacity: 90%;
	z-index: 1;
}

.avatar-placeholder {
	display: inline-block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: var(--gray-50);
	border: 1px solid #e0e0e0;
	flex-shrink: 0;
}

.line-clamp-4 {
	/* Caps description length so varying content can't stretch card heights. */
	display: -webkit-box;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.card-btn-bottom {
	align-self: flex-start;
	margin-top: auto;
}

/* Category tag pill, shown before a card title (Success Story cards). */
.category-tag {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding: 0.2rem 0.7rem;
	margin-bottom: var(--spacing-10);
	font-size: var(--fs-small);
	font-weight: 600;
	color: var(--blue-medium);
	border: 1px solid var(--blue-medium);
	border-radius: 4px;
}

.category-tag--on-dark {
	color: var(--white);
	border-color: var(--white);
}

/* 4. Home hero */
.home-hero {
	position: relative;
	overflow: hidden;
	background: var(--gradient-navy-to-blue);
}

.home-hero__media {
	position: relative;
	z-index: 0;
	line-height: 0;
}

.home-hero__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	/* background: rgba(4, 45, 98, 0.35); */
}

.home-hero__image {
	display: block;
	width: 100%;
	height: auto;
}

/* 5. Core capabilities */
.core-capabilities-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--spacing-40);
}

.cap-card {
	position: relative;
	min-height: 330px;
	padding: 0;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	border: 1px solid #e0e0e0;
}

.cap-card--charcoal {
	background: linear-gradient(to bottom, #242E3D 0 72%, #ffffff 72% 100%) !important;
}

.cap-card--orange {
	background: linear-gradient(to bottom, #F26633 0 72%, #ffffff 72% 100%) !important;
}

.cap-card--cyan {
	background: linear-gradient(to bottom, #1BC5EB 0 72%, #ffffff 72% 100%) !important;
}

.cap-card--blue {
	background: linear-gradient(to bottom, #3F83FF 0 72%, #ffffff 72% 100%) !important;
}

.cap-card--navy {
	background: linear-gradient(to bottom, #004F6B 0 72%, #ffffff 72% 100%) !important;
}

.core-capabilities-grid .cap-card .cap-card__icon {
	width: 100%;
	height: 72%;
	flex: 0 0 72%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.core-capabilities-grid .cap-card .cap-card__icon img {
	width: 120px;
	height: 120px;
	max-width: none;
}

.core-capabilities-grid .cap-card .cap-card__label {
	margin: 0;
	width: 100%;
	height: 28%;
	flex: 0 0 28%;
	padding: var(--spacing-20) var(--spacing-20);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dark-gray) !important;
}

.cap-card__title-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-20);
	width: 100%;
	text-decoration: none;
	color: var(--dark-gray);
}

.cap-card__title-link:focus-visible {
	outline: 2px solid var(--dark-gray);
	outline-offset: 2px;
}

.cap-card__title-text {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

@media (min-width: 576px) and (max-width: 1058px) {
	.core-capabilities-grid .cap-card .cap-card__icon {
		height: auto;
		flex: 1 1 0;
	}

	.core-capabilities-grid .cap-card .cap-card__label {
		height: auto;
		min-height: 116px;
		flex: 0 0 auto;
		background-color: var(--white);
	}

	.cap-card__title-link > svg {
		flex-shrink: 0;
	}
}

.cap-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: 1.5px solid currentColor;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	color: var(--brand-orange);
}

.cap-card__hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-60);
	padding: var(--spacing-40);
	text-align: center;
	color: #ffffff;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.cap-card--charcoal .cap-card__hover { background-color: #242E3D; }
.cap-card--orange .cap-card__hover { background-color: #F26633; }
.cap-card--cyan .cap-card__hover { background-color: #1BC5EB; }
.cap-card--blue .cap-card__hover { background-color: #3F83FF; }
.cap-card--navy .cap-card__hover { background-color: #004F6B; }

.cap-card:hover .cap-card__hover,
.cap-card:focus-within .cap-card__hover {
	opacity: 1;
	pointer-events: auto;
}

.cap-card__hover-text {
	margin: 0;
	font-size: var(--fs-medium);
	line-height: 1.5;
}

.cap-card__hover-btn {
	/* display: inline-flex;
	align-items: center;
	justify-content: center; */
	/* padding: var(--spacing-10) var(--spacing-30); */
	border: 1.5px solid #ffffff;
	/* border-radius: 999px; */
	color: #ffffff;
	/* font-size: var(--fs-small); */
	font-weight: 600;
	text-transform: Capitalize;
	/* text-decoration: none;
	white-space: nowrap; */
}
.cap-card .cap-card__hover-btn {
	/* border-color: var(--blue-medium); */
	color: var(--red-orange);
	background-color: #ffffff;
}

.cap-card__hover-btn:hover,
.cap-card__hover-btn:focus-visible {
	background-color: #ffffff;
	color: var(--red-orange);
}

.cap-card--callout {
	grid-column: 1 / -1;
	padding: var(--spacing-60);
	justify-content: center;
	align-items: flex-start;
	text-align: left;
}

.cap-card--callout p {
	margin: 0 0 var(--spacing-30);
	font-size: var(--fs-heading-5);
	font-weight: 700;
	line-height: 1.35;
	color: var(--dark-gray);
}

/* Shared modal backdrop — blue tint + blur + partial oval graphic, top-right,
   fixed to the viewport so it stays in the same place regardless of screen
   size (applies to every Bootstrap modal on the site). */
.modal-backdrop {
	background-color: rgba(0, 113, 255, 0.6) ;
	opacity: unset !important;
	background-image: url("../images/about/pop up - oval shape.png");
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 60vw;
	background-attachment: fixed;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* .modal-backdrop.show {
	opacity: 1;
} */

/* Core Capabilities — "Full description" modal (one per card). */
.cap-modal .modal-dialog {
	max-width: 600px;
}

/* .modal-dialog-scrollable (Bootstrap) bounds the dialog to the viewport and forces
   .modal-content to max-height:100%/overflow:hidden, and makes .modal-body (only)
   overflow-y:auto — title (.modal-header) and CTA (.modal-footer) are real sibling
   elements outside .modal-body, so they stay fixed/sticky in view while only the
   image+description in between scroll. */
.cap-modal__content {
	position: relative;
	border-radius: 24px;
	padding: 0;
}

.cap-modal__header {
	border: none;
	padding: var(--spacing-40) var(--spacing-40) var(--spacing-20);
}

.cap-modal__body {
	padding: 0 var(--spacing-40) var(--spacing-20);
}

.cap-modal__footer {
	border: none;
	justify-content: flex-start;
	padding: var(--spacing-20) var(--spacing-40) var(--spacing-40);
}

.cap-modal__close {
	position: absolute;
	top: var(--spacing-20);
	right: var(--spacing-20);
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: none;
	background: #ffffff;
	color: var(--red-orange);
	box-shadow: 0 2px 6px rgba(4, 45, 98, 0.2);
	z-index: 1;
}

.cap-modal__image {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: var(--spacing-20);
	flex-shrink: 0;
}

.cap-modal__image img {
	width: 45%;
	height: 45%;
	object-fit: contain;
}

/* Mission Areas reuse the same modal, but with a real cover photo instead of a centered icon. */
.cap-modal__image--photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Contract Vehicles reuse the same modal, but the logo needs to fill a
   square, blue-bordered box rather than the small centered icon treatment. */
.cap-modal__image--cv {
	aspect-ratio: 1 / 1;
	border: 1px solid var(--gray-200);
	background-color: var(--white);
}

.cap-modal__image--cv img {
	width: 90%;
	height: 90%;
	object-fit: contain;
}

.cap-modal__title {
	margin: 0;
	font-weight: 700;
	color: var(--dark-gray);
}

.cap-modal__desc {
	margin: 0;
	color: var(--dark-gray);
	line-height: 1.6;
}

/* Sticky footer CTA (Core Capabilities + Mission/Focus Areas only). */
.cap-modal__cta {
	margin: 0;
}

/* Attachment download links — any file link an admin inserts via "Add Media"
   inside a modal's WYSIWYG description (e.g. Contract Vehicles' Full
   Description) automatically gets a download icon + file-type suffix. No
   dedicated attachment fields/table markup needed in the editor. */
.cap-modal__desc a[href$=".pdf"],
.cap-modal__desc a[href$=".doc"],
.cap-modal__desc a[href$=".docx"],
.cap-modal__desc a[href$=".xls"],
.cap-modal__desc a[href$=".xlsx"],
.cap-modal__desc a[href$=".ppt"],
.cap-modal__desc a[href$=".pptx"],
.cap-modal__desc a[href$=".zip"] {
	display: flex;
	align-items: center;
	gap: var(--spacing-20);
	color: var(--blue-link);
	font-weight: 600;
	text-decoration: none;
	margin-bottom: var(--spacing-20);
}

.cap-modal__desc a[href$=".pdf"]::before,
.cap-modal__desc a[href$=".doc"]::before,
.cap-modal__desc a[href$=".docx"]::before,
.cap-modal__desc a[href$=".xls"]::before,
.cap-modal__desc a[href$=".xlsx"]::before,
.cap-modal__desc a[href$=".ppt"]::before,
.cap-modal__desc a[href$=".pptx"]::before,
.cap-modal__desc a[href$=".zip"]::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	background-image: url("../images/icons/download-icon.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

/* .cap-modal__desc a[href$=".pdf"]::after { content: " (pdf)"; }
.cap-modal__desc a[href$=".doc"]::after { content: " (doc)"; }
.cap-modal__desc a[href$=".docx"]::after { content: " (docx)"; }
.cap-modal__desc a[href$=".xls"]::after { content: " (xls)"; }
.cap-modal__desc a[href$=".xlsx"]::after { content: " (xlsx)"; }
.cap-modal__desc a[href$=".ppt"]::after { content: " (ppt)"; }
.cap-modal__desc a[href$=".pptx"]::after { content: " (pptx)"; }
.cap-modal__desc a[href$=".zip"]::after { content: " (zip)"; } */

@media (min-width: 576px) {
	.core-capabilities-grid {
		grid-template-columns: repeat(2, 1fr);
	}


@media (min-width: 768px) and (max-width: 991.98px) {
	.careers-regions__col .group-regions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.careers-regions__col .group-regions > .ribbon {
		grid-column: 1 / -1;
	}

	.careers-regions__label {
		margin-bottom: var(--spacing-10);
		font-size: 0.75rem;
	}

	.careers-regions__col .group-regions .btn-brand-blue {
		width: 100%;
		padding: 0.6rem var(--spacing-10);
		font-size: 0.625rem;
	}
}
	.cap-card {
		min-height: 260px;
	}

	.core-capabilities-grid .cap-card .cap-card__icon img {
		width: 128px;
		height: 128px;
	}
}

@media (min-width: 992px) {
	.core-capabilities-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--spacing-40);
	}

	.cap-card {
		min-height: 280px;
	}

	.core-capabilities-grid .cap-card .cap-card__icon img {
		width: 140px;
		height: 140px;
	}

	.cap-card--ai {
		grid-column: 1 / span 1;
	}

	.cap-card--callout-wide {
		grid-column: 2 / -1;
	}

}

@media (min-width: 1200px) {
	.core-capabilities-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 6. Industries teaser (alternating rows) */
.industries-row + .industries-row {
	margin-top: var(--spacing-80);
}

.home-industries {
	/* Safety net: contains the State & Local row's decorative bleed (below)
	   so it can never cause a horizontal scrollbar at any viewport width. */
	overflow-x: hidden;
}

.industries-row--state-local {
	position: relative;
}

@media (min-width: 992px) {
	.industries-row--state-local::before {
		content: "";
		position: absolute;
		top: -100px;
		right: -10vw;
		width: 46%;
		max-width: 600px;
		aspect-ratio: 736 / 675;
		background: url("../images/home/state-local-oval-bg.png") no-repeat center / contain;
		pointer-events: none;
		z-index: 0;
	}

	.industries-row--state-local > div {
		position: relative;
		z-index: 1;
	}
}

.industries-row__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 8px;
}
.industries-row__image{
	z-index: 0;
}

/* 7. Enterprise solutions teaser */
.solutions-heading {
	text-align: right;
}

.solutions-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--spacing-40);
}

.solutions-card {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background-size: cover;
	background-position: center;
}

.solutions-card__overlay {
	position: absolute;
	inset: 0;
	background-color: var(--charcoal);
	opacity: 0.6;
}

.solutions-card__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: var(--spacing-20);
	padding: var(--spacing-40);
	width: 100%;
	height: 100%;
}

.solutions-card__logo img {
	max-height: 48px;
	width: auto;
	margin: 0 auto;
}

.solutions-card__logo a {
	inset: 0;
	z-index: 2;
}

.solutions-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: 1.5px solid #fff;
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
}

.solutions-card__hover {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-20);
	padding: var(--spacing-40);
	text-align: center;
	background-color: var(--gray-75);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.solutions-card:hover .solutions-card__hover,
.solutions-card:focus-within .solutions-card__hover {
	opacity: 1;
	pointer-events: auto;
}

.solutions-card__hover-title {
	margin: 0;
	font-weight: 700;
	font-size: var(--fs-heading-5);
	color: var(--dark-gray);
}

.solutions-card__hover-text {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--dark-gray);
	min-height: 0;
	overflow-y: auto;
}

.solutions-card__hover > a {
	flex-shrink: 0;
}

.solutions-card__hover-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: 1.5px solid var(--dark-gray);
	color: var(--dark-gray);
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
}

.solutions-card--text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--spacing-30);
	aspect-ratio: 3 / 2;
	padding: var(--spacing-40);
	text-align: left;
	background-color: var(--white);
	border: 1px solid var(--gray-200);
	border-radius: 8px;
}

@media (min-width: 768px) {
	.solutions-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.solutions-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* 8. Client logos */
.client-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-50);
}

.client-logos__item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 1 140px;
}

.client-logos.js-client-logos-swiper {
	display: block;
	gap: 0;
}

.js-client-logos-swiper > .swiper-pagination {
	display: flex;
	width: 100%;
}

.js-trusted-by-swiper > .swiper-pagination-lock,
.js-client-logos-swiper > .swiper-pagination-lock,
.about-certifications .swiper-pagination-lock,
.swiper-pagination.logo-pagination--hidden {
	display: none !important;
}

.client-logos__image {
	/* height: 48px; */
	width: auto;
	max-width: 100%;
	object-fit: contain;
	filter: none;
	opacity: 1;
	transition: none;
}

.trusted-by__slide {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
}

.trusted-by__slide .client-logos__image {
	max-height: 72px;
	object-fit: contain;
}

@media (max-width: 767.98px) {
	.trusted-by__slide .client-logos__image {
		max-height: 90px;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.trusted-by__slide .client-logos__image {
		max-height: 90px;
	}
}

@media (max-width: 991.98px) {
	.client-logos--trusted-by {
		display: block;
		gap: 0;
	}

	.client-logos--trusted-by .client-logos__item.swiper-slide {
		flex: 0 0 auto;
		min-width: 0;
	}

	.trusted-by__slide {
		min-height: 176px;
		opacity: 0.35;
		transition: opacity 200ms ease;
	}

	.trusted-by__slide .client-logos__image {
		max-width: min(100%, 200px);
		transform: scale(0.6);
		transition: transform 200ms ease;
	}

	.trusted-by__slide.swiper-slide-active {
		opacity: 1;
	}

	.trusted-by__slide.swiper-slide-active .client-logos__image {
		transform: scale(1.7);
	}

	.trusted-by__slide.swiper-slide-prev .client-logos__image {
		transform: translateX(-12px) scale(0.6);
	}

	.trusted-by__slide.swiper-slide-next .client-logos__image {
		transform: translateX(12px) scale(0.6);
	}
}

/* 9. Home intro */
.home-intro__heading {
	line-height: 1.15;
	margin: 0;
	position: relative;
	z-index: 1;
}

/* .home-intro__col-left {
	position: relative;
} */

/* .home-intro__columns {
	margin-top: var(--spacing-60);
} */

.home-intro__col-left > .ribbon {
	position: relative;
	z-index: 1;
}

.home-intro__video {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

@media (max-width: 991.98px) {
	.home-intro__media {
		width: min(100%, 180px);
		margin: var(--spacing-30) auto 0;
	}

	.home-intro__video {
		width: 100%;
		aspect-ratio: 9 / 16;
		object-fit: cover;
	}
}

@media (max-width: 575.98px) {
	.home-intro__media {
		width: min(100%, 135px);
	}
}

@media (max-width: 991.98px) {
	.home-intro__media {
		display: none;
	}
}

@media (min-width: 992px) {
	/* Gated to 992px (Bootstrap's col-lg-6 two-column breakpoint) — below
	   it the columns stack and the video renders inline, full-width,
	   un-rotated (no need to bleed across sections there). */
	.home-intro__media {
		/* Text is allowed to overlap this strip (z-index below the heading/ribbon above).
		   top/bottom bleed past this column (and past the whole Intro section) so the
		   strip visually spans from just below the Hero down to the Federal industry
		   image at the top of the next section. bottom is offset by -var(--spacing-60)
		   worth of px to cancel out .home-intro__col-left's own padding-top below, so
		   the video's rendered position doesn't shift when the column grows taller. */
		position: absolute;
        top: 0;
        right: calc(50% + 72px);
        width: 140px;
        height: calc(100% + 12px);
        overflow: hidden;
        z-index: 0;
        pointer-events: none;
	}

	/* Video is landscape — rotated -90deg inside an oversized wrapper so it
	   covers the narrow vertical strip with no letterboxing/gaps, turning its
	   horizontal wave motion into the vertical motion shown in the reference. */
	.home-intro__media-inner {
		height: 100%;
	}

	.home-intro__video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 0;
	}
}

/* @media (min-width: 1200px) {
	.home-intro__media {
		bottom: -141px;
	}
} */

/* 1400-1919px measured a consistent +14px drift vs. the 1200px/1920px tiers
   (container hits its 1320px cap in this range) — corrected here only. */
/* @media (min-width: 1400px) and (max-width: 1919px) {
	.home-intro__media {
		top: -197px;
		bottom: -127px;
	}
} */

.home-intro__industries-lead {
	margin-top: var(--spacing-80) !important;
	margin-bottom: 0 !important;
	padding-top: var(--spacing-30);
	padding-bottom: 0;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	color: #000000;
}
.home-intro__col-right{
	padding-top: var(--spacing-60);
}
.home-intro {
	padding-block: var(--spacing-60) var(--spacing-40);
    position: relative;
	padding:var(--spacing-60) 0;
}

/* 10. Meet Ceebit */
.home-meet-ceebit {
	position: relative;
	overflow: hidden;
}

.home-meet-ceebit__subtitle {
	font-weight: 700;
}

.home-meet-ceebit__columns {
	align-items: center;
}

.home-meet-ceebit__stat strong {
	color: var(--brand-orange);
}

.home-meet-ceebit-button{
	align-self: flex-start;
    padding: 0.80rem 2.5rem;
    background-color: var(--white);
	color: var(--brand-orange);
    font-weight: 600;
    font-size: var(--fs-small);
    border-radius: 7px;
    text-decoration: none;
    border: 1.5px solid var(--white);
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.home-meet-ceebit__video {
	position: relative;
	min-height: 260px;
	overflow: hidden;
	border-radius: 8px;
	display: flex;
	justify-content: center;
}

.home-meet-ceebit__video-player {
	width: 80%;
	height: 80%;
	min-height: 260px;
	object-fit: cover;
	display: block;
	border-radius: 8px;
}

@media (min-width: 768px) {
	.home-meet-ceebit__video, .home-meet-ceebit__video-player {
		min-height: 420px;
	}

	.home-meet-ceebit__video {
		justify-content: flex-end;
	}
}

/* 11. Home Insights (replaces the previous News section) */
.home-insights {
	position: relative;
	/* Contains the oval-bg bleed below so it can't cause horizontal scroll. */
	overflow: hidden;
}

@media (min-width: 992px) {
	.home-insights__heading {
		text-align: right;
	}

	.home-insights::before {
		content: "";
		position: absolute;
		top: 10%;
		left: 0;
		width: 383px;
		aspect-ratio: 511 / 441;
		background: url("../images/home/news-oval-bg.png") no-repeat center / contain;
		pointer-events: none;
		z-index: 0;
	}

	.home-insights > .container {
		position: relative;
		z-index: 1;
	}
}

/* Sizing/position tiered to match the .container breakpoints so the oval
   scales with the actual content width, not the full viewport. */
@media (min-width: 1400px) {
	.home-insights::before {
		width: 422px;
	}
	
}

@media (min-width: 1900px) {
	.home-insights::before {
		width: 460px;
	}
}

.home-insights__carousel-wrap {
	position: relative;
}

/* Best-effort decorative zigzag connector line between cards (design
   reference has no source asset to reuse — recreated with an inline SVG
   sitting behind the cards, so it only shows through the gaps). */
.home-insights__connector {
	display: none;
}

@media (min-width: 1024px) {
	.home-insights__connector {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: 38%;
		width: 100%;
		height: 60px;
		z-index: 0;
		pointer-events: none;
	}
}

.home-insights-card {
	position: relative;
	z-index: 1;
	background-color: var(--white);
	display: flex;
	flex-direction: column;
	/* Fixed floor instead of relying on flex cross-stretch: -webkit-line-clamp
	   elements don't reliably participate in flex-grow stretch in Chromium. */
	min-height: 340px;
    height: auto;
	padding: 30px;
	/* gap: var(--spacing-20); 
	margin-right: 0 !important;*/
	border-radius: 9px;
	border: 1px solid var(--gray-200);
}

.home-insights-card__media {
	position: relative;
}

.home-insights-card__image {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
	/* height:287px;
	width:287px; */
}

.home-insights-card__image--placeholder {
	background: var(--gradient-navy-to-blue);
}

.home-insights-card__caption {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: var(--spacing-20) 0 0;
	font-weight: 700;
	color: var(--dark-gray);
}

.home-insights-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-20);
	margin-top: auto;
	padding-top: var(--spacing-20);
}

.home-insights-card__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.7rem;
	font-size: var(--fs-small);
	font-weight: 600;
	color: var(--blue-medium);
	border: 1px solid var(--blue-medium);
	border-radius: 4px;
}

.home-insights-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: 1.5px solid var(--brand-orange);
	color: var(--brand-orange);
}

/* 12. Blog */
.home-blog {
	position: relative;
	/* Contains the oval-bg bleed below so it can't cause horizontal scroll. */
	overflow: hidden;
}

@media (min-width: 992px) {
	.home-blog::before {
		content: "";
		position: absolute;
		top: 30.5%;
		left: 0;
		width: 480px;
		aspect-ratio: 762 / 710;
		background: url("../images/home/blog-oval-bg.png") no-repeat center / contain;
		pointer-events: none;
		z-index: 0;
	}

	.home-blog > .container {
		position: relative;
		z-index: 1;
	}
}

/* Sizing tiered to match the .container breakpoints so the oval scales
   with the actual content width, not the full viewport. */
@media (min-width: 1400px) {
	.home-blog::before {
		/* width: 530px; */
	}
}

@media (min-width: 1900px) {
	.home-blog::before {
		/* width: 620px; */
	}
}

.home-blog__featured {
	align-items: flex-start !important;
}

.home-blog__image img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 16px;
}

.home-blog__byline {
	display: flex;
	align-items: center;
	gap: var(--spacing-20);
}

.home-blog__read-more {
	color: var(--blue-link);
	font-weight: 600;
	text-decoration: none;
}

.home-blog__read-more:hover,
.home-blog__read-more:focus-visible {
	text-decoration: underline;
}

/* 13. Testimonial */
.home-testimonial {
	text-align: left;
	position: relative;
	overflow: hidden;
}

.home-testimonial__slide {
	min-width: 0;
}

.home-testimonial__carousel-wrap {
	position: relative;
	overflow: visible;
	padding: 0px 20px;
}

.home-testimonial .js-testimonials-swiper {
	overflow: hidden;
}

.home-testimonial__quote-wrap {
	max-height: 250px;
	overflow-y: auto;
	padding-right: var(--spacing-20);
}

.home-testimonial__quote {
	font-weight: 500;
	font-size: var(--fs-heading-6);
	line-height: 1.35;
}

.home-testimonial__name {
	font-size: var(--fs-small);
	color: rgba(255, 255, 255, 0.75);
}

.home-testimonial__company {
	font-size: var(--fs-small);
	color: rgba(255, 255, 255, 0.75);
	margin-top: -10px;
}

.home-testimonial__logo {
	display: block;
	max-width: 150px;
	max-height: 55px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.home-testimonial .swiper-pagination {
	position: static;
	margin-top: var(--spacing-30);
	text-align: center;
}

.home-testimonial .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	border: 1px solid var(--brand-orange);
	background: transparent;
	opacity: 1;
}

.home-testimonial .swiper-pagination-bullet-active {
	background: var(--brand-orange);
}

.home-testimonial__nav {
	display: none;
}

.home-testimonial__nav.swiper-button-disabled {
	display: flex !important;
	opacity: 0.35;
	pointer-events: none;
	cursor: default;
}

@media (max-width: 1023.98px) {
	.home-testimonial__nav,
	.home-testimonial .home-testimonial__nav.swiper-button-disabled {
		display: none !important;
	}
}

@media (min-width: 1024px) {
	.home-testimonial__nav {
		display: flex;
		z-index: 2;
	}

	.home-testimonial__nav.swiper-button-prev {
		left: -20px;
	}

	.home-testimonial__nav.swiper-button-next {
		right: -20px;
	}
}

@media (min-width: 1024px) and (max-width: 1200px) {
	.home .home-testimonial__carousel-wrap {
		padding-inline: 60px;
	}

	.home .home-testimonial__nav.swiper-button-prev {
		left: 0 !important;
	}

	.home .home-testimonial__nav.swiper-button-next {
		right: 0 !important;
	}
}

/* 14. Careers teaser */
.home-careers-teaser__row {
	align-items: flex-start !important;
}

.home-careers-teaser__image img {
	width: 100%;
	object-fit: contain;
	border-radius: 8px;
}

/* 15. Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.client-logos__image {
		transition: none;
	}
}

/* Breakpoint: ~576px — large phone / small tablet */
@media (min-width: 576px) {
	.industries-row__image img {
		aspect-ratio: 16 / 10;
	}
}

/* Breakpoint: ~768px — tablet */
@media (min-width: 768px) {
	.industries-row__image img {
		width: 94%;
		margin-left: auto;
		margin-right: auto;
	}

	.client-logos__image {
		/* height: 52px; */
	}
}

/* Breakpoint: ~992px — small desktop */
@media (min-width: 992px) {
	/* .industries-row__image img {
		width: 90%;
	} */

	.cap-card {
		min-height: 330px;
	}

	.cap-card__icon img {
		width: 140px;
		height: 140px;
	}

	.client-logos {
		flex-wrap: nowrap;
		justify-content: space-between;
		gap: var(--spacing-40);
	}

	.client-logos__item {
		flex: 1 1 0;
		min-width: 0;
	}

	.client-logos__image {
		margin: 0 auto;
	}
}

/* 16. Primary nav dropdown */
.site-header__nav .dropdown-toggle {
	background: none;
	border: 0;
	cursor: pointer;
}

.site-header__nav .dropdown-menu {
	border: 0;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(4, 45, 98, 0.15);
	padding: var(--spacing-20) 0;
	top:35px;
}

.site-header__nav .dropdown-item {
	padding: var(--spacing-20) var(--spacing-50);
	color: var(--brand-navy);
}

.site-header__nav .dropdown-item:hover,
.site-header__nav .dropdown-item:focus-visible {
	background-color: var(--gray-50);
	color: var(--brand-orange);
}

/* 17. Industry hero & About hero */
.industry-hero,
.about-hero {
	position: relative;
	overflow: visible;
	min-height: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media (min-width: 992px) {
	.industry-hero,
	.about-hero {
		min-height: 520px;
	}

	.industry-hero:not(:has(.industry-hero__media)),
	.about-hero:not(:has(.industry-hero__media)) {
		min-height: 280px;
	}
}

@media (min-width: 1200px) {
	.industry-hero,
	.about-hero {
		min-height: 580px;
	}

	.industry-hero:not(:has(.industry-hero__media)),
	.about-hero:not(:has(.industry-hero__media)) {
		min-height: 320px;
	}
}

@media (min-width: 1400px) {
	.industry-hero,
	.about-hero {
		min-height: 640px;
	}
}

@media (min-width: 1900px) {
	.industry-hero,
	.about-hero {
		min-height: 760px;
	}
}

.industry-hero__content h1,
.about-hero__content h1 {
	color: #000;
}

.industry-hero__subtitle,
.about-hero__subtitle {
	font-weight: 700;
	color: #000;
	max-width: 34ch;
}

.industry-hero__cta {
	display: inline-block;
	color: var(--brand-orange);
	background-color: transparent;
	font-weight: 600;
	font-size: var(--fs-small);
	padding: 0.80rem 2rem;
	border-radius: 7px;
	border: 1.5px solid var(--gray-100);
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.industry-hero__cta:hover,
.industry-hero__cta:focus-visible {
	background-color: var(--brand-orange);
	color: var(--white);
}

.btn-brand-no-border__cta {
	display: inline-block;
	color: var(--brand-white-token);
	background-color: var(--brand-orange);
	/* border: 1px solid var(--white); */
	font-weight: 600;
	font-size: var(--fs-small);
	padding: 0.80rem 2.5rem;
	border-radius: 7px;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.btn-brand-no-border__cta:hover,
.btn-brand-no-border__cta:focus-visible {
	background-color: transparent;
	border: 1px solid var(--white);
	color: var(--white);
}

/* Bleeds past .container to the browser's right edge on large screens
   (sibling of .container inside .industry-hero, see hero.php); stacks
   back into normal flow below the text on smaller screens. */
.industry-hero__media {
	margin-top: var(--spacing-60);
	margin-left: var(--spacing-40);
	width: calc(100% - var(--spacing-40));
	display: flex;
	justify-content: center;
}

.industry-hero__frame {
	position: relative;
	margin: 0;
	width: 100%;
	max-width: 480px;
}

/* object-fit:contain guarantees containment once .industry-hero__frame
   actually has a definite height to fit into (see below) — without that,
   a percentage height on the image silently resolves to auto and the
   photo overflows its box regardless of what height is set here. */
.industry-hero__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	position: relative;
	z-index: 1;
}

@media (min-width: 992px) {
	.industry-hero__content,
	.about-hero__content {
		padding-right: var(--spacing-40);
	}

	.industry-hero__media {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		margin-left: 0;
		margin-right: 0;
		width: 46%;
		max-width: 560px;
		height: auto;
		margin-top: 0;
		overflow: hidden;
	}

	.industry-hero__frame {
		width: 100%;
		max-width: none;
		height: auto;
	}

	.industry-hero__image {
		width: 100%;
		height: auto;
		object-fit: contain;
	}
}

@media (min-width: 576px) and (max-width: 991.98px) {
	.industry-hero__media {
		margin-left: calc((100% - 540px) / 2 + var(--spacing-40));
		width: calc(100% - ((100% - 540px) / 2 + var(--spacing-40)));
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.industry-hero__media {
		margin-left: calc((100% - 720px) / 2 + var(--spacing-60));
		width: calc(100% - ((100% - 720px) / 2 + var(--spacing-60)));
	}
}

@media (min-width: 1200px) {
	.industry-hero__media {
		max-width: 620px;
	}
}

@media (min-width: 1400px) {
	.industry-hero__media {
		max-width: 700px;
	}
}

@media (min-width: 1900px) {
	.industry-hero__media {
		max-width: 860px;
	}
}

/* Careers/Enterprise Solutions/Insights heroes */
@media (min-width: 992px) {
	.industry-hero--tight .industry-hero__media {
		max-width: 520px;
	}
}

@media (min-width: 1200px) {
	.industry-hero--tight .industry-hero__media {
		max-width: 580px;
	}
}

@media (min-width: 1400px) {
	.industry-hero--tight .industry-hero__media {
		max-width: 660px;
	}
}

@media (min-width: 1900px) {
	.industry-hero--tight .industry-hero__media {
		max-width: 780px;
	}
}

/* 18. Swiper carousels — shared (mission areas, client logos, news, leadership) */
.swiper {
	overflow: hidden;
}

.swiper-wrapper {
	align-items: stretch;
	/* gap: 20px; */
}

/* Fixed-width logo slides — Swiper's own slide-width math (not an
   independent CSS calc()) guarantees only whole logos are ever shown. */
.client-logos .swiper-slide {
	width: 192px;
	min-width: 140px;
	/* flex: 0 0 140px; */
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Wraps the carousel so prev/next can be absolutely positioned beside it. */
.mission-areas__carousel-wrap {
	position: relative;
	/* overflow-x: hidden; */
}
/* .mission-areas{
	margin-top: 3rem;
} */

.carousel-scroll__btn {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1.5px solid var(--blue-medium);
	background: var(--white);
	color: var(--blue-medium);
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
	margin-top: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	flex: 0 0 auto;
}

.about-leadership__carousel-wrap > .carousel-scroll__btn{
	color:transparent;
	border:1.5px solid var(--blue-medium);
}

/* Kill Swiper's default ::after arrow glyph — we render our own inline SVG. */
.carousel-scroll__btn::after {
	content: none;
}

/* .carousel-scroll__btn:hover,
.carousel-scroll__btn:focus-visible {
	background-color: var(--blue-medium);
	color: var(--white);
}
 */


/* Keep the control visible when all slides fit, but make it clearly inactive. */
.carousel-scroll__btn.swiper-button-lock {
	display: flex ;
	pointer-events: none;
	opacity: 0.35;
	cursor: default;
}
.carousel-scroll__btn.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
	display: none;
}

@media (max-width: 767.98px) {
	.carousel-scroll__btn {
		display: none !important;
	}
}

.carousel-scroll__btn--prev,
.carousel-scroll__btn--next {
	display: flex;
}

.carousel-scroll__btn--prev {
	left: 4px;
}

.carousel-scroll__btn--next {
	right: 4px;
}

.swiper-pagination {
	position: static;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-10);
	margin-top: var(--spacing-50);
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	border-radius: 5px;
	border: 1px solid var(--brand-orange);
	background: transparent;
	opacity: 1;
	margin: 0 !important;
}

.swiper-pagination-bullet-active {
	background-color: var(--brand-orange);
	border-color: var(--brand-orange);
}

@media (min-width: 1024px) and (max-width: 1399px) {
		.carousel-scroll__btn--prev {
		left: -40px !important;
	}

	.carousel-scroll__btn--next {
		right: -40px !important;
	}

}

@media (min-width: 1400px) {
	.mission-areas__carousel-wrap,
	.about-leadership__carousel-wrap {
		overflow: visible;
	}

	.home-insights__carousel-wrap,
	.mission-areas__carousel-wrap,
	.about-leadership__carousel-wrap {
		display: block;
	}

	.swiper {
		/* Reserves breathing room between the cards and the beside-carousel arrows. */
		/* padding: 0 var(--spacing-60); */
	}

	/* No arrows/dots on this carousel — no side padding to reserve for them. */
	.client-logos {
		padding: 0;
	}

	/* Desktop only: arrows sit beside the carousel, vertically centered. */
	.carousel-scroll__btn--prev,
	.carousel-scroll__btn--next {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 48%;
		transform: translateY(-50%);
		z-index: 2;
		box-shadow: 0 2px 8px rgba(4, 45, 98, 0.12);
		margin-top: 0;
	}

	.carousel-scroll__btn--prev {
		left: -60px !important;
	}

	.carousel-scroll__btn--next {
		right: -60px !important;
	}

}

/* 19. Mission areas */
.mission-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

@media (min-width: 992px) {
	.mission-areas__heading {
		text-align: right;
	}
}

.mission-card__image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 9px;
}

.mission-card__body {
	padding-top: var(--spacing-40);
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.mission-card__title {
	color: var(--dark-gray);
	/* reserve a fixed 2-line height so 1-line vs 2-line titles don't shift the
	   description/button position between cards in the same row */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: 2.4em;
}


/* 20. AWS expertise */
.aws-expertise {
	color: var(--white);
}

.aws-expertise__subtitle {
	color: rgba(255, 255, 255, 0.85);
}

.aws-expertise__list li {
	display: flex;
	color: var(--white);
	font-weight: 600;
	align-items: center;
	gap: var(--spacing-20);
	margin-bottom: var(--spacing-50);
}

.aws-expertise__list li svg {
	flex: 0 0 auto;
	width: 26px;
	height: 24px;
}

@media (max-width: 991.98px) {
	.aws-expertise__badge-block {
		/* justify-content: flex-start !important; */
		flex-wrap: wrap;
		margin-top: var(--spacing-30);
	}

	.aws-expertise__marketplace-cta {
		text-align: center;
	}

	.aws-expertise__badge {
		width: 300px;
	}
}

.aws-expertise__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 4px;
	color: var(--gray-300);
	font-size: var(--fs-heading-5);
	flex-shrink: 0;
}

.aws-expertise__badge {
	/*width: 110px;*/
	max-width: 100%;
	height: auto;
}

.aws-expertise__badge-lines {
	font-size: var(--fs-small);
}

.aws-expertise__badge-lines li {
	margin-bottom: var(--spacing-10);
}

/* 21. Success stories */
@media (min-width: 992px) {
	.success-stories__heading {
		text-align: right;
	}
}

.success-story-card {
	padding: var(--spacing-40);
	gap: var(--spacing-40);
	height: 100%;
}

.success-story-card__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.success-story-card__icon {
	width: 240px;
	height: 240px;
	object-fit: contain;
	flex-shrink: 0;
}

/* Shown until an admin uploads a real Thumbnail Image — a generic
   document-style graphic with the current Industry's name as a badge. */
.success-story-card__placeholder {
	position: relative;
	width: 240px;
	height: 240px;
	flex-shrink: 0;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: var(--spacing-10) var(--spacing-20);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-10);
	justify-content: center;
}

.single-industry .success-story-card__icon {
	width: 200px;
	height: 200px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border-radius: 8px;
	flex-shrink: 0;
}

.success-story-card__placeholder-line {
	display: block;
	height: 3px;
	border-radius: 2px;
	background-color: #d9d9d9;
}

.success-story-card__placeholder-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background-color: var(--brand-orange);
	color: var(--white);
	font-size: 10px;
	font-weight: 600;
	white-space: nowrap;
	padding: 0.2rem 0.5rem;
	border-radius: 3px;
}

/* .success-story-card__title {
	margin-top: auto;
} */
.insights-page-content .success-story-card__title {
color: var(--white);
}

/* White-background variant used only on the dedicated /insights/success-stories/ page. */
.insights-page-content .success-story-card--light .success-story-card__title {
	color: var(--dark-gray);
}

/* 22. Industry final CTA */
.industry-final-cta {
	background-color: var(--blue-medium);
	background-image: url("../images/industry/final-cta-bg.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: var(--white);
}

/* Open Positions */
.open-positions-page {
	padding: var(--spacing-60) 0 var(--spacing-100);
	background: var(--white);
}

.open-positions__back {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-10);
	margin-bottom: var(--spacing-40);
	color: var(--dark-gray);
	text-decoration: none;
}

.open-positions__back span {
	color: var(--blue-medium);
	font-size: 1.25rem;
}

.open-positions__heading {
	margin-bottom: var(--spacing-40);
}

.open-positions__heading h1 {
	margin: 0;
}

.open-positions__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--spacing-60);
}

.open-position-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	padding: var(--spacing-30);
	border: 1px solid var(--gray-100);
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(4, 45, 98, 0.06);
	background: var(--white);
}

.open-positions__card--hidden {
	display: none;
}

.open-position-card h2 {
	margin: var(--spacing-40) 0 var(--spacing-40);
	font-size: var(--fs-heading-6);
	color: var(--dark-gray);
	padding: 0px 12px;
}

.open-position-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
	color: var(--dark-gray);
	font-size: var(--fs-small);
}

.open-position-card li {
	display: flex;
	align-items: center;
	gap: var(--spacing-10);
	padding: var(--spacing-10) var(--spacing-20);
	font-size: var(--fs-small);
}

.open-position-card li + li {
	margin-top: var(--spacing-10);
}

.open-position-card li img {
	width: 32px;
	height: 32px;
	object-fit: contain;
}
.open-position-card li .open-position-card__apply img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.open-position-card__apply {
	display: flex;
	align-items: center;
	gap: var(--spacing-10);
	width: 100%;
	margin-top: auto;
	padding: var(--spacing-30) var(--spacing-30);
	color: var(--brand-orange);
	font-size: var(--fs-small);
	font-weight: 600;
	text-decoration: none;
}

.open-positions__show-more {
	display: block;
	margin: var(--spacing-40) auto 0;
	padding: var(--spacing-10) var(--spacing-40);
	border: 0;
	border-radius: 4px;
	background: var(--brand-orange);
	color: var(--white);
	cursor: pointer;
}

.open-positions__empty {
	padding: var(--spacing-40);
	border: 1px solid var(--gray-100);
	text-align: center;
	color: var(--dark-gray);
}

@media (max-width: 991px) {
	.open-positions__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575px) {
	.open-positions-page {
		padding: var(--spacing-40) 0 var(--spacing-60);
	}

	.open-positions__grid {
		grid-template-columns: 1fr;
		gap: var(--spacing-20);
	}

	.open-position-card {
		min-height: 200px;
		padding: var(--spacing-20);
	}
}

/* 23. Enterprise Solutions detail page (reuses .industries-row layout/alternation) */
.solution-row + .solution-row {
	margin-top: var(--spacing-80);
}

.solution-row__media {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}

.solution-row__media img:first-child {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.solution-row__overlay {
	position: absolute;
	inset: 0;
	background-color: var(--charcoal);
	opacity: 0.55;
}

.solution-row__logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	max-height: 180px;
/* 	max-width: 80%;
	height: auto;
	width: auto; */
}

.solution-row__bullets {
	 list-style-type: none;
	padding: 0;
	margin: var(--spacing-20) 0 0;
}

.solution-row__bullets li {
	position: relative;
	/* padding-left: 1.2em; */
	font-size: var(--fs-small);
	color: var(--dark-gray);
	 /* list-style-type: disc; */
}

.solution-row__bullets li + li {
	margin-top: var(--spacing-10);
}

/* .solution-row__bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: currentColor;
} */

/* 24. Ceebit page */
.ceebit-capabilities__list {
	list-style: none;
	padding: 0;
	margin: 0;
	columns: 1;
	column-gap: var(--spacing-60);
}

.ceebit-capabilities__list li {
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-10);
	font-size: var(--fs-small);
	color: var(--dark-gray);
	font-weight: 600;
	break-inside: avoid;
	margin-bottom: var(--spacing-40);
}

.ceebit-capabilities__check {
	flex: 0 0 auto;
	color: var(--blue-medium);
	line-height: 0;
	margin-top: 0.2em;
}

@media (min-width: 768px) {
	.ceebit-capabilities__list {
		columns: 2;
	}
}

.ceebit-benefits__label {
	font-weight: 700;
	font-size: var(--fs-heading-4);
	margin: 0 0 var(--spacing-40);
}

.ceebit-benefits {
	background-image: url("../images/about/about-global-footprint-bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.ceebit-benefits__grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-50) var(--spacing-40);
}

.ceebit-benefits__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 20%;
	/* width: calc((100% - 4 * var(--spacing-60)) / 4); */
	min-width: 140px;
}

.ceebit-benefits__number {
	font-size: var(--fs-heading-1);
	font-weight: 800;
	color: var(--brand-orange);
	line-height: 1;
	margin-bottom: var(--spacing-20);
}

.ceebit-benefits__text {
	font-size: var(--fs-small);
	font-weight: 700;
	color: var(--dark-gray);
	/* break-inside: avoid; */
	width: 64%;
}

.ceebit-callout {
	padding: var(--spacing-40) 0;
	border-top: 1.5px dotted var(--dark-gray);
	border-bottom: 1.5px dotted var(--dark-gray);
}

/* Image already has the dotted border baked in — reset the text-variant border/padding. */
.ceebit-callout--image {
	border: none;
	padding: 0;
}

.ceebit-callout__image {
	width: 100%;
	height: auto;
	display: block;
}

.ceebit-callout__line {
	display: flex;
	align-items: center;
	width: 65%;
	gap: var(--spacing-60);
	color: var(--brand-orange);
	font-weight: 800;
	font-size: var(--fs-heading-1);
	line-height: 1.15;
	margin: 0;
	
}

.ceebit-callout__line + .ceebit-callout__line {
	margin-top: var(--spacing-60);
	padding-top: var(--spacing-30);
}

.ceebit-callout__arrow {
	color: var(--gray-300);
	font-size: var(--fs-heading-1);
}

/* 25. Insights page */
.insights-hero__category {
	margin-top: var(--spacing-30);
}

.insights-hero__category {
	display: inline-block;
}

.insights-hero__category-select {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-40);
	min-width: 300px;
	padding: 0.5rem 0.5rem 0.5rem 1.4rem;
	background-color: var(--white);
	color: var(--black);
	font-weight: 500;
	border: 1px solid var(--gray-200);
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(4, 45, 98, 0.08);
}

.insights-hero__category-select::after {
	display: none;
}

.insights-hero__category-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1.5px solid var(--brand-orange);
	color: var(--brand-orange);
	font-size: 1rem;
	line-height: 1;
}

.insights-hero__category-arrow {
	transition: transform 0.2s ease;
}

/* Bootstrap toggles aria-expanded on the button when the dropdown opens/closes. */
.insights-hero__category-select[aria-expanded="true"] .insights-hero__category-arrow {
	transform: rotate(90deg);
}

.insights-hero__category-menu {
	width: 100%;
	min-width: 100%;
	border: 1px solid var(--gray-200);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(4, 45, 98, 0.15);
	padding: var(--spacing-20) 0;
}

.insights-hero__category-menu .dropdown-item {
	padding: var(--spacing-10) var(--spacing-40);
	color: var(--dark-gray);
}

.insights-hero__category-menu .dropdown-item.active {
	background-color: var(--gray-50);
	color: var(--dark-gray);
	font-weight: 600;
}

.insights-hero__category-menu .dropdown-item:hover,
.insights-hero__category-menu .dropdown-item:focus-visible {
	background-color: var(--gray-50);
	color: var(--brand-orange);
}

.insights-press-card {
	height: 100%;
	gap: var(--spacing-30);
}

.insights-press-card__image {
	flex: 0 0 auto;
	/* width: 140px;
	height: 140px; */
	object-fit: contain;
	border-radius: 8px;
	width: 240px;
	height: 240px;
}
.insights-press-card__image img {
	object-fit: contain;
}

.insights-press-card__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.insights-press-card__date {
	margin: 0 0 var(--spacing-10);
}

.insights-press-card__title {
	color: var(--black);
	margin-bottom: var(--spacing-20);
}

.insights-press-card__content {
	color: var(--dark-gray);
	font-weight: 400;
	margin-bottom: var(--spacing-20);
}

.insights-white-papers {
	background-color: var(--brand-navy);
	background-image: url("../images/insights/insights - white papers - bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: var(--white);
}

.insights-white-paper-card {
	gap: var(--spacing-30);
	height: 100%;
}

.insights-white-paper-card__thumb {
	flex: 0 0 auto;
	width: 240px;
	height: 240px;
	border-radius: 8px;
	object-fit: cover;
	/* border: 1px solid rgba(255, 255, 255, 0.2); */
}

.insights-white-paper-card__thumb--placeholder {
	background: var(--gradient-navy-to-blue);
}

.insights-white-paper-card__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	height: 240px;
	min-height: 0;
	gap: var(--spacing-20);
}

.insights-white-paper-card__text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
	line-clamp: 7;
	overflow: hidden;
	color: var(--white);
	margin: 0;
}

.insights-white-paper-card__btn {
	align-self: flex-start;
	padding: 0.60rem 2.5rem;
	background-color: var(--white);
	font-weight: 600;
	font-size: var(--fs-small);
	border-radius: 7px;
	text-decoration: none;
	border: 1.5px solid var(--white);
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

/* White-background variant used only on the dedicated /insights/white-papers/ page. */
.insights-white-paper-card--light .insights-white-paper-card__thumb {
	border-color: var(--gray-200);
}

.insights-blog-card {
	height: 100%;
	gap: var(--spacing-30);
}

.insights-blog-card__image {
	flex: 0 0 auto;
	width: 160px;
}

.insights-blog-card__image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
}

.insights-blog-card__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-width: 0;
	gap: 8px;
}

.insights-blog-card__meta {
	display: flex;
	align-items: center;
	gap: var(--spacing-20);
	margin: 0 0 var(--spacing-10);
}

.insights-blog-card__avatar-img {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.insights-blog-card__title {
	color: var(--dark-gray);
	margin-bottom: var(--spacing-10);
}

.insights-blog-card__byline {
	display: flex;
	align-items: center;
	gap: var(--spacing-20);
	margin-bottom: var(--spacing-10);
}

/* Dead-code note: no .insights-blog-card__btn is used in markup (it reuses .insights-press-card__btn via card-btn-bottom). */

.insights-success-stories {
	background-color: var(--brand-navy);
	background-image: url("../images/insights/insights - success stories - bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: var(--white);
}

.insights-success-stories .success-story-card {
	/* border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); */
}

.insights-success-stories .success-story-card__icon {
	width: 165px;
	height: 165px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
	flex-shrink: 0;
}

.insights-success-stories .success-story-card__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.insights-success-stories .success-story-card__desc {
	display: none;
}

.insights-responsive-track {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--spacing-50);
}

.insights-responsive-slide {
	min-width: 0;
	height: auto;
}

.insights-responsive-carousel > .swiper-pagination {
	display: none;
}

@media (max-width: 991.98px) {
	.insights-responsive-track {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.insights-responsive-carousel.swiper .insights-responsive-track {
		display: flex;
	}

	.insights-responsive-carousel.swiper > .swiper-pagination {
		display: flex;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.insights-responsive-carousel:not(.swiper) .insights-responsive-track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* 26. Primary nav active state */
.site-header__nav .current-menu-item > .nav-link,
.site-header__nav .current-menu-parent > .nav-link,
.site-header__nav .current-menu-ancestor > .nav-link {
	color: var(--brand-orange);
}

/* 27. About page */

/* -- Hero -- */
/* Missing position:relative meant .industry-hero__media's top:50% resolved
   against the wrong ancestor, letting the image bleed into About Inadev
   below it at ≥1920px — matches .industry-hero (Careers/Industry/etc). */
.about-hero {
	position: relative;
	overflow: visible;
}

.about-hero__content h1 {
	color: #000;
}

.about-hero__subtitle {
	font-weight: 700;
	color: #000;
	max-width: 34ch;
}

.about-hero__description {
	max-width: 46ch;
}

/* -- About Inadev -- */
.about-inadev__list li {
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-10);
	margin-bottom: var(--spacing-10);
}

.about-inadev__bullet {
	color: var(--black);
	font-weight: 700;
}

.about-inadev__image {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
}

/* -- Our Mission & Vision -- */
.about-mission-vision {
	background-color: var(--gray-50);
	background-image: url("../images/about/about-global-footprint-bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.about-mission-vision__block {
	margin-bottom: var(--spacing-40);
}

.about-mission-vision__label {
	font-weight: 700;
	font-size: var(--fs-heading-6);
	margin-bottom: var(--spacing-10);
}

.about-mission-vision__label--orange {
	color: var(--brand-orange);
}

.about-mission-vision__label--blue {
	color: var(--blue-medium);
}

.about-mission-vision__infographic {
	width: auto;
	/* max-width: auto; */
	height: auto;
	display: block;
	margin: 0 auto;
}

/* -- Values -- */
/* .about-values__subtitle {
	max-width: 60ch;
} */

@media (min-width: 992px) {
	.about-values__heading {
		text-align: right;
	}

	.about-values__subtitle {
		margin-left: auto;
	}
}

.about-values__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-60) var(--spacing-80);
	margin-top: var(--spacing-40);
}

.value-circle {
	position: relative;
	display: block;
	flex: 0 0 320px;
	width: 220px;
	aspect-ratio: 1 / 1;
	text-decoration: none;
}

.value-circle__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.value-circle__hover {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1.5px dashed var(--value-accent, var(--brand-orange));
	background-color: var(--gray-50);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--spacing-30);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.value-circle:hover .value-circle__hover,
.value-circle:focus-visible .value-circle__hover,
.value-circle:focus-within .value-circle__hover {
	opacity: 1;
}

.value-circle__hover-text {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--dark-gray);
	text-align: center;
	line-height: 1.5;
}

@media (max-width: 480px) {
	.value-circle {
		flex-basis: 160px;
		width: 160px;
	}
}

/* -- Certifications & Partnerships -- */
@media (min-width: 992px) {
	.about-certifications__heading {
		text-align: right;
	}

	.about-certifications__subtitle {
		margin-left: auto;
	}
}

.about-certifications__group {
	margin-top: var(--spacing-70);
	text-align: center;
}


.about-certifications__group-title {
	color: var(--dark-gray);
	margin-bottom: var(--spacing-30);
}

.about-certifications__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-70);
}
@media (max-width: 1440px) {
	.about-certifications__grid{
		    gap: var(--spacing-50);
	}
}
.cert-item {
	width: 190px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.cert-item__logo {
	max-width: 100%;
	max-height: 190px;
	min-height: 190px;
	object-fit: contain;
	margin-bottom: var(--spacing-10);
}

.cert-item__logo--partnership {
	max-width: 100%;
	max-height: 140px;
	min-height: 140px;
	object-fit: contain;
	margin-bottom: var(--spacing-10);
}

.cert-item__name {
	font-weight: 700;
	color: var(--dark-gray);
}

.cert-item__caption {
	font-size: var(--fs-small);
	color: var(--black);
	border-top: 1px solid var(--black);
	min-width: 130px;
	padding-top: 5px;
}

/* -- Leadership -- */
.about-leadership {
	background-color: var(--brand-navy);
	background-image: url(../images/about/about-leadership-bg.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--white);
}

.about-leadership__carousel-wrap {
	position: relative;
	overflow: visible;
}

/* Icon SVG (leadership.php) is self-contained: bakes in its own circle bg/border/arrow. */
.about-leadership__carousel-wrap .carousel-scroll__btn {
	width: 40px;
	height: 40px;
	background: transparent;
	padding: 0;
	margin-top: 0;
}

.about-leadership__carousel-wrap .carousel-scroll__btn--prev,
.about-leadership__carousel-wrap .carousel-scroll__btn--next {
	top: 50%;
	margin-top: 0;
	transform: translateY(-50%);
	height: 60px;
	width: 60px;
}

/* Overrides the shared arrow-spacing padding — each Swiper slide here is a
   full-width category group, so it must span the wrap's exact width instead
   of being narrowed for beside-carousel arrow clearance (unlike the
   narrower multi-up cards in Mission Areas/News/Client Logos). */
.about-leadership__swiper {
	padding: 0;
}

.about-leadership__slide {
	padding: 0 var(--spacing-10);
}

.about-leadership__category {
	color: var(--white);
	margin-bottom: var(--spacing-30);
}

.about-leadership__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-40) var(--spacing-20);
}

.leadership-card {
	text-align: center;
	padding: 0px 30px;
	/* Resets so the CPT-driven <button> variant (has a full description) looks
	   identical to the plain <div> variant (no description, arrow links out). */
	display: block;
	width: 100%;
	border: none;
	background: transparent;
	font: inherit;
	color: inherit;
	cursor: pointer;
}

.leadership-card__photo {
	width: 192px;
	/* height: 192px; */
	border-radius: 50%;
	object-fit: cover;
	margin: 0 auto var(--spacing-10);
	display: block;
}

.leadership-card__photo--placeholder {
	background-color: rgba(255, 255, 255, 0.15);
}

.leadership-card__name {
	color: var(--white);
	font-weight: 700;
}

.leadership-card__title {
	color: rgba(255, 255, 255, 0.75);
	font-size: var(--fs-small);
}

.leadership-card__cta {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1.5px solid var(--brand-orange);
	color: var(--brand-orange);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: var(--spacing-10) auto 0;
}

/* @media (min-width: 576px) {
	.about-leadership__grid {
		grid-template-columns: repeat(2, 1fr);
	}
} */

@media (min-width: 768px) {
	.about-leadership__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Leadership — "Full description" popup (photo/name/title/LinkedIn header + scrollable body). */
.leadership-modal .modal-dialog {
	max-width: 600px;
}

.leadership-modal__content {
	position: relative;
	border-radius: 20px;
	overflow: visible;
	padding: var(--spacing-40);
	background-color: var(--white);
}

.leadership-modal__header {
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-20);
	padding: var(--spacing-30);
	border-radius: 16px;
	background-color: var(--brand-navy);
	background-image: url("../images/about/leadership-profile-bg.png");
	background-size: contain;
	background-position: right;
	background-repeat: no-repeat;
}

.leadership-modal__photo {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.leadership-modal__header-text {
	flex-grow: 1;
}

.leadership-modal__name {
	color: var(--white);
	font-weight: 700;
	margin: 0;
}

.leadership-modal__title {
	color: var(--brand-orange);
	font-weight: 700;
	font-size: var(--fs-small);
	margin: var(--spacing-10) 0 0;
}

.leadership-modal__linkedin {
	display: inline-block;
	color: var(--white);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
	margin-top: var(--spacing-10);
}

.leadership-modal__body {
	margin-top: var(--spacing-30);
	color: var(--dark-gray);
	line-height: 1.6;
	max-height: 413px;
	overflow-y: auto;
	padding-right: var(--spacing-20);
}

/* -- Contract Vehicles -- */
.about-contract-vehicles__subtitle {
	margin-bottom: var(--spacing-70);
}

.about-contract-vehicles__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--spacing-30);
}

.about-responsive-carousel > .swiper-pagination {
	display: none;
}

.about-responsive-slide {
	height: auto;
}

.contract-vehicle-card {
	display: flex;
	gap: var(--spacing-40);
	padding: var(--spacing-30);
}

.contract-vehicle-card__logo {
	/* width: 56px;
	height: 56px; */
	width: clamp(64px, 10vw, 120px);
	height: clamp(64px, 10vw, 120px);
	max-width: 100%;
	object-fit: contain;
	flex-shrink: 0;
}

.contract-vehicle-card__title {
	color: var(--black);
	margin-bottom: var(--spacing-10);
}

.contract-vehicle-card__contract-number,
.contract-vehicle-card__desc {
	margin-bottom: var(--spacing-10);
}

.contract-vehicle-card__btn {
    align-self: flex-start;
    margin-top: auto;
}
.contract-vehicle-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

@media (max-width: 991.98px) {
	.contract-vehicle-card {
		flex-direction: column;
		gap: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 8px;
		background-color: var(--white);
		box-shadow: 0 4px 16px rgba(4, 45, 98, 0.1);
	}

	.contract-vehicle-card__logo {
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		padding: var(--spacing-30);
		background-color: var(--gray-50);
		object-fit: contain;
	}

	.contract-vehicle-card__body {
		min-width: 0;
		padding: var(--spacing-30) !important;
	}
}

@media (min-width: 768px) {
	.about-contract-vehicles__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* .contract-vehicle-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	} */
}

@media (max-width: 991.98px) {
	.about-inadev__media {
		display: none;
	}

	.about-values__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--spacing-40) var(--spacing-30);
	}

	.value-circle {
		flex: initial;
		width: 100%;
		max-width: 320px;
		justify-self: center;
	}

	.value-circle:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		width: calc((100% - var(--spacing-20)) / 2);
	}

	.value-circle__hover {
		display: none;
	}

	.about-responsive-carousel.swiper > .swiper-pagination {
		display: flex;
	}

	.about-responsive-carousel.swiper .about-responsive-track {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0;
	}

	.about-responsive-carousel.swiper .about-certifications__grid {
		justify-content: flex-start;
	}

	.about-responsive-carousel.swiper .about-responsive-slide {
		min-width: 0;
	}

	.about-certifications .about-responsive-slide {
		justify-content: center;
		min-height: 198px;
		padding-block: 24px;
		opacity: 0.35;
		transition: opacity 200ms ease;
	}

	.about-certifications .cert-item__logo {
		width: 100%;
		max-width: 200px;
		height: 110px;
		min-height: 0;
		max-height: 110px;
		margin-bottom: 32px;
		transform: scale(0.6);
		transition: transform 200ms ease;
	}

	.about-certifications .swiper-slide-active {
		opacity: 1;
	}

	.about-certifications .swiper-slide-active .cert-item__logo {
		transform: scale(1.4);
	}

	.about-certifications .cert-item__caption {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
	}
}



/* 28. Careers page */
.careers-hero__tagline {
	color: var(--brand-orange);
	font-weight: 700;
	margin-top: var(--spacing-20);
}

.careers-regions__image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 275px;
	/* height: auto;
	width: auto; */
}

.careers-regions__image {
	/* max-width: 60%;
	max-height: 100%; */
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	margin-inline: auto;
}

.careers-regions__label {
	font-weight: 400;
	color: var(--dark-gray);
	margin-bottom: var(--spacing-20);
	text-align: left;
}

.careers-team{
	margin-top: 50px;
}

.careers-team__strive-label {
	color: var(--brand-orange);
	font-weight: 700;
	margin-top: var(--spacing-30);
}

.careers-team__bullets {
	list-style: none;
	margin: 0;
	padding: 0;
}

.careers-team__bullets li {
	position: relative;
	padding-left: var(--spacing-40);
	margin-bottom: var(--spacing-20);
	color: var(--dark-gray);
}

.careers-team__bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--black);
}

.careers-values__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-60) var(--spacing-40);
}

.careers-values__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	flex: 0 0 150px;
}

.careers-values__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	margin-bottom: var(--spacing-30);
}

.careers-values__badge img {
	width: 120px;
	height: 120px;
	object-fit: contain;
}

/* .careers-values__item--1 .careers-values__badge { border-color: var(--brand-orange); }
.careers-values__item--2 .careers-values__badge { border-color: var(--blue-medium); }
.careers-values__item--3 .careers-values__badge { border-color: var(--brand-navy); }
.careers-values__item--4 .careers-values__badge { border-color: var(--brand-cyan); }
.careers-values__item--5 .careers-values__badge { border-color: var(--purple); }
 */
.careers-values__label {
	font-weight: 600;
	color: var(--dark-gray);
}

.careers-recognition__heading-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--spacing-30);
	margin-bottom: var(--spacing-60);
}

.careers-recognition__glassdoor {
	display: flex;
	align-items: flex-end;
}

.careers-recognition__glassdoor img {
	width: 100%;
	max-width: 315px;
	max-height: 121px;
	height: auto;
	aspect-ratio: auto 315 / 118;
}

.careers-recognition__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-40);
}

.careers-recognition__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 110px;
	padding: var(--spacing-10);
}

.careers-recognition__cell img {
	max-width: 100%;
	object-fit: contain;
}

.careers-recognition__placeholder {
	color: var(--dark-gray);
	font-weight: 600;
	text-align: center;
}

@media (min-width: 768px) {
	.careers-recognition__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* 29. Contact page */
.contact-form-section .wpcf7-form-control {
	width: 100%;
	padding: var(--spacing-20);
	border: 1px solid var(--gray-200);
	border-radius: 7px;
	font-size: var(--fs-body);
	color: var(--black);
}
.contact-form-section .wpcf7-submit{
	color: var(--white);
}
.contact-form-section textarea.wpcf7-form-control {
	min-height: 160px;
	resize: vertical;
}

.contact-form-section .wpcf7-form-control:focus {
	outline: none;
	border-color: var(--brand-orange);
}

.contact-form-section .wpcf7-submit {
	margin-top: var(--spacing-10);
}

.contact-form-section .wpcf7-not-valid-tip {
	color: #d63638;
	font-size: var(--fs-caption);
	margin-top: var(--spacing-10);
}

.contact-form-section .wpcf7-response-output {
	margin-top: var(--spacing-20);
	padding: var(--spacing-20);
	border-radius: 4px;
}

.contact-presence__maps {
	display: flex;
	width: 100%;
	/* align-items: center; */
	/* justify-content: center; */
	gap: var(--spacing-60);
	margin-bottom: var(--spacing-40);
}

.contact-presence__map {
	max-width: 220px;
	width: 100%;
	height: auto;
	object-fit: contain;
	opacity: 0.35;
}

/* .contact-presence__description {
	max-width: 70ch;
} */

.contact-addresses__group-title {
	font-weight: 400;
	font-size: var(--fs-body-large);
	color: var(--dark-gray);
	margin-bottom: var(--spacing-20);
}

.contact-addresses__group-title--hidden {
	visibility: hidden;
}

.contact-addresses__location {
	font-weight: 700;
	font-size: var(--fs-small);
	color: var(--dark-gray);
	margin-bottom: var(--spacing-10);
}

.contact-addresses__text {
	color: var(--dark-gray);
	margin-bottom: var(--spacing-10);
}

.contact-addresses__linkedin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	background-color: var(--blue-linkedin);
	padding: 0.1rem;
	border-radius: 2px;
	margin-top: var(--spacing-10);
}

.aws-heading-full{
	width: max-content;
}

.capabilities-list-2 ul {
	list-style-type:disc;
	padding-left: 1.2em;
	font-weight: 700;
	
}

.py-6 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
.careers-regions__col{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-20);
}



@media (min-width: 992px) {
	.capabilities-list-2 {
		overflow-x: hidden;
	}

	.capabilities-list-2 .container .flex-lg-row-reverse{
position: relative;
z-index: 2;
}
	.capabilities-list-2 .container .flex-lg-row-reverse::before {
		content: "";
		position: absolute;
		top: -15%;
		right: -10vw;
		width: 44%;
		/* max-width: 720px; */
		aspect-ratio: 736 / 675;
		background: url("../images/home/state-local-oval-bg.png") no-repeat center / contain;
		pointer-events: none;
		z-index: -1;
	}

	/* .industries-row--state-local > div {
		position: relative;
		z-index: 1;
	} */
}

/* 30. Tablet and mobile responsive safeguards */
@media (max-width: 991.98px) {
	.contact-addresses .contact-addresses__col {
		flex: 0 0 auto;
		width: 50%;
	}

	.contact-addresses .contact-addresses__group-title--hidden,
	.contact-addresses .ribbon--hidden {
		display: none;
	}

	.careers-regions__col {
		min-width: 0;
	}

	.careers-regions__image-wrap {
		height: clamp(110px, 24vw, 180px);
	}

	.careers-regions__label {
		font-size: clamp(0.875rem, 2.2vw, var(--fs-heading-5));
		margin-bottom: var(--spacing-10);
		white-space: nowrap;
	}

	.careers-regions__col .group-regions {
		width: min(100%, 180px);
		min-width: 0;
	}

	.careers-regions__col .group-regions .btn-brand-blue {
		display: flex;
		width: 100%;
		min-height: 48px;
		padding-block: 0.6rem;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-weight: 600;
		white-space: nowrap;
		padding-inline: var(--spacing-10);
		font-size: clamp(0.625rem, 1.55vw, var(--fs-small));
	}

	.careers-values__intro,
	.careers-values__items {
		flex: 0 0 100%;
		width: 100%;
	}

	.careers-values__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-items: center;
		gap: var(--spacing-40) var(--spacing-20);
	}

	.careers-values__item {
		width: 100%;
		min-width: 0;
		flex: initial;
	}

	.careers-values__item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		width: calc((100% - var(--spacing-20)) / 2);
		justify-self: center;
	}

	.careers-values__badge {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		margin-bottom: 0;
	}

	.careers-values__badge img {
		width: 100%;
		height: 100%;
	}

	.industry-hero,
	.about-hero {
		flex-direction: column;
		align-items: stretch;
	}

	.industries-row > .industries-row__content,
	.solution-row > .solution-row__content {
		order: -1;
	}

	.industries-row > .industries-row__image {
		order: -1;
	}

	.industries-row > .industries-row__content {
		order: 0;
	}

	.enterprise-solutions-list .solution-row {
		--bs-gutter-y: var(--spacing-20);
		row-gap: var(--spacing-20);
	}

	.enterprise-solutions-list .solution-row > .solution-row__image {
		order: -1;
	}

	.enterprise-solutions-list .solution-row > .solution-row__content {
		order: 0;
	}

	.capabilities-list-1 .solution-row,
	.capabilities-list-2 .solution-row {
		--bs-gutter-y: var(--spacing-20);
		row-gap: var(--spacing-20);
	}

	.capabilities-list-1 .solution-row--ceebit-image-first > .solution-row__image,
	.capabilities-list-2 .solution-row--ceebit-image-first > .solution-row__image {
		order: -1;
	}

	.capabilities-list-1 .solution-row--ceebit-image-first > .solution-row__content,
	.capabilities-list-2 .solution-row--ceebit-image-first > .solution-row__content {
		order: 0;
	}

	.capabilities-list-1 .solution-row--ceebit-hide-image > .solution-row__image,
	.capabilities-list-2 .solution-row--ceebit-hide-image > .solution-row__image {
		display: none;
	}

	.industries-row,
	.solution-row {
		row-gap: var(--spacing-60);
	}

	.home-industries .industries-row {
		--bs-gutter-y: var(--spacing-20);
		row-gap: var(--spacing-20);
	}

	.industry-hero__media {
		order: -1;
		margin-top: -24px;
		margin-bottom: var(--spacing-30);
		padding-inline: 0;
	}

	.industry-hero__frame {
		max-width: 100%;
	}

	.aws-heading-full {
		width: auto;
		max-width: 100%;
	}

	.mission-areas__carousel-wrap,
	.about-leadership__carousel-wrap {
		overflow-x: hidden;
	}

	.home-intro__col-right {
		padding-top: 0;
	}

	.site-footer__regions {
		padding-left: 0;
	}

	.insights-white-paper-card,
	.insights-blog-card,
	.insights-press-card {
		flex-direction: column;
	}

	.insights-white-paper-card__body,
	.insights-blog-card__body,
	.insights-press-card__body {
		order: 0;
		width: 100%;
		min-width: 0;
	}

	.insights-white-paper-card__body {
		height: auto;
		overflow: visible;
	}

	.insights-white-paper-card__thumb,
	.insights-blog-card__image,
	.insights-press-card__image {
		order: -1;
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	.insights-white-paper-card__thumb {
		aspect-ratio: 4 / 3;
	}

	.insights-blog-card__image img,
	.insights-press-card__image {
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}

	.success-story-card {
		flex-direction: column;
	}

	.success-story-card__body {
		order: 0;
		width: 100%;
		min-width: 0;
		height: auto;
		overflow: visible;
	}

	.success-story-card__icon,
	.success-story-card__placeholder,
	.insights-success-stories .success-story-card__icon {
		order: -1;
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.success-story-card__icon {
		object-fit: cover;
	}
}

@media (max-width: 767.98px) {
	.contact-addresses .contact-addresses__col {
		width: 100%;
	}

	.container > .row {
		--bs-gutter-x: 2rem;
	}

	.carousel-scroll__btn{
		display: none;
	}
	.home-blog__featured > .col-md-7,
	.home-careers-teaser__row > .col-md-7 {
		order: -1;
	}

	.home-careers-teaser__row > .col-md-7 {
		text-align: left !important;
	}

	.home-careers-teaser__row .ribbon {
		margin-left: 0 !important;
	}
}

@media (max-width: 575.98px) {
	html,
	body {
		overflow-x: clip;
	}

	.row > * {
		min-width: 0;
	}

	iframe,
	embed,
	object,
	video {
		max-width: 100%;
	}

	.cap-card__hover,
	.solutions-card__hover {
		gap: var(--spacing-30);
		padding: var(--spacing-30);
		overflow-y: auto;
	}

	.cap-card__hover-btn,
	.btn-brand-orange,
	.btn-outline-brand,
	.btn-brand-no-border__cta,
	.industry-hero__cta,
	.home-meet-ceebit-button,
	.insights-white-paper-card__btn {
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.insights-hero__category-select {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.ceebit-benefits__item {
		width: calc(50% - var(--spacing-20));
		min-width: 0;
	}

	.ceebit-benefits__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--spacing-30) var(--spacing-20);
	}

	.ceebit-benefits__item {
		width: auto;
	}

	.ceebit-benefits__text {
		width: 100%;
	}

	.ceebit-callout__line {
		width: 100%;
		gap: var(--spacing-20);
		font-size: var(--fs-heading-3);
	}

	.careers-recognition__glassdoor img {
		width: 100%;
		height: auto;
	}

	.contact-presence__maps {
		flex-wrap: wrap;
		justify-content: center;
		gap: var(--spacing-20);
	}

	.contact-presence__map {
		flex: 0 1 calc(50% - var(--spacing-20));
		max-width: calc(50% - var(--spacing-20));
	}

	.leadership-card {
		padding-inline: 0;
	}

	.leadership-card__photo {
		width: 100%;
		max-width: 160px;
		height: auto;
		aspect-ratio: 1;
	}

	.success-story-card__placeholder {
		width: min(240px, 100%);
		height: auto;
		aspect-ratio: 1;
	}

	.success-story-card {
		flex-direction: column;
	}

	.success-story-card__body {
		order: 0;
		width: 100%;
		min-width: 0;
	}

	.success-story-card__icon {
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.success-story-card__placeholder {
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.site-footer__nav-row {
		justify-content: flex-start;
		gap: var(--spacing-20) var(--spacing-30);
	}

	.py-6 {
		padding-top: var(--spacing-60) !important;
		padding-bottom: var(--spacing-60) !important;
	}
}
@media (max-width:992px) {
		.carousel-scroll__btn{
		display: none;
	}
}

.enterprise-solutions-list .solution-row__bullets{
	list-style-type: disc;
	padding-left: 1.2em;
}

/* 31. Insights detail page (Blog / Press Release — shared template-parts/insights/detail.php) */
.insight-detail {
	position: relative;
	overflow-x: hidden;
}

.insight-detail__header {
	position: relative;
}

/* Decorative wave — bleeds edge-to-edge of the full page (not clipped to
   .container's max-width), anchored near the top of the section so it stays
   scoped to the header area regardless of how long the body content below
   is. Gated to desktop, matching where the image+title sit side-by-side
   (Bootstrap's lg breakpoint) instead of stacked. */
@media (min-width: 992px) {
	.insight-detail::before {
		content: "";
		position: absolute;
		top: 275px;
		right: 0;
		width: 65%;
		max-width: 900px;
		aspect-ratio: 1920 / 354;
		background: url("../images/insights/blog-detail-bg.png") no-repeat right center / contain;
		pointer-events: none;
		z-index: 0;
	}

	.insight-detail > .container {
		position: relative;
		z-index: 1;
	}
}

.insight-detail__back {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-20);
	color: var(--black);
	font-weight: 400;
	text-decoration: none;
	margin-bottom: var(--spacing-40);
}

.insight-detail__back:hover,
.insight-detail__back:focus-visible {
	color: var(--brand-orange);
}

.insight-detail__image {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 16px;
}

.insight-detail__title {
	/* font-weight: 500; */
	color: var(--dark-gray);
}

.insight-detail__byline {
	display: flex;
	align-items: center;
	gap: var(--spacing-20);
	margin-top: var(--spacing-40);
}

.insight-detail__avatar {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
}

.insight-detail__author-name {
	font-weight: 700;
	color: var(--dark-gray);
	margin-bottom: 0;
	font-size: var(--fs-body-large);
}

.insight-detail__author-title {
	font-size: var(--fs-body-small);
	color: var(--gray-500);
	margin-bottom: 0;
}

.insight-detail__date {
	font-weight: 700;
	color: var(--dark-gray);
	margin-top: var(--spacing-20);
	margin-bottom: 0;
}

.insight-detail__divider {
	border: 0;
	border-top: 1.5px solid var(--blue-medium);
	margin: var(--spacing-40) 0;
}

.insight-detail__body {
	color: var(--dark-gray);
	line-height: 1.7;
}

.insight-detail__body p {
	margin-bottom: var(--spacing-30);
}

.insight-detail__official-link a {
	color: var(--blue-link);
	font-weight: 600;
	text-decoration: underline;
}

.insight-detail__official-link a:hover,
.insight-detail__official-link a:focus-visible {
	color: var(--brand-orange);
}

.insights-press-releases .success-story-card {
	gap: var(--spacing-30) !important;
}
/* .insights-press-releases .success-story-card__icon {
	width: unset;
	
} */
/* .insights-press-releases .industry-hero__cta {
	margin-top: auto;
} */

/* 404 page */
.not-found-page {
	display: flex;
	align-items: center;
	min-height: 64vh;
	padding-block: var(--spacing-70);
	background-color: var(--gray-50);
}

.not-found-page__content {
	max-width: 820px;
	text-align: center;
}

.not-found-page__code {
	margin: 0 0 var(--spacing-30);
	color: var(--brand-navy);
	font-size: 6rem;
	font-weight: 800;
	line-height: 0.9;
}

.not-found-page__ribbon {
	margin: 0 auto var(--spacing-30);
}

.not-found-page__title {
	margin: 0;
	color: var(--dark-gray);
	font-size: var(--fs-heading-3);
}

.not-found-page__description {
	max-width: 580px;
	margin: var(--spacing-30) auto 0;
	color: var(--dark-gray);
}

.not-found-page__search {
	max-width: 560px;
	margin: var(--spacing-50) auto 0;
	text-align: left;
}

.not-found-page__search label {
	display: block;
	margin-bottom: var(--spacing-10);
	font-weight: 600;
}

.not-found-page__search-controls {
	display: flex;
	gap: var(--spacing-20);
}

.not-found-page__search input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 48px;
	padding: var(--spacing-20) var(--spacing-30);
	border: 1px solid var(--gray-300);
	border-radius: 7px;
	background-color: var(--white);
	color: var(--dark-gray);
	font: inherit;
}

.not-found-page__search input:focus-visible {
	border-color: var(--blue-medium);
	outline: 2px solid var(--blue-medium);
	outline-offset: 2px;
}

.not-found-page__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-30);
	margin-top: var(--spacing-40);
}

.not-found-page__links a {
	text-decoration: none;
}

@media (min-width: 768px) {
	.not-found-page__code {
		font-size: 6rem;
	}
}

@media (max-width: 575.98px) {
	.not-found-page__search-controls,
	.not-found-page__links {
		flex-direction: column;
	}

	.not-found-page__search-controls .btn-brand-orange,
	.not-found-page__links a {
		width: 100%;
		text-align: center;
	}
}