*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box
}

/* Bootstrap sets :root { scroll-behavior: smooth }, which stops ScrollTrigger's instant jump to the top while it re-measures, so every trigger came out offset by the scroll position. Lenis handles smooth scrolling instead. */
html:root {
	scroll-behavior: auto;
}

/* Design scale: sizes are written in 1920-layout pixels as calc(N * var(--px)). --px is 1px below 1280; from 1280 up it
   follows the window width (pixie-media.css), so the desktop design scales evenly and looks the same at 100%, 125% and
   150% Windows display scaling and on QHD/4K screens. Hairlines (1-2px), borders and outlines stay in plain px. */
:root {
	--px: 1px;
}

/* Text designed at 17px or less never drops under 12px when the desktop design scales down (1280-1500px wide windows) */
/* Inline SVG icons are sized by their width/height attributes, which would not scale, so they follow --px here (class rules below still win) */
svg[width="11"] {
	width: calc(11 * var(--px));
}

svg[width="12"] {
	width: calc(12 * var(--px));
}

svg[width="14"] {
	width: calc(14 * var(--px));
}

svg[width="16"] {
	width: calc(16 * var(--px));
}

svg[width="18"] {
	width: calc(18 * var(--px));
}

svg[width="20"] {
	width: calc(20 * var(--px));
}

svg[width="22"] {
	width: calc(22 * var(--px));
}

svg[width="26"] {
	width: calc(26 * var(--px));
}

svg[width="30"] {
	width: calc(30 * var(--px));
}

svg[width="40"] {
	width: calc(40 * var(--px));
}

svg[width="44"] {
	width: calc(44 * var(--px));
}

svg[width="50"] {
	width: calc(50 * var(--px));
}

svg[width="80"] {
	width: calc(80 * var(--px));
}

svg[height="8"] {
	height: calc(8 * var(--px));
}

svg[height="10"] {
	height: calc(10 * var(--px));
}

svg[height="12"] {
	height: calc(12 * var(--px));
}

svg[height="13"] {
	height: calc(13 * var(--px));
}

svg[height="14"] {
	height: calc(14 * var(--px));
}

svg[height="16"] {
	height: calc(16 * var(--px));
}

svg[height="18"] {
	height: calc(18 * var(--px));
}

svg[height="20"] {
	height: calc(20 * var(--px));
}

svg[height="22"] {
	height: calc(22 * var(--px));
}

svg[height="26"] {
	height: calc(26 * var(--px));
}

svg[height="30"] {
	height: calc(30 * var(--px));
}

svg[height="40"] {
	height: calc(40 * var(--px));
}

svg[height="44"] {
	height: calc(44 * var(--px));
}

svg[height="50"] {
	height: calc(50 * var(--px));
}

svg[height="80"] {
	height: calc(80 * var(--px));
}

body {
	margin: 0;
	font-family: "Albert Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #042A2B;
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	background: #FFFFFF;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: #1E6B3D;
	line-height: 1.2;
	font-weight: 500;
}

ul,
li,
ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

address {
	margin-bottom: 0;
}

/* Bootstrap adds 1rem below every address */
a,
a:hover,
a:focus {
	text-decoration: none;
	color: #1E6B3D;
	transition: all 0.3s ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid #BA522B;
	outline-offset: 3px;
}

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

p {
	color: #042A2B;
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	margin: 0;
	padding-bottom: calc(16 * var(--px));
}

p:last-child {
	padding-bottom: 0;
}

button {
	font-family: inherit;
}

::selection {
	background: #BA522B;
	color: #FFFFFF;
}

.custom-container {
	width: 100%;
	padding: 0 calc(120 * var(--px));
	margin: 0 auto;
}

.custom-container-right {
	padding: 0 calc(120 * var(--px)) 0 0;
}

.common-section {
	padding: calc(100 * var(--px)) 0;
}

.common-top-section {
	padding-top: calc(100 * var(--px));
}

.common-bottom-section {
	padding-bottom: calc(100 * var(--px));
}

.main-flex-box {
	display: flex;
	gap: calc(80 * var(--px));
}

.main-grid-box-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: calc(80 * var(--px));
}

.main-grid-box-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(80 * var(--px));
}

.green-text {
	color: #0C5A2E;
}

.copper-text {
	color: #BA512A;
}

.line-mask {
	display: block;
	overflow: hidden;
	padding-bottom: 0.06em;
	margin-bottom: -0.06em;
}

.line {
	display: block;
}

/* Title Box */
.title-box {
	margin-bottom: calc(50 * var(--px));
}

.title-box h2 {
	font-size: calc(70 * var(--px));
	line-height: 1.12;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}

/* Skip Link */
.skip-link {
	position: fixed;
	top: calc(12 * var(--px));
	left: calc(12 * var(--px));
	z-index: 1000;
	background: #0C5A2E;
	color: #FFFFFF;
	padding: calc(12 * var(--px)) calc(20 * var(--px));
	border-radius: calc(8 * var(--px));
	transform: translateY(-200%);
	transition: transform 0.3s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
	color: #FFFFFF;
	transform: translateY(0);
}

/* Common Button Start */
.common-btn.btn {
	font-family: "Albert Sans", sans-serif;
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: calc(12 * var(--px));
	padding: calc(16 * var(--px)) calc(30 * var(--px));
	border-radius: calc(10 * var(--px));
	border: 1px solid transparent;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.35s ease, background-position 0.6s ease;
}

.common-btn .btn-text {
	position: relative;
	overflow: hidden;
	display: block;
}

.common-btn .btn-text-default,
.common-btn .btn-text-hover {
	display: block;
	transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}

.common-btn .btn-text-hover {
	position: absolute;
	top: 100%;
	left: 0;
}

.common-btn:hover .btn-text-default,
.common-btn:hover .btn-text-hover {
	transform: translateY(-100%);
}

.common-btn .btn-icon-bg {
	position: relative;
	width: calc(16 * var(--px));
	height: calc(12 * var(--px));
	overflow: hidden;
	flex: none;
}

.common-btn .btn-icon-default,
.common-btn .btn-icon-hover {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}

.common-btn .btn-icon-hover {
	transform: translateX(-150%);
}

.common-btn:hover .btn-icon-default {
	transform: translateX(150%);
}

.common-btn:hover .btn-icon-hover {
	transform: translateX(0);
}

.common-btn.gradient-btn,
.common-btn.gradient-btn:hover,
.common-btn.gradient-btn:focus,
.common-btn.gradient-btn:active {
	color: #FFFFFF;
	background: linear-gradient(90deg, #0B5A2E 0%, #7A1318 27.5%, #BA522B 50%, #7A1318 72.5%, #0B5A2E 100%);
	background-size: 200% 100%;
	background-position: 0% 0;
}

.common-btn.gradient-btn:hover {
	background-position: 100% 0;
	box-shadow: 0 calc(12 * var(--px)) calc(28 * var(--px)) rgba(122, 19, 24, 0.28);
}

.common-btn.white-btn,
.common-btn.white-btn:hover,
.common-btn.white-btn:focus,
.common-btn.white-btn:active {
	color: #297C47;
	background: #FFFFFF;
	border-color: rgba(41, 124, 71, 0.12);
}

.common-btn.white-btn:hover {
	color: #BA522B;
	box-shadow: 0 calc(12 * var(--px)) calc(28 * var(--px)) rgba(122, 52, 20, 0.18);
}

/* Common Button End */

/* Header Start */
header {
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	top: 0;
	z-index: 999;
	background: #FFFFFF;
	padding: calc(20 * var(--px)) 0;
	transition: padding 0.4s ease, box-shadow 0.4s ease;
}

header.shrink {
	padding: calc(12 * var(--px)) 0;
	box-shadow: 0 calc(6 * var(--px)) calc(30 * var(--px)) rgba(4, 42, 43, 0.08);
}

header .main-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: calc(60 * var(--px));
}

header .logo-box img {
	width: calc(300 * var(--px));
	height: auto;
	transition: width 0.4s ease;
}

header.shrink .logo-box img {
	width: calc(270 * var(--px));
}

header .main-menu {
	display: flex;
	align-items: center;
	margin-left: auto;
}

header .main-menu ul {
	display: flex;
	align-items: center;
	gap: calc(60 * var(--px));
}

header .main-menu ul li a {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #042A2B;
	position: relative;
	display: block;
	padding: calc(4 * var(--px)) 0;
}

header .main-menu ul li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1.5px;
	background: #BA522B;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

header .main-menu ul li a:hover {
	color: #BA522B;
}

header .main-menu ul li a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

header .main-menu ul li.active a {
	color: #BA522B;
}

header .btn-box {
	display: flex;
	align-items: center;
	gap: calc(16 * var(--px));
	flex: none;
}

/* Products Dropdown Start */
header .main-menu ul li.has-dropdown {
	position: relative;
}

header .main-menu ul li.has-dropdown>a {
	display: inline-flex;
	align-items: center;
	gap: calc(8 * var(--px));
}

header .main-menu .drop-arrow {
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

header .main-menu li.has-dropdown:hover .drop-arrow,
header .main-menu li.has-dropdown:focus-within .drop-arrow,
header .main-menu li.has-dropdown.open .drop-arrow {
	transform: rotate(180deg);
}

header .main-menu .dropdown-box {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 5;
	width: calc(470 * var(--px));
	padding-top: calc(26 * var(--px));
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, calc(14 * var(--px)));
	transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.45s;
}

header.shrink .main-menu .dropdown-box {
	padding-top: calc(18 * var(--px));
}

header .main-menu li.has-dropdown:hover .dropdown-box,
header .main-menu li.has-dropdown:focus-within .dropdown-box,
header .main-menu li.has-dropdown.open .dropdown-box {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

header .main-menu ul.dropdown-list {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: calc(4 * var(--px));
	padding: calc(12 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
	box-shadow: 0 calc(30 * var(--px)) calc(60 * var(--px)) calc(-24 * var(--px)) rgba(4, 42, 43, 0.28);
}

header .main-menu ul.dropdown-list::before {
	content: "";
	position: absolute;
	top: calc(-7 * var(--px));
	left: 50%;
	width: calc(12 * var(--px));
	height: calc(12 * var(--px));
	margin-left: calc(-6 * var(--px));
	background: #FFFFFF;
	border-left: 1px solid #D7E0D4;
	border-top: 1px solid #D7E0D4;
	border-radius: calc(3 * var(--px)) 0 0 0;
	transform: rotate(45deg);
}

header .main-menu ul.dropdown-list li {
	opacity: 0;
	transform: translateY(calc(8 * var(--px)));
	transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

header .main-menu li.has-dropdown:hover .dropdown-list li,
header .main-menu li.has-dropdown:focus-within .dropdown-list li,
header .main-menu li.has-dropdown.open .dropdown-list li {
	opacity: 1;
	transform: translateY(0);
}

header .main-menu .dropdown-list li:nth-child(2) {
	transition-delay: 0.04s;
}

header .main-menu .dropdown-list li:nth-child(3) {
	transition-delay: 0.08s;
}

header .main-menu .dropdown-list li:nth-child(4) {
	transition-delay: 0.12s;
}

header .main-menu .dropdown-list li:nth-child(5) {
	transition-delay: 0.16s;
}

header .main-menu ul.dropdown-list li a,
header .main-menu ul li.active .dropdown-list li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(16 * var(--px));
	padding: calc(14 * var(--px)) calc(18 * var(--px));
	border-radius: calc(12 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #042A2B;
	transition: background 0.3s ease, color 0.3s ease;
}

header .main-menu ul.dropdown-list li a::after {
	display: none;
}

header .main-menu ul.dropdown-list li a svg {
	flex: none;
	color: #BA522B;
	opacity: 0;
	transform: translateX(calc(-10 * var(--px)));
	transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

header .main-menu ul.dropdown-list li a:hover,
header .main-menu ul.dropdown-list li a:focus-visible,
header .main-menu ul.dropdown-list li.current a {
	background: #EBFFF4;
	color: #0C5A2E;
}

header .main-menu ul.dropdown-list li a:hover svg,
header .main-menu ul.dropdown-list li a:focus-visible svg,
header .main-menu ul.dropdown-list li.current a svg {
	opacity: 1;
	transform: translateX(0);
}

/* Products Dropdown End */
header .mobile-btn-box {
	display: none;
}

header .menu-toggle {
	display: none;
	width: calc(44 * var(--px));
	height: calc(44 * var(--px));
	border: 1px solid rgba(30, 107, 61, 0.2);
	border-radius: calc(8 * var(--px));
	background: #FFFFFF;
	position: relative;
	cursor: pointer;
}

header .menu-toggle span {
	position: absolute;
	left: calc(12 * var(--px));
	width: calc(18 * var(--px));
	height: 1.5px;
	background: #1E6B3D;
	transition: transform 0.35s ease, opacity 0.35s ease, top 0.35s ease;
}

header .menu-toggle span:nth-child(1) {
	top: calc(15 * var(--px));
}

header .menu-toggle span:nth-child(2) {
	top: calc(21 * var(--px));
}

header .menu-toggle span:nth-child(3) {
	top: calc(27 * var(--px));
}

header.menu-open .menu-toggle span:nth-child(1) {
	top: calc(21 * var(--px));
	transform: rotate(45deg);
}

header.menu-open .menu-toggle span:nth-child(2) {
	opacity: 0;
}

header.menu-open .menu-toggle span:nth-child(3) {
	top: calc(21 * var(--px));
	transform: rotate(-45deg);
}

header .scroll-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: calc(3 * var(--px));
	background: linear-gradient(90deg, #0C5A2E 0%, #8AC442 50%, #BA512A 100%);
	transform: scaleX(0);
	transform-origin: left;
	pointer-events: none;
}

/* Mobile menu open: the page behind it stays put */
html.menu-locked,
html.menu-locked body {
	overflow: hidden;
}

/* Header End */

/* Page Loading Fallback */
.page-loading .hero-anim {
	visibility: hidden;
	animation: heroFallback 0s linear 3s forwards;
}

@keyframes heroFallback {
	to {
		visibility: visible;
	}
}

/* Banner Section Start */
.banner-section {
	position: relative;
	height: 100vh;
	min-height: calc(760 * var(--px));
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	padding-bottom: calc(60 * var(--px));
	background: #EFD9C6;
}

.banner-section .banner-img-box {
	position: absolute;
	inset: -2%;
	overflow: hidden;
	will-change: transform;
}

.banner-section .banner-media {
	position: absolute;
	inset: 0;
}

.banner-section .banner-img-box img,
.banner-section .banner-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% -30%;
}

/* The looping globe video sits over the still photo and fades in once it is actually playing */
.banner-section .banner-video {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.2s ease;
	pointer-events: none;
}

.banner-section .banner-video.is-playing {
	opacity: 1;
}

.banner-section .banner-media picture {
	display: block;
	width: 100%;
	height: 100%;
}

/* The video's first frame is the still, so it appears instantly with no fade */
.banner-section .hero-video {
	transition: none;
}

.banner-section .sun-glow {
	position: absolute;
	top: -22%;
	right: 4%;
	width: 40vw;
	height: 40vw;
	max-width: calc(820 * var(--px));
	max-height: calc(820 * var(--px));
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 250, 236, 0.75) 0%, rgba(255, 232, 196, 0.3) 35%, rgba(255, 232, 196, 0) 65%);
	mix-blend-mode: screen;
	pointer-events: none;
	animation: sunBreathe 7s ease-in-out infinite alternate;
}

@keyframes sunBreathe {
	from {
		transform: scale(0.92);
	}

	to {
		transform: scale(1.08);
	}
}

.banner-section .custom-container {
	position: relative;
	z-index: 2;
}

.banner-section .banner-content-box {
	text-align: center;
	max-width: calc(1240 * var(--px));
	margin: 0 auto;
}

.banner-section .banner-content-box h1 {
	font-size: calc(100 * var(--px));
	line-height: 1.08;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	padding-bottom: calc(32 * var(--px));
}

.banner-section .banner-content-box h1 .line-1 {
	color: #FFFFFF;
	text-shadow: 0 2px calc(18 * var(--px)) rgba(122, 52, 20, 0.3), 0 calc(6 * var(--px)) calc(40 * var(--px)) rgba(122, 52, 20, 0.22);
}

.banner-section .banner-content-box h1 .line-2 {
	color: #BA512A;
}

/* Light hero video: white-based backdrop */
.banner-section.hero-light {
	background: #F8F3EC;
}

.banner-section .banner-content-box p {
	font-size: calc(30 * var(--px));
	line-height: calc(44 * var(--px));
	font-weight: 500;
	color: #042A2B;
	max-width: calc(1120 * var(--px));
	margin: 0 auto;
	padding-bottom: calc(44 * var(--px));
}

/* Banner Section End */

/* Inner Banner Section Start */
.inner-banner-section {
	position: relative;
	height: calc(700 * var(--px));
	margin-top: calc(98 * var(--px));
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	padding-bottom: calc(50 * var(--px));
	background: #042A2B;
}

.inner-banner-section .img-box {
	position: absolute;
	top: -12%;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
}

.inner-banner-section .img-box picture {
	display: block;
	width: 100%;
	height: 100%;
}

.inner-banner-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.inner-banner-section .image-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(4, 42, 43, 0.2) 0%, rgba(4, 42, 43, 0.35) 40%, rgba(4, 42, 43, 0.92) 100%);
	pointer-events: none;
}

.inner-banner-section .custom-container {
	position: relative;
	z-index: 1;
}

.inner-banner-section .banner-heading {
	margin: 0;
	color: #FFFFFF;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
}

.inner-banner-section .page-name {
	display: block;
	font-size: calc(30 * var(--px));
	line-height: calc(40 * var(--px));
	font-weight: 400;
	color: #FFFFFF;
	padding-bottom: calc(24 * var(--px));
}

.inner-banner-section .divider-line {
	display: block;
	height: 1px;
	background: rgba(255, 255, 255, 0.3);
	margin-bottom: calc(30 * var(--px));
	transform-origin: left;
}

.inner-banner-section .banner-title {
	display: block;
	font-size: calc(70 * var(--px));
	line-height: 1.12;
	font-weight: 600;
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}

/* Inner Banner Section End */

/* Overview Section Start */
.overview-section {
	position: relative;
	overflow: hidden;
}

.overview-section .custom-container {
	position: relative;
	z-index: 1;
}

.overview-section .overview-grid {
	display: grid;
	grid-template-columns: 70fr 90fr;
	gap: calc(80 * var(--px));
}

.overview-section .left-box h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.3;
	font-weight: 400;
	color: #0C5A2E;
}

