/* =========================================================
MPM — style.css
Base styles, resets, and section-specific custom CSS
(only add rules here that Tailwind utilities can't cleanly express)
========================================================= */

:root {
	--body-color: #606060;
	--color-black: #000000;
	--color-primary: #233e99;
	--color-secondary: #3574e3;
	--color-neutral-0: #ffffff;
	--color-neutral-100: #0F1415;
	--color-neutral-200: #e8e8e8;
	--color-neutral-400: #bbbbbb;
	--color-neutral-600: #4F596E;
	--color-neutral-800: #606060;
	--color-neutral-1000: #141414;
	--color-red-100: #fb3748;
	--color-red-200: #DC2E27;
	--color-yellow-100: #ffdb43;
	--color-yellow-200: #dfb400;
	--color-green-100: #84ebb4;
	--color-green-200: #1fc16b;
	--color-gray-100: #F5F7FA;
	--color-btn-red: #c2231d;
}

html {scroll-behavior: smooth;}
body {
	font-family: "Inter", sans-serif;
	color: var(--body-color);
	font-size: 18px;
	line-height: 26px;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3 {
	font-family: "Libre Caslon Text", serif;
	font-weight: 400;color: #141414;
}
h4, h5, h6 {
	font-family: "Inter", sans-serif;
	font-weight: 600;color: #141414;
}
h1{font-size:70px;line-height:120%;}
h2{font-size:36px;line-height:120%;margin-bottom:0.75rem;}
h3{font-size:30px;line-height:120%;margin-bottom:0.75rem;}
h4{font-size:24px;line-height:120%;margin-bottom:0.75rem;}
h5{font-size:22px;line-height:120%;margin-bottom:0.75rem;}
h6{font-size:20px;line-height:120%;margin-bottom:0.75rem;}

.absolute{position:absolute;}

.section {padding-top: 100px;}
.section-title {font-family: "Libre Caslon Text", serif;font-weight: 400;font-size: 36px;line-height: 120%;letter-spacing: -1.5px;color: var(--color-neutral-1000);}
h1 span, h2 span, h3 span {color: var(--color-red-200);}
.section-subtext {margin-top: 1rem;font-size: 18px;line-height: 140%;color: var(--color-neutral-800);}
.mt-30{margin-top:30px;}
.mt-5{margin-top:48px;}
.mb-30{margin-bottom:30px;}

p{margin-bottom:18px;}
p:last-child{margin-bottom:0;}

.text-center{text-align:center;}
.grid{display:grid;}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns: repeat(3, 1fr);}
.grid-4{grid-template-columns: repeat(4, 1fr);}
.grid-5{grid-template-columns: repeat(5, 1fr);}
.grid-6{grid-template-columns: repeat(6, 1fr);}


.btn, .wpcf7-form-control.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: "Inter", sans-serif;
	font-weight: 400;
	border-radius: 8px;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	justify-content: center;
}

.btn-icon {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
}
.btn-s {
	padding: 0.5rem 1rem;
	font-size: 14px;
	line-height: 120%;
}
.btn-m, .wpcf7-form-control.wpcf7-submit {
	padding: 0.715rem 1.25rem;
	font-size: 16px;
	line-height: 120%;
}
.btn-l {
	padding: 0.75rem 1.5rem;
	font-size: 18px;
	line-height: 120%;
}

/* Types */
.btn-solid, .wpcf7-form-control.wpcf7-submit{
	background-color: var(--color-btn-red);
	color: var(--color-neutral-0);
	border: 1px solid var(--color-btn-red);
}

.btn-solid:hover {
	background-color: var(--color-red-100);
	border-color: var(--color-red-100);
}

.btn-outline {
	background-color: var(--color-neutral-0);
	color: var(--color-neutral-1000);
	border: 1px solid var(--color-neutral-400);
}

.btn-outline:hover {
	border-color: var(--color-neutral-1000);
}

.btn-ghost {
	background-color: transparent;
	color: var(--color-red-200);
	border: 1px solid transparent;
	padding-left: 0;
	padding-right: 0;
}

.btn-ghost:hover {
	color: var(--color-red-100);
}

.btn-link {
	background-color: transparent;
	color: var(--color-neutral-1000);
	border: none;
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: 0;
}

.btn-gray{
	background-color: var(--color-gray-100);
	color: var(--color-red-200);
	border: 1px solid  #00000033;
}
.btn-gray:hover{
	background-color: var(--color-black);
	border-color: var(--color-black);
	color: var(--color-neutral-0);
}

/* -----------------------------------------
TOPBAR
Markup pattern: text duplicated once inside
.marquee-track so the loop is seamless.
----------------------------------------- */
.topbar {
	position: relative;
	display: flex;
	align-items: center;
	background-color: var(--color-red-200);
	color: var(--color-neutral-0);
	overflow: hidden;
	padding: 0.75rem 3rem;height:40px;
}

.marquee {
	flex: 1;
	overflow: hidden;
}

.marquee-track {
	display: flex;
	width: max-content;
	animation: marquee-scroll 22s linear infinite;
}

.marquee-track span {
	padding-right: 4rem;
	font-size: 14px;
	line-height: 120%;
	white-space: nowrap;
}

@keyframes marquee-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.marquee-track {
		animation: none;
	}
}

.topbar-close {
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	color: var(--color-neutral-0);
	background: none;
	border: none;
	cursor: pointer;
	line-height: 0;
}

.topbar-close svg {
	width: 16px;
	height: 16px;
}

/* -----------------------------------------
HEADER
----------------------------------------- */
header{
	position: sticky !important;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid #F5F7FA;
	box-shadow: 0px 1px 0px 0px #0000000D;
	backdrop-filter: blur(4px);
	-webkit-transition: box-shadow .4s ease-in-out, backdrop-filter .4s ease-in-out;
	-moz-transition: box-shadow .4s ease-in-out, backdrop-filter .4s ease-in-out;
	-o-transition: box-shadow .4s ease-in-out, backdrop-filter .4s ease-in-out;
	-ms-transition: box-shadow .4s ease-in-out, backdrop-filter .4s ease-in-out;
	transition: box-shadow .4s ease-in-out, backdrop-filter .4s ease-in-out;
}
header.headersticky{
	backdrop-filter: blur(20px);
	box-shadow: rgba(0, 0, 0, .2) -.5px .9px 5px 0;
}
body.admin-bar header, body.admin-bar header.topbaron.headersticky{top:32px;}
body.admin-bar header.topbaron, header.topbaron.headersticky{top: 0;}
.menu-container {
	padding-top: 0;
	padding-bottom: 0;
}
.nav-link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 30px 0;
	font-size: 16px;
	line-height: 120%;
	color: var(--color-black);
	text-decoration: none;
	cursor: pointer;
}
.nav-chevron {
	width: 10px;
	height: 6px;
	transition: transform 0.2s ease;
}
.header-menu-toggle {
	display: none;
	color: var(--color-neutral-1000);
}
.header-menu-toggle svg {
	width: 24px;
	height: 24px;
}
li[data-open="true"] a{color: var(--color-red-200);}
li[data-open="true"] .subtoggle svg {
	transform: rotate(180deg);color: var(--color-red-200);
}

/* -----------------------------------------
MEGA MENU
Shared building blocks reused across the
banner / grid / tabs / category layouts.
----------------------------------------- */
.mega-menu, .mega-banner-layout{
	min-height: 450px;
}
.mega-menu-inner {
	max-width: 1440px;
	margin-inline: auto;
	padding: 2rem 1.5rem;
}

.mega-eyebrow {
	color: var(--color-neutral-600);
	font-size: 14px;
	line-height: 120%;
	margin-bottom: 1.5rem;
	padding-left: 30px;
}
.mega-tabs-col .mega-eyebrow {
	padding-left: 0;
}
.mega-link-card {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	text-decoration: none;
	color: inherit;
	padding: 20px 30px;
}
.mega-link-card:hover {
	background: url(../images/menu-hover.svg) no-repeat center;
}
.mega-link-title {
	font-size: 18px;
	line-height: 120%;
	color: var(--color-neutral-100);
}

.mega-link-desc {
	font-size: 14px;
	line-height: 120%;
	color: var(--color-neutral-600);
}

.mega-link-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 2.5rem;
}

.mega-link-grid--2col {
	grid-template-columns: repeat(2, 1fr);
}

.mega-simple-list,
.mega-link-list {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mega-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--color-neutral-200);
}

.mega-footer-text {
	color: var(--color-neutral-600);
	font-size: 14px;
	line-height: 120%;
}

.mega-footer-text strong {
	color: var(--color-neutral-1000);
	font-weight: 600;
}

/* Banner layout: Solutions / Services / Foundry Academy */
.mega-banner-layout {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) 1.4fr;
}

.mega-banner-links {
	padding: 2rem 1.5rem 2rem 0;
}

.mega-banner-media {
	position: relative;
	display: flex;
	align-items: center;
	background-color: var(--color-neutral-1000);
	background-size: cover;
	background-position: center;
}

/*.mega-banner-media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(20, 20, 20, 0.8), rgba(20, 20, 20, 0.6) 65%);
}
*/
.mega-banner-overlay {
	position: relative;
	z-index: 1;
	padding: 20px;
	max-width: 650px;
	margin: 0 auto;color: #000000;
}

.mega-banner-heading {
	font-family: "Libre Caslon Text", serif;
	font-size: 36px;
	line-height: 120%;
	letter-spacing: -1.5px;
	margin-bottom: 0.75rem;
}

.mega-banner-text {
	font-size: 16px;
	line-height: 24px;
	color: #000000;
	margin-bottom: 1.25rem;
}

/* Tabs layout: Products */
.mega-tabs-layout {
	display: grid;
	grid-template-columns: minmax(220px, 280px) 1fr;
}

.mega-tabs-col {
	padding-right: 2rem;
	border-right: 1px solid var(--color-neutral-200);
}

.mega-tab-list {
	display: flex;
	flex-direction: column;
}

.mega-tab {
	text-align: left;
	background: none;
	border: none;
	font-size: 18px;
	line-height: 120%;
	color: var(--color-neutral-1000);
	cursor: pointer;
	padding: 20px 6px
}

.mega-tab[aria-selected="true"] {
	color: var(--color-red-200);
	font-weight: 600;
}

.mega-tab-panel[hidden] {
	display: none;
}

/* Category layout: Foundry 4.0 */
.mega-category-layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2rem;
}

.mega-category-sublists {
	display: flex;
	gap: 2.5rem;
}

.mega-category-sublists .mega-link-list {
	flex: 1;
}

.mega-category-col--divider {
	padding-left: 2rem;
	border-left: 1px solid var(--color-neutral-200);
}

ul.sub-menu {
	position: absolute;
	opacity: 0;
	visibility: hidden;
	background: #fff;
	box-shadow: 0 24px 48px rgba(20, 20, 20, 0.08);
	border-top: 2px solid var(--color-red-200);
}

li.pagelink.menu-item-has-children:hover ul.sub-menu{opacity: 1;visibility: visible;}
ul.sub-menu li a {color:#000000;
	padding: 10px 15px;
	font-size: 16px;
	display: inline-block;
	width: 100%;
}

/* -----------------------------------------
HOME BANNER
Markup pattern: marquee track duplicates the
5 images once so the loop is seamless.
----------------------------------------- */
.home-banner {
	position: relative;
	background-image: url("../images/home-banner-pattern.png");
	background-repeat: repeat;
	background-position: top center;
	overflow: hidden;
}

.home-banner-content {
	margin-inline: auto;
	padding: 5.5rem 1.5rem 3rem;
	text-align: center;
}

.home-banner-eyebrow {
	font-family: "Libre Caslon Text", serif;
	font-size: 16px;
	line-height: 120%;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--color-neutral-1000);
	margin-bottom: 0.75rem;
}

.home-banner-title{
	font-size: 64px;
	line-height: 80px;
	letter-spacing: -4%;
	color: var(--color-neutral-1000);
}

.home-banner-title {
	margin-bottom: 1.5rem;
}
.home-banner-title span{font-style: italic;}
.home-banner-title strong{font-size: 72px;line-height: 90px;font-style: italic;color: var(--color-red-200);font-weight:600;}
/*.home-banner-title span {
display: block;
font-style: italic;
color: var(--color-red-200);
font-weight: 600;
font-size: 72px;
line-height: 80px;
letter-spacing: -2.88px;
}
*/
.home-banner-subtext {
	margin-inline: auto;
	font-size: 18px;
	line-height: 30px;
	color: #4F596E;
	margin-bottom: 2rem;
}

