/*!
Theme Name: Aplus
Author: Sergey Ohanyan
Author URI: https://test.com/
Description: Theme developed specially for Additive Plus.
Version: 1.0
Text Domain: aplus
*/

/* FONTS */
@font-face {
	font-family: 'SFProDisplay';
	font-style: normal;
	font-weight: 100;
	font-display: swap;
	src: url('assets/fonts/SF-Pro-Display-Thin.woff2') format('woff2');
}

@font-face {
	font-family: 'SFProDisplay';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/SF-Pro-Display-Regular.woff2') format('woff2');
}

@font-face {
	font-family: 'SFProDisplay';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('assets/fonts/SF-Pro-Display-Medium.woff2') format('woff2');
}

@font-face {
	font-family: 'SFProDisplay';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/SF-Pro-Display-Bold.woff2') format('woff2');
}

/* VARIABLES */
:root {
	--gold: #D6B16F;
	--dark: #040508;
	--darkBlue: #0C2047;
	--lightBlue: #2568DD;
	--grey: #6C6B6B;
	--lightGrey: #F4F5F7;
}

/* GENERAL */
html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	background-color: #fff;
	color: var(--dark);
	font-family: 'SFProDisplay', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	/*overflow-x: hidden;*/
}

a,
button,
input {
	transition: all .3s linear;
	outline: none;
}

a {
	text-decoration: none;
	color: inherit;
}

p {
	margin: 0;
}

button {
	cursor: pointer;
}

a:hover,
a:active,
a:focus {
	text-decoration: none;
	outline: none;
}

button:hover,
button:active,
button:focus {
	outline: none;
}

select,
button {
	appearance: none;
	-webkit-appearance: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	margin: 0;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
h1:hover a,
h2:hover a,
h3:hover a,
h4:hover a,
h5:hover a,
h6:hover a {
	color: inherit;
}

/* ADDITIONAL */
.website-container {
	max-width: 1320px;
	margin: 0 auto;
}

.ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.bg-cover {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.text-uppercase {
	text-transform: uppercase;
}

.c-white {
	color: #fff!important;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.mb-0 {
	margin-bottom: 0;
}

/* HEADER */
.header-top-section {
	background-color: var(--dark);
	color: #fff;
	padding: 0 15px;
}

.header-top-section-inner,
.header-bottom-section-inner {
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-bottom-section-inner .left {
	display: flex;
	align-items: center;
}

.header-top-section-inner .info-list {
	display: flex;
	font-size: 12px;
	gap: 20px;
}

.header-bottom-section {
	border-bottom: 1px solid #D6D8DB;
	padding: 0 15px;
}

.custom-logo {
	max-width: 160px;
}

.header-buttons-wrap {
	display: flex;
	gap: 20px;
	align-items: center;
}

.account-wrap i,
.search-wrap i {
	font-size: 22px;
}

form.search-form,
.search-wrap {
	position: relative;	
}

.search-opener {
	cursor: pointer;
}

.search-wrap-inner {
	position: absolute;
	top: -5px;
	right: 0;
	display: none;
}

form.search-form .search-submit {
	position: absolute;
	top: 7px;
	right: 10px;
	border: none;
	background: none;
	font-size: 20px;
	padding: 0;
}

form.search-form .search-field {
	border: 1px solid var(--gold);
	border-radius: 50px;
	padding: 10px;
}

/* BLOCKS */
#main-information {
	padding: 32px 0 50px 15px;
}

.page-section,
.page-section,
.main-home,
.footer-menu-wrap,
.footer-middle-section,
.footer-top-section,
.short-cards-inner.right,
.short-cards,
.cta-cards,
.light-slider,
.colored-list-inner,
.advantages-block,
.category-cards,
.latest-posts,
.light-cards,
.content-with-background,
.colored-block-image-content,
.layered-map,
.contrast-cards,
.simple-cards,
.stats,
#main-information,
.main-information {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
}

#page-section,
#main-home,
#short-cards,
#cta-cards,
#light-slider,
#gallery-block,
#advantages-block,
#cta-block,
#latest-posts,
#light-cards,
#contrast-cards-with-background,
#simple-block,
#render-shortcode,
#content-with-background,
#layered-map,
#contrast-cards,
#simple-cards {
	padding: 60px 15px;
}

.layered-map-inner,
.main-information-inner {
	grid-column: span 6;
}

.main-information-inner .img-container {
	float: right;
}

.colored-title {
	color: var(--gold);
}

#main-information {
	position: relative;
}

#main-information .website-container-outer {
	position: absolute;
	top: 32px;
	left: 50%;
	transform: translate(-50%);
	width: 100%;
	padding: 0 15px;
}

.page-title {
	font-size: 40px;
	line-height: 140%;
	text-transform: uppercase;
}

.page-subtitle {
	font-size: 24px;
	line-height: 140%;
}

.main-information-inner p.content {
	max-width: 572px;
	margin: 26px 0;
}

.default-btn {
	border: 2px solid var(--gold);
	background-color: var(--gold);
	font-size: 20px;
	font-weight: 500;
	height: 48px;
	align-items: center;
	display: inline-flex;
	padding: 0 20px;
	color: var(--dark);
	border-radius: 4px;
}

.default-btn.small {
	height: 30px;
	font-size: 14px;
	padding: 0 10px;
}

.default-btn.contrast {
    background-color: #fff;
}

.default-btn:hover {
	color: var(--dark);
	background-color: #fff;
	text-decoration: none;
}

.default-btn.contrast:hover {
    background-color: var(--gold);
}

#stats {
	background-color: #C8CBD8;
	padding: 40px 15px;
	margin: 60px 0;
}

