@charset "UTF-8";
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Jost","Montserrat",system-ui,-apple-system,sans-serif;font-weight:400;font-size:16px;line-height:1.6;color:#7A7A7A;background:#fff}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
html{scroll-behavior:smooth}

#header-topbar{background:linear-gradient(90deg,#D6E94A 0%,#D6E94A 60%,#fff 100%);width:100%;padding:6px 0;font-size:13px;color:#1E1E1E}
.topbar-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.topbar_col{display:flex;align-items:center;gap:8px}
.topbar-crest-img{width:22px;height:22px;object-fit:contain}
.topbarCrestTxt{font-weight:600;font-size:13px}
.topbar-center{gap:20px}
.topbar-contact-item{display:flex;align-items:center;gap:5px;font-size:13px}
.topbar-contact-item i{font-size:11px;color:#1E1E1E}
.topbar-contact-item a{color:#1E1E1E;font-weight:500}
.topbar-contact-item a:hover{color:#50B8BA}
.topbar-partner-logo{width:140px;height:auto;object-fit:contain}

#site-header{background:#fff;padding:10px 0;position:sticky;top:0;z-index:999;border-bottom:1px solid #DBDBDB}
.hdr_innerWrap{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.header-logo img{height:55px;width:auto}
.header-nav-wrap{display:flex;align-items:center}
.menu-toggle-check{display:none}
.menu-toggle-btn{display:none;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle-btn span{display:block;width:26px;height:3px;background:#1E1E1E;border-radius:2px}
.nav-menu{display:flex;gap:0}
.nav-menu .menu-item a{display:block;padding:15px 18px;font-size:15px;font-weight:500;color:#1E1E1E;transition:color .2s}
.nav-menu .menu-item a:hover,
.nav-menu .menu-item.current-menu-item a{color:#50B8BA}

#hero-section{position:relative;min-height:440px;background:url('../main-assets/dsc_hero_workshop_7503.webp') center center / cover no-repeat;display:flex;align-items:center;justify-content:center}
.hero-bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.35);z-index:1}
.hero_contentPill{position:relative;z-index:2;background:rgba(80,184,186,0.55);border-radius:12px;padding:35px 55px;text-align:center;max-width:620px}
.hero-h1{font-size:38px;font-weight:600;color:#fff;line-height:1.3;margin-bottom:5px}
.hero-sub{font-size:1.65rem;font-weight:400;color:#fff;line-height:1.3;margin:0}

.about_section{padding:75px 20px 70px;background:#fff}
.about_grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.about_imgWrap img{width:100%;height:420px;object-fit:cover;border-radius:3px}
.about_textBlock .init_caption{font-size:15px;color:#50B8BB;font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}
.about_heading{font-size:28px;font-weight:700;color:#1E1E1E;margin-bottom:20px;line-height:1.3}
.about_txt{font-size:15px;color:#7A7A7A;line-height:1.7;margin-bottom:14px}
.about_materials{color:#6D6D6D;font-size:14px;margin-top:8px}

.servizi_section{padding:65px 20px 68px;background:#F5F5F5}
.servizi_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.servizio_item{background:#fff;padding:32px 24px 28px;box-shadow:0px 0px 10px 3px #d5d5d5;text-align:center}
.servizio_item i{font-size:32px;color:#50B8BA;margin-bottom:14px;display:block}
.servizio_item h3{font-size:18px;font-weight:600;color:#1E1E1E;margin-bottom:10px}
.servizio_item p{font-size:14px;color:#7A7A7A;line-height:1.65}

#lavori{padding:68px 20px 75px;background:#fff}
.sec_titleWorks{font-size:32px;font-weight:700;color:#1E1E1E;text-align:center;margin-bottom:42px}
.postsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.postCard{background:#fff;overflow:hidden;transition:box-shadow .3s}
.postCard:hover{box-shadow:0px 0px 15px 0px #c5c5c5}
.post-thumb img{width:100%;height:225px;object-fit:cover}
.postCard_body{padding:22px 18px}
.postTitle{font-size:19px;font-weight:600;color:#1E1E1E;line-height:1.35;margin-bottom:10px;min-height:55px}
.postTitle a{color:#1E1E1E}
.postTitle a:hover{color:#50B8BA}
.post-excerpt{font-size:14px;color:#7A7A7A;line-height:1.65;margin-bottom:14px;min-height:65px}
.rdMore_link{font-size:13px;font-weight:600;color:#50B8BB;text-transform:uppercase;font-family:"Montserrat","Jost",sans-serif;letter-spacing:.5px}
.rdMore_link:hover{color:#4DB8B9}

.sec_titlePartners{font-size:30px;font-weight:700;color:#1E1E1E;text-align:center;margin-bottom:18px}

.pricing_section{padding:65px 20px 72px;background:#F5F5F5;border-top:1px solid #eee}
.pricing_subtitle{text-align:center;max-width:680px;margin:0 auto 40px;font-size:15px;color:#6D6D6D;line-height:1.6}
.pricing_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto}
.pricing_card{background:#fff;border:1px solid #DBDBDB;overflow:hidden}
.pricing_card--featured{border:2px solid #50B8BA;position:relative}
.pricing_card--featured::before{content:'Più richiesto';position:absolute;top:0;right:0;background:#50B8BA;color:#fff;font-size:11px;font-weight:600;padding:4px 14px;text-transform:uppercase;letter-spacing:.5px;font-family:"Montserrat",sans-serif}
.pricing_cardTop{padding:28px 22px 20px;text-align:center;border-bottom:1px solid #f0f0f0}
.pricing_cardTop h3{font-size:20px;font-weight:600;color:#1E1E1E;margin-bottom:8px}
.pricing_amount{font-size:28px;font-weight:700;color:#50B8BA}
.pricing_cardBody{padding:22px}
.pricing_cardBody ul{margin-bottom:22px}
.pricing_cardBody li{font-size:14px;color:#7A7A7A;padding:6px 0;display:flex;align-items:flex-start;gap:8px}
.pricing_cardBody li i{color:#50B8BB;margin-top:3px;font-size:14px}
.pricing_cta{display:block;text-align:center;background:#50B8BA;color:#fff;font-size:14px;font-weight:600;text-transform:uppercase;padding:12px 20px;border-radius:4px;font-family:"Montserrat","Jost",sans-serif;letter-spacing:.5px;transition:background .2s}
.pricing_cta:hover{background:#4DB8B9;color:#fff}

.testimonials_wrap{padding:70px 20px 65px;background:#fff;border-top:1px solid #f0f0f0}
.testimonials_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:35px}
.testimonial_card{background:#fff;border:1px solid #DBDBDB;padding:28px 22px;box-shadow:0px 0px 10px 3px #d5d5d5}
.testimonial_stars{margin-bottom:12px;color:#CFD849;font-size:16px;display:flex;gap:2px}
.testimonial_txt{font-size:15px;color:#7A7A7A;line-height:1.7;margin-bottom:15px;font-style:italic}
.testimonial_author{font-size:13px;font-weight:600;color:#1E1E1E}

.faq_wrap{padding:62px 20px 70px;background:#F5F5F5;border-top:1px solid #eee}
.faq_list{max-width:760px;margin:28px auto 0}
.faq_item{border-bottom:1px solid #DBDBDB}
.faq_question{width:100%;background:none;border:none;padding:18px 0;font-size:17px;font-weight:600;color:#1E1E1E;font-family:"Jost",sans-serif;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left}
.faq_question i{font-size:18px;color:#50B8BA;transition:transform .25s}
.faq_item.open .faq_question i{transform:rotate(45deg)}
.faq_answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq_item.open .faq_answer{max-height:300px}
.faq_answer p{padding:0 0 18px;font-size:15px;color:#7A7A7A;line-height:1.7}

.contact_section{padding:70px 20px 75px;background:#fff;border-top:1px solid #f0f0f0}
.contact_grid{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:flex-start}
.contact_info{padding-top:12px}
.contact_infoRow{margin-bottom:22px}
.contact_formWrap{background:#F5F5F5;padding:32px 28px;border:1px solid #eee}
.form_row{margin-bottom:16px}
.form_row input[type="text"],
.form_row input[type="email"],
.form_row input[type="tel"],
.form_row textarea{width:100%;padding:12px 14px;border:1px solid #DBDBDB;font-family:"Jost",sans-serif;font-size:15px;color:#1E1E1E;background:#fff;outline:none;transition:border-color .2s}
.form_row input:focus,
.form_row textarea:focus{border-color:#50B8BA}
.form_row textarea{resize:vertical;min-height:110px}
.honeypot_field{position:absolute;left:-9999px;top:-9999px}
.form_privacy{font-size:13px;color:#6D6D6D}
.form_privacy a{color:#50B8BB;text-decoration:underline}
.form_privacy label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.form_privacy input[type="checkbox"]{margin-top:3px;accent-color:#50B8BA}
.form_submit{display:inline-block;background:#50B8BA;color:#fff;border:none;padding:13px 38px;font-size:14px;font-weight:600;text-transform:uppercase;font-family:"Montserrat","Jost",sans-serif;letter-spacing:.5px;cursor:pointer;border-radius:4px;transition:background .2s}
.form_submit:hover{background:#4DB8B9}
.form_submit:disabled{background:#aaa;cursor:wait}
.form_error{color:#c0392b;font-size:13px;line-height:1.6;margin-top:8px}

.ftr_contactRow{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}
.ftr_iconCircle{width:40px;height:40px;min-width:40px;border-radius:50%;background:#4DB8B9;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ftr_iconCircle i{color:#fff;font-size:15px}
.ftr_contactTxt{font-size:14px;line-height:1.6;color:#7A7A7A;padding-top:9px}
.contact_info .ftr_contactTxt a{color:#7A7A7A}
.contact_info .ftr_contactTxt a:hover{color:#50B8BA}

.home-cta-blocks{display:none}

#site-footer{background:#1A1A1A;color:#ccc;padding:52px 20px 0}
.ftr_innerWrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:35px;padding-bottom:38px}
.ftr_logo{margin-bottom:16px}
.ftr_logo img{height:46px;width:auto}
.ftr_heading{color:#fff;font-size:1rem;font-weight:700;text-transform:uppercase;margin-bottom:18px;letter-spacing:.5px}
.ftr_aboutTxt{font-size:14px;line-height:1.7;color:#aaa}
.ftr_linkList{display:flex;flex-direction:column;gap:10px}
.ftr_linkList li{display:flex;align-items:center;gap:8px;font-size:14px;color:#aaa}
.ftr_linkList li i{color:#4DB8B9;font-size:11px}
.ftr_linkList li a{color:#aaa;transition:color .2s}
.ftr_linkList li a:hover{color:#50B8BB}
#site-footer .ftr_contactTxt{color:#aaa;padding-top:9px}
#site-footer .ftr_contactTxt a{color:#aaa}
#site-footer .ftr_contactTxt a:hover{color:#50B8BA}
.ftr_bottomBar{border-top:1px solid #333;padding:18px 0;margin-top:10px}
.ftr_bottomInner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px}
.ftr_copyLeft{font-size:13px;color:#888}
.ftr_copyRight{font-size:11px;color:#666;text-align:right;line-height:1.6}

.legalPage_hero{background:#F5F5F5;padding:48px 20px 42px;border-bottom:1px solid #eee}
.legalPage_title{font-size:34px;font-weight:700;color:#1E1E1E;text-align:center}
.legalPage_body{padding:50px 20px 65px;background:#fff}
.legalContent{max-width:780px;margin:0 auto}
.legalContent h2{font-size:20px;font-weight:600;color:#1E1E1E;margin:28px 0 10px}
.legalContent p{font-size:15px;color:#7A7A7A;line-height:1.75;margin-bottom:12px}
.legalContent p:first-child{font-size:13px;color:#6D6D6D;margin-bottom:22px}
.legalContent a{color:#50B8BB;text-decoration:underline}
.legalContent a:hover{color:#4DB8B9}
.legalContent strong{color:#1E1E1E;font-weight:600}

.gallery_introSection{padding:45px 20px 10px;background:#fff}
.gallery_introTxt{max-width:780px;margin:0 auto;font-size:15px;color:#6D6D6D;line-height:1.7;text-align:center}
.gallery_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gallery_item{overflow:hidden}
.gallery_item img{width:100%;height:260px;object-fit:cover;transition:transform .3s}
.gallery_item:hover img{transform:scale(1.03)}
.gallery_caption{padding:16px 4px 8px;font-size:13px;color:#7A7A7A;line-height:1.6}
.gallery_caption strong{color:#1E1E1E;font-size:14px}
.gallery_sectionAlt{padding:55px 20px 68px;background:#F5F5F5;border-top:1px solid #eee}
.gallery_sectionTitle{font-size:26px;font-weight:700;color:#1E1E1E;text-align:center;margin-bottom:35px}
.galleryCta_section{padding:55px 20px 62px;background:#fff;border-top:1px solid #f0f0f0}
.galleryCta_heading{font-size:26px;font-weight:700;color:#1E1E1E;margin-bottom:12px}
.galleryCta_txt{font-size:15px;color:#7A7A7A;max-width:520px;margin:0 auto;line-height:1.6}
.galleryCta_btn{display:inline-block;margin-top:10px}

.gdpr_banner{position:fixed;bottom:20px;right:20px;left:auto;z-index:10000;max-width:520px;width:calc(100% - 40px);background:#1A1A1A;border:1px solid #333;padding:0;display:none;flex-direction:column;box-shadow:0 4px 24px rgba(0,0,0,.25)}
.gdpr_inner{padding:22px 24px 18px;display:flex;flex-direction:column;gap:14px}
.gdpr_txt p{font-size:13px;color:#bbb;line-height:1.6;margin-bottom:6px}
.gdpr_links{font-size:12px}
.gdpr_links a{color:#50B8BB;text-decoration:underline}
.gdpr_links a:hover{color:#CFD849}
.gdpr_actions{display:flex;gap:8px;flex-wrap:wrap}
.gdpr_btn{padding:9px 18px;font-size:13px;font-weight:600;border:none;cursor:pointer;font-family:"Jost",sans-serif;border-radius:3px;transition:background .2s}
.gdpr_btn--accept{background:#50B8BA;color:#fff}
.gdpr_btn--accept:hover{background:#4DB8B9}
.gdpr_btn--decline{background:transparent;color:#aaa;border:1px solid #555}
.gdpr_btn--decline:hover{border-color:#aaa;color:#fff}
.gdpr_btn--settings{background:transparent;color:#aaa;border:1px solid #555}
.gdpr_btn--settings:hover{border-color:#aaa;color:#fff}
.gdpr_settingsPanel{padding:0 24px 18px;display:none}
.gdpr_settingsInner{border-top:1px solid #333;padding-top:14px;display:flex;flex-direction:column;gap:10px}
.gdpr_toggle{font-size:13px;color:#bbb;display:flex;align-items:center;gap:8px;cursor:pointer}
.gdpr_toggle input{accent-color:#50B8BA}

.tyPopup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10001;display:none;align-items:center;justify-content:center}
.tyPopup_inner{background:#fff;padding:45px 40px;text-align:center;max-width:400px;width:90%}
.tyPopup_icon{font-size:48px;color:#50B8BA}
.tyPopup_inner h3{font-size:22px;font-weight:700;color:#1E1E1E;margin:15px 0 8px}
.tyPopup_inner p{font-size:15px;color:#7A7A7A;margin-bottom:22px}
.tyPopup_close{background:#50B8BA;color:#fff;border:none;padding:10px 30px;font-size:14px;font-weight:600;cursor:pointer;border-radius:4px;font-family:"Jost",sans-serif}
.tyPopup_close:hover{background:#4DB8B9}

.e-con-inner{max-width:1200px;margin:0 auto}

@media only screen and (max-width:1024px){
.postsGrid{grid-template-columns:repeat(2,1fr)}
.gallery_grid{grid-template-columns:repeat(2,1fr)}
.ftr_innerWrap{grid-template-columns:1fr 1fr}
.elementor-hidden-tablet{display:none !important}
.topbar-center{display:none}
.servizi_grid{grid-template-columns:repeat(2,1fr)}
.pricing_grid{grid-template-columns:1fr;max-width:400px}
.testimonials_grid{grid-template-columns:1fr}
.about_grid{grid-template-columns:1fr;gap:30px}
.contact_grid{grid-template-columns:1fr}
}

@media only screen and (max-width:767px){
.postsGrid{grid-template-columns:1fr}
.gallery_grid{grid-template-columns:1fr}
.ftr_innerWrap{grid-template-columns:1fr}
.elementor-hidden-mobile{display:none !important}
.topbar-inner{flex-direction:column;gap:8px;text-align:center}
.topbar-right{display:none}
.hdr_innerWrap{flex-wrap:wrap}
.menu-toggle-btn{display:flex}
.nav-menu{display:none;flex-direction:column;width:100%;background:#fff;position:absolute;top:100%;left:0;border-top:1px solid #DBDBDB;z-index:998}
.menu-toggle-check:checked ~ .main-navigation .nav-menu{display:flex}
.nav-menu .menu-item a{padding:12px 20px;border-bottom:1px solid #f0f0f0}
.hero_contentPill{margin:0 15px;padding:25px 20px}
.hero-h1{font-size:26px}
.hero-sub{font-size:1.2rem}
.sec_titleWorks{font-size:24px}
.sec_titlePartners{font-size:24px}
.about_heading{font-size:22px}
.servizi_grid{grid-template-columns:1fr}
.ftr_bottomInner{flex-direction:column;text-align:center}
.ftr_copyRight{text-align:center}
#hero-section{min-height:310px}
.gdpr_banner{bottom:0;right:0;max-width:100%;width:100%;border:none}
.contact_formWrap{padding:22px 16px}
.legalPage_title{font-size:26px}
.legalContent h2{font-size:18px}
.galleryCta_heading{font-size:22px}
}

@media only screen and (min-width:320px) and (max-width:568px){
.postCard{min-height:auto !important}
.postTitle{min-height:auto}
.post-excerpt{min-height:auto}
}

@media (min-width:768px) and (max-width:991px){
.pricing_grid{max-width:380px}
}
