:root{
  --red:#c9362b;
  --red-dark:#b82f27;
  --orange:#f9b414;
  --orange-dark:#eba400;
  --dark:#111111;
  --dark-2:#171717;
  --line:#ececec;
  --text:#222735;
  --muted:#9aa0aa;
  --white:#fff;
  --container:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Trebuchet MS",Arial,sans-serif;
  color:var(--text);
  background:#fff;
  font-size:16px;
  line-height:1.62;
  padding-bottom:92px;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--container),calc(100% - 42px));margin:0 auto}
.condensed{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:.5px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:132px;height:52px;padding:0 28px;border:0;
  background:var(--red);color:#fff;font-weight:700;font-size:14px;
  transition:.25s ease;cursor:pointer
}
.btn:hover{background:#a92822;transform:translateY(-1px)}
.btn.btn-orange{background:var(--orange);color:#fff}.btn.btn-orange:hover{background:#e6a70f}
.btn.btn-outline{background:transparent;border:2px solid #fff;color:#fff;height:42px;min-width:132px;font-style:italic}
.btn.btn-light{background:#eee;color:#777;min-width:118px;height:48px}
.section{padding:118px 0}
.section.compact{padding:84px 0}
.section-title{display:flex;align-items:center;gap:42px;margin-bottom:74px}
.section-title h2{
  margin:0;color:#07111f;text-transform:uppercase;font-size:50px;line-height:.95;font-weight:900;
  font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:1px
}
.section-title .eyebrow{font-size:21px;text-transform:uppercase;color:#a9adb4;letter-spacing:.6px;position:relative;min-width:205px;padding-bottom:8px}
.section-title .eyebrow:after{content:"";position:absolute;left:0;bottom:0;width:100px;height:3px;background:var(--orange)}
.section-title .eyebrow:before{content:"";position:absolute;left:0;bottom:0;width:205px;height:1px;background:#ddd}

/* Header */
.site-header{width:100%;z-index:50;background:#111;color:#fff}
.site-header.home{position:absolute;left:0;top:0;background:transparent}
.header-top{height:112px;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header.home .header-top{border-bottom:0}
.header-top .inner{height:100%;display:grid;grid-template-columns:430px 1fr 1fr;align-items:center}
.logo-link{display:block;width:355px}.logo-link img{width:100%;height:auto}
.top-info{height:82px;display:flex;align-items:center;gap:18px;padding-left:34px;border-left:1px solid rgba(255,255,255,.12);color:#ef2f30;font-size:15px;line-height:1.7;font-weight:700}
.site-header.home .top-info{color:#df2427;text-shadow:0 0 2px rgba(255,255,255,.25)}
.top-icon{width:42px;height:42px;border-radius:50%;border:4px solid #cc342c;display:flex;align-items:center;justify-content:center;color:#cc342c;font-size:22px;font-weight:900;flex:0 0 auto}
.nav-wrap{height:54px;background:#151515;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header.home .nav-wrap{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.16)}
.nav-inner{height:100%;display:flex;align-items:stretch;justify-content:space-between}
.main-nav{display:flex;align-items:stretch;margin:0;padding:0;list-style:none}
.main-nav>li{position:relative;display:flex;align-items:center}
.main-nav>li>a{display:flex;align-items:center;height:54px;padding:0 21px;color:#fff;font-weight:900;font-size:15px;text-transform:uppercase;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:.7px}
.main-nav>li.active>a,.main-nav>li>a:hover{color:var(--red)}
.submenu{position:absolute;left:0;top:54px;min-width:198px;background:#181818;list-style:none;margin:0;padding:13px 0;display:none;box-shadow:0 18px 30px rgba(0,0,0,.22)}
.main-nav>li:hover .submenu{display:block}
.submenu a{display:block;padding:11px 22px;color:#fff;font-weight:900;font-size:13px;text-transform:uppercase;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif}
.submenu a:hover{color:var(--red)}
.nav-actions{display:flex;align-items:stretch;margin-left:auto}
.nav-square{width:64px;height:54px;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.12);font-size:23px;color:#fff;background:rgba(0,0,0,.08)}
.menu-toggle{display:none;border:0;cursor:pointer}
.search-icon{font-size:25px;line-height:1}

/* Home Hero */
.hero{height:840px;position:relative;overflow:hidden;background:#1b1b1b}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s ease}
.hero-slide.active{opacity:1}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.16) 55%,rgba(0,0,0,.52));z-index:1}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding-top:120px}
.hero-kicker{font-size:22px;letter-spacing:4px;text-transform:uppercase;margin:0 0 44px 0;font-weight:300}
.hero h1{margin:0 0 80px 0;text-transform:uppercase;font-size:56px;line-height:1;font-weight:900;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:1.5px;text-shadow:0 1px 8px rgba(0,0,0,.2)}
.hero-dots{position:absolute;z-index:4;top:236px;left:50%;transform:translateX(-50%);display:flex;gap:12px}
.hero-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.52);padding:0;cursor:pointer}.hero-dots button.active{background:var(--orange)}
.hero-arrow{position:absolute;z-index:4;top:55%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:44px;opacity:.95;cursor:pointer}
.hero-arrow.prev{left:46px}.hero-arrow.next{right:46px}
.feature-strip{position:relative;z-index:6;margin:-91px auto 0;display:grid;grid-template-columns:repeat(3,1fr);height:286px;width:min(var(--container),calc(100% - 42px))}
.feature-card{position:relative;background-size:cover;background-position:center;color:#fff;padding:48px 64px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start}
.feature-card:before{content:"";position:absolute;inset:0;background:rgba(12,18,32,.64);z-index:0}.feature-card>*{position:relative;z-index:1}
.feature-card h3{margin:0 0 9px;font-size:39px;line-height:1;text-transform:uppercase;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:1px}
.feature-card p{margin:0 0 21px;font-size:18px;line-height:1.35;color:#fff;max-width:280px}

.about-grid{display:grid;grid-template-columns:1.2fr .75fr;gap:80px;align-items:center}.about-text p{margin:0 0 21px}.about-text strong{font-weight:900;color:#0d1019}.fla-img{max-width:360px;margin:0 auto}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:stretch}.service-card{background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06);min-height:324px;padding:56px 50px;border:1px solid #f4f4f4}.service-card .icon{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#b05220;color:#fff;font-size:28px;margin:0 0 31px}.service-card:nth-child(2) .icon{background:#1375b9}.service-card:nth-child(3) .icon{background:#faa72b}.service-card:nth-child(4) .icon{background:#ad7e4c}.service-card:nth-child(5) .icon{background:#5b5b5b}.service-card h3{color:#f0443e;font-size:26px;line-height:1.2;margin:0 0 18px;font-weight:700}.service-card p{margin:0;color:#55515d;line-height:1.55}.service-card.large{grid-row:span 2;padding-top:55px}
.testimonial{background:var(--orange);min-height:345px;display:flex;align-items:center;text-align:left;position:relative;overflow:hidden}.testimonial:before{content:"“";position:absolute;left:30%;top:16px;color:rgba(0,0,0,.12);font-size:240px;font-family:Georgia,serif;line-height:1}.testimonial-inner{max-width:760px;margin:0 auto;text-align:left;position:relative}.testimonial p{font-size:25px;line-height:1.45;margin:0 0 28px;color:#111}.testimonial-author{display:flex;gap:18px;align-items:center;justify-content:center;color:#7e660a}.avatar{width:54px;height:54px;border-radius:50%;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.1)}
.numbers-section{background:#fafafa url('../img/hero-window.jpg') left center/auto 120% no-repeat;background-blend-mode:screen}.numbers-wrap{display:grid;grid-template-columns:360px 1fr;gap:48px;align-items:center}.contact-card{background:#fff;box-shadow:0 15px 45px rgba(0,0,0,.08);width:360px}.contact-card-head{height:78px;background:var(--orange);display:flex;align-items:center;color:#fff;font-size:26px;font-weight:800}.contact-card-head span{width:78px;height:78px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.32);font-size:36px}.contact-form{padding:34px 30px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #d7d7d7;outline:0;height:56px;font:inherit;color:#555;background:transparent}.contact-form textarea{height:100px;resize:none;padding-top:18px}.contact-form .btn{width:100%;margin-top:28px}.numbers-content .section-title{margin-bottom:34px}.numbers-text{max-width:680px;margin-bottom:70px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.stat{background:#fff;box-shadow:0 10px 35px rgba(0,0,0,.08);height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center}.stat strong{font-size:42px;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;color:#07111f;line-height:1}.stat span{color:#a4a5ad;margin-top:10px}
.news-list-home{display:grid;grid-template-columns:650px 1fr;gap:30px}.post-card img{width:100%;height:405px;object-fit:cover}.meta{font-size:14px;color:#a6a7af;margin:26px 0 12px}.post-card h3{color:#ec4844;font-size:32px;line-height:1.15;margin:0 0 20px;font-weight:800}.post-card p{max-width:720px;margin:0 0 24px}.logos-strip{display:flex;gap:30px;justify-content:center;align-items:center;flex-wrap:wrap;margin:70px 0 0}.logos-strip .client{width:263px;height:100px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;padding:25px}.logos-strip img{max-height:55px;margin:auto}
.funding{padding:72px 0 52px;background:#fff}.fund-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:center;max-width:930px;margin:0 auto 92px}.fund-logo{height:75px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#1c5cad;font-size:19px;border-right:1px solid #bbb}.fund-logo:nth-child(2){font-size:28px}.fund-logo:last-child{border-right:0}.fund-content{display:grid;grid-template-columns:1fr 1fr;gap:110px}.fund-content p{margin:0 0 10px}.footer-main{background:#fff;padding:55px 0 38px}.footer-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:70px}.footer-logo{width:360px;margin-bottom:22px}.footer-grid h3{font-size:24px;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;margin:0 0 20px;text-transform:none;color:#111}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{border-bottom:1px solid #ddd;padding:10px 0;color:#f06f6d}.footer-grid li:before{content:'› ';font-weight:900}.copyright{text-align:center;color:#222;margin-top:36px;font-size:15px}
.cta-bar{position:fixed;left:0;bottom:0;width:100%;z-index:100;background:var(--orange);min-height:92px;box-shadow:0 -2px 8px rgba(0,0,0,.04)}.cta-bar .inner{height:92px;display:grid;grid-template-columns:1fr 270px 1fr;align-items:center;gap:34px}.cta-text{text-transform:uppercase;font-size:20px;color:#111;letter-spacing:.4px}.cta-bar .btn{height:50px;border:2px solid rgba(255,255,255,.75);font-style:italic;background:var(--red);width:270px}.whatsapp{text-transform:uppercase;color:#111;font-size:20px;display:flex;gap:12px;align-items:center}.whatsapp .wa-icon{width:24px;height:24px;border-radius:50%;background:#27d167;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900}
.to-top{position:fixed;right:31px;bottom:102px;width:40px;height:40px;background:#e52e28;color:#fff;z-index:101;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.12)}

/* Inner pages */
.page-banner{height:326px;background:linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.62)),url('../img/hero-roof-truss.jpg') center 28%/cover no-repeat;display:flex;align-items:center;color:#fff;text-align:center}.page-banner h1{font-size:52px;line-height:1;margin:0 0 18px;text-transform:uppercase;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:1px}.breadcrumbs{font-size:15px;text-transform:uppercase}.breadcrumbs span{color:#eee}.breadcrumbs a{color:#fff}.breadcrumbs em{font-style:normal;color:var(--red)}
.inner-section{padding:125px 0 95px}.two-col{display:grid;grid-template-columns:1fr 360px;gap:64px}.main-content p{margin:0 0 18px}.main-content ul{padding-left:18px;margin:20px 0}.main-content li{margin-bottom:8px}.side-title{font-size:22px;color:#a6a8af;text-transform:uppercase;margin:0 0 20px}.cert-links a{display:block;color:#eb514d;margin:14px 0}.gallery-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin-top:70px}.gallery-stack{display:grid;gap:30px}.gallery-grid img{width:100%;height:100%;object-fit:cover}.gallery-large{height:560px}.gallery-small{height:215px}.content-sidebar-layout{display:grid;grid-template-columns:300px 1fr;gap:60px}.sidebar-box{background:#fff;margin:0 0 36px}.sidebar-box h3{font-size:24px;margin:0 0 18px;color:#111;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;text-transform:none}.service-menu{list-style:none;margin:0;padding:0;border:1px solid #eee}.service-menu li{border-bottom:1px solid #eee}.service-menu a{display:block;padding:16px 20px;color:#555;font-weight:700}.service-menu a.active,.service-menu a:hover{background:#f7f7f7;color:var(--red)}.download-box{background:#f7f7f7;padding:26px;border-left:4px solid var(--orange)}.download-box p{color:#747781;margin:0 0 20px}.service-hero-img{width:100%;height:410px;object-fit:cover;margin-bottom:30px}.service-title{font-size:31px;color:#222;margin:0 0 20px;font-weight:800}.quote-block{border-left:4px solid var(--orange);padding:18px 0 18px 25px;color:#71747d;font-size:19px;line-height:1.6;margin:22px 0}.image-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.image-row img{height:160px;width:100%;object-fit:cover}.blog-layout{display:grid;grid-template-columns:1fr 310px;gap:55px}.blog-card{margin-bottom:62px}.blog-card img{width:100%;height:355px;object-fit:cover}.blog-card h2{font-size:32px;color:#ed4945;line-height:1.18;margin:12px 0 18px}.widget{margin-bottom:34px}.widget h3{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:28px;margin:0 0 18px}.widget ul{list-style:none;padding:0;margin:0}.widget li{padding:8px 0;border-bottom:1px solid #eee;color:#666}.contact-page{display:grid;grid-template-columns:360px 1fr;gap:70px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:12px}.contact-info h4{margin:0 0 8px;text-transform:uppercase}.map-box{margin-top:38px;height:360px;background:#e8e8e8;overflow:hidden}.map-box iframe{width:100%;height:100%;border:0;filter:saturate(.88)}.services-overview .services-grid{grid-template-columns:repeat(3,1fr)}

@media (max-width:1050px){
  body{padding-bottom:0}.container{width:min(100% - 28px,var(--container))}.header-top{height:auto;padding:18px 0}.header-top .inner{grid-template-columns:1fr;gap:10px}.logo-link{width:270px}.top-info{display:none}.nav-wrap{height:auto}.nav-inner{height:auto;display:block}.nav-actions{position:absolute;right:14px;top:20px}.menu-toggle{display:flex}.main-nav{display:none;flex-direction:column;background:#151515}.main-nav.open{display:flex}.main-nav>li{display:block}.main-nav>li>a{height:48px}.submenu{position:static;display:block;background:#202020;padding:0}.submenu a{padding-left:38px}.search-icon{display:none}.hero{height:650px}.hero h1{font-size:40px;margin-bottom:45px}.feature-strip{grid-template-columns:1fr;height:auto;margin-top:0}.feature-card{min-height:230px}.section{padding:70px 0}.section-title{display:block;margin-bottom:45px}.section-title h2{font-size:40px;margin-bottom:16px}.about-grid,.numbers-wrap,.fund-content,.footer-grid,.two-col,.content-sidebar-layout,.blog-layout,.contact-page,.news-list-home{grid-template-columns:1fr}.services-grid,.services-overview .services-grid{grid-template-columns:1fr}.service-card.large{grid-row:auto}.contact-card{width:100%}.stats{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-large,.gallery-small{height:auto}.image-row{grid-template-columns:1fr}.cta-bar{position:static}.cta-bar .inner{height:auto;min-height:92px;padding:18px 0;grid-template-columns:1fr;text-align:center;gap:12px}.cta-bar .btn{width:100%}.whatsapp{justify-content:center}.to-top{display:none}.fund-logos{grid-template-columns:1fr;margin-bottom:42px}.fund-logo{border-right:0}.page-banner{height:250px}.page-banner h1{font-size:42px}.contact-info{grid-template-columns:1fr}.logos-strip .client{width:45%;min-width:190px}.footer-logo{width:260px}}


/* --- Fix proporzioni + carosello sponsor --- */
.section-title{flex-wrap:nowrap}
.section-title h2{flex:0 0 auto;white-space:nowrap}
.about-grid .section-title{gap:54px}
.about-grid{align-items:start}
.feature-card{padding:46px 56px}
.feature-card h3{font-size:36px}
.feature-card p{font-size:17px;line-height:1.38}
.service-card{min-height:304px;padding:50px 48px}
.service-card.large{padding-top:50px}
.testimonial{min-height:318px;padding:70px 0}
.testimonial p{margin-bottom:0;font-size:24px}
.testimonial-inner{width:min(760px,calc(100% - 42px))}
.news-list-home{grid-template-columns:650px 1fr;align-items:start}
.logos-carousel{position:relative;overflow:hidden;margin:68px auto 0;padding:10px 0 18px;width:100%;max-width:1140px}
.logos-carousel:before,.logos-carousel:after{content:"";position:absolute;top:0;width:70px;height:100%;z-index:2;pointer-events:none}
.logos-carousel:before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.logos-carousel:after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.logos-track{display:flex;align-items:center;gap:28px;width:max-content;animation:sponsor-scroll 34s linear infinite}
.logos-carousel:hover .logos-track{animation-play-state:paused}
.logos-carousel .client{width:263px;height:100px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;padding:22px 28px;flex:0 0 auto}
.logos-carousel img{max-width:100%;max-height:64px;object-fit:contain;margin:auto}
@keyframes sponsor-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 14px))}}
.funding{padding-top:64px}
.fund-logos{margin-bottom:78px}
.footer-logo{max-width:360px;width:100%}

@media (min-width:1051px){
  .hero{height:min(840px,calc(100vh - 0px))}
  .hero-content{padding-top:150px}
  .site-header.home .header-top{background:rgba(0,0,0,.05)}
}
@media (max-width:1050px){
  .section-title h2{white-space:normal}
  .feature-card{padding:38px 36px}
  .logos-carousel{margin-top:42px;max-width:100%}
  .logos-carousel .client{width:220px;height:92px;padding:20px}
  .logos-track{animation-duration:28s}
  .testimonial{min-height:auto;padding:64px 0}
  .testimonial p{font-size:21px}
}


/* --- Messaggi form + honeypot --- */
.form-message{
  display:none;
  margin:0 0 18px;
  padding:13px 16px;
  border-radius:2px;
  font-weight:700;
  line-height:1.45;
}
.form-message.ok{display:block;background:#e7f7ec;color:#176b35;border-left:4px solid #27b45b}
.form-message.error{display:block;background:#fdecec;color:#a92822;border-left:4px solid #c9362b}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;pointer-events:none!important}


/* --- Mobile UI refinement v2 --- */
@media (max-width:1050px){
  .site-header,.site-header.home{position:sticky;top:0;left:0;background:#101112;box-shadow:0 6px 18px rgba(0,0,0,.16)}
  .site-header.home .header-top,.site-header.home .nav-wrap{background:#101112}
  .header-top{padding:10px 0 8px;border-bottom:0}
  .header-top .inner{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:12px}
  .logo-link{width:210px;max-width:calc(100% - 70px)}
  .nav-wrap{height:58px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-inner{position:relative;height:58px;display:flex;align-items:center;justify-content:flex-end}
  .nav-actions{position:static;transform:none}
  .nav-square{width:58px;height:58px;border-left:1px solid rgba(255,255,255,.1);background:transparent}
  .main-nav{display:none;position:absolute;left:0;right:0;top:58px;z-index:100;background:#0f1012;padding:8px 0 12px;border-top:1px solid rgba(255,255,255,.06);box-shadow:0 18px 38px rgba(0,0,0,.28)}
  .main-nav.open{display:flex;flex-direction:column}
  .main-nav>li{display:block}
  .main-nav>li>a{height:auto;min-height:54px;padding:15px 22px;border-bottom:1px solid rgba(255,255,255,.06);font-size:17px;font-family:Arial,Helvetica,sans-serif;letter-spacing:.25px;color:#fff;font-weight:800}
  .main-nav>li.active>a,.main-nav>li>a:hover{color:#fff;background:rgba(201,54,43,.14)}
  .main-nav>li.has-submenu>a{position:relative;padding-right:52px}
  .main-nav>li.has-submenu>a:after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:#fff;opacity:.85}
  .main-nav>li.open>a:after{content:'–'}
  .submenu{display:none !important;position:static;min-width:0;background:#181a1d;padding:6px 0 8px;box-shadow:none}
  .main-nav>li.open>.submenu{display:block !important}
  .submenu a{padding:13px 22px 13px 36px;border-bottom:1px solid rgba(255,255,255,.05);font-size:15px;line-height:1.4;font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:0;text-transform:none;color:#f2f2f2}
  .submenu li:last-child a{border-bottom:0}
  .hero{height:430px}
  .hero-content{padding-top:28px;padding-inline:18px;justify-content:center}
  .hero-kicker{font-size:16px;letter-spacing:2px;margin-bottom:18px}
  .hero h1{font-size:34px;line-height:1.02;max-width:520px;margin-bottom:24px}
  .hero .btn{height:46px;min-width:120px;padding:0 22px}
  .hero-dots{top:auto;bottom:22px}
  .hero-arrow{display:none}
  .feature-strip{width:min(var(--container),calc(100% - 24px));margin:0 auto;grid-template-columns:1fr;gap:0;height:auto}
  .feature-card{min-height:196px;padding:28px 24px}
  .feature-card h3{font-size:30px}
  .feature-card p{font-size:16px;line-height:1.42;margin-bottom:18px;max-width:none}
  .feature-card .btn{min-width:122px;height:40px}
  .section{padding:50px 0}
  .section.compact{padding:46px 0}
  .section-title{display:block;margin-bottom:28px}
  .section-title h2{font-size:34px;line-height:1.02;margin-bottom:10px}
  .section-title .eyebrow{font-size:17px;line-height:1.35;padding-bottom:8px}
  .section-title .eyebrow:before{width:150px}
  .section-title .eyebrow:after{width:72px}
  .about-grid,.numbers-wrap,.fund-content,.footer-grid,.two-col,.content-sidebar-layout,.blog-layout,.contact-page,.news-list-home{gap:30px}
  .about-text p{margin-bottom:16px}
  .services-grid{gap:20px}
  .service-card{min-height:auto;padding:30px 24px}
  .service-card.large{padding-top:30px}
  .service-card .icon{width:56px;height:56px;margin-bottom:18px;font-size:24px}
  .service-card h3{font-size:23px;margin-bottom:12px}
  .testimonial{min-height:auto;padding:44px 0}
  .testimonial:before{left:14px;top:0;font-size:128px}
  .testimonial-inner{width:min(100%,calc(100% - 24px))}
  .testimonial p{font-size:18px;line-height:1.52}
  .numbers-section{background:#fafafa}
  .contact-card-head{height:68px;font-size:22px}
  .contact-card-head span{width:68px;height:68px;font-size:28px}
  .contact-form{padding:24px 18px}
  .contact-form input,.contact-form textarea{height:52px}
  .contact-form textarea{height:96px}
  .numbers-text{margin-bottom:28px}
  .stats{gap:16px}
  .stat{height:102px}
  .stat strong{font-size:32px}
  .stat span{font-size:14px;margin-top:7px}
  .post-card img{height:230px}
  .post-card h3{font-size:26px;margin-bottom:14px}
  .meta{font-size:13px;line-height:1.45;margin:16px 0 10px}
  .logos-carousel{margin-top:30px;padding-bottom:10px}
  .logos-carousel:before,.logos-carousel:after{width:28px}
  .logos-carousel .client{width:176px;height:78px;padding:14px}
  .logos-carousel img{max-height:42px}
  .funding{padding:42px 0 34px}
  .fund-logos{gap:16px;margin-bottom:32px}
  .fund-logo{border-right:0;height:auto;padding:4px 0 10px;font-size:16px;text-align:center}
  .fund-logo:nth-child(2){font-size:21px}
  .footer-main{padding:38px 0 30px}
  .footer-grid{gap:26px}
  .footer-logo{width:240px;margin-bottom:14px}
  .footer-grid h3{font-size:22px;margin-bottom:14px}
  .copyright{margin-top:22px;font-size:13px;line-height:1.5}
  .cta-bar{position:static;min-height:0}
  .cta-bar .inner{height:auto;min-height:0;padding:14px 0;grid-template-columns:1fr;gap:10px;text-align:center}
  .cta-bar .btn{width:100%;max-width:none;height:46px}
  .cta-text,.whatsapp{font-size:15px;line-height:1.45;justify-content:center}
  .to-top{display:none}
  .page-banner{height:220px}
  .page-banner h1{font-size:34px;margin-bottom:10px}
  .inner-section{padding:54px 0 48px}
  .service-hero-img{height:260px}
  .gallery-grid,.gallery-stack,.image-row,.contact-info{gap:16px}
  .gallery-large{height:300px}
  .gallery-small,.image-row img{height:160px}
  .blog-card img{height:240px}
  .blog-card h2,.service-title{font-size:28px}
  .map-box{height:250px}
}

@media (max-width:480px){
  .container{width:calc(100% - 18px)}
  .header-top .inner{min-height:60px}
  .logo-link{width:182px}
  .nav-wrap,.nav-inner{height:54px}
  .nav-square{width:54px;height:54px}
  .main-nav{top:54px}
  .main-nav>li>a{min-height:50px;padding:14px 18px;font-size:16px}
  .main-nav>li.has-submenu>a{padding-right:46px}
  .main-nav>li.has-submenu>a:after{right:18px}
  .submenu a{padding:12px 18px 12px 30px;font-size:14px}
  .hero{height:390px}
  .hero-content{padding-top:18px}
  .hero-kicker{font-size:14px;letter-spacing:1.4px;margin-bottom:14px}
  .hero h1{font-size:28px;max-width:300px;margin-bottom:20px}
  .hero .btn{height:44px}
  .hero-dots{bottom:16px}
  .feature-card{min-height:176px;padding:24px 20px}
  .feature-card h3{font-size:26px}
  .feature-card p{font-size:14px}
  .section{padding:42px 0}
  .section.compact{padding:38px 0}
  .section-title h2{font-size:29px}
  .section-title .eyebrow{font-size:15px}
  .about-grid,.numbers-wrap,.fund-content,.footer-grid,.two-col,.content-sidebar-layout,.blog-layout,.contact-page,.news-list-home{gap:24px}
  .service-card{padding:26px 20px}
  .service-card h3{font-size:21px}
  .testimonial{padding:36px 0}
  .testimonial p{font-size:17px}
  .numbers-content .section-title h2{max-width:none}
  .post-card img{height:210px}
  .post-card h3{font-size:24px}
  .logos-carousel .client{width:162px;height:72px;padding:12px}
  .logos-carousel img{max-height:38px}
  .fund-logo{font-size:15px}
  .fund-logo:nth-child(2){font-size:19px}
  .page-banner{height:200px}
  .page-banner h1{font-size:30px}
  .service-hero-img{height:230px}
  .gallery-large{height:250px}
  .gallery-small,.image-row img{height:145px}
  .cta-text,.whatsapp{font-size:14px}
}


/* --- Fix nitidezza menu desktop/mobile --- */
/* Il font ultra-condensato usato dal template risultava sfocato nelle voci menu.
   Qui forziamo un sans-serif pulito solo su navigazione e dropdown. */
.site-header .main-nav > li > a,
.site-header .submenu a,
.nav-wrap .main-nav > li > a,
.nav-wrap .submenu a{
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  font-stretch: normal !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.site-header .main-nav > li > a,
.nav-wrap .main-nav > li > a{
  font-size: 14px !important;
  letter-spacing: .15px !important;
  line-height: 1.1 !important;
}

.site-header .submenu{
  min-width: 232px;
}

.site-header .submenu a,
.nav-wrap .submenu a{
  font-size: 13px !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  padding: 13px 22px !important;
  white-space: nowrap;
  color: #fff !important;
}

.site-header .main-nav > li.active > a,
.site-header .main-nav > li > a:hover{
  color: var(--red) !important;
}

.site-header .submenu a:hover{
  color: var(--red) !important;
}

@media (max-width:1050px){
  .site-header .main-nav > li > a,
  .nav-wrap .main-nav > li > a{
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: .1px !important;
    line-height: 1.25 !important;
  }

  .site-header .submenu a,
  .nav-wrap .submenu a{
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    padding: 13px 22px 13px 36px !important;
    text-transform: none !important;
  }

  .site-header .main-nav > li.active > a,
  .site-header .main-nav > li > a:hover{
    color:#fff !important;
  }
}

@media (max-width:480px){
  .site-header .main-nav > li > a,
  .nav-wrap .main-nav > li > a{
    font-size: 16px !important;
  }

  .site-header .submenu a,
  .nav-wrap .submenu a{
    font-size: 14px !important;
    padding: 12px 18px 12px 30px !important;
  }
}


/* --- Fix loghi bando istituzionali + pagina /bando --- */
.fund-logos-image{
  display:flex !important;
  justify-content:center;
  align-items:center;
  max-width:1050px;
  margin:0 auto 78px;
  padding:0;
}
.fund-logos-image img{
  width:100%;
  max-width:1000px;
  height:auto;
  object-fit:contain;
}
.bando-page{
  padding-top:90px;
}
.bando-logos{
  display:flex;
  justify-content:center;
  margin:0 auto 70px;
}
.bando-logos img{
  width:min(100%,1000px);
  height:auto;
  object-fit:contain;
}
.bando-content{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:70px;
  max-width:1050px;
}
.bando-content p{
  margin:0 0 14px;
}

@media (max-width:1050px){
  .fund-logos-image{
    margin-bottom:34px;
    padding:0 8px;
  }
  .bando-page{
    padding-top:56px;
  }
  .bando-logos{
    margin-bottom:42px;
  }
  .bando-content{
    grid-template-columns:1fr;
    gap:24px;
  }
}


/* --- Pagina Bando ricreata da screenshot live --- */
.bando-banner{
  height:286px;
  background:
    linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.58)),
    url('../img/hero-roof-truss.jpg') center 38%/cover no-repeat;
}
.bando-banner h1{
  font-size:46px;
  line-height:1.05;
  margin-bottom:18px;
  letter-spacing:.8px;
}
.bando-logo-section{
  background:#fff;
  padding:82px 0 110px;
}
.bando-logo-section .container{
  display:flex;
  justify-content:center;
}
.bando-logo-section img{
  width:min(820px,100%);
  height:auto;
  object-fit:contain;
}
.bando-live-content{
  background:#f7f7f7;
  padding:82px 0 126px;
}
.bando-text-wrap{
  max-width:1000px;
}
.bando-live-content p{
  margin:0 0 0;
  color:#202530;
  font-size:16px;
  line-height:1.55;
}
.bando-live-content p + p{
  margin-top:13px;
}
.bando-live-content strong{
  font-weight:800;
  color:#111;
}

@media (max-width:1050px){
  .bando-banner{
    height:220px;
  }
  .bando-banner h1{
    font-size:34px;
  }
  .bando-logo-section{
    padding:56px 0 72px;
  }
  .bando-logo-section img{
    width:min(760px,100%);
  }
  .bando-live-content{
    padding:56px 0 76px;
  }
  .bando-live-content p{
    font-size:15.5px;
  }
}

@media (max-width:480px){
  .bando-banner{
    height:200px;
  }
  .bando-banner h1{
    font-size:27px;
  }
  .bando-logo-section{
    padding:42px 0 52px;
  }
  .bando-live-content{
    padding:42px 0 58px;
  }
  .bando-live-content p{
    font-size:15px;
    line-height:1.58;
  }
}


/* --- Fix definitivo grandezza loghi istituzionali --- */
.funding .container{overflow:visible}
.fund-logos-image{display:block !important;width:100%;max-width:1180px !important;margin:0 auto 82px !important;padding:0 !important;text-align:center}
.fund-logos-image img{display:block !important;width:min(100%,1180px) !important;max-width:min(100%,1180px) !important;height:auto !important;margin:0 auto !important;object-fit:contain !important}
.bando-logos-large{display:block !important;text-align:center;margin:0 auto 68px !important}
.bando-logos-large img{display:block !important;width:min(100%,1180px) !important;max-width:min(100%,1180px) !important;height:auto !important;margin:0 auto !important;object-fit:contain !important}
@media (max-width:1050px){
  .fund-logos-image{max-width:100% !important;margin:0 auto 44px !important}
  .fund-logos-image img,.bando-logos-large img{width:min(100%,980px) !important;max-width:min(100%,980px) !important}
}
@media (max-width:480px){
  .fund-logos-image{margin:0 auto 32px !important}
  .fund-logos-image img,.bando-logos-large img{width:100% !important;max-width:100% !important}
}