.stat {
	grid-column: span 4;
	gap: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.counter-label {
	color: #3F3F3F;
	font-size: 20px;
	font-weight: 500;
	padding: 10px;
	border-left: 1px solid #20201F;
	max-width: 165px;
}

.counter {
	font-size: 56px;
	font-weight: 700;
	color: var(--gold);
}

.counter:after {
	content: "+";
}

.page-section,
.main-home-inner,
.footer-top-section-inner,
.short-cards-inner.right,
.short-cards,
.cta-cards,
.light-slider,
.advantages-block,
.category-cards,
.light-cards,
.colored-block-image-content,
.contrast-cards,
.simple-cards {
	gap: 30px;
}

.contrast-card,
.simple-card {
	grid-column: span 3;
	border-radius: 10px;
	box-shadow: 0px 4px 10px 0px #00000026;
}

.simple-cards.top-bordered .simple-card {
	border-top: 10px solid var(--gold);
}

.simple-cards.top-bordered .simple-card .image {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.simple-card .content {
	padding: 6px 15px 20px 15px;
}

.simple-card .text {
	color: #6C6B6B;
	font-size: 14px;
}

.simple-card .title {
	font-size: 20px;
	margin: 10px 0 0 0;
	min-height: 60px;
}

.simple-card {
	position: relative;
}

.simple-card .number {
	position: absolute;
	top: -10px;
	left: -10px;
	font-size: 24px;
	height: 38px;
	width: 38px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	background-color: var(--gold);
	border: 5px solid #fff;
}

.section-title {
	text-align: center;
	font-size: 40px;
	line-height: 56px;
	margin-bottom: 24px;
}

.section-title.large {
	font-size: 56px;
}

.section-title.small {
	font-size: 24px;
	line-height: 32px;
}

.section-title.left {
	text-align: left;
}

.section-subtitle {
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	color: rgb(102, 102, 102);
	max-width: 715px;
	margin: 0 auto;
}

.section-subtitle.small {
	font-size: 16px;
}

.simple-card .image {
	height: 173px;
	border-radius: 10px;
}

#contrast-cards {
	background-color: #C8CBD8;
}

.contrast-cards,
.simple-cards {
	margin-top: 40px;
}

.contrast-card {
	padding: 10px;
	background-color: #fff;
}

.contrast-card .image {
	border-radius: 8px;
	background-color: var(--lightGrey);
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.search-result .image img,
.aplus-blog-post .image img,
.page-section-inner .image img,
#product-slider .slide .image img,
.main-home-inner .image img,
.gallery-block-item img,
#image-slider .slide img,
.light-card .image img,
.category-card .image img,
.contrast-card .image img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.contrast-card .title {
	font-size: 20px;
	margin: 10px 0 0 0;
	text-align: center;
}

.contrast-card .text {
	color: #6C6B6B;
	font-size: 14px;
	text-align: center;
	margin-top: 10px;
}

#layered-map {
	position: relative;
}

#layered-map:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 60px;
	width: 980px;
	height: 530px;
	background-image: url("assets/images/layered-map.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
	pointer-events: none;
	z-index: -1;
}

#layered-map:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background-color: #C8CBD8;
	z-index: -1;
}

.layered-map-inner.right .image {
	height: 520px;
	max-width: 570px;
	border-radius: 20px;
	position: relative;
}

.layered-map-inner.right .image:after {
	content: "";
	position: absolute;
	bottom: -60px;
	right: -80px;
	width: 200px;
	height: 100px;
	background-color: var(--gold);
	border-radius: 10px;
}

.map-wrapper {
	border-radius: 20px;
	background-color: #fff;
	border: 24px solid #fff;
	width: 120%;
	box-shadow: 0px 20px 40px 0px #15151526;
	z-index: 1;
	position: relative;
}

.colored-block-image-content-inner.left {
	grid-column: span 4;
}

.content-with-background-inner,
.colored-block-image-content-inner.right {
	grid-column: span 8;
}

.colored-block-image-content-inner .image {
	height: 90%;
	max-width: 370px;
	border-radius: 20px;
	margin-top: 5%;
}

#colored-block-image-content {
	position: relative;
	padding: 30px 15px;
}

#colored-block-image-content:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 210px;
	height: 100%;
	background-color: var(--gold);
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	z-index: -1;
}

#content-with-background {
	margin: 60px 0;
}

#simple-block {
	position: relative;
}

#simple-block:before {
	content: url("assets/images/left-pattern.webp");
	position: absolute;
	left: 0;
	bottom: 0;
	pointer-events: none;
	z-index: -1;
}

#simple-block:after {
	content: url("assets/images/right-pattern.webp");
	position: absolute;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: -1;
}

.contrast-cards-with-background {
	display: grid;
	grid-template-columns: repeat(20, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.contrast-card-with-background {
	background-color: var(--darkBlue);
	border-radius: 8px;
	padding: 8px 8px 16px 8px;
	grid-column: span 4;
}

.contrast-card-with-background .image {
	height: 132px;
	border-radius: 8px;
}

.contrast-card-with-background .link:hover,
.contrast-card-with-background .link {
	font-size: 14px;
	color: var(--gold);
}

.contrast-card-with-background .content {
	padding: 0 7px;
}

.contrast-card-with-background .title {
	font-size: 20px;
	margin: 8px 0 16px 0;
}

#contrast-cards-with-background .default-btn {
	margin: 40px auto 0 auto;
}

#light-cards.with-background {
	background: linear-gradient(180deg, #FFFFFF 34.15%, #D6B16F 100%);
	position: relative;
}

#light-cards.with-background:after {
	content: url("assets/images/light-cards.webp");
	position: absolute;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 0;
}

.light-cards {
	margin-top: 40px;
}

.light-card {
	grid-column: span 3;
	border-bottom: 1px solid #000;
}

.light-card.category {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.light-card img {
	max-width: 100%;
}

.light-card .image {
	height: 190px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #EAEDF1;
	border-radius: 8px;
}

.light-card .content {
	padding: 20px 16px;
}

.light-card.category .content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.light-card .cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 20px;
	margin-top: auto;
}

.starter-price {
	font-weight: 700;
}

.light-card .title {
	font-size: 16px;
	text-transform: uppercase;
	margin: 0;
	min-height: 45px;
}

.light-card .text {
	font-size: 12px;
	margin-top: 15px;
}

.light-card .info {
	font-size: 14px;
	font-weight: 700;
}

.render-shortcode {
	margin: 40px 0;
}

#latest-posts {
	background-color: var(--dark);
}

.latest-posts {
	gap: 20px;
	margin-bottom: 40px;
}

.latest-post {
	grid-column: span 4;
	box-shadow: 0px 4px 10px 0px #00000026;
}

.latest-post .image {
	height: 310px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}

.latest-post .content {
	background-color: #fff;
	padding: 24px;
	border-bottom-right-radius: 20px;
	border-bottom-left-radius: 20px;
}

.latest-post .category-link {
	font-size: 14px;
	color: var(--lightBlue);
}

.latest-post .date {
	color: #7E8299;
	font-size: 14px;
}

.latest-post .post-title {
	font-size: 18px;
	margin: 4px 0 8px 0;
}

#cta-block {
	position: relative;
	background: linear-gradient(90deg, #000000 0%, #3b2a18 40%, #8a6f45 75%, #bfa36a 100%);
}

.cta-block {
	display: flex;
	justify-content: space-between;
	align-items: end;
}

#cta-block:after {
	content: url("assets/images/cta-block.webp");
	position: absolute;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 0;
}

.cta-block .content {
	font-size: 60px;
	color: var(--gold);
	line-height: 120%;
	text-transform: uppercase;
	font-weight: 700;
	max-width: 800px;
}

#category-cards {
	padding: 0 15px;
}

.category-card {
	grid-column: span 4;
	box-shadow: 10px 10px 16px 0px rgba(3.0000000000000004, 5.000000000000009, 20, 0.1);
	padding: 0 16px;
	border-top: 10px solid var(--gold);
	border-radius: 10px;
}

.category-card .title {
	font-size: 20px;
	line-height: 20px;
	margin: 20px 0;
}

.cta-card .image,
.category-card .image {
	height: 200px;
}

.category-card-list {
	margin: 0;
	padding: 16px 30px;
}

.category-card-list a:hover {
	color: var(--gold);
}