.overview-section .right-box p {
	font-size: calc(24 * var(--px));
	line-height: calc(38 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
}

.overview-section .right-box p:last-child {
	padding-bottom: 0;
}

.overview-section .globe-box {
	position: relative;
	margin-top: 0;
}

.overview-section .globe-box img {
	width: 100%;
	height: auto;
}

/* Live 3D Earth (js/earth-globe.js): a taller strip, the photo stays underneath until the globe is drawn */
.overview-section .globe-box.is-3d {
	aspect-ratio: 3 / 1;
}

.overview-section .globe-box.is-3d img {
	position: absolute;
	left: 0;
	bottom: 0;
	transition: opacity 0.8s ease;
}

.overview-section .globe-box.is-ready img {
	opacity: 0;
}

.overview-section .globe-canvas {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1s ease;
}

.overview-section .globe-box.is-ready .globe-canvas {
	opacity: 1;
}

/* Overview Section End */

/* Engineering Section Start */
.engineering-section .engineering-grid {
	display: grid;
	grid-template-columns: 503fr 650fr 503fr;
	grid-template-rows: 260fr 108fr 380fr;
	gap: calc(12 * var(--px));
	aspect-ratio: 1680 / 772;
}

/* The section slides over the bottom of the Earth as a white panel with a rounded top, so the globe tucks underneath */
.engineering-section {
	position: relative;
	z-index: 2;
	margin-top: calc(-110 * var(--px));
	background: #FFFFFF;
	border-radius: 0;
	box-shadow: 0 calc(-30 * var(--px)) calc(60 * var(--px)) calc(-34 * var(--px)) rgba(4, 42, 43, 0.35);
}

.engineering-section .common-box {
	position: relative;
	overflow: hidden;
	border-radius: calc(20 * var(--px));
	isolation: isolate;
}

.engineering-section .mine-box {
	grid-column: 1;
	grid-row: 1 / 3;
	background: #F8D2BE;
}

.engineering-section .certified-box {
	grid-column: 1;
	grid-row: 3;
	background: #0C5A2E;
}

.engineering-section .sustainability-box {
	grid-column: 2;
	grid-row: 1 / 4;
}

.engineering-section .safety-box {
	grid-column: 3;
	grid-row: 1;
	background: #0A1650;
}

.engineering-section .automation-box {
	grid-column: 3;
	grid-row: 2 / 4;
	background: #F3EFE5;
}

.engineering-section .common-box .img-box {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: -1;
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.engineering-section .common-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.engineering-section .common-box:hover .img-box {
	transform: scale(1.05);
}

/* Icon and title share the first row; the description runs full width underneath */
.engineering-section .common-box .content-box {
	position: relative;
	padding: calc(30 * var(--px));
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: calc(16 * var(--px));
}

.engineering-section .common-box h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	padding-bottom: 0;
}

.engineering-section .common-box p {
	grid-column: 1 / -1;
	padding-top: calc(16 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
}

.engineering-section .mine-box h3 {
	color: #7A1218;
}

.engineering-section .mine-box p {
	color: #7A1218;
	max-width: 90%;
}

.engineering-section .certified-box::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 70%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 40px solid rgba(255, 255, 255, 0.05);
	transform: translate(35%, -35%);
	pointer-events: none;
}

.engineering-section .certified-box .content-box {
	height: 100%;
	grid-template-rows: auto 1fr;
}

.engineering-section .common-box .icon-box {
	display: flex;
}

/* Line icons take each box's heading colour */
.engineering-section .mine-box .icon-box {
	color: #7A1218;
}

.engineering-section .safety-box .icon-box,
.engineering-section .sustainability-box .icon-box {
	color: #FFFFFF;
}

.engineering-section .automation-box .icon-box {
	color: #0C5A2E;
}

.engineering-section .certified-box h3 {
	color: #FFFFFF;
}

.engineering-section .certified-box p {
	color: rgba(255, 255, 255, 0.85);
	align-self: end;
}

.engineering-section .sustainability-box .content-box {
	position: absolute;
	left: calc(24 * var(--px));
	right: calc(24 * var(--px));
	bottom: calc(24 * var(--px));
	border-radius: calc(12 * var(--px));
	background: rgba(76, 84, 46, 0.45);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.engineering-section .sustainability-box h3,
.engineering-section .safety-box h3 {
	color: #FFFFFF;
}

.engineering-section .sustainability-box p,
.engineering-section .safety-box p {
	color: rgba(255, 255, 255, 0.85);
}

.engineering-section .safety-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(10, 22, 80, 0.85) 0%, rgba(10, 22, 80, 0.7) 55%, rgba(10, 22, 80, 0) 92%);
}

.engineering-section .automation-box h3 {
	color: #0C5A2E;
}

.engineering-section .automation-box p {
	color: #5A5A5A;
}

.engineering-section .automation-box .ribbon {
	position: absolute;
	top: 0;
	left: -7.95%;
	width: 125.25%;
	max-width: none;
	height: auto;
	z-index: -1;
}

.engineering-section .automation-box .engineer {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 75%;
	height: auto;
	z-index: -1;
}

/* Engineering Section End */

/* Mission Section Start */
.mission-section {
	position: relative;
	height: calc(900 * var(--px));
	overflow: hidden;
	background: #0B2A4A;
}

.mission-section .img-box {
	position: absolute;
	top: -6%;
	bottom: -6%;
	left: 0;
	right: 0;
}

.mission-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mission-section .custom-container {
	position: relative;
	z-index: 1;
	height: 100%;
}

.mission-section .mission-grid {
	height: 100%;
	padding: calc(100 * var(--px)) 0;
	display: grid;
	grid-template-columns: 36fr 28fr 36fr;
	grid-template-rows: 1fr 1fr;
}

.mission-section .glass-box {
	padding: calc(50 * var(--px));
	border-radius: calc(20 * var(--px));
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.07) 100%);
	border: 1px solid rgba(255, 255, 255, 0.22);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	box-shadow: 0 calc(30 * var(--px)) calc(60 * var(--px)) calc(-30 * var(--px)) rgba(0, 0, 0, 0.45);
}

.mission-section .mission-box {
	grid-column: 1;
	grid-row: 1;
	align-self: start;
}

.mission-section .vision-box {
	grid-column: 3;
	grid-row: 2;
	align-self: end;
}

.mission-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #FFFFFF;
	padding-bottom: calc(24 * var(--px));
}

.mission-section p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: rgba(255, 255, 255, 0.88);
}

.mission-section p+p {
	padding-top: calc(16 * var(--px));
}

/* Mission Section End */

/* Network Section Start */
.network-section .network-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(80 * var(--px));
	align-items: center;
}

.network-section .left-box .img-box img {
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}

.network-section .intro-text {
	font-size: calc(20 * var(--px));
	line-height: calc(32 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(40 * var(--px));
}

.network-section .stats-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(30 * var(--px));
}

.network-section .stats-grid .box {
	padding: calc(30 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #F5F5F3;
	transition: background 0.4s ease;
}

.network-section .stats-grid .box:hover {
	background: #EBFFF4;
}

.network-section .stats-grid .box:first-child {
	grid-column: 1 / -1;
}

/* three stats: the states tile runs full width above the other two */
.network-section .stats-grid .number {
	font-size: calc(48 * var(--px));
	line-height: 1.1;
	font-weight: 500;
	color: #BA512A;
	padding-bottom: calc(24 * var(--px));
	font-variant-numeric: tabular-nums;
}

.network-section .stats-grid h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(8 * var(--px));
}

.network-section .stats-grid .small-text {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #5A5A5A;
}

/* Network Section End */

/* Values Section Start */
.values-section {
	overflow: hidden;
}

.values-section .values-track {
	display: flex;
	gap: calc(50 * var(--px));
	width: max-content;
	padding: 0 calc(120 * var(--px));
	will-change: transform;
}

.values-section .common-box {
	position: relative;
	width: calc(475 * var(--px));
	aspect-ratio: 475 / 620;
	flex: none;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: calc(30 * var(--px));
}

.values-section .common-box .img-box {
	position: absolute;
	inset: 0;
	z-index: -2;
	overflow: hidden;
}

.values-section .common-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.values-section .common-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%);
}

.values-section .common-box:hover .img-box img {
	transform: scale(1.06);
}

.values-section .common-box h3 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #FFFFFF;
}

.values-section .common-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #FFFFFF;
}

/* Values Section End */

/* Leadership Section Start */
.leadership-section {
	background: #EBFFF4;
}

.leadership-section .leadership-slider {
	overflow: hidden;
}

.leadership-section .team-box {
	position: relative;
	height: calc(440 * var(--px));
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	isolation: isolate;
	background: #FFFFFF url('../images/praneetha-standard-bg.webp') center / cover no-repeat;
	outline-offset: -3px;
}

.leadership-section .team-box .content-box {
	position: relative;
	z-index: 2;
	padding: calc(30 * var(--px)) calc(30 * var(--px)) 0;
}

.leadership-section .team-box h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #BA512A;
	padding-bottom: calc(8 * var(--px));
}

.leadership-section .team-box .designation {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #8AC442;
	text-align: left;
}

/* a short label: never justified */
.leadership-section .team-box .img-box {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: transform 0.7s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.5s ease;
}

.leadership-section .team-box .img-box img {
	width: 100%;
	height: auto;
}

.leadership-section .team-box .bio-box {
	position: absolute;
	left: calc(30 * var(--px));
	right: calc(30 * var(--px));
	bottom: calc(30 * var(--px));
	z-index: 2;
	opacity: 0;
	transform: translateY(calc(30 * var(--px)));
	transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.leadership-section .team-box .bio-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
}

.leadership-section .team-box:hover .img-box,
.leadership-section .team-box:focus-visible .img-box {
	transform: translateY(35%);
	opacity: 0;
}

.leadership-section .team-box:hover .bio-box,
.leadership-section .team-box:focus-visible .bio-box {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.15s;
}

.leadership-section .slider-controls,
.cables-section .slider-controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: calc(40 * var(--px));
}

.leadership-section .swiper-pagination,
.cables-section .swiper-pagination {
	position: static;
	display: flex;
	align-items: center;
	gap: 0;
	width: auto;
	margin-left: -7px;
}

/* Each dot sits in a transparent 7px frame (background-clip), so its tap target is at least 24px while the dot looks the same */
.leadership-section .swiper-pagination-bullet,
.cables-section .swiper-pagination-bullet {
	width: calc(max(10px, 10 * var(--px)) + 14px);
	height: calc(max(10px, 10 * var(--px)) + 14px);
	padding: 7px;
	margin: 0 !important;
	border-radius: calc(10 * var(--px) + 14px);
	background: #0C5A2E;
	opacity: 1;
	transition: width 0.4s ease, background 0.4s ease;
	background-clip: content-box;
}

.leadership-section .swiper-pagination-bullet-active,
.cables-section .swiper-pagination-bullet-active {
	width: calc(36 * var(--px) + 14px);
	background-color: #8AC442;
}

.leadership-section .slider-nav,
.cables-section .slider-nav {
	display: flex;
	gap: calc(16 * var(--px));
}

.leadership-section .slider-btn,
.cables-section .slider-btn {
	width: calc(56 * var(--px));
	height: calc(56 * var(--px));
	border-radius: 50%;
	border: 1px solid rgba(12, 90, 46, 0.3);
	background: transparent;
	color: #0C5A2E;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}

.leadership-section .slider-btn:hover,
.cables-section .slider-btn:hover {
	background: #0C5A2E;
	border-color: #0C5A2E;
	color: #FFFFFF;
}

.leadership-section .slider-btn.swiper-button-disabled,
.cables-section .slider-btn.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

/* Leadership Section End */

/* Certifications Section Start */
.certifications-section .certifications-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: calc(24 * var(--px));
}

.certifications-section .common-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: calc(20 * var(--px));
	padding: calc(24 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #F5F5F5;
	text-align: center;
	transition: background 0.4s ease;
}

.certifications-section .common-box:hover {
	background: #EBFFF4;
}

.certifications-section .logo-box {
	height: calc(100 * var(--px));
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.certifications-section .logo-box img {
	max-height: 100%;
	width: auto;
}

/* The seals are sized by their height attributes; scale those with the design */
.certifications-section .logo-box img[height="80"] {
	height: calc(80 * var(--px));
}

.certifications-section .logo-box img[height="90"] {
	height: calc(90 * var(--px));
}

.certifications-section .logo-box img[height="100"] {
	height: calc(100 * var(--px));
}

.certifications-section .common-box:hover .logo-box {
	transform: scale(1.08);
}

.certifications-section .common-box h3 {
	font-size: calc(20 * var(--px));
	line-height: calc(28 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
}

.certifications-section .certifications-grid.four-up {
	grid-template-columns: repeat(4, 1fr);
}

/* products listing four marks */
/* Certifications Section End */

/* Contact Info Section Start */
.contact-info-section .contact-info-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(30 * var(--px));
}

.contact-info-section .common-box {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: calc(60 * var(--px));
	padding: calc(30 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #DEF4F2;
	transition: background 0.4s ease, box-shadow 0.4s ease;
}

.contact-info-section .common-box:hover {
	background: #D2EFEC;
	box-shadow: 0 calc(20 * var(--px)) calc(40 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.35);
}

.contact-info-section .icon-row {
	display: flex;
	align-items: center;
	gap: calc(20 * var(--px));
}

.contact-info-section .icon-box {
	width: calc(80 * var(--px));
	height: calc(80 * var(--px));
	flex: none;
	border-radius: calc(10 * var(--px));
	background: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
}

.contact-info-section .icon-box svg {
	transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.contact-info-section .common-box:hover .icon-box svg {
	transform: scale(1.12) rotate(-6deg);
}

.contact-info-section h2 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
}

.contact-info-section .info-link,
.contact-info-section .info-link:focus {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #042A2B;
}

.contact-info-section .info-link:hover {
	color: #8AC442;
}

.contact-info-section .underline-link {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.contact-info-section .social-icon ul {
	display: flex;
	gap: calc(12 * var(--px));
}

.contact-info-section .social-icon ul li a,
.contact-info-section .social-icon ul li a:focus {
	width: calc(36 * var(--px));
	height: calc(36 * var(--px));
	border-radius: 50%;
	background: #0C5A2E;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.35s ease, transform 0.35s ease;
}

.contact-info-section .social-icon ul li a svg {
	width: calc(15 * var(--px));
	height: calc(15 * var(--px));
}

.contact-info-section .social-icon ul li a:hover {
	background: #8AC442;
	color: #FFFFFF;
	transform: translateY(calc(-3 * var(--px)));
}

/* Contact Info Section End */

/* Contact Form Section Start */
.contact-form-section .form-card {
	display: grid;
	grid-template-columns: 994fr 686fr;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #DEF4F2;
}

.contact-form-section .contact-form {
	padding: calc(40 * var(--px));
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.contact-form-section .form-grid {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(24 * var(--px)) calc(24 * var(--px));
	padding-bottom: calc(30 * var(--px));
}

.contact-form-section .form-group {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: calc(10 * var(--px));
}

.contact-form-section .form-group.full-width {
	grid-column: 1 / -1;
}

.contact-form-section label {
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #042A2B;
}

.contact-form-section input,
.contact-form-section select,
.contact-form-section textarea {
	width: 100%;
	font-family: inherit;
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #042A2B;
	background: #FFFFFF;
	border: 1px solid transparent;
	border-radius: calc(10 * var(--px));
	padding: calc(18 * var(--px)) calc(20 * var(--px));
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-form-section select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: calc(50 * var(--px));
	cursor: pointer;
	background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5L7 7.5L13 1.5' stroke='%23042A2B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 20px center;
}

.contact-form-section textarea {
	resize: vertical;
	min-height: calc(160 * var(--px));
}

.contact-form-section input::placeholder,
.contact-form-section textarea::placeholder {
	color: #5A5A5A;
}

.contact-form-section input:focus,
.contact-form-section select:focus,
.contact-form-section textarea:focus {
	outline: none;
	border-color: #0C5A2E;
	box-shadow: 0 0 0 calc(3 * var(--px)) rgba(138, 196, 66, 0.35);
}

.contact-form-section .has-error input,
.contact-form-section .has-error textarea {
	border-color: #BA512A;
}

.contact-form-section .has-error input::placeholder,
.contact-form-section .has-error textarea::placeholder {
	color: #BA512A;
	opacity: 1;
}

.contact-form-section .has-error:not(.is-empty) input {
	padding-right: calc(230 * var(--px));
}

.contact-form-section .error-text {
	position: absolute;
	right: calc(20 * var(--px));
	top: calc(65 * var(--px));
	transform: translateY(-50%);
	font-size: max(12px, calc(15 * var(--px)));
	line-height: calc(20 * var(--px));
	color: #BA512A;
	background: #FFFFFF;
	padding-left: calc(8 * var(--px));
	pointer-events: none;
}

.contact-form-section .full-width .error-text {
	top: calc(64 * var(--px));
	transform: none;
}

.contact-form-section .error-text:empty,
.contact-form-section .is-empty .error-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.contact-form-section button.common-btn {
	border: none;
	cursor: pointer;
}

.contact-form-section .form-status {
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(24 * var(--px));
	color: #0C5A2E;
	padding-top: calc(16 * var(--px));
}

.contact-form-section .form-status:empty {
	display: none;
}

.contact-form-section .img-box {
	aspect-ratio: 686 / 730;
	overflow: hidden;
}

.contact-form-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Contact Form Section End */

/* Offices Section Start */
.offices-section {
	background: #EBFFF4;
}

.offices-section .offices-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(50 * var(--px));
}

.offices-section .address-card {
	padding: calc(50 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.offices-section .office-box {
	font-style: normal;
}

.offices-section .office-box+.office-box {
	margin-top: calc(40 * var(--px));
	padding-top: calc(40 * var(--px));
	border-top: 1px solid #E6ECE8;
}

.offices-section h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(12 * var(--px));
}

.offices-section .company-name {
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	font-weight: 600;
	color: #042A2B;
	padding-bottom: calc(4 * var(--px));
}

.offices-section p {
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	color: #042A2B;
}

.offices-section .img-box {
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	min-height: 100%;
}

.offices-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Offices Section End */

/* Map Section Start */
.map-section {
	height: calc(700 * var(--px));
	background: #E4F0EE;
}

.map-section iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Map Section End */

/* Contact CTA Section Start */
.contact-cta-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.contact-cta-section .cta-box {
	position: relative;
	height: calc(650 * var(--px));
	overflow: hidden;
	isolation: isolate;
}

.contact-cta-section .content-box {
	position: relative;
	z-index: 2;
	padding: calc(50 * var(--px));
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: calc(40 * var(--px));
}

.contact-cta-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 600;
	text-transform: uppercase;
}

.contact-cta-section .dealer-box {
	background: radial-gradient(ellipse 50% 60% at 95% 5%, rgba(196, 222, 238, 0.9) 0%, rgba(196, 222, 238, 0) 70%), radial-gradient(ellipse 60% 50% at 70% 110%, rgba(250, 210, 170, 0.8) 0%, rgba(250, 210, 170, 0) 70%), linear-gradient(180deg, #F5F7F4 0%, #FAF1E8 100%);
}

.contact-cta-section .swoosh-box {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 44%;
	z-index: 0;
	pointer-events: none;
	opacity: 0.55;
}

.contact-cta-section .swoosh-box svg {
	width: 100%;
	height: 100%;
}

.contact-cta-section .dot-circle {
	position: absolute;
	top: calc(48 * var(--px));
	left: calc(70 * var(--px));
	width: calc(56 * var(--px));
	height: calc(56 * var(--px));
	border-radius: 50%;
	background: rgba(166, 186, 140, 0.35);
}

.contact-cta-section .dealer-box .map-box {
	position: absolute;
	left: 12%;
	right: 6%;
	bottom: calc(40 * var(--px));
	z-index: 1;
}

/* India map: a tall shape, so it sits on the right under the heading instead of spanning the panel */
.contact-cta-section .dealer-box .map-box.india-box {
	left: auto;
	right: calc(60 * var(--px));
	bottom: calc(30 * var(--px));
	width: calc(420 * var(--px));
}

.contact-cta-section .partner-box .img-box {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.contact-cta-section .partner-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 100%;
}

/* Contact CTA Section End */

/* Product List Section Start */
.product-list-section .product-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(50 * var(--px));
}

.product-list-section .common-box {
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #EBFFF4;
	border: 1px solid #D7E0D4;
	display: flex;
	flex-direction: column;
}

.product-list-section .img-box {
	height: calc(430 * var(--px));
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F5F5F5;
	overflow: hidden;
}

.product-list-section .img-inner {
	width: 70%;
	max-width: calc(525 * var(--px));
	display: block;
	transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.product-list-section .img-inner img {
	width: 100%;
	height: auto;
}

.product-list-section .common-box:hover .img-inner {
	transform: scale(1.06) translateY(calc(-6 * var(--px)));
}

.product-list-section .content-box {
	padding: calc(30 * var(--px));
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
}

.product-list-section h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(16 * var(--px));
}

.product-list-section .content-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
}

/* Product List Section End */

/* Safety Section Start */
.safety-section {
	position: relative;
	height: calc(900 * var(--px));
	overflow: hidden;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: calc(100 * var(--px)) 0;
}

.safety-section .img-box {
	position: absolute;
	top: -6%;
	bottom: -6%;
	left: 0;
	right: 0;
	z-index: -2;
}

.safety-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.safety-section::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(4, 42, 43, 0.75) 0%, rgba(4, 42, 43, 0.25) 55%, rgba(4, 42, 43, 0.05) 100%), linear-gradient(0deg, rgba(4, 42, 43, 0.55) 0%, rgba(4, 42, 43, 0) 50%);
}

