/* ----------------------------------------------------------------------------
 * RK Industries — site components and overrides.
 * Loaded after custom.css; reuses the theme's CSS variables.
 *
 *  01. Variables & helpers      08. Applications
 *  02. Cursor reset             09. About: facilities
 *  03. Trust strip              10. CTA band
 *  04. Products                 11. Contact page
 *  05. Product toolbar          12. Footer
 *  06. Comparison table         13. Quote modal
 *  07. Ordering process         14. Responsive
 * ------------------------------------------------------------------------- */

/************************************/
/***  01. Variables & helpers     ***/
/************************************/

:root{
	--rk-fe-color	: #b5542c;	/* iron / rust tone for the Ferrous range */
	--rk-fe-soft	: #fbeee8;
	--rk-mg-color	: #3661cf;	/* brand blue for the Magnesium range */
	--rk-mg-soft	: #eaf0fc;
	--rk-edta-color	: #0f8a6d;	/* green for the EDTA & micronutrients range */
	--rk-edta-soft	: #e2f4ee;
	--rk-wa-color	: #1fa855;
	--rk-ease-out	: cubic-bezier(0.16, 1, 0.3, 1);
}

.main-menu ul li a.nav-link.active{
	color: var(--accent-color);
}

.rk-full{
	max-width: 100% !important;
}

.rk-no-offset{
	margin-left: 0 !important;
}

.rk-hidden{
	display: none !important;
}

/* The old mobile 'wave' decoration (.outer-animation in custom.css) has its positioning
   commented out, so its pulse — scaled to 2.5x — stretched the page on phones and made it
   pan sideways. It renders nothing useful, so it is switched off. */
.outer-animation{
	display: none !important;
}

.rk-hp{
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rk-dot{
	display: inline-block;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.rk-dot.rk-symbol-fe{ background: var(--rk-fe-color); }
.rk-dot.rk-symbol-mg{ background: var(--rk-mg-color); }
.rk-dot.rk-symbol-edta{ background: var(--rk-edta-color); }

/************************************/
/***     02. Cursor reset         ***/
/************************************/

/* The theme's custom cursor effect is disabled; undo the rules that hid the
   system pointer on headings, sliders and image links. */
body *{
	cursor: auto !important;
}

body a[href],
body button,
body select,
body [role="button"],
body .accordion-button,
body a[href] *,
body button *,
body [role="button"] *{
	cursor: pointer !important;
}

body .rk-product-zoom{
	cursor: zoom-in !important;
}

/************************************/
/***      03. Trust strip         ***/
/************************************/

.rk-trust-strip{
	position: relative;
	margin-top: -60px;
	z-index: 2;
}

.rk-trust-list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: var(--white-color);
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
	overflow: hidden;
}

.rk-trust-item{
	padding: 34px 24px;
	text-align: center;
	border-right: 1px solid var(--divider-color);
}

.rk-trust-item:last-child{
	border-right: none;
}

.rk-trust-item h3{
	font-size: 40px;
	line-height: 1em;
	color: var(--accent-color);
	margin-bottom: 8px;
}

.rk-trust-item p{
	margin: 0;
	font-weight: 500;
}

/* Experience box footer on the About blocks */
.rk-experience-foot{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-top: 1px solid var(--divider-color);
	margin-top: 30px;
	padding-top: 24px;
	font-weight: 600;
	color: var(--primary-color);
}

.rk-experience-foot i{
	color: var(--accent-color);
}

/************************************/
/***        04. Products          ***/
/************************************/

.rk-products{
	padding: 120px 0;
}

.rk-products .section-row{
	margin-bottom: 50px;
}

.rk-products-intro-cta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

/* Download Catalogue — dark partner to the blue "Request product details" button, same height */
.rk-catalogue-btn{
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 9px 24px 9px 9px;
	border-radius: 5px;
	background: var(--primary-color);
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1em;
	text-transform: capitalize;
	color: var(--white-color);
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(10, 20, 51, 0.18);
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.rk-catalogue-btn::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	background: var(--accent-color);
	transition: all 0.4s ease-in-out;
	z-index: -1;
}

.rk-catalogue-btn-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 4px;
	background: var(--white-color);
	color: var(--primary-color);
	font-size: 14px;
	overflow: hidden;
	transition: color 0.4s ease-in-out;
}

.rk-catalogue-btn:hover,
.rk-catalogue-btn:focus-visible{
	color: var(--white-color);
	box-shadow: 0 12px 28px rgba(54, 97, 207, 0.35);
}

.rk-catalogue-btn:hover::after,
.rk-catalogue-btn:focus-visible::after{
	right: auto;
	left: 0;
	width: 100%;
}

.rk-catalogue-btn:hover .rk-catalogue-btn-icon{
	color: var(--accent-color);
}

.rk-catalogue-btn:hover .rk-catalogue-btn-icon i,
.rk-cta-btn-catalogue:hover .rk-cta-btn-catalogue-icon i{
	animation: rkCatalogueDrop 0.8s ease-in-out infinite;
}

/* the arrow drops out of the chip and comes back in from the top */
@keyframes rkCatalogueDrop{
	0%   { transform: translateY(0); }
	45%  { transform: translateY(150%); }
	46%  { transform: translateY(-150%); }
	100% { transform: translateY(0); }
}

.rk-product-range{
	scroll-margin-top: 120px;
	margin-bottom: 50px;
}

.rk-range-header{
	display: flex;
	align-items: center;
	gap: 20px;
	padding-bottom: 24px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--divider-color);
}

.rk-range-symbol{
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	font-family: var(--accent-font);
	font-size: 28px;
	font-weight: 600;
	color: var(--white-color);
}

.rk-range-symbol.rk-symbol-fe{ background: var(--rk-fe-color); }
.rk-range-symbol.rk-symbol-mg{ background: var(--rk-mg-color); }
.rk-range-symbol.rk-symbol-edta{ background: var(--rk-edta-color); font-size: 17px; letter-spacing: 0.02em; }

.rk-range-title h3{
	font-size: 28px;
	margin-bottom: 6px;
}

.rk-range-title h3 small{
	font-size: 16px;
	font-weight: 500;
	color: var(--text-color);
	opacity: 0.7;
	margin-left: 6px;
}

.rk-range-title p{
	margin: 0;
	line-height: 1.5em;
}

/* Product card */
.rk-product-card{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	display: flex;
	flex-direction: column;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 16px;
	overflow: hidden;
	scroll-margin-top: 140px;
	transition: transform 0.4s var(--rk-ease-out), box-shadow 0.4s var(--rk-ease-out), border-color 0.4s ease;
}

.rk-product-card:hover{
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.1);
}

.rk-product-image{
	position: relative;
	overflow: hidden;
}

.rk-product-zoom{
	display: block;
}

.rk-product-image figure{
	display: block;
	margin: 0;
	aspect-ratio: 3 / 2;
}

.rk-product-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--rk-ease-out);
}

.rk-product-card:hover .rk-product-image img{
	transform: scale(1.07);
}

/* Shown when a product has no photo yet: element symbol on a tinted tile */
.rk-product-placeholder{
	position: relative;
	aspect-ratio: 3 / 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 30px 0 40px;	/* clear of the type label above and the % badge below */
	overflow: hidden;
	transition: transform 0.8s var(--rk-ease-out);
}

.rk-product-card:hover .rk-product-placeholder{
	transform: scale(1.04);
}

/* Faint concentric rings behind the symbol */
.rk-product-placeholder::before{
	content: '';
	position: absolute;
	width: 180%;
	aspect-ratio: 1;
	background: repeating-radial-gradient(circle, transparent 0 28px, currentColor 29px 30px);
	opacity: 0.07;
}

.rk-product-placeholder span{
	position: relative;
	font-family: var(--accent-font);
	font-size: 52px;
	font-weight: 600;
	line-height: 1;
}