#image-slider .slide {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#colored-list,
#image-slider .website-container {
	position: relative;
}

#image-slider .arrow-prev,
#image-slider .arrow-next {
	position: absolute;
	cursor: pointer;
	color: var(--gold);
	font-size: 32px;
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
}

#image-slider .arrow-prev {
	left: -20px;
}

#image-slider .arrow-next {
	right: -20px;
}

.advantage-block {
	grid-column: span 4;
	min-height: 110px;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .2);
	display: flex;
	align-items: center;
	border-radius: 4px;
}

.advantage-block .heading {
	font-weight: 400;
	font-size: 22px;
	padding: 20px;
}

.advantage-block .icon {
	background-color: var(--lightBlue);
	color: #fff;
	font-size: 36px;
	height: 100%;
	width: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

#colored-list {
	padding: 60px 0;
}

#colored-list:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40%;
	z-index: -1;
	background-color: var(--gold);
}

#colored-list.dark-blue:before {
	background-color: var(--darkBlue);
}

.colored-list {
	border-radius: 10px;
	background-color: #fff;
	position: relative;
	padding: 40px 60px 20px 60px;
	border-top: 10px solid var(--gold);
}

#colored-list.dark-blue .colored-list {
	border-top: 10px solid var(--darkBlue);
}

.colored-list:before {
	content: url("assets/images/colored-list.webp");
	position: absolute;
	right: 0;
	bottom: 80px;
	z-index: 0;
}

.colored-list .section-title {
	text-align: left;
	margin-bottom: 60px;
}

.colored-list-item {
	grid-column: span 6;
	padding: 0 30px;
	position: relative;
	margin-bottom: 40px;
}

.colored-list-item:before {
	content: '';
	width: 14px;
	height: 14px;
	background-color: var(--gold);
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
}

#colored-list.dark-blue .colored-list-item:before {
	background-color: var(--darkBlue);
}

.colored-list-item .title {
	font-size: 20px;
	font-weight: 500;
}

.colored-list-item p {
	color: var(--grey);
}

.gallery-block {
	display: grid;
	grid-template-columns: repeat(20, 1fr);
	gap: 30px;
}

.gallery-block-item {
	grid-column: span 4;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#light-slider {
	position: relative;
	background-color: rgba(244, 245, 247, .3);
}

#light-slider:before {
	content: "";
	background-image: url("assets/images/light-slider.webp");
	background-color: rgba(244, 245, 247, .3);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 180px;
}

.light-slider {
	position: relative;
	z-index: 1;
}

.light-slider-inner.left {
	grid-column: span 3;
}

.light-slider-inner.right {
	grid-column: span 9;
}

.light-slider .section-title {
	text-align: left;
}

.light-slider .slide {
	box-shadow: 0px 4px 10px 0px #00000026;
	border: 1px solid;
	border-image-source: linear-gradient(285.34deg, #00D9CE 16.45%, #7854FF 87.28%);
	background-color: #fff;
	border-radius: 10px;
	padding: 20px 30px 40px 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.light-slider .swiper-wrapper {
	align-items: stretch;
}

.light-slider .swiper-slide {
	display: flex;
	height: auto;
}

.light-slider .slide .heading {
	margin: 8px 0;
}

.light-slider .slide .description {
	font-size: 14px;
	color: var(--grey);
}

.light-slider-inner.left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.light-slider .controls {
	display: flex;
	justify-content: right;
	align-items: center;
}

.light-slider .bullets {
	margin-top: -9px;
}

.light-slider .swiper-pagination-bullets.swiper-pagination-horizontal {
	width: unset;
}

.light-slider .arrow-prev,
.light-slider .arrow-next {
	color: var(--gold);
	font-size: 18px;
	cursor: pointer;
}

.light-slider .swiper-pagination-bullet {
	width: 10px;
	height: 3px;
	border-radius: 5px;
	background-color: var(--gold);
}

.light-slider .swiper-pagination-bullet.swiper-pagination-bullet-active {
	width: 22px;
	border-radius: 5px;
}

.cta-card {
	grid-column: span 3;
	position: relative;
}

.cta-card:before {
	content: "";
	background: linear-gradient(182.08deg, rgba(12, 32, 71, 0) 65.78%, #000206 98.77%);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.cta-card .title {
	position: absolute;
	width: 90%;
	left: 5%;
	bottom: 5px;
	color: #fff;
	font-weight: 700;
	font-size: 20px;
}

.short-cards-inner.left {
	grid-column: span 3;
}

.short-cards-inner.right {
	grid-column: span 9;
}

.short-card {
	grid-column: span 6;
	background-color: #fff;
	border-top: 6px solid var(--gold);
	border-radius: 10px;
	padding: 30px 24px;
}

.short-card .title {
	font-size: 20px;
}

.short-card .text {
	font-weight: 500;
	margin-top: 10px;
}

.pc-materials-list.aplus-shortcode {
	max-width: unset;
	grid-template-columns: repeat(3, 1fr);
}

#main-home {
	position: relative;
}

#main-home:before {
	content: url(assets/images/main-home.webp);
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 0;
}

.main-home-inner.left {
    grid-column: span 7;
}

.main-home-inner.right {
	grid-column: span 5;
}

.main-home-inner .section-title {
	text-align: left;
	margin-bottom: 16px;
}

.main-home-inner .list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 24px 0;
}

.main-home-inner .list li {
	width: 290px;
	flex-shrink: 0;
	font-weight: 700;
	border-left: 3px solid var(--gold);
	padding-left: 10px;
}

.btn-container {
	display: flex;
	gap: 24px;
}

#product-slider {
	padding: 60px 0;
	background-color: var(--lightGrey);
}

#product-slider .swiper {
	width: 100%;
	overflow: hidden;
}

#product-slider .swiper-slide {
	display: flex;
	height: auto;
	width: 100%; 
}

#product-slider .slide {
	border: 1px solid var(--dark);
	border-radius: 8px;
	background-color: #fff;
	width: 100%; 
	display: flex;
	flex-direction: column;
}

#product-slider .slide .separator {
	height: 1px;
	background-color: var(--dark);
}

#product-slider .slide .image {
	height: 170px;
	border-radius: 8px;
}

#product-slider .slide .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}

#product-slider .slide .info {
	padding: 16px;
	flex: 1; 
}

#product-slider .slide .info.bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto; 
	flex: 0; 
}

#product-slider .slide .woocommerce-Price-amount.amount {
	font-weight: 700;
}

#product-slider .slide .heading {
	font-size: 20px;
	font-weight: 700;
	margin-top: 16px;
}

#product-slider .swiper-wrapper {
	align-items: stretch;
}

#product-slider .swiper-slide {
	height: auto;
	display: flex;
	width: 100%; 
}

.product-slider-inner {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
	padding: 0 15px;
}

.product-slider-inner .default-btn {
	position: relative;
	margin-right: 62px;
}