.safety-section .custom-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.safety-section .title-box h2 {
	color: #FFFFFF;
}

.safety-section .benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(30 * var(--px));
}

.safety-section .box {
	display: flex;
	align-items: center;
	gap: calc(24 * var(--px));
	padding: calc(30 * var(--px));
	border-radius: calc(10 * var(--px));
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	transition: background 0.4s ease;
}

.safety-section .box:hover {
	background: rgba(255, 255, 255, 0.2);
}

.safety-section .icon-box {
	width: calc(80 * var(--px));
	height: calc(80 * var(--px));
	flex: none;
	border-radius: calc(10 * var(--px));
	background: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
}

.safety-section .box p {
	font-size: calc(24 * var(--px));
	line-height: calc(34 * var(--px));
	color: #FFFFFF;
}

/* Safety Section End */

/* Applications Section Start */
.applications-section {
	position: relative;
	overflow: hidden;
}

.applications-section .oval-ring {
	position: absolute;
	left: calc(-380 * var(--px));
	top: calc(-398 * var(--px));
	width: calc(1186 * var(--px));
	max-width: none;
	height: auto;
	pointer-events: none;
}

.applications-section .custom-container {
	position: relative;
}

.applications-section .applications-row {
	display: flex;
	height: calc(500 * var(--px));
}

.applications-section .common-box {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	isolation: isolate;
	cursor: pointer;
	transition: flex-grow 0.8s cubic-bezier(0.65, 0, 0.35, 1);
	outline-offset: -3px;
}

.applications-section .common-box.active {
	flex-grow: 2.4;
}

.applications-section .img-box {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.applications-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.applications-section .common-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%);
	opacity: 0;
	transition: opacity 0.6s ease;
}

.applications-section .common-box.active::after {
	opacity: 1;
}

.applications-section .content-box {
	position: absolute;
	left: calc(30 * var(--px));
	right: calc(30 * var(--px));
	bottom: calc(30 * var(--px));
	width: calc(600 * var(--px));
	max-width: calc(100% - calc(60 * var(--px)));
	opacity: 0;
	transform: translateY(calc(24 * var(--px)));
	transition: opacity 0.5s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.applications-section .common-box.active .content-box {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.25s;
}

.applications-section h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #FFFFFF;
	padding-bottom: calc(16 * var(--px));
	white-space: nowrap;
}

.applications-section .content-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: rgba(255, 255, 255, 0.9);
	text-align: left;
}

/* short captions: never justified */
/* Applications Section End */

/* Proven Section Start */
.proven-section {
	position: relative;
	overflow: hidden;
	background: #FFFFFF;
}

.proven-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url('../images/praneetha-standard-bg.webp') center / cover no-repeat;
	opacity: 0.55;
	pointer-events: none;
}

.proven-section .custom-container {
	position: relative;
}

.proven-section .proven-grid {
	display: grid;
	grid-template-columns: 1fr calc(600 * var(--px));
	gap: calc(80 * var(--px));
	align-items: center;
}

.proven-section .box {
	display: flex;
	align-items: center;
	gap: calc(30 * var(--px));
	padding: calc(50 * var(--px)) 0;
	border-bottom: 1px solid rgba(12, 90, 46, 0.12);
}

.proven-section .box:first-child {
	padding-top: 0;
}

.proven-section .box:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.proven-section .icon-box {
	flex: none;
	display: flex;
}

.proven-section h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(16 * var(--px));
}

.proven-section .text-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
}

.proven-section .img-box {
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.proven-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Proven Section End */

/* Justified paragraphs site-wide (content area). Paragraphs split into lines for their reveal animation are one block
   per line, and a block's only line counts as its last line, so every line except the real last one is justified too. */
main p {
	text-align: justify;
}

main p>div:not(:last-child) {
	text-align-last: justify;
}

/* Centred copy stays centred */
.banner-section .banner-content-box p,
.process-section .station .label {
	text-align: center;
}

.banner-section .banner-content-box p>div {
	text-align-last: auto;
}

/* Become a Dealer Page Start */
.dealer-intro-section .left-box h2 {
	padding-bottom: calc(40 * var(--px));
}

.dealer-intro-section .stats-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(30 * var(--px));
	margin-top: calc(80 * var(--px));
	padding-top: calc(50 * var(--px));
	border-top: 1px solid #D7E0D4;
}

.dealer-intro-section .stats-row li {
	display: flex;
	flex-direction: column;
	gap: calc(8 * var(--px));
}

.dealer-intro-section .stat-num {
	font-size: calc(70 * var(--px));
	line-height: 1;
	font-weight: 500;
	color: #BA512A;
	letter-spacing: -0.02em;
}

.dealer-intro-section .stat-label {
	font-size: calc(22 * var(--px));
	line-height: calc(30 * var(--px));
	color: #0C5A2E;
}

.why-partner-section {
	background: #EBFFF4;
}

.why-partner-section .why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(30 * var(--px));
}

.why-partner-section .why-box {
	display: flex;
	flex-direction: column;
	padding: calc(50 * var(--px)) calc(40 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
}

.why-partner-section .why-box:hover {
	transform: translateY(calc(-8 * var(--px)));
	box-shadow: 0 calc(30 * var(--px)) calc(60 * var(--px)) calc(-30 * var(--px)) rgba(12, 90, 46, 0.35);
}

.why-partner-section .why-box .icon-box {
	width: calc(84 * var(--px));
	height: calc(84 * var(--px));
	border-radius: calc(16 * var(--px));
	display: flex;
	align-items: center;
	justify-content: center;
	background: #FFEAE3;
	color: #BA512A;
	margin-bottom: calc(30 * var(--px));
}

.why-partner-section .why-box h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(16 * var(--px));
}

.why-partner-section .why-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
	margin-bottom: calc(30 * var(--px));
	border-bottom: 1px solid #D7E0D4;
}

.why-partner-section .tick-list {
	display: flex;
	flex-direction: column;
	gap: calc(18 * var(--px));
}

.why-partner-section .tick-list li {
	display: flex;
	align-items: center;
	gap: calc(16 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #042A2B;
}

.why-partner-section .tick-list img {
	flex: none;
	width: calc(40 * var(--px));
	height: auto;
}

.why-partner-section .why-box.featured {
	background: #0C5A2E;
	border-color: #0C5A2E;
}

.why-partner-section .why-box.featured .icon-box {
	background: rgba(255, 255, 255, 0.12);
	color: #FFFFFF;
}

.why-partner-section .why-box.featured h3,
.why-partner-section .why-box.featured .tick-list li {
	color: #FFFFFF;
}

.why-partner-section .why-box.featured p {
	color: rgba(255, 255, 255, 0.85);
	border-color: rgba(255, 255, 255, 0.2);
}

.why-partner-section .why-box.featured .tick-list img {
	filter: brightness(0) invert(1);
}

.shared-growth-section {
	position: relative;
	overflow: hidden;
	background: #0C5A2E;
}

.shared-growth-section .growth-head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(80 * var(--px));
	align-items: end;
	padding-bottom: calc(60 * var(--px));
}

.shared-growth-section .growth-head h2 {
	font-size: calc(70 * var(--px));
	line-height: 1.12;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: #FFFFFF;
}

.shared-growth-section .growth-head p {
	font-size: calc(24 * var(--px));
	line-height: calc(38 * var(--px));
	color: rgba(255, 255, 255, 0.85);
}

.shared-growth-section .growth-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(30 * var(--px));
}

.shared-growth-section .glass-box {
	padding: calc(40 * var(--px));
	border-radius: calc(20 * var(--px));
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.shared-growth-section .glass-box .icon-box {
	color: #8AC442;
	padding-bottom: calc(30 * var(--px));
	display: flex;
}

.shared-growth-section .glass-box h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #FFFFFF;
	padding-bottom: calc(14 * var(--px));
}

.shared-growth-section .glass-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: rgba(255, 255, 255, 0.8);
}



/* Clip sideways: the step cards wait 60px to the right before sliding in (clip, not hidden, so the sticky heading keeps working) */
.dealer-steps-section {
	overflow-x: clip;
}

.dealer-steps-section .steps-grid {
	display: grid;
	grid-template-columns: 720fr 960fr;
	gap: calc(100 * var(--px));
	align-items: start;
}

.dealer-steps-section .left-box {
	position: sticky;
	top: calc(140 * var(--px));
}

.dealer-steps-section .left-box .title-box {
	margin-bottom: calc(30 * var(--px));
}

.dealer-steps-section .left-box .title-box h2 {
	font-size: min(calc(70 * var(--px)), 3.9vw);
}

.dealer-steps-section .left-box .title-box .line {
	white-space: nowrap;
}