.home-banner-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.home-banner-marquee {
	overflow: hidden;
	width: 100%;
}

.home-banner-marquee-track {
	display: flex;
	align-items: center;
	gap: 16px;
	width: max-content;
	animation: home-banner-marquee-scroll 32s linear infinite;
}

.home-banner-marquee-img {
	display: block;
	height: 340px;
	width: auto;
	flex-shrink: 0;
	object-fit: cover;
}

@keyframes home-banner-marquee-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-banner-marquee-track {
		animation: none;
	}
}

/* -----------------------------------------
PRODUCTS
Markup pattern: whole card is one <a>, arrow
sits in a 40x40 icon box, image grayscale by
default and colored + scaled on hover.
----------------------------------------- */
.product-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 2.5rem;
	border: 1px solid #00000033;
	border-bottom:0;border-right:0;
}

.product-card {
	border: 1px solid trasparent;
	border-right: 1px solid #00000033;
	border-bottom: 1px solid #00000033;
}

.product-card-link {
	display: block;
	height: 100%;
	padding: 1.5rem;
	color: inherit;
	text-decoration: none;
}
.product-card-link:hover, .job-item:hover{
	background: url(../images/box-hover.svg) no-repeat;
	background-position: center;
	background-size: cover;
}
.product-card-link .product-arrow img {
	transition: all 0.5s ease;
}
.product-card-link:hover .product-arrow {
	background: #DC2E27;
	border-radius: 6px;
}
.product-card-link:hover .product-arrow img {
	filter: brightness(0) saturate(100%) invert(98%) sepia(8%) saturate(146%) hue-rotate(243deg) brightness(116%) contrast(100%);
	transform: rotate(45deg);
} 
.product-card-media {
	overflow: hidden;
	aspect-ratio: 11 / 7;
	background-color: #ffe8e8;
	margin-bottom: 1rem;
}

.product-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
	transform: scale(1);
	transition: filter 0.3s ease, transform 0.3s ease;
}

.product-card:hover .product-card-media img {
	filter: grayscale(0%);
	transform: scale(1.2);
}

.product-card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.product-card-title {
	color: #141414;
	font-weight: 500;
	font-size: 24px;
	line-height: 120%;
	letter-spacing: 0px;
	vertical-align: middle;
}
.product-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	transition: all 0.5s ease;
}
.product-card-desc {
	margin-top: 0.2rem;
	color: var(--color-neutral-800);
}


/* -----------------------------------------
DELIVERING RESULTS
----------------------------------------- */
.results-panel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
}

.results-panel-media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.results-panel-media img {
	width: 100%;
	height: auto;
}

.results-panel-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	padding: 24px;
}

.results-panel-content h3 {
	font-family: "Inter", sans-serif;
	font-weight: 500;
	font-size: 22px;
	line-height: 130%;
	color: var(--color-neutral-1000);
}
.results-panel-content a{
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	font-size: 14px;
	color: var(--color-red-200);
	text-decoration: none;
}
.results-panel-link svg {
	width: 16px;
	height: 16px;
}

.results-panel-link:hover {
	text-decoration: underline;
}

/* -----------------------------------------
SOLUTIONS
Markup pattern: whole card is a div wrapping
one <a> (matches the Products card pattern).
----------------------------------------- */
.solution-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.solution-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.solution-card-media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 0.75rem;

}
.solution-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: scale 0.5s ease;
}
.solution-card-link:hover .solution-card-media img {
	scale: 1.2;
}
.solution-card-title {
	font-weight: 500;
	font-size: 24px;
	line-height: 130%;
	color: var(--color-neutral-1000);
	margin-bottom: 0.5rem;
}

.solution-card-link:hover .solution-card-title {
	color: var(--color-red-200);
}

.solution-card-desc {
	margin-bottom: 1rem;
}

.solution-card-readmore {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-weight: 500;
	font-size: 16px;
	color: var(--color-red-200);
}

.solution-card-readmore img {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.solution-card-link:hover .solution-card-readmore img {
	transform: translateX(4px);
}

/* -----------------------------------------
FOUNDERS
Full-bleed layout (not the max-w-1440
container): text column + red photo column
that overflows above/below its own box.
----------------------------------------- */
.founders {
	padding-top: 0;
	margin-top: 100px;
	position: relative;
	background-image: url("../images/dots-pattern.svg");
	background-repeat: repeat;
	background-position: top center;
}

.founders-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 34%);
	align-items: stretch;
	min-height: 820px;
}

.founders-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 80%;
	padding: 3rem 3rem 3rem max(1.5rem, calc((100vw - 1440px) / 2 + 1.5rem));
}

@media (min-width: 1024px) {
	.founders-content {
		padding-left: max(2.5rem, calc((100vw - 1440px) / 2 + 2.5rem));
	}
}

.founders-name {
	font-family: "Libre Caslon Text", serif;
	font-weight: 400;
	font-size: 36px;
	line-height: 120%;
	color: var(--color-neutral-1000);
	margin-bottom: 0.75rem;
}

.founders-role {
	font-weight: 600;
	font-size: 20px;
	line-height: 120%;
	color: #4F596E;
	margin-bottom: 2rem;
}

.founders-bio {
	display: flex;
	flex-direction: column;
	font-size: 18px;
	line-height: 150%;
	color: var(--color-neutral-800);
	margin-bottom: 2rem;
}

.founders-quote, .founders-content blockquote{
	position: relative;
	background-color: var(--color-red-200);
	color: var(--color-neutral-0);
	padding: 44px;
}
.founders-content blockquote:before {
	content: "";
	background: url(../images/founder-quote.svg) no-repeat;position: absolute;
	width: 24px;
	height: 21px;
	top: 20px;
	left: 20px;
}
.founders-quote p, .founders-content blockquote p {
	font-size: 22px;
	line-height: 30px;
}

.founders-media {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	height: 100%;
	overflow: visible;
}

.founders-media-frame {
	position: relative;
	display: inline-block;
	flex-shrink: 0;
	height: 100%;
}

.founders-media-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 50%;
	background-color: var(--color-red-200);
}

.founders-media-img {
	position: relative;
	z-index: 1;
	display: block;
	height: 100%;
	width: auto;
	max-width: none;
}

.founders-bottom-border {
	display: block;
	width: 100%;
	height: auto;
}

/* -----------------------------------------
FOUNDERS VIDEO
Markup pattern: each slide is a <button
data-video-type="youtube|vimeo|mp4" data-video-src="...">.
JS reads those attributes to populate the
shared #video-modal on click.
----------------------------------------- */

.founders-video-swiper {
	margin-top: 2rem;
}
.video-card {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 12px;
	padding: 0;
	cursor: pointer;
	border: 1.13px solid #0000001A;
	backdrop-filter: blur(4.5176472663879395px);
	background: #00000005;
}
.video-card:before {
	content: "";
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60.92%, #000000 100%);
	position: absolute;
	width: calc(100% - 28px);
	height: calc(100% - 28px);
	left: 14px;
	top: 14px;
	z-index: 1;
	border-radius: 12px;
}
.video-card-thumb {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	padding: 14px;border-radius: 24px;
}

.video-card-play {
	position: absolute;   
	bottom: 40px;
	right: 30px;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	background-color: rgba(255, 255, 255, 0.95);
	color: #000000;
	box-shadow: 0 8px 24px rgba(20, 20, 20, 0.25);
	transition: transform 0.2s ease;
	z-index: 1;
}

.video-card-play svg {
	width: 28px;
	height: 28px;
}

.video-card:hover .video-card-play, .training-video-modal:hover .video-card-play{
	transform: translate(-50%, -50%) scale(1.2);
	background: var(--color-red-200);
}

.video-card-caption {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 2.5rem 7rem 2.5rem 3rem;
	text-align: left;
	z-index: 1;
}

.video-card-title {
	font-size: 28px;
	line-height: 130%;
	color: var(--color-neutral-0);
}

.video-card-desc {
	font-size: 18px;
	line-height: 130%;
	color: #ffffff;
}
.training-video-modal {
    cursor: pointer;
}

/* -----------------------------------------
CAROUSEL CONTROLS (shared)
Arrows + pill-bullet pagination reused by any
Swiper instance (Founders Video, Blog, ...).
Markup pattern:
<div class="carousel-controls">
<button class="carousel-nav-btn {scope}-nav-prev">‹</button>
<div class="swiper-pagination carousel-pagination {scope}-pagination"></div>
<button class="carousel-nav-btn {scope}-nav-next">›</button>
</div>
The {scope}-prefixed classes are only used to
target this specific Swiper instance in JS.
----------------------------------------- */
.carousel-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: max-content;
	margin: 30px auto;
}

.carousel-nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: none;
	background: none;
	color: var(--color-red-200);
	cursor: pointer;
}

.carousel-nav-btn svg {
	width: 16px;
	height: 16px;
}

.carousel-nav-btn:hover {
	color: var(--color-red-200);
}

.carousel-nav-btn.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}
.carousel-nav-btn.swiper-button-disabled.swiper-button-lock {
	display:none;
}
.carousel-pagination {
	position: static;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: auto;
	justify-content: center;
}

.carousel-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0;
	border-radius: 9999px;
	background-color: var(--color-red-100);
	opacity: 0.3;
	transition: width 0.2s ease, opacity 0.2s ease;
}

.carousel-pagination .swiper-pagination-bullet-active {
	width: 32px;
	background-color: var(--color-red-200);
	opacity: 1;
}

.founders-video-static {
	width: 100%;
	margin-top: 3rem;
	text-align: left;
}

.founders-video-static h3 {
	font-size: 30px;
	line-height: 120%;
	color: var(--color-neutral-1000);
	margin-bottom: 0.75rem;
}
.founders-video-static p{
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
}

/* -----------------------------------------
VIDEO MODAL
----------------------------------------- */
.video-modal, .default-modal{
	position: fixed;
	inset: 0;
	z-index: 100;
	display: none;
	padding: 2rem;
	height: 100%;
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	outline: 0;
	top: 0;
	left: 0;
}
.video-modal.is-open, .default-modal.is-open{
	display: block;
}
.video-modal-backdrop, .default-modal-backdrop{
	position: fixed;
	inset: 0;
	background-color: rgba(20, 20, 20, 0.85);
}

.video-modal-dialog, .default-modal-dialog {
	display:flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 960px;
	background: #fff;
	padding: 30px;margin: 80px auto;
}

.video-modal-close, .default-modal-close{
	position: absolute;
	top: -48px;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: none;
	background: none;
	color: var(--color-neutral-0);
	cursor: pointer;
}

.video-modal-close svg, .default-modal-close svg{
	width: 20px;
	height: 20px;
}

.video-modal-player {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-color: #000;
}

.video-modal-player iframe,
.video-modal-player video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* -----------------------------------------
READY TO TRANSFORM
----------------------------------------- */
.transform-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
}

.transform-card {
	padding: 2.5rem 2rem;
	text-align: center;
	border-right: 1px solid var(--color-neutral-200);
}

.transform-card:last-child {
	border-right: none;
}

.transform-number {
	display: block;
	text-align: left;
	font-family: "Libre Caslon Text", serif;
	font-size: 20px;
	color: var(--color-red-200);
}

.transform-icon {
	display: block;
	width: 56px;
	height: 56px;
	margin: 0 auto 1.5rem;
}

.transform-title {
	font-weight: 500;
	font-size: 24px;
	line-height: 130%;
	color: var(--color-neutral-1000);
	margin-bottom: 0.5rem;
}


/* -----------------------------------------
CTA
----------------------------------------- */
section.section.cta {
	padding-top: 48px;
}
.cta-box {
	display: flex;
	align-items: stretch;
	min-height: 320px;
	background-color: var(--color-red-200);
	overflow: hidden;
}

.cta-content {max-width:70%;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3rem;
}

.cta-title {
	font-size: 32px;
	line-height: 120%;
	color: var(--color-neutral-0);
}

.cta-text {
	font-size: 18px;
	line-height: 150%;
	color: #ffffff;
}

.cta-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
}

.cta-btn-dark {
	background-color: var(--color-neutral-1000);
	border: 1px solid var(--color-neutral-1000);
	color: var(--color-neutral-0);
}

.cta-btn-dark:hover {
	background-color: #000;
	border-color: #000;
}

