/* Reset and Base Styles */*{ margin: 0; padding: 0; box-sizing: border-box; font-family: 'Roboto', sans-serif;}/* Reduced Motion Support */@media (prefers-reduced-motion: reduce){ *, *::before, *::after{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important;}}/* High Contrast Mode Support */@media (prefers-contrast: high){ :root{ --primary-color: #000000; --secondary-color: #0066cc; --dark-color: #000000; --light-color: #ffffff;}}:root{ --primary-color: #1a5b73; /* Darker blue for depth */ --primary-light: #2c5eaa; /* Medium blue */ --secondary-color: #00b4db; /* Bright cyan for contrast */ --dark-color: #0f1c2e; /* Dark blue-black */ --light-color: #f0f5ff; /* Light blue-white */ --accent-color: #4fc3f7; /* Light blue accent */ --gradient-1: linear-gradient(135deg, #1a3a6c, #4fc3f7); --gradient-2: linear-gradient(135deg, #00b4db, #0083b0); --glass-bg: rgba(255, 255, 255, 0.1); --glass-border: rgba(255, 255, 255, 0.2); --box-shadow: 0 8px 32px 0 rgba(26, 58, 108, 0.15);}body{ line-height: 1.6; color: var(--dark-color); background-color: var(--light-color); overflow-x: hidden;}.container{ max-width: 1200px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 1;}/* Header Styles - Modernized with glassmorphism */header{ background-color: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); position: fixed; width: 100%; z-index: 100; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);}header.scrolled{ padding: 5px 0; background-color: rgba(255, 255, 255, 0.98); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);}nav{ display: flex; justify-content: space-between; align-items: center; padding: 5px 0; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);}.logo{ display: flex; align-items: center; text-decoration: none; position: relative; z-index: 101;}.logo img{ height: 32px; width: auto; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1)); transition: transform 0.3s ease;}.logo:hover img{ transform: rotate(5deg);}.logo-text{ font-family: 'Orbitron', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--primary-color); margin-left: 10px; letter-spacing: 1px;}.logo-text span{ color: var(--secondary-color); position: relative;}.logo-text span::after{ content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: var(--gradient-2); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease;}.logo:hover .logo-text span::after{ transform: scaleX(1); transform-origin: left;}.nav-links{ display: flex; list-style: none;}.nav-links li{ margin-left: 30px; position: relative;}.nav-links a{ text-decoration: none; color: var(--dark-color); font-weight: 500; transition: all 0.3s ease; padding: 8px 0; position: relative;}.nav-links a::after{ content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--gradient-1); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease;}.nav-links a:hover{ color: var(--primary-light);}.nav-links a:hover::after{ transform: scaleX(1); transform-origin: left;}.mobile-menu{ display: none; cursor: pointer; z-index: 101;}.mobile-menu .bar{ width: 25px; height: 3px; background-color: var(--dark-color); margin: 5px 0; transition: all 0.4s ease; border-radius: 3px;}/* Hero Section Styles - Futuristic with particles */.hero{ height: 90vh; background: linear-gradient(rgba(26, 58, 108, 0.2), rgba(25, 82, 95, 0.364)), url('./images/main/bg.webp') center/cover no-repeat; display: flex; align-items: center; text-align: center; color: white; position: relative; overflow: hidden;}#particles-js{ position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: rgba(79, 195, 247, 0.1); /* Very light blue background */}.hero-content{ max-width: 800px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 2;}.hero-logo{ width: 120px; height: auto; margin: 0 auto 30px; filter: drop-shadow(0 0 15px rgba(0, 198, 255, 0.5)); animation: pulse 2s infinite;}@keyframes pulse{ 0%{ transform: scale(1); filter: drop-shadow(0 0 15px rgba(0, 198, 255, 0.5));} 50%{ transform: scale(1.05); filter: drop-shadow(0 0 20px rgba(0, 198, 255, 0.8));} 100%{ transform: scale(1); filter: drop-shadow(0 0 15px rgba(0, 198, 255, 0.5));}}/* Enhanced Hero Interactive Styles */.hero-logo-container{ position: relative; display: inline-block; margin-bottom: 30px;}.interactive-logo{ width: 120px; height: auto; filter: drop-shadow(0 0 15px rgba(0, 198, 255, 0.5)); animation: logoFloat 3s ease-in-out infinite; cursor: pointer; transition: all 0.3s ease;}.interactive-logo:hover{ transform: scale(1.1) rotate(5deg); filter: drop-shadow(0 0 25px rgba(0, 198, 255, 0.8));}@keyframes logoFloat{ 0%, 100%{transform: translateY(0px);} 50%{transform: translateY(-10px);}}/* Glitch Text Effect */.glitch-text{ font-family: 'Orbitron', sans-serif; font-size: 3.5rem; margin-bottom: 20px; text-shadow: 0 0 10px rgba(0, 198, 255, 0.5); letter-spacing: 2px; position: relative; cursor: pointer;}.glitch-text:hover{ animation: glitch 0.5s;}@keyframes glitch{ 0%{transform: translate(0);} 20%{transform: translate(-2px, 2px);} 40%{transform: translate(-2px, -2px);} 60%{transform: translate(2px, 2px);} 80%{transform: translate(2px, -2px);} 100%{transform: translate(0);}}/* Enhanced Button Animations */.pulse-btn{ animation: pulse-glow 2s infinite;}@keyframes pulse-glow{ 0%{ box-shadow: 0 4px 15px rgba(15, 231, 234, 0.4);} 50%{ box-shadow: 0 4px 25px rgba(15, 231, 234, 0.8); transform: translateY(-2px);} 100%{ box-shadow: 0 4px 15px rgba(15, 231, 234, 0.4);}}.hover-fill{ position: relative; overflow: hidden;}.hover-fill::before{ content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--gradient-1); transition: left 0.5s ease; z-index: -1;}.hover-fill:hover::before{ left: 0;}/* Scroll Indicator */.scroll-indicator{ position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); text-align: center; color: rgba(255, 255, 255, 0.8); cursor: pointer; animation: bounce 2s infinite;}.scroll-arrow{ width: 20px; height: 20px; border-right: 2px solid rgba(255, 255, 255, 0.8); border-bottom: 2px solid rgba(255, 255, 255, 0.8); transform: rotate(45deg); margin: 0 auto 10px; animation: arrowMove 1.5s infinite;}@keyframes bounce{ 0%, 20%, 50%, 80%, 100%{transform: translateX(-50%) translateY(0);} 40%{transform: translateX(-50%) translateY(-10px);} 60%{transform: translateX(-50%) translateY(-5px);}}@keyframes arrowMove{ 0%{opacity: 0;transform: rotate(45deg) translate(-10px, -10px);} 50%{opacity: 1;} 100%{opacity: 0;transform: rotate(45deg) translate(10px, 10px);}}/* Floating Elements */.floating-elements{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1;}.floating-icon{ position: absolute; font-size: 2rem; color: rgba(255, 255, 255, 0.3); animation: float 6s ease-in-out infinite; pointer-events: auto; cursor: pointer; transition: all 0.3s ease;}.floating-icon:hover{ color: var(--primary-color); transform: scale(1.2); text-shadow: 0 0 15px var(--primary-color);}.floating-icon:nth-child(1){ top: 20%; left: 10%; animation-delay: 0s;}.floating-icon:nth-child(2){ top: 60%; right: 15%; animation-delay: 1s;}.floating-icon:nth-child(3){ top: 30%; right: 25%; animation-delay: 2s;}.floating-icon:nth-child(4){ bottom: 30%; left: 20%; animation-delay: 3s;}.floating-icon:nth-child(5){ top: 15%; left: 60%; animation-delay: 4s;}@keyframes float{ 0%, 100%{ transform: translateY(0px) rotate(0deg);} 33%{ transform: translateY(-20px) rotate(5deg);} 66%{ transform: translateY(10px) rotate(-3deg);}}.hero h1{ font-family: 'Orbitron', sans-serif; font-size: 3.5rem; margin-bottom: 20px; animation: fadeInUp 1s ease; text-shadow: 0 0 10px rgba(0, 198, 255, 0.5); letter-spacing: 2px;}.hero p{ font-size: 1.2rem; margin-bottom: 30px; animation: fadeInUp 1s ease 0.2s; animation-fill-mode: both; max-width: 600px; margin-left: auto; margin-right: auto;}.hero-buttons{ display: flex; gap: 35px; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 40px;}@keyframes fadeInUp{ from{ opacity: 0; transform: translateY(30px);} to{ opacity: 1; transform: translateY(0);}}/* Button Styles */.btn{ display: inline-block; padding: 12px 30px; background: var(--gradient-2); color: white; font-weight: 600; text-decoration: none; border-radius: 30px; transition: all 0.3s ease; border: none; cursor: pointer; position: relative; overflow: hidden; z-index: 1; box-shadow: 0 4px 15px rgba(15, 231, 234, 0.4); animation: fadeInUp 1s ease 0.4s; animation-fill-mode: both;}.btn::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--gradient-1); z-index: -1; transition: opacity 0.3s ease; opacity: 0;}.btn:hover{ transform: translateY(-3px); box-shadow: 0 8px 25px rgba(15, 231, 234, 0.4);}.btn:hover::before{ opacity: 1;}.btn-outline{ background: transparent; border: 2px solid white; box-shadow: none;}.btn-outline:hover{ background: white; color: rgba(15, 231, 234, 0.4);}/* About Section Styles - Modern with decorative elements */.about{ padding: 120px 0; background-color: white; position: relative;}.about::before{ content: ''; position: absolute; top: -50px; left: 0; width: 100%; height: 100px; background: linear-gradient(to bottom right, transparent 49%, white 50%);}.section-title{ text-align: center; margin-bottom: 60px;}.section-title h2{ font-family: 'Orbitron', sans-serif; font-size: 2.5rem; color: var(--primary-color); margin-bottom: 20px; position: relative; display: inline-block; letter-spacing: 1px;}.section-title h2::after{ content: ""; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background: var(--gradient-2); border-radius: 3px;}.about-content{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 40px;}.about-text{ flex: 1; min-width: 300px;}.about-text p{ margin-bottom: 20px; line-height: 1.8;}.about-image{ flex: 1; min-width: 300px; border-radius: 20px; overflow: hidden; box-shadow: var(--box-shadow); position: relative;}.about-image::before{ content: ''; position: absolute; top: -10px; left: -10px; width: 50px; height: 50px; border-top: 3px solid var(--accent-color); border-left: 3px solid var(--accent-color); z-index: 1;}.about-image::after{ content: ''; position: absolute; bottom: -10px; right: -10px; width: 50px; height: 50px; border-bottom: 3px solid var(--secondary-color); border-right: 3px solid var(--secondary-color); z-index: 1;}.about-image img{ width: 100%; height: auto; display: block; transition: transform 0.5s ease;}.about-image:hover img{ transform: scale(1.05);}/* Mission Section Styles - Futuristic with glow effects */.mission{ padding: 120px 0; background-color: var(--light-color); text-align: center; position: relative; overflow: hidden;}.mission::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at center, rgba(0, 198, 255, 0.05) 0%, transparent 70%);}.mission-content{ max-width: 800px; margin: 0 auto; position: relative; z-index: 1; background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 40px; border-radius: 20px; box-shadow: var(--box-shadow); border: 1px solid var(--glass-border);}.mission-icon{ font-size: 3rem; color: var(--primary-color); margin-bottom: 30px; display: inline-block; position: relative;}.mission-icon::before{ content: ''; position: absolute; width: 60px; height: 60px; background: var(--gradient-1); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; opacity: 0.2; animation: pulse-mission 3s infinite;}@keyframes pulse-mission{ 0%{ transform: translate(-50%, -50%) scale(1); opacity: 0.2;} 50%{ transform: translate(-50%, -50%) scale(1.5); opacity: 0.1;} 100%{ transform: translate(-50%, -50%) scale(1); opacity: 0.2;}}/* Services Section Styles */.services{ padding: 120px 0; background-color: white; position: relative;}.services-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 50px;}.service-card{ background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 40px 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); border: 1px solid var(--glass-border); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); position: relative; overflow: hidden;}.service-card::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--gradient-1); opacity: 0; transition: opacity 0.3s ease; z-index: -1;}.service-card:hover{ transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);}.service-card:hover::before{ opacity: 0.05;}.service-icon{ font-size: 3rem; color: var(--primary-color); margin-bottom: 25px; display: inline-block; position: relative;}.service-icon::before{ content: ''; position: absolute; width: 80px; height: 80px; background: var(--gradient-2); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; opacity: 0.1; transition: all 0.3s ease;}.service-card:hover .service-icon::before{ transform: translate(-50%, -50%) scale(1.2); opacity: 0.2;}.service-card h3{ font-family: 'Orbitron', sans-serif; font-size: 1.3rem; margin-bottom: 20px; color: var(--primary-color); font-weight: 600;}.service-card p{ color: #666; line-height: 1.6; font-size: 0.95rem;}/* Responsive Design for Services */@media (max-width: 768px){ .services{ padding: 80px 0;}  .services-grid{ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px;}  .service-card{ padding: 35px 25px; min-height: auto;}  .service-icon{ font-size: 2.5rem; margin-bottom: 20px;}  .service-card h3{ font-size: 1.3rem; margin-bottom: 15px;}  .service-card p{ font-size: 0.95rem; line-height: 1.6;}}@media (max-width: 480px){ .services{ padding: 60px 0;}  .services-grid{ grid-template-columns: 1fr; gap: 20px;}  .service-card{ padding: 30px 20px; margin: 0 auto; max-width: 350px;}  .service-icon{ font-size: 2.2rem;}  .service-card h3{ font-size: 1.2rem;}  .service-card p{ font-size: 0.9rem;}}/* Team Section Styles - Modern cards with hover effects */.team{ padding: 120px 0; background-color: white; position: relative;}.team-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 40px; margin-top: 50px; max-width: 900px; margin-left: auto; margin-right: auto;}.team-member{ background-color: white; border-radius: 20px; overflow: hidden; box-shadow: var(--box-shadow); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); position: relative; cursor: pointer;}.team-member:hover{ transform: translateY(-15px) scale(1.02); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);}.member-image{ height: 280px; overflow: hidden; position: relative;}.member-image::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.8) 100%); z-index: 1; opacity: 0; transition: opacity 0.3s ease;}.team-member:hover .member-image::before{ opacity: 1;}.member-image img{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}.team-member:hover .member-image img{ transform: scale(1.1);}.member-info{ padding: 25px; text-align: center; position: relative;}.member-info::before{ content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 50px; height: 3px; background: var(--gradient-1); border-radius: 3px;}.member-info h3{ font-family: 'Orbitron', sans-serif; margin-bottom: 5px; color: var(--primary-color); font-size: 1.3rem;}.member-info p{ color: var(--dark-color); font-style: italic; margin-bottom: 15px;}.social-links{ display: flex; justify-content: center; margin-top: 15px;}.social-links a{ display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: 50%; background-color: var(--primary-color); color: white; margin: 0 5px; transition: all 0.3s ease; text-decoration: none; position: relative; overflow: hidden;}.social-links a::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--gradient-2); opacity: 0; transition: opacity 0.3s ease;}.social-links a:hover::before{ opacity: 1;}.social-links a i{ position: relative; z-index: 1;}.social-links a:hover{ transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);}/* CTA Section Styles - Futuristic gradient background */.cta{ padding: 50px 0; background: var(--gradient-1); color: white; text-align: center; position: relative; overflow: hidden;}.cta::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");}.cta-content{ max-width: 700px; margin: 0 auto; position: relative; z-index: 1;}.cta h2{ font-family: 'Orbitron', sans-serif; font-size: 2.5rem; margin-bottom: 15px; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); letter-spacing: 1px;}.cta p{ margin-bottom: 20px; font-size: 1.1rem; max-width: 600px; margin-left: auto; margin-right: auto;}/* CTA Split Sections Styles */.cta-split-sections{ display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 40px; max-width: 1000px; margin-left: auto; margin-right: auto;}.cta-section{ background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 20px; padding: 40px 30px; text-align: center; border: 1px solid rgba(255, 255, 255, 0.2); transition: all 0.3s ease; position: relative; overflow: hidden;}.cta-section::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.05); opacity: 0; transition: opacity 0.3s ease; z-index: -1;}.cta-section:hover{ transform: translateY(-5px); box-shadow: 0 15px 35px rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3);}.cta-section:hover::before{ opacity: 1;}.cta-section h3{ font-family: 'Orbitron', sans-serif; font-size: 1.5rem; margin-bottom: 20px; color: rgba(255, 255, 255, 0.95); font-weight: 600; letter-spacing: 1px;}.cta-section p{ font-size: 1.1rem; margin-bottom: 25px; color: rgba(255, 255, 255, 0.9); font-weight: 400; line-height: 1.6;}.cta-buttons{ display: flex; flex-direction: column; gap: 15px; align-items: center;}.cta-buttons .btn{ min-width: 200px;}/* Contact Links Section Styles */.contact-links{ margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.2); display: flex; justify-content: center; align-items: flex-start; gap: 40px; max-width: 900px; margin-left: auto; margin-right: auto; flex-wrap: wrap;}.social-media,.contact-info{ text-align: center; min-width: 200px;}.social-media h3,.contact-info h3{ font-family: 'Orbitron', sans-serif; font-size: 1.2rem; margin-bottom: 12px; color: rgba(255, 255, 255, 0.9); font-weight: 600; letter-spacing: 1px;}.social-icons{ display: flex; justify-content: center; gap: 15px; margin-bottom: 0;}.social-link{ display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); color: white; font-size: 1.2rem; text-decoration: none; transition: all 0.3s ease; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 2px solid rgba(255, 255, 255, 0.2); position: relative; overflow: hidden;}.social-link::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--gradient-2); opacity: 0; transition: opacity 0.3s ease; z-index: -1;}.social-link:hover{ transform: translateY(-3px) scale(1.1); box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.5);}.social-link:hover::before{ opacity: 1;}.social-link.facebook:hover{ box-shadow: 0 8px 25px rgba(24, 119, 242, 0.4);}.social-link.tiktok:hover{ box-shadow: 0 8px 25px rgba(255, 0, 80, 0.4);}.contact-methods{ display: flex; flex-direction: row; gap: 10px; align-items: center; justify-content: center; flex-wrap: wrap;}.contact-item{ display: flex; align-items: center; gap: 8px; padding: 10px 16px; background: rgba(255, 255, 255, 0.1); border-radius: 25px; color: white; text-decoration: none; transition: all 0.3s ease; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); min-width: 120px; justify-content: center; position: relative; overflow: hidden; font-size: 0.9rem;}.contact-item::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.1); opacity: 0; transition: opacity 0.3s ease; z-index: -1;}.contact-item:hover{ transform: translateY(-2px); box-shadow: 0 5px 15px rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.4);}.contact-item:hover::before{ opacity: 1;}.contact-item i{ font-size: 1.1rem; width: 20px; text-align: center;}.contact-item span{ font-weight: 500; font-size: 0.95rem;}.contact-item.email:hover{ box-shadow: 0 5px 15px rgba(0, 123, 255, 0.3);}.contact-item.whatsapp:hover{ box-shadow: 0 5px 15px rgba(37, 211, 102, 0.3);}.contact-item.phone:hover{ box-shadow: 0 5px 15px rgba(0, 198, 255, 0.3);}/* Footer Styles - Modern dark footer */footer{ background-color: var(--dark-color); color: white; padding: 80px 0 30px; position: relative;}footer::before{ content: ''; position: absolute; top: -50px; left: 0; width: 100%; height: 50px; background: linear-gradient(to top right, var(--dark-color) 49%, transparent 50%);}.footer-content{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; margin-bottom: 40px;}.footer-column{ flex: 1; min-width: 200px;}.footer-logo{ display: block; width: 80px; margin-bottom: 20px; filter: brightness(0) invert(1);}.footer-column h3{ font-family: 'Orbitron', sans-serif; font-size: 1.2rem; margin-bottom: 20px; color: var(--secondary-color); position: relative; display: inline-block;}.footer-column h3::after{ content: ''; position: absolute; bottom: -8px; left: 0; width: 30px; height: 2px; background: var(--gradient-2);}.footer-column ul{ list-style: none;}.footer-column ul li{ margin-bottom: 12px;}.footer-column a{ color: #ccc; text-decoration: none; transition: color 0.3s ease; position: relative; display: inline-block;}.footer-column a::before{ content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 1px; background-color: var(--secondary-color); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease;}.footer-column a:hover{ color: white;}.footer-column a:hover::before{ transform: scaleX(1); transform-origin: left;}.copyright{ text-align: center; padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.1); font-size: 0.9rem; color: #999;}/* Responsive Styles */@media (max-width: 992px){ .nav-links{ position: fixed; top: 0; left: -100%; width: 100%; height: 100vh; background-color: rgba(255, 255, 255, 0.98); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); display: flex; flex-direction: column; justify-content: center; align-items: center; transition: all 0.5s ease; z-index: 99;} .nav-links.active{ left: 0;} .nav-links li{ margin: 25px 0;}  .nav-links a{ font-size: 1.2rem; padding: 15px 20px; display: block; text-align: center; min-width: 200px; border-radius: 8px; transition: all 0.3s ease;}  .nav-links a:hover{ background-color: rgba(0, 180, 219, 0.1); transform: translateY(-2px);} .mobile-menu{ display: block; padding: 10px; cursor: pointer; z-index: 101;}  .mobile-menu .bar{ transition: all 0.3s ease;} .mobile-menu.active .bar:nth-child(1){ transform: rotate(-45deg) translate(-5px, 6px);} .mobile-menu.active .bar:nth-child(2){ opacity: 0;} .mobile-menu.active .bar:nth-child(3){ transform: rotate(45deg) translate(-5px, -6px);} .hero{ padding: 140px 0 120px;}  .hero h1{ font-size: 2.8rem; line-height: 1.2;}  .hero p{ font-size: 1.2rem; margin: 30px 0;}  .hero-buttons{ gap: 30px; margin-top: 35px;}}@media (max-width: 768px){ .container{ padding: 0 18px;}  .hero{ padding: 120px 0 100px;}  .hero h1{ font-size: 2.2rem; line-height: 1.3;}  .hero p{ font-size: 1.1rem; margin: 25px 0;} .section-title h2{ font-size: 2rem; line-height: 1.3;}  .section-title p{ font-size: 1rem;} .about{ padding: 80px 0;}  .about-content{ flex-direction: column; gap: 40px;} .about-image{ margin-top: 0; order: -1; max-width: 400px; margin-left: auto; margin-right: auto;}  .about-text{ text-align: center;}  .about-text p{ font-size: 1rem; line-height: 1.7; margin-bottom: 20px;}  .mission{ padding: 80px 0;}  .mission-content{ text-align: center; padding: 40px 20px;}  .mission-icon{ margin-bottom: 25px;} .team-grid{ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 30px;}  .team-member{ padding: 30px 25px; max-width: 400px; margin: 0 auto;}  .member-image{ height: 250px;}  .team-member img{ width: 100%; height: 100%; object-fit: cover;} .footer-content{ flex-direction: column; gap: 30px; text-align: center;} .footer-column{ min-width: 100%;}  .footer-column h3{ margin-bottom: 20px;}}@media (max-width: 480px){ .container{ padding: 0 15px;}  .hero{ padding: 100px 0 80px;}  .hero h1{ font-size: 1.8rem; line-height: 1.3;} .hero p{ font-size: 1rem; margin: 20px 0;}  .hero-buttons{ flex-direction: column; gap: 15px; margin-top: 30px;}  .hero-buttons .btn{ width: 100%; max-width: 280px;} .btn{ padding: 12px 24px; font-size: 0.95rem; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;} .section-title h2{ font-size: 1.8rem; line-height: 1.3;}  .section-title p{ font-size: 0.95rem; margin-top: 15px;} .cta{ padding: 40px 0;}  .cta h2{ font-size: 1.8rem; line-height: 1.3; margin-bottom: 10px;}  .cta p{ font-size: 0.95rem; margin-bottom: 15px; line-height: 1.6;}  .cta-content{ padding: 0 10px;}  .cta-split-sections{ grid-template-columns: 1fr; gap: 30px; margin-top: 30px;}  .cta-section{ padding: 30px 25px;}  .cta-section h3{ font-size: 1.3rem; margin-bottom: 15px;}  .cta-section p{ font-size: 1rem; margin-bottom: 20px;}  .cta-buttons{ gap: 12px;}  .cta-buttons .btn{ min-width: 180px;}  .contact-links{ margin-top: 30px; padding-top: 25px; flex-direction: column; gap: 25px;}  .social-media h3, .contact-info h3{ font-size: 1.1rem; margin-bottom: 15px;}  .social-icons{ gap: 12px;}  .social-link{ width: 42px; height: 42px; font-size: 1rem;}  .contact-methods{ gap: 8px;}  .contact-item{ padding: 8px 14px; min-width: 100px; font-size: 0.85rem;}  .contact-item i{ font-size: 0.9rem;}  .contact-item span{ font-size: 0.85rem;} .team-grid{ grid-template-columns: 1fr; gap: 25px;}  .team-member{ padding: 25px 20px;}  .team-member{ max-width: 350px; margin: 0 auto;}  .member-image{ height: 200px;}  .team-member img{ width: 100%; height: 100%; object-fit: cover;}  .about{ padding: 60px 0;}  .about-content{ gap: 30px;}  .about-image{ max-width: 300px;}  .about-text p{ font-size: 0.95rem;}  .mission{ padding: 60px 0;}  .mission-content{ padding: 30px 15px;}  .mission-content h3{ font-size: 1.3rem; margin-bottom: 15px;}  .mission-content p{ font-size: 0.95rem; line-height: 1.6;}}/* Products Section Styles */.products{ padding: 120px 0; background-color: white; position: relative;}.product-categories{ display: flex; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; gap: 10px;}.category-btn{ padding: 10px 20px; background: transparent; border: 2px solid var(--primary-color); border-radius: 30px; color: var(--primary-color); font-weight: 600; cursor: pointer; transition: all 0.3s ease;}.category-btn.active,.category-btn:hover{ background: var(--gradient-1); color: white; border-color: transparent;}.products-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; margin-top: 30px;}.product-card{ background-color: white; border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); cursor: pointer;}.product-card:hover{ transform: translateY(-15px) scale(1.02); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);}.product-image{ height: 220px; overflow: hidden; position: relative;}.product-image img{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}.product-card:hover .product-image img{ transform: scale(1.1);}.product-overlay{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s ease;}.product-card:hover .product-overlay{ opacity: 1;}.btn-small{ padding: 8px 20px; background: var(--gradient-2); color: white; font-weight: 600; text-decoration: none; border-radius: 30px; transition: all 0.3s ease; border: none; cursor: pointer; position: relative; overflow: hidden; z-index: 1; box-shadow: 0 4px 15px rgba(15, 231, 234, 0.4);}.btn-small:hover{ transform: translateY(-3px); box-shadow: 0 8px 25px rgba(15, 231, 234, 0.4);}.product-info{ padding: 20px;}.product-info h3{ font-family: 'Orbitron', sans-serif; font-size: 1.2rem; margin-bottom: 10px; color: var(--primary-color);}.product-description{ font-size: 0.9rem; color: #666; margin-bottom: 15px; line-height: 1.5;}.product-price{ font-weight: 700; font-size: 1.2rem; color: var(--secondary-color);}/* Reviews Section Styles */.reviews{ padding: 100px 0; background-color: var(--light-color); position: relative;}.reviews::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231a5b73' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}.reviews-slider{ display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin-top: 50px;}.review-card{ background: white; border-radius: 15px; padding: 30px; box-shadow: var(--box-shadow); max-width: 350px; transition: transform 0.2s ease, box-shadow 0.2s ease; position: relative; cursor: pointer; display: flex; flex-direction: column; height: 300px;}.review-card:hover{ transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);}/* Disable complex animations on mobile for better performance */@media (max-width: 768px){ .review-card{ transition: none;}  .review-card:hover{ transform: none; box-shadow: var(--box-shadow);}}.review-stars{ color: #FFD700; font-size: 1.2rem; margin-bottom: 15px;}.review-text{ font-style: italic; margin-bottom: 20px; line-height: 1.7; color: #555; flex-grow: 1;}.reviewer-info{ display: flex; align-items: center; margin-top: auto; justify-content: center;}.reviewer-img{ width: 50px; height: 50px; border-radius: 50%; object-fit: cover; margin-right: 15px; border: 3px solid var(--primary-light);}.reviewer-info h4{ font-family: 'Orbitron', sans-serif; margin: 0; color: var(--primary-color);}.reviewer-info p{ margin: 0; font-size: 0.9rem; color: #777;}/* Media queries for reviews section */@media (max-width: 992px){ .reviews-slider{ flex-direction: column; align-items: center;} .review-card{ max-width: 100%; width: 100%;}}@media (max-width: 480px){ .projects-grid{ grid-template-columns: 1fr;} .modal-content{ width: 95%; padding: 15px;}}/* Parallax Effect for Sections */.parallax-section{ transform-style: preserve-3d; transition: transform 0.1s ease-out;}/* Gallery Section Styles */.gallery{ padding: 120px 0; background-color: var(--light-color); position: relative;}.gallery::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231a5b73' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 0.5;}.gallery .section-title{ position: relative; z-index: 1;}.gallery .section-title p{ color: #666; font-size: 1.1rem; margin-top: 10px; max-width: 600px; margin-left: auto; margin-right: auto;}.gallery-filters{ display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; margin: 50px 0 40px; position: relative; z-index: 1;}.filter-btn{ padding: 12px 25px; background: transparent; border: 2px solid var(--primary-color); border-radius: 30px; color: var(--primary-color); font-weight: 600; cursor: pointer; transition: all 0.3s ease; font-size: 0.9rem; position: relative; overflow: hidden;}.filter-btn::before{ content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--gradient-1); transition: left 0.3s ease; z-index: -1;}.filter-btn.active,.filter-btn:hover{ color: white; border-color: transparent; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(26, 91, 115, 0.3);}.filter-btn.active::before,.filter-btn:hover::before{ left: 0;}.gallery-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 30px; margin-top: 40px; position: relative; z-index: 1;}.gallery-item{ border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); background: white; opacity: 1; transform: scale(1);}.gallery-item.hidden{ display: none;}.gallery-item:hover{ transform: translateY(-10px) scale(1.02); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);}.gallery-image{ position: relative; height: 250px; overflow: hidden;}.gallery-image img{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}.gallery-item:hover .gallery-image img{ transform: scale(1.1);}.gallery-overlay{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(26, 91, 115, 0.9), rgba(0, 180, 219, 0.8)); display: flex; align-items: center; justify-content: center; opacity: 0; transition: all 0.3s ease;}.gallery-item:hover .gallery-overlay{ opacity: 1;}.gallery-content{ text-align: center; color: white; padding: 20px; transform: translateY(20px); transition: transform 0.3s ease;}.gallery-item:hover .gallery-content{ transform: translateY(0);}.gallery-content h3{ font-family: 'Orbitron', sans-serif; font-size: 1.3rem; margin-bottom: 10px; color: white;}.gallery-content p{ margin-bottom: 20px; font-size: 0.9rem; opacity: 0.9;}.gallery-view-btn{ padding: 10px 20px; background: rgba(255, 255, 255, 0.2); border: 2px solid white; border-radius: 25px; color: white; font-weight: 600; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}.gallery-view-btn:hover{ background: white; color: var(--primary-color); transform: translateY(-2px);}/* Gallery Lightbox Styles */.gallery-lightbox{ display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}.lightbox-content{ position: relative; margin: 5% auto; max-width: 90%; max-height: 90%; text-align: center; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--secondary-color) transparent;}.lightbox-content::-webkit-scrollbar{ width: 8px;}.lightbox-content::-webkit-scrollbar-track{ background: transparent;}.lightbox-content::-webkit-scrollbar-thumb{ background: var(--secondary-color); border-radius: 4px;}.lightbox-close{ position: absolute; top: 10px; right: 15px; color: white; font-size: 35px; font-weight: bold; cursor: pointer; transition: all 0.3s ease; z-index: 2001; background: rgba(0, 0, 0, 0.5); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; line-height: 1;}.lightbox-close:hover{ color: var(--secondary-color); background: rgba(0, 0, 0, 0.8); transform: scale(1.1);}/* Mobile styles for close button */@media (max-width: 768px){ .lightbox-close{ top: 5px; right: 10px; font-size: 30px; width: 45px; height: 45px;}}.lightbox-image-container{ position: relative; display: inline-block;}#lightbox-image{ max-width: 100%; max-height: 70vh; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); transition: opacity 0.3s ease;}.lightbox-counter{ position: absolute; top: 10px; right: 10px; background: rgba(0, 0, 0, 0.7); color: white; padding: 5px 12px; border-radius: 20px; font-size: 0.9rem; font-weight: 500; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}.lightbox-thumbnails{ display: flex; justify-content: center; gap: 10px; margin-top: 15px; padding: 10px; background: rgba(255, 255, 255, 0.1); border-radius: 10px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); overflow-x: auto; max-width: 100%;}.lightbox-thumbnail{ width: 60px; height: 45px; border-radius: 5px; overflow: hidden; cursor: pointer; opacity: 0.6; transition: all 0.3s ease; border: 2px solid transparent; flex-shrink: 0;}.lightbox-thumbnail:hover{ opacity: 0.8; transform: scale(1.05);}.lightbox-thumbnail.active{ opacity: 1; border-color: var(--secondary-color); box-shadow: 0 0 10px rgba(0, 198, 255, 0.5);}.lightbox-thumbnail img{ width: 100%; height: 100%; object-fit: cover;}.lightbox-info{ background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 10px; padding: 20px; margin-top: 20px; color: white; border: 1px solid rgba(255, 255, 255, 0.2);}.lightbox-info h3{ font-family: 'Orbitron', sans-serif; font-size: 1.5rem; margin-bottom: 10px; color: var(--secondary-color);}.lightbox-info p{ font-size: 1rem; line-height: 1.6; opacity: 0.9; max-height: 200px; overflow-y: auto; text-align: center; padding: 0 10px; scrollbar-width: thin; scrollbar-color: var(--secondary-color) transparent;}.lightbox-info p::-webkit-scrollbar{ width: 6px;}.lightbox-info p::-webkit-scrollbar-track{ background: transparent;}.lightbox-info p::-webkit-scrollbar-thumb{ background: var(--secondary-color); border-radius: 3px;}.lightbox-nav{ position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255, 255, 255, 0.2); border: none; color: white; font-size: 24px; padding: 15px 20px; cursor: pointer; border-radius: 50%; transition: all 0.3s ease; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}.lightbox-prev{ left: 20px;}.lightbox-next{ right: 20px;}.lightbox-nav:hover{ background: rgba(255, 255, 255, 0.3); transform: translateY(-50%) scale(1.1);}/* Responsive Gallery Styles */@media (max-width: 992px){ .gallery-grid{ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 25px;}  .gallery-filters{ gap: 10px;}  .filter-btn{ padding: 10px 20px; font-size: 0.85rem;}}@media (max-width: 768px){ .gallery{ padding: 80px 0;}  .gallery-grid{ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px;}  .gallery-image{ height: 200px;}  .lightbox-nav{ font-size: 20px; padding: 12px 15px;}  .lightbox-prev{ left: 10px;}  .lightbox-next{ right: 10px;}  .lightbox-thumbnails{ gap: 8px; padding: 8px;}  .lightbox-thumbnail{ width: 50px; height: 38px;}  .lightbox-counter{ font-size: 0.8rem; padding: 4px 10px;}}@media (max-width: 480px){ .gallery-grid{ grid-template-columns: 1fr;}  .gallery-filters{ flex-direction: column; align-items: center;}  .filter-btn{ width: 200px;}  .lightbox-content{ margin: 10% auto;}  .lightbox-info{ padding: 15px;}}/* Loading Animation */.loading-animation{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, #1a3a6c, #195a5f); display: flex; justify-content: center; align-items: center; z-index: 9999; transition: opacity 0.5s ease; will-change: opacity;}.loading-animation.fade-out{ opacity: 0; pointer-events: none;}.loading-spinner{ width: 60px; height: 60px; border: 3px solid rgba(255, 255, 255, 0.3); border-top: 3px solid #00c6ff; border-radius: 50%; animation: spin 1s linear infinite; will-change: transform;}@keyframes spin{ 0%{transform: rotate(0deg);} 100%{transform: rotate(360deg);}}/* Performance Optimizations */.btn,.team-member,.gallery-item,.service-card{ will-change: transform;}/* Optimize animations for better performance */@media (prefers-reduced-motion: no-preference){ .btn:hover, .team-member:hover, .gallery-item:hover{ transform: translateY(-5px);}}/* Component Loading States - Prevent Layout Shifts */.component-loading{ min-height: 200px; background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading-shimmer 1.5s infinite; border-radius: 8px;}.component-loaded{ animation: fadeInUp 0.5s ease-out;}@keyframes loading-shimmer{ 0%{background-position: -200% 0;} 100%{background-position: 200% 0;}}@keyframes fadeInUp{ from{ opacity: 0; transform: translateY(20px);} to{ opacity: 1; transform: translateY(0);}}/* Critical CSS - Above the fold content */.hero{ contain: layout style paint;}.header{ contain: layout style;}