.dealer-steps-section .left-box p {
	font-size: calc(24 * var(--px));
	line-height: calc(38 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(40 * var(--px));
}

.dealer-steps-section .steps-list {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: calc(30 * var(--px));
	padding-left: calc(70 * var(--px));
}

.dealer-steps-section .steps-rail {
	position: absolute;
	left: calc(14 * var(--px));
	top: calc(40 * var(--px));
	bottom: calc(40 * var(--px));
	width: 2px;
	background: #E1E8E3;
}

.dealer-steps-section .steps-rail span {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, #0C5A2E 0%, #BA512A 100%);
	transform-origin: top;
	transform: scaleY(var(--fill, 1));
}

.dealer-steps-section .step-box {
	position: relative;
}

.dealer-steps-section .step-dot {
	position: absolute;
	left: calc(-66 * var(--px));
	top: 50%;
	width: calc(22 * var(--px));
	height: calc(22 * var(--px));
	margin-top: calc(-11 * var(--px));
	border-radius: 50%;
	background: #FFFFFF;
	border: 2px solid #D7E0D4;
	transition: border-color 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}

.dealer-steps-section .step-box.is-active .step-dot {
	background: #BA512A;
	border-color: #BA512A;
	box-shadow: 0 0 0 calc(6 * var(--px)) rgba(186, 81, 42, 0.15);
}

.dealer-steps-section .step-card {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: calc(40 * var(--px));
	padding: calc(40 * var(--px)) calc(50 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #F6F8F6;
	border: 1px solid #E6ECE8;
	transition: background 0.5s ease, border-color 0.5s ease, box-shadow 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.dealer-steps-section .step-box.is-active .step-card {
	background: #FFFFFF;
	border-color: #D7E0D4;
	box-shadow: 0 calc(30 * var(--px)) calc(60 * var(--px)) calc(-34 * var(--px)) rgba(12, 90, 46, 0.4);
}

.dealer-steps-section .step-num {
	flex: none;
	width: calc(120 * var(--px));
	font-size: calc(90 * var(--px));
	line-height: 1;
	font-weight: 600;
	letter-spacing: -0.03em;
	color: transparent;
	-webkit-text-stroke: 1.5px #BA512A;
	transition: color 0.5s ease;
}

.dealer-steps-section .step-box.is-active .step-num {
	color: #BA512A;
}

.dealer-steps-section .step-content {
	display: flex;
	flex-direction: column;
}

.dealer-steps-section .step-icon {
	display: flex;
	color: #0C5A2E;
	padding-bottom: calc(14 * var(--px));
}

.dealer-steps-section .step-content h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(10 * var(--px));
}

.dealer-steps-section .step-content p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
}

.dealer-form-section {
	background: #EBFFF4;
}

.dealer-form-section .form-card {
	grid-template-columns: 600fr 1080fr;
	background: #FFFFFF;
	box-shadow: 0 calc(40 * var(--px)) calc(80 * var(--px)) calc(-50 * var(--px)) rgba(4, 42, 43, 0.45);
}

.dealer-form-section .info-panel {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: calc(60 * var(--px)) calc(50 * var(--px));
	color: #FFFFFF;
	background: #0C5A2E;
}

.dealer-form-section .info-panel::before {
	content: "";
	position: absolute;
	right: calc(-120 * var(--px));
	top: calc(-120 * var(--px));
	width: calc(320 * var(--px));
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 40px solid rgba(255, 255, 255, 0.05);
}

.dealer-form-section .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: calc(12 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #8AC442;
	padding-bottom: calc(20 * var(--px));
}

.dealer-form-section .eyebrow::before {
	content: "";
	width: calc(30 * var(--px));
	height: 1px;
	background: #8AC442;
}

.dealer-form-section .info-panel h2 {
	font-size: calc(56 * var(--px));
	line-height: 1.1;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: #FFFFFF;
	padding-bottom: calc(20 * var(--px));
}

.dealer-form-section .info-panel h2 .accent {
	display: block;
	color: #FFFFFF;
}

.dealer-form-section .info-panel>p {
	font-size: calc(20 * var(--px));
	line-height: calc(32 * var(--px));
	color: rgba(255, 255, 255, 0.85);
	padding-bottom: calc(40 * var(--px));
}

.dealer-form-section .contact-list {
	display: flex;
	flex-direction: column;
	gap: calc(20 * var(--px));
	padding-bottom: calc(40 * var(--px));
	margin-bottom: calc(40 * var(--px));
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.dealer-form-section .contact-list li {
	display: flex;
	align-items: center;
	gap: calc(16 * var(--px));
}

.dealer-form-section .contact-list .icon {
	flex: none;
	width: calc(52 * var(--px));
	height: calc(52 * var(--px));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #FFFFFF;
}

.dealer-form-section .contact-list small {
	display: block;
	font-size: max(12px, calc(15 * var(--px)));
	line-height: calc(20 * var(--px));
	color: rgba(255, 255, 255, 0.65);
}

.dealer-form-section .contact-list a,
.dealer-form-section .contact-list a:focus {
	font-size: calc(22 * var(--px));
	line-height: calc(30 * var(--px));
	color: #FFFFFF;
}

.dealer-form-section .contact-list a:hover {
	color: #8AC442;
}

.dealer-form-section .next-title {
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #8AC442;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding-bottom: calc(16 * var(--px));
}

.dealer-form-section .next-box ul {
	display: flex;
	flex-direction: column;
	gap: calc(12 * var(--px));
}

.dealer-form-section .next-box li {
	display: flex;
	align-items: center;
	gap: calc(12 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: rgba(255, 255, 255, 0.9);
}

.dealer-form-section .next-box li svg {
	flex: none;
	color: #8AC442;
}

.dealer-form-section .contact-form {
	padding: calc(60 * var(--px)) calc(50 * var(--px));
}

.dealer-form-section label .req {
	color: #BA512A;
}

.dealer-form-section input,
.dealer-form-section select,
.dealer-form-section textarea {
	background-color: #F6F8F6;
	border-color: #E3EAE5;
}

.dealer-form-section input:focus,
.dealer-form-section select:focus,
.dealer-form-section textarea:focus {
	background-color: #FFFFFF;
}

.dealer-form-section .error-text {
	background: #F6F8F6;
}

.faq-section .faq-grid {
	display: grid;
	grid-template-columns: 560fr 1120fr;
	gap: calc(80 * var(--px));
	align-items: start;
}

.faq-section .faq-list {
	display: flex;
	flex-direction: column;
	gap: calc(16 * var(--px));
}

.faq-section .faq-item {
	border-radius: calc(16 * var(--px));
	background: #F5F5F5;
	border: 1px solid transparent;
	transition: background 0.4s ease, border-color 0.4s ease;
}

.faq-section .faq-item[open] {
	background: #EBFFF4;
	border-color: #D7E0D4;
}

.faq-section summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(24 * var(--px));
	padding: calc(28 * var(--px)) calc(30 * var(--px));
	font-size: calc(24 * var(--px));
	line-height: calc(34 * var(--px));
	color: #0C5A2E;
	cursor: pointer;
	list-style: none;
}

.faq-section summary::-webkit-details-marker {
	display: none;
}

.faq-section summary:focus-visible {
	outline: 2px solid #8AC442;
	outline-offset: 2px;
	border-radius: calc(16 * var(--px));
}

.faq-section .faq-icon {
	position: relative;
	flex: none;
	width: calc(40 * var(--px));
	height: calc(40 * var(--px));
	border-radius: 50%;
	background: #0C5A2E;
	transition: background 0.3s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-section .faq-icon::before,
.faq-section .faq-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: calc(14 * var(--px));
	height: 2px;
	margin: -1px 0 0 calc(-7 * var(--px));
	background: #FFFFFF;
	border-radius: 2px;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-section .faq-icon::after {
	transform: rotate(90deg);
}

.faq-section .faq-item[open] .faq-icon {
	background: #BA512A;
	transform: rotate(180deg);
}

.faq-section .faq-item[open] .faq-icon::after {
	transform: rotate(0deg);
}

.faq-section .faq-answer {
	padding: 0 calc(30 * var(--px)) calc(30 * var(--px));
}

.faq-section .faq-answer p {
	font-size: calc(18 * var(--px));
	line-height: calc(30 * var(--px));
	color: #5A5A5A;
	max-width: 92%;
}

/* Become a Dealer Page End */

/* Dealer Locator Page Start */
.locator-section .search-panel {
	padding: calc(30 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #EBFFF4;
	margin-bottom: calc(50 * var(--px));
}

.locator-section .locator-search {
	display: flex;
	align-items: center;
	gap: calc(14 * var(--px));
	background: #0C5A2E;
	border-radius: calc(12 * var(--px));
	padding: calc(8 * var(--px)) calc(8 * var(--px)) calc(8 * var(--px)) calc(22 * var(--px));
	box-shadow: 0 calc(20 * var(--px)) calc(40 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.6);
}

.locator-section .locator-search:focus-within {
	box-shadow: 0 0 0 calc(3 * var(--px)) rgba(138, 196, 66, 0.45), 0 calc(20 * var(--px)) calc(40 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.6);
}

.locator-section .locator-search .input-icon {
	display: flex;
	color: #FFFFFF;
}

.locator-section .locator-search input {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: none;
	color: #FFFFFF;
	font-family: inherit;
	font-size: calc(20 * var(--px));
	line-height: calc(28 * var(--px));
	padding: calc(14 * var(--px)) 0;
}

.locator-section .locator-search input::placeholder {
	color: rgba(255, 255, 255, 0.72);
}

.locator-section .locator-search input:focus {
	outline: none;
}

.locator-section .locator-search input::-webkit-search-cancel-button {
	filter: invert(1);
	cursor: pointer;
}

.locator-section .locator-search button {
	display: inline-flex;
	align-items: center;
	gap: calc(10 * var(--px));
	flex: none;
	background: #FFFFFF;
	border: none;
	border-radius: calc(8 * var(--px));
	padding: calc(14 * var(--px)) calc(30 * var(--px));
	font-family: inherit;
	font-size: calc(20 * var(--px));
	line-height: calc(26 * var(--px));
	color: #0C5A2E;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}

.locator-section .locator-search button:hover {
	background: #F4FBF1;
	color: #BA512A;
}

.locator-section .chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: calc(10 * var(--px));
	padding-top: calc(24 * var(--px));
}

.locator-section .state-chip {
	padding: calc(10 * var(--px)) calc(20 * var(--px));
	border-radius: calc(100 * var(--px));
	border: 1px solid #D7E0D4;
	background: #FFFFFF;
	font-family: inherit;
	font-size: max(12px, calc(17 * var(--px)));
	line-height: calc(22 * var(--px));
	color: #042A2B;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.locator-section .state-chip:hover {
	border-color: #0C5A2E;
	color: #0C5A2E;
}

.locator-section .state-chip.is-active {
	background: #0C5A2E;
	border-color: #0C5A2E;
	color: #FFFFFF;
}

.locator-section .state-chip:focus-visible {
	outline: 2px solid #8AC442;
	outline-offset: 2px;
}

.locator-section .locator-grid {
	display: grid;
	grid-template-columns: 1000fr 680fr;
	gap: calc(50 * var(--px));
	align-items: start;
}

.locator-section .results-count {
	font-size: calc(20 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(24 * var(--px));
	text-align: left;
}

.locator-section .results-count strong {
	color: #0C5A2E;
	font-weight: 500;
}

.locator-section .dealer-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(24 * var(--px));
}

.locator-section .dealer-card {
	display: flex;
	flex-direction: column;
	padding: calc(30 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #F6F8F6;
	border: 1px solid #E6ECE8;
	transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
	animation: dealerIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.locator-section .dealer-card:hover {
	background: #FFFFFF;
	border-color: #D7E0D4;
	box-shadow: 0 calc(24 * var(--px)) calc(48 * var(--px)) calc(-28 * var(--px)) rgba(12, 90, 46, 0.4);
	transform: translateY(calc(-4 * var(--px)));
}

@keyframes dealerIn {
	from {
		opacity: 0;
		transform: translateY(calc(24 * var(--px)));
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.locator-section .dealer-card .top-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(12 * var(--px));
	padding-bottom: calc(16 * var(--px));
}

.locator-section .dealer-card .type-tag {
	padding: calc(6 * var(--px)) calc(14 * var(--px));
	border-radius: calc(100 * var(--px));
	background: #0C5A2E;
	font-size: max(12px, calc(14 * var(--px)));
	line-height: calc(18 * var(--px));
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.locator-section .dealer-card .type-tag.is-distributor {
	background: #BA512A;
}

.locator-section .dealer-card .type-tag.is-retailer {
	background: #297C47;
}

.locator-section .dealer-card .state-name {
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(22 * var(--px));
	color: #5A5A5A;
}

.locator-section .dealer-card h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(10 * var(--px));
}

.locator-section .dealer-card .address {
	font-size: max(12px, calc(17 * var(--px)));
	line-height: calc(26 * var(--px));
	color: #5A5A5A;
	text-align: left;
	padding-bottom: calc(20 * var(--px));
}

.locator-section .dealer-card .actions {
	display: flex;
	flex-wrap: wrap;
	gap: calc(10 * var(--px)) calc(22 * var(--px));
	margin-top: auto;
	padding-top: calc(18 * var(--px));
	border-top: 1px solid #E1E8E3;
}

.locator-section .dealer-card .actions a,
.locator-section .dealer-card .actions a:focus {
	display: inline-flex;
	align-items: center;
	gap: calc(8 * var(--px));
	font-size: max(12px, calc(17 * var(--px)));
	line-height: calc(24 * var(--px));
	color: #0C5A2E;
}

.locator-section .dealer-card .actions a:hover {
	color: #BA512A;
}

.locator-section .empty-state {
	padding: calc(50 * var(--px)) calc(40 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #FFF6F2;
	text-align: center;
}

.locator-section .empty-state[hidden] {
	display: none;
}

.locator-section .empty-state p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
	text-align: center;
}

.locator-section .empty-state .empty-title {
	font-size: calc(26 * var(--px));
	line-height: calc(34 * var(--px));
	color: #BA512A;
	padding-bottom: calc(10 * var(--px));
}

.locator-section .empty-state a {
	color: #0C5A2E;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.locator-section .map-panel {
	position: sticky;
	top: calc(130 * var(--px));
	padding: calc(40 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #F2F7F3;
}

.locator-section .map-box.india-box {
	position: relative;
	width: 100%;
	max-width: calc(520 * var(--px));
	margin: 0 auto;
}

.locator-section .map-hint {
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(22 * var(--px));
	color: #5A5A5A;
	text-align: center;
	padding-top: calc(16 * var(--px));
}

.world-map .pin-spot {
	transition: opacity 0.4s ease;
}

.world-map .pin-spot.is-selected .pin {
	filter: drop-shadow(0 6px 10px rgba(186, 81, 42, 0.5)) brightness(1.15);
}

.world-map .pin-spot.is-dimmed {
	opacity: 0.35;
}

.buy-trust-section {
	padding: 0 0 calc(100 * var(--px));
}

.buy-trust-section .trust-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(30 * var(--px));
	padding: calc(40 * var(--px));
	border-radius: calc(20 * var(--px));
	border: 1px solid #D7E0D4;
}

.buy-trust-section .trust-box {
	display: flex;
	align-items: flex-start;
	gap: calc(20 * var(--px));
}

.buy-trust-section .trust-box+.trust-box {
	padding-left: calc(30 * var(--px));
	border-left: 1px solid #D7E0D4;
}

.buy-trust-section .icon {
	flex: none;
	width: calc(64 * var(--px));
	height: calc(64 * var(--px));
	border-radius: calc(14 * var(--px));
	display: flex;
	align-items: center;
	justify-content: center;
	background: #FFEAE3;
	color: #BA512A;
}

.buy-trust-section h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(8 * var(--px));
}

.buy-trust-section p {
	font-size: max(12px, calc(17 * var(--px)));
	line-height: calc(26 * var(--px));
	color: #5A5A5A;
}

.locator-cta-section,
.locator-cta-section.common-section {
	padding-top: 0;
}

/* the trust strip above already gives the gap; beats the responsive .common-section padding */
.locator-cta-section .cta-card {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(60 * var(--px));
	padding: calc(70 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #0C5A2E;
}

.locator-cta-section .cta-card::before {
	content: "";
	position: absolute;
	right: calc(-140 * var(--px));
	top: calc(-140 * var(--px));
	width: calc(380 * var(--px));
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 50px solid rgba(255, 255, 255, 0.05);
	pointer-events: none;
}

.locator-cta-section .content-box {
	position: relative;
	max-width: calc(900 * var(--px));
}

.locator-cta-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #FFFFFF;
	padding-bottom: calc(16 * var(--px));
}

.locator-cta-section p {
	font-size: calc(20 * var(--px));
	line-height: calc(32 * var(--px));
	color: rgba(255, 255, 255, 0.85);
}

.locator-cta-section .btn-box {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: calc(16 * var(--px));
	flex: none;
}

.common-btn.border-white-btn,
.common-btn.border-white-btn:focus,
.common-btn.border-white-btn:active {
	color: #FFFFFF;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.6);
}

.common-btn.border-white-btn:hover {
	color: #0C5A2E;
	background: #FFFFFF;
	border-color: #FFFFFF;
}

/* Dealer Locator Page End */

/* Brochure Section Start */
.brochure-section {
	background: #FFEAE3;
	margin-bottom: calc(200 * var(--px));
}

.brochure-section .brochure-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: calc(60 * var(--px));
	min-height: calc(420 * var(--px));
}

.brochure-section .content-box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: calc(50 * var(--px));
	padding: calc(80 * var(--px)) 0;
}

.brochure-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.3;
	font-weight: 400;
	color: #BA512A;
	text-wrap: balance;
}

.brochure-section .img-box {
	align-self: stretch;
	position: relative;
}

.brochure-section .img-box img {
	position: absolute;
	right: 0;
	top: calc(60 * var(--px));
	width: 100%;
	max-width: calc(801 * var(--px));
	height: auto;
	filter: drop-shadow(0 30px 40px rgba(122, 52, 20, 0.22));
}

/* Brochure Section End */

/* Industries List Section Start */
.industries-overview {
	padding-bottom: 0;
}

.industries-list-section .industries-list {
	display: flex;
	flex-direction: column;
	gap: calc(80 * var(--px));
}

.industries-list-section .industry-box {
	display: grid;
	grid-template-columns: 750fr 930fr;
	border: 1px solid #D7E0D4;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #FFFFFF;
	scroll-margin-top: calc(120 * var(--px));
}

.industries-list-section .industry-box.reverse {
	grid-template-columns: 930fr 750fr;
}

.industries-list-section .industry-box.reverse .img-box {
	order: 2;
}

.industries-list-section .img-box {
	position: relative;
	overflow: hidden;
	min-height: 100%;
}

.industries-list-section .img-box img {
	position: absolute;
	left: 0;
	top: -5%;
	width: 100%;
	height: 110%;
	object-fit: cover;
}

.industries-list-section .content-box {
	padding: calc(50 * var(--px));
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.industries-list-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(30 * var(--px));
}

.industries-list-section .content-box>p {
	font-size: calc(24 * var(--px));
	line-height: calc(38 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
}

.industries-list-section .applications-box {
	border-top: 1px solid #D7E0D4;
	border-bottom: 1px solid #D7E0D4;
	padding: calc(30 * var(--px)) 0;
	margin-bottom: calc(30 * var(--px));
}

.industries-list-section h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #042A2B;
	text-transform: uppercase;
	padding-bottom: calc(20 * var(--px));
}

.industries-list-section .tags {
	display: flex;
	flex-wrap: wrap;
	gap: calc(24 * var(--px));
}

.industries-list-section .tags li {
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #0C5A2E;
	padding: calc(12 * var(--px)) calc(24 * var(--px));
	border-radius: calc(100 * var(--px));
	background: #EBFFF4;
	border: 1px solid #D7E0D4;
	transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

.industries-list-section .tags li:hover {
	background: #0C5A2E;
	border-color: #0C5A2E;
	color: #FFFFFF;
}

.industries-list-section .btn-box {
	display: flex;
	flex-wrap: wrap;
	gap: calc(30 * var(--px));
}

.common-btn.border-btn,
.common-btn.border-btn:focus,
.common-btn.border-btn:active {
	color: #0C5A2E;
	background: transparent;
	border: 1px solid #0C5A2E;
}

.common-btn.border-btn:hover {
	color: #FFFFFF;
	background: #0C5A2E;
	border-color: #0C5A2E;
}

/* Industries List Section End */

/* Product Detail Section Start */
.product-detail-section .product-grid {
	display: grid;
	grid-template-columns: 645fr 955fr;
	gap: calc(80 * var(--px));
	align-items: start;
}

/* The pack stays in view (sticky under the header) while the details beside it scroll past */
.product-detail-section .img-box {
	position: sticky;
	top: calc(120 * var(--px));
	aspect-ratio: 645 / 595;
	border-radius: calc(20 * var(--px));
	background: #F5F5F5;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.product-detail-section .img-inner {
	width: 80%;
	display: block;
	transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.product-detail-section .img-inner img {
	width: 100%;
	height: auto;
}

.product-detail-section .img-box:hover .img-inner {
	transform: scale(1.05);
}

.product-detail-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(16 * var(--px));
}

.product-detail-section .sub-title {
	font-size: calc(30 * var(--px));
	line-height: calc(40 * var(--px));
	color: #468416;
	padding-bottom: calc(30 * var(--px));
	text-align: left;
}

/* a subtitle: never justified */
.product-detail-section .key-specs {
	display: flex;
	margin: 0 0 calc(30 * var(--px));
}

.product-detail-section .key-specs .spec {
	padding: 0 clamp(calc(30 * var(--px)), calc(10vw - calc(112 * var(--px))), calc(80 * var(--px)));
	white-space: nowrap;
	border-left: 1px solid #D7E0D4;
}

.product-detail-section .key-specs .spec:first-child {
	padding-left: 0;
	border-left: none;
}

.product-detail-section .key-specs dt {
	font-size: clamp(calc(18 * var(--px)), 1.25vw, calc(24 * var(--px)));
	line-height: 1.34;
	font-weight: 400;
	color: #5A5A5A;
	padding-bottom: calc(12 * var(--px));
}

.product-detail-section .key-specs dd {
	font-size: clamp(calc(24 * var(--px)), 1.5625vw, calc(30 * var(--px)));
	line-height: 1.34;
	color: #0C5A2E;
	margin: 0;
}

.product-detail-section .option-box {
	padding-bottom: calc(30 * var(--px));
}

.product-detail-section .option-box h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #5A5A5A;
	padding-bottom: calc(14 * var(--px));
}

.colour-list {
	display: flex;
	flex-wrap: wrap;
	gap: calc(14 * var(--px)) calc(28 * var(--px));
}

.colour-list li {
	display: flex;
	align-items: center;
	gap: calc(10 * var(--px));
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
}

.colour-list .swatch {
	width: calc(30 * var(--px));
	height: calc(30 * var(--px));
	flex: none;
	border-radius: calc(4 * var(--px));
	background: var(--swatch);
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.colour-list li:hover .swatch {
	transform: scale(1.15) rotate(-6deg);
}

.colour-list .red {
	--swatch: #E30613;
	color: #E30613;
}

.colour-list .green {
	--swatch: #1E9B2E;
	color: #178026;
}

/* label a shade darker than the swatch so it passes contrast */
.colour-list .yellow {
	--swatch: #F2E000;
	color: #7D6C00;
}

.colour-list .blue {
	--swatch: #1B2CF2;
	color: #1B2CF2;
}

.colour-list .black {
	--swatch: #000000;
	color: #000000;
}

.colour-list .grey {
	--swatch: #8C9196;
	color: #5F6468;
}

.colour-list .white {
	--swatch: #FFFFFF;
	color: #5A5A5A;
}

.colour-list .white .swatch {
	box-shadow: inset 0 0 0 1px #C9D2CC;
}

/* outline so the white swatch shows on light backgrounds */
.colour-list .black-red {
	--swatch: linear-gradient(180deg, #000000 0%, #000000 38%, #E30613 38%, #E30613 62%, #000000 62%, #000000 100%);
	color: #000000;
}

/* black with a red strip */
.product-detail-section .product-intro {
	font-size: calc(18 * var(--px));
	line-height: calc(29 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
}

.product-detail-section .option-note {
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(22 * var(--px));
	color: #5A5A5A;
	padding: calc(12 * var(--px)) 0 0;
	text-align: left;
}

.colour-list.small {
	gap: calc(10 * var(--px)) calc(30 * var(--px));
}

.colour-list.small li {
	gap: calc(10 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #5A5A5A;
}

.colour-list.small .swatch {
	width: calc(24 * var(--px));
	height: calc(24 * var(--px));
	border-radius: calc(3 * var(--px));
}

.product-detail-section .chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: calc(14 * var(--px));
}

.product-detail-section .chip-list li {
	min-width: calc(76 * var(--px));
	padding: calc(11 * var(--px)) calc(18 * var(--px));
	text-align: center;
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #042A2B;
	background: #F5F5F5;
	border: 1px solid transparent;
	border-radius: calc(10 * var(--px));
	transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

.product-detail-section .chip-list li:hover {
	background: #EBFFF4;
	border-color: #D7E0D4;
	color: #0C5A2E;
}

.product-detail-section .btn-box {
	display: flex;
	flex-wrap: wrap;
	gap: calc(30 * var(--px));
	padding-top: calc(10 * var(--px));
}

/* Product Detail Section End */

/* Product Certifications Start */
.product-certifications {
	background: #EBFFF4;
}

.product-certifications .common-box {
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
	transition: box-shadow 0.4s ease;
}

.product-certifications .common-box:hover {
	background: #FFFFFF;
	box-shadow: 0 calc(24 * var(--px)) calc(48 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.3);
}

/* Product Certifications End */

/* Construction Section Start */
.construction-section .construction-grid {
	display: grid;
	grid-template-columns: minmax(0, 450fr) minmax(0, 1150fr);
	gap: calc(80 * var(--px));
	align-items: stretch;
}

.construction-section .img-box {
	aspect-ratio: 450 / 604;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #FCFEFC;
}

/* The labelled diagram is never cropped: when the spec sheet beside it is taller, it sits at the bottom (the cable runs off that edge) on a matching background */
.construction-section .img-box.tall {
	aspect-ratio: 450 / 700;
}

/* a taller diagram, for spec sheets with more rows */
.construction-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: 50% 100%;
	-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 6%);
	mask-image: linear-gradient(180deg, transparent 0%, #000 6%);
}

.construction-section .spec-box {
	display: flex;
	padding: 0 calc(24 * var(--px));
	border: 1px solid #FFEAE3;
	border-radius: calc(20 * var(--px));
	background: #FFF6F2;
}

/* One shared grid: the label column is as wide as the longest label in every row, so the values line up and get the room */
.construction-section .spec-list {
	flex: 1;
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: calc(40 * var(--px));
	align-content: space-between;
	margin: 0;
}

.construction-section .row-box {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	gap: calc(40 * var(--px));
	align-items: center;
	padding: calc(24 * var(--px)) 0;
	border-bottom: 1px solid #FFEAE3;
}

.construction-section .row-box:last-child {
	border-bottom: none;
}

.construction-section .row-box dt {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	font-weight: 400;
	color: #BA512A;
}

.construction-section .row-box dd {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #5A5A5A;
	margin: 0;
}

/* Construction Section End */

/* Specification Section Start */
.specification-section {
	background: #EBFFF4;
}

.specification-section .table-box {
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
}

.specification-section .spec-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.specification-section .spec-table thead th {
	padding: calc(24 * var(--px)) calc(30 * var(--px));
	background: #F5F5F5;
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #D7E0D4;
}

.specification-section .spec-table tbody th,
.specification-section .spec-table tbody td {
	padding: calc(15 * var(--px)) calc(30 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	font-weight: 400;
	color: #5A5A5A;
	text-align: left;
}

.specification-section .spec-table th+th,
.specification-section .spec-table td {
	border-left: 1px solid #D7E0D4;
}

.specification-section .spec-table tbody tr>* {
	padding-top: calc(20 * var(--px));
	padding-bottom: calc(20 * var(--px));
	border-bottom: 1px solid #D7E0D4;
}

.specification-section .spec-table tbody tr:last-child>* {
	border-bottom: none;
}

.specification-section .spec-table tbody tr {
	transition: background 0.3s ease;
}

.specification-section .spec-table tbody tr:hover {
	background: #F4FFF8;
}

.specification-section .spec-table tbody tr:hover>* {
	color: #0C5A2E;
}

/* Grouped header: Current Carrying Capacity spans its two methods; a units row sits under the headings; values are centred */
.specification-section .spec-table tbody th,
.specification-section .spec-table tbody td {
	text-align: center;
}

.specification-section .spec-table thead th {
	text-align: center;
	vertical-align: middle;
}

.specification-section .spec-table thead .group-head {
	padding-top: calc(16 * var(--px));
	padding-bottom: calc(16 * var(--px));
}

.specification-section .spec-table thead .sub-head {
	border-left: 1px solid #D7E0D4;
	padding-top: calc(16 * var(--px));
	padding-bottom: calc(16 * var(--px));
}

.specification-section .spec-table thead .unit-row td {
	text-align: center;
	padding: calc(12 * var(--px)) calc(20 * var(--px));
	background: #FFFFFF;
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(22 * var(--px));
	color: #BA512A;
	border-bottom: 1px solid #D7E0D4;
}

.specification-section .spec-table thead .unit-row td:first-child {
	border-left: none;
}

.specification-section .spec-table tbody th {
	color: #0C5A2E;
}

.specification-section .spec-table thead .last-head {
	border-left: 1px solid #D7E0D4;
}

/* Specification Section End */

/* Features Section Start */
.features-section .features-grid {
	display: grid;
	grid-template-columns: 516fr 228fr 380fr 520fr;
	grid-template-rows: minmax(0, 270fr) minmax(0, 98fr) minmax(0, 160fr) minmax(0, 338fr);
	gap: calc(12 * var(--px));
	aspect-ratio: 1680 / 902;
}

.features-section .common-box {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: calc(20 * var(--px));
	padding: calc(30 * var(--px));
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: calc(20 * var(--px));
	background: #042A2B;
}

.features-section .copper-box {
	grid-column: 1;
	grid-row: 1 / 4;
}

.features-section .energy-box {
	grid-column: 2 / 4;
	grid-row: 1;
}

.features-section .flexibility-box {
	grid-column: 4;
	grid-row: 1 / 3;
}

.features-section .flame-box {
	grid-column: 2 / 4;
	grid-row: 2 / 4;
}

.features-section .rohs-box {
	grid-column: 4;
	grid-row: 3 / 5;
}

.features-section .termite-box {
	grid-column: 1 / 3;
	grid-row: 4;
}

.features-section .fumes-box {
	grid-column: 3;
	grid-row: 4;
}

.features-section .img-box {
	position: absolute;
	inset: 0;
	z-index: -2;
	overflow: hidden;
}

.features-section .img-inner {
	position: absolute;
	left: 0;
	right: 0;
	top: -6%;
	bottom: -6%;
	display: block;
	transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.features-section .img-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.features-section .common-box:hover .img-inner {
	transform: scale(1.07);
}

.features-section .common-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 32%, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.65) 100%);
}

.features-section .common-box.bright-img::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.15) 34%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.82) 100%);
}

/* tiles whose photo is sunlit */
.features-section h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #FFFFFF;
}