.rk-product-placeholder.rk-symbol-fe{ color: var(--rk-fe-color); background: linear-gradient(145deg, var(--rk-fe-soft), #f5d9cc); }
.rk-product-placeholder.rk-symbol-mg{ color: var(--rk-mg-color); background: linear-gradient(145deg, var(--rk-mg-soft), #d3e0f8); }
.rk-product-placeholder.rk-symbol-edta{ color: var(--rk-edta-color); background: linear-gradient(145deg, var(--rk-edta-soft), #c8eadf); }

/* "Main Product" ribbon */
.rk-product-featured{
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: var(--primary-color);
	background: #ffd66b;
	border-radius: 100px;
	padding: 6px 10px;
	pointer-events: none;
}

.rk-product-featured i{
	font-size: 10px;
}

.rk-product-form{
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 1;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--primary-color);
	background: rgba(255, 255, 255, 0.95);
	border-radius: 100px;
	padding: 6px 12px;
	pointer-events: none;
}

.rk-form-crystal{ color: #1d4ed8; background: #dbeafe; }
.rk-form-sugar-crystal{ color: #7c3aed; background: #ede9fe; }
.rk-form-powder{ color: #b45309; background: #fef3c7; }
.rk-form-anhydrous-powder{ color: #be123c; background: #ffe4e6; }
.rk-form-chelated{ color: #047857; background: #d1fae5; }
.rk-form-potash-based{ color: #fff; background: #c2410c; }
.rk-form-sodium-based{ color: #fff; background: #0369a1; }
.rk-form-sulphated-blend{ color: #fff; background: #4d7c0f; }
.rk-form-edta-chelated{ color: #fff; background: #0f766e; }

.rk-product-assay{
	position: absolute;
	left: 14px;
	bottom: 14px;
	z-index: 1;
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	color: var(--white-color);
	border-radius: 10px;
	padding: 9px 14px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
	pointer-events: none;
}

.rk-product-assay.rk-symbol-fe{ background: var(--rk-fe-color); }
.rk-product-assay.rk-symbol-mg{ background: var(--rk-mg-color); }
.rk-product-assay.rk-symbol-edta{ background: var(--rk-edta-color); }

.rk-zoom-icon{
	position: absolute;
	bottom: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: var(--primary-color);
	background: rgba(255, 255, 255, 0.95);
	border-radius: 50%;
	opacity: 0;
	transform: scale(0.8);
	transition: all 0.3s var(--rk-ease-out);
}

.rk-product-card:hover .rk-zoom-icon,
.rk-product-zoom:focus-visible .rk-zoom-icon{
	opacity: 1;
	transform: scale(1);
}

.rk-product-card-body{
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 22px;
}

.rk-product-range-label{
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 8px;
}

.rk-product-range-label.rk-symbol-fe{ color: var(--rk-fe-color); }
.rk-product-range-label.rk-symbol-mg{ color: var(--rk-mg-color); }
.rk-product-range-label.rk-symbol-edta{ color: var(--rk-edta-color); }

.rk-product-title{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 16px;
}

.rk-product-card-body h4{
	font-size: 19px;
	line-height: 1.35em;
	margin: 0;
}

.rk-btn-coa{
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	font-family: var(--accent-font);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1.5px solid var(--primary-color);
	border-radius: 8px;
	padding: 0 12px;
	cursor: pointer;
	transition: color 0.3s ease, background 0.3s ease;
}

.rk-btn-coa i{
	font-size: 12px;
}

.rk-btn-coa:hover,
.rk-btn-coa:focus-visible{
	color: var(--white-color);
	background: var(--primary-color);
}

/* margin-top:auto keeps spec + buttons aligned to the bottom of every card */
.rk-product-spec{
	font-size: 14px;
	background: var(--bg-color);
	border-radius: 8px;
	padding: 4px 12px;
	margin: auto 0 0;
}

.rk-product-spec > div{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
}

.rk-product-spec > div + div{
	border-top: 1px solid var(--divider-color);
}

.rk-product-spec dt{
	font-weight: 400;
	color: var(--text-color);
	opacity: 0.7;
}

.rk-product-spec dd{
	margin: 0;
	font-weight: 600;
	color: var(--primary-color);
	text-align: right;
}

.rk-product-actions{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
}

.rk-btn-enquire{
	flex: 1;
	min-width: 0;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 46px;
	font-family: var(--accent-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 10px;
	transition: background 0.3s ease;
}

.rk-btn-enquire i{
	font-size: 13px;
	transition: transform 0.3s var(--rk-ease-out);
}

.rk-btn-enquire:hover,
.rk-btn-enquire:focus-visible{
	color: var(--white-color);
	background: var(--accent-color);
}

.rk-btn-enquire:hover i{
	transform: translateX(4px);
}

.rk-btn-wa{
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	color: var(--rk-wa-color);
	background: #e7f7ed;
	border-radius: 10px;
	transition: all 0.3s ease;
}

.rk-btn-wa:hover,
.rk-btn-wa:focus-visible{
	color: var(--white-color);
	background: var(--rk-wa-color);
}

/* No search results */
.rk-product-empty{
	text-align: center;
	border: 1px dashed var(--divider-color);
	border-radius: 16px;
	padding: 60px 20px;
	margin-bottom: 50px;
}

.rk-product-empty > i{
	font-size: 36px;
	color: var(--accent-color);
	margin-bottom: 16px;
}

.rk-product-empty h3{
	font-size: 24px;
	margin-bottom: 8px;
}

.rk-product-empty p{
	margin-bottom: 24px;
}

/* Home: main products grid */
.rk-featured{
	padding: 120px 0;
}

.rk-featured-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 70px;
}

.rk-featured-grid .rk-product-card{
	height: 100%;
	margin-bottom: 0;
}

.rk-featured-grid .rk-product-card-body h4{
	font-size: 17px;
}

/* Home: one tile per product range */
.rk-range-tiles{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 50px;
}

.rk-range-tile{
	position: relative;
	color: var(--text-color);
	display: flex;
	flex-direction: column;
	background: var(--bg-color);
	border-radius: 16px;
	padding: 30px;
	overflow: hidden;
	transition: transform 0.4s var(--rk-ease-out), box-shadow 0.4s var(--rk-ease-out);
}

.rk-range-tile::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s var(--rk-ease-out);
}

.rk-tile-fe::after{ background: var(--rk-fe-color); }
.rk-tile-mg::after{ background: var(--rk-mg-color); }
.rk-tile-edta::after{ background: var(--rk-edta-color); }

.rk-range-tile:hover{
	transform: translateY(-5px);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.08);
}

.rk-range-tile:hover::after{
	transform: scaleX(1);
}

.rk-range-tile-head{
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.rk-range-tile .rk-range-symbol{
	flex-basis: 54px;
	width: 54px;
	height: 54px;
	font-size: 22px;
}

.rk-range-tile .rk-range-symbol.rk-symbol-edta{
	font-size: 14px;
}

.rk-range-tile h3{
	font-size: 21px;
	margin: 0;
}

.rk-range-tile p{
	line-height: 1.55em;
	margin-bottom: 16px;
}

.rk-range-tile ul{
	list-style: none;
	padding: 0;
	margin: 0 0 22px;
}

.rk-range-tile li{
	position: relative;
	line-height: 1.45em;
	font-weight: 500;
	color: var(--primary-color);
	padding-left: 18px;
	margin-bottom: 6px;
}

.rk-range-tile li::before{
	content: '';
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.35;
}

.rk-range-tile li.rk-more{
	font-weight: 400;
	color: var(--text-color);
}

.rk-range-tile-link{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--accent-font);
	font-weight: 600;
	color: var(--primary-color);
	margin-top: auto;
}

.rk-range-tile-link i{
	transition: transform 0.3s var(--rk-ease-out);
}

.rk-range-tile:hover .rk-range-tile-link i{
	transform: translateX(5px);
}

.rk-main-tag{
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--primary-color);
	background: #ffd66b;
	border-radius: 100px;
	padding: 3px 8px;
	margin-left: 8px;
	vertical-align: middle;
}

.rk-muted{
	color: var(--text-color);
	opacity: 0.5;
}

/************************************/
/***    05. Product toolbar       ***/
/************************************/

.rk-product-toolbar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--bg-color);
	border-radius: 100px;
	padding: 8px;
	margin-bottom: 50px;
}

.rk-product-filter{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.rk-product-filter button{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	background: transparent;
	border: none;
	border-radius: 100px;
	padding: 11px 20px;
	transition: all 0.3s ease;
}

.rk-product-filter button:hover{
	background: var(--white-color);
}

.rk-product-filter button.active{
	color: var(--white-color);
	background: var(--primary-color);
}

.rk-product-search{
	position: relative;
	flex: 0 1 320px;
	margin: 0;
}

.rk-product-search i{
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--text-color);
	opacity: 0.5;
	pointer-events: none;
}

.rk-product-search input{
	width: 100%;
	height: 46px;
	font-size: 15px;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid transparent;
	border-radius: 100px;
	padding: 0 18px 0 44px;
	outline: none;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.rk-product-search input:focus{
	border-color: var(--accent-color);
	box-shadow: 0 0 0 4px rgba(54, 97, 207, 0.12);
}

/************************************/
/***   06. Comparison table       ***/
/************************************/

.rk-compare{
	border: 1px solid var(--divider-color);
	border-radius: 16px;
	overflow: hidden;
	margin-top: 10px;
}

.rk-compare-head{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 20px;
	background: var(--bg-color);
	padding: 24px 30px;
}

.rk-compare-head h3{
	font-size: 24px;
	margin: 0;
}

.rk-compare-head p{
	margin: 0;
}

.rk-compare-scroll{
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.rk-compare-table{
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
}

.rk-compare-table th,
.rk-compare-table td{
	padding: 16px 30px;
	border-top: 1px solid var(--divider-color);
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

.rk-compare-table thead th{
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--text-color);
	opacity: 0.7;
	padding-top: 14px;
	padding-bottom: 14px;
}

.rk-compare-table tbody th{
	font-weight: 600;
	color: var(--primary-color);
	white-space: normal;
}

.rk-compare-table tbody th .rk-dot{
	margin-right: 10px;
}

.rk-compare-table tbody tr{
	transition: background 0.2s ease;
}

.rk-compare-table tbody tr:hover{
	background: var(--bg-color);
}

.rk-compare-table td:last-child{
	text-align: right;
}

.rk-assay-pill{
	display: inline-block;
	font-family: var(--accent-font);
	font-weight: 600;
	border-radius: 100px;
	padding: 6px 12px;
}

.rk-assay-pill.rk-symbol-fe{ color: var(--rk-fe-color); background: var(--rk-fe-soft); }
.rk-assay-pill.rk-symbol-mg{ color: var(--rk-mg-color); background: var(--rk-mg-soft); }
.rk-assay-pill.rk-symbol-edta{ color: var(--rk-edta-color); background: var(--rk-edta-soft); }

/************************************/
/***    07. Ordering process      ***/
/************************************/

.rk-process{
	padding: 120px 0;
}

.rk-process-list{
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

/* Dashed line linking the steps (visible in the gaps between cards) */
.rk-process-list::before{
	content: '';
	position: absolute;
	top: 64px;
	left: 12%;
	right: 12%;
	border-top: 2px dashed var(--divider-color);
}

.rk-process-item{
	position: relative;
	background: var(--bg-color);
	border-radius: 14px;
	padding: 36px 28px 32px;
	text-align: center;
}

.rk-process-num{
	position: absolute;
	top: 18px;
	right: 20px;
	font-family: var(--accent-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--accent-color);
}

.rk-process-item .icon-box{
	position: relative;
	width: 58px;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 22px;
	background: var(--accent-color);
	border-radius: 50%;
	box-shadow: 0 0 0 8px var(--bg-color);
}

.rk-process-item .icon-box i{
	font-size: 22px;
	color: var(--white-color);
}

.rk-process-item h3{
	font-size: 20px;
	margin-bottom: 10px;
}

.rk-process-item p{
	line-height: 1.55em;
	margin: 0;
}

/************************************/
/***      08. Applications        ***/
/************************************/

.rk-application-list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.rk-application-item{
	display: flex;
	gap: 16px;
	background: var(--dark-divider-color);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border-radius: 14px;
	padding: 24px;
}

.rk-application-item .icon-box{
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	border-radius: 10px;
}

.rk-application-item .icon-box i{
	font-size: 22px;
	color: var(--white-color);
}

.rk-application-item h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 8px;
}

.rk-application-item p{
	color: var(--white-color);
	opacity: 0.8;
	line-height: 1.5em;
	margin: 0;
}

/************************************/
/***   09. About: facilities      ***/
/************************************/

.rk-facilities{
	padding: 120px 0;
}

.rk-facility-card{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	background: var(--dark-divider-color);
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border-radius: 14px;
	padding: 40px;
}

.rk-facility-card .icon-box{
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	border-radius: 12px;
	margin-bottom: 24px;
}

.rk-facility-card .icon-box i{
	font-size: 26px;
	color: var(--white-color);
}

.rk-facility-card h3{
	font-size: 24px;
	color: var(--white-color);
	margin-bottom: 12px;
}

.rk-facility-card p{
	color: var(--white-color);
	opacity: 0.8;
	line-height: 1.6em;
	margin-bottom: 24px;
}

.rk-facility-card .readmore-btn{
	color: var(--accent-color);
}

.rk-facility-card .readmore-btn::before{
	filter: brightness(0) invert(1);
}

.rk-company-facts{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--dark-divider-color);
	border-radius: 14px;
	overflow: hidden;
	margin-top: 20px;
}

.rk-company-facts > div{
	background: var(--primary-color);
	padding: 24px;
	text-align: center;
}

.rk-company-facts span{
	display: block;
	font-size: 14px;
	color: var(--white-color);
	opacity: 0.6;
	margin-bottom: 8px;
}

.rk-company-facts strong{
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 600;
	color: var(--white-color);
	word-break: break-word;
}

/************************************/
/***      11. Contact page        ***/
/************************************/

.rk-contact-cards{
	padding: 120px 0 0;
}

.rk-contact-card{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 24px 22px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 18px;
	background: var(--white-color);
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.rk-contact-card:hover{
	border-color: rgba(54, 97, 207, 0.4);
	box-shadow: 0 18px 40px rgba(13, 32, 90, 0.08);
	transform: translateY(-4px);
}

.rk-contact-card .icon-box{
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: var(--accent-color);
	box-shadow: 0 10px 24px rgba(54, 97, 207, 0.3);
}

.rk-contact-card-wa .icon-box{
	background: #25d366;
	box-shadow: 0 10px 24px rgba(37, 211, 102, 0.3);
}

.rk-contact-card .icon-box i{
	font-size: 22px;
	color: var(--white-color);
}

.rk-contact-card-wa .icon-box i{
	font-size: 26px;
}

.rk-contact-card-text{
	flex: 1;
	min-width: 0;
}

/* the small caption above the value — scoped so it doesn't restyle button labels inside the card */
.rk-contact-card-text > span{
	display: block;
	font-size: 14px;
	color: var(--text-color);
	margin-bottom: 2px;
}

.rk-contact-card strong{
	display: block;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	overflow-wrap: anywhere;
}

.rk-contact-card-arrow{
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(54, 97, 207, 0.08);
	color: var(--accent-color);
	font-size: 13px;
	transition: all 0.3s ease;
}

.rk-contact-card:hover .rk-contact-card-arrow{
	background: var(--accent-color);
	color: var(--white-color);
	transform: rotate(-45deg);
}

/* Location: map beside a navy info panel */
.rk-location{
	display: grid;
	grid-template-columns: 1.65fr 1fr;
	border-radius: 24px;
	overflow: hidden;
	background: var(--white-color);
	box-shadow: 0 24px 50px rgba(13, 32, 90, 0.08);
}

.rk-location .google-map-iframe.rk-map{
	height: 100%;
	min-height: 440px;
}

.rk-location .google-map-iframe.rk-map iframe{
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
}

.rk-location-body{
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 44px 40px;
	background: linear-gradient(150deg, #16307a 0%, #0a1433 100%);
	color: rgba(255, 255, 255, 0.75);
}

.rk-location-body .rk-location-orbit{
	z-index: -1;
	top: -80px;
	right: -80px;
	width: 260px;
	color: rgb(120, 160, 255);
	opacity: 0.3;
}

.rk-location-tag{
	align-self: flex-start;
	margin-bottom: 14px;
	padding: 5px 14px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--white-color);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rk-location-body h3{
	font-size: 28px;
	color: var(--white-color);
	margin-bottom: 22px;
}

.rk-location-list{
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}

.rk-location-list li{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 16px;
	line-height: 1.6;
}

.rk-location-list i{
	flex: 0 0 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.1);
	color: #8fb0ff;
	font-size: 13px;
}

.rk-location-list span,
.rk-location-list a{
	padding-top: 5px;
	color: var(--white-color);
	overflow-wrap: anywhere;
}

.rk-location-list a:hover{
	color: #8fb0ff;
}

.rk-location-btn{
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 50px;
	padding: 0 26px;
	border-radius: 100px;
	background: var(--white-color);
	color: var(--accent-color);
	font-family: var(--accent-font);
	font-size: 15px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.rk-location-btn i{
	font-size: 12px;
	transition: transform 0.3s ease;
}

.rk-location-btn:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.rk-location-btn:hover i{
	transform: translateX(4px);
}

/************************************/
/***         12. Footer           ***/
/************************************/

.rk-footer{
	position: relative;
	color: rgba(255, 255, 255, 0.68);
	background:
		radial-gradient(700px 360px at 85% 0%, rgba(54, 97, 207, 0.32), transparent 70%),
		radial-gradient(500px 300px at 0% 100%, rgba(54, 97, 207, 0.16), transparent 70%),
		linear-gradient(180deg, #0a1433 0%, #050a1c 100%);
	overflow: hidden;
}

/* Main columns */
.rk-footer-top{
	display: grid;
	grid-template-columns: 1.45fr 0.65fr 1fr 1.25fr;
	gap: 50px;
	padding: 60px 0 40px;
}

.rk-footer-logo{
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
}

.rk-footer-logo img{
	width: 64px;
	height: 64px;
	object-fit: contain;
	background: var(--white-color);
	border-radius: 16px;
	padding: 6px;
}

.rk-footer-logo strong{
	display: block;
	font-family: var(--accent-font);
	font-size: 22px;
	font-weight: 600;
	color: var(--white-color);
}

.rk-footer-logo small{
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}

.rk-footer-brand-col p{
	line-height: 1.7em;
	margin-bottom: 24px;
}

.rk-footer-products{
	display: flex;
	align-items: center;
}

.rk-footer-products a{
	width: 52px;
	height: 52px;
	margin-left: -10px;
	border: 3px solid #0a1433;
	border-radius: 50%;
	overflow: hidden;
	background: var(--white-color);
	transition: transform 0.3s ease;
}

.rk-footer-products a:first-child{
	margin-left: 0;
}

.rk-footer-products a:hover{
	position: relative;
	z-index: 2;
	transform: translateY(-5px) scale(1.08);
}

.rk-footer-products img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rk-footer-products a.rk-footer-products-more{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	color: var(--white-color);
	font-family: var(--accent-font);
	font-size: 14px;
	font-weight: 700;
}

.rk-footer-col h3{
	position: relative;
	font-size: 18px;
	color: var(--white-color);
	margin-bottom: 26px;
	padding-bottom: 12px;
}

.rk-footer-col h3::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 3px;
	border-radius: 3px;
	background: var(--accent-color);
}

.rk-footer-col ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.rk-footer-col li{
	line-height: 1.6em;
	margin-bottom: 12px;
}

.rk-footer-col li a{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: rgba(255, 255, 255, 0.68);
	transition: color 0.3s ease, transform 0.3s ease;
}

.rk-footer-col li a:hover{
	color: var(--white-color);
	transform: translateX(4px);
}

.rk-footer-map-btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	font-family: var(--accent-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--white-color);
	transition: all 0.3s ease;
}

.rk-footer-map-btn i{
	font-size: 12px;
	transition: transform 0.3s ease;
}

.rk-footer-map-btn:hover i{
	transform: translateX(4px);
}

/* Large outlined brand name */
.rk-footer-watermark{
	font-family: var(--accent-font);
	font-size: clamp(56px, 11vw, 168px);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -0.02em;
	text-align: center;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.12);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
	-webkit-background-clip: text;
	background-clip: text;
	user-select: none;
	margin-bottom: -6px;
}

/* Bottom bar — left padding keeps the text clear of the fixed WhatsApp button */
.rk-footer-bottom{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 22px 0 22px 80px;
	font-size: 14px;
}

.rk-footer-bottom p{
	margin: 0;
	color: rgba(255, 255, 255, 0.6);
}

.rk-footer-bottom p:last-of-type{
	margin-left: auto;
}

.rk-footer-bottom a{
	color: var(--white-color);
}

.rk-footer-bottom a:hover{
	color: var(--accent-color);
}

.rk-footer-bottom .fa-heart{
	color: #e25555;
}

.rk-footer-gstin{
	padding: 4px 12px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 100px;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.7);
}

.rk-footer-bottom a.rk-footer-top-btn{
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	transition: all 0.3s ease;
}

.rk-footer-bottom a.rk-footer-top-btn:hover{
	background: var(--accent-color);
	color: var(--white-color);
	transform: translateY(-3px);
}

@media only screen and (max-width: 1199px){
	.rk-footer-top{
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}
}

@media only screen and (max-width: 991px){
	.rk-footer-top{
		gap: 36px 30px;
		padding: 50px 0 30px;
	}
}

@media only screen and (max-width: 767px){
	.rk-footer-top{
		grid-template-columns: 1fr 1fr;
	}

	.rk-footer-brand-col,
	.rk-footer-visit{
		grid-column: 1 / -1;
	}

	.rk-footer-bottom{
		flex-direction: column;
		align-items: flex-start;
		padding: 22px 0 110px;
	}

	.rk-footer-bottom p:last-of-type{
		margin-left: 0;
	}

	.rk-footer-bottom a.rk-footer-top-btn{
		position: absolute;
		right: 15px;
		margin-top: -4px;
	}
}

/* COA modal */
.rk-coa-modal .modal-dialog{
	max-width: 820px;
}

.rk-coa-modal .modal-content{
	border: none;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.35);
}

.rk-coa-modal.fade .modal-dialog{
	opacity: 0;
	transform: translateY(40px) scale(0.96);
	transition: transform 0.55s var(--rk-ease-out), opacity 0.35s ease;
}

.rk-coa-modal.show .modal-dialog{
	opacity: 1;
	transform: none;
}

.rk-coa-head{
	position: relative;
	flex: none;
	color: var(--white-color);
	background: radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.16), transparent 45%), linear-gradient(135deg, #1e3a8a, var(--accent-color));
	padding: 26px 32px 24px;
}

.rk-coa-brand{
	display: flex;
	align-items: center;
	gap: 14px;
	padding-right: 50px;
}

.rk-coa-logo{
	flex: none;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	background: var(--white-color);
	border-radius: 16px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.rk-coa-logo img{
	width: 50px;
	height: auto;
}

.rk-coa-brand strong{
	display: block;
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
}

.rk-coa-brand small{
	display: block;
	font-size: 13px;
	line-height: 1.45;
	opacity: 0.8;
	margin-top: 4px;
}

.rk-coa-head h2{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--white-color);
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 100px;
	padding: 8px 16px;
	margin: 20px 0 0;
}

.rk-coa-close{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	font-size: 17px;
	color: var(--white-color);
	background: rgba(255, 255, 255, 0.14);
	border: none;
	border-radius: 50%;
	transition: transform 0.3s var(--rk-ease-out), background 0.3s ease;
}

.rk-coa-close:hover{
	background: rgba(255, 255, 255, 0.28);
	transform: rotate(90deg);
}

.rk-coa-body{
	padding: 28px 32px;
}

.rk-coa-product span{
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--accent-color);
}

.rk-coa-product h3{
	font-size: 26px;
	line-height: 1.25;
	margin: 4px 0 0;
}

.rk-coa-meta{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	margin: 20px 0 0;
}

.rk-coa-meta div{
	background: var(--bg-color);
	border-radius: 12px;
	padding: 12px 16px;
}

.rk-coa-meta dt{
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #6b7280;
	margin-bottom: 4px;
}

.rk-coa-meta dt i{
	color: var(--accent-color);
}

.rk-coa-meta dd{
	font-size: 15px;
	font-weight: 500;
	color: var(--primary-color);
	margin: 0;
}

.rk-coa-table-wrap{
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
	margin-top: 22px;
}

.rk-coa-table{
	width: 100%;
	font-size: 14px;
	border-collapse: collapse;
}

.rk-coa-table th{
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #1e3a8a;
	background: #eef3ff;
	padding: 12px 14px;
	text-align: left;
}

.rk-coa-table th small{
	font-size: 11px;
	text-transform: none;
	letter-spacing: 0;
	opacity: 0.75;
}

.rk-coa-table td{
	padding: 12px 14px;
	border-top: 1px solid var(--divider-color);
	vertical-align: middle;
}

.rk-coa-table th:first-child,
.rk-coa-table td:first-child{
	width: 56px;
	text-align: center;
}

.rk-coa-table tbody tr{
	transition: background 0.2s ease;
}

.rk-coa-table tbody tr:hover{
	background: #f8faff;
}

.rk-coa-no{
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	font-size: 12px;
	font-weight: 600;
	color: var(--accent-color);
	background: #eef3ff;
	border-radius: 50%;
}

.rk-coa-result{
	display: inline-block;
	font-weight: 600;
	color: var(--rk-edta-color);
	background: #e6f6f1;
	border-radius: 6px;
	padding: 3px 9px;
}

.rk-coa-table td:last-child{
	color: #4b5563;
}

.rk-coa-foot{
	flex: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 16px;
	font-size: 13px;
	color: #6b7280;
	background: var(--bg-color);
	border-top: 1px solid var(--divider-color);
	padding: 14px 32px;
}

.rk-coa-foot i{
	color: var(--accent-color);
	margin-right: 4px;
}

/* Phones: each table row becomes a small card */
@media only screen and (max-width: 767px){
	.rk-coa-head{
		padding: 20px 18px 18px;
	}

	.rk-coa-logo{
		width: 52px;
		height: 52px;
		border-radius: 12px;
	}

	.rk-coa-logo img{
		width: 40px;
	}

	.rk-coa-brand strong{
		font-size: 17px;
	}

	.rk-coa-brand small{
		font-size: 12px;
	}

	.rk-coa-close{
		top: 14px;
		right: 14px;
		width: 36px;
		height: 36px;
	}

	.rk-coa-head h2{
		font-size: 11px;
		margin-top: 14px;
	}

	.rk-coa-body{
		padding: 20px 18px;
	}

	.rk-coa-product h3{
		font-size: 21px;
	}

	.rk-coa-table-wrap{
		border: none;
		border-radius: 0;
	}

	.rk-coa-table thead{
		display: none;
	}

	.rk-coa-table,
	.rk-coa-table tbody,
	.rk-coa-table tr,
	.rk-coa-table td{
		display: block;
		width: 100%;
	}

	.rk-coa-table tr{
		position: relative;
		border: 1px solid var(--divider-color);
		border-radius: 12px;
		padding: 12px 14px 12px 50px;
		margin-bottom: 10px;
	}

	.rk-coa-table td,
	.rk-coa-table td:first-child{
		border: none;
		padding: 2px 0;
		text-align: left;
	}

	.rk-coa-table td:first-child{
		position: absolute;
		top: 12px;
		left: 14px;
		width: auto;
	}

	.rk-coa-table td:nth-child(2){
		font-weight: 600;
		color: var(--primary-color);
		margin-bottom: 4px;
	}

	.rk-coa-table td:nth-child(3)::before,
	.rk-coa-table td:nth-child(4)::before{
		content: attr(data-label) ": ";
		font-size: 12px;
		color: #6b7280;
	}

	.rk-coa-foot{
		padding: 12px 18px;
		font-size: 12px;
	}
}

/************************************/
/***       13. Quote modal        ***/
/************************************/

.rk-quote-modal .modal-dialog{
	max-width: 1040px;
}

.rk-quote-modal .modal-content{
	position: relative;
	border: none;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.35);
}

/* Entrance: rise + scale with a soft ease-out (overrides Bootstrap's slide-down) */
.rk-quote-modal.fade .modal-dialog{
	opacity: 0;
	transform: translateY(40px) scale(0.96);
	transition: transform 0.55s var(--rk-ease-out), opacity 0.35s ease;
}

.rk-quote-modal.show .modal-dialog{
	opacity: 1;
	transform: none;
}

.modal-backdrop{
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.modal-backdrop.show{
	opacity: 0.6;
}

/* Fields and panel content fade up one after another once the dialog is open */
.rk-quote-modal .rk-quote-body .form-group,
.rk-quote-modal .rk-quote-body .col-12:last-child,
.rk-quote-modal .rk-quote-aside > *{
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.5s ease, transform 0.6s var(--rk-ease-out);
}

.rk-quote-modal.show .rk-quote-body .form-group,
.rk-quote-modal.show .rk-quote-body .col-12:last-child,
.rk-quote-modal.show .rk-quote-aside > *{
	opacity: 1;
	transform: none;
}

.rk-quote-modal.show .rk-quote-aside > *:nth-child(2),
.rk-quote-modal.show .rk-quote-body .form-group:nth-child(1),
.rk-quote-modal.show .rk-quote-body .form-group:nth-child(2){ transition-delay: 0.1s; }
.rk-quote-modal.show .rk-quote-aside > *:nth-child(3),
.rk-quote-modal.show .rk-quote-body .form-group:nth-child(3),
.rk-quote-modal.show .rk-quote-body .form-group:nth-child(4){ transition-delay: 0.16s; }
.rk-quote-modal.show .rk-quote-aside > *:nth-child(4),
.rk-quote-modal.show .rk-quote-body .form-group:nth-child(5),
.rk-quote-modal.show .rk-quote-body .form-group:nth-child(6){ transition-delay: 0.22s; }
.rk-quote-modal.show .rk-quote-aside > *:nth-child(5),
.rk-quote-modal.show .rk-quote-body .form-group:nth-child(7){ transition-delay: 0.28s; }
.rk-quote-modal.show .rk-quote-body .col-12:last-child{ transition-delay: 0.34s; }

.rk-quote-close{
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 3;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--primary-color);
	background: var(--bg-color);
	border: none;
	border-radius: 50%;
	transition: transform 0.3s var(--rk-ease-out), background 0.3s ease;
}

.rk-quote-close:hover{
	background: var(--divider-color);
	transform: rotate(90deg);
}

.rk-quote-grid{
	display: grid;
	grid-template-columns: 5fr 7fr;
}

.rk-quote-aside{
	position: relative;
	color: rgba(255, 255, 255, 0.85);
	background:
		radial-gradient(400px 260px at 100% 100%, rgba(255, 255, 255, 0.16), transparent 70%),
		linear-gradient(160deg, var(--accent-color), #1f3f96);
	padding: 48px 40px;
}

.rk-quote-eyebrow{
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--white-color);
	background: rgba(255, 255, 255, 0.15);
	border-radius: 100px;
	padding: 8px 14px;
	margin-bottom: 18px;
}

.rk-quote-aside h2{
	font-size: 34px;
	line-height: 1.15em;
	color: var(--white-color);
	margin-bottom: 14px;
}

.rk-quote-aside p{
	line-height: 1.6em;
	margin-bottom: 26px;
}

.rk-quote-points{
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
}

.rk-quote-points li{
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 500;
	color: var(--white-color);
	margin-bottom: 12px;
}

.rk-quote-direct{
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding-top: 24px;
}

.rk-quote-direct span{
	font-size: 14px;
}

.rk-quote-direct a{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--accent-font);
	font-size: 18px;
	font-weight: 600;
	color: var(--white-color);
}

.rk-quote-direct a:hover{
	text-decoration: underline;
}

.rk-quote-body{
	position: relative;
	padding: 48px 40px 40px;
}

.rk-quote-body label{
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 6px;
}

.rk-quote-body label span{
	color: var(--accent-color);
}

.rk-quote-body .form-control{
	transition: box-shadow 0.25s ease, background 0.25s ease;
}

.rk-quote-body .form-control:focus{
	background: var(--white-color);
	box-shadow: 0 0 0 2px var(--accent-color);
}

.rk-quote-body .has-error .form-control{
	box-shadow: 0 0 0 2px var(--error-color);
}

.rk-quote-body .help-block.with-errors ul{
	padding: 0;
	margin-top: 6px;
	list-style: none;
}

.rk-quote-submit{
	width: 100%;
	text-align: center;
	padding-left: 24px;
}

.rk-quote-submit .rk-submit-loading,
.rk-quote-submit.is-loading .rk-submit-label{
	display: none;
}

.rk-quote-submit.is-loading .rk-submit-loading{
	display: inline;
}

.rk-quote-submit.is-loading{
	pointer-events: none;
	opacity: 0.8;
}

.rk-quote-error{
	font-weight: 500;
	color: var(--error-color);
	margin: 12px 0 0;
}

.rk-quote-error:empty{
	display: none;
}

/* Success state replaces the form after a successful send */
.rk-quote-success{
	display: none;
	min-height: 100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px 10px;
}

.rk-quote-body.is-sent #quoteForm{
	display: none;
}

.rk-quote-body.is-sent .rk-quote-success{
	display: flex;
	animation: rkPop 0.6s var(--rk-ease-out) both;
}

.rk-success-icon{
	width: 84px;
	height: 84px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	color: var(--white-color);
	background: var(--rk-wa-color);
	border-radius: 50%;
	box-shadow: 0 0 0 12px #e7f7ed;
	margin-bottom: 28px;
	animation: rkPop 0.7s 0.1s var(--rk-ease-out) both;
}

.rk-quote-success h3{
	font-size: 26px;
	margin-bottom: 10px;
}

.rk-quote-success p{
	max-width: 380px;
	line-height: 1.6em;
	margin-bottom: 26px;
}

/* Plain Close button on the thank-you state (no diagonal arrow) */
.rk-quote-success .btn-default{
	padding: 17px 32px;
}

.rk-quote-success .btn-default::before{
	display: none;
}

@keyframes rkPop{
	from{ opacity: 0; transform: scale(0.85); }
	to{ opacity: 1; transform: none; }
}

/* The floating WhatsApp button would sit above the modal backdrop */
body.modal-open .call_whatsapp_div{
	display: none;
}

@media (prefers-reduced-motion: reduce){
	.rk-quote-modal.fade .modal-dialog,
	.rk-quote-modal .rk-quote-body .form-group,
	.rk-quote-modal .rk-quote-body .col-12:last-child,
	.rk-quote-modal .rk-quote-aside > *{
		transition: none;
		transform: none;
	}
}

/************************************/
/***        14. Responsive        ***/
/************************************/

@media only screen and (max-width: 1199px){
	.rk-trust-strip{
		margin-top: 0;
		padding-top: 60px;
	}

	.rk-application-list{
		margin-top: 40px;
	}

	.rk-featured-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 991px){
	.rk-trust-list{
		grid-template-columns: repeat(2, 1fr);
	}

	.rk-trust-item:nth-child(2){
		border-right: none;
	}

	.rk-trust-item:nth-child(-n + 2){
		border-bottom: 1px solid var(--divider-color);
	}

	.rk-products,
	.rk-featured,
	.rk-facilities,
	.rk-process{
		padding: 60px 0;
	}

	.rk-range-tiles{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rk-range-tile:last-child:nth-child(odd){
		grid-column: 1 / -1;
	}

	.rk-featured-grid{
		margin-bottom: 50px;
	}

	.rk-products-intro-cta{
		justify-content: flex-start;
		margin-top: 20px;
	}

	.rk-product-toolbar{
		border-radius: 20px;
	}

	.rk-product-search{
		flex: 1 1 100%;
	}

	/* Range tabs: one swipeable row instead of wrapping onto a second line */
	.rk-product-filter{
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		max-width: 100%;
	}

	.rk-product-filter::-webkit-scrollbar{
		display: none;
	}

	.rk-product-filter button{
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.rk-process-list{
		grid-template-columns: repeat(2, 1fr);
	}

	.rk-process-list::before{
		display: none;
	}

	.rk-contact-cards{
		padding-top: 60px;
	}

	.rk-company-facts{
		grid-template-columns: repeat(2, 1fr);
	}

	.rk-quote-grid{
		grid-template-columns: 1fr;
	}

	.rk-quote-aside{
		padding: 36px 30px 30px;
	}

	.rk-quote-aside h2{
		font-size: 28px;
	}

	/* Keep the modal compact on small screens: the points and direct links
	   duplicate information that is already on the page. */
	.rk-quote-points,
	.rk-quote-direct{
		display: none;
	}

	.rk-quote-aside p{
		margin-bottom: 0;
	}

	.rk-quote-body{
		padding: 30px;
	}

	.rk-quote-close{
		color: var(--white-color);
		background: rgba(255, 255, 255, 0.18);
	}
}

@media only screen and (max-width: 767px){
	.rk-trust-item{
		padding: 24px 12px;
	}

	.rk-trust-item h3{
		font-size: 30px;
	}

	.rk-range-header{
		align-items: flex-start;
	}

	.rk-range-symbol{
		flex-basis: 50px;
		width: 50px;
		height: 50px;
		font-size: 22px;
	}

	.rk-range-title h3{
		font-size: 22px;
	}

	.rk-range-title h3 small{
		display: block;
		margin: 4px 0 0;
	}

	.rk-application-list{
		grid-template-columns: 1fr;
	}

	.rk-range-tiles{
		grid-template-columns: 1fr;
	}

	.rk-facility-card{
		padding: 30px;
	}

	.rk-company-facts{
		grid-template-columns: 1fr;
	}

	/* Comparison table becomes a stacked list on phones */
	.rk-compare-head{
		padding: 20px;
	}

	.rk-compare-table{
		min-width: 0;
	}

	.rk-compare-table thead{
		display: none;
	}

	.rk-compare-table tbody tr{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px 12px;
		padding: 16px 20px;
		border-top: 1px solid var(--divider-color);
	}

	.rk-compare-table tbody th,
	.rk-compare-table tbody td{
		padding: 0;
		border: none;
	}

	.rk-compare-table tbody th{
		flex: 0 0 100%;
		display: flex;
		align-items: center;
	}

	.rk-compare-table tbody td:nth-child(3){
		order: 1;
	}

	.rk-compare-table tbody td:nth-child(2){
		order: 2;
		font-size: 14px;
	}

	.rk-compare-table tbody td:nth-child(4){
		order: 3;
		font-size: 13px;
		opacity: 0.7;
	}

	.rk-compare-table tbody td:nth-child(4)::before{
		content: 'HSN ';
	}

	.rk-compare-table tbody td:last-child{
		order: 4;
		margin-left: auto;
	}

}

@media only screen and (max-width: 575px){
	.rk-product-grid{
		--bs-gutter-x: 12px;
	}

	.rk-featured-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.rk-product-featured{
		top: auto;
		bottom: 8px;
		right: 8px;
		font-size: 0;
		gap: 0;
		padding: 5px 6px;
	}

	.rk-product-featured i{
		font-size: 10px;
	}

	.rk-product-placeholder{
		padding: 22px 0 24px;	/* clear of the type label above and % badge below */
	}

	.rk-product-placeholder span{
		font-size: 30px;
	}

	.rk-product-spec > div{
		flex-direction: column;
		gap: 0;
	}

	.rk-product-spec dd{
		text-align: left;
	}

	.rk-range-tile{
		padding: 24px;
	}

	.rk-product-card{
		height: calc(100% - 12px);
		margin-bottom: 12px;
		border-radius: 12px;
	}

	.rk-product-form{
		top: 8px;
		left: 8px;
		font-size: 9px;
		padding: 4px 8px;
	}

	.rk-product-assay{
		left: 8px;
		bottom: 8px;
		font-size: 15px;
		border-radius: 8px;
		padding: 6px 9px;
	}

	.rk-zoom-icon{
		display: none;
	}

	.rk-product-card-body{
		padding: 12px;
	}

	.rk-product-range-label{
		font-size: 10px;
		margin-bottom: 4px;
	}

	.rk-product-title{
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		margin-bottom: 12px;
	}

	.rk-product-card-body h4{
		font-size: 15px;
		overflow-wrap: anywhere;
	}

	.rk-btn-coa{
		height: 28px;
		font-size: 12px;
		border-radius: 7px;
		padding: 0 10px;
	}

	.rk-btn-coa i{
		font-size: 11px;
	}

	.contact-info-item-content h2{
		font-size: 16px;
	}

	.rk-product-spec{
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
		font-size: 12px;
		padding: 8px 10px;
	}

	.rk-product-actions{
		gap: 6px;
		margin-top: 10px;
	}

	.rk-btn-enquire{
		height: 38px;
		font-size: 13px;
		border-radius: 8px;
	}

	.rk-btn-enquire i{
		display: none;
	}

	.rk-btn-wa{
		flex-basis: 38px;
		width: 38px;
		height: 38px;
		font-size: 19px;
		border-radius: 8px;
	}

	.rk-product-toolbar{
		padding: 6px;
		margin-bottom: 36px;
	}

	.rk-product-filter button{
		font-size: 14px;
		padding: 9px 14px;
	}

	.rk-process-list{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.rk-quote-modal .modal-dialog{
		margin: 12px;
	}

	.rk-quote-body{
		padding: 24px 20px;
	}
}

/* Long e-mail addresses must wrap instead of running off narrow screens */
.contact-info-item-content h2{
	overflow-wrap: anywhere;
}

/* Touch screens: give small text links a finger-sized (≥40px) tap area */
@media only screen and (max-width: 991px){
	.about-us-conatct-content h3 a,
	.contact-info-item-content h2 a,
	.faq-contact-item-content p a{
		display: inline-block;
		padding: 9px 0;
	}

	.rk-compare-table .readmore-btn,
	.rk-facility-card .readmore-btn{
		padding-top: 10px;
		padding-bottom: 10px;
	}

	/* Tablets: tighter cells so all five columns, incl. Get Quote, fit without side-scrolling */
	.rk-compare-table th,
	.rk-compare-table td{
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media only screen and (max-width: 400px){
	.contact-info-item-content h2{
		font-size: 15px;
	}
}

/* Very narrow phones (≤380px): tighter two-column product cards */
@media only screen and (max-width: 380px){
	.rk-product-grid{
		--bs-gutter-x: 10px;
	}

	.rk-featured-grid{
		gap: 10px;
	}

	.rk-product-card-body{
		padding: 10px;
	}

	.rk-product-card-body h4{
		font-size: 14px;
	}

	.rk-product-form{
		font-size: 8px;
		letter-spacing: 0.04em;
		padding: 3px 6px;
	}

	.rk-product-assay{
		font-size: 13px;
		padding: 5px 7px;
	}

	.rk-product-placeholder span{
		font-size: 24px;
	}

	.rk-product-spec{
		font-size: 11px;
		padding: 7px 8px;
	}

	.rk-product-actions{
		gap: 5px;
	}

	.rk-btn-enquire{
		height: 36px;
		font-size: 12px;
	}

	.rk-btn-wa{
		flex-basis: 36px;
		width: 36px;
		height: 36px;
		font-size: 17px;
	}
}

/* Gallery page */
.page-gallery-box .rk-gallery-wide .photo-gallery img{
	aspect-ratio: 2.2 / 1;
}

.page-gallery-box .photo-gallery img.rk-gallery-top{
	object-position: center top;
}

@media only screen and (max-width: 767px){
	.page-gallery-box .rk-gallery-wide .photo-gallery img{
		aspect-ratio: 1.6 / 1;
	}
}

.page-gallery{
	padding-bottom: 90px;
}

.page-gallery-box .photo-gallery a{
	position: relative;
	display: block;
}

.page-gallery-box .photo-gallery figure{
	overflow: hidden;
}

.page-gallery-box .photo-gallery img{
	transition: transform 0.5s ease;
}

.page-gallery-box .photo-gallery a:hover img{
	transform: scale(1.05);
}

.rk-gallery-label{
	position: absolute;
	left: 16px;
	bottom: 16px;
	z-index: 2;
	max-width: calc(100% - 32px);
	padding: 7px 14px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
	pointer-events: none;
}

@media only screen and (max-width: 991px){
	.page-gallery{
		padding-bottom: 30px;
	}
}

@media only screen and (max-width: 767px){
	.page-gallery-box .photo-gallery{
		height: calc(100% - 16px);
		margin-bottom: 16px;
	}

	.rk-gallery-label{
		left: 8px;
		bottom: 8px;
		max-width: calc(100% - 16px);
		padding: 5px 10px;
		font-size: 11px;
	}
}

/* Inner page header — title + breadcrumb, animated product cluster, molecule pattern */
.page-header.rk-page-header{
	background: radial-gradient(circle at 78% 55%, #1d3a8a 0%, #0f1f4d 38%, #070e24 100%);
	padding: 200px 0 90px;
}

.rk-page-header:before{
	background: linear-gradient(90deg, rgba(7, 14, 36, 0.6) 0%, rgba(7, 14, 36, 0) 60%);
	opacity: 1;
}

.rk-page-header .container{
	position: relative;
	z-index: 2;
}

/* Molecule pattern */
.rk-ph-pattern{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
}

.rk-ph-bonds path{
	fill: none;
	stroke: rgba(120, 160, 255, 0.28);
	stroke-width: 1.5;
	stroke-dasharray: 6 8;
	animation: rkBondFlow 18s linear infinite;
}

.rk-ph-nodes circle{
	fill: rgba(120, 160, 255, 0.45);
	transform-box: fill-box;
	transform-origin: center;
	animation: rkNodePulse 4s ease-in-out infinite;
}

.rk-ph-nodes circle:nth-child(3n){ animation-delay: 1.3s; }
.rk-ph-nodes circle:nth-child(3n+1){ animation-delay: 2.6s; }

.rk-ph-particle{
	position: absolute;
	left: var(--x);
	bottom: -20px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(140, 180, 255, 0.55);
	box-shadow: 0 0 12px rgba(140, 180, 255, 0.8);
	z-index: 1;
	animation: rkParticleRise 12s linear infinite;
	animation-delay: var(--d);
	pointer-events: none;
}

/* Title + breadcrumb */
.rk-page-header .page-header-box{
	text-align: left;
}

.rk-page-header .page-header-box h1{
	display: block;
	font-size: 64px;
	margin-bottom: 24px;
}

.rk-page-header-tag{
	display: inline-block;
	margin-bottom: 18px;
	padding: 6px 16px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.page-header-box ol.rk-breadcrumb{
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	padding: 10px 22px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.rk-breadcrumb li.breadcrumb-item{
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	line-height: 1.4;
}

.rk-breadcrumb li.breadcrumb-item a{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: rgba(255, 255, 255, 0.75);
	transition: color 0.3s ease;
}

.rk-breadcrumb li.breadcrumb-item a:hover{
	color: var(--white-color);
}

.rk-breadcrumb li.breadcrumb-item a i{
	font-size: 13px;
}

.rk-breadcrumb li.breadcrumb-item.active{
	color: var(--white-color);
}

.page-header-box .rk-breadcrumb .breadcrumb-item+.breadcrumb-item::before{
	content: '\f054';
	font-family: 'Font Awesome 7 Free';
	font-weight: 900;
	font-size: 10px;
	line-height: 1;
	float: none;
	color: rgba(255, 255, 255, 0.6);
	padding-right: 10px;
}

.rk-breadcrumb .breadcrumb-item+.breadcrumb-item{
	padding-left: 10px;
}

/* Product cluster */
.rk-ph-visual{
	position: relative;
	width: 420px;
	height: 420px;
	margin: 0 0 0 auto;
}

.rk-ph-ring{
	position: absolute;
	top: 50%;
	left: 50%;
	overflow: visible;
}

.rk-ph-ring circle{
	fill: none;
	stroke: rgba(255, 255, 255, 0.28);
	stroke-width: 0.4;
	stroke-dasharray: 1.5 2.5;
}

.rk-ph-ring-outer{
	width: 420px;
	height: 420px;
	margin: -210px 0 0 -210px;
	animation: rkSpin 40s linear infinite;
}

.rk-ph-ring-inner{
	width: 330px;
	height: 330px;
	margin: -165px 0 0 -165px;
	animation: rkSpin 28s linear infinite reverse;
}

.rk-ph-ring-inner circle{
	stroke: rgba(120, 160, 255, 0.45);
	stroke-dasharray: 8 4;
}

.rk-ph-main,
.rk-ph-orb{
	position: absolute;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
}

.rk-ph-main img,
.rk-ph-orb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rk-ph-main{
	top: 50%;
	left: 50%;
	width: 250px;
	height: 250px;
	margin: -125px 0 0 -125px;
	border: 6px solid rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 0 14px rgba(255, 255, 255, 0.08), 0 30px 60px rgba(0, 0, 0, 0.45);
	animation: rkFloat 6s ease-in-out infinite;
}

.rk-ph-orb{
	border: 4px solid rgba(255, 255, 255, 0.85);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.4);
	animation: rkFloat 5s ease-in-out infinite;
}

.rk-ph-orb-1{
	top: 6px;
	left: 30px;
	width: 104px;
	height: 104px;
	animation-delay: -1s;
}

.rk-ph-orb-2{
	top: 40px;
	right: 0;
	width: 84px;
	height: 84px;
	animation-delay: -2.5s;
}

.rk-ph-orb-3{
	bottom: 20px;
	right: 34px;
	width: 96px;
	height: 96px;
	animation-delay: -3.5s;
}

.rk-ph-chip{
	position: absolute;
	left: 0;
	bottom: 56px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	padding: 10px 18px;
	border-radius: 14px;
	background: var(--white-color);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.3);
	animation: rkFloat 7s ease-in-out infinite;
	animation-delay: -2s;
}

.rk-ph-chip strong{
	font-size: 18px;
	line-height: 1.2;
	color: var(--accent-color);
}

.rk-ph-chip span{
	font-size: 12px;
	font-weight: 600;
	color: var(--primary-color);
}

@keyframes rkSpin{
	to{ transform: rotate(360deg); }
}

@keyframes rkFloat{
	0%, 100%{ transform: translateY(0); }
	50%{ transform: translateY(-12px); }
}

@keyframes rkBondFlow{
	to{ stroke-dashoffset: -280; }
}

@keyframes rkNodePulse{
	0%, 100%{ opacity: 0.5; transform: scale(1); }
	50%{ opacity: 1; transform: scale(1.5); }
}

@keyframes rkParticleRise{
	0%{ transform: translateY(0); opacity: 0; }
	15%{ opacity: 1; }
	100%{ transform: translateY(-640px); opacity: 0; }
}

@media (prefers-reduced-motion: reduce){
	.rk-ph-bonds path,
	.rk-ph-nodes circle,
	.rk-ph-particle,
	.rk-ph-ring,
	.rk-ph-main,
	.rk-ph-orb,
	.rk-ph-chip{
		animation: none;
	}
}

@media only screen and (max-width: 1199px){
	.rk-page-header .page-header-box h1{
		font-size: 52px;
	}
}

@media only screen and (max-width: 991px){
	.page-header.rk-page-header{
		padding: 70px 0 60px;
	}

	.rk-page-header .page-header-box{
		text-align: center;
		margin-bottom: 40px;
	}

	.rk-page-header .page-header-box h1{
		font-size: 44px;
	}

	.rk-ph-visual{
		margin: 0 auto;
	}
}

@media only screen and (max-width: 767px){
	.page-header.rk-page-header{
		padding: 50px 0 40px;
	}

	.rk-page-header .page-header-box{
		margin-bottom: 24px;
	}

	.rk-page-header .page-header-box h1{
		font-size: 34px;
		margin-bottom: 16px;
	}

	.rk-page-header-tag{
		font-size: 11px;
		padding: 5px 12px;
		margin-bottom: 12px;
	}

	.page-header-box ol.rk-breadcrumb{
		padding: 8px 16px;
	}

	.rk-breadcrumb li.breadcrumb-item{
		font-size: 13px;
	}

	.rk-ph-visual{
		margin: -58px 0 -58px 50%;
		transform: translateX(-50%) scale(0.72);
	}
}

/* Applications section — factory photo background under a navy overlay */
.our-features.rk-applications{
	overflow: hidden;
	background-image: url('../images/sections/applications-factory.jpg');
	background-size: cover;
	background-position: center 60%;
	background-color: #070e24;
}

.our-features.rk-applications:before{
	background: linear-gradient(100deg, rgba(7, 14, 36, 0.94) 0%, rgba(10, 22, 58, 0.8) 42%, rgba(13, 30, 80, 0.55) 100%);
	opacity: 1;
}

/************************************/
/***   Decorative animated vectors  ***/
/************************************/

.rk-has-vec{
	position: relative;
	isolation: isolate;
	overflow: clip;
}

.rk-vec{
	position: absolute;
	pointer-events: none;
	overflow: visible;
}

.rk-has-vec > .rk-vec{
	z-index: -1;
}

.rk-vec-light{
	color: var(--accent-color);
	opacity: 0.32;
}

.rk-vec-dark{
	color: rgb(120, 160, 255);
	opacity: 0.55;
}

.rk-vec-ring{
	fill: none;
	stroke: currentColor;
	stroke-width: 1.2;
}

.rk-vec-ring-dash{
	stroke-dasharray: 6 6;
}

.rk-vec-fill,
.rk-vec-nodes circle{
	fill: currentColor;
}

.rk-vec-bonds path{
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-dasharray: 6 8;
	opacity: 0.7;
	animation: rkBondFlow 18s linear infinite;
}

.rk-vec-spin{
	transform-box: view-box;
	transform-origin: 50% 50%;
	animation: rkSpin 30s linear infinite;
}

.rk-vec-spin.rk-vec-reverse{
	animation-duration: 20s;
	animation-direction: reverse;
}

.rk-vec-nodes circle,
.rk-vec-pulse{
	transform-box: fill-box;
	transform-origin: center;
	animation: rkNodePulse 4s ease-in-out infinite;
}

.rk-vec-nodes circle:nth-child(3n){ animation-delay: 1.3s; }
.rk-vec-nodes circle:nth-child(3n+1){ animation-delay: 2.6s; }

.rk-vec-molecule{
	animation: rkFloat 8s ease-in-out infinite;
}

.rk-vec-network{
	inset: 0;
	width: 100%;
	height: 100%;
}

.rk-vec-layer{
	z-index: 1;
}

.rk-vec-particle{
	position: absolute;
	left: var(--x);
	bottom: -20px;
	z-index: 1;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(140, 180, 255, 0.55);
	box-shadow: 0 0 12px rgba(140, 180, 255, 0.8);
	pointer-events: none;
	animation: rkParticleRise 13s linear infinite;
	animation-delay: var(--d);
}

/* Placement */
.rk-vec-about-orbit{
	top: 60px;
	left: 1.5%;
	width: 300px;
}

.rk-vec-about-molecule{
	right: 3%;
	bottom: 30px;
	width: 190px;
}

.rk-vec-why-molecule{
	right: 3%;
	bottom: 6px;
	width: 150px;
}

.rk-vec-why-orbit{
	bottom: 40px;
	left: 1%;
	width: 260px;
}

.rk-vec-what-molecule{
	top: 50px;
	right: 3%;
	width: 190px;
}

.rk-vec-what-orbit{
	bottom: 30px;
	left: 1%;
	width: 240px;
}

/* Footer: pattern behind everything */
.rk-footer .rk-vec-footer{
	z-index: 0;
	opacity: 0.16;
}

.rk-footer .rk-vec-particle{
	z-index: 0;
}

.rk-footer > .container{
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce){
	.rk-vec-bonds path,
	.rk-vec-spin,
	.rk-vec-nodes circle,
	.rk-vec-pulse,
	.rk-vec-molecule,
	.rk-vec-particle{
		animation: none;
	}
}

@media only screen and (max-width: 991px){
	.rk-vec-light{
		opacity: 0.22;
	}

	.rk-vec-about-orbit,
	.rk-vec-why-orbit,
	.rk-vec-what-orbit{
		width: 180px;
	}

	.rk-vec-about-molecule,
	.rk-vec-why-molecule,
	.rk-vec-what-molecule{
		width: 130px;
	}
}

@media only screen and (max-width: 767px){
	.rk-vec-about-molecule,
	.rk-vec-what-orbit,
	.rk-vec-why-orbit{
		display: none;
	}
}

/************************************/
/***   Who We Are (About page)    ***/
/************************************/

.rk-who-media{
	position: relative;
	margin-bottom: 70px;
}

.rk-who-media figure{
	display: block;
	border-radius: 24px;
	overflow: hidden;
}

.rk-who-media img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1858 / 846;
	object-fit: cover;
}

.rk-who-badge{
	position: absolute;
	top: 30px;
	right: 30px;
	z-index: 2;
	max-width: 290px;
	padding: 22px 26px;
	border-radius: 18px;
	background: var(--white-color);
	box-shadow: 0 20px 40px rgba(7, 14, 36, 0.15);
}

.rk-who-badge strong{
	display: block;
	font-family: var(--accent-font);
	font-size: 34px;
	line-height: 1.1;
	color: var(--primary-color);
	margin-bottom: 6px;
}

.rk-who-badge span{
	font-size: 15px;
	font-weight: 500;
	color: var(--primary-color);
}

.rk-who-body .section-title{
	margin-bottom: 0;
}

/************************************/
/***  What We Make visual (About) ***/
/************************************/

.rk-make-visual{
	position: relative;
	max-width: 560px;
	height: 560px;
	margin: 0 auto;
}

.rk-make-ring{
	position: absolute;
	top: 50%;
	left: 50%;
	overflow: visible;
}

.rk-make-ring circle{
	fill: none;
	stroke: var(--accent-color);
	stroke-width: 0.35;
	stroke-dasharray: 1.5 2.5;
	opacity: 0.55;
}

.rk-make-ring-outer{
	width: 520px;
	height: 520px;
	margin: -260px 0 0 -260px;
	animation: rkSpin 50s linear infinite;
}

.rk-make-ring-inner{
	width: 400px;
	height: 400px;
	margin: -200px 0 0 -200px;
	animation: rkSpin 34s linear infinite reverse;
}

.rk-make-ring-inner circle{
	stroke-dasharray: 6 4;
	opacity: 0.35;
}

.rk-make-molecule{
	top: 0;
	right: 0;
	width: 150px;
}

.rk-make-orb{
	position: absolute;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	background: var(--white-color);
	animation: rkFloat 6s ease-in-out infinite;
}

.rk-make-orb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rk-make-orb-main{
	top: 50%;
	left: 50%;
	width: 300px;
	height: 300px;
	margin: -150px 0 0 -150px;
	border: 8px solid var(--white-color);
	box-shadow: 0 0 0 14px rgba(54, 97, 207, 0.08), 0 30px 60px rgba(13, 32, 90, 0.18);
}

.rk-make-orb-small{
	left: 2%;
	bottom: 9%;
	width: 150px;
	height: 150px;
	border: 6px solid var(--white-color);
	box-shadow: 0 18px 40px rgba(13, 32, 90, 0.18);
	animation-duration: 5s;
	animation-delay: -2s;
}

.rk-make-chip{
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 100px;
	background: var(--white-color);
	box-shadow: 0 12px 30px rgba(13, 32, 90, 0.12);
	font-size: 14px;
	font-weight: 600;
	color: var(--primary-color);
	white-space: nowrap;
	animation: rkFloat 7s ease-in-out infinite;
}

.rk-make-chip-1{ top: 11%; left: 0; }
.rk-make-chip-2{ top: 50%; right: -10px; animation-delay: -2.5s; }
.rk-make-chip-3{ bottom: 5%; right: 20%; animation-delay: -4.5s; }

/************************************/
/***        FAQ (Home page)       ***/
/************************************/

.rk-faq{
	padding: 120px 0;
}

.rk-faq-intro .section-title{
	margin-bottom: 36px;
}

.rk-faq-help{
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 36px;
	border-radius: 24px;
	background: linear-gradient(135deg, #16307a 0%, #0a1433 100%);
	color: rgba(255, 255, 255, 0.75);
}

.rk-faq-help .rk-faq-help-orbit{
	z-index: -1;
	top: -70px;
	right: -70px;
	width: 240px;
	color: rgb(120, 160, 255);
	opacity: 0.35;
}

.rk-faq-help-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 22px;
	border-radius: 16px;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 22px;
}

.rk-faq-help h3{
	font-size: 24px;
	color: var(--white-color);
	margin-bottom: 10px;
}

.rk-faq-help p{
	margin-bottom: 24px;
}

.rk-faq-help-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.rk-faq-help-actions a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 0 22px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--white-color);
	font-family: var(--accent-font);
	font-size: 15px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.rk-faq-help-actions a:hover{
	background: var(--accent-color);
	transform: translateY(-2px);
}

.rk-faq-help-actions a.rk-faq-help-wa{
	background: #25d366;
}

.rk-faq-help-actions a.rk-faq-help-wa:hover{
	background: #1eb858;
}

.rk-faq-list{
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rk-faq-list .rk-faq-item{
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 18px;
	background: var(--white-color);
	overflow: hidden;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.rk-faq-list .rk-faq-item:has(.rk-faq-btn:not(.collapsed)){
	border-color: rgba(54, 97, 207, 0.45);
	box-shadow: 0 18px 40px rgba(13, 32, 90, 0.08);
}

.rk-faq-list .rk-faq-btn{
	display: flex;
	align-items: center;
	gap: 18px;
	width: 100%;
	padding: 22px 24px;
	background: transparent;
	box-shadow: none;
	font-family: var(--accent-font);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--primary-color);
	text-align: left;
}

.rk-faq-list .rk-faq-btn::after{
	display: none;
}

.rk-faq-list .rk-faq-btn:focus-visible{
	outline: 2px solid var(--accent-color);
	outline-offset: -2px;
}

.rk-faq-num{
	flex: 0 0 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: rgba(54, 97, 207, 0.1);
	color: var(--accent-color);
	font-size: 15px;
	font-weight: 700;
	transition: all 0.3s ease;
}

.rk-faq-q{
	flex: 1;
}

.rk-faq-toggle{
	flex: 0 0 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 50%;
	font-size: 13px;
	transition: all 0.3s ease;
}

.rk-faq-btn:not(.collapsed) .rk-faq-num,
.rk-faq-btn:not(.collapsed) .rk-faq-toggle{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.rk-faq-btn:not(.collapsed) .rk-faq-toggle{
	transform: rotate(45deg);
}

.rk-faq-answer{
	padding: 0 24px 24px 86px;
	line-height: 1.75;
}

/************************************/
/***   CTA card (above footer)    ***/
/************************************/

.rk-cta-band{
	position: relative;
	background: linear-gradient(180deg, var(--bg-color) 50%, #0a1433 50%);
}

.rk-cta-band.rk-cta-on-white{
	background: linear-gradient(180deg, var(--white-color) 50%, #0a1433 50%);
}

.rk-cta-band.rk-cta-on-dark{
	background: linear-gradient(180deg, #070e24 0%, #0a1433 100%);
}

.rk-cta-card{
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	align-items: center;
	gap: 40px;
	padding: 60px 64px;
	border-radius: 28px;
	background: linear-gradient(120deg, #3661cf 0%, #2448a8 55%, #16307a 100%);
	box-shadow: 0 30px 60px rgba(7, 14, 36, 0.35);
	color: rgba(255, 255, 255, 0.85);
}

.rk-cta-card .rk-vec-cta-net{
	z-index: -1;
	color: var(--white-color);
	opacity: 0.14;
}

.rk-cta-tag{
	display: inline-block;
	margin-bottom: 16px;
	padding: 6px 16px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.14);
	color: var(--white-color);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rk-cta-content h2{
	font-size: 44px;
	line-height: 1.15;
	color: var(--white-color);
	margin-bottom: 14px;
}

.rk-cta-content p{
	max-width: 520px;
	margin-bottom: 28px;
}

.rk-cta-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.rk-cta-btn{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 54px;
	padding: 0 28px;
	border-radius: 100px;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.rk-cta-btn-primary{
	background: var(--white-color);
	color: var(--accent-color);
}

.rk-cta-btn-primary i{
	font-size: 13px;
	transition: transform 0.3s ease;
}

.rk-cta-btn-primary:hover{
	background: #0a1433;
	color: var(--white-color);
}

.rk-cta-btn-primary:hover i{
	transform: translateX(4px);
}

.rk-cta-btn-ghost{
	border: 1px solid rgba(255, 255, 255, 0.5);
	color: var(--white-color);
}

.rk-cta-btn-ghost:hover{
	background: #25d366;
	border-color: #25d366;
	color: var(--white-color);
}

/* Download Catalogue in the CTA card — frosted fill so it stands apart from the WhatsApp outline */
.rk-cta-btn-catalogue{
	padding-left: 8px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: var(--white-color);
	backdrop-filter: blur(6px);
}

.rk-cta-btn-catalogue-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #ffb400;
	color: #0a1433;
	font-size: 14px;
	overflow: hidden;
}

.rk-cta-btn-catalogue:hover{
	background: #0a1433;
	border-color: #0a1433;
	color: var(--white-color);
}

.rk-cta-call{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 15px;
}

.rk-cta-call strong{
	color: var(--white-color);
}

.rk-cta-call:hover strong{
	text-decoration: underline;
}

.rk-cta-visual{
	position: relative;
	height: 300px;
}

.rk-cta-ring{
	position: absolute;
	top: 50%;
	left: 50%;
	overflow: visible;
}

.rk-cta-ring circle{
	fill: none;
	stroke: rgba(255, 255, 255, 0.35);
	stroke-width: 0.4;
	stroke-dasharray: 1.5 2.5;
}

.rk-cta-ring-outer{
	width: 300px;
	height: 300px;
	margin: -150px 0 0 -150px;
	animation: rkSpin 40s linear infinite;
}

.rk-cta-ring-inner{
	width: 230px;
	height: 230px;
	margin: -115px 0 0 -115px;
	animation: rkSpin 26s linear infinite reverse;
}

.rk-cta-orb{
	position: absolute;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	background: var(--white-color);
	animation: rkFloat 6s ease-in-out infinite;
}

.rk-cta-orb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rk-cta-orb-main{
	top: 50%;
	left: 50%;
	width: 180px;
	height: 180px;
	margin: -90px 0 0 -90px;
	border: 6px solid rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.08), 0 24px 50px rgba(0, 0, 0, 0.35);
}

.rk-cta-orb-small{
	top: 8%;
	left: 12%;
	width: 86px;
	height: 86px;
	border: 4px solid rgba(255, 255, 255, 0.9);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.3);
	animation-delay: -2.5s;
}

.rk-cta-badge{
	position: absolute;
	right: 4%;
	bottom: 10%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 100px;
	background: var(--white-color);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	animation: rkFloat 7s ease-in-out infinite;
	animation-delay: -1s;
}

.rk-cta-badge i{
	color: var(--accent-color);
}

/* Footer follows the CTA band: same top colour, glow moved off the seam */
.rk-footer{
	background:
		radial-gradient(700px 360px at 85% 35%, rgba(54, 97, 207, 0.26), transparent 70%),
		radial-gradient(500px 300px at 0% 100%, rgba(54, 97, 207, 0.16), transparent 70%),
		linear-gradient(180deg, #0a1433 0%, #050a1c 100%);
}

.rk-footer-top{
	padding-top: 80px;
}

.rk-footer-touch{
	list-style: none;
	margin: 0;
	padding: 0;
}

.rk-footer-col .rk-footer-touch li{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
	line-height: 1.6;
}

.rk-footer-touch-icon{
	flex: 0 0 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(54, 97, 207, 0.2);
	color: #8fb0ff;
	font-size: 14px;
}

.rk-footer-touch li > a{
	padding-top: 7px;
	color: var(--white-color);
	overflow-wrap: anywhere;
}

.rk-footer-touch strong{
	display: block;
	color: var(--white-color);
	font-size: 15px;
	padding-top: 7px;
}

.rk-footer-col .rk-footer-touch a:hover{
	transform: none;
	color: #8fb0ff;
}

/************************************/
/***   Responsive (new sections)  ***/
/************************************/

@media only screen and (min-width: 992px){
	.rk-faq-intro{
		position: sticky;
		top: 120px;
	}
}

@media only screen and (max-width: 1199px){
	.rk-make-visual{
		margin-bottom: 50px;
	}

	.rk-cta-content h2{
		font-size: 36px;
	}
}

@media only screen and (max-width: 991px){
	.rk-faq{
		padding: 60px 0;
	}

	.rk-faq-intro{
		margin-bottom: 40px;
	}

	.rk-who-media{
		margin-bottom: 40px;
	}

	.rk-who-body .section-title{
		margin-bottom: 30px;
	}

	.rk-cta-card{
		grid-template-columns: 1fr;
		padding: 44px 34px;
	}

	.rk-cta-visual{
		display: none;
	}

	.rk-footer-top{
		padding-top: 60px;
	}
}

@media only screen and (max-width: 767px){
	.rk-who-media figure{
		border-radius: 16px;
	}

	.rk-who-badge{
		position: relative;
		top: auto;
		right: auto;
		max-width: none;
		margin: -28px 16px 0;
		padding: 16px 20px;
	}

	.rk-who-badge strong{
		font-size: 26px;
	}

	.rk-make-visual{
		height: 400px;
		max-width: 400px;
	}

	.rk-make-ring-outer{
		width: 370px;
		height: 370px;
		margin: -185px 0 0 -185px;
	}

	.rk-make-ring-inner{
		width: 280px;
		height: 280px;
		margin: -140px 0 0 -140px;
	}

	.rk-make-orb-main{
		width: 210px;
		height: 210px;
		margin: -105px 0 0 -105px;
		border-width: 6px;
	}

	.rk-make-orb-small{
		width: 105px;
		height: 105px;
		border-width: 4px;
	}

	.rk-make-molecule{
		width: 100px;
	}

	.rk-make-chip{
		padding: 7px 12px;
		font-size: 12px;
	}

	.rk-make-chip-2{
		right: 0;
	}

	.rk-faq-list .rk-faq-btn{
		gap: 12px;
		padding: 18px 16px;
		font-size: 16px;
	}

	.rk-faq-num{
		flex-basis: 36px;
		height: 36px;
		font-size: 13px;
	}

	.rk-faq-toggle{
		flex-basis: 32px;
		height: 32px;
	}

	.rk-faq-answer{
		padding: 0 16px 20px;
	}

	.rk-faq-help{
		padding: 28px 24px;
	}

	.rk-cta-card{
		padding: 36px 24px;
		border-radius: 22px;
	}

	.rk-cta-content h2{
		font-size: 28px;
	}

	.rk-cta-btn{
		height: 50px;
		padding: 0 22px;
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce){
	.rk-make-ring,
	.rk-make-orb,
	.rk-make-chip,
	.rk-cta-ring,
	.rk-cta-orb,
	.rk-cta-badge{
		animation: none;
	}
}

/************************************/
/***    Site-wide polish (theme)  ***/
/************************************/

/* One navy theme for every dark band (replaces the template's black) */
.dark-section{
	background-color: #0a1433;
	background-image:
		radial-gradient(800px 420px at 85% 20%, rgba(54, 97, 207, 0.28), transparent 70%),
		linear-gradient(180deg, #0f1f4d 0%, #070e24 100%);
	background-size: auto;
}

.dark-section.rk-facilities{
	position: relative;
	overflow: hidden;
}

.rk-facilities .container{
	position: relative;
	z-index: 2;
}

.rk-company-facts > div{
	background: rgba(7, 14, 36, 0.55);
}

/* Product cards: brand-blue primary action */
.rk-btn-enquire{
	background: var(--accent-color);
}

.rk-btn-enquire:hover,
.rk-btn-enquire:focus-visible{
	background: #0a1433;
}

/* ---------------------------------------------------------------- Home hero */
.hero.rk-hero{
	background:
		radial-gradient(900px 520px at 78% 48%, rgba(54, 97, 207, 0.45) 0%, transparent 70%),
		linear-gradient(135deg, #0d1a45 0%, #070e24 100%);
}

.hero.rk-hero::before{
	background: linear-gradient(90deg, rgba(7, 14, 36, 0.55) 0%, transparent 60%);
}

.hero.rk-hero .container{
	z-index: 2;
}

.hero.rk-hero .hero-content{
	margin-right: 0;
}

/* Product showcase: stage + rotating ring of every product */
.rk-hs{
	--hs: 520px;
	--thumb: 54px;
	position: relative;
	width: var(--hs);
	height: var(--hs);
	margin-left: auto;
}

.rk-hs-track{
	position: absolute;
	inset: 4%;
	width: 92%;
	height: 92%;
	overflow: visible;
	pointer-events: none;
}

.rk-hs-track circle{
	fill: none;
	stroke: rgba(255, 255, 255, 0.22);
	stroke-width: 0.3;
	stroke-dasharray: 1.2 2;
}

.rk-hs-track-inner{
	inset: 13%;
	width: 74%;
	height: 74%;
	animation: rkSpin 40s linear infinite reverse;
}

.rk-hs-track-inner circle{
	stroke: rgba(120, 160, 255, 0.45);
	stroke-dasharray: 6 4;
}

.rk-hs-ring{
	position: absolute;
	inset: 0;
}

.rk-hs-thumb{
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--thumb);
	height: var(--thumb);
	margin: calc(var(--thumb) / -2) 0 0 calc(var(--thumb) / -2);
	padding: 0;
	border: 3px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	overflow: hidden;
	background: var(--white-color);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
	transform: rotate(var(--a)) translateY(calc(var(--hs) * -0.47)) rotate(calc(var(--a) * -1));
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.rk-hs-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	transition: filter 0.3s ease;
}

.rk-hs-thumb:not(.is-active) img{
	filter: saturate(0.75) brightness(0.9);
}

.rk-hs-thumb:hover,
.rk-hs-thumb:focus-visible{
	z-index: 2;
	border-color: var(--white-color);
	box-shadow: 0 0 0 4px rgba(120, 160, 255, 0.55), 0 8px 20px rgba(0, 0, 0, 0.35);
	outline: none;
}

.rk-hs-thumb.is-active{
	border-color: var(--accent-color);
	box-shadow: 0 0 0 4px rgba(54, 97, 207, 0.55), 0 0 24px rgba(120, 160, 255, 0.8);
}

.rk-hs-stage{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 68%;
	height: 68%;
	transform: translate(-50%, -50%);
	border: 7px solid rgba(255, 255, 255, 0.92);
	border-radius: 50%;
	overflow: hidden;
	background: var(--white-color);
	box-shadow: 0 0 0 16px rgba(255, 255, 255, 0.07), 0 30px 60px rgba(0, 0, 0, 0.5);
}

.rk-hs-slide{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.15);
	opacity: 0;
	transition: opacity 0.6s ease, transform 1.2s ease;
}

.rk-hs-slide.is-active{
	opacity: 1;
	transform: scale(1.02);
}

.rk-hs-card{
	position: absolute;
	left: 50%;
	bottom: -3%;
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	column-gap: 16px;
	width: 290px;
	padding: 14px 16px 14px 20px;
	border-radius: 16px;
	background: var(--white-color);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
	transform: translateX(-50%);
	color: var(--primary-color);
}

.rk-hs-card > *{
	grid-column: 1;
	transition: opacity 0.18s ease;
}

.rk-hs-card.is-changing > *:not(.rk-hs-go){
	opacity: 0;
}

.rk-hs-count{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--accent-color);
}

.rk-hs-card strong{
	font-family: var(--accent-font);
	font-size: 17px;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rk-hs-meta{
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	color: var(--text-color);
}

.rk-hs-meta .rk-dot{
	margin: 0;
}

.rk-hs-go{
	grid-column: 2;
	grid-row: 1 / span 3;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 13px;
	transition: transform 0.3s ease;
}

.rk-hs-card:hover .rk-hs-go{
	transform: rotate(-45deg);
}

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

	.rk-hs-slide{
		transition: opacity 0.3s ease;
	}
}

@media only screen and (max-width: 1399px){
	.rk-hs{
		--hs: 470px;
		--thumb: 48px;
	}
}

@media only screen and (max-width: 1199px){
	.rk-hs{
		--hs: 480px;
		margin: 60px auto 20px;
	}
}

@media only screen and (max-width: 575px){
	.rk-hs{
		--hs: min(340px, calc(100vw - 40px));
		--thumb: 36px;
		margin: 40px auto 10px;
	}

	.rk-hs-thumb{
		border-width: 2px;
	}

	.rk-hs-stage{
		border-width: 5px;
		box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.07), 0 20px 40px rgba(0, 0, 0, 0.5);
	}

	.rk-hs{
		margin-bottom: 96px;
	}

	.rk-hs-card{
		width: min(280px, 100%);
		top: calc(100% + 12px);
		bottom: auto;
		padding: 10px 12px 10px 16px;
	}

	.rk-hs-card strong{
		font-size: 15px;
	}

	.rk-hs-go{
		width: 34px;
		height: 34px;
	}
}

/* ---------------------------------------------------------------- Contact responsive */
@media only screen and (max-width: 991px){
	.rk-location{
		grid-template-columns: 1fr;
	}

	.rk-location .google-map-iframe.rk-map{
		min-height: 320px;
	}

	.rk-location-body{
		padding: 34px 28px;
	}
}

@media only screen and (max-width: 767px){
	.rk-contact-card{
		padding: 20px;
		gap: 14px;
	}

	.rk-contact-card .icon-box{
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		border-radius: 14px;
	}

	.rk-contact-card strong{
		font-size: 16px;
	}

	.rk-location{
		border-radius: 18px;
	}

	.rk-location .google-map-iframe.rk-map{
		min-height: 260px;
	}

	.rk-location-body h3{
		font-size: 24px;
	}
}

/* About page: Facilities as a light section, so the dark area starts at the CTA card */
.rk-facilities-light .rk-facility-card{
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 8px 24px;
	padding: 34px 36px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 22px;
	background: var(--bg-color);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.rk-facilities-light .rk-facility-card .icon-box{
	grid-row: span 2;
	width: 64px;
	height: 64px;
	margin: 0;
	border-radius: 18px;
	box-shadow: 0 12px 26px rgba(54, 97, 207, 0.3);
}

.rk-facilities-light .rk-facility-card h3{
	margin: 0;
	color: var(--primary-color);
}

.rk-facilities-light .rk-facility-card p{
	grid-column: 2;
	margin: 0;
	color: var(--text-color);
	opacity: 1;
}

.rk-facilities-light .rk-facility-card .readmore-btn{
	grid-column: 3;
	grid-row: 1 / span 2;
	color: var(--accent-color);
}

.rk-facilities-light .rk-facility-card .readmore-btn::before{
	filter: none;
}

.rk-facilities-light .rk-company-facts{
	gap: 16px;
	margin-top: 10px;
	background: transparent;
	overflow: visible;
}

.rk-facilities-light .rk-company-facts > div{
	padding: 26px 20px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 18px;
	background: var(--white-color);
	box-shadow: 0 14px 30px rgba(13, 32, 90, 0.06);
}

.rk-facilities-light .rk-company-facts span{
	color: var(--text-color);
	opacity: 1;
}

.rk-facilities-light .rk-company-facts strong{
	color: var(--accent-color);
}

.rk-vec-fac-orbit{
	top: 60px;
	left: 1%;
	width: 260px;
}

.rk-vec-fac-molecule{
	right: 3%;
	bottom: 40px;
	width: 170px;
}

@media only screen and (max-width: 767px){
	.rk-facilities-light .rk-facility-card{
		grid-template-columns: auto 1fr;
		padding: 26px 22px;
	}

	.rk-facilities-light .rk-facility-card .icon-box{
		grid-row: auto;
		width: 52px;
		height: 52px;
	}

	.rk-facilities-light .rk-facility-card p,
	.rk-facilities-light .rk-facility-card .readmore-btn{
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.rk-facilities-light .rk-company-facts{
		gap: 12px;
	}
}

/************************************/
/***   Responsive fixes (audit)   ***/
/************************************/

/* Contact photo: navy fade so the phone / e-mail text stays readable */
.contact-us-image figure::before{
	background: linear-gradient(180deg, rgba(7, 14, 36, 0) 30%, rgba(7, 14, 36, 0.92) 100%);
}

/* Footer product links: dot stays on the first line when the name wraps */
.rk-footer-col li a{
	align-items: flex-start;
}

.rk-footer-col li a .rk-dot{
	margin-top: 0.55em;
}

@media only screen and (max-width: 1199px){
	.rk-contact-card-arrow{
		display: none;
	}
}

@media only screen and (max-width: 991px){
	.rk-contact-card strong{
		font-size: 15px;
		overflow-wrap: normal;
		word-break: normal;
	}
}

@media only screen and (max-width: 767px){
	.rk-vec-fac-orbit{
		display: none;
	}

	.contact-us-image img{
		aspect-ratio: 4 / 3;
	}

	.contact-us-image figure::before{
		display: none;
	}

	.contact-image-box .contact-info-item-list{
		position: static;
		margin-top: 12px;
		padding: 20px;
		border-radius: 14px;
		background: linear-gradient(150deg, #16307a 0%, #0a1433 100%);
	}
}

@media only screen and (max-width: 400px){
	.rk-contact-card strong{
		font-size: 14px;
	}
}

/************************************/
/***  Mobile header & drawer      ***/
/************************************/

.rk-mbar-actions,
.rk-drawer,
.rk-drawer-backdrop{
	display: none;
}

@media only screen and (max-width: 991px){
	header.main-header{
		position: sticky;
		top: 0;
		z-index: 1000;
	}

	header.main-header .header-sticky{
		border-bottom: 1px solid transparent;
		transition: box-shadow 0.3s ease, border-color 0.3s ease;
	}

	header.main-header.is-scrolled .header-sticky{
		border-bottom-color: var(--divider-color);
		box-shadow: 0 8px 24px rgba(10, 20, 51, 0.08);
	}

	header.main-header .navbar{
		padding: 10px 0;
	}

	header.main-header .navbar-brand img{
		width: 54px;
		height: auto;
	}

	/* Header action buttons */
	.rk-mbar-actions{
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.rk-mbar-btn{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: none;
		border-radius: 12px;
		font-size: 16px;
		cursor: pointer;
		transition: transform 0.2s ease, background-color 0.2s ease;
	}

	.rk-mbar-btn:active{
		transform: scale(0.94);
	}

	.rk-mbar-call{
		background: var(--rk-mg-soft);
		color: var(--accent-color);
	}

	.rk-mbar-call:hover{
		color: var(--accent-color);
	}

	.rk-mbar-toggle{
		background: var(--accent-color);
		color: var(--white-color);
	}

	.rk-burger{
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 5px;
		width: 20px;
	}

	.rk-burger span{
		display: block;
		height: 2px;
		width: 100%;
		border-radius: 2px;
		background: currentColor;
	}

	.rk-burger span:nth-child(2){
		width: 70%;
	}

	.rk-burger span:nth-child(3){
		width: 45%;
	}

	/* Backdrop */
	.rk-drawer-backdrop{
		display: block;
		position: fixed;
		inset: 0;
		z-index: 10000;
		background: rgba(10, 20, 51, 0.5);
		-webkit-backdrop-filter: blur(3px);
		backdrop-filter: blur(3px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.35s ease, visibility 0.35s ease;
	}

	/* Drawer panel */
	.rk-drawer{
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 10001;
		width: min(86vw, 380px);
		background: var(--white-color);
		border-radius: 22px 0 0 22px;
		box-shadow: -20px 0 50px rgba(10, 20, 51, 0.18);
		transform: translateX(105%);
		visibility: hidden;
		transition: transform 0.45s var(--rk-ease-out), visibility 0.45s;
	}

	body.rk-drawer-open{
		overflow: hidden;
	}

	body.rk-drawer-open .rk-drawer-backdrop{
		opacity: 1;
		visibility: visible;
	}

	body.rk-drawer-open .rk-drawer{
		transform: translateX(0);
		visibility: visible;
	}

	body.rk-drawer-open .call_whatsapp_div{
		opacity: 0;
		pointer-events: none;
	}

	.rk-drawer-head{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 20px;
		border-bottom: 1px solid var(--divider-color);
	}

	.rk-drawer-logo img{
		width: 48px;
		height: auto;
	}

	.rk-drawer-close{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border: none;
		border-radius: 50%;
		background: var(--bg-color);
		color: var(--primary-color);
		font-size: 18px;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.3s ease;
	}

	.rk-drawer-close:hover{
		background: var(--rk-mg-soft);
		transform: rotate(90deg);
	}

	.rk-drawer-body{
		flex: 1;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 20px 16px;
	}

	.rk-drawer-label{
		display: block;
		padding: 0 12px 10px;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: #8a8f9c;
	}

	.rk-drawer-nav,
	.rk-drawer-sub ul{
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.rk-drawer-nav > li{
		opacity: 0;
		transform: translateX(16px);
		transition: opacity 0.4s ease, transform 0.5s var(--rk-ease-out);
	}

	body.rk-drawer-open .rk-drawer-nav > li{
		opacity: 1;
		transform: none;
	}

	body.rk-drawer-open .rk-drawer-nav > li:nth-child(1){ transition-delay: 0.08s; }
	body.rk-drawer-open .rk-drawer-nav > li:nth-child(2){ transition-delay: 0.12s; }
	body.rk-drawer-open .rk-drawer-nav > li:nth-child(3){ transition-delay: 0.16s; }
	body.rk-drawer-open .rk-drawer-nav > li:nth-child(4){ transition-delay: 0.20s; }
	body.rk-drawer-open .rk-drawer-nav > li:nth-child(5){ transition-delay: 0.24s; }

	.rk-drawer-link{
		display: flex;
		align-items: center;
		gap: 14px;
		flex: 1;
		padding: 12px;
		border-radius: 14px;
		font-size: 17px;
		font-weight: 600;
		color: var(--primary-color);
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.rk-drawer-link:hover,
	.rk-drawer-link:focus-visible{
		background: var(--bg-color);
		color: var(--primary-color);
	}

	.rk-drawer-ico{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 38px;
		height: 38px;
		border-radius: 11px;
		background: var(--bg-color);
		color: #5b6170;
		font-size: 15px;
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.rk-drawer-link.is-active,
	.rk-drawer-link.is-active:hover{
		background: var(--rk-mg-soft);
		color: var(--accent-color);
	}

	.rk-drawer-link.is-active .rk-drawer-ico{
		background: var(--accent-color);
		color: var(--white-color);
	}

	/* Products accordion */
	.rk-drawer-row{
		display: flex;
		align-items: center;
		gap: 6px;
	}

	.rk-drawer-expand{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 44px;
		height: 44px;
		border: none;
		border-radius: 12px;
		background: transparent;
		color: #5b6170;
		font-size: 13px;
		cursor: pointer;
		transition: background-color 0.2s ease;
	}

	.rk-drawer-expand:hover{
		background: var(--bg-color);
	}

	.rk-drawer-expand i{
		transition: transform 0.35s var(--rk-ease-out);
	}

	.rk-drawer-group.is-open .rk-drawer-expand i{
		transform: rotate(180deg);
	}

	.rk-drawer-sub{
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows 0.4s var(--rk-ease-out);
	}

	.rk-drawer-group.is-open .rk-drawer-sub{
		grid-template-rows: 1fr;
	}

	.rk-drawer-sub > ul{
		overflow: hidden;
		min-height: 0;
	}

	.rk-drawer-sub li:first-child{
		margin-top: 6px;
	}

	.rk-drawer-range{
		display: flex;
		align-items: center;
		gap: 12px;
		margin-left: 30px;
		padding: 9px 12px;
		border-left: 2px solid var(--divider-color);
		border-radius: 0 12px 12px 0;
		color: var(--text-color);
		font-size: 15px;
		font-weight: 500;
		line-height: 1.25;
		transition: background-color 0.2s ease, border-color 0.2s ease;
	}

	.rk-drawer-range small{
		display: block;
		font-size: 12px;
		font-weight: 400;
		color: #8a8f9c;
	}

	.rk-drawer-sym{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		min-width: 40px;
		height: 30px;
		padding: 0 6px;
		border-radius: 8px;
		font-size: 12px;
		font-weight: 700;
	}

	.rk-range-fe .rk-drawer-sym{ background: var(--rk-fe-soft); color: var(--rk-fe-color); }
	.rk-range-mg .rk-drawer-sym{ background: var(--rk-mg-soft); color: var(--rk-mg-color); }
	.rk-range-edta .rk-drawer-sym{ background: var(--rk-edta-soft); color: var(--rk-edta-color); }

	.rk-range-fe:hover{ border-left-color: var(--rk-fe-color); background: var(--rk-fe-soft); color: var(--text-color); }
	.rk-range-mg:hover{ border-left-color: var(--rk-mg-color); background: var(--rk-mg-soft); color: var(--text-color); }
	.rk-range-edta:hover{ border-left-color: var(--rk-edta-color); background: var(--rk-edta-soft); color: var(--text-color); }

	.rk-drawer-all{
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin: 6px 0 8px 44px;
		padding: 6px 0;
		font-size: 14px;
		font-weight: 600;
		color: var(--accent-color);
	}

	.rk-drawer-all i{
		font-size: 12px;
		transition: transform 0.2s ease;
	}

	.rk-drawer-all:hover i{
		transform: translateX(3px);
	}

	/* Footer actions */
	.rk-drawer-foot{
		padding: 16px 20px calc(20px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--divider-color);
		background: var(--bg-color);
		border-bottom-left-radius: 22px;
	}

	.rk-drawer-cta{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		padding: 15px 20px;
		border-radius: 14px;
		background: var(--accent-color);
		color: var(--white-color);
		font-size: 16px;
		font-weight: 600;
		box-shadow: 0 10px 22px rgba(54, 97, 207, 0.3);
		transition: background-color 0.2s ease, transform 0.2s ease;
	}

	.rk-drawer-cta:hover,
	.rk-drawer-cta:focus-visible{
		background: #2a50b3;
		color: var(--white-color);
	}

	.rk-drawer-cta:active{
		transform: scale(0.98);
	}

	.rk-drawer-contact{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin-top: 10px;
	}

	.rk-drawer-contact a{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 12px 10px;
		border: 1px solid var(--divider-color);
		border-radius: 12px;
		background: var(--white-color);
		color: var(--primary-color);
		font-size: 15px;
		font-weight: 600;
		transition: border-color 0.2s ease;
	}

	.rk-drawer-contact a i{
		color: var(--accent-color);
	}

	.rk-drawer-contact a.is-wa i{
		color: var(--rk-wa-color);
		font-size: 18px;
	}

	.rk-drawer-contact a:hover{
		border-color: var(--accent-color);
		color: var(--primary-color);
	}

	.rk-drawer-catalogue{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		margin-top: 10px;
		padding: 12px 10px;
		border: 1px dashed var(--accent-color);
		border-radius: 12px;
		color: var(--accent-color);
		font-size: 15px;
		font-weight: 600;
		transition: background-color 0.2s ease;
	}

	.rk-drawer-catalogue:hover{
		background: rgba(54, 97, 207, 0.08);
		color: var(--accent-color);
	}

	.rk-drawer-mail{
		display: block;
		margin-top: 12px;
		text-align: center;
		font-size: 13px;
		color: #8a8f9c;
		word-break: break-all;
	}
}

@media (prefers-reduced-motion: reduce){
	.rk-drawer,
	.rk-drawer-backdrop,
	.rk-drawer-nav > li,
	.rk-drawer-sub{
		transition: none !important;
	}
}

/* 404 page */
.rk-404{
	padding: 100px 0;
}

.rk-404 .section-title{
	max-width: 640px;
	margin: 0 auto 30px;
}

.rk-404-actions{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}

@media only screen and (max-width: 767px){
	.rk-404{
		padding: 60px 0;
	}
}

/* reCAPTCHA v2 checkbox on the enquiry forms (304 × 78 px widget) */
.rk-recaptcha{
	min-height: 78px;
}

@media only screen and (max-width: 374px){
	/* the widget has a fixed width; shrink it so it fits small phones */
	.rk-recaptcha{
		transform: scale(0.86);
		transform-origin: left top;
		min-height: 67px;
		height: 67px;
	}
}

/* WhatsApp fallback shown when e-mail sending fails */
.rk-wa-fallback{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	padding: 6px 14px;
	font-size: 14px;
	font-weight: 600;
	color: #fff !important;
	background: #25d366;
	border-radius: 999px;
	text-decoration: none;
}

.rk-wa-fallback:hover{
	background: #128c4a;
}

/* Preloader: compact spinner ring with the logo inside (theme default was a 200px ring) */
.preloader{
	z-index: 10050; /* above the sticky header (1000), WhatsApp button (9999) and mobile drawer (10001) */
}

.loading-container,
.loading{
	width: 110px;
	height: 110px;
}

.loading-container{
	margin: 0;
}

.loading{
	border-width: 2px;
}

#loading-icon{
	width: 58%;
	line-height: 0;
}

#loading-icon img{
	display: block;
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 767px){
	.loading-container,
	.loading{
		width: 90px;
		height: 90px;
	}
}

/* ==========================================================================
   Contact persons (config.php → $company['people'])
   One pattern everywhere: a small caption (name · role) above the number.
   ========================================================================== */

/* Contact page cards: avatar + details, then a row of two labelled buttons */
.rk-person-card{
	flex-wrap: wrap;
	row-gap: 18px;
}

.rk-person-card .rk-contact-card-text{
	flex: 1 1 150px;
}

.rk-person-avatar{
	font-family: var(--accent-font);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: var(--white-color);
	background: linear-gradient(135deg, #3661cf 0%, #1d3a8a 100%);
}

.rk-person-card strong{
	font-size: 17px;
	line-height: 1.3;
}

.rk-person-phone{
	display: inline-block;
	margin-top: 4px;
	font-size: 15px;
	font-weight: 600;
	color: var(--accent-color);
	white-space: nowrap;
}

.rk-person-phone:hover{
	color: var(--primary-color);
}

.rk-person-actions{
	flex: 0 0 100%;
	display: flex;
	gap: 10px;
	padding-top: 16px;
	border-top: 1px solid rgba(15, 23, 42, 0.07);
}

.rk-person-btn{
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 42px;
	padding: 0 12px;
	border-radius: 100px;
	background: rgba(54, 97, 207, 0.1);
	color: var(--accent-color);
	font-family: var(--accent-font);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.rk-person-btn i{
	font-size: 14px;
}

.rk-person-btn:hover{
	background: var(--accent-color);
	color: var(--white-color);
	transform: translateY(-2px);
}

.rk-person-btn-wa{
	background: rgba(37, 211, 102, 0.14);
	color: #128c4a;
}

.rk-person-btn-wa i{
	font-size: 17px;
}

.rk-person-btn-wa:hover{
	background: #25d366;
	color: var(--white-color);
}

/* Email address may only wrap after the "@" (a <wbr> is placed there) */
.rk-contact-card .rk-email-text{
	overflow-wrap: normal;
	word-break: normal;
}

/* Contact page location panel: caption above the number, icon centred on both lines */
.rk-location-list li.rk-location-person-item{
	align-items: center;
}

.rk-location-list .rk-location-person{
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding-top: 0;
	line-height: 1.35;
}

.rk-location-person small{
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.55);
}

.rk-location-person small b{
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
}

.rk-location-list .rk-location-person a{
	padding-top: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--white-color);
}

.rk-location-list .rk-location-person a:hover{
	color: #8fb0ff;
}

/* CTA band: "or call" followed by every number, separated by a thin divider */
.rk-cta-call{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}

.rk-cta-call a{
	color: var(--white-color);
	font-weight: 600;
}

.rk-cta-call a:hover{
	text-decoration: underline;
}

.rk-cta-call-sep{
	width: 1px;
	height: 16px;
	background: rgba(255, 255, 255, 0.35);
}

/* Quote popup aside: number with the person's name underneath */
.rk-quote-direct a.rk-quote-person{
	align-items: center;
}

.rk-quote-direct .rk-quote-person span{
	display: flex;
	flex-direction: column;
	font-size: 18px;
	line-height: 1.25;
}

.rk-quote-direct .rk-quote-person small{
	font-family: var(--default-font);
	font-size: 12.5px;
	font-weight: 400;
	opacity: 0.75;
}

.rk-quote-direct a.rk-quote-person:hover{
	text-decoration: none;
}

.rk-quote-direct a.rk-quote-person:hover span{
	text-decoration: underline;
}

/* About page "Sales Enquiries": both numbers, one per line */
.about-us-conatct-content h3.rk-about-phones{
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 19px;
	line-height: 1.3;
}

.rk-cta-call-label{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Phones: numbers stacked under the label instead of wrapping with a stray divider */
@media only screen and (max-width: 575px){
	.rk-cta-call{
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.rk-cta-call-sep{
		display: none;
	}

	.rk-cta-call a{
		padding-left: 24px; /* lines up with the text after the phone icon */
		font-size: 16px;
	}
}

/* About "Sales Enquiries": keep the two stacked numbers close (the theme pads phone links for tapping) */
.about-us-conatct-content h3.rk-about-phones a{
	padding: 2px 0;
}

/* FAQ help box: two equal call buttons side by side, WhatsApp full width below */
.rk-faq-help-actions{
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.rk-faq-help-actions a{
	justify-content: center;
	padding: 0 16px;
	white-space: nowrap;
}

.rk-faq-help-actions a.rk-faq-help-wa{
	grid-column: 1 / -1;
}

@media only screen and (max-width: 575px){
	.rk-faq-help-actions{
		grid-template-columns: 1fr;
	}
}

/* Small laptops: the FAQ column is too narrow (~310–400px) for two numbers side by side */
@media only screen and (min-width: 992px) and (max-width: 1199px){
	.rk-faq-help-actions{
		grid-template-columns: 1fr;
	}
}

/* Email card on the contact page — same structure as the person cards */
.rk-email-card .rk-person-phone{
	white-space: normal;
	overflow-wrap: normal;
	word-break: normal;
}

.rk-person-btn-quote{
	background: var(--accent-color);
	color: var(--white-color);
}

.rk-person-btn-quote:hover{
	background: var(--primary-color);
	color: var(--white-color);
}

/* Small laptops: keep the e-mail address on one line so all three card dividers line up */
@media only screen and (min-width: 992px) and (max-width: 1199px){
	.rk-email-card .rk-person-phone{
		font-size: 14px;
	}
}

/* Cards in a row are equal height; pin the button row to the bottom so the dividers always line up */
.rk-person-card{
	align-content: space-between;
}

/* ==========================================================================
   Footer "Get In Touch": every item = icon + small caption + value
   ========================================================================== */
.rk-footer-col .rk-footer-touch li.rk-touch-item{
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 20px;
	line-height: 1.5;
}

.rk-footer-col .rk-footer-touch li.rk-touch-item:last-child{
	margin-bottom: 0;
}

.rk-touch-body{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	min-width: 0;
	padding-top: 1px;
}

.rk-touch-label{
	font-size: 12.5px;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.55);
}

.rk-touch-label b{
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
}

.rk-footer-col .rk-footer-touch a.rk-touch-value{
	padding-top: 0;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--white-color);
	overflow-wrap: normal;
}

.rk-footer-col .rk-footer-touch a.rk-touch-value:hover{
	color: #8fb0ff;
}

.rk-touch-address{
	font-size: 14.5px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.75);
}

.rk-touch-address > span{
	white-space: nowrap;
}

.rk-footer-col .rk-footer-touch .rk-footer-map-btn{
	margin-top: 10px;
	padding: 7px 14px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 100px;
	font-size: 13px;
	line-height: 1.2;
	color: var(--white-color);
	transition: background 0.3s ease, border-color 0.3s ease;
}

.rk-footer-col .rk-footer-touch .rk-footer-map-btn:hover{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}