.cta-btn-light {
	background-color: var(--color-neutral-0);
	border: 1px solid var(--color-neutral-0);
	color: var(--color-red-200);
}

.cta-btn-light:hover {
	background-color: var(--color-neutral-200);
	border-color: var(--color-neutral-200);
}

.cta-media {
	width: 40%;
	flex-shrink: 0;
}

.cta-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* -----------------------------------------
TESTIMONIALS
Markup pattern: two card types (--simple,
--quote) inside .testimonials-track, which
holds the full card set duplicated once for
a seamless right-to-left marquee loop.
----------------------------------------- */
.testimonials-marquee {
	margin-top: 2.5rem;
	overflow: hidden;
	border-top: 1px solid var(--color-neutral-200);
	border-bottom: 1px solid var(--color-neutral-200);
}

.testimonials-track {
	display: flex;
	width: max-content;
	animation: testimonials-scroll 32s linear infinite;
}

.testimonials-track:hover, .home-banner-marquee-track:hover {
	animation-play-state: paused;
}

@keyframes testimonials-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.testimonials-track {
		animation: none;
	}
}

.testimonial-card {
	flex-shrink: 0;
	cursor: pointer;
	border-right: 1px solid var(--color-neutral-200);
}

.testimonial-card--simple {
	position: relative;
	width: 300px;
	height: 300px;
}

.testimonial-card--quote {
	display: flex;
	flex-direction: column;
	width: 600px;
	padding: 24px;    justify-content: space-between;
}
.testimonial-card--simple .testimonial-quote-site {
	opacity: 0;
	position: absolute;
	top: 10px;
	right: 10px;
	color: #4F596E;
	font-size: 14px;
	background: #fff;
	border-radius: 30px;
	padding: 5px 12px;
	border: 0.5px solid #0000000D;
}
.testimonial-card--simple:hover .testimonial-quote-site {
	opacity: 1;
}
.testimonial-card-link {
	color: inherit;
	text-decoration: none;
}

.testimonial-card--simple .testimonial-card-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.testimonial-card:hover {
	background: linear-gradient(180deg, #FFFFFF 0%, #C3C3C3 100%);
}
.testimonial-card--simple .testimonial-card-link img {
	max-width: 160px;
	height: auto;
}

.testimonial-card--quote .testimonial-card-link {
	display: block;
	flex: 1;font-weight: 400;
}

.testimonial-quote-header img {
	display: block;
	height: 50px;
	width: auto;
	max-width: 200px;
}

.testimonial-quote-text {
	line-height: 150%;
	color: var(--color-neutral-600);
}

.testimonial-quote-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-neutral-200);
}

.testimonial-quote-site {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 14px;
	color: var(--color-neutral-800);
	text-decoration: none;
}

.testimonial-quote-site svg {
	width: 14px;
	height: 14px;
}

.testimonial-card--quote:hover .testimonial-quote-site {
	background: #fff;
	border-radius: 30px;
	padding: 5px 12px;
	border: 0.5px solid #0000000D;
}

.testimonial-quote-person {
	display: flex;
	align-items: center;
	gap: 0.625rem;margin-left:auto;
}

.testimonial-quote-name-group {
	text-align: right;
}

.testimonial-quote-name {
	font-weight: 500;
	font-size: 14px;
	color: var(--color-black);
}

.testimonial-quote-role {
	font-size: 14px;
	color: var(--color-neutral-600);
}

.testimonial-quote-avatar {
	width: 50px;
	height: 50px;
	border-radius: 8px;
	object-fit: cover;
}

/* -----------------------------------------
BLOG
Markup pattern: whole card is a div wrapping
one <a> (matches the Products/Solutions card
pattern). Swiper shows 3 at a time, advancing
one slide per scroll/arrow click.
----------------------------------------- */
.blog-swiper {
	margin-top: 2.5rem;
	border-left: 1px solid #00000033;
}
.blog-swiper .swiper-slide{
	border: 1px solid #00000033;
	border-left:0;
	height: auto;
}
.blog-card{
	padding: 20px;height: 100%;
}
.blog-card:hover{
	background: url(../images/box-hover.svg) no-repeat;
	background-position: center;
	background-size: cover;
}
.blog-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.blog-card-media {
	aspect-ratio: 4 / 2;
	overflow: hidden;
	margin-bottom: 1.25rem;
}

.blog-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: scale 0.5s ease;
}
.blog-card-link:hover .blog-card-media img {
	scale: 1.2;
}
.blog-card-category {
	display: block;
	font-weight: 400;
	font-size: 14px;
	color: var(--color-red-200);
	margin-bottom: 1rem;
}

.blog-card-title {
	font-size: 22px;
	line-height: 130%;
	color: var(--color-neutral-1000);
	margin-bottom: 1rem;
}

.blog-card-link:hover .blog-card-title {
	color: var(--color-red-200);
}

.blog-card-readmore {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-weight: 500;
	font-size: 15px;
	color: var(--color-red-200);
}

.blog-card-readmore img {
	width: 14px;
	height: 14px;
	transition: transform 0.2s ease;
}

.blog-card-link:hover .blog-card-readmore img {
	transform: translateX(4px);
}
.blog-card-media.newsletter-card {
    aspect-ratio: auto;
}
.blog-card-link:hover .blog-card-media.newsletter-card img {
    scale: 1;
}

/* -----------------------------------------
MPM GROUP
----------------------------------------- */
.mpm-group-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
}

.mpm-group-card {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	aspect-ratio: 1 / 0;
	text-align: center;
	border-right: 1px solid var(--color-neutral-200);
}

.mpm-group-card-logo{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100px;
	min-height: 200px;
	border-bottom: 1px solid var(--color-neutral-200);
}

.mpm-group-card:last-child {
	border-right: none;
}
.mpm-group-card-content {
	padding: 30px 20px;
	min-height: 160px;
}

.mpm-group-card img {
	max-width: 100%;
	max-height: 100px;
	width: auto;
	height: auto;
}

.innerpage-hero {
	padding: 40px 0 50px !important;
}
.dot-pattern{
	background-image: url("../images/dots-pattern.svg");
	background-repeat: repeat;
	background-position: top center;
}
.policy-content-box {
	border: 1px solid #1010101A;
	padding: 30px;
	max-width: 900px;
	margin: 0 auto;
}
.policy-page-content {
	padding-top: 60px;
}
.innerpage-hero .hero-title{
	margin-bottom: 1.5rem;
}
.innerpage-hero .hero-subtext {
	margin: 1.5rem 0;
	font-size: 18px;
	color:#606060;
}
.innerpage-hero .hero-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
	margin-top: 1.5rem;
}
.innerpage-hero .hero-grid > :only-child {
	grid-column: 1 / -1;
}
.hero-title.d-none {
    display: none;
}
.foundry-logo img {
    max-width: 300px;
}
/* -----------------------------------------
FOOTER
----------------------------------------- */
.footer {
	margin-top: 100px;
	background-color: var(--color-neutral-1000);
	color: var(--color-neutral-0);
}
.social-contact a {
	background: transparent;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50px;
	transition: all 0.5s ease;
}
.social-contact a:hover {
	background:#DC2E27;
}
.social-contact a:hover img{
	filter: brightness(0) invert(1);
}
.footer-columns {
	display: grid;
	grid-template-columns: 1fr 1fr 1.3fr;
	gap: 3rem;
}

.footer-col-title {
	font-weight: 500;
	font-size: 20px;
	line-height: 120%;
	color: var(--color-neutral-0);
	margin-bottom: 1.5rem;
}

.footer-link-list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-link-list li {
	position: relative;
	padding-left: 30px;
}
.footer-link-list li:before {
	content: "";
	background:url(../images/footer-menu-item-arrow.svg) no-repeat;
	position:absolute;
	width: 20px;
	height: 20px;
	left: 0;
	top: 2px;
}
.footer-link-list li a {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	font-size: 16px;
	line-height: 120%;
	color: #FDFDFD;
	text-decoration: none;
}
.footer-link-list li a:hover, .footer-contact-list a:hover {
	color: var(--color-red-100);
}
.footer-contact-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	font-size: 16px;
	line-height: 120%;
	color: rgba(255, 255, 255, 0.85);
}
.footer-contact-list li{margin-bottom:4px;}
.footer-contact-list a {
	color: inherit;
	text-decoration: none;
}

.footer-newsletter-title {
	margin-bottom: 1rem;
}

.footer-newsletter-field {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	border: 1px solid #FFFFFF33;
	border-radius: 8px;
	padding: 0;
}
.footer-newsletter-field p{display: flex;align-items: center;justify-content: space-between;width: 100%;}
.footer-newsletter-field .wpcf7-email {
	background: transparent;
	padding: 10px 15px;
}
.footer-newsletter-field .wpcf7-not-valid-tip{position:absolute;}
.footer-newsletter-input {
	flex: 1;
	min-width: 0;
	background: none;
	border: none;
	outline: none;
	font-size: 16px;
	color: var(--color-neutral-0);
}
.footer-newsletter-submit:hover {
	background: var(--color-red-200) !important;
}
.footer-newsletter-input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.footer-newsletter-submit {
	background: transparent !important;
	border: none !important;
	cursor:pointer;height: 48px;
}
.footer-newsletter-submit svg {
	width: 20px;
	height: 16px;
}
.footer-copyright {
	font-size: 14px;
	line-height: 120%;
	color: rgba(255, 255, 255, 0.6);
}
.footer-legal-link a{
	font-size: 14px;
	line-height: 120%;
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
}
.footer-legal-link a:hover {
	color: var(--color-red-200);
}

/* -----------------------------------------
PRODUCT HERO (product-single.html template)
Markup pattern: breadcrumb, then a two-column
grid — content (eyebrow/badge, title, subtext,
applications tags, CTAs) on the left, product
image on the right.
----------------------------------------- */
.product-hero {
	padding-top: 30px;
	background-image: url("../images/dots-pattern.svg");
	background-repeat: repeat;
	background-position: top center;
}

.breadcrumb ol {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.breadcrumb-link {
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	color: var(--color-red-200);
	text-decoration: none;
}

.breadcrumb-link:hover {
	color: var(--color-black);
}

.breadcrumb-home-icon {
	width: 26px;
	height: 26px;
}

.breadcrumb-sep svg {
	display: block;
	width: 6px;
	height: 10px;
	color: var(--color-neutral-400);
}

.breadcrumb-current {
	font-size: 16px;
	font-weight: 500;
	color: var(--color-neutral-1000);
}

.breadcrumb-link--muted {
	color: var(--color-neutral-600);
}

.breadcrumb-link--muted:hover {
	color: var(--color-neutral-1000);
}

.breadcrumb-current--accent {
	color: var(--color-red-200);
	font-weight: 500;
}
.breadcrumb li a:hover {
	color: var(--color-red-200);
}
.breadcrumb-current--truncate {
	display: inline-block;
	max-width: 320px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	vertical-align: bottom;
}

.product-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
	margin-top: 2rem;
}

.product-hero-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.product-hero-category {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--color-red-200);
}

.product-hero-title {
	margin-bottom: 0.75rem;
}
.product-hero-title .super {
	margin-left: -20px;
}
.product-hero-reg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 2px solid var(--color-red-200);
	border-radius: 50%;
	font-size: 22px;
	font-weight: 600;
	color: var(--color-red-200);
	vertical-align: super;
}

.product-hero-subtext {
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin-bottom: 2rem;
}

.product-hero-applications {
	margin-bottom: 2rem;
}

.product-hero-applications-label {
	display: block;
	font-size: 14px;
	color: var(--color-neutral-600);
	margin-bottom: 0.75rem;
}

.product-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.product-tag {
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	color: var(--color-neutral-1000);
	background-color: #f8f8f8;
	border-radius: 8px;
	padding: 0.5rem 1rem;
	border: 1px solid #4F596E26;
}

.product-hero-actions, .banner-actions{
	display: flex;
	align-items: center;
	gap: 1rem;
}
.hidedesk{display:none;}
/* -----------------------------------------
PODCAST HERO (podcast.html template)
Markup pattern: breadcrumb, then a two-column
grid — content (title, subtext, CTA) on the
left, mic/waveform image on the right.
----------------------------------------- */
.podcast-hero {
	padding-top: 30px;
	background-image: url("../images/dots-pattern.svg");
	background-repeat: repeat;
	background-position: top center;
}

.podcast-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
	margin-top: 2rem;
	padding-bottom: 100px;
}

