.services-section{padding:80px 0;background:#f8f8f8}.services-section__container{max-width:1200px;margin:0 auto;padding:0 20px}.services-section__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:60px}.services-section__item{text-align:center;padding:40px 20px;background:#fff;border-radius:8px;transition:transform .3s ease,box-shadow .3s ease}.services-section__item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}.services-section__icon{width:150px;height:150px;margin:0 auto 30px}.services-section__icon img{width:100%;height:100%;object-fit:contain}.services-section__title{font-size:20px;font-weight:600;color:#333;margin-bottom:15px;line-height:1.4}.services-section__text{font-size:15px;color:#666;line-height:1.6}.gallery-section{padding:80px 0;background:#fff}.gallery-section__container{max-width:1400px;margin:0 auto;padding:0 20px}.gallery-section__title{font-size:32px;font-weight:700;text-align:center;color:#333;margin-bottom:60px;text-transform:uppercase;letter-spacing:1px}.gallery-section__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.gallery-section__item{position:relative;overflow:hidden;border-radius:8px;cursor:pointer;aspect-ratio:4/3}.gallery-section__item::after{content:'🔍';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:40px;opacity:0;transition:opacity .3s ease;pointer-events:none;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}.gallery-section__item:hover::after{opacity:1}.gallery-section__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease}.gallery-section__item:hover img{transform:scale(1.1);filter:brightness(.8)}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:10000;animation:fadeIn .3s ease}.lightbox.active{display:flex;align-items:center;justify-content:center}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.lightbox__content{position:relative;max-width:90%;max-height:90%;animation:zoomIn .3s ease}@keyframes zoomIn{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.lightbox__image{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 50px rgba(0,0,0,.5)}.lightbox__close{position:absolute;top:-50px;right:0;width:40px;height:40px;background:rgba(255,255,255,.1);border:2px solid #fff;border-radius:50%;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.lightbox__close:hover{background:#fff;color:#000;transform:rotate(90deg)}.lightbox__prev,.lightbox__next{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(255,255,255,.1);border:2px solid #fff;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;user-select:none}.lightbox__prev:hover,.lightbox__next:hover{background:#fff;color:#000}.lightbox__prev{left:-80px}.lightbox__next{right:-80px}.lightbox__counter{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:600;background:rgba(0,0,0,.5);padding:8px 16px;border-radius:20px}.partners-section{padding:60px 0;background:#e0e0e0}.partners-section__container{max-width:1200px;margin:0 auto;padding:0 20px}.partners-section__title{font-size:28px;font-weight:700;text-align:center;color:#333;margin-bottom:40px;text-transform:uppercase;letter-spacing:1px}.partners-section__image{text-align:center}.partners-section__image img{max-width:100%;height:auto;display:inline-block}.meeting-section{padding:0;background:#fff}.meeting-section__container{max-width:1400px;margin:0 auto}.meeting-section__image{width:100%;height:auto;display:block}.contact-section{padding:80px 0;background:#f8f8f8}.contact-section__container{max-width:1200px;margin:0 auto;padding:0 20px}.contact-section__title{font-size:32px;font-weight:700;text-align:center;color:#333;margin-bottom:60px;text-transform:uppercase;letter-spacing:1px}.contact-section__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-section__form{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.contact-section__info{padding:20px}.contact-section__info h3{font-size:24px;font-weight:700;color:#333;margin-bottom:20px}.contact-section__info h4{font-size:18px;font-weight:600;color:#333;margin:30px 0 15px}.contact-section__info p{font-size:15px;line-height:1.8;color:#666;margin-bottom:20px}.contact-section__info a{color:#2c5f2d;text-decoration:none;transition:color .3s ease}.contact-section__info a:hover{color:#1a3a1b}@media(max-width:768px){.services-section__grid{grid-template-columns:1fr;gap:30px}.gallery-section__grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.contact-section__grid{grid-template-columns:1fr;gap:40px}.contact-section__form{padding:30px 20px}.lightbox__prev{left:10px}.lightbox__next{right:10px}.lightbox__close{top:10px;right:10px}}@media(max-width:480px){.services-section{padding:60px 0}.services-section__icon{width:120px;height:120px}.services-section__title{font-size:18px}.gallery-section{padding:60px 0}.gallery-section__title{font-size:24px;margin-bottom:40px}.gallery-section__grid{grid-template-columns:1fr}.partners-section{padding:40px 0}.partners-section__title{font-size:22px;margin-bottom:30px}.contact-section{padding:60px 0}.contact-section__title{font-size:24px;margin-bottom:40px}.lightbox__content{max-width:95%}.lightbox__prev,.lightbox__next{width:40px;height:40px;font-size:20px}.lightbox__prev{left:5px}.lightbox__next{right:5px}.lightbox__close{width:35px;height:35px;font-size:20px;top:5px;right:5px}.lightbox__counter{bottom:10px;font-size:12px;padding:6px 12px}}.partners-section{padding:60px 0;background:#e0e0e0}.partners-section__container{max-width:1200px;margin:0 auto;padding:0 20px}.partners-section__title{font-size:28px;font-weight:700;text-align:center;color:#333;margin-bottom:40px;text-transform:uppercase;letter-spacing:1px}.partners-section__image{text-align:center}.partners-section__image img{max-width:100%;height:auto;display:inline-block}.meeting-section{padding:0;background:#fff}.meeting-section__container{max-width:1400px;margin:0 auto}.meeting-section__image{width:100%;height:auto;display:block}.frmcontatti{width:100%}.frmcontatti .row{margin-bottom:20px}.frmcontatti .form-group{position:relative}.frmcontatti label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.frmcontatti label span[style*="color:Red"]{color:#d9534f;margin-left:3px}.frmcontatti .form-control{width:100%;padding:12px 15px;font-size:15px;color:#333;background:#fff;border:1px solid #ddd;border-radius:4px;transition:border-color .3s ease,box-shadow .3s ease}.frmcontatti .form-control:focus{outline:none;border-color:#2c5f2d;box-shadow:0 0 0 3px rgba(44,95,45,.1)}.frmcontatti textarea.form-control{min-height:120px;resize:vertical;font-family:inherit}.frmcontatti select.form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}.frmcontatti input[type="file"]{padding:10px 0;font-size:14px;cursor:pointer}.frmcontatti input[type="checkbox"]{width:auto;margin-right:8px;cursor:pointer}.frmcontatti input[type="checkbox"]+label{display:inline;font-weight:400;cursor:pointer;user-select:none}.frmcontatti .error,.frmcontatti small.error{display:block;color:#d9534f;font-size:13px;margin-top:5px;font-weight:400}.frmcontatti .button,.frmcontatti .btn-primary{display:inline-block;padding:15px 40px;font-size:16px;font-weight:600;color:#fff;background:#2c5f2d;border:none;border-radius:4px;cursor:pointer;transition:background .3s ease,transform .2s ease;text-transform:uppercase;letter-spacing:.5px}.frmcontatti .button:hover,.frmcontatti .btn-primary:hover{background:#1a3a1b;transform:translateY(-2px)}.frmcontatti .button:active,.frmcontatti .btn-primary:active{transform:translateY(0)}.frmcontatti .text-center{text-align:center;margin-top:30px}.frmcontatti a{color:#2c5f2d;text-decoration:underline;transition:color .3s ease}.frmcontatti a:hover{color:#1a3a1b}.modalBackground{background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}.frmcontatti .form-control.error{border-color:#d9534f}.frmcontatti .form-control.valid{border-color:#5cb85c}.frmcontatti .columns{width:100%;padding:0 10px}.frmcontatti .col-12{width:100%}