.product-slider-inner .default-btn:after {
	position: absolute;
	content: "\f35d";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	margin-left: 10px;
	top: 0;
	right: -62px;
	background-color: var(--gold);
	display: flex;
	align-items: center;
	justify-content: center;
	height: calc(100% + 2px);
	width: 48px;
	border-radius: 5px;
}

/* FOOTER */
footer {
	background-color: var(--lightGrey);
	padding: 20px 15px;
}

.footer-middle-section-inner {
	grid-column: span 6;
}

.footer-top-section-inner {
	grid-column: span 6;
	display: flex;
	align-items: center;
}

.footer-top-section-inner .info-list i {
	color: var(--lightBlue);
	font-size: 20px;
}

.footer-top-section-inner .info-list li {
	display: flex;
	gap: 20px;
	margin-bottom: 30px;
}

.footer-top-section-inner .info-list .heading {
	font-weight: 700;
	text-transform: uppercase;
	margin-top: -5px;
}

.footer-menu-wrap {
	gap: 40px;
}

.footer-menu-wrap-inner {
	grid-column: span 3;
}

.footer-menu-wrap .heading {
	font-weight: 500;
}

.footer-menu ul li a {
	font-size: 14px;
}

.footer-menu ul li {
	margin-top: 7px;
}

.subscription-heading {
	font-size: 28px;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.w-printing {
	display: flex;
	gap: 30px;
	align-items: center;
	font-size: 14px;
	line-height: 20px;
	margin-top: 30px;
}

.location-note {
	color: var(--grey);
	margin-top: 30px;
}

.footer-middle-section-info {
	grid-column: span 12;
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	font-size: 14px;
}

.footer-middle-section-info i {
	color: var(--gold);
}

.copyright {
	font-size: 14px;
	color: var(--grey);
}

.footer-bottom-section {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-bottom-section .social {
	display: flex;
	gap: 20px;
}

.footer-bottom-section .social a {
	display: flex;
	width: 32px;
	height: 32px;
	background-color: rgba(4, 5, 8, .13);
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}

.footer-bottom-section .social a:hover {
	color: var(--gold);
}

#sib-container {
	background: none!important;
	padding: 0!important;
}

.sib-form {
	padding: 0!important;
}

#sib-form {
	position: relative;
	left: -20px;
}

/* MEDIAS */
@media (max-width: 768px) {
	.main-information,
	#main-information {
		position: unset;
		display: block;
	}

	#main-information .website-container-outer {
		position: unset;
		top: unset;
		left: unset;
		transform: unset;
	}

	.stat {
		grid-column: span 12;
		margin: 15px 0;
	}

	.cta-card,
	.contrast-card,
	.simple-card {
		grid-column: span 4;
	}

	.footer-top-section-inner,
	.short-cards-inner.right,
	.short-cards-inner.left,
	.light-slider-inner.right,
	.light-slider-inner.left {
		grid-column: span 12;
	}

	#layered-map:before {
		height: 68%;
	}

	.layered-map-inner.right .image:after {
		display: none;
	}

	.gallery-block-item,
	.contrast-card-with-background {
		grid-column: span 5;
	}

	.footer-menu-wrap-inner,
	.advantage-block,
	.category-card,
	.latest-post {
		grid-column: span 6;
	}

	.cta-block .content {
		font-size: 40px;
	}

	.pc-materials-list.aplus-shortcode {
		grid-template-columns: repeat(2, 1fr);
	}
	
	#colored-list .website-container {
		width: 90%;
	}

	.header-top-section-inner .info-list li:not(:nth-child(2)) {
		display: none;
	}
}

@media (max-width: 576px) {
	.cta-card,
	.light-card,
	.colored-block-image-content-inner.left,
	.colored-block-image-content-inner.right,
	.contrast-card,
	.simple-card {
		grid-column: span 6;
	}

	.header-buttons-wrap li:last-child,
	.layered-map-inner.right .image {
		display: none;
	}

	.footer-middle-section-inner,
	.main-home-inner.left,
	.main-home-inner.right,
	.colored-list-item,
	.advantage-block,
	.latest-post,
	.content-with-background-inner,
	.layered-map-inner {
		grid-column: span 12;
	}

	.map-wrapper {
		width: unset;
	}

	.section-title {
		font-size: 32px;
	}

	.section-title.large {
		font-size: 40px;
	}

	.contrast-card-with-background {
		grid-column: span 10;
	}

	.category-card {
		grid-column: span 12;
	}

	.cta-block .content {
		font-size: 32px;
	}
	
	.footer-menu-wrap {
		margin-top: 30px;
	}
	
	.footer-middle-section-info {
		display: unset;
		text-align: center;
	}

	#image-slider .arrow-next {
		right: 0;
	}

	#image-slider .arrow-prev {
		left: 0;
	}
}

@media (max-width: 416px) {
	body {
		font-size: 14px;
	}

	.colored-block-image-content-inner.left,
	.colored-block-image-content-inner.right,
	.contrast-card,
	.simple-card {
		grid-column: span 12;
	}

	#colored-block-image-content:before {
		width: 100%;
		height: 210px;
		border-bottom-right-radius: unset;
		border-top-left-radius: 20px;
	}

	.colored-block-image-content-inner .image {
		max-width: unset;
		height: 560px;
	}

	.cta-block {
		display: block;
	}

	.cta-block .content {
		margin-bottom: 30px;
	}

	.gallery-block-item {
		height: 60px;
		grid-column: span 10;
	}
}

@media (max-width: 376px) {
	.light-card,
	.contrast-card-with-background {
		grid-column: span 12;
	}
}

/* FAQ */
.general-faq {
	max-width: 1030px;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.14901960784313725);
	border: 1px solid rgba(4, 5, 8, .1);
	border-radius: 20px;
	padding: 40px;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	position: relative;
}

.general-faq:after {
	content: url("assets/images/left-pattern.webp");
	position: absolute;
	left: 20px;
	bottom: 102px;
	pointer-events: none;
	z-index: 0;
	transform: scale(2);
}

.general-faq-header {
	grid-column: span 12;
}

.general-faq-inner.left {
	grid-column: span 4;
}

.general-faq-inner.right {
	grid-column: span 8;
}

.general-faq .title {
	font-size: 40px;
	line-height: 48px;
	text-transform: uppercase;
	font-weight: 600;
}

.general-faq.flexible .title {
	text-align: center;
	line-height: unset;
	margin-bottom: 40px;
}

.single-faq {
	padding: 16px 20px;
	border-bottom: 1px solid var(--dark);
	border-radius: 16px;
}