.podcast-hero-title {
	font-size: 46px;
	line-height: 120%;
	letter-spacing: -1.5px;
	color: var(--color-neutral-1000);
	margin-bottom: 1.5rem;
}

.podcast-hero-title-accent {
	color: var(--color-red-200);
}

.podcast-hero-subtext {
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin-bottom: 2rem;
}
.podcast-hero-media{position:absolute;right:0;}
.podcast-hero-media img {
	width: 100%;
	height: auto;
	display: block;
}

/* -----------------------------------------
PODCAST LIST (podcast.html template)
Markup pattern: section title/subtext, then
groups of 2 .podcast-list-item rows (media +
content, alternating sides via DOM order) inside
a bordered .podcast-list-group. No pagination.
----------------------------------------- */
.podcast-list-group {
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
	overflow: hidden;
}
.podcast-list-group + .cta .px-6, .blog-list-grid + .cta .px-6{
	padding: 0;
}
.podcast-list-item {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	align-items: center;
	gap: 1.5rem;
	padding: 1.5rem;
}
.podcast-list-item:hover {
	background: url(../images/box-hover.svg) no-repeat;
	background-position: center;
	background-size: cover;
}
.podcast-list-item:nth-child(2) .podcast-list-media {
	order: 2;
}
.second-part .podcast-list-content {
	order: 1;
}

.second-part .podcast-list-item:nth-child(1) .podcast-list-media {
	order: 2;
}
.second-part .podcast-list-item:nth-child(2) .podcast-list-media {
	order: 1;
}
.podcast-list-item:nth-child(2), .second-part .podcast-list-item:nth-child(1) {
	grid-template-columns: 1fr 1.5fr;
}
.second-part .podcast-list-item:nth-child(2) {
	grid-template-columns: 1.5fr 1fr;
}
.podcast-list-item + .podcast-list-item {
	border-top: 1px solid var(--color-neutral-200);
}

.podcast-list-media img {
	display: block;
	width: 100%;
	height: auto;
}

.podcast-list-title {
	font-size: 28px;
	line-height: 120%;
	color: var(--color-neutral-1000);
	margin-bottom: 1rem;
}

.podcast-list-text {
	font-size: 16px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin-bottom: 1.5rem;
}

ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 50px;gap:12px;
}
.page-numbers .prev, .page-numbers .next {
	border: 1px solid #D1D5DCCC;
	width: 50px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
}
.page-numbers .prev:hover, .page-numbers .next:hover {
	background: var(--color-red-200);border-color: var(--color-red-200);
}
.page-numbers .prev:hover img, .page-numbers .next:hover img {
	filter: brightness(0) invert(1);
}
a.page-numbers, .page-numbers.current {
	color: #454A53;
	font-size: 14px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;border-radius: 6px;
}
.page-numbers.current{background:#E4E4E4;}
/* -----------------------------------------
BLOG HERO (blogs.html template)
Markup pattern: breadcrumb, then a two-column
grid — title/subtext on the left, one bordered
featured post card (image, tag, title, author +
date row) on the right.
----------------------------------------- */
.blog-hero {
	padding-top: 30px;
	background-image: url("../images/dots-pattern.svg");
	background-repeat: repeat;
	background-position: top center;
}

.blog-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
	margin-top: 2rem;
}

.blog-hero-title {
	margin-bottom: 1.5rem;
}

.blog-hero-title-accent {
	color: var(--color-red-200);
}

.blog-hero-subtext {
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
}

.blog-hero-featured {
	border: 1px solid var(--color-neutral-200);
	padding: 20px;
}

.blog-hero-featured-link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.blog-hero-featured-media {
	overflow: hidden;
}
.blog-hero-featured-media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
	transition: scale 0.5s ease;
}

.blog-hero-featured-link:hover .blog-hero-featured-media img {
	scale: 1.05;
}

.blog-hero-featured-body {
	padding-top: 1.25rem;
}

.blog-hero-featured-link:hover .blog-hero-featured-title {
	color: var(--color-red-200);
}
.blog-hero-featured:hover, .blog-list-card:hover {
	background: url(../images/box-hover.svg) no-repeat;
	background-position: center;
	background-size: cover;
	border: 1px solid var(--color-red-200) !important;
}
.tag-pill {
	display: inline-block;
	background: #F8F8F8;
	padding: 6px 12px;
	border: 1px solid #0000001A;
	border-radius: 6px;
	font-size: 14px;
	line-height: 16px;
	color: #0F1415;
	margin-bottom: 0.75rem;
}

.blog-hero-featured-title {
	font-size: 22px;
	line-height: 130%;
	color: var(--color-neutral-1000);
	margin-bottom: 1.25rem;
}

.blog-hero-featured-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.blog-hero-author {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.blog-hero-author-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.blog-hero-author-name {
	font-size: 16px;
	font-weight: 600;
	color: var(--color-neutral-1000);
}

.blog-hero-date {
	font-size: 14px;
	color: var(--color-neutral-600);
}

/* -----------------------------------------
LISTING FILTER BAR (shared)
Markup pattern: filter tabs (category links,
first one .is-active) + a search field. Reused
as-is on blogs.html and technical-document-library.html.
----------------------------------------- */
.filter-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
}

.filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.filter-tabs a:hover {
	background: var(--color-red-200);
	color: #fff;
	border-color: var(--color-red-200);
}
.filter-tab {
	display: inline-block;
	padding: 0.45rem 1.25rem;
	border-radius: 8px;
	border: 1px solid var(--color-neutral-200);
	background-color: var(--color-neutral-0);
	color: var(--color-neutral-1000);
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
}

.filter-tab.is-active {
	background-color: var(--color-red-200);
	border-color: var(--color-red-200);
	color: var(--color-neutral-0);
}

.search-field {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	min-width: 280px;
	padding: 0.625rem 1.25rem;
	border: 1px solid var(--color-neutral-200);
	border-radius: 8px;
}

.search-field svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: var(--color-neutral-600);
}

.search-field input {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font-size: 14px;
	color: var(--color-neutral-1000);
}

.search-field input::placeholder {
	color: var(--color-neutral-600);
}

/* -----------------------------------------
BLOG LIST (blogs.html template)
Markup pattern: groups of 9 .blog-list-card
cells in a bordered grid (reuses .blog-card-link/
-media/-title/-readmore from the homepage Blog
swiper card, swapping .blog-card-category for
.tag-pill). A "Section CTA" repeats after every
group of 9.
----------------------------------------- */
.blog-list-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
	border: 1px solid #00000033;  
	border-bottom: none;
	border-right: none;
}

.blog-list-card {
	padding: 1.25rem;
	border: 1px solid transparent;
	border-right: 1px solid #00000033;
	border-bottom: 1px solid #00000033;
}
.books-slider .blog-list-card {
    border: 0;
}

/* -----------------------------------------
TECHNICAL DOCUMENT LIBRARY HERO
(technical-document-library.html template)
Markup pattern: breadcrumb, then a two-column
grid — title/subtext/CTA on the left, one
bordered featured document card on the right.
The card is a single link (image + tag/title/
desc + PDF meta/read-more) that opens the PDF
in a new tab.
----------------------------------------- */
.techdoc-hero {
	background-image: url("../images/dots-pattern.svg");
	background-repeat: repeat;
	background-position: top center;
}

.techdoc-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
	margin-top: 2rem;
}

.techdoc-hero-title {
	margin-bottom: 1.5rem;
}

.techdoc-hero-title-accent {
	color: var(--color-red-200);
}

.techdoc-hero-subtext {
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin-bottom: 2rem;
}

.techdoc-hero-featured {
	border: 1px solid var(--color-neutral-200);
	padding: 20px;cursor: pointer;

}
.techdoc-list-media img, .techdoc-list-card .techdoc-list-media img{
	transition: all 0.5s ease-in-out;
}
.techdoc-hero-featured:hover .techdoc-list-media img, .techdoc-list-card:hover .techdoc-list-media img {
	scale: 1.05;
}
.techdoc-hero-featured:hover {
	border-color: var(--color-red-200);
}
.techdoc-hero-featured-link {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
	align-items: center;
}

.techdoc-hero-featured-media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 0;
	object-fit: cover;
}
.techdoc-list-media {
    border: 1px solid var(--color-neutral-200);
}
.techdoc-hero-featured-title {
	font-size: 22px;
	line-height: 130%;
	color: var(--color-neutral-1000);
	margin-bottom: 0.75rem;
}

.techdoc-hero-featured-link:hover .techdoc-hero-featured-title {
	color: var(--color-red-200);
}

.techdoc-hero-featured-desc {
	font-size: 15px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin-bottom: 1.5rem;
}

.techdoc-hero-featured-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.techdoc-hero-featured-format {
	font-size: 14px;
	color: var(--color-neutral-600);
}

.hero-media {
	border: 1px solid #00000033;
	padding: 12px;
}
.hero-media img {
	width: 100%;
	max-height: 400px;
	object-fit: cover;
}
.not-found-msg {
	margin-top: 100px;
	text-align: center;
}
.searchform button {
	cursor: pointer;
}
/* -----------------------------------------
DOCUMENT LIST (technical-document-library.html)
Markup pattern: filter tabs + search bar (shared
.filter-bar), then 8 .techdoc-list-card cells in
a bordered 2-column grid. Each card is a single
link reusing .techdoc-hero-featured-title/-desc/
-meta/-format so copy styling stays in sync with
the hero's featured document card.
----------------------------------------- */
.techdoc-list-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
	border-right:0;
	border-bottom:0;
}

.techdoc-list-card {
	padding: 1.25rem;
	border: 1px solid transparent;
	border-right: 1px solid var(--color-neutral-200);
	border-bottom: 1px solid var(--color-neutral-200);cursor: pointer;
}
.techdoc-list-card:hover{
	border: 1px solid var(--color-red-200) !important;
}
.techdoc-list-link {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
	align-items: center;
}

.techdoc-list-media img {
	display: block;
	width: 100%;
}

.techdoc-list-link:hover .techdoc-hero-featured-title {
	color: var(--color-red-200);
}

/* -----------------------------------------
BLOG SINGLE HEADER (blog-single.html)
Markup pattern: breadcrumb (current crumb
truncated), then a category tag / last-updated
meta row, the post title, and a "Written by"
author block.
----------------------------------------- */
.blog-single-header {
	padding-top: 30px;
}

.blog-single-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.5rem;
}

.blog-single-updated {
	font-size: 14px;
	color: #344346;
}

.blog-single-title {
	font-size: 48px;
	line-height: 120%;
	letter-spacing: -1.5px;
	margin-top: 0.75rem;
	margin-bottom: 1.5rem;
}

.blog-single-author-block {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.blog-single-author-label {
	font-size: 14px;
	color: var(--color-neutral-600);
}

.blog-single-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.blog-single-author-avatar {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.blog-single-author-info {
	display: flex;
	flex-direction: column;
}

.blog-single-author-name {
	font-size: 20px;
	line-height:120%;
	font-weight: 600;
	color: var(--color-neutral-100);
}
.blog-single-author-role {
	font-size: 16px;line-height:120%;
	color: #344346;
}

/* -----------------------------------------
BLOG SINGLE BODY (blog-single.html)
Markup pattern: left sticky sidebar (TOC +
reading progress + CTA) and article content on
the right. Layout wrappers/components below take
classes as normal; the article PROSE itself
(inside .blog-single-content) uses bare semantic
tags only, styled here via descendant selectors.
----------------------------------------- */
.blog-single-body {
	padding-top: 64px;
}

.blog-single-layout {
	display: grid;
	grid-template-columns: 400px 1fr;
	align-items: start;
	border: 1px solid #0000001A;
}
.blog-single-sidebar {
	position: sticky;
	top: 4rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 30px;
}

.blog-toc-label {
	font-size: 14px;
	color: #344346;
	margin-bottom: 1rem;
	gap: 6px;
}
.blog-toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	border-left: 1px solid #0303031A;
	max-height: 55vh;
	overflow-y: scroll;
	scrollbar-width: none;
}
.default-content a:not(a.btn), .blog-single-content a:not(a.btn) {
	color: var(--color-red-200);
}
.default-content a:hover:not(a.btn), .blog-single-content a:hover:not(a.btn) {
	color: var(--color-black);
}
.blog-toc-list li {
	border-left: 2px solid transparent;
}

.blog-toc-list a {
	display: block;
	padding: 0.5rem 0 0.5rem 0.75rem;
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
	text-decoration: none;
	transition: color 0.2s ease;
}

.blog-toc-list li.is-active {
	border-left-color: var(--color-red-200);
}

.blog-toc-list li.is-active a {
	color: var(--color-red-200);
}

.blog-toc-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 16px;
	color: var(--color-neutral-1000);
	margin-top: -12px;
}