.features-section .common-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: rgba(255, 255, 255, 0.9);
	max-width: calc(470 * var(--px));
	text-align: left;
}

/* short captions in narrow tiles: never justified */
/* Features Section End */

/* Manufacturing Overview Section Start */
.mfg-overview-section .overview-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(80 * var(--px));
	align-items: center;
}

.mfg-overview-section .img-box {
	aspect-ratio: 800 / 500;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
}

.mfg-overview-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mfg-overview-section .content-box p {
	font-size: calc(24 * var(--px));
	line-height: calc(38 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
}

.mfg-overview-section .content-box p:last-child {
	padding-bottom: 0;
}

/* Manufacturing Overview Section End */

/* Quality Stats Section Start */
.quality-stats-section {
	background: #EBFFF4;
	scroll-margin-top: calc(82 * var(--px));
}

.quality-stats-section .stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(30 * var(--px));
}

.quality-stats-section .box {
	min-height: calc(232 * var(--px));
	padding: calc(30 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
	transition: box-shadow 0.4s ease;
}

.quality-stats-section .box:hover {
	box-shadow: 0 calc(24 * var(--px)) calc(48 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.3);
}

.quality-stats-section .number {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 500;
	color: #297C47;
	padding-bottom: calc(24 * var(--px));
	font-variant-numeric: tabular-nums;
}

.quality-stats-section .label {
	font-size: calc(24 * var(--px));
	line-height: calc(34 * var(--px));
	color: #042A2B;
	text-align: left;
}

/* short labels: never justified */
/* Quality Stats Section End */

/* Mine Section Start */
.mine-section {
	position: relative;
	min-height: calc(950 * var(--px));
	overflow: hidden;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	padding: calc(100 * var(--px)) 0;
}

.mine-section .img-box {
	position: absolute;
	left: 0;
	right: 0;
	top: -8%;
	bottom: -8%;
	z-index: -2;
}

.mine-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mine-section::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.25) 100%);
	pointer-events: none;
}

.mine-section .custom-container {
	position: relative;
}

.mine-section .mine-title {
	font-size: clamp(calc(80 * var(--px)), 9.9vw, calc(190 * var(--px)));
	line-height: 1.12;
	font-weight: 400;
	color: #FFFFFF;
	text-align: center;
	letter-spacing: -0.02em;
	white-space: nowrap;
	margin-bottom: calc(50 * var(--px));
	/* the title sits fully above the cards, never under them */
	text-shadow: 0 calc(10 * var(--px)) calc(40 * var(--px)) rgba(0, 0, 0, 0.2);
}

.mine-section .title-line {
	display: block;
}

.mine-section .glass-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto minmax(calc(30 * var(--px)), 1fr) auto;
	min-height: calc(320 * var(--px));
	gap: 0 calc(30 * var(--px));
}

.mine-section .glass-box {
	grid-row: span 3;
	display: grid;
	grid-template-rows: subgrid;
	padding: calc(30 * var(--px));
	border-radius: calc(20 * var(--px));
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.24);
	backdrop-filter: blur(22px) saturate(1.2);
	-webkit-backdrop-filter: blur(22px) saturate(1.2);
	transition: background 0.4s ease;
}

.mine-section .glass-box:hover {
	background: rgba(255, 255, 255, 0.2);
}

.mine-section .glass-box h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #FFFFFF;
}

.mine-section .glass-box p {
	grid-row: 3;
	align-self: start;
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: rgba(255, 255, 255, 0.92);
}

/* Mine Section End */

/* Process Section Start */
.process-section {
	background: linear-gradient(180deg, #FCFCF0 0%, #FFF5E5 55%, #FCEBD0 100%);
	overflow: hidden;
}

.process-section .process-stage {
	position: relative;
	aspect-ratio: 1680 / 900;
	container-type: inline-size;
}

.process-section .pipe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.process-section .pipe-flow {
	animation: pipeFlow 2.4s linear infinite;
}

@keyframes pipeFlow {
	to {
		stroke-dashoffset: -120;
	}
}

.process-section .station-list {
	position: absolute;
	inset: 0;
}

.process-section .station {
	position: absolute;
	left: calc(var(--x) / 1680 * 100%);
	top: calc(var(--y) / 900 * 100%);
	width: 0;
	height: 0;
}

.process-section .art {
	position: absolute;
	z-index: 1;
	width: calc(var(--w) * 1cqw);
	max-width: none;
	height: auto;
	left: calc(var(--w) * var(--cx) * -1cqw);
	top: calc(var(--w) * var(--cy) * -1cqw);
	filter: drop-shadow(0 18px 22px rgba(120, 84, 40, 0.18));
}

.process-section .label {
	position: absolute;
	top: 6.4cqw;
	left: -9.5cqw;
	width: 19cqw;
	text-align: center;
	font-size: clamp(calc(18 * var(--px)), 1.43cqw, calc(24 * var(--px)));
	line-height: 1.35;
	color: #0C5A2E;
}

/* Process Section End */

/* Machinery Section Start */
.machinery-section {
	overflow: hidden;
}

.machinery-section .slider-wrap {
	padding-left: calc(120 * var(--px));
}

.machinery-section .machinery-slider {
	overflow: visible;
}

.machinery-section .swiper-slide {
	width: calc(650 * var(--px));
	height: auto;
}

.machinery-section .machine-box {
	height: 100%;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	border: 1px solid #D7E0D4;
	background: #FFFFFF;
	display: flex;
	flex-direction: column;
}

.machinery-section .img-box {
	aspect-ratio: 650 / 370;
	background: #042A2B;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.machinery-section .img-inner {
	width: 76%;
	display: block;
	transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.machinery-section .img-inner img {
	width: 100%;
	height: auto;
}

.machinery-section .machine-box:hover .img-inner {
	transform: scale(1.05);
}

/* A real plant photo fills the whole frame instead of sitting on the dark stage */
.machinery-section .img-box.photo-box .img-inner {
	width: 100%;
	height: 100%;
}

.machinery-section .img-box.photo-box .img-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.machinery-section .img-inner.is-wide {
	width: 90%;
}

/* very wide machines get more of the stage */
.machinery-section .img-inner.is-tall {
	width: auto;
	height: 84%;
}

/* boxy machines are sized by height so they never touch the stage edges */
.machinery-section .img-inner.is-tall img {
	width: auto;
	height: 100%;
}

.machinery-section .content-box {
	padding: calc(30 * var(--px));
	flex: 1;
}

.machinery-section .name-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: calc(20 * var(--px));
	padding-bottom: calc(16 * var(--px));
}

.machinery-section h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #297C47;
}

.machinery-section .origin {
	flex: none;
	white-space: nowrap;
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #BA512A;
	padding: 0;
}

/* stays on one line beside long machine names */
.machinery-section .content-box>p {
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	color: #5A5A5A;
}

.machinery-section .slider-controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: calc(40 * var(--px));
}

.machinery-section .swiper-pagination {
	position: static;
	display: flex;
	align-items: center;
	gap: 0;
	width: auto;
	margin-left: -7px;
}

.machinery-section .swiper-pagination-bullet {
	width: calc(max(10px, 10 * var(--px)) + 14px);
	height: calc(max(10px, 10 * var(--px)) + 14px);
	padding: 7px;
	margin: 0 !important;
	border-radius: calc(10 * var(--px) + 14px);
	background: #0C5A2E;
	opacity: 1;
	transition: width 0.4s ease, background 0.4s ease;
	background-clip: content-box;
}

.machinery-section .swiper-pagination-bullet-active {
	width: calc(36 * var(--px) + 14px);
	background-color: #8AC442;
}

.machinery-section .slider-nav {
	display: flex;
	gap: calc(16 * var(--px));
}

.machinery-section .slider-btn {
	width: calc(56 * var(--px));
	height: calc(56 * var(--px));
	border-radius: 50%;
	border: 1px solid rgba(12, 90, 46, 0.3);
	background: transparent;
	color: #0C5A2E;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}

.machinery-section .slider-btn:hover {
	background: #0C5A2E;
	border-color: #0C5A2E;
	color: #FFFFFF;
}

.machinery-section .slider-btn.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

/* Machinery Section End */

/* Testing Section Start */
.testing-section {
	background: #EBFFF4;
}

.testing-section .testing-grid {
	display: grid;
	grid-template-columns: 700fr 900fr;
	gap: calc(80 * var(--px));
	align-items: start;
}

.testing-section .tab-list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #D7E0D4;
}

.testing-section .tab-btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: calc(16 * var(--px));
	width: 100%;
	padding: calc(30 * var(--px)) 0 calc(30 * var(--px)) calc(24 * var(--px));
	border: none;
	border-bottom: 1px solid #D7E0D4;
	background: transparent;
	text-align: left;
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	color: #8A8F8C;
	cursor: pointer;
	transition: color 0.35s ease, padding 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.testing-section .tab-btn::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: calc(3 * var(--px));
	height: calc(34 * var(--px));
	margin-top: calc(-17 * var(--px));
	border-radius: calc(3 * var(--px));
	background: #8AC442;
	transform: scaleY(0);
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.testing-section .tab-btn img {
	width: calc(24 * var(--px));
	height: auto;
	opacity: 0.45;
	transition: opacity 0.35s ease;
}

.testing-section .tab-btn .num {
	min-width: calc(34 * var(--px));
	font-size: calc(20 * var(--px));
	line-height: calc(38 * var(--px));
	color: #A0A5A2;
	font-variant-numeric: tabular-nums;
	transition: color 0.35s ease;
}

.testing-section .tab-btn.active .num,
.testing-section .tab-btn:hover .num {
	color: #BA512A;
}

.testing-section .tab-btn:hover {
	color: #0C5A2E;
}

.testing-section .tab-btn.active {
	color: #0C5A2E;
	padding-left: calc(34 * var(--px));
}

.testing-section .tab-btn.active::before {
	transform: scaleY(1);
}

.testing-section .tab-btn.active img,
.testing-section .tab-btn:hover img {
	opacity: 1;
}

.testing-section .img-card {
	position: relative;
	aspect-ratio: 900 / 670;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	isolation: isolate;
}

.testing-section .img-box {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.testing-section .img-inner {
	position: absolute;
	inset: 0;
	display: block;
	opacity: 0;
	transition: opacity 0.7s ease;
}

.testing-section .img-inner.active {
	opacity: 1;
}

.testing-section .img-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.testing-section .img-card.switching .img-inner.active {
	animation: testSwitch 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes testSwitch {
	from {
		transform: scale(1.08);
	}

	to {
		transform: scale(1);
	}
}

.testing-section .img-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(4, 42, 43, 0) 40%, rgba(4, 42, 43, 0.85) 100%);
}

.testing-section .caption-box {
	position: absolute;
	left: calc(40 * var(--px));
	right: calc(40 * var(--px));
	bottom: calc(40 * var(--px));
	display: grid;
}

.testing-section .caption {
	grid-area: 1 / 1;
	align-self: end;
	opacity: 0;
	transform: translateY(calc(20 * var(--px)));
	transition: opacity 0.5s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.testing-section .caption[hidden] {
	display: block;
	visibility: hidden;
}

.testing-section .caption.active {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
	transition-delay: 0.1s;
}

.testing-section .caption h3 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #FFFFFF;
	padding-bottom: calc(16 * var(--px));
}

.testing-section .caption p {
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	color: rgba(255, 255, 255, 0.9);
	max-width: calc(720 * var(--px));
}

/* Testing Section End */

/* Infrastructure Section Start */
.infrastructure-section {
	overflow: hidden;
}

.infrastructure-section .infrastructure-slider {
	overflow: visible;
}

.infrastructure-section .swiper-wrapper {
	align-items: center;
}

.infrastructure-section .swiper-slide {
	width: calc(500 * var(--px));
}

.infrastructure-section .swiper-wrapper {
	min-height: calc(600 * var(--px));
}

.infrastructure-section .img-box {
	height: calc(460 * var(--px));
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	transition: height 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.infrastructure-section .swiper-slide-prev .img-box,
.infrastructure-section .swiper-slide-next .img-box {
	height: calc(530 * var(--px));
}

.infrastructure-section .swiper-slide-active .img-box {
	height: calc(600 * var(--px));
}

.infrastructure-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Infrastructure Section End */

/* Careers Page Start */
.careers-overview .content-box .common-btn {
	margin-top: calc(10 * var(--px));
}

.grow-section .grow-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(30 * var(--px));
}

.grow-section .common-box {
	position: relative;
	aspect-ratio: 397 / 500;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: calc(20 * var(--px));
	padding: calc(30 * var(--px));
}

.grow-section .img-box {
	position: absolute;
	inset: 0;
	z-index: -2;
	overflow: hidden;
}

.grow-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.grow-section .common-box:hover .img-box img {
	transform: scale(1.06);
}

.grow-section .common-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.8) 100%);
}

.grow-section h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #FFFFFF;
}

.grow-section .common-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: rgba(255, 255, 255, 0.92);
}

.positions-section {
	background: #EBFFF4;
}

.positions-section .jobs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(30 * var(--px));
}

.positions-section .job-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(30 * var(--px));
	padding: calc(30 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
	transition: box-shadow 0.4s ease, border-color 0.4s ease;
}

.positions-section .job-box:hover {
	border-color: #BFD6C4;
	box-shadow: 0 calc(24 * var(--px)) calc(48 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.3);
}

.positions-section h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #297C47;
	padding-bottom: calc(16 * var(--px));
}

.positions-section .job-meta {
	display: flex;
	flex-wrap: wrap;
	gap: calc(10 * var(--px)) calc(24 * var(--px));
}

.positions-section .job-meta li {
	display: flex;
	align-items: center;
	gap: calc(8 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #5A5A5A;
}

.positions-section .job-meta svg {
	flex: none;
	color: #297C47;
}

.positions-section .job-box .common-btn {
	flex: none;
}

.culture-section .swiper-slide {
	width: calc(930 * var(--px));
}

.culture-section .swiper-wrapper {
	min-height: calc(640 * var(--px));
}

.culture-section .img-box {
	height: calc(440 * var(--px));
}

.culture-section .swiper-slide-prev .img-box,
.culture-section .swiper-slide-next .img-box {
	height: calc(520 * var(--px));
}

.culture-section .swiper-slide-active .img-box {
	height: calc(640 * var(--px));
}

.culture-section .img-box img.top-focus {
	object-position: 50% 18%;
}

/* heads near the top of the photo stay in the wide side frames */
.culture-section .img-box img[src*="life-at-praneetha-19"] {
	object-position: 50% 0%;
}

.positions-section h3 a,
.positions-section h3 a:focus {
	color: inherit;
}

.positions-section h3 a:hover {
	color: #BA512A;
}

/* Careers Page End */

/* Job Page Start */
.inner-banner-section div.banner-heading p {
	color: #FFFFFF;
}

.inner-banner-section div.banner-heading p.banner-title {
	padding-bottom: 0;
	text-align: left;
}

/* a heading in a <p>: never justified */
.inner-banner-section div.banner-heading p>div {
	text-align-last: auto;
}

/* its split lines too (main p lines are justified site-wide) */
.job-summary-section .job-card {
	padding: calc(40 * var(--px)) calc(50 * var(--px));
	border-radius: calc(20 * var(--px));
	background: #F5F5F5;
}

.job-summary-section .job-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(30 * var(--px));
	padding-bottom: calc(30 * var(--px));
	margin-bottom: calc(30 * var(--px));
	border-bottom: 1px solid #D7E0D4;
}

.job-summary-section h1 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #0C5A2E;
}

.job-summary-section .job-facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(30 * var(--px));
	margin: 0;
}

.job-summary-section dt {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	font-weight: 400;
	color: #5A5A5A;
	padding-bottom: calc(10 * var(--px));
}

.job-summary-section dd {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #327318;
	margin: 0;
}

.job-details-section .detail-group {
	padding: calc(50 * var(--px)) 0;
	border-bottom: 1px solid #D7E0D4;
}

.job-details-section .detail-group:first-child {
	padding-top: 0;
}

.job-details-section .detail-group:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.job-details-section h2 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(30 * var(--px));
}

.job-details-section .tick-list {
	display: flex;
	flex-direction: column;
	gap: calc(30 * var(--px));
}

.job-details-section .tick-list li {
	display: flex;
	align-items: center;
	gap: calc(20 * var(--px));
	font-size: calc(24 * var(--px));
	line-height: calc(34 * var(--px));
	color: #5A5A5A;
}

.job-details-section .tick-list img {
	flex: none;
	width: calc(50 * var(--px));
	height: auto;
}

.apply-section {
	background: #EBFFF4;
	scroll-margin-top: 0;
}

.apply-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(50 * var(--px));
}

.apply-section .apply-form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.apply-section .form-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: calc(30 * var(--px));
	padding-bottom: calc(40 * var(--px));
}

.apply-section .form-group {
	position: relative;
	grid-column: span 2;
	display: flex;
	flex-direction: column;
	gap: calc(10 * var(--px));
	min-width: 0;
	margin: 0;
	padding: 0;
	border: none;
}

.apply-section .form-group.half-width {
	grid-column: span 3;
}

.apply-section label,
.apply-section legend {
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #042A2B;
	padding: 0;
	margin: 0;
	float: none;
	width: auto;
}

.apply-section legend {
	padding-bottom: calc(10 * var(--px));
}

.apply-section .req {
	color: #BA512A;
}

