/* ─────────────────────────────────────────
    Helvetica Neue LT Std Fonts Declaration
───────────────────────────────────────── */

@font-face {
	font-family: "HelveticaNeueLTStd-Bold";
	src: url("./fonts/HelveticaNeueLTStd-Bd.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "HelveticaNeueLTStd-Light";
	src: url("./fonts/HelveticaNeueLTStd-Lt.otf") format("opentype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "HelveticaNeueLTStd-Roman";
	src: url("./fonts/HelveticaNeueLTStd-Roman.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "HelveticaNeueLTStd-Medium";
	src: url("./fonts/HelveticaNeueLTStd-Medium.otf") format("opentype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Font Variables */
	--font-bold: "HelveticaNeueLTStd-Bold", sans-serif;
	--font-light: "HelveticaNeueLTStd-Light", sans-serif;
	--font-roman: "HelveticaNeueLTStd-Roman", sans-serif;
	--font-medium: "HelveticaNeueLTStd-Medium", sans-serif;

	/* Brand colours (from existing CSS) */
	--white: #FFFFFF;
	--black: #000000;
	--ver-light-gray: #E5E6EB;
	--gray: #707070;
	--dark-gray: #636466;
	--teal-blue: #1B439A;
	--teal-dark-blue: #003F96;
	--dark-blue: #102181;
}

html {
	scroll-behavior: smooth;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
sup{    vertical-align: super;
    font-size: smaller; }
    
    
.key-features-section .featured-cards-wrapper .card .card-content .card-heading sup{
    vertical-align: super;
    font-size: 13px;}
    
.enquire-floating-btn a {
    display: inline-block;
    padding: 12px 22px;
    background: #003087;
    color: #fff;
    border-radius: 0px;
    text-align:center;
    width:100%;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(0, 48, 135, 0.35);
    cursor: pointer;
    transition: background 0.2s;
    font-family: "HelveticaNeueLTStd-Bold";
}
.enquire-floating-btn a:hover { background: #0047c8; }

.max-width-container {
	max-width: 1440px;
	margin: 0 auto;
}

.button-default {
	background-color: var(--black);
	color: var(--white);
	padding: 12px 24px;
	box-sizing: border-box;
	border: none;
	cursor: pointer;
	position: relative;
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: baseline;
}

.button-default:hover {
	background-color: var(--ver-light-gray);
	color: var(--black);
}

.button-default.enquire-now {
	background-color: var(--teal-blue);
	color: white;
	padding: 10px 20px 5px;
	transition: all 0.3s ease-out;
	font-family: var(--font-bold);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	border-radius: 21px;
	text-align: left;
	vertical-align: middle;
}

.button-default.enquire-now:hover {
	background-color: #ECFFFD;
	color: #003F96;
	/* outline: 1px solid #003F96; */
}

/* ======== Hero Section Styles ====== */

.hero-section {
	position: relative;
	width: 100%;
	height: auto;
}

.hero-section .wrapper .banner {
	position: relative;
	z-index: 0;
}

.hero-section .wrapper .banner .banner-image {
	width: 100%;
	height: auto;
	/* height: 620px; */
	display: block;
	object-fit: cover;
	aspect-ratio: 1403/570;
	object-position: 9%;
}

@media screen and (max-width: 767px) {
	.hero-section .wrapper .banner .banner-image {
		aspect-ratio: 1625/2878;
		object-fit: contain;
	}
}

@media screen and (min-width: 768px) {
	.hero-section .wrapper .banner .banner-image {
		height: 700px;
		object-position: 37%;
	}
}

@media screen and (min-width: 1024px) {
	.hero-section .wrapper .banner .banner-image {
		height: 600px;

	}
}

.hero-section .wrapper .content.v1 {
	position: absolute;
	top: 25px;
	left: 25px;
	z-index: 1;
	width: fit-content;
	height: fit-content;
}

.content.v1 .heading {
	font-family: var(--font-bold);
	font-size: 38px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--dark-blue);
	background-color: transparent;
}

.hero-section .wrapper .content {
	position: absolute;
	top: 16%;
	left: 25px;
	z-index: 1;
	width: fit-content;
	height: fit-content;
	max-width: 85vw;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0;
}

@media screen and (min-width: 768px) {
	.hero-section .wrapper .content {
		top: 15%;
		left: 50%;
	}
}

@media screen and (min-width: 1024px) {
	.hero-section .wrapper .content {
		top: 15%;
		left: 54%;
	}
}

@media screen and (min-width: 768px) {
	.hero-section .wrapper .content.v1 {
		top: 5%;
		left: 50%;
	}
}



@media screen and (min-width: 1024px) {
	.hero-section .wrapper .content.v1 {
		top: 5%;
		left: 85%;
	}
}

@media screen and (min-width:767px){
.hero-section .wrapper .content-v2{
    position:absolute;
    top:80%;
    left:80%;
}
}

.hero-section .wrapper .content .title {
	width: fit-content;
	max-width: 500px;
	font-family: "HelveticaNeueLTStd-Bd", sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.38px;
	color: var(--black);
	padding-bottom: 10px;
}

.hero-section .wrapper .title .title-span-two {
	display: inline-block;
}

@media screen and (min-width: 768px) {
	.hero-section .wrapper .content .title {
		font-size: 38px;
		text-align: left;
	}
}

.hero-section .wrapper .content .subtitle {
	font-family: "HelveticaNeueLTStd-Roman", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0px;
	color: var(--black);
	padding-bottom: 17px;
}

@media screen and (min-width: 768px) {
	.hero-section .wrapper .content .subtitle {
		font-size: 24px;
	}
}

.hero-section .content.v2 {
	top: 52%;
	left: -20px;
}

@media screen and (min-width: 768px) {
	.hero-section .content.v2 {
		top: 50%;
		left: 42%;
	}
}

@media screen and (min-width: 1024px) {
	.hero-section .content.v2 {
		top: 50%;
		left: 49%;
	}
}

@media screen and (min-width: 1400px) {
	.hero-section .wrapper .content {
		top: 25%;
		left: 55%;
	}
}

@media screen and (min-width: 1400px) {
	.hero-section .wrapper .content.v1 {
		top: 44px;
		left: unset;
		right: 44px;
	}

	.content.v1 .heading {
		font-size: 58px;
	}
}

@media screen and (min-width: 1400px) {
	.hero-section .content.v2 {
		top: 45%;
		left: 67.5%;
	}
}

.hero-section .content.v2 .image-printer {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 300px;
	object-fit: contain;
	aspect-ratio: 209/158;
}

.hero-section .wrapper .divider {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 32px;
	margin-top: -4px;
	background-color: #003F96;
}

@media screen and (max-width: 767px) {
	.hero-section .wrapper .content,
	.hero-section .wrapper .content.v1,
	.hero-section .wrapper .content.v2 {
		display: none;
	}
}

/* ==== Key Features Section ====== */

.key-features-section {
	position: relative;
	width: 100%;
	height: 100%;
	background-color: var(--ver-light-gray);
}

.key-features-section .heading-wrapper.v1 {
	width: fit-content;
	margin: 0 auto;
	padding-block: 30px 40px;
	text-align: center;
}

.key-features-section .heading-wrapper.v1 .heading {
	font-family: var(--font-bold);
	font-size: clamp(1.75rem, 1.5299rem + 0.9390vw, 2.375rem);
	line-height: 45px;
	letter-spacing: 0px;
	color: var(--black);
	margin-bottom: 12px;
}

.key-features-section .heading-wrapper.v1 .content-text {
	max-width: 85%;
	margin: 0 auto;
}

.key-features-section .heading-wrapper.v1 .content-text span {
	display: inline-block;
	font-family: var(--font-light);
	font-size: clamp(1.125rem, 0.9489rem + 0.7512vw, 1.625rem);
	line-height: 30px;
	letter-spacing: 0px;
	text-align: center;
}

.key-features-section .wrapper-bg {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 0;
	margin: 0 auto;
}

.key-features-section .wrapper-bg .image-bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: 100%;
	max-width: 1350px;
	object-fit: cover;
}

@media screen and (min-width: 1400px) {
	.key-features-section .wrapper-bg .image-bg {
		max-width: 100%;
		padding-inline: 25px;
		object-fit: contain;
	}
}

.key-features-section .wrapper-bg .heading-wrapper.v2 {
	width: max-content;
	margin: 0 auto;
	padding-block: 32px 16px;
}

.key-features-section .wrapper-bg .heading-wrapper.v2 .heading {
	width: max-content;
	font-family: var(--font-bold);
	font-size: clamp(1.75rem, 1.5299rem + 0.9390vw, 2.375rem);
	line-height: 45px;
	letter-spacing: 0px;
	text-align: center;
	color: var(--white);
}

.key-features-section .featured-cards-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	row-gap: 30px;
	column-gap: 18px;
	padding-inline: 16px;
	padding-bottom: 20px;
}

@media screen and (min-width: 768px) {
	.key-features-section .featured-cards-wrapper {
		padding-bottom: 24px;
	}
}

@media screen and (min-width: 1024px) {
	.key-features-section .featured-cards-wrapper {
		padding-bottom: 40px;
		gap: 32px;
	}
}

@media screen and (min-width: 1400px) {
	.key-features-section .featured-cards-wrapper {
		row-gap: 50px;
		column-gap: 75px;
	}
}

.key-features-section .featured-cards-wrapper .card {
	width: 100%;
	height: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 30px;
}

@media screen and (min-width: 600px) {
	.key-features-section .featured-cards-wrapper .card {
		width: 48%;
	}
}

@media screen and (min-width: 1024px) {
	.key-features-section .featured-cards-wrapper .card {
		width: 33.33%;
		max-width: 300px;
	}
}

@media screen and (min-width: 1200px) {
	.key-features-section .featured-cards-wrapper .card {
		max-width: 334px;
	}
}

.key-features-section .featured-cards-wrapper .card .card-banner {
	position: static;
	width: 100%;
	height: 240px;
	display: block;
	/*object-fit: contain;*/
	/*aspect-ratio: 311/181;*/
}

.key-features-section .featured-cards-wrapper .card .card-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.key-features-section .featured-cards-wrapper .card .card-content .card-heading {
	width: 90%;
	font-family: var(--font-bold);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0px;
	color: var(--white);
	text-align: left;
}

.key-features-section .featured-cards-wrapper .card .card-content .card-desc {
	font-family: var(--font-roman);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0px;
	color: var(--white);
	text-align: left;
}

/* ============ Tecnical Printers Section =======  */

/* ==== Technical Printers Section ====== */

.technical-printers-section {
    width: 100%;
    background-color: var(--ver-light-gray);
}

.explore-range-heading {
	width: fit-content;
	margin: 0 auto;
	padding-block: 40px 16px;
	padding-inline: 16px;
	font-family: var(--font-bold);
	font-size: clamp(1.75rem, 1.5299rem + 0.9390vw, 2.375rem);
	line-height: 45px;
	letter-spacing: 0px;
	text-align: center;
	color: var(--black);
}

.technical-printers-wrapper {
	width: 100%;
}

.technical-printers-heading {
    font-family: var(--font-medium);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0px;
    color: var(--black);
	background-color: var(--white);
    text-align: center;
	padding-block: 15px 5px;
	border-left: 1px solid var(--ver-light-gray);
	border-right: 1px solid var(--ver-light-gray);
}

.technical-printers-grid {
    display: flex;
    flex-direction: column;
	align-items: center;
	row-gap: 30px;
	column-gap: 14px;
	padding: 16px 16px 24px;
}

.technical-printers-footnote {
    font-family: var(--font-roman);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0px;
    color: var(--gray);
	padding-left: 16px;
}

/* ---- Printer Card ---- */

.printer-card {
    width: 100%;
	max-width: 360px;
    background-color: var(--ver-light-gray);
	background-color: var(--white);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.printer-card-image-wrapper {
    width: 100%;
    background-color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    box-sizing: border-box;
    aspect-ratio: 311/181;
}

.printer-card-image-inner {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.printer-card-blob {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 0;
}

.technical-printers-section.v1 .printer-card-blob.v1,
.technical-printers-section.v1 .printer-card-blob.v2,
.technical-printers-section.v1 .printer-card-blob.v3 {
	top: 41%;
}

.technical-printers-section.v2 .printer-card-blob.v4,
.technical-printers-section.v2 .printer-card-blob.v5,
.technical-printers-section.v2 .printer-card-blob.v6 {
	top: 25%;
}

.technical-printers-section.v3 .printer-card-blob.v1,
.technical-printers-section.v3 .printer-card-blob.v2,
.technical-printers-section.v3 .printer-card-blob.v3 {
	top: 25%;
}

.technical-printers-section.v3 .printer-card-image-wrapper {
    margin-bottom: -60px; /* pull card content up */
}

.technical-printers-section.v2 .printer-card:nth-child(n+4) .printer-card-image-wrapper {
	margin-bottom: -50px;
}

.printer-card-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.printer-card-content {
    padding: 16px 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.printer-card-title {
    font-family: var(--font-medium);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0px;
    color: var(--teal-dark-blue);
    margin-bottom: 8px;
}

.printer-card-spec {
    font-family: var(--font-light);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0px;
    color: var(--black);
}



/* ---- 768px ---- */

@media screen and (min-width: 768px) {

    .technical-printers-heading {
        font-size: 32px;
    }

    .technical-printers-grid {
        flex-direction: row;
        flex-wrap: wrap;
		align-items: stretch;
		/* padding: 40px 24px 50px; */
    }

    .printer-card {
        width: calc(50% - 7px);
    }

/* 
    .printer-card-spec {
        font-size: 14px;
    } */

	.technical-printers-footnote {
		padding-left: 16px;
	}
}

/* ---- 1024px ---- */

@media screen and (min-width: 1024px) {

    .technical-printers-heading {
        font-size: 36px;
    }

    /* .technical-printers-grid {
		padding: 50px 32px 60px;
    } */

    .printer-card {
        width: calc(33.333% - 10px);
    }
/* 
    .printer-card-title {
        font-size: 22px;
    } */

	.technical-printers-footnote {
		padding-left: 16px;
	}
}

/* ---- 1200px ---- */

@media screen and (min-width: 1200px) {
    .technical-printers-grid {
        max-width: calc((360px * 3) + (14px * 2));
        margin: 0 auto;
    }
}

/* ---- 1400px ---- */

@media screen and (min-width: 1400px) {

    .technical-printers-heading {
        font-size: 30px;
    }

    /* .technical-printers-grid {
		padding: 60px 40px 70px;
    } */

    /* .printer-card {
        width: calc(33.333% - 10px);
    } */

    .printer-card-content {
        padding: 20px 24px 30px;
        gap: 10px;
    }

    .printer-card-title {
        margin-bottom: 10px;
    }

    /* .printer-card-spec {
        font-size: 15px;
    } */

	.technical-printers-footnote {
		padding-left: 180px;
	}
}

/* ==== Footer ====== */

/* -- Social Bar -- */

.footer-social-bar {
    width: 100%;
    background-color: var(--teal-dark-blue);
}

.footer-social-bar-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 16px;
    box-sizing: border-box;
}

@media screen and (min-width: 768px) {
    .footer-social-bar-wrapper {
        flex-direction: row;
        align-items: center;
		justify-content: space-between;
        gap: 24px;
        padding: 20px 24px;
    }
}

@media screen and (min-width: 1024px) {
    .footer-social-bar-wrapper {
        padding: 20px 32px;
    }
}

@media screen and (min-width: 1400px) {
    .footer-social-bar-wrapper {
        padding: 20px 40px;
    }
}

.footer-social-heading {
    font-family: var(--font-roman);
    font-size: clamp(1.25rem, 1.0299rem + 0.9390vw, 1.875rem);
    font-weight: 500;
    line-height: 1.2;
    color: var(--white);
    white-space: nowrap;
	margin: 0 auto;
	margin-top: 5px;
	text-align: center;
}

/* @media screen and (min-width: 768px) {
    .footer-social-heading {
        font-size: 22px;
    }
} */

.footer-social-links {
    display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
    gap: 12px;
	margin: 0 auto;
}

@media screen and (min-width: 992px) {
    .footer-social-links {
        gap: 0;
    }

	.footer-social-heading,
	.footer-social-links {
		margin: unset;
	}
}

/* @media screen and (min-width: 700px) {
	.footer-bottom-links {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}
} */

.footer-social-link {
	width: calc(50% - 12px);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    padding: 0 16px;
}

@media screen and (min-width: 768px) {
	.footer-social-link {
		width: calc(50% - 50px);
	}
}

@media screen and (min-width: 992px) {
	.footer-social-link {
		width: initial;
	}
}

/* @media screen and (max-width: 700px) {
	.footer-bottom-link {
		
	}
} */

/* .footer-social-link:nth-of-type(4) {
    padding-left: 27px;
} */

@media screen and (min-width: 768px) {
    .footer-social-link:first-child {
        padding-left: 16px;
    }
}

.footer-social-icon {
    display: block;
    width: clamp(1.375rem, 1.0229rem + 1.5023vw, 2.375rem);
    height: clamp(1.375rem, 1.0229rem + 1.5023vw, 2.375rem);
    object-fit: contain;
}

.footer-social-name {
    font-family: var(--font-roman);
    font-size: clamp(0.875rem, 0.7430rem + 0.5634vw, 1.25rem);
    font-weight: 400;
    line-height: 1.2;
    color: var(--white);
	margin-top: 6px;
}

.footer-social-divider {
    display: none;
    width: 1px;
    height: 32px;
    background-color: var(--gray);
    opacity: 0.5;
}

@media screen and (min-width: 768px) {
    .footer-social-divider {
        display: block;
    }
}

/* -- Footer Nav -- */

.footer-nav {
    width: 100%;
    background-color: var(--white);
}

.footer-nav-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 16px;
    padding: 36px 16px;
    box-sizing: border-box;
}

@media screen and (min-width: 768px) {
    .footer-nav-wrapper {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 24px;
        padding: 40px 24px;
    }
}

@media screen and (min-width: 1024px) {
    .footer-nav-wrapper {
        padding: 40px 32px;
    }
}

@media screen and (min-width: 1400px) {
    .footer-nav-wrapper {
        padding: 50px 40px;
    }
}

.footer-nav-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.footer-nav-heading {
    font-family: var(--font-roman);
    font-size: clamp(1rem, 0.8239rem + 0.7512vw, 1.5rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--dark-gray);
    margin-bottom: 4px;
}

.footer-nav-link {
    font-family: var(--font-roman);
    font-size: clamp(0.875rem, 0.7870rem + 0.3756vw, 1.125rem);
    font-weight: 400;
    line-height: 1.4;
    color: var(--dark-gray);
    text-decoration: none;
	/* margin-top: 5px; */
	transition: color 0.5 ease;
}

.footer-nav-link:hover {
    color: var(--teal-blue);
    text-decoration: underline;
}

/* -- Footer Bottom -- */

.footer-bottom {
    width: 100%;
    background-color: var(--dark-gray);
}

.footer-bottom-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 16px;
    box-sizing: border-box;
}

@media screen and (min-width: 768px) {
    .footer-bottom-wrapper {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 20px 24px;
    }
}

@media screen and (min-width: 1024px) {
    .footer-bottom-wrapper {
        padding: 20px 32px;
    }
}

@media screen and (min-width: 1400px) {
    .footer-bottom-wrapper {
        padding: 20px 40px;
    }
}

.footer-copyright {
    font-family: var(--font-roman);
    font-size: clamp(0.813rem, 0.7031rem + 0.4687vw, 1.125rem);
    font-weight: 400;
    line-height: 1.4;
    color: var(--white);
	margin-top: 5px;
}

.footer-bottom-links {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.footer-bottom-link {
    font-family: var(--font-roman);
    font-size: clamp(0.813rem, 0.7031rem + 0.4687vw, 1.125rem);
    font-weight: 400;
    line-height: 1.4;
    color: var(--white);
    text-decoration: none;
	margin-top: 5px;
}

.footer-bottom-link:hover {
    text-decoration: underline;
}

@media screen and (min-width: 768px) {
    .footer-bottom-link {
        font-size: 14px;
    }
}

.footer-bottom-divider {
    font-family: var(--font-roman);
    font-size: 13px;
    color: var(--white);
    opacity: 0.5;
}

@media screen and (min-width:767px){
.hero-section .wrapper .content-v2{
    position:absolute;
    top:85%;
    left:80%;
}
}