@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;800&display=swap";:root{--primary-color: #1e3c72;--dark-color: #121212;--medium-grey: #888;--light-grey: #f8f9fa;--background-color: #ffffff;--card-bg: #ffffff;--border-radius-lg: 20px;--border-radius-md: 12px;--shadow-sm: 0 4px 6px rgba(0,0,0,.04);--shadow-md: 0 10px 20px rgba(0,0,0,.07);--shadow-lg: 0 20px 40px rgba(0,0,0,.1);--gradient-primary: linear-gradient(45deg, #2c3e50, #1e3c72);--heading-color: #1a1a1a;--text-color: #4a4a4a;--button-bg: var(--primary-color);--button-text: #ffffff}:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes message-intro{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.no-scroll{overflow:hidden}.progress-container{position:fixed;top:0;left:0;width:100%;height:4px;z-index:1002;background-color:transparent}.progress-bar{height:100%;width:0%;background-image:var(--gradient-primary)}#root{width:100%;height:100vh;overflow-y:scroll;overflow-x:hidden}.hidden{display:none!important}h1,h2,h3{color:var(--heading-color);font-weight:800;line-height:1.2}p{max-width:65ch}a.btn{text-decoration:none}.btn{background-image:var(--gradient-primary);background-size:150% auto;color:var(--button-text);border:none;padding:1rem 2.5rem;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:var(--shadow-sm);text-shadow:0 1px 2px rgba(0,0,0,.1)}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #1e3c7240;background-position:right center}.btn.btn-secondary{background:transparent;border:2px solid var(--button-text);color:var(--button-text)}.btn.btn-secondary:hover{background:#ffffff1a;border-color:var(--button-text)}.section-wrapper{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section-subtitle{font-size:1.25rem;margin:0 auto 3rem;max-width:600px;color:var(--medium-grey);text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.165,.84,.44,1),transform .8s cubic-bezier(.165,.84,.44,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.steps-grid.visible .step-card:nth-child(1){transition-delay:0s}.steps-grid.visible .step-card:nth-child(2){transition-delay:.15s}.steps-grid.visible .step-card:nth-child(3){transition-delay:.3s}.team-grid.visible .team-member-card:nth-child(1){transition-delay:0s}.team-grid.visible .team-member-card:nth-child(2){transition-delay:.15s}.team-grid.visible .team-member-card:nth-child(3){transition-delay:.3s}.team-grid.visible .team-member-card:nth-child(4){transition-delay:.45s}.team-grid.visible .team-member-card:nth-child(5){transition-delay:.6s}.team-grid.visible .team-member-card:nth-child(6){transition-delay:.75s}.gallery.visible .gallery-item{opacity:0;transform:translateY(30px);animation:message-intro .6s ease-out forwards}.gallery.visible .gallery-item:nth-child(1){animation-delay:.1s}.gallery.visible .gallery-item:nth-child(2){animation-delay:.15s}.gallery.visible .gallery-item:nth-child(3){animation-delay:.2s}.gallery.visible .gallery-item:nth-child(4){animation-delay:.25s}.gallery.visible .gallery-item:nth-child(5){animation-delay:.3s}.gallery.visible .gallery-item:nth-child(6){animation-delay:.35s}.gallery.visible .gallery-item:nth-child(7){animation-delay:.4s}.gallery.visible .gallery-item:nth-child(8){animation-delay:.45s}.gallery.visible .gallery-item:nth-child(9){animation-delay:.5s}.site-header{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:.6rem 2rem;z-index:1000;background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:none;transition:background .4s ease,box-shadow .4s ease,padding .4s ease}.site-header.scrolled{background:#fffc;box-shadow:0 2px 10px #00000012}.site-header .logo{color:var(--heading-color);text-decoration:none;font-weight:800;font-size:1.2rem;transition:color .3s ease;text-shadow:none}.desktop-nav{display:flex;align-items:center;gap:2rem}.desktop-nav a{color:var(--text-color);text-decoration:none;font-weight:700;transition:color .3s ease;padding-bottom:4px;position:relative;font-size:.85rem;text-shadow:none}.desktop-nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary-color);transition:width .3s ease}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.desktop-nav a:hover,.desktop-nav a.active{color:var(--primary-color)}.language-switcher{position:relative}.lang-switcher-btn{background:transparent;border:none;color:var(--text-color);font-family:inherit;font-size:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:0 0 4px;transition:color .3s ease}.lang-switcher-btn:hover,.lang-switcher-btn[aria-expanded=true]{color:var(--primary-color)}.lang-switcher-btn .chevron-down{transition:transform .3s ease}.lang-switcher-btn[aria-expanded=true] .chevron-down{transform:rotate(180deg)}.lang-switcher-menu{position:absolute;top:calc(100% + 10px);right:0;background-color:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);list-style:none;padding:.5rem 0;margin:0;width:150px;z-index:10;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility 0s .3s;border:1px solid rgba(0,0,0,.05)}.lang-switcher-menu.open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.lang-switcher-menu a{display:block;padding:.75rem 1.5rem;color:var(--dark-color);text-decoration:none;font-weight:700;transition:background-color .2s ease,color .2s ease}.lang-switcher-menu a:hover{background-color:var(--light-grey);color:var(--primary-color)}.mobile-nav-toggle{display:none;z-index:1003;background:transparent;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer}.hamburger-box{width:28px;height:20px;display:inline-block;position:relative}.hamburger-inner,.hamburger-inner:before,.hamburger-inner:after{width:28px;height:3px;background-color:var(--heading-color);border-radius:4px;position:absolute;transition:all .3s ease}.hamburger-inner{top:50%;transform:translateY(-50%)}.hamburger-inner:before,.hamburger-inner:after{content:"";display:block}.hamburger-inner:before{top:-9px}.hamburger-inner:after{bottom:-9px}.mobile-nav-toggle.is-active .hamburger-inner{transform:rotate(225deg);background-color:#fff}.mobile-nav-toggle.is-active .hamburger-inner:before{top:0;opacity:0}.mobile-nav-toggle.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg);background-color:#fff}.mobile-nav-menu{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a1629f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1002;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;transform:translateY(-20px);transition:opacity .3s ease,visibility 0s .3s,transform .3s ease}.mobile-nav-menu.is-active{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.mobile-nav-menu ul{list-style-type:none;padding:0;margin:0;text-align:center}.mobile-nav-menu li{margin:1rem 0}.mobile-nav-menu a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:700;padding:.5rem 1rem;transition:color .2s ease}.mobile-nav-menu a:hover{color:var(--primary-color)}.mobile-nav-close{display:none}.language-switcher-mobile{margin-top:3rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;border-top:1px solid rgba(255,255,255,.2);padding-top:2rem}.language-switcher-mobile .lang-label{font-size:1rem;color:#aaa;font-weight:400}.language-switcher-mobile a{font-size:1.2rem!important;padding:.5rem!important;color:#999!important;border:1px solid transparent}.language-switcher-mobile a.active{color:#fff!important;border-color:#fff;border-radius:8px}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--button-text);position:relative;overflow:hidden;background-color:var(--dark-color)}.hero-video-bg{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%);z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#0009,#0003);z-index:1}.hero-info{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;opacity:0;animation:message-intro .8s .2s ease-out forwards}.hero-info h1{font-size:clamp(5rem,12vw,8rem);letter-spacing:-.03em;line-height:1;margin:0;background:linear-gradient(45deg,#fff,#e0e0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 20px rgba(0,0,0,.3)}.hero-info p{font-size:clamp(1.1rem,2.5vw,1.4rem);max-width:50ch;color:#f0f0f0;margin:0;line-height:1.5;font-weight:400;text-shadow:0 1px 4px rgba(0,0,0,.5)}.hero-info .btn{background:#ffffff26;color:var(--button-text);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-info .btn:hover{background-color:#ffffff4d;border-color:#ffffff80}.scroll-down-indicator{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);z-index:3;color:#fff;cursor:pointer;opacity:.7;transition:opacity .4s ease,transform .4s ease;animation:bounce-subtle 2.5s infinite ease-in-out}.scroll-down-indicator.hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(20px)}.scroll-down-indicator:hover{opacity:1;animation-play-state:paused;transform:translate(-50%) scale(1.1)}@keyframes bounce-subtle{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.trusted-by-section{padding:6rem 0;background:#fff;overflow:hidden}.trusted-by-heading{text-align:center;font-size:1.1rem;font-weight:700;color:var(--medium-grey);margin-bottom:3rem;text-transform:uppercase;letter-spacing:.1em}.logos-scroller{max-width:100%;-webkit-mask:linear-gradient(90deg,transparent,white 20%,white 80%,transparent);mask:linear-gradient(90deg,transparent,white 20%,white 80%,transparent)}.logos-list-carousel{list-style:none}.logos-list-carousel .slick-slide{margin:0 1.5rem;padding:1rem 0}.logos-list-carousel .slick-track{display:flex;align-items:center}.logos-list-carousel li a{text-decoration:none;display:flex;justify-content:center;align-items:center;height:50px}.logos-list-carousel li span,.logos-list-carousel li .logo-img{filter:grayscale(100%);opacity:.6;transition:all .3s ease}.logos-list-carousel li span{font-weight:700;color:#555;font-size:1.2rem;white-space:nowrap}.logos-list-carousel li .logo-img{max-height:100%;max-width:150px;width:auto}.logos-list-carousel li a:hover span,.logos-list-carousel li a:hover .logo-img{filter:grayscale(0%);opacity:1;transform:scale(1.05)}.testimonials-section{padding:6rem 0;background-color:var(--light-grey)}.testimonials-section h2{text-align:center;font-size:clamp(2.25rem,5vw,3rem);margin-bottom:3rem}.testimonial-card{max-width:800px;margin:0 auto;background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:3rem;position:relative;border:1px solid rgba(0,0,0,.05)}.testimonial-quote-icon{position:absolute;top:1.5rem;left:2rem;color:var(--primary-color);opacity:.1}.testimonial-text{font-size:1.2rem;font-style:italic;line-height:1.7;color:var(--text-color);margin-bottom:2rem;max-width:none}.testimonial-author-info{display:flex;align-items:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef}.testimonial-author-logo{height:50px;width:auto;max-width:120px;object-fit:contain}.testimonial-author-details{text-align:left}.testimonial-author{font-weight:800;font-size:1.1rem;color:var(--dark-color);font-style:normal}.testimonial-company{font-style:normal;color:var(--medium-grey)}.case-studies-section{padding:6rem 0;background-color:var(--light-grey)}.case-studies-section h2{text-align:center;font-size:clamp(2.25rem,5vw,3rem);margin-bottom:1rem}.case-study-card{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;background-color:var(--background-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin-top:4rem}.case-study-card--reversed{grid-template-columns:1.2fr 1fr}.case-study-card--reversed .case-study-image{grid-column:2}.case-study-card--reversed .case-study-content{grid-column:1;grid-row:1}.case-study-image{min-width:0}.case-study-content-wrapper{display:flex;flex-direction:column;justify-content:center;height:100%}.case-study-image img{width:100%;height:100%;object-fit:cover}.case-study-content{padding:3rem;display:flex;flex-direction:column;justify-content:center}.case-study-content h3{font-size:2rem;margin-bottom:2rem}.case-study-details h4{font-size:1rem;text-transform:uppercase;letter-spacing:1px;color:var(--medium-grey);margin-top:1.5rem;margin-bottom:.5rem}.case-study-details p{color:var(--text-color);margin-bottom:1rem;max-width:none;text-align:justify}.case-study-details .highlight{background:linear-gradient(to top,rgba(30,60,114,.1) 50%,transparent 50%);display:inline;color:var(--dark-color)}.results-title{font-size:1.25rem;font-weight:700;color:var(--dark-color);margin-top:3rem;border-top:1px solid #e9ecef;padding-top:2rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;margin-top:1rem}.stat-item .stat-value{font-size:2rem;font-weight:800;color:var(--primary-color);display:block;line-height:1.1}.stat-item .stat-label{font-size:.8rem;color:var(--medium-grey)}.how-it-works-section{padding:6rem 0}.how-it-works-section h2{text-align:center;font-size:clamp(2.25rem,5vw,3rem);margin-bottom:4rem}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.step-card{background-color:var(--background-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:1px solid rgba(0,0,0,.05);overflow:hidden;text-align:left;padding:0}.step-image-wrapper{position:relative;overflow:hidden;aspect-ratio:16 / 10}.step-image-wrapper a{display:block;line-height:0;cursor:zoom-in}.step-image-wrapper img{width:100%;height:100%;object-fit:cover}.step-content{padding:2.5rem;position:relative}.step-number{position:absolute;top:0;left:2.5rem;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background-image:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;box-shadow:0 5px 15px #1e3c724d;border:3px solid #fff}.step-card h3{font-size:1.5rem;margin-bottom:1rem;margin-top:1rem}.about-esos-section{padding:8rem 0;background-color:var(--background-color)}.about-esos-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-esos-heading{font-size:clamp(2.25rem,5vw,3rem)}.about-esos-details p{font-size:1.1rem;margin-bottom:2rem;color:var(--medium-grey);text-align:justify}.about-esos-links{display:flex;gap:2rem}.about-esos-link{color:var(--dark-color);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:.5rem}.about-esos-link svg{transition:transform .2s ease-out}.about-esos-link:hover{color:var(--primary-color)}.about-esos-link:hover svg{transform:translate(2px,-2px)}.cta-banner-section{padding:5rem 0;background-image:var(--gradient-primary);color:#fff;text-align:center}.cta-banner-section h2{font-size:clamp(1.75rem,4vw,2.5rem);color:#fff;margin-bottom:2rem}.cta-buttons{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.cta-buttons .btn:first-child{transform:scale(1.05);background-image:none;background-color:#fff;color:var(--primary-color);font-weight:800;text-shadow:none;box-shadow:0 8px 20px #00000026}.cta-buttons .btn:first-child:hover{background-color:#f0f5fa;transform:translateY(-3px) scale(1.1);box-shadow:0 12px 25px #1e3c7233}.pricing-section{padding:6rem 0;background-color:var(--light-grey)}.pricing-section h2{font-size:clamp(2.25rem,5vw,3rem);text-align:center;margin-bottom:1rem}.pricing-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:stretch;margin-top:4rem}.pricing-card{background-color:var(--background-color);border-radius:var(--border-radius-lg);padding:3rem;box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.05);text-align:left}.pricing-card h3{font-size:1.75rem}.price{font-size:4rem;font-weight:800;margin:1.5rem 0 .5rem;color:var(--dark-color)}.price-description{color:var(--medium-grey);margin-bottom:2rem}.features-list{list-style-type:none;margin:2rem 0;padding:0;text-align:left;display:grid;grid-template-columns:1fr;gap:1.5rem}.features-list li{display:flex;align-items:center;gap:1rem}.features-list li svg{color:var(--primary-color);min-width:24px}.support-note{background-color:var(--light-grey);padding:1rem;border-radius:var(--border-radius-md);font-size:.9rem;color:var(--text-color);border-left:4px solid var(--primary-color);margin:2rem 0}.pricing-image,.pricing-image .image-popup-link{height:100%}.pricing-image .image-popup-link{display:block;cursor:zoom-in;line-height:0}.pricing-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius-lg);box-shadow:0 20px 30px #1e3c7226}.gallery-section{padding:6rem 0;text-align:center}.gallery-section h2{font-size:clamp(2rem,5vw,2.75rem);margin-bottom:1rem}.gallery-section p{margin:0 auto 3rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:1rem;margin-bottom:3rem}.gallery-item{overflow:hidden;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.gallery-item .gallery-link{display:block;width:100%;height:100%;cursor:pointer}.gallery-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .4s ease}.gallery-item:hover .gallery-img{transform:scale(1.05);filter:brightness(1.1)}.team-section{padding:6rem 0}.team-section h2{text-align:center;font-size:clamp(2.25rem,5vw,3rem);margin-bottom:1rem}.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:4rem}.team-member-card{text-align:center;background-color:#fff;padding:2rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);flex:0 1 270px}.team-member-img{width:150px;height:150px;border-radius:var(--border-radius-md);object-fit:cover;margin:0 auto 1.5rem;border:none;box-shadow:var(--shadow-md)}.team-member-name{font-size:1.5rem;margin-bottom:.5rem}.team-member-title{color:var(--primary-color);font-weight:700}.installation-section{padding:6rem 0;background-color:var(--background-color)}.installation-grid{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center}.installation-text h2{font-size:clamp(2.25rem,5vw,3rem);margin-bottom:1.5rem}.installation-text p{font-size:1.1rem;color:var(--medium-grey);max-width:45ch}.installation-video-wrapper{position:relative;border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);line-height:0}#installation-video{width:100%;height:auto;display:block}.video-timer-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:clamp(3rem,10vw,5rem);font-weight:800;color:#fff;text-shadow:0 0 20px rgba(0,0,0,.7);background:#0003;pointer-events:none;transition:opacity .3s ease}.faq-section{padding:6rem 0;background-color:var(--light-grey)}.faq-layout{max-width:800px;margin:0 auto}.faq-intro{text-align:center;margin-bottom:3rem}.faq-intro h2{font-size:clamp(2.25rem,5vw,3rem);margin-bottom:1.5rem}.faq-intro p{font-size:1.1rem;color:var(--medium-grey);max-width:60ch;margin-left:auto;margin-right:auto}.faq-accordion{width:100%;text-align:left}.faq-item{background-color:var(--background-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin-bottom:1rem;border:1px solid rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}.faq-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.faq-item.active{box-shadow:var(--shadow-lg);border-color:#1e3c7233}.faq-question{width:100%;background:none;border:none;text-align:left;padding:1.25rem 1.5rem;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--dark-color);transition:color .2s ease}.faq-question:hover{color:var(--primary-color)}.faq-toggle{transition:transform .4s cubic-bezier(.175,.885,.32,1.275);flex-shrink:0;margin-left:1.5rem}.faq-item.active .faq-toggle{transform:rotate(180deg);color:var(--primary-color)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease-in-out,padding .4s ease-in-out}.faq-answer p{margin:0;max-width:none;color:var(--text-color);padding:0 1.5rem;text-align:justify}.faq-item.active .faq-answer{max-height:300px;padding-bottom:1.25rem}.faq-answer a.faq-link{color:var(--primary-color);text-decoration:underline;font-weight:700;cursor:pointer}.faq-answer a.faq-link:hover{text-decoration:none}.faq-cta{text-align:center;margin-top:4rem;padding:3rem;background-color:var(--background-color);border-radius:var(--border-radius-lg)}.faq-cta h3{font-size:1.75rem;margin-bottom:1rem}.faq-cta p{max-width:50ch;margin-left:auto;margin-right:auto;margin-bottom:2rem;color:var(--medium-grey)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding:1rem}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:#fff;padding:2.5rem;border-radius:var(--border-radius-md);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.95) translateY(10px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.modal-overlay.active .modal-content{transform:scale(1) translateY(0)}.modal-close-btn{position:absolute;top:1rem;right:1rem;font-size:2rem;background:none;border:none;cursor:pointer;line-height:1;color:var(--medium-grey);transition:color .2s ease,transform .2s ease;z-index:2001}.modal-close-btn:hover{color:var(--dark-color);transform:rotate(90deg)}#gallery-modal .modal-close-btn,#single-image-modal .modal-close-btn{color:#fff}#gallery-modal .modal-close-btn:hover,#single-image-modal .modal-close-btn:hover{color:#ccc}.modal-content h2{margin-bottom:1.5rem}.modal-content p{margin-bottom:1rem;max-width:none}.modal-notice{background-color:var(--light-grey);padding:1rem;border-radius:8px;font-size:.9rem;border-left:4px solid var(--primary-color)}.gallery-modal-content{display:flex;align-items:center;justify-content:center;position:relative;transform:scale(.95);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.modal-overlay.active .gallery-modal-content{transform:scale(1)}#gallery-modal-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--border-radius-md);border:2px solid rgba(255,255,255,.8);box-shadow:0 0 30px #ffffff80,var(--shadow-lg)}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0000004d;color:#fff;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;display:flex;justify-content:center;align-items:center;z-index:10;opacity:0;transition:opacity .3s ease,background-color .3s ease}.gallery-modal-content:hover .gallery-nav-btn{opacity:1}.gallery-nav-btn:hover{background:#0009}.gallery-nav-btn:disabled{opacity:0;cursor:not-allowed}#gallery-prev-btn{left:1rem}#gallery-next-btn{right:1rem}.single-image-modal-content{display:flex;align-items:center;justify-content:center;position:relative;transform:scale(.95);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.modal-overlay.active .single-image-modal-content{transform:scale(1)}#single-image-modal-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--border-radius-md);border:2px solid rgba(255,255,255,.8);box-shadow:0 0 30px #ffffff80,var(--shadow-lg)}#wirtgen-modal .modal-content{max-width:900px;width:95%;text-align:center}#wirtgen-modal h2{font-size:1.5rem;margin-bottom:.5rem}#wirtgen-modal hr{margin:1rem 0;border:0;border-top:1px solid #eee}#wirtgen-modal p,#wirtgen-modal span.status-date{max-width:none;margin-bottom:1rem}#wirtgen-modal span.status-date{display:block;text-align:right;color:var(--medium-grey);font-size:.9rem;margin-top:-1rem}.wirtgen-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;text-align:left}.wirtgen-column h3{font-size:1.1rem;font-weight:800;margin-bottom:1rem;text-transform:uppercase;color:var(--dark-color)}.wirtgen-column h4{font-size:.9rem;color:var(--medium-grey);margin-top:1.5rem;margin-bottom:.5rem}.wirtgen-column p{font-size:.9rem;line-height:1.5}.scroll-to-top-btn{position:fixed;bottom:1.5rem;right:1.5rem;background-image:var(--gradient-primary);color:#fff;width:50px;height:50px;border-radius:50%;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;z-index:999;box-shadow:var(--shadow-md)}.scroll-to-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #1e3c7240}.pricing-image,.gallery-item{min-width:0}@media (min-width: 992px){.features-list{grid-template-columns:repeat(2,1fr);gap:1rem 2rem}}@media (max-width: 1024px){.desktop-nav{gap:1.5rem}.desktop-nav a{font-size:.9rem}.about-esos-grid,.pricing-grid,.installation-grid,.steps-grid{grid-template-columns:1fr}.about-esos-grid{gap:2rem}.about-esos-heading,.about-esos-details{text-align:center}.about-esos-links{justify-content:center}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.pricing-grid{gap:3rem}.pricing-image{order:-1}.case-study-card,.case-study-card--reversed{grid-template-columns:1fr}.case-study-card--reversed .case-study-image,.case-study-card--reversed .case-study-content{grid-column:auto;grid-row:auto}.case-study-image{max-height:400px}.installation-grid{gap:3rem}.installation-text{text-align:center}.installation-text p{margin-left:auto;margin-right:auto}}@media (max-width: 768px){.desktop-nav{display:none}.site-header{padding:.5rem 1.5rem}.mobile-nav-toggle{display:block}.hero-section{padding:2rem;text-align:center}.hero-info h1{font-size:clamp(4rem,20vw,6rem)}.hero-info{align-items:center}.steps-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:250px}.pricing-card{padding:2.5rem 1.5rem}.stats-grid{grid-template-columns:1fr}.stat-item:not(:last-child){margin-bottom:1.5rem}.case-study-content{padding:2rem}.gallery-nav-btn{width:40px;height:40px}#gallery-prev-btn{left:.5rem}#gallery-next-btn{right:.5rem}.wirtgen-columns{grid-template-columns:1fr}#wirtgen-modal .modal-content,.testimonial-card{padding:2rem 1.5rem}.testimonial-quote-icon{left:1rem;top:1rem}.testimonial-text{font-size:1.1rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.slick-slider{transition:none!important}}