.faq-question {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.faq-question::after {
	content: "\f067";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	margin-left: 10px;
	float: right;
}

.faq-question.opened::after {
	content: "\f068";
}

.faq-answer {
	display: none;
	padding-top: 16px;
}

.faq-heading {
	font-size: 20px;
	font-weight: 700;
	padding-left: 20px;
	text-transform: uppercase;
	color: var(--gold);
}

@media (max-width: 1200px) {
	.general-faq .title {
		font-size: 32px;
		line-height: 38px;
	}
}

@media (max-width: 768px) {
	.general-faq:after {
		transform: unset;
		bottom: 0;
	}

	.general-faq {
		padding: 16px;
	}

	.general-faq .title {
		margin-bottom: 30px;
	}

	.general-faq-inner.right,
	.general-faq-inner.left {
		grid-column: span 12;
	}
}

@media (max-width: 416px) {
	.general-faq .title {
		font-size: 24px;
		line-height: 28px;
	}
}

/* MONTH OFFERS */
#month-offers {
	position: relative;
	width: 100%;
	padding: 60px 15px;
	background: linear-gradient(180deg, #FFFFFF 0%, #2568DD 100%);
	overflow: hidden;
}
#month-offers::before,
#month-offers::after {
	content: "";
	position: absolute;
	background-image:
			linear-gradient(45deg, transparent 48%, rgba(120, 140, 175, 0.18) 48%, rgba(120, 140, 175, 0.18) 52%, transparent 52%),
			linear-gradient(-45deg, transparent 48%, rgba(120, 140, 175, 0.18) 48%, rgba(120, 140, 175, 0.18) 52%, transparent 52%);
	background-size: 22px 22px;
	opacity: 0.55;
	pointer-events: none;
}
#month-offers::before {
	top: 0; left: 0;
	width: 330px; height: 330px;
	mask-image: radial-gradient(circle at top left, #000 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(circle at top left, #000 30%, transparent 75%);
}
#month-offers::after {
	bottom: 0; right: 0;
	width: 500px; height: 400px;
	mask-image: radial-gradient(circle at bottom right, #000 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(circle at bottom right, #000 30%, transparent 75%);
}
#month-offers .intro {
	position: relative;
	text-align: center;
	max-width: 724px;
	margin: 0 auto 40px;
	z-index: 2;
}
#month-offers .intro h1 {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	margin-bottom: 16px;
	letter-spacing: 0.5px;
}
#month-offers .intro p {
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: 0.2px;
	font-weight: 400;
	color: #040508;
}
#month-offers .cards {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 30px;
	justify-content: center;
	flex-wrap: wrap;
}
#month-offers .card {
	position: relative;
	width: 605px;
	border-radius: 14px;
	overflow: hidden;
	background: linear-gradient(135deg, #1a2d5c 0%, #0f1a3d 100%);
	box-shadow: 0 10px 30px rgba(20, 30, 60, 0.25);
	display: flex;
}
#month-offers .card-photo {
	position: relative;
	width: 299px;
	height: 309px;
	margin: 16px 0 16px 16px;
	border-radius: 8px;
	background: #eaedf1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}
#month-offers .card-photo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#month-offers .ribbon {
	position: absolute;
	top: 30px;
	left: 0;
	background: #e01212;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.28px;
	padding: 11px 16px;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	z-index: 3;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
#month-offers .card-body {
	flex: 1;
	padding: 23px 18px 18px 18px;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	position: relative;
}
#month-offers .card-title {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 12px;
}
#month-offers .card-desc {
	font-size: 12px;
	line-height: 1.35;
	font-weight: 500;
	margin-bottom: 10px;
	color: #d8deea;
}
#month-offers .includes {
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 12px;
}
#month-offers .includes b {
	font-weight: 700;
	font-size: 16px;
}
#month-offers .hurry {
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	margin-bottom: 6px;
}
#month-offers .countdown {
	display: flex;
	gap: 10px;
	margin-bottom: 14px;
}
#month-offers .count-box {
	width: 40px;
	text-align: center;
}
#month-offers .count-box .num {
	display: block;
	width: 40px;
	height: 35px;
	line-height: 35px;
	background: #e01212;
	border-radius: 5px;
	font-weight: 700;
	font-size: 16px;
	color: #fff;
}
#month-offers .count-box .label {
	display: block;
	margin-top: 3px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
}
#month-offers .price-row {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 14px;
	display: flex;
	align-items: baseline;
	gap: 18px;
}
#month-offers .price-row .price {
	font-size: 20px;
	font-weight: 700;
}
#month-offers .btn-row {
	display: flex;
	gap: 12px;
	margin-top: auto;
}
#month-offers .btn {
	width: 120px;
	height: 32px;
	border-radius: 4px;
	border: 1px solid #d6b16f;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background: transparent;
	color: #fff;
	transition: filter 0.15s ease, transform 0.15s ease;
	text-decoration: none;
}
#month-offers .btn:hover { filter: brightness(1.1); }
#month-offers .btn:active { transform: translateY(1px); }
#month-offers .btn-primary {
	background: #d6b16f;
	color: #040508;
}
@media (max-width: 1300px) {
	#month-offers { padding: 60px 40px; }
	#month-offers .cards { gap: 20px; }
	#month-offers .card { width: 100%; max-width: 605px; }
}
@media (max-width: 720px) {
	#month-offers .intro h1 { font-size: 28px; }
	#month-offers .intro p { font-size: 16px; }
	#month-offers .card {
		flex-direction: column;
		height: auto;
	}
	#month-offers .card-photo {
		width: calc(100% - 32px);
		height: 240px;
		margin: 16px;
	}
	#month-offers .card-body { padding: 16px; }
	#month-offers .ribbon { top: 46px; }
}

/* WEEK OFFER */
#week-offer {
	position: relative;
	width: 100%;
	height: 415px;
	background: #000;
	margin-bottom: 80px;
	border-top: 7px solid var(--gold);
	border-bottom: 10px solid var(--gold);
}

#week-offer .banner-bg-image {
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	height: 100%;
	background: url("https://www.figma.com/api/mcp/asset/875df547-7994-4b38-aef1-b72a62aed760") center / cover no-repeat,
	#2a3a5c;
}

#week-offer .banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
			105.89deg,
			rgb(0, 0, 0) 12.7%,
			rgb(55, 114, 255) 71.6%,
			rgba(55, 114, 255, 0) 90%
	);
	z-index: 1;
}

#week-offer .banner::before,
#week-offer .banner::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	background: #d6b16f;
	z-index: 4;
}

#week-offer .banner::before {
	top: 0;
	height: 8px;
}

#week-offer .banner::after {
	bottom: 0;
	height: 16px;
}

#week-offer .inner {
	position: relative;
	z-index: 3;
	max-width: 1320px;
	margin: 0 auto;
	height: 100%;
}

#week-offer .content {
	position: relative;
	z-index: 3;
	padding: 54px 0 0;
	color: #ffffff;
	max-width: 580px;
}

#week-offer .content h1 {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.64px;
	text-transform: uppercase;
	line-height: 1.25;
	margin-bottom: 18px;
}

#week-offer .content .subtitle {
	font-size: 20px;
	line-height: 1.6;
	font-weight: 700;
	margin-bottom: 30px;
}

#week-offer .content .subtitle .light {
	display: block;
	font-weight: 700;
}

#week-offer .hurry {
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	margin-bottom: 12px;
}

#week-offer .countdown {
	display: flex;
	gap: 10px;
	margin-bottom: 22px;
}

#week-offer .count-box {
	width: 48px;
	text-align: center;
}