.blog-toc-meta svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.blog-progress {
	height: 6px;
	border-radius: 999px;
	background-color: var(--color-neutral-200);
	overflow: hidden;
}

.blog-progress-bar {
	height: 100%;
	width: 0%;
	background-color: var(--color-red-200);
	border-radius: inherit;
	transition: width 0.15s ease-out;
}

.blog-sidebar-cta {
	background-color: var(--color-red-200);
	padding: 30px;
	color: var(--color-neutral-0);
}

.blog-sidebar-cta h3 {
	color:#fff;
	font-size: 24px;
	line-height: 130%;
	margin-bottom: 0.625rem;
}

.blog-sidebar-cta p {
	font-size: 14px;
	line-height: 150%;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 1.25rem;
}

/* Article prose — bare tags only, no classes in the markup */
.blog-single-content section + section {
	margin-top: 2.5rem;
}
.blog-single-main {
	border-left: 1px solid #0000001A;
	padding: 24px;
}
.blog-single-main {order: 2;}
.blog-single-sidebar {order: 1;}
.blog-single-featured-img img {
	margin-top: 0 !important;
}
.default-content h2, .blog-single-content h2 {
	font-size: 36px;
	line-height: 130%;
	letter-spacing: -1.5px;
	color: var(--color-neutral-1000);
	margin-top: 34px;
	margin-bottom: 1.25rem;
}

.default-content h3, .blog-single-content h3 {
	font-family: "Inter", sans-serif;
	font-size: 26px;
	font-weight:500;
	line-height: 130%;
	color: var(--color-neutral-1000);
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
}

.default-content h4, .blog-single-content h4 {
	font-size: 20px;
	line-height: 130%;
	font-weight:500;
	color: var(--color-neutral-1000);
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
}

.default-content p, .blog-single-content p {
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin-bottom: 1.25rem;
}
.default-content p:last-child, .blog-single-content p:last-child{margin-bottom:0;}
.default-content ol, .blog-single-content ol{ list-style: auto;padding-left: 1.25rem;margin: 0 0 1.25rem;}
.default-content ul, .blog-single-content ul {
	list-style: disc;
	padding-left: 1.25rem;
	margin: 0 0 1.25rem;
}

.default-content li, .blog-single-content li {
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin-bottom: 0.5rem;
}

.default-content img, .blog-single-content img {
	display: block;
	width: 100%;
	height: auto;
	margin: 2rem 0;
}

.default-content blockquote, .blog-single-content blockquote {
	margin: 2.5rem 0;
}

.default-content blockquote p, .blog-single-content blockquote p {
	font-family: "Libre Caslon Text", serif;
	font-weight: 400;
	font-size: 24px;
	line-height: 130%;
	color: var(--color-red-200);
	margin-bottom: 1rem;
}

.default-content blockquote cite, .blog-single-content blockquote cite {
	display: block;
	text-align: right;
	font-style: normal;
	font-size: 14px;
	color: var(--color-neutral-100);
}
.blog-single-content table th, .default-content table th{
	background: var(--color-red-200);
	padding: 10px 15px;
	color: #fff;
	text-align: left;
}
.blog-single-content table thead{border: 1px solid var(--color-red-200);}
.blog-single-content table tbody{border: 1px solid #0000001A;}
.blog-single-content table td, .default-content table td{ padding: 10px 15px;border-bottom: 1px solid #0000001A;}
.tables {width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch;}
.tables table {width: 100%;}

/* FAQ accordion */
.faq-list {
	border-top: 1px solid var(--color-neutral-200);
}

.faq-item {
	border-bottom: 1px solid var(--color-neutral-200);
}

.faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 1.25rem 0;
	background: none;
	border: none;
	font-size: 18px;
	font-weight: 600;
	text-align: left;
	color: var(--color-neutral-1000);
	cursor: pointer;
}

.faq-icon {
	position: relative;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.faq-icon::before,
.faq-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: var(--color-neutral-1000);
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.faq-icon::before {
	width: 12px;
	height: 2px;
}

.faq-icon::after {
	width: 2px;
	height: 12px;
}

.faq-item.is-open .faq-icon::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq-answer {
	display: none;
	padding: 0 0 1.25rem;
}

.faq-item.is-open .faq-answer {
	display: block;
}

.faq-answer p {
	font-size: 18px;
	line-height: 140%;
	color: var(--color-neutral-800);
	margin: 0;
}

/* Author card */
.blog-author-card {
	margin-top: 2rem;
	padding: 30px 40px;
	background-color: #410009;
}

.blog-author-card-header {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	margin-bottom: 1rem;
}

.blog-author-card-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.blog-author-card-name {
	font-size: 16px;
	font-weight: 600;
	color: var(--color-neutral-0);
	margin-bottom: 0.125rem;
}

.blog-author-card-role {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
}

.blog-author-card-bio {
	font-size: 15px;
	line-height: 160%;
	color: rgba(255, 255, 255, 0.85);
}

/* Share row */
.blog-share {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--color-neutral-200);
}

.blog-share-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--color-neutral-600);
	margin-bottom: 1rem;
}

.blog-share-list {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.blog-share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--color-neutral-200);
	border-radius: 50%;
	color: var(--color-neutral-1000);
	background: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.blog-share-link svg {
	width: 16px;
	height: 16px;
}

.blog-share-link:hover {
	background-color: var(--color-red-200);
	border-color: var(--color-red-200);
	color: var(--color-neutral-0);
}

.blog-share-link.is-copied {
	background-color: var(--color-green-200);
	border-color: var(--color-green-200);
	color: var(--color-neutral-0);
}

.product-hero-media {
	border: 1px solid #00000033;
	padding: 12px;
}

.product-hero-media img {
	display: block;
	width: 100%;
	object-fit: cover;
}

/* -----------------------------------------
PRODUCT SPECIFICATION ICONS
Markup pattern: bordered grid, 4 equal
columns, each an icon + label + value card.
----------------------------------------- */
.spec-icons-grid {
	display: flex;
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
}

.spec-icon-card {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.75rem;
	padding: 2.5rem 1.5rem;
	border-right: 1px solid var(--color-neutral-200);
}

.spec-icon-card:last-child {
	border-right: none;
}

.spec-icon-img {
	width: 44px;
	height: 44px;
}

.spec-icon-value {
	font-size: 20px;
	font-weight: 600;
	color: var(--color-red-200);
}

/* -----------------------------------------
PRODUCT SPECIFICATION TABLE
----------------------------------------- */
.spec-table-wrap {
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
	border-radius: 8px;
	overflow: hidden;
	overflow-x: auto;
}

.spec-table-grid {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.spec-table-grid th,
.spec-table-grid td {
	padding: 1.5rem;
	text-align: center;
	border: 1px solid var(--color-neutral-200);
}
.spec-table-grid thead tr {
	background: linear-gradient(90deg, var(--color-red-100), var(--color-red-200));
}
.spec-table-grid th {
	color: var(--color-neutral-0);
	font-size: 20px;
	font-weight: 600;
}

.spec-table-grid td {
	color: var(--color-neutral-1000);
}

.spec-table-grid tbody td:first-child {
	background-color: var(--color-gray-100);
	font-weight: 500;
}

/* -----------------------------------------
PRODUCT INFORMATION
Markup pattern: stacked .product-info-row
blocks inside one bordered wrap. Media/content
cells reuse .results-panel-media / .results-panel-content
(Delivering Results section) — the divider between
columns is just a border-right on the row's first
child, so it holds regardless of which side the
media is on. .product-info-row--full drops the
split for the Technical Data row.
----------------------------------------- */
.product-info-wrap {
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
}

.product-info-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	border-bottom: 1px solid var(--color-neutral-200);
}
.product-info-row:nth-child(odd) {
	grid-template-columns: 1.05fr 1fr;
}
.product-info-row:nth-child(even) {
	grid-template-columns: 1fr 1.05fr;
}
.product-info-row:last-child {
	border-bottom: none;
}

.product-info-row > *:first-child {
	border-right: 1px solid var(--color-neutral-200);
}
.product-info-row > :only-child {
    grid-column: 1 / -1;border-right: 0;
}
.product-info-row--full {
	grid-template-columns: 1fr !important;
}

.product-info-row--full > *:first-child {
	border-right: none;
}
.prod-info-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 22px;
}
.prod-info-content .grid.grid-2 {
    gap: 10px;margin: -22px;
}
.prod-info-content .grid.grid-2 .grid-sub{padding:30px;}
.prod-info-content .grid.grid-2 .grid-sub:first-child {
    border-right: 1px solid var(--color-neutral-200);
}
.prod-info-content h3{
	font-size: 32px;
	line-height: 120%;
	margin-bottom:24px;
}
.prod-info-content h4, .prod-info-content h5 {
	font-size: 20px;
	font-weight: 400;
	color: #454545;
}
.prod-info-content h5{display:flex;gap:6px;}
.prod-info-content h5:before, .areconetnt ul li:before{
	content: "";background: url(../images/tick-circle.svg) no-repeat;width:24px;height:24px;min-width: 26px;
}
.prod-info-content p{
	margin-bottom: 16px;
}
.prod-info-content li{
	position:relative;
	margin-bottom: 16px;
}
.prod-info-content li:last-child{margin-bottom:0;}
.prod-info-media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.prod-info-media img{
	width: 100%;
	height: auto;
	max-height: 400px;
	object-fit: cover;
}

.tech-data {
	padding: 24px;
}

.tech-data-label {
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--color-neutral-600);
	margin-top: 1.5rem;
}

.tech-data-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-top: 2rem;
}

.tech-data-item {
	border-top: 1px solid var(--color-neutral-200);
	padding-top: 1rem;
}

.tech-data-item-label {
	display: block;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--color-neutral-600);
	margin-bottom: 0.5rem;
}

.tech-data-item-value {
	display: block;
	font-size: 28px;
	font-weight: 600;
	color: var(--color-red-200);
}

/* -----------------------------------------
DOWNLOADS
Markup pattern: whole row is one <a> opening
the PDF in a new tab. .downloads-list scrolls
internally past a fixed max-height once there
are more documents than fit.
----------------------------------------- */
.downloads-wrap {
	margin-top: 2.5rem;
	border: 1px solid var(--color-neutral-200);
}

.downloads-header {
	padding: 1.5rem 2rem;
	border-bottom: 1px solid var(--color-neutral-200);
}

.downloads-header-label {
	font-size: 18px;
	color: var(--color-neutral-1000);
}

.downloads-list {
	max-height: 480px;
	overflow-y: auto;
}
.download-rows{border-bottom: 1px solid var(--color-neutral-200);}
.download-rows:last-child {border-bottom: none;}
.download-row {
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 1.5rem;
	color: inherit;
	text-decoration: none;
}
.download-row:hover {
	background-color: var(--color-gray-100);
}
.download-thumb {
	flex-shrink: 0;
	width: 100px;
}
.download-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.download-info {
	flex: 1;
	min-width: 0;
}
.download-info .application-title {
	color: #000;
	font-size: 16px;
	line-height:24px;
}
.download-meta {
	margin: 0;
	color: #525252;
	font-size: 14px;
	line-height: 20px;
}
.download-sub {
	font-size: 12px;
	color: #696969;
	margin-top: 0.5rem;
}

.download-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	font-size: 16px;
	font-weight: 500;
	color: var(--color-red-200);
}

.download-cta svg {
	width: 20px;
	height: 20px;
}

/* -----------------------------------------
PRODUCT DOWNLOAD CTA
Reuses .cta-box/.cta-content/.cta-title/.cta-text/
.cta-actions/.cta-btn-dark/.cta-btn-light as-is;
these two modifiers only swap the background image
and switch the media image to object-fit: contain.
----------------------------------------- */
.product-cta-box {
	position: relative;
	min-height: 350px;
	background-image: url("../images/product-download-cta.webp");
	background-size: cover;
	background-position: center;
}
.product-cta-box .cta-content {max-width: 50%;}
.product-cta-media {
	position: absolute;
	right: 30px;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	top: 80px;
}

.product-cta-media img {
	width: auto;
	height: 90%;
	object-fit: contain;
}