.apply-section input[type="text"],
.apply-section input[type="email"],
.apply-section input[type="tel"] {
	width: 100%;
	font-family: inherit;
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #042A2B;
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
	border-radius: calc(10 * var(--px));
	padding: calc(18 * var(--px)) calc(20 * var(--px));
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.apply-section input[readonly] {
	color: #5A5A5A;
	background: #F7FBF8;
	cursor: default;
}

.apply-section input::placeholder {
	color: #5A5A5A;
}

.apply-section input:focus {
	outline: none;
	border-color: #0C5A2E;
	box-shadow: 0 0 0 calc(3 * var(--px)) rgba(138, 196, 66, 0.35);
}

.apply-section .radio-row {
	display: flex;
	align-items: center;
	gap: calc(40 * var(--px));
	min-height: calc(62 * var(--px));
}

.apply-section .radio-item {
	display: inline-flex;
	align-items: center;
	gap: calc(12 * var(--px));
	font-size: calc(18 * var(--px));
	cursor: pointer;
}

.apply-section .radio-item input {
	width: calc(22 * var(--px));
	height: calc(22 * var(--px));
	margin: 0;
	accent-color: #0C5A2E;
	cursor: pointer;
}

.apply-section input[type="file"] {
	width: 100%;
	font-family: inherit;
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(24 * var(--px));
	color: #5A5A5A;
	background: #FFFFFF;
	border: 1px solid #D7E0D4;
	border-radius: calc(10 * var(--px));
	padding: calc(12 * var(--px)) calc(14 * var(--px));
	cursor: pointer;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.apply-section input[type="file"]::file-selector-button {
	font-family: inherit;
	font-size: max(12px, calc(15 * var(--px)));
	color: #042A2B;
	background: #E6ECE8;
	border: none;
	border-radius: calc(6 * var(--px));
	padding: calc(8 * var(--px)) calc(16 * var(--px));
	margin-right: calc(14 * var(--px));
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}

.apply-section input[type="file"]::file-selector-button:hover {
	background: #0C5A2E;
	color: #FFFFFF;
}

.apply-section input[type="file"]:focus-visible {
	outline: none;
	border-color: #0C5A2E;
	box-shadow: 0 0 0 calc(3 * var(--px)) rgba(138, 196, 66, 0.35);
}

.apply-section .file-hint {
	position: absolute;
	right: calc(20 * var(--px));
	top: calc(65 * var(--px));
	transform: translateY(-50%);
	font-size: max(12px, calc(15 * var(--px)));
	line-height: calc(20 * var(--px));
	color: #5A5A5A;
	pointer-events: none;
}

.apply-section .has-error .file-hint {
	display: none;
}

.apply-section .has-error input {
	border-color: #BA512A;
}

.apply-section .has-error input::placeholder {
	color: #BA512A;
	opacity: 1;
}

.apply-section .has-error:not(.is-empty) input[type="text"],
.apply-section .has-error:not(.is-empty) input[type="email"],
.apply-section .has-error:not(.is-empty) input[type="tel"] {
	padding-right: calc(200 * var(--px));
}

.apply-section .error-text {
	position: absolute;
	right: calc(20 * var(--px));
	top: calc(65 * var(--px));
	transform: translateY(-50%);
	font-size: max(12px, calc(15 * var(--px)));
	line-height: calc(20 * var(--px));
	color: #BA512A;
	background: #FFFFFF;
	padding-left: calc(8 * var(--px));
	pointer-events: none;
}

.apply-section .radio-group .error-text {
	right: 0;
	top: calc(65 * var(--px));
	background: transparent;
}

.apply-section .error-text:empty,
.apply-section .is-empty .error-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.apply-section .radio-group.has-error .error-text {
	position: absolute;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
}

.apply-section .radio-group.has-error .radio-item {
	color: #BA512A;
}

.apply-section button.common-btn {
	border: none;
	cursor: pointer;
}

.apply-section .form-status {
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(24 * var(--px));
	color: #0C5A2E;
	padding-top: calc(16 * var(--px));
}

.apply-section .form-status:empty {
	display: none;
}

/* Job Page End */

/* Resources Page Start */
.resources-section .tab-bar {
	display: flex;
	width: fit-content;
	gap: calc(16 * var(--px));
	margin: 0 auto calc(50 * var(--px));
	padding: calc(10 * var(--px));
	border-radius: calc(10 * var(--px));
	background: #0C5A2E;
}

.resources-section .tab-btn {
	padding: calc(12 * var(--px)) calc(50 * var(--px));
	border: none;
	border-radius: calc(6 * var(--px));
	background: transparent;
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #FFFFFF;
	cursor: pointer;
	transition: background 0.35s ease, color 0.35s ease;
}

.resources-section .tab-btn:hover {
	background: rgba(255, 255, 255, 0.12);
}

.resources-section .tab-btn.active {
	background: #FFFFFF;
	color: #0C5A2E;
}

.resources-section .tab-btn:focus-visible {
	outline: 2px solid #8AC442;
	outline-offset: 2px;
}

.resources-section .panel-title {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(50 * var(--px));
}

.resources-section .posts-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(50 * var(--px));
}

.resources-section .post-box {
	display: grid;
	grid-template-columns: 330fr 485fr;
	gap: calc(30 * var(--px));
	align-items: center;
	position: relative;
}

.resources-section .post-box h3 a,
.resources-section .post-box h3 a:focus {
	color: inherit;
}

.resources-section .post-box h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: calc(20 * var(--px));
}

.resources-section .post-box h3 a:focus-visible {
	outline: none;
}

.resources-section .post-box:has(h3 a:focus-visible) {
	outline: 2px solid #BA522B;
	outline-offset: 8px;
	border-radius: calc(20 * var(--px));
}

.resources-section .resource-panel[hidden] {
	display: none;
}

.resources-section .post-box .img-box {
	aspect-ratio: 330 / 230;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
}

.resources-section .post-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.resources-section .post-box:hover .img-box img {
	transform: scale(1.06);
}

.resources-section .meta-row {
	display: flex;
	align-items: center;
	gap: calc(12 * var(--px));
	padding-bottom: calc(20 * var(--px));
}

.resources-section .tag {
	padding: calc(6 * var(--px)) calc(16 * var(--px));
	border-radius: calc(100 * var(--px));
	background: #0C5A2E;
	font-size: max(12px, calc(15 * var(--px)));
	line-height: calc(20 * var(--px));
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.resources-section .tag.is-press {
	background: #BA512A;
}

.resources-section .tag.is-update {
	background: #042A2B;
}

.resources-section time,
.resources-section .read-time {
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #042A2B;
}

.resources-section .post-box h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(38 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	transition: color 0.3s ease;
}

.resources-section .post-box:hover h3 {
	color: #BA512A;
}

.resources-section .empty-state {
	padding: calc(40 * var(--px)) 0 calc(20 * var(--px));
	font-size: calc(24 * var(--px));
	line-height: calc(34 * var(--px));
	color: #5A5A5A;
	text-align: center;
}

.resources-section .news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(30 * var(--px));
}

.resources-section .news-box {
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #EBFFF4;
	transition: box-shadow 0.4s ease;
}

.resources-section .news-box:hover {
	box-shadow: 0 calc(24 * var(--px)) calc(48 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.35);
}

.resources-section .news-box.is-hidden {
	display: none;
}

.resources-section .load-more-box {
	display: flex;
	justify-content: center;
	padding-top: calc(50 * var(--px));
}

.resources-section .load-more-btn {
	cursor: pointer;
}

.resources-section .load-more-btn svg {
	transform: rotate(90deg);
}

.resources-section .news-box.blog-box {
	background: #F5F5F5;
}

.resources-section .news-box .img-box {
	aspect-ratio: 540 / 270;
	border-radius: calc(20 * var(--px)) calc(20 * var(--px)) 0 0;
	overflow: hidden;
}

.resources-section .news-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.resources-section .news-box .img-box img.top-focus {
	object-position: 50% 0;
}

.resources-section .news-box .img-box img.speaker-focus {
	object-position: 50% 22%;
}

/* square social graphic: keep the people, leave out its caption band */
/* collages with a title at the top keep it in the wide frame */
.resources-section .news-box:hover .img-box img {
	transform: scale(1.06);
}

.resources-section .news-box .content-box {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: calc(24 * var(--px)) calc(24 * var(--px)) calc(30 * var(--px));
}

.resources-section .news-box .meta-row {
	width: 100%;
	justify-content: space-between;
}

.resources-section .news-box h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(16 * var(--px));
	transition: color 0.3s ease;
}

.resources-section .news-box:hover h3 {
	color: #BA512A;
}

.resources-section .news-box p {
	font-size: calc(18 * var(--px));
	line-height: calc(28 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(24 * var(--px));
}

.resources-section .read-more,
.resources-section .read-more:focus {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: calc(16 * var(--px));
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #297C47;
}

.resources-section .read-more::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: calc(20 * var(--px));
}

.resources-section .read-more svg {
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.resources-section .news-box:hover .read-more {
	color: #BA512A;
}

.resources-section .news-box:hover .read-more svg {
	transform: translateX(calc(6 * var(--px)));
}

.resources-section .read-more:focus-visible {
	outline: none;
}

.resources-section .news-box:has(.read-more:focus-visible) {
	outline: 2px solid #BA522B;
	outline-offset: 4px;
}

.resources-section .event-upcoming {
	display: grid;
	grid-template-columns: 600fr 1080fr;
	gap: calc(80 * var(--px));
	align-items: center;
}

.resources-section .event-upcoming .img-box {
	aspect-ratio: 600 / 550;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
}

.resources-section .event-upcoming .img-box.poster {
	aspect-ratio: 1080 / 1350;
}

/* event posters carry their own text, so they are shown whole, never cropped */
.resources-section .event-upcoming .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.resources-section .event-upcoming:hover .img-box img {
	transform: scale(1.05);
}

.resources-section .event-upcoming h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(40 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(24 * var(--px));
}

.resources-section .event-upcoming .content-box>p {
	font-size: calc(20 * var(--px));
	line-height: calc(34 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(50 * var(--px));
	margin-bottom: calc(50 * var(--px));
	border-bottom: 1px solid #D7E0D4;
}

.resources-section .event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: calc(24 * var(--px)) calc(50 * var(--px));
}

.resources-section .event-meta li {
	display: flex;
	align-items: center;
	gap: calc(14 * var(--px));
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #042A2B;
}

.resources-section .event-meta li.full {
	flex-basis: 100%;
}

.resources-section .event-meta svg {
	flex: none;
	width: calc(50 * var(--px));
	height: calc(50 * var(--px));
	color: #0C5A2E;
}

.resources-section .event-meta time {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.resources-section .past-title {
	padding-top: calc(100 * var(--px));
}

.resources-section .events-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(50 * var(--px));
}

.resources-section .event-box {
	display: flex;
	flex-direction: column;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #EBFFF4;
	transition: box-shadow 0.4s ease;
}

.resources-section .event-box:hover {
	box-shadow: 0 calc(24 * var(--px)) calc(48 * var(--px)) calc(-24 * var(--px)) rgba(12, 90, 46, 0.35);
}

.resources-section .event-box .img-box {
	aspect-ratio: 815 / 470;
	border-radius: calc(20 * var(--px)) calc(20 * var(--px)) 0 0;
	overflow: hidden;
}

.resources-section .event-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.resources-section .event-box:hover .img-box img {
	transform: scale(1.05);
}

.resources-section .event-box .content-box {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: calc(30 * var(--px));
}

.resources-section .event-box h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(40 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(24 * var(--px));
}

.resources-section .event-box .content-box>p {
	font-size: calc(18 * var(--px));
	line-height: calc(30 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(20 * var(--px));
}

.resources-section .event-box .content-box>p:last-of-type {
	padding-bottom: calc(30 * var(--px));
}

.resources-section .event-box .event-meta {
	margin-top: auto;
	justify-content: space-between;
	padding-top: calc(30 * var(--px));
	border-top: 1px solid #D7E0D4;
}

/* A lone past event runs full width: square photo beside its story (event photos carry their own caption strip, so never cropped) */
.resources-section .events-grid.single {
	grid-template-columns: 1fr;
}

.resources-section .events-grid.single .event-box {
	flex-direction: row;
}

.resources-section .events-grid.single .event-box .img-box {
	flex: 0 0 calc(600 * var(--px));
	aspect-ratio: 1 / 1;
	border-radius: calc(20 * var(--px)) 0 0 calc(20 * var(--px));
}

.resources-section .events-grid.single .event-box .content-box {
	justify-content: center;
	padding: calc(50 * var(--px)) calc(60 * var(--px));
}

.resources-section .events-grid.single .event-box .event-meta {
	margin-top: calc(10 * var(--px));
	justify-content: flex-start;
}

.newsletter-section {
	position: relative;
	aspect-ratio: 1920 / 564;
	overflow: hidden;
	isolation: isolate;
	display: flex;
	align-items: center;
}

.newsletter-section .img-box {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.newsletter-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
}

.newsletter-section .custom-container {
	position: relative;
}

.newsletter-section .content-box {
	max-width: calc(700 * var(--px));
}

.newsletter-section h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.4;
	font-weight: 600;
	text-transform: uppercase;
	padding-bottom: calc(20 * var(--px));
}

.newsletter-section .content-box>p {
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
}

.newsletter-section .subscribe-form,
.coming-soon-section .subscribe-form,
.coming-soon-section .notify-form {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.newsletter-section .subscribe-form {
	max-width: calc(700 * var(--px));
}

.coming-soon-section .subscribe-form,
.coming-soon-section .notify-form {
	max-width: calc(620 * var(--px));
}

/* Fallback if subscribe-input-group is absent */
.newsletter-section .subscribe-form:not(:has(.subscribe-input-group)),
.coming-soon-section .subscribe-form:not(:has(.subscribe-input-group)),
.coming-soon-section .notify-form:not(:has(.subscribe-input-group)),
.newsletter-section .subscribe-input-group,
.coming-soon-section .subscribe-input-group {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: calc(4 * var(--px)) calc(4 * var(--px)) calc(4 * var(--px)) 0;
	border-radius: calc(10 * var(--px));
	background: #0C5A2E;
	border: 2px solid #0C5A2E;
	transition: box-shadow 0.3s ease, border-color 0.3s ease;
	box-sizing: border-box;
}

.newsletter-section .subscribe-form:focus-within:not(:has(.subscribe-input-group)),
.coming-soon-section .subscribe-form:focus-within:not(:has(.subscribe-input-group)),
.coming-soon-section .notify-form:focus-within:not(:has(.subscribe-input-group)),
.newsletter-section .subscribe-input-group:focus-within,
.coming-soon-section .subscribe-input-group:focus-within {
	box-shadow: 0 0 0 calc(4 * var(--px)) rgba(138, 196, 66, 0.35);
}

.newsletter-section .subscribe-form.has-error:not(:has(.subscribe-input-group)),
.newsletter-section .subscribe-form.invalid:not(:has(.subscribe-input-group)),
.coming-soon-section .subscribe-form.has-error:not(:has(.subscribe-input-group)),
.coming-soon-section .subscribe-form.invalid:not(:has(.subscribe-input-group)),
.coming-soon-section .notify-form.has-error:not(:has(.subscribe-input-group)),
.coming-soon-section .notify-form.invalid:not(:has(.subscribe-input-group)),
.newsletter-section .subscribe-input-group.has-error,
.coming-soon-section .subscribe-input-group.has-error,
.newsletter-section .subscribe-form.has-error .subscribe-input-group,
.newsletter-section .subscribe-form.invalid .subscribe-input-group,
.coming-soon-section .subscribe-form.has-error .subscribe-input-group,
.coming-soon-section .subscribe-form.invalid .subscribe-input-group,
.coming-soon-section .notify-form.has-error .subscribe-input-group,
.coming-soon-section .notify-form.invalid .subscribe-input-group {
	border-color: #BA512A;
}

.newsletter-section .subscribe-form .wpcf7-form-control-wrap,
.coming-soon-section .subscribe-form .wpcf7-form-control-wrap,
.coming-soon-section .notify-form .wpcf7-form-control-wrap {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
}

.newsletter-section .subscribe-form input,
.coming-soon-section .subscribe-form input,
.coming-soon-section .notify-form input {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	padding: calc(14 * var(--px)) calc(20 * var(--px));
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: #FFFFFF;
	outline: none;
}

.newsletter-section .subscribe-form input::placeholder,
.coming-soon-section .subscribe-form input::placeholder,
.coming-soon-section .notify-form input::placeholder {
	color: rgba(255, 255, 255, 0.85);
}

.newsletter-section .subscribe-form input:focus,
.coming-soon-section .subscribe-form input:focus,
.coming-soon-section .notify-form input:focus {
	outline: none;
}

.newsletter-section .subscribe-btn,
.coming-soon-section .subscribe-btn,
.coming-soon-section .notify-form .subscribe-btn {
	flex: 0 0 auto;
	padding: calc(14 * var(--px)) calc(30 * var(--px));
	border: none;
	border-radius: calc(8 * var(--px));
	background: #FFFFFF;
	font-family: inherit;
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	font-weight: 500;
	color: #0C5A2E;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.3s ease, color 0.3s ease;
}

.newsletter-section .subscribe-btn:hover,
.coming-soon-section .subscribe-btn:hover,
.coming-soon-section .notify-form .subscribe-btn:hover {
	background: #8AC442;
	color: #042A2B;
}

.newsletter-section .subscribe-form fieldset.hidden-fields-container,
.coming-soon-section .subscribe-form fieldset.hidden-fields-container,
.coming-soon-section .notify-form fieldset.hidden-fields-container,
.newsletter-section .subscribe-form p.akismet-fields-container,
.coming-soon-section .subscribe-form p.akismet-fields-container,
.coming-soon-section .notify-form p.akismet-fields-container {
	display: none !important;
	margin: 0;
	padding: 0;
	border: none;
}

/* Field validation tip: in-flow below input group */
.newsletter-section .subscribe-form > .error-text,
.newsletter-section .subscribe-form > .wpcf7-not-valid-tip,
.coming-soon-section .subscribe-form > .error-text,
.coming-soon-section .subscribe-form > .wpcf7-not-valid-tip,
.coming-soon-section .notify-form > .error-text,
.coming-soon-section .notify-form > .wpcf7-not-valid-tip {
	position: static;
	display: block;
	margin-top: calc(8 * var(--px));
	font-size: max(12px, calc(15 * var(--px)));
	line-height: calc(20 * var(--px));
	font-weight: 500;
	color: #BA512A;
	text-align: left;
	white-space: normal;
	word-break: break-word;
	width: 100%;
}

/* Prevent duplicate / overlapping inner tips: only direct child tip is displayed */
.newsletter-section .subscribe-form .wpcf7-form-control-wrap > .wpcf7-not-valid-tip,
.coming-soon-section .subscribe-form .wpcf7-form-control-wrap > .wpcf7-not-valid-tip,
.coming-soon-section .notify-form .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
	display: none !important;
}

.newsletter-section .subscribe-form .error-text:empty,
.coming-soon-section .subscribe-form .error-text:empty,
.coming-soon-section .notify-form .error-text:empty {
	display: none;
}

.newsletter-section .subscribe-form.is-done .error-text,
.coming-soon-section .subscribe-form.is-done .error-text,
.coming-soon-section .notify-form.is-done .error-text {
	color: #0C5A2E;
}

/* CF7 Response Output Box */
.newsletter-section .wpcf7-response-output,
.coming-soon-section .wpcf7-response-output {
	position: static;
	width: 100%;
	margin: calc(12 * var(--px)) 0 0 0;
	padding: calc(10 * var(--px)) calc(16 * var(--px));
	border-radius: calc(8 * var(--px));
	font-size: max(12px, calc(15 * var(--px)));
	line-height: calc(22 * var(--px));
	text-align: left;
	box-sizing: border-box;
}

.newsletter-section .wpcf7-response-output:empty,
.coming-soon-section .wpcf7-response-output:empty,
.newsletter-section form.init .wpcf7-response-output,
.coming-soon-section form.init .wpcf7-response-output {
	display: none !important;
}

.newsletter-section form.invalid .wpcf7-response-output,
.coming-soon-section form.invalid .wpcf7-response-output,
.newsletter-section form.unaccepted .wpcf7-response-output,
.coming-soon-section form.unaccepted .wpcf7-response-output,
.newsletter-section .wpcf7-response-output.wpcf7-validation-errors,
.coming-soon-section .wpcf7-response-output.wpcf7-validation-errors,
.newsletter-section form.failed .wpcf7-response-output,
.coming-soon-section form.failed .wpcf7-response-output {
	display: block;
	background: #FFF5F2;
	border: 1px solid #BA512A !important;
	color: #BA512A;
}

.newsletter-section form.sent .wpcf7-response-output,
.coming-soon-section form.sent .wpcf7-response-output,
.newsletter-section .wpcf7-response-output.wpcf7-mail-sent-ok,
.coming-soon-section .wpcf7-response-output.wpcf7-mail-sent-ok {
	display: block;
	background: #EBFFF4;
	border: 1px solid #0C5A2E !important;
	color: #0C5A2E;
}

/* Resources Page End */

/* Blog Article Start */
.blog-article-section .article-box {
	max-width: calc(1320 * var(--px));
	margin: 0 auto;
}

.blog-article-section .meta-row {
	display: flex;
	align-items: center;
	gap: calc(24 * var(--px));
	padding-bottom: calc(30 * var(--px));
}

.blog-article-section .tag {
	padding: calc(6 * var(--px)) calc(20 * var(--px));
	border-radius: calc(100 * var(--px));
	background: #0C5A2E;
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.blog-article-section time {
	font-size: calc(20 * var(--px));
	line-height: calc(28 * var(--px));
	color: #042A2B;
}

.blog-article-section h1 {
	font-size: calc(48 * var(--px));
	line-height: 1.4;
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(50 * var(--px));
}

.blog-article-section .img-box {
	margin: 0;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
}

.blog-article-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-article-section .hero-img {
	aspect-ratio: 1320 / 700;
}

.blog-article-section .article-block {
	padding: calc(50 * var(--px)) 0;
	border-bottom: 1px solid #D7E0D4;
}

.blog-article-section .article-head+.article-block {
	padding-top: calc(70 * var(--px));
}

.blog-article-section .article-block:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.blog-article-section .article-block h2 {
	font-size: calc(30 * var(--px));
	line-height: calc(40 * var(--px));
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(30 * var(--px));
}

.blog-article-section .article-block p {
	font-size: calc(24 * var(--px));
	line-height: calc(38 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(30 * var(--px));
}

.blog-article-section .article-block p:last-child {
	padding-bottom: 0;
}

.blog-article-section .article-block .list-label {
	color: #8AC442;
	padding-bottom: calc(30 * var(--px));
}

.blog-article-section .wave-list {
	display: flex;
	flex-direction: column;
	gap: calc(30 * var(--px));
}

.blog-article-section .wave-list li {
	display: flex;
	align-items: center;
	gap: calc(20 * var(--px));
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #0C5A2E;
}

.blog-article-section .wave-list img {
	flex: none;
	width: calc(54 * var(--px));
	height: auto;
}

.blog-article-section .split-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(30 * var(--px));
	align-items: center;
}

.blog-article-section .split-block .img-box {
	aspect-ratio: 645 / 620;
}

.blog-article-section .img-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(30 * var(--px));
	padding-top: calc(50 * var(--px));
}

.blog-article-section .img-pair .img-box {
	aspect-ratio: 645 / 620;
}

.blog-article-section .wide-img {
	aspect-ratio: 1320 / 620;
	margin-top: calc(50 * var(--px));
}

.related-section {
	background: #F5F5F5;
}

.related-section .news-box.blog-box {
	background: #FFFFFF;
}

/* Blog Article End */

/* Policy Page Start */
.policy-section .policy-box {
	max-width: calc(1320 * var(--px));
	margin: 0 auto;
}

.policy-section p {
	font-size: calc(20 * var(--px));
	line-height: calc(34 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(20 * var(--px));
}

.policy-section p:last-child {
	padding-bottom: 0;
}

.policy-section a,
.policy-section a:focus {
	color: #297C47;
	text-decoration: underline;
	text-decoration-color: rgba(41, 124, 71, 0.35);
	text-underline-offset: 3px;
}

.policy-section a:hover {
	color: #BA512A;
	text-decoration-color: currentColor;
}

.policy-section strong {
	font-weight: 600;
	color: #042A2B;
}

.policy-section .updated {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	font-weight: 600;
	color: #0C5A2E;
	padding-bottom: calc(24 * var(--px));
}

.policy-section .policy-intro {
	padding-bottom: calc(50 * var(--px));
}

.policy-section .policy-intro.short-intro {
	padding-bottom: calc(26 * var(--px));
}

.policy-section .info-panel {
	padding: calc(40 * var(--px)) calc(50 * var(--px));
	border-radius: calc(20 * var(--px));
	background: linear-gradient(90deg, #EBFFF4 0%, #F4FFEC 100%);
	border: 1px solid #D7E0D4;
	font-style: normal;
}

.policy-section .info-panel .panel-title {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 500;
	color: #042A2B;
	padding-bottom: calc(20 * var(--px));
}

.policy-section .toc-box {
	margin-bottom: calc(20 * var(--px));
}

.policy-section .toc-box ol {
	columns: 2;
	column-gap: calc(50 * var(--px));
	list-style: decimal;
	padding-left: calc(28 * var(--px));
}

.policy-section .toc-box li {
	list-style: decimal;
	break-inside: avoid;
	padding: calc(6 * var(--px)) 0 calc(6 * var(--px)) calc(6 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: #0C5A2E;
}

.policy-section .toc-box li::marker {
	color: #297C47;
}

.policy-section .toc-box a,
.policy-section .toc-box a:focus {
	text-decoration: none;
}

.policy-section .toc-box a:hover {
	text-decoration: underline;
}

.policy-section .policy-block {
	padding: calc(50 * var(--px)) 0;
	border-top: 1px solid #D7E0D4;
}

.policy-section .policy-block:last-child {
	padding-bottom: 0;
}

.policy-section .policy-block h2 {
	font-size: calc(36 * var(--px));
	line-height: 1.3;
	font-weight: 400;
	color: #0C5A2E;
	padding-bottom: calc(24 * var(--px));
}

.policy-section .policy-block h2 .num {
	color: #0C5A2E;
}

.policy-section .policy-block h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	font-weight: 400;
	color: #297C47;
	padding: calc(10 * var(--px)) 0 calc(16 * var(--px));
}

.policy-section .policy-block h3:first-of-type {
	padding-top: 0;
}

.policy-section .dot-list {
	display: flex;
	flex-direction: column;
	gap: calc(14 * var(--px));
	padding-bottom: calc(24 * var(--px));
}

.policy-section .dot-list li {
	position: relative;
	padding-left: calc(26 * var(--px));
	font-size: calc(20 * var(--px));
	line-height: calc(32 * var(--px));
	color: #5A5A5A;
}

.policy-section .dot-list li::before {
	content: "";
	position: absolute;
	left: calc(4 * var(--px));
	top: calc(13 * var(--px));
	width: calc(8 * var(--px));
	height: calc(8 * var(--px));
	border-radius: 50%;
	background: #8AC442;
}

.policy-section .policy-block>.info-panel {
	margin: calc(10 * var(--px)) 0 calc(30 * var(--px));
}

.policy-section .policy-block>.info-panel p {
	color: #042A2B;
}

/* Policy Page End */

/* Purity Section Start */
.purity-section .purity-card {
	display: grid;
	grid-template-columns: 68fr 100fr;
	gap: 0;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	min-height: calc(620 * var(--px));
	background: #161616;
	box-shadow: 0 calc(40 * var(--px)) calc(80 * var(--px)) calc(-40 * var(--px)) rgba(122, 52, 20, 0.45);
}

.purity-section .left-box {
	background: #BA512A;
	display: flex;
	align-items: center;
	padding: 0 calc(80 * var(--px));
	position: relative;
	overflow: hidden;
}

.purity-section .left-box::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 76%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.14);
	transform: translate(50%, 50%);
}

.purity-section .left-box::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 53%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.1);
	transform: translate(50%, 50%);
}