#week-offer .count-box .num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: #d6b16f;
	border-radius: 5px;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

#week-offer .count-box .label {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
}

#week-offer .cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 282px;
	height: 48px;
	background: #d6b16f;
	border: 1px solid #d6b16f;
	border-radius: 4px;
	color: #040508;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-decoration: none;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.15s ease;
}

#week-offer .cta:hover {
	filter: brightness(1.07);
}

#week-offer .cta:active {
	transform: translateY(1px);
}

#week-offer .product-card {
	position: absolute;
	bottom: -40px;
	right: 0;
	width: 556px;
	height: 303px;
	background: #eaedf1;
	border: 10px solid #fff;
	border-radius: 8px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

#week-offer .product-card.form-box {
	background: #fff;
	display: unset;
	padding: 24px 30px;
	height: unset;
}


#week-offer .product-card img {
	max-width: 75%;
	max-height: 80%;
	object-fit: contain;
}

@media (max-width: 1200px) {
	#week-offer .inner {
		padding: 0 40px;
	}

	#week-offer .product-card {
		right: 0;
		width: 460px;
		height: 260px;
		top: 80px;
	}
}

@media (max-width: 900px) {
	#week-offer {
		height: auto;
		padding-bottom: 40px;
	}

	#week-offer .banner-bg-image {
		width: 100%;
		opacity: 0.4;
	}

	#week-offer .product-card {
		position: relative;
		top: auto;
		right: auto;
		margin: 30px auto 0;
		width: calc(100% - 40px);
		max-width: 460px;
	}

	#week-offer .content {
		padding: 50px 30px 0;
		max-width: none;
	}

	#week-offer .content h1 {
		font-size: 26px;
	}

	#week-offer .content .subtitle {
		font-size: 17px;
	}
}

/* POPUP */
.aplus-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .2);
	display: none;
	z-index: 999999;
}

.aplus-popup-container {
	max-width: 550px;
	min-width: 500px;
	height: 500px;
	background: #fff;
	border-radius: 20px;
	position: relative;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	transform: translateX(-50%);
	top: 100px;
	left: 50%;
	padding: 40px 16px 16px 16px;
}

.aplus-popup-container:before {
	content: "";
	position: absolute;
	inset: 0;
	height: 30px;
	background: linear-gradient(75.35deg,#3772FF 29.79%,#D6B16F 75.58%);
	border-radius: 20px 20px 0 0;
	pointer-events: none;
}

.aplus-popup-close {
	position: absolute;
	top: 40px;
	right: 8px;
	background: none;
	border: none;
	font-size: 20px;
	cursor: pointer;
}

@media (max-width: 600px) {
	.aplus-popup-container {
		min-width: unset;
		width: 400px;
	}
}

@media (max-width: 375px) {
	.aplus-popup-container {
		width: 345px;
	}
}

/* DEFAULT PAGES */
#not-found {
    padding: 60px 15px;
    text-align: center;
}

.page-section-inner.left {
	grid-column: span 8;
}

.page-section-inner.right {
	grid-column: span 4;
}

.page-section-inner .image {
	max-width: 610px;
}

.page-section-inner .section-title {
	text-align: left;
	margin: 20px 0 10px 0;
}

.page-section-inner .info {
	display: flex;
	gap: 30px;
	margin-bottom: 40px;
}

.page-section-inner .info i {
	color: var(--gold);
}

.from-the-blog li {
	display: flex;
	gap: 30px;
	border-top: 1px solid var(--grey);
	margin-top: 20px;
	padding-top: 20px;
	align-items: center;
}

.from-the-blog .image {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	flex-shrink: 0;
}

.single-sidebar .heading {
	font-size: 18px;
	font-weight: 500;
	color: var(--grey);
}

.single-sidebar .social {
	margin-bottom: 40px;
	margin-top: 20px;
	display: flex;
	gap: 20px;
}

.single-sidebar .social a:hover {
	color: var(--gold);
}

.search-result {
	grid-column: span 12;
	display: flex;
	gap: 30px;
}

.search-result .image {
	width: 100px;
	height: 100px;
}

.search-result .heading {
	font-size: 18px;
	margin-bottom: 10px;
}

.aplus-blog-post {
	grid-column: span 4;
}

.aplus-blog-post .image {
	height: 290px;
	text-align: center;
}

.aplus-blog-post .heading {
	font-size: 18px;
	margin: 10px 0;
}

.aplus-blog-post .date {
	font-size: 14px;
	color: var(--grey);
	margin-bottom: 10px;
}

.aplus-blog-pagination .page-numbers {
	display: flex;
	list-style-type: none;
	gap: 20px;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
}

.aplus-blog-pagination span.current {
	background-color: var(--dark);
	color: #fff;
	padding: 3px 10px;
}

@media (max-width: 900px) {
	.page-section-inner.left,
	.page-section-inner.right {
		grid-column: span 12;
	}

	.aplus-blog-post {
		grid-column: span 6;
	}
}

@media (max-width: 576px) {
	.aplus-blog-post {
		grid-column: span 12;
	}
}

/* SERVICES */
.aplus-service-wrap {
	padding-top: 60px;
	padding-bottom: 60px;
}

#service-1.aplus-service-wrap {
	padding-top: unset;
}

#service-8 {
	background-color: #F9f9fa;
}

#service-7 {
	background-color: #F5f5f7;
}

#service-10 {
	background-color: #0d1d52;
}

#service-10.light {
	background-color: #F5F5F7;
}

#service-1 .quote-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: stretch;
}

/* Left side – dark navy panel */
#service-1 .promo-panel {
	background: #0d1d52;
	padding: 50px 50px 45px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	color: #fff;
}

#service-1 .promo-image {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	min-height: 280px;
}

#service-1 .promo-image img {
	max-width: 100%;
	max-height: 320px;
	object-fit: contain;
}

#service-1 .promo-title {
	font-size: 22px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3;
	letter-spacing: 0.3px;
	margin-bottom: 26px;
	color: #fff;
}

#service-1 .promo-features {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

#service-1 .promo-features li {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 16px;
	color: #fff;
}

#service-1 .promo-features li svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: #5b8df5;
}

/* Right side – placeholder for the form */
#service-1 .form-placeholder {
	background: transparent;
	padding: 50px;
	border-radius: 4px;
	min-height: 600px;
	/* Empty - reserved for the form */
}

/* Responsive */
@media (max-width: 900px) {
	#service-1 .quote-section {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	#service-1 .promo-panel {
		padding: 35px 30px 30px;
	}

	#service-1 .promo-title {
		font-size: 18px;
		margin-bottom: 20px;
	}

	#service-1 .promo-features li {
		font-size: 14px;
	}

	#service-1 .form-placeholder {
		min-height: 200px;
		padding: 20px;
	}
}

#service-2 .section-title {
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 50px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

#service-2 .clients-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
	gap: 30px 40px;
}

#service-2 .client-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 90px;
	max-width: 180px;
	padding: 10px;
}

