@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#1a1a1a;--secondary:#2d2d2d;--accent:#c9a45c;--light:#f5f5f5;--white:#ffffff;--gray:#888888}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background-color:var(--primary);color:var(--light);line-height:1.6;overflow-x:hidden}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--primary);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.preloader.hidden{opacity:0;visibility:hidden}.preloader-logo{font-family:Playfair Display,serif;font-size:3rem;color:var(--accent);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(.98)}50%{opacity:1;transform:scale(1)}}nav{position:fixed;top:0;left:0;width:100%;padding:1.5rem 5%;display:flex;justify-content:space-between;align-items:center;z-index:1000;background:transparent;transition:all .3s ease}nav.scrolled{background:rgba(26,26,26,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 5%}.logo{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600;color:var(--white);text-decoration:none;letter-spacing:2px}.logo span{color:var(--accent)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{color:var(--light);text-decoration:none;font-size:.9rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;position:relative;transition:color .3s ease}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s ease}.nav-links a:hover{color:var(--accent)}.nav-links a:hover:after{width:100%}.nav-links-fake-a{color:var(--light);font-size:.9rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;cursor:pointer}.nav-links-fake-a:hover{color:var(--accent)}.nav-dropdown{position:relative}.dropdown-toggle{display:flex;align-items:center;gap:.3rem;cursor:pointer}.dropdown-arrow{font-size:.7rem;transition:transform .3s ease;display:inline-block}.nav-dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:rgba(26,26,26,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px;padding:.8rem 0;border:1px solid rgba(201,164,92,.2);border-radius:4px;list-style:none;opacity:0;visibility:hidden;transition:all .3s ease;margin-top:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible}.dropdown-menu li{padding:0}.dropdown-menu a{display:block;padding:.7rem 1.5rem;color:var(--light);text-decoration:none;font-size:.85rem;letter-spacing:.5px;transition:all .2s ease;text-transform:none}.dropdown-menu a:hover{background:rgba(201,164,92,.1);color:var(--accent);padding-left:1.8rem}.dropdown-menu a:after{display:none}.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1001}.menu-toggle span{width:25px;height:2px;background:var(--white);transition:all .3s ease}.lang-switcher{display:flex;align-items:center;gap:.5rem;margin-left:2rem}.lang-btn{background:transparent;border:none;color:var(--gray);font-size:.85rem;font-weight:500;letter-spacing:1px;cursor:pointer;padding:.3rem .5rem;transition:color .3s ease}.lang-btn.active,.lang-btn:hover{color:var(--accent)}.lang-btn.active{font-weight:600}.lang-divider{color:var(--gray);opacity:.5}.hero{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(90deg,var(--secondary) 25%,#3a3a3a 50%,var(--secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.hero-bg.loaded{background:none;animation:none}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease;animation:slowZoom 20s ease-in-out infinite alternate}.hero-bg.loaded img{opacity:.3}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-content{z-index:1;animation:fadeInUp 1s ease-out .5s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero h1{font-family:Playfair Display,serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:500;margin-bottom:1rem;letter-spacing:3px}.hero h1 span{color:var(--accent)}.hero p{font-size:clamp(1rem,2vw,1.3rem);color:#bbbbbb;font-weight:300;letter-spacing:4px;margin-bottom:2rem}.hero p,.hero-btn{text-transform:uppercase}.hero-btn{display:inline-block;padding:1rem 3rem;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:.9rem;letter-spacing:2px;transition:all .3s ease}.hero-btn:hover{background:var(--accent);color:var(--primary)}.hero-actions{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.hero-action{position:relative;display:flex;flex-direction:column;align-items:center;gap:.7rem;width:150px;padding:1.6rem 1rem;text-decoration:none;color:var(--white);border:1px solid rgba(201,164,92,.35);background:rgba(26,26,26,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s ease,background .35s ease,box-shadow .35s ease;animation:fadeInUp .8s ease-out both}.hero-action:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(201,164,92,.18) 50%,transparent 70%);transform:translateX(-130%);transition:transform .7s ease}.hero-action:hover{transform:translateY(-8px);border-color:var(--accent);background:rgba(201,164,92,.08);box-shadow:0 16px 40px rgba(0,0,0,.45),0 0 0 1px rgba(201,164,92,.25)}.hero-action:hover:before{transform:translateX(130%)}.hero-action-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--accent);border:1px solid rgba(201,164,92,.4);transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s ease,color .35s ease}.hero-action-icon svg{width:22px;height:22px}.hero-action:hover .hero-action-icon{transform:scale(1.12) rotate(-6deg);background:var(--accent);color:var(--primary)}.hero-action-label{font-size:.85rem;letter-spacing:2px;text-transform:uppercase;font-weight:500;transition:color .35s ease}.hero-action:hover .hero-action-label{color:var(--accent)}@media (max-width:480px){.hero-actions{gap:.75rem}.hero-action{width:100px;padding:1.2rem .6rem}.hero-action-icon{width:36px;height:36px}.hero-action-label{font-size:.72rem;letter-spacing:1px}}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}.scroll-indicator span{display:block;width:20px;height:30px;border:2px solid var(--gray);border-radius:10px;position:relative}.scroll-indicator span:before{content:"";position:absolute;top:5px;left:50%;transform:translateX(-50%);width:3px;height:8px;background:var(--accent);border-radius:2px;animation:scroll 1.5s infinite}@keyframes scroll{0%{opacity:1;top:5px}to{opacity:0;top:15px}}section{padding:8rem 5%}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);font-weight:500;margin-bottom:1rem}.section-header p{color:var(--gray);max-width:600px;margin:0 auto}.divider{width:60px;height:2px;background:var(--accent);margin:1.5rem auto}#services{background:var(--primary)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem;max-width:1200px;margin:0 auto}.service-card{padding:2.5rem;background:var(--primary);border:1px solid transparent;transition:all .3s ease;cursor:pointer;text-decoration:none;color:var(--light);display:block}.service-card:hover{border-color:var(--accent);transform:translateY(-10px)}.service-icon{width:60px;height:60px;margin-bottom:1.5rem}.service-icon svg{width:100%;height:100%;stroke:var(--accent);stroke-width:1.5;fill:none}.service-card h3{font-family:Playfair Display,serif;font-size:1.4rem;margin-bottom:1rem}.service-card p{color:var(--gray);font-size:.95rem;line-height:1.7}#projekte{background:var(--secondary)}.portfolio-filter{display:flex;justify-content:center;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.6rem 1.5rem;background:transparent;border:1px solid var(--gray);color:var(--light);cursor:pointer;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease}.filter-btn.active,.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:1.5rem;gap:1.5rem}.portfolio-item{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:16/10;background:linear-gradient(90deg,var(--secondary) 25%,#3a3a3a 50%,var(--secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.portfolio-item.loaded{background:none;animation:none}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .3s ease;opacity:0}.portfolio-item.loaded img{opacity:1}.portfolio-item:hover img{transform:scale(1.1)}.portfolio-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,rgba(26,26,26,.9) 0,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;opacity:0;transition:opacity .3s ease}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-overlay h3{font-family:Playfair Display,serif;font-size:1.4rem;margin-bottom:.5rem;transform:translateY(20px);transition:transform .3s ease}.portfolio-item:hover .portfolio-overlay h3{transform:translateY(0)}.portfolio-overlay span{color:var(--accent);font-size:.85rem;letter-spacing:1px;text-transform:uppercase;transform:translateY(20px);transition:transform .3s ease .1s}.portfolio-item:hover .portfolio-overlay span{transform:translateY(0)}.portfolio-item .play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:rgba(201,164,92,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .3s ease}.portfolio-item:hover .play-icon{transform:translate(-50%,-50%) scale(1.1);background:var(--accent)}.portfolio-item .play-icon svg{width:24px;height:24px;fill:var(--primary);margin-left:4px}.image-comparison{position:relative;width:100%;height:100%;overflow:hidden;cursor:ew-resize}.image-comparison img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.image-comparison .img-day{z-index:1}.image-comparison .img-night{z-index:2;-webkit-clip-path:inset(0 0 0 50%);clip-path:inset(0 0 0 50%)}.comparison-slider{position:absolute;top:0;bottom:0;left:50%;width:4px;background:var(--accent);z-index:3;transform:translateX(-50%);cursor:ew-resize}.comparison-slider:before{width:44px;height:44px;background:var(--accent);border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.3)}.comparison-slider:after,.comparison-slider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.comparison-slider:after{width:0;height:0;border-style:solid;border-width:8px 0 8px 10px;border-color:transparent transparent transparent var(--primary);margin-left:8px}.comparison-slider .arrow-left{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-style:solid;border-width:8px 10px 8px 0;border-color:transparent var(--primary) transparent transparent;margin-left:-8px}.comparison-label{position:absolute;bottom:15px;padding:6px 12px;background:rgba(0,0,0,.7);color:var(--light);font-size:.75rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;border-radius:4px;z-index:4;pointer-events:none}.comparison-label.day{left:15px}.comparison-label.night{right:15px}.portfolio-item.comparison-item:hover img{transform:none}.portfolio-item.comparison-item .portfolio-overlay{pointer-events:none}.portfolio-item.gallery-item .gallery-thumbnails{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateY(20px);display:flex;gap:10px;opacity:0;transition:all .3s ease;z-index:5}.portfolio-item.gallery-item:hover .gallery-thumbnails{opacity:1;transform:translate(-50%,-50%)}.portfolio-item.gallery-item .gallery-thumb{width:60px;height:40px;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .3s ease;opacity:.7}.portfolio-item.gallery-item .gallery-thumb.active,.portfolio-item.gallery-item .gallery-thumb:hover{border-color:var(--accent);opacity:1;transform:scale(1.1)}.portfolio-item.gallery-item .gallery-thumb img{width:100%;height:100%;object-fit:cover;opacity:1}.portfolio-item.gallery-item .gallery-all,.portfolio-item.gallery-item .gallery-all img{position:absolute;top:0;left:0;width:100%;height:100%}.portfolio-item.gallery-item .gallery-all img{object-fit:cover;opacity:0;transform:scale(1);transition:opacity .4s ease,transform .6s ease}.portfolio-item.gallery-item .gallery-all img.active{opacity:1}.portfolio-item.gallery-item:hover .gallery-all img.active{transform:scale(1.05)}.portfolio-item.gallery-item .gallery-dots{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:6;opacity:0;transition:opacity .3s ease}.portfolio-item.gallery-item:hover .gallery-dots{opacity:1}.portfolio-item.gallery-item .gallery-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:all .3s ease;border:2px solid transparent}.portfolio-item.gallery-item .gallery-dot.active,.portfolio-item.gallery-item .gallery-dot:hover{background:var(--accent);transform:scale(1.2)}.portfolio-item.gallery-item .gallery-swipe-hint{display:none}.swipe-indicator{display:none;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;color:var(--gray);font-size:.85rem}.swipe-indicator svg{width:20px;height:20px;stroke:var(--accent);stroke-width:2;fill:none;animation:swipeHint 1.5s ease-in-out infinite}@keyframes swipeHint{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(10,10,10,.98);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox.active{opacity:1;visibility:visible}.lightbox-top{position:absolute;top:0;left:0;width:100%;padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;z-index:2010}.lightbox-counter{color:var(--gray);font-size:.9rem;letter-spacing:2px}.lightbox-content{position:relative;width:100%;height:70vh;display:flex;justify-content:center;align-items:center}.lightbox iframe,.lightbox img{max-width:90%;max-height:100%;object-fit:contain;opacity:0;transform:scale(.95);transition:all .5s cubic-bezier(.4,0,.2,1);position:absolute}.lightbox iframe.show,.lightbox img.show{opacity:1;transform:scale(1);position:relative}.lightbox-close{position:relative;width:40px;height:40px;cursor:pointer;border-radius:50%;background:rgba(255,255,255,.05);transition:all .3s ease}.lightbox-close:hover{background:var(--accent);transform:rotate(90deg)}.lightbox-close:after,.lightbox-close:before{content:"";position:absolute;top:50%;left:25%;width:50%;height:2px;background:var(--white);transition:background .3s ease}.lightbox-close:before{transform:rotate(45deg)}.lightbox-close:after{transform:rotate(-45deg)}.lightbox-close:hover:after,.lightbox-close:hover:before{background:var(--primary)}.lightbox-info{position:absolute;bottom:3rem;text-align:center;opacity:0;transform:translateY(20px);transition:all .4s ease .2s}.lightbox.active .lightbox-info.show{opacity:1;transform:translateY(0)}.lightbox-info h3{font-family:Playfair Display,serif;font-size:1.8rem;color:var(--white);margin-bottom:.5rem}.lightbox-info span{color:var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:2px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:60px;border:1px solid rgba(255,255,255,.1);background:rgba(25,25,25,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2010}.lightbox-nav:hover{border-color:var(--accent);background:var(--accent);transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:3rem}.lightbox-next{right:3rem}.lightbox-nav svg{width:24px;height:24px;fill:none;stroke:var(--white);stroke-width:2;transition:stroke .3s ease}.lightbox-nav:hover svg{stroke:var(--primary)}#about{background:var(--secondary)}.about-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;align-items:center;max-width:1200px;margin:0 auto}.about-text h3{font-family:Playfair Display,serif;font-size:2rem;margin-bottom:1.5rem}.about-text p{color:var(--gray);margin-bottom:1.5rem;line-height:1.8}.about-stats{display:flex;gap:3rem;margin-top:2rem}.stat{text-align:center}.stat-number{font-family:Playfair Display,serif;font-size:3rem;color:var(--accent);display:block}.stat-label{font-size:.85rem;color:var(--gray);text-transform:uppercase;letter-spacing:1px}.about-image{position:relative;display:flex;justify-content:center}.about-visual{position:relative;width:100%;max-width:500px;aspect-ratio:16/10;overflow:hidden}.about-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);transition:all .5s ease}.about-visual:hover img{filter:grayscale(0);transform:scale(1.02)}.about-visual:before{top:-15px;right:-15px;border:2px solid var(--accent)}.about-visual:after,.about-visual:before{content:"";position:absolute;width:100%;height:100%;z-index:-1;transition:all .3s ease}.about-visual:after{bottom:-15px;left:-15px;border:2px solid var(--gray)}.about-visual:hover:before{top:-20px;right:-20px}.about-visual:hover:after{bottom:-20px;left:-20px}.ceo-profile{margin-top:3rem;padding:2rem;background:var(--primary);display:flex;align-items:center;gap:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-decoration:none;color:var(--light)}.ceo-profile:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(201,164,92,.1),transparent);transition:left .5s ease}.ceo-profile:hover:before{left:100%}.ceo-profile:hover{transform:translateX(10px);border-left:3px solid var(--accent)}.ceo-image{width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid var(--accent);flex-shrink:0}.ceo-image img{width:100%;height:100%;object-fit:cover;object-position:top}.ceo-info{flex:1 1}.ceo-info h4{font-family:Playfair Display,serif;font-size:1.2rem;margin-bottom:.3rem}.ceo-info span{color:var(--accent);font-size:.85rem;letter-spacing:1px;text-transform:uppercase}.ceo-arrow{width:40px;height:40px;border:1px solid var(--gray);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ceo-profile:hover .ceo-arrow{border-color:var(--accent);background:var(--accent)}.ceo-arrow svg{width:20px;height:20px;stroke:var(--gray);stroke-width:2;fill:none;transition:stroke .3s ease}.ceo-profile:hover .ceo-arrow svg{stroke:var(--primary)}#prozess{background:var(--primary);overflow:hidden}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2rem;gap:2rem;max-width:1200px;margin:4rem auto 0;position:relative}.process-step{text-align:center;position:relative;z-index:3;transition:transform .4s ease}.process-step:hover{transform:translateY(-8px)}.process-step:after{width:calc(100% - 90px + 2rem);background:rgba(255,255,255,.05)}.process-step:after,.process-step:before{content:"";position:absolute;top:77px;left:calc(50% + 45px);height:2px;z-index:-1}.process-step:before{width:0;background:var(--accent);transition:width .8s ease-in-out}.process-step:first-child:before{transition-delay:.4s}.process-step:nth-child(2):before{transition-delay:1.2s}.process-step:nth-child(3):before{transition-delay:2s}.process-grid.active .process-step:before{width:calc(100% - 90px + 2rem)}.expand-indicator,.process-step:last-child:after,.process-step:last-child:before{display:none}.process-node{width:90px;height:90px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;background:var(--secondary);border:2px solid rgba(255,255,255,.05);border-radius:50%;position:relative;transition:all .4s ease;box-shadow:0 0 0 10px var(--primary);z-index:3}.process-step:hover .process-node{border-color:var(--accent);box-shadow:0 0 25px rgba(201,164,92,.2),0 0 0 10px var(--primary);transform:scale(1.05);background:var(--primary)}.process-number{font-family:Playfair Display,serif;font-size:2.2rem;color:var(--accent);font-weight:600;opacity:.7;transition:opacity .3s ease}.process-step:hover .process-number{opacity:1}.process-step h3{font-family:Playfair Display,serif;font-size:1.3rem;margin-bottom:1rem;color:var(--light);transition:color .3s ease}.process-step:hover h3{color:var(--accent)}.process-step p{color:var(--gray);font-size:.95rem;line-height:1.7}#kontakt{background:var(--secondary)}.form-group{position:relative}.form-group input,.form-group textarea{width:100%;padding:1rem;background:var(--primary);border:1px solid transparent;color:var(--light);font-family:Inter,sans-serif;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{min-height:150px;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray)}.multi-step-form{max-width:600px;margin:0 auto;background:var(--primary);padding:3rem;position:relative}.form-progress{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.form-progress:before{content:"";width:100%;background:var(--gray);z-index:0}.form-progress:before,.progress-line{position:absolute;top:50%;left:0;height:2px;transform:translateY(-50%)}.progress-line{background:var(--accent);z-index:1;transition:width .5s ease}.progress-step{width:40px;height:40px;border-radius:50%;background:var(--secondary);border:2px solid var(--gray);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;z-index:2;transition:all .3s ease}.progress-step.active,.progress-step.completed{border-color:var(--accent);background:var(--accent);color:var(--primary)}.form-step{display:none;animation:fadeIn .5s ease}.form-step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-title{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:.5rem;text-align:center}.step-subtitle{color:var(--gray);text-align:center;margin-bottom:2rem;font-size:.95rem}.form-navigation{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}.btn-next,.btn-prev{padding:1rem 2rem;border:none;font-size:.9rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.btn-prev{background:transparent;border:1px solid var(--gray);color:var(--light)}.btn-prev:hover{border-color:var(--accent);color:var(--accent)}.btn-next{background:var(--accent);color:var(--primary);margin-left:auto}.btn-next:hover{background:var(--white)}.btn-skip{padding:1rem 2rem;background:transparent;border:1px solid var(--gray);color:var(--gray);font-size:.9rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.btn-skip:hover{border-color:var(--light);color:var(--light)}.service-options{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.service-option{padding:1.5rem;background:var(--secondary);border:2px solid transparent;cursor:pointer;transition:all .3s ease;text-align:center;position:relative}.service-option:hover{border-color:var(--gray)}.service-option.selected{border-color:var(--accent);background:rgba(201,164,92,.1)}.service-option input{display:none}.service-option .service-icon-svg{width:40px;height:40px;stroke:var(--accent);stroke-width:1.5;fill:none;margin-bottom:.5rem}.service-option span{display:block;font-size:.9rem}.service-check{position:absolute;top:10px;right:10px;width:24px;height:24px;border:2px solid var(--gray);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0}.service-option.selected .service-check{opacity:1;border-color:var(--accent);background:var(--accent)}.service-check .check-icon{width:14px;height:14px;stroke:var(--primary);stroke-width:3;fill:none}.calendar-selection{display:flex;flex-direction:column;gap:1.5rem}.datetime-group{background:var(--secondary);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.datetime-label{display:flex;align-items:center;gap:1rem}.datetime-number{width:30px;height:30px;background:var(--accent);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.datetime-label span:last-child{color:var(--light);font-size:.95rem}.datetime-inputs{display:flex;gap:1rem}.datetime-inputs input{flex:1 1;padding:.8rem 1rem;background:var(--primary);border:1px solid transparent;color:var(--light);font-family:Inter,sans-serif;font-size:1rem;cursor:pointer;transition:border-color .3s ease}.datetime-inputs input:focus{outline:none;border-color:var(--accent)}.datetime-inputs input[type=date]::-webkit-calendar-picker-indicator,.datetime-inputs input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.btn-submit{background:var(--accent);position:relative;overflow:hidden}.success-message{text-align:center;padding:2rem}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:50%;background:rgba(201,164,92,.2);display:flex;align-items:center;justify-content:center;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-icon svg{width:40px;height:40px;stroke:var(--accent);stroke-width:2;fill:none}.success-message h3{font-family:Playfair Display,serif;font-size:1.8rem;margin-bottom:1rem}.success-message p{color:var(--gray);line-height:1.8}footer{padding:3rem 5%;background:var(--primary);text-align:center}.footer-logo{font-family:Playfair Display,serif;font-size:1.5rem;color:var(--white);margin-bottom:1.5rem}.footer-logo span{color:var(--accent)}.social-links{gap:1.5rem;margin-bottom:2rem}.social-links,.social-links a{display:flex;justify-content:center}.social-links a{width:40px;height:40px;border:1px solid var(--gray);align-items:center;transition:all .3s ease}.social-links a:hover{border-color:var(--accent);background:var(--accent)}.social-links svg{width:18px;height:18px;fill:var(--light);transition:fill .3s ease}.social-links a:hover svg{fill:var(--primary)}footer p{color:var(--gray);font-size:.85rem}.reveal{opacity:0;transform:translateY(30px);transition:all .8s ease}.reveal.active{opacity:1;transform:translateY(0)}.service-page-hero{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:8rem 5% 5rem;background:var(--primary)}.service-page-hero h1{font-family:Playfair Display,serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:500;margin-bottom:1rem}.service-page-hero h1 span{color:var(--accent)}.service-page-hero p{font-size:1.2rem;color:var(--gray);max-width:600px;margin:0 auto 2rem}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:1.5rem;gap:1.5rem;max-width:900px;margin:0 auto}.tech-item{background:var(--secondary);padding:1.5rem;text-align:center;border:1px solid transparent;transition:all .3s ease}.tech-item:hover{border-color:var(--accent)}.tech-item span{font-size:.95rem;font-weight:500;display:block;color:var(--light)}.tech-item small{color:var(--gray);font-size:.75rem}.cta-section{background:var(--secondary);padding:8rem 5%;text-align:center}.cta-section h2{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,2.8rem);margin-bottom:1rem}.cta-section p{color:var(--gray);max-width:500px;margin:0 auto 2.5rem}.btn-primary{display:inline-block;padding:1rem 3rem;background:var(--accent);color:var(--primary);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;transition:all .3s ease;border:none;cursor:pointer}.btn-primary:hover{background:var(--white)}.btn-outline{display:inline-block;padding:1rem 3rem;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:.9rem;letter-spacing:2px;text-transform:uppercase;transition:all .3s ease;margin-left:1rem}.btn-outline:hover{background:var(--accent);color:var(--primary)}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--gray);text-decoration:none;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;transition:color .3s ease;margin-bottom:2rem}.back-link:hover{color:var(--accent)}.back-link svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;max-width:1000px;margin:0 auto}.skill-card{padding:2rem;background:var(--secondary);border:1px solid transparent;transition:border-color .3s ease}.skill-card:hover{border-color:var(--accent)}.skill-card h3{font-family:Playfair Display,serif;font-size:1.2rem;margin-bottom:1rem;color:var(--accent)}.skill-card p{color:var(--gray);font-size:.9rem;line-height:1.7}.timeline{max-width:700px;margin:0 auto;position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);opacity:.3}.timeline-item{position:relative;padding:0 0 3rem 2rem}.timeline-item:before{content:"";position:absolute;left:-5px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--accent)}.timeline-year{color:var(--accent);font-size:.8rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem}.timeline-item h3{font-family:Playfair Display,serif;font-size:1.2rem;margin-bottom:.5rem}.timeline-item p{color:var(--gray);font-size:.9rem;line-height:1.7}.software-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;max-width:600px;margin:0 auto}.software-tag{padding:.5rem 1.2rem;background:var(--secondary);color:var(--light);font-size:.85rem;letter-spacing:1px;border:1px solid transparent;transition:border-color .3s ease}.software-tag:hover{border-color:var(--accent)}.web-portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:2rem;gap:2rem;max-width:1200px;margin:0 auto}.web-portfolio-grid--single{grid-template-columns:minmax(340px,460px);justify-content:center}.web-project-card{text-decoration:none;color:var(--light);display:flex;flex-direction:column;border:1px solid transparent;transition:border-color .3s ease,transform .3s ease;background:var(--secondary)}.web-project-card:hover{border-color:var(--accent);transform:translateY(-6px)}.web-project-browser{position:relative;overflow:hidden}.browser-bar{background:#111;padding:.6rem 1rem;display:flex;align-items:center;gap:.5rem}.browser-dot{width:10px;height:10px;border-radius:50%;background:#444;flex-shrink:0}.browser-dot:first-child{background:#ff5f57}.browser-dot:nth-child(2){background:#febc2e}.browser-dot:nth-child(3){background:#28c840}.browser-url{flex:1 1;font-size:.75rem;color:var(--gray);background:#222;padding:.2rem .6rem;border-radius:3px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.browser-external{width:14px;height:14px;stroke:var(--gray);stroke-width:2;fill:none;flex-shrink:0;transition:stroke .2s ease}.web-project-card:hover .browser-external{stroke:var(--accent)}.browser-preview{position:relative;height:200px;overflow:hidden;background:var(--primary)}.browser-preview iframe{width:200%;height:200%;transform:scale(.5);transform-origin:top left;border:none;pointer-events:none}.browser-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:var(--accent)}.browser-fallback svg{width:2.5rem;height:2.5rem;stroke:var(--accent);opacity:.8}.browser-fallback span{font-size:.8rem;color:rgba(255,255,255,.5);letter-spacing:1px}.browser-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(26,26,26,.6))}.scrollspy{position:fixed;top:50%;left:.6rem;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start;width:max-content;pointer-events:none;opacity:1;transition:opacity .4s ease,transform .4s ease}.scrollspy.is-hidden{opacity:0;transform:translateY(-50%) translateX(-14px)}.scrollspy.is-hidden .scrollspy-item{pointer-events:none}.scrollspy-item{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.65rem;padding:0;pointer-events:auto;flex-direction:row-reverse}.scrollspy-label{font-size:.7rem;letter-spacing:1px;text-transform:uppercase;color:var(--gray);opacity:0;transform:translateX(-8px);transition:opacity .25s ease,transform .25s ease,color .25s ease;white-space:nowrap}.scrollspy-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.scrollspy-item:hover .scrollspy-label{opacity:1;transform:translateX(0)}.scrollspy-item:hover .scrollspy-dot{background:var(--gray)}.scrollspy-item.active .scrollspy-label{opacity:1;transform:translateX(0);color:var(--accent)}.scrollspy-item.active .scrollspy-dot{background:var(--accent);transform:scale(1.5);box-shadow:0 0 0 4px rgba(201,164,92,.18)}@media (max-width:768px){.scrollspy{left:.4rem;gap:.85rem}.scrollspy-label{display:none}.scrollspy-dot{width:7px;height:7px}}.appstore-snapshot{position:relative;overflow:hidden}.appstore-bar{background:#111;padding:.6rem 1rem;display:flex;align-items:center;gap:.5rem}.appstore-bar>span{flex:1 1;font-size:.78rem;color:var(--gray);letter-spacing:.3px;font-weight:600}.appstore-apple{width:15px;height:15px;fill:var(--gray);flex-shrink:0;transition:fill .2s ease}.web-project-card:hover .appstore-apple{fill:var(--accent)}.appstore-body{height:200px;display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.appstore-icon{width:92px;height:92px;border-radius:20px;flex-shrink:0;box-shadow:0 10px 30px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.08)}.appstore-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.appstore-name{font-family:Playfair Display,serif;font-size:1.35rem;color:var(--white)}.appstore-dev{font-size:.8rem;color:var(--gray)}.appstore-genre{font-size:.72rem;color:rgba(255,255,255,.4);letter-spacing:.5px}.appstore-get{flex-shrink:0;background:var(--accent);color:#1a1a1a;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.4rem 1.1rem;border-radius:99px;text-transform:uppercase}.web-project-info{padding:1.5rem}.web-project-category{color:var(--accent);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:.4rem}.web-project-title{font-family:Playfair Display,serif;font-size:1.1rem;margin-bottom:.5rem;color:var(--white)}.web-project-desc{color:var(--gray);font-size:.85rem;line-height:1.6}@media (max-width:768px){.web-portfolio-grid{grid-template-columns:1fr}.browser-preview{height:160px}.appstore-body{height:auto;gap:1rem;padding:1.25rem}.appstore-icon{width:76px;height:76px}.appstore-name{font-size:1.2rem}}@media (max-width:992px){.about-content{grid-template-columns:1fr;gap:3rem}.about-image{order:-1}.about-visual{max-width:400px}}@media (max-width:768px){section{padding:5rem 5%}.menu-toggle{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:100%;height:100vh;background:var(--primary);flex-direction:column;justify-content:center;align-items:center;transition:right .3s ease}.nav-links.active{right:0}.lang-switcher{position:absolute;top:1.5rem;right:70px;margin-left:0}.nav-links a{font-size:1.2rem}.nav-dropdown{text-align:center}.dropdown-menu{position:static;transform:none;background:transparent;border:none;box-shadow:none;padding:.5rem 0;margin-top:.5rem;opacity:1;visibility:visible;min-width:auto}.dropdown-menu a{font-size:1rem;padding:.5rem 1rem}.dropdown-menu a:hover{padding-left:1rem}.menu-toggle.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.portfolio-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1rem;padding:0 5%;margin:0 -5%;scrollbar-width:none}.portfolio-grid::-webkit-scrollbar{display:none}.portfolio-item{flex:0 0 85%;scroll-snap-align:center;background:var(--secondary);animation:none}.portfolio-item img{opacity:1}.portfolio-overlay{opacity:1;background:linear-gradient(0deg,rgba(26,26,26,.95) 0,transparent 70%)}.portfolio-overlay h3,.portfolio-overlay span{transform:translateY(0)}.swipe-indicator{display:flex}.portfolio-item.gallery-item .gallery-thumbnails{display:none}.portfolio-item.gallery-item .gallery-dots{opacity:1;bottom:12px;gap:10px}.portfolio-item.gallery-item .gallery-dot{width:12px;height:12px}.portfolio-item.gallery-item .gallery-swipe-hint{display:flex;position:absolute;top:10px;right:10px;background:rgba(0,0,0,.6);padding:6px 10px;border-radius:20px;align-items:center;gap:5px;font-size:.7rem;color:rgba(255,255,255,.8);z-index:6;pointer-events:none}.portfolio-item.gallery-item .gallery-swipe-hint svg{width:14px;height:14px;fill:currentColor}.services-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1rem;padding:0 5%;margin:0 -5%;scrollbar-width:none}.services-grid::-webkit-scrollbar{display:none}.service-card{flex:0 0 80%;scroll-snap-align:center}.process-grid{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.process-step{background:var(--secondary);padding:1.5rem;border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;text-align:left;cursor:pointer;transition:background .3s ease,border-color .3s ease;border:1px solid rgba(255,255,255,.05)}.process-step:hover{transform:none;border-color:var(--accent)}.process-step:after,.process-step:before{display:none!important}.process-node{width:32px!important;height:32px!important;margin:0 .8rem 0 0!important;box-shadow:none!important;border:1px solid var(--accent)!important}.process-number{font-size:.95rem!important;opacity:1!important}.process-step h3{margin:0!important;flex:1 1!important;font-size:1.05rem!important}.expand-indicator{display:block;font-size:1.5rem;color:var(--accent);width:24px;text-align:center;transition:transform .3s ease}.process-step.expanded .expand-indicator{transform:rotate(45deg)}.process-step p{width:100%!important;margin:0!important;max-height:0!important;opacity:0!important;overflow:hidden!important;transition:all .4s ease}.process-step.expanded p{max-height:300px!important;opacity:1!important;margin-top:1rem!important;padding-top:1rem!important;border-top:1px solid rgba(255,255,255,.1)!important}.multi-step-form{padding:2rem 1.5rem}.service-options{grid-template-columns:repeat(2,1fr)}.form-navigation{flex-direction:column}.btn-next,.btn-prev{width:100%}.btn-next{margin-left:0}.datetime-inputs{flex-direction:column}.about-stats{flex-wrap:wrap;gap:1.5rem;justify-content:center}.stat-number{font-size:2.2rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-nav{width:45px;height:45px}.lightbox-top{padding:1.5rem}.lightbox-content{height:60vh}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.ceo-profile{flex-direction:column;text-align:center;padding:1.5rem}}@media (min-width:769px){.swipe-indicator{display:none}}