/* ===== STICKY HEADER FUNCTIONALITY ===== */
.sticky-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9998;
	transition: all 0.3s ease;
	transform: translateY(0);
}

.sticky-header-hidden {
	transform: translateY(-100%) !important;
}

.sticky-header-visible {
	transform: translateY(0) !important;
	box-shadow: none;
}

/* Only add shadow when scrolled, not on initial load */
.sticky-header-visible.sticky-header-scrolled {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Add padding to body to compensate for fixed header */
body {
	padding-top: 123px !important;
}

/* Enhanced header background on scroll - Glass Effect with Theme Color */
.sticky-header-scrolled {
	background: linear-gradient(135deg, 
		rgba(5, 71, 128, 0.35) 0%, 
		rgba(3, 139, 185, 0.30) 50%, 
		rgba(17, 105, 181, 0.35) 100%) !important;
	backdrop-filter: blur(20px) saturate(180%);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	border-bottom: 1px solid rgba(3, 139, 185, 0.5);
	/* Reduce header height when scrolled */
	--min-height: 80px !important;
	min-height: 80px !important;
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* Reduce logo size when header is scrolled */
.sticky-header-scrolled .header-logo img {
	width: 80px !important;
	height: auto !important;
	transition: all 0.3s ease;
}

/* Adjust navigation padding when scrolled */
.sticky-header-scrolled .nav-menu .nav-item {
	padding: 10px 18px !important;
	font-size: 15px !important;
	color: rgba(255, 255, 255, 0.9) !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Adjust login button size when scrolled */
.sticky-header-scrolled .login-button {
	padding: 8px 40px !important;
	border-radius: 8px !important;
	background: rgba(3, 139, 185, 0.4) !important;
	border: 1px solid rgba(3, 139, 185, 0.6);
}

.sticky-header-scrolled .login-button .button-title {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.95) !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Adjust language selector when scrolled */
.sticky-header-scrolled .language-selector {
	padding: 8px 40px !important;
	border-radius: 8px !important;
	background: rgba(3, 139, 185, 0.25);
	border: 1px solid rgba(3, 139, 185, 0.5) !important;
}

.sticky-header-scrolled .language-selector .selector-title {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.9) !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* ===== FULLSCREEN HERO SECTION WITH HEADER BACKGROUND ===== */
.hero-section {
	min-height: calc(100vh + 123px) !important;
	--min-height: calc(100vh + 123px) !important;
	margin-top: -123px !important;
	--margin-top: -123px !important;
	margin-bottom: 0 !important;
	--margin-bottom: 0 !important;
	padding-top: 123px !important;
}

/* ===== UNIVERSAL SCROLL ANIMATIONS FOR ALL SECTIONS ===== */

/* Base animation classes */
.scroll-animate {
	opacity: 1;
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Animation types */
.fade-up {
	transform: translateY(50px);
}

.fade-down {
	transform: translateY(-50px);
}

.fade-left {
	transform: translateX(-50px);
}

.fade-right {
	transform: translateX(50px);
}

.scale-up {
	transform: scale(0.8);
}

.rotate-in {
	transform: rotate(-10deg) scale(0.9);
}

/* Staggered delays */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }
.delay-500 { transition-delay: 0.5s; }
.delay-600 { transition-delay: 0.6s; }
.delay-700 { transition-delay: 0.7s; }
.delay-800 { transition-delay: 0.8s; }

/* Active state */
.scroll-animate.animate-in {
	opacity: 1;
	transform: translateY(0) translateX(0) scale(1) rotate(0deg);
}

/* Section-specific enhancements */
.section {
	transition: transform 0.1s ease-out;
}

/* Enhanced button animations */
.btn,
.button {
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.btn:hover,
.button:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 25px rgba(1, 139, 185, 0.3);
}

/* Counter animations */
.counter-number-wrapper {
	opacity: 1;
	transform: scale(1);
	transition: all 1s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.counter-number-wrapper.animate-in {
	opacity: 1;
	transform: scale(1);
}

/* Heading text reveal */
.heading-reveal {
	overflow: hidden;
}

.heading-reveal .word {
	display: inline-block;
	transform: translateY(100%);
	transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.heading-reveal.animate-in .word {
	transform: translateY(0);
}

/* Image zoom effect */
.image-widget img {
	transition: transform 0.5s ease;
}

.scroll-animate.animate-in .image-widget img {
	transform: scale(1.05);
}

/* Enhanced Navigation Hover Effects */
.main-nav .nav-item {
	position: relative;
	transition: all 0.3s ease;
	padding: 13px 20px;
	overflow: visible;
}

/* Custom bottom gradient line effect */
.main-nav .nav-item:before {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 0;
	height: 3px;
	background: linear-gradient(90deg, #038BB9 0%, #1169B5 100%);
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: translateX(-50%);
	border-radius: 2px;
	box-shadow: 0 2px 8px rgba(3, 139, 185, 0.3);
}

/* Subtle glow effect on hover */
.main-nav .nav-item:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(3, 139, 185, 0.08) 0%, rgba(17, 105, 181, 0.08) 100%);
	border-radius: 8px;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: -1;
}

/* Hover state for all menu items */
.main-nav .nav-item:hover,
.main-nav .nav-item.nav-item-active,
.main-nav .nav-item.highlighted,
.main-nav .nav-item:focus {
	color: #F8F9FA !important;
	transform: translateY(-2px);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Bottom line expansion on hover */
.main-nav .nav-item:hover:before,
.main-nav .nav-item.nav-item-active:before,
.main-nav .nav-item.highlighted:before,
.main-nav .nav-item:focus:before {
	width: 100%;
}

/* Glow background on hover */
.main-nav .nav-item:hover:after,
.main-nav .nav-item.nav-item-active:after,
.main-nav .nav-item.highlighted:after,
.main-nav .nav-item:focus:after {
	opacity: 1;
}

/* ===== LOGIN BUTTON HOVER EFFECTS ===== */
.login-button {
	position: relative;
	transition: all 0.3s ease;
	cursor: pointer;
	overflow: hidden;
}

.login-button:before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #038BB9 0%, #1169B5 100%);
	transition: all 0.4s ease;
	border-radius: 10px;
	z-index: -1;
}

.login-button:hover:before {
	left: 0;
}

.login-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(3, 139, 185, 0.3);
}

.login-button:hover .button-title {
	color: #F8F9FA !important;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* ===== LANGUAGE SELECTOR HOVER EFFECTS ===== */
.language-selector {
	position: relative;
	transition: all 0.3s ease;
	cursor: pointer;
	overflow: visible;
}

.language-selector:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(3, 139, 185, 0.08) 0%, rgba(17, 105, 181, 0.08) 100%);
	opacity: 0;
	transition: all 0.3s ease;
	border-radius: 10px;
	z-index: -1;
}

.language-selector:after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 0;
	height: 2px;
	background: linear-gradient(90deg, #038BB9 0%, #1169B5 100%);
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: translateX(-50%);
	border-radius: 1px;
}

.language-selector:hover {
	transform: translateY(-2px);
	border-color: rgba(3, 139, 185, 0.6) !important;
}

.language-selector:hover:before {
	opacity: 1;
}

.language-selector:hover:after {
	width: 80%;
}

.language-selector:hover .selector-title {
	color: #038BB9 !important;
	text-shadow: 0 2px 4px rgba(3, 139, 185, 0.2);
}

.language-selector:hover img {
	filter: brightness(1.2) saturate(1.1);
	transform: scale(1.05);
	transition: all 0.3s ease;
}

/* Ensure dropdown functionality is preserved */
.language-selector * {
	pointer-events: auto;
}

.language-selector:before,
.language-selector:after {
	pointer-events: none;
}

/* ===== LANGUAGE DROPDOWN MENU STYLES ===== */
.language-dropdown-menu {
	position: fixed;
	top: auto;
	left: auto;
	right: auto;
	background: #ffffff;
	border: 1px solid rgba(3, 139, 185, 0.2);
	border-radius: 8px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
	z-index: 9999;
	margin-top: 8px;
	overflow: hidden;
	min-width: 120px;
	width: auto;
}

.language-dropdown-menu.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.language-option {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: "Poppins", Sans-serif;
	font-size: 14px;
	color: #333;
	border-bottom: 1px solid rgba(3, 139, 185, 0.1);
	white-space: nowrap;
}

.language-option:last-child {
	border-bottom: none;
}

.language-option:hover {
	background: linear-gradient(135deg, rgba(3, 139, 185, 0.08) 0%, rgba(17, 105, 181, 0.08) 100%);
	color: #038BB9;
}

/* ===== WELCOME TEXT ANIMATION ===== */
/* Welcome to text - slide in from left */
.welcome-text .heading-title {
    opacity: 0;
    transform: translateX(-50px);
    animation: slideInFromLeft 1.2s ease-out 0.5s forwards;
}

/* Company name - slide in from right */
.company-name .heading-title {
    opacity: 0;
    transform: translateX(50px);
    animation: slideInFromRight 1.2s ease-out 1s forwards;
}

@keyframes slideInFromLeft {
    0% {
        opacity: 0;
        transform: translateX(-50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInFromRight {
    0% {
        opacity: 0;
        transform: translateX(50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Mobile - simpler animation */
@media (max-width: 768px) {
    .welcome-text .heading-title,
    .company-name .heading-title {
        animation: fadeInUp 1s ease-out 0.5s forwards;
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== WHO WE ARE SECTION FADE EFFECT ===== */
/* Main section container */
.who-we-are-section {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: opacity, transform;
}

/* When section becomes visible */
.who-we-are-section.fade-in-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Individual elements within the section - staggered animation */
.who-we-are-section .section-title,
.who-we-are-section .section-description,
.who-we-are-section .section-button,
.who-we-are-section .section-video {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 2s cubic-bezier(0.23, 1, 0.32, 1), transform 2s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: opacity, transform;
}

/* Staggered delays for each element */
.who-we-are-section.fade-in-visible .section-title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.15s;
}

.who-we-are-section.fade-in-visible .section-description {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s;
}

.who-we-are-section.fade-in-visible .section-button {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.45s;
}

.who-we-are-section.fade-in-visible .section-video {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.6s;
}

/* Mobile - simpler effects */
@media (max-width: 768px) {
    .who-we-are-section {
        transform: translateY(20px);
        transition: opacity 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    
    .who-we-are-section .section-title,
    .who-we-are-section .section-description,
    .who-we-are-section .section-button,
    .who-we-are-section .section-video {
        transform: translateY(15px);
        transition: opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1), transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
    }
    
    .who-we-are-section.fade-in-visible .section-title,
    .who-we-are-section.fade-in-visible .section-description,
    .who-we-are-section.fade-in-visible .section-button,
    .who-we-are-section.fade-in-visible .section-video {
        transition-delay: 0.08s;
    }
}

/* ===== LEARN MORE BUTTON HOVER EFFECTS ===== */
.learn-more-button .btn {
    position: relative;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow: hidden;
    border: 2px solid transparent;
    will-change: transform, box-shadow, background, border-color;
}

/* Glow effect - always present but invisible */
.learn-more-button .btn::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #038BB9, #116bb5);
    z-index: -1;
    border-radius: inherit;
    opacity: 0;
    filter: blur(6px);
    transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Hover state - enhance existing button style */
.learn-more-button:hover .btn {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(3, 139, 185, 0.15);
    border: 2px solid rgba(3, 139, 185, 0.3);
    background: linear-gradient(135deg, rgba(3, 139, 185, 0.1) 0%, rgba(17, 107, 181, 0.1) 100%) !important;
}

.learn-more-button:hover .btn::before {
    opacity: 0.2;
}

/* Button text enhancement - ensure visibility */
.learn-more-button .btn-text {
    position: relative;
    z-index: 2;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learn-more-button:hover .btn-text {
    color: #038BB9 !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px;
    transform: translateY(-0.5px);
}

/* Active/Click state */
.learn-more-button:active .btn {
    transform: translateY(0px);
    transition-duration: 0.1s;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .learn-more-button .btn {
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    
    .learn-more-button:hover .btn {
        transform: none;
        box-shadow: 0 3px 12px rgba(3, 139, 185, 0.1);
    }
    
    .learn-more-button:hover .btn-text {
        transform: none;
    }
    
    /* Adjust body padding for mobile */
    body {
        padding-top: 90px !important;
    }
    
    /* Smaller sticky header on mobile */
    .sticky-header-scrolled {
        backdrop-filter: blur(15px) saturate(150%);
        -webkit-backdrop-filter: blur(15px) saturate(150%);
        min-height: 70px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
    
    /* Even smaller logo on mobile when scrolled */
    .sticky-header-scrolled .header-logo img {
        width: 60px !important;
    }
    
    /* Adjust mobile navigation when scrolled */
    .sticky-header-scrolled .nav-menu .nav-item {
        padding: 8px 14px !important;
        font-size: 14px !important;
    }
    
    /* Smaller buttons on mobile when scrolled */
    .sticky-header-scrolled .login-button,
    .sticky-header-scrolled .language-selector {
        padding: 6px 30px !important;
    }
    
    .sticky-header-scrolled .login-button .button-title,
    .sticky-header-scrolled .language-selector .selector-title {
        font-size: 13px !important;
    }
    
    .main-nav .nav-item:hover {
        transform: none;
    }
    
    .main-nav .nav-item:before {
        height: 2px;
    }
    
    .login-button:hover,
    .language-selector:hover {
        transform: none;
    }
}