#service-2 .client-logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}

/* Responsive */
@media (max-width: 900px) {
	body {
		padding: 30px 20px 40px;
	}

	#service-2 .section-title {
		font-size: 22px;
		margin-bottom: 30px;
	}

	#service-2 .clients-strip {
		gap: 25px 30px;
		justify-content: center;
	}

	#service-2 .client-logo {
		height: 70px;
		max-width: 130px;
	}
}

@media (max-width: 500px) {
	#service-2 .clients-strip {
		gap: 20px;
	}

	#service-2 .client-logo {
		flex: 0 0 calc(50% - 20px);
		height: 60px;
		max-width: none;
	}
}

#service-3 h1 {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 1px;
	margin-bottom: 30px;
	color: #1a1a1a;
}

#service-3 .content-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

/* Left column */
#service-3 .left-column {
	display: flex;
	flex-direction: column;
}

#service-3 .image-slider {
	position: relative;
	background: #1a1a1a;
	border-radius: 4px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	margin-bottom: 20px;
}

#service-3 .image-slider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#service-3 .slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: rgba(255, 255, 255, 0.7);
	font-size: 32px;
	cursor: pointer;
	padding: 10px;
	font-weight: 300;
	transition: color 0.2s;
}

#service-3 .slider-arrow:hover {
	color: #fff;
}

#service-3 .slider-arrow.prev {
	left: 10px;
}

#service-3 .slider-arrow.next {
	right: 10px;
}

#service-3 .product-card {
	background: #eaf1f8;
	padding: 25px 30px;
	border-radius: 4px;
}

#service-3 .product-card h3 {
	font-size: 18px;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 8px;
}

#service-3 .product-link {
	display: block;
	color: #2a7fc9;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	margin-bottom: 18px;
}

#service-3 .product-link:hover {
	text-decoration: underline;
}

#service-3 .product-specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 20px;
	font-size: 14px;
	margin-bottom: 20px;
}

#service-3 .product-specs .label {
	color: #333;
}

#service-3 .product-specs .label strong {
	font-weight: 700;
}

#service-3 .download-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	color: #2a7fc9;
	padding: 10px 18px;
	border-radius: 3px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	border: 1px solid #d4e1ee;
	transition: background 0.2s;
}

#service-3 .download-btn:hover {
	background: #f5f9fc;
}

#service-3 .download-icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

/* Right column */
#service-3 .right-column {
	font-size: 14px;
	line-height: 1.6;
}

#service-3 .right-column > p {
	margin-bottom: 16px;
	color: #333;
}

#service-3 .info-block {
	background: #eaf1f8;
	padding: 20px 25px;
	border-radius: 4px;
	margin-bottom: 18px;
}

#service-3 .info-block h4 {
	font-size: 14px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 8px;
	letter-spacing: 0.3px;
}

#service-3 .info-block p {
	font-size: 14px;
	line-height: 1.6;
	color: #333;
}

/* Responsive */
@media (max-width: 900px) {
	#service-3 h1 {
		font-size: 24px;
	}

	#service-3 .content-wrapper {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}

#service-4 .section-title {
	font-size: 32px;
	font-weight: 400;
	margin-bottom: 50px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

#service-4 .benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

#service-4 .benefit-card {
	background: #f6f6f6;
	padding: 50px 40px 60px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

#service-4 .benefit-icon {
	width: 70px;
	height: 70px;
	margin-bottom: 28px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#service-4 .benefit-icon svg {
	width: 100%;
	height: 100%;
	color: #2058c8;
}

#service-4 .benefit-title {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	color: #1a1a1a;
	margin-bottom: 22px;
	line-height: 1.3;
}

#service-4 .benefit-desc {
	font-size: 14px;
	line-height: 1.6;
	color: #444;
}

/* Responsive */
@media (max-width: 1200px) {
	#service-4 .benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	#service-4 .section-title {
		font-size: 22px;
		margin-bottom: 30px;
	}

	#service-4 .benefits-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	#service-4 .benefit-card {
		padding: 35px 28px 40px;
	}
}

#service-5 h1 {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 1px;
	margin-bottom: 35px;
	color: #1a1a1a;
}

#service-5 .comparison-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 4px;
	table-layout: fixed;
}

#service-5 .comparison-table tr {
	background: #ececec;
}

#service-5 .comparison-table tr.alt-row {
	background: #f5f5f5;
}

#service-5 .comparison-table th,
#service-5 .comparison-table td {
	padding: 22px 20px;
	text-align: center;
	vertical-align: middle;
	font-size: 14px;
	font-weight: 400;
}

#service-5 .comparison-table .row-label {
	width: 18%;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.5px;
	color: #1a1a1a;
	text-align: center;
}

#service-5 .comparison-table .data-cell {
	width: 27.33%;
	color: #1a1a1a;
}

/* Material image row */
#service-5 .material-row td {
	padding: 30px 20px;
	height: 220px;
}

#service-5 .material-image-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}

#service-5 .material-image {
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

#service-5 .material-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Appearance row (product titles) */
#service-5 .appearance-cell {
	font-size: 14px;
	line-height: 1.5;
	padding: 20px 25px;
}

/* Download button styling */
#service-5 .download-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	color: #2a7fc9;
	padding: 10px 18px;
	border-radius: 3px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	border: 1px solid #d4e1ee;
	transition: background 0.2s;
}

#service-5 .download-btn:hover {
	background: #f5f9fc;
}

#service-5 .download-icon {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

/* Responsive */
@media (max-width: 900px) {
	#service-5 h1 {
		font-size: 22px;
	}

	#service-5 .comparison-table,
	#service-5 .comparison-table tbody,
	#service-5 .comparison-table tr,
	#service-5 .comparison-table td {
		display: block;
		width: 100%;
	}

	#service-5 .comparison-table .row-label {
		width: 100%;
		background: #d8d8d8;
		padding: 12px;
		font-weight: 700;
	}

	#service-5 .comparison-table .data-cell {
		width: 100%;
		border-bottom: 1px solid #ddd;
	}

	#service-5 .material-image {
		width: 140px;
		height: 140px;
	}
}

#service-6 .section-title {
	font-size: 32px;
	font-weight: 400;
	margin-bottom: 50px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

#service-6 .finish-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

#service-6 .finish-card {
	background: #f3f3f3;
	padding: 40px 50px 50px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	text-align: center;
}

#service-6 .finish-card-title {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #1a1a1a;
	margin-bottom: 30px;
}

#service-6 .finish-card-image {
	width: 100%;
	height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 35px;
	overflow: hidden;
}

#service-6 .finish-card-image img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

#service-6 .finish-card-desc {
	font-size: 15px;
	line-height: 1.6;
	color: #444;
	text-align: center;
	margin-top: auto;
}

#service-6 .finish-card-desc strong {
	font-weight: 700;
	color: #1a1a1a;
}