.purity-section .left-box .content-box {
	position: relative;
	z-index: 1;
}

.purity-section .left-box h2 {
	font-size: calc(48 * var(--px));
	line-height: 1.2;
	color: #FFFFFF;
	font-weight: 400;
	padding-bottom: calc(24 * var(--px));
	text-wrap: balance;
}

.purity-section .left-box p {
	color: #FFFFFF;
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	padding-bottom: calc(40 * var(--px));
}

.purity-section .right-box {
	position: relative;
	overflow: hidden;
}

.purity-section .right-box .img-box {
	position: absolute;
	inset: 0;
}

.purity-section .right-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 50%;
}

.purity-section .points-box {
	position: absolute;
	right: calc(50 * var(--px));
	bottom: calc(50 * var(--px));
	background: rgba(40, 40, 40, 0.45);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: calc(12 * var(--px));
	padding: calc(26 * var(--px)) calc(30 * var(--px));
	display: flex;
	flex-direction: column;
	gap: calc(18 * var(--px));
}

.purity-section .points-box .box {
	display: flex;
	align-items: center;
	gap: calc(16 * var(--px));
}

.purity-section .points-box .box img {
	flex: none;
	width: calc(57 * var(--px));
	filter: brightness(0) invert(1);
}

/* white wave on the dark glass panel */
.purity-section .points-box .box span {
	color: #FFFFFF;
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
}

/* Purity Section End */

/* Responsibly Section Start */
.responsibly-section {
	background: #EBFFF4;
}

.responsibly-section .responsibly-grid {
	display: flex;
	gap: calc(50 * var(--px));
}

.responsibly-section .common-box {
	position: relative;
	display: block;
	flex: 1 1 0;
	min-width: 0;
	height: calc(650 * var(--px));
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	isolation: isolate;
	transition: flex-grow 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.responsibly-section .common-box.active {
	flex-grow: 2.2;
}

.responsibly-section .common-box .img-box {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: -1;
}

.responsibly-section .common-box .img-box img {
	width: 100%;
	height: 116%;
	object-fit: cover;
	transform: translateY(-8%);
}

.responsibly-section .common-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	transition: opacity 0.8s ease;
}

.responsibly-section .common-box.one::after {
	background: linear-gradient(to top right, rgba(12, 90, 46, 1) 0%, rgba(0, 0, 0, 0.66) 50%, rgba(0, 0, 0, 0.1) 100%);
}

.responsibly-section .common-box.two::after {
	background: linear-gradient(to top right, rgba(186, 81, 42, 1) 0%, rgba(0, 0, 0, 0.66) 50%, rgba(0, 0, 0, 0.1) 100%);
}

.responsibly-section .common-box .tag {
	position: absolute;
	top: calc(50 * var(--px));
	left: calc(50 * var(--px));
	font-size: calc(20 * var(--px));
	line-height: calc(28 * var(--px));
	color: #FFFFFF;
	padding: calc(16 * var(--px)) calc(32 * var(--px));
	border-radius: calc(100 * var(--px));
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.responsibly-section .common-box .content-box {
	position: absolute;
	left: calc(50 * var(--px));
	right: calc(50 * var(--px));
	bottom: calc(50 * var(--px));
}

.responsibly-section .common-box h3 {
	font-size: calc(30 * var(--px));
	line-height: 1.2;
	color: #FFFFFF;
	font-weight: 400;
	white-space: nowrap;
	transition: font-size 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.responsibly-section .common-box.active h3 {
	font-size: calc(48 * var(--px));
}

/* Responsibly Section End */

/* Cables Section Start */
/* Slider: vertical padding gives the lifted, tilted cards room for their shadow without clipping */
.cables-section .cables-slider {
	overflow: hidden;
	padding: calc(50 * var(--px)) 0;
	margin: calc(-50 * var(--px)) 0;
}

.cables-section .swiper-slide {
	height: auto;
	perspective: calc(900 * var(--px));
}

/* depth for the hover tilt, so the card itself only goes 3D while hovered */
/* Before Swiper starts, lay the slides out as they will end up, so the page height never jumps */
.cables-section .cables-slider:not(.swiper-initialized) .swiper-slide {
	width: calc((100% - calc(90 * var(--px))) / 4);
	margin-right: calc(30 * var(--px));
}

.cables-section .common-box {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 397 / 550;
	border-radius: calc(20 * var(--px));
	will-change: transform;
}

.cables-section .common-box .box-inner {
	position: absolute;
	inset: 0;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	background: #042A2B;
	isolation: isolate;
	clip-path: inset(0 round calc(20 * var(--px)));
}

.cables-section .common-box .img-box {
	position: absolute;
	inset: 0 0 0 0;
	z-index: -1;
	overflow: hidden;
}

.cables-section .common-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.cables-section .common-box .box-inner::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(4, 42, 43, 0) 40%, rgba(4, 42, 43, 0.75) 90%, #042A2B 100%);
}

.cables-section .common-box .content-box {
	position: absolute;
	left: calc(28 * var(--px));
	right: calc(28 * var(--px));
	bottom: calc(30 * var(--px));
}

.cables-section .common-box h3 {
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	color: #FFFFFF;
	font-weight: 400;
	padding-bottom: calc(16 * var(--px));
	margin-bottom: calc(16 * var(--px));
	border-bottom: 1px solid rgba(215, 224, 212, 0.5);
}

.cables-section .common-box .link-text {
	display: inline-flex;
	align-items: center;
	gap: calc(10 * var(--px));
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	color: rgba(255, 255, 255, 0.85);
	transition: color 0.3s ease, gap 0.3s ease;
}

.cables-section .common-box:hover .img-box img {
	transform: scale(1.08);
}

.cables-section .common-box .glare {
	position: absolute;
	left: 50%;
	top: 30%;
	width: 150%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.08) 35%, rgba(255, 255, 255, 0) 65%);
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.5s ease;
	pointer-events: none;
	mix-blend-mode: soft-light;
}

.cables-section .common-box:hover .glare {
	opacity: 1;
}

.cables-section .common-box:hover .link-text {
	color: #8AC442;
	gap: calc(16 * var(--px));
}

/* Cables Section End */

/* Dealer Section Start */
.dealer-section {
	position: relative;
	overflow: hidden;
	background: radial-gradient(ellipse 50% 60% at 95% 5%, rgba(196, 222, 238, 0.9) 0%, rgba(196, 222, 238, 0) 70%), radial-gradient(ellipse 60% 50% at 70% 110%, rgba(250, 210, 170, 0.8) 0%, rgba(250, 210, 170, 0) 70%), linear-gradient(180deg, #F5F7F4 0%, #FAF1E8 100%);
}

.dealer-section .swoosh-box {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 22%;
	pointer-events: none;
	opacity: 0.55;
}

.dealer-section .swoosh-box svg {
	width: 100%;
	height: 100%;
}

.dealer-section .dot-circle {
	position: absolute;
	top: calc(48 * var(--px));
	left: calc(70 * var(--px));
	width: calc(56 * var(--px));
	height: calc(56 * var(--px));
	border-radius: 50%;
	background: rgba(166, 186, 140, 0.35);
}

.dealer-section .custom-container {
	position: relative;
	z-index: 1;
}

.dealer-section .main-grid-box-2 {
	grid-template-columns: max-content 1fr;
	align-items: center;
	gap: calc(60 * var(--px));
}

.dealer-section .features-box {
	display: flex;
	align-items: stretch;
	margin-bottom: calc(50 * var(--px));
}

.dealer-section .features-box .box {
	flex: 0 1 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 calc(50 * var(--px));
	border-left: 1px solid rgba(186, 81, 42, 0.2);
}

.dealer-section .features-box .box:first-child {
	padding-left: 0;
	border-left: none;
}

.dealer-section .features-box .box:last-child {
	padding-right: 0;
}

.dealer-section .features-box .icon-box {
	width: calc(80 * var(--px));
	height: calc(80 * var(--px));
	border-radius: calc(10 * var(--px));
	background: #FFE7DE;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: calc(20 * var(--px));
}

.dealer-section .features-box h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #BA512A;
	font-weight: 400;
	white-space: nowrap;
}

.dealer-section .dealer-form {
	position: relative;
	display: flex;
	align-items: center;
	gap: calc(14 * var(--px));
	background: #0C5A2E;
	border-radius: calc(10 * var(--px));
	padding: calc(8 * var(--px)) calc(8 * var(--px)) calc(8 * var(--px)) calc(22 * var(--px));
	box-shadow: 0 calc(20 * var(--px)) calc(40 * var(--px)) calc(-20 * var(--px)) rgba(12, 90, 46, 0.6);
}

.dealer-section .dealer-form .input-icon {
	display: flex;
	flex: none;
}

.dealer-section .dealer-form input {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: none;
	color: #FFFFFF;
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	padding: calc(14 * var(--px)) 0;
	font-family: inherit;
}

.dealer-section .dealer-form input::placeholder {
	color: rgba(255, 255, 255, 0.72);
}

.dealer-section .dealer-form input:focus {
	outline: none;
}

.dealer-section .dealer-form:focus-within {
	box-shadow: 0 0 0 calc(3 * var(--px)) rgba(138, 196, 66, 0.45), 0 calc(20 * var(--px)) calc(40 * var(--px)) calc(-20 * var(--px)) rgba(12, 90, 46, 0.6);
}

.dealer-section .dealer-form button {
	display: inline-flex;
	align-items: center;
	gap: calc(10 * var(--px));
	flex: none;
	background: #FFFFFF;
	border: none;
	border-radius: calc(7 * var(--px));
	padding: calc(14 * var(--px)) calc(28 * var(--px));
	font-size: calc(20 * var(--px));
	line-height: calc(26 * var(--px));
	color: #0C5A2E;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}

.dealer-section .dealer-form button:hover {
	background: #F4FBF1;
	color: #BA512A;
}

.dealer-section .dealer-form .form-message {
	position: absolute;
	left: 0;
	top: calc(100% + calc(12 * var(--px)));
	font-size: max(12px, calc(14 * var(--px)));
	line-height: calc(20 * var(--px));
	color: #BA522B;
	padding: 0;
}

.dealer-section .dealer-form.error {
	animation: formShake 0.4s ease;
}

@keyframes formShake {

	0%,
	100% {
		transform: translateX(0);
	}

	25% {
		transform: translateX(calc(-6 * var(--px)));
	}

	75% {
		transform: translateX(calc(6 * var(--px)));
	}
}

.dealer-section .map-box {
	position: relative;
	margin-right: calc(-120 * var(--px));
}

.world-map-img {
	width: 100%;
	height: auto;
	opacity: 0.9;
}

/* Home dealer map: India, sized by height so the whole country fits beside the copy */
.dealer-section .map-box.india-box {
	width: calc(600 * var(--px));
	max-width: 100%;
	margin: 0 calc(40 * var(--px)) 0 auto;
}

.world-map.india-map .arc {
	stroke-width: 2.2;
}

.map-box .world-map {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.world-map .arc {
	fill: none;
	stroke-width: 1.8;
	stroke-dasharray: 6 6;
	stroke-linecap: round;
	animation: arcFlow 1.6s linear infinite;
}

.world-map .green-arc {
	stroke: #0C5A2E;
}

.world-map .copper-arc {
	stroke: #BA512A;
}

@keyframes arcFlow {
	to {
		stroke-dashoffset: -24;
	}
}

.world-map .green-pin path {
	fill: #0C5A2E;
}

.world-map .copper-pin path {
	fill: #BA512A;
}

.world-map .hub-pin path {
	fill: #0C5A2E;
}

.world-map .pin {
	filter: drop-shadow(0 4px 4px rgba(4, 42, 43, 0.25));
}

/* State pins: hover shows the state name in a small label above the pin */
.world-map .pin-spot {
	cursor: pointer;
}

.world-map .pin-spot .pin {
	transition: filter 0.3s ease;
}

.world-map .pin-spot:hover .pin {
	filter: drop-shadow(0 6px 8px rgba(4, 42, 43, 0.4)) brightness(1.12);
}

.map-box .map-tooltip {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	padding: calc(7 * var(--px)) calc(14 * var(--px));
	border-radius: calc(6 * var(--px));
	background: #0C5A2E;
	color: #FFFFFF;
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(20 * var(--px));
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transform: translate(-50%, calc(-100% - calc(12 * var(--px)))) translateY(calc(6 * var(--px)));
	transition: opacity 0.25s ease, transform 0.25s ease;
	box-shadow: 0 calc(10 * var(--px)) calc(24 * var(--px)) calc(-12 * var(--px)) rgba(4, 42, 43, 0.6);
}

.map-box .map-tooltip::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	margin-left: calc(-6 * var(--px));
	border: 6px solid transparent;
	border-top-color: #0C5A2E;
}

.map-box .map-tooltip.is-visible {
	opacity: 1;
	transform: translate(-50%, calc(-100% - calc(12 * var(--px))));
}

.world-map .hub-shadow {
	fill: rgba(12, 90, 46, 0.35);
}

.world-map .hub-pulse {
	fill: none;
	stroke: #0C5A2E;
	stroke-width: 1.5;
	transform-box: fill-box;
	transform-origin: center;
	animation: hubPulse 2.4s ease-out infinite;
}

@keyframes hubPulse {
	0% {
		transform: scale(0.4);
		opacity: 0.9;
	}

	100% {
		transform: scale(3.2);
		opacity: 0;
	}
}

/* Dealer Section End */

/* Industries Section Start */
.industries-section {
	background: #EBFFF4;
	overflow: hidden;
}

.industries-section .title-box {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: calc(60 * var(--px));
}

.industries-section .industries-progress {
	flex: 0 1 28%;
	height: calc(3 * var(--px));
	margin-bottom: calc(18 * var(--px));
	border-radius: calc(3 * var(--px));
	background: rgba(12, 90, 46, 0.14);
	overflow: hidden;
}

.industries-section .industries-progress span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #0C5A2E 0%, #BA512A 100%);
	transform: scaleX(0);
	transform-origin: left;
}

