:root {
	--lang-h: 30px;
	--header-h: 80px;
	--header-h-small: 50px;
	--logo-max: 40px;
	--logo-min: 28px;
	--max-row: 1500px;
	--max-col: 500px;
	--grey: #858585;
	--blue: #041d29;
	--red:#af1116;
	--dark-bg: #111;
	--light-bg: #f9f9f9;
	--dark-text: #1d1d1d;
	--light-text: #ebebeb;
	--hover-links:#ffa500;
	--white-links:#ebebeb;
	--language-bar:#0d3b4d;
}
html {
	scroll-behavior: smooth;
}
img.max {
	max-width: 300px;
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	font-family: system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a {
	color:white;
}
h1.headline {
	font-size: clamp(2rem, 8vw, 4rem);
	line-height: 1.2;
	text-align: left;
	margin: 0 0 20px 0;
	display: block;
}
h2 {
	font-size: clamp(1.7rem, 3vw, 1.4rem);
	margin-bottom: 20px;
	font-weight: 600;
	max-width: 500px;
	text-align: left;
	line-height: 1.2;
	border-bottom: solid 4px;
	padding-bottom:16px;
}
h3 {
	font-size: clamp(1rem, 3vw, 1.4rem);
	margin-bottom: 0px;
	font-weight: 900;
	max-width: 500px;
	text-align: left;
	padding-bottom:0px;
}
.pd-bottom {
	padding-bottom: 150px;
}
.pd-topbottom {
	padding: 180px 0px 120px 0px;
}
.fadeInUp.in-view {
	animation: 2.5s fadeInUp;
}
.fadeInLeft.in-view {
	animation: 1.5s fadeInLeft;
}
.fadeInRight.in-view {
	animation: 1.5s fadeInRight;
}
.icon.in-view {
	animation: rotateIcon 1s ease-in-out ;
}
.icon2.in-view {
	animation: rotateIcon2 1s ease-in-out ;
}
.gradient-anim {
	display: inline-block;
	position: absolute;
	height: 100vh;
	width: 100vw;
	background: linear-gradient(-45deg, #00000084, #2d2d2d27, #21212126, #00000000);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
@keyframes fadeInUp {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeInLeft {
	0% {
		transform: translateX(-50%);
		opacity: 0;
	}
	100% {
		transform: translateX(0%);
		opacity: 1;
	}
}
@keyframes fadeInRight {
	0% {
		transform: translateX(50%);
		opacity: 0;
	}
	100% {
		transform: translateX(0%);
		opacity: 1;
	}
}
@keyframes rotateIcon {
	0%{
		transform: rotate(330deg);
	}
	100%{
		transform: rotate(360deg);
	}
}
@keyframes rotateIcon2 {
	0%{
		transform: rotate(330deg);
	}
	100%{
		transform: rotate(360deg);
	}
}
.slider, .slider02 {
	position: relative;
	list-style: none;
	padding: 0;
	margin: 0;
	min-height: 8em;
	overflow: hidden;
}
.slider li {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: translateY(12px);
	animation: slideFade 12s linear infinite;
	line-height: 1.6;
	font-weight: 900;
}
.slider li:nth-child(1) {
	animation-delay: 0s;
}
.slider li:nth-child(2) {
	animation-delay: 3s;
}
.slider li:nth-child(3) {
	animation-delay: 6s;
}
.slider li:nth-child(4) {
	animation-delay: 9s;
}
@keyframes slideFade {
	0% {
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	20% {
		opacity: 1;
	}
	25% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
}
.slider02 li {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: translateY(12px);
	animation: slideFade02 9s linear infinite;
	line-height: 1.6;
	font-weight: 900;
}
.slider02 li:nth-child(1) {
	animation-delay: 0s;
}
.slider02 li:nth-child(2) {
	animation-delay: 3s;
}
.slider02 li:nth-child(3) {
	animation-delay: 6s;
}
.slider02 li:nth-child(4) {
	animation-delay: 9s;
}
@keyframes slideFade02 {
	0% {
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	20% {
		opacity: 1;
	}
	25% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.slider li, .slider02 li {
		animation: none;
		opacity: 1;
		position: static;
		transform: none;
	}
}
#language-bar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--lang-h);
	background: var(--language-bar);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	z-index: 1000;
	font-size: 14px;
	color: #ffffff;
	padding-right: 40px;
}
.langselect {
	display: flex;
	gap: 12px;
}
.langselect a {
	color:#ebebeb
}
.current a {
	color:#ffa500
}
#main-header {
	position: fixed;
	top: var(--lang-h);
	left: 0;
	width: 100%;
	height: var(--header-h);
	background-color: transparent;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px;
	transition: height 0.3s ease, background-color 0.3s ease, padding 0.3s ease;
	z-index: 999;
}
#main-header.scrolled {
	height: var(--header-h-small);
	background-color: var(--red);
	padding-top: 12px;
}
.header-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0 20px;
}
.header-right {
	display: flex;
	align-items: center;
}
.logo {
	transition: font-size 0.3s ease;
	height: 40px;
	transition: height 0.3s ease;
}
.logo img {
	height: 40px;
	transition: height 0.3s ease;
}
#main-header.scrolled .logo img {
	height: 28px;
}
.desktop-nav {
	display: flex;
	align-items: center;
	margin-left: auto;
	margin-top:-12px;
}
.desktop-nav a {
	margin-left: 20px;
	text-decoration: none;
	color: var(--white-links);
	font-weight: 500;
}
.desktop-nav a:hover {
	color: var(--hover-links);
	transition: color 0.3s ease;
}
.mobile-nav a:hover {
	background-color: rgba(255,165,0,0.2);
	color: var(--hover-links);
	transition: color 0.3s ease, background-color 0.3s ease;
}
.mobile-menu-container {
	position: relative;
	margin-top:-12px;
}
.hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	cursor: pointer;
	width: 25px;
	height: 20px;
	z-index: 1001;
	margin-left: auto;
}
.hamburger span {
	display: block;
	height: 3px;
	width: 100%;
	background: #ffffff;
	border-radius: 2px;
	transition: all 0.3s ease;
	transform-origin: center;
}
.hamburger.active span:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}
.hamburger.active span:nth-child(2) {
	opacity: 0;
}
.hamburger.active span:nth-child(3) {
	transform: rotate(-45deg) translate(5px, -5px);
}
.mobile-nav {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 100%;
	right: 0;
	background: var(--blue);
	border-radius: 6px;
	min-width: 150px;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
	max-height: 0;
	opacity: 0;
	transform: translateY(-20px);
	transition: max-height 0.6s ease, transform 0.6s ease, opacity 0.6s ease;
	z-index: 1000;
}
.mobile-nav a {
	padding: 12px 20px;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,0.2);
}
.mobile-nav a:last-child {
	border-bottom: none;
}
.mobile-nav.active {
	max-height: 500px;
	opacity: 1;
	transform: translateY(0);
}
.hamburger {
	display: none;
}
.desktop-nav {
	display: flex;
	gap: 20px;
}
@media(max-width:768px){
	.hamburger {
		display: flex;
		margin-left: auto;
	}
	.desktop-nav {
		display: none;
	}
	.row {
		flex-direction: column;
	}
	.row--reverse-mobile {
		flex-direction: column-reverse;
	}
	.pd-bottom {
		padding-bottom: 10px;
	}
	img.max {
		max-width: 200px;
	}
}
.section {
	width: 100%;
	padding: 0px 20px;
	display: flex;
	justify-content: center;
}
.section p {
	line-height: 1.6;
}
.full-height {
	min-height: 100vh;
	align-items: flex-end;
}
.section--dark {
	background-color: var(--dark-bg);
	color: var(--dark-text);
}
.section--light {
	background-color: var(--light-bg);
	color: var(--light-text);
}
.row {
	max-width: var(--max-row);
	width: 100%;
	display: flex;
	gap: 40px;
	z-index: 500;
	padding-left: 20px;
	padding-right: 20px;
	justify-content: space-around;
}
.col {
	flex: 1;
	display: flex;
	flex-grow: 1;
}
.col--align-start {
	display:flex;
	justify-content: flex-start;
}
.col--align-center {
	display:flex;
	justify-content: center!important;
	align-items: center;
}
.col--align-end {
	display:flex;
	justify-content: flex-end;
}
.col-content {
	max-width: var(--max-col);
}
footer {
	width: 100%;
	padding: 40px 20px;
	background: #041117;
	color: #fff;
	text-align: center;
}
#home {
	background: url('../images/CS-bg-home.webp') center center / cover no-repeat;
}
#vision {
	background: url('../images/CS-bg-vision.webp') center center / cover no-repeat;
}
#strategy {
	background: url('../images/CS-bg-strategy.webp') center center / cover no-repeat;
}
#contact {
	background-color: #031b25;
}
