.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;z-index:1}.hero-background{position:absolute;inset:0;background-size:cover;background-position:50%;background-repeat:no-repeat;transition:opacity .6s ease-in-out;z-index:0}.hero.has-bg-image:before{background:rgba(0,0,0,.5)}.hero.has-bg-image .hero-content{z-index:2}.hero.has-bg-image .hero-title{color:#fff}.hero.has-bg-image .hero-subtitle{color:hsla(0,0%,100%,.9)}.hero.has-bg-image .hero-feature{color:hsla(0,0%,100%,.85)}.hero.has-bg-image .hero-feature:before{color:#ff6b35}.hero.has-bg-image .btn-secondary{color:#fff;border-color:#fff}.hero.has-bg-image .btn-secondary:hover{background-color:#fff;color:var(--primary-color)}.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}.service-title-link{color:inherit;text-decoration:none}.service-more-link,.service-title-link:hover{color:var(--primary-color)}.service-more-link{display:inline-block;margin-top:1.25rem;font-weight:600;text-decoration:none}.service-more-link:hover{text-decoration:underline}@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 .about-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}.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}}