:root{--primary-color: #007bff;--primary-dark: #0056b3;--primary-light: #66b3ff;--secondary-color: #6c757d;--success-color: #28a745;--info-color: #17a2b8;--warning-color: #ffc107;--danger-color: #dc3545;--light-color: #f8f9fa;--dark-color: #343a40;--white: #ffffff;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--font-family-sans: 'Helvetica Neue',Helvetica,Arial,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;--font-family-mono: 'SFMono-Regular',Consolas,'Liberation Mono',Menlo,Courier,monospace;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--border-radius-sm: 0.25rem;--border-radius: 0.375rem;--border-radius-lg: 0.5rem;--border-radius-xl: 0.75rem;--border-radius-2xl: 1rem;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);--shadow: 0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--transition-fast: 150ms ease-in-out;--transition-base: 250ms ease-in-out;--transition-slow: 350ms ease-in-out} *{box-sizing: border-box} html{scroll-behavior: smooth;font-size: 16px;overflow-x: hidden} body{font-family: var(--font-family-sans);line-height: 1.6;color: var(--gray-800);background-color: var(--white);margin: 0;padding: 0;overflow-x: hidden;max-width: 100vw} h1,h2,h3,h4,h5,h6{font-weight: 600;line-height: 1.3;margin-bottom: var(--spacing-md);color: var(--gray-900)} h1{font-size: var(--font-size-5xl)} h2{font-size: var(--font-size-4xl)} h3{font-size: var(--font-size-3xl)} h4{font-size: var(--font-size-2xl)} h5{font-size: var(--font-size-xl)} h6{font-size: var(--font-size-lg)} p{margin-bottom: var(--spacing-md);color: var(--gray-700)} a{color: var(--primary-color);text-decoration: none;transition: color var(--transition-fast)} a:hover{color: var(--primary-dark);text-decoration: underline} .btn{font-weight: 500;border-radius: var(--border-radius);transition: all var(--transition-fast);position: relative;overflow: hidden} .btn:hover{transform: translateY(-2px);box-shadow: var(--shadow-lg)} .btn-primary{background: linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border: none} .btn-primary:hover{background: linear-gradient(135deg,var(--primary-dark) 0%,#003d82 100%)} .btn-warning{background: linear-gradient(135deg,var(--warning-color) 0%,#e0a800 100%);border: none;color: var(--gray-900);font-weight: 600} .btn-warning:hover{background: linear-gradient(135deg,#e0a800 0%,#cc9500 100%);color: var(--gray-900);transform: translateY(-2px);box-shadow: var(--shadow-lg)} .navbar{backdrop-filter: blur(10px);background-color: rgba(255,255,255,0.95) !important;border-bottom: 1px solid var(--gray-200);transition: all var(--transition-base);overflow: hidden !important;overflow-y: hidden !important;height: auto !important;max-height: 100px !important} .navbar.scrolled{box-shadow: var(--shadow-md)} .navbar-brand{font-weight: 700;font-size: var(--font-size-xl);color: var(--primary-color) !important;display: flex;align-items: center;gap: var(--spacing-sm)} .brand-text{background: linear-gradient(135deg,var(--primary-color) 0%,var(--success-color) 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text} .nav-link{font-weight: 500;color: var(--gray-700) !important;transition: color var(--transition-fast);position: relative} .nav-link:hover,.nav-link.active{color: var(--primary-color) !important} .nav-link::after{content: '';position: absolute;bottom: -5px;left: 0;width: 0;height: 2px;background: linear-gradient(90deg,var(--primary-color),var(--success-color));transition: width var(--transition-base)} .nav-link:hover::after,.nav-link.active::after{width: 100%} .navbar-collapse{overflow: hidden !important;overflow-y: hidden !important;max-height: none !important} .navbar-nav{overflow: hidden !important;overflow-y: hidden !important} .nav-item{overflow: hidden !important} .hero-section{background: linear-gradient(135deg,#667eea 0%,#764ba2 100%);color: var(--white);position: relative;overflow: hidden;min-height: 100vh;display: flex;align-items: center} .hero-section::before{content: '';position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none"><path opacity="0.1" fill="white" d="M0,0 C150,100 350,0 500,50 C650,100 850,0 1000,50 L1000,100 L0,100 Z"/></svg>');background-size: cover;background-position: bottom} .hero-title{font-size: var(--font-size-5xl);font-weight: 700;margin-bottom: var(--spacing-xl);line-height: 1.2;text-shadow: 2px 2px 4px rgba(0,0,0,0.3)} .hero-description{font-size: var(--font-size-lg);margin-bottom: var(--spacing-2xl);opacity: 0.9;line-height: 1.7} .hero-buttons .btn{padding: 12px 30px;font-size: var(--font-size-base);border-radius: var(--border-radius-xl);box-shadow: var(--shadow-lg);font-weight: 600;border: none} .hero-buttons .btn-warning{background: linear-gradient(135deg,var(--warning-color) 0%,#f0ad4e 100%);color: var(--gray-900);box-shadow: 0 4px 15px rgba(255,193,7,0.4)} .hero-buttons .btn-warning:hover{background: linear-gradient(135deg,#e0a800 0%,#d58512 100%);color: var(--gray-900);transform: translateY(-3px);box-shadow: 0 8px 25px rgba(255,193,7,0.5)} .hero-stats h3{font-size: var(--font-size-3xl);font-weight: 700;color: var(--white);margin-bottom: var(--spacing-xs)} .hero-stats small{font-size: var(--font-size-sm);opacity: 0.8} .hero-image img{border-radius: var(--border-radius-2xl);box-shadow: var(--shadow-xl)} .scroll-indicator{position: absolute;bottom: 30px;left: 50%;transform: translateX(-50%);z-index: 10} .scroll-down{display: inline-block;color: var(--white);font-size: var(--font-size-xl);animation: bounce 2s infinite;opacity: 0.7;transition: opacity var(--transition-fast)} .scroll-down:hover{opacity: 1;color: var(--white);text-decoration: none} @keyframes bounce{0%,20%,50%,80%,100%{transform: translateY(0)} 40%{transform: translateY(-10px)} 60%{transform: translateY(-5px)} } .section-title{font-size: var(--font-size-4xl);font-weight: 700;color: var(--gray-900);margin-bottom: var(--spacing-lg);position: relative;display: inline-block} .section-title::after{content: '';position: absolute;bottom: -10px;left: 0;width: 60px;height: 4px;background: linear-gradient(90deg,var(--primary-color),var(--success-color));border-radius: var(--border-radius-full)} .section-description{font-size: var(--font-size-lg);color: var(--gray-600);max-width: 600px;margin: 0 auto var(--spacing-2xl)} #services{overflow-y: hidden !important;overflow-x: hidden !important;height: auto !important;min-height: auto !important;max-height: none !important;padding: var(--spacing-2xl) 0 !important} #services .container{overflow-y: hidden !important;overflow-x: hidden !important;height: auto !important;min-height: auto !important;max-height: none !important} #services .row{overflow-y: hidden !important;overflow-x: hidden !important;height: auto !important;min-height: auto !important;max-height: none !important} #portfolio,.portfolio-section,[id*="portfolio"],section[class*="portfolio"]{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #portfolio .container{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #portfolio .row{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #testimonials,.testimonials-section,[id*="testimonial"],section[class*="testimonial"]{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #testimonials .container{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #testimonials .row{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #partners,.partners-section,[id*="partner"],section[class*="partner"]{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #partners .container{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} #partners .row{overflow-y: hidden !important;overflow-x: hidden !important;height: fit-content !important;min-height: fit-content !important;max-height: fit-content !important} .service-card{background: var(--white);padding: var(--spacing-2xl);border-radius: var(--border-radius-xl);box-shadow: var(--shadow-md);text-align: center;transition: all var(--transition-base);border: 1px solid var(--gray-200);height: auto !important;min-height: auto !important;max-height: none !important;overflow-y: hidden !important;overflow-x: hidden !important;display: flex;flex-direction: column} .service-card:hover{transform: translateY(-10px);box-shadow: var(--shadow-xl);border-color: var(--primary-color)} .service-icon{width: 80px;height: 80px;background: linear-gradient(135deg,var(--primary-color),var(--success-color));border-radius: var(--border-radius-full);display: flex;align-items: center;justify-content: center;margin: 0 auto var(--spacing-lg);font-size: var(--font-size-3xl);color: var(--white);box-shadow: var(--shadow-lg)} .service-card h3{color: var(--gray-900);margin-bottom: var(--spacing-md);font-size: var(--font-size-xl)} .service-card p{color: var(--gray-600);margin-bottom: var(--spacing-lg);flex-grow: 1} .service-features{list-style: none;padding: 0;margin-bottom: var(--spacing-lg);text-align: left;overflow: visible !important;overflow-y: visible !important;height: auto !important;min-height: auto !important;max-height: none !important} .service-features li{position: relative;padding-left: 25px;margin-bottom: var(--spacing-sm);color: var(--gray-700);font-size: var(--font-size-sm)} .service-features li::before{content: '✓';position: absolute;left: 0;color: var(--success-color);font-weight: bold;font-size: var(--font-size-base)} .process-step{position: relative;padding-top: var(--spacing-xl)} .step-number{position: absolute;top: 0;left: 50%;transform: translateX(-50%);width: 40px;height: 40px;background: linear-gradient(135deg,var(--primary-color),var(--success-color));border-radius: var(--border-radius-full);display: flex;align-items: center;justify-content: center;color: var(--white);font-weight: 700;font-size: var(--font-size-lg);box-shadow: var(--shadow-md);z-index: 10} .step-icon{width: 80px;height: 80px;background: var(--light-color);border: 3px solid var(--primary-color);border-radius: var(--border-radius-full);display: flex;align-items: center;justify-content: center;margin: var(--spacing-lg) auto var(--spacing-md);font-size: var(--font-size-2xl);color: var(--primary-color);transition: all var(--transition-base)} .process-step:hover .step-icon{background: var(--primary-color);color: var(--white);transform: scale(1.1)} .process-step h5{color: var(--gray-900);margin-bottom: var(--spacing-sm);font-weight: 600} .process-step p{color: var(--gray-600);font-size: var(--font-size-sm);margin: 0} .testimonial-card{background: var(--white);border-radius: var(--border-radius-2xl);padding: var(--spacing-2xl);border: 2px solid var(--gray-200);transition: all var(--transition-base);height: auto;min-height: auto;display: flex;flex-direction: column;position: relative;overflow: visible;box-shadow: var(--shadow-md)} .testimonial-card::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 4px;background: linear-gradient(90deg,var(--primary-color),var(--warning-color),var(--success-color))} .testimonial-card:hover{transform: translateY(-8px);box-shadow: var(--shadow-xl);border-color: var(--primary-color)} .testimonial-content{flex-grow: 1;margin-bottom: var(--spacing-lg)} .stars{color: var(--warning-color);font-size: var(--font-size-base);text-shadow: 0 1px 2px rgba(255,193,7,0.3)} .testimonial-text{color: var(--gray-700);font-style: italic;font-size: var(--font-size-base);line-height: 1.8;margin: 0;position: relative} .testimonial-text::before{content: '"';font-size: 3rem;color: var(--primary-color);position: absolute;top: -10px;left: -10px;opacity: 0.3;font-family: Georgia,serif} .testimonial-author{display: flex;align-items: center;gap: var(--spacing-md);padding-top: var(--spacing-md);border-top: 1px solid var(--gray-200);margin-top: auto} .author-avatar{width: 50px;height: 50px;background: linear-gradient(135deg,var(--primary-color),var(--success-color));border-radius: var(--border-radius-full);display: flex;align-items: center;justify-content: center;color: var(--white);font-size: var(--font-size-xl);flex-shrink: 0} .author-info h6{color: var(--gray-900);margin: 0 0 2px 0;font-size: var(--font-size-base);font-weight: 600} .author-info span{color: var(--gray-600);font-size: var(--font-size-sm);font-weight: 500} .quote-form-wrapper{background: var(--white);padding: var(--spacing-2xl);border-radius: var(--border-radius-2xl);box-shadow: var(--shadow-xl);border: 1px solid var(--gray-200)} .quote-features .feature-item{font-size: var(--font-size-base);color: var(--gray-700)} .quote-features .fa-check-circle{font-size: var(--font-size-lg)} .form-label{font-weight: 600;color: var(--gray-800);margin-bottom: var(--spacing-sm)} .form-control,.form-select{border: 2px solid var(--gray-300);border-radius: var(--border-radius);padding: 12px 16px;font-size: var(--font-size-base);transition: all var(--transition-fast)} .form-control:focus,.form-select:focus{border-color: var(--primary-color);box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25)} footer{background: linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 100%)} .footer-brand h5{color: var(--white);margin-bottom: var(--spacing-md)} .footer-brand p{color: var(--gray-400);line-height: 1.7} .social-links a{display: inline-block;width: 40px;height: 40px;background: rgba(255,255,255,0.1);border-radius: var(--border-radius-full);text-align: center;line-height: 40px;transition: all var(--transition-fast)} .social-links a:hover{background: var(--primary-color);transform: translateY(-3px);text-decoration: none} .footer-links{margin: 0;padding: 0} .footer-links li{margin-bottom: var(--spacing-sm)} .footer-links a{color: var(--gray-400);font-size: var(--font-size-sm);transition: color var(--transition-fast)} .footer-links a:hover{color: var(--white);text-decoration: none} .contact-info .contact-item{color: var(--gray-400);font-size: var(--font-size-sm)} .contact-info .fas{color: var(--primary-color);width: 20px} .back-to-top{position: fixed;bottom: 30px;right: 30px;width: 50px;height: 50px;border-radius: var(--border-radius-full);background: linear-gradient(135deg,var(--primary-color),var(--success-color));border: none;color: var(--white);font-size: var(--font-size-lg);box-shadow: var(--shadow-lg);opacity: 0;visibility: hidden;transition: all var(--transition-base);z-index: 1000} .back-to-top.show{opacity: 1;visibility: visible} .back-to-top:hover{transform: translateY(-3px);box-shadow: var(--shadow-xl)} .fade-in{opacity: 0;transform: translateY(30px);transition: all var(--transition-slow)} .fade-in.visible{opacity: 1;transform: translateY(0)} .min-vh-100{min-height: 100vh} .text-shadow{text-shadow: 2px 2px 4px rgba(0,0,0,0.3)} ::-webkit-scrollbar{width: 8px} ::-webkit-scrollbar-track{background: var(--gray-200)} ::-webkit-scrollbar-thumb{background: linear-gradient(135deg,var(--primary-color),var(--success-color));border-radius: var(--border-radius-full)} ::-webkit-scrollbar-thumb:hover{background: linear-gradient(135deg,var(--primary-dark),#1e7e34)} *:not(body):not(html){scrollbar-width: none !important;-ms-overflow-style: none !important} *:not(body):not(html)::-webkit-scrollbar{display: none !important;width: 0 !important;height: 0 !important} .modal-body,.offcanvas-body,.dropdown-menu,.list-group,.card-body,.service-card,.testimonial-card,.contact-form-container,.quote-form-wrapper,.table-responsive,.navbar-collapse,.pricing-card,.team-card,.contact-card,.feature-icon,.timeline-item,.stat-counter,.portfolio-card,.portfolio-item,.portfolio-image,.portfolio-overlay,.portfolio-info,.portfolio-content,.partner-card,.partner-item,.partner-logo,section,div,article,header,footer,nav,aside,main{overflow: visible !important;height: auto !important;min-height: auto !important;max-height: none !important;scrollbar-width: none !important;-ms-overflow-style: none !important} .modal-body::-webkit-scrollbar,.offcanvas-body::-webkit-scrollbar,.dropdown-menu::-webkit-scrollbar,.list-group::-webkit-scrollbar,.card-body::-webkit-scrollbar,.service-card::-webkit-scrollbar,.testimonial-card::-webkit-scrollbar,.contact-form-container::-webkit-scrollbar,.quote-form-wrapper::-webkit-scrollbar,.table-responsive::-webkit-scrollbar,.navbar-collapse::-webkit-scrollbar,.pricing-card::-webkit-scrollbar,.team-card::-webkit-scrollbar,.contact-card::-webkit-scrollbar,.feature-icon::-webkit-scrollbar,.timeline-item::-webkit-scrollbar,.stat-counter::-webkit-scrollbar,.portfolio-card::-webkit-scrollbar,.portfolio-item::-webkit-scrollbar,.portfolio-image::-webkit-scrollbar,.portfolio-overlay::-webkit-scrollbar,.portfolio-info::-webkit-scrollbar,.portfolio-content::-webkit-scrollbar,.partner-card::-webkit-scrollbar,.partner-item::-webkit-scrollbar,.partner-logo::-webkit-scrollbar{display: none} textarea,.form-control[multiple]{scrollbar-width: none;-ms-overflow-style: none} textarea::-webkit-scrollbar,.form-control[multiple]::-webkit-scrollbar{display: none}