.industries-section .industries-track-wrap {
	padding-left: calc(120 * var(--px));
}

.industries-section .industries-track {
	display: flex;
	gap: calc(50 * var(--px));
	width: max-content;
	padding-right: calc(120 * var(--px));
	will-change: transform;
}

/* Cards are sized by height so the pinned row always fits the screen under its title (500x600 on a full-height 1920 screen) */
.industries-section .common-box {
	position: relative;
	display: block;
	height: clamp(calc(360 * var(--px)), calc(100vh - calc(350 * var(--px))), calc(600 * var(--px)));
	aspect-ratio: 5 / 6;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	flex: none;
	isolation: isolate;
	transition: none;
}

.industries-section .common-box .img-box {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: -1;
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.industries-section .common-box img {
	position: absolute;
	top: 0;
	left: -8%;
	width: 116%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

.industries-section .common-box::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.35) 100%);
}

.industries-section .common-box .label {
	position: absolute;
	left: calc(30 * var(--px));
	right: calc(30 * var(--px));
	bottom: calc(30 * var(--px));
	background: #FFFFFF;
	border-radius: calc(10 * var(--px));
	padding: calc(20 * var(--px));
	text-align: center;
	font-size: calc(30 * var(--px));
	line-height: calc(38 * var(--px));
	color: #BA512A;
	transition: background 0.4s ease, color 0.4s ease;
}

.industries-section .common-box:hover .img-box {
	transform: scale(1.06);
}

.industries-section .common-box:hover .label {
	background: #0C5A2E;
	color: #FFFFFF;
}

/* Industries Section End */

/* Standard Section Start */
.standard-section {
	position: relative;
	overflow: hidden;
	background: #FFFFFF url('../images/praneetha-standard-bg.webp') center / cover no-repeat;
}

.standard-section .custom-container {
	position: relative;
	z-index: 1;
}

.standard-section .main-grid-box-2 {
	grid-template-columns: max-content 1fr;
	align-items: center;
	gap: calc(80 * var(--px));
}

.standard-section .small-title-box {
	display: flex;
	align-items: center;
	gap: calc(14 * var(--px));
	padding-bottom: calc(40 * var(--px));
}

.standard-section .small-title-box .eyebrow-line {
	width: calc(40 * var(--px));
	height: 1px;
	background: #BA512A;
	transform-origin: left;
}

.standard-section .small-title-box .eyebrow-text {
	font-size: calc(20 * var(--px));
	line-height: calc(28 * var(--px));
	font-weight: 400;
	color: #042A2B;
	letter-spacing: 0.02em;
	padding: 0;
}

.standard-section .standard-title {
	font-size: calc(150 * var(--px));
	line-height: 1;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: -0.02em;
}

.standard-section .word {
	display: block;
	width: max-content;
	color: transparent;
	background-image: linear-gradient(90deg, currentColor 0%, currentColor 50%, transparent 50%, transparent 100%);
	background-size: 200% 100%;
	background-position: 0% 0;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-stroke: 1.5px currentColor;
}

.standard-section .pure-word {
	color: #0C5A2E;
	-webkit-text-fill-color: transparent;
}

.standard-section .precise-word {
	color: #7A1218;
	-webkit-text-fill-color: transparent;
}

.standard-section .powerful-word {
	color: #BA512A;
	-webkit-text-fill-color: transparent;
}

.standard-section .right-box .img-box {
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	height: calc(700 * var(--px));
	box-shadow: 0 calc(40 * var(--px)) calc(80 * var(--px)) calc(-40 * var(--px)) rgba(4, 42, 43, 0.4);
}

.standard-section .right-box .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

/* Standard Section End */

/* Partner Section Start */
.partner-section {
	position: relative;
	overflow: hidden;
	background: #EEF6EE;
	aspect-ratio: 1920 / 564;
	display: flex;
	align-items: center;
}

.partner-section>.img-box {
	position: absolute;
	inset: -5% 0;
}

.partner-section>.img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 100% 50%;
}

.partner-section .custom-container {
	position: relative;
	z-index: 1;
}

.partner-section .content-box {
	width: max-content;
}

.partner-section .title-box {
	margin-bottom: calc(24 * var(--px));
}

.partner-section .content-box p {
	font-size: calc(24 * var(--px));
	line-height: calc(36 * var(--px));
	padding-bottom: calc(40 * var(--px));
	white-space: nowrap;
}

/* Partner Section End */

/* Footer Start */
footer {
	position: relative;
	overflow: hidden;
	background: #0B3A22 url('../images/footer-bg.webp') center / cover no-repeat;
	padding: calc(80 * var(--px)) 0 0;
}

footer .footer-box {
	display: grid;
	grid-template-columns: max-content 1fr max-content;
	gap: calc(80 * var(--px));
	padding-bottom: calc(80 * var(--px));
}

footer .footer-logo-box img {
	height: calc(80 * var(--px));
	width: auto;
	max-width: none;
}

footer .social-icon ul {
	display: flex;
	gap: calc(24 * var(--px));
	padding-top: calc(40 * var(--px));
}

footer .social-icon ul li a,
footer .social-icon ul li a:focus {
	width: calc(50 * var(--px));
	height: calc(50 * var(--px));
	border-radius: 50%;
	background: #8AC442;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}

footer .social-icon ul li a:hover {
	background: #FFFFFF;
	color: #0C5A2E;
	transform: translateY(calc(-4 * var(--px)));
	box-shadow: 0 calc(10 * var(--px)) calc(24 * var(--px)) rgba(0, 0, 0, 0.25);
}

footer h3 {
	font-size: calc(24 * var(--px));
	line-height: calc(32 * var(--px));
	color: #8AC442;
	font-weight: 400;
	padding-bottom: calc(20 * var(--px));
}

footer .company-name {
	font-size: calc(20 * var(--px));
	line-height: calc(30 * var(--px));
	color: #FFFFFF;
	font-weight: 600;
	padding-bottom: calc(6 * var(--px));
}

footer p,
footer ul li a,
footer ul li a:focus {
	font-size: calc(20 * var(--px));
	line-height: calc(30 * var(--px));
	color: rgba(255, 255, 255, 0.85);
}

footer ul li a:hover {
	color: #8AC442;
}

footer .contact-us-box ul li {
	padding-bottom: calc(10 * var(--px));
}

footer .contact-us-box {
	padding-bottom: calc(30 * var(--px));
}

footer .address-box p {
	max-width: none;
}

footer .footer-menu ul li {
	padding-bottom: calc(14 * var(--px));
}

footer .footer-list-menu {
	display: none;
}

footer .bottom-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: calc(30 * var(--px));
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding: calc(20 * var(--px)) 0;
}

footer .bottom-footer .left-box {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

footer .bottom-footer p,
footer .bottom-footer ul li a {
	font-size: calc(18 * var(--px));
	line-height: calc(26 * var(--px));
	color: rgba(255, 255, 255, 0.72);
}

footer .bottom-footer ul {
	display: flex;
}

footer .bottom-footer ul li {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0 calc(18 * var(--px));
}

footer .bottom-footer .left-box p {
	padding: 0 calc(18 * var(--px)) 0 0;
}

footer .pixielit-badge {
	background: #8AC442;
	border-radius: calc(6 * var(--px));
	padding: calc(6 * var(--px)) calc(10 * var(--px));
	display: block;
	transition: background 0.35s ease, box-shadow 0.35s ease;
}

footer .pixielit-badge img {
	width: calc(84 * var(--px));
	height: auto;
	transition: filter 0.35s ease;
}

footer .pixielit-badge:hover {
	background: #FFFFFF;
	box-shadow: 0 calc(10 * var(--px)) calc(24 * var(--px)) rgba(0, 0, 0, 0.25);
}

footer .pixielit-badge:hover img {
	filter: brightness(0) saturate(100%) invert(24%) sepia(35%) saturate(1500%) hue-rotate(110deg) brightness(92%) contrast(95%);
}

/* Back To Top: shows after the first screen; the copper ring fills as the page scrolls */
.back-to-top {
	position: fixed;
	right: max(20px, calc(24 * var(--px)));
	bottom: max(90px, calc(96 * var(--px)));
	z-index: 990;
	width: calc(64 * var(--px));
	height: calc(64 * var(--px));
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #FFFFFF;
	color: #0C5A2E;
	box-shadow: 0 calc(14 * var(--px)) calc(30 * var(--px)) calc(-12 * var(--px)) rgba(4, 42, 43, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(calc(24 * var(--px))) scale(0.85);
	transition: opacity 0.45s ease, visibility 0.45s, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s ease, color 0.35s ease;
}

.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

html.menu-locked .back-to-top {
	opacity: 0;
	visibility: hidden;
}

.back-to-top .progress-ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
	pointer-events: none;
}

.back-to-top .ring-track {
	fill: none;
	stroke: rgba(12, 90, 46, 0.12);
	stroke-width: 2.5;
}

.back-to-top .ring-bar {
	fill: none;
	stroke: #BA512A;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
}

.back-to-top .arrow-box {
	position: relative;
	width: calc(18 * var(--px));
	height: calc(20 * var(--px));
	overflow: hidden;
}

.back-to-top .arrow {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.back-to-top .arrow+.arrow {
	transform: translateY(150%);
}

@media (hover: hover) {
	.back-to-top:hover {
		background: #0C5A2E;
		color: #FFFFFF;
	}

	.back-to-top:hover .ring-track {
		stroke: rgba(255, 255, 255, 0.2);
	}

	.back-to-top:hover .arrow {
		transform: translateY(-150%);
	}

	/* the arrow flies up and a new one rises in */
	.back-to-top:hover .arrow+.arrow {
		transform: translateY(0);
	}
}

/* Footer End */

/* Coming Soon Page Start */
.coming-soon-section .coming-grid {
	display: grid;
	grid-template-columns: minmax(0, 900fr) minmax(0, 680fr);
	gap: calc(100 * var(--px));
	align-items: center;
}

.coming-soon-section .soon-badge {
	display: inline-flex;
	text-align: left;
	white-space: nowrap;
	align-items: center;
	gap: calc(12 * var(--px));
	padding: calc(8 * var(--px)) calc(20 * var(--px)) calc(8 * var(--px)) calc(14 * var(--px));
	margin-bottom: calc(30 * var(--px));
	border-radius: 100px;
	background: #EBFFF4;
	border: 1px solid #D7E0D4;
	font-size: calc(18 * var(--px));
	line-height: calc(24 * var(--px));
	font-weight: 500;
	color: #0C5A2E;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.coming-soon-section .soon-badge .pulse {
	position: relative;
	width: calc(10 * var(--px));
	height: calc(10 * var(--px));
	border-radius: 50%;
	background: #BA512A;
}

.coming-soon-section .soon-badge .pulse::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: #BA512A;
	animation: soonPulse 1.8s ease-out infinite;
}

@keyframes soonPulse {
	from {
		transform: scale(1);
		opacity: 0.7;
	}

	to {
		transform: scale(3);
		opacity: 0;
	}
}

.coming-soon-section .title-box {
	margin-bottom: calc(30 * var(--px));
}

.coming-soon-section .content-box>p:not(.soon-badge) {
	font-size: calc(22 * var(--px));
	line-height: calc(36 * var(--px));
	color: #5A5A5A;
	padding-bottom: calc(18 * var(--px));
	max-width: calc(760 * var(--px));
}

.coming-soon-section .notify-form {
	max-width: calc(620 * var(--px));
	margin-top: calc(16 * var(--px));
}

.coming-soon-section .content-box>p.form-note {
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(22 * var(--px));
	padding: calc(16 * var(--px)) 0 calc(36 * var(--px));
	text-align: left;
}

.coming-soon-section .btn-box {
	display: flex;
	flex-wrap: wrap;
	gap: calc(20 * var(--px));
}

.coming-soon-section .visual-box {
	position: relative;
}

.coming-soon-section .img-box {
	aspect-ratio: 4 / 5;
	border-radius: calc(20 * var(--px));
	overflow: hidden;
	box-shadow: 0 calc(40 * var(--px)) calc(80 * var(--px)) calc(-40 * var(--px)) rgba(4, 42, 43, 0.4);
}

.coming-soon-section .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coming-soon-section .launch-card {
	position: absolute;
	left: calc(-50 * var(--px));
	bottom: calc(50 * var(--px));
	display: flex;
	align-items: center;
	gap: calc(16 * var(--px));
	padding: calc(18 * var(--px)) calc(26 * var(--px)) calc(18 * var(--px)) calc(18 * var(--px));
	border-radius: calc(16 * var(--px));
	background: #FFFFFF;
	box-shadow: 0 calc(24 * var(--px)) calc(48 * var(--px)) calc(-20 * var(--px)) rgba(4, 42, 43, 0.35);
}

.coming-soon-section .launch-card .icon {
	width: calc(56 * var(--px));
	height: calc(56 * var(--px));
	flex: none;
	border-radius: calc(12 * var(--px));
	background: #EBFFF4;
	display: flex;
	align-items: center;
	justify-content: center;
}

.coming-soon-section .launch-card .text {
	display: flex;
	flex-direction: column;
	font-size: max(12px, calc(16 * var(--px)));
	line-height: calc(22 * var(--px));
	color: #5A5A5A;
}

.coming-soon-section .launch-card strong {
	font-size: calc(20 * var(--px));
	line-height: calc(28 * var(--px));
	font-weight: 500;
	color: #0C5A2E;
}

.world-map .pin-spot,
.world-map .pin-spot:focus {
	outline: none;
}

.world-map .pin-spot:focus-visible .pin {
	filter: drop-shadow(0 0 3px #BA512A) drop-shadow(0 0 6px rgba(186, 81, 42, 0.6)) brightness(1.12);
}

/* Coming Soon Page End */

/* Animations deliberately run for every visitor, including OS reduced-motion settings (client decision, 2026-10-07) */
.wpcf7 form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.wpcf7 form input:not([type="submit"]),
.wpcf7 form textarea,
.wpcf7 form select {
	width: 100%;
	box-sizing: border-box;
}

.wpcf7 form p {
	margin-bottom: 15px;
}

.world-map .pin-spot,
.world-map .pin-spot:focus {
	outline: none;
}

.world-map .pin-spot:focus-visible .pin {
	filter: drop-shadow(0 0 3px #BA512A) drop-shadow(0 0 6px rgba(186, 81, 42, 0.6)) brightness(1.12);
}

.world-map .pin-spot:focus:not(:focus-visible) {
	outline: none;
}

.world-map .pin-spot:focus-visible {
	outline: 2px solid #0C5A2E;
	outline-offset: 4px;
}

.world-map .pin-spot.is-selected {
	opacity: 1 !important;
}

.world-map .pin-spot.is-selected .pin {
	filter: drop-shadow(0 6px 12px rgba(12, 90, 46, 0.6)) brightness(1.18);
}

.world-map .pin-spot.is-dimmed {
	opacity: 0.35;
}

.world-map .pin-hit-area {
	cursor: pointer;
	pointer-events: all;
	fill: transparent;
}

.world-map .hub-shadow,
.world-map .hub-pulse {
	pointer-events: none;
}

/* 404 Error & Thank You Section Start */
.error-404-section,
.thankyou-section {
	position: relative;
	background: #FFFFFF;
	padding: calc(90 * var(--px)) 0 calc(110 * var(--px));
	overflow: hidden;
}

.error-404-content-wrap,
.thankyou-content-wrap {
	max-width: calc(880 * var(--px));
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

/* 404 Number Badge Graphic */
.error-badge-graphic {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: calc(34 * var(--px));
}

.error-number-graphic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: calc(20 * var(--px));
}

.error-number-graphic .num-digit {
	font-family: "Albert Sans", sans-serif;
	font-size: calc(130 * var(--px));
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.error-number-graphic .green-digit {
	color: #0C5A2E;
}

.error-number-graphic .copper-digit {
	color: #BA512A;
}

.error-number-graphic .zero-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(110 * var(--px));
	height: calc(110 * var(--px));
	flex: none;
}

.error-number-graphic .zero-circle svg {
	width: 100%;
	height: 100%;
	display: block;
}

.error-number-graphic .zero-circle svg circle:first-child {
	animation: zeroRingSpin 10s linear infinite;
	transform-origin: center;
}

@keyframes zeroRingSpin {
	to { stroke-dashoffset: -48; }
}

/* Thank You Badge Graphic */
.thankyou-badge-graphic {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: calc(34 * var(--px));
}

.thankyou-badge-graphic img {
	width: calc(120 * var(--px));
	height: calc(120 * var(--px));
	object-fit: contain;
	display: block;
	margin: 0 auto;
	filter: drop-shadow(0 calc(12 * var(--px)) calc(28 * var(--px)) rgba(12, 90, 46, 0.16));
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.thankyou-badge-graphic img:hover {
	transform: scale(1.06);
}

/* Title Box & Headings */
.error-404-section .title-box,
.thankyou-section .title-box {
	margin-bottom: calc(36 * var(--px));
	text-align: center;
	width: 100%;
}

.error-404-section .title-box h2,
.thankyou-section .title-box h2 {
	font-family: "Albert Sans", sans-serif;
	font-size: calc(64 * var(--px));
	line-height: 1.15;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	margin: 0 0 calc(20 * var(--px));
	padding: 0;
	text-align: center;
	display: block;
}

.error-404-section .title-box h2 span,
.thankyou-section .title-box h2 span {
	display: inline;
}

.error-404-section .error-description,
.thankyou-section .thankyou-description {
	font-family: "Albert Sans", sans-serif;
	font-size: calc(20 * var(--px));
	line-height: calc(30 * var(--px));
	color: #4A5568;
	max-width: calc(760 * var(--px));
	margin: 0 auto;
	text-align: center;
	font-weight: 400;
}

.error-404-section .error-description p,
.thankyou-section .thankyou-description p {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	margin: 0;
	padding: 0;
	text-align: center;
}

/* Button Groups */
.error-btn-group,
.thankyou-btn-group {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(20 * var(--px));
	flex-wrap: wrap;
	margin-top: calc(8 * var(--px));
	width: 100%;
}

.error-btn-group .common-btn,
.thankyou-btn-group .common-btn {
	min-width: calc(200 * var(--px));
	justify-content: center;
}
/* 404 Error & Thank You Section End */