@keyframes float{0%{transform:translateY(0)}100%{transform:translateY(-100px)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}@keyframes scroll{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(15px)}}@keyframes celebrate-unlock{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}100%{transform:scale(1);opacity:1}}@keyframes slideDown{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fastFadeIn{from{opacity:1;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes priceChange{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}.total-amount.updating{animation:priceChange .4s ease-out}.price-line.new-item{animation:slideInRight .3s ease-out}@keyframes slideInRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes celebrate{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-5deg)}50%{transform:scale(1.2) rotate(5deg)}75%{transform:scale(1.2) rotate(-5deg)}100%{transform:scale(1) rotate(0)}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes bounce-arrow{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}@keyframes slideUpFadeIn{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.confetti{position:fixed;top:-10px;z-index:9999;pointer-events:none;border-radius:50%;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}.navbar{position:fixed;top:0;left:0;right:0;width:100%;max-width:100%;background:rgba(255,255,255,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1000;transition:var(--transition);border-bottom:1px solid rgba(0,0,0,.05)}.navbar.scrolled{background:rgba(255,255,255,.95);box-shadow:0 2px 20px rgba(0,0,0,.1)}.nav-container{max-width:1200px;width:100%;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:60px;box-sizing:border-box}.logo{font-size:1.5rem;font-weight:700;color:var(--primary-color);letter-spacing:-.5px}.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}.nav-menu a{text-decoration:none;color:var(--text-color);font-size:.9rem;font-weight:400;position:relative}.nav-menu a:hover{color:var(--accent-color)}.nav-menu a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent-color);transition:var(--transition)}.nav-menu a:hover::after{width:100%}.btn-book{background:var(--accent-color);color:#fff!important;padding:8px 20px;border-radius:20px;font-weight:500}.btn-book::after{display:none}.btn-book:hover{background:#0077ed;transform:translateY(-2px)}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px}.hamburger span{width:25px;height:2px;background:var(--primary-color);transition:var(--transition)}@media (max-width:768px){.navbar{left:0!important;right:0!important;width:100%!important;max-width:100%!important}.nav-container{padding:0 15px;width:100%;max-width:100%}.hamburger{display:flex}.nav-menu{position:fixed;left:0;right:0;top:60px;flex-direction:column;background:rgba(255,255,255,.98);width:100%;max-width:100%;text-align:center;transition:transform .4s cubic-bezier(.4, 0, .2, 1),opacity .4s cubic-bezier(.4, 0, .2, 1);padding:30px 0;gap:1rem;box-shadow:0 10px 30px rgba(0,0,0,.1);z-index:999;display:flex;transform:translateY(-100%);opacity:0;pointer-events:none}.nav-menu.active{transform:translateY(0);opacity:1;pointer-events:auto}}.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);position:relative;overflow:hidden;contain:layout}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" fill="none"/><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></svg>');animation:float 20s linear infinite}.hero-content{text-align:center;color:#fff;z-index:1}.hero-title{font-size:4rem;font-weight:700;margin-bottom:1rem;letter-spacing:-2px;line-height:1.1;text-rendering:optimizeSpeed;contain:layout style;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hero-subtitle{font-size:1.5rem;font-weight:300;margin-bottom:2rem;opacity:.9}.cta-button{display:inline-block;background:#fff;color:var(--primary-color);padding:15px 40px;border-radius:30px;text-decoration:none;font-weight:600;font-size:1.1rem;transition:transform .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 10px 30px rgba(0,0,0,.2);will-change:transform}.cta-button:hover{transform:translateY(-3px)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);animation:bounce 2s infinite}.scroll-indicator span{display:block;width:20px;height:30px;border:2px solid #fff;border-radius:15px;position:relative}.scroll-indicator span::before{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:#fff;border-radius:2px;animation:scroll 2s infinite}.features{padding:100px 0;background:var(--secondary-color)}.feature-card{text-align:center;padding:40px 20px;border-radius:20px;transition:var(--transition);cursor:pointer}.feature-card:hover{transform:translateY(-10px);background:var(--bg-light)}.feature-icon{font-size:3rem;margin-bottom:20px}.feature-card h3{font-size:1.5rem;margin-bottom:10px;font-weight:600}.feature-card p{color:var(--text-secondary);font-size:1rem}.gallery{padding:100px 0;background:var(--bg-light)}.gallery-item{border-radius:20px;overflow:hidden;cursor:pointer;transition:var(--transition)}.gallery-item:hover{transform:scale(1.05)}.gallery-image{height:350px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;padding:30px;transform:translateY(10px);transition:var(--transition)}.gallery-item:hover .gallery-overlay{transform:translateY(0)}.gallery-overlay h3{font-size:1.5rem;margin-bottom:5px}.gallery-overlay p{font-size:.9rem;opacity:.9}.packages{padding:60px 0;background:var(--secondary-color)}.package-card{background:var(--bg-light);border-radius:20px;padding:40px;transition:var(--transition);position:relative;border:2px solid transparent}.package-card:hover{transform:translateY(-10px);box-shadow:0 20px 60px rgba(0,0,0,.1)}.package-card.featured{background:var(--primary-color);color:#fff;border-color:var(--accent-color)}.package-card.featured .package-button{background:var(--accent-color);color:#fff}.popular-badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--accent-color);color:#fff;padding:5px 20px;border-radius:20px;font-size:.85rem;font-weight:600}.package-header{text-align:center;margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid rgba(0,0,0,.1)}.package-card.featured .package-header{border-bottom-color:rgba(255,255,255,.2)}.package-header h3{font-size:1.8rem;margin-bottom:20px}.package-price{display:flex;align-items:flex-start;justify-content:center;margin-bottom:10px}.currency{font-size:2rem;font-weight:600;margin-top:10px}.amount{font-size:4rem;font-weight:700;line-height:1}.package-duration{color:var(--text-secondary);font-size:1rem}.package-card.featured .package-duration{color:rgba(255,255,255,.8)}.package-features{list-style:none;margin-bottom:30px}.package-features li{padding:12px 0;font-size:1rem;border-bottom:1px solid rgba(0,0,0,.05)}.package-card.featured .package-features li{border-bottom-color:rgba(255,255,255,.1)}.package-features li:last-child{border-bottom:none}.package-button{display:block;width:100%;padding:15px;background:var(--primary-color);color:#fff;text-align:center;text-decoration:none;border-radius:10px;font-weight:600;transition:var(--transition)}.package-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.testimonials{padding:60px 0;background:var(--bg-light)}.testimonial-card{background:#fff;padding:40px;border-radius:20px;transition:transform .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 5px 20px rgba(0,0,0,.05);will-change:transform}.testimonial-card:hover{transform:translateY(-5px)}.stars{color:#ffc107;font-size:1.2rem;margin-bottom:20px}.testimonial-text{font-size:1rem;line-height:1.8;color:var(--text-color);margin-bottom:30px;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:15px}.author-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.2rem}.testimonial-author h4{font-size:1rem;margin-bottom:3px}.testimonial-author p{font-size:.85rem;color:var(--text-secondary)}.booking{padding:60px 0;background:var(--secondary-color)}.booking.booking-unlocked{padding-top:60px}.booking .container{position:relative}.booking-unlock-message{display:none!important}.booking-hidden .booking-content{display:none!important}.booking-unlocked .booking-unlock-message{display:none!important}.booking-unlocked .booking-content{display:block!important;animation:fadeInUp .6s ease-out,celebrate-unlock .8s ease-out}.booking-unlocked::before{content:'🎉 Booking Form Unlocked!';display:block;text-align:center;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:15px;border-radius:10px;font-weight:600;font-size:1.2rem;margin:0 auto 80px;max-width:1200px;animation:slideDown .5s ease-out}.booking-form{max-width:800px;margin:20px auto 0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-color);font-size:.95rem}.form-group label .required{color:#f44336;margin-left:3px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:15px 20px;border:2px solid #e5e5e5;border-radius:10px;font-size:1rem;font-family:inherit;background:var(--bg-light)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--accent-color);background:#fff}.form-group input:invalid:not(:placeholder-shown){border-color:#f44336}.form-group input:valid:not(:placeholder-shown){border-color:#4caf50}.form-group .error-message{color:#f44336;font-size:.85rem;margin-top:5px;display:none}.form-group.error .error-message{display:block}.submit-button{width:100%;padding:18px;background:var(--accent-color);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .3s cubic-bezier(.4, 0, .2, 1);will-change:transform}.submit-button:hover{transform:translateY(-2px)}.submit-button.loading{position:relative;color:transparent;pointer-events:none}.submit-button.loading::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.contact{padding:100px 0;background:var(--bg-light)}.contact-info h2{font-size:2.5rem;margin-bottom:20px}.contact-info>p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:40px}.contact-details{margin-bottom:40px}.contact-item{display:flex;gap:20px;margin-bottom:30px}.contact-icon{font-size:2rem}.contact-item h4{font-size:1rem;margin-bottom:5px;color:var(--text-secondary)}.contact-item p{font-size:1.1rem;font-weight:500}.social-links{display:flex;gap:20px}.social-link{color:var(--text-color);text-decoration:none;font-weight:500}.social-link:hover{color:var(--accent-color)}.contact-form{background:#fff;padding:40px;border-radius:20px;box-shadow:0 5px 20px rgba(0,0,0,.05)}.footer{background:var(--primary-color);color:#fff;padding:40px 0;text-align:center}.footer-content{display:flex;flex-direction:column;align-items:center;gap:15px}.footer-logo{font-size:1.5rem;font-weight:700}.footer p{color:rgba(255,255,255,.7);font-size:.9rem}@media (max-width:768px){section{width:100%;max-width:100%;overflow-x:hidden}.booking,.contact,.footer,.hero,.packages,.testimonials{width:100%;max-width:100%;overflow-x:hidden}.hero-content{padding:0 15px;width:100%;max-width:100%;box-sizing:border-box}.contact-form{padding:25px 15px;width:100%;max-width:100%;box-sizing:border-box}}.configurator-wrapper{display:grid;grid-template-columns:1fr 350px;gap:40px;align-items:start}.price-summary{position:sticky;top:80px;order:2}.price-summary-content{background:#fff;padding:30px;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.1);border:2px solid var(--accent-color)}.price-summary h3{font-size:1.5rem;margin-bottom:20px;color:var(--text-color)}.price-breakdown{margin-bottom:25px}.price-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e5e5e5;font-size:1rem}.price-line:last-child{border-bottom:none}.total-line{margin-top:15px;padding-top:15px;border-top:2px solid var(--accent-color);font-weight:700;font-size:1.2rem}.total-amount{color:var(--accent-color);font-size:2rem}.configurator-book-btn{width:100%;padding:15px;background:var(--accent-color);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);margin-bottom:20px}.configurator-book-btn:hover{background:#0077ed;transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,113,227,.3)}.selected-summary{font-size:.9rem;color:var(--text-secondary)}.summary-items ul{list-style:none;padding-left:0;margin:10px 0}.summary-items li{padding:5px 0;padding-left:20px;position:relative}.summary-items li::before{content:'✓';position:absolute;left:0;color:var(--accent-color)}.summary-items p{margin:10px 0 5px 0;font-weight:600;color:var(--text-color)}.no-selection{text-align:center;padding:20px;color:var(--text-secondary);font-style:italic}.configurator-steps{order:1;padding-bottom:40px;overflow-anchor:none}.step-reveal{opacity:0;transform:translateY(50px);transition:opacity .8s cubic-bezier(.4, 0, .2, 1),transform .8s cubic-bezier(.4, 0, .2, 1)}.step-reveal.revealed{opacity:1;transform:translateY(0)}#booth-step{opacity:1!important;transform:translateY(0)!important}.step-reveal.permanently-hidden{pointer-events:none!important}.step-header{cursor:pointer;user-select:none;position:relative}.step-header:hover{background:rgba(0,113,227,.02);border-radius:10px;transition:background .2s ease}.step-header .collapse-toggle{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--accent-color);transition:transform .3s ease}.configurator-step.collapsed .collapse-toggle{transform:translateY(-50%) rotate(-90deg)}.step-content{max-height:5000px;overflow:hidden;transition:max-height .3s ease-in-out,opacity .2s ease-in-out;opacity:1}.configurator-step.collapsed .step-content{max-height:0;opacity:0;transition:max-height .3s ease-in-out,opacity .2s ease-in-out}.configurator-step.collapsed{margin-bottom:20px}.configurator-step{transition:margin-bottom .3s ease-in-out;overflow-anchor:none;margin-bottom:25px;background:#fff;padding:30px;border-radius:20px;box-shadow:0 5px 20px rgba(0,0,0,.05)}.configurator-step.collapsed .step-header{margin-bottom:0}.disabled-step{opacity:.5;pointer-events:none;user-select:none}.step-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.step-number{width:50px;height:50px;background:var(--accent-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.step-header h3{font-size:1.8rem;margin-bottom:5px}.step-header p{color:var(--text-secondary);margin:0}.booth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.booth-option{background:var(--bg-light);border-radius:15px;padding:20px;cursor:pointer;transition:var(--transition);border:3px solid transparent;position:relative;overflow:hidden}.booth-option:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}.booth-option.selected{border-color:var(--accent-color);background:#fff}.booth-option.selected .checkbox{background:var(--accent-color);border-color:var(--accent-color)}.booth-option.selected .checkmark{opacity:1}.booth-image{height:120px;border-radius:10px;margin-bottom:15px}.booth-option h4{font-size:1.2rem;margin-bottom:8px}.booth-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:10px}.booth-price-check{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0}.booth-price{font-weight:700;color:var(--accent-color);font-size:1.1rem}.duration-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.duration-option{background:var(--bg-light);border-radius:15px;padding:20px;cursor:pointer;transition:var(--transition);border:3px solid transparent;position:relative;display:flex;justify-content:space-between;align-items:center}.duration-option:hover{transform:translateY(-3px);box-shadow:0 5px 20px rgba(0,0,0,.1)}.duration-option:not(.selected){opacity:.85}.duration-option:not(.selected):hover{transform:translateY(-3px);box-shadow:0 5px 20px rgba(0,0,0,.1);opacity:1}.duration-option.selected{border-color:var(--accent-color);background:#fff}.duration-content h4{font-size:1.2rem;margin-bottom:5px}.duration-content p{font-size:.85rem;color:var(--text-secondary);margin:0}.duration-price{font-weight:700;color:var(--accent-color);font-size:1.1rem;white-space:nowrap;margin-left:15px}.addons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.addon-option{background:var(--bg-light);border-radius:15px;padding:20px;cursor:pointer;transition:var(--transition);border:3px solid transparent;position:relative;display:flex;align-items:center;gap:15px}.addon-option:hover{transform:translateY(-3px);box-shadow:0 5px 20px rgba(0,0,0,.1)}.addon-option.selected{border-color:var(--accent-color);background:#fff}.addon-option.selected .checkbox{background:var(--accent-color);border-color:var(--accent-color)}.addon-option.selected .checkmark{opacity:1}.addon-icon{font-size:2.5rem;flex-shrink:0}.addon-content{flex:1}.addon-content h4{font-size:1.1rem;margin-bottom:5px}.addon-content p{font-size:.85rem;color:var(--text-secondary);margin:0}.addon-price-check{display:flex;align-items:center;gap:15px;flex-shrink:0}.addon-price{font-weight:700;color:var(--accent-color);font-size:1rem}.checkbox{width:30px;height:30px;border:2px solid #ddd;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.checkmark{color:#fff;font-size:1.2rem;opacity:0;transition:var(--transition)}.popular-badge-small{position:absolute;top:10px;right:10px;background:var(--accent-color);color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;z-index:1}.popular-option{position:relative}.booth-option.recommended{border-color:rgba(0,113,227,.3);background:rgba(0,113,227,.05)}.booth-option.recommended::before{content:'Recommended';position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;z-index:1}.configurator-step.hidden{display:none;height:0;overflow:hidden;margin:0;padding:0}.configurator-step.disabled{opacity:.5;pointer-events:none;position:relative}.configurator-step.disabled::after{content:'Complete previous step to unlock';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,113,227,.95);color:#fff;padding:15px 30px;border-radius:10px;font-weight:600;font-size:1.1rem;z-index:10;box-shadow:0 10px 40px rgba(0,0,0,.3);white-space:nowrap}.step-completed{position:relative}.step-completed .step-number{background:#4caf50}.step-completed .step-number{animation:celebrate .5s ease-out}.empty-state-prompt{text-align:center;padding:30px;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-radius:15px;margin-bottom:20px;border:2px dashed var(--accent-color)}.empty-state-prompt h4{color:var(--accent-color);font-size:1.2rem;margin-bottom:10px}.empty-state-prompt p{color:var(--text-secondary);font-size:.95rem}.empty-state-prompt .arrow-down{font-size:2rem;margin-top:10px;animation:bounce-arrow 2s infinite}.progress-indicator-top{display:flex!important;justify-content:space-between;padding:20px;position:relative;background:#fff;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08)}.progress-indicator-sticky{display:none;justify-content:space-between;padding:20px;position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -5px 20px rgba(0,0,0,.1);z-index:998;margin:0;transition:all .4s cubic-bezier(.4, 0, .2, 1)}.progress-indicator-sticky.visible{display:flex;animation:slideUpFadeIn .3s ease-out}.progress-indicator-sticky.hidden{animation:slideDownFadeOut .3s ease-out}.progress-indicator-sticky.at-booking-form{position:fixed;top:80px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);box-shadow:0 5px 20px rgba(0,0,0,.15);z-index:900;margin:0;max-width:1200px;width:calc(100% - 40px);border-radius:15px}.progress-indicator.visible{display:flex;animation:fadeIn .3s ease-out}.progress-indicator.hidden{animation:fadeOut .3s ease-out}.progress-indicator-sticky::before{content:'';position:absolute;top:25px;left:8%;right:8%;height:2px;background:#e5e5e5;z-index:0}.progress-step-indicator{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;z-index:1;background:#fff;padding:0 10px}.progress-step-indicator.clickable{cursor:pointer;transition:transform .2s ease}.progress-step-indicator.clickable:hover{transform:translateY(-3px)}.progress-step-indicator.clickable:hover .progress-circle{box-shadow:0 5px 15px rgba(0,0,0,.2)}.progress-step-indicator.clickable:active{transform:translateY(-1px)}.progress-circle{width:50px;height:50px;border-radius:50%;background:#e5e5e5;display:flex;align-items:center;justify-content:center;font-weight:700;color:#999;transition:var(--transition)}.progress-step-indicator.active .progress-circle{background:var(--accent-color);color:#fff;box-shadow:0 0 0 4px rgba(0,113,227,.2)}.progress-step-indicator.completed .progress-circle{background:#4caf50;color:#fff}.progress-step-indicator.completed .progress-circle::after{content:'✓';font-size:1.2rem}.progress-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.progress-step-indicator.active .progress-label{color:var(--accent-color)}.progress-step-indicator.completed .progress-label{color:#4caf50}.info-tooltip{position:relative;display:inline-block;width:20px;height:20px;background:var(--accent-color);color:#fff;border-radius:50%;text-align:center;line-height:20px;font-size:.8rem;font-weight:700;cursor:help;margin-left:8px}.info-tooltip:hover::after{content:attr(data-tooltip);position:absolute;bottom:125%;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.9);color:#fff;padding:12px 16px;border-radius:8px;font-size:.85rem;font-weight:400;white-space:normal;max-width:250px;z-index:100;box-shadow:0 5px 20px rgba(0,0,0,.3)}.info-tooltip:hover::before{content:'';position:absolute;bottom:115%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(0,0,0,.9)}.comparison-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}.comparison-modal.active{display:flex}.comparison-content{background:#fff;border-radius:20px;padding:40px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.comparison-close{position:absolute;top:20px;right:20px;background:0 0;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);transition:var(--transition)}.comparison-close:hover{color:var(--primary-color)}.comparison-table{width:100%;border-collapse:collapse;margin-top:20px}.comparison-table td,.comparison-table th{padding:15px;text-align:center;border-bottom:1px solid #e5e5e5}.comparison-table th{background:var(--bg-light);font-weight:600;color:var(--text-color)}.comparison-table td{color:var(--text-secondary)}.compare-button{display:inline-block;margin:20px 0;padding:10px 20px;background:var(--bg-light);border:2px solid var(--accent-color);color:var(--accent-color);border-radius:20px;font-weight:600;cursor:pointer;transition:var(--transition)}.compare-button:hover{background:var(--accent-color);color:#fff}.no-js-fallback{display:none!important}@media (max-width:1024px){.configurator-wrapper{grid-template-columns:1fr}.configurator-wrapper>.progress-indicator{order:0}.configurator-steps{order:1}.price-summary{position:relative;top:0;order:2;margin-top:30px;margin-bottom:0}}@media (max-width:768px){.mobile-sticky-cta{position:fixed;bottom:90px;left:0;right:0;background:#fff;padding:15px 20px;box-shadow:0 -5px 20px rgba(0,0,0,.1);z-index:999;display:flex;align-items:center;justify-content:space-between;gap:15px}.mobile-cta-price{font-size:1.5rem;font-weight:700;color:var(--accent-color)}.mobile-cta-button{flex:1;padding:12px 20px;background:var(--accent-color);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;white-space:nowrap}body.has-sticky-cta{padding-bottom:170px}.progress-indicator-sticky{padding:12px 10px;width:100%!important;max-width:100%!important;left:0!important;right:0!important;transform:none!important;border-radius:0}.progress-indicator-sticky.at-booking-form{width:100%!important;max-width:100%!important;left:0!important;right:0!important;transform:none!important;border-radius:0}.progress-step-indicator{padding:0 3px;gap:5px}.progress-circle{width:40px;height:40px;font-size:.9rem}.progress-label{font-size:.7rem}.progress-indicator-sticky::before{left:5%;right:5%}.booth-grid{grid-template-columns:1fr;gap:15px}.duration-options{grid-template-columns:1fr;gap:12px}.addons-grid{grid-template-columns:1fr;gap:12px}.configurator-step{padding:20px 15px;margin-bottom:15px}.container{padding:0 15px}}.container{max-width:1200px;width:100%;margin:0 auto;padding:0 20px;box-sizing:border-box}.section-title{font-size:3rem;font-weight:700;text-align:center;margin-bottom:1rem;letter-spacing:-1px}.section-subtitle{text-align:center;color:var(--text-secondary);font-size:1.2rem;margin-bottom:60px}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-top:60px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:60px}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:60px}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:60px;margin-top:60px}@media (max-width:768px){.container{padding:0 15px;width:100%;max-width:100%;box-sizing:border-box}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.section-title{font-size:2rem}.contact-grid,.feature-grid,.gallery-grid,.packages-grid,.testimonials-grid{grid-template-columns:1fr!important;width:100%;max-width:100%}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;width:100%}html.preventing-shift{overflow-anchor:none}body{overflow-anchor:auto}*{will-change:auto}.configurator-step{contain:layout style}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--text-color);line-height:1.6;overflow-x:hidden;width:100%}iframe,img,video{max-width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}:root{--primary-color:#000;--secondary-color:#fff;--accent-color:#0071e3;--text-color:#1d1d1f;--text-secondary:#6e6e73;--bg-light:#f5f5f7;--transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1)}