/* -----------------------------------------
EXPLORE RELATED PRODUCTS
Markup pattern: bordered wrap around a Swiper
(3 up on desktop, advances 1 slide at a time —
same config as the homepage Blog swiper). Cards
reuse .product-card-media, .blog-card-title, and
.solution-card-readmore rather than new classes.
----------------------------------------- */
.related-products-wrap {
	margin-top: 2.5rem;
	border-top: 1px solid #00000033;
	border-left: 1px solid #00000033;
	overflow: hidden;
	border-right: 0;  
}
.swiper-slide.product-card {
	height: auto;
}


.solution-items .feimg img {
	max-height: 384px;
	object-fit: cover;
}

.hero-grid.book-hero {
	margin-top: 0;
}
.book-hero .hero-media {
	border: none;
	position: relative;width: 100%;
	display: flex;
	justify-content: center;margin-left: 80px;
}
.book-hero .hero-media img {
	max-width: max-content;position: relative; z-index: 3;max-height:470px;
}
.book-hero .hero-media:after {
	content: "";
	background: #D9D9D9;
	width: 100%;
	height: 400px;
	position: absolute;
	bottom: -50px;
	z-index: 2;
}
.book-founder {
	margin-top: 0;padding-bottom: 0;
	background: no-repeat;position: relative;
}
.founder-absolute {
	position: absolute;
	top: 0;
	right: 0;
}
.book-founders-inner .founder-absolute img{height:100vh;}
.book-founders-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 3rem;
}
.book-founders-content h2 {
	font-size: 70px;margin-bottom:30px;
}
.book-founders-bio {
	margin-bottom: 30px;
}
.book-founders-media-frame img {
	position: relative;
	z-index: 1;
	border: 1px solid #00000033;background:#ffffff;
}
.about-book-inner{
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 2rem;
}
.about-book-cover {
	border: 1px solid #00000033;
}
.about-book-cover img{
	margin: 0 auto;
}
.about-foundry-grid .abfounicon-img img {
    width: 100%;
}
.about-foundry-grid .abfounicon-img img {
    width: 100%;
}
.abfounicon-img {
    padding: 10px;
}
.books-slider .bookimg {
	aspect-ratio: auto;
}
.books-slider .book-card{text-align:center;}


