.navbar{position:fixed;top:0;left:0;right:0;background-color:var(--background-white);box-shadow:var(--shadow-small);z-index:1000;transition:all var(--transition-speed) ease}.navbar.scrolled{box-shadow:var(--shadow-medium)}.nav-wrapper{justify-content:space-between;padding:1rem 0}.nav-right,.nav-wrapper{display:flex;align-items:center}.nav-right{gap:1.5rem}.logo .logo-text{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.logo .logo-text span{color:var(--primary-color);font-weight:400}.nav-links{display:flex;list-style:none;gap:2rem;align-items:center}.nav-links a{text-decoration:none;color:var(--text-dark);font-weight:500;transition:color var(--transition-speed) ease}.nav-links a:hover{color:var(--primary-color)}.btn-primary-small{padding:.5rem 1.5rem;background-color:var(--primary-color);color:#fff!important;border-radius:6px;transition:all var(--transition-speed) ease}.btn-primary-small:hover{background-color:var(--primary-dark)}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;background:none;border:none;cursor:pointer;padding:8px;width:40px;height:40px;position:relative;z-index:1001}.mobile-menu-toggle span{width:25px;height:3px;background-color:var(--text-dark);transition:all .3s ease;border-radius:2px;display:block}.mobile-menu-toggle.active span:first-child{transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.mobile-menu-toggle{display:flex}.nav-right{gap:1rem}.nav-links{position:fixed;top:70px;left:0;right:0;max-height:0;overflow:hidden;flex-direction:column;background-color:var(--background-white);box-shadow:0 4px 16px transparent;transition:max-height .3s ease,box-shadow .3s ease;z-index:999;gap:0}.nav-links.active{max-height:400px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.nav-links li{list-style:none}.nav-links a{display:block;padding:1rem 2rem;font-size:1rem;border-bottom:1px solid rgba(0,0,0,.05)}.nav-links li:last-child a{border-bottom:none;margin-bottom:1rem}.btn-primary-small{margin:0 2rem 1rem;padding:.75rem 1.5rem;text-align:center}}.hero{min-height:100vh;display:flex;align-items:center;background:var(--background-white);padding-top:80px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(0,102,204,.03) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,107,53,.03) 0,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:1;text-align:center;color:var(--text-dark);max-width:800px;margin:0 auto;padding:2rem 0}.hero-content h1{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem;color:var(--text-dark);line-height:1.2}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;color:var(--text-light);line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.hero-cta{text-align:center;margin-bottom:2rem}.hero-cta a{display:inline-block;margin:0 .75rem}.hero-cta .btn-primary{background-color:var(--primary-color);color:#fff;padding:1rem 2.5rem;font-size:1.125rem;border:2px solid var(--primary-color)}.hero-cta .btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.hero-cta .btn-secondary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color);padding:1rem 2.5rem;font-size:1.125rem}.hero-cta .btn-secondary:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.hero-features{display:flex;gap:2rem;justify-content:center;margin-top:3rem;flex-wrap:wrap}.hero-feature{display:flex;align-items:center;gap:.5rem;color:var(--text-light);font-size:1rem}.hero-feature:before{content:"✓";font-weight:700;color:var(--secondary-color)}@media (max-width:768px){.hero{min-height:auto;padding:120px 0 60px}.hero-content h1{font-size:2.25rem}.hero-subtitle{font-size:1rem}.hero-cta a{display:block;margin:0 0 1rem}.hero-cta a:last-child{margin-bottom:0}.hero-features{flex-direction:column;gap:1rem}}.services{padding:6rem 0;background-color:var(--background-white)}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-dark)}.section-header p{font-size:1.125rem;color:var(--text-light)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.service-card{background-color:var(--background-white);border:2px solid var(--border-color);border-radius:12px;padding:2.5rem;transition:all var(--transition-speed) ease;position:relative}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-large);border-color:var(--primary-color)}.service-card.featured{border-color:var(--primary-color);box-shadow:var(--shadow-medium)}.featured-badge{position:absolute;top:-16px;right:20px;background-color:var(--secondary-color);color:#fff;border:2px solid var(--secondary-color);padding:.25rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}:root.dark-mode .featured-badge{background-color:var(--background-white);color:#fff;border:2px solid var(--secondary-color)}.service-icon{width:80px;height:80px;background-color:var(--background-light);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--primary-color)}.service-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-dark)}.service-card p{color:var(--text-light);margin-bottom:1.5rem}.service-features{list-style:none}.service-features li{color:var(--text-light);position:relative;padding:.5rem 0 .5rem 1.5rem}.service-features li:before{content:"✓";position:absolute;left:0;color:var(--secondary-color);font-weight:700}@media (max-width:768px){.services-grid{grid-template-columns:1fr}}.about{padding:6rem 0;background-color:var(--background-light)}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;align-items:center}.about-content h2{font-size:2.5rem;margin-bottom:1.5rem;color:var(--text-dark)}.about-content h3{font-size:1.25rem;margin-top:2rem;margin-bottom:1rem;font-weight:600}.about-intro{font-size:1.25rem;color:var(--text-dark);margin-bottom:1.5rem;font-weight:500}.about-content p{color:var(--text-light);margin-bottom:1.5rem}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem;margin-top:2rem}.stat-item{text-align:center}.stat-number{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.stat-label{color:var(--text-light);font-size:.875rem}.about-image .image-placeholder{background-color:var(--background-white);border:2px dashed var(--border-color);border-radius:12px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-light);padding:2rem}@media (max-width:768px){.about-grid{grid-template-columns:1fr;gap:2rem}.about-stats{grid-template-columns:repeat(3,1fr);gap:1rem}}.portfolio{padding:6rem 0;background-color:var(--background-white)}.portfolio-grid{display:flex;justify-content:center;gap:2rem;max-width:1600px;margin:0 auto;padding:2rem 0;flex-wrap:wrap}.portfolio-carousel-wrapper{position:relative;max-width:1600px;margin:0 auto;padding:0 60px}.portfolio-carousel{overflow:hidden;border-radius:12px;padding:2rem 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y pinch-zoom;cursor:-webkit-grab;cursor:grab}.portfolio-carousel:active{cursor:-webkit-grabbing;cursor:grabbing}.portfolio-carousel-track{display:flex;transition:transform .5s ease-in-out}.portfolio-item{flex:0 0 33.333%;padding:0 1rem;box-sizing:border-box}.portfolio-grid .portfolio-item{flex:0 0 auto;max-width:250px;width:100%;padding:0}.portfolio-item{cursor:pointer}.portfolio-item-inner{background-color:var(--background-white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-small);border:1px solid var(--border-color);transition:all var(--transition-speed) ease}.portfolio-item-inner:hover{transform:translateY(-8px);box-shadow:var(--shadow-large)}.portfolio-image{aspect-ratio:4/3;overflow:hidden;background-color:var(--background-light)}.portfolio-image img{width:100%;height:100%;object-fit:cover}.portfolio-image .image-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-light)}.portfolio-info{padding:1.5rem}.portfolio-info h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-dark)}.portfolio-info p{color:var(--text-light);font-size:.875rem}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background-color:var(--background-white);border:2px solid var(--primary-color);color:var(--primary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-speed) ease;z-index:10;box-shadow:var(--shadow-small)}.carousel-btn:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-50%) scale(1.1)}.carousel-btn-prev{left:0}.carousel-btn-next{right:0}.carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.carousel-dot{width:12px;height:12px;border-radius:50%;background-color:var(--border-color);border:none;cursor:pointer;transition:all var(--transition-speed) ease;padding:0}.carousel-dot:hover{background-color:var(--text-light)}.carousel-dot.active{background-color:var(--primary-color);width:32px;border-radius:6px}@media (max-width:1024px){.portfolio-item{flex:0 0 50%}}@media (max-width:768px){.portfolio-carousel-wrapper{padding:0 40px}.portfolio-item{flex:0 0 100%;min-width:100%;padding:0 .5rem;box-sizing:border-box}.carousel-btn{width:32px;height:32px}.carousel-btn-prev{left:2px}.carousel-btn-next{right:2px}}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:2rem;right:2rem;width:48px;height:48px;border-radius:50%;background-color:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid hsla(0,0%,100%,.3);color:#fff;font-size:1.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-speed) ease;z-index:10001;line-height:1;padding:0;font-weight:300}.lightbox-close:hover{background-color:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.5);transform:scale(1.1) rotate(90deg)}:root.dark-mode .lightbox-close{background-color:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2)}.lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-image{max-width:100%;max-height:calc(90vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.5)}.lightbox-info{background-color:var(--background-white);padding:1.5rem 2rem;border-radius:12px;max-width:600px;text-align:center;box-shadow:var(--shadow-large)}.lightbox-info h3{font-size:1.5rem;margin-bottom:.75rem;color:var(--text-dark)}.lightbox-info p{color:var(--text-light);font-size:1rem;line-height:1.6}@media (max-width:768px){.lightbox-overlay{padding:1rem}.lightbox-close{top:1rem;right:1rem;width:40px;height:40px;font-size:1.5rem}.lightbox-image{max-height:calc(90vh - 200px)}.lightbox-info{padding:1rem 1.5rem}.lightbox-info h3{font-size:1.25rem}.lightbox-info p{font-size:.875rem}}.contact{padding:6rem 0;background-color:var(--background-light)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem}.contact-info h2{font-size:2.5rem;margin-bottom:1rem;color:var(--text-dark)}.contact-subtitle{color:var(--text-light);margin-bottom:2rem;font-size:1.125rem}.contact-details{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;gap:1rem;align-items:flex-start}.contact-item svg{color:var(--primary-color);flex-shrink:0}.contact-item h4{font-size:1rem;margin-bottom:.25rem;color:var(--text-dark)}.contact-item a,.contact-item p{color:var(--text-light);font-size:.875rem;text-decoration:none}.contact-item a:hover{color:var(--primary-color)}.contact-form-wrapper{background-color:var(--background-white);padding:2.5rem;border-radius:12px;box-shadow:var(--shadow-medium)}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-weight:500;color:var(--text-dark);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid var(--border-color);border-radius:6px;font-family:inherit;font-size:1rem;transition:border-color var(--transition-speed) ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical}.contact-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.contact-grid{grid-template-columns:1fr;gap:2rem}}.footer{background-color:var(--footer-background);padding:3rem 0 1rem;border-top:1px solid var(--border-color)}.footer,.footer-section h3,.footer-section h4{color:var(--footer-text)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:2rem}.footer-section h3{font-size:1.5rem;margin-bottom:1rem}.footer-section h4{font-size:1.125rem;margin-bottom:1rem}.footer-section p{color:hsla(0,0%,100%,.7);font-size:.875rem}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:hsla(0,0%,100%,.7);text-decoration:none;transition:color var(--transition-speed) ease}.footer-section ul li a:hover{color:var(--background-white)}.social-links{display:flex;gap:1rem}.social-links a{width:40px;height:40px;border-radius:50%;background-color:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;transition:all var(--transition-speed) ease}.social-links a:hover{background-color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-3px)}.social-links a svg{color:hsla(0,0%,100%,.7)}.social-links a:hover svg{color:#fff}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid hsla(0,0%,100%,.1);margin-top:2rem}.footer-bottom p{color:hsla(0,0%,100%,.5);font-size:.875rem}@media (max-width:768px){.footer-content{grid-template-columns:1fr;text-align:center}.social-links{justify-content:center}}