@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
	--blue: #073b72;
	--blue2: #0a56a0;
	--red: #e3232b;
	--ink: #0d1b2a;
	--soft: #f3f7fb;
	--line: #dce5ee;
	--muted: #5d6975;
	--font: 'Manrope', sans-serif
}

* {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

body {
	font-family: var(--font);
	color: var(--ink);
	line-height: 1.7
}

a {
	text-decoration: none
}

img {
	max-width: 100%;
	object-fit: cover
}

.container {
	max-width: 1240px
}

.topbar {
	background: #062f5b;
	color: #d9e7f4;
	font-size: .76rem;
	padding: .45rem 0
}

.topbar i {
	color: #6fb8f4;
	margin-right: .3rem
}

.navbar {
	padding: .85rem 0;
	transition: .25s;
	box-shadow: 0 1px 0 rgba(13, 27, 42, .06)
}

.navbar.scrolled {
	box-shadow: 0 8px 30px rgba(13, 27, 42, .1)
}

.navbar-brand {
	display: flex;
	align-items: center;
	gap: .7rem;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--blue)
}

.navbar-brand small {
	display: block;
	font-size: .47rem;
	letter-spacing: .2em;
	color: #758393
}

.brand-mark {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	background: var(--blue);
	border-bottom: 5px solid var(--red);
	color: #fff;
	font-size: 1.35rem;
	font-style: normal
}

.nav-link {
	font-weight: 600;
	font-size: .86rem;
	color: #273746 !important;
	padding: .65rem .8rem !important
}

.btn {
	border-radius: 3px;
	font-weight: 700;
	padding: .72rem 1.25rem
}

.btn-primary {
	background: var(--red);
	border-color: var(--red)
}

.btn-primary:hover {
	background: #bf1119;
	border-color: #bf1119
}

.btn-success {
	background: #199b53;
	border-color: #199b53
}

.hero {
	min-height: 790px;
	color: #fff;
	position: relative;
	background: #082844;
	overflow: hidden
}

.hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(4, 26, 49, .96) 0%, rgba(4, 26, 49, .77) 48%, rgba(4, 26, 49, .2)), url('https://images.unsplash.com/photo-1548550023-2bdb3c5beed7?auto=format&fit=crop&w=2000&q=85') center/cover
}

.min-vh-75 {
	min-height: 690px
}

.eyebrow {
	display: block;
	font-weight: 800;
	font-size: .72rem;
	letter-spacing: .2em;
	color: var(--red);
	margin-bottom: 1rem
}

.hero h1,
.page-hero h1 {
	font-size: clamp(3rem, 6vw, 6rem);
	line-height: 1.02;
	max-width: 950px;
	font-weight: 700;
	letter-spacing: -.055em
}

.hero h1 em {
	font-family: 'Manrope', Arial, sans-serif;
	font-weight: 600;
	color: #77bdf1
}

.hero .lead {
	font-size: 1.2rem;
	max-width: 680px;
	margin: 1.7rem 0 2.1rem;
	color: #d6e3ed
}

.hero-stats {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	border-top: 1px solid rgba(255, 255, 255, .2);
	background: rgba(4, 26, 49, .45);
	backdrop-filter: blur(8px)
}

.hero-stats .col-4 {
	padding: 1.4rem 2rem;
	border-right: 1px solid rgba(255, 255, 255, .18)
}

.hero-stats strong {
	display: block;
	font-size: 1.65rem
}

.hero-stats span {
	font-size: .74rem;
	color: #b7cce0;
	text-transform: uppercase;
	letter-spacing: .08em
}

.section {
	padding: 60px 0
}

.section h2,
.exp-categorytext {
	font-size: clamp(2rem, 3.2vw, 3.6rem);
	letter-spacing: -.045em;
	font-weight: 700
}

.section h3 {
	font-size: 1.15rem;
	font-weight: 700
}

.text-link {
	color: var(--blue2);
	font-weight: 800;
	border-bottom: 1px solid #aac9e5;
	padding-bottom: .25rem
}

.image-stack {
	position: relative
}

.image-stack img {
	height: 540px;
	width: 100%;
	border-radius: 4px
}

.experience-card {
	position: absolute;
	left: -35px;
	bottom: 35px;
	background: var(--red);
	color: #fff;
	padding: 1.4rem 1.8rem
}

.experience-card strong,
.experience-card span {
	display: block
}

.experience-card strong {
	font-size: 1.45rem
}

.experience-card span {
	font-size: .76rem
}

.bg-soft {
	background: var(--soft)
}

.section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 2rem;
	margin-bottom: 3rem
}

.section-head h2 {
	margin: 0
}

.section-head>div {
	max-width: 760px
}

.product-card {
	height: 100%;
	min-height: 325px;
	display: block;
	position: relative;
	background: #fff;
	border: 1px solid var(--line);
	/* padding:2rem; */
	color: var(--ink);
	transition: .3s;
}

.product-card:hover {
	transform: translateY(-6px);
	border-color: #87b6db;
	box-shadow: 0 20px 50px rgba(7, 59, 114, .1)
}

.product-card>.bi {
	font-size: 2.2rem;
	color: var(--blue2);
	display: block;
	margin: 1.8rem 0
}

.product-card .num {
	position: absolute;
	background: #fff;
	width: 25px;
	height: 25px !important;
	text-align: center;
	border-radius: 20px;
	z-index: 1;
	right: 1.5rem;
	top: 1.2rem;
	color: #000;
	font-weight: 700;
	font-size: 14px;
}

.product-card p {
	font-size: .9rem;
	color: var(--muted)
}

.product-card .arrow {
	position: absolute;
	right: 1.5rem;
	bottom: 1.2rem;
	width: 38px;
	height: 38px;
	border: 1px solid var(--line);
	display: grid;
	place-items: center
}

.product-card ul {
	padding-left: 1rem;
	color: var(--muted);
	font-size: .82rem
}

.product-card.tall {
	min-height: 485px
}

.dark-section {
	background: #072c51;
	color: #fff
}

.dark-section p {
	color: #c7d8e7
}

.media-grid {
	position: relative
}

.media-grid img {
	height: 600px;
	width: 100%
}

.quality-badge {
	position: absolute;
	right: -20px;
	bottom: 30px;
	background: #fff;
	color: var(--ink);
	padding: 1.2rem;
	display: flex;
	gap: .8rem;
	align-items: center
}

.quality-badge i {
	font-size: 2rem;
	color: var(--red)
}

.quality-badge span {
	font-size: .75rem;
	font-weight: 700
}

.feature-list>div {
	display: flex;
	gap: 1rem;
	margin: 1.6rem 0
}

.feature-list i {
	color: #61b6f5;
	font-size: 1.35rem
}

.feature-list strong,
.feature-list span {
	display: block
}

.feature-list span {
	color: #c8d9e8;
	font-size: .9rem
}

.feature-list.light span {
	color: var(--muted)
}

.value-card {
	padding: 2rem 1rem;
	border-top: 2px solid var(--line)
}

.value-card>strong {
	color: var(--red);
	font-size: .7rem
}

.value-card h3 {
	margin-top: 1.2rem
}

.value-card p {
	font-size: .86rem;
	color: var(--muted)
}

.projects-teaser {
	background: #0b1f31
}

.project-frame {
	height: 560px;
	position: relative;
	overflow: hidden
}

.project-frame:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(4, 20, 35, .8), transparent 60%)
}

.project-frame img {
	width: 100%;
	height: 100%
}

.project-frame>div {
	position: absolute;
	z-index: 1;
	left: 2.5rem;
	bottom: 2rem;
	color: #fff
}

.project-frame span,
.project-card span {
	font-size: .68rem;
	letter-spacing: .18em;
	font-weight: 800;
	color: #8fc8f3
}

.project-frame h3 {
	font-size: 2rem
}

.client-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line)
}

.client-grid span {
	display: grid;
	place-items: center;
	min-height: 100px;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	font-weight: 800;
	color: #515761;
	text-align: center
}

.mini-timeline {
	border-left: 2px solid #b9d4ea
}

.mini-timeline>div {
	display: grid;
	grid-template-columns: 100px 1fr;
	padding: 1rem 1.5rem;
	position: relative
}

.mini-timeline>div:before {
	content: '';
	width: 10px;
	height: 10px;
	background: var(--red);
	border-radius: 50%;
	position: absolute;
	left: -6px;
	top: 1.5rem
}

.mini-timeline strong {
	color: var(--blue2)
}

.page-hero {
	background: #071f37;
	color: #fff;
	padding: 140px 0 100px;
	position: relative;
	overflow: hidden
}

.page-hero:after {
	content: '';
	position: absolute;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 50%;
	right: -80px;
	top: -140px
}

.page-hero h1 {
	max-width: 850px
}

.page-hero p {
	font-size: 1.15rem;
	max-width: 750px;
	color: #c7d8e7
}

.rounded-media {
	width: 100%;
	height: 560px;
	border-radius: 4px
}

.timeline {
	max-width: 900px;
	margin-left: auto
}

.timeline-item {
	display: grid;
	grid-template-columns: 130px 1fr;
	border-top: 1px solid var(--line);
	padding: 2rem 0
}

.timeline-item>span {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--blue2)
}

.timeline-item p {
	color: var(--muted)
}

.back-link {
	display: block;
	color: #b9d4e9;
	font-size: .8rem;
	margin-bottom: 2.5rem
}

.content-block {
	margin-top: 3rem
}

.spec-card {
	border: 1px solid var(--line);
	padding: 1.5rem;
	height: 100%
}

.spec-card i {
	font-size: 1.8rem;
	color: var(--blue2)
}

.spec-card h3 {
	margin-top: 1rem
}

.spec-card p {
	color: var(--muted);
	font-size: .86rem
}

.inquiry-panel {
	top: 115px;
	background: var(--soft);
	padding: 2.2rem
}

.component-list {
	padding: 0;
	list-style: none
}

.component-list li {
	padding: .75rem 0;
	border-bottom: 1px solid var(--line)
}

.component-list i {
	color: var(--red);
	margin-right: .6rem
}

.process-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 3rem
}

.process-grid>div {
	border-left: 1px solid var(--line);
	padding: 2rem 1.3rem
}

.process-grid span {
	font-size: 2rem;
	color: #a9bdd0;
	font-weight: 800
}

.process-grid p {
	font-size: .83rem;
	color: var(--muted)
}

.location-card {
	display: flex;
	gap: 1rem;
	padding: 1.4rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .15)
}

.location-card i {
	font-size: 1.5rem;
	color: #68b7f0
}

.location-card p {
	margin: 0
}

.section-copy {
	max-width: 760px
}

.section-note {
	max-width: 380px;
	color: var(--muted);
	font-size: .84rem
}

.project-card {
	display: block;
	position: relative;
	overflow: hidden;
	background: #071f37;
	height: 300px;
	color: #fff
}

.project-card.featured {
	height: 624px
}

.project-card img {
	width: 100%;
	height: 100%;
	transition: .5s
}

.project-card:hover img {
	transform: scale(1.03)
}

.project-card:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(4, 22, 38, .9), transparent 65%)
}

.project-card>div {
	position: absolute;
	z-index: 2;
	bottom: 1.5rem;
	left: 1.5rem;
	right: 1.5rem
}

.project-card h2 {
	font-size: 1.45rem
}

.project-card p {
	margin: 0;
	color: #d6e3ec
}

.pakistan-map {
	min-height: 500px;
	position: relative;
	display: grid;
	place-items: center
}

.map-shape {
	width: 330px;
	height: 440px;
	background: #dbe9f4;
	clip-path: polygon(44% 0, 58% 12%, 55% 27%, 76% 35%, 68% 47%, 84% 59%, 65% 70%, 60% 100%, 35% 88%, 22% 64%, 4% 57%, 21% 38%, 28% 17%);
	display: grid;
	place-items: center;
	color: #aec8dc;
	font-size: 4rem;
	font-weight: 800
}

.pin {
	position: absolute;
	background: #fff;
	padding: .6rem .8rem;
	box-shadow: 0 8px 25px rgba(0, 0, 0, .12);
	font-weight: 700;
	font-size: .8rem
}

.pin i {
	color: var(--red)
}

.pin.lahore {
	top: 34%;
	right: 22%
}

.pin.karachi {
	bottom: 19%;
	left: 23%
}

.pakistan-map p {
	position: absolute;
	bottom: 0;
	font-weight: 700
}

.form-card {
	border: 1px solid var(--line);
	padding: 2.5rem
}

.form-card label {
	font-size: .78rem;
	font-weight: 700;
	margin-bottom: .35rem
}

.form-control,
.form-select {
	border-radius: 2px;
	padding: .85rem;
	border-color: #ccd7e1
}

.contact-sidebar {
	background: #071f37;
	color: #fff;
	padding: 2.5rem
}

.contact-sidebar>a {
	display: flex;
	gap: 1rem;
	color: #fff;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .14)
}

.contact-sidebar>a>i {
	color: #69b9f2;
	font-size: 1.4rem
}

.contact-sidebar small {
	display: block;
	color: #9fb5c8
}

.contact-sidebar h3 {
	font-size: .9rem;
	margin-top: 1.4rem
}

.contact-sidebar p {
	font-size: .85rem;
	color: #becfdd
}

.contact-sidebar iframe {
	width: 100%;
	height: 220px;
	border: 0;
	margin-top: 1rem
}

.cta-band {
	padding: 60px 0;
	background: var(--red)
}

.cta-band h2 {
	font-size: 2rem;
	font-weight: 700
}

footer {
	background: #061a2d;
	color: #b7c7d5;
	padding: 70px 0 25px
}

footer h3 {
	font-size: .78rem;
	letter-spacing: .12em;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 1.2rem
}

footer a {
	display: block;
	color: #b7c7d5;
	margin: .45rem 0;
	font-size: .88rem
}

footer p {
	font-size: .86rem
}

footer hr {
	border-color: #445564;
	margin-top: 3rem
}

.wa-float {
	position: fixed;
	left: 22px;
	bottom: 22px;
	width: 54px;
	height: 54px;
	background: #20ad5c;
	color: #fff;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 1.5rem;
	z-index: 20;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .25)
}

.scroll-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 20;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 50%;
	background: linear-gradient(145deg, var(--brand-ink), #16394d);
	color: #fff;
	font-size: 1.1rem;
	box-shadow: 0 9px 22px rgba(5, 24, 36, .28), inset 0 1px 0 rgba(255, 255, 255, .14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background-color .25s ease;
}

.scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.scroll-top:hover,
.scroll-top:focus-visible {
	background: var(--brand-red);
	color: #fff;
	transform: translateY(-2px);
}

.reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: .65s
}

.reveal.visible {
	opacity: 1;
	transform: none
}

@media(max-width:991px) {
	.projects-hero {
		padding: 150px 0 !important;
	}

	.section {
		padding: 75px 0
	}

	.navbar-nav {
		padding: 1rem 0
	}

	.hero {
		min-height: 720px
	}

	.hero h1 {
		font-size: 3.6rem
	}

	.image-stack img,
	.rounded-media,
	.media-grid img {
		height: 430px
	}

	.experience-card {
		left: 15px
	}

	.quality-badge {
		right: 15px
	}

	.process-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.client-grid {
		grid-template-columns: repeat(3, 1fr)
	}

	.section-head {
		align-items: start;
		flex-direction: column
	}

	.project-card.featured {
		height: 480px
	}
}

@media(max-width:575px) {
	.topbar {
		display: none
	}

	.hero {
		min-height: 680px
	}

	.min-vh-75 {
		min-height: 580px
	}

	.hero h1,
	.page-hero h1 {
		font-size: 2.65rem
	}

	.hero .lead {
		font-size: 1rem
	}

	.hero-stats .col-4 {
		padding: 1rem .5rem
	}

	.hero-stats strong {
		font-size: 1.15rem
	}

	.hero-stats span {
		font-size: .57rem
	}

	.section {
		padding: 60px 0
	}

	.section h2 {
		font-size: 2.1rem
	}

	.page-hero {
		padding: 80px 0 65px
	}

	.client-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.process-grid {
		grid-template-columns: 1fr
	}

	.timeline-item {
		grid-template-columns: 80px 1fr
	}

	.form-card,
	.contact-sidebar,
	.inquiry-panel {
		padding: 1.4rem
	}

	.project-frame {
		height: 400px
	}

	.image-stack img,
	.rounded-media,
	.media-grid img {
		height: 360px
	}

	.quality-badge {
		position: static
	}

	.map-shape {
		width: 270px
	}

	.pin.lahore {
		right: 5%
	}

	.pin.karachi {
		left: 5%
	}
}

@media(prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto
	}

	.reveal {
		opacity: 1;
		transform: none;
		transition: none
	}
}

.legal-hero {
	padding: 160px 0 50px 0 !important;
}

/* 2026 editorial redesign */
.hero-v2 {
	min-height: 860px
}

.hero-v2 .hero-bg {
	background: linear-gradient(90deg, rgba(2, 23, 43, .96), rgba(2, 23, 43, .7) 55%, rgba(2, 23, 43, .18)), url('https://images.unsplash.com/photo-1548550023-2bdb3c5beed7?auto=format&fit=crop&w=2200&q=88') center/cover
}

.hero-lines {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 24.9%, rgba(255, 255, 255, .06) 25%, transparent 25.1%, transparent 74.9%, rgba(255, 255, 255, .06) 75%, transparent 75.1%)
}

.hero-kicker {
	display: flex;
	gap: 2rem;
	font-size: .68rem;
	letter-spacing: .2em;
	font-weight: 800;
	color: #9fc4e2;
	margin-bottom: 1.5rem
}

.hero-v2 h1 {
	font-size: clamp(3.4rem, 6.4vw, 6.8rem);
	max-width: 1050px
}

.play-link {
	display: flex;
	align-items: center;
	gap: .8rem;
	color: #fff;
	font-size: .84rem;
	font-weight: 700
}

.play-link span {
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
	display: grid;
	place-items: center
}

.scroll-cue {
	position: absolute;
	right: 2rem;
	bottom: 3rem;
	z-index: 2;
	writing-mode: vertical-rl;
	font-size: .6rem;
	letter-spacing: .2em;
	color: #b7c9d7
}

.proof-strip {
	background: #fff;
	border-bottom: 1px solid var(--line)
}

.proof-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.proof-grid>div {
	padding: 2rem;
	border-left: 1px solid var(--line)
}

.proof-grid strong {
	font-size: 2.3rem;
	color: var(--blue)
}

.proof-grid b {
	font-size: 1.5rem;
	color: var(--red)
}

.proof-grid span {
	display: block;
	font-size: .69rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted)
}

.statement-small {
	font-size: 1.35rem;
	font-weight: 600;
	max-width: 290px
}

.intro-editorial h2 {
	font-size: clamp(2.5rem, 5vw, 5rem);
	max-width: 900px
}

.circle-link {
	width: 130px;
	height: 130px;
	border: 1px solid #98b9d4;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: var(--blue);
	font-weight: 700;
	transition: .3s
}

.circle-link:hover {
	background: var(--blue);
	color: #fff;
	transform: rotate(-8deg)
}

.solution-explorer {
	background: #061e35;
	color: #fff;
	padding-top: 100px
}

.solution-heading {
	padding: 0 max(5vw, 30px);
}

.solution-heading h2 {
	font-size: clamp(2.4rem, 5vw, 4.5rem)
}

.solution-tabs {
	display: flex;
	padding: 2rem max(5vw, 30px) 0;
	gap: 0
}

.solution-tabs button {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #3c5266;
	color: #91a8bb;
	padding: 1rem 3rem 1rem 0;
	margin-right: 3rem;
	font-weight: 700
}

.solution-tabs button.active {
	color: #fff;
	border-color: var(--red)
}

.solution-stage {
	height: 660px;
	margin-top: 2rem;
	position: relative;
	overflow: hidden;
	transition: .3s
}

.solution-stage.switching {
	opacity: .25
}

.solution-stage>img {
	width: 100%;
	height: 100%
}

.solution-stage:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(3, 22, 40, .86), transparent 65%)
}

.solution-copy {
	position: absolute;
	z-index: 2;
	left: max(5vw, 30px);
	bottom: 80px;
	max-width: 800px
}

.solution-copy>span {
	font-size: .7rem;
	letter-spacing: .2em;
	color: #89b5d8
}

.solution-copy h3 {
	font-size: clamp(2.2rem, 4vw, 4rem);
	line-height: 1.1;
	margin: 1rem 0
}

.solution-copy p {
	color: #c8d6e1
}

.solution-copy a {
	color: #fff;
	font-weight: 800;
	border-bottom: 1px solid #fff;
	padding-bottom: .4rem
}

.ecosystem-track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid #cddae5;
	border-left: 1px solid #cddae5
}

.ecosystem-track>a {
	min-height: 330px;
	padding: 2rem;
	color: var(--ink);
	border-right: 1px solid #cddae5;
	border-bottom: 1px solid #cddae5;
	position: relative;
	transition: .3s
}

.ecosystem-track>a:hover {
	background: var(--blue);
	color: #fff;
	transform: translateY(-4px)
}

.ecosystem-track>a>span {
	font-size: .7rem;
	color: var(--red)
}

.ecosystem-track>a>.bi {
	font-size: 2rem;
	display: block;
	margin: 2rem 0;
	color: var(--blue2)
}

.ecosystem-track>a:hover>.bi,
.ecosystem-track>a:hover p {
	color: #bcd4e7
}

.ecosystem-track p {
	font-size: .82rem;
	color: var(--muted)
}

.ecosystem-track b {
	position: absolute;
	bottom: 1.5rem;
	font-size: .75rem
}

.manifesto-section {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	min-height: 760px;
	background: #072c51;
	color: #fff
}

.manifesto-media img {
	width: 100%;
	height: 100%
}

.manifesto-copy {
	padding: 100px 8vw 80px 6vw
}

.manifesto-copy h2 {
	font-size: clamp(2.5rem, 4vw, 4.7rem);
	line-height: 1.08
}

.manifesto-copy p {
	color: #c0d0df
}

.manifesto-copy ul {
	list-style: none;
	padding: 1.5rem 0
}

.manifesto-copy li {
	border-top: 1px solid rgba(255, 255, 255, .15);
	padding: 1rem 0;
	font-weight: 700
}

.manifesto-copy li span {
	color: #6eaedb;
	margin-right: 1.5rem
}

.case-grid {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	grid-template-rows: repeat(2, 300px);
	gap: 1.5rem
}

.case-tile {
	position: relative;
	overflow: hidden;
	color: #fff
}

.case-tile.case-large {
	grid-row: 1/3
}

.case-tile img {
	width: 100%;
	height: 100%;
	transition: .6s
}

.case-tile:hover img {
	transform: scale(1.04)
}

.case-tile:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(3, 21, 38, .92), transparent 65%)
}

.case-tile>div {
	position: absolute;
	z-index: 2;
	bottom: 1.8rem;
	left: 1.8rem;
	right: 1.8rem
}

.case-tile span {
	font-size: .65rem;
	letter-spacing: .15em;
	color: #99c7ea
}

.case-tile h3 {
	font-size: 1.7rem
}

.case-tile p {
	font-size: .82rem;
	color: #d5e1eb;
	max-width: 520px
}

.case-tile b {
	font-size: .74rem
}

.impact-section {
	background: #071f37;
	color: #fff;
	padding: 120px 0;
	overflow: hidden
}

.impact-orbit {
	height: 680px;
	max-width: 1050px;
	margin: auto;
	position: relative;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 50%
}

.orbit-center {
	position: absolute;
	inset: 30% 24%;
	text-align: center
}

.orbit-center>span {
	font-size: .65rem;
	letter-spacing: .2em;
	color: #7cb9e4
}

.orbit-center h2 {
	font-size: 3.2rem
}

.orbit-center p {
	color: #a9bfd0
}

.orbit-card {
	position: absolute;
	width: 250px;
	background: #fff;
	color: var(--ink);
	padding: 1.5rem
}

.orbit-card i {
	font-size: 1.6rem;
	color: var(--red)
}

.orbit-card p {
	font-size: .8rem;
	color: var(--muted)
}

.o1 {
	top: 5%;
	left: 4%
}

.o2 {
	right: 0;
	top: 27%
}

.o3 {
	left: 12%;
	bottom: 0
}

.client-grid.modern {
	grid-template-columns: repeat(3, 1fr)
}

.knowledge-home .article-grid,
.article-grid.expanded {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem
}

.article-grid article a {
	color: var(--ink)
}

.article-image {
	height: 260px;
	position: relative;
	overflow: hidden;
	margin-bottom: 1.2rem
}

.article-image img {
	width: 100%;
	height: 100%;
	transition: .4s
}

.article-grid article:hover img {
	transform: scale(1.04)
}

.article-image span {
	position: absolute;
	left: 0;
	bottom: 0;
	background: #fff;
	padding: .55rem .8rem;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .1em
}

.article-grid small {
	font-size: .68rem;
	color: var(--muted)
}

.article-grid h3 {
	font-size: 1.4rem;
	margin: .8rem 0
}

.article-grid p {
	font-size: .84rem;
	color: var(--muted)
}

.article-grid b {
	font-size: .75rem;
	color: var(--blue2)
}

.conversion-panel {
	background: var(--red);
	color: #fff;
	padding: 90px 0
}

.conversion-panel>.container {
	display: grid;
	grid-template-columns: 1.3fr .7fr;
	gap: 5rem
}

.conversion-panel h2 {
	font-size: clamp(2.5rem, 5vw, 5rem);
	line-height: 1.05
}

.conversion-panel p {
	color: #ffe2e2
}

.conversion-phone {
	display: block;
	color: #fff;
	font-weight: 700;
	margin-top: 1.2rem
}

.mega-menu {
	width: 720px;
	padding: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	border: 0;
	box-shadow: 0 20px 50px rgba(5, 31, 55, .18)
}

.dropdown:hover>.mega-menu {
	display: grid
}

.mega-menu small {
	font-size: .6rem;
	color: var(--red);
	font-weight: 800;
	letter-spacing: .15em
}

.mega-menu a {
	display: block;
	color: var(--ink);
	font-size: .78rem;
	padding: .45rem 0
}

.footer-social {
	display: flex;
	gap: .5rem
}

.footer-social a {
	width: 36px;
	height: 36px;
	border: 1px solid #34495c;
	display: grid;
	place-items: center
}

.footer-bottom {
	display: flex;
	justify-content: space-between
}

.footer-bottom>div {
	display: flex;
	gap: 1rem
}

.footer-bottom a {
	display: inline;
	font-size: .72rem
}

.project-index-hero {
	background: #f1f6fa;
	padding: 130px 0 90px
}

.project-index-hero h1,
.knowledge-hero h1 {
	font-size: clamp(3rem, 6vw, 6rem);
	line-height: 1;
	letter-spacing: -.055em
}

.project-index-hero p {
	color: var(--muted)
}

.project-showcase {
	padding: 100px 0
}

.project-row {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	min-height: 510px;
	margin-bottom: 5rem
}

.project-row:nth-child(even) {
	grid-template-columns: .8fr 1.2fr
}

.project-row:nth-child(even) .project-row-image {
	order: 2
}

.project-row-image {
	position: relative;
	overflow: hidden
}

.project-row-image img {
	width: 100%;
	height: 100%;
	transition: .5s
}

.project-row-image:hover img {
	transform: scale(1.03)
}

.project-row-image>span {
	position: absolute;
	left: 1.5rem;
	top: 1.5rem;
	background: #fff;
	color: var(--ink);
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	font-size: .7rem
}

.project-row-copy {
	padding: 4rem;
	position: relative;
	border: 1px solid var(--line)
}

.project-meta {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	font-size: .6rem;
	letter-spacing: .12em;
	color: var(--blue2);
	text-transform: uppercase
}

.project-row-copy h2 {
	font-size: 2.6rem;
	line-height: 1.08;
	margin: 1.4rem 0
}

.project-row-copy h2 a {
	color: var(--ink)
}

.project-row-copy p {
	color: var(--muted)
}

.project-capacity {
	position: absolute;
	left: 4rem;
	bottom: 3rem
}

.project-capacity small,
.project-capacity strong {
	display: block
}

.circle-arrow {
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--red);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 1.3rem
}

.project-process {
	padding: 100px 0;
	background: #071f37;
	color: #fff
}

.project-process h2 {
	font-size: 3.5rem
}

.process-line {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 4rem;
	border-top: 1px solid #40566a
}

.process-line>div {
	padding: 2rem 1.2rem;
	border-right: 1px solid #40566a
}

.process-line b {
	color: #66afe3
}

.process-line p {
	font-size: .75rem;
	color: #a7bccd
}

.case-hero {
	height: 760px;
	position: relative;
	color: #fff
}

.case-hero>img {
	width: 100%;
	height: 100%
}

.case-hero:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(2, 19, 34, .94), rgba(2, 19, 34, .08))
}

.case-overlay {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 70px
}

.case-overlay>a {
	color: #fff;
	font-size: .75rem
}

.case-overlay h1 {
	font-size: clamp(3rem, 6vw, 6rem);
	max-width: 1000px;
	line-height: 1
}

.case-overlay p {
	max-width: 700px
}

.case-facts {
	background: #071f37;
	color: #fff
}

.case-facts>.container {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.case-facts .container>div {
	padding: 2rem;
	border-right: 1px solid #40566a
}

.case-facts small,
.case-facts strong {
	display: block
}

.case-facts small {
	font-size: .6rem;
	color: #89a9c1
}

.story-block {
	display: grid;
	grid-template-columns: 70px 1fr;
	padding: 2.5rem 0;
	border-top: 1px solid var(--line)
}

.story-block>span {
	font-size: 1.4rem;
	color: var(--red);
	font-weight: 800
}

.story-block h2 {
	font-size: 2.4rem
}

.story-block p {
	font-size: 1.05rem;
	color: var(--muted)
}

.case-image-break {
	height: 650px;
	position: relative;
	color: #fff
}

.case-image-break img {
	width: 100%;
	height: 100%
}

.case-image-break:after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(3, 24, 42, .55)
}

.case-image-break>div {
	position: absolute;
	z-index: 2;
	left: 8%;
	bottom: 15%;
	max-width: 700px
}

.case-image-break h2 {
	font-size: 3.5rem
}

.next-case a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--ink);
	border-top: 1px solid var(--line);
	margin-top: 1rem
}

.next-case h2 {
	margin: 1.5rem 0
}

.next-case i {
	font-size: 2rem
}

.knowledge-hero {
	background: #071f37;
	color: #fff;
	padding: 130px 0
}

.knowledge-hero p {
	max-width: 650px;
	color: #bad0df;
	font-size: 1.1rem
}

.featured-insight {
	padding: 100px 0 30px
}

.featured-insight a {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	color: var(--ink)
}

.featured-insight img {
	width: 100%;
	height: 520px
}

.featured-insight a>div {
	background: var(--soft);
	padding: 4rem
}

.featured-insight span {
	font-size: .65rem;
	color: var(--red);
	font-weight: 800;
	letter-spacing: .15em
}

.featured-insight h2 {
	font-size: 2.6rem;
	margin: 1.2rem 0
}

.featured-insight p {
	color: var(--muted)
}

.filter-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 3rem
}

.filter-row button {
	border: 0;
	background: transparent;
	padding: .6rem;
	color: var(--muted)
}

.filter-row button.active {
	color: var(--red);
	border-bottom: 1px solid var(--red)
}

.article-grid.expanded {
	grid-template-columns: repeat(2, 1fr)
}

.article-grid.expanded .article-image {
	height: 390px
}

.editorial header {
	padding: 110px 0 70px;
	background: #f1f6fa
}

.editorial header>a {
	font-size: .75rem;
	color: var(--blue)
}

.editorial header h1 {
	font-size: clamp(3rem, 6vw, 6rem);
	line-height: 1;
	max-width: 1100px;
	letter-spacing: -.05em
}

.editorial header p {
	max-width: 760px;
	font-size: 1.2rem;
	color: var(--muted)
}

.editorial-image {
	height: 650px
}

.editorial-image img {
	width: 100%;
	height: 100%
}

.editorial-body {
	padding: 100px 0
}

.editorial-body>.container {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 6rem;
	max-width: 1050px
}

.editorial-body aside {
	position: sticky;
	top: 120px;
	align-self: start
}

.editorial-body aside span,
.editorial-body aside a {
	display: block;
	font-size: .72rem;
	padding: .5rem 0
}

.editorial-body aside span {
	font-weight: 800;
	color: var(--red)
}

.editorial-body aside a {
	color: var(--muted)
}

.editorial-body h2 {
	font-size: 2.3rem;
	margin-top: 3rem
}

.editorial-body p,
.editorial-body li {
	color: #455564
}

.editorial-body blockquote {
	font-size: 1.8rem;
	color: var(--blue);
	border-left: 4px solid var(--red);
	padding-left: 2rem;
	margin: 3rem 0
}

.article-cta {
	background: var(--soft);
	padding: 2rem;
	margin-top: 3rem
}

.legal-hero {
	background: #071f37;
	color: #fff;
	padding: 100px 0
}

.legal-hero h1 {
	font-size: 4.5rem
}

.legal-body {
	padding: 90px 0
}

.legal-body>.container {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 6rem;
	max-width: 1050px
}

.legal-body aside {
	position: sticky;
	top: 120px;
	align-self: start
}

.legal-body aside a {
	display: block;
	color: var(--muted);
	padding: .55rem 0
}

.legal-body h2 {
	margin-top: 2.5rem;
	color: var(--blue)
}

@media(max-width:991px) {
	.mega-menu {
		width: auto
	}

	.dropdown:hover>.mega-menu {
		display: none
	}

	.dropdown-menu.show {
		display: block
	}

	.proof-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.ecosystem-track {
		grid-template-columns: repeat(2, 1fr)
	}

	.manifesto-section {
		grid-template-columns: 1fr
	}

	.manifesto-media {
		height: 500px
	}

	.case-grid {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(3, 420px)
	}

	.case-tile.case-large {
		grid-row: auto
	}

	.impact-orbit {
		height: auto;
		border-radius: 0;
		border: 0;
		display: grid;
		gap: 1rem
	}

	.orbit-center,
	.orbit-card {
		position: static;
		width: auto
	}

	.orbit-center {
		padding: 2rem
	}

	.conversion-panel>.container {
		grid-template-columns: 1fr
	}

	.project-row,
	.project-row:nth-child(even) {
		grid-template-columns: 1fr
	}

	.project-row:nth-child(even) .project-row-image {
		order: 0
	}

	.project-row-image {
		height: 430px
	}

	.process-line {
		grid-template-columns: repeat(2, 1fr)
	}

	.featured-insight a {
		grid-template-columns: 1fr
	}

	.featured-insight a>div {
		padding: 2rem
	}

	.case-facts>.container {
		grid-template-columns: repeat(2, 1fr)
	}

	.editorial-body>.container,
	.legal-body>.container {
		grid-template-columns: 1fr
	}

	.editorial-body aside,
	.legal-body aside {
		display: none
	}
}

@media(max-width:575px) {
	.section.product-intro .col-lg-7 {
		margin: 0 !important;
	}

	.hero-v2 {
		min-height: 720px
	}

	.hero-v2 h1 {
		font-size: 3rem
	}

	.proof-grid {
		grid-template-columns: 1fr 1fr
	}

	.proof-grid>div {
		padding: 1.2rem
	}

	.solution-tabs {
		overflow: auto
	}

	.solution-tabs button {
		white-space: nowrap
	}

	.solution-stage {
		height: 580px
	}

	.ecosystem-track {
		grid-template-columns: 1fr
	}

	.manifesto-media {
		height: 350px
	}

	.manifesto-copy {
		padding: 60px 25px
	}

	.case-grid {
		grid-template-rows: repeat(3, 380px)
	}

	.client-grid.modern,
	.knowledge-home .article-grid,
	.article-grid.expanded {
		grid-template-columns: 1fr
	}

	.project-row-copy {
		padding: 2rem 1.4rem 7rem
	}

	.project-row-copy h2 {
		font-size: 2rem
	}

	.project-capacity {
		left: 1.4rem
	}

	.process-line {
		grid-template-columns: 1fr
	}

	.case-hero {
		height: 650px
	}

	.case-facts>.container {
		grid-template-columns: 1fr 1fr
	}

	.case-facts .container>div {
		padding: 1rem
	}

	.case-image-break h2 {
		font-size: 2.3rem
	}

	.featured-insight img {
		height: 320px
	}

	.article-grid.expanded .article-image {
		height: 280px
	}

	.legal-hero h1 {
		font-size: 3rem
	}

	.footer-bottom {
		display: block
	}
}

.individual-product-hero {
	height: 790px;
	position: relative;
	color: #fff
}

.individual-product-media,
.individual-product-media img {
	width: 100%;
	height: 100%
}

.individual-product-hero:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(2, 21, 39, .94), rgba(2, 21, 39, .62) 55%, rgba(2, 21, 39, .15))
}

.individual-product-overlay {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: flex;
	align-items: center
}

.individual-product-overlay h1 {
	font-size: clamp(3rem, 6vw, 6.2rem);
	line-height: 1;
	letter-spacing: -.055em;
	max-width: 1050px
}

.individual-product-overlay p {
	font-size: 1.15rem;
	max-width: 700px;
	color: #d0dfea
}

.breadcrumbs {
	display: flex;
	gap: .6rem;
	align-items: center;
	font-size: .68rem;
	margin-bottom: 4rem;
	color: #b6c9d8
}

.breadcrumbs a {
	color: #fff
}

.product-proof {
	background: #071f37;
	color: #fff
}

.product-proof>.container {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.product-proof .container>div {
	padding: 1.7rem 2rem;
	border-right: 1px solid #3a5064
}

.product-proof small,
.product-proof strong {
	display: block
}

.product-proof small {
	font-size: .58rem;
	letter-spacing: .15em;
	color: #7fa7c5
}

.product-intro .lead {
	font-size: 1.15rem;
	color: #42566a
}

.product-benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 3rem
}

.product-benefit-grid>div {
	padding: 1.7rem;
	border-top: 1px solid var(--line)
}

.product-benefit-grid span {
	font-size: .65rem;
	color: var(--red);
	font-weight: 800
}

.product-benefit-grid p {
	font-size: .82rem;
	color: var(--muted)
}

.product-components {
	padding: 60px 0;
	background: #f0f5f9
}

.components-heading {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: end;
	margin-bottom: 3rem
}

.components-heading h2 {
	font-size: 3.5rem
}

.components-heading p {
	color: var(--muted)
}

.component-panels {
	display: grid;
	grid-template-columns: repeat(3, 1fr)
}

.component-panels>div {
	min-height: 270px;
	background: #fff;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	padding: 2rem;
	position: relative;
	transition: .3s
}

.component-panels>div:hover {
	background: var(--blue);
	color: #fff;
	transform: translateY(-5px)
}

.component-panels span {
	color: var(--red);
	font-size: .65rem
}

.component-panels p {
	font-size: .82rem;
	color: var(--muted)
}

.component-panels>div:hover p {
	color: #c3d6e5
}

.component-panels>div>i {
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem
}

.application-section img {
	height: 600px;
	width: 100%
}

.application-section ul {
	list-style: none;
	padding: 1rem 0
}

.application-section li {
	padding: .7rem 0;
	border-bottom: 1px solid var(--line)
}

.application-section li i {
	color: var(--red);
	margin-right: .7rem
}

.product-engineering {
	padding: 100px 0;
	background: #071f37;
	color: #fff
}

/* .product-engineering>.container>div:first-child {
	max-width: 700px
} */

.product-engineering h2 {
	font-size: 3.7rem
}

.engineering-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 4rem;
	border-top: 1px solid #3a5267
}

.engineering-steps>div {
	padding: 2rem;
	border-right: 1px solid #3a5267
}

.engineering-steps b {
	color: #70b4e6
}

.engineering-steps p {
	font-size: .76rem;
	color: #9eb5c7
}

.product-faq .accordion-button {
	font-size: 1.05rem;
	font-weight: 700;
	padding: 1.4rem 0
}

.product-faq .accordion-button:not(.collapsed) {
	background: none;
	color: var(--blue);
	box-shadow: none
}

.product-faq .accordion-body {
	padding-left: 0;
	color: var(--muted)
}

.related-solutions {
	padding: 90px 0;
	background: #eef4f8
}

.related-solutions>div>span {
	font-size: .65rem;
	letter-spacing: .16em;
	color: var(--red);
	font-weight: 800
}

.related-solutions h2 {
	font-size: 2.5rem
}

.related-solutions>div>div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2rem;
	gap: 10px;
}

.related-solutions a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--ink);
	border-top: 1px solid #bdcedb;
	padding: 1.3rem
}

.related-solutions a:hover {
	color: var(--red)
}

@media(max-width:991px) {
	.individual-product-hero {
		height: 700px
	}

	.product-proof>.container {
		grid-template-columns: repeat(2, 1fr)
	}

	.components-heading {
		grid-template-columns: 1fr
	}

	.component-panels {
		grid-template-columns: repeat(2, 1fr)
	}

	.engineering-steps {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(max-width:575px) {
	.individual-product-hero {
		height: 680px
	}

	.breadcrumbs {
		margin-bottom: 2rem
	}

	.product-proof .container>div {
		padding: 1rem
	}

	.product-benefit-grid,
	.component-panels,
	.engineering-steps,
	.related-solutions>div>div {
		grid-template-columns: 1fr
	}

	.components-heading h2,
	.product-engineering h2 {
		font-size: 2.5rem
	}

	.application-section img {
		height: 380px
	}
}

/* Cinematic product discovery */
.product-cinema {
	/* position:relative; */
	background: #041a2e;
	color: #fff;
	padding: 0 0 110px;
	/* overflow:hidden; */
}

/* .product-cinema:before{
    content:'';
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 80% 20%,rgba(10,101,173,.22),transparent 30%),radial-gradient(circle at 10% 75%,rgba(227,35,43,.14),transparent 28%);
    pointer-events:none
} */
.product-marquee {
	height: 54px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	overflow: hidden;
	display: flex;
	align-items: center
}

.product-marquee>div {
	display: flex;
	align-items: center;
	gap: 2rem;
	white-space: nowrap;
	animation: cinemaMarquee 24s linear infinite
}

.product-marquee span {
	font-size: .62rem;
	letter-spacing: .25em;
	font-weight: 800;
	color: #92b7d2
}

.product-marquee i {
	display: block;
	width: 7px;
	height: 7px;
	background: var(--red);
	border-radius: 50%;
	box-shadow: 0 0 14px var(--red)
}

@keyframes cinemaMarquee {
	to {
		transform: translateX(-50%)
	}
}

.cinema-heading {
	padding: 100px 0 60px;
	display: grid;
	grid-template-columns: 1.3fr .7fr;
	gap: 5rem;
	align-items: end
}

.cinema-heading h2 {
	font-size: clamp(3rem, 5vw, 5.8rem);
	line-height: .98;
	letter-spacing: -.06em
}

.cinema-heading h2 em {
	font-family: 'Manrope', Arial, sans-serif;
	color: #7ec1ef;
	font-weight: 600
}

.cinema-heading>div:last-child p {
	color: #a9bfd0;
	margin-bottom: 0;
}

.animated-link {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	color: #fff;
	font-weight: 700;
	font-size: .82rem
}

.animated-link>span,
.cinema-copy b>span {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--red);
	display: grid;
	place-items: center;
	transition: .4s;
	box-shadow: 0 0 0 0 rgba(227, 35, 43, .4);
	animation: linkPulse 2.4s infinite
}

.animated-link:hover>span {
	transform: rotate(45deg) scale(1.08)
}

@keyframes linkPulse {
	50% {
		box-shadow: 0 0 0 9px rgba(227, 35, 43, 0)
	}
}

.cinema-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: 390px;
	gap: 18px;
	perspective: 1200px
}

.cinema-card {
	grid-column: span 4;
	position: relative;
	overflow: hidden;
	color: #fff;
	isolation: isolate;
	transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
	transform-style: preserve-3d;
	transition: transform .18s ease, box-shadow .4s
}

.cinema-card:nth-child(1),
.cinema-card:nth-child(5) {
	grid-column: span 7
}

.cinema-card:nth-child(2),
.cinema-card:nth-child(6) {
	grid-column: span 5
}

.cinema-card:nth-child(3),
.cinema-card:nth-child(4) {
	grid-column: span 6
}

.cinema-card:hover {
	z-index: 3;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .45)
}

.cinema-card>img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: transform .8s cubic-bezier(.2, .7, .2, 1), filter .5s
}

.cinema-card:hover>img {
	transform: scale(1.08);
	filter: saturate(1.12)
}

.cinema-shade {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(180deg, rgba(2, 15, 28, .1) 5%, rgba(2, 15, 28, .38) 45%, rgba(2, 15, 28, .96) 100%)
}

.cinema-number {
	position: absolute;
	z-index: 2;
	right: 22px;
	top: 18px;
	font-size: .65rem;
	letter-spacing: .15em;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	backdrop-filter: blur(8px)
}

.cinema-copy {
	position: absolute;
	z-index: 2;
	left: 28px;
	right: 28px;
	bottom: 26px;
	transform: translateZ(35px)
}

.cinema-copy>.bi {
	font-size: 1.5rem;
	color: #8ed0ff
}

.cinema-copy h3 {
	font-size: clamp(1.5rem, 2vw, 2.2rem);
	margin: .55rem 0;
	letter-spacing: -.03em
}

.cinema-copy p {
	font-size: .8rem;
	line-height: 1.55;
	color: #c9d8e4;
	max-width: 530px;
	margin: 0;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: .45s
}

.cinema-card:hover .cinema-copy p {
	max-height: 80px;
	opacity: 1;
	margin-bottom: 1rem
}

.cinema-copy b {
	display: flex;
	align-items: center;
	gap: .7rem;
	font-size: .72rem
}

.cinema-copy b>span {
	width: 34px;
	height: 34px;
	animation: none
}

.cinema-card:hover .cinema-copy b>span {
	transform: rotate(45deg)
}

.cinema-glow {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(112, 196, 255, .22), transparent 25%);
	opacity: 0;
	transition: .3s
}

.cinema-card:hover .cinema-glow {
	opacity: 1
}

.cinema-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 45px
}

.cinema-bottom>span {
	font-size: .58rem;
	letter-spacing: .2em;
	color: #7395af
}

/* .chicken-cursor{
    position:absolute;
    z-index:20;
    left:0;
    top:0;
    width:82px;
    height:82px;
    pointer-events:none;
    opacity:0;
    filter:drop-shadow(0 10px 12px rgba(0,0,0,.35));
    transition:opacity .2s;
    will-change:transform;
}
.chicken-cursor.active{
    opacity:1;
}
.chicken-cursor img{
    width:100%;height:100%;object-fit:contain
} */
/* .product-cinema a,.product-cinema button{cursor:none} */
/* Premium animated button language site-wide */
.btn {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: transform .25s, box-shadow .25s, border-color .25s
}

.btn:before {
	content: '';
	position: absolute;
	z-index: -1;
	top: -40%;
	left: -35%;
	width: 28%;
	height: 180%;
	background: rgba(255, 255, 255, .34);
	transform: skewX(-22deg);
	animation: buttonSweep 4.8s ease-in-out infinite
}

.btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 28px rgba(4, 35, 65, .2)
}

.btn:hover i {
	transform: translateX(4px) rotate(-8deg)
}

.btn i {
	display: inline-block;
	transition: .3s
}

@keyframes buttonSweep {

	0%,
	65% {
		left: -40%
	}

	85%,
	100% {
		left: 135%
	}
}

@media(max-width:991px) {
	.product-cinema {
		cursor: auto
	}

	.product-cinema a {
		cursor: pointer
	}

	.chicken-cursor {
		display: none
	}

	.cinema-card,
	.cinema-card:nth-child(n) {
		grid-column: span 6
	}

	.cinema-grid {
		grid-auto-rows: 360px
	}
}

@media(max-width:575px) {
	.case-home .section-head h2 {
		margin-bottom: 10px;
	}

	.cinema-heading {
		padding: 70px 0 40px
	}

	.cinema-heading h2 {
		font-size: 2.8rem
	}

	.cinema-card,
	.cinema-card:nth-child(n) {
		grid-column: 1/-1
	}

	.cinema-grid {
		grid-auto-rows: 380px
	}

	.cinema-copy p {
		max-height: 90px;
		opacity: 1;
		margin-bottom: 1rem
	}

	.cinema-bottom>span {
		display: none
	}

	.cinema-bottom {
		justify-content: center
	}

	.product-marquee>div {
		animation-duration: 16s
	}
}

@media(prefers-reduced-motion:reduce) {

	.product-marquee>div,
	.animated-link>span,
	.btn:before {
		animation: none
	}

	.cinema-card {
		transform: none !important
	}
}

/* Responsive image-led mega navigation */
.navbar>.container,
.navbar-collapse,
.navbar-nav,
.mega-holder {
	position: static
}

.mega-menu {
	display: none;
	width: min(1180px, calc(100vw - 32px));
	max-width: none;
	left: 50% !important;
	right: auto !important;
	top: calc(100% - 1px) !important;
	transform: translateX(-50%);
	padding: 0;
	border: 0;
	border-radius: 0 0 14px 14px;
	background: #fff;
	box-shadow: 0 28px 70px rgba(3, 25, 46, .22);
	overflow: hidden
}

.mega-holder:hover>.mega-menu,
.mega-menu.show {
	display: block;
	animation: megaReveal .28s cubic-bezier(.2, .7, .25, 1)
}

@keyframes megaReveal {
	from {
		opacity: 0;
		transform: translate(-50%, -10px) scale(.985)
	}

	to {
		opacity: 1;
		transform: translate(-50%, 0) scale(1)
	}
}

.mega-shell {
	display: grid;
	grid-template-columns: 285px 1fr;
	background: #fff
}

.mega-feature {
	position: relative;
	min-height: 330px;
	background: #071f37;
	overflow: hidden
}

.mega-feature>a {
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	padding: 28px !important;
	color: #fff !important;
	position: relative;
	z-index: 1
}

.mega-feature img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .68;
	transition: .7s
}

.mega-feature:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(3, 22, 39, .06), rgba(3, 22, 39, .96))
}

.mega-feature:hover img {
	transform: scale(1.07);
	opacity: .8
}

.mega-feature span {
	font-size: .58rem;
	letter-spacing: .2em;
	color: #8dd0ff;
	font-weight: 800
}

.mega-feature h3 {
	font-size: 1.65rem;
	margin: .65rem 0
}

.mega-feature p {
	font-size: .75rem;
	color: #d2e0ea;
	margin-bottom: 1rem
}

.mega-feature b {
	font-size: .7rem
}

.mega-groups {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	padding: 34px 24px 18px
}

.mega-group {
	padding: 0 20px;
	border-right: 1px solid #e2e9ef
}

.mega-group:last-child {
	border: 0
}

.mega-title {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding-bottom: 1.1rem;
	margin-bottom: .45rem;
	border-bottom: 1px solid #e2e9ef
}

.mega-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: #eaf4fb;
	color: var(--blue2);
	display: grid;
	place-items: center;
	font-size: 1.05rem
}

.mega-title small,
.mega-title strong {
	display: block
}

.mega-title small {
	font-size: .52rem;
	letter-spacing: .16em;
	color: var(--red);
	font-weight: 800
}

.mega-title strong {
	font-size: .78rem
}

.mega-group>a {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	color: #263746 !important;
	font-size: .76rem !important;
	padding: .65rem .25rem !important;
	border-bottom: 1px solid #edf1f4;
	transition: .25s
}

.mega-group>a i {
	font-size: .68rem;
	color: #9cb0bf;
	transition: .25s
}

.mega-group>a:hover {
	color: var(--red) !important;
	padding-left: .6rem !important
}

.mega-group>a:hover i {
	color: var(--red);
	transform: translateX(3px)
}

.mega-footer {
	grid-column: 2;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 0 44px 22px;
	padding: 14px 16px;
	background: #f2f7fa
}

.mega-footer>div {
	display: flex;
	align-items: center;
	gap: .7rem;
	margin-right: auto
}

.mega-footer p {
	font-size: .65rem;
	margin: 0;
	color: #647584
}

.mega-footer p strong {
	color: var(--ink)
}

.live-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #25b968;
	box-shadow: 0 0 0 0 rgba(37, 185, 104, .5);
	animation: livePulse 1.8s infinite
}

@keyframes livePulse {
	70% {
		box-shadow: 0 0 0 8px rgba(37, 185, 104, 0)
	}
}

.mega-footer>a {
	font-size: .67rem !important;
	font-weight: 800;
	color: var(--red) !important;
	white-space: nowrap
}

.mega-footer .mega-all {
	background: var(--blue);
	color: #fff !important;
	padding: .65rem .9rem !important
}

.mega-footer .mega-all:hover {
	background: var(--red)
}

@media(max-width:1199.98px) {
	.navbar>.container {
		position: relative
	}

	.mega-holder {
		position: relative
	}

	.mega-menu {
		position: static !important;
		width: 100%;
		transform: none !important;
		box-shadow: none;
		border-radius: 0;
		background: #f2f6f9;
		margin: 0 !important;
		animation: none !important
	}

	.mega-holder:hover>.mega-menu {
		display: none
	}

	.mega-menu.show {
		display: block
	}

	.mega-shell {
		display: block;
		background: transparent
	}

	.mega-feature {
		min-height: 210px;
		margin: 8px
	}

	.mega-feature>a {
		min-height: 210px
	}

	.mega-groups {
		grid-template-columns: 1fr;
		padding: 8px
	}

	.mega-group {
		border-right: 0;
		padding: 0;
		margin-bottom: 10px;
		background: #fff
	}

	.mega-title {
		padding: 12px;
		margin: 0
	}

	.mega-group>a {
		padding: .72rem 1rem !important
	}

	.mega-footer {
		display: block;
		margin: 8px;
		padding: 14px
	}

	.mega-footer>div {
		margin-bottom: 10px
	}

	.mega-footer>a {
		display: inline-block !important;
		margin-right: 12px
	}

	.navbar-nav {
		align-items: stretch !important
	}

	.navbar-collapse {
		max-height: calc(100vh - 90px);
		overflow-y: auto
	}

	.nav-link {
		padding: .8rem !important
	}
}

@media(max-width:575px) {
	.mega-feature {
		min-height: 180px
	}

	.mega-feature>a {
		min-height: 180px;
		padding: 20px !important
	}

	.mega-feature p {
		display: none
	}

	.mega-title strong {
		font-size: .72rem
	}

	.mega-footer p {
		line-height: 1.4
	}

	.mega-footer .mega-all {
		margin-top: 8px
	}
}

/* Global precision cursor */
/* .site-chicken-cursor{
    position:fixed;
    left:0;
    top:0;
    width:56px;
    height:56px;
    z-index:99999;
    pointer-events:none;
    opacity:0;transform:translate3d(-100px,-100px,0);
    filter:drop-shadow(0 8px 10px rgba(0,0,0,.28));
    will-change:transform;
    contain:layout paint;
}
.site-chicken-cursor img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.site-chicken-cursor.is-visible{
    opacity:1;
}
.site-chicken-cursor.is-link img{
    animation:cursorNod .55s ease-in-out infinite alternate;
}
@keyframes cursorNod{
    to{
        transform:rotate(7deg) scale(1.08);
    }
}
.chicken-cursor{
    display:none!important;
}
@media(pointer:fine){
    body,body a,body button,body [role=button],body .form-select{
        cursor:none!important;
    }
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
    .site-chicken-cursor{
        display:none!important;
    }
} */

/* Compact interactive homepage command hero */
.smart-hero {
	min-height: 680px
}

.smart-hero .min-vh-75 {
	min-height: 650px
}

.smart-hero .hero-bg {
	background: linear-gradient(90deg, rgba(2, 22, 40, .98), rgba(3, 31, 55, .87) 58%, rgba(4, 42, 73, .76)), url('https://images.unsplash.com/photo-1548550023-2bdb3c5beed7?auto=format&fit=crop&w=2200&q=82') center/cover
}

.smart-hero #heroCanvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: .66;
	pointer-events: none
}

.smart-hero .container {
	z-index: 2
}

.smart-hero h1 {
	font-size: clamp(3rem, 5vw, 5.15rem);
	max-width: 780px
}

.smart-hero .lead {
	max-width: 650px;
	margin: 1.3rem 0 1.8rem
}

.hero-command {
	margin-left: auto;
	max-width: 440px;
	border: 1px solid rgba(148, 203, 241, .3);
	background: rgba(3, 24, 43, .62);
	backdrop-filter: blur(14px);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .25)
}

.command-top {
	display: flex;
	justify-content: space-between;
	padding: 14px 17px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	font-size: .55rem;
	letter-spacing: .16em;
	color: #94bad4
}

.command-top span i,
.catalogue-label span i {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #2bd17e;
	margin-right: 7px;
	box-shadow: 0 0 0 0 rgba(43, 209, 126, .5);
	animation: livePulse 1.8s infinite
}

.command-core {
	height: 260px;
	display: grid;
	place-items: center;
	overflow: hidden
}

.system-orbit {
	width: 180px;
	height: 180px;
	position: relative;
	display: grid;
	place-items: center;
	text-align: center
}

.system-orbit>div {
	width: 112px;
	height: 112px;
	border-radius: 50%;
	background: linear-gradient(145deg, #0d5b96, #06345e);
	display: grid;
	place-items: center;
	box-shadow: 0 0 55px rgba(81, 177, 238, .28)
}

.system-orbit>div i {
	display: block;
	font-size: 1.5rem;
	color: #80cbff
}

.system-orbit strong {
	font-size: .55rem;
	line-height: 1.5;
	letter-spacing: .12em
}

.orbit-ring {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(124, 197, 247, .35);
	border-radius: 50%;
	animation: orbitSpin 12s linear infinite
}

.orbit-ring.r2 {
	inset: -27px;
	border-style: dashed;
	animation-direction: reverse;
	animation-duration: 18s
}

.node {
	position: absolute;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	color: var(--blue);
	display: grid;
	place-items: center;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .3)
}

.n1 {
	top: -6px
}

.n2 {
	right: -12px;
	bottom: 24px
}

.n3 {
	left: -12px;
	bottom: 24px
}

@keyframes orbitSpin {
	to {
		transform: rotate(360deg)
	}
}

.command-metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid rgba(255, 255, 255, .12)
}

.command-metrics div {
	padding: 14px;
	border-right: 1px solid rgba(255, 255, 255, .12)
}

.command-metrics small,
.command-metrics strong {
	display: block
}

.command-metrics small {
	font-size: .46rem;
	letter-spacing: .13em;
	color: #79a2be
}

.command-metrics strong {
	font-size: .7rem
}

.hero-command>a {
	display: flex;
	justify-content: space-between;
	color: #fff;
	background: var(--red);
	padding: 14px 17px;
	font-size: .72rem;
	font-weight: 800
}

/* Premium catalogue product experience */
.catalogue-hero {
	max-height: 750px;
}

.catalogue-hero .container {
	padding-top: 120px;
}

.catalogue-hero:after {
	background: linear-gradient(90deg, rgba(2, 18, 34, .97), rgba(2, 24, 43, .82) 55%, rgba(2, 24, 43, .46))
}

.catalogue-hero .breadcrumbs {
	margin-top: 120px;
	margin-bottom: 25px;
}

.catalogue-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 355px;
	gap: 5rem;
}

.catalogue-hero-grid h1 {
	font-size: clamp(2.7rem, 4vw, 4.65rem);
	max-width: 790px
}

.catalogue-hero-grid>div>p {
	font-size: 1rem;
	max-width: 660px;
	margin: 1.2rem 0 1.7rem
}

.catalogue-spec-card {
	background: rgba(247, 251, 253, .96);
	color: var(--ink);
	padding: 25px;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .25);
	border-top: 4px solid var(--red)
}

.catalogue-label {
	display: flex;
	justify-content: space-between;
	font-size: .48rem;
	letter-spacing: .12em;
	color: #61717f
}

.catalogue-label b {
	max-width: 120px;
	overflow: hidden;
	text-overflow: ellipsis
}

.catalogue-icon {
	font-size: 2.2rem;
	color: var(--blue2);
	display: block;
	margin: 1.7rem 0 1rem
}

.catalogue-spec-card h2 {
	font-size: 1.7rem;
	letter-spacing: -.04em
}

.catalogue-spec-card ul {
	list-style: none;
	padding: 0;
	margin: 1.2rem 0
}

.catalogue-spec-card li {
	font-size: .76rem;
	padding: .55rem 0;
	border-bottom: 1px solid #d9e3ea
}

.catalogue-spec-card li i {
	color: var(--red);
	margin-right: .5rem
}

.catalogue-spec-card>a {
	display: flex;
	justify-content: space-between;
	color: var(--blue);
	font-size: .74rem;
	font-weight: 800;
	padding-top: .5rem
}

.product-confidence {
	padding: 90px 0 0 0;
	background: #fff
}

.product-confidence>.container {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 5rem;
	align-items: end
}

.confidence-intro h2 {
	font-size: clamp(2.2rem, 3vw, 3.6rem);
	letter-spacing: -.05em;
	font-weight: 700;
}

.confidence-intro p {
	color: var(--muted)
}

.confidence-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line)
}

.confidence-grid>div {
	padding: 1.6rem;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line)
}

.confidence-grid i {
	font-size: 1.4rem;
	color: var(--red)
}

.confidence-grid strong,
.confidence-grid span {
	display: block
}

.confidence-grid strong {
	margin-top: 1rem
}

.confidence-grid span {
	font-size: .72rem;
	color: var(--muted)
}

.product-quote {
	padding: 110px 0;
	background: linear-gradient(120deg, #041b30, #073b67);
	color: #fff
}

.product-quote>.container {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 7rem;
	align-items: center
}

.quote-promise h2 {
	font-size: clamp(2.8rem, 3.5vw, 4.8rem);
	letter-spacing: -.055em
}

.quote-promise>p {
	color: #bfd2e0;
	max-width: 540px
}

.quote-contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 2rem
}

.quote-contact>a,
.quote-contact>div {
	display: flex;
	align-items: center;
	gap: .8rem;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .18);
	padding: 13px
}

.quote-contact i {
	font-size: 1.35rem;
	color: #64c9ff
}

.quote-contact small,
.quote-contact span {
	display: block
}

.quote-contact small {
	font-size: .46rem;
	letter-spacing: .15em;
	color: #83a7bf
}

.quote-contact span {
	font-size: .68rem;
	font-weight: 700
}

.catalogue-form {
	background: #fff;
	color: var(--ink);
	padding: 34px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .25)
}

.form-heading {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--line);
	padding-bottom: 1.1rem;
	margin-bottom: 1.3rem
}

.form-heading span {
	font-size: .56rem;
	letter-spacing: .16em;
	color: var(--red);
	font-weight: 800
}

.form-heading strong {
	font-size: .72rem
}

.catalogue-form label {
	font-size: .65rem;
	font-weight: 800
}

.catalogue-form .form-control {
	font-size: .82rem
}

.form-note {
	display: block;
	text-align: center;
	color: #778693;
	margin-top: .7rem;
	font-size: .6rem
}

@media(max-width:1199px) {
	.hero-command {
		display: none
	}

	.smart-hero .col-xl-7 {
		width: 100%
	}

	.catalogue-hero-grid {
		grid-template-columns: 1fr 310px;
		gap: 2rem
	}
}

@media(max-width:991px) {
	.smart-hero {
		min-height: 650px
	}

	.smart-hero .min-vh-75 {
		min-height: 620px
	}

	.catalogue-hero {
		height: auto;
		min-height: 780px
	}

	.catalogue-hero-grid {
		grid-template-columns: 1fr
	}

	.catalogue-spec-card {
		display: none
	}

	.product-confidence>.container,
	.product-quote>.container {
		grid-template-columns: 1fr;
		gap: 3rem
	}
}

@media(max-width:575px) {
	.site-chicken-cursor {
		display: none
	}

	.smart-hero {
		min-height: 610px
	}

	.smart-hero .min-vh-75 {
		min-height: 580px
	}

	.smart-hero h1 {
		font-size: 2.75rem
	}

	.smart-hero .hero-kicker {
		display: block
	}

	.smart-hero .hero-kicker span {
		display: block;
		margin-bottom: .4rem
	}

	.smart-hero .scroll-cue {
		display: none
	}

	.catalogue-hero {
		min-height: 800px
	}

	.catalogue-hero-grid h1 {
		font-size: 2.7rem
	}

	.product-components {
		padding: 50px 0;
	}

	h2.cate-text,
	.related-cateh3 {
		font-size: 21px;
	}

	.product-confidence {
		padding: 25px 0
	}

	.confidence-grid,
	.quote-contact {
		grid-template-columns: 1fr
	}

	.product-quote {
		padding: 70px 0
	}

	.catalogue-form {
		padding: 22px
	}

	.form-heading {
		display: block
	}

	.form-heading strong {
		display: block;
		margin-top: .4rem
	}

	.quote-promise h2 {
		font-size: 2.7rem
	}
}

/* Mega menu interaction polish */
@media(min-width:1200px) {
	.mega-menu.hover-open {
		display: block;
		animation: megaReveal .24s cubic-bezier(.2, .7, .25, 1)
	}

	.mega-holder:after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: calc(100% - 6px);
		height: 18px;
		pointer-events: auto
	}

	.mega-menu {
		top: 100% !important
	}

	.mega-shell {
		grid-template-rows: auto auto
	}

	.mega-footer {
		grid-column: 1/-1;
		margin: 0 20px 20px;
		padding: 13px 16px;
		min-height: 58px
	}

	.mega-footer>div {
		min-width: 0
	}

	.mega-footer p {
		line-height: 1.35;
		white-space: normal
	}

	.mega-footer>a {
		display: inline-flex !important;
		align-items: center;
		min-height: 36px
	}

	.mega-feature>a.preview-flash img {
		animation: previewFlash .28s ease
	}

	.mega-feature>a.preview-flash h3,
	.mega-feature>a.preview-flash p,
	.mega-feature>a.preview-flash span {
		animation: previewCopy .25s ease
	}

	@keyframes previewFlash {
		from {
			opacity: .45;
			transform: scale(1.025)
		}

		to {
			opacity: .68;
			transform: scale(1)
		}
	}

	@keyframes previewCopy {
		from {
			opacity: 0;
			transform: translateY(7px)
		}

		to {
			opacity: 1;
			transform: none
		}
	}
}

/* 2026 farm identity: forest, soil and natural fibre */
:root {
	--blue: #344b37;
	--blue2: #657a45;
	--red: #a85d32;
	--ink: #242a21;
	--soft: #f5f1e7;
	--line: #ded5c7;
	--muted: #687066
}

body {
	background: #fbfaf6
}

.topbar {
	background: #263b2d;
	color: #e5ebdf
}

.topbar i {
	color: #b8c890
}

.brand-mark {
	background: #344b37;
	border-bottom-color: #a85d32
}

.btn-primary {
	background: #a85d32;
	border-color: #a85d32
}

.btn-primary:hover {
	background: #874522;
	border-color: #874522
}

.btn:before {
	background: rgba(255, 244, 224, .32)
}

.text-link {
	color: #5c7140;
	border-bottom-color: #aebc93
}

.circle-link {
	border-color: #9dac83;
	color: #455c38
}

.circle-link:hover {
	background: #455c38
}

.proof-grid strong {
	color: #344b37
}

.proof-grid b,
.eyebrow {
	color: #a85d32
}

.page-hero,
.dark-section,
.projects-teaser,
.knowledge-hero,
.legal-hero,
.product-engineering,
.case-facts,
.contact-sidebar,
.individual-product-hero,
.product-cinema,
.solution-explorer {
	background-color: #1f3227
}

.manifesto-section,
.conversion-panel,
.product-quote {
	background: linear-gradient(125deg, #1d3025, #4c3929)
}

footer {
	background: #18271e
}

.cta-band {
	background: #a85d32
}

.mega-feature {
	background: #1d3025
}

.mega-icon {
	background: #edf1e5;
	color: #5e7441
}

.mega-footer {
	background: #f4f0e6
}

.mega-footer .mega-all {
	background: #344b37
}

.mega-group>a:hover {
	color: #a85d32 !important
}

.product-marquee span {
	color: #aebf9d
}

.product-cinema:before {
	background: radial-gradient(circle at 80% 20%, rgba(126, 153, 79, .2), transparent 30%), radial-gradient(circle at 10% 75%, rgba(168, 93, 50, .17), transparent 28%)
}

.smart-hero .hero-bg {
	background: linear-gradient(90deg, rgba(20, 42, 30, .97), rgba(35, 49, 35, .88) 58%, rgba(73, 55, 39, .7)), url('https://images.unsplash.com/photo-1548550023-2bdb3c5beed7?auto=format&fit=crop&w=2200&q=82') center/cover
}

.smart-hero h1 em,
.cinema-heading h2 em {
	color: #c7a476
}

.hero-command {
	border-color: rgba(191, 207, 157, .33);
	background: rgba(25, 43, 31, .68)
}

.system-orbit>div {
	background: linear-gradient(145deg, #60794a, #344b37);
	box-shadow: 0 0 55px rgba(156, 183, 105, .24)
}

.system-orbit>div i {
	color: #d9e6bd
}

.orbit-ring {
	border-color: rgba(190, 210, 151, .35)
}

.hero-command>a {
	background: #a85d32
}

.animated-link>span,
.cinema-copy b>span {
	background: #a85d32
}

.catalogue-spec-card {
	border-top-color: #a85d32
}

.product-proof {
	background: #23372b
}

.product-components,
.related-solutions {
	background: #f3eee3
}

.catalogue-form {
	background: #fffdf8
}

.form-control,
.form-select {
	background-color: #fffdf9;
	border-color: #d9cfbf
}

/* Floating animated navigation capsule */
.navbar {
	width: calc(100% - 48px);
	margin: 14px auto;
	border-radius: 22px;
	padding: .7rem 1rem !important;
	top: 12px !important;
	background: rgba(255, 253, 248, .94) !important;
	border: 1px solid rgba(139, 111, 75, .22);
	box-shadow: 0 18px 50px rgba(38, 50, 38, .14);
	backdrop-filter: blur(18px);
	isolation: isolate
}

.navbar:before {
	content: '';
	position: absolute;
	z-index: -1;
	pointer-events: none;
	inset: -2px;
	border-radius: 23px;
	padding: 2px;
	background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 55%, rgba(168, 93, 50, .8) 63%, rgba(112, 137, 75, .9) 71%, transparent 79%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: navBorderRun 7s linear infinite
}

@property --nav-angle {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false
}

@keyframes navBorderRun {
	to {
		--nav-angle: 360deg
	}
}

.navbar.scrolled {
	box-shadow: 0 20px 55px rgba(32, 48, 35, .2);
	transform: translateY(-3px)
}

.navbar .container {
	max-width: 1220px
}

.navbar-brand,
.nav-link {
	color: #314532 !important
}

.navbar .btn-primary {
	border-radius: 13px
}

.mega-menu {
	border-radius: 18px !important;
	margin-top: 10px !important;
	border: 1px solid rgba(110, 128, 83, .18)
}

/* Trust seals placed inside the formerly empty hero floor */
.hero-trust-rail {
	position: relative;
	z-index: 4;
	margin-top: -112px;
	padding: 0 0 18px;
	color: #fff
}

.hero-trust-rail>.container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: rgba(249, 246, 237, .97);
	color: var(--ink);
	border: 1px solid rgba(183, 163, 132, .38);
	border-radius: 18px;
	box-shadow: 0 22px 55px rgba(20, 35, 24, .24);
	overflow: hidden
}

.trust-seal {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 92px;
	padding: 16px 20px;
	border-right: 1px solid #ded5c7
}

.trust-seal:last-child {
	border-right: 0
}

.trust-seal>span {
	flex: 0 0 47px;
	width: 47px;
	height: 47px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #eaf0df;
	color: #526c3d;
	border: 1px solid #d3ddc4;
	font-size: 1.25rem;
	position: relative
}

.trust-seal>span:after {
	content: '';
	position: absolute;
	inset: -5px;
	border: 1px dashed #b5c49c;
	border-radius: 50%;
	animation: sealSpin 14s linear infinite
}

.trust-seal small,
.trust-seal strong {
	display: block
}

.trust-seal small {
	font-size: .5rem;
	letter-spacing: .14em;
	color: #9a5b36;
	font-weight: 800
}

.trust-seal strong {
	font-size: .75rem;
	color: #344235
}

@keyframes sealSpin {
	to {
		transform: rotate(360deg)
	}
}

@media(max-width:991px) {
	.navbar {
		width: calc(100% - 24px);
		margin: 10px auto;
		top: 8px !important;
		border-radius: 17px
	}

	.navbar:before {
		border-radius: 18px
	}

	.mega-menu {
		margin-top: 0 !important
	}

	.hero-trust-rail {
		margin-top: -82px;
		padding: 0 12px 16px
	}

	.hero-trust-rail>.container {
		grid-template-columns: repeat(2, 1fr)
	}

	.trust-seal {
		min-height: 76px
	}

	.trust-seal:nth-child(2) {
		border-right: 0
	}
}

@media(max-width:575px) {
	.navbar {
		width: calc(100% - 16px);
		padding: .55rem !important
	}

	.navbar-brand {
		font-size: .92rem
	}

	.brand-mark {
		width: 36px;
		height: 36px
	}

	.hero-trust-rail {
		margin-top: -40px
	}

	.hero-trust-rail>.container {
		grid-template-columns: 1fr 1fr;
		padding: 0
	}

	.trust-seal {
		padding: 11px;
		gap: 9px;
		min-height: 72px
	}

	.trust-seal>span {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
		font-size: 1rem
	}

	.trust-seal small {
		font-size: .42rem
	}

	.trust-seal strong {
		font-size: .6rem
	}

	.proof-strip {
		margin-top: 0
	}
}

@media(prefers-reduced-motion:reduce) {

	.navbar:before,
	.trust-seal>span:after {
		animation: none
	}
}

/* Homepage refinement: restrained agricultural palette */
:root {
	--blue: #183e34;
	--blue2: #426c57;
	--red: #cf8b32;
	--ink: #1e2925;
	--soft: #f4f1e9;
	--line: #ddd8cd;
	--muted: #63716a
}

.topbar {
	background: #17392f
}

.brand-mark {
	background: #21493c;
	border-bottom-color: #cf8b32
}

.btn-primary,
.hero-command>a,
.animated-link>span,
.cinema-copy b>span,
.cta-band {
	background: #cf8b32;
	border-color: #cf8b32;
	color: #17271f
}

.btn-primary:hover {
	background: #b97522;
	border-color: #b97522;
	color: #fff
}

.eyebrow,
.proof-grid b {
	color: #b87021
}

.smart-hero .hero-bg {
	background: linear-gradient(90deg, rgba(11, 38, 31, .96), rgba(18, 48, 39, .82) 56%, rgba(18, 36, 31, .5)), url('https://images.unsplash.com/photo-1548550023-2bdb3c5beed7?auto=format&fit=crop&w=2200&q=84') center/cover
}

.smart-hero h1 em,
.cinema-heading h2 em {
	color: #e0ad65
}

.product-cinema,
.solution-explorer,
.product-engineering,
.case-facts {
	background-color: #142f28
}

.manifesto-section,
.conversion-panel,
.product-quote {
	background: linear-gradient(125deg, #183b31, #2d4638)
}

/* True floating overlay header: no white band around the capsule */
.navbar {
	position: fixed !important;
	left: 24px;
	right: 24px;
	width: auto;
	margin: 0;
	top: 44px !important;
	background: rgba(253, 252, 247, .91) !important;
	border-color: rgba(255, 255, 255, .45);
	box-shadow: 0 16px 45px rgba(8, 28, 23, .24);
	transition: top .3s, transform .3s, box-shadow .3s
}

.navbar.scrolled {
	top: 12px !important;
	transform: none;
	background: rgba(253, 252, 247, .97) !important
}

.smart-hero {
	margin-top: 0
}

.mega-menu {
	margin-top: 9px !important
}

/* Remove duplicated proof numbers after the assurance rail */
.hero-trust-rail+.proof-strip {
	display: none
}

.hero-trust-rail {
	margin-top: -118px;
	padding-bottom: 20px
}

.hero-trust-rail>.container {
	background: rgba(251, 249, 242, .97);
	border-radius: 16px
}

.trust-seal>span {
	background: #edf2e8;
	color: #315b47;
	border-color: #d2ddcc
}

.trust-seal>span:after {
	border-color: #a8bba1
}

.trust-seal small {
	color: #a86625
}

/* Purpose-led farm value story */
.farm-value-story {
	padding: 120px 0;
	background: #fbfaf6
}

.farm-value-story>.container {
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: 7vw;
	align-items: center
}

.value-story-media {
	height: 550px;
	position: relative;
	overflow: hidden;
	border-radius: 4px
}

.value-story-media:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgba(10, 33, 26, .82))
}

.value-story-media>img {
	width: 100%;
	height: 100%;
	transition: transform 1.2s cubic-bezier(.2, .7, .2, 1)
}

.value-story-media:hover>img {
	transform: scale(1.045)
}

.story-stamp {
	position: absolute;
	z-index: 2;
	right: 24px;
	top: 24px;
	width: 126px;
	height: 126px;
	border-radius: 50%;
	background: #cf8b32;
	color: #15271f;
	display: grid;
	place-content: center;
	text-align: center;
	box-shadow: 0 15px 35px rgba(0, 0, 0, .2)
}

.story-stamp:after {
	content: '';
	position: absolute;
	inset: 8px;
	border: 1px dashed rgba(24, 62, 52, .5);
	border-radius: 50%;
	animation: sealSpin 16s linear infinite
}

.story-stamp strong {
	font-size: 2.1rem;
	line-height: 1
}

.story-stamp span {
	font-size: .52rem;
	letter-spacing: .13em;
	margin-top: .4rem
}

.media-caption {
	position: absolute;
	z-index: 2;
	left: 26px;
	bottom: 24px;
	color: #fff;
	font-size: .58rem;
	letter-spacing: .18em;
	font-weight: 800
}

.value-story-copy h2 {
	color: var(--brand-ink);
	font-size: clamp(2.7rem, 4.4vw, 4.8rem);
	line-height: 1.03;
	letter-spacing: -.055em
}

.value-story-copy>p {
	font-size: 1.05rem;
	color: var(--muted);
	max-width: 660px
}

.value-outcomes {
	margin: 2.3rem 0
}

.value-outcomes>a {
	display: grid;
	grid-template-columns: 46px 1fr 35px;
	align-items: center;
	gap: 1rem;
	color: var(--ink);
	padding: 1.1rem 0;
	border-top: 1px solid var(--line);
	transition: .25s
}

.value-outcomes>a:hover {
	padding-left: 12px;
	color: var(--blue2)
}

.value-outcomes>a>i:first-child {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #e9eee5;
	color: #315b47
}

.value-outcomes span,
.value-outcomes b {
	display: block
}

.value-outcomes span {
	font-size: .73rem;
	color: var(--muted)
}

.value-outcomes b {
	font-size: .88rem;
	color: var(--ink)
}

.story-cta {
	display: inline-flex;
	gap: 1rem;
	align-items: center;
	color: #fff;
	background: #183e34;
	padding: 14px 20px;
	font-size: .75rem;
	font-weight: 800
}

.story-cta:hover {
	background: #cf8b32;
	color: #17271f
}

/* Poultry-house performance visual instead of a networking diagram */
.hero-command {
	background: rgba(16, 43, 35, .78);
	border-color: rgba(220, 190, 133, .32)
}

.command-core {
	height: 260px;
	position: relative;
	background: linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(207, 139, 50, .06))
}

.command-core:after {
	content: '';
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 34px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #c9944f, transparent);
	box-shadow: 0 -32px 0 rgba(255, 255, 255, .06), 0 -64px 0 rgba(255, 255, 255, .04)
}

.system-orbit {
	width: 310px;
	height: 180px
}

.system-orbit .orbit-ring {
	display: none
}

.system-orbit>div {
	width: 156px;
	height: 112px;
	border-radius: 4px 4px 14px 14px;
	background: linear-gradient(145deg, #496b53, #284c3c);
	clip-path: polygon(50% 0, 100% 32%, 100% 100%, 0 100%, 0 32%);
	padding-top: 20px;
	animation: houseGlow 2.8s ease-in-out infinite alternate
}

.system-orbit>div i {
	color: #f0bd73
}

.system-orbit .node {
	top: auto;
	bottom: 4px;
	width: 42px;
	height: 42px;
	background: #faf8f1;
	color: #315b47
}

.system-orbit .n1 {
	left: 4px
}

.system-orbit .n2 {
	right: 4px
}

.system-orbit .n3 {
	left: calc(50% - 21px);
	bottom: -16px
}

.system-orbit .node:after {
	content: attr(data-label);
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	font-size: .43rem;
	letter-spacing: .12em;
	color: #d8e2da;
	white-space: nowrap
}

.command-metrics strong {
	color: #fff
}

@keyframes houseGlow {
	to {
		box-shadow: 0 0 44px rgba(207, 139, 50, .27)
	}
}

/* Cinematic project discovery */
.case-home {
	background: #f1eee6;
	overflow: hidden
}

.case-home .section-head {
	align-items: end
}

.case-home .section-head h2 {
	color: var(--brand-ink);
	max-width: 750px
}

.case-grid {
	display: flex !important;
	grid-template: none !important;
	height: 570px;
	gap: 12px
}

.case-tile,
.case-tile.case-large {
	flex: 1;
	grid-row: auto;
	min-width: 0;
	border-radius: 4px;
	transition: flex .65s cubic-bezier(.2, .75, .2, 1), transform .35s
}

.case-tile.case-large {
	flex: 1.35
}

.case-tile:hover {
	flex: 1.65;
	transform: translateY(-8px)
}

.case-tile:after {
	background: linear-gradient(0deg, rgba(10, 32, 26, .96), rgba(10, 32, 26, .08) 72%)
}

.case-tile:before {
	content: 'VIEW PROJECT';
	position: absolute;
	z-index: 3;
	right: 20px;
	top: 20px;
	padding: 8px 11px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 30px;
	color: #fff;
	font-size: .48rem;
	letter-spacing: .14em;
	backdrop-filter: blur(8px);
	transform: translateY(-8px);
	opacity: 0;
	transition: .35s
}

.case-tile:hover:before {
	opacity: 1;
	transform: none
}

.case-tile>div {
	bottom: 28px;
	transition: .45s
}

.case-tile h3 {
	font-size: clamp(1.55rem, 2.2vw, 2.5rem);
	line-height: 1.08
}

.case-tile p {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: .45s;
	margin: 0
}

.case-tile:hover p {
	max-height: 90px;
	opacity: 1;
	margin: .8rem 0
}

.case-tile b {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	color: #efbd76
}

.case-tile img {
	filter: saturate(.82);
	transition: transform .9s, filter .5s
}

.case-tile:hover img {
	transform: scale(1.075);
	filter: saturate(1.08)
}

@media(max-width:991px) {
	.navbar {
		left: 12px;
		right: 12px;
		top: 10px !important
	}

	.farm-value-story {
		padding: 85px 0
	}

	.farm-value-story>.container {
		grid-template-columns: 1fr;
		gap: 3rem
	}

	.value-story-media {
		height: 500px
	}

	.case-grid {
		height: auto;
		display: grid !important;
		grid-template-columns: 1fr !important
	}

	.case-tile,
	.case-tile.case-large {
		height: 430px;
		flex: none
	}

	.case-tile p {
		max-height: 90px;
		opacity: 1;
		margin: .8rem 0
	}
}

@media(max-width:575px) {
	.navbar {
		left: 8px;
		right: 8px
	}

	.hero-trust-rail {
		margin-top: -38px
	}

	.farm-value-story {
		padding: 65px 0
	}

	.value-story-media {
		height: 400px
	}

	.story-stamp {
		width: 94px;
		height: 94px
	}

	.value-story-copy h2 {
		font-size: 2.55rem
	}

	.case-tile,
	.case-tile.case-large {
		height: 390px
	}
}

/* Clear green + soil-brown brand roles (no muddy colour mixing) */
:root {
	--blue: #173f34;
	--blue2: #3d6a55;
	--red: #985a34;
	--ink: #1e2925;
	--soft: #f5f2eb;
	--line: #ddd7cc;
	--muted: #637069
}

.topbar {
	background: #14382e
}

.brand-mark {
	background: #173f34;
	border-bottom-color: #985a34
}

.btn-primary,
.hero-command>a,
.animated-link>span,
.cinema-copy b>span,
.cta-band {
	background: #985a34;
	border-color: #985a34;
	color: #fff
}

.btn-primary:hover {
	background: #794326;
	border-color: #794326
}

.smart-hero h1 em,
.cinema-heading h2 em {
	color: #d4a06f
}

.manifesto-section,
.conversion-panel,
.product-quote {
	background: #173f34
}

.story-stamp {
	background: #985a34;
	color: #fff
}

.story-cta:hover {
	background: #985a34;
	color: #fff
}

.navbar {
	top: 56px !important;
	border-color: rgba(152, 90, 52, .32)
}

.navbar.scrolled {
	top: 14px !important
}

.navbar:before {
	background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 60%, rgba(152, 90, 52, .9) 68%, rgba(42, 100, 77, .9) 75%, transparent 83%)
}

/* Auto-changing product installation journey */
.hero-command {
	min-height: 390px;
	display: flex;
	flex-direction: column;
	background: rgba(15, 53, 43, .92);
	border: 1px solid rgba(255, 255, 255, .2);
	box-shadow: 0 28px 70px rgba(5, 20, 16, .3);
	overflow: hidden
}

.journey-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(255, 255, 255, .13);
	font-size: .52rem;
	letter-spacing: .15em;
	color: #b9d0c5
}

.journey-top span {
	font-weight: 800
}

.journey-top b {
	color: #d9aa7d
}

.journey-body {
	padding: 24px 25px 20px;
	flex: 1
}

.journey-product {
	display: flex;
	align-items: center;
	gap: 15px
}

.journey-icon {
	width: 54px;
	height: 54px;
	flex: 0 0 54px;
	border-radius: 14px;
	background: #f5f2eb;
	color: #173f34;
	display: grid;
	place-items: center;
	font-size: 1.55rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18)
}

.journey-product small {
	display: block;
	color: #d8a87d;
	font-size: .5rem;
	letter-spacing: .14em;
	font-weight: 800
}

.journey-product h2 {
	font-size: 1.5rem;
	margin: .15rem 0 0;
	color: #fff;
	letter-spacing: -.035em
}

.journey-text {
	font-size: .78rem;
	line-height: 1.6;
	color: #bcd0c7;
	margin: 1.15rem 0
}

.journey-steps {
	position: relative
}

.journey-steps:before {
	content: '';
	position: absolute;
	left: 15px;
	top: 28px;
	bottom: 28px;
	width: 1px;
	background: rgba(213, 170, 127, .5)
}

.journey-steps>div {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 32px 1fr 24px;
	align-items: center;
	gap: 10px;
	padding: 8px 0
}

.journey-steps b {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #985a34;
	color: #fff;
	display: grid;
	place-items: center;
	font-size: .52rem
}

.journey-steps span {
	font-size: .72rem;
	font-weight: 700;
	color: #f2f4ef
}

.journey-steps i {
	color: #90b49f
}

.journey-progress {
	height: 3px;
	background: rgba(255, 255, 255, .12);
	margin-top: 12px;
	overflow: hidden
}

.journey-progress i {
	display: block;
	height: 100%;
	background: #b8764d;
	transition: width .6s cubic-bezier(.2, .7, .2, 1)
}

.journey-cta {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	background: #985a34 !important;
	color: #fff !important;
	padding: 15px 20px !important;
	font-size: .72rem;
	font-weight: 800
}

.journey-cta:hover {
	background: #7d472a !important
}

.journey-enter .journey-product,
.journey-enter .journey-text,
.journey-enter .journey-steps {
	animation: journeyReveal .45s ease both
}

.journey-enter .journey-text {
	animation-delay: .05s
}

.journey-enter .journey-steps {
	animation-delay: .1s
}

@keyframes journeyReveal {
	from {
		opacity: 0;
		transform: translateX(14px)
	}

	to {
		opacity: 1;
		transform: none
	}
}

@media(max-width:1199px) {
	.hero-command {
		display: none
	}
}

@media(max-width:991px) {
	.navbar {
		top: 48px !important
	}

	.navbar.scrolled {
		top: 10px !important
	}
}

@media(max-width:575px) {
	.navbar {
		top: 12px !important
	}
}

/* Final industry palette: midnight graphite + harvest orange + clean white */
:root {
	--blue: #102b3a;
	--blue2: #315f78;
	--red: #f08a24;
	--ink: #17242b;
	--soft: #f3f5f5;
	--line: #d8dee1;
	--muted: #63717a
}

.topbar {
	background: #0b202b;
	color: #dbe5ea
}

.topbar i {
	color: #f6a44c
}

.brand-mark {
	background: #102b3a;
	border-bottom-color: #f08a24
}

.navbar {
	background: rgba(255, 255, 255, .94) !important;
	border-color: rgba(240, 138, 36, .3)
}

.navbar.scrolled {
	background: rgba(255, 255, 255, .98) !important
}

.navbar:before {
	background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 64%, #f08a24 72%, #2c6079 78%, transparent 86%)
}

.navbar-brand,
.nav-link {
	color: #172a34 !important
}

.btn-primary,
.hero-command>a,
.animated-link>span,
.cinema-copy b>span,
.cta-band {
	background: #f08a24;
	border-color: #f08a24;
	color: #142630
}

.btn-primary:hover {
	background: #d76f0b;
	border-color: #d76f0b;
	color: #fff
}

.eyebrow,
.proof-grid b {
	color: #d86f0b
}

.smart-hero {
	min-height: 760px;
	background: #0b202b
}

.smart-hero .min-vh-75 {
	min-height: 730px;
	padding-top: 80px
}

.smart-hero .hero-bg {
	background-color: rgba(9, 30, 41, .82);
	background-image: url('https://images.unsplash.com/photo-1548550023-2bdb3c5beed7?auto=format&fit=crop&w=2200&q=84');
	background-position: center;
	background-size: cover;
	background-blend-mode: multiply
}

.smart-hero h1 em,
.cinema-heading h2 em {
	color: #f2a654
}

.hero-kicker {
	color: #acd0df
}

.hero-command {
	background: #102b3a;
	border-color: rgba(255, 255, 255, .18);
	margin-top: 34px
}

.journey-top {
	color: #b9cbd4
}

.journey-top b,
.journey-product small {
	color: #ffad5c
}

.journey-icon {
	background: #fff;
	color: #173f55
}

.journey-steps b {
	background: #f08a24;
	color: #162630
}

.journey-steps:before {
	background: rgba(240, 138, 36, .5)
}

.journey-steps i {
	color: #78a8bf
}

.journey-progress {
	height: 5px;
	background: rgba(255, 255, 255, .14);
	margin-top: 15px;
	border-radius: 8px
}

.journey-progress i {
	width: 0;
	background: #f08a24;
	border-radius: 8px;
	box-shadow: 0 0 14px rgba(240, 138, 36, .55)
}

@keyframes journeyLoading {
	from {
		width: 0
	}

	to {
		width: 100%
	}
}

.journey-cta {
	background: #f08a24 !important;
	color: #142630 !important
}

.journey-cta:hover {
	background: #d76f0b !important;
	color: #fff !important
}

.product-cinema,
.solution-explorer,
.product-engineering,
.case-facts,
.page-hero,
.dark-section,
.projects-teaser,
.knowledge-hero,
.legal-hero,
.contact-sidebar {
	background-color: #102b3a
}

.manifesto-section,
.conversion-panel,
.product-quote {
	background: #102b3a
}

.product-cinema:before {
	background: radial-gradient(circle at 80% 20%, rgba(49, 95, 120, .22), transparent 30%), radial-gradient(circle at 10% 75%, rgba(240, 138, 36, .13), transparent 28%)
}

footer {
	background: #091c26
}

.mega-feature {
	background: #102b3a
}

.mega-icon {
	background: #edf3f6;
	color: #315f78
}

.mega-footer {
	background: #f1f4f5
}

.mega-footer .mega-all {
	background: #102b3a
}

.trust-seal>span {
	background: #edf3f6;
	color: #315f78;
	border-color: #d3e0e6
}

.trust-seal>span:after {
	border-color: #adc4cf
}

.trust-seal small {
	color: #d76f0b
}

.story-stamp {
	background: #f08a24;
	color: #162630
}

.story-cta {
	background: #102b3a
}

.story-cta:hover {
	background: #f08a24;
	color: #162630
}

.case-home {
	background: #f2f4f5
}

.case-tile:after {
	background: linear-gradient(0deg, rgba(8, 28, 38, .97), rgba(8, 28, 38, .06) 72%)
}

.case-tile b {
	color: #ffad5c
}

.catalogue-spec-card {
	border-top-color: #f08a24
}

.product-proof {
	background: #102b3a
}

.product-components,
.related-solutions {
	background: #f2f4f5
}

.form-control,
.form-select {
	background-color: #fff;
	border-color: #d6dde1
}

@media(max-width:1199px) {
	.smart-hero .min-vh-75 {
		padding-top: 115px
	}
}

@media(max-width:991px) {
	.smart-hero {
		min-height: 720px
	}

	.smart-hero .min-vh-75 {
		min-height: 690px;
		padding-top: 130px
	}
}

@media(max-width:575px) {
	.smart-hero {
		min-height: 680px
	}

	.smart-hero .min-vh-75 {
		min-height: 650px;
		padding-top: 82px
	}
}

.product-cinema:before {
	background: none !important
}

/* Services hover boundary + navy/walnut brand accent */
@media(min-width:1200px) {
	.mega-holder:after {
		display: none !important
	}

	.mega-holder {
		position: relative !important
	}

	.mega-menu {
		position: fixed !important;
		left: 50% !important;
		right: auto !important;
		top: 138px !important;
		transform: translateX(-50%) !important
	}

	.navbar.scrolled .mega-menu {
		top: 96px !important
	}
}

:root {
	--red: #9b5e3c
}

.btn-primary,
.hero-command>a,
.animated-link>span,
.cinema-copy b>span,
.cta-band {
	background: #9b5e3c;
	border-color: #9b5e3c;
	color: #fff
}

.btn-primary:hover {
	background: #7c452a;
	border-color: #7c452a
}

.brand-mark {
	border-bottom-color: #9b5e3c
}

.navbar {
	border-color: rgba(155, 94, 60, .28)
}

.navbar:before {
	background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 64%, #9b5e3c 72%, #2c6079 78%, transparent 86%)
}

.eyebrow,
.proof-grid b {
	color: #9b5e3c
}

.smart-hero h1 em,
.cinema-heading h2 em {
	color: #c89570
}

.journey-top b,
.journey-product small {
	color: #d3a07c
}

.journey-steps b {
	background: #9b5e3c;
	color: #fff
}

.journey-steps:before {
	background: rgba(155, 94, 60, .5)
}

.journey-progress i {
	background: #9b5e3c;
	box-shadow: 0 0 14px rgba(155, 94, 60, .5)
}

.journey-cta {
	background: #9b5e3c !important;
	color: #fff !important
}

.journey-cta:hover {
	background: #7c452a !important
}

.trust-seal small {
	color: #8b5032
}

.story-stamp {
	background: #9b5e3c;
	color: #fff
}

.story-cta:hover {
	background: #9b5e3c;
	color: #fff
}

.case-tile b {
	color: #d6a17c
}

.catalogue-spec-card {
	border-top-color: #9b5e3c
}

.footer-policy-links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.4rem;
	padding: 0 0 1.5rem
}

.footer-policy-links a {
	display: inline;
	color: #aebdca;
	font-size: .7rem
}

.footer-policy-links a:hover {
	color: #fff
}

.legacy-article-content h2,
.legacy-article-content h3,
.legacy-article-content h4 {
	margin-top: 2.2rem
}

.legacy-article-content img {
	height: auto;
	margin: 1.5rem 0
}

.legacy-article-content p,
.legacy-article-content li {
	color: #455564
}

.legacy-article-content .wp-block-image {
	margin: 1.5rem 0
}

.legacy-article-content a {
	color: var(--blue2);
	text-decoration: underline
}

.article-prose {
	min-width: 0
}

/* Infinite featured-project carousel */
.project-slider {
	position: relative
}

.project-slider-viewport {
	overflow: hidden;
	margin: 0 -1px;
	padding: 8px 1px 24px
}

.project-slider .case-grid {
	display: flex !important;
	height: 540px;
	gap: 14px;
	will-change: transform
}

.project-slider .case-tile,
.project-slider .case-tile.case-large {
	flex: 0 0 calc((100% - 28px)/3);
	height: 100%;
	transform: none;
	border-radius: 8px;
	box-shadow: 0 16px 40px rgba(15, 35, 46, .13)
}

.project-slider .case-tile:hover {
	flex-basis: calc((100% - 28px)/3);
	transform: translateY(-6px)
}

.project-slide-number {
	position: absolute;
	z-index: 3;
	left: 20px;
	top: 20px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--ink) !important;
	display: grid;
	place-items: center;
	font-size: .6rem !important;
	letter-spacing: .1em !important;
	font-weight: 800;
	backdrop-filter: blur(8px)
}

.project-slider-controls {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 2rem;
	margin-top: 18px
}

.project-slider-arrows {
	display: flex;
	gap: 8px
}

.project-slider-arrows button {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 1px solid #bdc8ce;
	background: #fff;
	color: var(--blue);
	display: grid;
	place-items: center;
	transition: .25s
}

.project-slider-arrows button:hover {
	background: var(--blue);
	color: #fff;
	border-color: var(--blue);
	transform: translateY(-3px)
}

.project-slider-dots {
	display: flex;
	justify-content: center;
	gap: 8px
}

.project-slider-dots button {
	width: 8px;
	height: 8px;
	border: 0;
	border-radius: 50%;
	background: #b8c2c7;
	padding: 0;
	transition: .3s
}

.project-slider-dots button.active {
	width: 30px;
	border-radius: 8px;
	background: var(--red)
}

.project-slider-status {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: .65rem;
	color: #475257;
}

.project-slider-status b {
	color: var(--ink);
	font-size: .8rem
}

.project-slider-status span {
	width: 58px;
	height: 1px;
	background: #aebbc1
}

.case-home .case-tile p {
	max-height: 88px;
	opacity: 1;
	margin: .7rem 0
}

.case-home .case-tile:before {
	opacity: 1;
	transform: none
}

@media(max-width:991px) {
	.project-slider .case-grid {
		display: flex !important;
		height: 500px
	}

	.project-slider .case-tile,
	.project-slider .case-tile.case-large,
	.project-slider .case-tile:hover {
		flex: 0 0 calc((100% - 14px)/2);
		height: 100%
	}

	.project-slider-controls {
		grid-template-columns: auto 1fr
	}

	.project-slider-status {
		display: none
	}
}

@media(max-width:575px) {
	.project-slider .case-grid {
		height: 455px;
		gap: 10px
	}

	.project-slider .case-tile,
	.project-slider .case-tile.case-large,
	.project-slider .case-tile:hover {
		flex: 0 0 100%;
		height: 100%
	}

	.project-slider-controls {
		grid-template-columns: 1fr;
		gap: 1rem
	}

	.project-slider-arrows {
		justify-content: center;
		order: 2
	}

	.project-slider-dots {
		order: 1
	}

	.project-slider-arrows button {
		width: 46px;
		height: 46px
	}
}

/* PDF-verified product catalogue */
.category-card {
	display: block;
	position: relative
}

.category-card .category-main-link {
	display: block;
	color: var(--ink)
}

.category-card .category-main-link>.bi {
	font-size: 2.2rem;
	color: var(--blue2);
	display: block;
	margin: 1.8rem 0
}

.category-card ul {
	margin-bottom: 3.5rem
}

.category-card li {
	padding: .28rem 0
}

.category-card li a {
	display: flex;
	justify-content: space-between;
	color: var(--muted);
	font-size: .78rem
}

.category-card li a:hover {
	color: var(--red)
}

.category-card li i {
	font-size: .65rem
}

.component-panels>a {
	min-height: 240px;
	background: #fff;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	padding: 2rem;
	position: relative;
	color: var(--ink);
	transition: .3s
}

.component-panels>a:hover {
	background: var(--blue);
	color: #fff;
	transform: translateY(-5px)
}

.component-panels>a span {
	color: var(--red);
	font-size: .65rem
}

.component-panels>a p {
	font-size: .82rem;
	color: var(--muted)
}

.component-panels>a:hover p {
	color: #c3d6e5
}

.component-panels>a>i {
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem
}

.catalog-detail-hero {
	position: relative;
	color: #fff;
	display: flex;
	padding: 175px 0 80px;
	overflow: hidden
}

.catalog-detail-hero>img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%
}

.catalog-detail-hero:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(8, 28, 39, .96), rgba(8, 28, 39, .7) 58%, rgba(8, 28, 39, .25))
}

.catalog-detail-hero>.container {
	position: relative;
	z-index: 2
}

.catalog-detail-hero .breadcrumbs {
	display: inline;
	margin-bottom: 1.5rem;
}

.catalog-detail-hero h1 {
	font-size: clamp(3rem, 3.5vw, 5.4rem);
	letter-spacing: -.055em
}

.catalog-detail-hero .col-lg-8>p {
	font-size: 1.1rem;
	color: #d3e0e6;
	max-width: 750px
}

.catalog-hero-fact {
	padding: 25px;
	background: rgba(255, 255, 255, .94);
	color: var(--ink);
	border-top: 4px solid var(--red)
}

.catalog-hero-fact i {
	font-size: 2rem;
	color: var(--blue2)
}

.catalog-hero-fact small,
.catalog-hero-fact strong {
	display: block
}

.catalog-hero-fact small {
	font-size: .52rem;
	letter-spacing: .13em;
	color: var(--muted);
	margin-top: 1rem
}

.catalog-hero-fact strong {
	font-size: .9rem
}

.catalog-detail-strip {
	background: var(--blue);
	color: #fff
}

.catalog-detail-strip>.container {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.catalog-detail-strip .container>div {
	padding: 1.5rem;
	border-right: 1px solid rgba(255, 255, 255, .16)
}

.catalog-detail-strip small,
.catalog-detail-strip strong {
	display: block
}

.catalog-detail-strip small {
	font-size: .5rem;
	letter-spacing: .15em;
	color: #8fb0c0
}

.catalog-detail-strip,
.product-proof strong {
	font-size: .82rem
}

.catalog-feature-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-left: 1px solid var(--line);
	border-top: 1px solid var(--line)
}

.catalog-feature-cards>div {
	padding: 1rem;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line)
}

.catalog-feature-cards i {
	font-size: 1.5rem;
	color: var(--red)
}

.catalog-feature-cards h3 {
	font-size: 1rem;
	margin-top: 1rem
}

.catalog-feature-cards p {
	font-size: .78rem;
	color: var(--muted)
}

.catalog-spec-section {
	padding: 100px 0;
	background: #102b3a;
	color: #fff
}

.catalog-spec-section h2 {
	font-size: clamp(2rem, 4vw, 4rem)
}

.catalog-spec-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 3rem;
	border-top: 1px solid rgba(255, 255, 255, .16);
	border-left: 1px solid rgba(255, 255, 255, .16)
}

.catalog-spec-grid>div {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding: 1.5rem;
	border-right: 1px solid rgba(255, 255, 255, .16);
	border-bottom: 1px solid rgba(255, 255, 255, .16)
}

.catalog-spec-grid b {
	color: #d3a07c
}

.catalog-spec-grid span {
	font-size: .78rem
}

.catalog-application-image {
	width: 100%;
	height: 560px
}

.catalog-check-list {
	list-style: none;
	padding: 1rem 0
}

.catalog-check-list li {
	padding: .8rem 0;
	border-bottom: 1px solid var(--line)
}

.catalog-check-list i {
	color: var(--red);
	margin-right: .7rem
}

@media(max-width:991px) {
	.catalog-detail-strip>.container {
		grid-template-columns: repeat(2, 1fr)
	}

	.catalog-spec-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(max-width:575px) {

	.catalog-spec-section .container,
	.product-quote .container,
	.cta-band .container {
		padding-top: 0 !important;
	}

	.catalog-spec-section {
		padding: 60px 0;
	}

	.catalog-detail-hero {
		height: fit-content;
		padding-bottom: 55px
	}

	.catalog-detail-hero h1 {
		font-size: 2rem
	}

	.catalog-hero-fact {
		display: none
	}

	.catalog-detail-strip>.container,
	.catalog-feature-cards,
	.catalog-spec-grid {
		grid-template-columns: 2, 1fr
	}

	.catalog-application-image {
		height: 380px
	}
}

/* 2026 editorial knowledge experience */
.knowledge-home {
	background: #eef1f2 !important
}

.knowledge-home .section-head {
	margin-bottom: 2.5rem
}

.knowledge-home .article-grid {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	grid-template-rows: repeat(2, 280px);
	gap: 16px
}

.knowledge-home .article-grid article {
	background: #fff;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 12px 35px rgba(15, 35, 46, .08);
	transition: .35s
}

.knowledge-home .article-grid article:first-child {
	grid-row: 1/3
}

.knowledge-home .article-grid article a {
	display: grid;
	grid-template-columns: 1fr;
	height: 100%;
	position: relative
}

.knowledge-home .article-grid article:not(:first-child) a {
	grid-template-columns: 44% 56%
}

.knowledge-home .article-image {
	height: 100%;
	margin: 0
}

/* .knowledge-home article:first-child .article-image{height:58%} */
.knowledge-home .article-grid article:not(:first-child) .article-image {
	grid-row: 1/7
}

.knowledge-home .article-grid article>a>small,
.knowledge-home .article-grid article>a>h3,
.knowledge-home .article-grid article>a>p,
.knowledge-home .article-grid article>a>b {
	margin-left: 24px;
	margin-right: 24px;
	margin-bottom: 10px;
}

.knowledge-home .article-grid article>a>small {
	margin-top: 18px
}

.knowledge-home .article-grid h3 {
	font-size: 1.25rem
}

.knowledge-home article:first-child h3 {
	font-size: 2rem
}

.knowledge-home .article-grid p {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: .3rem
}

.knowledge-home .article-grid b {
	color: var(--red)
}

.knowledge-home .article-grid article:hover {
	transform: translateY(-7px);
	box-shadow: 0 22px 55px rgba(15, 35, 46, .15)
}

.knowledge-home .article-image:after {
	content: 'READ';
	position: absolute;
	right: 16px;
	top: 16px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: var(--ink);
	display: grid;
	place-items: center;
	font-size: .5rem;
	letter-spacing: .1em;
	opacity: 0;
	transform: scale(.8);
	transition: .3s
}

.knowledge-home article:hover .article-image:after {
	opacity: 1;
	transform: none
}

.blog-hub-hero {
	padding: 180px 0 110px;
	background: #102b3a;
	color: #fff
}

.blog-hub-hero>.container {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	gap: 6rem;
	align-items: end
}

.blog-hub-hero h1 {
	font-size: clamp(3.5rem, 4.7vw, 6.5rem);
	line-height: .96;
	letter-spacing: -.065em
}

.blog-hub-hero h1 em {
	font-family: 'Manrope', Arial, sans-serif;
	color: #c89570;
	font-weight: 600
}

.blog-hub-hero p {
	color: #c2d1d8;
	font-size: 1.05rem
}

.blog-hub-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, .18)
}

.blog-hub-stats span {
	padding: 1rem 0;
	font-size: .52rem;
	letter-spacing: .1em;
	color: #9fb7c2
}

.blog-hub-stats strong {
	display: block;
	font-size: 1.25rem;
	color: #fff;
	letter-spacing: 0
}

.blog-feature {
	padding: 90px 0 45px;
	background: #f4f6f6
}

.blog-feature a {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	min-height: 560px;
	color: var(--ink);
	background: #fff;
	box-shadow: 0 25px 70px rgba(16, 43, 58, .12)
}

.blog-feature-image {
	position: relative;
	overflow: hidden
}

.blog-feature-image img {
	width: 100%;
	height: 100%;
	transition: .8s
}

.blog-feature a:hover img {
	transform: scale(1.045)
}

.blog-feature-image>span {
	position: absolute;
	left: 24px;
	top: 24px;
	background: var(--red);
	color: #fff;
	padding: .6rem .8rem;
	font-size: .55rem;
	letter-spacing: .14em;
	font-weight: 800
}

.blog-feature-copy {
	padding: 4.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.blog-feature-copy>small {
	color: var(--red);
	font-size: .6rem;
	letter-spacing: .14em;
	font-weight: 800
}

.blog-feature-copy h2 {
	font-size: clamp(2.2rem, 3.6vw, 4rem);
	line-height: 1.04;
	letter-spacing: -.05em;
	margin: 1rem 0
}

.blog-feature-copy p {
	color: var(--muted)
}

.blog-feature-copy>div {
	display: flex;
	gap: 1.4rem;
	font-size: .65rem;
	color: var(--muted);
	margin: 1rem 0 2rem
}

.blog-feature-copy>div i {
	margin-right: .4rem
}

.blog-feature-copy>b {
	color: var(--blue)
}

.blog-library {
	padding: 70px 0 120px;
	background: #f4f6f6
}

.blog-toolbar {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem
}

.blog-toolbar h2 {
	font-size: 3rem
}

.blog-search {
	width: min(360px, 100%);
	display: flex;
	align-items: center;
	gap: .8rem;
	background: #fff;
	border: 1px solid var(--line);
	padding: 0 1rem
}

.blog-search input {
	width: 100%;
	border: 0;
	outline: 0;
	padding: 1rem 0;
	background: transparent
}

.blog-filter-row {
	display: flex;
	gap: .5rem;
	overflow: auto;
	padding: 2rem 0 2.5rem
}

.blog-filter-row button {
	white-space: nowrap;
	border: 1px solid #cbd4d8;
	background: transparent;
	border-radius: 30px;
	padding: .65rem 1rem;
	font-size: .68rem;
	font-weight: 700;
	color: var(--muted)
}

.blog-filter-row button.active,
.blog-filter-row button:hover {
	background: var(--blue);
	border-color: var(--blue);
	color: #fff
}

.modern-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px 18px
}

.modern-blog-grid article[hidden] {
	display: none
}

.modern-blog-grid article {
	background: #fff;
	border-radius: 7px;
	overflow: hidden;
	transition: .35s;
	box-shadow: 0 10px 32px rgba(16, 43, 58, .07)
}

.modern-blog-grid article:hover {
	transform: translateY(-8px);
	box-shadow: 0 24px 60px rgba(16, 43, 58, .15)
}

.modern-blog-grid article>a {
	display: block;
	color: var(--ink)
}

.modern-blog-image {
	/*height: 260px;*/
	position: relative;
	overflow: hidden
}

.modern-blog-image img {
	width: 100%;
	height: 100%;
	transition: .7s
}

.modern-blog-grid article:hover img {
	transform: scale(1.06)
}

.modern-blog-image>span {
	position: absolute;
	left: 16px;
	bottom: 16px;
	background: #fff;
	padding: .5rem .7rem;
	font-size: .52rem;
	font-weight: 800
}

.modern-blog-image>b {
	position: absolute;
	right: 15px;
	top: 14px;
	color: #fff;
	font-size: .6rem
}

.modern-blog-copy {
	padding: 1.5rem
}

.modern-blog-meta {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: .58rem;
	color: #81909a
}

.modern-blog-meta i {
	margin-right: .3rem
}

.modern-blog-copy h3 {
	font-size: 1.3rem;
	line-height: 1.2;
	margin: 1rem 0
}

.modern-blog-copy p {
	font-size: .78rem;
	color: var(--muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.modern-blog-copy strong {
	font-size: .68rem;
	color: var(--red)
}

.blog-empty {
	padding: 4rem;
	text-align: center;
	background: #fff;
	color: var(--muted)
}

.reading-progress {
	position: fixed;
	z-index: 100000;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: rgba(255, 255, 255, .2)
}

.reading-progress i {
	display: block;
	width: 0;
	height: 100%;
	background: var(--red);
	box-shadow: 0 0 12px rgba(155, 94, 60, .5)
}

.modern-editorial>header {
	padding-top: 190px
}

.modern-editorial>header h1 {
	max-width: 1050px
}

.article-meta-chips {
	display: flex;
	gap: .7rem;
	flex-wrap: wrap;
	margin-top: 2rem
}

.article-meta-chips span {
	border: 1px solid #cfd9de;
	border-radius: 30px;
	padding: .55rem .8rem;
	font-size: .62rem;
	color: var(--muted)
}

.article-meta-chips i {
	margin-right: .45rem;
	color: var(--red)
}

.modern-editorial .editorial-image {
	height: 720px;
	margin: 0 auto;
	max-width: 1500px;
	padding: 0 28px;
	background: #f1f5f6
}

.modern-editorial .editorial-image img {
	border-radius: 8px
}

.modern-editorial .editorial-body {
	background: #fff
}

.modern-editorial .editorial-body>.container {
	grid-template-columns: 260px minmax(0, 720px);
	justify-content: center;
	gap: 6rem;
	max-width: 1200px
}

.article-reader-tools>span {
	font-size: .55rem;
	letter-spacing: .16em;
	color: var(--red);
	font-weight: 800
}

.generated-toc {
	margin: 1rem 0 1.5rem;
	border-left: 1px solid var(--line)
}

.generated-toc a {
	display: block !important;
	padding: .45rem 0 .45rem 1rem !important;
	color: #52626b !important;
	font-size: .67rem !important;
	line-height: 1.4
}

.generated-toc a:hover {
	color: var(--red) !important;
	border-left: 2px solid var(--red);
	margin-left: -1px
}

.generated-toc .toc-sub {
	padding-left: 1.8rem !important;
	font-size: .61rem !important
}

.reader-actions {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 1rem
}

.reader-actions button {
	border: 1px solid var(--line);
	background: #fff;
	min-width: 38px;
	height: 38px;
	padding: 0 .7rem;
	font-size: .65rem
}

.reader-actions button:last-child {
	display: flex;
	align-items: center;
	gap: .4rem
}

.back-to-blog {
	color: var(--blue) !important;
	font-weight: 700
}

.article-prose {
	font-size: calc(1rem * var(--reader-scale, 1));
	line-height: 1.9
}

.article-prose>p,
.article-prose li,
.legacy-article-content p,
.legacy-article-content li {
	font-size: calc(1rem * var(--reader-scale, 1));
	line-height: 1.9
}

.article-prose h2 {
	font-size: 2.35rem;
	line-height: 1.17;
	letter-spacing: -.035em
}

.article-prose h3 {
	font-size: 1.45rem
}

.article-prose img {
	border-radius: 7px
}

.article-prose blockquote {
	background: #f2f5f6;
	border-left-color: var(--red);
	padding: 2rem;
	font-family: 'Manrope', Arial, sans-serif
}

.article-author {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 1rem;
	padding: 1.6rem;
	border: 1px solid var(--line);
	margin-top: 3rem
}

.author-mark {
	width: 58px;
	height: 58px;
	background: var(--blue);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 1.6rem;
	font-weight: 800
}

.article-author small {
	font-size: .5rem;
	letter-spacing: .14em;
	color: var(--red)
}

.article-author h3 {
	font-size: 1rem;
	margin: .25rem 0
}

.article-author p {
	font-size: .72rem !important;
	margin: 0;
	color: var(--muted)
}

.related-reading {
	padding: 100px 0;
	background: #eef2f3
}

.related-reading-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px
}

.related-reading-grid>a {
	color: var(--ink);
	background: #fff;
	padding-bottom: 1.4rem;
	transition: .3s
}

.related-reading-grid>a:hover {
	transform: translateY(-7px)
}

.related-reading-grid img {
	width: 100%;
	height: 230px
}

.related-reading-grid small,
.related-reading-grid h3,
.related-reading-grid span {
	display: block;
	margin-left: 1.3rem;
	margin-right: 1.3rem
}

.related-reading-grid small {
	font-size: .55rem;
	color: var(--red);
	margin-top: 1rem
}

.related-reading-grid h3 {
	font-size: 1.2rem;
	margin-top: .65rem
}

.related-reading-grid span {
	font-size: .66rem;
	color: var(--blue2)
}

@media(max-width:991px) {
	.knowledge-home .article-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto
	}

	.knowledge-home .article-grid article:first-child {
		grid-row: auto
	}

	.knowledge-home .article-grid article {
		min-height: 340px
	}

	.knowledge-home .article-grid article:not(:first-child) a {
		grid-template-columns: 1fr
	}

	.knowledge-home .article-grid article:not(:first-child) .article-image {
		grid-row: auto;
		height: 230px
	}

	.blog-hub-hero>.container,
	.blog-feature a {
		align-items: start;
	}

	.blog-feature-image {
		height: 450px
	}

	.modern-blog-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.modern-editorial .editorial-body>.container {
		grid-template-columns: 1fr
	}

	.article-reader-tools {
		display: block !important;
		position: static !important
	}

	.modern-editorial .editorial-image {
		height: 520px
	}

	.related-reading-grid {
		grid-template-columns: 1fr 1fr
	}
}

@media(max-width:575px) {
	.blog-hub-hero {
		padding: 145px 0 75px
	}

	.blog-hub-hero>.container {
		gap: 2rem;
		grid-template-columns: 1fr;
	}

	.blog-hub-hero h1 {
		font-size: 3.25rem
	}

	.blog-feature {
		padding-top: 50px
	}

	.blog-feature-image {
		height: 300px
	}

	.blog-feature-copy {
		padding: 2rem
	}

	.blog-toolbar {
		display: block
	}

	.blog-search {
		margin-top: 1rem
	}

	.modern-blog-grid {
		grid-template-columns: 1fr
	}

	.modern-editorial>header {
		padding-top: 145px
	}

	.modern-editorial .editorial-image {
		height: 360px;
		padding: 0 12px
	}

	.modern-editorial .editorial-body {
		padding-top: 60px
	}

	.article-prose h2 {
		font-size: 1.9rem
	}

	.related-reading-grid {
		grid-template-columns: 1fr
	}

	.article-meta-chips span:last-child {
		display: none
	}
}

.legacy-article-content #ez-toc-container {
	display: none !important
}

/* Interactive all-products mega catalogue */
.mega-catalog {
	padding: 0 !important;
	width: min(1180px, calc(100vw - 48px)) !important;
	height: 590px;
	overflow: hidden !important;
	border-radius: 18px !important;
	background: #f5f7f8 !important
}

.mega-catalog-shell {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	height: 100%
}

.mega-category-rail {
	background: #102b3a;
	color: #fff;
	padding: 18px 12px 12px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #9b5e3c transparent
}

.mega-category-rail::-webkit-scrollbar {
	width: 5px
}

.mega-category-rail::-webkit-scrollbar-thumb {
	background: #9b5e3c;
	border-radius: 8px
}

.mega-rail-heading {
	padding: 6px 10px 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .13)
}

.mega-rail-heading small,
.mega-rail-heading strong {
	display: block
}

.mega-rail-heading small {
	font-size: .48rem;
	letter-spacing: .18em;
	color: #9eb8c5
}

.mega-rail-heading strong {
	font-size: 1rem;
	margin-top: .25rem
}

.mega-category-rail>button {
	width: 100%;
	display: grid;
	grid-template-columns: 40px 1fr 15px;
	align-items: center;
	gap: 10px;
	text-align: left;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	background: transparent;
	color: #d9e3e8;
	padding: 11px 9px;
	transition: .22s
}

.mega-category-rail>button:hover,
.mega-category-rail>button.active {
	background: #fff;
	color: var(--ink);
	border-radius: 9px;
	border-color: transparent;
	transform: translateX(3px)
}

.mega-category-icon {
	width: 38px;
	height: 38px;
	border-radius: 9px;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, .1);
	color: #d4a17e
}

.mega-category-rail>button.active .mega-category-icon,
.mega-category-rail>button:hover .mega-category-icon {
	background: #edf2f5;
	color: var(--blue2)
}

.mega-category-rail>button>span:nth-child(2) strong,
.mega-category-rail>button>span:nth-child(2) small {
	display: block
}

.mega-category-rail>button>span:nth-child(2) strong {
	font-size: .68rem
}

.mega-category-rail>button>span:nth-child(2) small {
	font-size: .47rem;
	color: #87a2b0;
	margin-top: 2px
}

.mega-category-rail>button>.bi {
	font-size: .65rem
}

.mega-rail-all {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	color: #fff !important;
	background: #9b5e3c;
	padding: 11px 12px !important;
	margin-top: 12px;
	font-size: .64rem !important;
	font-weight: 800
}

.mega-product-portal {
	height: 100%;
	padding: 28px 30px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #9b5e3c #e6ecef
}

.mega-category-panel {
	display: none
}

.mega-category-panel.active {
	display: block;
	animation: portalReveal .3s ease
}

@keyframes portalReveal {
	from {
		opacity: 0;
		transform: translateX(10px)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.mega-category-panel>header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 2rem;
	padding-bottom: 20px;
	border-bottom: 1px solid #d6dfe3
}

.mega-category-panel>header>div {
	max-width: 600px
}

.mega-category-panel>header small {
	font-size: .5rem;
	letter-spacing: .16em;
	color: #9b5e3c;
	font-weight: 800
}

.mega-category-panel>header h2 {
	font-size: 2rem;
	letter-spacing: -.04em;
	margin: .35rem 0
}

.mega-category-panel>header p {
	font-size: .7rem;
	color: var(--muted);
	margin: 0
}

.mega-category-panel>header>a {
	white-space: nowrap;
	color: var(--blue) !important;
	font-size: .65rem !important;
	font-weight: 800
}

.mega-product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 20px
}

.mega-product-grid>a {
	position: relative;
	display: grid !important;
	grid-template-columns: 112px 1fr 30px;
	align-items: center;
	gap: 14px;
	min-height: 112px;
	padding: 9px !important;
	background: #fff;
	color: var(--ink) !important;
	border: 1px solid #e0e6e9;
	border-radius: 9px;
	overflow: hidden;
	transition: .28s
}

.mega-product-grid>a:hover {
	transform: translateY(-4px);
	border-color: #9b5e3c;
	box-shadow: 0 14px 34px rgba(16, 43, 58, .12)
}

.mega-product-image {
	height: 92px;
	position: relative;
	overflow: hidden;
	border-radius: 6px;
	background: #eaf0f2
}

.mega-product-image>img {
	width: 100%;
	height: 100%;
	transition: .5s
}

.mega-product-grid>a:hover img {
	transform: scale(1.07)
}

.mega-product-image>span {
	position: absolute;
	left: 7px;
	bottom: 7px;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #fff;
	color: var(--blue2);
	font-size: .75rem
}

.mega-product-grid>a>div:nth-child(2) small,
.mega-product-grid>a>div:nth-child(2) strong {
	display: block
}

.mega-product-grid>a>div:nth-child(2) small {
	font-size: .45rem;
	letter-spacing: .11em;
	color: #8a9aa3;
	text-transform: uppercase
}

.mega-product-grid>a>div:nth-child(2) strong {
	font-size: .76rem;
	line-height: 1.25;
	margin-top: .35rem
}

.mega-product-grid>a>.bi {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #edf2f4;
	color: var(--blue);
	font-size: .7rem;
	transition: .25s
}

.mega-product-grid>a:hover>.bi {
	background: #9b5e3c;
	color: #fff;
	transform: rotate(45deg)
}

@media(max-width:1199.98px) {
	.mega-catalog {
		height: auto !important;
		max-height: none !important;
		width: 100% !important;
		background: #f3f6f7 !important
	}

	.mega-catalog-shell {
		display: block;
		height: auto
	}

	.mega-category-rail {
		max-height: 250px;
		padding: 10px
	}

	.mega-rail-heading {
		display: none
	}

	.mega-category-rail>button {
		grid-template-columns: 34px 1fr 15px;
		padding: 8px
	}

	.mega-category-icon {
		width: 32px;
		height: 32px
	}

	.mega-product-portal {
		height: auto;
		max-height: 440px;
		padding: 18px
	}

	.mega-category-panel>header {
		display: block
	}

	.mega-category-panel>header h2 {
		font-size: 1.5rem
	}

	.mega-category-panel>header>a {
		display: inline-block !important;
		margin-top: 10px
	}

	.mega-product-grid {
		grid-template-columns: 1fr
	}

	.mega-product-grid>a {
		grid-template-columns: 85px 1fr 28px;
		min-height: 92px
	}

	.mega-product-image {
		height: 74px
	}
}

@media(max-width:575px) {
	.reveal {
		opacity: 1;
		transform: none;
	}

	.accordion.accordion-flush {
		margin-top: 20px;
	}

	.hero-spec-card {
		margin-left: 0 !important;
		margin-top: 20px !important;
	}

	.mega-product-portal {
		padding: 12px
	}

	.mega-category-panel>header p {
		display: none
	}

	.mega-product-grid {
		gap: 8px
	}

	.mega-product-grid>a {
		grid-template-columns: 70px 1fr 26px
	}

	.mega-product-image {
		height: 65px
	}

	.mega-product-grid>a>div:nth-child(2) strong {
		font-size: .68rem
	}
}

@media(max-width:1250px){
		.navbar-brand{
		max-width: 145px !important;
	}
}

/* Viewport-fit catalogue positioning */

@media(min-width:1200px) {
	.navbar .mega-holder .mega-catalog {
		position: fixed !important;
		inset: auto auto auto 50% !important;
		top: 85px !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
		height: min(470px, calc(100dvh - 158px)) !important;
		max-height: min(470px, calc(100dvh - 158px)) !important
	}



	.navbar.scrolled .mega-holder .mega-catalog {
		top: 102px !important;
		height: min(470px, calc(100dvh - 114px)) !important;
		max-height: min(470px, calc(100dvh - 114px)) !important
	}

	.mega-catalog-shell,
	.mega-category-rail,
	.mega-product-portal {
		min-height: 0
	}

	.mega-category-rail,
	.mega-product-portal {
		overscroll-behavior: contain
	}
}

/* Professional mobile header and product drill-down canvas */
.mobile-nav-canvas {
	width: min(92vw, 410px) !important;
	background: #0c2532;
	color: #fff;
	border: 0 !important
}

.mobile-canvas-header {
	height: 78px;
	display: grid;
	grid-template-columns: 72px 1fr 48px;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	padding: 0 14px
}

.mobile-canvas-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	color: #fff;
	font-size: .92rem;
	font-weight: 800;
	letter-spacing: .08em
}

.mobile-canvas-brand .brand-mark {
	width: 36px;
	height: 36px;
	font-size: 1rem
}

.mobile-canvas-brand small {
	display: block;
	font-size: .4rem;
	letter-spacing: .17em;
	color: #8da9b7
}

.mobile-canvas-back,
.mobile-canvas-close {
	border: 0;
	background: transparent;
	color: #fff;
	height: 44px
}

.mobile-canvas-back {
	display: flex;
	align-items: center;
	gap: .4rem;
	padding: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateX(8px);
	transition: .25s;
	font-size: .68rem
}

.mobile-canvas-back.visible {
	opacity: 1;
	pointer-events: auto;
	transform: none
}

.mobile-canvas-close {
	width: 44px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 50%;
	font-size: 1rem
}

.mobile-nav-stage {
	height: calc(100dvh - 145px);
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #9b5e3c transparent
}

.mobile-nav-view {
	display: none;
	padding: 26px 18px 32px
}

.mobile-nav-view.active {
	display: block;
	animation: mobileViewIn .3s ease
}

@keyframes mobileViewIn {
	from {
		opacity: 0;
		transform: translateX(18px)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.mobile-view-kicker {
	display: block;
	font-size: .5rem;
	letter-spacing: .2em;
	color: #9db4bf;
	font-weight: 800;
	margin-bottom: 1.1rem
}

.mobile-primary-links>a,
.mobile-primary-links>button {
	width: 100%;
	display: grid;
	grid-template-columns: 30px 1fr 28px;
	align-items: center;
	text-align: left;
	color: #fff;
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .13);
	padding: 15px 0;
	font-size: 1.22rem;
	font-weight: 700
}

.mobile-primary-links>a>span,
.mobile-primary-links>button>span {
	font-size: .48rem;
	color: #b67c5d
}

.mobile-primary-links>a>.bi,
.mobile-primary-links>button>.bi {
	justify-self: end;
	font-size: .75rem;
	color: #9bb1bc
}

.mobile-quick-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 24px
}

.mobile-quick-actions>a {
	display: flex;
	align-items: center;
	gap: .7rem;
	color: #fff;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .12);
	padding: 12px 10px;
	border-radius: 8px
}

.mobile-quick-actions i {
	color: #d19a78;
	font-size: 1.2rem
}

.mobile-quick-actions small,
.mobile-quick-actions span {
	display: block
}

.mobile-quick-actions small {
	font-size: .4rem;
	letter-spacing: .1em;
	color: #87a3b0
}

.mobile-quick-actions span {
	font-size: .6rem;
	font-weight: 700
}

.mobile-category-list>button {
	width: 100%;
	display: grid;
	grid-template-columns: 44px 1fr 20px;
	align-items: center;
	gap: 11px;
	text-align: left;
	background: transparent;
	color: #fff;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	padding: 12px 2px
}

.mobile-category-icon {
	width: 42px;
	height: 42px;
	border-radius: 11px;
	background: rgba(255, 255, 255, .09);
	color: #d09a78;
	display: grid;
	place-items: center
}

.mobile-category-list strong,
.mobile-category-list small {
	display: block
}

.mobile-category-list strong {
	font-size: .75rem
}

.mobile-category-list small {
	font-size: .5rem;
	color: #88a4b1;
	margin-top: 2px
}

.mobile-category-list>button>.bi {
	font-size: .65rem;
	color: #8faab6
}

.mobile-all-products,
.mobile-category-overview {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	background: #9b5e3c;
	color: #fff !important;
	padding: 13px 14px !important;
	margin-top: 16px;
	font-size: .66rem !important;
	font-weight: 800
}

.mobile-product-panel {
	display: none
}

.mobile-product-panel.active {
	display: block
}

.mobile-product-panel>header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .13)
}

.mobile-product-panel>header small {
	font-size: .45rem;
	color: #91aab6;
	letter-spacing: .13em
}

.mobile-product-panel>header h2 {
	font-size: 1.4rem;
	margin: .2rem 0 0
}

.mobile-category-overview {
	margin: 14px 0;
	background: rgba(255, 255, 255, .08)
}

.mobile-product-list>a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
	padding: 13px 3px;
	border-bottom: 1px solid rgba(255, 255, 255, .11)
}

.mobile-product-list small,
.mobile-product-list strong {
	display: block
}

.mobile-product-list small {
	font-size: .44rem;
	color: #859faa;
	text-transform: uppercase
}

.mobile-product-list strong {
	font-size: .76rem;
	margin-top: .2rem
}

.mobile-product-list>a>.bi {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #fff;
	color: #102b3a;
	font-size: .65rem
}

.mobile-canvas-footer {
	height: 67px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding: 10px 18px;
	background: #081e29
}

.mobile-canvas-footer a,
.mobile-canvas-footer small {
	display: block
}

.mobile-canvas-footer a {
	color: #fff;
	font-size: .7rem;
	font-weight: 700
}

.mobile-canvas-footer i {
	color: #d29a78;
	margin-right: .5rem
}

.mobile-canvas-footer small {
	font-size: .45rem;
	color: #809aa6;
	margin-top: 3px
}

@media(max-width:1199.98px) {
	.navbar-toggler {
		width: 46px;
		height: 46px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: #102b3a;
		display: grid;
		place-items: center;
		box-shadow: none !important
	}

	.navbar-toggler-icon {
		width: 20px;
		height: 14px;
		background: none !important;
		position: relative;
		border-top: 2px solid #fff;
		border-bottom: 2px solid #fff
	}

	.navbar-toggler-icon:after {
		content: '';
		position: absolute;
		left: 4px;
		right: 0;
		top: 5px;
		border-top: 2px solid #fff
	}

	.navbar-collapse {
		display: none !important
	}
}

@media(max-width:767px) {

	html,
	body {
		max-width: 100%;
		overflow-x: hidden
	}

	.catalog-detail-strip .container {
		padding-top: 10px !important;
	}

	.container {
		padding-top: 50px;
		padding-left: 18px;
		padding-right: 18px
	}

	.navbar {
		left: 8px !important;
		right: 8px !important;
		width: auto !important;
		top: 10px !important;
		padding: .52rem .65rem !important;
		border-radius: 17px !important
	}

	.navbar.scrolled {
		top: 7px !important
	}

	.navbar>.container {
		padding: 0 4px
	}

	.navbar-brand {
		font-size: .85rem;
		gap: .5rem
	}

	.navbar-brand .brand-mark {
		width: 36px;
		height: 36px;
		font-size: 1rem
	}

	.navbar-brand small {
		font-size: .4rem
	}

	.section {
		padding: 20px 0
	}

	.section h2,
	.section-head h2 {
		font-size: clamp(1rem, 7vw, 2.7rem)
	}

	.section-head {
		gap: 1rem;
		margin-bottom: 2rem
	}

	.btn-lg {
		font-size: .8rem;
		padding: .8rem 1rem
	}

	.smart-hero .hero-bg {
		background-position: 58% center
	}

	.smart-hero .row {
		margin: 0
	}

	.smart-hero h1 {
		font-size: 61px;
		line-height: 1.2
	}

	.smart-hero .lead {
		font-size: .92rem;
		line-height: 1.65
	}

	.smart-hero .play-link {
		font-size: .68rem
	}

	.hero-trust-rail>.container {
		border-radius: 12px
	}

	.trust-seal {
		border-right: 0;
		border-bottom: 1px solid var(--line)
	}

	.farm-value-story>.container {
		padding: 0 18px
	}

	.value-story-copy h2 {
		font-size: 2.45rem
	}

	.solution-heading {
		display: block;
		padding: 0 18px
	}

	.solution-tabs {
		padding-left: 18px;
		padding-right: 18px
	}

	.solution-tabs button {
		margin-right: 1.2rem;
		padding-right: 1.2rem
	}

	.solution-stage {
		height: 540px
	}

	.solution-copy {
		left: 18px;
		right: 18px;
		bottom: 45px
	}

	.solution-copy h3 {
		font-size: 2.15rem
	}

	.product-cinema {
		padding-bottom: 70px
	}

	.cinema-heading h2 {
		font-size: 2.55rem
	}

	.cinema-card,
	.cinema-card:nth-child(n) {
		grid-column: 1/-1
	}

	.manifesto-copy h2 {
		font-size: 2.5rem
	}

	.conversion-panel>.container {
		gap: 2rem
	}

	.conversion-panel h2 {
		font-size: 2.6rem
	}

	.impact-section {
		padding: 70px 0
	}

	.orbit-center h2 {
		font-size: 2rem
	}

	.client-grid.modern {
		grid-template-columns: 1fr 1fr
	}

	.client-grid span {
		min-height: 75px;
		font-size: .7rem
	}

	.knowledge-home .article-grid article {
		min-height: 0
	}

	.knowledge-home .article-grid article a {
		display: block !important
	}

	.knowledge-home .article-grid article:first-child .article-image,
	.knowledge-home .article-grid article:not(:first-child) .article-image {
		height: 240px
	}

	.knowledge-home .article-grid article>a>small,
	.knowledge-home .article-grid article>a>h3,
	.knowledge-home .article-grid article>a>p,
	.knowledge-home .article-grid article>a>b {
		display: block;
		margin-left: 18px;
		margin-right: 18px
	}

	.knowledge-home .article-grid article>a>b {
		margin-bottom: 18px
	}

	.page-hero,
	.project-index-hero,
	.knowledge-hero,
	.legal-hero {
		padding: 145px 0 70px
	}

	.page-hero h1,
	.project-index-hero h1,
	.knowledge-hero h1,
	.legal-hero h1 {
		font-size: clamp(2.6rem, 10vw, 3.5rem)
	}

	.catalog-detail-hero,
	.catalogue-hero,
	.individual-product-hero {
		padding-top: 90px
	}

	.catalog-detail-strip .container>div,
	.product-proof .container>div {
		padding: 1rem
	}

	.product-confidence>.container,
	.product-quote>.container {
		padding-left: 18px;
		padding-right: 18px
	}

	.product-quote {
		padding: 65px 0
	}

	.quote-promise h2 {
		font-size: 2rem
	}

	.catalogue-form {
		padding: 20px
	}

	.project-slider .case-grid {
		height: 430px
	}

	.modern-editorial>header {
		padding: 145px 0 55px
	}

	.modern-editorial>header h1 {
		font-size: clamp(2.6rem, 10vw, 3.5rem)
	}

	.modern-editorial .editorial-body>.container {
		padding: 0 20px
	}

	.article-reader-tools {
		padding: 16px;
		background: #f3f6f7;
		border-radius: 8px
	}

	.generated-toc {
		max-height: 190px;
		overflow: auto
	}

	.article-prose {
		overflow-wrap: anywhere
	}

	.article-prose iframe {
		max-width: 100%
	}

	.article-author {
		grid-template-columns: 48px 1fr;
		padding: 1rem
	}

	.form-card,
	.contact-sidebar {
		padding: 1.25rem
	}

	.contact-sidebar iframe {
		height: 190px
	}

	.footer-policy-links {
		gap: .7rem 1rem
	}

	.footer-bottom {
		display: block
	}

	footer {
		padding: 55px 0 22px
	}

	.wa-float {
		width: 49px;
		height: 49px;
		left: 14px;
		bottom: 14px
	}

	.scroll-top {
		right: 14px;
		bottom: 14px;
		width: 43px;
		height: 43px;
	}

	.process-line,
	.process-grid {
		grid-template-columns: 1fr
	}

	.timeline-item {
		grid-template-columns: 65px 1fr
	}

	.project-row-image {
		height: 330px
	}

	.project-row-copy {
		padding: 1.5rem 1.2rem 6.5rem
	}

	.project-capacity {
		left: 1.2rem
	}

	.case-hero {
		height: 620px
	}

	.case-overlay {
		bottom: 45px
	}

	.case-overlay h1 {
		font-size: 2.5rem
	}

	.case-image-break {
		height: 440px
	}

	.legal-body {
		padding: 60px 0
	}

	.legal-body h2 {
		font-size: 1.6rem
	}
}


.navbar-brand {
	display: flex;
	align-items: center;
	max-width: 180px;
	/* control brand width */
}

.nav-logo {
	width: 100%;
	height: auto;
	max-height: 60px;
	/* important */
	object-fit: contain;
}


/* ==================================================
   FIXED HOMEPAGE HERO BACKGROUND VIDEO
================================================== */

.smart-hero {
	position: relative !important;
	min-height: 760px;
	background: #0b202b;
	overflow: hidden;
	isolation: isolate;
}

/* Video remains at the lowest background level */
.smart-hero .hero-video-wrap {
	position: absolute !important;
	inset: 0 !important;
	width: 100%;
	height: 100%;
	z-index: -2 !important;
	overflow: hidden;
	pointer-events: none;
	background: #0b202b;
}

/* Background video */
.smart-hero .hero-video {
	position: absolute !important;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
	transform: translate(-50%, -50%);
	z-index: 0 !important;
	pointer-events: none;
}

/* Navy-blue overlay over video */
.smart-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;

	background:
		linear-gradient(90deg,
			rgba(5, 24, 36, 0.95) 0%,
			rgba(7, 30, 44, 0.88) 38%,
			rgba(8, 31, 45, 0.68) 66%,
			rgba(8, 29, 42, 0.5) 100%),
		linear-gradient(180deg,
			rgba(5, 22, 33, 0.2) 0%,
			rgba(5, 22, 33, 0.08) 45%,
			rgba(5, 22, 33, 0.55) 100%);
}

/* All banner content stays above video */
.smart-hero>.container {
	position: relative !important;
	z-index: 5 !important;
}

/* Keep every hero row and column visible */
.smart-hero .row,
.smart-hero .col-xl-7,
.smart-hero .col-xl-5,
.smart-hero .hero-kicker,
.smart-hero h1,
.smart-hero .lead,
.smart-hero .hero-command {
	position: relative;
	z-index: 6;
}

/* Scroll label above background */
.smart-hero .scroll-cue {
	position: absolute;
	z-index: 7 !important;
}

/* Disable old image and canvas layers */
.smart-hero .hero-bg,
.smart-hero .hero-lines,
.smart-hero #heroCanvas,
.smart-hero .hero-video-overlay {
	display: none !important;
}

/* Tablet video positioning */
@media (max-width: 991px) {
	.smart-hero .hero-video {
		object-position: 58% center;
	}

	.smart-hero::before {
		background:
			linear-gradient(90deg,
				rgba(5, 24, 36, 0.95) 0%,
				rgba(7, 30, 44, 0.86) 58%,
				rgba(8, 29, 42, 0.62) 100%),
			linear-gradient(180deg,
				rgba(5, 22, 33, 0.18),
				rgba(5, 22, 33, 0.48));
	}
}

/* Mobile video positioning */
@media (max-width: 575px) {
	.smart-hero .hero-video {
		object-position: 62% center;
	}

	.smart-hero::before {
		background:
			linear-gradient(90deg,
				rgba(5, 24, 36, 0.94) 0%,
				rgba(7, 30, 44, 0.84) 76%,
				rgba(8, 29, 42, 0.68) 100%),
			linear-gradient(180deg,
				rgba(5, 22, 33, 0.2),
				rgba(5, 22, 33, 0.52));
	}
}


.smart-hero h1 {
	font-size: 61px;
	line-height: 1.1
}

.section-head h2,
.solution-heading h2 {
	font-size: clamp(2.25rem, 4vw, 4.5rem)
}

/* Client experience */
.reviews-hero {
	padding: clamp(9rem, 15vw, 13rem) 0 6rem;
	background: #092a3c;
	color: #fff
}

.reviews-hero>.container {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end
}

.reviews-hero h1 {
	font-size: clamp(3rem, 6vw, 5.8rem);
	line-height: .96;
	max-width: 850px;
	margin: .8rem 0 1.4rem
}

.reviews-hero p {
	font-size: 1.16rem;
	color: #c6d4db;
	max-width: 720px
}

.reviews-hero aside {
	border: 1px solid rgba(255, 255, 255, .18);
	padding: 2rem;
	background: rgba(255, 255, 255, .05)
}

.reviews-hero aside>i {
	font-size: 2rem;
	color: #b06b43
}

.reviews-hero aside strong {
	display: block;
	font-size: 1.35rem;
	margin: 1rem 0 .6rem
}

.reviews-hero aside p {
	font-size: .95rem;
	margin: 0
}

.review-client-band {
	padding: 2.2rem 0;
	border-bottom: 1px solid #dce3e6
}

.review-client-band .container>span,
.review-client-band small {
	display: block;
	color: #667984;
	font-size: .72rem;
	letter-spacing: .13em
}

.review-client-band .container>div {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin: 1.2rem 0
}

.review-client-band b {
	padding: .72rem 1rem;
	background: #f2f5f6;
	color: #173443;
	font-size: .85rem
}

.review-service-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: #d8e0e3;
	border: 1px solid #d8e0e3
}

.review-service-grid article {
	position: relative;
	background: #fff;
	padding: 2rem;
	min-height: 420px
}

.review-service-grid article>span {
	position: absolute;
	right: 1.4rem;
	top: 1.4rem;
	color: #9aabb3;
	font-size: .75rem
}

.review-service-grid article>i {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	background: #edf3f5;
	color: #0b3c55;
	font-size: 1.35rem;
	margin-bottom: 2rem
}

.review-service-grid h3 {
	font-size: 1.35rem
}

.review-service-grid p,
.review-service-grid li {
	color: #62737b
}

.review-service-grid ul {
	padding-left: 1.1rem;
	margin: 1.4rem 0 0
}

.review-service-grid li {
	margin: .55rem 0
}

.review-proof {
	background: #f2f5f6
}

.review-proof>.container {
	display: grid;
	grid-template-columns: 1fr 520px;
	gap: clamp(2rem, 7vw, 7rem);
	align-items: center
}

.review-proof-copy h2 {
	font-size: clamp(2.4rem, 4.8vw, 4.5rem);
	line-height: 1
}

.review-proof-copy>div {
	display: grid;
	gap: .7rem;
	margin-top: 2rem
}

.review-proof-copy>div span {
	color: #bdcdd5;
	font-weight: 700;
}

.review-proof-copy i {
	color: #b06b43;
	margin-right: .5rem
}

.review-reference-form {
	background: #fff;
	padding: clamp(1.5rem, 4vw, 2rem);
	box-shadow: 0 25px 70px rgba(8, 37, 52, .12)
}

.review-reference-form>span {
	font-size: .72rem;
	letter-spacing: .14em;
	color: #a75e39
}

.review-reference-form h3 {
	margin: .5rem 0 1.4rem
}

.review-reference-form label {
	font-size: .78rem;
	font-weight: 700;
	margin: .7rem 0 .35rem
}

.review-reference-form .btn {
	margin-top: 1rem
}

.review-feedback {
	padding: 5rem 0;
	background: #a65f39;
	color: #fff
}

.review-feedback>.container {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	align-items: center
}

.review-feedback h2 {
	font-size: clamp(2rem, 4vw, 3.8rem);
	margin: .5rem 0
}

.review-feedback p {
	max-width: 760px;
	margin: 0;
	color: #f7e9df
}

@media(max-width:991px) {

	.reviews-hero>.container,
	.review-proof>.container {
		grid-template-columns: 1fr
	}

	.review-service-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.review-proof>.container {
		gap: 3rem
	}

	.review-feedback>.container {
		align-items: flex-start;
		flex-direction: column
	}

	.smart-hero h1 {
		font-size: clamp(2.8rem, 10vw, 4rem)
	}
}

@media(max-width:575px) {

	h2.cate-text,
	.related-cateh3 {
		font-size: 23px;
	}

	.related-cateh3 {
		font-size: 23px;
	}

	.reviews-hero {
		padding-top: 8rem
	}

	.review-service-grid {
		grid-template-columns: 1fr
	}

	.review-service-grid article {
		min-height: auto
	}

	.review-reference-form {
		padding: 1.3rem
	}

	.smart-hero h1 {
		font-size: clamp(2.55rem, 12vw, 3.65rem)
	}
}

/* One consistent, professional type family across the complete website. */
body,
button,
input,
select,
textarea,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
strong,
b,
small,
label,
blockquote,
em {
	font-family: 'Manrope', Arial, sans-serif
}

em,
.hero h1 em,
.smart-hero h1 em,
.cinema-heading h2 em,
.blog-hub-hero h1 em {
	font-style: normal;
	font-family: 'Manrope', Arial, sans-serif;
	font-weight: 700
}

.hero-kicker {
	letter-spacing: .08em;
	text-transform: none;
	font-size: .76rem
}

/* Homepage mobile layout: compact typography, clear header offset and no clipped content. */
@media(max-width:767px) {
	.smart-hero {
		min-height: auto !important;
		height: auto;
		padding: 0;
		overflow: hidden
	}

	.smart-hero .col-xl-7 {
		margin: 0;
	}

	.smart-hero .min-vh-75 {
		min-height: auto !important;
		padding-top: 90px !important;
		padding-bottom: 72px !important;
		align-items: start !important
	}

	.smart-hero .row {
		--bs-gutter-x: 0
	}

	.smart-hero .col-xl-7 {
		padding: 0 !important
	}

	.smart-hero .hero-kicker {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: .28rem;
		margin: 0 0 1.25rem;
		font-size: .66rem;
		line-height: 1.45;
		letter-spacing: .055em
	}

	.smart-hero h1 {
		font-size: clamp(2.45rem, 10vw, 3.05rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -.045em !important;
		margin: 0;
		max-width: 100%
	}

	.smart-hero h1 em {
		display: block;
		margin-top: .22rem;
		line-height: 1.08
	}

	.smart-hero .lead {
		font-size: .94rem !important;
		line-height: 1.65 !important;
		margin: 1.35rem 0 1.55rem !important;
		max-width: 350px;
		color: #d7e1e6
	}

	.smart-hero .d-flex.gap-3 {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: .8rem !important;
		width: 100%
	}

	.smart-hero .btn-lg {
		width: 100%;
		min-height: 50px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: .85rem 1rem;
		font-size: .82rem
	}

	.smart-hero .play-link {
		min-height: 48px;
		width: 100%;
		font-size: .76rem !important
	}

	.smart-hero .play-link span {
		width: 42px;
		height: 42px;
		flex: 0 0 42px
	}

	.smart-hero .scroll-cue {
		display: none !important
	}

	.smart-hero .hero-video {
		object-position: 62% center
	}

	.hero-trust-rail {
		padding: 0 12px;
		background: #f3f5f5
	}

	.hero-trust-rail>.container {
		transform: none !important;
		margin: 0 auto;
		padding: 0;
		display: grid;
		grid-template-columns: 1fr 1fr;
		overflow: hidden
	}

	.trust-seal {
		min-width: 0;
		padding: 1rem .75rem !important;
		gap: .65rem
	}

	.trust-seal>span {
		width: 38px;
		height: 38px;
		flex: 0 0 38px
	}

	.trust-seal small {
		font-size: .48rem;
		letter-spacing: .08em
	}

	.trust-seal strong {
		font-size: .68rem;
		line-height: 1.35
	}

	.proof-grid {
		grid-template-columns: 1fr 1fr !important
	}

	.proof-grid>div {
		padding: 1.15rem !important
	}

	.proof-grid strong {
		font-size: 1.75rem
	}

	.proof-grid span {
		font-size: .56rem;
		line-height: 1.45
	}

	.farm-value-story {
		padding: 64px 0
	}

	.farm-value-story>.container {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 2rem !important
	}

	.value-story-media {
		min-height: 360px
	}

	.value-story-media>img {
		height: 360px
	}

	.story-stamp {
		right: 12px !important;
		bottom: 12px !important
	}

	.value-story-copy h2 {
		font-size: 2.15rem !important;
		line-height: 1.1
	}

	.value-story-copy>p {
		font-size: .92rem;
		line-height: 1.7
	}

	.value-outcomes a {
		padding: 1rem 0;
		grid-template-columns: 36px 1fr 20px !important
	}

	.value-outcomes span {
		font-size: .76rem
	}

	.value-outcomes b {
		font-size: .84rem
	}

	.solution-explorer {
		padding-top: 64px
	}

	.solution-heading h2 {
		font-size: 2.2rem !important;
		line-height: 1.08
	}

	.solution-tabs {
		gap: 1.4rem !important;
		padding-top: 1rem !important
	}

	.solution-tabs button {
		font-size: .78rem;
		margin: 0 !important;
		padding: .8rem 0 !important
	}

	.solution-stage {
		height: 500px !important;
		margin-top: 1rem
	}

	.solution-stage>img {
		object-position: center
	}

	.solution-stage:after {
		background: linear-gradient(0deg, rgba(3, 22, 40, .95), rgba(3, 22, 40, .14))
	}

	.solution-copy {
		left: 22px !important;
		right: 22px !important;
		bottom: 38px !important
	}

	.solution-copy h3 {
		font-size: 1.9rem !important;
		line-height: 1.1
	}

	.solution-copy p {
		font-size: .86rem;
		line-height: 1.65
	}

	.product-marquee {
		height: 44px
	}

	.cinema-heading {
		display: block !important;
		padding: 58px 0 34px !important
	}

	.cinema-heading h2 {
		font-size: 2.05rem !important;
		line-height: 1.08 !important
	}

	.cinema-heading>div:last-child {
		margin-top: 1.5rem
	}

	.cinema-heading p {
		font-size: .88rem
	}

	.cinema-grid {
		display: grid;
		grid-template-columns: 1fr !important;
		grid-auto-rows: 400px;
		gap: 12px
	}

	.cinema-card,
	.cinema-card:nth-child(n) {
		grid-column: auto !important
	}

	.cinema-copy {
		left: 20px;
		right: 20px;
		bottom: 20px
	}

	.cinema-copy h3 {
		font-size: 1.55rem
	}

	.cinema-copy p {
		max-height: none;
		opacity: 1;
		margin-bottom: .8rem;
		font-size: .76rem
	}

	.cinema-bottom {
		padding-top: 28px;
		display: flex;
		flex-direction: column;
		gap: 1rem
	}

	.cinema-bottom>span {
		display: none
	}

	.cinema-bottom .btn {
		width: 100%
	}

	.manifesto-media {
		height: 320px !important
	}

	.manifesto-copy {
		padding: 54px 22px !important
	}

	.manifesto-copy h2 {
		font-size: 2.1rem !important
	}

	.manifesto-copy p {
		font-size: .9rem
	}

	.case-home .section-head .text-link {
		margin-top: .25rem
	}

	.project-slider .case-grid {
		height: 440px !important
	}

	.case-tile>div {
		left: 18px;
		right: 18px;
		bottom: 20px
	}

	.case-tile h3 {
		font-size: 1.55rem
	}

	.case-tile p {
		font-size: .76rem
	}

	.impact-section {
		padding: 64px 0 !important
	}

	.impact-orbit {
		display: grid !important;
		gap: 12px
	}

	.orbit-center {
		padding: 1rem 0 1.5rem !important
	}

	.orbit-center h2 {
		font-size: 2.15rem !important
	}

	.orbit-card {
		padding: 1.25rem !important
	}

	.orbit-card h3 {
		font-size: 1.05rem
	}

	.trusted-section .row {
		gap: 1.5rem !important
	}

	.client-grid.modern {
		grid-template-columns: 1fr 1fr !important
	}

	.client-grid span {
		padding: .55rem;
		font-size: .66rem;
		overflow-wrap: anywhere
	}

	.knowledge-home .article-grid {
		gap: 14px !important
	}

	.knowledge-home .article-grid article {
		border-radius: 6px
	}

	.knowledge-home .article-grid article:first-child .article-image,
	.knowledge-home .article-grid article:not(:first-child) .article-image {
		height: 220px !important
	}

	.knowledge-home article:first-child h3 {
		font-size: 1.25rem !important
	}

	.knowledge-home .article-grid h3 {
		font-size: 1.18rem !important
	}

	.conversion-panel {
		padding: 60px 0 !important
	}

	.conversion-panel>.container {
		gap: 1.5rem !important
	}

	.conversion-panel h2 {
		font-size: 2.2rem !important;
		line-height: 1.1
	}

	.conversion-panel p {
		font-size: .9rem
	}

	.conversion-panel .btn {
		width: 100%
	}
}

/* Project index and six individual case studies */
.project-index-hero {
	background: #0d2f40;
	color: #fff;
	padding: clamp(5rem, 9vw, 8rem) 0
}

.project-index-hero h1 {
	max-width: 850px
}

.project-index-hero p {
	max-width: 740px;
	color: #c6d4da;
	font-size: 1.05rem
}

.project-hero-note {
	padding: 1.7rem;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 18px;
	background: rgba(255, 255, 255, .06);
	backdrop-filter: blur(10px)
}

.project-hero-note>i {
	font-size: 1.8rem;
	color: #d3986f
}

.project-hero-note strong {
	display: block;
	font-size: 1.05rem;
	margin: .8rem 0
}

.project-hero-note p {
	font-size: .78rem;
	margin-bottom: 1rem
}

.project-hero-note a {
	font-size: .72rem;
	font-weight: 800;
	color: #fff
}

.project-index-proof {
	background: #fff;
	border-bottom: 1px solid #dce4e7
}

.project-index-proof>.container {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.project-index-proof .container>div {
	padding: 1.8rem;
	border-right: 1px solid #dce4e7
}

.project-index-proof strong {
	display: block;
	color: #0d3547;
	font-size: 2rem
}

.project-index-proof span {
	font-size: .62rem;
	text-transform: uppercase;
	letter-spacing: .09em;
	color: #71838c
}

.project-row {
	background: #fff;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 18px 50px rgba(7, 38, 52, .08)
}

.project-row-image img {
	object-fit: cover
}

.project-row-copy {
	border: 0
}

.project-detail-hero {
	height: clamp(620px, 78vh, 820px);
	position: relative;
	color: #fff;
	overflow: hidden
}

.project-detail-hero>img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.project-detail-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: end;
	padding: 0 0 clamp(3.5rem, 7vw, 6rem);
	background: linear-gradient(0deg, rgba(4, 26, 38, .94) 0%, rgba(4, 26, 38, .34) 58%, rgba(4, 26, 38, .12) 100%)
}

.project-detail-overlay h1 {
	max-width: 950px;
	font-size: clamp(3rem, 6vw, 6.2rem);
	line-height: .98;
	letter-spacing: -.055em
}

.project-detail-overlay p {
	max-width: 770px;
	color: #d6e0e4;
	font-size: 1.08rem
}

.project-hero-meta {
	display: flex;
	gap: .7rem;
	margin-bottom: 1rem
}

.project-hero-meta span {
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .12em;
	padding: .55rem .75rem;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px
}

.project-detail-intro>.container {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(2rem, 7vw, 7rem)
}

.project-detail-intro h2 {
	font-size: clamp(2.5rem, 4.8vw, 4.8rem);
	line-height: 1.02
}

.project-detail-intro .lead {
	font-size: 1.22rem;
	line-height: 1.7
}

.project-detail-intro p:not(.lead) {
	color: #657780
}

.project-scope {
	padding: 6rem 0;
	background: #eef2f3
}

.project-scope-head {
	max-width: 800px;
	margin-bottom: 2.5rem
}

.project-scope-head h2 {
	font-size: clamp(2.4rem, 4.5vw, 4.5rem)
}

.project-scope-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: #ccd8dd;
	border: 1px solid #ccd8dd
}

.project-scope-grid article {
	background: #fff;
	padding: 2rem;
	min-height: 290px;
	position: relative
}

.project-scope-grid article>span {
	font-size: .65rem;
	color: #82949c
}

.project-scope-grid article>i {
	display: block;
	font-size: 1.6rem;
	color: #a6623e;
	margin: 2.4rem 0 1rem
}

.project-scope-grid h3 {
	font-size: 1.15rem
}

.project-scope-grid p {
	font-size: .76rem;
	color: #687a83
}

.project-storyline>.container {
	max-width: 1050px
}

.project-story-step {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 2rem;
	padding: 3rem 0;
	border-top: 1px solid #d6e0e3
}

.project-story-step>span {
	font-size: 2.2rem;
	color: #b06e48
}

.project-story-step small {
	font-size: .62rem;
	letter-spacing: .12em;
	color: #82949c
}

.project-story-step h2 {
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	margin: .6rem 0
}

.project-story-step p {
	font-size: 1.02rem;
	line-height: 1.8;
	color: #5f727c
}

.project-gallery {
	padding: 6rem 0;
	background: #0c2d3e;
	color: #fff
}

.gallery-count {
	font-size: .65rem;
	letter-spacing: .13em;
	color: #a8bec8
}

.project-gallery-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: 270px;
	gap: 15px
}

.project-gallery-item {
	grid-column: span 4;
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	background: #173d4d
}

.project-gallery-item:first-child,
.project-gallery-item:nth-child(5) {
	grid-column: span 8
}

.project-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s
}

.project-gallery-item:hover img {
	transform: scale(1.04)
}

.project-gallery-item>span {
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: .55rem .7rem;
	border-radius: 999px;
	background: rgba(7, 35, 48, .82);
	color: #fff;
	font-size: .62rem
}

.project-assurance {
	padding: 6rem 0;
	background: #a6623e;
	color: #fff
}

.project-assurance>.container {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 3rem
}

.project-assurance>div div {
	max-width: 850px
}

.project-assurance h2 {
	font-size: clamp(2.5rem, 4.5vw, 4.8rem);
	line-height: 1.02
}

.project-assurance p {
	max-width: 720px;
	color: #f4ded2
}

.next-case a>div small {
	font-size: .62rem;
	color: #74868f;
	letter-spacing: .1em
}

/* Editorial article experience */
.article-modern-hero {
	padding: clamp(4rem, 7vw, 7rem) 0 !important;
	background: #0d2f40 !important;
	color: #fff
}

.article-modern-hero>.container {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center
}

.article-modern-hero h1 {
	font-size: clamp(2.8rem, 5.2vw, 5.5rem) !important;
	line-height: 1 !important;
	letter-spacing: -.05em !important
}

.article-modern-hero p {
	color: #c8d7dd !important
}

.article-modern-hero figure {
	margin: 0;
	background: #fff;
	border-radius: 20px;
	padding: 14px;
	box-shadow: 0 25px 70px rgba(0, 0, 0, .22)
}

.article-modern-hero figure img {
	width: 100%;
	height: 430px;
	object-fit: contain;
	background: #e9eef0;
	border-radius: 12px
}

.article-modern-hero figcaption {
	padding: .75rem .25rem 0;
	color: #637780;
	font-size: .62rem
}

.article-reading-area {
	padding: 6rem 0
}

.article-reading-area>.container {
	display: grid;
	grid-template-columns: 220px minmax(0, 760px) 300px;
	gap: clamp(2rem, 4vw, 4rem);
	max-width: 1400px
}

.article-reader-tools,
.article-recent {
	align-self: start;
	position: sticky;
	top: 120px
}

.generated-toc {
	display: grid;
	gap: .15rem;
	margin: 1rem 0
}

.generated-toc a {
	padding: .52rem 0;
	border-bottom: 1px solid #e0e6e8;
	color: #63757e;
	font-size: .7rem;
	line-height: 1.4
}

.generated-toc a:hover {
	color: #a6623e
}

.generated-toc .toc-sub {
	padding-left: .7rem
}

.reader-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .4rem;
	margin: 1rem 0
}

.reader-actions button {
	min-height: 40px;
	border: 1px solid #ccd7db;
	background: #fff;
	font-size: .68rem;
	font-weight: 800
}

.reader-actions button:last-child {
	grid-column: 1/-1
}

.reader-actions button.copied {
	background: #0d3547;
	color: #fff;
	border-color: #0d3547
}

.copy-status {
	min-height: 34px;
	font-size: .65rem;
	line-height: 1.4;
	color: #4e765f
}

.article-prose {
	--reader-scale: 1;
	font-size: calc(1rem * var(--reader-scale));
	line-height: 1.85
}

.article-prose>.lead {
	font-size: calc(1.22rem * var(--reader-scale));
	color: #263f4b
}

.article-prose>section {
	position: relative;
	padding: 1.5rem 0 2.5rem;
	border-bottom: 1px solid #e0e6e8
}

.prose-section-number {
	font-size: .65rem;
	letter-spacing: .12em;
	color: #a6623e
}

.article-prose h2 {
	font-size: calc(2rem * var(--reader-scale));
	margin: .65rem 0 1rem
}

.article-prose h3 {
	font-size: calc(1.12rem * var(--reader-scale));
	margin: 1.5rem 0 .7rem
}

.article-prose p,
.article-prose li {
	color: #51666f
}

.article-prose blockquote {
	font-size: calc(1.45rem * var(--reader-scale));
	border-left: 3px solid #a6623e;
	padding: 1.2rem 0 1.2rem 1.5rem;
	color: #153a4a
}

.recent-panel {
	padding: 1.3rem;
	border: 1px solid #d9e2e5;
	border-radius: 18px;
	background: #f5f7f8
}

.recent-panel>span {
	font-size: .58rem;
	letter-spacing: .12em;
	color: #a6623e
}

.recent-panel>h2 {
	font-size: 1.4rem;
	margin: .45rem 0 1rem
}

.recent-panel>a:not(.recent-all) {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: .8rem;
	padding: 1rem 0;
	border-top: 1px solid #dce4e7;
	color: #153646
}

.recent-panel img {
	width: 70px;
	height: 72px;
	object-fit: contain;
	background: #e5ebed;
	border-radius: 8px
}

.recent-panel small {
	font-size: .52rem;
	color: #a6623e;
	text-transform: uppercase
}

.recent-panel h3 {
	font-size: .78rem;
	line-height: 1.35;
	margin: .25rem 0
}

.recent-panel b {
	font-size: .58rem;
	color: #78909a
}

.recent-all {
	display: flex !important;
	justify-content: space-between;
	color: #fff !important;
	background: #0d3547;
	margin: 1rem -1.3rem -1.3rem;
	padding: 1rem 1.3rem;
	border-radius: 0 0 18px 18px;
	font-size: .68rem;
	font-weight: 800
}

.related-reading {
	padding: 6rem 0;
	background: #eef2f3
}

.related-slider {
	overflow: hidden
}

.related-slider-track {
	display: flex;
	gap: 20px;
	will-change: transform
}

.related-slide {
	flex: 0 0 calc((100% - 40px)/3);
	color: #153646;
	background: #fff;
	padding: 12px 12px 1.4rem;
	border-radius: 16px
}

.related-slide>div {
	position: relative;
	background: #e5ebed;
	border-radius: 10px;
	overflow: hidden
}

.related-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain
}

.related-slide>div span {
	position: absolute;
	left: 10px;
	bottom: 10px;
	background: #fff;
	border-radius: 99px;
	padding: .45rem .65rem;
	font-size: .52rem;
	color: #a6623e
}

.related-slide>small,
.related-slide>h3,
.related-slide>b {
	display: block;
	margin-left: .5rem;
	margin-right: .5rem
}

.related-slide>small {
	font-size: .6rem;
	color: #7b8e97;
	margin-top: 1rem
}

.related-slide>h3 {
	font-size: 1.1rem;
	margin-top: .5rem
}

.related-slide>b {
	font-size: .66rem;
	color: #a6623e
}

.related-slider-buttons {
	display: flex;
	gap: .6rem
}

.related-slider-buttons button {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid #bfcdd3;
	background: transparent
}

.related-slider-dots {
	display: flex;
	gap: .45rem;
	justify-content: center;
	margin-top: 1.5rem
}

.related-slider-dots button {
	width: 7px;
	height: 7px;
	border: 0;
	border-radius: 50%;
	background: #aebdc3;
	padding: 0
}

.related-slider-dots button.active {
	width: 24px;
	border-radius: 99px;
	background: #a6623e
}

@media(max-width:1199px) {
	.article-reading-area>.container {
		grid-template-columns: 200px minmax(0, 1fr)
	}

	.article-recent {
		grid-column: 1/-1;
		position: static
	}

	.recent-panel {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 1.5rem
	}

	.recent-panel>span,
	.recent-panel>h2,
	.recent-all {
		grid-column: 1/-1
	}

	.project-scope-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(max-width:991px) {

	.article-modern-hero>.container,
	.project-detail-intro>.container {
		grid-template-columns: 1fr
	}

	.article-modern-hero figure img {
		height: 350px
	}

	.project-assurance>.container {
		display: block
	}

	.project-assurance .btn {
		margin-top: 1.5rem
	}

	.project-index-proof>.container {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(max-width:767px) {
	.project-index-hero {
		padding: 3.8rem 0
	}

	.project-index-proof .container>div {
		padding: 1.2rem
	}

	.project-detail-hero {
		height: 620px
	}

	.project-detail-overlay {
		padding-bottom: 3rem
	}

	.project-detail-overlay h1 {
		font-size: 2.7rem
	}

	.case-facts>.container {
		grid-template-columns: 1fr 1fr
	}

	.project-scope {
		padding: 4rem 0
	}

	.project-scope-grid {
		grid-template-columns: 1fr
	}

	.project-scope-grid article {
		min-height: auto
	}

	.project-story-step {
		grid-template-columns: 50px 1fr;
		gap: 1rem
	}

	.project-story-step>span {
		font-size: 1.2rem
	}

	.project-gallery {
		padding: 4rem 0
	}

	.project-gallery-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 260px
	}

	.project-gallery-item,
	.project-gallery-item:first-child,
	.project-gallery-item:nth-child(5) {
		grid-column: auto
	}

	.article-modern-hero {
		padding: 3.5rem 0 !important
	}

	.article-modern-hero>.container {
		padding-top: 0 !important
	}

	.article-modern-hero h1 {
		font-size: 2.65rem !important
	}

	.article-modern-hero figure img {
		height: 260px
	}

	.article-reading-area {
		padding: 3.5rem 0
	}

	.article-reading-area>.container {
		display: block;
		padding-top: 0 !important
	}

	.article-reader-tools {
		position: static;
		margin-bottom: 2rem
	}

	.generated-toc {
		max-height: 220px;
		overflow: auto
	}

	.article-recent {
		margin-top: 2rem
	}

	.recent-panel {
		display: block
	}

	.related-slide {
		flex-basis: 100%
	}

	.related-reading {
		padding: 4rem 0
	}

	.related-slider-buttons {
		margin-top: 1rem
	}

	.project-row {
		margin-bottom: 2rem
	}
}

/* Verified client marks and service-experience carousel */
.verified-client-carousel {
	padding: 5rem 0;
	background: #f2f5f6;
	overflow: hidden
}

.client-carousel-heading {
	display: grid;
	grid-template-columns: 1fr .8fr;
	gap: 3rem;
	align-items: end;
	margin-bottom: 2rem
}

.client-carousel-heading h2 {
	font-size: clamp(2.2rem, 4vw, 4rem)
}

.client-carousel-heading p {
	color: #657780
}

.client-logo-viewport {
	overflow: hidden;
	touch-action: pan-y;
	cursor: grab
}

.client-logo-viewport:active {
	cursor: grabbing
}

.client-logo-track {
	display: flex;
	width: max-content;
	gap: 16px;
	will-change: transform
}

.client-logo-track>a {
	width: 260px;
	height: 145px;
	flex: 0 0 260px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .7rem;
	background: #fff;
	border: 1px solid #dbe4e7;
	border-radius: 16px;
	color: #536872
}

.client-logo-track img {
	width: 170px;
	height: 78px;
	object-fit: contain;
	filter: grayscale(1);
	transition: filter .3s, transform .3s
}

.client-logo-track a:hover img {
	filter: none;
	transform: scale(1.04)
}

.client-logo-track span {
	font-size: .58rem;
	letter-spacing: .08em;
	text-transform: uppercase
}

.customer-experience-section {
	overflow: hidden
}

.customer-experience-section .section-head>p {
	max-width: 460px;
	color: #687a83
}

.experience-carousel {
	overflow: hidden
}

.experience-track {
	display: flex;
	gap: 18px;
	will-change: transform
}

.experience-card {
	flex: 0 0 calc((100% - 36px)/3);
	min-height: 430px;
	padding: 1.7rem;
	background: #fff;
	border: 1px solid #d7e1e4;
	border-radius: 18px;
	display: flex;
	flex-direction: column
}

.experience-card>div {
	display: flex;
	justify-content: space-between
}

.experience-card>div span {
	font-size: .64rem;
	color: #84969e
}

.experience-card>div i {
	font-size: 1.6rem;
	color: #a6623e
}

.experience-card>small {
	font-size: .57rem;
	letter-spacing: .11em;
	color: #a6623e;
	text-transform: uppercase;
	margin-top: 2.3rem
}

.experience-card h3 {
	font-size: 1.3rem;
	margin: .45rem 0
}

.experience-card>b {
	font-size: .66rem;
	color: #778b94
}

.experience-card>b i {
	margin-right: .35rem
}

.experience-card p {
	color: #61747d;
	font-size: .84rem;
	line-height: 1.75;
	margin: 1.5rem 0
}

.experience-card button {
	margin-top: auto;
	border: 0;
	border-top: 1px solid #dbe4e7;
	background: transparent;
	padding: 1rem 0 0;
	display: flex;
	justify-content: space-between;
	color: #0d3547;
	font-size: .7rem;
	font-weight: 800
}

.experience-controls {
	display: grid;
	grid-template-columns: 48px 1fr 48px;
	gap: 1rem;
	align-items: center;
	margin-top: 1.8rem
}

.experience-controls button {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid #c4d1d6;
	background: #fff
}

.experience-controls>div {
	height: 2px;
	background: #d5dfe2
}

.experience-controls>div i {
	display: block;
	height: 100%;
	width: 50%;
	background: #a6623e;
	transition: width .5s
}

.experience-modal .modal-content {
	border: 0;
	border-radius: 22px;
	padding: 2rem;
	position: relative
}

.experience-modal .btn-close {
	position: absolute;
	right: 1.2rem;
	top: 1.2rem
}

.experience-modal .modal-content>span {
	font-size: .58rem;
	letter-spacing: .12em;
	color: #a6623e
}

.experience-modal .modal-content>i {
	font-size: 2rem;
	color: #a6623e;
	margin: 1.5rem 0 .5rem
}

.experience-modal h2 {
	font-size: 2rem
}

.experience-modal p {
	color: #5f727b;
	line-height: 1.75
}

.experience-modal small {
	color: #81929a;
	border-top: 1px solid #dce4e7;
	padding-top: 1rem
}

.experience-modal .btn {
	margin-top: 1.4rem
}

.review-proof {
	scroll-margin-top: 120px
}

@media(max-width:1199px) {
	.experience-card {
		flex-basis: calc((100% - 18px)/2)
	}
}

@media(max-width:767px) {
	.client-carousel-heading {
		grid-template-columns: 1fr;
		gap: 1rem
	}

	.verified-client-carousel {
		padding: 4rem 0
	}

	.client-logo-track>a {
		width: 210px;
		height: 125px;
		flex-basis: 210px
	}

	.client-logo-track img {
		width: 140px;
		height: 66px
	}

	.experience-card {
		flex-basis: 100%;
		min-height: 400px
	}

	.customer-experience-section .section-head {
		display: block
	}

	.customer-experience-section .section-head>p {
		margin-top: 1rem
	}
}

.thank-you-page {
	min-height: calc(100vh - 100px);
	padding: 7rem 0;
	background: linear-gradient(135deg, #0d3547, #174d60);
	display: flex;
	align-items: center
}

.thank-you-card {
	max-width: 900px;
	margin: auto;
	background: #fff;
	border-radius: 24px;
	padding: clamp(2rem, 6vw, 5rem);
	box-shadow: 0 35px 90px rgba(0, 0, 0, .22)
}

.thank-you-icon {
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #e7f3eb;
	color: #31714a;
	font-size: 2rem;
	margin-bottom: 1.5rem
}

.thank-you-card>small {
	font-size: .62rem;
	letter-spacing: .13em;
	color: #a6623e
}

.thank-you-card h1 {
	font-size: clamp(2.5rem, 5vw, 5rem);
	line-height: 1.02;
	margin: .8rem 0 1rem
}

.thank-you-card>p {
	max-width: 720px;
	color: #62757e;
	font-size: 1.05rem
}

.thank-you-next {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: #d7e1e4;
	border: 1px solid #d7e1e4;
	margin: 2.5rem 0
}

.thank-you-next>div {
	background: #f6f8f8;
	padding: 1.3rem
}

.thank-you-next b {
	display: block;
	color: #a6623e;
	font-size: .65rem;
	margin-bottom: 1rem
}

.thank-you-next span,
.thank-you-next strong {
	display: block;
	font-size: .75rem;
	color: #62757e
}

.thank-you-next strong {
	font-size: .86rem;
	color: #193a49;
	margin-bottom: .35rem
}

.thank-you-help {
	font-size: .72rem !important;
	margin: 1.5rem 0 0 !important
}

.thank-you-help a {
	color: #a6623e;
	font-weight: 700
}

@media(max-width:767px) {
	.thank-you-page {
		padding: 3rem 0
	}

	.thank-you-next {
		grid-template-columns: 1fr
	}

	.thank-you-card .btn {
		width: 100%
	}
}

/* About, catalogue, manufacturing and contact page presentation */
.about-modern-hero {
	padding: clamp(5rem, 9vw, 8rem) 0;
	background: #0d2f40;
	color: #fff
}

.about-modern-hero>.container {
	display: grid;
	grid-template-columns: 1fr .85fr;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center
}

.about-modern-hero h1 {
	font-size: clamp(3rem, 5.4vw, 5.8rem);
	line-height: 1;
	letter-spacing: -.055em
}

.about-modern-hero p {
	max-width: 720px;
	color: #c8d6dc;
	font-size: 1.05rem;
	line-height: 1.75
}

.about-modern-hero aside {
	background: #fff;
	border-radius: 20px;
	padding: 12px;
	color: #193947
}

.about-modern-hero aside>img {
	width: 100%;
	height: 370px;
	object-fit: contain;
	background: #e9eef0;
	border-radius: 12px
}

.about-modern-hero aside>div {
	display: grid;
	grid-template-columns: repeat(3, 1fr)
}

.about-modern-hero aside span {
	padding: 1rem .7rem;
	border-right: 1px solid #dce4e7;
	font-size: .58rem;
	color: #6d8089
}

.about-modern-hero aside span:last-child {
	border: 0
}

.about-modern-hero aside strong {
	display: block;
	font-size: 1.25rem;
	color: #163746
}

.about-capabilities .section-head>p {
	max-width: 500px;
	color: #687b84
}

.about-capability-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: #d5e0e3;
	border: 1px solid #d5e0e3
}

.about-capability-grid article {
	background: #fff;
	padding: 2rem;
	min-height: 300px
}

.about-capability-grid i {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #edf2f3;
	color: #a6623e;
	font-size: 1.4rem;
	margin-bottom: 3rem
}

.about-capability-grid h3 {
	font-size: 1.2rem
}

.about-capability-grid p {
	font-size: .78rem;
	color: #647780
}

.about-quality {
	background: #eef2f3
}

.about-quality>.container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 7vw, 7rem)
}

.about-quality h2 {
	font-size: clamp(2.4rem, 4.5vw, 4.5rem)
}

.about-quality p {
	color: #62757e
}

.about-quality-list>div {
	display: grid;
	grid-template-columns: 45px 1fr 30px;
	padding: 1.15rem 0;
	border-bottom: 1px solid #ccd8dc;
	align-items: center
}

.about-quality-list span {
	font-size: .62rem;
	color: #a6623e
}

.about-quality-list i {
	color: #3f7653
}

.products-hero {
	background: #0d2f40
}

.hero-inline-facts {
	display: flex;
	gap: 1px;
	background: rgba(255, 255, 255, .18);
	max-width: 820px;
	margin-top: 2.2rem
}

.hero-inline-facts span {
	flex: 1;
	padding: 1rem;
	background: rgba(255, 255, 255, .08);
	font-size: .62rem;
	color: #c5d4da
}

.hero-inline-facts strong {
	display: block;
	color: #fff;
	font-size: 1.3rem
}

.product-hub-guidance,
.manufacturing-cta {
	padding: 5rem 0;
	background: #a6623e;
	color: #fff
}

.product-hub-guidance>.container,
.manufacturing-cta>.container {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 3rem
}

.product-hub-guidance>div div,
.manufacturing-cta>div div {
	max-width: 850px
}

.product-hub-guidance h2,
.manufacturing-cta h2 {
	font-size: clamp(2.4rem, 4.5vw, 4.5rem)
}

.product-hub-guidance p {
	color: #f4ded2
}

.factory-hero>.container,
.contact-modern-hero>.container {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end
}

.factory-hero aside,
.contact-modern-hero aside {
	border: 1px solid rgba(255, 255, 255, .2);
	background: rgba(255, 255, 255, .06);
	padding: 1.2rem
}

.factory-hero aside>span {
	display: flex;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .15);
	font-size: .78rem;
	color: #d1dde2
}

.factory-hero aside>span:last-child {
	border: 0
}

.factory-hero aside strong {
	color: #d89a74
}

.contact-modern-hero aside>div {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: .8rem;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .15)
}

.contact-modern-hero aside>div:last-child {
	border: 0
}

.contact-modern-hero aside i {
	font-size: 1.25rem;
	color: #d89a74
}

.contact-modern-hero aside span,
.contact-modern-hero aside strong {
	display: block;
	font-size: .72rem;
	color: #cbd8dd
}

.contact-modern-hero aside strong {
	font-size: .84rem;
	color: #fff;
	margin-bottom: .2rem
}

@media(max-width:991px) {

	.about-modern-hero>.container,
	.about-quality>.container,
	.factory-hero>.container,
	.contact-modern-hero>.container {
		grid-template-columns: 1fr
	}

	.about-capability-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.product-hub-guidance>.container,
	.manufacturing-cta>.container {
		display: block
	}

	.product-hub-guidance .btn,
	.manufacturing-cta .btn {
		margin-top: 1.5rem
	}
}

@media(max-width:767px) {
	.about-modern-hero {
		padding: 3.5rem 0
	}

	.about-modern-hero>.container {
		padding-top: 0 !important
	}

	.about-modern-hero h1 {
		font-size: 2.7rem
	}

	.about-modern-hero aside>img {
		height: 270px
	}

	.about-modern-hero aside>div {
		grid-template-columns: 1fr
	}

	.about-modern-hero aside span {
		border-right: 0;
		border-bottom: 1px solid #dce4e7
	}

	.about-capability-grid {
		grid-template-columns: 1fr
	}

	.about-capability-grid article {
		min-height: auto
	}

	.hero-inline-facts {
		display: grid;
		grid-template-columns: 1fr
	}

	.product-hub-guidance,
	.manufacturing-cta {
		padding: 4rem 0
	}

	.product-hub-guidance .btn,
	.manufacturing-cta .btn {
		width: 100%
	}

	.factory-hero aside,
	.contact-modern-hero aside {
		padding: .8rem
	}
}

/* Breadcrumbs sit over the opening visual, below the floating navigation. */
.blog-feature-image img,
.modern-blog-image img {
	object-fit: contain !important;
	background: #e7edef
}

@media(max-width:767px) {
	.site-breadcrumb-wrap {
		top: 101px
	}

	.site-breadcrumbs {
		min-height: 42px;
		padding-top: 0 !important;
		padding-bottom: 0 !important
	}

	.article-modern-hero {
		padding: 10rem 0 3.5rem !important
	}

	.about-modern-hero {
		padding: 10rem 0 3.5rem !important
	}

	.project-index-hero {
		padding: 10rem 0 3.8rem !important
	}
}

@media(max-width:380px) {
	.smart-hero>.container {
		padding-left: 18px !important;
		padding-right: 18px !important
	}

	.smart-hero h1 {
		font-size: 2.35rem !important
	}

	.smart-hero .lead {
		font-size: .88rem !important
	}

	.hero-trust-rail>.container {
		grid-template-columns: 1fr
	}

	.proof-grid {
		grid-template-columns: 1fr 1fr !important
	}

	.client-grid.modern {
		grid-template-columns: 1fr !important
	}
}

/* --------------- New CSS  ------------------- */

.category-product-image {
	width: 100%;
	height: 220px;
	object-fit: cover;
	overflow: hidden;
	margin-bottom: 22px;
}

.category-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: .45s;
}

.category-card:hover .category-product-image img {
	transform: scale(1.05);
}

h2.cate-text,
.related-cateh3 {
	font-size: 22px;
}

.lead {
	font-size: 1.13rem;
}

/* Product Page CSS  */

.hero-spec-card {
	margin-left: auto;
	padding: 24px;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 20px 45px rgba(0, 0, 0, .12);
	margin-top: 10px;
}

.hero-spec-tag {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 30px;
	background: #f3f7f2;
	color: #4d7c0f;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.hero-spec-card h3 {
	margin: 0 0 18px;
	font-size: 1.3rem;
	font-weight: 700;
	color: #222;
}

.hero-spec-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hero-spec-card li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 10px 0;
	border-top: 1px solid #ececec;
	font-size: .95rem;
	color: #555;
}

.hero-spec-card li:first-child {
	border-top: none;
	padding-top: 0;
}

.hero-spec-card i {
	color: #4d7c0f;
	font-size: 18px;
	margin-top: 2px;
}


header.catalog-detail-hero .eyebrow {
	margin-top: 16px !important;
	margin-bottom: 9px !important;
}


section.case-facts .container div:nth-child(4),
section.product-proof .container div:nth-child(4),
section.catalog-detail-strip .container div:nth-child(4),
section.product-engineering .engineering-steps div:nth-child(4),
section.product-components .component-panels a:nth-child(3) {
	border-right: 0 !important;
}


.specia-text {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 9px 20px 9px 16px;
	border-radius: 100px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02));
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.15) inset,
		0 8px 24px rgba(0, 0, 0, 0.35);
	font-family: 'Space Grotesk', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.3px;
	color: #f0ede6;
	white-space: nowrap;
}

.specia-text::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #f2a654;
	flex-shrink: 0;
	animation: pulse 2.2s ease-out infinite;
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(242, 166, 84, 0.55);
	}

	70% {
		box-shadow: 0 0 0 7px rgba(242, 166, 84, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(242, 166, 84, 0);
	}
}

@media (max-width: 560px) {
	.specia-text {
		white-space: normal;
		font-size: 12.5px;
		text-align: center;
	}
}

/* Shared navigation trail */
.site-breadcrumb-wrap {
	position: absolute;
	z-index: 6;
	top: 154px;
	left: 0;
	right: 0;
	background: rgba(245, 247, 248, .94);
	border-top: 1px solid rgba(255, 255, 255, .45);
	border-bottom: 1px solid #dce4e8;
	backdrop-filter: blur(12px)
}

.individual-product .breadcrumbs,
.catalog-product-detail .breadcrumbs,
.catalog-detail-hero>.container>nav.breadcrumbs {
	display: none !important
}

.mobile-products-entry {
	display: grid;
	grid-template-columns: 1fr 70px;
	border-top: 1px solid rgba(255, 255, 255, .13)
}

.mobile-products-entry>a {
	display: grid;
	grid-template-columns: 30px 1fr;
	align-items: center;
	color: #fff;
	padding: 15px 0;
	font-size: 1.22rem;
	font-weight: 700
}

.mobile-products-entry>a>span {
	font-size: .48rem;
	color: #b67c5d
}

.mobile-products-entry>button {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .7rem;
	border: 0;
	background: transparent;
	color: #9bb1bc
}

.mobile-products-entry>button .bi-grid {
	font-size: 1rem;
	color: #d09a78
}

.mobile-products-entry>button .bi-arrow-right {
	font-size: .75rem
}

.site-breadcrumbs {
	min-height: 46px;
	display: flex;
	align-items: center;
	gap: .62rem;
	white-space: nowrap;
	overflow-x: auto;
	scrollbar-width: none
}

.site-breadcrumbs::-webkit-scrollbar {
	display: none
}

.site-breadcrumbs a,
.site-breadcrumbs span {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .025em;
	color: #55707d
}

.site-breadcrumbs a {
	transition: color .25s
}

.site-breadcrumbs a:hover {
	color: #a6623e
}

.site-breadcrumbs span {
	color: #102f3e
}

.site-breadcrumbs i {
	font-size: .58rem;
	color: #9aabb3;
	flex: 0 0 auto
}

/* Homepage category finder */
.solution-heading-row {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 2rem
}

.solution-heading-row>div {
	max-width: 850px
}

.solution-heading-row p {
	max-width: 680px;
	color: #b7c9d2;
	margin: .8rem 0 0
}

.solution-heading-row .btn {
	flex: 0 0 auto;
	color: #fff;
	border-color: rgba(255, 255, 255, .4)
}

.solution-tabs {
	gap: 2.2rem
}

.solution-tabs button {
	padding-right: 0;
	margin-right: 0;
	line-height: 1.35;
	text-align: left;
	flex: 1
}

.solution-stage>img {
	object-fit: cover
}

/* Homepage individual product showcase */
.cinema-copy>small {
	display: block;
	color: #a7c7d7;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-top: .7rem
}

.cinema-card>img {
	object-fit: contain;
	background: #e9eef0;
	padding: 1.4rem
}

.cinema-card:hover>img {
	transform: scale(1.035)
}

/* Homepage knowledge slider: images are contained so important content is never cropped. */
.home-journal {
	background: #f2f5f6 !important;
	overflow: hidden
}

.home-journal .section-head {
	align-items: end
}

.home-journal .section-head p {
	max-width: 680px;
	margin: .8rem 0 0;
	color: var(--brand-ink);
}

.home-blog-viewport {
	overflow: hidden;
	touch-action: pan-y;
	cursor: grab
}

.home-blog-viewport:active {
	cursor: grabbing
}

.home-blog-track {
	display: flex;
	gap: 22px;
	will-change: transform
}

.home-blog-card {
	flex: 0 0 calc((100% - 44px)/3);
	min-width: 0;
	background: #fff;
	border: 1px solid #dce4e7;
	border-radius: 18px;
	overflow: hidden;
	transition: transform .35s, box-shadow .35s, border-color .35s
}

.home-blog-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 24px 55px rgba(7, 39, 53, .13);
	border-color: transparent
}

.home-blog-card>a {
	display: block;
	color: #102f3e;
	height: 100%
}

.home-blog-image {
	height: 260px;
	position: relative;
	display: grid;
	place-items: center;
	background: #e8edef;
	overflow: hidden
}

.home-blog-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .5s
}

.home-blog-card:hover .home-blog-image img {
	transform: scale(1.025)
}

.home-blog-image span {
	position: absolute;
	left: 16px;
	bottom: 16px;
	padding: .55rem .75rem;
	background: #fff;
	border-radius: 999px;
	color: #a6623e;
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	box-shadow: 0 8px 25px rgba(6, 38, 52, .12)
}

.home-blog-copy {
	padding: 1.45rem;
	display: flex;
	flex-direction: column;
	min-height: 300px
}

.home-blog-copy>div {
	display: flex;
	justify-content: space-between;
	gap: 1rem
}

.home-blog-copy small {
	font-size: .64rem;
	color: #515961;
}

.home-blog-copy h3 {
	font-size: 1.3rem;
	line-height: 1.28;
	margin: 1rem 0 .75rem
}

.home-blog-copy p {
	font-size: .82rem;
	line-height: 1.65;
	color: #647680;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.home-blog-copy b {
	font-size: .7rem;
	color: #a6623e;
	margin-top: auto
}

.home-blog-controls {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.4rem;
	margin-top: 2rem
}

.home-blog-controls>div:first-child {
	display: flex;
	gap: .55rem
}

.home-blog-controls button {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid #c8d3d8;
	background: #fff;
	color: #102f3e;
	transition: .25s
}

.home-blog-controls button:hover {
	background: #102f3e;
	color: #fff;
	border-color: #102f3e
}

.home-blog-progress {
	height: 2px;
	background: #d2dce0;
	overflow: hidden
}

.home-blog-progress i {
	display: block;
	height: 100%;
	width: 50%;
	background: #a6623e;
	transition: width .55s
}

.home-blog-controls>span {
	font-size: .7rem;
	letter-spacing: .1em;
	color: #81919a
}

.home-blog-controls>span b {
	color: #102f3e
}

@media(max-width:1199px) {
	.home-blog-card {
		flex-basis: calc((100% - 22px)/2)
	}

	.solution-tabs {
		gap: 1.25rem
	}

	.solution-tabs button {
		font-size: .78rem
	}
}

@media(max-width:767px) {
	.site-breadcrumbs {
		min-height: 42px;
		padding-top: 0 !important;
		padding-bottom: 0 !important
	}

	.solution-heading-row {
		display: block
	}

	.solution-heading-row .btn {
		width: 100%;
		margin-top: 1.3rem
	}

	.solution-heading-row p {
		font-size: .84rem
	}

	.solution-tabs {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 1rem !important;
		padding-bottom: .35rem
	}

	.solution-tabs button {
		flex: 0 0 72%;
		scroll-snap-align: start;
		white-space: normal !important
	}

	.solution-stage {
		margin-top: 1rem
	}

	.home-journal .section-head {
		display: block
	}

	.home-journal .section-head .btn {
		width: 100%;
		margin-top: 1.25rem
	}

	.home-blog-card {
		flex-basis: 100%
	}

	.home-blog-image {
		height: 230px
	}

	.home-blog-copy {
		min-height: 280px
	}

	.home-blog-controls {
		grid-template-columns: auto 1fr
	}

	.home-blog-controls>span {
		display: none
	}

	.cinema-card>img {
		padding: 1rem
	}

	.cinema-copy>small {
		font-size: .52rem
	}
}

/* Final cascade guards for the fixed navigation and breadcrumb overlay. */
.blog-feature-image img,
.modern-blog-image img {
	object-fit: contain !important;
	background: #e7edef
}

.article-modern-hero,
.about-modern-hero,
.project-index-hero,
.page-hero {
	padding-top: 13rem !important
}

@media(max-width:767px) {
	.site-breadcrumb-wrap {
		top: 101px !important
	}

	.article-modern-hero {
		padding: 10rem 0 3.5rem !important
	}

	.about-modern-hero {
		padding: 10rem 0 3.5rem !important
	}

	.project-index-hero {
		padding: 10rem 0 3.8rem !important
	}

	.page-hero {
		padding-top: 10rem !important
	}
}

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* Modern projects index and case studies */
.projects-page,
.project-case-page {
	overflow: hidden;
	background: #fff
}

.projects-hero {
	position: relative;
	min-height: 790px;
	background: #0b202b;
	color: #fff;
	padding: 120px 0 0;
	display: flex;
	flex-direction: column
}

.projects-hero-grid,
.project-case-pattern {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
	background-size: 76px 76px;
	mask-image: linear-gradient(to bottom, #000, transparent 90%)
}

.projects-hero:before {
	content: "";
	position: absolute;
	width: 600px;
	height: 600px;
	border-radius: 50%;
	right: -140px;
	top: -120px;
	background: radial-gradient(circle, rgba(240, 138, 36, .2), transparent 67%)
}

.projects-hero-inner {
	position: relative;
	z-index: 1;
	flex: 1;
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	align-items: center;
	gap: 7vw;
	padding-bottom: 75px
}

.project-kicker,
.project-case-label {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	text-transform: uppercase;
	letter-spacing: .16em;
	font-size: .68rem;
	font-weight: 800;
	color: #ffb363
}

.projects-hero h1 {
	font-size: clamp(3.4rem, 4vw, 6.7rem);
	line-height: .96;
	letter-spacing: -.06em;
	max-width: 920px;
	margin: 1.3rem 0 1.6rem
}

.projects-hero h1 em {
	font-style: normal;
	color: #f3a34e
}

.projects-hero-copy>p {
	font-size: 1.1rem;
	line-height: 1.75;
	color: #bdcdd5;
	max-width: 700px
}

.projects-hero-actions {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin-top: 2rem
}

.projects-text-link {
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	padding: .65rem 0;
	font-weight: 700
}

.projects-hero-dashboard {
	position: relative;
	min-height: 430px;
	display: grid;
	place-items: center
}

.dashboard-orbit {
	width: 285px;
	height: 285px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	box-shadow: 0 0 0 48px rgba(255, 255, 255, .025), 0 0 0 96px rgba(255, 255, 255, .02)
}

.dashboard-orbit:before,
.dashboard-orbit:after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: #f08a24;
	box-shadow: 0 0 22px rgba(240, 138, 36, .65)
}

.dashboard-orbit:before {
	width: 13px;
	height: 13px;
	top: 10px;
	left: 52px
}

.dashboard-orbit:after {
	width: 9px;
	height: 9px;
	right: -29px;
	bottom: 80px
}

.dashboard-orbit i {
	font-size: 3.4rem;
	color: #f4a654;
	margin-bottom: 1rem
}

.dashboard-orbit span {
	font-size: .7rem;
	line-height: 1.65;
	letter-spacing: .16em;
	font-weight: 800
}

.dashboard-tags span {
	position: absolute;
	background: #fff;
	color: #17303c;
	padding: .75rem 1rem;
	border-radius: 100px;
	font-size: .73rem;
	font-weight: 700;
	box-shadow: 0 15px 35px rgba(0, 0, 0, .18)
}

.dashboard-tags span i {
	color: #e67713;
	margin-right: .35rem
}

.dashboard-tags span:nth-child(1) {
	top: 45px;
	left: 5px
}

.dashboard-tags span:nth-child(2) {
	top: 95px;
	right: -15px
}

.dashboard-tags span:nth-child(3) {
	bottom: 70px;
	left: -5px
}

.dashboard-tags span:nth-child(4) {
	bottom: 25px;
	right: 15px
}

.projects-proof {
	position: relative;
	z-index: 2;
	border-top: 1px solid rgba(255, 255, 255, .12);
	background: rgba(5, 18, 25, .48)
}

.projects-proof .container {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.projects-proof .container>div {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 2rem;
	border-right: 1px solid rgba(255, 255, 255, .12)
}

.projects-proof b {
	font-size: 1.65rem;
	color: #f5a34d
}

.projects-proof span {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #bacbd4
}

.projects-intro {
	padding: 115px 0
}

.projects-intro>.container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10vw
}

.projects-intro h2,
.projects-section-head h2,
.projects-method h2,
.projects-seo h2 {
	font-size: clamp(2.5rem, 4.5vw, 4.8rem);
	line-height: 1.06;
	letter-spacing: -.045em
}

.projects-intro .lead {
	font-size: 1.28rem;
	color: var(--ink);
	font-weight: 600
}

.projects-intro p:not(.lead) {
	color: var(--muted);
	line-height: 1.8
}

.projects-grid-section {
	background: #f2f4f4;
	padding: 110px 0
}

.projects-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 3rem;
	margin-bottom: 3.5rem
}

.projects-section-head h2 {
	margin-bottom: 0
}

.projects-section-head>p {
	max-width: 420px;
	color: var(--muted)
}

.projects-modern-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem
}

.project-modern-card {
	background: #fff;
	min-width: 0
}

.project-modern-featured {
	grid-column: 1/-1;
	display: grid;
	grid-template-columns: 1.35fr .65fr
}

.project-modern-media {
	height: 390px;
	position: relative;
	overflow: hidden;
	display: block;
	color: #fff
}

.project-modern-featured .project-modern-media {
	height: 560px
}

.project-modern-media:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(5, 25, 35, .72), transparent 55%)
}

.project-modern-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2, .75, .2, 1)
}

.project-modern-card:hover .project-modern-media img {
	transform: scale(1.045)
}

.project-number {
	position: absolute;
	z-index: 2;
	top: 1.2rem;
	left: 1.2rem;
	width: 46px;
	height: 46px;
	background: #fff;
	color: #142f3d;
	display: grid;
	place-items: center;
	font-size: .7rem;
	font-weight: 800
}

.project-view {
	position: absolute;
	z-index: 2;
	bottom: 1.4rem;
	right: 1.4rem;
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 800
}

.project-view i {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #f08a24;
	color: #17242b;
	margin-left: .6rem
}

.project-modern-copy {
	padding: 2rem
}

.project-modern-featured .project-modern-copy {
	padding: 4rem 3rem;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.project-modern-meta {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	color: #d76f0b;
	font-size: .66rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em
}

.project-modern-copy h3 {
	font-size: clamp(1.75rem, 2vw, 3rem);
	line-height: 1.08;
	margin: 1.15rem 0
}

.project-modern-copy h3 a {
	color: var(--ink)
}

.project-modern-copy>p {
	color: var(--muted);
	line-height: 1.7
}

.project-modern-foot {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	border-top: 1px solid var(--line);
	padding-top: 1.25rem;
	margin-top: 1.6rem;
	font-size: .77rem;
	font-weight: 700
}

.project-modern-foot small {
	display: block;
	color: #8b979d;
	font-size: .57rem;
	letter-spacing: .1em;
	margin-bottom: .25rem
}

.projects-method {
	padding: 120px 0;
	background: #102b3a;
	color: #fff
}

.projects-method>.container {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	gap: 8vw
}

.projects-method-intro {
	align-self: center
}

.projects-method-intro h2 {
	font-size: clamp(2.4rem, 4vw, 4rem)
}

.projects-method-intro p {
	color: #b7cad4;
	line-height: 1.75
}

.projects-method-intro a {
	color: #fff;
	font-weight: 700;
	border-bottom: 1px solid #647b86;
	padding-bottom: .5rem
}

.projects-method-list {
	border-top: 1px solid rgba(255, 255, 255, .15)
}

.projects-method-list article {
	display: grid;
	grid-template-columns: 55px 45px 1fr;
	gap: 1rem;
	align-items: center;
	padding: 1.6rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .15)
}

.projects-method-list article>b {
	color: #f6a14a
}

.projects-method-list article>i {
	width: 35px;
	height: 35px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	display: grid;
	place-items: center
}

.projects-method-list h3 {
	font-size: 1.35rem;
	margin: 0
}

.projects-method-list p {
	margin: .3rem 0 0;
	color: #aabfc9;
	font-size: .82rem
}

.projects-seo {
	padding: 105px 0
}

.projects-seo h2 {
	max-width: 900px
}

.projects-seo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5vw;
	margin-top: 2.5rem
}

.projects-seo-grid p {
	color: var(--muted);
	line-height: 1.85
}

.project-case-hero {
	min-height: 760px;
	position: relative;
	background: #0b202b;
	color: #fff;
	padding: 115px 0 70px;
	display: flex;
	align-items: center
}

.project-case-hero:before,
.project-case-hero:after {
	content: "";
	position: absolute;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 50%;
	pointer-events: none
}

.project-case-hero:before {
	width: 600px;
	height: 600px;
	right: -140px;
	top: 50px;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, .015)
}

.project-case-hero:after {
	width: 280px;
	height: 280px;
	right: 20%;
	bottom: -170px;
	background: radial-gradient(circle, rgba(240, 138, 36, .2), transparent 68%)
}

.project-case-hero .container {
	position: relative;
	z-index: 1
}

.project-breadcrumb {
	display: flex;
	align-items: center;
	gap: .65rem;
	font-size: .68rem;
	color: #90a9b5;
	margin-bottom: 4rem
}

.project-breadcrumb a {
	color: #b9cbd3
}

.project-breadcrumb i {
	font-size: .55rem
}

.project-case-title {
	max-width: 1000px
}

.project-case-title h1 {
	font-size: clamp(3.6rem, 7vw, 7rem);
	line-height: .93;
	letter-spacing: -.065em;
	margin: 1.4rem 0
}

.project-case-title>p {
	max-width: 780px;
	font-size: 1.12rem;
	line-height: 1.7;
	color: #bdcdd5
}

.project-hero-features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 4.5rem;
	border-top: 1px solid rgba(255, 255, 255, .16);
	border-bottom: 1px solid rgba(255, 255, 255, .16)
}

.project-hero-features>div {
	display: flex;
	gap: .9rem;
	align-items: center;
	padding: 1.4rem;
	border-right: 1px solid rgba(255, 255, 255, .16)
}

.project-hero-features i {
	font-size: 1.35rem;
	color: #f5a24b
}

.project-hero-features span {
	font-size: .59rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: #8fa6b1
}

.project-hero-features strong {
	display: block;
	color: #fff;
	font-size: .78rem;
	letter-spacing: 0;
	text-transform: none;
	margin-top: .25rem
}

.project-scroll {
	position: absolute;
	right: 12px;
	top: 45%;
	color: #fff;
	display: flex;
	gap: .8rem;
	align-items: center;
	transform: rotate(90deg) translateX(50%);
	transform-origin: right center;
	font-size: .64rem;
	text-transform: uppercase;
	letter-spacing: .12em
}

.project-scroll i {
	transform: rotate(-90deg)
}

.project-overview {
	padding: 125px 0
}

.project-overview>.container {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 8vw;
	align-items: center
}

.project-overview-copy h2,
.project-section-heading h2,
.project-challenge-solution h2,
.project-gallery-head h2,
.project-support-cta h2 {
	font-size: clamp(2.5rem, 4vw, 4.5rem);
	line-height: 1.05;
	letter-spacing: -.045em
}

.project-lead {
	font-size: 1.08rem;
	line-height: 1.85;
	color: #50616a
}

.project-benefit-list {
	display: grid;
	gap: .7rem;
	margin-top: 2rem
}

.project-benefit-list span {
	display: flex;
	align-items: center;
	gap: .75rem;
	font-size: .85rem;
	font-weight: 700
}

.project-benefit-list i {
	color: #dc7413;
	font-size: 1.05rem
}

.project-overview-visual {
	height: 620px;
	display: grid;
	grid-template-columns: 1fr .55fr;
	grid-template-rows: 1fr .7fr;
	gap: 1rem;
	position: relative
}

.project-overview-visual button {
	border: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
	background: #ddd
}

.project-overview-visual button:first-child {
	grid-row: 1/3
}

.project-overview-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .5s
}

.project-overview-visual button:hover img {
	transform: scale(1.04)
}

.project-overview-visual button>span {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	background: #fff;
	padding: .75rem 1rem;
	font-size: .7rem;
	font-weight: 800
}

.project-visual-badge {
	background: #f08a24;
	color: #152630;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .8rem
}

.project-visual-badge b {
	font-size: 2.8rem
}

.project-visual-badge span {
	font-size: .62rem;
	text-transform: uppercase;
	font-weight: 800;
	line-height: 1.45
}

.project-delivery-scope {
	padding: 115px 0;
	background: #f2f4f4
}

.project-section-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 3rem
}

.project-section-heading>div {
	max-width: 760px
}

.project-section-heading>p {
	max-width: 400px;
	color: var(--muted)
}

.project-scope-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 4rem;
	border-left: 1px solid #ccd4d7
}

.project-scope-cards article {
	padding: 2rem;
	position: relative;
	border-top: 1px solid #ccd4d7;
	border-right: 1px solid #ccd4d7;
	border-bottom: 1px solid #ccd4d7;
	transition: .35s
}

.project-scope-cards article:hover {
	background: #102b3a;
	color: #fff;
	transform: translateY(-8px)
}

.project-scope-cards article>span {
	font-size: .65rem;
	color: #d66d0c
}

.project-scope-cards article>i {
	display: block;
	font-size: 2.2rem;
	color: #e17817;
	margin: 2rem 0 2rem
}

.project-scope-cards h3 {
	font-size: 1.35rem
}

.project-scope-cards p {
	color: var(--muted);
	font-size: .8rem;
	line-height: 1.7
}

.project-scope-cards article:hover p {
	color: #b8c9d1
}

.project-challenge-solution {
	padding: 120px 0
}

.project-challenge-solution article {
	display: grid;
	grid-template-columns: .45fr 1fr;
	gap: 6vw;
	padding: 4.5rem 0;
	border-top: 1px solid var(--line)
}

.project-story-index {
	font-size: 4.2rem;
	line-height: 1;
	color: #d7dde0;
	font-weight: 800
}

.project-story-index span {
	display: block;
	color: #d76f0b;
	font-size: .62rem;
	letter-spacing: .14em;
	margin-top: 1rem
}

.project-challenge-solution article>div:last-child {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4vw;
	align-items: start
}

.project-challenge-solution h2 {
	font-size: clamp(2rem, 3.5vw, 3.6rem);
	margin: 0
}

.project-challenge-solution p {
	color: var(--muted);
	line-height: 1.85;
	font-size: 1rem
}

.project-gallery-modern {
	background: #0b202b;
	color: #fff;
	padding: 120px 0
}

.project-gallery-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 4rem;
	margin-bottom: 3.5rem
}

.project-gallery-head>div {
	max-width: 770px
}

.project-gallery-head h2 {
	margin-bottom: 1rem
}

.project-gallery-head p {
	color: #abc0ca;
	max-width: 680px
}

.project-gallery-total {
	display: flex;
	align-items: center;
	gap: .8rem
}

.project-gallery-total b {
	font-size: 4rem;
	color: #f3a04a
}

.project-gallery-total span {
	font-size: .62rem;
	letter-spacing: .13em;
	color: #a9bdc7
}

.project-gallery-mosaic {
	display: grid;
	grid-template-columns: 1.2fr .8fr .8fr;
	grid-template-rows: 330px 330px;
	gap: 1rem
}

.project-gallery-mosaic button {
	position: relative;
	overflow: hidden;
	border: 0;
	padding: 0;
	background: #1a333f;
	color: #fff
}

.project-gallery-mosaic button:first-child {
	grid-row: 1/3
}

.project-gallery-mosaic button:nth-child(4) {
	grid-column: 2/4
}

.project-gallery-mosaic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .55s
}

.project-gallery-mosaic button:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(7, 27, 36, .62), transparent 48%)
}

.project-gallery-mosaic button:hover img {
	transform: scale(1.045)
}

.project-gallery-mosaic button>span {
	position: absolute;
	z-index: 2;
	left: 1.2rem;
	right: 1.2rem;
	bottom: 1rem;
	display: flex;
	justify-content: space-between;
	font-size: .68rem;
	font-weight: 800
}

.project-lightbox {
	position: fixed;
	z-index: 99999;
	inset: 0;
	background: rgba(4, 15, 21, .97);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: .25s
}

.project-lightbox.open {
	opacity: 1;
	visibility: visible
}

.project-lightbox-bar {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	height: 75px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 2rem;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	font-size: .72rem;
	letter-spacing: .1em
}

.project-lightbox-bar button {
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 1.4rem
}

.project-lightbox figure {
	margin: 0;
	max-width: min(74vw, 1150px);
	height: calc(100vh - 190px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}

.project-lightbox figure img {
	max-width: 100%;
	max-height: calc(100% - 35px);
	object-fit: contain;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .45)
}

.project-lightbox figcaption {
	font-size: .7rem;
	color: #a9bac3;
	margin-top: 1rem
}

.project-lightbox-nav {
	position: absolute;
	top: 50%;
	width: 56px;
	height: 56px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	background: rgba(255, 255, 255, .06);
	color: #fff
}

.project-lightbox-nav:hover {
	background: #f08a24;
	color: #11242e;
	border-color: #f08a24
}

.project-lightbox-nav.prev {
	left: 2rem
}

.project-lightbox-nav.next {
	right: 2rem
}

.project-lightbox-thumbs {
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: .5rem
}

.project-lightbox-thumbs button {
	width: 58px;
	height: 42px;
	border: 2px solid transparent;
	padding: 0;
	background: transparent;
	opacity: .45
}

.project-lightbox-thumbs button.active {
	border-color: #f08a24;
	opacity: 1
}

.project-lightbox-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.lightbox-lock {
	overflow: hidden
}

.project-support-cta {
	background: #f08a24;
	color: #17242b;
	padding: 100px 0
}

.project-support-cta>.container {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 5rem;
	align-items: end
}

.project-support-cta .eyebrow {
	color: #6f3300
}

.project-support-cta h2 {
	max-width: 850px
}

.project-support-cta p {
	max-width: 740px
}

.project-next {
	padding: 85px 0
}

.project-next>.container>span {
	font-size: .62rem;
	color: #d66e0b;
	letter-spacing: .14em;
	font-weight: 800
}

.project-next a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--ink);
	border-top: 1px solid var(--line);
	margin-top: 1rem;
	padding-top: 2rem
}

.project-next a small {
	color: var(--muted)
}

.project-next h2 {
	font-size: clamp(2rem, 4vw, 4rem);
	margin: .5rem 0
}

.project-next a>i {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #102b3a;
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 1.4rem;
	transition: .3s
}

.project-next a:hover>i {
	background: #f08a24;
	color: #17242b;
	transform: translateX(5px)
}

@media(max-width:991px) {
	.project-case-hero {
		padding: 160px 0 70px;
	}

	.projects-hero-inner {
		grid-template-columns: 1fr
	}

	.projects-hero-dashboard {
		display: none
	}

	.projects-hero {
		min-height: auto
	}

	.projects-proof .container {
		grid-template-columns: repeat(2, 1fr)
	}

	.projects-intro>.container,
	.projects-method>.container,
	.projects-seo-grid {
		grid-template-columns: 1fr;
		gap: 2rem
	}

	.project-modern-featured {
		display: block
	}

	.project-modern-featured .project-modern-media {
		height: 480px
	}

	.project-modern-featured .project-modern-copy {
		padding: 2rem
	}

	.project-case-hero {
		min-height: auto
	}

	.project-scroll {
		display: none
	}

	.project-hero-features {
		grid-template-columns: repeat(2, 1fr)
	}

	.project-overview>.container {
		grid-template-columns: 1fr
	}

	.project-scope-cards {
		grid-template-columns: repeat(2, 1fr)
	}

	.project-challenge-solution article>div:last-child {
		grid-template-columns: 1fr
	}

	.project-gallery-mosaic {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 380px 280px 280px
	}

	.project-gallery-mosaic button:first-child {
		grid-column: 1/3;
		grid-row: auto
	}

	.project-gallery-mosaic button:nth-child(4) {
		grid-column: auto
	}

	.project-lightbox figure {
		max-width: 78vw
	}

	.project-support-cta>.container {
		grid-template-columns: 1fr;
		gap: 2rem
	}

	.project-case-hero:before {
		opacity: .45
	}
}

@media(max-width:767px) {
	.projects-hero {
		padding-top: 90px
	}

	.projects-hero h1 {
		font-size: 3.45rem
	}

	.projects-hero-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: .6rem
	}

	.projects-proof .container>div {
		padding: 1rem
	}

	.projects-intro,
	.projects-grid-section,
	.projects-method,
	.projects-seo {
		padding: 75px 0
	}

	.projects-section-head,
	.project-section-heading,
	.project-gallery-head {
		align-items: flex-start;
		flex-direction: column
	}

	.projects-modern-grid {
		grid-template-columns: 1fr
	}

	.project-modern-featured {
		grid-column: auto
	}

	.project-modern-media,
	.project-modern-featured .project-modern-media {
		height: 360px
	}

	.project-case-hero {
		padding: 95px 0 55px
	}

	.project-breadcrumb {
		margin-bottom: 2.5rem;
		white-space: nowrap;
		overflow: hidden
	}

	.project-case-title h1 {
		font-size: 3.55rem
	}

	.project-hero-features {
		margin-top: 2.7rem
	}

	.project-hero-features>div {
		padding: 1rem
	}

	.project-overview,
	.project-delivery-scope,
	.project-challenge-solution,
	.project-gallery-modern {
		padding: 78px 0
	}

	.project-overview-visual {
		height: 470px;
		grid-template-columns: 1fr .42fr
	}

	.project-scope-cards {
		grid-template-columns: 1fr
	}

	.project-scope-cards article {
		min-height: 300px
	}

	.project-scope-cards article>i {
		margin: 2.5rem 0 1.5rem
	}

	.project-challenge-solution article {
		grid-template-columns: 1fr;
		padding: 3rem 0
	}

	.project-story-index {
		font-size: 3rem
	}

	.project-gallery-total {
		display: none
	}

	.project-gallery-mosaic {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(6, 280px)
	}

	.project-gallery-mosaic button:first-child,
	.project-gallery-mosaic button:nth-child(4) {
		grid-column: auto
	}

	.project-lightbox figure {
		max-width: 94vw;
		height: calc(100vh - 165px)
	}

	.project-lightbox-nav {
		top: auto;
		bottom: 75px
	}

	.project-lightbox-nav.prev {
		left: 1rem
	}

	.project-lightbox-nav.next {
		right: 1rem
	}

	.project-lightbox-thumbs {
		display: none
	}

	.project-lightbox-bar {
		height: 60px;
		padding: 0 1rem
	}

	.project-support-cta {
		padding: 75px 0
	}

	.project-next {
		padding: 60px 0
	}

	.project-next a>i {
		width: 54px;
		height: 54px;
		flex: 0 0 54px
	}

	.project-next h2 {
		font-size: 1.8rem
	}
}

@media(max-width:480px) {

	.projects-hero h1,
	.project-case-title h1 {
		font-size: 2.85rem
	}

	.projects-proof .container {
		grid-template-columns: 1fr 1fr
	}

	.projects-proof .container>div {
		display: block
	}

	.projects-proof b,
	.projects-proof span {
		display: block
	}

	.project-hero-features {
		grid-template-columns: 1fr 1fr
	}

	.project-hero-features i {
		display: none
	}

	.project-overview-visual {
		height: 400px;
		grid-template-columns: 1fr
	}

	.project-overview-visual button:first-child {
		grid-row: 1/3
	}

	.project-overview-visual button:nth-child(2) {
		display: none
	}

	.project-modern-foot {
		grid-template-columns: 1fr
	}

	.project-gallery-mosaic {
		grid-template-rows: repeat(6, 240px)
	}
}

/* Projects refinement: equal cards, image hero and gap-free six-image gallery */
.projects-grid-section {
	padding-top: 120px
}

.projects-section-head>div {
	max-width: 820px
}

.projects-section-head h2 {
	max-width: 800px
}

.project-modern-card,
.project-modern-featured {
	display: block;
	grid-column: auto
}

.project-modern-featured .project-modern-media,
.project-modern-media {
	height: 390px
}

.project-modern-featured .project-modern-copy,
.project-modern-copy {
	padding: 2rem;
	display: block
}

.project-case-page+.site-breadcrumb-wrap,
.project-case-page~.site-breadcrumb-wrap {
	display: none
}

.project-case-hero {
	background-color: #0b202b;
	background-image: linear-gradient(90deg, rgba(5, 22, 30, .95) 0%, rgba(7, 28, 37, .86) 50%, rgba(7, 26, 35, .62) 100%), var(--project-hero-image);
	background-position: center;
	background-size: cover
}

.project-case-hero:before {
	background: radial-gradient(circle, rgba(240, 138, 36, .18), transparent 68%);
	border-color: rgba(255, 255, 255, .13)
}

.project-case-pattern {
	opacity: .48
}

.project-overview>.container {
	grid-template-columns: .9fr 1.1fr
}

.project-system-board {
	height: 590px;
	position: relative;
	overflow: hidden;
	background: #0e2936;
	color: #fff;
	border: 1px solid #294551;
	box-shadow: 0 32px 75px rgba(10, 31, 40, .16)
}

.system-board-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
	background-size: 55px 55px
}

.project-system-board:before,
.project-system-board:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	border: 1px solid rgba(240, 138, 36, .28);
	border-radius: 50%;
	transform: translate(-50%, -50%)
}

.project-system-board:before {
	width: 330px;
	height: 330px
}

.project-system-board:after {
	width: 470px;
	height: 470px;
	border-color: rgba(255, 255, 255, .1)
}

.system-board-label {
	position: absolute;
	top: 25px;
	left: 28px;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .16em;
	color: #f4a04b
}

.system-board-core {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 50%;
	width: 205px;
	height: 205px;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #f08a24;
	color: #142630;
	box-shadow: 0 0 0 12px rgba(240, 138, 36, .12), 0 20px 50px rgba(0, 0, 0, .28)
}

.system-board-core i {
	font-size: 2.2rem;
	margin-bottom: .6rem
}

.system-board-core strong {
	font-size: 1.05rem;
    display: inline-block;
    max-width: 180px;
    word-wrap: break-word;
    line-height: normal !important;
	
}

.system-board-core small {
	font-size: .58rem;
	margin-top: .25rem
}

.system-board-node {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: .55rem;
	max-width: 185px;
	padding: .8rem 1rem;
	background: #fff;
	color: #17303b;
	box-shadow: 0 14px 35px rgba(0, 0, 0, .22);
	font-size: .64rem;
	font-weight: 800
}

.system-board-node i {
	color: #dc710f;
	font-size: 1.05rem
}

.system-node-1 {
	left: 5%;
	top: 22%
}

.system-node-2 {
	right: 5%;
	top: 24%
}

.system-node-3 {
	left: 5%;
	bottom: 24%
}

.system-node-4 {
	right: 5%;
	bottom: 22%
}

.system-board-status {
	position: absolute;
	z-index: 3;
	left: 28px;
	bottom: 24px;
	display: flex;
	align-items: center;
	gap: .7rem;
	color: #afc4ce;
	font-size: .62rem;
	line-height: 1.45
}

.system-board-status i {
	color: #f08a24;
	font-size: 1.2rem
}

.system-board-status strong {
	color: #fff
}

.project-gallery-head {
	display: block
}

.project-gallery-mosaic {
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 330px);
	grid-auto-flow: row;
	gap: 1rem
}

.project-gallery-mosaic button:first-child,
.project-gallery-mosaic button:nth-child(4) {
	grid-column: auto;
	grid-row: auto
}

.project-gallery-mosaic button {
	min-width: 0
}

.project-gallery-total {
	display: none
}

@media(max-width:991px) {
	.project-overview>.container {
		grid-template-columns: 1fr
	}

	.project-system-board {
		height: 560px
	}

	.project-gallery-mosaic {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, 300px)
	}

	.project-gallery-mosaic button:first-child,
	.project-gallery-mosaic button:nth-child(4) {
		grid-column: auto;
		grid-row: auto
	}
}

@media(max-width:767px) {
	.projects-grid-section {
		padding-top: 78px
	}

	.project-modern-featured .project-modern-media,
	.project-modern-media {
		height: 360px
	}

	.project-system-board {
		height: 500px
	}

	.system-board-core {
		width: 160px;
		height: 160px
	}

	.project-system-board:before {
		width: 270px;
		height: 270px
	}

	.project-system-board:after {
		width: 400px;
		height: 400px
	}

	.system-board-node {
		max-width: 145px;
		padding: .65rem;
		font-size: .56rem
	}

	.system-node-1,
	.system-node-3 {
		left: 3%
	}

	.system-node-2,
	.system-node-4 {
		right: 3%
	}

	.project-gallery-mosaic {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(6, 270px)
	}
}

@media(max-width:480px) {
	.project-system-board {
		height: 480px
	}

	.system-board-core {
		width: 170px;
		height: 170px
	}

	.project-delivery-scope .container {
		padding-top: 10px;
	}

	.system-board-core strong {
		line-height: 1;
	}

	.project-system-board:before {
		width: 230px;
		height: 230px
	}

	.project-system-board:after {
		width: 345px;
		height: 345px
	}

	.system-board-node {
		max-width: 120px
	}

	.system-board-node i {
		display: none
	}

	.system-node-1,
	.system-node-2 {
		top: 20%
	}

	.system-node-3,
	.system-node-4 {
		bottom: 22%
	}

	.system-board-status {
		left: 20px;
		bottom: 18px
	}

	.project-gallery-mosaic {
		grid-template-rows: repeat(6, 240px)
	}
}

/* Reviews page */
.reviews-page {
	overflow: hidden;
	background: #fff
}

.reviews-modern-hero {
	position: relative;
	min-height: 760px;
	padding: 145px 0 0;
	background: #0b202b;
	color: #fff;
	display: flex;
	flex-direction: column
}

.reviews-modern-hero:before {
	content: "";
	position: absolute;
	width: 620px;
	height: 620px;
	right: -160px;
	top: -120px;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(255, 255, 255, .018), 0 0 0 160px rgba(255, 255, 255, .012)
}

.reviews-hero-pattern {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(to bottom, #000, transparent 92%)
}

.reviews-modern-hero>.container {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.25fr .55fr;
	gap: 8vw;
	align-items: center;
	flex: 1;
	padding-bottom: 80px;

}

.review-kicker {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	font-size: .67rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #f5a34d
}

.reviews-hero-copy h1 {
	font-size: clamp(3.7rem, 4vw, 6.6rem);
	line-height: .95;
	letter-spacing: -.062em;
	max-width: 900px;
	margin: 1.3rem 0 1.5rem
}

.reviews-hero-copy h1 em {
	font-style: normal;
	color: #f3a34e
}

.reviews-hero-copy>p {
	font-size: 1.08rem;
	line-height: 1.75;
	color: #bdcdd5;
	max-width: 680px
}

.reviews-hero-copy>div {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin-top: 2rem
}

.reviews-hero-link {
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .35);
	padding: .65rem 0;
	font-weight: 700
}

.reviews-trust-card {
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .16);
	backdrop-filter: blur(12px);
	padding: 1.2rem
}

.reviews-trust-card>span {
	font-size: .58rem;
	letter-spacing: .15em;
	color: #f3a34e
}

.reviews-trust-card>i {
	display: block;
	font-size: 2.5rem;
	color: #f3a34e;
	margin: 0.60rem 0
}

.reviews-trust-card h2 {
	font-size: 1.65rem;
	line-height: 1.2
}

.reviews-trust-card p {
	font-size: .82rem;
	color: #b7c8d0;
	line-height: 1.7;
	padding-bottom: 1.3rem;
	border-bottom: 1px solid rgba(255, 255, 255, .12)
}

.reviews-trust-card>div {
	font-size: .72rem;
	margin-top: .8rem
}

.reviews-trust-card>div i {
	color: #f3a34e;
	margin-right: .5rem
}

.reviews-hero-facts {
	position: relative;
	z-index: 1;
	border-top: 1px solid rgba(255, 255, 255, .13);
	background: rgba(4, 17, 23, .45)
}

.reviews-hero-facts>.container {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.reviews-hero-facts .container>div {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.4rem 2rem;
	border-right: 1px solid rgba(255, 255, 255, .13)
}

.reviews-hero-facts strong {
	font-size: 1.7rem;
	color: #f3a34e
}

.reviews-hero-facts span {
	font-size: .62rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #b7c8d0
}

.reviews-client-section {
	padding: 105px 0;
	background: #f2f4f4
}

.reviews-client-heading {
	display: grid;
	grid-template-columns: 1fr .7fr;
	gap: 5vw;
	align-items: end;
	margin-bottom: 3rem
}

.reviews-client-heading h2,
.reviews-section-head h2 {
	font-size: clamp(2.5rem, 4.5vw, 4.6rem);
	line-height: 1.04;
	letter-spacing: -.05em
}

.reviews-client-heading p,
.reviews-section-head>p {
	color: var(--muted);
	line-height: 1.75
}

.reviews-logo-viewport {
	overflow: hidden;
	touch-action: pan-y;
	cursor: grab;
	user-select: none
}

.reviews-logo-viewport:active {
	cursor: grabbing
}

.reviews-logo-viewport .client-logo-track {
	gap: 18px
}

.reviews-logo-card {
	width: 260px;
	height: 155px;
	flex: 0 0 260px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #d9e1e4;
	overflow: hidden
}

.reviews-logo-card:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--mark, #f08a24)
}

.reviews-logo-card>img {
	width: 170px;
	height: 80px;
	object-fit: contain;
	filter: grayscale(1);
	transition: .35s
}

.reviews-logo-card:hover>img {
	filter: none;
	transform: scale(1.04)
}

.reviews-logo-card>em {
	position: absolute;
	left: 1rem;
	bottom: .7rem;
	font-style: normal;
	font-size: .52rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #7b8c94
}

.custom-client-mark {
	text-align: center;
	color: var(--mark, #173947)
}

.custom-client-mark b {
	display: block;
	font-size: 2.25rem;
	line-height: 1;
	letter-spacing: -.08em
}

.custom-client-mark span {
	display: block;
	font-size: .86rem;
	font-weight: 800;
	margin-top: .5rem
}

.custom-client-mark small {
	font-size: .45rem;
	letter-spacing: .18em;
	color: #8a989f
}

.tone-coral {
	--mark: #d8523c
}

.tone-red {
	--mark: #b91f28
}

.tone-green {
	--mark: #397b4c
}

.tone-blue {
	--mark: #255c91
}

.tone-gold {
	--mark: #b58224
}

.tone-navy {
	--mark: #173e62
}

.tone-rust {
	--mark: #a54e2a
}

.tone-teal {
	--mark: #24766f
}

.tone-amber {
	--mark: #dd8a18
}

.reviews-feedback-section {
	padding: 115px 0;
	background: #fff
}

.reviews-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 4rem;
	margin-bottom: 3.5rem
}

.reviews-section-head>div {
	max-width: 790px
}

.reviews-section-head>p {
	max-width: 430px
}

.reviews-carousel {
	overflow: hidden;
	touch-action: pan-y
}

.reviews-track {
	display: flex;
	gap: 20px;
	will-change: transform
}

.review-story-card {
	flex: 0 0 calc((100% - 40px)/3);
	min-height: 510px;
	padding: 2rem;
	background: #f5f6f5;
	border: 1px solid #dce1e1;
	display: flex;
	flex-direction: column;
	transition: box-shadow .3s, transform .3s
}

.review-story-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 24px 55px rgba(9, 34, 44, .1)
}

.review-card-top {
	display: flex;
	justify-content: space-between;
	align-items: center
}

.review-card-top>span {
	font-size: .62rem;
	color: #87969c
}

.review-card-top>i {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #102b3a;
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 1.2rem
}

.review-stars {
	display: flex;
	gap: .25rem;
	color: #e67a16;
	font-size: .7rem;
	margin: 2.2rem 0 1rem
}

.review-story-card blockquote {
	font-size: 1.02rem;
	line-height: 1.75;
	font-weight: 600;
	color: #26383f;
	margin: 0 0 2rem
}

.review-person {
	display: flex;
	align-items: center;
	gap: .8rem;
	margin-top: auto
}

.review-person>b,
.review-modal-foot span>b {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #f08a24;
	color: #142630;
	font-size: .68rem
}

.review-person>span {
	min-width: 0
}

.review-person strong,
.review-person small {
	display: block
}

.review-person strong {
	font-size: .73rem
}

.review-person small {
	font-size: .58rem;
	color: #7a8a91;
	margin-top: .2rem
}

.review-person small i {
	margin-right: .25rem
}

.review-story-card>button {
	border: 0;
	border-top: 1px solid #d6dede;
	background: transparent;
	padding: 1.2rem 0 0;
	margin-top: 1.5rem;
	display: flex;
	justify-content: space-between;
	color: #143746;
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 800
}

.reviews-carousel-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2rem
}

.reviews-carousel-actions>span {
	font-size: .55rem;
	letter-spacing: .16em;
	color: #89989e
}

.reviews-carousel-actions>div {
	display: flex;
	gap: .6rem
}

.reviews-carousel-actions button {
	width: 48px;
	height: 48px;
	border: 1px solid #cbd5d8;
	border-radius: 50%;
	background: #fff;
	color: #173745
}

.reviews-carousel-actions button:hover {
	background: #102b3a;
	color: #fff
}

.review-detail-modal .modal-content {
	border: 0;
	border-radius: 0;
	padding: 3rem;
	position: relative
}

.review-detail-modal .btn-close {
	position: absolute;
	right: 1.5rem;
	top: 1.5rem
}

.review-modal-label {
	font-size: .62rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #c45f09
}

.review-modal-label span {
	margin-right: 1rem;
	color: #8d9ba1
}

.review-detail-modal .modal-content>i {
	font-size: 3.5rem;
	color: #f08a24;
	line-height: 1;
	margin: 2rem 0 .5rem
}

.review-detail-modal h2 {
	font-size: clamp(2rem, 3vw, 3.2rem)
}

.review-detail-modal .modal-content>p {
	font-size: 1rem;
	line-height: 1.85;
	color: #5d6e75
}

.review-modal-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	border-top: 1px solid #dce2e3;
	margin-top: 2rem;
	padding-top: 1.5rem
}

.review-modal-foot>span {
	display: flex;
	align-items: center;
	gap: .7rem
}

.review-modal-foot small {
	font-size: .6rem;
	color: #7b8b92
}

.reviews-reference {
	padding: 110px 0;
	scroll-margin-top: 100px
}

@media(max-width:991px) {
	.reviews-modern-hero>.container {
		grid-template-columns: 1fr
	}

	.reviews-trust-card {
		display: none
	}

	.reviews-modern-hero {
		min-height: auto
	}

	.reviews-hero-facts>.container {
		grid-template-columns: repeat(2, 1fr)
	}

	.reviews-client-heading {
		grid-template-columns: 1fr
	}

	.review-story-card {
		flex-basis: calc((100% - 20px)/2)
	}

	.reviews-section-head {
		align-items: flex-start;
		flex-direction: column
	}

	.reviews-modern-hero:before {
		opacity: .5
	}
}

@media(max-width:767px) {
	.reviews-modern-hero {
		padding-top: 110px
	}

	.reviews-modern-hero>.container {
		padding-bottom: 60px
	}

	.reviews-hero-copy h1 {
		font-size: 3.4rem
	}

	.reviews-hero-copy>div {
		align-items: flex-start;
		flex-direction: column;
		gap: .6rem
	}

	.reviews-hero-facts .container>div {
		padding: 1rem
	}

	.reviews-client-section,
	.reviews-feedback-section,
	.reviews-reference {
		padding: 75px 0
	}

	.reviews-client-heading {
		margin-bottom: 2rem
	}

	.reviews-logo-card {
		width: 215px;
		height: 135px;
		flex-basis: 215px
	}

	.reviews-logo-card>img {
		width: 140px;
		height: 65px
	}

	.review-story-card {
		flex-basis: 100%;
		min-height: 490px
	}

	.review-detail-modal .modal-content {
		padding: 2rem 1.4rem
	}

	.review-modal-foot {
		align-items: flex-start;
		flex-direction: column
	}

	.review-modal-foot .btn {
		width: 100%
	}
}

@media(max-width:480px) {
	.reviews-hero-copy h1 {
		font-size: 2.85rem
	}

	.reviews-hero-facts strong,
	.reviews-hero-facts span {
		display: block
	}

	.reviews-hero-facts .container>div {
		display: block
	}

	.review-story-card {
		padding: 1.5rem;
		min-height: 500px
	}

	.reviews-carousel-actions>span {
		display: none
	}

	.reviews-carousel-actions {
		justify-content: flex-end
	}
}

/* Slim wordmarks and Google-inspired review presentation */
.reviews-client-section {
	padding: 85px 0
}

.reviews-logo-viewport {
	border-top: 1px solid #d8e0e2;
	border-bottom: 1px solid #d8e0e2;
	background: #fff
}

.reviews-logo-viewport .client-logo-track {
	gap: 0
}

.reviews-logo-card {
	width: 215px;
	height: 86px;
	flex: 0 0 215px;
	border: 0;
	border-right: 1px solid #e0e5e6;
	background: transparent;
	overflow: visible
}

.reviews-logo-card:before {
	width: 3px;
	top: 23px;
	bottom: 23px
}

.reviews-logo-card>em,
.reviews-logo-card>img {
	display: none
}

.custom-client-mark {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: .7rem;
	align-items: center;
	text-align: left;
	color: #21373f
}

.custom-client-mark b {
	grid-row: 1/3;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: color-mix(in srgb, var(--mark) 12%, white);
	color: var(--mark);
	font-size: .85rem;
	letter-spacing: -.04em
}

.custom-client-mark span {
	align-self: end;
	font-size: .78rem;
	line-height: 1.1;
	white-space: nowrap;
	margin: 0
}

.custom-client-mark small {
	align-self: start;
	font-size: .42rem;
	letter-spacing: .15em;
	color: #8a989f;
	margin-top: .22rem
}

.google-review-card {
	min-height: 450px;
	padding: 1.7rem;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #dfe3e6;
	box-shadow: 0 2px 8px rgba(60, 64, 67, .1);
	transform: none
}

.google-review-card:hover {
	transform: none;
	box-shadow: 0 8px 28px rgba(60, 64, 67, .16)
}

.google-review-head,
.google-modal-head {
	display: grid;
	grid-template-columns: 48px 1fr 28px;
	gap: .8rem;
	align-items: center
}

.google-review-avatar {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #e8f0fe;
	color: #1a73e8;
	font-size: .72rem
}

.google-review-head>span {
	min-width: 0
}

.google-review-head strong,
.google-review-head small {
	display: block
}

.google-review-head strong {
	font-size: .75rem;
	color: #202124;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis
}

.google-review-head small {
	font-size: .58rem;
	color: #70757a;
	margin-top: .22rem
}

.google-g {
	font-family: Arial, sans-serif;
	font-size: 1.45rem;
	font-weight: 800;
	font-style: normal;
	color: #4285f4;
	position: relative
}

.google-g:after {
	content: "";
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #fbbc05;
	right: 0;
	bottom: 1px
}

.google-review-card .review-stars {
	display: flex;
	align-items: center;
	gap: .2rem;
	color: #fbbc04;
	font-size: .74rem;
	margin: 1.35rem 0
}

.google-review-card .review-stars small,
.google-review-modal .review-stars small {
	color: #70757a;
	font-size: .55rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	margin-left: .45rem
}

.google-review-card blockquote {
	font-family: Arial, sans-serif;
	font-size: .93rem;
	line-height: 1.72;
	font-weight: 400;
	color: #3c4043;
	margin: 0
}

.google-review-meta {
	margin-top: auto;
	padding-top: 1.3rem;
	color: #70757a;
	font-size: .58rem
}

.google-review-meta i {
	color: #1a73e8;
	margin-right: .35rem
}

.google-review-card>button {
	border: 0;
	border-top: 1px solid #e3e6e8;
	margin-top: 1.2rem;
	padding-top: 1rem;
	color: #1a73e8;
	text-transform: none;
	letter-spacing: 0;
	font-size: .68rem
}

.google-review-modal .modal-dialog {
	width: min(760px, calc(100vw - 30px));
	max-width: 760px;
	margin-left: auto;
	margin-right: auto
}

.google-review-modal .modal-content {
	height: min(620px, calc(100vh - 40px));
	max-height: calc(100vh - 40px);
	padding: 2.5rem;
	overflow: hidden;
	border-radius: 14px;
	box-shadow: 0 24px 80px rgba(32, 33, 36, .28)
}

.google-modal-head {
	padding-right: 2.2rem
}

.google-modal-head h2 {
	font-size: 1rem;
	margin: 0;
	color: #202124
}

.google-modal-head small {
	font-size: .62rem;
	color: #70757a
}

.google-review-modal .review-stars {
	display: flex;
	align-items: center;
	gap: .22rem;
	color: #fbbc04;
	font-size: .8rem;
	margin: 1.5rem 0
}

.google-modal-review {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 1.5rem;
	background: #f8f9fa;
	border: 1px solid #e2e5e7;
	border-radius: 8px
}

.google-modal-review p {
	font-family: Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.85;
	color: #3c4043;
	margin: 0
}

.google-review-modal .review-modal-foot {
	flex: 0 0 auto;
	margin-top: 1.3rem;
	padding-top: 1.2rem
}

.google-review-modal .review-modal-foot>span>i {
	font-size: 1.5rem;
	color: #1a73e8
}

.google-review-modal .review-modal-foot small {
	font-size: .58rem
}

.google-review-modal .btn-close {
	z-index: 2
}

@media(max-width:767px) {
	.reviews-client-section {
		padding: 68px 0
	}

	.reviews-logo-card {
		width: 185px;
		height: 76px;
		flex-basis: 185px
	}

	.custom-client-mark b {
		width: 36px;
		height: 36px
	}

	.custom-client-mark span {
		font-size: .68rem
	}

	.google-review-card {
		min-height: 430px
	}

	.google-review-modal .modal-content {
		height: min(600px, calc(100vh - 24px));
		max-height: calc(100vh - 24px);
		padding: 1.5rem
	}

	.google-modal-review {
		padding: 1rem
	}

	.google-review-modal .review-modal-foot {
		display: block
	}

	.google-review-modal .review-modal-foot .btn {
		margin-top: 1rem
	}
}

/* Refined industry strip and reference-matched customer reviews */
.reviews-client-section {
	padding: 76px 0 0;
	background: linear-gradient(135deg, #eef3f4 0%, #fff 60%)
}

.reviews-client-heading {
	grid-template-columns: 1.25fr .55fr;
	margin-bottom: 2rem
}

.reviews-client-heading h2 {
	color: var(--brand-ink);
	font-size: clamp(2.35rem, 4vw, 4.25rem);
	max-width: 780px;
	margin: .8rem 0 0
}

.industry-label {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .55rem .8rem;
	background: #102b3a;
	color: #fff;
	font-size: .58rem;
	letter-spacing: .15em;
	font-weight: 800
}

.industry-label i {
	color: #f08a24
}

.industry-copy {
	border-left: 2px solid #f08a24;
	padding-left: 1.5rem
}

.industry-copy>b {
	font-size: .72rem;
	color: #173745;
	text-transform: uppercase;
	letter-spacing: .08em
}

.industry-copy p {
	font-size: .79rem;
	line-height: 1.65;
	color: #66777e;
	margin: .45rem 0
}

.industry-copy>span {
	font-size: .57rem;
	color: #c35f0b;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase
}

.reviews-logo-viewport {
	background: #102b3a;
	border: 0
}

.reviews-logo-card {
	height: 94px;
	border-right: 1px solid rgba(255, 255, 255, .13)
}

.reviews-logo-card:before {
	top: 28px;
	bottom: 28px
}

.custom-client-mark {
	color: #fff
}

.custom-client-mark b {
	background: rgba(255, 255, 255, .1);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .13);
	color: #fff
}

.custom-client-mark span {
	color: #fff;
	font-size: .8rem
}

.custom-client-mark small {
	color: #91a7b2
}

.reviews-feedback-section {
	padding: 92px 0;
	background: #fff
}

.google-reviews-layout {
	display: grid;
	grid-template-columns: 285px minmax(0, 1fr);
	gap: 2.2rem;
	align-items: stretch
}

.google-review-summary {
	padding: 1.3rem .5rem 1rem 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start
}

.google-wordmark {
	font-family: Arial, sans-serif;
	font-size: 2.65rem;
	font-weight: 600;
	letter-spacing: -.16rem;
	margin-bottom: 1.6rem
}

.google-wordmark span:nth-child(1),
.google-wordmark span:nth-child(4) {
	color: #4285f4
}

.google-wordmark span:nth-child(2),
.google-wordmark span:nth-child(6) {
	color: #ea4335
}

.google-wordmark span:nth-child(3) {
	color: #fbbc05
}

.google-wordmark span:nth-child(5) {
	color: #34a853
}

.google-review-summary h2 {
	font-size: 2rem;
	line-height: 1.1;
	letter-spacing: -.04em;
	margin-bottom: 1rem
}

.google-review-summary>p {
	font-family: Arial, sans-serif;
	font-size: .95rem;
	line-height: 1.65;
	color: #5f6368;
	max-width: 245px
}

.google-summary-score {
	display: flex;
	align-items: center;
	gap: .8rem;
	margin-top: 1rem
}

.google-summary-score strong {
	font-size: 2rem;
	color: #202124
}

.google-summary-score span {
	display: flex;
	gap: .18rem;
	color: #f9ab00;
	font-size: 1.05rem
}

.google-review-summary>small {
	font-size: .68rem;
	color: #70757a;
	margin: .25rem 0 1.5rem
}

.google-review-summary>a {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .75rem 1rem;
	background: #1a73e8;
	color: #fff;
	border-radius: 4px;
	font-family: Arial, sans-serif;
	font-size: .76rem;
	font-weight: 600
}

.google-review-summary>a b {
	font-size: 1.1rem
}

.google-reviews-layout .reviews-carousel {
	position: relative;
	overflow: visible;
	min-width: 0;
	padding: 0 2px 32px
}

.google-reviews-layout .reviews-track {
	overflow: hidden;
	gap: 16px
}

.google-reviews-layout .google-review-card {
	flex-basis: calc((100% - 32px)/3);
	min-height: 440px;
	height: 440px;
	padding: 1.7rem 1.55rem;
	border-radius: 8px;
	box-shadow: 0 3px 14px rgba(60, 64, 67, .12)
}

.google-reviews-layout .google-review-card blockquote {
	font-size: .9rem;
	line-height: 1.72;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
	overflow: hidden
}

.google-reviews-layout .google-review-card>button {
	margin-top: auto;
	align-self: flex-start;
	border: 0;
	padding: 0;
	color: #1a73e8
}

.google-slider-arrow {
	position: absolute;
	z-index: 3;
	top: calc(50% - 32px);
	width: 54px;
	height: 54px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #202124;
	display: grid;
	place-items: center;
	box-shadow: 0 4px 18px rgba(60, 64, 67, .17)
}

.google-slider-arrow.prev {
	left: -29px
}

.google-slider-arrow.next {
	right: -29px
}

.google-slider-arrow:hover {
	background: #1a73e8;
	color: #fff
}

.google-review-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1px;
	display: flex;
	justify-content: center;
	gap: .55rem
}

.google-review-dots i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #d2d5d8;
	transition: .3s
}

.google-review-dots i.active {
	background: #1a73e8
}

.minimal-review-modal .modal-dialog {
	width: min(560px, calc(100vw - 28px));
	max-width: 560px
}

.minimal-review-modal .modal-content {
	height: auto;
	max-height: calc(100vh - 32px);
	min-height: 0;
	padding: 2rem;
	border-radius: 10px
}

.minimal-review-modal .google-review-head {
	padding-right: 2rem
}

.minimal-review-modal .review-stars {
	margin: 1.3rem 0
}

.minimal-review-modal .google-modal-review {
	overflow-y: auto;
	min-height: 0;
	max-height: calc(100vh - 245px);
	padding: 0;
	background: transparent;
	border: 0
}

.minimal-review-modal .google-modal-review p {
	font-size: .96rem;
	line-height: 1.8
}

.minimal-review-modal .btn-close {
	top: 1rem;
	right: 1rem
}

@media(max-width:1100px) {
	.google-reviews-layout {
		grid-template-columns: 240px minmax(0, 1fr)
	}

	.google-reviews-layout .google-review-card {
		flex-basis: calc((100% - 16px)/2)
	}

	.reviews-client-heading {
		grid-template-columns: 1fr .7fr
	}
}

@media(max-width:991px) {
	.reviews-client-heading {
		grid-template-columns: 1fr
	}

	.industry-copy {
		max-width: 620px
	}

	.google-reviews-layout {
		grid-template-columns: 1fr
	}

	.google-review-summary {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 1.5rem;
		align-items: center;
		padding: 0
	}

	.google-wordmark {
		grid-row: 1/3;
		margin: 0
	}

	.google-review-summary h2 {
		margin: 0
	}

	.google-review-summary>p {
		max-width: none;
		margin: 0
	}

	.google-summary-score,
	.google-review-summary>small,
	.google-review-summary>a {
		display: none
	}

	.google-reviews-layout .reviews-carousel {
		margin-top: 1rem
	}
}

@media(max-width:767px) {
	.reviews-client-section {
		padding-top: 62px
	}

	.reviews-client-heading h2 {
		font-size: 2.45rem
	}

	.industry-copy {
		padding-left: 1rem
	}

	.reviews-logo-card {
		height: 82px
	}

	.google-reviews-layout .google-review-card {
		flex-basis: 100%;
		height: 410px;
		min-height: 410px
	}

	.google-slider-arrow {
		width: 46px;
		height: 46px;
		top: calc(50% - 27px)
	}

	.google-slider-arrow.prev {
		left: -8px
	}

	.google-slider-arrow.next {
		right: -8px
	}

	.google-review-summary {
		grid-template-columns: 1fr
	}

	.google-wordmark {
		grid-row: auto;
		font-size: 2.2rem;
		margin-bottom: .8rem
	}

	.google-review-summary>p {
		margin-top: .5rem
	}

	.minimal-review-modal .modal-content {
		padding: 1.5rem
	}

	.minimal-review-modal .google-modal-review {
		max-height: calc(100vh - 215px)
	}
}

.google-reviews-layout .reviews-carousel {
	overflow: hidden;
	padding-left: 3px;
	padding-right: 3px
}

.google-reviews-layout .reviews-track {
	overflow: visible
}

.google-reviews-layout .google-slider-arrow.prev {
	left: 8px
}

.google-reviews-layout .google-slider-arrow.next {
	right: 8px
}

/* Exact compact Google review proportions */
.reviews-feedback-section {
	padding: 72px 0
}

.google-reviews-layout {
	grid-template-columns: 285px minmax(0, 1fr);
	gap: 2rem
}

.google-review-summary {
	justify-content: center
}

.google-review-summary>a img {
	width: 19px;
	height: 19px
}

.google-g {
	display: block;
	width: 24px;
	height: 24px;
	font-size: 0;
	background: url('../images/google-g.svg') center/contain no-repeat
}

.google-g:after {
	display: none
}

.google-reviews-layout .google-review-card {
	height: 360px;
	min-height: 360px;
	padding: 1.55rem 1.45rem;
	border-color: #e4e7e9;
	border-radius: 7px;
	box-shadow: 0 3px 13px rgba(60, 64, 67, .11)
}

.google-reviews-layout .google-review-card .google-review-head {
	grid-template-columns: 48px 1fr 24px
}

.google-reviews-layout .google-review-avatar {
	width: 44px;
	height: 44px
}

.google-reviews-layout .google-review-card .review-stars {
	margin: 1.1rem 0 .9rem;
	font-size: .72rem
}

.google-reviews-layout .google-review-card blockquote {
	font-size: .86rem;
	line-height: 1.62;
	-webkit-line-clamp: 6
}

.google-reviews-layout .google-review-card>button {
	font-size: .65rem;
	padding-top: .65rem
}

.google-slider-arrow {
	width: 48px;
	height: 48px;
	top: calc(50% - 38px)
}

.google-review-dots {
	bottom: 4px;
	gap: .45rem
}

.google-review-dots i {
	width: 7px;
	height: 7px
}

.minimal-review-modal .google-g {
	width: 23px;
	height: 23px
}

@media(max-width:1100px) {
	.google-reviews-layout {
		grid-template-columns: 240px minmax(0, 1fr)
	}
}

@media(max-width:991px) {
	.google-reviews-layout {
		grid-template-columns: 1fr
	}

	.google-reviews-layout .google-review-card {
		height: 350px;
		min-height: 350px
	}
}

@media(max-width:767px) {
	.reviews-feedback-section {
		padding: 60px 0
	}

	.google-reviews-layout .google-review-card {
		height: 345px;
		min-height: 345px
	}

	.google-reviews-layout .google-review-card blockquote {
		-webkit-line-clamp: 6
	}
}

/* Reference-accurate Google review typography and spacing */
.reviews-feedback-section {
	padding: 76px 0 70px
}

.google-reviews-layout {
	font-family: Arial, Helvetica, sans-serif;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 2rem
}

.google-reviews-layout .reviews-carousel {
	padding: 3px;
	overflow: hidden
}

.google-review-summary {
	padding: 1.1rem .75rem 1rem 0
}

.google-wordmark {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 3.75rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: -.28rem;
	margin-bottom: 2rem
}

.google-review-summary h2 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2rem;
	line-height: 1.12;
	font-weight: 700;
	letter-spacing: -.035em;
	color: #202124;
	margin: 0 0 1.25rem
}

.google-review-summary>p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.02rem;
	line-height: 1.72;
	color: #5f6368;
	max-width: 265px;
	margin: 0
}

.google-summary-score {
	gap: .8rem;
	margin-top: 1.8rem
}

.google-summary-score strong {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.5rem;
	line-height: 1;
	font-weight: 500;
	color: #202124
}

.google-summary-score span {
	gap: .16rem;
	color: #f9ab00;
	font-size: 1.45rem
}

.google-review-summary>small {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .84rem;
	color: #5f6368;
	margin: .65rem 0 1.8rem
}

.google-review-summary>a {
	min-width: 245px;
	min-height: 54px;
	justify-content: center;
	gap: .75rem;
	padding: .8rem 1.15rem;
	background: #0b57d0;
	border-radius: 4px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: .9rem;
	font-weight: 500;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .12)
}

.google-review-summary>a:hover {
	background: #0842a0;
	color: #fff
}

.google-review-summary>a img {
	width: 21px;
	height: 21px;
	filter: brightness(0) invert(1)
}

.google-reviews-layout .google-review-card {
	font-family: Arial, Helvetica, sans-serif;
	height: 360px;
	min-height: 360px;
	padding: 1.65rem 1.5rem;
	border: 1px solid #e3e6e8;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 3px 14px rgba(60, 64, 67, .13)
}

.google-reviews-layout .google-review-head {
	grid-template-columns: 48px minmax(0, 1fr) 25px;
	gap: .8rem
}

.google-reviews-layout .google-review-avatar {
	width: 46px;
	height: 46px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	color: #fff;
	background: linear-gradient(145deg, #8e24aa, #6a1b9a)
}

.google-reviews-layout .google-review-card:nth-child(3n+2) .google-review-avatar {
	background: linear-gradient(145deg, #5c9e36, #357a24)
}

.google-reviews-layout .google-review-card:nth-child(3n+3) .google-review-avatar {
	background: linear-gradient(145deg, #1e88e5, #0967bf)
}

.google-reviews-layout .google-review-head strong {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .96rem;
	line-height: 1.25;
	font-weight: 700;
	color: #202124
}

.google-reviews-layout .google-review-head small {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .76rem;
	line-height: 1.35;
	color: #5f6368;
	margin-top: .16rem
}

.google-reviews-layout .google-g {
	width: 25px;
	height: 25px
}

.google-reviews-layout .google-review-card .review-stars {
	gap: .12rem;
	margin: 1.4rem 0 1.15rem;
	color: #f9ab00;
	font-size: 1.12rem
}

.google-reviews-layout .google-review-card blockquote {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .96rem;
	line-height: 1.68;
	font-weight: 400;
	color: #202124;
	-webkit-line-clamp: 6
}

.google-reviews-layout .google-review-card>button {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .76rem;
	font-weight: 600;
	color: #1a73e8;
	margin-top: auto;
	padding-top: .45rem
}

.google-slider-arrow {
	width: 50px;
	height: 50px;
	background: #fff;
	color: #202124;
	box-shadow: 0 4px 18px rgba(60, 64, 67, .18);
	font-size: 1.2rem
}

.google-reviews-layout .google-slider-arrow.prev {
	left: 7px
}

.google-reviews-layout .google-slider-arrow.next {
	right: 7px
}

.google-review-dots {
	display: none !important
}

@media(max-width:1100px) {
	.google-reviews-layout {
		grid-template-columns: 255px minmax(0, 1fr)
	}

	.google-wordmark {
		font-size: 3.3rem
	}

	.google-review-summary>a {
		min-width: 220px
	}
}

@media(max-width:991px) {
	.google-reviews-layout {
		grid-template-columns: 1fr
	}

	.google-review-summary {
		padding: 0;
		grid-template-columns: auto 1fr
	}

	.google-wordmark {
		font-size: 3rem;
		margin: 0
	}

	.google-review-summary h2 {
		font-size: 1.8rem
	}

	.google-reviews-layout .google-review-card {
		height: 360px;
		min-height: 360px
	}
}

@media(max-width:767px) {
	.reviews-feedback-section {
		padding: 58px 0
	}

	.google-review-summary {
		display: block
	}

	.google-wordmark {
		font-size: 3.15rem;
		margin-bottom: 1rem
	}

	.google-review-summary h2 {
		font-size: 1.85rem;
		margin-bottom: .7rem
	}

	.google-review-summary>p {
		font-size: .95rem
	}

	.google-reviews-layout .google-review-card {
		height: 350px;
		min-height: 350px;
		padding: 1.4rem
	}

	.google-reviews-layout .google-review-card blockquote {
		font-size: .92rem
	}

	.google-reviews-layout .google-slider-arrow.prev {
		left: 5px
	}

	.google-reviews-layout .google-slider-arrow.next {
		right: 5px
	}
}

/* Compact unified Google panel, cards and matching modals */
.google-reviews-layout,
.google-review-summary,
.google-review-card,
.minimal-review-modal .modal-content {
	font-family: Arial, Helvetica, sans-serif
}

.google-review-summary {
	padding-right: 1.4rem
}

.google-wordmark {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.7rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: -.2rem;
	margin-bottom: 1.35rem
}

.google-review-summary h2 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.55rem !important;
	line-height: 1.18;
	font-weight: 700;
	letter-spacing: -.025em;
	margin-bottom: .8rem
}

.google-review-summary>p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .9rem;
	line-height: 1.6;
	max-width: 245px
}

.google-summary-score {
	margin-top: 1.2rem;
	gap: .65rem
}

.google-summary-score strong {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2rem
}

.google-summary-score span {
	font-size: 1.12rem
}

.google-review-summary>small {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .72rem;
	margin: .45rem 0 1.25rem
}

.google-review-summary>a {
	min-width: 218px;
	min-height: 48px;
	padding: .65rem .9rem;
	font-family: Arial, Helvetica, sans-serif;
	font-size: .8rem
}

.google-review-summary>a img {
	width: 18px;
	height: 18px
}

.google-reviews-layout .google-review-avatar,
.minimal-review-modal .google-review-avatar {
	font-family: Arial, Helvetica, sans-serif;
	color: #fff;
	background: linear-gradient(145deg, #8e24aa, #6a1b9a)
}

.google-reviews-layout .google-review-card:nth-child(5n+1) .google-review-avatar,
#reviewModal0 .google-review-avatar,
#reviewModal5 .google-review-avatar {
	background: linear-gradient(145deg, #8e24aa, #6a1b9a)
}

.google-reviews-layout .google-review-card:nth-child(5n+2) .google-review-avatar,
#reviewModal1 .google-review-avatar,
#reviewModal6 .google-review-avatar {
	background: linear-gradient(145deg, #5c9e36, #357a24)
}

.google-reviews-layout .google-review-card:nth-child(5n+3) .google-review-avatar,
#reviewModal2 .google-review-avatar,
#reviewModal7 .google-review-avatar {
	background: linear-gradient(145deg, #1e88e5, #0967bf)
}

.google-reviews-layout .google-review-card:nth-child(5n+4) .google-review-avatar,
#reviewModal3 .google-review-avatar,
#reviewModal8 .google-review-avatar {
	background: linear-gradient(145deg, #ef6c00, #d94d00)
}

.google-reviews-layout .google-review-card:nth-child(5n+5) .google-review-avatar,
#reviewModal4 .google-review-avatar,
#reviewModal9 .google-review-avatar {
	background: linear-gradient(145deg, #00897b, #00695c)
}

.minimal-review-modal .modal-content {
	width: 100%;
	padding: 1.65rem;
	background: #fff;
	border: 1px solid #e3e6e8;
	border-radius: 7px;
	box-shadow: 0 8px 38px rgba(60, 64, 67, .2)
}

.minimal-review-modal .google-review-head {
	grid-template-columns: 48px minmax(0, 1fr) 25px;
	gap: .8rem;
	padding-right: 2rem
}

.minimal-review-modal .google-review-avatar {
	width: 46px;
	height: 46px;
	font-size: 1rem;
	font-weight: 400
}

.minimal-review-modal .google-review-head strong {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .96rem;
	line-height: 1.25;
	color: #202124
}

.minimal-review-modal .google-review-head small {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .76rem;
	line-height: 1.35;
	color: #5f6368
}

.minimal-review-modal .review-stars {
	gap: .12rem;
	margin: 1.35rem 0 1.05rem;
	color: #f9ab00;
	font-size: 1.12rem
}

.minimal-review-modal .google-modal-review {
	padding: 0;
	background: #fff;
	border: 0
}

.minimal-review-modal .google-modal-review p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .96rem;
	line-height: 1.68;
	font-weight: 400;
	color: #202124
}

.minimal-review-modal .google-g {
	width: 25px;
	height: 25px
}

@media(max-width:991px) {
	.google-review-summary {
		padding-right: 0
	}

	.google-wordmark {
		font-size: 2.6rem
	}

	.google-review-summary h2 {
		font-size: 1.5rem
	}
}

@media(max-width:767px) {
	.google-wordmark {
		font-size: 2.5rem;
		margin-bottom: .75rem
	}

	.google-review-summary h2 {
		font-size: 1.45rem
	}

	.google-review-summary>p {
		font-size: .86rem
	}
}

/* Complete About page redesign */
.about-page-redesign {
	overflow: hidden;
	background: #fff
}

.about-hero-new {
	height: 750px;
	position: relative;
	display: flex;
	align-items: center;
	color: #fff
}

.about-hero-new>img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}

.about-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(6, 26, 35, .96) 0%, rgba(7, 28, 37, .87) 48%, rgba(7, 28, 37, .35) 100%)
}

.about-hero-content {
	position: relative;
	z-index: 2;
}

.about-hero-label {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #f4a04a
}

.about-hero-new h1 {
	font-size: clamp(3.2rem, 4vw, 5.35rem);
	line-height: .97;
	letter-spacing: -.055em;
	max-width: 850px;
	margin: 1.25rem 0
}

.about-hero-new .about-hero-content>p {
	max-width: 690px;
	font-size: 1.04rem;
	line-height: 1.75;
	color: #c6d4da
}

.about-hero-actions {
	display: flex;
	align-items: center;
	gap: 1.7rem;
	margin-top: 1.8rem
}

.about-hero-actions>a:not(.btn) {
	color: #fff;
	font-size: .75rem;
	font-weight: 800;
	border-bottom: 1px solid rgba(255, 255, 255, .4);
	padding: .65rem 0
}

.about-hero-facts {
	position: absolute;
	z-index: 3;
	bottom: 0;
	left: 0;
	right: 0;
	border-top: 1px solid rgba(255, 255, 255, .15);
	background: rgba(4, 19, 26, .62);
	backdrop-filter: blur(10px)
}

.about-hero-facts>.container {
	display: grid;
	grid-template-columns: repeat(4, 1fr)
}

.about-hero-facts .container>div {
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: 1.25rem 1.8rem;
	border-right: 1px solid rgba(255, 255, 255, .14)
}

.about-hero-facts strong {
	font-size: 1.45rem;
	color: #f3a04a
}

.about-hero-facts span {
	font-size: .58rem;
	text-transform: uppercase;
	letter-spacing: .09em;
	color: #bccbd1
}

.about-story-new {
	padding: 105px 0
}

.about-story-new>.container {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 9vw
}

.about-story-heading h2,
.about-leadership-copy h2,
.about-manufacturing-copy h2,
.about-section-head h2,
.about-values-intro h2,
.about-timeline-intro h2,
.about-delivery-copy h2 {
	font-size: clamp(2.45rem, 4.2vw, 4.4rem);
	line-height: 1.04;
	letter-spacing: -.05em
}

.about-story-copy .lead {
	font-size: 1.2rem;
	line-height: 1.7;
	color: #22383f;
	font-weight: 600
}

.about-story-copy p:not(.lead) {
	color: #62737a;
	line-height: 1.85
}

.about-leadership-new {
	padding: 100px 0;
	background: #f1f4f4
}

.about-leadership-new>.container {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 8vw;
	align-items: center
}

.about-leader-card {
	display: grid;
	grid-template-columns: 145px 1fr;
	gap: 1.5rem;
	background: #102b3a;
	color: #fff;
	padding: 1.6rem;
	box-shadow: 0 25px 60px rgba(10, 36, 47, .16)
}

.about-leader-card img {
	width: 145px;
	height: 190px;
	object-fit: cover;
	object-position: center top
}

.about-leader-card>div {
	align-self: center
}

.about-leader-card span {
	font-size: .55rem;
	letter-spacing: .14em;
	color: #f3a04a
}

.about-leader-card h2 {
	font-size: 1.55rem;
	margin: .4rem 0 1rem
}

.about-leader-card p {
	font-size: .76rem;
	line-height: 1.75;
	color: #b7c8cf;
	margin: 0
}

.about-leadership-copy>p {
	color: #607279;
	line-height: 1.8
}

.about-principles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .8rem;
	margin-top: 1.8rem
}

.about-principles span {
	font-size: .72rem;
	font-weight: 700
}

.about-principles i {
	color: #d96f0e;
	margin-right: .5rem
}

.about-manufacturing-new {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 760px;
	background: #0d2936;
	color: #fff
}

.about-manufacturing-image {
	position: relative;
	min-height: 650px
}

.about-manufacturing-image img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.about-manufacturing-image:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(7, 26, 34, .65), transparent 55%)
}

.about-manufacturing-image>span {
	position: absolute;
	z-index: 2;
	left: 2rem;
	bottom: 2rem;
	font-size: .58rem;
	letter-spacing: .16em;
	font-weight: 800
}

.about-manufacturing-copy {
	padding: 90px max(5vw, 45px)
}

.about-manufacturing-copy>p {
	color: #b9c9d0;
	line-height: 1.8;
	max-width: 650px
}

.about-manufacturing-steps {
	margin: 2.4rem 0
}

.about-manufacturing-steps article {
	display: grid;
	grid-template-columns: 45px 1fr;
	gap: 1rem;
	padding: 1rem 0;
	border-top: 1px solid rgba(255, 255, 255, .14)
}

.about-manufacturing-steps b {
	color: #f3a04a;
	font-size: .65rem
}

.about-manufacturing-steps h3 {
	font-size: .92rem;
	margin: 0
}

.about-manufacturing-steps p {
	font-size: .7rem;
	color: #9fb4bd;
	margin: .25rem 0 0
}

.about-manufacturing-copy>a {
	color: #fff;
	font-size: .72rem;
	font-weight: 800;
	border-bottom: 1px solid #637984;
	padding-bottom: .45rem
}

.about-capabilities-new {
	padding: 110px 0
}

.about-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 4rem;
	margin-bottom: 3.5rem
}

.about-section-head>div {
	max-width: 620px
}

.about-section-head>p {
	max-width: 390px;
	color: #687981
}

.about-capability-grid-new {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-left: 1px solid #d7dfe1;
	border-top: 1px solid #d7dfe1
}

.about-capability-grid-new article {
	min-height: 300px;
	padding: 2rem;
	position: relative;
	border-right: 1px solid #d7dfe1;
	border-bottom: 1px solid #d7dfe1;
	transition: .3s
}

.about-capability-grid-new article:hover {
	background: #102b3a;
	color: #fff
}

.about-capability-grid-new article>span {
	font-size: .58rem;
	color: #c96309
}

.about-capability-grid-new article>i {
	display: block;
	font-size: 2rem;
	color: #dc7413;
	margin: 3rem 0 1.5rem
}

.about-capability-grid-new h3 {
	font-size: 1.18rem
}

.about-capability-grid-new p {
	font-size: .76rem;
	line-height: 1.7;
	color: #697a81
}

.about-capability-grid-new article:hover p {
	color: #b5c5cc
}

.about-values-new {
	padding: 105px 0;
	background: #f1f4f4
}

.about-values-new>.container {
	display: grid;
	grid-template-columns: .7fr 1.3fr;
	gap: 8vw;
	align-items: center
}

.about-values-intro p {
	color: #65767d;
	line-height: 1.8
}

.about-values-list {
	border-top: 1px solid #cfd8da
}

.about-values-list article {
	display: grid;
	grid-template-columns: 42px 45px 1fr;
	gap: 1rem;
	align-items: center;
	padding: 1.45rem 0;
	border-bottom: 1px solid #cfd8da
}

.about-values-list article>b {
	font-size: .6rem;
	color: #c96309
}

.about-values-list article>i {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #fff;
	display: grid;
	place-items: center;
	color: #173b4b
}

.about-values-list h3 {
	font-size: 1rem;
	margin: 0
}

.about-values-list p {
	font-size: .72rem;
	color: #6a7a80;
	margin: .2rem 0 0
}

.about-timeline-new {
	padding: 110px 0;
	background: #fff
}

.about-timeline-intro {
	margin-bottom: 4rem
}

.about-timeline-intro .eyebrow {
	grid-column: 1/-1
}

.about-timeline-intro p {
	color: #687980
}

.about-timeline-track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid #cfd9dc;
	border-left: 1px solid #cfd9dc
}

.about-timeline-track article {
	position: relative;
	min-height: 250px;
	padding: 2.2rem;
	border-right: 1px solid #cfd9dc;
	border-bottom: 1px solid #cfd9dc
}

.timeline-marker {
	position: absolute;
	right: 1.4rem;
	top: 1.4rem;
	display: flex;
	align-items: center;
	gap: .45rem
}

.timeline-marker i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f08a24;
	box-shadow: 0 0 0 5px rgba(240, 138, 36, .13)
}

.timeline-marker span {
	font-size: .55rem;
	color: #89989e
}

.about-timeline-track article>b {
	display: block;
	font-size: 2rem;
	color: #d96f0e;
	margin: 1.5rem 0 0.5rem
}

.about-timeline-track h3 {
	font-size: 1.05rem
}

.about-timeline-track p {
	font-size: .73rem;
	line-height: 1.7;
	color: #697980
}

.about-delivery-new {
	padding: 110px 0;
	background: #f5f6f4
}

.about-delivery-new>.container {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 7vw;
	align-items: center
}

.about-delivery-image {
	height: 590px;
	position: relative
}

.about-delivery-image img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.about-delivery-image:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(6, 25, 33, .75), transparent 55%)
}

.about-delivery-image>div {
	position: absolute;
	z-index: 2;
	left: 1.5rem;
	right: 1.5rem;
	bottom: 1.5rem;
	color: #fff
}

.about-delivery-image b,
.about-delivery-image span {
	display: block
}

.about-delivery-image b {
	font-size: .57rem;
	letter-spacing: .15em;
	color: #f3a04a
}

.about-delivery-image span {
	font-size: .82rem;
	margin-top: .3rem
}

.about-delivery-copy>p {
	color: #64757c;
	line-height: 1.8
}

.about-delivery-copy ul {
	list-style: none;
	padding: 0;
	margin: 1.8rem 0
}

.about-delivery-copy li {
	padding: .7rem 0;
	border-bottom: 1px solid #d6dede;
	font-size: .78rem;
	font-weight: 700
}

.about-delivery-copy li i {
	color: #d96f0e;
	margin-right: .6rem
}

.about-final-cta {
	padding: 85px 0;
	background: #f08a24;
	color: #17242b
}

.about-final-cta>.container {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 4rem
}

.about-final-cta span {
	font-size: .58rem;
	letter-spacing: .15em;
	font-weight: 800
}

.about-final-cta h2 {
	font-size: clamp(2.3rem, 4vw, 4rem);
	line-height: 1.05;
	letter-spacing: -.045em;
	max-width: 850px;
	margin: .7rem 0
}

.about-final-cta p {
	margin: 0
}

.about-final-cta .btn {
	flex: 0 0 auto
}

@media(max-width:991px) {
	.about-hero-new {
		height: 650px
	}

	.about-story-new>.container,
	.about-leadership-new>.container,
	.about-values-new>.container,
	.about-delivery-new>.container {
		grid-template-columns: 1fr;
		gap: 3rem
	}

	.about-manufacturing-new {
		grid-template-columns: 1fr
	}

	.about-manufacturing-image {
		min-height: 550px
	}

	.about-capability-grid-new {
		grid-template-columns: repeat(2, 1fr)
	}

	.about-timeline-track {
		grid-template-columns: repeat(2, 1fr)
	}

	.about-final-cta>.container {
		align-items: flex-start;
		flex-direction: column;
		gap: 2rem
	}

	.about-delivery-image {
		height: 500px
	}
}

@media(max-width:767px) {
	.about-hero-new {
		height: fit-content;
		align-items: flex-start;
		padding-top: 180px;
		padding-bottom: 50px;
	}

	.about-hero-content {
		padding-top: 0 !important;
		padding-bottom: 120px
	}

	.about-hero-new h1 {
		font-size: 3rem
	}

	.about-hero-new .about-hero-content>p {
		font-size: .9rem
	}

	.about-hero-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: .4rem
	}

	.about-hero-facts>.container {
		grid-template-columns: repeat(2, 1fr);
		padding-top: 0 !important
	}

	.about-hero-facts .container>div {
		padding: .75rem 1rem
	}

	.about-story-new,
	.about-leadership-new,
	.about-capabilities-new,
	.about-values-new,
	.about-timeline-new,
	.about-delivery-new {
		padding: 72px 0
	}

	.about-story-new>.container,
	.about-leadership-new>.container,
	.about-values-new>.container,
	.about-delivery-new>.container {
		padding-top: 0 !important
	}

	.about-leader-card {
		grid-template-columns: 95px 1fr;
		padding: 1rem
	}

	.about-leader-card img {
		width: 95px;
		height: 135px
	}

	.about-leader-card p {
		font-size: .68rem
	}

	.about-principles {
		grid-template-columns: 1fr
	}

	.about-manufacturing-image {
		min-height: 430px
	}

	.about-manufacturing-copy {
		padding: 65px 20px
	}

	.about-section-head,
	.about-timeline-intro {
		display: block
	}

	.about-section-head>p,
	.about-timeline-intro p {
		margin-top: 1rem
	}

	.about-capability-grid-new {
		grid-template-columns: 1fr
	}

	.about-capability-grid-new article {
		min-height: 260px
	}

	.about-timeline-track {
		grid-template-columns: 1fr
	}

	.about-timeline-track article {
		min-height: 240px
	}

	.about-delivery-image {
		height: 400px
	}

	.about-final-cta {
		padding: 65px 0
	}

	.about-final-cta>.container {
		padding-top: 0 !important
	}

	.about-final-cta .btn {
		width: 100%
	}
}

@media(max-width:480px) {
	.about-hero-new h1 {
		font-size: 2.55rem
	}

	.about-hero-facts strong {
		font-size: 1.15rem
	}

	.about-leader-card {
		display: block
	}

	.about-leader-card img {
		width: 90px;
		height: 110px;
		margin-bottom: 1rem
	}

	.about-manufacturing-image {
		min-height: 360px
	}

	.about-delivery-image {
		height: 340px
	}
}

/* About hero feature panel and balanced capability cards */
.about-hero-content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 5vw;
	align-items: center
}

.about-hero-main {
	min-width: 0
}

.about-hero-main>p {
	max-width: 690px;
	font-size: 1.04rem;
	line-height: 1.75;
	color: #c6d4da
}

.about-hero-system {
	padding: 1.5rem;
	background: rgba(9, 34, 44, .72);
	border: 1px solid rgba(255, 255, 255, .2);
	backdrop-filter: blur(14px);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .2)
}

.about-system-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, .14)
}

.about-system-head span {
	font-size: .53rem;
	letter-spacing: .14em;
	color: #b9cbd2
}

.about-system-head i {
	color: #f3a04a
}

.about-hero-system>strong {
	display: block;
	font-size: 1.45rem;
	line-height: 1.25;
	margin: 1.4rem 0
}

.about-system-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid rgba(255, 255, 255, .13);
	border-left: 1px solid rgba(255, 255, 255, .13)
}

.about-system-grid span {
	display: flex;
	align-items: center;
	gap: .55rem;
	padding: .85rem;
	border-right: 1px solid rgba(255, 255, 255, .13);
	border-bottom: 1px solid rgba(255, 255, 255, .13);
	font-size: .64rem;
	font-weight: 700
}

.about-system-grid i {
	color: #f3a04a;
	font-size: .9rem
}

.about-hero-system>small {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin-top: 1rem;
	color: #b9cbd2;
	font-size: .57rem
}

.about-hero-system>small i {
	color: #f3a04a
}

.about-capability-grid-new article {
	min-height: 250px;
	padding: 1.7rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start
}

.about-capability-grid-new article>i {
	margin: 1rem 0 1rem
}

.about-capability-grid-new h3 {
	font-size: 1.14rem;
	line-height: 1.3;
	margin: 0 0 .7rem
}

.about-capability-grid-new p {
	font-size: .76rem;
	line-height: 1.65;
	margin: 0
}

.about-capability-grid-new article>span {
	line-height: 1
}

@media(max-width:991px) {
	.about-hero-content {
		grid-template-columns: minmax(0, 1fr) 290px;
		gap: 2rem
	}

	.about-hero-system {
		padding: 1.2rem
	}

	.about-hero-system>strong {
		font-size: 1.2rem
	}

	.about-system-grid {
		grid-template-columns: 1fr
	}

	.about-system-grid span {
		padding: .62rem
	}

	.about-capability-grid-new article {
		min-height: 255px
	}
}

@media(max-width:767px) {
	.about-hero-content {
		display: block
	}

	.about-hero-system {
		display: none
	}

	.about-capability-grid-new article {
		min-height: 230px;
		padding: 1.5rem
	}

	.about-capability-grid-new article>i {
		margin: 1.6rem 0 1rem
	}

	.about-capability-grid-new h3 {
		margin-bottom: .55rem
	}
}

/* White brand-mark visibility: header only, footer background remains unchanged */
@media(min-width:1200px) {
	.navbar {
		min-height: 82px;
		background: linear-gradient(112deg, rgba(8, 29, 39, .98) 0%, rgba(14, 48, 61, .98) 58%, rgba(17, 57, 67, .98) 100%) !important;
		border: 1px solid rgba(255, 255, 255, .12);
		box-shadow: 0 18px 48px rgba(5, 25, 34, .22)
	}

	.navbar.scrolled {
		background: linear-gradient(112deg, rgba(7, 27, 36, .99), rgba(13, 44, 56, .99)) !important;
		box-shadow: 0 18px 48px rgba(5, 25, 34, .3)
	}

	.navbar:before {
		background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 68%, rgba(240, 138, 36, .9) 74%, rgba(74, 139, 154, .75) 79%, transparent 86%)
	}

	.navbar>.container {
		min-height: 62px
	}

	/*.navbar .navbar-brand {*/
	/*	width: 96px;*/
	/*	max-width: 96px;*/
	/*	height: 68px;*/
	/*	justify-content: center;*/
	/*	overflow: visible*/
	/*}*/

	/*.navbar .nav-logo {*/
	/*	display: block;*/
	/*	width: 100px;*/
	/*	height: 100px;*/
	/*	max-height: none;*/
	/*	object-fit: contain*/
	/*}*/

	.navbar .navbar-nav>.nav-item>.nav-link,
	.navbar .navbar-nav>li>.nav-link {
		position: relative;
		color: #f4f8fa !important;
		font-size: .81rem;
		font-weight: 700;
		letter-spacing: .015em;
		text-shadow: 0 1px 1px rgba(0, 0, 0, .15)
	}

	.navbar .navbar-nav>.nav-item>.nav-link:after,
	.navbar .navbar-nav>li>.nav-link:after {
		border-top-color: currentColor
	}

	.navbar .navbar-nav>li>.nav-link:before {
		content: "";
		position: absolute;
		left: .8rem;
		right: .8rem;
		bottom: .32rem;
		height: 2px;
		background: #f08a24;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform .25s
	}

	.navbar .navbar-nav>li>.nav-link:hover {
		color: #ffb766 !important
	}

	.navbar .navbar-nav>li>.nav-link:hover:before {
		transform: scaleX(1)
	}

	.navbar .navbar-nav .dropdown-menu {
		color: #17242b;
		text-shadow: none
	}

	.navbar .btn-primary {
		background: #f08a24;
		border-color: #f08a24;
		color: #132832
	}

	.navbar .btn-primary:hover {
		background: #fff;
		border-color: #fff;
		color: #102b3a
	}
}

@media(max-width:1199px) {
	.navbar {
		background: linear-gradient(112deg, #0a2633, #123d4c) !important;
		border-color: rgba(255, 255, 255, .14);
		box-shadow: 0 14px 38px rgba(5, 25, 34, .24)
	}

	.navbar.scrolled {
		background: linear-gradient(112deg, #081f2a, #103645) !important
	}

	/*.navbar .navbar-brand {*/
	/*	width: 72px;*/
	/*	max-width: 72px;*/
	/*	height: 58px;*/
	/*	justify-content: center*/
	/*}*/

	/*.navbar .nav-logo {*/
	/*	width: 58px;*/
	/*	height: 58px;*/
	/*	max-height: none;*/
	/*	object-fit: contain*/
	/*}*/

	.navbar-toggler {
		border-color: rgba(255, 255, 255, .38) !important
	}

	.navbar-toggler:focus {
		box-shadow: 0 0 0 3px rgba(240, 138, 36, .28)
	}

	.navbar-toggler-icon {
		filter: brightness(0) invert(1)
	}

	.mobile-canvas-brand {
		width: 100%;
		height: 60px
	}

	/*.mobile-canvas-brand img {*/
	/*	width: 58px;*/
	/*	height: 58px;*/
	/*	max-height: none;*/
	/*	object-fit: contain*/
	/*}*/

	.mobile-canvas-header {
		background: #0a2633
	}
}

/*.footer-logo {*/
/*	display: block;*/
/*	width: 120px !important;*/
/*	height: 105px;*/
/*	max-width: 120px !important;*/
/*	max-height: none !important;*/
/*	object-fit: contain*/
/*}*/

/*.footer-logo.nav-logo {*/
/*	width: 105px;*/
/*	height: 120px*/
/*}*/

@media(max-width:575px) {
	/*.navbar .navbar-brand {*/
	/*	width: 62px;*/
	/*	max-width: 62px;*/
	/*	height: 50px*/
	/*}*/

	/*.navbar .nav-logo {*/
	/*	width: 100px;*/
	/*	height: 100px*/
	/*}*/

	/*.mobile-canvas-brand img {*/
	/*	width: 80px;*/
	/*	height: 80px*/
	/*}*/

	/*.footer-logo,*/
	/*.footer-logo.nav-logo {*/
	/*	width: 92px !important;*/
	/*	height: 92px;*/
	/*	max-width: 92px !important*/
	/*}*/
	
	img#mobileNavLabel {
    width: 80%;
}
}

/* Distinct header surface between the dark topbar and page banners */
.navbar,
.navbar.scrolled {
	background: linear-gradient(112deg, #1b2024 0%, #30363a 52%, #20272b 100%) !important;
	border-color: rgba(255, 255, 255, .2);
	box-shadow: 0 12px 34px rgba(0, 0, 0, .3)
}

/* Purpose-built banners: products, manufacturing and contact */
.hub-hero {
	height: 650px;
	position: relative;
	overflow: hidden;
	background: #0b202b;
	color: #fff;
	display: flex;
	align-items: center
}

.hub-hero-pattern {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 68px 68px;
	mask-image: linear-gradient(to right, #000, transparent 88%)
}

.hub-hero-copy {
	position: relative;
	z-index: 2
}

.hub-kicker {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	color: #f4a04a;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase
}

.hub-hero h1 {
	font-size: clamp(3.25rem, 5.2vw, 5.4rem);
	line-height: .96;
	letter-spacing: -.058em;
	max-width: 850px;
	margin: 1.2rem 0 1.35rem
}

.hub-hero-copy>p {
	font-size: 1rem;
	line-height: 1.75;
	color: #becdd4;
	max-width: 680px
}

.hub-hero-actions {
	display: flex;
	align-items: center;
	gap: 1.7rem;
	margin-top: 1.8rem
}

.hub-hero-actions>a:not(.btn) {
	color: #fff;
	font-size: .72rem;
	font-weight: 800;
	border-bottom: 1px solid rgba(255, 255, 255, .4);
	padding: .65rem 0
}

.products-hub-layout,
.manufacturing-hub-layout,
.contact-hub-layout {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 6vw;
	align-items: center
}

.hub-mini-facts {
	display: flex;
	gap: 0;
	margin-top: 2.2rem;
	border-top: 1px solid rgba(255, 255, 255, .16);
	border-bottom: 1px solid rgba(255, 255, 255, .16);
	max-width: 680px
}

.hub-mini-facts span {
	flex: 1;
	padding: .9rem 1rem;
	border-right: 1px solid rgba(255, 255, 255, .16);
	font-size: .54rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: #9eb2bb
}

.hub-mini-facts span:last-child {
	border-right: 0
}

.hub-mini-facts b {
	display: block;
	font-size: 1.2rem;
	color: #fff;
	letter-spacing: 0
}

.products-hub-hero:before {
	content: "";
	position: absolute;
	width: 540px;
	height: 540px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 50%;
	right: -130px;
	top: 55px;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, .015)
}

.products-hero-showcase {
	position: relative;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .16);
	padding: 1rem;
	backdrop-filter: blur(12px)
}

.showcase-label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .3rem .25rem 1rem;
	font-size: .54rem;
	letter-spacing: .14em;
	color: #afc2ca
}

.products-hero-showcase>a {
	height: 112px;
	display: grid;
	grid-template-columns: 100px 1fr 28px;
	gap: 1rem;
	align-items: center;
	color: #fff;
	border-top: 1px solid rgba(255, 255, 255, .14);
	padding: .65rem .4rem;
	transition: .25s
}

.products-hero-showcase>a:hover {
	background: rgba(255, 255, 255, .07);
	padding-left: .75rem
}

.products-hero-showcase>a>img {
	width: 100px;
	height: 88px;
	object-fit: contain;
	background: #fff
}

.products-hero-showcase>a>span {
	min-width: 0
}

.products-hero-showcase small,
.products-hero-showcase strong {
	display: block
}

.products-hero-showcase small {
	font-size: .48rem;
	letter-spacing: .13em;
	color: #f3a04a
}

.products-hero-showcase strong {
	font-size: .76rem;
	margin-top: .3rem
}

.products-hero-showcase>a>i {
	color: #f3a04a
}

.manufacturing-hub-hero>img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.manufacturing-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(5, 22, 30, .97) 0%, rgba(6, 25, 33, .88) 50%, rgba(6, 25, 33, .48) 100%)
}

.manufacturing-stage-panel {
	background: rgba(8, 31, 40, .82);
	border: 1px solid rgba(255, 255, 255, .2);
	backdrop-filter: blur(14px);
	padding: 1.35rem
}

.manufacturing-stage-panel>div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 1rem
}

.manufacturing-stage-panel>div span {
	font-size: .52rem;
	letter-spacing: .14em;
	color: #aabec6
}

.manufacturing-stage-panel>div b {
	font-size: .63rem;
	color: #f3a04a
}

.manufacturing-stage-panel article {
	display: grid;
	grid-template-columns: 35px 32px 1fr;
	gap: .7rem;
	align-items: center;
	padding: .8rem 0;
	border-top: 1px solid rgba(255, 255, 255, .14)
}

.manufacturing-stage-panel article>b {
	font-size: .55rem;
	color: #f3a04a
}

.manufacturing-stage-panel article>i {
	width: 28px;
	height: 28px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50%;
	display: grid;
	place-items: center
}

.manufacturing-stage-panel article strong,
.manufacturing-stage-panel article small {
	display: block
}

.manufacturing-stage-panel article strong {
	font-size: .72rem
}

.manufacturing-stage-panel article small {
	font-size: .55rem;
	color: #9fb3bc;
	margin-top: .15rem
}

.manufacturing-stage-panel>small {
	display: block;
	padding-top: .9rem;
	border-top: 1px solid rgba(255, 255, 255, .14);
	font-size: .54rem;
	color: #b3c4cb
}

.manufacturing-stage-panel>small i {
	color: #f3a04a;
	margin-right: .4rem
}

.contact-hub-hero {
	background: linear-gradient(125deg, #0b202b 0%, #102f3d 60%, #153e49 100%)
}

.contact-hero-orbit {
	position: absolute;
	width: 620px;
	height: 620px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 50%;
	right: -170px;
	top: 15px;
	box-shadow: 0 0 0 80px rgba(255, 255, 255, .018), 0 0 0 160px rgba(255, 255, 255, .012)
}

.contact-location-pills {
	display: flex;
	gap: .55rem;
	margin-top: 1.6rem
}

.contact-location-pills span {
	display: flex;
	align-items: center;
	gap: .4rem;
	padding: .55rem .8rem;
	border: 1px solid rgba(255, 255, 255, .16);
	font-size: .59rem;
	text-transform: uppercase;
	letter-spacing: .08em
}

.contact-location-pills i {
	color: #f3a04a
}

.contact-channel-panel {
	background: #fff;
	color: #17242b;
	padding: 1.35rem;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .25)
}

.contact-panel-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .25rem .2rem 1rem
}

.contact-panel-head span {
	font-size: .52rem;
	letter-spacing: .14em;
	color: #65767d
}

.contact-panel-head i {
	color: #d66d0c
}

.contact-channel-panel>a {
	display: grid;
	grid-template-columns: 42px 1fr 25px;
	gap: .8rem;
	align-items: center;
	color: #17242b;
	padding: 1rem .2rem;
	border-top: 1px solid #dde3e5
}

.contact-channel-panel>a>i {
	width: 38px;
	height: 38px;
	background: #eef2f3;
	color: #173d4d;
	display: grid;
	place-items: center
}

.contact-channel-panel>a span {
	min-width: 0
}

.contact-channel-panel small,
.contact-channel-panel strong {
	display: block
}

.contact-channel-panel small {
	font-size: .47rem;
	letter-spacing: .11em;
	color: #c55f08
}

.contact-channel-panel strong {
	font-size: .68rem;
	margin-top: .2rem;
	overflow-wrap: anywhere
}

.contact-channel-panel>a>b {
	font-size: .55rem;
	color: #94a2a8
}

.contact-channel-panel>p {
	font-size: .56rem;
	color: #718087;
	background: #f1f4f5;
	margin: .8rem 0 0;
	padding: .75rem
}

.contact-channel-panel>p i {
	color: #c55f08;
	margin-right: .35rem
}

#equipment-categories,
#quote,
#production-process {
	scroll-margin-top: 115px
}

@media(max-width:991px) {
	.hub-hero {
		height: auto;
		min-height: 650px;
		padding: 85px 0
	}

	.products-hub-layout,
	.manufacturing-hub-layout,
	.contact-hub-layout {
		grid-template-columns: minmax(0, 1fr) 330px;
		gap: 2.5rem
	}

	.hub-hero h1 {
		font-size: 3.7rem
	}

	.products-hero-showcase>a {
		grid-template-columns: 76px 1fr 24px
	}

	.products-hero-showcase>a>img {
		width: 76px;
		height: 76px
	}
}

@media(max-width:767px) {
	.hub-hero {
		min-height: auto;
		padding: 78px 0
	}

	.hub-hero>.container {
		padding-top: 0 !important
	}

	.products-hub-layout,
	.manufacturing-hub-layout,
	.contact-hub-layout {
		grid-template-columns: 1fr
	}

	.hub-hero h1 {
		font-size: 3rem
	}

	.hub-hero-copy>p {
		font-size: .88rem
	}

	.hub-hero-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: .4rem
	}

	.hub-mini-facts {
		display: grid;
		grid-template-columns: repeat(3, 1fr)
	}

	.hub-mini-facts span {
		padding: .65rem
	}

	.products-hero-showcase,
	.manufacturing-stage-panel,
	.contact-channel-panel {
		margin-top: 1rem
	}

	.products-hero-showcase>a {
		height: 92px
	}

	.products-hero-showcase>a>img {
		height: 70px
	}

	.manufacturing-hub-hero {
		padding-bottom: 60px
	}

	.contact-hub-hero {
		padding-bottom: 60px
	}

	.contact-channel-panel {
		padding: 1rem
	}
}

@media(max-width:480px) {
	.hub-hero h1 {
		font-size: 2.55rem
	}

	.hub-mini-facts {
		grid-template-columns: 1fr
	}

	.hub-mini-facts span {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .14)
	}

	.products-hero-showcase>a {
		grid-template-columns: 64px 1fr 20px
	}

	.products-hero-showcase>a>img {
		width: 64px;
		height: 64px
	}
}

/* Feature-led hero revision: no repeated imagery or lower-page content */
.hub-hero {
	height: auto;
	min-height: 700px;
	padding-top: 100px;
	align-items: center
}

.hub-hero h1 {
	font-size: clamp(2.9rem, 3.8vw, 4.45rem);
	line-height: 1.01;
	max-width: 790px;
	margin: 1.15rem 0 1.25rem
}

.hub-hero-copy>p {
	font-size: .96rem;
	line-height: 1.72
}

.products-hub-layout,
.manufacturing-hub-layout,
.contact-hub-layout {
	grid-template-columns: minmax(0, 1fr) 370px;
	gap: 5vw
}

.hero-objective-board,
.hero-response-board,
.hero-blueprint-board {
	position: relative;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .18);
	backdrop-filter: blur(12px);
	padding: 1.35rem;
	color: #fff;
	box-shadow: 0 26px 65px rgba(0, 0, 0, .2)
}

.hero-objective-board>div,
.hero-response-board>div,
.blueprint-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .2rem .1rem 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, .14)
}

.hero-objective-board>div span,
.hero-response-board>div span,
.blueprint-top span {
	font-size: .52rem;
	letter-spacing: .14em;
	color: #afc1c9
}

.hero-objective-board>div i,
.hero-response-board>div i {
	color: #f3a04a
}

.hero-objective-board article,
.hero-response-board article {
	display: grid;
	grid-template-columns: 34px 38px 1fr;
	gap: .7rem;
	align-items: center;
	padding: .9rem .1rem;
	border-bottom: 1px solid rgba(255, 255, 255, .13)
}

.hero-response-board article {
	grid-template-columns: 34px 1fr
}

.hero-objective-board article>b,
.hero-response-board article>b {
	font-size: .55rem;
	color: #f3a04a
}

.hero-objective-board article>i {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, .09);
	color: #d9e5e9
}

.hero-objective-board article strong,
.hero-objective-board article small,
.hero-response-board article strong,
.hero-response-board article small {
	display: block
}

.hero-objective-board article strong,
.hero-response-board article strong {
	font-size: .72rem
}

.hero-objective-board article small,
.hero-response-board article small {
	font-size: .55rem;
	color: #9fb3bc;
	line-height: 1.5;
	margin-top: .15rem
}

.hero-objective-board>p,
.hero-response-board>p {
	font-size: .55rem;
	color: #b3c4cb;
	margin: 1rem 0 0
}

.hero-objective-board>p i,
.hero-response-board>p i {
	color: #f3a04a;
	margin-right: .4rem
}

.manufacturing-hub-hero {
	background: linear-gradient(125deg, #091f2a 0%, #102f3d 58%, #153d49 100%)
}

.manufacturing-blueprint-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(94, 163, 181, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(94, 163, 181, .09) 1px, transparent 1px);
	background-size: 38px 38px;
	mask-image: linear-gradient(90deg, transparent 5%, #000 55%, transparent)
}

.blueprint-top b {
	font-size: .52rem;
	color: #f3a04a
}

.blueprint-drawing {
	height: 205px;
	position: relative;
	margin: 1.1rem 0;
	border: 1px solid rgba(123, 191, 208, .22);
	background: rgba(2, 18, 25, .25)
}

.blueprint-shape {
	position: absolute;
	left: 19%;
	right: 19%;
	top: 23%;
	bottom: 23%;
	border: 2px solid #72afbe
}

.blueprint-shape:before,
.blueprint-shape:after {
	content: "";
	position: absolute;
	background: #72afbe
}

.blueprint-shape:before {
	left: 50%;
	top: -35px;
	bottom: -35px;
	width: 1px
}

.blueprint-shape:after {
	top: 50%;
	left: -42px;
	right: -42px;
	height: 1px
}

.blueprint-drawing>span {
	position: absolute;
	font-size: .45rem;
	letter-spacing: .1em;
	color: #89abb5
}

.dimension-x {
	left: 38%;
	bottom: .55rem
}

.dimension-y {
	left: .35rem;
	top: 44%;
	writing-mode: vertical-rl
}

.blueprint-drawing>b {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	padding: .55rem .7rem;
	background: #f08a24;
	color: #152832;
	font-size: .5rem;
	white-space: nowrap
}

.blueprint-features {
	display: grid;
	gap: .45rem
}

.blueprint-features span {
	display: flex;
	align-items: center;
	gap: .55rem;
	font-size: .58rem;
	color: #bdccd2
}

.blueprint-features i {
	color: #f3a04a
}

#quote .form-card h2 {
	color: var(--brand-ink);
}

#quote .form-card p {
	color: var(--brand-ink);
}

.contact-hub-hero {
	background: linear-gradient(125deg, #0a202a 0%, #102e3a 62%, #173a45 100%)
}

@media(max-width:991px) {
	.hub-hero {
		min-height: 600px;
		padding: 160px 0 78px
	}

	.products-hub-layout,
	.manufacturing-hub-layout,
	.contact-hub-layout {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 2.5rem
	}

	.hub-hero h1 {
		font-size: 3rem
	}

	.hero-objective-board,
	.hero-response-board,
	.hero-blueprint-board {
		padding: 1.1rem
	}
}

@media(max-width:767px) {
	.hub-hero {
		min-height: auto;
		padding: 72px 0 66px
	}

	.hub-hero>.container {
		padding-top: 0 !important
	}

	.products-hub-layout,
	.manufacturing-hub-layout,
	.contact-hub-layout {
		grid-template-columns: 1fr;
		gap: 2rem
	}

	.hub-hero h1 {
		font-size: 2.75rem
	}

	.hub-hero-copy>p {
		font-size: .88rem
	}

	.hero-objective-board,
	.hero-response-board,
	.hero-blueprint-board {
		margin-top: 0
	}

	.blueprint-drawing {
		height: 180px
	}
}

@media(max-width:480px) {
	.hub-hero {
		padding: 160px 0 58px
	}

	.hub-hero h1 {
		font-size: 2.4rem
	}

	.hero-objective-board article {
		grid-template-columns: 30px 34px 1fr
	}

	.hero-objective-board article,
	.hero-response-board article {
		padding: .75rem 0
	}
}

/* Light desktop header for the current navy/red logo; mobile keeps its dark surface. */
@media(min-width:1200px) {

	.navbar,
	.navbar.scrolled {
		background: linear-gradient(112deg, rgba(244, 248, 250, .98) 0%, rgba(226, 236, 241, .98) 55%, rgba(238, 244, 247, .98) 100%) !important;
		border-color: rgba(27, 66, 88, .2);
		box-shadow: 0 14px 38px rgba(8, 35, 50, .16)
	}

	.navbar:before {
		background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 68%, rgba(205, 28, 35, .78) 74%, rgba(14, 57, 88, .72) 80%, transparent 87%)
	}

	.navbar .navbar-nav>.nav-item>.nav-link,
	.navbar .navbar-nav>li>.nav-link {
		color: #102f46 !important;
		text-shadow: none
	}

	.navbar .navbar-nav>li>.nav-link:before {
		background: #c91920
	}

	.navbar .navbar-nav>li>.nav-link:hover {
		color: #c91920 !important
	}

	.navbar .btn-primary {
		background: #9B5E3C;
		border-color: #9B5E3C;
		color: #fff
	}

	.navbar .btn-primary:hover {
		background: #102f46;
		border-color: #102f46;
		color: #fff
	}
}

@media(max-width:1199.98px) {

	.navbar,
	.navbar.scrolled {
		background: linear-gradient(112deg, rgba(244, 248, 250, .99) 0%, rgba(226, 236, 241, .99) 55%, rgba(238, 244, 247, .99) 100%) !important;
		border-color: rgba(27, 66, 88, .2);
		box-shadow: 0 12px 32px rgba(8, 35, 50, .15)
	}

	.navbar:before {
		background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 68%, rgba(205, 28, 35, .75) 74%, rgba(14, 57, 88, .68) 80%, transparent 87%)
	}

	.navbar-toggler {
		border-color: rgba(16, 47, 70, .38) !important
	}

	.navbar-toggler:focus {
		box-shadow: 0 0 0 3px rgba(16, 47, 70, .14)
	}

	.navbar-toggler-icon {
		filter: none
	}

	.mobile-canvas-header {
		background: #0a2633 !important;
		border-bottom: 1px solid rgba(255, 255, 255, .12)
	}
}

.solution-stage[hidden] {
	display: none !important
}

/* Home-only logo palette: navy structure with controlled red accents. */
/* Red palette rollback: retained only as disabled history.
body:has(main>.smart-hero){--red:#d71920;--home-red:#d71920;--home-red-dark:#a70f15;--home-red-bright:#ef3340;--home-red-soft:#fbe9ea;--home-navy:#081f32;--home-navy-2:#0d3049}
body:has(main>.smart-hero) .topbar{background:#071c2d;color:#dce6eb;border-bottom:1px solid rgba(215,25,32,.28)}
body:has(main>.smart-hero) .topbar i{color:#ef3340}
body:has(main>.smart-hero) .navbar,body:has(main>.smart-hero) .navbar.scrolled{border-color:rgba(215,25,32,.24)}
body:has(main>.smart-hero) .navbar:before{background:conic-gradient(from var(--nav-angle,0deg),transparent 0 68%,rgba(215,25,32,.88) 75%,rgba(12,50,76,.72) 81%,transparent 88%)}
body:has(main>.smart-hero) .navbar .navbar-nav>li>.nav-link:before{background:#d71920}
body:has(main>.smart-hero) .navbar .navbar-nav>li>.nav-link:hover{color:#d71920!important}
body:has(main>.smart-hero) .navbar .btn-primary{background:#d71920;border-color:#d71920;color:#fff}
body:has(main>.smart-hero) .navbar .btn-primary:hover{background:#a70f15;border-color:#a70f15;color:#fff}
body:has(main>.smart-hero) .mobile-nav-stage{scrollbar-color:#d71920 transparent}
body:has(main>.smart-hero) .mobile-primary-links>a>span,body:has(main>.smart-hero) .mobile-products-entry>a>span{color:#ef6469}
body:has(main>.smart-hero) .mobile-category-icon,body:has(main>.smart-hero) .mobile-products-entry>button .bi-grid,body:has(main>.smart-hero) .mobile-quick-actions i,body:has(main>.smart-hero) .mobile-canvas-footer i{color:#ef4b52}
body:has(main>.smart-hero) .mobile-all-products{background:#d71920}

body:has(main>.smart-hero) .btn-primary,body:has(main>.smart-hero) .hero-command>a,body:has(main>.smart-hero) .animated-link>span,body:has(main>.smart-hero) .cinema-copy b>span{background:#d71920;border-color:#d71920;color:#fff}
body:has(main>.smart-hero) .btn-primary:hover,body:has(main>.smart-hero) .hero-command>a:hover{background:#a70f15;border-color:#a70f15;color:#fff}
body:has(main>.smart-hero) .eyebrow,body:has(main>.smart-hero) .proof-grid b{color:#d71920}
body:has(main>.smart-hero) .specia-text::before{background:#ef3340;animation-name:homeRedPulse}
@keyframes homeRedPulse{0%{box-shadow:0 0 0 0 rgba(239,51,64,.58)}70%{box-shadow:0 0 0 7px rgba(239,51,64,0)}100%{box-shadow:0 0 0 0 rgba(239,51,64,0)}}
body:has(main>.smart-hero) .smart-hero h1 em,body:has(main>.smart-hero) .cinema-heading h2 em{color:#ff7378}
body:has(main>.smart-hero) .hero-command{background:rgba(8,31,50,.88);border-color:rgba(239,51,64,.3)}
body:has(main>.smart-hero) .command-core{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(215,25,32,.08))}
body:has(main>.smart-hero) .command-core:after{background:linear-gradient(90deg,transparent,#d71920,transparent)}
body:has(main>.smart-hero) .system-orbit>div{background:linear-gradient(145deg,#154764,#082a42);box-shadow:0 0 48px rgba(215,25,32,.22)}
body:has(main>.smart-hero) .system-orbit>div i,body:has(main>.smart-hero) .journey-top b,body:has(main>.smart-hero) .journey-product small{color:#ff7378}
body:has(main>.smart-hero) .trust-seal small{color:#c8141b}
body:has(main>.smart-hero) .trust-seal>span{background:#f7e9ea;color:#b81118;border-color:#efd1d3}
body:has(main>.smart-hero) .trust-seal>span:after{border-color:#e8b8bb}

body:has(main>.smart-hero) .story-stamp{background:linear-gradient(145deg,#ef3340,#b70f16);color:#fff;box-shadow:0 16px 38px rgba(167,15,21,.28)}
body:has(main>.smart-hero) .story-stamp:after{border-color:rgba(255,255,255,.55)}
body:has(main>.smart-hero) .value-outcomes>a>i:first-child{background:#fbe9ea;color:#b81118}
body:has(main>.smart-hero) .value-outcomes>a:hover{color:#d71920}
body:has(main>.smart-hero) .story-cta:hover{background:#d71920;color:#fff}
body:has(main>.smart-hero) .solution-tabs button.active{border-color:#ef3340}
body:has(main>.smart-hero) .solution-copy>span{color:#ff7378}
body:has(main>.smart-hero) .product-marquee i{background:#ef3340;box-shadow:0 0 14px rgba(239,51,64,.8)}
body:has(main>.smart-hero) .cinema-copy>.bi{color:#ff7378}
body:has(main>.smart-hero) .case-tile b{color:#ff777c}
body:has(main>.smart-hero) .project-slider-dots button.active{background:#d71920}
body:has(main>.smart-hero) .orbit-card i{color:#d71920}
body:has(main>.smart-hero) .home-blog-image span,body:has(main>.smart-hero) .home-blog-copy b{color:#b81118}
body:has(main>.smart-hero) .home-blog-progress i{background:#d71920}
body:has(main>.smart-hero) .home-blog-card:hover{box-shadow:0 24px 55px rgba(116,11,17,.13)}

body:has(main>.smart-hero) .cta-band{position:relative;overflow:hidden;background:linear-gradient(115deg,#a70f15 0%,#d71920 58%,#ef3340 100%);border-top:1px solid rgba(255,255,255,.18)}
body:has(main>.smart-hero) .cta-band:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:5%;top:-125px;box-shadow:0 0 0 48px rgba(255,255,255,.04)}
body:has(main>.smart-hero) .cta-band>.container{position:relative;z-index:1}
body:has(main>.smart-hero) footer{background:linear-gradient(135deg,#061927 0%,#0a263b 62%,#071b2b 100%);border-top:4px solid #d71920}
body:has(main>.smart-hero) footer h3{color:#fff}
body:has(main>.smart-hero) footer h3:after{content:"";display:block;width:28px;height:2px;background:#d71920;margin-top:.65rem}
body:has(main>.smart-hero) footer a:hover,body:has(main>.smart-hero) .footer-policy-links a:hover{color:#ff7378}
body:has(main>.smart-hero) .footer-contact-link{color:#ff7378}
body:has(main>.smart-hero) footer hr{border-color:rgba(255,255,255,.16)}
*/

/* =========================================================
   SHAMSI GLOBAL BRAND SYSTEM
   Logo-derived variables: edit this block to retheme the site.
   ========================================================= */
:root {
	--brand-navy: #082f4f;
	--brand-navy-deep: #041d31;
	--brand-navy-mid: #124f78;
	--brand-red: #e31b23;
	--brand-red-dark: #ad0d15;
	--brand-red-light: #ff5a60;
	--brand-orange: #f5821f;
	--brand-orange-dark: #d96508;
	--brand-orange-soft: #fff0e4;
	--brand-surface: #f3f6f8;
	--brand-surface-blue: #eaf1f5;
	--brand-line: #d6e0e5;
	--brand-ink: #142936;
	--brand-muted: #627680;
	--blue: var(--brand-navy);
	--blue2: var(--brand-navy-mid);
	--red: var(--brand-red);
	--ink: var(--brand-ink);
	--soft: var(--brand-surface);
	--line: var(--brand-line);
	--muted: var(--brand-muted)
}

body {
	background: #fff;
	color: var(--brand-ink)
}

.topbar {
	background: var(--brand-navy-deep);
	color: #dbe6ec;
	border-bottom: 1px solid rgba(245, 130, 31, .28)
}

.topbar i {
	color: var(--brand-orange)
}

.navbar,
.navbar.scrolled {
	border-color: rgba(8, 47, 79, .2)
}

.navbar:before {
	background: conic-gradient(from var(--nav-angle, 0deg), transparent 0 67%, var(--brand-red) 74%, var(--brand-orange) 79%, var(--brand-navy-mid) 83%, transparent 89%)
}

.navbar .navbar-nav>li>.nav-link:before {
	background: linear-gradient(90deg, var(--brand-red), var(--brand-orange))
}

.navbar .navbar-nav>li>.nav-link:hover {
	color: var(--brand-red) !important
}

.navbar .btn-primary {
	background: var(--brand-red);
	border-color: var(--brand-red);
	color: #fff
}

.navbar .btn-primary:hover {
	background: var(--brand-red-dark);
	border-color: var(--brand-red-dark);
	color: #fff
}

.btn-primary,
.hero-command>a,
.animated-link>span,
.cinema-copy b>span,
.journey-cta {
	background: var(--brand-red) !important;
	border-color: var(--brand-red) !important;
	color: #fff !important
}

.btn-primary:hover,
.hero-command>a:hover,
.journey-cta:hover {
	background: var(--brand-red-dark) !important;
	border-color: var(--brand-red-dark) !important;
	color: #fff !important
}

.eyebrow,
.proof-grid b,
.blog-feature-copy>small,
.modern-blog-image>span,
.article-reader-tools>span,
.article-author small {
	color: var(--brand-orange)
}

.text-link,
.legacy-article-content a {
	color: var(--brand-navy-mid);
	border-bottom-color: #9db8c8
}

.text-link:hover {
	color: var(--brand-red)
}

.circle-link {
	border-color: #8eabba;
	color: var(--brand-navy)
}

.circle-link:hover {
	background: var(--brand-navy);
	color: #fff
}

.specia-text::before {
	background: var(--brand-orange);
	animation-name: brandOrangePulse
}

@keyframes brandOrangePulse {
	0% {
		box-shadow: 0 0 0 0 rgba(245, 130, 31, .58)
	}

	70% {
		box-shadow: 0 0 0 7px rgba(245, 130, 31, 0)
	}

	100% {
		box-shadow: 0 0 0 0 rgba(245, 130, 31, 0)
	}
}

.smart-hero h1 em,
.cinema-heading h2 em,
.blog-hub-hero h1 em {
	color: var(--brand-orange)
}

.hero-command {
	background: rgba(4, 29, 49, .9);
	border-color: rgba(245, 130, 31, .3)
}

.command-core {
	background: linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(245, 130, 31, .075))
}

.command-core:after {
	background: linear-gradient(90deg, transparent, var(--brand-orange), transparent)
}

.system-orbit>div {
	background: linear-gradient(145deg, var(--brand-navy-mid), var(--brand-navy));
	box-shadow: 0 0 52px rgba(245, 130, 31, .2)
}

.system-orbit>div i,
.journey-top b,
.journey-product small {
	color: var(--brand-orange)
}

.journey-steps b {
	background: var(--brand-red);
	color: #fff
}

.journey-steps:before {
	background: rgba(245, 130, 31, .48)
}

.journey-progress i {
	background: linear-gradient(90deg, var(--brand-red), var(--brand-orange));
	box-shadow: 0 0 14px rgba(245, 130, 31, .38)
}

.trust-seal small {
	color: var(--brand-orange)
}

.trust-seal>span {
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark);
	border-color: #f2d2b5
}

.trust-seal>span:after {
	border-color: #eebf97
}

.story-stamp {
	background: linear-gradient(145deg, var(--brand-orange), var(--brand-red));
	color: #fff
}

.story-stamp:after {
	border-color: rgba(255, 255, 255, .58)
}

.value-outcomes>a>i:first-child {
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark)
}

.value-outcomes>a:hover {
	color: var(--brand-red)
}

.story-cta {
	background: var(--brand-navy);
	color: #fff
}

.story-cta:hover {
	background: var(--brand-red);
	color: #fff
}

.solution-explorer,
.product-cinema,
.manifesto-section,
.impact-section {
	background-color: var(--brand-navy-deep)
}

.solution-tabs button.active {
	border-color: var(--brand-red)
}

.solution-copy>span,
.cinema-copy>.bi,
.product-marquee span {
	color: var(--brand-orange)
}

.product-marquee i {
	background: var(--brand-red);
	box-shadow: 0 0 14px rgba(227, 27, 35, .7)
}

.cinema-card>img {
	background: var(--brand-surface-blue)
}

.case-home,
.home-journal,
.product-components,
.related-solutions {
	background: var(--brand-surface) !important
}

.case-tile b,
.catalog-spec-grid b {
	color: var(--brand-orange)
}

.project-slider-dots button.active,
.home-blog-progress i,
.related-slider-dots button.active,
.experience-controls>div i {
	background: var(--brand-red)
}

.orbit-card i {
	color: var(--brand-red)
}

.home-blog-image span,
.home-blog-copy b {
	color: var(--brand-red)
}

.cta-band,
.project-assurance,
.product-hub-guidance,
.manufacturing-cta {
	background: linear-gradient(115deg, var(--brand-red-dark), var(--brand-red) 58%, var(--brand-orange));
	color: #fff
}

.project-assurance p,
.product-hub-guidance p {
	color: #fff1ea
}

.catalogue-spec-card {
	border-top-color: var(--brand-red)
}

.catalog-feature-cards i,
.component-panels>a span,
.quality-badge i,
.value-card>strong {
	color: var(--brand-red)
}

.category-card .category-main-link>.bi,
.catalog-hero-fact i {
	color: var(--brand-orange-dark)
}

.catalog-hero-fact {
	border-top-color: var(--brand-red)
}

.product-proof,
.catalog-detail-strip {
	background: var(--brand-navy)
}

.project-scope-grid article>i,
.project-story-step>span {
	color: var(--brand-red)
}

.project-gallery {
	background: var(--brand-navy-deep)
}

.article-prose h2,
.article-prose h3 {
	color: var(--brand-ink)
}

.generated-toc a:hover,
.prose-section-number,
.recent-panel>span,
.recent-panel small,
.related-slide>div span,
.related-slide>b {
	color: var(--brand-red) !important;
}

.article-prose blockquote {
	border-left-color: var(--brand-red);
	background: var(--brand-surface)
}

.experience-card>div i,
.experience-card>small,
.experience-modal .modal-content>span,
.experience-modal .modal-content>i {
	color: var(--brand-red)
}

.thank-you-card>small,
.thank-you-next b,
.thank-you-help a {
	color: var(--brand-red)
}

.about-capability-grid i,
.about-quality-list span {
	color: var(--brand-red)
}

.about-quality-list i {
	color: var(--brand-orange-dark)
}

.factory-hero aside strong,
.contact-modern-hero aside i {
	color: var(--brand-orange)
}

.site-breadcrumbs a:hover {
	color: var(--brand-red)
}

.mega-category-rail,
.mega-feature {
	background: var(--brand-navy-deep)
}

.mega-category-rail {
	scrollbar-color: var(--brand-red) transparent
}

.mega-category-rail::-webkit-scrollbar-thumb {
	background: var(--brand-red)
}

.mega-rail-all {
	background: var(--brand-red) !important
}

.mega-product-portal {
	scrollbar-color: var(--brand-red) var(--brand-surface-blue)
}

.mega-category-panel>header small {
	color: var(--brand-red)
}

.mega-product-grid>a:hover {
	border-color: var(--brand-red)
}

.mega-product-grid>a:hover>.bi {
	background: var(--brand-red);
	color: #fff
}

.mega-category-icon {
	color: var(--brand-orange)
}

.mega-category-rail>button.active .mega-category-icon,
.mega-category-rail>button:hover .mega-category-icon {
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark)
}

.mega-footer .mega-all {
	background: var(--brand-navy)
}

.mega-group>a:hover {
	color: var(--brand-red) !important
}

.mobile-nav-canvas,
.mobile-canvas-header,
.mobile-canvas-footer {
	background: var(--brand-navy-deep) !important
}

.mobile-nav-stage {
	scrollbar-color: var(--brand-red) transparent
}

.mobile-primary-links>a>span,
.mobile-primary-links>button>span,
.mobile-products-entry>a>span {
	color: var(--brand-red-light)
}

.mobile-category-icon,
.mobile-products-entry>button .bi-grid,
.mobile-quick-actions i,
.mobile-canvas-footer i {
	color: var(--brand-orange)
}

.mobile-all-products,
.mobile-category-overview {
	background: var(--brand-red)
}

.reviews-hero aside>i,
.review-proof-copy i {
	color: var(--brand-orange)
}

footer {
	position: relative;
	background: linear-gradient(135deg, var(--brand-navy-deep), var(--brand-navy));
	border-top: 4px solid var(--brand-red)
}

footer:before {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 34%;
	height: 4px;
	background: var(--brand-orange)
}

footer h3 {
	color: #fff
}

footer h3:after {
	content: "";
	display: block;
	width: 30px;
	height: 2px;
	margin-top: .65rem;
	background: linear-gradient(90deg, var(--brand-red), var(--brand-orange))
}

footer a:hover,
.footer-policy-links a:hover,
.footer-contact-link {
	color: var(--brand-orange)
}

footer hr {
	border-color: rgba(255, 255, 255, .17)
}

/* Shared header interactions, compact banner breadcrumbs and carousel controls. */
.topbar-contact {
	align-items: center;
	gap: 1.15rem
}

.topbar-contact a {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: #dbe6ec;
	font-size: .73rem;
	transition: color .22s, transform .22s
}

.topbar-contact a:hover {
	color: var(--brand-orange);
	transform: translateY(-1px)
}

.topbar-contact a i {
	margin: 0
}

@media(min-width:1200px) {
	.navbar .navbar-nav>li>.nav-link {
		border-radius: 10px;
		transition: color .22s, background-color .22s, transform .22s
	}

	.navbar .navbar-nav>li>.nav-link:hover {
		background: rgba(8, 47, 79, .055);
		transform: translateY(-1px)
	}

	.navbar .navbar-nav>li>.nav-link.active {
		color: var(--brand-red) !important;
		background: linear-gradient(180deg, rgba(227, 27, 35, .065), rgba(245, 130, 31, .035))
	}

	.navbar .navbar-nav>li>.nav-link.active:before {
		transform: scaleX(1)
	}
}

.mobile-primary-links>a.active,
.mobile-products-entry>a.active {
	position: relative;
	color: #fff;
	background: linear-gradient(90deg, rgba(227, 27, 35, .17), transparent);
	padding-left: 10px
}

.mobile-primary-links>a.active:before,
.mobile-products-entry>a.active:before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	bottom: 20%;
	width: 3px;
	border-radius: 4px;
	background: linear-gradient(var(--brand-red), var(--brand-orange))
}

.site-breadcrumb-wrap {
	position: absolute;
	z-index: 8;
	top: 170px;
	left: 0;
	right: 0;
	width: 100%;
	background: transparent;
	border: 0;
	backdrop-filter: none;
	pointer-events: none
}

.site-breadcrumbs.container {
	width: max-content;
	max-width: calc(100vw - 48px);
	min-height: 38px;
	margin-left: max(24px, calc((100vw - 1240px)/2));
	margin-right: 0;
	padding: .52rem .85rem !important;
	border: 1px solid rgba(255, 255, 255, .42);
	border-left: 3px solid var(--brand-orange);
	border-radius: 9px;
	background: rgba(247, 250, 251, .94);
	box-shadow: 0 10px 28px rgba(4, 29, 49, .14);
	backdrop-filter: blur(12px);
	pointer-events: auto
}

.site-breadcrumbs a,
.site-breadcrumbs span {
	font-size: .64rem;
	line-height: 1.2
}

.site-breadcrumbs a {
	color: var(--brand-navy-mid)
}

.site-breadcrumbs span {
	color: var(--brand-ink)
}

.site-breadcrumbs i {
	color: var(--brand-orange);
	font-size: .5rem
}

main .breadcrumbs,
main .project-breadcrumb {
	display: none !important
}

.project-slider-arrows .project-prev,
.project-slider-arrows .project-next {
	width: 50px;
	height: 50px;
	min-width: 50px;
	min-height: 50px;
	padding: 0 !important;
	line-height: 1
}

.project-slider-arrows button i {
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	font-size: 1rem;
	line-height: 1
}

.project-slider-arrows button i:before {
	display: block;
	line-height: 1
}

@media(max-width:1199.98px) {
	.site-breadcrumb-wrap {
		top: 142px
	}
}

@media(max-width:767px) {
	.site-breadcrumb-wrap {
		top: 142px;
		padding: 0 12px
	}

	.site-breadcrumbs.container {
		max-width: calc(100vw - 24px);
		min-height: 34px;
		margin: 0;
		padding: .46rem .7rem !important;
		border-radius: 8px;
		gap: .48rem
	}

	.site-breadcrumbs a,
	.site-breadcrumbs span {
		font-size: .59rem
	}
}

@media(max-width:575px) {
	.site-breadcrumb-wrap {
		top: 112px
	}

	.project-slider-arrows .project-prev,
	.project-slider-arrows .project-next {
		width: 46px;
		height: 46px;
		min-width: 46px;
		min-height: 46px
	}
}

/* Home product and knowledge carousels: compact, equal-height and drag friendly. */
.home-products-carousel {
	padding-bottom: 68px;
	background: linear-gradient(145deg, var(--brand-navy-deep), #0b3656 70%, #123e5d);
	overflow: hidden
}

.home-products-carousel .cinema-heading {
	padding: 68px 0 34px;
	align-items: end
}

.home-products-carousel .cinema-heading h2 {
	font-size: clamp(2.35rem, 4vw, 4.35rem);
	line-height: 1.03;
	margin-bottom: 0
}

.home-products-carousel .cinema-heading>div:last-child {
	max-width: 430px
}

.home-products-carousel .cinema-heading p {
	color: #c5d5de;
	margin-bottom: 1.1rem
}

.product-carousel-viewport {
	overflow: hidden;
	cursor: grab;
	touch-action: pan-y;
	border-radius: 20px
}

.product-carousel-viewport.is-dragging {
	cursor: grabbing;
	user-select: none
}

.product-carousel-track {
	display: flex !important;
	grid-template-columns: none !important;
	grid-auto-rows: auto !important;
	gap: 18px;
	will-change: transform
}

.home-products-carousel .cinema-card,
.home-products-carousel .cinema-card:nth-child(n) {
	grid-column: auto !important;
	flex: 0 0 calc((100% - 36px)/3);
	height: 450px !important;
	min-width: 0;
	display: grid;
	grid-template-rows: 230px 1fr;
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 18px;
	background: #fff;
	color: var(--brand-ink);
	transform: none !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
	transition: box-shadow .3s, border-color .3s
}

.home-products-carousel .cinema-card:hover {
	transform: none !important;
	border-color: rgba(245, 130, 31, .65);
	box-shadow: 0 23px 55px rgba(0, 0, 0, .25)
}

.home-products-carousel .cinema-card>img {
	position: static;
	width: 100%;
	height: 230px;
	object-fit: contain;
	background: linear-gradient(145deg, #f7f9fa, #eaf0f2);
	padding: 0;
	filter: none;
	transition: transform .45s
}

.home-products-carousel .cinema-card:hover>img {
	transform: scale(1.035)
}

.home-products-carousel .cinema-shade,
.home-products-carousel .cinema-glow {
	display: none
}

.home-products-carousel .cinema-number {
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	color: #fff;
	background: var(--brand-red);
	border-color: transparent;
	box-shadow: 0 7px 18px rgba(227, 27, 35, .25)
}

.home-products-carousel .cinema-copy {
	position: static;
	z-index: 1;
	display: grid;
	grid-template-columns: 38px 1fr;
	grid-template-rows: auto auto 1fr auto;
	column-gap: 11px;
	align-content: start;
	padding: 18px 20px 17px;
	transform: none
}

.home-products-carousel .cinema-copy>.bi {
	grid-row: 1/3;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark);
	font-size: 1rem
}

.home-products-carousel .cinema-copy>small {
	grid-column: 2;
	margin: 1px 0 3px;
	color: var(--brand-red);
	font-size: .55rem
}

.home-products-carousel .cinema-copy h3 {
	grid-column: 2;
	margin: 0;
	font-size: 1.28rem;
	line-height: 1.2;
	color: var(--brand-ink)
}

.home-products-carousel .cinema-copy p {
	grid-column: 1/-1;
	max-height: none !important;
	opacity: 1 !important;
	margin: 13px 0 12px !important;
	color: #2d3234;
	font-size: .78rem;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden
}

.home-products-carousel .cinema-copy b {
	grid-column: 1/-1;
	align-self: end;
	color: var(--brand-red);
	font-size: .69rem
}

.home-products-carousel .cinema-copy b>span {
	width: 28px;
	height: 28px;
	background: var(--brand-red);
	color: #fff
}

.product-carousel-controls {
	display: grid;
	grid-template-columns: auto minmax(100px, 1fr) auto auto;
	align-items: center;
	gap: 18px;
	margin-top: 22px
}

.product-carousel-controls>div:first-child,
.home-blog-controls>div:first-child {
	display: flex;
	gap: 8px
}

.product-carousel-controls button,
.home-blog-controls button {
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 50%;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .3);
	background: rgba(255, 255, 255, .08);
	color: #fff;
	transition: background .25s, border-color .25s, color .25s
}

.product-carousel-controls button:hover {
	background: var(--brand-orange);
	border-color: var(--brand-orange);
	color: var(--brand-navy-deep)
}

.product-carousel-progress {
	height: 2px;
	background: rgba(255, 255, 255, .18);
	overflow: hidden
}

.product-carousel-progress i {
	display: block;
	width: 16.666%;
	height: 100%;
	background: linear-gradient(90deg, var(--brand-red), var(--brand-orange));
	transition: width .55s
}

.product-carousel-controls>span {
	font-size: .68rem;
	letter-spacing: .1em;
	color: #91aaba;
	white-space: nowrap
}

.product-carousel-controls>span b {
	color: #fff
}

.product-carousel-controls>.btn {
	padding: .72rem 1rem;
	font-size: .7rem;
	white-space: nowrap
}

.home-journal {
	padding: 66px 0 !important
}

.home-journal .section-head {
	margin-bottom: 26px
}

.home-journal .section-head h2 {
	font-size: clamp(2.15rem, 3.3vw, 3.55rem);
	line-height: 1.08
}

.home-journal .section-head p {
	margin-top: .55rem
}

.home-blog-viewport.is-dragging {
	cursor: grabbing;
	user-select: none
}

.home-blog-track {
	gap: 18px
}

.home-blog-card {
	flex-basis: calc((100% - 36px)/3);
	height: 410px;
	border-radius: 16px
}

.home-blog-card:hover {
	transform: translateY(-4px)
}

.home-blog-image {
	height: 190px;
	display: block;
	background: #dfe7ea
}

.home-blog-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	padding: 0
}

.home-blog-image span {
	left: 13px;
	bottom: 13px;
	padding: .42rem .62rem
}

.home-blog-copy {
	height: 220px;
	min-height: 0;
	padding: 16px 18px 15px
}

.home-blog-copy h3 {
	font-size: 1.08rem;
	line-height: 1.25;
	margin: .65rem 0 .45rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden
}

.home-blog-copy p {
	font-size: .76rem;
	line-height: 1.48;
	margin-bottom: .55rem;
	-webkit-line-clamp: 2
}

.home-blog-copy b {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: max-content;
	gap: .55rem;
	padding: .42rem .65rem;
	border-radius: 999px;
	background: var(--brand-red-soft);
	color: var(--brand-red);
	font-size: .63rem
}

.home-blog-controls {
	gap: 16px;
	margin-top: 20px
}

.home-blog-controls button {
	border-color: #c8d3d8;
	background: #fff;
	color: var(--brand-navy)
}

.home-blog-controls button:hover {
	background: var(--brand-navy);
	border-color: var(--brand-navy);
	color: #fff
}

.home-blog-progress i {
	width: 16.666%;
	background: linear-gradient(90deg, var(--brand-red), var(--brand-orange))
}

@media(max-width:1199px) {

	.home-products-carousel .cinema-card,
	.home-products-carousel .cinema-card:nth-child(n) {
		flex-basis: calc((100% - 18px)/2)
	}

	.home-blog-card {
		flex-basis: calc((100% - 18px)/2)
	}
}

@media(max-width:767px) {
	.home-products-carousel {
		padding-bottom: 52px
	}

	.home-products-carousel .cinema-heading {
		padding: 56px 0 28px
	}

	.home-products-carousel .cinema-heading h2 {
		font-size: 2.35rem
	}

	.home-products-carousel .cinema-card,
	.home-products-carousel .cinema-card:nth-child(n) {
		flex-basis: 100%;
		height: 430px !important;
		grid-template-rows: 215px 1fr
	}

	.home-products-carousel .cinema-card>img {
		height: 215px
	}

	.product-carousel-controls {
		grid-template-columns: auto 1fr auto
	}

	.product-carousel-controls>.btn {
		grid-column: 1/-1;
		width: 100%
	}

	.home-journal {
		padding: 54px 0 !important
	}

	.home-journal .section-head {
		margin-bottom: 22px
	}

	.home-blog-card {
		flex-basis: 100%;
		height: 395px
	}

	.home-blog-image {
		height: 180px
	}

	.home-blog-copy {
		height: 215px
	}
}

/* Projects navigation: the label opens the page, while the menu remains available on hover/focus. */
.project-menu-panel {
	display: none
}

@media(min-width:1200px) {
	.project-menu-holder {
		position: relative
	}

	.project-menu-holder>.nav-link {
		display: flex;
		align-items: center;
		gap: .42rem
	}

	.project-menu-holder>.nav-link>i {
		font-size: .58rem;
		transition: transform .25s
	}

	.project-menu-holder:before {
		content: "";
		position: absolute;
		left: -420px;
		right: -420px;
		top: 100%;
		height: 15px;
		display: none
	}

	.project-menu-panel {
		position: absolute;
		z-index: 1005;
		top: calc(100% + 14px);
		left: 50%;
		width: min(1040px, calc(100vw - 48px));
		display: grid;
		grid-template-columns: 300px 1fr;
		overflow: hidden;
		border: 1px solid #dce5e8;
		border-radius: 0 0 18px 18px;
		background: #fff;
		box-shadow: 0 28px 70px rgba(4, 29, 49, .22);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate(-50%, -8px);
		transition: opacity .22s, transform .22s, visibility .22s
	}

	.project-menu-holder:hover:before,
	.project-menu-holder:focus-within:before {
		display: block
	}

	.project-menu-holder:hover .project-menu-panel,
	.project-menu-holder:focus-within .project-menu-panel {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-50%, 0)
	}

	.project-menu-holder:hover>.nav-link>i,
	.project-menu-holder:focus-within>.nav-link>i {
		transform: rotate(180deg)
	}

	.project-menu-intro {
		padding: 30px;
		background: linear-gradient(145deg, var(--brand-navy-deep), var(--brand-navy-mid));
		color: #fff
	}

	.project-menu-intro>span {
		font-size: .56rem;
		font-weight: 800;
		letter-spacing: .15em;
		color: var(--brand-orange)
	}

	.project-menu-intro h2 {
		font-size: 1.65rem;
		line-height: 1.14;
		margin: 1rem 0
	}

	.project-menu-intro p {
		font-size: .73rem;
		line-height: 1.65;
		color: #bdd0d9
	}

	.project-menu-intro>div {
		display: flex;
		align-items: end;
		gap: .7rem;
		margin: 1.35rem 0;
		padding-top: 1rem;
		border-top: 1px solid rgba(255, 255, 255, .16)
	}

	.project-menu-intro>div strong {
		font-size: 2rem;
		line-height: 1;
		color: var(--brand-orange)
	}

	.project-menu-intro>div small {
		font-size: .52rem;
		letter-spacing: .12em;
		color: #a9bec8
	}

	.project-menu-intro>a {
		display: inline-flex;
		align-items: center;
		gap: .5rem;
		color: #fff;
		font-size: .68rem;
		font-weight: 800;
		border-bottom: 1px solid rgba(255, 255, 255, .4);
		padding-bottom: .35rem
	}

	.project-menu-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		padding: 16px;
		background: #f4f7f8
	}

	.project-menu-grid>a {
		display: grid;
		grid-template-columns: 88px 1fr 18px;
		align-items: center;
		gap: 12px;
		min-width: 0;
		padding: 11px;
		border: 1px solid transparent;
		color: var(--brand-ink);
		transition: background .22s, border-color .22s, transform .22s
	}

	.project-menu-grid>a:hover {
		z-index: 1;
		background: #fff;
		border-color: #d9e3e7;
		transform: translateY(-2px);
		box-shadow: 0 9px 24px rgba(5, 35, 53, .08)
	}

	.project-menu-grid img {
		width: 88px;
		height: 72px;
		object-fit: cover;
		border-radius: 7px
	}

	.project-menu-grid span {
		min-width: 0
	}

	.project-menu-grid small,
	.project-menu-grid strong {
		display: block
	}

	.project-menu-grid small {
		margin-bottom: .35rem;
		color: var(--brand-red);
		font-size: .49rem;
		font-weight: 800;
		letter-spacing: .1em
	}

	.project-menu-grid strong {
		font-size: .75rem;
		line-height: 1.35
	}

	.project-menu-grid>a>i {
		color: var(--brand-orange);
		font-size: .76rem;
		transition: transform .22s
	}

	.project-menu-grid>a:hover>i {
		transform: translate(2px, -2px)
	}
}

.mobile-projects-entry {
	display: grid;
	grid-template-columns: 1fr 70px;
	border-top: 1px solid rgba(255, 255, 255, .13)
}

.mobile-projects-entry>a {
	display: grid;
	grid-template-columns: 30px 1fr;
	align-items: center;
	color: #fff;
	padding: 15px 0;
	font-size: 1.22rem;
	font-weight: 700
}

.mobile-projects-entry>a>span {
	font-size: .48rem;
	color: var(--brand-red-light)
}

.mobile-projects-entry>a.active {
	position: relative;
	color: #fff;
	background: linear-gradient(90deg, rgba(227, 27, 35, .17), transparent);
	padding-left: 10px
}

.mobile-projects-entry>a.active:before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	bottom: 20%;
	width: 3px;
	border-radius: 4px;
	background: linear-gradient(var(--brand-red), var(--brand-orange))
}

.mobile-projects-entry>button {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .7rem;
	border: 0;
	background: transparent;
	color: #9bb1bc
}

.mobile-projects-entry>button .bi-buildings {
	color: var(--brand-orange)
}

.mobile-projects-view>header {
	padding: 0 0 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .14)
}

.mobile-projects-view>header h2 {
	font-size: 1.8rem;
	color: #fff;
	margin: .45rem 0
}

.mobile-projects-view>header p {
	font-size: .75rem;
	line-height: 1.55;
	color: #a9bec8;
	margin: 0
}

.mobile-project-list {
	display: grid;
	gap: 1px;
	background: rgba(255, 255, 255, .12)
}

.mobile-project-list>a {
	display: grid;
	grid-template-columns: 70px 1fr 20px;
	align-items: center;
	gap: 12px;
	padding: 10px;
	background: var(--brand-navy-deep);
	color: #fff
}

.mobile-project-list img {
	width: 70px;
	height: 60px;
	object-fit: cover;
	border-radius: 6px
}

.mobile-project-list small,
.mobile-project-list strong {
	display: block
}

.mobile-project-list small {
	font-size: .47rem;
	letter-spacing: .09em;
	color: var(--brand-orange);
	margin-bottom: .25rem
}

.mobile-project-list strong {
	font-size: .72rem;
	line-height: 1.35
}

.mobile-project-list>a>i {
	color: var(--brand-red-light);
	font-size: .75rem
}

.mobile-all-projects {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 12px;
	background: var(--brand-red);
	color: #fff;
	font-size: .7rem;
	font-weight: 800
}

/* Compact homepage media sections. */
.home-products-carousel .cinema-card>img {
	object-fit: cover;
	object-position: center;
	padding: 0;
	background: var(--brand-surface-blue)
}

.manifesto-section {
	height: clamp(590px, 72vh, 660px);
	min-height: 590px;
	grid-template-columns: 1.05fr .95fr
}

.manifesto-media {
	min-height: 0;
	overflow: hidden
}

.manifesto-media img {
	display: block;
	object-fit: cover
}

.manifesto-copy {
	padding: 54px clamp(38px, 5vw, 72px)
}

.manifesto-copy h2 {
	font-size: clamp(2.45rem, 3.4vw, 3.8rem);
	margin: .75rem 0 1rem
}

.manifesto-copy p {
	font-size: .9rem;
	line-height: 1.65;
	margin-bottom: .7rem
}

.manifesto-copy ul {
	padding: .75rem 0;
	margin-bottom: .65rem
}

.manifesto-copy li {
	padding: .72rem 0;
	font-size: .88rem
}

.case-home {
	padding: 62px 0 !important
}

.case-home .section-head {
	margin-bottom: 28px
}

.project-slider .case-grid {
	height: 410px
}

.project-slider-viewport {
	padding-bottom: 12px
}

.project-slider-controls {
	margin-top: 12px
}

.case-home .case-tile>div {
	left: 22px;
	right: 22px;
	bottom: 22px
}

.case-home .case-tile h3 {
	font-size: clamp(1.35rem, 1.75vw, 1.8rem);
	margin: .45rem 0
}

.case-home .case-tile p {
	font-size: .74rem;
	line-height: 1.5;
	margin: .55rem 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden
}

@media(max-width:991px) {
	.manifesto-section {
		height: auto;
		min-height: 0;
		grid-template-columns: 1fr
	}

	.manifesto-media {
		height: 280px !important
	}

	.manifesto-copy {
		padding: 46px 32px
	}

	.project-slider .case-grid {
		height: 390px
	}
}

@media(max-width:575px) {
	.manifesto-media {
		height: 240px !important
	}

	.manifesto-copy {
		padding: 42px 22px !important
	}

	.manifesto-copy h2 {
		font-size: 2rem !important
	}

	.manifesto-copy li {
		padding: .62rem 0;
		font-size: .8rem
	}

	.case-home {
		padding: 52px 0 !important
	}

	.case-home .section-head {
		margin-bottom: 22px
	}

	.project-slider .case-grid {
		height: 375px !important
	}

	.case-home .case-tile>div {
		left: 18px;
		right: 18px;
		bottom: 18px
	}

	.case-home .case-tile h3 {
		font-size: 1.4rem
	}

	.project-slider-controls {
		margin-top: 8px
	}
}

/* Matching product/project menu arrows and open/current navigation state. */
@media(min-width:1200px) {
	.mega-holder>.nav-link {
		display: flex;
		align-items: center;
		gap: .42rem
	}

	.mega-holder>.nav-link>i {
		font-size: .58rem;
		transition: transform .25s
	}

	.mega-holder:hover>.nav-link>i,
	.mega-holder:focus-within>.nav-link>i {
		transform: rotate(180deg)
	}

	.mega-holder:hover>.nav-link,
	.mega-holder:focus-within>.nav-link,
	.project-menu-holder:hover>.nav-link,
	.project-menu-holder:focus-within>.nav-link {
		color: var(--brand-red) !important;
		background: linear-gradient(180deg, rgba(227, 27, 35, .065), rgba(245, 130, 31, .035));
		transform: translateY(-1px)
	}

	.mega-holder:hover>.nav-link:before,
	.mega-holder:focus-within>.nav-link:before,
	.project-menu-holder:hover>.nav-link:before,
	.project-menu-holder:focus-within>.nav-link:before {
		transform: scaleX(1)
	}
}

/* Products hero metrics and outcome board. */
.products-hub-hero {
	background: linear-gradient(125deg, var(--brand-navy-deep) 0%, #0b304a 65%, #12425d 100%)
}

.product-hero-orbit {
	position: absolute;
	width: 620px;
	height: 620px;
	right: -190px;
	top: 40px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 50%;
	box-shadow: 0 0 0 75px rgba(255, 255, 255, .015), 0 0 0 150px rgba(255, 255, 255, .01)
}

.product-hero-metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: 24px;
	max-width: 720px
}

.product-hero-metrics article {
	display: grid;
	grid-template-columns: 42px 1fr;
	align-items: center;
	gap: 11px;
	padding: 13px;
	border: 1px solid rgba(255, 255, 255, .16);
	background: rgba(255, 255, 255, .055);
	backdrop-filter: blur(10px)
}

.product-hero-metrics article>i {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(245, 130, 31, .13);
	color: var(--brand-orange);
	font-size: 1rem
}

.product-hero-metrics strong,
.product-hero-metrics small {
	display: block
}

.product-hero-metrics strong {
	font-size: 1.25rem;
	line-height: 1;
	color: #fff
}

.product-hero-metrics small {
	margin-top: .28rem;
	color: #aebfc8;
	font-size: .52rem;
	text-transform: uppercase;
	letter-spacing: .075em;
	line-height: 1.35
}

.product-path-board {
	border-top: 3px solid var(--brand-orange);
	padding: 1.25rem 1.35rem
}

.product-board-coverage {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 13px
}

.product-board-coverage span {
	display: grid;
	grid-template-columns: 18px 1fr;
	align-items: center;
	padding: 9px;
	background: rgba(255, 255, 255, .07);
	color: #aebfc8;
	font-size: .48rem;
	line-height: 1.35
}

.product-board-coverage i {
	grid-row: 1/3;
	color: var(--brand-orange)
}

.product-board-coverage b {
	display: block;
	color: #fff;
	font-size: .65rem
}

.product-path-board>a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	padding: 11px 12px;
	background: var(--brand-red);
	color: #fff;
	font-size: .65rem;
	font-weight: 800
}

/* About hero: image-free engineering canvas with a controlled heading scale. */
.about-hero-new {
	height: 690px;
	background: linear-gradient(125deg, #071d2c 0%, var(--brand-navy-deep) 50%, #123f59 100%)
}

.about-hero-overlay {
	background: radial-gradient(circle at 78% 42%, rgba(245, 130, 31, .12), transparent 27%), linear-gradient(90deg, rgba(3, 19, 30, .18), rgba(3, 19, 30, .02))
}

.about-hero-new:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: linear-gradient(90deg, #000, transparent 93%)
}

.about-hero-geometry {
	position: absolute;
	right: 5vw;
	top: 50%;
	width: 430px;
	height: 430px;
	transform: translateY(-50%);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%
}

.about-hero-geometry:before,
.about-hero-geometry:after,
.about-hero-geometry i {
	content: "";
	position: absolute;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%
}

.about-hero-geometry:before {
	inset: 55px
}

.about-hero-geometry:after {
	inset: 115px;
	border-color: rgba(245, 130, 31, .28)
}

.about-hero-geometry i:nth-child(1) {
	width: 13px;
	height: 13px;
	left: 52px;
	top: 105px;
	background: var(--brand-red);
	border: 0;
	box-shadow: 0 0 0 8px rgba(227, 27, 35, .12)
}

.about-hero-geometry i:nth-child(2) {
	width: 11px;
	height: 11px;
	right: 76px;
	bottom: 97px;
	background: var(--brand-orange);
	border: 0;
	box-shadow: 0 0 0 7px rgba(245, 130, 31, .12)
}

.about-hero-geometry i:nth-child(3) {
	left: 50%;
	top: 0;
	bottom: 0;
	border-radius: 0;
	border-width: 0 0 0 1px
}

.about-hero-geometry span {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .18em;
	color: var(--brand-orange)
}

.about-hero-content {
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 4vw
}

.about-hero-new h1 {
	font-size: clamp(2rem, 3.5vw, 4.25rem);
	line-height: 1.02;
	max-width: 790px;
	margin: 1rem 0
}

.about-hero-main>p {
	font-size: .96rem;
	line-height: 1.7
}

.about-hero-system {
	position: relative;
	background: rgba(5, 27, 42, .76);
	border-top: 3px solid var(--brand-orange)
}

/* Consolidated blog topics and modern featured story. */
.blog-filter-row {
	overflow: visible;
	flex-wrap: wrap;
	gap: 9px;
	padding: 1.7rem 0 2.2rem
}

.blog-filter-row button {
	flex: 0 0 auto
}

.blog-feature {
	padding: 70px 0 38px
}

.blog-feature a {
	grid-template-columns: 1.08fr .92fr;
	min-height: 470px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid #dce4e7;
	box-shadow: 0 24px 65px rgba(6, 35, 52, .11)
}

.blog-feature-image {
	background: var(--brand-surface-blue)
}

.blog-feature .blog-feature-image img {
	object-fit: cover !important;
	display: block
}

.blog-feature-image:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(5, 28, 42, .35), transparent 55%)
}

.blog-feature-image>span {
	z-index: 2;
	left: 20px;
	top: 20px;
	border-radius: 999px;
	background: var(--brand-red);
	padding: .55rem .78rem
}

.blog-feature-image>b {
	position: absolute;
	z-index: 2;
	right: 22px;
	bottom: 15px;
	color: rgba(255, 255, 255, .82);
	font-size: 4rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: -.08em
}

.blog-feature-copy {
	padding: 42px 46px;
	justify-content: flex-start;
	background: linear-gradient(145deg, #fff, #f7f9fa)
}

.blog-feature-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	padding-bottom: 14px;
	border-bottom: 1px solid #dbe3e6
}

.blog-feature-top small {
	color: var(--brand-red);
	font-size: .57rem;
	font-weight: 800;
	letter-spacing: .12em
}

.blog-feature-top span {
	font-size: .49rem;
	letter-spacing: .13em;
	color: #84949c
}

.blog-feature-copy h2 {
	font-size: clamp(2.05rem, 3vw, 3.3rem);
	margin: 1.3rem 0 .9rem
}

.blog-feature-copy>p {
	font-size: .86rem;
	line-height: 1.7
}

.blog-feature-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: auto 0 0;
	padding-top: 20px;
	border-top: 1px solid #dbe3e6
}

.blog-feature-foot>div {
	display: flex;
	gap: 1rem;
	color: #71828b;
	font-size: .6rem
}

.blog-feature-foot span i {
	margin-right: .35rem;
	color: var(--brand-orange)
}

.blog-feature-foot>b {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .62rem .8rem;
	border-radius: 999px;
	background: var(--brand-navy);
	color: #fff;
	font-size: .62rem;
	white-space: nowrap
}

@media(max-width:991px) {
	.product-hero-metrics {
		grid-template-columns: 1fr 1fr 1fr
	}

	.about-hero-new {
		height: 650px
	}

	.about-hero-geometry {
		right: -120px;
		opacity: .55
	}

	.blog-feature a {
		grid-template-columns: 1fr;
		min-height: 0
	}

	.blog-feature-image {
		height: 360px
	}
}

@media(max-width:767px) {
	.product-hero-metrics {
		grid-template-columns: 1fr;
		gap: 7px
	}

	.product-hero-metrics article {
		padding: 10px
	}

	.product-board-coverage {
		grid-template-columns: 1fr
	}

	.about-hero-new {
		height: auto;
		min-height: 720px
	}

	.about-hero-geometry {
		display: none
	}

	.about-hero-new h1 {
		font-size: 2.65rem
	}

	.blog-feature {
		padding-top: 52px
	}

	.blog-feature-image {
		height: 280px
	}

	.blog-feature-copy {
		padding: 28px 24px
	}

	.blog-feature-foot {
		align-items: flex-start;
		flex-direction: column
	}

	.blog-feature-foot>b {
		width: 100%;
		justify-content: space-between
	}

	.blog-filter-row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		overflow: visible
	}

	.blog-filter-row button {
		white-space: normal;
		padding: .6rem .7rem
	}
}

@media(max-width:480px) {
	.about-hero-new h1 {
		font-size: 2.35rem
	}

	.blog-feature-image {
		height: 235px
	}

	.blog-feature-copy h2 {
		font-size: 1.85rem
	}

	.blog-feature-foot>div {
		flex-direction: column;
		gap: .35rem
	}
}

/* Direct single-blog pages: full-width feature, restrained title and editorial reading layout. */
.single-blog-post {
	background: var(--brand-surface)
}

.single-blog-post>header.single-post-hero {
	position: relative;
	overflow: hidden;
	padding: 220px 0 82px !important;
	background: linear-gradient(128deg, var(--brand-navy-deep) 0%, #0b314b 62%, #12445f 100%);
	color: #fff
}

.single-post-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 68px 68px;
	mask-image: linear-gradient(90deg, #000, transparent 93%)
}

.single-post-hero:after {
	content: "";
	position: absolute;
	width: 510px;
	height: 510px;
	right: -150px;
	top: 40px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, .017), 0 0 0 140px rgba(255, 255, 255, .01)
}

.single-post-hero>.container {
	position: relative;
	z-index: 2;
	max-width: 1120px
}

.single-post-back {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-bottom: 2rem;
	color: #c2d3dc;
	font-size: .66rem;
	font-weight: 700
}

.single-post-back:hover {
	color: var(--brand-orange)
}

.single-post-category {
	display: block;
	color: var(--brand-orange);
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase
}

.single-post-hero h1 {
	max-width: 1000px !important;
	margin: 1rem 0 1.2rem;
	font-size: clamp(2.75rem, 4.4vw, 4.6rem) !important;
	line-height: 1.02;
	letter-spacing: -.052em
}

.single-post-hero>div>p {
	max-width: 780px;
	margin: 0;
	color: #c5d5dd;
	font-size: 1rem;
	line-height: 1.75
}

.single-post-hero .article-meta-chips {
	margin-top: 1.6rem
}

.single-post-hero .article-meta-chips span {
	border-color: rgba(255, 255, 255, .22);
	background: rgba(255, 255, 255, .055);
	color: #d4e0e5;
	backdrop-filter: blur(8px)
}

.single-post-hero .article-meta-chips i {
	color: var(--brand-orange)
}

.single-post-feature {
	position: relative;
	width: min(1440px, calc(100% - 48px));
	height: clamp(460px, 64vw, 680px);
	margin: 0 auto;
	background: #dfe7ea;
	overflow: hidden;
	box-shadow: 0 30px 80px rgba(5, 30, 46, .16)
}

.single-post-feature img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}

.single-post-feature:after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 25%;
	background: linear-gradient(transparent, rgba(4, 24, 37, .6));
	pointer-events: none
}

.single-post-feature figcaption {
	position: absolute;
	z-index: 2;
	left: 25px;
	right: 25px;
	bottom: 20px;
	display: flex;
	align-items: center;
	gap: .7rem;
	color: #fff;
	font-size: .62rem
}

.single-post-feature figcaption span {
	padding: .45rem .65rem;
	border-radius: 999px;
	background: var(--brand-red);
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase
}

.single-post-reading {
	padding: 78px 0 105px
}

.single-post-reading>.container {
	display: grid;
	grid-template-columns: 225px minmax(0, 760px) 280px;
	gap: clamp(24px, 3vw, 45px);
	align-items: start;
	max-width: 1400px
}

.single-post-toc,
.single-post-related {
	position: sticky;
	top: 120px;
	align-self: start
}

.toc-card {
	overflow: hidden;
	border-radius: 16px;
	background: var(--brand-navy-deep);
	color: #fff;
	box-shadow: 0 20px 48px rgba(5, 31, 48, .15)
}

.toc-card-head {
	display: grid;
	grid-template-columns: 38px 1fr;
	align-items: center;
	gap: 10px;
	padding: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, .13)
}

.toc-card-head>i {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: rgba(245, 130, 31, .13);
	color: var(--brand-orange)
}

.toc-card-head small,
.toc-card-head strong {
	display: block
}

.toc-card-head small {
	font-size: .46rem;
	letter-spacing: .13em;
	color: #8fa9b6
}

.toc-card-head strong {
	font-size: .76rem;
	margin-top: .2rem
}

.toc-card .generated-toc {
	counter-reset: toc;
	margin: 0;
	padding: 8px 14px;
	border: 0;
	max-height: 430px;
	overflow: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--brand-red) transparent
}

.toc-card .generated-toc a {
	counter-increment: toc;
	position: relative;
	display: grid !important;
	grid-template-columns: 25px 1fr;
	gap: 6px;
	margin: 0 !important;
	padding: 9px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
	color: #c0d0d8 !important;
	font-size: .61rem !important;
	line-height: 1.4
}

.toc-card .generated-toc a:before {
	content: counter(toc, decimal-leading-zero);
	color: var(--brand-orange);
	font-size: .48rem;
	font-weight: 800
}

.toc-card .generated-toc a:hover {
	color: #fff !important;
	transform: translateX(3px)
}

.toc-card .generated-toc .toc-sub {
	padding-left: 12px !important;
	color: #91aab6 !important
}

.toc-card .reader-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
	margin: 0;
	padding: 14px
}

.toc-card .reader-actions button {
	min-height: 38px;
	border: 1px solid rgba(255, 255, 255, .18);
	background: rgba(255, 255, 255, .07);
	color: #fff
}

.toc-card .reader-actions button:last-child {
	grid-column: 1/-1
}

.toc-card .copy-status {
	min-height: 0;
	padding: 0 14px;
	color: #b9d0bf
}

.toc-card .back-to-blog {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: 14px 16px;
	background: var(--brand-red);
	color: #fff !important;
	font-size: .64rem
}

.single-post-reading .article-prose {
	padding: 44px 50px;
	background: #fff;
	border: 1px solid #dde5e8;
	border-radius: 18px;
	box-shadow: 0 22px 58px rgba(6, 35, 52, .08)
}

.single-post-reading .article-prose>.lead {
	margin-bottom: 1.5rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #dce4e7;
	font-size: calc(1.2rem * var(--reader-scale));
	line-height: 1.75
}

.single-post-reading .article-prose>section {
	padding: 2.2rem 0 2.7rem
}

.single-post-reading .article-prose h2 {
	font-size: calc(2.05rem * var(--reader-scale));
	line-height: 1.18
}

.single-post-reading .article-prose p,
.single-post-reading .article-prose li {
	font-size: calc(.94rem * var(--reader-scale));
	line-height: 1.85
}

.single-post-reading .article-prose ul {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none
}

.single-post-reading .article-prose li {
	position: relative;
	padding: .72rem 0 .72rem 27px;
	border-bottom: 1px solid #edf1f2
}

.single-post-reading .article-prose li:before {
	content: "";
	position: absolute;
	left: 3px;
	top: 1.28rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--brand-orange);
	box-shadow: 0 0 0 5px var(--brand-orange-soft)
}

.single-post-reading .article-prose blockquote {
	margin: 2rem 0 0;
	border-radius: 0 14px 14px 0;
	background: var(--brand-surface);
	font-size: calc(1.25rem * var(--reader-scale))
}

.article-final-section {
	margin-top: 1rem;
	padding: 2.2rem !important;
	border: 0 !important;
	border-radius: 14px;
	background: linear-gradient(145deg, var(--brand-navy-deep), #123f59);
	color: #fff
}

.article-final-section h2 {
	color: #fff !important
}

.article-final-section p {
	color: #c4d4dc !important
}

.article-final-section .prose-section-number {
	color: var(--brand-orange) !important
}

.single-post-reading .article-author {
	border-radius: 14px
}

.single-post-reading .article-cta {
	border-radius: 14px;
	background: linear-gradient(145deg, var(--brand-surface), #fff);
	border: 1px solid #dce4e7
}

.article-cta .btn-primary{
    font-size:15px !important;
}

.single-post-related>div {
	overflow: hidden;
	border: 1px solid #d9e3e7;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(6, 35, 52, .07)
}

.single-post-related>div>span {
	display: block;
	padding: 18px 18px 0;
	color: var(--brand-red);
	font-size: .5rem;
	font-weight: 800;
	letter-spacing: .13em
}

.single-post-related h2 {
	padding: 0 18px 12px;
	margin: .4rem 0 0;
	font-size: 1.35rem
}

.single-post-related a:not(.single-related-all) {
	display: grid;
	grid-template-columns: 70px 1fr 18px;
	align-items: center;
	gap: 10px;
	padding: 13px 14px;
	border-top: 1px solid #e1e7e9;
	color: var(--brand-ink)
}

.single-post-related a:not(.single-related-all):not(:has(img)) {
	grid-template-columns: 1fr 18px
}

.single-post-related a:not(.single-related-all):hover {
	background: var(--brand-surface)
}

.single-post-related img {
	width: 70px;
	height: 68px;
	object-fit: cover;
	border-radius: 8px
}

.single-post-related a span {
	min-width: 0
}

.single-post-related small,
.single-post-related strong,
.single-post-related b {
	display: block
}

.single-post-related small {
	color: var(--brand-red);
	font-size: .45rem;
	text-transform: uppercase
}

.single-post-related strong {
	margin: .25rem 0;
	font-size: .68rem;
	line-height: 1.35
}

.single-post-related b {
	color: #82939b;
	font-size: .5rem
}

.single-post-related a>i {
	color: var(--brand-orange);
	font-size: .7rem
}

.single-related-all {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	background: var(--brand-navy);
	color: #fff;
	font-size: .63rem;
	font-weight: 800
}

@media(max-width:1199px) {
	.single-post-reading>.container {
		grid-template-columns: 210px minmax(0, 1fr)
	}

	.single-post-related {
		position: static;
		grid-column: 1/-1
	}

	.single-post-related>div {
		display: grid;
		grid-template-columns: repeat(3, 1fr)
	}

	.single-post-related>div>span,
	.single-post-related h2,
	.single-related-all {
		grid-column: 1/-1
	}

	.single-post-related a:not(.single-related-all) {
		border-right: 1px solid #e1e7e9
	}
}

@media(max-width:991px) {
	.single-blog-post>header.single-post-hero {
		padding: 190px 0 70px !important
	}

	.single-post-hero h1 {
		font-size: 3.5rem !important
	}

	.single-post-feature {
		height: 520px
	}

	.single-post-reading>.container {
		grid-template-columns: 1fr
	}

	.single-post-toc {
		position: static
	}

	.toc-card .generated-toc {
		max-height: none;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 18px
	}

	.single-post-related {
		grid-column: auto
	}
}

@media(max-width:767px) {
	.single-blog-post>header.single-post-hero {
		padding: 165px 0 55px !important
	}

	.single-post-hero h1 {
		font-size: 2.65rem !important
	}

	.single-post-hero>div>p {
		font-size: .88rem
	}

	.single-post-feature {
		width: 100%;
		height: 340px
	}

	.single-post-feature figcaption {
		left: 16px;
		right: 16px;
		bottom: 13px
	}

	.single-post-reading {
		padding: 50px 0 70px
	}

	.single-post-reading>.container {
		padding-top: 0 !important
	}

	.toc-card .generated-toc {
		grid-template-columns: 1fr
	}

	.single-post-reading .article-prose {
		padding: 26px 22px;
		border-radius: 14px
	}

	.single-post-reading .article-prose h2 {
		font-size: calc(1.75rem * var(--reader-scale))
	}

	.article-final-section {
		padding: 1.5rem !important
	}

	.single-post-related>div {
		display: block
	}

	.single-post-related a:not(.single-related-all) {
		border-right: 0
	}
}

@media(max-width:480px) {
	.single-post-hero h1 {
		font-size: 2.35rem !important
	}

	.single-post-feature {
		height: 275px
	}

	.single-post-feature figcaption {
		font-size: .53rem
	}

	.single-post-hero .article-meta-chips span:last-child {
		display: none
	}
}

/* Single-post refinement: filled hero, natural feature image, recent rail and bottom carousel. */
.single-blog-post>header.single-post-hero {
	padding: 205px 0 68px !important
}

.single-post-hero>.container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 285px;
	grid-template-rows: auto auto auto auto;
	column-gap: clamp(40px, 7vw, 95px);
	align-items: start;
	max-width: 1240px
}

.single-post-back {
	grid-column: 1;
	grid-row: 1;
	margin-bottom: 1.6rem
}

.single-post-category {
	grid-column: 1;
	grid-row: 2
}

.single-post-hero h1 {
	grid-column: 1;
	grid-row: 3;
	max-width: 850px !important;
	font-size: clamp(2.15rem, 3.9vw, 4.15rem) !important
}

.single-post-hero>div>p {
	grid-column: 1;
	grid-row: 4;
	max-width: 720px
}

.single-post-hero .article-meta-chips {
	grid-column: 2;
	grid-row: 1/5;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	margin: 0;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-top: 3px solid var(--brand-orange);
	background: rgba(5, 28, 43, .64);
	box-shadow: 0 25px 65px rgba(0, 0, 0, .17);
	backdrop-filter: blur(13px)
}

.single-post-hero .article-meta-chips:before {
	content: "ARTICLE DETAILS";
	display: block;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, .13);
	color: var(--brand-orange);
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .15em
}

.single-post-hero .article-meta-chips span {
	width: 100%;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	background: transparent;
	padding: 13px 0;
	font-size: .61rem
}

.single-post-hero .article-meta-chips span:last-child {
	border-bottom: 0
}

.single-post-feature {
	width: min(1180px, calc(100% - 48px));
	height: auto;
	margin: 38px auto 0;
	border-radius: 20px;
	background: transparent;
	box-shadow: 0 28px 75px rgba(5, 30, 46, .18)
}

.single-post-feature img {
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: initial;
	border-radius: 20px
}

.single-post-feature:after {
	border-radius: 20px
}

.single-post-feature figcaption {
	bottom: 18px
}

.single-post-recent {
	position: sticky;
	top: 120px;
	align-self: start
}

.single-post-recent>div {
	overflow: hidden;
	border: 1px solid #d9e3e7;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(6, 35, 52, .07)
}

.single-post-recent>div>span {
	display: block;
	padding: 18px 18px 0;
	color: var(--brand-red);
	font-size: .5rem;
	font-weight: 800;
	letter-spacing: .13em
}

.single-post-recent h2 {
	padding: 0 18px 12px;
	margin: .4rem 0 0;
	font-size: 1.3rem !important;
	line-height: 1.2
}

.single-post-recent a:not(.single-recent-all) {
	display: grid;
	grid-template-columns: 68px 1fr 18px;
	align-items: center;
	gap: 10px;
	padding: 13px 14px;
	border-top: 1px solid #e1e7e9;
	color: var(--brand-ink);
	transition: background .22s, transform .22s
}

.single-post-recent a:not(.single-recent-all):hover {
	background: var(--brand-surface);
	transform: translateX(3px)
}

.single-post-recent img {
	width: 68px;
	height: 66px;
	object-fit: cover;
	border-radius: 8px
}

.single-post-recent a span {
	min-width: 0
}

.single-post-recent small,
.single-post-recent strong,
.single-post-recent b {
	display: block
}

.single-post-recent small {
	color: var(--brand-red);
	font-size: .44rem;
	text-transform: uppercase;
	letter-spacing: .06em
}

.single-post-recent strong {
	margin: .25rem 0;
	font-size: .67rem;
	line-height: 1.35
}

.single-post-recent b {
	color: #82939b;
	font-size: .49rem
}

.single-post-recent a>i {
	color: var(--brand-orange);
	font-size: .7rem
}

.single-recent-all {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	background: var(--brand-navy);
	color: #fff;
	font-size: .63rem;
	font-weight: 800
}

.single-post-related-carousel {
	position: relative;
	overflow: hidden;
	padding: 82px 0 72px;
	background: linear-gradient(140deg, var(--brand-navy-deep), #0c3652) !important;
	color: #fff
}

.single-post-related-carousel:before {
	content: "";
	position: absolute;
	width: 500px;
	height: 500px;
	right: -180px;
	top: -220px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, .014)
}

.single-post-related-carousel>.container {
	position: relative;
	z-index: 2
}

.single-post-related-carousel .section-head {
	align-items: end;
	margin-bottom: 30px
}

.single-post-related-carousel .section-head>div {
	max-width: 760px
}

.single-post-related-carousel .section-head h2 {
	font-size: clamp(2.25rem, 3.7vw, 3.8rem);
	line-height: 1.05;
	color: #fff
}

.single-post-related-carousel .section-head p {
	max-width: 650px;
	margin: .7rem 0 0;
	color: #aec2cc;
	font-size: .82rem
}

.single-post-related-carousel .related-slider {
	padding: 4px 2px 20px;
	cursor: grab;
	touch-action: pan-y
}

.single-post-related-carousel .related-slider.is-dragging {
	cursor: grabbing;
	user-select: none
}

.single-post-related-carousel .related-slider-track {
	gap: 16px
}

.single-post-related-carousel .related-slide {
	padding: 0 0 30px 0;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 16px;
	background: #fff;
	color: var(--brand-ink);
	box-shadow: 0 18px 45px rgba(0, 0, 0, .17);
	transition: transform .28s, box-shadow .28s
}

.single-post-related-carousel .related-slide:hover {
	transform: translateY(-5px);
	box-shadow: 0 26px 60px rgba(0, 0, 0, .24)
}

.single-post-related-carousel .related-slide>div {
	background: #e2eaed;
}

.single-post-related-carousel .related-slide img {
	width: 100%;
	height: 100%;
}

.single-post-related-carousel .related-slide>small {
	margin-left: 15px;
	margin-top: 14px;
	color: #788a93
}

.single-post-related-carousel .related-slide>h3 {
	margin-left: 15px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 1.1rem;
	line-height: 1.3
}

.single-post-related-carousel .related-slide>b {
	margin-left: 15px;
	margin-top: auto;
	color: var(--brand-red)
}

.single-post-related-carousel .related-slider-buttons button {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border-color: rgba(255, 255, 255, .35);
	background: rgba(255, 255, 255, .08);
	color: #fff
}

.single-post-related-carousel .related-slider-buttons button:hover {
	background: var(--brand-orange);
	border-color: var(--brand-orange);
	color: var(--brand-navy-deep)
}

.single-post-related-carousel .related-slider-dots button {
	background: rgba(255, 255, 255, .35)
}

.single-post-related-carousel .related-slider-dots button.active {
	background: var(--brand-orange)
}

@media(max-width:1199px) {
	.single-post-recent {
		position: static;
		grid-column: 1/-1
	}

	.single-post-recent>div {
		display: grid;
		grid-template-columns: repeat(3, 1fr)
	}

	.single-post-recent>div>span,
	.single-post-recent h2,
	.single-recent-all {
		grid-column: 1/-1
	}

	.single-post-recent a:not(.single-recent-all) {
		border-right: 1px solid #e1e7e9
	}
}

@media(max-width:991px) {
	.single-blog-post>header.single-post-hero {
		padding: 185px 0 62px !important
	}

	.single-post-hero>.container {
		display: block
	}

	.single-post-hero .article-meta-chips {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		margin-top: 24px;
		padding: 16px
	}

	.single-post-hero .article-meta-chips:before {
		grid-column: 1/-1
	}

	.single-post-hero .article-meta-chips span {
		border-bottom: 0;
		border-right: 1px solid rgba(255, 255, 255, .12);
		padding: 10px
	}

	.single-post-hero .article-meta-chips span:last-child {
		border-right: 0
	}

	.single-post-feature {
		margin-top: 28px
	}
}

@media(max-width:767px) {
	.single-blog-post>header.single-post-hero {
		padding: 158px 0 50px !important
	}

	.single-post-hero .article-meta-chips {
		grid-template-columns: 1fr
	}

	.single-post-hero .article-meta-chips span {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .12)
	}

	.single-post-feature {
		width: calc(100% - 24px);
		margin-top: 18px;
		border-radius: 13px
	}

	.single-post-feature img,
	.single-post-feature:after {
		border-radius: 13px
	}

	.single-post-feature figcaption {
		left: 13px;
		right: 13px;
		bottom: 10px
	}

	.single-post-recent>div {
		display: block
	}

	.single-post-recent a:not(.single-recent-all) {
		border-right: 0
	}

	.single-post-related-carousel {
		padding: 60px 0 52px
	}

	.single-post-related-carousel .section-head {
		display: block
	}

	.single-post-related-carousel .related-slider-buttons {
		margin-top: 18px
	}
}

/* Complete, page-local policy navigation and readable legal content. */
.legal-body {
	padding: 78px 0 100px;
	background: var(--brand-surface)
}

.legal-body>.container {
	grid-template-columns: 250px minmax(0, 760px);
	gap: clamp(42px, 7vw, 90px);
	max-width: 1160px;
	align-items: start
}

.legal-body aside {
	counter-reset: policy-nav;
	position: sticky;
	top: 120px;
	display: block !important;
	overflow: hidden;
	padding: 0;
	border: 1px solid #d8e2e6;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 46px rgba(5, 34, 51, .08)
}

.legal-body aside:before {
	content: "ON THIS PAGE";
	display: block;
	padding: 17px 18px;
	border-bottom: 1px solid #dfe6e9;
	background: var(--brand-navy-deep);
	color: var(--brand-orange);
	font-size: .53rem;
	font-weight: 800;
	letter-spacing: .16em
}

.legal-body aside a {
	counter-increment: policy-nav;
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 7px;
	align-items: start;
	margin: 0;
	padding: 12px 16px;
	border-bottom: 1px solid #e6ebed;
	color: #53666f;
	font-size: .68rem;
	line-height: 1.45;
	transition: background .22s, color .22s, padding-left .22s
}

.legal-body aside a:before {
	content: counter(policy-nav, decimal-leading-zero);
	color: var(--brand-orange);
	font-size: .49rem;
	font-weight: 800
}

.legal-body aside a:last-child {
	border-bottom: 0
}

.legal-body aside a:hover,
.legal-body aside a:focus {
	padding-left: 20px;
	background: var(--brand-red-soft);
	color: var(--brand-red)
}

.legal-body article {
	min-width: 0;
	padding: 42px 48px;
	border: 1px solid #dce4e7;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 55px rgba(5, 34, 51, .07)
}

.legal-body article>.lead {
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #dce4e7;
	color: #314852;
	font-size: 1.05rem;
	line-height: 1.8
}

.legal-body article h2 {
	scroll-margin-top: 135px;
	margin: 2.8rem 0 1rem;
	padding-top: .35rem;
	color: var(--brand-ink);
	font-size: 1.8rem;
	line-height: 1.25
}

.legal-body article h2:first-of-type {
	margin-top: 0
}

.legal-body article h3 {
	margin: 1.8rem 0 .7rem;
	color: var(--brand-ink);
	font-size: 1.05rem
}

.legal-body article p,
.legal-body article li {
	color: #566a73;
	font-size: .9rem;
	line-height: 1.85
}

.legal-body article ul {
	padding-left: 1.2rem
}

.legal-body article a {
	color: var(--brand-red);
	font-weight: 700
}

@media(max-width:991px) {
	.legal-body>.container {
		display: grid;
		grid-template-columns: 1fr;
		gap: 28px
	}

	.legal-body aside {
		position: static;
		display: grid !important;
		grid-template-columns: repeat(2, 1fr)
	}

	.legal-body aside:before {
		grid-column: 1/-1
	}

	.legal-body aside a {
		border-right: 1px solid #e6ebed
	}
}

@media(max-width:575px) {
	.legal-body {
		padding: 58px 0 72px
	}

	.legal-body aside {
		grid-template-columns: 1fr
	}

	.legal-body aside a {
		border-right: 0
	}

	.legal-body article {
		padding: 28px 22px
	}

	.legal-body article h2 {
		font-size: 1.55rem
	}
}

/* Match the Projects desktop dropdown shell to the Products mega catalogue. */
@media(min-width:1200px) {
	.navbar .project-menu-holder .project-menu-panel {
		position: fixed;
		inset: auto auto auto 50%;
		top: 85px;
		left: 50%;
		right: auto;
		bottom: auto;
		width: min(1180px, calc(100vw - 48px));
		max-height: min(470px, calc(100dvh - 158px));
		margin: 0;
		border: 1px solid #dce5e8;
		border-radius: 18px;
		background: #f5f7f8;
		box-shadow: 0 28px 70px rgba(4, 29, 49, .22);
		transform: translate(-50%, -8px)
	}

	.navbar.scrolled .project-menu-holder .project-menu-panel {
		top: 102px;
		max-height: min(470px, calc(100dvh - 114px))
	}

	.project-menu-holder:hover .project-menu-panel,
	.project-menu-holder:focus-within .project-menu-panel {
		transform: translate(-50%, 0)
	}

	.project-menu-grid {
		gap: 12px;
		padding: 18px;
		background: #f5f7f8
	}

	.project-menu-grid>a {
		grid-template-columns: 112px 1fr 28px;
		min-height: 112px;
		padding: 9px;
		border: 1px solid #e0e6e9;
		border-radius: 9px;
		background: #fff;
		overflow: hidden
	}

	.project-menu-grid img {
		width: 112px;
		height: 92px;
		border-radius: 6px
	}

	.project-menu-grid>a:hover {
		border-color: var(--brand-red);
		box-shadow: 0 14px 34px rgba(16, 43, 58, .12)
	}

	.project-menu-grid>a>i {
		width: 28px;
		height: 28px;
		border-radius: 50%;
		display: grid;
		place-items: center;
		background: #edf2f4;
		color: var(--brand-navy);
		font-size: .7rem
	}

	.project-menu-grid>a:hover>i {
		background: var(--brand-red);
		color: #fff
	}
}

/* Site-wide type scale, draggable surfaces and overflow-safe responsive foundations. */
:root {
	--section-heading-size: clamp(1.75rem, 3vw, 2.4rem);
	--section-card-heading-size: clamp(1.05rem, 1.35vw, 1.35rem)
}

html,
body {
	max-width: 100%;
	overflow-x: clip
}

main,
main>*,
main section,
main .container,
main .row>*,
footer .row>* {
	min-width: 0
}

main section h2 {
	max-width: 100%;
	color: inherit;
	font-size: var(--section-heading-size) !important;
	line-height: 1.18 !important;
	letter-spacing: -.035em;
	overflow-wrap: anywhere
}

main section h3 {
	max-width: 100%;
	font-size: var(--section-card-heading-size);
	line-height: 1.3;
	overflow-wrap: anywhere
}

main section p,
main section li {
	overflow-wrap: anywhere;
	color: inherit
}

main section .hero-command h2 {
	font-size: 1.5rem !important
}

main section .category-card h2,
main section .product-card h2 {
	font-size: 1.2rem !important;
	line-height: 1.3 !important;
	letter-spacing: -.02em
}

main .article-prose section h2 {
	font-size: clamp(1.55rem, 2vw, 2rem) !important;
	line-height: 1.28 !important;
	letter-spacing: -.025em
}

main .article-prose section h3 {
	font-size: clamp(1.08rem, 1.3vw, 1.28rem)
}

main .legal-body article h2 {
	font-size: 1.8rem !important;
	line-height: 1.3 !important;
	letter-spacing: -.025em
}

img,
video,
iframe,
svg {
	max-width: 100%
}

img,
video {
	height: auto
}

iframe {
	width: 100%
}

.btn,
button,
a {
	overflow-wrap: anywhere
}

.btn {
	max-width: 100%;
	white-space: normal
}

input,
select,
textarea {
	max-width: 100%
}

.table-responsive {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch
}

.product-carousel-viewport,
.home-blog-viewport,
.project-slider-viewport,
.reviews-carousel,
.reviews-logo-viewport,
.related-slider {
	touch-action: pan-y;
	cursor: grab;
	user-select: none
}

.product-carousel-viewport.is-dragging,
.home-blog-viewport.is-dragging,
.project-slider-viewport.is-dragging,
.reviews-carousel:active,
.reviews-logo-viewport:active,
.related-slider.is-dragging {
	cursor: grabbing
}

.product-carousel-track,
.home-blog-track,
.project-slider-track,
.reviews-track,
.client-logo-track,
.related-slider-track {
	will-change: transform
}

@media(max-width:991.98px) {
	:root {
		--section-heading-size: clamp(1.7rem, 4.8vw, 2.15rem)
	}

	main {
		max-width: 100%;
		overflow-x: clip
	}

	.section-head,
	.projects-section-head,
	.project-section-heading,
	.client-carousel-heading,
	.reviews-client-heading {
		gap: 1.2rem
	}
}

@media(max-width:767.98px) {
	:root {
		--section-heading-size: clamp(1.55rem, 7vw, 1.9rem);
		--section-card-heading-size: clamp(1rem, 4.8vw, 1.2rem)
	}

	main section h2 {
		letter-spacing: -.025em
	}

	main h1 {
		max-width: 100%;
		font-size: clamp(2rem, 10vw, 2.8rem) !important;
		line-height: 1.08 !important;
		overflow-wrap: anywhere
	}

	main .article-prose section h2,
	main .legal-body article h2 {
		font-size: 1.55rem !important
	}

	.section-head,
	.projects-section-head,
	.project-section-heading,
	.client-carousel-heading,
	.reviews-client-heading {
		display: block !important
	}

	.section-head>*,
	.projects-section-head>*,
	.project-section-heading>*,
	.client-carousel-heading>*,
	.reviews-client-heading>* {
		max-width: 100%
	}

	.btn,
	.hub-hero-actions a,
	.projects-hero-actions a {
		justify-content: center;
		text-align: center
	}

	.d-flex.gap-3,
	.d-flex.gap-2 {
		row-gap: .75rem !important
	}

	.product-carousel-controls,
	.home-blog-controls,
	.project-slider-controls {
		max-width: 100%
	}
}

@media(max-width:399.98px) {
	.container {
		--bs-gutter-x: 1.5rem
	}

	main h1 {
		font-size: clamp(1.85rem, 7vw, 2.35rem) !important
	}

	.btn {
		padding-left: 1rem;
		padding-right: 1rem
	}
}

/* Submission confirmation: compact, responsive and relevant to the enquiry. */
.submission-success-page {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 200px 0 88px;
	background: linear-gradient(135deg, var(--brand-navy-deep) 0%, #0d3548 64%, #164a5e 100%);
	color: #fff
}

.submission-success-pattern {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: radial-gradient(circle at 85% 12%, rgba(245, 130, 31, .18), transparent 27%), linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: auto, 42px 42px, 42px 42px;
	mask-image: linear-gradient(90deg, transparent, #000 42%, #000)
}

.submission-success-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 410px);
	gap: clamp(42px, 7vw, 90px);
	align-items: center
}

.submission-success-main {
	max-width: 760px
}

.submission-success-icon {
	display: grid;
	place-items: center;
	width: 66px;
	height: 66px;
	margin-bottom: 22px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	background: linear-gradient(145deg, var(--brand-red), var(--brand-orange));
	box-shadow: 0 15px 38px rgba(0, 0, 0, .24);
	font-size: 1.8rem
}

.submission-success-kicker {
	display: block;
	color: var(--brand-orange);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .18em
}

.submission-success-main h1 {
	max-width: 760px;
	margin: 14px 0 18px;
	color: #fff;
	font-size: clamp(2.65rem, 4vw, 4.25rem);
	line-height: 1.02;
	letter-spacing: -.055em
}

.submission-success-lead {
	max-width: 680px;
	margin: 0;
	color: #c1d0d7;
	font-size: 1rem;
	line-height: 1.8
}

.submission-email-status {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 680px;
	margin-top: 25px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 12px;
	background: rgba(255, 255, 255, .07)
}

.submission-email-status>i {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border-radius: 50%;
	background: rgba(245, 130, 31, .14);
	color: var(--brand-orange);
	font-size: 1.1rem
}

.submission-email-status span,
.submission-email-status strong {
	display: block
}

.submission-email-status strong {
	margin-bottom: 3px;
	color: #fff;
	font-size: .78rem
}

.submission-email-status span {
	color: #adc0c9;
	font-size: .7rem;
	line-height: 1.55
}

.submission-email-status.success>i {
	background: rgba(55, 185, 116, .15);
	color: #75d6a3
}

.submission-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;
	margin-top: 28px
}

.submission-reference-card {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 18px;
	background: rgba(255, 255, 255, .96);
	color: var(--brand-ink);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .25)
}

.submission-reference-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 17px 20px;
	background: var(--brand-navy-deep);
	color: var(--brand-orange);
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .15em
}

.submission-reference-head i {
	font-size: 1.1rem
}

.submission-reference-card dl {
	margin: 0;
	padding: 5px 22px
}

.submission-reference-card dl>div {
	display: grid;
	grid-template-columns: 115px 1fr;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid #e4eaec
}

.submission-reference-card dt {
	color: #7b8c93;
	font-size: .62rem;
	font-weight: 600
}

.submission-reference-card dd {
	margin: 0;
	color: #1c3643;
	font-size: .7rem;
	font-weight: 800;
	line-height: 1.45;
	overflow-wrap: anywhere
}

.submission-reference-card dd i {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	background: #35b778;
	box-shadow: 0 0 0 4px rgba(53, 183, 120, .12)
}

.submission-reference-card>p {
	display: flex;
	gap: 9px;
	margin: 0;
	padding: 17px 22px;
	background: #f4f7f8;
	color: #71838a;
	font-size: .62rem;
	line-height: 1.55
}

.submission-reference-card>p i {
	color: var(--brand-red)
}

.submission-next-panel {
	margin-top: 68px
}

.submission-next-intro {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid rgba(255, 255, 255, .17)
}

.submission-next-intro>span {
	color: var(--brand-orange);
	font-size: .57rem;
	font-weight: 800;
	letter-spacing: .16em
}

.submission-next-intro h2 {
	max-width: 650px;
	margin: 0;
	color: #fff !important;
	text-align: right
}

.submission-next-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-bottom: 1px solid rgba(255, 255, 255, .17)
}

.submission-next-steps article {
	position: relative;
	padding: 28px 26px;
	border-right: 1px solid rgba(255, 255, 255, .17)
}

.submission-next-steps article:last-child {
	border-right: 0
}

.submission-next-steps b {
	position: absolute;
	right: 22px;
	top: 24px;
	color: rgba(255, 255, 255, .2);
	font-size: .7rem
}

.submission-next-steps i {
	color: var(--brand-orange);
	font-size: 1.35rem
}

.submission-next-steps h3 {
	margin: 13px 0 7px;
	color: #fff;
	font-size: 1.05rem
}

.submission-next-steps p {
	margin: 0;
	color: #aebfc7;
	font-size: .74rem;
	line-height: 1.7
}

.submission-help {
	display: flex;
	align-items: center;
	gap: 22px;
	padding-top: 22px;
	color: #b7c6cd;
	font-size: .7rem
}

.submission-help span {
	margin-right: auto
}

.submission-help span i {
	margin-right: 7px;
	color: var(--brand-orange)
}

.submission-help a {
	color: #fff;
	font-weight: 800
}

.submission-help a i {
	color: #68d391
}

main:has(.submission-success-page)+.cta-band {
	display: none
}

@media(max-width:991.98px) {
	.submission-success-page {
		padding: 78px 0 70px
	}

	.submission-success-shell {
		grid-template-columns: 1fr;
		gap: 38px
	}

	.submission-success-main {
		max-width: none
	}

	.submission-reference-card {
		max-width: 620px
	}

	.submission-next-intro {
		display: block
	}

	.submission-next-intro h2 {
		margin-top: 10px;
		text-align: left
	}
}

@media(max-width:767.98px) {
	.submission-success-page {
		padding: 60px 0 52px
	}

	.submission-success-main h1 {
		font-size: clamp(2rem, 10vw, 2.75rem) !important
	}

	.submission-actions {
		display: grid
	}

	.submission-actions .btn {
		width: 100%
	}

	.submission-reference-card dl>div {
		grid-template-columns: 1fr;
		gap: 5px
	}

	.submission-next-panel {
		margin-top: 48px
	}

	.submission-next-steps {
		grid-template-columns: 1fr
	}

	.submission-next-steps article {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .17);
		padding: 24px 5px
	}

	.submission-next-steps article:last-child {
		border-bottom: 0
	}

	.submission-help {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px
	}

	.submission-help span {
		margin-right: 0
	}
}

/* Consolidated corporate theme */
/*
 * Shamsi corporate colour system
 * Deep navy carries the service brand, red marks actions, orange is reserved
 * for small highlights. Large surfaces stay calm, clean and professional.
 */
:root {
	--blue: #0b304c;
	--blue2: #315b73;
	--red: #c6262e;
	--ink: #172b38;
	--soft: #f4f6f7;
	--line: #d8e1e5;
	--muted: #62747e;
	--brand-navy: #0b304c;
	--brand-navy-deep: #061d2e;
	--brand-navy-mid: #194761;
	--brand-red: #c6262e;
	--brand-red-dark: #9f1b22;
	--brand-red-light: #e05258;
	--brand-red-soft: #fbecee;
	--brand-orange: #e7792d;
	--brand-orange-dark: #ba591d;
	--brand-orange-soft: #fff1e7;
	--brand-surface: #f4f6f7;
	--brand-surface-blue: #eaf0f3;
	--brand-line: #d8e1e5;
	--brand-ink: #172b38;
	--brand-muted: #62747e;
}

body {
	color: var(--brand-ink);
	background: #fff
}

a {
	transition: color .22s, background-color .22s, border-color .22s, box-shadow .22s, transform .22s
}

::selection {
	background: #f4c7c9;
	color: #061d2e
}

/* Global header and navigation */
.topbar {
	background: #061d2e;
	color: #d7e2e7
}

.topbar i {
	color: #e99a61
}

.topbar a {
	color: #e5edf1
}

.navbar {
	background: #fff !important;
	border: 1px solid rgba(11, 48, 76, .13);
	box-shadow: 0 12px 34px rgba(6, 29, 46, .1)
}

.navbar.scrolled {
	background: #fff !important;
	box-shadow: 0 15px 38px rgba(6, 29, 46, .14)
}

.navbar:before {
	background: linear-gradient(90deg, transparent 5%, var(--brand-red) 33%, var(--brand-orange) 67%, transparent 95%);
	opacity: .68
}

.navbar-brand,
.nav-link {
	color: #203845 !important
}

.nav-link:hover,
.nav-link.active {
	color: var(--brand-red) !important
}

.nav-link:after {
	background: var(--brand-red)
}

.nav-link.active:after {
	background: var(--brand-red)
}

.btn-primary,
.hero-command>a,
.journey-cta,
.animated-link>span,
.cinema-copy b>span,
.cta-band {
	background: var(--brand-red) !important;
	border-color: var(--brand-red) !important;
	color: #fff !important;
	box-shadow: none
}

.btn-primary:hover,
.hero-command>a:hover,
.journey-cta:hover {
	background: var(--brand-red-dark) !important;
	border-color: var(--brand-red-dark) !important;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(159, 27, 34, .18)
}

.btn-outline-dark {
	color: var(--brand-navy);
	border-color: #9eafb8
}

.btn-outline-dark:hover {
	background: var(--brand-navy);
	border-color: var(--brand-navy);
	color: #fff
}

/* Common typography and surfaces */
.eyebrow {
	color: #884011;
}

.text-link:hover {
	color: var(--brand-red);
	border-color: var(--brand-red)
}

.bg-soft,
.case-home,
.home-journal,
.product-components,
.related-solutions {
	background: var(--brand-surface) !important
}

.section:nth-of-type(even).bg-soft {
	background: var(--brand-surface-blue) !important
}


/* Homepage hero and service assurances */
.smart-hero {
	background: var(--brand-navy-deep)
}

.smart-hero .hero-video-wrap {
	background: var(--brand-navy-deep)
}

.smart-hero:before {
	background: linear-gradient(90deg, rgba(4, 23, 37, .97) 0%, rgba(6, 35, 56, .91) 48%, rgba(8, 47, 73, .66) 76%, rgba(6, 32, 51, .54) 100%), linear-gradient(180deg, transparent 53%, rgba(4, 23, 37, .66))
}

.smart-hero h1 em,
.cinema-heading h2 em {
	color: #ef8b48;
	-webkit-text-fill-color: currentColor;
	background: none
}

.hero-kicker {
	color: #b8ccd6
}

.specia-text {
	color: #edf3f5;
	background: rgba(11, 48, 76, .6);
	border-color: rgba(255, 255, 255, .2)
}

.specia-text:before {
	background: var(--brand-orange)
}

.hero-command {
	background: rgba(6, 29, 46, .92);
	border-color: rgba(231, 121, 45, .3);
	box-shadow: 0 28px 70px rgba(1, 15, 25, .34)
}

.system-orbit>div {
	background: #174c69;
	box-shadow: 0 0 48px rgba(64, 143, 180, .24)
}

.system-orbit>div i {
	color: #f0a06a
}

.journey-progress i {
	background: var(--brand-orange);
	box-shadow: none
}

.hero-trust-rail {
	background: var(--brand-surface)
}

.hero-trust-rail>.container {
	background: #fff;
	border-color: var(--brand-line);
	box-shadow: 0 14px 36px rgba(6, 29, 46, .08)
}

.trust-seal small {
	color: var(--brand-red)
}

.trust-seal>span {
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark);
	border-color: #efcfb8
}

.proof-strip {
	background: #fff;
	border-color: var(--brand-line)
}

.proof-grid strong {
	color: var(--brand-navy)
}

.proof-grid b {
	color: var(--brand-red)
}

.story-stamp {
	background: var(--brand-red);
	color: #fff;
	box-shadow: 0 15px 34px rgba(159, 27, 34, .2)
}

.story-cta {
	background: var(--brand-navy);
	color: #fff
}

.story-cta:hover {
	background: var(--brand-red);
	color: #fff
}

.value-outcomes>a>i:first-child {
	color: var(--brand-orange-dark);
	background: var(--brand-orange-soft)
}

/* Dark sections use one disciplined navy family */
.solution-explorer,
.product-cinema,
.impact-section,
.product-engineering,
.project-process,
.case-facts,
.dark-section {
	background-color: var(--brand-navy-deep) !important
}

.solution-explorer {
	background-image: linear-gradient(135deg, #061d2e, #0b304c)
}

.product-cinema {
	background-image: linear-gradient(135deg, #051a29, #082a42)
}

.impact-section {
	background-image: linear-gradient(145deg, #051a29, #0b304c)
}

.solution-tabs button {
	color: #9fb4bf;
	border-color: rgba(255, 255, 255, .16)
}

.solution-tabs button.active {
	color: #fff;
	border-color: var(--brand-orange)
}

.solution-copy>span,
.cinema-copy>.bi,
.product-marquee span {
	color: #ee9a60
}

.solution-stage:after {
	background: linear-gradient(90deg, rgba(4, 23, 37, .92), rgba(4, 23, 37, .25) 68%, transparent)
}

.product-marquee i {
	background: var(--brand-orange);
	box-shadow: none
}

.home-products-carousel .cinema-number {
	background: var(--brand-red);
	box-shadow: 0 7px 18px rgba(159, 27, 34, .2)
}

.home-products-carousel .cinema-copy>.bi {
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark)
}

.home-products-carousel .cinema-copy>small,
.home-products-carousel .cinema-copy b {
	color: var(--brand-red)
}

.product-carousel-progress i,
.project-slider-dots button.active,
.home-blog-progress i,
.related-slider-dots button.active,
.experience-controls>div i {
	background: var(--brand-red)
}

/* Manufacturing and project presentation */
.manifesto-section {
	background: #0d3854
}

.manifesto-copy p {
	color: #c6d5dc
}

.manifesto-copy li {
	border-color: rgba(255, 255, 255, .15)
}

.manifesto-copy li span {
	color: #ee9a60
}

.case-home {
	background: #f1f4f5 !important
}

.case-tile:after {
	background: linear-gradient(0deg, rgba(4, 23, 37, .96), rgba(4, 23, 37, .08) 72%)
}

.case-tile>div>span,
.case-tile b {
	color: #ee9a60
}

.case-tile {
	box-shadow: 0 15px 36px rgba(6, 29, 46, .12)
}

.project-slider-arrows button {
	color: var(--brand-navy);
	border-color: #c4d0d6;
	background: #fff
}

.project-slider-arrows button:hover {
	background: var(--brand-navy);
	border-color: var(--brand-navy);
	color: #fff
}

.orbit-center>span {
	color: #ee9a60
}

.orbit-card {
	background: #fff;
	border-top: 3px solid var(--brand-red);
	box-shadow: 0 18px 42px rgba(1, 14, 23, .22)
}

.orbit-card:nth-of-type(even) {
	border-top-color: var(--brand-orange)
}

.orbit-card i {
	color: var(--brand-red)
}

/* Page banners and breadcrumbs */
.page-hero,
.knowledge-hero,
.legal-hero,
.contact-hero,
.manufacturing-hero,
.products-hero,
.project-detail-hero,
.reviews-modern-hero,
.about-modern-hero {
	background-color: var(--brand-navy-deep) !important;
	background-image: linear-gradient(135deg, #061d2e, #0b304c) !important
}

.page-hero:before,
.knowledge-hero:before,
.legal-hero:before,
.contact-hero:before,
.manufacturing-hero:before,
.products-hero:before,
.project-detail-hero:before,
.reviews-modern-hero:before,
.about-modern-hero:before {
	color: rgba(255, 255, 255, .04)
}

.page-hero p,
.knowledge-hero p,
.legal-hero p {
	color: #c4d4dc
}

.site-breadcrumbs,
.breadcrumbs {
	background: rgba(255, 255, 255, .95);
	border-color: rgba(11, 48, 76, .15);
	box-shadow: 0 9px 26px rgba(4, 23, 37, .12)
}

.site-breadcrumbs a,
.breadcrumbs a {
	color: var(--brand-navy-mid)
}

.site-breadcrumbs span,
.breadcrumbs span {
	color: var(--brand-ink)
}

.site-breadcrumbs i,
.breadcrumbs i {
	color: var(--brand-orange-dark)
}

/* Products and categories */
.catalog-detail-hero,
.catalogue-hero,
.individual-product-hero {
	background-color: var(--brand-navy-deep)
}

.catalogue-spec-card,
.catalog-detail-card {
	background: rgba(6, 29, 46, .94);
	border-color: rgba(255, 255, 255, .18);
	border-top-color: var(--brand-orange)
}

.catalogue-spec-card {
	color: #fff
}

.catalogue-spec-card .catalogue-label,
.catalogue-spec-card .catalogue-label b {
	color: #a9bec9
}

.catalogue-spec-card .catalogue-label i {
	background: var(--brand-orange)
}

.catalogue-spec-card>.catalogue-icon {
	color: var(--brand-orange)
}

.catalogue-spec-card h2 {
	color: #fff
}

.catalogue-spec-card li {
	color: #d8e3e8;
	border-color: rgba(255, 255, 255, .16)
}

.catalogue-spec-card li i {
	color: var(--brand-orange)
}

.catalogue-spec-card>a {
	color: #fff
}

.catalogue-spec-card>a i {
	color: var(--brand-orange)
}

.product-proof,
.catalog-detail-strip {
	background: var(--brand-navy)
}

.product-confidence,
.product-intro {
	background: #fff
}

.product-components,
.related-solutions {
	background: var(--brand-surface) !important
}

.component-panels>a,
.related-solutions a,
.spec-card,
.product-benefit-grid>div {
	border-color: var(--brand-line);
	background: #fff
}

.component-panels>a:hover,
.related-solutions a:hover,
.spec-card:hover {
	border-color: #e3a77f;
	box-shadow: 0 16px 36px rgba(6, 29, 46, .09)
}

.component-panels>a>span,
.product-benefit-grid>div>span {
	color: var(--brand-orange-dark)
}

.catalogue-form,
.inquiry-panel,
.form-card {
	background: #fff;
	border-color: var(--brand-line);
	box-shadow: 0 18px 45px rgba(6, 29, 46, .08)
}

.form-control,
.form-select {
	background: #fff;
	border-color: #cbd7dd;
	color: var(--brand-ink)
}

.form-control:focus,
.form-select:focus {
	border-color: var(--brand-navy-mid);
	box-shadow: 0 0 0 .2rem rgba(49, 91, 115, .12)
}

.form-heading span,
.form-note i {
	color: var(--brand-orange-dark)
}

/* About, manufacturing and service content */
.about-story-section,
.manufacturing-story,
.product-confidence,
.timeline-section {
	background: #fff
}

.about-values,
.manufacturing-capabilities,
.about-what-we-do {
	background: var(--brand-surface)
}

.about-value-card,
.about-service-card,
.manufacturing-card,
.capability-card,
.value-card {
	background: #fff;
	border-color: var(--brand-line)
}

.about-value-card i,
.about-service-card i,
.manufacturing-card i,
.capability-card i,
.value-card>strong {
	color: var(--brand-orange-dark)
}

.timeline-item>span,
.mini-timeline strong {
	color: var(--brand-navy-mid)
}

.mini-timeline {
	border-color: #b7cad4
}

.mini-timeline>div:before {
	background: var(--brand-red)
}

/* Reviews */
.reviews-client-section,
.reviews-feedback-section {
	background: var(--brand-surface)
}

.reviews-trust-card {
	background: rgba(11, 48, 76, .92);
	border-color: rgba(255, 255, 255, .18);
	box-shadow: 0 20px 55px rgba(2, 15, 25, .25);
	color: #fff
}

.reviews-trust-card>span,
.reviews-trust-card>i,
.reviews-trust-card>div i {
	color: var(--brand-orange-soft)
}

.reviews-trust-card h2 {
	color: #fff
}

.reviews-trust-card p {
	color: #c8d7df;
	border-color: rgba(255, 255, 255, .14)
}

.reviews-trust-card>div {
	color: #e8eff2
}

.review-stars,
.google-summary-score span {
	color: var(--brand-orange)
}

.google-slider-arrow {
	background: #fff;
	color: var(--brand-navy);
	border-color: #c7d3d9
}

.google-slider-arrow:hover {
	background: var(--brand-navy);
	color: #fff
}

.reviews-reference,
.review-proof {
	background: var(--brand-navy-deep);
	color: #fff
}

.review-proof-copy>p {
	color: #c7d6de
}

/* Blog, knowledge and policies */
.featured-insight a>div,
.article-cta,
.article-reader-tools {
	background: var(--brand-surface)
}

.featured-insight span,
.filter-row button.active,
.article-prose a,
.editorial-body aside span {
	color: var(--brand-red)
}

.filter-row button.active {
	border-color: var(--brand-red)
}

.editorial header,
.modern-editorial>header {
	background: var(--brand-surface-blue)
}

.editorial-body blockquote,
.article-prose blockquote {
	color: var(--brand-navy);
	border-color: var(--brand-orange)
}

.home-journal,
.knowledge-home {
	background: var(--brand-surface) !important
}

.home-blog-card,
.article-grid article {
	background: #fff;
	border-color: var(--brand-line)
}

.home-blog-card:hover {
	box-shadow: 0 22px 48px rgba(6, 29, 46, .12)
}

.home-blog-image span,
.home-blog-copy b {
	color: var(--brand-red)
}

.home-blog-copy b {
	background: var(--brand-red-soft)
}

.legal-body aside a:hover,
.legal-body aside a.active {
	color: var(--brand-red)
}

.legal-body h2 {
	color: var(--brand-navy)
}

/* Contact and reusable calls to action */
.contact-sidebar {
	background: var(--brand-navy-deep)
}

.contact-sidebar h2,
.contact-sidebar h3 {
	color: #fff
}

.contact-sidebar p,
.contact-sidebar small {
	color: #b9cbd4
}

.contact-sidebar>a>i,
.location-card i {
	color: #ee9a60
}

.conversion-panel,
.cta-band {
	background: var(--brand-red) !important;
	color: #fff
}

.conversion-panel p,
.cta-band p {
	color: #f8dadd
}

/* Mega menus and mobile navigation */
.mega-menu,
.mega-catalog-shell,
.project-menu-panel {
	background: #fff;
	border-color: var(--brand-line);
	box-shadow: 0 24px 58px rgba(6, 29, 46, .16)
}

.mega-category-rail,
.project-menu-intro {
	background: var(--brand-navy-deep)
}

.mega-category-rail button.active,
.mega-category-rail button:hover {
	background: rgba(255, 255, 255, .09);
	color: #fff
}

.mega-category-icon,
.mega-icon {
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark)
}

.mega-product-grid>a:hover,
.project-menu-grid>a:hover {
	border-color: #e3a77f
}

.mobile-nav-canvas,
.mobile-canvas-header,
.mobile-canvas-footer {
	background: var(--brand-navy-deep) !important
}

.mobile-category-icon,
.mobile-products-entry>button .bi-grid,
.mobile-quick-actions i,
.mobile-canvas-footer i {
	color: #ee9a60
}

.mobile-all-products {
	background: var(--brand-red)
}

/* Footer */
footer {
	background: #061d2e;
	border-top: 4px solid var(--brand-red)
}

footer:before {
	width: 34%;
	background: var(--brand-orange)
}

footer h3:after {
	background: var(--brand-red)
}

footer a:hover,
.footer-policy-links a:hover,
.footer-contact-link {
	color: #ee9a60
}

footer hr {
	border-color: rgba(255, 255, 255, .16)
}

@media(max-width:767.98px) {
	.navbar {
		background: #fff !important
	}

	.smart-hero:before {
		background: linear-gradient(90deg, rgba(4, 23, 37, .97), rgba(6, 35, 56, .87) 72%, rgba(6, 35, 56, .7)), linear-gradient(180deg, transparent 48%, rgba(4, 23, 37, .7))
	}

	.nav-link.active {
		color: var(--brand-red) !important
	}
}

/* Balanced About company story */
.about-story-new {
	padding: 88px 0
}

.about-story-new>.container {
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: start
}

.about-story-heading h2 {
	margin-bottom: 2rem
}

.about-company-snapshot {
	display: grid;
	border: 1px solid var(--brand-line);
	background: var(--brand-surface)
}

.about-company-snapshot>span {
	display: grid;
	grid-template-columns: 38px 1fr;
	column-gap: .85rem;
	padding: 1rem 1.1rem;
	border-bottom: 1px solid var(--brand-line)
}

.about-company-snapshot>span:last-child {
	border-bottom: 0
}

.about-company-snapshot i {
	grid-row: 1/3;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	background: #fff;
	color: var(--brand-red);
	border: 1px solid #e0e7ea
}

.about-company-snapshot b {
	font-size: .74rem;
	color: var(--brand-navy);
	line-height: 1.35
}

.about-company-snapshot small {
	font-size: .62rem;
	line-height: 1.5;
	color: var(--brand-muted);
	margin-top: .15rem
}

.about-story-copy {
	padding-top: 1.45rem;
	border-top: 3px solid var(--brand-red)
}

.project-overview-copyh2 {
	color: var(--brand-ink);
}

section.knowledge-home.home-journal h2 {
	color: var(--brand-ink);
}

.section.trusted-section h2 {
	color: var(--brand-ink);
}

.about-story-heading h2 {
	color: var(--brand-ink);
}

.about-leadership-copy h2 {
	color: var(--brand-ink);
}

.about-section-head h2 {
	color: var(--brand-ink);
}

.about-values-intro h2 {
	color: var(--brand-ink);
}

.about-timeline-intro h2 {
	color: var(--brand-ink);
}

.about-delivery-copy h2 {
	color: var(--brand-ink);
}

.section.trusted-section p {
	color: var(--brand-ink);
}

.manifesto-copy li {
	color: #fff;
}

/* Homepage industry logo grid */
.home-brand-logo-grid .client-logo-cell {
	min-height: 112px;
	padding: 1rem 1.25rem;
	background: #fff;
}

.home-brand-logo-grid .client-logo-cell img {
	display: block;
	width: 78%;
	max-width: 175px;
	height: 62px;
	object-fit: contain;
	object-position: center;
}

/* Reviews industry logo carousel */
.reviews-client-section .reviews-logo-viewport {
	padding: 14px 0;
	border-top: 1px solid var(--brand-line);
	border-bottom: 1px solid var(--brand-line);
	background: var(--brand-surface);
}

.reviews-client-section .reviews-logo-viewport .client-logo-track {
	gap: 14px;
}

.reviews-client-section .reviews-logo-card {
	width: 230px;
	height: 112px;
	flex: 0 0 230px;
	padding: 1rem 1.25rem;
	border: 1px solid var(--brand-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(6, 29, 46, .06);
	overflow: hidden;
}

.reviews-client-section .reviews-logo-card:before {
	display: none;
}

.reviews-client-section .reviews-logo-card>img {
	display: block;
	width: 82%;
	max-width: 175px;
	height: 68px;
	object-fit: contain;
	object-position: center;
	filter: none;
	transition: transform .3s ease;
}

.reviews-client-section .reviews-logo-card:hover>img {
	transform: scale(1.04);
}

@media(max-width:767.98px) {
	.reviews-client-section .reviews-client-heading {
		display: block !important;
	}

	.reviews-client-section .industry-copy {
		width: 100%;
		max-width: 100%;
		margin-top: 1.4rem;
		padding-left: 1rem;
	}

	.reviews-client-section .industry-copy p {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.home-brand-logo-grid .client-logo-cell {
		min-height: 92px;
		padding: .8rem;
	}

	.home-brand-logo-grid .client-logo-cell img {
		width: 84%;
		height: 52px;
	}

	.reviews-client-section .reviews-logo-viewport {
		padding: 10px 0;
	}

	.reviews-client-section .reviews-logo-viewport .client-logo-track {
		gap: 10px;
	}

	.reviews-client-section .reviews-logo-card {
		width: 184px;
		height: 92px;
		flex-basis: 184px;
		padding: .75rem 1rem;
		border-radius: 10px;
	}

	.reviews-client-section .reviews-logo-card>img {
		width: 86%;
		height: 54px;
	}
}

/* Manufacturing machinery showcase */
.manufacturing-machinery {
	position: relative;
	padding: 105px 0;
	background: var(--brand-navy-deep);
	color: #fff;
	overflow: hidden;
}

.manufacturing-machinery:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 58px 58px;
	mask-image: linear-gradient(135deg, #000, transparent 82%);
	pointer-events: none;
}

.manufacturing-machinery>.container {
	position: relative;
	z-index: 1;
	width: 100%;
}

.manufacturing-machinery .machinery-section-head>*,
.manufacturing-machinery .machinery-card,
.manufacturing-machinery .machinery-card-copy {
	min-width: 0;
}

.machinery-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 410px);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	margin-bottom: 3rem;
}

.machinery-section-head h2 {
	max-width: 760px;
	margin: 0;
	color: #fff;
}

.machinery-section-head>p {
	margin: 0;
	padding-left: 1.35rem;
	border-left: 2px solid var(--brand-orange);
	color: #bed0d9;
	font-size: .88rem;
	line-height: 1.75;
}

.machinery-photo-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 3.5rem;
}

.machinery-photo {
	position: relative;
	grid-column: span 4;
	height: 250px;
	margin: 0;
	background: #071c2a;
	overflow: hidden;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}

.machinery-photo-wide {
	grid-column: span 7;
	height: 330px;
}

.machinery-photo-wide+.machinery-photo {
	grid-column: span 5;
	height: 330px;
}

.machinery-photo:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(3, 18, 28, .94), rgba(3, 18, 28, .08) 65%);
	pointer-events: none;
}

.machinery-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s ease;
}

.machinery-photo:hover img {
	transform: scale(1.035);
}

.machinery-photo figcaption {
	position: absolute;
	z-index: 2;
	left: 1.25rem;
	right: 1.25rem;
	bottom: 1.15rem;
}

.machinery-photo figcaption small,
.machinery-photo figcaption strong {
	display: block;
}

.machinery-photo figcaption small {
	margin-bottom: .35rem;
	color: var(--brand-orange);
	font-size: .5rem;
	font-weight: 800;
	letter-spacing: .14em;
}

.machinery-photo figcaption strong {
	color: #fff;
	font-size: clamp(.95rem, 1.45vw, 1.35rem);
	line-height: 1.25;
}

.machinery-video-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 1.5rem;
	padding-top: 1.4rem;
	border-top: 1px solid rgba(255, 255, 255, .15);
}

.machinery-video-heading>span {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: var(--brand-orange);
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .14em;
}

.machinery-video-heading h3 {
	max-width: 620px;
	margin: 0;
	color: #fff;
	font-size: clamp(1.25rem, 2vw, 1.85rem);
}

.machinery-showcase-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px;
}

.machinery-card {
	grid-column: span 4;
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	background: #fff;
	color: var(--brand-ink);
	border: 1px solid rgba(255, 255, 255, .12);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
}

.machinery-card-wide {
	grid-column: span 6;
}

.machinery-card-wide+.machinery-card {
	grid-column: span 6;
}

.machinery-video {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #061722;
	overflow: hidden;
}

.machinery-video iframe,
.machinery-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.machinery-video video {
	display: block;
	object-fit: cover;
}

.machinery-video>span {
	position: absolute;
	z-index: 2;
	top: 12px;
	left: 12px;
	padding: .42rem .58rem;
	background: rgba(5, 24, 36, .9);
	color: #fff;
	font-size: .49rem;
	font-weight: 800;
	letter-spacing: .12em;
	pointer-events: none;
}

.machinery-card-copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.55rem;
}

.machinery-card-copy>small {
	color: var(--brand-orange-dark);
	font-size: .53rem;
	font-weight: 800;
	letter-spacing: .15em;
}

.machinery-card-copy h3 {
	margin: .55rem 0 .75rem;
	color: var(--brand-ink);
	font-size: clamp(1.15rem, 1.65vw, 1.5rem);
	overflow-wrap: anywhere;
}

.machinery-card-copy>p {
	margin: 0;
	color: var(--brand-muted);
	font-size: .78rem;
	line-height: 1.7;
}

.machinery-card-copy>div {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .9rem;
	margin-top: auto;
	padding-top: 1.25rem;
}

.machinery-card-copy>div span {
	color: var(--brand-navy-mid);
	font-size: .6rem;
	font-weight: 700;
}

.machinery-card-copy>div i {
	margin-right: .3rem;
	color: var(--brand-red);
}

.machinery-media-note {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 1.35rem 0 0;
	color: #9fb5c0;
	font-size: .62rem;
}

.machinery-media-note i {
	color: var(--brand-orange);
	font-size: 1rem;
}

@media(max-width:991.98px) {
	.manufacturing-machinery {
		padding: 82px 0;
	}

	.machinery-section-head {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.machinery-section-head>p {
		max-width: 680px;
	}

	.machinery-photo,
	.machinery-photo-wide,
	.machinery-photo-wide+.machinery-photo {
		grid-column: span 6;
		height: 260px;
	}

	.machinery-photo:last-child {
		grid-column: 4 / span 6;
	}

	.machinery-card,
	.machinery-card-wide,
	.machinery-card-wide+.machinery-card {
		grid-column: span 6;
	}

	.machinery-card:last-child {
		grid-column: 4 / span 6;
	}
}

@media(max-width:767.98px) {
	.manufacturing-machinery {
		padding: 68px 0;
	}

	.machinery-section-head {
		margin-bottom: 2rem;
	}

	.machinery-section-head>p {
		padding-left: 1rem;
		font-size: .8rem;
	}

	.machinery-photo-grid {
		display: block;
		margin-bottom: 2.5rem;
	}

	.machinery-photo,
	.machinery-photo-wide,
	.machinery-photo-wide+.machinery-photo,
	.machinery-photo:last-child {
		height: 220px;
		margin-bottom: 14px;
	}

	.machinery-photo:last-child {
		margin-bottom: 0;
	}

	.machinery-video-heading {
		display: block;
	}

	.machinery-video-heading h3 {
		margin-top: .6rem;
	}

	.machinery-showcase-grid {
		display: block;
	}

	.machinery-card,
	.machinery-card:last-child {
		margin-bottom: 14px;
	}

	.machinery-card:last-child {
		margin-bottom: 0;
	}

	.machinery-card-copy {
		padding: 1.25rem;
	}

	.machinery-card-copy>p {
		font-size: .74rem;
	}

	.machinery-media-note {
		align-items: flex-start;
		line-height: 1.55;
	}
}

/* Project-specific hero brief boards */
.project-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 350px;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.project-hero-layout .project-case-title {
	max-width: 850px
}

.project-hero-layout .project-case-title h1 {
	font-size: clamp(3.2rem, 5vw, 5.4rem)
}

.project-hero-brief {
	padding: 1.35rem;
	background: rgba(6, 29, 46, .88);
	border: 1px solid rgba(255, 255, 255, .2);
	backdrop-filter: blur(12px);
	box-shadow: 0 24px 55px rgba(1, 14, 23, .28)
}

.project-hero-brief>div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, .15)
}

.project-hero-brief>div span {
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .14em;
	color: #b9cbd4
}

.project-hero-brief>div i {
	color: var(--brand-orange);
	font-size: 1.15rem
}

.project-hero-brief h2 {
	font-size: 1.22rem;
	line-height: 1.35;
	color: #fff;
	margin: 1.15rem 0
}

.project-hero-brief ul {
	list-style: none;
	padding: 0;
	margin: 0
}

.project-hero-brief li {
	display: flex;
	gap: .55rem;
	padding: .6rem 0;
	border-top: 1px solid rgba(255, 255, 255, .11);
	font-size: .68rem;
	color: #d5e1e6
}

.project-hero-brief li i {
	color: var(--brand-orange);
	flex: 0 0 auto
}

.project-hero-brief>small {
	display: block;
	margin-top: 1rem;
	padding-top: .9rem;
	border-top: 1px solid rgba(255, 255, 255, .15);
	font-size: .56rem;
	line-height: 1.55;
	color: #9fb4bf
}

.project-hero-layout+.project-hero-features {
	margin-top: 2.25rem
}

@media(max-width:991.98px) {
	.about-story-new>.container {
		grid-template-columns: 1fr;
		gap: 2.25rem
	}

	.project-hero-layout {
		grid-template-columns: 1fr;
		gap: 1.5rem
	}

	.project-hero-brief {
		display: grid;
		grid-template-columns: 1fr 1.2fr;
		column-gap: 1.5rem;
		align-items: start
	}

	.project-hero-brief>div,
	.project-hero-brief h2 {
		grid-column: 1
	}

	.project-hero-brief ul,
	.project-hero-brief>small {
		grid-column: 2
	}

	.project-hero-brief ul {
		grid-row: 1/3
	}
}

@media(max-width:767.98px) {
	.about-story-new {
		padding: 68px 0
	}

	.about-story-heading h2 {
		margin-bottom: 1.4rem
	}

	.about-story-copy {
		padding-top: 1.1rem
	}

	.project-hero-layout .project-case-title h1 {
		font-size: clamp(2.6rem, 11vw, 3.4rem)
	}

	.project-hero-brief {
		display: block;
		padding: 1.1rem
	}

	.project-hero-brief h2 {
		font-size: 1.05rem;
		margin: .9rem 0
	}

	.project-hero-layout+.project-hero-features {
		margin-top: 1.5rem
	}
}

.review-reference-form h3 {
	color: var(--brand-ink);
}

.review-reference-form label {
	color: var(--brand-ink);

}

.solution-heading .eyebrow,
.manifesto-copy .eyebrow,
.cinema-heading .eyebrow,
.catalog-product-detail .eyebrow,
.individual-product .eyebrow,
.blog-hub-hero .eyebrow, 
.about-manufacturing-copy .eyebrow,
.section.dark-section .eyebrow,
.legal-hero .eyebrow,
.project-gallery-head .eyebrow,
.projects-method-intro .eyebrow,
.review-proof-copy .eyebrow,
.contact-sidebar .eyebrow,
.single-post-related-carousel .eyebrow,
.machinery-section-head .eyebrow{
	color: #EB8D4C;
}



/*  HOMEPAGE VIDEO SECTION  */

.shm26-home-video-section {
	position: relative;
	overflow: hidden;
	padding: 90px 0;
	background: var(--brand-surface);
}

.shm26-home-video-section>.container {
	position: relative;
	z-index: 2;
	padding-top: 0 !important;
}

.shm26-home-video-section::before {
	content: "";
	position: absolute;
	top: -190px;
	right: -170px;
	width: 440px;
	height: 440px;
	border: 1px solid rgba(11, 48, 76, 0.08);
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			rgba(49, 91, 115, 0.11),
			transparent 68%
		);
	pointer-events: none;
}

.shm26-home-video-section::after {
	content: "";
	position: absolute;
	left: -100px;
	bottom: -150px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			rgba(231, 121, 45, 0.09),
			transparent 70%
		);
	pointer-events: none;
}

.shm26-home-video-header {
	margin-bottom: 42px;
}

.shm26-home-video-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 15px;
	color: var(--brand-red);
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.shm26-home-video-eyebrow>span {
	display: block;
	width: 42px;
	height: 2px;
	background: var(--brand-orange);
}

.shm26-home-video-title {
	max-width: 810px;
	margin: 0;
	color: var(--brand-ink) !important;
	font-size: clamp(2.3rem, 4vw, 4.2rem) !important;
	font-weight: 700;
	line-height: 1.07 !important;
	letter-spacing: -0.05em !important;
}

.shm26-home-video-title strong {
	display: block;
	color: var(--brand-navy-mid);
	font-weight: 700;
}

.shm26-home-video-description {
	max-width: 420px;
	margin: 0 0 4px auto;
	padding-left: 20px;
	color: var(--brand-muted) !important;
	font-size: 0.87rem;
	line-height: 1.75;
	border-left: 3px solid var(--brand-orange);
}

.shm26-home-video-card {
	position: relative;
	width: 100%;
	padding: 7px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--brand-line);
	border-radius: 16px;
	box-shadow:
		0 12px 32px rgba(6, 29, 46, 0.08);
	transition:
		transform 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.shm26-home-video-card:hover {
	border-color: rgba(231, 121, 45, 0.65);
	box-shadow:
		0 20px 48px rgba(6, 29, 46, 0.14);
	transform: translateY(-5px);
}

.shm26-home-video-player {
	position: relative !important;
	inset: auto !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0;
	padding: 0;
	object-fit: cover;
	object-position: center;
	background: var(--brand-navy-deep);
	border: 0;
	border-radius: 11px;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: auto !important;
	cursor: pointer;
}

.shm26-home-video-card video {
	pointer-events: auto !important;
}

.shm26-home-video-player:focus-visible {
	outline: 3px solid var(--brand-orange);
	outline-offset: 3px;
}

.shm26-home-video-player::-webkit-media-controls {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.shm26-home-video-player::-webkit-media-controls-enclosure {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.shm26-home-video-footer {
	display: grid;
	grid-template-columns: minmax(50px, 1fr) auto minmax(50px, 1fr);
	align-items: center;
	gap: 25px;
	margin-top: 48px;
}

.shm26-home-video-line {
	display: block;
	width: 100%;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--brand-line),
		transparent
	);
}

.shm26-home-gallery-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	min-height: 52px;
	padding: 9px 10px 9px 22px;
	color: #ffffff !important;
	background: var(--brand-navy) !important;
	border: 1px solid var(--brand-navy) !important;
	border-radius: 999px !important;
	font-size: 0.7rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	box-shadow:
		0 12px 27px rgba(6, 29, 46, 0.16);
	transition:
		background-color 0.3s ease,
		border-color 0.3s ease,
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.shm26-home-gallery-btn::before {
	display: none !important;
	content: none !important;
}

.shm26-home-gallery-btn i {
	display: grid;
	place-items: center;
	width: 35px;
	height: 35px;
	color: #ffffff;
	background: var(--brand-red);
	border-radius: 50%;
	font-size: 0.82rem;
	transition:
		background-color 0.3s ease,
		transform 0.3s ease;
}

.shm26-home-gallery-btn:hover {
	color: #ffffff !important;
	background: var(--brand-navy-mid) !important;
	border-color: var(--brand-navy-mid) !important;

	box-shadow:
		0 18px 35px rgba(6, 29, 46, 0.22);

	transform: translateY(-3px);
}

.shm26-home-gallery-btn:hover i {
	background: var(--brand-orange);
	transform: rotate(45deg);
}

@media (max-width: 991.98px) {

	.shm26-home-video-section {
		padding: 75px 0;
	}
	.shm26-home-video-description {
		max-width: 100%;
		margin-left: 0;
	}
	.shm26-home-video-footer {
		margin-top: 40px;
	}
}

@media (max-width: 767.98px) {

	.shm26-home-video-section {
		padding: 58px 0;
	}
	.shm26-home-video-section>.container {
		padding-top: 0 !important;
		padding-left: 18px;
		padding-right: 18px;
	}
	.shm26-home-video-header {
		margin-bottom: 30px;
	}
	.shm26-home-video-eyebrow {
		margin-bottom: 13px;
		font-size: 0.59rem;
		letter-spacing: 0.12em;
	}
	.shm26-home-video-eyebrow>span {
		width: 30px;
	}
	.shm26-home-video-title {
		font-size: clamp(2rem, 9vw, 2.7rem) !important;
		line-height: 1.1 !important;
	}
	.shm26-home-video-description {
		padding-left: 15px;
		font-size: 0.82rem;
		line-height: 1.65;
	}
	.shm26-home-video-card {
		padding: 5px;
		border-radius: 13px;
	}
	.shm26-home-video-player {
		border-radius: 9px;
	}
	.shm26-home-video-card:hover {
		transform: none;
	}
	.shm26-home-video-footer {
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 34px;
	}
	.shm26-home-video-line {
		display: none;
	}
	.shm26-home-gallery-btn {
		width: 100%;
		justify-content: space-between;
		padding-left: 20px;
	}
}

@media (max-width: 399.98px) {
	.shm26-home-video-title {
		font-size: 1.9rem !important;
	}
	.shm26-home-video-section>.container {
		padding-left: 14px;
		padding-right: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shm26-home-video-card,
	.shm26-home-gallery-btn,
	.shm26-home-gallery-btn i {
		transition: none;
	}
	.shm26-home-video-card:hover,
	.shm26-home-gallery-btn:hover {
		transform: none;
	}
}

/* A Type Product Page CSS  */


.atc26-ops-zone {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: 88px 0;
	background:
		linear-gradient(
			145deg,
			#f7f9fa 0%,
			var(--brand-surface) 55%,
			var(--brand-surface-blue) 100%
		);
	border-top: 1px solid var(--brand-line);
	border-bottom: 1px solid var(--brand-line);
}

.atc26-ops-zone::before {
	content: "";
	position: absolute;
	z-index: -2;
	inset: 0;
	pointer-events: none;
	opacity: 0.42;
	background-image:
		linear-gradient(
			rgba(11, 48, 76, 0.045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(11, 48, 76, 0.045) 1px,
			transparent 1px
		);
	background-size: 55px 55px;
	-webkit-mask-image:
		linear-gradient(
			90deg,
			transparent,
			#000 35%,
			#000 70%,
			transparent
		);
	mask-image:
		linear-gradient(
			90deg,
			transparent,
			#000 35%,
			#000 70%,
			transparent
		);
}

.atc26-ops-zone::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -220px;
	right: -170px;
	width: 480px;
	height: 480px;
	border: 1px solid rgba(11, 48, 76, 0.08);
	border-radius: 50%;
	box-shadow:
		0 0 0 65px rgba(11, 48, 76, 0.018),
		0 0 0 130px rgba(11, 48, 76, 0.012);
	pointer-events: none;
}

.atc26-ops-zone > .container {
	position: relative;
	z-index: 2;
	padding-top: 0 !important;
}

.atc26-ops-heading-row {
	margin-bottom: 42px;
}

.atc26-ops-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 14px;
	color: var(--brand-red);
	font-size: 0.65rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.atc26-ops-kicker i {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border-radius: 50%;
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark);
	font-size: 0.85rem;
}

.atc26-ops-heading {
	max-width: 760px;
	margin: 0;
	color: var(--brand-ink) !important;
	font-size: clamp(2.45rem, 4vw, 4.25rem) !important;
	font-weight: 700;
	line-height: 1.05 !important;
	letter-spacing: -0.05em !important;
}

.atc26-ops-heading strong {
	display: block;
	color: var(--brand-navy-mid);
	font-weight: 700;
}

.atc26-ops-intro {
	max-width: 430px;
	margin: 0 0 3px auto;
	padding-left: 20px;
	border-left: 3px solid var(--brand-orange);
	color: var(--brand-muted) !important;
	font-size: 0.86rem;
	line-height: 1.75;
}

.atc26-ops-card {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--brand-line);
	border-radius: 18px;
	box-shadow: 0 15px 38px rgba(6, 29, 46, 0.09);
	transition:
		transform 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.atc26-ops-card:hover {
	border-color: rgba(231, 121, 45, 0.62);
	box-shadow: 0 24px 55px rgba(6, 29, 46, 0.15);
	transform: translateY(-6px);
}

.atc26-ops-video-frame {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--brand-navy-deep);
	border-radius: 17px;
}

.atc26-ops-video-frame::before,
.atc26-ops-video-frame::after {
	content: none;
}

.atc26-ops-video {
	position: relative !important;
	inset: auto !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 0;
	padding: 0;
	object-fit: cover;
	object-position: center;
	background: var(--brand-navy-deep);
	border: 0;
	border-radius: 16px;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: auto !important;
	cursor: pointer;
}

.atc26-ops-video:focus {
	outline: none;
}

.atc26-ops-video:focus-visible {
	outline: 3px solid var(--brand-orange);
	outline-offset: -3px;
}

.atc26-ops-video::-webkit-media-controls {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.atc26-ops-video::-webkit-media-controls-enclosure {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.atc26-ops-video::-webkit-media-controls-panel {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

@media (max-width: 991.98px) {
	.atc26-ops-zone {
		padding: 72px 0;
	}
	.atc26-ops-heading-row {
		margin-bottom: 34px;
	}
	.atc26-ops-intro {
		max-width: 100%;
		margin-left: 0;
	}
}

@media (max-width: 767.98px) {
	.atc26-ops-zone {
		padding: 58px 0;
	}
	.atc26-ops-zone > .container {
		padding-top: 0 !important;
	}
	.atc26-ops-heading-row {
		margin-bottom: 28px;
	}
	.atc26-ops-kicker {
		font-size: 0.58rem;
		letter-spacing: 0.12em;
	}
	.atc26-ops-kicker i {
		width: 28px;
		height: 28px;
		flex-basis: 28px;
	}
	.atc26-ops-heading {
		font-size: clamp(2rem, 9vw, 2.65rem) !important;
		line-height: 1.1 !important;
		letter-spacing: -0.04em !important;
	}

	.atc26-ops-intro {
		margin-top: 4px;
		padding-left: 14px;
		font-size: 0.81rem;
		line-height: 1.65;
	}

	.atc26-ops-card {
		border-radius: 14px;
	}

	.atc26-ops-video-frame {
		border-radius: 13px;
	}

	.atc26-ops-video {
		border-radius: 12px;
	}

	.atc26-ops-card:hover {
		transform: none;
	}
}

@media (max-width: 399.98px) {
	.atc26-ops-zone {
		padding: 50px 0;
	}

	.atc26-ops-heading {
		font-size: 2rem !important;
	}

	.atc26-ops-intro {
		font-size: 0.78rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.atc26-ops-card {
		transition: none;
	}

	.atc26-ops-card:hover {
		transform: none;
	}
}

/* Layer Cage Systems Category Page CSS  */

/* =========================================================
   LAYER CAGE SYSTEMS OPERATION SECTION
   Unique prefix: lcsv26-live-
========================================================= */

.lcsv26-live-zone {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: 92px 0;
	background: linear-gradient(135deg,#f7f9fa 0%,#fff 48%,var(--brand-surface-blue) 100%);
	border-top: 1px solid var(--brand-line);
	border-bottom: 1px solid var(--brand-line);
}

.lcsv26-live-zone::before {
	content: "";
	position: absolute;
	z-index: -2;
	inset: 0;
	pointer-events: none;
	opacity: .38;
	background-image:
		linear-gradient(rgba(11,48,76,.045) 1px,transparent 1px),
		linear-gradient(90deg,rgba(11,48,76,.045) 1px,transparent 1px);
	background-size: 58px 58px;
	-webkit-mask-image: linear-gradient(90deg,#000,transparent 72%);
	mask-image: linear-gradient(90deg,#000,transparent 72%);
}

.lcsv26-live-zone::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -230px;
	right: -190px;
	width: 500px;
	height: 500px;
	border: 1px solid rgba(11,48,76,.08);
	border-radius: 50%;
	box-shadow:
		0 0 0 70px rgba(11,48,76,.018),
		0 0 0 140px rgba(11,48,76,.012);
	pointer-events: none;
}

.lcsv26-live-zone>.container {
	position: relative;
	z-index: 2;
	padding-top: 0 !important;
}

.lcsv26-live-copy {
	max-width: 510px;
}

.lcsv26-live-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 16px;
	color: var(--brand-red);
	font-size: .63rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.lcsv26-live-kicker i {
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	flex: 0 0 31px;
	border-radius: 50%;
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark);
	font-size: .9rem;
}

.lcsv26-live-heading {
	margin: 0;
	color: var(--brand-ink) !important;
	font-size: clamp(2.35rem,3.5vw,4rem) !important;
	font-weight: 700;
	line-height: 1.06 !important;
	letter-spacing: -.05em !important;
}

.lcsv26-live-heading strong {
	display: block;
	color: var(--brand-navy-mid);
	font-weight: 700;
}

.lcsv26-live-description {
	max-width: 490px;
	margin: 22px 0 28px;
	color: var(--brand-muted) !important;
	font-size: .9rem;
	line-height: 1.78;
}

.lcsv26-live-points {
	border-top: 1px solid var(--brand-line);
}

.lcsv26-live-point {
	display: grid;
	grid-template-columns: 44px minmax(0,1fr);
	align-items: center;
	gap: 13px;
	padding: 15px 0;
	border-bottom: 1px solid var(--brand-line);
}

.lcsv26-live-point>span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: var(--brand-orange-soft);
	color: var(--brand-orange-dark);
	font-size: 1rem;
}

.lcsv26-live-point strong,
.lcsv26-live-point small {
	display: block;
}

.lcsv26-live-point strong {
	margin-bottom: 3px;
	color: var(--brand-ink);
	font-size: .82rem;
	font-weight: 800;
	line-height: 1.35;
}

.lcsv26-live-point small {
	color: var(--brand-muted);
	font-size: .68rem;
	line-height: 1.55;
}

.lcsv26-live-gallery-link {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin-top: 26px;
	padding: 13px 17px;
	background: var(--brand-navy);
	color: #fff;
	font-size: .7rem;
	font-weight: 800;
	transition: background .25s ease,transform .25s ease,box-shadow .25s ease;
}

.lcsv26-live-gallery-link i {
	display: grid;
	place-items: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background: rgba(255,255,255,.12);
	color: var(--brand-orange);
	transition: transform .25s ease;
}

.lcsv26-live-gallery-link:hover {
	background: var(--brand-red);
	color: #fff;
	transform: translateY(-3px);
	box-shadow: 0 13px 28px rgba(6,29,46,.18);
}

.lcsv26-live-gallery-link:hover i {
	color: #fff;
	transform: rotate(45deg);
}

.lcsv26-live-media {
	position: relative;
	overflow: hidden;
	background: var(--brand-navy-deep);
	border: 1px solid rgba(11,48,76,.2);
	border-radius: 20px;
	box-shadow: 0 28px 65px rgba(6,29,46,.18);
}

.lcsv26-live-media-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 52px;
	padding: 0 19px;
	background: var(--brand-navy-deep);
	border-bottom: 1px solid rgba(255,255,255,.13);
}

.lcsv26-live-media-top span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.lcsv26-live-media-top span i {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #48c786;
	box-shadow: 0 0 0 5px rgba(72,199,134,.14);
}

.lcsv26-live-media-top small {
	color: #9fb5c0;
	font-size: .52rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.lcsv26-live-video-frame {
	position: relative;
	overflow: hidden;
	width: 100%;
	background: #041d31;
}

.lcsv26-live-video-frame::before,
.lcsv26-live-video-frame::after {
	content: none;
}

.lcsv26-live-video {
	position: relative !important;
	inset: auto !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16/9;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 0;
	padding: 0;
	object-fit: cover;
	object-position: center;
	background: var(--brand-navy-deep);
	border: 0;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: auto !important;
	cursor: pointer;
}

.lcsv26-live-video:focus {
	outline: none;
}

.lcsv26-live-video:focus-visible {
	outline: 3px solid var(--brand-orange);
	outline-offset: -3px;
}

.lcsv26-live-video::-webkit-media-controls,
.lcsv26-live-video::-webkit-media-controls-enclosure,
.lcsv26-live-video::-webkit-media-controls-panel {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

@media(max-width:991.98px) {
	.lcsv26-live-zone {
		padding: 74px 0;
	}

	.lcsv26-live-copy {
		max-width: 100%;
	}

	.lcsv26-live-description {
		max-width: 680px;
	}

	.lcsv26-live-points {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		border: 1px solid var(--brand-line);
	}

	.lcsv26-live-point {
		display: block;
		padding: 17px;
		border-bottom: 0;
		border-right: 1px solid var(--brand-line);
	}

	.lcsv26-live-point:last-child {
		border-right: 0;
	}

	.lcsv26-live-point>span {
		margin-bottom: 12px;
	}
}

@media(max-width:767.98px) {
	.lcsv26-live-zone {
		padding: 58px 0;
	}

	.lcsv26-live-zone>.container {
		padding-top: 0 !important;
	}

	.lcsv26-live-heading {
		font-size: clamp(2rem,9vw,2.65rem) !important;
		line-height: 1.1 !important;
		letter-spacing: -.04em !important;
	}

	.lcsv26-live-description {
		margin: 18px 0 23px;
		font-size: .82rem;
		line-height: 1.68;
	}

	.lcsv26-live-points {
		grid-template-columns: 1fr;
	}

	.lcsv26-live-point {
		display: grid;
		border-right: 0;
		border-bottom: 1px solid var(--brand-line);
	}

	.lcsv26-live-point:last-child {
		border-bottom: 0;
	}

	.lcsv26-live-point>span {
		margin-bottom: 0;
	}

	.lcsv26-live-gallery-link {
		width: 100%;
		justify-content: space-between;
	}

	.lcsv26-live-media {
		border-radius: 14px;
	}

	.lcsv26-live-media-top {
		padding: 0 14px;
	}

	.lcsv26-live-media-top small {
		display: none;
	}
}

@media(prefers-reduced-motion:reduce) {
	.lcsv26-live-gallery-link,
	.lcsv26-live-gallery-link i {
		transition: none;
	}
	.lcsv26-live-gallery-link:hover {
		transform: none;
	}
}

/* HIGH-CAPACITY LAYER FARM PROJECT PAGE CSS */

.hclf26-op-section {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: 88px 0;
	background:
		radial-gradient(
			circle at 92% 10%,
			rgba(25, 71, 97, .1),
			transparent 30%
		),
		linear-gradient(
			180deg,
			#f8fafb 0%,
			#eef3f5 100%
		);
	border-top: 1px solid var(--brand-line, #d8e1e5);
	border-bottom: 1px solid var(--brand-line, #d8e1e5);
}

.hclf26-op-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	opacity: .34;
	pointer-events: none;
	background-image:
		linear-gradient(
			rgba(11, 48, 76, .045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(11, 48, 76, .045) 1px,
			transparent 1px
		);
	background-size: 58px 58px;
	-webkit-mask-image: linear-gradient(
		90deg,
		transparent 0%,
		#000 18%,
		#000 82%,
		transparent 100%
	);
	mask-image: linear-gradient(
		90deg,
		transparent 0%,
		#000 18%,
		#000 82%,
		transparent 100%
	);
}

.hclf26-op-section > .container {
	position: relative;
	z-index: 2;
	padding-top: 0 !important;
}

.hclf26-op-heading-row {
	margin-bottom: 36px;
}

.hclf26-op-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 15px;
	color: var(--brand-red, #c6262e);
	font-size: .63rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.hclf26-op-kicker i {
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	flex: 0 0 31px;
	border-radius: 50%;
	background: var(--brand-red-soft, #fbecee);
	color: var(--brand-red, #c6262e);
	font-size: .88rem;
}

.hclf26-op-heading {
	margin: 0;
	color: var(--brand-ink, #172b38) !important;
	font-size: clamp(2.45rem, 4vw, 4.15rem) !important;
	font-weight: 700;
	line-height: 1.04 !important;
	letter-spacing: -.05em !important;
}

.hclf26-op-heading strong {
	color: var(--brand-navy-mid, #194761);
	font-weight: 700;
}

.hclf26-op-intro {
	max-width: 440px;
	margin: 0 0 4px auto;
	color: var(--brand-muted, #62747e) !important;
	font-size: .86rem;
	line-height: 1.75;
}

.hclf26-op-card {
	position: relative;
	height: 100%;
	overflow: hidden;
	background: var(--brand-navy-deep, #061d2e);
	border: 1px solid rgba(11, 48, 76, .16);
	border-radius: 20px;
	box-shadow: 0 20px 48px rgba(6, 29, 46, .1);
	transition:
		transform .3s ease,
		border-color .3s ease,
		box-shadow .3s ease;
}

.hclf26-op-card:hover {
	border-color: rgba(198, 38, 46, .44);
	box-shadow: 0 28px 62px rgba(6, 29, 46, .16);
	transform: translateY(-5px);
}

.hclf26-op-video-frame {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	background: var(--brand-navy-deep, #061d2e);
}

.hclf26-op-video {
	position: relative !important;
	inset: auto !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--brand-navy-deep, #061d2e);
	border: 0;
	object-fit: cover;
	object-position: center;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: auto !important;
	cursor: pointer;
}

.hclf26-op-video:focus {
	outline: none;
}

.hclf26-op-video:focus-visible {
	outline: 3px solid var(--brand-orange, #e7792d);
	outline-offset: -3px;
}

.hclf26-op-video::-webkit-media-controls,
.hclf26-op-video::-webkit-media-controls-enclosure,
.hclf26-op-video::-webkit-media-controls-panel {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

@media (max-width: 991.98px) {
	.hclf26-op-section {
		padding: 72px 0;
	}
	.hclf26-op-heading-row {
		margin-bottom: 30px;
	}
	.hclf26-op-intro {
		max-width: 680px;
		margin-left: 0;
	}
}

@media (max-width: 767.98px) {
	.hclf26-op-section {
		padding: 56px 0;
	}
	.hclf26-op-section > .container {
		padding-top: 0 !important;
	}
	.hclf26-op-heading-row {
		margin-bottom: 25px;
	}
	.hclf26-op-heading {
		font-size: clamp(2rem, 9vw, 2.7rem) !important;
		line-height: 1.08 !important;
	}
	.hclf26-op-heading strong {
		display: block;
	}
	.hclf26-op-intro {
		font-size: .81rem;
		line-height: 1.68;
	}
	.hclf26-op-card {
		border-radius: 15px;
	}
	.hclf26-op-card:hover {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hclf26-op-card {
		transition: none;
	}

	.hclf26-op-card:hover {
		transform: none;
	}
}


/* Gallery Page CSS */

.spg29-gallery-page{
	position:relative;
	min-width:0;
	overflow:hidden;
	background:#fff;
	color:var(--brand-ink);
}

.spg29-gallery-page *,
.spg29-gallery-page *::before,
.spg29-gallery-page *::after{
	box-sizing:border-box;
}

.spg29-gallery-page img,
.spg29-gallery-page video{
	max-width:100%;
}

/* Hero  */

.spg29-gallery-hero{
	position:relative;
	overflow:hidden;
	isolation:isolate;
	padding:210px 0 92px;
	background:
		radial-gradient(circle at 92% 10%,rgba(231,121,45,.22),transparent 29%),
		linear-gradient(135deg,var(--brand-navy-deep) 0%,var(--brand-navy) 58%,var(--brand-navy-mid) 100%);
}

.spg29-gallery-hero::before{
	content:"";
	position:absolute;
	z-index:-2;
	inset:0;
	opacity:.4;
	background-image:
		linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
		linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
	background-size:58px 58px;
	pointer-events:none;
}

.spg29-gallery-hero::after{
	content:"";
	position:absolute;
	z-index:-1;
	top:-340px;
	right:-250px;
	width:720px;
	height:720px;
	border:1px solid rgba(255,255,255,.1);
	border-radius:50%;
	box-shadow:
		0 0 0 90px rgba(255,255,255,.017),
		0 0 0 180px rgba(255,255,255,.011);
	pointer-events:none;
}

.spg29-gallery-hero>.container,
.spg29-gallery-collection>.container{
	position:relative;
	z-index:2;
	padding-top:0!important;
}

.spg29-gallery-hero-grid{
	display:grid;
	grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
	align-items:center;
	gap:70px;
}

.spg29-gallery-hero-copy{
	max-width:750px;
}

.spg29-gallery-breadcrumb{
	display:flex;
	align-items:center;
	gap:9px;
	margin-bottom:29px;
	font-size:.68rem;
	font-weight:700;
}

.spg29-gallery-breadcrumb a{
	color:rgba(255,255,255,.68);
	transition:color .25s ease;
}

.spg29-gallery-breadcrumb a:hover{
	color:#fff;
}

.spg29-gallery-breadcrumb i{
	color:rgba(255,255,255,.35);
	font-size:.55rem;
}

.spg29-gallery-breadcrumb span{
	color:#fff;
}

.spg29-gallery-eyebrow,
.spg29-gallery-section-kicker{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:.63rem;
	font-weight:800;
	line-height:1;
	letter-spacing:.15em;
	text-transform:uppercase;
}

.spg29-gallery-eyebrow{
	margin-bottom:18px;
	color:var(--brand-orange);
}

.spg29-gallery-eyebrow i,
.spg29-gallery-section-kicker i{
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	border-radius:50%;
}

.spg29-gallery-eyebrow i{
	border:1px solid rgba(231,121,45,.44);
	background:rgba(231,121,45,.13);
	color:var(--brand-orange);
}

.spg29-gallery-title{
	max-width:760px;
	margin:0;
	color:#fff!important;
	font-size:clamp(3.3rem,4.7vw,6.25rem)!important;
	font-weight:700;
	line-height:.94!important;
	letter-spacing:-.065em!important;
	overflow-wrap:normal!important;
}

.spg29-gallery-title strong{
	display:block;
	color:var(--brand-orange);
	font-weight:700;
}

.spg29-gallery-hero-text{
	max-width:690px;
	margin:27px 0 0;
	color:#c7d6dd!important;
	font-size:.94rem;
	line-height:1.82;
}

.spg29-gallery-hero-link{
	display:inline-flex;
	align-items:center;
	gap:18px;
	margin-top:31px;
	padding:11px 12px 11px 18px;
	border:0;
	border-radius:10px;
	background:#fff;
	color:var(--brand-navy);
	font-family:inherit;
	font-size:.7rem;
	font-weight:800;
	text-align:left;
	box-shadow:0 14px 30px rgba(0,0,0,.18);
	cursor:pointer;
	transition:background .25s ease,color .25s ease,transform .25s ease;
}

.spg29-gallery-hero-link i{
	display:grid;
	place-items:center;
	width:32px;
	height:32px;
	border-radius:8px;
	background:var(--brand-orange-soft);
	color:var(--brand-orange);
}

.spg29-gallery-hero-link:hover{
	background:var(--brand-red);
	color:#fff;
	transform:translateY(-3px);
}

.spg29-gallery-hero-link:hover i{
	background:rgba(255,255,255,.14);
	color:#fff;
}

.spg29-gallery-stats{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	max-width:610px;
	margin-top:42px;
	border-top:1px solid rgba(255,255,255,.14);
	border-bottom:1px solid rgba(255,255,255,.14);
}

.spg29-gallery-stats>div{
	padding:18px 20px;
	border-right:1px solid rgba(255,255,255,.14);
}

.spg29-gallery-stats>div:first-child{
	padding-left:0;
}

.spg29-gallery-stats>div:last-child{
	border-right:0;
}

.spg29-gallery-stats strong,
.spg29-gallery-stats span{
	display:block;
}

.spg29-gallery-stats strong{
	color:#fff;
	font-size:1.55rem;
	font-weight:800;
	line-height:1;
}

.spg29-gallery-stats span{
	margin-top:7px;
	color:#9db3bd;
	font-size:.51rem;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
}

.spg29-gallery-hero-visual{
	position:relative;
	min-width:0;
}

.spg29-gallery-hero-visual::before{
	content:"";
	position:absolute;
	z-index:-1;
	top:-22px;
	right:-22px;
	width:58%;
	height:58%;
	border:1px solid rgba(255,255,255,.16);
	border-radius:28px;
	pointer-events:none;
}

.spg29-gallery-hero-main-image{
	position:relative;
	overflow:hidden;
	width:100%;
	margin:0;
	aspect-ratio:5/4;
	border:1px solid rgba(255,255,255,.2);
	border-radius:28px;
	background:var(--brand-navy-deep);
	box-shadow:0 32px 72px rgba(0,0,0,.32);
}

.spg29-gallery-hero-main-image::after{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
	pointer-events:none;
}

.spg29-gallery-hero-main-image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

/*    Collection   */

.spg29-gallery-collection{
	position:relative;
	padding:88px 0 100px;
	background:
		radial-gradient(circle at 100% 0,rgba(25,71,97,.08),transparent 29%),
		linear-gradient(180deg,var(--brand-surface) 0%,#fff 100%);
	border-top:1px solid var(--brand-line);
}

.spg29-gallery-collection-head{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(340px,520px);
	align-items:end;
	gap:55px;
	margin-bottom:35px;
}

.spg29-gallery-section-kicker{
	margin-bottom:15px;
	color:var(--brand-red);
}

.spg29-gallery-section-kicker i{
	background:var(--brand-orange-soft);
	color:var(--brand-orange);
}

.spg29-gallery-collection-head h2{
	max-width:820px;
	margin:0;
	color:var(--brand-ink)!important;
	font-size:clamp(2.55rem,4.8vw,4.9rem)!important;
	font-weight:700;
	line-height:.99!important;
	letter-spacing:-.055em!important;
	overflow-wrap:normal!important;
}

.spg29-gallery-collection-head h2 strong{
	color:var(--brand-navy-mid);
	font-weight:700;
}

.spg29-gallery-collection-head>p{
	margin:0;
	color:var(--brand-muted)!important;
	font-size:.87rem;
	line-height:1.82;
}

.spg29-gallery-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	margin-bottom:31px;
	padding:12px;
	border:1px solid var(--brand-line);
	border-radius:18px;
	background:#fff;
	box-shadow:0 14px 32px rgba(6,29,46,.065);
}

.spg29-gallery-tabs{
	display:flex;
	align-items:center;
	gap:7px;
}

.spg29-gallery-tab{
	min-height:41px;
	padding:9px 17px;
	border:1px solid var(--brand-line);
	border-radius:50px;
	background:#fff;
	color:var(--brand-muted);
	font-family:inherit;
	font-size:.65rem;
	font-weight:800;
	cursor:pointer;
	transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}

.spg29-gallery-tab:hover{
	border-color:var(--brand-navy-mid);
	color:var(--brand-navy);
	transform:translateY(-2px);
}

.spg29-gallery-tab.is-active{
	border-color:var(--brand-navy);
	background:var(--brand-navy);
	color:#fff;
	box-shadow:0 8px 20px rgba(11,48,76,.18);
}

.spg29-gallery-visible-status{
	flex:0 0 auto;
	padding-right:5px;
	color:var(--brand-muted);
	font-size:.65rem;
	font-weight:700;
}

.spg29-gallery-visible-status strong{
	color:var(--brand-ink);
}

/*    Media grid   */

.spg29-gallery-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
}

.spg29-gallery-card{
	position:relative;
	min-width:0;
	overflow:hidden;
	border:1px solid var(--brand-line);
	border-radius:18px;
	background:var(--brand-navy-deep);
	box-shadow:0 14px 34px rgba(6,29,46,.08);
	transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.spg29-gallery-card[hidden]{
	display:none!important;
}

.spg29-gallery-card:hover{
	border-color:rgba(25,71,97,.48);
	box-shadow:0 25px 52px rgba(6,29,46,.16);
	transform:translateY(-6px);
}

.spg29-gallery-image-item{
	display:block;
	width:100%;
	height:100%;
}

.spg29-gallery-card-media,
.spg29-gallery-video-shell{
	position:relative;
	display:block;
	overflow:hidden;
	width:100%;
	aspect-ratio:4/3;
	background:var(--brand-navy-deep);
}

.spg29-gallery-card-media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transition:transform .5s ease,filter .5s ease;
}

.spg29-gallery-card-media::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,transparent 65%,rgba(3,18,27,.22));
	pointer-events:none;
}

.spg29-gallery-card:hover .spg29-gallery-card-media img{
	filter:brightness(.92);
	transform:scale(1.035);
}

/*  Lazy-loaded video cards   */

.spg29-gallery-video{
	position:absolute!important;
	z-index:2!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-width:0!important;
	min-height:0!important;
	max-width:100%!important;
	max-height:none!important;
	margin:0!important;
	padding:0!important;
	border:0;
	background:#02090d;
	object-fit:cover;
	object-position:center;
	opacity:0!important;
	visibility:visible!important;
	transform:none!important;
	pointer-events:auto!important;
	cursor:pointer;
	transition:opacity .25s ease;
}

.spg29-gallery-video.is-spg29-loaded{
	opacity:1!important;
}

.spg29-gallery-video-placeholder{
	position:absolute;
	z-index:1;
	inset:0;
	display:grid;
	place-items:center;
	background:
		radial-gradient(circle at 50% 40%,rgba(231,121,45,.2),transparent 34%),
		linear-gradient(135deg,var(--brand-navy-deep),var(--brand-navy));
	color:#fff;
	pointer-events:none;
	transition:opacity .25s ease,visibility .25s ease;
}

.spg29-gallery-video-placeholder i{
	display:grid;
	place-items:center;
	width:58px;
	height:58px;
	border:1px solid rgba(255,255,255,.25);
	border-radius:50%;
	background:rgba(255,255,255,.08);
	color:var(--brand-orange);
	font-size:1.25rem;
}

.spg29-gallery-video.is-spg29-loaded+
.spg29-gallery-video-placeholder{
	opacity:0;
	visibility:hidden;
}

.spg29-gallery-video::-webkit-media-controls,
.spg29-gallery-video::-webkit-media-controls-enclosure,
.spg29-gallery-video::-webkit-media-controls-panel{
	visibility:visible!important;
	opacity:1!important;
	pointer-events:auto!important;
}

.spg29-gallery-video:focus-visible{
	outline:3px solid var(--brand-orange);
	outline-offset:-3px;
}

.spg29-gallery-empty{
	padding:65px 25px;
	border:1px dashed var(--brand-line);
	border-radius:18px;
	background:#fff;
	text-align:center;
}

.spg29-gallery-empty>i{
	display:grid;
	place-items:center;
	width:62px;
	height:62px;
	margin:0 auto 17px;
	border-radius:50%;
	background:var(--brand-orange-soft);
	color:var(--brand-orange);
	font-size:1.4rem;
}

.spg29-gallery-empty h3{
	margin:0;
	color:var(--brand-ink)!important;
	font-size:1.15rem!important;
}

.spg29-gallery-empty p{
	margin:8px 0 0;
	color:var(--brand-muted)!important;
	font-size:.8rem;
}

/*  Responsive   */

@media(max-width:1199.98px){
	.spg29-gallery-hero-grid{
		grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
		gap:46px;
	}

	.spg29-gallery-title{
		font-size:clamp(3rem,6vw,5.2rem)!important;
	}
}

@media(max-width:991.98px){
	.spg29-gallery-hero{
		padding:122px 0 76px;
	}

	.spg29-gallery-hero-grid{
		grid-template-columns:1fr;
	}

	.spg29-gallery-hero-copy{
		max-width:800px;
	}

	.spg29-gallery-hero-visual{
		width:min(100%,760px);
	}

	.spg29-gallery-collection{
		padding:72px 0;
	}

	.spg29-gallery-collection-head{
		grid-template-columns:1fr;
		gap:22px;
	}

	.spg29-gallery-collection-head>p{
		max-width:750px;
	}

	.spg29-gallery-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:767.98px){
	.spg29-gallery-hero{
		padding:105px 0 58px;
	}

	.spg29-gallery-breadcrumb{
		margin-bottom:23px;
	}

	.spg29-gallery-title{
		font-size:clamp(2.7rem,14vw,4.3rem)!important;
		line-height:.97!important;
	}

	.spg29-gallery-hero-text{
		margin-top:21px;
		font-size:.83rem;
		line-height:1.72;
	}

	.spg29-gallery-hero-link{
		justify-content:space-between;
		width:100%;
	}

	.spg29-gallery-stats{
		margin-top:32px;
	}

	.spg29-gallery-stats>div{
		padding:14px 8px;
	}

	.spg29-gallery-stats strong{
		font-size:1.3rem;
	}

	.spg29-gallery-stats span{
		font-size:.43rem;
		letter-spacing:.05em;
	}

	.spg29-gallery-hero-visual::before{
		top:-12px;
		right:-12px;
		border-radius:20px;
	}

	.spg29-gallery-hero-main-image{
		border-radius:19px;
	}

	.spg29-gallery-collection{
		padding:56px 0;
	}

	.spg29-gallery-collection-head h2{
		font-size:clamp(2.2rem,11vw,3.15rem)!important;
	}

	.spg29-gallery-toolbar{
		align-items:stretch;
		flex-direction:column;
		padding:10px;
		border-radius:14px;
	}

	.spg29-gallery-tabs{
		display:grid;
		grid-template-columns:repeat(3,minmax(0,1fr));
		width:100%;
	}

	.spg29-gallery-tab{
		min-width:0;
		padding:9px 8px;
	}

	.spg29-gallery-grid{
		grid-template-columns:1fr;
		gap:18px;
	}

	.spg29-gallery-card{
		border-radius:15px;
	}

	.spg29-gallery-card:hover{
		transform:none;
	}
}

@media(max-width:399.98px){
	.spg29-gallery-title{
		font-size:2.55rem!important;
	}

	.spg29-gallery-stats span{
		font-size:.4rem;
	}
}

@media(prefers-reduced-motion:reduce){
	.spg29-gallery-hero-link,
	.spg29-gallery-tab,
	.spg29-gallery-card,
	.spg29-gallery-card-media img,
	.spg29-gallery-video,
	.spg29-gallery-video-placeholder{
		transition:none;
	}
}


.footer-brand-tagline-en {
    display: block;
    margin-bottom: 5px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.2px;
}