.section-info{margin-bottom:30px;}
.event-listing-main .col-md-12{margin-bottom: 20px;}
.event-items-inner {border: 1px solid #00000033;border-bottom: none;}
.event-items-inner:last-child {border-bottom: 1px solid #00000033;}
.event-post-listing {margin-top: 2.5rem;}
.event-post-item {background: #fff;padding: 20px;}
.event-post-item:hover {background: #f7f7f7;}
.event-item-img {width: 40%;}
.event-info-main h5{margin:0;}
.event-item-img img {width: 100%;max-height: 285px;min-height: 285px;object-fit: cover;}
.event-info-main {width: 60%;gap:12px;justify-content: center;}
.event-info-main .blog-author img {min-width: 40px;max-width: 40px;border-radius: 40px;object-fit: cover;border: 2px solid #F8F9FB;}
.event-info-main .blog-author img:not(img:first-child) {margin-left: -6px;}
.event-info-main .btn {padding: 9px 17px;}
.event-info-main .more-speaker {margin-left: -4px;background: #DC2E27;padding: 6px 17px;color:#ffffff;font-size:12px;border: 2px solid #F8F9FB;}
.event-date img, .event-time img{margin-right: 8px;}
.event-info-main .dotsep {background: #606060;width: 3px;height: 3px;border-radius: 10px;}
.event-cat.tag-pill {width: max-content;margin:0;}
.event-post-item .btn {font-size: 12px;}
.etinfo{font-size: 14px;gap: 10px;flex-wrap: wrap;}


.casestudy-listing-main{margin-top:1.5rem;}
.case-study-item {display: grid;border: 1px solid #00000033;border-bottom: 0;padding: 1.5rem;grid-template-columns: 1fr 1fr;gap: 1.5rem;}
.case-study-item:nth-child(even) .csthumbimg {order: 2;}
.case-study-item:hover {background: #f7f7f7;}
.case-study-item:last-child{border-bottom: 1px solid #00000033;}
.csthumbimg img {width: 100%;max-height: 365px;object-fit: cover;}
.cslink {margin-top: 16px;}
.cs-date {gap: 8px;}
.cs-date, .cslink .btn{font-size:14px;}
.case-study-item:hover h3 a{color: var(--color-red-200);}


.spec-icon-label {margin-bottom: 0;}
.csspec .spec-icons-grid {display:flex;border-bottom: 0;}
.csspec .spec-icon-card{width:100%;border-bottom: 1px solid var(--color-neutral-200);}
.csspec .spec-icon-value {font-size: 20px;font-weight: 500;}
.csspec .spec-icon-card h4{margin-bottom:0;}

.csflow-item {border: 1px solid var(--color-neutral-200);border-bottom: none;padding: 30px;}
.csflow-item h2{margin-top:0;}
.csflow-item:last-child {border-bottom: 1px solid var(--color-neutral-200);}
.related-cs-wrap{margin-top:2rem;}

.hero-media.border-none {border: none;}
.careers-hero .hero-media img {max-height: inherit;}


.careers-why-mpm-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
}
.careers-why-mpm-media {
	border: 1px solid #00000033;
	padding: 12px;
}
.careers-why-mpm-media img{width: 100%;}
.cswhyicons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid #00000033;
	border-top:0;
	border-left:0;
}
.flex.cswhicitem {
	border: 1px solid #00000033;
	padding: 12px;
	gap: 12px;
	align-items: center;
	border-right: 0;
	border-bottom: 0;
}
.careers-why-mpm-content h3 {
	font-size: 24px;
	margin-top: 34px;
}

.faqs-section .faq-list, .job-listing-section .filter-bar {margin-top: 2.5rem;}
.job-posts-list {margin-top: 2.5rem;border-bottom: 1px solid #00000033;}
.job-item {border: 1px solid #00000033;padding: 20px;border-bottom: 0;color:#606060;font-size: 18px;}
.job-card-title{font-size:24px;}
.job-item .tag-pill {color: #606060;font-size: 16px;}

.jobinfo .flex{gap:10px 20px;}
.jobinfo .jobdata {flex-wrap: wrap;max-width: 80%;}
.jobinfo .jobdata .flex{gap:8px;}
.jobdata span {font-weight: 500;}
.jobinfo span img {filter: brightness(0) saturate(100%) invert(39%) sepia(0%) saturate(1%) hue-rotate(77deg) brightness(95%) contrast(91%);}

.job-info-table {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid #00000033;
	border-right:0;
	border-bottom:0;
	margin-bottom: 24px;
}
.jobinfo-col{
	padding: 14px 24px;
	border-right: 1px solid #00000033;
	border-bottom: 1px solid #00000033;
}
.jobinfo-col label {
	font-size: 18px;
	font-weight: 600;
	color: #141414;
	margin-bottom: 6px;
	display: flex;
	gap: 6px;
}
.job-content-main{padding-top: 60px;}
.job-content-box {
	border: 1px solid #00000033;
	border-top: 0;
	padding-bottom: 20px;
}
.job-content-box > * {
	padding: 0 20px;
}
.job-content-box h2 {
	border-top: 1px solid #00000033;
	margin-top: 30px;
	padding-top: 30px;
}
.job-content-box ul, .job-content-box ol{
	padding-left: 50px;
}


.job-form-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;}
.job-form-grid .redbox {
	background: #DC2E27;
	padding: 24px;
}
.job-form-grid .redbox * {
	color: #fff !important;
}
.job-form-content h2 {
	margin-top: 0;
}

.job-form-box, .contact-form-box-main{
	border: 1px solid #00000033;
	padding: 20px;background: #fff;
}
.wpcf7-form ul {
	padding: 0;display: flex;flex-wrap:wrap;
	gap: 20px;
}
.wpcf7-form li.full-width{width:100%;}
.wpcf7-form li {
	list-style: none;
	width: calc(50% - 10px);
	display: inline-block;margin-bottom: 0;
}
.wpcf7-form li label {
	font-size: 16px;
	font-weight: 500;
	color: #000;
	margin-bottom: 6px;
	width: 100%;
	display: inline-block;
}
.wpcf7-form-control {background: #f7f7f7;
	border: 1px solid #00000033;
	padding: 12px 20px;
	border-radius: 8px;
	width: 100%;
	display: inline-block;
	font-size: 16px;
}
textarea.wpcf7-form-control  {
	max-height: 130px;
}
li.submit-btn.center {
	margin: 0 auto;
	text-align: center;
	position: relative;
}
.wpcf7-form-control.wpcf7-submit {
	width: max-content;
}
span.wpcf7-spinner {
	position: absolute;
	top: 16px;
}
.wpcf7 form .wpcf7-response-output {
	text-align: center;
}
span.wpcf7-not-valid-tip {
	font-size: 14px;
}

.codedropz-upload-inner:before {
	content: "";
	background: url(../images/pdf-icon.svg) no-repeat;width: 70px;
	height: 70px;
	display: inline-block;
}
.codedropz-upload-inner h3 {
	color: #141414;
	font-size: 16px;
	font-weight: 400;
	display: flex;
	gap: 0 8px;
	flex-wrap: wrap;
	justify-content: center;max-width: 600px;
	margin: 0 auto;
}
.codedropz-upload-handler {
	border-color: #b21d1d;
	background: #DC2E2724;
}
.codedropz-upload-inner {
	font-weight: 400;
	color: #141414;
	font-size: 16px;
	font-weight: 400;
}
.codedropz-btn-wrap:after {
	content: "Max file size 4 MB";
	display: block;
}
input.wpcf7-form-control.wpcf7-not-valid, textarea.wpcf7-form-control.wpcf7-not-valid, select.wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--color-red-200);
}
.wpcf7-response-output {
	font-size: 15px;
}

.service-steps-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid #00000033;
	border-right: 0;
	border-bottom: 0;
	margin-top: 3rem;
}
.service-steps-card {
	padding: 20px;
	border: 1px solid #00000033;
	border-left: 0;
	border-top: 0;

}
.service-steps-grid.default .service-steps-card {text-align:center;}
.service-steps-grid .service-step-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.service-steps-card span {
	color: #DC2E27;display:inline-block;
	font-size: 20px;line-height:normal;
}
.service-steps-grid.circle, .service-steps-grid.square{
    grid-template-columns: repeat(2, 1fr);
}
.service-steps-grid.default .service-steps-card span {
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;margin-bottom: 20px;
}
.service-step-img {width: 50%;}
.service-steps-grid.icons .service-step-img{width:100%;}
.service-steps-grid.icons .service-step-img img {
    max-height: 80px;
    object-fit: contain;
    object-position: left;
    margin-bottom: 16px;
}
.circle .service-steps-card, .square .service-steps-card {
    width: 50%;
    border-right: 0;border-bottom: 0;
}
.service-steps-grid .flex {
    border-right: 1px solid #00000033;border-bottom: 1px solid #00000033;align-items: center;
}
.circle .service-step-img img {
    border-radius: 100%;
    width: 300px;
    height: 300px;
    margin: 0 auto;
}
.service-steps-grid .flex:nth-child(3), .service-steps-grid .flex:nth-child(4), .service-steps-grid .flex:nth-child(7), .service-steps-grid .flex:nth-child(8) {
    flex-direction: row-reverse;
}
.square .service-step-img {
    height: 100%; min-height: 320px;
}
.service-twocol-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
}
.service-twocol-grid .service-twocol-img {
	border: 1px solid #00000033;
	padding: 12px;
}
.service-twocol-grid .service-twocol-img img{width:100%;}
.service-twocol-content h2{margin-top:0;}

.service-types-wrap{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid #00000033;
	border-right: 0;
	border-bottom: 0;
	margin-top: 3rem;
}
.sub-service-box{
	padding: 32px;
	border: 1px solid #00000033;
	border-left: 0;
	border-top: 0;
}
.service-steps-card h5, .sub-service-box h5{font-weight:500;}



.contact-info {background: #fff;
	border: 1px solid #00000033;
	border-right: 0;
	border-bottom: 0;
}
.contact-item {
	border: 1px solid #00000033;
	border-left: 0;
	border-top: 0;
	padding: 18px 12px;gap: 12px;color: #7A7A7A;
}
.contact-item .ctimg {
	min-width: 60px;
}
.contact-item h5 {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 8px;
}
.contact-item a:hover{color: var(--color-red-200);}
.contact-form-box-main h3 {
	font-size: 24px;
	font-weight: 600;
}


.map-section{background: url(../images/mapbg.svg) no-repeat;background-size:cover;}
.mapimg {padding: 100px 0;overflow: hidden;}
.mapimg img{margin: 0 auto;}

.mapimg .relative{width: fit-content;margin: 0 auto;}
.mapin {position: absolute;width: 20px;height: 20px;background: #DC2E27;border-radius: 20px;border: 1px solid #0000000D;cursor:pointer;}
.mapin:before {content: "";border: 1px solid #0000000D;background: #0000001A;width: 30px;height: 30px;border-radius: 30px;display: inline-block;position: absolute;top: -6px;left: -6px;}
.location-box {position: absolute;background: #141414;padding: 20px;opacity: 0;visibility: hidden;width: 300px;z-index:1;top:30px;}
.location-box *{color:#ffffff;}
.mapin.active .location-box, .mapin:hover .location-box{opacity: 1;visibility:visible;}

.solution-hero h1, .solution-hero p {max-width: 70%;}
.solution-type {color: var(--color-red-200);font-weight: 500;margin-bottom: 12px;margin-top: 12px;}
.solution-hero .banner-bottom{margin-top:3rem;}

.challenge-grid {display: grid;grid-template-columns: repeat(4, 1fr);border: 1px solid #00000033;border-right: 0;border-bottom: 0;}
.challenge-card {border: 1px solid #00000033;border-top: 0;border-left: 0;padding: 34px 24px;}
.challenge-card h5 {font-weight:500;color: var(--color-red-200);}
.chalicon {margin-bottom: 20px;}

.sol-prodareas-box {border: 1px solid #00000033;margin-bottom: 20px;display: grid;grid-template-columns: 1.2fr 1fr;}
.sol-prodareas-box:nth-child(even){grid-template-columns: 1fr 1.2fr;}
.sol-prodareas-content {padding: 40px 20px;}
.sol-prodareas-img {padding: 20px;border-left: 1px solid #00000033;}
.sol-prodareas-img img {width: 100%;object-fit: cover;min-height: 400px;max-height: 400px;}
.sol-prodareas-box:nth-child(even) .sol-prodareas-content {order: 2;}
.sol-prodareas-box:nth-child(even) .sol-prodareas-img {border-left: 0;border-right: 1px solid #00000033;}
.solprod {display: flex;flex-wrap: wrap;gap: 8px 14px;margin-bottom: 36px;}
.prdtag a{background: #F8F8F8;border: 1px solid #4F596E26;display: flex;align-items: center;justify-content: space-between;gap: 40px;padding:7px 20px;border-radius:6px;}
.prdtag h6{color:#454545;font-size:14px;font-weight:500;margin-bottom:0;}
.prdtag .blog-card-readmore{font-size:14px;}
.prdtag a:hover {background: #dc2e2720;}
.areconetnt ul li {position: relative;padding-left: 34px;margin-bottom: 10px;}
.areconetnt ul li:before {position: absolute;left: 0;}

.case-study-inner.solcs {display: grid;grid-template-columns: repeat(3, 1fr);border-right: 1px solid #00000033;}
.case-study-inner.solcs .case-study-item:first-child{grid-column: 1 / -1;border-right: 0;}
.case-study-inner.solcs .case-study-item:first-child .csthumbimg{display:block;}
.case-study-inner.solcs .csthumbimg {display: none;}
.case-study-inner.solcs .case-study-item:not(:first-child){grid-template-columns: 1fr;border: 1px solid #00000033;border-right: 0;}
.case-study-inner.solcs h3 {font-size: 22px;}

.related-solution.solution-grid {grid-template-columns: repeat(2, 1fr);border: 1px solid #00000033;border-bottom: 0;border-right: 0; gap: 0;}
.related-solution .solution-card {border: 1px solid #00000033;border-left: 0;border-top: 0;padding: 20px;}
.related-solution .solution-card-media{ aspect-ratio: auto;}
.related-solution .solution-card-media img {max-height: 250px;}

.gradient .product-cta-box .cta-content {max-width: 60%;}
.gradient .product-cta-box .cta-media {width: 40%;flex-shrink: 0;position: relative;top: 0;right: 0;}
.gradient .cta-media.product-cta-media:before {content: "";background: linear-gradient(89.65deg, #DC2E27 23.61%, rgba(220, 46, 39, 0) 88.33%);height: 100%;position: absolute;width: 100%;}
.gradient .product-cta-media img {width: auto;height: 100%;object-fit: cover;object-position: right;}

.chalsol-grid-wrapper {display: grid;grid-template-columns: 1fr 1fr;border: 1px solid #00000033;}
.chalsol-head {background: linear-gradient(9.67deg, #FFFFFF -318.04%, #DC2E27 93.17%);color: #fff;text-align: center;padding: 10px;}
.chalsol-inner {padding: 40px 20px;}
.chalsol-inner h3 {font-size: 22px;}
.chalsol-box.chalsol-challenge {border-right: 1px solid #00000033;}
.chalsol-inner ul{padding-top:20px;}
/*.chalsol-challenge ul {padding-top: 70px;}
.chalsol-solution ul {padding-top: 35px;border-top: 1px solid #00000033;margin-top:35px;}*/
.chalsol-inner ul li {position: relative;padding-left: 35px;margin-bottom: 16px;}
.chalsol-inner ul li:before{content:"";position:absolute;left:0;width:24px;height:24px;}
.chalsol-challenge .chalsol-inner ul li:before{background: url(../images/danger-bold.svg) no-repeat;}
.chalsol-solution .chalsol-inner ul li:before{background: url(../images/tick-double.svg) no-repeat;}

.multicol .service-twocol-grid {padding-top: 60px;}
.multicol .service-twocol-img img {box-shadow: -14px -8px 79.2px 0px #00000033;border-radius: 10px;border: 1px solid #00000033;}
.multicol .service-twocol-img {background: #f7f7f7;padding: 24px;border-radius: 10px;}

.service-twocol-grid > :only-child{grid-column: 1 / -1;}

.overview-section .overview-img img{margin: 0 auto;}
.overview-section ul {list-style: disc;padding-left: 24px;}
.overview-section ul li{margin-bottom:10px;}

.feamodule-grid {display: grid;grid-template-columns: repeat(10, 1fr);border: 1px solid #00000033;border-right: 0;border-bottom: 0;}
.module-box:first-child, .module-box:last-child{grid-column: span 4;}
.module-box {grid-column: span 3;border: 1px solid #00000033;border-left: 0;border-top: 0;display: flex;flex-direction: column;position:relative;justify-content: space-between;}
.module-box.bottom {flex-direction: column-reverse;}
.module-text{padding:24px;position:relative;}
.module-box img{position:relative;}
.module-box.right img {margin-left: auto;}
.module-box.bottom img {margin: 0 auto;}
.module-box:first-child:before, .module-box:last-child:before{content: "";background: url(../images/module-bg-dots.svg) no-repeat;background-size:cover;position: absolute;top: 0;right: 0;	width: 100%;height: 100%;}

.about-banner .home-banner-content {max-width: 900px;}
.about-banner h1 {margin-bottom:24px;}
.about-banner h1 span{font-style:normal;display: block;}
.abncontent {bottom: 0;padding: 15px;color: #fff;opacity:0;transition: all 0.5s ease-in-out;}
.abncontent h5{color: var(--color-red-200);font-size:18px;line-height:normal;}
.abncontent p{font-size:16px;line-height:normal;font-weight:400;}
.abnbox:hover .abncontent, .abnbox:hover:before{opacity: 1;z-index:1;}
.abnbox:before {content: "";background: linear-gradient(0.73deg, #141414 9.75%, rgba(20, 20, 20, 0) 122.73%);position: absolute;width: 100%;height: 100%;z-index: 1;border-radius: 14px;opacity:0;}

.service-twocol-content.default-content h3 {font-size: 24px;margin-bottom:12px;}




/* =========================================================
SECTION: Company Timeline
========================================================= */
.timeline-section {overflow: hidden;}
.timeline-row {position: relative;display: grid;grid-template-columns: repeat(4, 1fr);grid-auto-flow: row dense;column-gap: 24px;max-width: 1440px;margin: 0 auto;padding: 0 40px;height: var(--row-h, 360px);}
.timeline-row-track {position: absolute;left: 40px;right: 40px;top: 50%;height: 0;border-top: 1px dashed var(--color-neutral-1000);transform: scaleX(0);transform-origin: left;transition: transform 1.1s cubic-bezier(.65,0,.35,1);}
.timeline-row--offset .timeline-row-track {left: calc(60% + 40px);}
.timeline-row[data-direction="rtl"] .timeline-row-track {transform-origin: right;}
.timeline-row.is-visible .timeline-row-track {transform: scaleX(1);}

.timeline-item {grid-column: var(--col);position: relative;height: 100%;opacity: 0;transform: translateY(16px);transition: opacity .6s ease, transform .6s ease;transition-delay: calc(var(--i, 0) * 140ms);}
.timeline-row.is-visible .timeline-item {opacity: 1;transform: translateY(0);}

.timeline-year {font-size: 20px;font-weight: 400;color: var(--color-neutral-1000);text-align: center;white-space: nowrap;}
.timeline-year--top, .timeline-year--bottom,
.timeline-desc--top, .timeline-desc--bottom {position: absolute;left: 50%;transform: translateX(-50%);}
.timeline-year--top {bottom: calc(50% + 14px);}
.timeline-year--bottom {top: calc(50% + 14px);}

.timeline-dot-wrap {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.timeline-dot {display: block;width: 24px;height: 24px;border-radius: 50%;background: var(--color-neutral-0);border: 2px solid var(--color-red-200);box-shadow: 0 0 0 1px rgba(220, 46, 39, 0.25);transform: scale(0);transition: transform .5s cubic-bezier(.34,1.56,.64,1);transition-delay: calc(var(--i, 0) * 140ms + 150ms);}
.timeline-row.is-visible .timeline-dot {transform: scale(1);}
.timeline-dot:before {content: "";background: var(--color-red-200);width: 14px;height: 14px;position: absolute;border-radius: 20px;left: 3px;top: 3px;}



.timeline-desc {width: 275px;text-align: justify;}
.timeline-desc p {font-size: 16px;line-height:normal;color: var(--color-neutral-1000);margin-bottom: 0;}
.timeline-desc--top {bottom: calc(50% + 14px);padding-bottom: 60px;}
.timeline-desc--bottom {top: calc(50% + 14px);padding-top: 60px;}
.timeline-desc--top::after,
.timeline-desc--bottom::before {content: "";position: absolute;left: 50%;width: 0;height: 48px;border-left: 1px solid var(--color-neutral-1000);transform: translateX(-50%);}
.timeline-desc--top::after {bottom: 0;}
.timeline-desc--bottom::before {top: 0;}

@media (prefers-reduced-motion: reduce) {
	.timeline-row-track, .timeline-joint-curve, .timeline-item, .timeline-dot {
		transition: none !important;
		transform: none !important;
		opacity: 1 !important;
	}
}

.timeline {max-width: 1440px;margin: 0 auto;position: relative;padding-top:60px;}
.timeline-row:first-child .timeline-row-track:before, .timeline-row:last-child .timeline-row-track:before{display:none;}
.timeline-row-track.ltr:after {content: "";position: absolute;border-top: 1px dashed var(--color-neutral-1000);height: 36px;width: 100px;border-radius: 85px 0 0 0;right: -56px;transform: rotate(90deg);top: 30px;transition: transform 1.1s cubic-bezier(.65, 0, .35, 1);opacity: 0;}
.timeline-row-track.ltr:before {content: "";position: absolute;border-top: 1px dashed var(--color-neutral-1000);height: 36px;width: 100px;border-radius: 85px 0 0 0;left: -62px;transform: rotate(270deg);bottom: 32px;opacity: 0;}
.timeline-row-track.rtl:after {content: "";position: absolute;border-top: 1px dashed var(--color-neutral-1000);height: 36px;width: 100px;border-radius: 0 85px 0 0;right: -56px;transform: rotate(90deg);bottom: 31px;opacity: 0;}
.timeline-row-track.rtl:before {content: "";position: absolute;border-top: 1px dashed var(--color-neutral-1000);height: 36px;width: 100px;border-radius: 0 85px 0 0;left: -62px;transform: rotate(270deg);top: 31px;opacity: 0;}

.timeline-joint.ltr:before {content: "";position: absolute;border-top: 1px dashed var(--color-neutral-1000);height: 30px;width: 182px;right: -60px;transform: rotate(90deg);top: 0;opacity: 0;}
.timeline-joint.rtl:before {content: "";position: absolute;border-top: 1px dashed var(--color-neutral-1000);height: 30px;width: 182px;left: -95px;transform: rotate(90deg);top: 0;opacity: 0;}
.timeline-joint.is-visible:before, .is-visible .timeline-row-track:before, .is-visible .timeline-row-track:after{opacity: 1; transition: opacity 1.3s cubic-bezier(.65, 0, .35, 1);}
.timeline-desc--top::before, .timeline-desc--bottom::after {content: "";background: #000;width: 5px;height: 5px;display: inline-block;border-radius: 5px;position: absolute;left: 50%;transform: translateX(-50%);}
.timeline-desc--top::before {bottom: 46px;}
.timeline-desc--bottom::after {top: 46px;}






.visnmisn-grid {border: 1px solid #00000033;}
.visnmisn-mision{border-right: 1px solid #00000033;}
.visnmisn-content {padding: 34px;}
.visnmisn-content ul li {list-style: disc;margin-bottom: 12px;margin-left: 20px;}
.visnmisn-img img {width: 100%;height: 100%;object-fit: cover;}
.ourvalues-grid {grid-template-columns: 1fr;}
.ourvalues {border: 1px solid #00000033;border-top:0;}
.ourvalues-content {padding: 34px 14px 0 34px;}
.ourvalues-img img {width: 100%;height: 100%;object-fit: cover;}
.principles-content{border-top: 1px solid #00000033;}
.principles-box h5 {padding: 34px 34px 10px 34px;font-weight:500;}
.principles-items {border: 1px solid #00000033;border-left: 0;border-top: 0;padding: 20px 20px 20px 34px;}
.principles-items:last-child {border-right: 0;border-bottom: 0;}
.principles-items h6 {font-size: 18px;line-height: 26px;margin-bottom: 8px;}
.principles-items p {font-size: 16px;line-height: 24px;}


.about-foundry-grid {border: 1px solid #00000033;border-bottom: 0;border-right: 0;}
.abfounicon-items {border: 1px solid #00000033;border-top: 0;border-left: 0;}
.abfouniconinfo{padding:24px 24px 34px;}
.abfounicon-items h3 {font-size: 24px;min-height:60px;}
.abfouniconinfo ul {list-style:disc;padding-left: 24px;}

.impact-number-items .impnum-box{border: 1px solid #00000033;border-right: 0;padding: 24px;}
.impact-number-items:last-child .impnum-box{border-right: 1px solid #00000033;}
.impnum-box h5 {font-size: 16px;font-weight: 400;margin-bottom: 0;min-height: 40px;}
.impact-number-items .number {display: flex;font-size: 70px;line-height: 70px;letter-spacing: 0;font-weight: 300;color: var(--color-red-200);margin-bottom:16px;}
.impact-number-items p {font-size: 16px;line-height: 24px;padding: 12px;}


.team-swiper .swiper-slide{height:auto;}
.team-swiper .team-card {border: 1px solid #00000033;height: 100%;border-left: 0;transition: all 0.5s ease-in-out;}
.team-swiper{ border-left: 1px solid #00000033;}
.member-pic {height: 100%;}
.member-info {background: linear-gradient(0deg, #FFFFFF 49.52%, rgba(255, 255, 255, 0) 100%);bottom: 0;padding: 20px 30px;transition: all 0.5s ease-in-out;}
.member-info h3 {font-size: 28px;color:#000000;margin-bottom: 6px;}
.member-info p {font-size: 16px;color:#000000;}
.member-img {overflow: hidden;}
.member-img img{position:relative;margin-left: -70px;transition: all 0.5s ease-in-out;filter: grayscale(1);}
.member-img:before {content: "";border: 2px solid var(--color-red-200);position: absolute;height: calc(100% - 60px);width: calc(100% - 60px);top: 30px;left: 30px;border-radius: 6px;}
.team-card .linkedin{transition: all 0.5s ease-in-out;bottom: 120px;right: 30px;opacity: 0;}
.team-card:hover {background: #410009;border-color: #410009;}
.team-card:hover .member-img img{margin-left:0;filter: grayscale(0);}
.team-card:hover .member-info {background: linear-gradient(0deg, #410009 49.52%, rgba(65, 0, 9, 0) 100%);}
.team-card:hover .member-info *{color:#ffffff;}
.team-card .linkedin img {background: #ffffff;border-radius: 50px;}
.team-card:hover .linkedin{opacity:1;}
.team-card .linkedin:hover img {filter: brightness(0) invert(1);background: transparent;}

.partner-logos-grid-lists {border: 1px solid #00000033;border-right: 0;border-bottom: 0;}
.partner-logo-item{border: 1px solid #00000033;border-top:0;border-left:0;}
.partner-logo-item .logobox {display: flex;align-items: center;justify-content: center;height: 100px;transition: all 0.5s ease-in-out;}
.partner-logo-item .logobox:hover {background: url(../images/logo-red-bg-pattern.svg) no-repeat;background-size: cover;}
.partner-logo-item .logobox img {filter: grayscale(1);transition: all 0.5s ease-in-out;}
.partner-logo-item .logobox:hover img {filter: grayscale(0);}

.focus-areas-grid > div {border: 1px solid #00000033;}
.about-focus-areas-section h3 {font-size: 24px;}
.focus-areas-item{ border-bottom: 1px solid #00000033;padding:24px;}
.focus-areas-grid .focus-areas-commitments {border-left: 0;padding: 24px;}
.focus-areas-grid .focus-areas-commitments h3 {font-family: "Libre Caslon Text", serif;margin: 0 0 20px 0;}
.focus-areas-item:last-child{border-bottom:0;}

.certificate-logo {display: flex;align-items: center;justify-content: center;border: 1px solid #00000033;min-width: 150px;max-width: 150px;margin-right: 30px;}
.certificate-info h5 {font-size: 18px;margin-bottom: 8px;}
.certificate-info p {font-size: 16px;line-height: 24px;}

.video-list-item {align-items: center;gap: 24px;border: 1px solid #00000033;border-bottom: 0;padding: 24px;}
.video-list-media {width: 40%;}
.video-list-content {width: 60%;}
/*.video-list-item:nth-child(even) {grid-template-columns: 1fr 1.5fr;}
.video-list-item:nth-child(even) .video-list-media {order: 2;}*/
.video-list-item:last-child {border: 1px solid #00000033;}
.video-list-media img {width: 100%;height: 100vh;max-height: 280px;object-fit: cover;}
.video-list-item .video-time {font-size: 14px;gap: 8px;}
.video-list-item:hover, .search-list-card:hover{background: url(../images/box-hover.svg) center center / cover no-repeat;background-position: center center;}
.training-video-modal .video-card-play {left: 50%;top: 50%;}

.testimonials-grid-group .testimonial-card {border: 1px solid #00000033;height:auto;width:auto;}
.testimonial-row{display:grid;gap:0;}
.testimonial-row.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3-right{grid-template-columns: 1fr 1fr 2fr;}
.cols-3-left{grid-template-columns: 2fr 1fr 1fr;}
.cols-3-center{grid-template-columns: 1fr 2fr 1fr;}

.testimonials-grid-group{border-left: 1px solid #00000033;border-top: 1px solid #00000033;}
.cols-2 .testimonial-card, .cols-3-right .testimonial-card, .cols-3-left .testimonial-card{border-left: 0;border-top: 0;}
.cols-2 .testimonial-card:last-child, .cols-3-right .testimonial-card:last-child{border-right: 1px solid #00000033;}
.testimonials-grid-group .testimonial-card.testimonial-card--simple {min-height: 300px;}


.search-result-banner .hero-content {max-width: 900px;margin: 0 auto;text-align: center;}
.search-result-items{border-bottom: 1px solid #00000033;}
.search-list-card {border: 1px solid #00000033;padding: 34px;border-bottom:0;}
.search-list-card .flex {gap: 20px;}
.search-list-card h3 {font-size: 24px;margin-bottom: 8px;}
.search-list-card p {display: -webkit-box;-webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;font-size:16px;line-height:24px;margin-bottom: 0;}
.search .searchform .search-field {padding-right: 100px;}
.search .searchform button {cursor: pointer;right: 5px;padding: 0.5rem 1rem;}

.header-search {position: relative;display: flex;align-items: center;}
.header-search .search-icon {position: relative;z-index: 2;cursor: pointer;background: #F5F7FA;width: 50px;height: 44px;display: flex;align-items: center;justify-content: center;border-radius: 8px;}
.header-search .search-icon img {filter: brightness(0) saturate(100%) invert(28%) sepia(92%) saturate(2210%) hue-rotate(342deg) brightness(85%) contrast(103%);}
.header-search .search-row {position: absolute;top: 50%;right: 0;width: 1010px;transform: translateY(-50%) scaleX(0);transform-origin: right center;opacity: 0;visibility: hidden;transition: transform .35s ease, opacity .25s ease, visibility .25s;z-index: 1;background: #F5F7FA;border: 1px solid #00000033;border-radius: 8px;padding: 9px 15px;box-sizing: border-box;}
.header-search.open .search-row {transform: translateY(-50%) scaleX(1);opacity: 1;visibility: visible;margin-right: -1px;}
.header-search input.field {width: calc(100% - 40px);border: 0;background: transparent;font-size: 16px;padding-right: 75px;}
.header-search input.field:focus-visible {outline: none;}
.header-search button.absolute {top: 50%;transform: translateY(-50%);font-size: 16px;background: var(--color-red-200);color: #fff;right: 36px;padding: 10px;}
.header-search.open .search-icon img {opacity: 0;}
.header-search.open .search-icon:before {content: "+";position: absolute;font-size: 50px;font-family: "Libre Caslon Text", serif;transform: rotate(45deg);color: var(--color-red-200);}


.rricons .abfounicon-img{padding:34px 0 0;}
.rricons .abfounicon-img img {width: auto;margin-left: 24px;}
.abfounicon-img.text-center img, .journey-items img {margin: 0 auto;text-align: center;}

.journey-grid{gap:100px;}
.journey-items{text-align:center;position:relative;}
.journey-items:after {content: "";background: url(../images/journey-line.svg) no-repeat;width: 80px;height: 15px;position: absolute;left: 100%;top: 50%;background-size: 80px;}
.journey-items:last-child:after{display:none;}
.journey-img{margin-bottom:24px;}
.journey-info {font-size: 14px;	line-height: 22px;}

.abfouniconinfo .view-more-btn {background: none;border: 0;padding: 10px 0;margin-top: 10px;cursor: pointer;font-size: 16px;font-weight: 600;color: var(--color-red-200);position:relative;}
.abfouniconinfo .view-more-btn:after {content: "";background: url(../images/read-more-arrow.svg) no-repeat;width: 16px;height: 16px;position: absolute;top: 16px;right: -20px;transition:right 0.5s ease-in-out;}
.abfouniconinfo .view-more-btn:hover:after {right:-26px;}

.masonry-gallery {column-count: 3;column-gap: 20px;}
.masonry-item {display: inline-block;width: 100%;margin-bottom: 16px;break-inside: avoid;border: 1px solid var(--color-btn-red);border-radius: 10px;}
.masonry-item img {width: 100%;height: auto;display: block;border-radius: 8px;}
.masonry-item .galimg-title {width: 100%;bottom: 0;padding: 10px;}
.masonry-item .galimg-title:before {content: "";background: var(--color-btn-red);width: 100%;position: absolute;height: 100%;left: 0;bottom: 0;border-radius: 0 0 8px 8px;}
.masonry-item .galimg-title p {color: #ffffff;position: relative;text-align: center;}

.tvscheck option {display: flex;width: 100%;height: 24px;padding-left: 38px;align-items: center;margin-bottom: 10px;position: relative;cursor:pointer;background:transparent;}
.tvscheck option:before {content: "";border: 1px solid;border-radius: 4px;width: 24px;height: 24px;position: absolute;left: 0;text-align: center;}
.tvscheck option.check {color: green;}
.tvscheck option.check:before {content: "✔";}

.made-india-logo img {
    max-width: 150px;
}