/* Responsive */
@media (max-width: 1024px) {
	#service-6 .finish-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 700px) {
	body {
		padding: 30px 20px;
	}

	#service-6 .section-title {
		font-size: 22px;
		margin-bottom: 30px;
	}

	#service-6 .finish-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	#service-6 .finish-card {
		padding: 30px 25px 35px;
	}

	#service-6 .finish-card-image {
		height: 200px;
	}
}

#service-7 .testimonials-section {
	background: #f3f3f3;
	padding: 60px 50px;
}

#service-7 .container {
	max-width: 1500px;
	margin: 0 auto;
}

#service-7 .section-title {
	font-size: 32px;
	font-weight: 400;
	text-align: center;
	margin-bottom: 50px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

#service-7 .testimonial-card {
	background: #fff;
	padding: 40px 50px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
}

#service-7 .testimonial-text {
	font-size: 15px;
	line-height: 1.8;
	color: #333;
	margin-bottom: 30px;
}

#service-7 .testimonial-author {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: auto;
}

#service-7 .author-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: #ddd;
}

#service-7 .author-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#service-7 .author-name {
	font-size: 15px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

/* Responsive */
@media (max-width: 900px) {
	#service-7 .testimonials-section {
		padding: 40px 20px;
	}

	#service-7 .section-title {
		font-size: 22px;
		margin-bottom: 30px;
	}

	#service-7 .testimonial-card {
		padding: 30px 25px;
	}
}

#service-8 .section-title {
	font-size: 32px;
	font-weight: 400;
	margin-bottom: 50px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

#service-8 .applications-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px 24px;
}

#service-8 .app-item {
	background: #fff;
	padding: 22px 28px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 70px;
}

#service-8 .app-icon {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#service-8 .app-icon svg {
	width: 100%;
	height: 100%;
	color: #2058c8;
}

#service-8 .app-text {
	font-size: 15px;
	line-height: 1.4;
	color: #1a1a1a;
}

/* Responsive */
@media (max-width: 900px) {
	#service-8 .applications-section {
		padding: 40px 20px;
	}

	#service-8 .section-title {
		font-size: 22px;
		margin-bottom: 30px;
	}

	#service-8 .applications-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	#service-8 .app-item {
		padding: 18px 20px;
		gap: 16px;
	}

	#service-8 .app-text {
		font-size: 14px;
	}
}

#service-9 .section-title {
	font-size: 32px;
	font-weight: 400;
	text-align: center;
	margin-bottom: 70px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

#service-9 .steps {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0;
	position: relative;
	padding: 0 40px;
}

/* Dotted connector line - sparse round dots like original */
#service-9 .steps::before {
	content: '';
	position: absolute;
	top: 40px; /* center of icon (icon is 80px) */
	left: 14%;
	right: 14%;
	height: 2px;
	background-image: radial-gradient(circle, #c4c4c4 1px, transparent 1.2px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
	background-position: center;
	z-index: 0;
}

#service-9 .step {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
	z-index: 1;
	max-width: 320px;
	padding: 0 10px;
}

#service-9 .step-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #2058c8;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 32px;
	flex-shrink: 0;
}

#service-9 .step-icon svg {
	width: 38px;
	height: 38px;
	color: #fff;
}

#service-9 .step-title {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #1a1a1a;
	margin-bottom: 16px;
}

#service-9 .step-desc {
	font-size: 14px;
	line-height: 1.5;
	color: #555;
	max-width: 260px;
}

/* Responsive */
@media (max-width: 900px) {
	#service-9 body {
		padding: 40px 20px;
	}

	#service-9 .section-title {
		font-size: 22px;
		margin-bottom: 40px;
	}

	#service-9 .steps {
		flex-direction: column;
		align-items: center;
		gap: 40px;
		padding: 0;
	}

	#service-9 .steps::before {
		display: none;
	}

	#service-9 .step {
		max-width: 320px;
	}
}

#service-10 .cta-container {
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

#service-10 .cta-content {
	flex: 1;
}

#service-10 .cta-title {
	font-size: 32px;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.3;
	margin-bottom: 18px;
}

#service-10.light .cta-title {
	color: var(--dark);
}

#service-10 .cta-subtitle {
	font-size: 30px;
	font-weight: 700;
	color: #5b8df5;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.3;
	margin-bottom: 38px;
}

#service-10 .cta-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #2058c8;
	color: #fff;
	padding: 14px 28px;
	border-radius: 4px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	transition: background 0.2s;
}

#service-10.light .cta-button {
	background: #fff;
	color: #2058c8;
	border: 1px solid #2058c8;
}

#service-10 .cta-button:hover {
	background: #1849a8;
}

#service-10 .cta-button svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

#service-10 .cta-image {
	flex: 0 0 360px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

#service-10 .cta-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

/* Responsive */
@media (max-width: 1024px) {
	#service-10 .cta-banner {
		padding: 50px 40px;
	}

	#service-10 .cta-image {
		flex: 0 0 280px;
	}

	#service-10 .cta-title,
	#service-10 .cta-subtitle {
		font-size: 26px;
	}
}

@media (max-width: 700px) {
	#service-10 .cta-banner {
		padding: 40px 24px;
	}

	#service-10 .cta-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
	}

	#service-10 .cta-title,
	#service-10 .cta-subtitle {
		font-size: 22px;
	}

	#service-10 .cta-image {
		flex: 0 0 auto;
		width: 100%;
		justify-content: center;
	}

	#service-10 .cta-image img {
		max-width: 240px;
	}
}

#service-11 .section-title {
	font-size: 32px;
	font-weight: 400;
	margin-bottom: 50px;
	letter-spacing: 0.5px;
	color: #1a1a1a;
}

#service-11 .services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 380px));
	gap: 28px;
	justify-content: center;
}

#service-11 .service-card {
	background: #f3f3f3;
	padding: 40px 35px 45px;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

#service-11 .service-card-image {
	width: 100%;
	height: 230px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	overflow: hidden;
}

#service-11 .service-card-image img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

#service-11 .service-card-title {
	font-size: 28px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 14px;
	letter-spacing: 0.3px;
}

#service-11 .service-card-desc {
	font-size: 14px;
	line-height: 1.5;
	color: #444;
	margin-bottom: 28px;
	min-height: 22px;
}

#service-11 .service-card-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #fff;
	color: #2058c8;
	padding: 14px 24px;
	border-radius: 3px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	border: 1px solid #2058c8;
	transition: all 0.2s;
	margin-top: auto;
}

#service-11 .service-card-btn:hover {
	background: #2058c8;
	color: #fff;
}

#service-11 .service-card-btn svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

/* Responsive */
@media (max-width: 1024px) {
	#service-11 .services-grid {
		grid-template-columns: repeat(2, minmax(0, 380px));
	}
}

@media (max-width: 700px) {
	#service-11 .section-title {
		font-size: 22px;
		margin-bottom: 30px;
	}

	#service-11 .services-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	#service-11 .service-card {
		padding: 30px 25px 35px;
	}

	#service-11 .service-card-image {
		height: 200px;
	}

	#service-11 .service-card-title {
		font-size: 24px;
	}
}