.seo-h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
:root{--red:#c50000;--dark:#25262b;--text:#292929;--green:#53623a;--brown:#7d654c;--blue:#627f9d;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:14px;}
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;}
.brand{display:flex;align-items:center;overflow:hidden;}
.brand img{height:auto;display:block;}
.main-nav{margin-left:auto;display:flex;}
.main-nav a{text-align:center;text-decoration:none;border-left:1px solid rgba(255,255,255,.6);border-right:1px solid rgba(0,0,0,.1);}
.mobile-toggle{display:none;margin-left:auto;background:var(--red);color:#fff;border:0;width:52px;font-size:23px;}
.hero{height:100vh;min-height:760px;position:relative;overflow:hidden;background:#222;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.stripe-mask{position:absolute;inset:0;background:rgba(0,0,0,.35);background-image:repeating-linear-gradient(-35deg,rgba(0,0,0,.16) 0,rgba(0,0,0,.16) 1px,transparent 1px,transparent 5px);}
.hero-title{position:absolute;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.45);}
.hero-title h1{font-size:61px;line-height:.95;margin:0;}
.hero-title h1 span{color:var(--red);}
.hero-title p{line-height:1;margin:3px 0 0;}
.container{margin:0 auto;}
.section-title{text-align:center;line-height:1.1;}
.section-title:before,.section-title:after{content:"";display:inline-block;border-top:2px solid currentColor;vertical-align:middle;}
.section-title.red{color:var(--red);}
.section-title.white{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);}
.about-grid{display:grid;justify-content:center;}
.story-image{text-align:center;}
.story-image img{max-width:100%;height:auto;}
.parallax{height:305px;background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center;}
.parallax-work{background-image:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),url("assets/media/tools.jpg?v=149");}
.parallax-services{background-image:linear-gradient(rgba(0,0,0,.24),rgba(0,0,0,.24)),url("assets/media/construction-company.jpg?v=149");}
.work-detail-section{display:grid;align-items:center;}
.work-copy{text-align:justify;}
.detail-carousel{overflow-y:hidden;}
.detail-carousel::-webkit-scrollbar,.contact-carousel::-webkit-scrollbar{display:none;}
.drag-scroll.dragging{cursor:grabbing;}
.detail-carousel img:nth-child(4n/**/+2){flex-basis:440px;width:440px;height:270px;opacity:1;z-index:2;}
.partners-strip{display:flex;align-items:center;justify-content:center;}
.service-card{border-left:1px solid #222;}
.service-card.red-line{border-left-color:var(--red);}
.service-card h3{font-weight:400;}
.project{position:relative;border:7px solid var(--green);display:grid;}
.project-copy h3{font-weight:400;}
.project-copy p{margin:0;}
.project-green{border-color:var(--green);}
.project-brown{border-color:var(--brown);}
.project-red{border-color:#c64747;}
.project-blue{border-color:#607d9a;}
.gallery-grid{display:grid;z-index:3;}
.gallery-grid img{object-fit:cover;cursor:pointer;transition:opacity .15s;}
.gallery-grid img:hover{opacity:.8;}
.sale-tag{position:absolute;background:#e21b1b;color:#fff;font-weight:700;}
.testimonials{background:#fff url("assets/media/ds_costr-home-shelf2.jpg") center/cover repeat;display:flex;align-items:center;justify-content:center;text-align:center;}
.testimonial-icon{height:auto;}
.testimonials blockquote{margin:0;color:#333;font-weight:700;font-style:italic;}
.testimonials blockquote:before{content:"“";font-size:76px;line-height:0;color:#b91515;opacity:.45;vertical-align:-24px;margin-right:5px;}
.slider-dots span{display:inline-block;width:8px;height:8px;margin:0 6px;border-radius:50%;background:#eee;}
.slider-dots .active{background:#b50000;}
.numbers{background:#1d1d20 url("assets/media/ds_costr-home-shelf2.jpg") center/cover no-repeat;color:#fff;}
.numbers-grid{margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;}
.number img{object-fit:contain;filter:brightness(0) invert(1);}
.number strong{display:block;font-weight:400;line-height:1;}
.number span{font-weight:700;}
.contact-section{background:#fff;}
.contact-panel{display:grid;}
.contact-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.contact-card h3{line-height:1.18;}
.contact-card h3 span{color:var(--red);}
.contact-items{width:100%;display:grid;grid-template-columns:1fr 1fr;}
.contact-items img{width:auto;}
.contact-items a{color:#222;text-decoration:none;}
.contact-carousel{overflow-x:auto;overflow-y:hidden;}
.site-footer{text-align:center;background:#19191d;color:#eee;font-size:12px;}
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:1200;background:#282a31;color:#fff;min-height:35px;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 42px;font-size:10px;text-align:center;}
.cookie-ok{border:0;background:#19c0a6;color:#fff;border-radius:2px;padding:6px 10px;font-weight:700;cursor:pointer;}
.cookie-close{position:absolute;right:14px;top:4px;background:none;border:0;color:#aaa;font-size:24px;cursor:pointer;}
.cookie-bar.hidden{display:none;}
.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:45px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:95vw;max-height:90vh;box-shadow:0 8px 40px rgba(0,0,0,.55);}
.lightbox-close{position:absolute;right:28px;top:22px;border:0;border-radius:50%;width:45px;height:45px;background:#333;color:#fff;font-size:34px;line-height:1;cursor:pointer;}
.section,.about-section,.work-detail-section,.services-section,.projects-section,.contact-section{background:var(--paper-soft);}
.partners-strip{background:var(--paper-soft);}
.contact-panel{background:var(--paper-soft);}
.contact-card{background:rgba(255,255,255,.72);box-shadow:0 0 0 1px rgba(255,255,255,.35) inset;}
.detail-carousel,.contact-carousel{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x;overscroll-behavior-x:contain;}
.detail-carousel.dragging,.contact-carousel.dragging{cursor:grabbing;scroll-snap-type:none;}
.detail-carousel img,.contact-carousel img{-webkit-user-drag:none;user-drag:none;pointer-events:none;}
.detail-carousel{gap:0;scroll-behavior:auto;scroll-snap-type:none;overflow-x:auto;perspective:900px;}
.detail-carousel img{scroll-snap-align:none;}
.detail-carousel img.is-center{box-shadow:0 2px 6px rgba(0,0,0,.28);z-index:4;}
.detail-carousel img.is-near{z-index:2;}
.detail-carousel.loop-ready{scroll-behavior:smooth;}
.contact-carousel-wrap{position:relative;height:390px;}
.contact-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;cursor:default;}
.contact-carousel img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;pointer-events:auto;}
.contact-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:54px;border:0;background:rgba(0,0,0,.35);color:#fff;font-size:44px;line-height:44px;font-family:Georgia,"Times New Roman",serif;cursor:pointer;opacity:0;transition:opacity .18s ease,background .18s ease;}
.contact-arrow:hover{background:rgba(0,0,0,.55);}
.contact-prev{left:12px;}
.contact-next{right:12px;}
.map-wrap{height:310px;overflow:hidden;}
.map-wrap iframe{display:block;width:100%;height:310px;margin-top:0;border:0;}
.detail-carousel img.is-center{flex-basis:330px;width:330px;height:250px;opacity:1;transform:scale(1);}
.contact-carousel-wrap:hover .contact-arrow{opacity:1;}
.contact-carousel{overflow:hidden;scroll-behavior:smooth;}
.contact-carousel img{min-width:100%;}
.numbers{background-color:#1d1d20;background-image:url("assets/media/ds_costr-home-shelf2.jpg");background-repeat:repeat;background-size:200px 200px;background-position:top left;}
.detail-carousel{display:block;overflow:hidden;cursor:grab;scrollbar-width:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.detail-carousel.dragging{cursor:grabbing;}
.detail-carousel img{position:absolute;top:50%;left:50%;display:block;object-fit:cover;z-index:0;pointer-events:none;user-select:none;-webkit-user-drag:none;transition:transform .38s ease,opacity .38s ease,filter .38s ease,box-shadow .38s ease;will-change:transform,opacity;}
.detail-carousel img.pos-m2{z-index:1;filter:grayscale(10%);}
.detail-carousel img.pos-m1{z-index:2;}
.detail-carousel img.pos-0{z-index:5;}
.detail-carousel img.pos-p1{z-index:2;}
.detail-carousel img.pos-p2{z-index:1;filter:grayscale(10%);}
.detail-carousel img{border:0;}
.detail-carousel img.pos-0{box-shadow:0 2px 6px rgba(0,0,0,.24);}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:56px;height:82px;border:0;background:rgba(20,20,20,.55);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:58px;line-height:1;cursor:pointer;opacity:.75;transition:opacity .2s ease,background .2s ease;}
.lightbox-prev{left:24px;}
.lightbox-next{right:24px;}
.lightbox-prev:hover,.lightbox-next:hover{opacity:1;background:rgba(197,0,0,.85);}
.lightbox-counter{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);background:rgba(0,0,0,.55);color:#fff;padding:5px 10px;font-family:Arial,sans-serif;font-size:12px;border-radius:2px;}
.detail-carousel{width:470px;}
.detail-carousel img.pos-m2{width:72px;height:96px;opacity:.22;transform:translate(-50%,-50%) translateX(-228px) scale(.86);}
.detail-carousel img.pos-m1{width:102px;height:126px;opacity:.46;transform:translate(-50%,-50%) translateX(-137px) scale(.94);}
.detail-carousel img.pos-0{width:220px;height:165px;opacity:1;transform:translate(-50%,-50%) translateX(0) scale(1);}
.detail-carousel img.pos-p1{width:102px;height:126px;opacity:.46;transform:translate(-50%,-50%) translateX(137px) scale(.94);}
.detail-carousel img.pos-p2{width:72px;height:96px;opacity:.22;transform:translate(-50%,-50%) translateX(228px) scale(.86);}
.partners-strip a{transition:opacity .18s ease,transform .18s ease;}
.partners-strip a:hover{opacity:.82;transform:translateY(-1px);}
.contact-icon-link{color:inherit;text-decoration:none;}
.contact-icon-link img{transition:opacity .18s ease,transform .18s ease;}
.contact-icon-link:hover img{opacity:.78;transform:translateY(-1px);}
.testimonials{background-color:var(--paper-soft);background-image:url("assets/media/ds_costr-home-shelf2.jpg");background-position:center center;background-size:100% 100%;background-repeat:no-repeat;}
.contact-items>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;}
.contact-icon-link{display:inline-flex;}
.contact-items a:last-child{display:inline-block;}
.project{width:760px;max-width:calc(100% - 56px);margin:0 auto 74px;align-items:center;overflow:visible;}
.project-copy{display:flex;flex-direction:column;justify-content:center;}
.sale-tag{right:-10px;top:-20px;}
.gallery-grid{align-self:center;}
.project-left .gallery-grid{justify-self:start;margin-right:0;}
.project-right .gallery-grid{justify-self:end;margin-left:0;}
.project{min-height:280px;grid-template-columns:280px 1fr;}
.project-right{grid-template-columns:1fr 280px;}
.project,.project-green,.project-brown,.project-red,.project-blue{border:none;column-gap:30px;margin-bottom:98px;}
.project::after{content:"";position:absolute;top:18px;right:10px;bottom:-14px;left:10px;border:3px solid #141414;border-radius:24px;z-index:-1;pointer-events:none;}
.project-right::after{left:10px;right:10px;}
.project-copy h3,.project-copy p{position:relative;z-index:2;}
.gallery-grid,.sale-tag{position:relative;z-index:2;}
.project,.project-green,.project-brown,.project-red,.project-blue{border:3px solid #141414 !important;border-radius:24px !important;position:relative;background:transparent;padding:18px 26px;overflow:visible;}
.project::after{display:none !important;}
.project-left .gallery-grid,.project-right .gallery-grid{z-index:2;}
.project-copy,.sale-tag{position:relative;z-index:2;}
.partners-strip{height:auto;}
.partners-strip img{object-fit:contain;}
body,.about-copy,.work-copy,.project-copy p,.service-card ul,.contact-items a,.testimonials blockquote,.number span,.cookie-bar{font-family:"Manrope",Arial,sans-serif;}
.main-nav a,.hero-title h1,.section-title,.service-card h3,.service-card h4,.project-copy h3,.contact-card h2,.contact-card h3,.number strong,.testimonials h2,.sale-tag,.site-footer{font-family:"Rajdhani",Arial,sans-serif;}
.hero-title h1{font-weight:600;letter-spacing:.03em;}
.hero-title p{font-family:"Manrope",Arial,sans-serif;}
.section-title{font-weight:600;}
.service-card h3,.project-copy h3,.contact-card h2,.contact-card h3,.number strong,.testimonials h2{font-weight:600;letter-spacing:.03em;}
.service-card h4{font-weight:600;letter-spacing:.05em;}
.project-copy p,.about-copy p,.work-copy,.contact-items a,.number span{font-size:13px;}
:root{--accent-red-2:#ff2a3f;--paper:#ded9d4;--paper-soft:linear-gradient(180deg,#d8d3ce 0%,#e1dcd7 58%,#ece7e2 100%);}
body{background:linear-gradient(180deg,#d4cfc9 0%,#ddd8d2 55%,#ebe6e1 100%);color:var(--accent-dark);}
.section,.about-section,.work-detail-section,.services-section,.projects-section,.contact-section,.partners-strip,.contact-panel,.testimonials{background:var(--paper-soft);}
.main-nav a,.hero-title h1,.section-title,.service-card h3,.service-card h4,.project-copy h3,.contact-card h2,.contact-card h3,.number strong,.testimonials h2,.sale-tag{color:var(--accent-red);}
.hero-title p,.about-copy,.about-copy p,.work-copy,.project-copy p,.service-card ul,.service-card li,.contact-items a,.number span,.testimonials blockquote,.site-footer,.cookie-bar{color:var(--accent-dark);}
.section-title.red,.section-title.white{color:var(--accent-red);text-shadow:none;}
.hero-title h1,.hero-title p,.main-nav a,.section-title,.about-copy,.about-copy p,.work-copy,.service-card h3,.service-card h4,.service-card ul,.service-card li,.project-copy h3,.project-copy p,.testimonials h2,.testimonials blockquote,.number strong,.number span,.contact-card h2,.contact-card h3,.contact-items a,.site-footer{text-transform:uppercase;letter-spacing:.04em;}
.about-copy,.work-copy,.project-copy p,.service-card ul,.service-card li,.testimonials blockquote,.contact-items a,.number span{letter-spacing:.06em;line-height:1.75;font-weight:500;}
.hero-title p{font-weight:600;letter-spacing:.14em;font-size:28px;margin-top:10px;}
.project-copy h3,.service-card h3,.contact-card h2,.contact-card h3,.number strong,.testimonials h2{letter-spacing:.07em;}
.service-card{min-height:370px;padding:0 24px 24px;}
.service-card h3{margin-bottom:14px;}
.testimonial-icon{margin-bottom:26px;}
.testimonials h2{margin-bottom:26px;}
.contact-items img{margin-bottom:20px;}
.project-copy h3{margin-bottom:18px;}
.sale-tag{letter-spacing:.05em;}
.section{padding:110px 0;}
.container{width:1080px;max-width:calc(100% - 56px);}
.section-title{margin:0 0 62px;font-size:40px;letter-spacing:.14em;}
.section-title:before,.section-title:after{width:52px;margin:0 18px 10px;}
.about-section{min-height:auto;}
.about-grid{grid-template-columns:460px 460px;gap:96px;align-items:center;}
.story-image img{width:420px;}
.about-copy{font-size:17px;line-height:1.9;}
.about-copy p{margin:0 0 30px;}
.work-detail-section{min-height:auto;}
.partners-strip{min-height:160px;gap:40px;padding:30px 28px;}
.partners-strip img{height:64px;max-width:165px;}
.services-section{padding-bottom:104px;}
.service-card,.service-card.red-line{min-height:430px;padding:8px 28px 30px;border-left:1px solid rgba(123,23,36,.28);background:rgba(255,255,255,.42);border-radius:18px;}
.project::after,.project-right::after{border-width:3px;}
.project-copy h3{font-size:22px;line-height:1.35;margin:0 0 20px;}
.sale-tag{font-size:30px;padding:14px 18px;}
.testimonials{height:auto;padding:90px 0;}
.testimonial-inner{width:880px;max-width:calc(100% - 56px);}
.testimonial-icon{width:88px;margin:0 0 28px;}
.testimonials h2{font-size:22px;margin:0 0 30px;}
.testimonials blockquote{font-size:13px;line-height:2;}
.slider-dots{margin-top:34px;}
.numbers{padding:72px 0 82px;}
.numbers-grid{width:930px;max-width:calc(100% - 56px);gap:44px;}
.number img{width:96px;height:96px;margin-bottom:22px;}
.number strong{font-size:52px;margin-bottom:14px;}
.number span{font-size:13px;line-height:1.65;}
.contact-section{padding-top:88px;}
.contact-panel{padding:58px 10px 58px 0;}
.contact-card h2{font-size:20px;margin:0 0 60px;}
.contact-card h3{font-size:18px;margin:0 0 42px;}
.contact-items{max-width:720px;gap:80px;}
.contact-items img{height:88px;margin:0 auto 22px;}
.contact-items a{font-size:13px;line-height:1.7;}
.site-footer{padding:24px 18px;}
.testimonials{display:none !important;}
.parallax-work{height:420px;}
.work-detail-section{margin-top:-190px;position:relative;z-index:3;}
.work-copy{color:#fff;}
.partners-strip{box-shadow:none;}
.partners-strip img{filter:none;}
.numbers{padding-top:68px;}
.number strong{text-shadow:0 2px 10px rgba(0,0,0,.20);}
.hero-title{top:52%;}
.hero-logo{width:min(760px,78vw);height:auto;display:block;margin:0 auto;}
.section-subtitle{text-align:center;font-family:"Rajdhani",Arial,sans-serif;color:var(--accent-red,#f31d32);font-size:18px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 54px;}
.work-detail-section{backdrop-filter:blur(3px);border-radius:30px;box-shadow:0 18px 40px rgba(0,0,0,.10);}
.work-copy{background:rgba(0,0,0,.34);border-radius:24px;padding:34px 36px;box-shadow:0 10px 22px rgba(0,0,0,.16);}
.detail-carousel{background:rgba(255,255,255,.36);border-radius:24px;padding:14px 18px;}
.detail-carousel img:nth-child(4n/**/+2){border-radius:12px;}
.contact-card h2{color:var(--accent-red,#f31d32);}
.contact-carousel-wrap{border:2px solid #111;}
.contact-arrow{z-index:3;}
.work-detail-section{width:min(1120px,calc(100% - 56px));margin:-170px auto 26px;padding:0 10px 34px;}
.work-copy{background:transparent !important;box-shadow:none !important;border-radius:0 !important;padding:0 !important;text-shadow:0 2px 10px rgba(0,0,0,.24);}
.detail-carousel{background:transparent !important;box-shadow:none !important;border-radius:0 !important;}
.detail-carousel img:nth-child(4n/**/+2){box-shadow:0 10px 22px rgba(0,0,0,.18);}
body,.about-copy,.about-copy p,.work-copy,.project-copy p,.service-card ul,.service-card li,.number span,.section-subtitle,.site-footer{color:var(--accent-red);}
.hero-title h1,.hero-title p,.main-nav a,.section-title,.project-copy h3,.service-card h3,.service-card h4,.number strong,.contact-card h2,.sale-tag{color:var(--accent-red);}
.section-title:before,.section-title:after{display:none !important;}
.about-copy h3{font-family:"Rajdhani",Arial,sans-serif;font-size:28px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-red);margin:0 0 24px;}
.section-subtitle{display:none !important;}
.parallax-work .section-title,.parallax-services .section-title{color:#fff !important;}
.work-detail-section{border-radius:0 !important;box-shadow:none !important;backdrop-filter:none !important;}
.work-copy,.detail-carousel{background:transparent !important;padding:0 !important;box-shadow:none !important;border-radius:0 !important;}
.work-copy,.work-copy p{color:#fff !important;text-shadow:none !important;}
.detail-carousel img:nth-child(4n/**/+2){border-radius:0 !important;}
.partners-strip{margin-top:0 !important;}
.service-card,.service-card.red-line,.service-card.dark-line{border-left:none !important;}
.projects-section>.container:first-child{margin-bottom:24px;}
.contact-card{border-radius:24px;}
.contact-card h2{color:var(--accent-red) !important;}
.contact-card h3,.contact-card h3 span,.contact-items a{color:#111 !important;}
.contact-carousel-wrap{border:none !important;border-radius:24px;overflow:hidden;background:#fff;box-shadow:none !important;}
.services-section{padding:54px 0 96px;}
.services-grid{margin:0 auto;display:grid;align-items:stretch;}
.service-card,.service-card.red-line,.service-card.dark-line{position:relative;border:none !important;box-shadow:0 18px 40px rgba(0,0,0,.08);backdrop-filter:blur(2px);opacity:0;transform:translateY(34px);transition:transform .65s cubic-bezier(.22,.61,.36,1),opacity .65s ease,box-shadow .3s ease,background .3s ease;}
.service-card::before{content:"";position:absolute;background:var(--accent-red);}
.service-card.is-visible{opacity:1;transform:translateY(0);}
.service-card:hover{transform:translateY(-10px);box-shadow:0 24px 54px rgba(0,0,0,.14);background:rgba(255,255,255,.62) !important;}
.service-card img{object-fit:contain;display:block;}
.service-card:hover img{transform:translateY(-4px) scale(1.04);}
.service-card h4{line-height:1.35;color:var(--accent-red);}
.service-card ul{list-style:none;margin:0;padding:0;}
.service-card li{position:relative;padding-left:16px;}
.service-card li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--accent-red);transform:translateY(-50%);}
.service-card:nth-child(2){transition-delay:.08s;}
.service-card:nth-child(3){transition-delay:.16s;}
.service-card,.service-card.red-line,.service-card.dark-line{border-radius:24px;}
.service-card li{break-inside:avoid;margin:0 0 8px;}
.service-card:nth-child(3) ul,.service-card:nth-child(1) ul{columns:1;}
body,.about-copy,.about-copy p,.project-copy p,.service-card ul,.service-card li,.number span,.site-footer,.work-copy,.work-copy p{color:var(--accent-red);}
.hero-title h1,.hero-title p,.main-nav a,.section-title,.project-title,.project-year,.service-card h3,.service-card h4,.number strong,.contact-card h2,.sale-tag,.about-copy h3{color:var(--accent-red) !important;}
.services-grid{grid-template-columns:1fr;}
.service-card,.service-card.red-line,.service-card.dark-line{min-height:0;margin:0;column-gap:34px;background:transparent !important;box-shadow:none !important;border-radius:0 !important;backdrop-filter:none !important;}
.service-card::before{left:0;right:auto;width:100%;max-width:100%;top:0;border-radius:999px;opacity:.85;}
.service-card:nth-child(1){margin-left:0;}
.service-card:nth-child(2){margin-left:84px;}
.service-card:nth-child(3){margin-left:168px;}
.service-card img{grid-column:1;grid-row:1 / span 4;width:96px;height:96px;margin:12px auto 0;}
.service-card h3,.service-card h4,.service-card ul{grid-column:2;}
.service-card h3{text-align:left;min-height:0;font-size:31px;line-height:1.05;}
.service-card h4{font-size:14px;}
.service-card ul{columns:2;column-gap:42px;font-size:16px;line-height:1.52;}
.service-card:nth-child(1) ul,.service-card:nth-child(3) ul{columns:1;}
.service-card li{margin-bottom:9px;}
.work-copy{font-size:16px;line-height:1.72;}
.detail-carousel{align-items:center;}
.detail-carousel img{flex-basis:150px;}
.projects-section{padding-top:58px;padding-bottom:110px;}
.project,.project-right{margin:0 auto 130px;display:grid;align-items:center;overflow:visible;}
.project-title{position:absolute;margin:0;font-family:"Rajdhani",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;}
.project-copy{align-self:center;}
.project-year{font-family:"Rajdhani",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;}
.site-header{align-items:center;background:rgba(244,240,236,.82);}
.brand{width:220px;padding-left:4px;}
.brand img{width:146px;}
.main-nav{height:auto;align-items:center;}
.main-nav a{border:none;border-radius:999px;background:rgba(255,255,255,.72);color:var(--accent-red);box-shadow:0 6px 16px rgba(0,0,0,.06);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.main-nav a:hover,.main-nav a.active{background:var(--accent-red);color:#fff;box-shadow:0 12px 24px rgba(123,23,36,.26);transform:translateY(-1px);}
.about-section .section-title{margin-bottom:72px;}
.about-copy h3{margin-top:6px;}
.work-detail-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;}
.detail-carousel{height:310px;}
.detail-carousel img{flex:0 0 115px;width:115px;height:150px;opacity:.26;transform:scale(.86);}
.detail-carousel img.is-near{flex-basis:135px;width:135px;height:175px;opacity:.52;transform:scale(.94);}
.detail-carousel img.is-center,.detail-carousel img:nth-child(4n/**/+2){flex-basis:330px;width:330px;height:250px;opacity:1;transform:scale(1);}
.contact-panel{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);}
.contact-card{height:auto;}
.contact-carousel{height:330px;}
.project,.project-right{width:1120px;max-width:calc(100% - 90px);min-height:410px;padding:98px 42px 42px;column-gap:58px;}
.project::after,.project-right::after{top:86px;bottom:0;left:20px;right:20px;border:2px solid #171717;border-radius:30px;}
.project-title{top:18px;left:58px;z-index:5;font-size:29px;line-height:1.02;}
.project-copy{padding:38px 44px 40px;}
.project-year{margin:0 0 22px;font-size:17px;}
.project-copy p{font-size:17px;line-height:1.82;max-width:430px;}
.gallery-grid{width:450px;height:450px;grid-template-columns:repeat(3,150px);grid-auto-rows:150px;}
.gallery-grid img{width:150px;height:150px;}
.project-left .gallery-grid{margin-left:-86px;margin-top:-104px;margin-bottom:16px;}
.project-right .gallery-grid{margin-right:-86px;margin-top:22px;margin-bottom:-108px;}
.site-header{height:64px;padding:8px 18px;backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.08);}
.main-nav a{min-width:auto;height:auto;padding:10px 2px 8px;border:none !important;border-radius:0 !important;box-shadow:none !important;font-family:"Rajdhani",Arial,sans-serif;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.main-nav a::after{width:0;background:#121212;transition:width .28s ease;}
.main-nav a:hover,.main-nav a.active{transform:none !important;}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.about-section .section-title{font-style:italic;font-weight:500;letter-spacing:.04em;margin-bottom:84px !important;}
.work-detail-section{max-width:1120px;justify-content:center;}
.work-copy{max-width:500px;justify-self:end;color:#fff !important;}
.work-copy p{color:#fff !important;}
.detail-carousel{justify-self:start;position:relative;}
.detail-carousel img{visibility:hidden;}
.detail-carousel img.pos-m2,.detail-carousel img.pos-m1,.detail-carousel img.pos-0,.detail-carousel img.pos-p1,.detail-carousel img.pos-p2{visibility:visible;}
.detail-carousel img.pos-m2{width:72px !important;height:96px !important;opacity:.22 !important;transform:translate(-50%,-50%) translateX(-228px) scale(.86) !important;}
.detail-carousel img.pos-m1{width:102px !important;height:126px !important;opacity:.46 !important;transform:translate(-50%,-50%) translateX(-137px) scale(.94) !important;}
.detail-carousel img.pos-0{width:220px !important;height:165px !important;opacity:1 !important;transform:translate(-50%,-50%) translateX(0) scale(1) !important;object-position:center center;}
.detail-carousel img.pos-p1{width:102px !important;height:126px !important;opacity:.46 !important;transform:translate(-50%,-50%) translateX(137px) scale(.94) !important;}
.detail-carousel img.pos-p2{width:72px !important;height:96px !important;opacity:.22 !important;transform:translate(-50%,-50%) translateX(228px) scale(.86) !important;}
.contact-panel{gap:34px;align-items:center;}
.project-title{background:#ddd8d3;}
:root{--accent-red:#7b1724;--accent-dark:#7b1724;}
.main-nav a{color:#111 !important;}
.project,.project-right{margin-bottom:152px;}
.service-card img{transition:transform .42s cubic-bezier(.22,.61,.36,1),filter .35s ease;}
.service-card:hover img{transform:translateY(-7px) scale(1.08) rotate(-2deg) !important;filter:drop-shadow(0 10px 16px rgba(123,23,36,.16));}
.number img{width:106px !important;height:106px !important;transition:transform .4s cubic-bezier(.22,.61,.36,1),filter .3s ease;}
.number:hover img{transform:translateY(-8px) scale(1.10);filter:drop-shadow(0 10px 18px rgba(123,23,36,.18));}
.contact-items img{transition:transform .36s cubic-bezier(.22,.61,.36,1),filter .3s ease;}
.contact-item:hover img,.contact-items a:hover+img,.contact-items img:hover{transform:translateY(-6px) scale(1.08);filter:drop-shadow(0 8px 14px rgba(123,23,36,.14));}
.testimonial-icon{width:92px !important;transition:transform .36s cubic-bezier(.22,.61,.36,1);}
.testimonials:hover .testimonial-icon{transform:translateY(-6px) scale(1.06);}
.partners-strip a{display:flex;align-items:center;justify-content:center;}
.partners-strip img{max-width:188px !important;width:auto;transform:scale(1);transition:transform .34s cubic-bezier(.22,.61,.36,1),filter .3s ease,opacity .3s ease;}
.partners-strip a:hover img{transform:translateY(-7px) scale(1.12);filter:drop-shadow(0 10px 16px rgba(123,23,36,.16));}
:root{--accent-red-bright:#f3263b;}
.number img{filter:none !important;}
.number strong,.number span{color:var(--accent-red-bright) !important;}
.contact-card{max-width:760px;min-height:300px;padding:16px 22px;justify-self:start;}
.contact-carousel-wrap{width:100%;max-width:1260px;justify-self:stretch;}
.project-title{padding:0 14px;display:inline-block;}
.services-section{padding-top:62px;}
.services-grid{width:1120px;max-width:calc(100% - 70px);gap:30px;}
.service-card,.service-card.red-line,.service-card.dark-line{max-width:1000px;display:grid;grid-template-columns:140px 1fr;align-items:center;padding:18px 0 20px;}
.service-card::before{background:var(--accent-red-bright) !important;height:2px;}
.service-card img{width:116px !important;height:116px !important;margin:0 auto !important;align-self:center;}
.service-content{align-self:center;}
.service-card h3,.service-card h4,.service-card ul,.service-card li{color:var(--accent-red-bright) !important;}
.service-card h3{margin:0 0 14px;}
.service-card h4{margin:10px 0 10px;}
.service-card ul{margin-top:0;}
.contact-carousel-wrap{display:flex;align-items:center;}
.contact-carousel{display:flex;align-items:center;}
.contact-carousel img{object-position:center center;}
.project-title{display:inline-block !important;max-width:72%;}
:root{--red:#af0f1c !important;--accent-red:#af0f1c !important;--accent-red-bright:#af0f1c !important;}
.numbers{background:#f5f1ec !important;color:#af0f1c !important;}
.number strong,.number span,.section-title.red,.hero-title h1 span,.project-title,.project-year,.service-card h3,.service-card h4,.service-card ul,.service-card li,.contact-card h3 span,.testimonials blockquote:before,.slider-dots .active{color:#af0f1c !important;}
.main-nav a:hover,.main-nav a.active{background:#af0f1c !important;color:#fff !important;}
.mobile-toggle,.sale-tag,.cookie-ok{background:#af0f1c !important;}
.service-card::before,.main-nav a::after{background:#af0f1c !important;}
.numbers-shelf-motion{height:390px;min-height:390px;background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),url("assets/media/ds_costr-home-shelf2.jpg");background-repeat:no-repeat;background-size:cover;background-position:center center;background-attachment:fixed;overflow:hidden;}
.contact-carousel-wrap{justify-self:stretch !important;}
.contact-carousel img{object-fit:cover !important;object-position:center center !important;}
.project,.project-right{padding-top:164px !important;margin-bottom:164px !important;}
.project-title,.project-right .project-title{display:inline-block !important;}
:root{--section-gray:#d6d6d6;}
body,.projects-section,.contact-section{background:var(--section-gray) !important;}
.project-title,.project-right .project-title,.contact-panel,.about-section,.projects-section .container,.contact-section .container{background-color:transparent !important;}
.contact-panel{gap:44px !important;}
.contact-card h2{margin:0 0 28px !important;font-size:17px !important;letter-spacing:.08em;}
.contact-items>div{text-align:center !important;}
.contact-icon-link{display:flex !important;align-items:center;justify-content:center;}
.contact-items img{display:block;}
.contact-items a{word-break:break-word;overflow-wrap:anywhere;}
.numbers{background-color:var(--section-gray) !important;background-image:linear-gradient(rgba(214,214,214,.70),rgba(214,214,214,.70)),url("assets/media/ds_costr-home-shelf2.jpg") !important;background-repeat:no-repeat !important;background-size:cover !important;background-position:center center !important;background-attachment:fixed !important;padding:56px 0 60px !important;}
.numbers-shelf-motion{display:none !important;}
body{background:#ffffff !important;}
.projects-section,.contact-section,.map-wrap{background:#ffffff !important;}
.project,.project-right{opacity:0;transform:translateY(92px) scale(.965);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);will-change:transform,opacity;}
.project .gallery-grid,.project .project-copy,.project .project-title{will-change:transform,opacity;}
.project .gallery-grid{opacity:0;transform:translateX(-78px) rotate(-1.4deg) scale(.975);transition:opacity .9s cubic-bezier(.22,1,.36,1) .1s,transform 1.05s cubic-bezier(.22,1,.36,1) .1s;}
.project-right .gallery-grid{transform:translateX(78px) rotate(1.4deg) scale(.975);}
.project .project-copy{opacity:0;transform:translateX(64px);transition:opacity .8s cubic-bezier(.22,1,.36,1) .22s,transform .95s cubic-bezier(.22,1,.36,1) .22s;}
.project-right .project-copy{transform:translateX(-64px);}
.project .project-title{opacity:0;transform:translate(-50%,-16px) !important;transition:opacity .55s ease .34s,transform .8s cubic-bezier(.22,1,.36,1) .34s;}
.project.is-visible,.project-right.is-visible{opacity:1;transform:translateY(0) scale(1);}
.project.is-visible .gallery-grid,.project-right.is-visible .gallery-grid,.project.is-visible .project-copy,.project-right.is-visible .project-copy,.project.is-visible .project-title,.project-right.is-visible .project-title{opacity:1;}
.project.is-visible .gallery-grid,.project-right.is-visible .gallery-grid,.project.is-visible .project-copy,.project-right.is-visible .project-copy{transform:translateX(0) rotate(0) scale(1);}
.project.is-visible .project-title,.project-right.is-visible .project-title{transform:translate(-50%,0) !important;}
:root{--neutral-gray:#d9d9d9;--neutral-gray-soft:#ececec;}
html,body,.contact-section,.contact-panel,.contact-carousel-wrap,.contact-carousel,.map-wrap,.site-footer{background:#ffffff !important;}
.about-section,.section,.projects-section>.container:first-child{background-color:transparent !important;}
.main-nav a,.main-nav a:hover,.main-nav a.active{border-left:none !important;border-right:none !important;}
.number img,.contact-items img,.service-card img,.testimonial-icon{filter:none !important;}
.contact-items a[href^="mailto:"],.contact-items a[href^="mailto:"]:visited{text-transform:none !important;font-variant:normal !important;}
.map-wrap iframe{background:#ffffff !important;}
.site-footer{border-top:1px solid #e5e5e5;}
.main-nav{gap:8px;}
.main-nav a:hover::after,.main-nav a.active::after{height:3px;}
.site-footer{background:#af0f1c !important;color:#ffffff !important;border-top:none !important;}
.contact-section,.contact-panel,.contact-carousel-wrap,.contact-carousel,.map-wrap{background:#ffffff !important;}
.contact-items a[href^="mailto:"]{text-transform:none !important;}
.main-nav a,.main-nav a:hover,.main-nav a.active{box-shadow:none !important;}
.main-nav a{position:relative;min-width:auto !important;width:auto !important;height:47px !important;padding:14px 12px 12px !important;display:flex !important;align-items:center !important;justify-content:center !important;}
.main-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;}
.main-nav a:hover::after,.main-nav a.active::after{background:#af0f1c !important;height:2px !important;}
.project,.project-right,.project .gallery-grid,.project-right .gallery-grid,.project .project-copy,.project-right .project-copy,.project .project-title,.project-right .project-title{opacity:1 !important;transform:none !important;transition:none !important;animation:none !important;}
.project.is-visible,.project-right.is-visible{opacity:1 !important;transform:none !important;}
.contact-cta-title{margin-bottom:42px !important;}
.contact-panel,.contact-carousel-wrap,.contact-carousel,.map-wrap{background:transparent !important;}
.project,.project-right{opacity:1 !important;transform:none !important;transition:none !important;animation:none !important;border-color:transparent !important;}
.project .gallery-grid,.project-right .gallery-grid,.project .project-copy,.project-right .project-copy{opacity:1 !important;transition:none !important;animation:none !important;}
.project-title,.project-right .project-title{opacity:1 !important;transition:none !important;animation:none !important;box-shadow:none !important;text-shadow:none !important;filter:none !important;}
.project::before,.project-right::before{content:"";position:absolute;top:130px;right:10px;bottom:-14px;left:10px;border:3px solid #141414;border-radius:24px;pointer-events:none;z-index:1;}
.project.is-visible::before,.project-right.is-visible::before{opacity:1;transform:scale(1);}
.project .gallery-grid,.project .project-copy,.project .project-title,.project-right .gallery-grid,.project-right .project-copy,.project-right .project-title{position:relative;z-index:2;}
.project-title,.project-right .project-title{margin:0 !important;}
.project::before,.project-right::before{content:"" !important;position:absolute !important;pointer-events:none !important;z-index:1 !important;opacity:0;transform:scale(.965);transition:opacity .5s ease,transform .72s cubic-bezier(.22,1,.36,1);}
.project.is-visible::before,.project-right.is-visible::before{opacity:1 !important;transform:scale(1) !important;}
.project .gallery-grid,.project .project-copy,.project .project-title,.project-right .gallery-grid,.project-right .project-copy,.project-right .project-title{position:relative !important;z-index:2 !important;opacity:1 !important;transition:none !important;animation:none !important;}
.project .gallery-grid,.project-right .gallery-grid,.project .project-copy,.project-right .project-copy{transform:none !important;}
.project .project-copy{padding-left:10px !important;padding-right:36px !important;}
.project-right .project-copy{padding-left:36px !important;padding-right:10px !important;}
.number img,.number:hover img{transform:none !important;transition:none !important;animation:none !important;filter:none !important;}
.contact-column{width:100%;max-width:430px;justify-self:start;}
.contact-cta-title{width:100%;}
.contact-cta-title::before,.contact-cta-title::after{display:none !important;}
.contact-panel{column-gap:44px !important;}
.contact-column{justify-self:center !important;}
.contact-cta-title{width:100% !important;text-align:center !important;}
.contact-card{justify-self:center !important;}
.contact-carousel-wrap{width:100% !important;max-width:none !important;height:560px !important;align-self:start !important;}
.contact-carousel{height:560px !important;}
.project-title,.project-right .project-title{top:22px !important;left:50% !important;right:auto !important;transform:translateX(-50%) !important;width:max-content !important;max-width:calc(100% - 80px) !important;padding:0 10px !important;text-align:center !important;background:transparent !important;z-index:5 !important;}
.project::before,.project-right::before{top:130px !important;left:10px !important;right:10px !important;bottom:-14px !important;border:3px solid #141414 !important;border-radius:24px !important;}
.project .project-copy,.project-right .project-copy{padding:34px 42px !important;}
.contact-column{min-height:560px !important;flex-direction:column !important;align-items:center !important;}
.contact-cta-title{margin:0 0 22px !important;}
.contact-carousel-wrap,.contact-carousel{height:560px !important;}
.contact-items>div{min-width:0;}
.contact-items a[href^="mailto:"],.contact-items a[href^="tel:"]{white-space:nowrap !important;font-size:11px !important;letter-spacing:0 !important;}
.contact-items a[href^="mailto:"]{white-space:nowrap !important;}
.hero-title{top:50% !important;}
.hero-logo{width:min(980px,74vw) !important;max-width:980px !important;height:auto !important;filter:drop-shadow(0 8px 24px rgba(0,0,0,.30));}
.projects-section .project::before,.projects-section .project-right::before{transition:opacity .7s ease,transform 1.35s cubic-bezier(.22,1,.36,1) !important;}
.numbers .number img{filter:brightness(0) !important;}
.numbers .number strong,.numbers .number span{color:#111111 !important;}
.testimonials{background:#ffffff !important;}
:root{--ds-red:#af0f1c;--ds-ink:#111217;--ds-line:rgba(17,18,23,.14);--ds-shadow:0 28px 72px rgba(0,0,0,.22);}
.about-section{overflow:hidden !important;}
.about-section::before{content:"CHI SIAMO";position:absolute;right:-.08em;top:38px;color:rgba(17,18,23,.055);font-family:"Rajdhani","Manrope",Arial,sans-serif;font-size:15vw;font-weight:800;letter-spacing:-.07em;line-height:.8;pointer-events:none;z-index:0;}
.about-section .container{position:relative;z-index:1;}
.parallax{position:relative !important;overflow:hidden !important;}
.parallax::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(175,15,28,.36),rgba(0,0,0,.50));z-index:0;pointer-events:none;}
.parallax .section-title{position:relative !important;z-index:1 !important;color:#fff !important;}
.floating-contact{position:fixed;right:18px;bottom:24px;z-index:1150;display:flex;flex-direction:column;gap:10px;}
.floating-contact a{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--ds-red);color:#fff;text-decoration:none;font-family:"Rajdhani","Manrope",Arial,sans-serif;font-size:12px;font-weight:900;letter-spacing:.05em;box-shadow:0 16px 38px rgba(175,15,28,.35);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;}
.floating-contact a:nth-child(2){background:var(--ds-ink);box-shadow:0 16px 38px rgba(17,18,23,.28);}
.floating-contact a:hover{transform:translateY(-3px) scale(1.03);}
.logo-hero .stripe-mask,.logo-hero .hero-video{display:none !important;}
.logo-hero .hero-title{left:50% !important;width:min(1080px,calc(100% - 42px)) !important;display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;}
.logo-hero .hero-logo{width:min(860px,78vw) !important;max-width:860px !important;height:auto !important;filter:drop-shadow(0 12px 28px rgba(0,0,0,.18)) !important;}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;}
.hero-btn{display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:48px;padding:13px 24px 12px;border-radius:999px;font-family:"Rajdhani","Manrope",Arial,sans-serif;font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;}
.hero-btn-primary{background:#af0f1c;color:#fff;box-shadow:0 16px 38px rgba(175,15,28,.24);}
.hero-btn-secondary{background:#111217;color:#fff;box-shadow:0 16px 38px rgba(17,18,23,.22);}
.hero-btn:hover{transform:translateY(-2px);}
.video-parallax-strip{position:relative;height:420px;overflow:hidden;background:#111217;display:flex;align-items:center;justify-content:center;}
.video-strip-media{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:saturate(.9) contrast(1.05);}
.video-strip-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(175,15,28,.30),rgba(0,0,0,.50)),repeating-linear-gradient(-35deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 5px);pointer-events:none;}
.video-parallax-strip+.about-section{margin-top:0 !important;}
.logo-hero{height:100vh !important;min-height:720px !important;}
.logo-hero .hero-title{top:50% !important;transform:translate(-50%,-50%) !important;gap:38px !important;}
.logo-hero .hero-logo{opacity:0;transform:translateY(18px) scale(.965);animation:heroLogoIn 1.25s cubic-bezier(.22,1,.36,1) .22s forwards;}
.logo-hero .hero-actions{opacity:0;transform:translateY(18px);animation:heroActionsIn .9s cubic-bezier(.22,1,.36,1) 1.05s forwards;}
@keyframes heroLogoIn{from{opacity:0;transform:translateY(18px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes heroActionsIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.video-parallax-strip{background:#111217 !important;display:flex !important;align-items:center !important;justify-content:center !important;}
.video-strip-media{position:absolute !important;object-fit:cover !important;will-change:transform;}
.video-strip-overlay{position:absolute !important;inset:0 !important;z-index:1 !important;background:linear-gradient(135deg,rgba(175,15,28,.36),rgba(0,0,0,.54)),repeating-linear-gradient(-35deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 5px) !important;}
.video-strip-title{position:relative !important;z-index:2 !important;margin:0 !important;}
.about-section::before{display:block !important;position:absolute !important;right:-.08em !important;top:38px !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-size:15vw !important;font-weight:800 !important;letter-spacing:-.07em !important;pointer-events:none !important;z-index:0 !important;}
.video-parallax-strip{height:460px !important;}
.video-strip-overlay,.video-strip-title{pointer-events:none;}
.about-section,.work-detail-section,.services-section,.projects-section{position:relative !important;overflow:hidden !important;}
.about-section>*,.work-detail-section>*,.services-section>*,.projects-section>*{position:relative;z-index:1;}
.about-section::before,.work-detail-section::before,.services-section::before,.projects-section::before{position:absolute !important;right:-.08em !important;top:38px !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-size:15vw !important;font-weight:800 !important;letter-spacing:-.07em !important;line-height:.8 !important;pointer-events:none !important;z-index:0 !important;white-space:nowrap !important;}
.work-detail-section::before,.services-section::before{right:-.10em !important;}
.parallax,.video-parallax-strip{height:430px !important;min-height:430px !important;}
.video-parallax-strip{margin:0 !important;position:relative !important;overflow:hidden !important;isolation:isolate;}
.video-strip-media{top:50% !important;left:50% !important;max-width:none !important;transform:translate3d(-50%,-50%,0) scale(1.08);will-change:transform !important;}
.work-detail-section::before,.services-section::before{white-space:pre-line !important;line-height:.72 !important;text-align:right !important;top:34px !important;}
.video-parallax-strip+.about-section{padding-top:90px !important;}
.video-parallax-strip+.projects-section{padding-top:82px !important;}
.about-section{background:#ffffff !important;background-image:none !important;}
.work-detail-section{padding-top:110px !important;padding-bottom:110px !important;}
.video-strip-title{color:#fff !important;text-shadow:0 2px 12px rgba(0,0,0,.42) !important;}
.video-strip-media{height:210% !important;width:124% !important;}
.logo-hero{background:#ffffff !important;background-image:none !important;}
.parallax .section-title,.video-strip-title{font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-size:32px !important;line-height:1.1 !important;letter-spacing:.02em !important;font-weight:700 !important;text-transform:uppercase !important;color:#ffffff !important;text-shadow:0 2px 12px rgba(0,0,0,.42) !important;}
.contact-section::before{content:"CONTATTI";white-space:nowrap !important;}
.contact-section>*{position:relative;z-index:1;}
.work-copy{font-size:16px !important;}
.detail-carousel{align-items:center !important;padding:8px 0 !important;}
.detail-carousel img{flex-basis:150px !important;width:150px !important;height:180px !important;}
.detail-carousel img.is-near,.detail-carousel img.pos-m1,.detail-carousel img.pos-p1{flex-basis:190px !important;width:190px !important;height:230px !important;}
.detail-carousel img.is-center,.detail-carousel img.pos-0,.detail-carousel img:nth-child(4n/**/+2){flex-basis:520px !important;width:520px !important;height:320px !important;}
.project,.project-right{width:1090px !important;max-width:calc(100% - 80px) !important;min-height:380px !important;margin:0 auto 130px !important;padding:74px 38px 44px !important;display:grid !important;align-items:center !important;column-gap:48px !important;overflow:visible !important;border:none !important;position:relative !important;}
.project{grid-template-columns:360px 1fr !important;}
.project-right{grid-template-columns:1fr 360px !important;}
.project::before,.project-right::before{display:none !important;}
.project::after,.project-right::after{content:"" !important;display:block !important;position:absolute !important;top:58px !important;bottom:0 !important;left:18px !important;right:18px !important;border:2px solid #191919 !important;border-radius:30px !important;z-index:1 !important;pointer-events:none !important;}
.project-title{position:absolute !important;top:12px !important;left:52px !important;right:auto !important;transform:none !important;z-index:4 !important;margin:0 !important;padding:0 12px !important;background:transparent !important;font-family:"Rajdhani",Arial,sans-serif !important;font-size:28px !important;line-height:1.05 !important;letter-spacing:.06em !important;text-transform:uppercase !important;width:auto !important;max-width:72% !important;text-align:left !important;}
.project-right .project-title{left:64px !important;}
.project-copy{padding:44px 48px !important;align-self:center !important;position:relative !important;z-index:2 !important;min-height:auto !important;margin:0 !important;display:block !important;}
.project-year{font-family:"Rajdhani",Arial,sans-serif !important;font-size:18px !important;letter-spacing:.12em !important;text-transform:uppercase !important;margin:0 0 18px !important;}
.project-copy p{font-size:16px !important;line-height:1.82 !important;max-width:440px !important;margin:0 !important;}
.gallery-grid{width:330px !important;height:330px !important;display:grid !important;grid-template-columns:repeat(3,110px) !important;grid-auto-rows:110px !important;position:relative !important;z-index:3 !important;top:auto !important;left:auto !important;right:auto !important;}
.gallery-grid img{display:block !important;width:110px !important;height:110px !important;object-fit:cover !important;}
.project-left .gallery-grid{margin-left:-26px !important;margin-top:-48px !important;margin-bottom:-48px !important;}
.project-right .gallery-grid{margin-right:-26px !important;margin-top:-48px !important;margin-bottom:-48px !important;}
.projects-section+.contact-parallax-box{display:none !important;}
.numbers,.numbers-grid,.numbers-shelf-motion{display:none !important;height:0 !important;min-height:0 !important;padding:0 !important;margin:0 !important;overflow:hidden !important;}
.work-detail-section .detail-carousel img{opacity:0 !important;}
.parallax-work{height:430px !important;min-height:430px !important;position:relative !important;overflow:hidden !important;background-image:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),url("assets/media/tools.jpg?v=149") !important;background-size:cover !important;background-position:center center !important;background-attachment:fixed !important;display:flex !important;align-items:center !important;justify-content:center !important;}
.parallax-work::before{content:"" !important;position:absolute !important;inset:0 !important;background:linear-gradient(135deg,rgba(175,15,28,.36),rgba(0,0,0,.50)) !important;z-index:0 !important;pointer-events:none !important;}
.parallax-work .section-title{position:relative !important;z-index:1 !important;margin:0 !important;color:#fff !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-size:32px !important;line-height:1.1 !important;letter-spacing:.02em !important;font-weight:700 !important;text-transform:uppercase !important;text-shadow:0 2px 12px rgba(0,0,0,.42) !important;}
.work-detail-section{grid-template-columns:minmax(320px,520px) minmax(380px,560px) !important;}
.work-detail-section .detail-carousel img{pointer-events:none !important;}
.work-detail-section{position:relative !important;overflow:hidden !important;width:100% !important;max-width:none !important;margin:0 !important;background:linear-gradient(180deg,#bf1122 0%,#9f0e1c 100%) !important;}
.work-detail-section::before{position:absolute !important;top:48px !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:800 !important;letter-spacing:-.07em !important;text-align:right !important;pointer-events:none !important;z-index:0 !important;white-space:pre-line !important;}
.work-detail-section>*{position:relative !important;z-index:1 !important;}
.work-detail-section .work-copy{width:min(980px,100%) !important;max-width:980px !important;padding:0 !important;border:none !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;color:#ffffff !important;font-size:17px !important;line-height:1.78 !important;text-align:center !important;text-shadow:0 2px 12px rgba(0,0,0,.18) !important;}
.work-detail-section .detail-carousel{max-width:1120px !important;display:block !important;padding:0 !important;cursor:grab !important;}
.work-detail-section .detail-carousel img.pos-0{border-radius:24px !important;box-shadow:0 28px 72px rgba(0,0,0,.26) !important;}
.work-detail-section .detail-carousel img.pos-m1{border-radius:20px !important;}
.work-detail-section .detail-carousel img.pos-p1{border-radius:20px !important;}
.work-detail-section .detail-carousel img.pos-m2{border-radius:16px !important;}
.work-detail-section .detail-carousel img.pos-p2{border-radius:16px !important;}
.services-section .service-card::before,.services-section .service-card::after{display:none !important;content:none !important;}
.services-grid,.services-grid::before,.services-grid::after{border:none !important;box-shadow:none !important;}
.services-grid article{border:none !important;}
.video-strip-title{font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-size:32px !important;line-height:1.1 !important;letter-spacing:.02em !important;font-weight:700 !important;text-transform:uppercase !important;}
.video-strip-title::before,.video-strip-title::after{content:none !important;display:none !important;}
.services-section::before{z-index:0 !important;}
.services-section .services-grid,.services-section .service-card,.services-section .service-content,.services-section .service-card h3,.services-section .service-card h4,.services-section .service-card ul,.services-section .service-card li,.services-section .service-card img{position:relative !important;z-index:2 !important;opacity:1 !important;visibility:visible !important;}
.work-detail-section,.partners-strip{background:#d50f25 !important;background-image:none !important;background-color:#d50f25 !important;}
.parallax-work .section-title::before,.parallax-work .section-title::after{content:none !important;display:none !important;}
.services-section{background:#ffffff !important;background-image:none !important;background-color:#ffffff !important;color:#af0f1c !important;}
.services-section .service-card,.services-section .service-card.red-line,.services-section .service-card.dark-line{border:none !important;background:transparent !important;box-shadow:none !important;}
.services-section .service-card::before,.services-section .service-card::after,.services-section .services-grid::before,.services-section .services-grid::after{display:none !important;content:none !important;}
.services-section .service-card h3,.services-section .service-card h4,.services-section .service-card ul,.services-section .service-card li{color:#af0f1c !important;opacity:1 !important;visibility:visible !important;}
.services-section .service-card img{display:block !important;visibility:visible !important;}
.services-section .service-card img{filter:brightness(0) saturate(100%) invert(18%) sepia(92%) saturate(2701%) hue-rotate(344deg) brightness(82%) contrast(101%) !important;mix-blend-mode:normal !important;}
.work-detail-section .detail-carousel img,.work-detail-section .detail-carousel img.pos-0,.work-detail-section .detail-carousel img.pos-m1,.work-detail-section .detail-carousel img.pos-p1,.work-detail-section .detail-carousel img.pos-m2,.work-detail-section .detail-carousel img.pos-p2{filter:none !important;overflow:hidden !important;}
.work-detail-section .detail-carousel img.pos-0{width:420px !important;height:280px !important;}
.work-detail-section .detail-carousel img.pos-m1{width:220px !important;height:260px !important;}
.work-detail-section .detail-carousel img.pos-p1{width:220px !important;height:260px !important;}
.work-detail-section .detail-carousel img.pos-m2{width:150px !important;height:190px !important;}
.work-detail-section .detail-carousel img.pos-p2{width:150px !important;height:190px !important;}
.work-detail-section .detail-carousel img,.work-detail-section .detail-carousel img.pos-0,.work-detail-section .detail-carousel img.pos-m1,.work-detail-section .detail-carousel img.pos-p1,.work-detail-section .detail-carousel img.pos-m2,.work-detail-section .detail-carousel img.pos-p2{width:380px !important;height:240px !important;object-fit:cover !important;object-position:center center !important;border-radius:0 !important;clip-path:none !important;-webkit-clip-path:none !important;mask-image:none !important;-webkit-mask-image:none !important;transform-origin:center center !important;}
.work-detail-section .detail-carousel img.pos-m2,.work-detail-section .detail-carousel img.pos-p2{pointer-events:none !important;transform:translate(-50%,-50%) scale(.45) !important;z-index:1 !important;}
.work-detail-section .detail-carousel img:not(.pos-0):not(.pos-m1):not(.pos-p1):not(.pos-m2):not(.pos-p2){opacity:0 !important;pointer-events:none !important;transform:translate(-50%,-50%) scale(.45) !important;}
.work-detail-section .detail-carousel img,.work-detail-section .detail-carousel img.pos-0,.work-detail-section .detail-carousel img.pos-m1,.work-detail-section .detail-carousel img.pos-p1,.work-detail-section .detail-carousel img.pos-m2,.work-detail-section .detail-carousel img.pos-p2{opacity:1 !important;box-shadow:0 20px 46px rgba(0,0,0,.26) !important;}
.work-detail-section .work-copy{order:1 !important;}
.work-detail-section .partners-strip{order:2 !important;padding:0 !important;background:transparent !important;background-image:none !important;border:none !important;display:flex !important;justify-content:center !important;align-items:center !important;}
.work-detail-section .partners-strip .partners-logos,.work-detail-section .partners-strip .partners-track{width:100% !important;display:flex !important;justify-content:center !important;align-items:center !important;flex-wrap:wrap !important;}
.work-detail-section .partners-strip img{opacity:1 !important;}
.work-detail-section .detail-carousel{order:3 !important;margin-top:6px !important;}
.work-detail-section .partners-strip::before,.work-detail-section .partners-strip::after{content:none !important;display:none !important;}
.about-section::before,.work-detail-section::before,.services-section::before,.projects-section::before,.contacts-section::before,.contact-section::before{letter-spacing:-0.03em !important;line-height:0.82 !important;}
.work-detail-section::before{right:-0.03em !important;line-height:0.80 !important;}
.work-detail-section .detail-carousel{overflow:visible !important;position:relative !important;height:360px !important;width:min(1100px,100%) !important;margin:0 auto !important;}
.work-detail-section .detail-carousel img{position:absolute !important;top:50% !important;left:50% !important;width:380px !important;height:240px !important;object-fit:cover !important;object-position:center center !important;border-radius:0 !important;clip-path:none !important;-webkit-clip-path:none !important;mask-image:none !important;-webkit-mask-image:none !important;filter:none !important;box-shadow:0 20px 46px rgba(0,0,0,.26) !important;transform-origin:center center !important;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .35s ease !important;}
.work-detail-section .detail-carousel img.pos-0{z-index:5 !important;transform:translate(-50%,-50%) scale(1) !important;}
.work-detail-section .detail-carousel img.pos-m1{opacity:1 !important;z-index:4 !important;transform:translate(calc(-50% - 225px),-50%) scale(.76) !important;}
.work-detail-section .detail-carousel img.pos-p1{opacity:1 !important;z-index:4 !important;transform:translate(calc(-50%+225px),-50%) scale(.76) !important;}
.work-detail-section .detail-carousel img.pos-m2{opacity:1 !important;z-index:3 !important;transform:translate(calc(-50% - 380px),-50%) scale(.56) !important;}
.work-detail-section .detail-carousel img.pos-p2{opacity:1 !important;z-index:3 !important;transform:translate(calc(-50%+380px),-50%) scale(.56) !important;}
.work-detail-section .detail-carousel img.pos-0{opacity:1 !important;}
.work-detail-section .detail-carousel img.pos-m1,.work-detail-section .detail-carousel img.pos-p1{opacity:.68 !important;}
.work-detail-section .detail-carousel img.pos-m2,.work-detail-section .detail-carousel img.pos-p2{opacity:.38 !important;}
.work-detail-section .partners-strip{width:min(1240px,100%) !important;margin:18px auto 34px !important;}
.work-detail-section .partners-strip .partners-logos,.work-detail-section .partners-strip .partners-track{gap:54px !important;}
.work-detail-section .partners-strip img{max-height:72px !important;width:auto !important;object-fit:contain !important;}
.services-section .services-grid{row-gap:24px !important;}
.services-section .service-card{min-height:0 !important;}
.services-section .service-card h3{max-width:520px;}
.about-section::before{white-space:pre-line !important;line-height:.72 !important;text-align:right !important;}
.services-section .services-grid{margin:0 auto !important;display:grid !important;grid-template-columns:1fr !important;}
.services-section .service-card,.services-section .service-card.red-line,.services-section .service-card.dark-line{width:100% !important;margin:0 auto !important;display:grid !important;grid-template-columns:140px minmax(0,1fr) !important;column-gap:38px !important;align-items:center !important;min-height:0 !important;padding:0 !important;}
.services-section .service-card img{width:86px !important;height:86px !important;margin:0 auto !important;align-self:center !important;}
.services-section .service-content{width:100% !important;max-width:760px !important;}
.services-section .service-card h3{margin:0 0 12px !important;font-size:22px !important;line-height:1.05 !important;letter-spacing:.08em !important;max-width:none !important;}
.services-section .service-card ul{margin:0 !important;padding-left:18px !important;font-size:13px !important;}
.services-section .service-card li{break-inside:avoid-column !important;-webkit-column-break-inside:avoid !important;page-break-inside:avoid !important;margin:0 0 2px !important;}
.services-section .service-card.two-col-list ul{columns:2 !important;column-gap:56px !important;max-width:760px !important;}
.services-section .service-card.compact-card .service-content{max-width:620px !important;}
.services-section .service-card h3{margin-bottom:14px !important;}
.services-section .service-card ul{line-height:1.95 !important;}
.services-section .service-card,.services-section .service-card.red-line,.services-section .service-card.dark-line{max-width:1040px !important;}
.services-section{min-height:1020px !important;padding-top:140px !important;padding-bottom:170px !important;}
.services-section .services-grid{width:1320px !important;max-width:calc(100% - 110px) !important;gap:64px !important;align-content:start !important;}
.services-section .services-grid>.service-card:nth-child(1){transform:translateX(0) !important;}
.services-section .services-grid>.service-card:nth-child(2){transform:translateX(90px) !important;}
.services-section .services-grid>.service-card:nth-child(3){transform:translateX(170px) !important;}
.services-section .service-card.single-col-list ul,.services-section .services-grid>.service-card:nth-child(2) ul{columns:1 !important;column-gap:0 !important;max-width:520px;}
.services-section .service-card img{opacity:.16;transform:translateX(-24px) scale(.9);transition:opacity .32s ease,transform .38s cubic-bezier(.22,.61,.36,1),filter .32s ease;filter:grayscale(0%) saturate(100%);}
.services-section .service-card:hover img,.services-section .service-card:focus-within img{opacity:1;transform:translateX(0) scale(1);}
.services-section .service-card{transition:transform .26s ease;}
.services-section .service-card:hover,.services-section .service-card:focus-within{transform:translateX(8px);}
.services-section .service-card,.services-section .service-card.red-line,.services-section .service-card.dark-line{transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .3s ease;}
.services-section .service-card img{opacity:0 !important;transform:translateX(-36px) scale(.88) !important;transition:opacity .28s ease,transform .36s cubic-bezier(.22,.61,.36,1) !important;pointer-events:none;}
.services-section .service-card:hover,.services-section .service-card:focus-within,.services-section .service-card.active-hover{transform:translateX(12px);}
.services-section .service-card:hover img,.services-section .service-card:focus-within img,.services-section .service-card.active-hover img{opacity:1 !important;transform:translateX(0) scale(1) !important;}
.services-section .service-card h3,.services-section .service-card ul,.services-section .service-card h4{transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .28s ease;}
.services-section .service-card:hover h3,.services-section .service-card:hover ul,.services-section .service-card:hover h4,.services-section .service-card:focus-within h3,.services-section .service-card:focus-within ul,.services-section .service-card:focus-within h4,.services-section .service-card.active-hover h3,.services-section .service-card.active-hover ul,.services-section .service-card.active-hover h4{transform:translateX(4px);}
.services-section .services-grid>.service-card:nth-child(4){transform:translateX(280px) !important;}
.about-section::before,.projects-section::before{font-size:14vw !important;}
.work-detail-section::before,.services-section::before{font-size:11.2vw !important;}
.projects-section>.container:first-child{margin-bottom:58px !important;}
.projects-section .project,.projects-section .project-right{column-gap:52px !important;}
.projects-section .project-right{grid-template-columns:460px minmax(0,1fr) !important;}
.projects-section .project::after,.projects-section .project-right::after{content:"" !important;position:absolute !important;top:46px !important;left:0 !important;right:0 !important;bottom:0 !important;border:2px solid #151515 !important;border-radius:26px !important;z-index:1 !important;pointer-events:none !important;}
.projects-section .project-copy,.projects-section .project .project-copy,.projects-section .project-right .project-copy{position:relative !important;min-height:auto !important;}
.projects-section .project-right .project-copy{padding:92px 74px 52px 0 !important;}
.projects-section .project-copy p{max-width:470px !important;color:#af0f1c !important;}
.projects-section .gallery-grid,.projects-section .project-left .gallery-grid,.projects-section .project-right .gallery-grid{top:auto !important;left:auto !important;right:auto !important;}
.projects-section .project-left .gallery-grid{order:2 !important;margin-right:-40px !important;}
.projects-section .project-right .gallery-grid{order:1 !important;margin-left:-40px !important;}
.projects-section .project,.projects-section .project-right{transition:transform .32s ease;}
.projects-section .project:hover .gallery-grid,.projects-section .project-right:hover .gallery-grid{box-shadow:0 30px 68px rgba(0,0,0,.22) !important;}
.projects-section .project-copy,.projects-section .project-right .project-copy{grid-area:copy !important;width:100% !important;min-width:0 !important;margin:0 !important;padding:0 0 0 16px !important;display:flex !important;flex-direction:column !important;justify-content:center !important;align-self:center !important;z-index:2 !important;}
.projects-section .project,.projects-section .project-right{width:1100px !important;max-width:calc(100% - 56px) !important;min-height:390px !important;margin:0 auto 84px !important;display:grid !important;grid-template-columns:minmax(0,1fr) 410px !important;grid-template-areas:"title title" "copy gallery" !important;gap:26px 44px !important;align-items:center !important;padding:34px 40px 38px !important;border:2px solid #202020 !important;border-radius:28px !important;background:#fff !important;overflow:hidden !important;position:relative !important;box-shadow:none !important;}
.projects-section .project-title,.projects-section .project-right .project-title{grid-area:title !important;position:static !important;background:transparent !important;color:#af0f1c !important;font-size:28px !important;line-height:1.12 !important;letter-spacing:.08em !important;font-weight:700 !important;}
.projects-section .project-copy,.projects-section .project .project-copy,.projects-section .project-right .project-copy{width:100% !important;margin:0 !important;display:flex !important;flex-direction:column !important;justify-content:center !important;align-self:center !important;z-index:2 !important;}
.projects-section .project-copy p,.projects-section .project-right .project-copy p{max-width:100% !important;margin:0 !important;color:#af0f1c !important;font-size:14px !important;line-height:1.7 !important;letter-spacing:.045em !important;text-transform:uppercase !important;text-wrap:pretty !important;overflow-wrap:break-word !important;word-break:normal !important;}
.projects-section .gallery-grid,.projects-section .project-left .gallery-grid,.projects-section .project-right .gallery-grid{grid-area:gallery !important;width:100% !important;max-width:410px !important;height:auto !important;display:grid !important;grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:200px !important;gap:0 !important;margin:0 !important;justify-self:end !important;align-self:center !important;position:static !important;box-shadow:0 16px 42px rgba(0,0,0,.14) !important;overflow:hidden !important;z-index:2 !important;}
.projects-section .gallery-grid img{opacity:1 !important;}
.projects-section .project:hover,.projects-section .project-right:hover{transform:translateY(-3px) !important;}
.projects-section{padding-bottom:88px !important;}
.projects-section .project,.projects-section .project-right,.projects-section .project.is-visible,.projects-section .project-right.is-visible{width:980px !important;max-width:calc(100% - 48px) !important;min-height:360px !important;margin:0 auto 70px !important;padding:28px 36px 30px !important;display:grid !important;grid-template-columns:minmax(0,1fr) 360px !important;grid-template-areas:"title title" "copy gallery" !important;gap:22px 34px !important;align-items:center !important;border:2px solid #2a2a2a !important;border-radius:24px !important;background:#fff !important;overflow:hidden !important;position:relative !important;opacity:1 !important;transform:none !important;transition:none !important;will-change:auto !important;box-shadow:none !important;}
.projects-section .project::before,.projects-section .project::after,.projects-section .project-right::before,.projects-section .project-right::after{content:none !important;display:none !important;}
.projects-section .project-title,.projects-section .project-right .project-title,.projects-section .project .project-title,.projects-section .project.project-left .project-title,.projects-section .project.project-right .project-title{grid-area:title !important;position:static !important;inset:auto !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;transform:none !important;opacity:1 !important;transition:none !important;width:100% !important;max-width:780px !important;margin:0 auto 2px !important;padding:0 !important;background:transparent !important;text-align:center !important;color:#af0f1c !important;font-size:23px !important;font-weight:700 !important;line-height:1.16 !important;letter-spacing:.08em !important;text-transform:uppercase !important;white-space:normal !important;overflow-wrap:anywhere !important;box-shadow:none !important;z-index:2 !important;}
.projects-section .project-copy,.projects-section .project .project-copy,.projects-section .project-right .project-copy,.projects-section .project.project-left .project-copy,.projects-section .project.project-right .project-copy{grid-area:copy !important;position:static !important;inset:auto !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;transform:none !important;opacity:1 !important;transition:none !important;width:100% !important;min-width:0 !important;margin:0 !important;padding:0 12px 0 18px !important;align-self:center !important;z-index:2 !important;}
.projects-section .project-year{color:#af0f1c !important;font-weight:500 !important;line-height:1.3 !important;}
.projects-section .project-copy p,.projects-section .project-right .project-copy p,.projects-section .project .project-copy p{margin:0 !important;max-width:100% !important;color:#af0f1c !important;font-size:13px !important;line-height:1.62 !important;letter-spacing:.035em !important;text-transform:uppercase !important;white-space:normal !important;overflow-wrap:break-word !important;}
.projects-section .gallery-grid,.projects-section .project .gallery-grid,.projects-section .project-left .gallery-grid,.projects-section .project-right .gallery-grid{position:static !important;inset:auto !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;transform:none !important;opacity:1 !important;transition:none !important;z-index:2 !important;}
.projects-section{align-items:stretch !important;}
.projects-section>.container:first-child{display:none !important;}
.projects-section>.project,.projects-section>.project-right,.projects-section>.project.is-visible,.projects-section>.project-right.is-visible{width:auto !important;max-width:none !important;min-height:350px !important;height:100% !important;margin:0 !important;padding:24px 26px 24px !important;display:grid !important;grid-template-areas:"title title" "copy gallery" !important;align-items:center !important;border:2px solid #2d2d2d !important;border-radius:24px !important;background:rgba(255,255,255,.94) !important;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease,background-color .32s ease !important;position:relative !important;}
.projects-section>.project::after,.projects-section>.project-right::after{content:"APRI GALLERIA";position:absolute;right:24px;bottom:18px;font-size:11px;font-weight:700;letter-spacing:.18em;color:#af0f1c;opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease;pointer-events:none;}
.projects-section>.project:hover,.projects-section>.project:focus-visible,.projects-section>.project-right:hover,.projects-section>.project-right:focus-visible{transform:translateY(-7px) !important;box-shadow:0 16px 38px rgba(0,0,0,.12) !important;border-color:#161616 !important;background:#fff !important;outline:none !important;}
.projects-section>.project:hover::after,.projects-section>.project:focus-visible::after,.projects-section>.project-right:hover::after,.projects-section>.project-right:focus-visible::after{opacity:1;transform:translateY(0);}
.projects-section .project-title{grid-area:title !important;width:100% !important;max-width:100% !important;margin:0 auto 2px !important;text-align:center !important;font-size:20px !important;line-height:1.15 !important;letter-spacing:.08em !important;white-space:normal !important;overflow-wrap:anywhere !important;}
.projects-section .project-copy{grid-area:copy !important;padding:0 12px 0 8px !important;align-self:center !important;}
.projects-section .gallery-grid,.projects-section .project .gallery-grid,.projects-section .project-right .gallery-grid{grid-area:gallery !important;width:244px !important;max-width:100% !important;height:auto !important;margin:0 !important;display:grid !important;grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:122px !important;gap:0 !important;justify-self:end !important;align-self:center !important;overflow:hidden !important;border-radius:0 !important;box-shadow:0 12px 26px rgba(0,0,0,.10) !important;background:#f2f2f2 !important;}
.projects-section .gallery-grid img{transition:transform .35s ease,box-shadow .35s ease,filter .35s ease,opacity .35s ease !important;filter:saturate(.98);}
.projects-section>.project:hover .gallery-grid img:nth-child(1),.projects-section>.project:focus-visible .gallery-grid img:nth-child(1),.projects-section>.project-right:hover .gallery-grid img:nth-child(1),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(1){transform:translateX(-8px) scale(1.035);box-shadow:8px 10px 18px rgba(0,0,0,.10);}
.projects-section>.project:hover .gallery-grid img:nth-child(2),.projects-section>.project:focus-visible .gallery-grid img:nth-child(2),.projects-section>.project-right:hover .gallery-grid img:nth-child(2),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(2){transform:translateX(8px) scale(1.035);box-shadow:-8px 10px 18px rgba(0,0,0,.10);}
.logo-hero{overflow:hidden !important;}
.logo-hero .hero-title{z-index:2 !important;}
.logo-hero .hero-logo,.logo-hero .hero-actions{opacity:1 !important;animation:none !important;}
.logo-hero .hero-logo{transform:none !important;}
.logo-hero .hero-actions{transform:none !important;}
.hero-btn,.hero-btn:hover{transform:none !important;}
.hero-btn{transition:none !important;}
.about-section>.container>.section-title.red{display:none !important;}
.projects-section{isolation:isolate !important;}
.projects-section>*{position:relative !important;z-index:1 !important;}
.contact-section{position:relative !important;isolation:isolate !important;overflow:hidden !important;}
.contact-section::before{position:absolute !important;right:-0.03em !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:800 !important;font-size:12vw !important;line-height:.82 !important;letter-spacing:-0.03em !important;pointer-events:none !important;z-index:0 !important;}
.contact-section>*{position:relative !important;z-index:1 !important;}
.floating-contact,.contact-cta-title{display:none !important;}
.about-section,.services-section,.projects-section,.contact-section{position:relative !important;isolation:isolate !important;}
.about-section::before,.services-section::before,.projects-section::before,.contact-section::before{position:absolute !important;top:34px !important;right:-0.08em !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:800 !important;font-size:12.8vw !important;letter-spacing:-0.03em !important;line-height:0.72 !important;text-align:right !important;white-space:pre-line !important;color:rgba(17,18,23,.055) !important;pointer-events:none !important;z-index:0 !important;}
.about-section>*,.services-section>*,.projects-section>*,.contact-section>*{position:relative !important;z-index:1 !important;}
.about-section,.services-section,.work-detail-section,.projects-section,.contact-section{position:relative !important;isolation:isolate !important;}
.about-section::before,.services-section::before,.work-detail-section::before,.projects-section::before,.contact-section::before{position:absolute !important;top:34px !important;right:-0.08em !important;width:min(48vw,760px) !important;display:block !important;text-align:right !important;white-space:pre-line !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:800 !important;font-size:12.5vw !important;line-height:.72 !important;letter-spacing:-.03em !important;pointer-events:none !important;z-index:0 !important;}
.about-section>*,.services-section>*,.work-detail-section>*,.projects-section>*,.contact-section>*{position:relative !important;z-index:1 !important;}
.logo-hero{position:relative !important;isolation:isolate !important;}
.logo-hero::before{position:absolute !important;display:block !important;text-align:right !important;white-space:pre-line !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:800 !important;letter-spacing:-.03em !important;pointer-events:none !important;z-index:0 !important;}
.logo-hero .hero-title,.logo-hero .hero-logo,.logo-hero .hero-actions{position:relative !important;z-index:1 !important;}
.projects-section::before{display:block !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;}
.projects-section>.project,.projects-section>.project-right,.projects-section>article.project{overflow:hidden !important;}
.projects-section .project-title,.projects-section .project-right .project-title{top:16px !important;left:50% !important;right:auto !important;width:calc(100% - 56px) !important;max-width:calc(100% - 56px) !important;margin:0 !important;padding:0 !important;text-align:center !important;white-space:normal !important;overflow-wrap:anywhere !important;word-break:normal !important;transform:translateX(-50%) !important;z-index:3 !important;}
.logo-hero,.about-section,.services-section,.work-detail-section,.projects-section,.contact-section{position:relative !important;overflow:hidden !important;isolation:isolate !important;}
.logo-hero::before,.about-section::before,.services-section::before,.work-detail-section::before,.projects-section::before,.contact-section::before{position:absolute !important;display:block !important;white-space:pre-line !important;text-align:right !important;right:34px !important;left:auto !important;top:32px !important;width:min(31vw,520px) !important;max-width:calc(100% - 68px) !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:800 !important;font-size:min(8.7vw,156px) !important;line-height:.80 !important;letter-spacing:-.03em !important;pointer-events:none !important;z-index:0 !important;word-break:keep-all !important;overflow:visible !important;}
.logo-hero::before{width:min(38vw,640px) !important;line-height:.82 !important;}
.work-detail-section::before{width:min(34vw,580px) !important;}
.contact-section::before{top:26px !important;}
.logo-hero>*,.about-section>*,.services-section>*,.work-detail-section>*,.projects-section>*,.contact-section>*{position:relative !important;z-index:1 !important;}
.projects-section>.container,.projects-section .section-title.red{display:none !important;}
.projects-section{position:relative !important;overflow:hidden !important;padding-top:64px !important;}
.projects-section::before{white-space:pre !important;right:-0.06em !important;left:auto !important;width:auto !important;max-width:none !important;font-weight:800 !important;letter-spacing:-.07em !important;text-align:right !important;transform:none !important;z-index:0 !important;pointer-events:none !important;}
html,body{max-width:100% !important;overflow-x:hidden !important;}
.logo-hero,.about-section,.work-detail-section,.services-section,.projects-section,.contact-section{position:relative !important;overflow:hidden !important;isolation:isolate !important;}
.logo-hero::before,.about-section::before,.work-detail-section::before,.services-section::before,.projects-section::before,.contact-section::before{position:absolute !important;display:block !important;left:auto !important;right:clamp(16px,2.2vw,34px) !important;top:clamp(18px,2.3vw,34px) !important;width:auto !important;max-width:calc(100vw - 32px) !important;white-space:pre-line !important;text-align:right !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:800 !important;font-size:clamp(72px,9.2vw,156px) !important;line-height:.80 !important;letter-spacing:-.055em !important;word-break:keep-all !important;overflow:visible !important;pointer-events:none !important;z-index:0 !important;transform:none !important;}
.logo-hero::before{content:"COSTRUIRE\A CON\A PASSIONE" !important;font-size:clamp(70px,8.8vw,160px) !important;color:rgba(17,18,23,.065) !important;}
.about-section::before{content:"CHI\A SIAMO" !important;color:rgba(17,18,23,.055) !important;}
.work-detail-section::before{content:"COME\A LAVORIAMO" !important;color:rgba(255,255,255,.16) !important;font-size:clamp(68px,8.4vw,148px) !important;}
.services-section::before{content:"COSA\A FACCIAMO" !important;color:rgba(17,18,23,.055) !important;font-size:clamp(68px,8.4vw,148px) !important;}
.projects-section::before{content:"PROGETTI\A REALIZZATI" !important;top:clamp(18px,2.1vw,30px) !important;color:rgba(17,18,23,.055) !important;font-size:clamp(72px,8.8vw,148px) !important;line-height:.80 !important;}
.contact-section::before{content:"CONTATTI" !important;color:rgba(17,18,23,.055) !important;}
.logo-hero>*,.about-section>*,.work-detail-section>*,.services-section>*,.projects-section>*,.contact-section>*{position:relative !important;z-index:1 !important;}
.projects-section{width:100% !important;max-width:none !important;margin:0 !important;padding:180px max(24px,calc((100vw - 1220px) / 2)) 96px !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:30px 28px !important;background:#fff !important;}
.projects-section>.container:first-child,.projects-section .section-title.red{display:none !important;}
.projects-section>article.project,.projects-section>.project,.projects-section>.project-right,.projects-section>.project.is-visible,.projects-section>.project-right.is-visible{width:100% !important;max-width:none !important;min-height:350px !important;height:100% !important;margin:0 !important;padding:26px !important;display:grid !important;grid-template-columns:minmax(0,1fr) 244px !important;grid-template-areas:"title title" "copy gallery" !important;gap:18px 24px !important;align-items:center !important;border:2px solid #2d2d2d !important;border-radius:24px !important;background:rgba(255,255,255,.96) !important;overflow:hidden !important;box-sizing:border-box !important;}
.projects-section .project-title,.projects-section .project-right .project-title,.projects-section .project.project-left .project-title,.projects-section .project.project-right .project-title{position:relative !important;grid-area:title !important;top:auto !important;left:auto !important;right:auto !important;transform:none !important;width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;text-align:center !important;white-space:normal !important;overflow-wrap:anywhere !important;word-break:normal !important;font-size:20px !important;line-height:1.15 !important;letter-spacing:.08em !important;z-index:2 !important;}
.projects-section .project-copy,.projects-section .project .project-copy,.projects-section .project-right .project-copy{grid-area:copy !important;min-width:0 !important;max-width:100% !important;padding:0 10px 0 6px !important;overflow:hidden !important;box-sizing:border-box !important;}
.projects-section .project-year,.projects-section .project-copy p,.projects-section .project .project-copy p,.projects-section .project-right .project-copy p{max-width:100% !important;white-space:normal !important;overflow-wrap:anywhere !important;word-break:normal !important;}
.projects-section .project-year{margin:0 0 14px !important;font-size:14px !important;letter-spacing:.17em !important;}
.projects-section .project-copy p{margin:0 !important;font-size:12px !important;line-height:1.62 !important;letter-spacing:.035em !important;}
.projects-section .gallery-grid,.projects-section .project .gallery-grid,.projects-section .project-left .gallery-grid,.projects-section .project-right .gallery-grid{grid-area:gallery !important;height:auto !important;margin:0 !important;}
.projects-section .gallery-grid img{width:100% !important;height:122px !important;display:block !important;object-fit:cover !important;}
.video-parallax-strip+.about-section,.about-section{padding-top:56px !important;}
.projects-section .gallery-grid,.projects-section .project .gallery-grid,.projects-section .project-left .gallery-grid,.projects-section .project-right .gallery-grid{width:286px !important;max-width:100% !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-auto-rows:124px !important;gap:12px !important;overflow:visible !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important;justify-self:end !important;align-self:center !important;}
.projects-section .gallery-grid img:nth-child(n/**/+5){display:none !important;}
.projects-section .gallery-grid img:nth-child(3){transform:translateY(8px) !important;}
.projects-section .gallery-grid img:nth-child(4){transform:translateY(-10px) !important;}
.projects-section>.project:hover .gallery-grid img,.projects-section>.project:focus-visible .gallery-grid img,.projects-section>.project-right:hover .gallery-grid img,.projects-section>.project-right:focus-visible .gallery-grid img{box-shadow:0 10px 24px rgba(0,0,0,.12) !important;filter:none !important;}
.projects-section>.project:hover .gallery-grid img:nth-child(1),.projects-section>.project:focus-visible .gallery-grid img:nth-child(1),.projects-section>.project-right:hover .gallery-grid img:nth-child(1),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(1){transform:translateY(-8px) !important;}
.projects-section>.project:hover .gallery-grid img:nth-child(2),.projects-section>.project:focus-visible .gallery-grid img:nth-child(2),.projects-section>.project-right:hover .gallery-grid img:nth-child(2),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(2){transform:translateY(12px) !important;}
.projects-section>.project:hover .gallery-grid img:nth-child(3),.projects-section>.project:focus-visible .gallery-grid img:nth-child(3),.projects-section>.project-right:hover .gallery-grid img:nth-child(3),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(3){transform:translateY(8px) !important;}
.projects-section>.project:hover .gallery-grid img:nth-child(4),.projects-section>.project:focus-visible .gallery-grid img:nth-child(4),.projects-section>.project-right:hover .gallery-grid img:nth-child(4),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(4){transform:translateY(-10px) !important;}
.about-section{position:relative !important;padding-top:28px !important;padding-bottom:86px !important;min-height:auto !important;}
.about-section>.container{padding-top:0 !important;}
.about-section>.container>.section-title.red{margin-top:0 !important;margin-bottom:34px !important;transform:none !important;position:relative !important;top:auto !important;}
.about-section .about-grid{align-items:center !important;}
.projects-section>.project,.projects-section>.project-right,.projects-section>.project.is-visible,.projects-section>.project-right.is-visible{grid-template-columns:minmax(0,1fr) 304px !important;gap:18px 36px !important;overflow:visible !important;cursor:pointer !important;}
.projects-section .project-left .gallery-grid,.projects-section .project-right .gallery-grid,.projects-section .project .gallery-grid,.projects-section .gallery-grid{width:304px !important;max-width:100% !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-auto-rows:168px !important;gap:16px !important;overflow:visible !important;border-radius:0 !important;background:transparent !important;justify-self:end !important;align-self:center !important;box-shadow:none !important;}
.projects-section .gallery-grid img,.projects-section .project .gallery-grid img,.projects-section .project-right .gallery-grid img{display:block !important;width:100% !important;height:168px !important;object-fit:cover !important;opacity:1 !important;filter:none !important;cursor:pointer !important;}
.projects-section .gallery-grid img:nth-child(1){transform:translateY(-10px) !important;}
.projects-section .gallery-grid img:nth-child(2){transform:translateY(18px) !important;}
.projects-section .gallery-grid img:nth-child(n/**/+3){display:none !important;}
.projects-section>.project:hover .gallery-grid img:nth-child(1),.projects-section>.project-right:hover .gallery-grid img:nth-child(1),.projects-section>.project:focus-visible .gallery-grid img:nth-child(1),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(1){transform:translateY(-10px) !important;filter:none !important;}
.projects-section>.project:hover .gallery-grid img:nth-child(2),.projects-section>.project-right:hover .gallery-grid img:nth-child(2),.projects-section>.project:focus-visible .gallery-grid img:nth-child(2),.projects-section>.project-right:focus-visible .gallery-grid img:nth-child(2){transform:translateY(18px) !important;filter:none !important;}
.contact-parallax-box{position:relative;height:430px;overflow:hidden;background:#151515;isolation:isolate;margin:0;}
.contact-parallax-inner{position:absolute;inset:-90px 0;}
.contact-parallax-inner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.14) 52%,rgba(0,0,0,.36));z-index:2;pointer-events:none;}
.contact-parallax-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);transition:opacity 1400ms ease,transform 5200ms ease;}
.contact-parallax-inner img.is-active{opacity:1;transform:scale(1.09);}
.contact-parallax-caption{position:absolute;left:max(28px,7vw);bottom:34px;z-index:3;color:#fff;font-family:Rajdhani,Manrope,Arial,sans-serif;font-size:clamp(34px,6vw,82px);font-weight:700;line-height:.86;letter-spacing:-.035em;text-shadow:0 4px 18px rgba(0,0,0,.42);}
.contact-parallax-box,.projects-section+.contact-parallax-box{display:block !important;}
.projects-section>.project,.projects-section>.project-right,.projects-section>.project.is-visible,.projects-section>.project-right.is-visible{box-shadow:0 22px 46px rgba(0,0,0,.13) !important;}
.projects-section .gallery-grid img,.projects-section .project .gallery-grid img,.projects-section .project-right .gallery-grid img{border-radius:0 !important;box-shadow:none !important;outline:0 !important;transition:none !important;}
.projects-section .gallery-grid img:hover,.projects-section .project .gallery-grid img:hover,.projects-section .project-right .gallery-grid img:hover{opacity:1 !important;filter:none !important;}
.contact-parallax-box{display:flex !important;align-items:center !important;justify-content:center !important;height:430px !important;background:#111217 !important;isolation:isolate !important;}
.contact-parallax-inner{transform:translate3d(0,0,0) scale(1.04);will-change:transform;z-index:0 !important;}
.contact-parallax-inner::after,.contact-parallax-box::before{content:"" !important;position:absolute !important;inset:0 !important;background:linear-gradient(135deg,rgba(175,15,28,.42),rgba(0,0,0,.56)) !important;z-index:1 !important;pointer-events:none !important;}
.contact-parallax-box::after{content:"" !important;position:absolute !important;inset:0 !important;background:repeating-linear-gradient(-35deg,rgba(0,0,0,.13) 0,rgba(0,0,0,.13) 1px,transparent 1px,transparent 5px) !important;z-index:2 !important;pointer-events:none !important;}
.contact-parallax-inner img{transform:scale(1.045) !important;}
.contact-parallax-inner img.is-active{opacity:1 !important;transform:scale(1.09) !important;}
.contact-parallax-caption{position:relative !important;left:auto !important;bottom:auto !important;z-index:3 !important;margin:0 !important;color:#fff !important;font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-size:32px !important;line-height:1.1 !important;letter-spacing:.02em !important;font-weight:700 !important;text-transform:uppercase !important;text-align:center !important;text-shadow:0 2px 12px rgba(0,0,0,.42) !important;}
.contact-parallax-caption::before,.contact-parallax-caption::after{border-top:2px solid currentColor !important;vertical-align:middle !important;}
.contact-section .contact-carousel-wrap,.contact-section .contact-carousel,.contact-section .contact-arrow{display:none !important;}
.contact-panel{grid-template-columns:1fr !important;}
.about-section .about-copy h3{display:none !important;}
.logo-hero::before{top:clamp(78px,11vh,118px) !important;bottom:auto !important;transform:none !important;right:clamp(18px,2.2vw,34px) !important;}
.contact-parallax-caption::before,.contact-parallax-caption::after{content:none !important;display:none !important;border:0 !important;margin:0 !important;width:0 !important;}
.contact-section{background:var(--paper-soft) !important;}
.contact-column{max-width:none !important;}
.contact-card{min-height:auto !important;height:auto !important;background:transparent !important;box-shadow:none !important;border:0 !important;}
.contact-card h2{display:none !important;}
.main-nav a{background:#e6e6e6 !important;}
.contact-card{padding-top:4px !important;}
.projects-section .gallery-grid,.projects-section .project .gallery-grid,.projects-section .project-right .gallery-grid,.projects-section>.project:hover .gallery-grid,.projects-section>.project-right:hover .gallery-grid,.projects-section>.project:focus-visible .gallery-grid,.projects-section>.project-right:focus-visible .gallery-grid{box-shadow:none !important;filter:none !important;}
.projects-section .gallery-grid img,.projects-section .project .gallery-grid img,.projects-section .project-right .gallery-grid img,.projects-section .gallery-grid img:hover,.projects-section .project .gallery-grid img:hover,.projects-section .project-right .gallery-grid img:hover,.projects-section>.project:hover .gallery-grid img,.projects-section>.project-right:hover .gallery-grid img,.projects-section>.project:focus-visible .gallery-grid img,.projects-section>.project-right:focus-visible .gallery-grid img{box-shadow:none !important;filter:none !important;}
.contact-section,.contact-panel,.contact-card{background:transparent !important;}
.contact-section{padding-bottom:0 !important;}
.contact-card h3{font-size:24px !important;line-height:1.35 !important;}
.contact-card h3 span{margin-bottom:0 !important;}
.contact-items>div{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-start !important;}
.contact-items img{width:auto !important;display:block !important;}
.map-wrap{height:360px !important;overflow:hidden !important;line-height:0 !important;}
.map-wrap iframe{display:block !important;width:100% !important;height:360px !important;margin:0 !important;vertical-align:top !important;border:0 !important;}
.site-footer{margin-top:0 !important;}
.contact-section{padding-top:44px !important;}
.contact-panel{margin:0 auto !important;}
.contact-card{padding:0 !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;text-align:center !important;}
.contact-card h3{width:100% !important;max-width:none !important;margin:0 0 34px !important;text-align:center !important;}
.contact-card h3 span{display:inline-block !important;white-space:nowrap !important;font-size:40px !important;line-height:1.04 !important;letter-spacing:.01em !important;}
.contact-items>div{gap:14px !important;}
.contact-items img{height:62px !important;margin:0 auto 8px !important;}
.contact-items a{display:block !important;width:100% !important;text-align:center !important;}
.contact-items>div:last-child a:last-child{margin:0 auto !important;}
.map-wrap{margin-top:32px !important;}
.contact-items>div{max-width:220px !important;}
.contact-items a{font-size:15px !important;line-height:1.42 !important;}
.contact-items>div:last-child{max-width:190px !important;}
.contact-items>div:last-child a:last-child{max-width:180px !important;font-size:13px !important;line-height:1.5 !important;}
.contact-items>div{width:100% !important;}
.contact-items>div:nth-child(1){max-width:260px !important;}
.contact-items>div:nth-child(2){max-width:180px !important;}
.contact-items>div:nth-child(3){max-width:240px !important;}
.contact-items a{overflow-wrap:normal !important;word-break:normal !important;}
.contact-items>div:nth-child(1) a:last-child{font-size:14px !important;line-height:1.35 !important;white-space:nowrap !important;}
.contact-items>div:nth-child(2) a:last-child{font-size:14px !important;line-height:1.35 !important;white-space:nowrap !important;}
.contact-items{width:auto !important;max-width:none !important;display:grid !important;grid-template-columns:220px 220px 220px !important;justify-content:center !important;justify-items:center !important;align-items:start !important;gap:74px !important;margin:0 auto !important;}
.contact-items>div,.contact-items>div:nth-child(1),.contact-items>div:nth-child(2),.contact-items>div:nth-child(3){width:220px !important;max-width:220px !important;}
.contact-items>div:nth-child(1) a:last-child,.contact-items>div:nth-child(2) a:last-child{font-size:14px !important;line-height:1.35 !important;white-space:nowrap !important;text-align:center !important;}
.contact-items>div:nth-child(3) a:last-child{max-width:180px !important;margin:0 auto !important;font-size:12px !important;line-height:1.45 !important;white-space:normal !important;text-align:center !important;}
.contact-panel{display:flex !important;justify-content:center !important;align-items:flex-start !important;max-width:none !important;width:100% !important;padding:0 24px !important;}
.contact-column{width:auto !important;flex:0 0 auto !important;display:flex !important;justify-content:center !important;}
.contact-card{width:auto !important;max-width:none !important;margin:0 auto !important;align-items:center !important;}
.contact-card h3{margin-left:auto !important;margin-right:auto !important;}
.contact-items{margin-left:auto !important;margin-right:auto !important;}
.projects-section>article.project,.projects-section>.project,.projects-section>.project-right,.projects-section>.project.is-visible,.projects-section>.project-right.is-visible,.projects-section .project-title,.projects-section .project-copy,.projects-section .project-year,.projects-section .project-copy p,.projects-section .gallery-grid,.projects-section .gallery-grid img{opacity:1 !important;animation:none !important;transition:none !important;will-change:auto !important;}
.projects-section>article.project,.projects-section>.project,.projects-section>.project-right{transform:none !important;}
.parallax .section-title,.video-parallax-strip .video-strip-title,.contact-parallax-caption{font-size:clamp(42px,5.5vw,86px) !important;line-height:1.02 !important;}
.projects-section>article.project,.projects-section>.project,.projects-section>.project-right{background:rgba(255,255,255,.50) !important;backdrop-filter:saturate(1.05) blur(1px);}
.projects-section>article.project:hover,.projects-section>.project:hover,.projects-section>.project-right:hover,.projects-section>article.project:focus-visible,.projects-section>.project:focus-visible,.projects-section>.project-right:focus-visible{background:rgba(255,255,255,.62) !important;}
.section-title.grey,.projects-sale-title{color:rgba(17,18,23,.38) !important;}
.projects-sale-section{padding-bottom:42px !important;}
.projects-sale-section+.projects-section{padding-top:28px !important;}
.projects-sale-section .projects-sale-title{margin-bottom:58px !important;}
.projects-section>article.project,.projects-section>.project,.projects-section>.project-right{transition:transform .48s cubic-bezier(.22,.61,.36,1),box-shadow .48s cubic-bezier(.22,.61,.36,1),border-color .48s cubic-bezier(.22,.61,.36,1),background-color .48s cubic-bezier(.22,.61,.36,1) !important;will-change:transform !important;}
.projects-section>article.project:hover,.projects-section>.project:hover,.projects-section>.project-right:hover,.projects-section>article.project:focus-visible,.projects-section>.project:focus-visible,.projects-section>.project-right:focus-visible{transform:translate3d(0,-6px,0) !important;box-shadow:0 24px 54px rgba(0,0,0,.14) !important;}
.projects-section .gallery-grid,.projects-section .gallery-grid img{transition:none !important;}
.parallax .section-title,.video-parallax-strip .section-title,.contact-parallax-caption{font-family:"Rajdhani","Manrope",Arial,sans-serif !important;font-weight:500 !important;letter-spacing:.03em !important;}
.video-parallax-strip .section-title{line-height:1.02 !important;}
.parallax .section-title,.video-parallax-strip .video-strip-title,.contact-parallax-caption{font-weight:400 !important;letter-spacing:.04em !important;}
.site-header{background:var(--red) !important;box-shadow:0 4px 16px rgba(0,0,0,.16) !important;}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.28);pointer-events:none;}
.brand{display:flex !important;align-items:center !important;}
.brand img{display:block !important;}
.main-nav{gap:8px !important;padding-right:10px !important;}
.main-nav a,.main-nav a:hover,.main-nav a.active{position:relative !important;min-width:auto !important;padding:0 16px !important;display:flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;border-radius:999px !important;border:1px solid rgba(255,255,255,.95) !important;background:#ffffff !important;color:var(--red) !important;font-weight:600 !important;line-height:1 !important;transition:background-color .28s ease,color .28s ease,border-color .28s ease,transform .28s ease !important;overflow:visible !important;}
.main-nav a::after{content:"" !important;position:absolute !important;left:16px !important;right:16px !important;bottom:-7px !important;height:2px !important;border-radius:999px !important;background:#ffffff !important;transform:scaleX(0) !important;transform-origin:left center !important;transition:transform .28s ease !important;opacity:1 !important;}
.main-nav a:hover{transform:translateY(-1px) !important;}
.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a.active::after,.main-nav a:active::after{transform:scaleX(1) !important;}
.main-nav a.active,.main-nav a:active{background:#d9d9d9 !important;color:#5f5f5f !important;border-color:#ffffff !important;}
.mobile-toggle{background:#ffffff !important;color:var(--red) !important;border:1px solid rgba(255,255,255,.95) !important;}
.mobile-toggle:active{background:#d9d9d9 !important;color:#5f5f5f !important;}
.work-detail-section{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-start !important;gap:30px !important;min-height:auto !important;padding:74px 40px 78px !important;}
.work-copy{max-width:980px !important;text-align:center !important;line-height:1.65 !important;}
.partners-strip{width:min(100%,980px) !important;height:auto !important;min-height:auto !important;flex-wrap:wrap !important;justify-content:center !important;gap:34px !important;padding:0 !important;background:transparent !important;}
.partners-strip img{height:52px !important;}
.detail-carousel{display:flex !important;width:min(100%,1280px) !important;height:300px !important;margin-top:2px !important;overflow-x:auto !important;overflow-y:hidden !important;}
.contact-parallax-box{position:relative !important;min-height:320px !important;overflow:hidden !important;}
.contact-parallax-inner{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;}
.contact-parallax-inner img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;opacity:0 !important;transition:opacity .8s ease !important;}
.contact-parallax-inner img:first-child,.contact-parallax-inner img.is-active{opacity:1 !important;}
.cookie-bar,.cookie-bar span,.cookie-bar button,.cookie-close,.cookie-ok{color:#ffffff !important;}
.cookie-bar{background:rgba(21,22,27,.96) !important;border-top:1px solid rgba(255,255,255,.14) !important;}
.cookie-ok{background:var(--red) !important;}
.cookie-close{opacity:1 !important;color:#ffffff !important;}
.cookie-close:hover,.cookie-ok:hover{filter:brightness(1.08) !important;}
.site-header{height:72px !important;}
.brand{width:680px !important;min-width:0 !important;padding-left:8px !important;padding-right:8px !important;}
.brand img{height:58px !important;width:auto !important;max-width:100% !important;}
.main-nav{height:72px !important;align-items:center !important;}
.main-nav a,.main-nav a:hover,.main-nav a.active{height:38px !important;}
/* =========================================================
   V76 - FIX FLUIDITÀ BLOCCHI INTERATTIVI
   1) parallax contatti
   2) animazioni schede progetto
   3) carosello dettagli / come lavoriamo
   ========================================================= */

/* 1) PARALLAX CONTATTI - stabile, senza doppia immagine sempre accesa */
.contact-parallax-box{
  display:flex !important;
  position:relative !important;
  align-items:center !important;
  justify-content:center !important;
  height:430px !important;
  min-height:430px !important;
  margin:0 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#111217 !important;
}
.contact-parallax-inner{
  position:absolute !important;
  inset:-70px 0 !important;
  width:100% !important;
  height:calc(100% + 140px) !important;
  z-index:0 !important;
  will-change:transform !important;
  transform:translate3d(0,0,0) scale(1.04) !important;
}
.contact-parallax-inner img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:scale(1.045) !important;
  transition:opacity 900ms ease, visibility 0s linear 900ms, transform 5200ms ease !important;
  backface-visibility:hidden !important;
}
.contact-parallax-inner img.is-active{
  opacity:1 !important;
  visibility:visible !important;
  transform:scale(1.09) !important;
  transition:opacity 900ms ease, visibility 0s linear 0s, transform 5200ms ease !important;
}
.contact-parallax-inner::after,
.contact-parallax-box::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(135deg,rgba(175,15,28,.38),rgba(0,0,0,.54)) !important;
}
.contact-parallax-box::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:repeating-linear-gradient(-35deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 5px) !important;
}
.contact-parallax-caption{
  position:relative !important;
  inset:auto !important;
  z-index:3 !important;
  margin:0 !important;
  color:#fff !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(42px,5.5vw,86px) !important;
  line-height:1.02 !important;
  font-weight:400 !important;
  letter-spacing:.04em !important;
  text-align:center !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 12px rgba(0,0,0,.42) !important;
}
.contact-parallax-caption::before,
.contact-parallax-caption::after{content:none !important;display:none !important;}

/* 2) SCHEDE PROGETTO - reveal fluido + hover leggero, senza scatti */
.projects-section > article.project,
.projects-section > .project,
.projects-section > .project-right{
  opacity:0 !important;
  transform:translate3d(0,34px,0) !important;
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1),
    box-shadow .38s cubic-bezier(.22,.61,.36,1),
    background-color .38s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity,transform !important;
}
.projects-section > article.project.is-visible,
.projects-section > .project.is-visible,
.projects-section > .project-right.is-visible{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
}
.projects-section > article.project.is-visible:hover,
.projects-section > .project.is-visible:hover,
.projects-section > .project-right.is-visible:hover,
.projects-section > article.project.is-visible:focus-visible,
.projects-section > .project.is-visible:focus-visible,
.projects-section > .project-right.is-visible:focus-visible{
  transform:translate3d(0,-6px,0) !important;
  box-shadow:0 24px 54px rgba(0,0,0,.14) !important;
}
.projects-section .gallery-grid img{
  transition:opacity .22s ease, transform .22s ease !important;
  will-change:auto !important;
}
.projects-section .gallery-grid img:hover{
  opacity:.86 !important;
  transform:scale(1.025) !important;
}

/* 3) CAROSELLO COME LAVORIAMO - coverflow controllato dal JS */
.detail-carousel{
  position:relative !important;
  display:block !important;
  width:min(560px,100%) !important;
  height:330px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  cursor:grab !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  touch-action:pan-y !important;
  scrollbar-width:none !important;
}
.detail-carousel::-webkit-scrollbar{display:none !important;}
.detail-carousel.dragging{cursor:grabbing !important;}
.detail-carousel img{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  display:block !important;
  width:110px !important;
  height:145px !important;
  flex:none !important;
  object-fit:cover !important;
  opacity:0 !important;
  visibility:hidden !important;
  z-index:0 !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:translate(-50%,-50%) scale(.86) !important;
  transition:transform .46s cubic-bezier(.22,.61,.36,1), opacity .46s ease, filter .46s ease, box-shadow .46s ease !important;
  will-change:transform,opacity !important;
}
.detail-carousel img.pos-m2,
.detail-carousel img.pos-m1,
.detail-carousel img.pos-0,
.detail-carousel img.pos-p1,
.detail-carousel img.pos-p2{
  visibility:visible !important;
}
.detail-carousel img.pos-m2{
  width:92px !important;
  height:120px !important;
  opacity:.22 !important;
  z-index:1 !important;
  filter:grayscale(10%) !important;
  transform:translate(-50%,-50%) translateX(-235px) scale(.86) !important;
}
.detail-carousel img.pos-m1{
  width:138px !important;
  height:178px !important;
  opacity:.52 !important;
  z-index:2 !important;
  transform:translate(-50%,-50%) translateX(-146px) scale(.94) !important;
}
.detail-carousel img.pos-0,
.detail-carousel img.is-center,
.detail-carousel img:nth-child(4n+2).pos-0{
  width:330px !important;
  height:250px !important;
  opacity:1 !important;
  z-index:5 !important;
  box-shadow:0 10px 26px rgba(0,0,0,.20) !important;
  transform:translate(-50%,-50%) translateX(0) scale(1) !important;
}
.detail-carousel img.pos-p1{
  width:138px !important;
  height:178px !important;
  opacity:.52 !important;
  z-index:2 !important;
  transform:translate(-50%,-50%) translateX(146px) scale(.94) !important;
}
.detail-carousel img.pos-p2{
  width:92px !important;
  height:120px !important;
  opacity:.22 !important;
  z-index:1 !important;
  filter:grayscale(10%) !important;
  transform:translate(-50%,-50%) translateX(235px) scale(.86) !important;
}

@media (max-width:900px){
  .contact-parallax-box{height:320px !important;min-height:320px !important;}
  .contact-parallax-inner{inset:-45px 0 !important;height:calc(100% + 90px) !important;}
  .contact-parallax-caption{font-size:clamp(34px,9vw,54px) !important;}

  .projects-section > article.project,
  .projects-section > .project,
  .projects-section > .project-right{
    opacity:1 !important;
    transform:none !important;
    transition:box-shadow .28s ease, background-color .28s ease !important;
  }

  .detail-carousel{
    width:100% !important;
    height:270px !important;
    margin-top:24px !important;
  }
  .detail-carousel img.pos-m2{width:62px !important;height:86px !important;transform:translate(-50%,-50%) translateX(-40vw) scale(.82) !important;}
  .detail-carousel img.pos-m1{width:88px !important;height:120px !important;transform:translate(-50%,-50%) translateX(-26vw) scale(.9) !important;}
  .detail-carousel img.pos-0,
  .detail-carousel img.is-center,
  .detail-carousel img:nth-child(4n+2).pos-0{width:min(76vw,340px) !important;height:225px !important;}
  .detail-carousel img.pos-p1{width:88px !important;height:120px !important;transform:translate(-50%,-50%) translateX(26vw) scale(.9) !important;}
  .detail-carousel img.pos-p2{width:62px !important;height:86px !important;transform:translate(-50%,-50%) translateX(40vw) scale(.82) !important;}
}

/* V77 FIX: centra davvero il carosello "Come lavoriamo" e blocca i caricamenti background fuori viewport */
.work-detail-section{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:34px !important;
  padding-left:24px !important;
  padding-right:24px !important;
}
.work-detail-section .work-copy{
  margin:0 auto !important;
  max-width:980px !important;
}
.work-detail-section .partners-strip{
  width:min(980px,100%) !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
  flex-wrap:wrap !important;
}
.work-detail-section .detail-carousel{
  width:min(760px,100%) !important;
  max-width:760px !important;
  height:330px !important;
  margin:22px auto 0 !important;
  align-self:center !important;
  justify-self:center !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}
.work-detail-section .detail-carousel img.pos-m2{transform:translate(-50%,-50%) translateX(-285px) scale(.86) !important;}
.work-detail-section .detail-carousel img.pos-m1{transform:translate(-50%,-50%) translateX(-176px) scale(.94) !important;}
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.is-center,
.work-detail-section .detail-carousel img:nth-child(4n+2).pos-0{transform:translate(-50%,-50%) translateX(0) scale(1) !important;}
.work-detail-section .detail-carousel img.pos-p1{transform:translate(-50%,-50%) translateX(176px) scale(.94) !important;}
.work-detail-section .detail-carousel img.pos-p2{transform:translate(-50%,-50%) translateX(285px) scale(.86) !important;}

/* Lazy background: finché JS non aggiunge .bg-loaded non scarica le immagini CSS sotto viewport */
.parallax-work:not(.bg-loaded),
.parallax-services:not(.bg-loaded){
  background-image:none !important;
  background-color:#111217 !important;
}
.parallax-work.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),url("assets/media/tools.jpg?v=149") !important;
}
.parallax-services.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.24),rgba(0,0,0,.24)),url("assets/media/construction-company.jpg?v=149") !important;
}

@media (max-width:900px){
  .work-detail-section{gap:26px !important;padding-left:18px !important;padding-right:18px !important;}
  .work-detail-section .detail-carousel{width:100% !important;max-width:100% !important;height:270px !important;margin-top:10px !important;}
  .work-detail-section .partners-strip{gap:14px !important;}
}

/* V78 FIX: progetti senza fondo bianco + carousel dettagli con angoli arrotondati */
.projects-section,
.projects-section.projects-sale-section{
  background:#d6d6d6 !important;
  background-image:none !important;
  background-color:#d6d6d6 !important;
}
.projects-section > .container:first-child,
.projects-section .container,
.projects-section .project,
.projects-section .project-right,
.projects-section .project-copy,
.projects-section .gallery-grid,
.projects-section .project-title{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
.work-detail-section .detail-carousel img,
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.pos-m1,
.work-detail-section .detail-carousel img.pos-p1,
.work-detail-section .detail-carousel img.pos-m2,
.work-detail-section .detail-carousel img.pos-p2,
.detail-carousel img,
.detail-carousel img.pos-0,
.detail-carousel img.pos-m1,
.detail-carousel img.pos-p1,
.detail-carousel img.pos-m2,
.detail-carousel img.pos-p2{
  border-radius:22px !important;
  overflow:hidden !important;
  clip-path:inset(0 round 22px) !important;
  -webkit-clip-path:inset(0 round 22px) !important;
}
.work-detail-section .detail-carousel img.pos-0,
.detail-carousel img.pos-0,
.detail-carousel img.is-center{
  border-radius:26px !important;
  clip-path:inset(0 round 26px) !important;
  -webkit-clip-path:inset(0 round 26px) !important;
}

/* V79 FIX: sezione progetti bianca e schede senza riempimento interno */
.projects-section,
.projects-section.projects-sale-section,
.projects-section > .container:first-child,
.projects-section .container{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
}
.projects-section .project,
.projects-section .project-right,
.projects-section .project-left,
.projects-section .project-copy,
.projects-section .gallery-grid,
.projects-section .project-title{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
.projects-section .project,
.projects-section .project-right{
  border:2px solid #171717 !important;
  border-radius:30px !important;
}
.projects-section .project::before,
.projects-section .project::after,
.projects-section .project-right::before,
.projects-section .project-right::after{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* V80 FIX: Progetti puliti, senza fondo interno e senza animazioni */
.projects-section,
.projects-section.projects-sale-section{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
}

.projects-section > article.project,
.projects-section > .project,
.projects-section > .project-right,
.projects-section > .project-left,
.projects-section > .project.is-visible,
.projects-section > .project-right.is-visible{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
}

.projects-section > article.project:hover,
.projects-section > .project:hover,
.projects-section > .project-right:hover,
.projects-section > article.project:focus-visible,
.projects-section > .project:focus-visible,
.projects-section > .project-right:focus-visible{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
}

.projects-section .project-title,
.projects-section .project-copy,
.projects-section .project-year,
.projects-section .project-copy p,
.projects-section .gallery-grid,
.projects-section .gallery-grid img{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
}

.projects-section .gallery-grid img:hover,
.projects-section .gallery-grid img:focus-visible{
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
}

.projects-section > article.project::before,
.projects-section > article.project::after,
.projects-section > .project::before,
.projects-section > .project::after,
.projects-section > .project-right::before,
.projects-section > .project-right::after{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* V81: sostituzione completa progetti + layout pulito senza animazioni */
.projects-section.projects-sale-section{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:42px 38px !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:86px 56px 120px !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  overflow:visible !important;
}
.projects-section.projects-sale-section::before{
  content:"PROGETTI\A REALIZZATI" !important;
  color:rgba(17,18,23,.045) !important;
  z-index:0 !important;
}
.projects-section .projects-heading-wrap,
.projects-section > .container.projects-heading-wrap,
.projects-section > .container:first-child.projects-heading-wrap{
  display:block !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  margin:10px 0 8px !important;
  padding:0 !important;
  background:transparent !important;
  position:relative !important;
  z-index:2 !important;
}
.projects-section .projects-sale-title,
.projects-section .projects-realized-heading{
  display:block !important;
  margin:0 !important;
  color:rgba(17,18,23,.11) !important;
  font-size:clamp(46px,8vw,116px) !important;
  line-height:.78 !important;
  letter-spacing:-.035em !important;
  text-align:right !important;
  background:transparent !important;
  pointer-events:none !important;
}
.projects-section > article.project,
.projects-section > article.project-right,
.projects-section > article.project-left,
.projects-section > article.project.is-visible,
.projects-section > article.project-right.is-visible{
  width:auto !important;
  max-width:none !important;
  min-height:330px !important;
  height:auto !important;
  margin:0 !important;
  padding:32px 34px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 244px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  gap:24px 30px !important;
  align-items:center !important;
  border:2px solid #202020 !important;
  border-radius:26px !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  overflow:hidden !important;
  position:relative !important;
  z-index:2 !important;
}
.projects-section > article.project::before,
.projects-section > article.project::after,
.projects-section > article.project-right::before,
.projects-section > article.project-right::after{
  content:none !important;
  display:none !important;
}
.projects-section > article.project-no-gallery{
  grid-template-columns:1fr !important;
  grid-template-areas:"title" "copy" !important;
}
.projects-section > article.project-no-gallery .project-copy{
  max-width:520px !important;
  margin:0 auto !important;
  text-align:left !important;
  padding:0 !important;
}
.projects-section .project-title,
.projects-section .project-right .project-title,
.projects-section .project-left .project-title{
  grid-area:title !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  background:transparent !important;
  color:#af0f1c !important;
  font-size:22px !important;
  line-height:1.15 !important;
  letter-spacing:.09em !important;
  font-weight:700 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
}
.projects-section .project-copy,
.projects-section .project-right .project-copy,
.projects-section .project-left .project-copy{
  grid-area:copy !important;
  position:static !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  background:transparent !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
}
.projects-section .project-year{
  margin:0 0 16px !important;
  color:#af0f1c !important;
  font-size:16px !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
  font-weight:500 !important;
}
.projects-section .project-copy p{
  margin:0 !important;
  max-width:100% !important;
  color:#af0f1c !important;
  font-size:14px !important;
  line-height:1.72 !important;
  letter-spacing:.045em !important;
  font-weight:500 !important;
  text-transform:uppercase !important;
}
.projects-section .gallery-grid,
.projects-section .project .gallery-grid,
.projects-section .project-right .gallery-grid,
.projects-section .project-left .gallery-grid{
  grid-area:gallery !important;
  position:static !important;
  width:244px !important;
  height:auto !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  grid-auto-rows:122px !important;
  gap:0 !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:hidden !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
}
.projects-section .gallery-grid img{
  display:block !important;
  width:100% !important;
  height:122px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
}
.projects-section > article.project:hover,
.projects-section > article.project-right:hover,
.projects-section > article.project-left:hover,
.projects-section > article.project:focus-visible,
.projects-section > article.project-right:focus-visible,
.projects-section > article.project-left:focus-visible{
  transform:none !important;
  box-shadow:none !important;
  background:transparent !important;
  outline:none !important;
}
@media (max-width:960px){
  .projects-section.projects-sale-section{
    grid-template-columns:1fr !important;
    padding:72px 22px 90px !important;
    gap:32px !important;
  }
  .projects-section > article.project,
  .projects-section > article.project-right,
  .projects-section > article.project-left{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    min-height:auto !important;
    padding:28px 24px !important;
  }
  .projects-section .gallery-grid{
    justify-self:center !important;
    width:min(100%,300px) !important;
    grid-auto-rows:150px !important;
  }
  .projects-section .gallery-grid img{height:150px !important;}
}

/* V82: progetti puliti, senza doppioni prima dei contatti */
.projects-section.projects-clean-section,
.projects-section.projects-sale-list,
.projects-section.projects-realized-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:42px 38px !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:72px 56px 110px !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  overflow:visible !important;
  position:relative !important;
}
.projects-section.projects-clean-section::before,
.projects-section.projects-sale-list::before,
.projects-section.projects-realized-list::before{
  content:none !important;
  display:none !important;
}
.projects-section.projects-sale-list{
  padding-bottom:64px !important;
}
.projects-section.projects-realized-list{
  padding-top:40px !important;
}
.projects-section.projects-clean-section .projects-heading-wrap{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 20px !important;
  padding:0 !important;
  background:transparent !important;
  position:relative !important;
  z-index:1 !important;
}
.projects-section.projects-clean-section .projects-main-heading{
  display:block !important;
  margin:0 !important;
  color:rgba(17,18,23,.075) !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:600 !important;
  font-size:clamp(58px,8vw,128px) !important;
  line-height:.78 !important;
  letter-spacing:.01em !important;
  text-align:right !important;
  background:transparent !important;
  pointer-events:none !important;
}
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > article.project-left,
.projects-section.projects-clean-section > article.project-right{
  width:auto !important;
  max-width:none !important;
  min-height:330px !important;
  height:auto !important;
  margin:0 !important;
  padding:32px 34px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 244px !important;
  gap:28px !important;
  align-items:center !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
  overflow:hidden !important;
  position:relative !important;
}
.projects-section.projects-clean-section > article.project-no-gallery{
  grid-template-columns:1fr !important;
}
.projects-section.projects-clean-section > article.project-right{
  grid-template-columns:minmax(0,1fr) 244px !important;
}
.projects-section.projects-clean-section > article.project:hover,
.projects-section.projects-clean-section > article.project-left:hover,
.projects-section.projects-clean-section > article.project-right:hover,
.projects-section.projects-clean-section > article.project:focus-visible,
.projects-section.projects-clean-section > article.project-left:focus-visible,
.projects-section.projects-clean-section > article.project-right:focus-visible{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:none !important;
  outline:none !important;
}
.projects-section.projects-clean-section .project-title,
.projects-section.projects-clean-section .project-copy,
.projects-section.projects-clean-section .project-year,
.projects-section.projects-clean-section .project-copy p,
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .gallery-grid img{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
}
.projects-section.projects-clean-section .project-title{
  position:static !important;
  grid-column:1 / -1 !important;
  display:block !important;
  max-width:none !important;
  margin:0 0 8px !important;
  padding:0 !important;
  text-align:center !important;
  color:#af0f1c !important;
  font-size:22px !important;
  line-height:1.22 !important;
  letter-spacing:.10em !important;
}
.projects-section.projects-clean-section .project-copy{
  padding:0 !important;
  align-self:center !important;
  justify-content:center !important;
}
.projects-section.projects-clean-section .project-year{
  margin:0 0 18px !important;
  color:#af0f1c !important;
  font-size:15px !important;
  letter-spacing:.18em !important;
}
.projects-section.projects-clean-section .project-copy p{
  max-width:430px !important;
  margin:0 !important;
  color:#af0f1c !important;
  font-size:15px !important;
  line-height:1.72 !important;
  letter-spacing:.075em !important;
}
.projects-section.projects-clean-section .gallery-grid{
  width:244px !important;
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  grid-auto-rows:105px !important;
  gap:0 !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section .gallery-grid img{
  width:122px !important;
  height:105px !important;
  object-fit:cover !important;
  cursor:pointer !important;
}
.projects-section.projects-clean-section .gallery-grid img:hover,
.projects-section.projects-clean-section .gallery-grid img:focus-visible{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}
.projects-section.projects-clean-section > article.project::before,
.projects-section.projects-clean-section > article.project::after,
.projects-section.projects-clean-section > article.project-left::before,
.projects-section.projects-clean-section > article.project-left::after,
.projects-section.projects-clean-section > article.project-right::before,
.projects-section.projects-clean-section > article.project-right::after{
  content:none !important;
  display:none !important;
  background:transparent !important;
  box-shadow:none !important;
}
@media (max-width:960px){
  .projects-section.projects-clean-section,
  .projects-section.projects-sale-list,
  .projects-section.projects-realized-list{
    grid-template-columns:1fr !important;
    padding:60px 22px 84px !important;
    gap:32px !important;
  }
  .projects-section.projects-clean-section .projects-main-heading{
    text-align:left !important;
    font-size:clamp(46px,16vw,88px) !important;
  }
  .projects-section.projects-clean-section > article.project,
  .projects-section.projects-clean-section > article.project-left,
  .projects-section.projects-clean-section > article.project-right{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding:28px 24px !important;
  }
  .projects-section.projects-clean-section .gallery-grid{
    justify-self:center !important;
    width:min(100%,300px) !important;
    grid-auto-rows:150px !important;
  }
  .projects-section.projects-clean-section .gallery-grid img{
    width:150px !important;
    max-width:50% !important;
    height:150px !important;
  }
}

/* V83: titoli grigi Progetti allineati come gli altri testi grigi */
.projects-section.projects-clean-section,
.projects-section.projects-sale-list,
.projects-section.projects-realized-list{
  position:relative !important;
  max-width:none !important;
  width:100% !important;
  padding-left:max(56px, calc((100vw - 1280px) / 2 + 56px)) !important;
  padding-right:max(56px, calc((100vw - 1280px) / 2 + 56px)) !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  isolation:isolate !important;
}
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position:absolute !important;
  top:34px !important;
  right:max(34px, calc((100vw - 1280px) / 2 + 24px)) !important;
  left:auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  grid-column:auto !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:transparent !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  text-align:right !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(82px, 9.4vw, 170px) !important;
  line-height:.78 !important;
  font-weight:700 !important;
  letter-spacing:.015em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.055) !important;
  background:transparent !important;
  white-space:normal !important;
  text-shadow:none !important;
}
.projects-section.projects-clean-section .projects-main-heading::before,
.projects-section.projects-clean-section .projects-main-heading::after{
  content:none !important;
  display:none !important;
}
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > article.project-left,
.projects-section.projects-clean-section > article.project-right{
  position:relative !important;
  z-index:2 !important;
  background:transparent !important;
  background-color:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transition:none !important;
  animation:none !important;
  transform:none !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section > article.project:hover,
.projects-section.projects-clean-section > article.project-left:hover,
.projects-section.projects-clean-section > article.project-right:hover,
.projects-section.projects-clean-section > article.project:focus-visible,
.projects-section.projects-clean-section > article.project-left:focus-visible,
.projects-section.projects-clean-section > article.project-right:focus-visible{
  background:transparent !important;
  transform:none !important;
  box-shadow:none !important;
}
@media (max-width:960px){
  .projects-section.projects-clean-section,
  .projects-section.projects-sale-list,
  .projects-section.projects-realized-list{
    padding-left:22px !important;
    padding-right:22px !important;
  }
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    top:26px !important;
    right:18px !important;
  }
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading{
    text-align:right !important;
    font-size:clamp(48px, 16vw, 92px) !important;
  }
}

/* V84: titoli grigi Progetti davvero a destra, nello stesso stile degli altri testi grigi */
.projects-section.projects-clean-section::before,
.projects-section.projects-sale-list::before,
.projects-section.projects-realized-list::before{
  content:none !important;
  display:none !important;
}
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position:absolute !important;
  top:clamp(18px,2.3vw,34px) !important;
  right:clamp(16px,2.2vw,34px) !important;
  left:auto !important;
  width:auto !important;
  max-width:calc(100vw - 32px) !important;
  margin:0 !important;
  padding:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:transparent !important;
  transform:none !important;
  text-align:right !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:calc(100vw - 32px) !important;
  text-align:right !important;
  white-space:normal !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(72px,9.2vw,156px) !important;
  line-height:.80 !important;
  letter-spacing:-.055em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.055) !important;
  background:transparent !important;
  text-shadow:none !important;
  transform:none !important;
}
.projects-section.projects-clean-section .projects-main-heading::before,
.projects-section.projects-clean-section .projects-main-heading::after,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading::before,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading::after{
  content:none !important;
  display:none !important;
}
@media (max-width:960px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    top:20px !important;
    right:18px !important;
    max-width:calc(100vw - 36px) !important;
  }
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading{
    font-size:clamp(48px,16vw,92px) !important;
    line-height:.82 !important;
  }
}

/* V85: ordine/progetti + descrizioni nere + parallax contatti stabile */
.projects-section .project-copy p:not(.project-year),
.projects-section .project-copy .project-description{
  color:#111217 !important;
}
.projects-section .project-year,
.projects-section .project-title,
.projects-section .project-copy h3{
  color:#af0f1c !important;
}
.projects-section > article.project,
.projects-section > .project,
.projects-section > .project-right,
.projects-section > article.project.is-visible,
.projects-section > .project.is-visible,
.projects-section > .project-right.is-visible{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
  box-shadow:none !important;
}
.projects-section > article.project:hover,
.projects-section > .project:hover,
.projects-section > .project-right:hover,
.projects-section > article.project.is-visible:hover,
.projects-section > .project.is-visible:hover,
.projects-section > .project-right.is-visible:hover{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  box-shadow:none !important;
}
.projects-section .gallery-grid img,
.projects-section .gallery-grid img:hover{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  filter:none !important;
}

/* Titoli grigi dei sottoblocchi Progetti: sempre a destra, stesso stile delle altre sezioni */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position:absolute !important;
  top:clamp(18px,2.6vw,42px) !important;
  right:clamp(28px,7vw,120px) !important;
  left:auto !important;
  width:min(760px,70vw) !important;
  max-width:min(760px,70vw) !important;
  margin:0 !important;
  padding:0 !important;
  text-align:right !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:right !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(72px,9.2vw,156px) !important;
  line-height:.80 !important;
  font-weight:800 !important;
  letter-spacing:-.055em !important;
  color:rgba(17,18,23,.055) !important;
  background:transparent !important;
}

/* Parallax box contatti: sequenza immagini + movimento scroll */
.contact-parallax-box{
  display:flex !important;
  position:relative !important;
  height:430px !important;
  min-height:430px !important;
  overflow:hidden !important;
  align-items:center !important;
  justify-content:center !important;
  background:#111217 !important;
  isolation:isolate !important;
}
.contact-parallax-inner{
  position:absolute !important;
  inset:-90px 0 !important;
  width:100% !important;
  height:calc(100% + 180px) !important;
  z-index:0 !important;
  transform:translate3d(0,0,0) scale(1.06) !important;
  will-change:transform !important;
}
.contact-parallax-inner img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:scale(1.03) !important;
  transition:opacity 950ms ease, visibility 0s linear 950ms, transform 5200ms ease !important;
  z-index:0 !important;
}
.contact-parallax-inner img:first-child{
  opacity:0 !important;
  visibility:hidden !important;
}
.contact-parallax-inner img.is-active{
  opacity:1 !important;
  visibility:visible !important;
  transform:scale(1.10) !important;
  transition:opacity 950ms ease, visibility 0s linear 0s, transform 5200ms ease !important;
  z-index:1 !important;
}
.contact-parallax-inner::after,
.contact-parallax-box::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:linear-gradient(135deg,rgba(175,15,28,.38),rgba(0,0,0,.54)) !important;
}
.contact-parallax-box::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  pointer-events:none !important;
  background:repeating-linear-gradient(-35deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 5px) !important;
}
.contact-parallax-caption{
  position:relative !important;
  z-index:4 !important;
}
@media (max-width:960px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    right:18px !important;
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
  }
  .contact-parallax-box{height:330px !important;min-height:330px !important;}
  .contact-parallax-inner{inset:-65px 0 !important;height:calc(100% + 130px) !important;}
}


/* V86: parallax contatti più evidente */
.contact-parallax-inner{
  inset:-150px 0 !important;
  height:calc(100% + 300px) !important;
  transform:translate3d(0,0,0) scale(1.12) !important;
}
.contact-parallax-inner img{
  transform:scale(1.04) !important;
}
.contact-parallax-inner img.is-active{
  transform:scale(1.14) !important;
}
@media (max-width:960px){
  .contact-parallax-inner{
    inset:-105px 0 !important;
    height:calc(100% + 210px) !important;
  }
}

/* V88: Progetti - 4 immagini visibili e animazione applicata alla scheda intera */
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  opacity:0 !important;
  transform:translate3d(0,58px,0) scale(.982) !important;
  transition:opacity .72s cubic-bezier(.22,1,.36,1), transform .86s cubic-bezier(.22,1,.36,1) !important;
  animation:none !important;
  will-change:opacity,transform !important;
}
.projects-section.projects-clean-section > article.project.is-visible,
.projects-section.projects-clean-section > .project.is-visible,
.projects-section.projects-clean-section > .project-right.is-visible{
  opacity:1 !important;
  transform:translate3d(0,0,0) scale(1) !important;
}
.projects-section.projects-clean-section > article.project:hover,
.projects-section.projects-clean-section > .project:hover,
.projects-section.projects-clean-section > .project-right:hover,
.projects-section.projects-clean-section > article.project.is-visible:hover,
.projects-section.projects-clean-section > .project.is-visible:hover,
.projects-section.projects-clean-section > .project-right.is-visible:hover{
  opacity:1 !important;
  transform:translate3d(0,-3px,0) scale(1) !important;
  transition:opacity .72s cubic-bezier(.22,1,.36,1), transform .32s ease !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section .project-title,
.projects-section.projects-clean-section .project-copy,
.projects-section.projects-clean-section .project-year,
.projects-section.projects-clean-section .project-copy p,
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .gallery-grid img{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
}
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .project .gallery-grid,
.projects-section.projects-clean-section .project-left .gallery-grid,
.projects-section.projects-clean-section .project-right .gallery-grid{
  width:360px !important;
  max-width:100% !important;
  height:auto !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:160px !important;
  gap:14px !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  justify-self:end !important;
  align-self:center !important;
}
.projects-section.projects-clean-section .gallery-grid img,
.projects-section.projects-clean-section .project .gallery-grid img,
.projects-section.projects-clean-section .project-right .gallery-grid img{
  display:block !important;
  width:100% !important;
  height:160px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:14px !important;
  cursor:pointer !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
}
.projects-section.projects-clean-section .gallery-grid img:nth-child(n+5){
  display:none !important;
}
.projects-section.projects-clean-section .gallery-grid img:hover,
.projects-section.projects-clean-section .gallery-grid img:focus-visible,
.projects-section.projects-clean-section > article.project:hover .gallery-grid img,
.projects-section.projects-clean-section > .project:hover .gallery-grid img,
.projects-section.projects-clean-section > .project-right:hover .gallery-grid img{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}
@media (max-width:960px){
  .projects-section.projects-clean-section > article.project,
  .projects-section.projects-clean-section > .project,
  .projects-section.projects-clean-section > .project-right,
  .projects-section.projects-clean-section > article.project.is-visible,
  .projects-section.projects-clean-section > .project.is-visible,
  .projects-section.projects-clean-section > .project-right.is-visible{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .projects-section.projects-clean-section .gallery-grid,
  .projects-section.projects-clean-section .project .gallery-grid,
  .projects-section.projects-clean-section .project-left .gallery-grid,
  .projects-section.projects-clean-section .project-right .gallery-grid{
    width:100% !important;
    grid-auto-rows:150px !important;
    gap:12px !important;
    justify-self:stretch !important;
  }
  .projects-section.projects-clean-section .gallery-grid img,
  .projects-section.projects-clean-section .project .gallery-grid img,
  .projects-section.projects-clean-section .project-right .gallery-grid img{
    height:150px !important;
    border-radius:12px !important;
  }
}

/* V89: ultime modifiche Progetti + titoli parallax */
/* 1) Progetti: 4 immagini quadrate, separate, senza bordo arrotondato */
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .project .gallery-grid,
.projects-section.projects-clean-section .project-left .gallery-grid,
.projects-section.projects-clean-section .project-right .gallery-grid{
  width:360px !important;
  max-width:100% !important;
  height:auto !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:16px !important;
  overflow:visible !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  justify-self:end !important;
  align-self:center !important;
}
.projects-section.projects-clean-section .gallery-grid img,
.projects-section.projects-clean-section .project .gallery-grid img,
.projects-section.projects-clean-section .project-left .gallery-grid img,
.projects-section.projects-clean-section .project-right .gallery-grid img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  cursor:pointer !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
}
.projects-section.projects-clean-section .gallery-grid img:nth-child(n+5){
  display:none !important;
}

/* 2) Titoli dentro i parallax box: leggermente più piccoli */
.parallax .section-title,
.video-parallax-strip .video-strip-title,
.video-parallax-strip .section-title,
.contact-parallax-caption,
.parallax-work .section-title{
  font-size:clamp(34px,4.6vw,72px) !important;
  line-height:1.02 !important;
}

/* 3) Scritti grigi Progetti: allineati al lato destro dello schermo come le altre scritte giganti */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position:absolute !important;
  top:34px !important;
  right:-0.06em !important;
  left:auto !important;
  width:auto !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  text-align:right !important;
  background:transparent !important;
  transform:none !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  display:block !important;
  width:auto !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
  text-align:right !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(72px,15vw,230px) !important;
  line-height:.72 !important;
  font-weight:800 !important;
  letter-spacing:-.03em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.055) !important;
  background:transparent !important;
  text-shadow:none !important;
  transform:none !important;
  white-space:normal !important;
}
.projects-section.projects-clean-section .projects-main-heading::before,
.projects-section.projects-clean-section .projects-main-heading::after,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading::before,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading::after{
  content:none !important;
  display:none !important;
}

@media (max-width:960px){
  .projects-section.projects-clean-section .gallery-grid,
  .projects-section.projects-clean-section .project .gallery-grid,
  .projects-section.projects-clean-section .project-left .gallery-grid,
  .projects-section.projects-clean-section .project-right .gallery-grid{
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    justify-self:stretch !important;
  }
  .projects-section.projects-clean-section .gallery-grid img,
  .projects-section.projects-clean-section .project .gallery-grid img,
  .projects-section.projects-clean-section .project-left .gallery-grid img,
  .projects-section.projects-clean-section .project-right .gallery-grid img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    border-radius:0 !important;
  }
  .parallax .section-title,
  .video-parallax-strip .video-strip-title,
  .video-parallax-strip .section-title,
  .contact-parallax-caption,
  .parallax-work .section-title{
    font-size:clamp(30px,8vw,50px) !important;
  }
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    top:24px !important;
    right:-0.04em !important;
    max-width:100vw !important;
  }
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading{
    font-size:clamp(46px,18vw,98px) !important;
    line-height:.78 !important;
  }
}

/* V90: ultimi ritocchi richiesti */
/* 1) Titoli dentro i parallax box: più piccoli */
.parallax .section-title,
.video-parallax-strip .video-strip-title,
.video-parallax-strip .section-title,
.contact-parallax-caption,
.parallax-work .section-title{
  font-size:clamp(28px,3.8vw,58px) !important;
  line-height:1.02 !important;
  letter-spacing:.06em !important;
}

/* 2) Scritte grigie Progetti: dimensione coerente con le altre scritte giganti */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position:absolute !important;
  top:clamp(18px,2.3vw,34px) !important;
  right:clamp(16px,2.2vw,34px) !important;
  left:auto !important;
  width:auto !important;
  max-width:calc(100vw - 32px) !important;
  margin:0 !important;
  padding:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  text-align:right !important;
  background:transparent !important;
  transform:none !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  display:block !important;
  width:auto !important;
  max-width:calc(100vw - 32px) !important;
  margin:0 !important;
  padding:0 !important;
  text-align:right !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(72px,9.2vw,156px) !important;
  line-height:.80 !important;
  font-weight:800 !important;
  letter-spacing:-.055em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.055) !important;
  background:transparent !important;
  text-shadow:none !important;
  transform:none !important;
  white-space:pre-line !important;
  word-break:keep-all !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section .projects-main-heading::before,
.projects-section.projects-clean-section .projects-main-heading::after,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading::before,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading::after{
  content:none !important;
  display:none !important;
}

@media (max-width:960px){
  .parallax .section-title,
  .video-parallax-strip .video-strip-title,
  .video-parallax-strip .section-title,
  .contact-parallax-caption,
  .parallax-work .section-title{
    font-size:clamp(24px,6.8vw,42px) !important;
  }
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    top:clamp(16px,4vw,26px) !important;
    right:clamp(14px,4vw,24px) !important;
    max-width:calc(100vw - 28px) !important;
  }
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading{
    font-size:clamp(54px,15vw,98px) !important;
    line-height:.82 !important;
  }
}

/* V91: modifiche cliente */
/* 1) Hero: slogan grigio su una riga sotto il logo */
.logo-hero::before{
  content:"COSTRUIRE CON PASSIONE" !important;
  left:50% !important;
  right:auto !important;
  top:calc(50% + 118px) !important;
  width:100vw !important;
  max-width:100vw !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:clamp(56px,7.2vw,132px) !important;
  line-height:.82 !important;
  letter-spacing:-.045em !important;
  color:rgba(17,18,23,.095) !important;
  z-index:0 !important;
}
.logo-hero .hero-title{
  z-index:2 !important;
}
.logo-hero .hero-actions{
  margin-top:16px !important;
}

/* 2) Testi grigi giganti: leggermente più scuri */
.about-section::before,
.work-detail-section::before,
.services-section::before,
.projects-section::before,
.contact-section::before{
  color:rgba(17,18,23,.095) !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  color:rgba(17,18,23,.095) !important;
}

/* 3) Cosa facciamo: card allineate, separate da linea */
.services-section{
  background:#fff !important;
}
.services-section .services-grid{
  width:min(1180px,calc(100% - 90px)) !important;
  max-width:calc(100% - 90px) !important;
  margin:0 auto !important;
  display:block !important;
  gap:0 !important;
}
.services-section .services-grid > .service-card,
.services-section .services-grid > .service-card:nth-child(1),
.services-section .services-grid > .service-card:nth-child(2),
.services-section .services-grid > .service-card:nth-child(3),
.services-section .services-grid > .service-card:nth-child(4){
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:96px 1fr !important;
  align-items:start !important;
  column-gap:34px !important;
  padding:34px 0 !important;
  margin:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(17,18,23,.22) !important;
  background:transparent !important;
  box-shadow:none !important;
}
.services-section .services-grid > .service-card:first-child{
  border-top:1px solid rgba(17,18,23,.22) !important;
}
.services-section .service-card img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  justify-self:center !important;
  align-self:start !important;
  margin:0 !important;
}
.services-section .service-content{
  width:100% !important;
  max-width:100% !important;
  text-align:left !important;
  margin:0 !important;
  padding:0 !important;
}
.services-section .service-card h3{
  margin:0 0 14px 0 !important;
  text-align:left !important;
}
.services-section .service-card ul,
.services-section .service-card.single-col-list ul,
.services-section .services-grid > .service-card:nth-child(2) ul{
  columns:2 !important;
  column-gap:56px !important;
  max-width:820px !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}
.services-section .service-card li{
  break-inside:avoid !important;
  margin:0 0 8px 0 !important;
}

/* 4) Progetti: rimossa categoria vuota in vendita; Saronno è tra i realizzati */
.projects-section.projects-sale-list{
  display:none !important;
}
.projects-section.projects-realized-list{
  padding-top:120px !important;
}

@media (max-width:960px){
  .logo-hero::before{
    top:calc(50% + 90px) !important;
    font-size:clamp(38px,11vw,76px) !important;
    letter-spacing:-.04em !important;
  }
  .services-section .services-grid{
    width:calc(100% - 38px) !important;
    max-width:calc(100% - 38px) !important;
  }
  .services-section .services-grid > .service-card,
  .services-section .services-grid > .service-card:nth-child(1),
  .services-section .services-grid > .service-card:nth-child(2),
  .services-section .services-grid > .service-card:nth-child(3),
  .services-section .services-grid > .service-card:nth-child(4){
    grid-template-columns:58px 1fr !important;
    column-gap:18px !important;
    padding:26px 0 !important;
  }
  .services-section .service-card img{
    width:48px !important;
    height:48px !important;
  }
  .services-section .service-card ul,
  .services-section .service-card.single-col-list ul,
  .services-section .services-grid > .service-card:nth-child(2) ul{
    columns:1 !important;
    max-width:100% !important;
  }
}

/* V4 cliente: micro-correzioni dopo revisione */
/* 1) Hero: slogan più sotto e con dimensione coerente con gli altri testi giganti */
.logo-hero::before{
  content:"COSTRUIRE CON PASSIONE" !important;
  top:calc(50% + 160px) !important;
  font-size:clamp(72px,9.2vw,156px) !important;
  line-height:.80 !important;
  color:rgba(17,18,23,.15) !important;
}

/* 2) Testi grigi giganti: leggermente più scuri */
.about-section::before,
.services-section::before,
.projects-section::before,
.contact-section::before{
  color:rgba(17,18,23,.15) !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  color:rgba(17,18,23,.15) !important;
}

/* 3) Cosa facciamo: solo linee interne, niente linea iniziale/finale */
.services-section .services-grid > .service-card:first-child{
  border-top:0 !important;
}
.services-section .services-grid > .service-card:last-child{
  border-bottom:0 !important;
}

/* 4) Come lavoriamo: scritta bianca al 50% */
.parallax-work .section-title,
.work-detail-section::before{
  color:rgba(255,255,255,.5) !important;
}

@media (max-width:960px){
  .logo-hero::before{
    top:calc(50% + 118px) !important;
    font-size:clamp(46px,12vw,92px) !important;
  }
}

/* V5 cliente: spaziature giganti, hero più basso, titoli parallax piccoli */
/* 1) Scritte giganti: leggermente più spazio tra le lettere */
.logo-hero::before,
.about-section::before,
.work-detail-section::before,
.services-section::before,
.projects-section::before,
.contact-section::before,
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  letter-spacing:-.015em !important;
}

/* 2) Hero: "Costruire con passione" ancora più in basso */
.logo-hero::before{
  top:calc(50% + 205px) !important;
}
.logo-hero .hero-actions{
  margin-top:24px !important;
}

/* 3) Titoli dentro i parallax box: stesso font delle scritte giganti, piccoli e bianchi */
.parallax .section-title,
.parallax-work .section-title,
.parallax-services .section-title,
.video-parallax-strip .section-title,
.video-parallax-strip .video-strip-title,
.contact-parallax-caption{
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(22px,2.1vw,34px) !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.36) !important;
}
.parallax .section-title::before,
.parallax .section-title::after,
.video-parallax-strip .section-title::before,
.video-parallax-strip .section-title::after,
.video-parallax-strip .video-strip-title::before,
.video-parallax-strip .video-strip-title::after,
.contact-parallax-caption::before,
.contact-parallax-caption::after{
  content:none !important;
  display:none !important;
}

@media (max-width:960px){
  .logo-hero::before{
    top:calc(50% + 150px) !important;
    letter-spacing:-.01em !important;
  }
  .parallax .section-title,
  .parallax-work .section-title,
  .parallax-services .section-title,
  .video-parallax-strip .section-title,
  .video-parallax-strip .video-strip-title,
  .contact-parallax-caption{
    font-size:clamp(20px,5vw,30px) !important;
    letter-spacing:.08em !important;
  }
}

/* V6 cliente: home, titolo progetti, schede più compatte */
/* 1) Home: impaginazione più equilibrata, slogan separato dai bottoni */
.logo-hero{
  min-height:760px !important;
}
.logo-hero .hero-title{
  top:47% !important;
  transform:translate(-50%,-50%) !important;
  gap:28px !important;
}
.logo-hero .hero-logo{
  width:min(780px,64vw) !important;
  max-width:780px !important;
}
.logo-hero .hero-actions{
  margin-top:0 !important;
}
.logo-hero::before{
  content:"COSTRUIRE CON PASSIONE" !important;
  top:calc(50% + 235px) !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:100vw !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:clamp(64px,8.4vw,142px) !important;
  line-height:.82 !important;
  letter-spacing:-.018em !important;
  color:rgba(17,18,23,.15) !important;
  z-index:0 !important;
}

/* 2) Scritta gigante Progetti: spacing più stretto per non toccare le card */
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  letter-spacing:-.055em !important;
  font-size:clamp(72px,8.4vw,142px) !important;
  line-height:.78 !important;
  color:rgba(17,18,23,.15) !important;
}
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  right:clamp(18px,2vw,32px) !important;
  max-width:calc(100vw - 36px) !important;
}

/* 3) Schede progetti: più basse, testo nero più piccolo, foto allineate */
.projects-section>article.project,
.projects-section>.project,
.projects-section>.project-right,
.projects-section>.project.is-visible,
.projects-section>.project-right.is-visible{
  min-height:300px !important;
  padding:22px 24px !important;
  grid-template-columns:minmax(0,1fr) 276px !important;
  gap:14px 28px !important;
  align-items:center !important;
}
.projects-section .project-title,
.projects-section .project-right .project-title,
.projects-section .project.project-left .project-title,
.projects-section .project.project-right .project-title{
  font-size:18px !important;
  line-height:1.12 !important;
  letter-spacing:.075em !important;
  margin-bottom:0 !important;
}
.projects-section .project-copy,
.projects-section .project .project-copy,
.projects-section .project-right .project-copy{
  padding:0 8px 0 4px !important;
  align-self:center !important;
}
.projects-section .project-year{
  margin:0 0 10px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  letter-spacing:.16em !important;
  color:#af0f1c !important;
}
.projects-section .project-copy p,
.projects-section .project-right .project-copy p,
.projects-section .project .project-copy p{
  color:#111217 !important;
  font-size:11px !important;
  line-height:1.45 !important;
  letter-spacing:.03em !important;
  max-width:100% !important;
}
.projects-section .gallery-grid,
.projects-section .project .gallery-grid,
.projects-section .project-left .gallery-grid,
.projects-section .project-right .gallery-grid{
  width:276px !important;
  grid-template-columns:repeat(2,1fr) !important;
  grid-auto-rows:132px !important;
  gap:12px !important;
  align-self:center !important;
}
.projects-section .gallery-grid img,
.projects-section .project .gallery-grid img,
.projects-section .project-right .gallery-grid img{
  height:132px !important;
  width:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.projects-section .gallery-grid img:nth-child(-n+4){
  display:block !important;
}
.projects-section .gallery-grid img:nth-child(n+5){
  display:none !important;
}
.projects-section .gallery-grid img:nth-child(1),
.projects-section .gallery-grid img:nth-child(2),
.projects-section .gallery-grid img:nth-child(3),
.projects-section .gallery-grid img:nth-child(4),
.projects-section>.project:hover .gallery-grid img:nth-child(1),
.projects-section>.project:hover .gallery-grid img:nth-child(2),
.projects-section>.project:hover .gallery-grid img:nth-child(3),
.projects-section>.project:hover .gallery-grid img:nth-child(4),
.projects-section>.project-right:hover .gallery-grid img:nth-child(1),
.projects-section>.project-right:hover .gallery-grid img:nth-child(2),
.projects-section>.project-right:hover .gallery-grid img:nth-child(3),
.projects-section>.project-right:hover .gallery-grid img:nth-child(4){
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}

@media (max-width:960px){
  .logo-hero .hero-title{
    top:46% !important;
  }
  .logo-hero .hero-logo{
    width:min(720px,78vw) !important;
  }
  .logo-hero::before{
    top:calc(50% + 175px) !important;
    font-size:clamp(42px,11vw,86px) !important;
    letter-spacing:-.012em !important;
  }
  .projects-section>article.project,
  .projects-section>.project,
  .projects-section>.project-right,
  .projects-section>.project.is-visible,
  .projects-section>.project-right.is-visible{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    min-height:0 !important;
  }
  .projects-section .gallery-grid,
  .projects-section .project .gallery-grid,
  .projects-section .project-left .gallery-grid,
  .projects-section .project-right .gallery-grid{
    justify-self:center !important;
    width:min(276px,100%) !important;
  }
}

/* =========================================================
   V7 — normalizzazione font e colori
   Obiettivo: un solo rosso, una sola famiglia tipografica,
   gerarchie coerenti tra testi piccoli, medi e grandi.
   ========================================================= */
:root{
  --ds-red:#d50f25 !important;
  --red:#d50f25 !important;
  --accent-red:#d50f25 !important;
  --accent-red-bright:#d50f25 !important;
  --ds-ink:#111217 !important;
  --ds-grey-big:rgba(17,18,23,.15) !important;
}

html,
body,
body *,
button,
input,
textarea,
select{
  font-family:"Rajdhani",Arial,sans-serif !important;
}

body{
  color:var(--ds-ink) !important;
}

/* Rosso unico */
.site-header,
.site-footer,
.work-detail-section,
.partners-strip{
  background:#d50f25 !important;
  background-color:#d50f25 !important;
  background-image:none !important;
}

.hero-btn-primary,
.mobile-toggle,
.cookie-ok,
.sale-tag,
.floating-contact a,
.main-nav a:hover,
.main-nav a.active{
  background:#d50f25 !important;
  background-color:#d50f25 !important;
}

.main-nav a:hover,
.main-nav a.active,
.hero-btn-primary,
.mobile-toggle,
.cookie-ok,
.sale-tag,
.floating-contact a{
  color:#ffffff !important;
}

.section-title.red,
.hero-title h1 span,
.project-title,
.project-year,
.services-section .service-card h3,
.services-section .service-card h4,
.services-section .service-card ul,
.services-section .service-card li,
.contact-card h2,
.contact-card h3 span,
.about-copy h3,
.testimonials h2,
.testimonials blockquote:before,
.slider-dots .active,
.number strong,
.number span{
  color:#d50f25 !important;
}

.main-nav a::after,
.service-card::before{
  background:#d50f25 !important;
}

.hero-btn-primary{
  box-shadow:0 16px 38px rgba(213,15,37,.24) !important;
}

.main-nav a:hover,
.main-nav a.active{
  box-shadow:0 12px 24px rgba(213,15,37,.24) !important;
}

/* Testi piccoli/medi: stesso font, colore coerente */
.about-copy,
.about-copy p,
.work-copy,
.work-copy p,
.project-copy p,
.service-card ul,
.service-card li,
.contact-items a,
.testimonials blockquote,
.cookie-bar,
.site-footer{
  font-family:"Rajdhani",Arial,sans-serif !important;
}

.about-copy p,
.project-copy p,
.contact-items a,
.testimonials blockquote{
  color:#111217 !important;
}

.work-copy,
.work-copy p,
.site-footer{
  color:#ffffff !important;
}

/* Titoli medi */
.main-nav a,
.hero-btn,
.section-title,
.video-strip-title,
.parallax .section-title,
.contact-parallax-caption,
.project-title,
.project-year,
.service-card h3,
.service-card h4,
.contact-card h2,
.contact-card h3{
  font-family:"Rajdhani",Arial,sans-serif !important;
}

/* Titoli nei parallax box: stessi font, piccoli, bianchi */
.parallax .section-title,
.parallax-work .section-title,
.parallax-services .section-title,
.video-strip-title,
.contact-parallax-caption{
  color:#ffffff !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:clamp(22px,2.15vw,34px) !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 12px rgba(0,0,0,.42) !important;
}

/* Scritte giganti: stesso font, stessa tinta grigia, spacing coerente */
.logo-hero::before,
.about-section::before,
.work-detail-section::before,
.services-section::before,
.projects-section::before,
.contact-section::before,
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  font-family:"Rajdhani",Arial,sans-serif !important;
  color:var(--ds-grey-big) !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
}

.work-detail-section::before{
  color:rgba(255,255,255,.18) !important;
}

/* Uniforma il rosso dei testi progetti e servizi */
.projects-section .project-title,
.projects-section .project-year,
.projects-section .project-right .project-title,
.projects-section .project.project-left .project-title,
.projects-section .project.project-right .project-title,
.services-section .service-card h3,
.services-section .service-card h4{
  color:#d50f25 !important;
}

.projects-section .project-copy p,
.projects-section .project-right .project-copy p,
.projects-section .project .project-copy p{
  color:#111217 !important;
}

/* Icone rosse coerenti con il nuovo rosso */
.services-section .service-card img{
  filter:brightness(0) saturate(100%) invert(18%) sepia(94%) saturate(4751%) hue-rotate(343deg) brightness(92%) contrast(98%) !important;
}

/* Cookie e footer */
.cookie-bar{
  background:#111217 !important;
  color:#ffffff !important;
}

.cookie-ok{
  background:#d50f25 !important;
}

/* === v8 - modifiche cliente: quote, servizi, progetti, contatti === */
.quote-parallax-box{
  height:305px;
  min-height:305px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ffffff;
  position:relative;
  overflow:hidden;
}
.quote-title{
  margin:0;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:clamp(58px,7vw,128px) !important;
  line-height:.9 !important;
  font-weight:800 !important;
  letter-spacing:.018em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.18) !important;
  white-space:nowrap;
  text-align:center;
}

/* Cosa facciamo: testi elenco neri, PNG senza filtro, hover sul blocco */
.services-section .service-card,
.services-section .service-card.red-line,
.services-section .service-card.dark-line{
  transition:transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease, background-color .35s ease !important;
  cursor:default;
}
.services-section .service-card:hover,
.services-section .service-card.red-line:hover,
.services-section .service-card.dark-line:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.08) !important;
  background:rgba(255,255,255,.42) !important;
}
.services-section .service-card img{
  filter:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transition:transform .35s cubic-bezier(.22,.61,.36,1), filter .35s ease !important;
}
.services-section .service-card:hover img{
  transform:translateY(-3px) scale(1.035) !important;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.12)) !important;
}
.services-section .service-card ul,
.services-section .service-card li{
  color:#111217 !important;
}
.services-section .service-card li::before{
  background:#111217 !important;
}
.services-section .service-card h3,
.services-section .service-card h4{
  color:#d50f25 !important;
}

/* Progetti: titolo gigante più stretto, anno coerente, schede più basse, 2 immagini */
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  letter-spacing:-.012em !important;
  font-size:clamp(72px,9.2vw,150px) !important;
  line-height:.82 !important;
}
.projects-section .project-year,
.projects-section .project .project-year,
.projects-section .project-right .project-year{
  font-family:"Rajdhani",Arial,sans-serif !important;
  color:#d50f25 !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
}
.projects-section .project-copy p{
  font-size:13.5px !important;
  line-height:1.48 !important;
  letter-spacing:.06em !important;
}
.projects-section .project,
.projects-section .project-right{
  min-height:330px !important;
  padding-top:118px !important;
  padding-bottom:24px !important;
  margin-bottom:92px !important;
  column-gap:38px !important;
}
.projects-section .project::before,
.projects-section .project-right::before{
  top:92px !important;
  bottom:0 !important;
  border-width:2px !important;
  border-radius:22px !important;
}
.projects-section .project .project-copy,
.projects-section .project-right .project-copy{
  padding-top:18px !important;
  padding-bottom:18px !important;
}
.projects-section .project .gallery-grid,
.projects-section .project-right .gallery-grid{
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  grid-template-rows:1fr !important;
  gap:12px !important;
  width:260px !important;
  max-width:260px !important;
  align-self:center !important;
}
.projects-section .gallery-grid img{
  width:124px !important;
  height:124px !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.projects-section .gallery-grid img:nth-child(n+3){
  display:none !important;
}
.projects-section .project-left .gallery-grid,
.projects-section .project-right .gallery-grid{
  margin-top:0 !important;
  margin-bottom:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.projects-section .project-title,
.projects-section .project-right .project-title{
  top:20px !important;
}

/* Contatti: indirizzo su due righe e icone più grandi */
.contact-items{
  align-items:start !important;
}
.contact-items img,
.contact-icon-link img{
  width:124px !important;
  height:124px !important;
  object-fit:contain !important;
  margin-bottom:22px !important;
}
.contact-items a{
  line-height:1.45 !important;
}

@media (max-width:900px){
  .quote-parallax-box{height:220px;min-height:220px;}
  .quote-title{font-size:clamp(34px,11vw,72px) !important;white-space:normal;}
  .projects-section .project,
  .projects-section .project-right{min-height:auto !important;padding-top:106px !important;}
  .projects-section .project::before,
  .projects-section .project-right::before{top:82px !important;}
  .projects-section .project .gallery-grid,
  .projects-section .project-right .gallery-grid{width:220px !important;max-width:220px !important;}
  .projects-section .gallery-grid img{width:104px !important;height:104px !important;}
}


/* =========================================================
   V9 — modifiche cliente
   1) Rimuove il box separato “Costruire con passione” prima di Chi siamo.
   2) Riporta la citazione nella home, prima del resto del sito.
   3) Uniforma tutti i testi piccoli al font usato negli anni dei progetti.
   4) Mantiene solo 2 immagini visibili nelle schede progetto.
   ========================================================= */
.quote-parallax-box{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}

.logo-hero{
  min-height:820px !important;
}

.logo-hero .hero-title{
  top:43.5% !important;
  transform:translate(-50%,-50%) !important;
}

.logo-hero::before{
  content:"“COSTRUIRE CON PASSIONE”" !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:72px !important;
  width:100vw !important;
  max-width:100vw !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:clamp(56px,7.7vw,136px) !important;
  line-height:.82 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.15) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.logo-hero .hero-title,
.logo-hero .hero-logo,
.logo-hero .hero-actions{
  position:relative !important;
  z-index:2 !important;
}

/* Testi piccoli: stesso font degli anni nei progetti */
.about-copy,
.about-copy p,
.work-copy,
.work-copy p,
.service-card,
.service-card p,
.service-card ul,
.service-card li,
.project-copy,
.project-copy p,
.projects-section .project-copy p,
.contact-items,
.contact-items a,
.contact-card,
.contact-card p,
.cookie-bar,
.site-footer,
.footer-copy,
.main-nav a,
.hero-btn{
  font-family:"Rajdhani",Arial,sans-serif !important;
}

/* Progetti: solo due immagini visibili nella scheda */
.projects-section .project .gallery-grid,
.projects-section .project-right .gallery-grid,
.projects-section .project-left .gallery-grid{
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  grid-template-rows:1fr !important;
}

.projects-section .gallery-grid img:nth-child(1),
.projects-section .gallery-grid img:nth-child(2){
  display:block !important;
}

.projects-section .gallery-grid img:nth-child(n+3){
  display:none !important;
}

@media (max-width:960px){
  .logo-hero{
    min-height:720px !important;
  }
  .logo-hero .hero-title{
    top:42% !important;
  }
  .logo-hero::before{
    bottom:52px !important;
    font-size:clamp(36px,10vw,78px) !important;
    letter-spacing:.005em !important;
    white-space:normal !important;
    width:calc(100vw - 32px) !important;
  }
}


/* =========================================================
   V10 — fix finale font/icone/progetti
   ========================================================= */
:root{
  --ds-red:#d50f25 !important;
  --red:#d50f25 !important;
  --accent-red:#d50f25 !important;
  --accent-red-bright:#d50f25 !important;
}

/* Icone: rosso unico coerente con Come lavoriamo */
.services-section .service-card img,
.contact-items img,
.contact-icon-link img{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}

/* Testi piccoli: stesso font degli anni progetto */
.about-copy,
.about-copy p,
.work-copy,
.work-copy p,
.services-section .service-card,
.services-section .service-card ul,
.services-section .service-card li,
.projects-section .project-copy,
.projects-section .project-copy p,
.contact-items,
.contact-items a,
.cookie-bar,
.cookie-bar span,
.site-footer,
.main-nav a,
.hero-btn{
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:.085em !important;
}

/* Titoli/anni progetti: stessa famiglia, colore e peso */
.projects-section .project-title,
.projects-section .project-year,
.projects-section .project .project-year,
.projects-section .project-right .project-year{
  font-family:"Rajdhani",Arial,sans-serif !important;
  color:#d50f25 !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
}

/* Schede progetto: due immagini reali e layout compatto */
.projects-section .project .gallery-grid,
.projects-section .project-left .gallery-grid,
.projects-section .project-right .gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(2, 112px) !important;
  grid-template-rows:112px !important;
  gap:12px !important;
  width:236px !important;
  max-width:236px !important;
  align-self:center !important;
  justify-self:start !important;
}
.projects-section .gallery-grid img{
  display:block !important;
  width:112px !important;
  height:112px !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.projects-section .gallery-grid img:nth-child(n+3){
  display:none !important;
}
.projects-section .project,
.projects-section .project-right{
  min-height:292px !important;
  padding-top:102px !important;
  padding-bottom:20px !important;
  margin-bottom:78px !important;
}
.projects-section .project::before,
.projects-section .project-right::before{
  top:78px !important;
  bottom:0 !important;
}
.projects-section .project-copy p{
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:12.5px !important;
  line-height:1.42 !important;
  font-weight:600 !important;
  letter-spacing:.075em !important;
  color:#111217 !important;
}

@media (max-width:900px){
  .projects-section .project .gallery-grid,
  .projects-section .project-left .gallery-grid,
  .projects-section .project-right .gallery-grid{
    grid-template-columns:repeat(2, 104px) !important;
    grid-template-rows:104px !important;
    width:220px !important;
    max-width:220px !important;
  }
  .projects-section .gallery-grid img{
    width:104px !important;
    height:104px !important;
  }
}

/* === V11: menu superiore senza linee animate + stato attivo grigio chiaro === */
.site-header .main-nav a,
.site-header .main-nav a:hover,
.site-header .main-nav a:focus,
.site-header .main-nav a:active,
.site-header .main-nav a.active{
  transition: background-color .16s ease, color .16s ease, border-color .16s ease !important;
  transform: none !important;
  box-shadow: none !important;
}

.site-header .main-nav a::before,
.site-header .main-nav a::after,
.site-header .main-nav a:hover::before,
.site-header .main-nav a:hover::after,
.site-header .main-nav a:focus::before,
.site-header .main-nav a:focus::after,
.site-header .main-nav a.active::before,
.site-header .main-nav a.active::after{
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  transform: none !important;
  background: transparent !important;
}

.site-header .main-nav a{
  background: #ffffff !important;
  color: var(--red) !important;
  border-color: rgba(255,255,255,.95) !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible{
  background: #eeeeee !important;
  color: var(--red) !important;
  border-color: #ffffff !important;
}

.site-header .main-nav a.active,
.site-header .main-nav a.active:hover,
.site-header .main-nav a.active:focus-visible{
  background: #d9d9d9 !important;
  color: #ffffff !important;
  border-color: #d9d9d9 !important;
}

/* === V12: schede progetti più compatte + icone senza animazioni/ombre === */
.projects-section .project,
.projects-section .project-right{
  width:700px !important;
  max-width:calc(100% - 56px) !important;
  min-height:218px !important;
  padding:78px 22px 14px !important;
  margin-bottom:54px !important;
  grid-template-columns:204px 1fr !important;
  column-gap:22px !important;
  align-items:center !important;
}
.projects-section .project-right{
  grid-template-columns:1fr 204px !important;
}
.projects-section .project::before,
.projects-section .project-right::before{
  top:58px !important;
  left:8px !important;
  right:8px !important;
  bottom:0 !important;
  border-width:3px !important;
  border-radius:20px !important;
}
.projects-section .project-title,
.projects-section .project-right .project-title{
  top:16px !important;
  font-size:18px !important;
  line-height:1.18 !important;
  letter-spacing:.075em !important;
  max-width:calc(100% - 70px) !important;
}
.projects-section .project-year,
.projects-section .project .project-year,
.projects-section .project-right .project-year{
  font-size:13px !important;
  line-height:1.15 !important;
  margin-bottom:6px !important;
  letter-spacing:.09em !important;
}
.projects-section .project-copy,
.projects-section .project-right .project-copy{
  padding:8px 18px !important;
}
.projects-section .project-copy p{
  font-size:11.5px !important;
  line-height:1.28 !important;
  letter-spacing:.055em !important;
}
.projects-section .project .gallery-grid,
.projects-section .project-left .gallery-grid,
.projects-section .project-right .gallery-grid{
  grid-template-columns:repeat(2, 92px) !important;
  grid-template-rows:92px !important;
  gap:10px !important;
  width:194px !important;
  max-width:194px !important;
  margin:0 !important;
}
.projects-section .gallery-grid img{
  width:92px !important;
  height:92px !important;
  border-radius:0 !important;
}
.projects-section .gallery-grid img:nth-child(n+3){
  display:none !important;
}

.services-section .service-card img,
.services-section .service-card:hover img,
.number img,
.number:hover img,
.contact-items img,
.contact-item:hover img,
.contact-items img:hover,
.testimonial-icon,
.testimonials:hover .testimonial-icon,
.partners-strip img,
.partners-strip a:hover img,
.contact-icon-link img,
.contact-icon-link:hover img{
  transform:none !important;
  transition:none !important;
  animation:none !important;
  filter:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  opacity:1 !important;
}

@media (max-width:900px){
  .projects-section .project,
  .projects-section .project-right{
    width:auto !important;
    max-width:calc(100% - 32px) !important;
    min-height:auto !important;
    padding:76px 18px 18px !important;
    grid-template-columns:1fr !important;
    row-gap:16px !important;
  }
  .projects-section .project .gallery-grid,
  .projects-section .project-left .gallery-grid,
  .projects-section .project-right .gallery-grid{
    justify-self:center !important;
    grid-template-columns:repeat(2, 104px) !important;
    grid-template-rows:104px !important;
    width:218px !important;
    max-width:218px !important;
  }
  .projects-section .gallery-grid img{
    width:104px !important;
    height:104px !important;
  }
}


/* === V13: schede progetti più basse + titolo più leggibile + nav active nero === */
.site-header .main-nav a.active,
.site-header .main-nav a.active:hover,
.site-header .main-nav a.active:focus-visible{
  background:#d9d9d9 !important;
  color:#111217 !important;
  border-color:#d9d9d9 !important;
}

.projects-section .project,
.projects-section .project-right{
  width:680px !important;
  max-width:calc(100% - 56px) !important;
  min-height:172px !important;
  padding:60px 20px 10px !important;
  margin-bottom:42px !important;
  grid-template-columns:188px 1fr !important;
  column-gap:18px !important;
  align-items:center !important;
}
.projects-section .project-right{
  grid-template-columns:1fr 188px !important;
}
.projects-section .project::before,
.projects-section .project-right::before{
  top:46px !important;
  left:8px !important;
  right:8px !important;
  bottom:0 !important;
  border-width:2px !important;
  border-radius:18px !important;
}
.projects-section .project-title,
.projects-section .project-right .project-title{
  top:13px !important;
  font-size:20.5px !important;
  line-height:1.05 !important;
  letter-spacing:.07em !important;
  max-width:calc(100% - 54px) !important;
}
.projects-section .project-year,
.projects-section .project .project-year,
.projects-section .project-right .project-year{
  font-size:12px !important;
  line-height:1.08 !important;
  margin-bottom:4px !important;
  letter-spacing:.085em !important;
}
.projects-section .project-copy,
.projects-section .project-right .project-copy{
  padding:0 12px !important;
  align-self:center !important;
}
.projects-section .project-copy p{
  font-size:10px !important;
  line-height:1.18 !important;
  letter-spacing:.045em !important;
}
.projects-section .project .gallery-grid,
.projects-section .project-left .gallery-grid,
.projects-section .project-right .gallery-grid{
  grid-template-columns:repeat(2, 78px) !important;
  grid-template-rows:78px !important;
  gap:8px !important;
  width:164px !important;
  max-width:164px !important;
  margin:0 !important;
}
.projects-section .gallery-grid img{
  width:78px !important;
  height:78px !important;
}
.projects-section .gallery-grid img:nth-child(n+3){
  display:none !important;
}

@media (max-width:900px){
  .projects-section .project,
  .projects-section .project-right{
    max-width:calc(100% - 32px) !important;
    min-height:auto !important;
    padding:64px 16px 16px !important;
    grid-template-columns:1fr !important;
    row-gap:14px !important;
  }
  .projects-section .project-title,
  .projects-section .project-right .project-title{
    font-size:18px !important;
    max-width:calc(100% - 40px) !important;
  }
  .projects-section .project .gallery-grid,
  .projects-section .project-left .gallery-grid,
  .projects-section .project-right .gallery-grid{
    justify-self:center !important;
    grid-template-columns:repeat(2, 96px) !important;
    grid-template-rows:96px !important;
    width:200px !important;
    max-width:200px !important;
  }
  .projects-section .gallery-grid img{
    width:96px !important;
    height:96px !important;
  }
}

/* =========================================================
   V14 - correzioni cliente
   ========================================================= */

/* 1) Cosa facciamo: nessuna ombra nell'hover, icone pulite */
.services-section .service-card,
.services-section .service-card:hover,
.services-section .service-card:focus-visible{
  box-shadow:none !important;
  filter:none !important;
}
.services-section .service-card img,
.services-section .service-card:hover img,
.services-section .service-card:focus-visible img{
  box-shadow:none !important;
  filter:none !important;
}

/* 2) Chi siamo: titolo rosso sopra al testo, senza scritta gigante grigia */
.about-section::before{
  content:none !important;
  display:none !important;
}
.about-red-title{
  margin:0 0 26px !important;
  padding:0 !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(42px,4.2vw,74px) !important;
  line-height:.95 !important;
  font-weight:700 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  color:var(--red,#af0f1c) !important;
}
.about-copy p{
  color:#111217 !important;
}

/* 3) Come lavoriamo: coverflow con laterali più piccoli e ombra */
.work-detail-section .detail-carousel{
  width:min(820px,100%) !important;
  max-width:820px !important;
  height:315px !important;
  overflow:hidden !important;
}
.work-detail-section .detail-carousel img,
.work-detail-section .detail-carousel img.pos-m2,
.work-detail-section .detail-carousel img.pos-m1,
.work-detail-section .detail-carousel img.pos-p1,
.work-detail-section .detail-carousel img.pos-p2{
  border-radius:18px !important;
  clip-path:inset(0 round 18px) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20) !important;
}
.work-detail-section .detail-carousel img.pos-m2{
  width:74px !important;
  height:102px !important;
  opacity:.24 !important;
  transform:translate(-50%,-50%) translateX(-300px) scale(.78) !important;
}
.work-detail-section .detail-carousel img.pos-m1{
  width:118px !important;
  height:156px !important;
  opacity:.50 !important;
  transform:translate(-50%,-50%) translateX(-198px) scale(.88) !important;
}
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.is-center,
.work-detail-section .detail-carousel img:nth-child(4n+2).pos-0{
  width:390px !important;
  height:250px !important;
  opacity:1 !important;
  border-radius:22px !important;
  clip-path:inset(0 round 22px) !important;
  box-shadow:0 28px 62px rgba(0,0,0,.32) !important;
  transform:translate(-50%,-50%) translateX(0) scale(1) !important;
}
.work-detail-section .detail-carousel img.pos-p1{
  width:118px !important;
  height:156px !important;
  opacity:.50 !important;
  transform:translate(-50%,-50%) translateX(198px) scale(.88) !important;
}
.work-detail-section .detail-carousel img.pos-p2{
  width:74px !important;
  height:102px !important;
  opacity:.24 !important;
  transform:translate(-50%,-50%) translateX(300px) scale(.78) !important;
}

/* 4) Progetti: schede più basse, meno spazio sopra il titolo */
.projects-section{
  padding-top:150px !important;
  gap:22px 24px !important;
}
.projects-section > article.project,
.projects-section > .project,
.projects-section > .project-right,
.projects-section > .project.is-visible,
.projects-section > .project-right.is-visible{
  min-height:252px !important;
  padding:18px 22px 20px !important;
  grid-template-columns:minmax(0,1fr) 228px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  grid-template-rows:auto 1fr !important;
  gap:8px 20px !important;
  border-radius:22px !important;
}
.projects-section .project-title,
.projects-section .project-right .project-title{
  font-size:18px !important;
  line-height:1.05 !important;
  letter-spacing:.075em !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}
.projects-section .project-copy,
.projects-section .project .project-copy,
.projects-section .project-right .project-copy{
  padding:0 6px 0 2px !important;
  align-self:center !important;
}
.projects-section .project-year{
  margin:0 0 8px !important;
  font-size:12px !important;
  line-height:1.1 !important;
}
.projects-section .project-copy p{
  font-size:10.5px !important;
  line-height:1.42 !important;
  letter-spacing:.03em !important;
}
.projects-section .gallery-grid,
.projects-section .project .gallery-grid,
.projects-section .project-left .gallery-grid,
.projects-section .project-right .gallery-grid{
  width:228px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:122px !important;
  gap:12px !important;
}
.projects-section .gallery-grid img,
.projects-section .project .gallery-grid img,
.projects-section .project-right .gallery-grid img{
  height:122px !important;
}
.projects-section .gallery-grid img:nth-child(1){transform:translateY(-4px) !important;}
.projects-section .gallery-grid img:nth-child(2){transform:translateY(8px) !important;}
.projects-section > article.project:hover,
.projects-section > .project:hover,
.projects-section > .project-right:hover,
.projects-section > article.project:focus-visible,
.projects-section > .project:focus-visible,
.projects-section > .project-right:focus-visible{
  transform:none !important;
  box-shadow:0 18px 38px rgba(0,0,0,.10) !important;
}

/* 5) Contatti: icona posizione dedicata e testo indirizzo su due righe */
.contact-items>div:nth-child(3) a:last-child{
  max-width:230px !important;
  font-size:13px !important;
  line-height:1.38 !important;
}

@media (max-width:900px){
  .projects-section{
    grid-template-columns:1fr !important;
    padding-top:92px !important;
  }
  .projects-section > article.project,
  .projects-section > .project,
  .projects-section > .project-right{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    min-height:0 !important;
  }
  .projects-section .gallery-grid,
  .projects-section .project .gallery-grid,
  .projects-section .project-left .gallery-grid,
  .projects-section .project-right .gallery-grid{
    justify-self:center !important;
    width:min(260px,100%) !important;
  }
}

/* =========================================================
   V15 - fix finale: chi siamo, carosello, schede progetti
   ========================================================= */

/* 1) Chi siamo: titolo rosso coerente con titoli dei parallax box */
.about-red-title{
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:32px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  color:var(--red,#d50f25) !important;
  margin:0 0 24px !important;
  padding:0 !important;
}

/* 2) Come lavoriamo: coverflow stabile, laterali scalati e ombra */
.work-detail-section .detail-carousel{
  position:relative !important;
  display:block !important;
  width:min(920px,100%) !important;
  max-width:920px !important;
  height:300px !important;
  margin:8px auto 0 !important;
  overflow:visible !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.work-detail-section .detail-carousel img{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  pointer-events:none !important;
  border-radius:18px !important;
  clip-path:inset(0 round 18px) !important;
  opacity:0 !important;
  visibility:hidden !important;
  filter:none !important;
  transition:transform .55s cubic-bezier(.22,1,.36,1), opacity .35s ease !important;
}
.work-detail-section .detail-carousel img.pos-m2,
.work-detail-section .detail-carousel img.pos-m1,
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.pos-p1,
.work-detail-section .detail-carousel img.pos-p2{
  visibility:visible !important;
}
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.is-center,
.work-detail-section .detail-carousel img:nth-child(4n+2).pos-0{
  width:390px !important;
  height:250px !important;
  z-index:5 !important;
  opacity:1 !important;
  transform:translate(-50%,-50%) translateX(0) scale(1) !important;
  box-shadow:0 28px 64px rgba(0,0,0,.34) !important;
  border-radius:22px !important;
  clip-path:inset(0 round 22px) !important;
}
.work-detail-section .detail-carousel img.pos-m1{
  width:170px !important;
  height:210px !important;
  z-index:4 !important;
  opacity:.58 !important;
  transform:translate(-50%,-50%) translateX(-245px) scale(.84) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
}
.work-detail-section .detail-carousel img.pos-p1{
  width:170px !important;
  height:210px !important;
  z-index:4 !important;
  opacity:.58 !important;
  transform:translate(-50%,-50%) translateX(245px) scale(.84) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
}
.work-detail-section .detail-carousel img.pos-m2{
  width:96px !important;
  height:135px !important;
  z-index:3 !important;
  opacity:.30 !important;
  transform:translate(-50%,-50%) translateX(-360px) scale(.72) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.20) !important;
}
.work-detail-section .detail-carousel img.pos-p2{
  width:96px !important;
  height:135px !important;
  z-index:3 !important;
  opacity:.30 !important;
  transform:translate(-50%,-50%) translateX(360px) scale(.72) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.20) !important;
}
.work-detail-section .detail-carousel img:not(.pos-m2):not(.pos-m1):not(.pos-0):not(.pos-p1):not(.pos-p2){
  opacity:0 !important;
  visibility:hidden !important;
}

/* 3) Progetti: schede più basse e più compatte */
.projects-section.projects-clean-section{
  row-gap:34px !important;
}
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  width:860px !important;
  max-width:calc(100% - 80px) !important;
  min-height:0 !important;
  height:auto !important;
  padding:24px 34px 26px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 210px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  grid-template-rows:auto auto !important;
  column-gap:24px !important;
  row-gap:16px !important;
  align-items:center !important;
  border:2px solid #151515 !important;
  border-radius:28px !important;
  box-shadow:none !important;
  overflow:hidden !important;
  margin-bottom:34px !important;
}
.projects-section.projects-clean-section > article.project::before,
.projects-section.projects-clean-section > article.project::after,
.projects-section.projects-clean-section > .project::before,
.projects-section.projects-clean-section > .project::after,
.projects-section.projects-clean-section > .project-right::before,
.projects-section.projects-clean-section > .project-right::after{
  content:none !important;
  display:none !important;
}
.projects-section.projects-clean-section .project-title,
.projects-section.projects-clean-section .project-right .project-title,
.projects-section.projects-clean-section .project.project-left .project-title,
.projects-section.projects-clean-section .project.project-right .project-title{
  grid-area:title !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-size:19px !important;
  line-height:1.05 !important;
  letter-spacing:.075em !important;
}
.projects-section.projects-clean-section .project-copy,
.projects-section.projects-clean-section .project .project-copy,
.projects-section.projects-clean-section .project-right .project-copy{
  grid-area:copy !important;
  align-self:center !important;
  padding:0 !important;
  margin:0 !important;
}
.projects-section.projects-clean-section .project-year{
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  margin:0 0 7px !important;
}
.projects-section.projects-clean-section .project-copy p{
  font-size:10px !important;
  line-height:1.32 !important;
  letter-spacing:.035em !important;
  max-width:320px !important;
  margin:0 !important;
}
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .project .gallery-grid,
.projects-section.projects-clean-section .project-left .gallery-grid,
.projects-section.projects-clean-section .project-right .gallery-grid{
  grid-area:gallery !important;
  justify-self:end !important;
  align-self:center !important;
  width:210px !important;
  max-width:210px !important;
  display:grid !important;
  grid-template-columns:repeat(2, 96px) !important;
  grid-template-rows:96px !important;
  grid-auto-rows:96px !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}
.projects-section.projects-clean-section .gallery-grid img,
.projects-section.projects-clean-section .project .gallery-grid img,
.projects-section.projects-clean-section .project-right .gallery-grid img{
  width:96px !important;
  height:96px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  transform:none !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section .gallery-grid img:nth-child(n+3){
  display:none !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section > article.project,
  .projects-section.projects-clean-section > .project,
  .projects-section.projects-clean-section > .project-right{
    width:auto !important;
    max-width:calc(100% - 32px) !important;
    padding:22px 18px !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section .gallery-grid,
  .projects-section.projects-clean-section .project .gallery-grid,
  .projects-section.projects-clean-section .project-left .gallery-grid,
  .projects-section.projects-clean-section .project-right .gallery-grid{
    justify-self:center !important;
  }
}


/* =========================================================
   V16 - rifiniture richieste
   ========================================================= */

/* 1) Titoli centrati in tutti i parallax box */
.parallax,
.video-parallax-strip,
.contact-parallax-box{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.parallax .section-title,
.video-parallax-strip .video-strip-title,
.contact-parallax-caption{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  inset:auto !important;
  width:100% !important;
  margin:0 auto !important;
  text-align:center !important;
  display:block !important;
}

/* 2) Cosa facciamo: nessuna ombra o movimento hover, icona centrata con il gruppo */
.services-section .service-card,
.services-section .service-card:hover,
.services-section .service-card:focus-visible{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
  background:transparent !important;
}
.services-section .service-card::before,
.services-section .service-card::after{
  box-shadow:none !important;
}
.services-section .service-card img,
.services-section .service-card:hover img,
.services-section .service-card:focus-visible img{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}
.services-section .services-grid{
  width:min(1180px, calc(100% - 60px)) !important;
  margin:0 auto !important;
}
.services-section .service-card{
  display:grid !important;
  grid-template-columns:94px minmax(0, 1fr) !important;
  column-gap:26px !important;
  align-items:center !important;
}
.services-section .service-card > img{
  grid-column:1 !important;
  justify-self:center !important;
  align-self:center !important;
  width:72px !important;
  height:72px !important;
}
.services-section .service-content{
  grid-column:2 !important;
  align-self:center !important;
}

/* 3) Carosello come lavoriamo: laterali non tagliate, opacità e ombra */
.work-detail-section .detail-carousel{
  width:min(980px,100%) !important;
  max-width:980px !important;
  height:312px !important;
}
.work-detail-section .detail-carousel img{
  object-fit:contain !important;
  background:transparent !important;
}
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.is-center,
.work-detail-section .detail-carousel img:nth-child(4n+2).pos-0{
  width:418px !important;
  height:252px !important;
  opacity:1 !important;
  z-index:5 !important;
  transform:translate(-50%,-50%) translateX(0) scale(1) !important;
  box-shadow:0 24px 54px rgba(0,0,0,.28) !important;
}
.work-detail-section .detail-carousel img.pos-m1{
  width:178px !important;
  height:172px !important;
  opacity:.46 !important;
  z-index:4 !important;
  transform:translate(-50%,-50%) translateX(-240px) scale(.92) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}
.work-detail-section .detail-carousel img.pos-p1{
  width:178px !important;
  height:172px !important;
  opacity:.46 !important;
  z-index:4 !important;
  transform:translate(-50%,-50%) translateX(240px) scale(.92) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}
.work-detail-section .detail-carousel img.pos-m2{
  width:108px !important;
  height:122px !important;
  opacity:.22 !important;
  z-index:3 !important;
  transform:translate(-50%,-50%) translateX(-362px) scale(.88) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
}
.work-detail-section .detail-carousel img.pos-p2{
  width:108px !important;
  height:122px !important;
  opacity:.22 !important;
  z-index:3 !important;
  transform:translate(-50%,-50%) translateX(362px) scale(.88) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
}

/* 4) Progetti: schede leggermente più grandi ma più compatte in alto */
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  width:930px !important;
  max-width:calc(100% - 64px) !important;
  padding:16px 32px 18px !important;
  grid-template-columns:minmax(0,1fr) 232px !important;
  column-gap:24px !important;
  row-gap:10px !important;
  border-radius:28px !important;
  margin-bottom:28px !important;
}
.projects-section.projects-clean-section .project-title,
.projects-section.projects-clean-section .project-right .project-title,
.projects-section.projects-clean-section .project.project-left .project-title,
.projects-section.projects-clean-section .project.project-right .project-title{
  font-size:21px !important;
  line-height:1.04 !important;
  letter-spacing:.06em !important;
  margin:0 !important;
}
.projects-section.projects-clean-section .project-year{
  font-size:12px !important;
  line-height:1 !important;
  margin:0 0 6px !important;
}
.projects-section.projects-clean-section .project-copy p{
  font-size:11px !important;
  line-height:1.34 !important;
  max-width:340px !important;
}
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .project .gallery-grid,
.projects-section.projects-clean-section .project-left .gallery-grid,
.projects-section.projects-clean-section .project-right .gallery-grid{
  width:232px !important;
  max-width:232px !important;
  grid-template-columns:repeat(2, 108px) !important;
  grid-template-rows:108px !important;
  grid-auto-rows:108px !important;
  gap:12px !important;
}
.projects-section.projects-clean-section .gallery-grid img,
.projects-section.projects-clean-section .project .gallery-grid img,
.projects-section.projects-clean-section .project-right .gallery-grid img{
  width:108px !important;
  height:108px !important;
}
.projects-main-heading{
  letter-spacing:0 !important;
}

@media (max-width: 900px){
  .services-section .service-card{
    grid-template-columns:1fr !important;
    row-gap:14px !important;
    text-align:center !important;
  }
  .services-section .service-card > img,
  .services-section .service-content{
    grid-column:auto !important;
    justify-self:center !important;
  }
  .work-detail-section .detail-carousel{
    width:min(100%, 720px) !important;
    height:250px !important;
  }
  .work-detail-section .detail-carousel img.pos-0,
  .work-detail-section .detail-carousel img.is-center,
  .work-detail-section .detail-carousel img:nth-child(4n+2).pos-0{
    width:320px !important;
    height:205px !important;
  }
  .work-detail-section .detail-carousel img.pos-m1,
  .work-detail-section .detail-carousel img.pos-p1{
    width:122px !important;
    height:126px !important;
  }
  .work-detail-section .detail-carousel img.pos-m2,
  .work-detail-section .detail-carousel img.pos-p2{
    width:70px !important;
    height:88px !important;
  }
  .projects-section.projects-clean-section > article.project,
  .projects-section.projects-clean-section > .project,
  .projects-section.projects-clean-section > .project-right{
    width:auto !important;
    max-width:calc(100% - 28px) !important;
    padding:18px 18px 20px !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
}

/* =========================================================
   V17 - modifiche cliente: loghi, servizi, contatti, progetti
   ========================================================= */

/* 1) Come lavoriamo: loghi sotto il carosello */
.work-detail-section{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:28px !important;
  padding:74px 6vw 86px !important;
}
.work-detail-section .work-copy{
  width:min(1080px,100%) !important;
  max-width:1080px !important;
  order:1 !important;
  margin:0 auto 18px !important;
  text-align:center !important;
}
.work-detail-section .detail-carousel{
  order:2 !important;
  margin:0 auto !important;
}
.work-detail-section .partners-strip{
  order:3 !important;
  width:min(960px,100%) !important;
  margin:10px auto 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:22px 30px !important;
}
.work-detail-section .partners-strip img{
  max-height:34px !important;
  width:auto !important;
  object-fit:contain !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}

/* 2) Cosa facciamo: rimozione totale animazioni/ombre */
.services-section .service-card,
.services-section .service-card.is-visible,
.services-section .service-card:hover,
.services-section .service-card:focus,
.services-section .service-card:focus-visible,
.services-section .service-card *{
  animation:none !important;
  transition:none !important;
}
.services-section .service-card,
.services-section .service-card.is-visible,
.services-section .service-card:hover,
.services-section .service-card:focus-visible{
  opacity:1 !important;
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
  background:transparent !important;
}
.services-section .service-card::before,
.services-section .service-card::after,
.services-section .service-card:hover::before,
.services-section .service-card:hover::after{
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}
.services-section .service-card img,
.services-section .service-card:hover img,
.services-section .service-card:focus-visible img{
  opacity:1 !important;
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}
.services-section .service-card{
  align-items:center !important;
}
.services-section .service-card > img{
  align-self:center !important;
  justify-self:center !important;
}
.services-section .service-content{
  align-self:center !important;
}

/* 3) Contatti: impaginazione più pulita, icone rosso pieno */
.contact-section{
  padding:90px 0 0 !important;
  background:#fff !important;
}
.contact-panel{
  width:min(1180px, calc(100% - 80px)) !important;
  margin:0 auto 78px !important;
  display:block !important;
}
.contact-card{
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.contact-card h2{
  margin:0 0 48px !important;
  color:var(--red,#d50f25) !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(28px,2.5vw,42px) !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.contact-card h3{
  margin:0 0 42px !important;
  padding:0 !important;
}
.contact-card h3 span{
  color:var(--red,#d50f25) !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:clamp(24px,2.1vw,36px) !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.contact-items{
  width:100% !important;
  max-width:920px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:48px !important;
  align-items:start !important;
}
.contact-items > div{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:22px !important;
  text-align:center !important;
}
.contact-icon-link{
  height:92px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.contact-items img,
.contact-items a:not(.contact-icon-link){
  color:#111217 !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
  text-transform:none !important;
  text-decoration:none !important;
  overflow-wrap:anywhere !important;
}
.contact-items>div:nth-child(3) a:last-child{
  max-width:270px !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
.map-wrap{
  margin-top:0 !important;
}
.map-wrap iframe{
  display:block !important;
  height:380px !important;
}

/* 4) Progetti: schede +15% circa */
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  width:1070px !important;
  max-width:calc(100% - 64px) !important;
  padding:28px 46px 30px !important;
  grid-template-columns:minmax(0,1fr) 272px !important;
  column-gap:34px !important;
  row-gap:18px !important;
  border-radius:30px !important;
  margin-bottom:34px !important;
}
.projects-section.projects-clean-section .project-title,
.projects-section.projects-clean-section .project-right .project-title,
.projects-section.projects-clean-section .project.project-left .project-title,
.projects-section.projects-clean-section .project.project-right .project-title{
  font-size:24px !important;
  line-height:1.06 !important;
  letter-spacing:.06em !important;
}
.projects-section.projects-clean-section .project-year{
  font-size:13.5px !important;
  line-height:1 !important;
  margin:0 0 8px !important;
}
.projects-section.projects-clean-section .project-copy p{
  font-size:12.5px !important;
  line-height:1.38 !important;
  max-width:400px !important;
}
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .project .gallery-grid,
.projects-section.projects-clean-section .project-left .gallery-grid,
.projects-section.projects-clean-section .project-right .gallery-grid{
  width:272px !important;
  max-width:272px !important;
  grid-template-columns:repeat(2, 128px) !important;
  grid-template-rows:128px !important;
  grid-auto-rows:128px !important;
  gap:16px !important;
}
.projects-section.projects-clean-section .gallery-grid img,
.projects-section.projects-clean-section .project .gallery-grid img,
.projects-section.projects-clean-section .project-right .gallery-grid img{
  width:128px !important;
  height:128px !important;
}

@media (max-width:900px){
  .work-detail-section{
    padding:54px 24px 66px !important;
  }
  .contact-panel{
    width:calc(100% - 36px) !important;
    margin-bottom:54px !important;
  }
  .contact-items{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .projects-section.projects-clean-section > article.project,
  .projects-section.projects-clean-section > .project,
  .projects-section.projects-clean-section > .project-right{
    width:auto !important;
    max-width:calc(100% - 28px) !important;
    padding:22px 20px 24px !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section .gallery-grid,
  .projects-section.projects-clean-section .project .gallery-grid,
  .projects-section.projects-clean-section .project-left .gallery-grid,
  .projects-section.projects-clean-section .project-right .gallery-grid{
    width:272px !important;
    max-width:100% !important;
    justify-self:center !important;
  }
}


/* =========================================================
   V18 - rollback selettivo e rifiniture
   ========================================================= */

/* 1) Loghi fornitori: sotto al carosello ma grandi come prima */
.work-detail-section .partners-strip{
  order:3 !important;
  width:min(1240px,100%) !important;
  margin:28px auto 0 !important;
  gap:38px 54px !important;
}
.work-detail-section .partners-strip img,
.partners-strip img{
  height:auto !important;
  max-height:72px !important;
  max-width:188px !important;
  width:auto !important;
  object-fit:contain !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  filter:none !important;
  box-shadow:none !important;
  opacity:1 !important;
}
.work-detail-section .partners-strip a:hover img,
.partners-strip a:hover img{
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  opacity:1 !important;
}

/* 2) Cosa facciamo: hover, reveal e animazioni completamente spenti */
.services-section,
.services-section *,
.services-section *::before,
.services-section *::after{
  animation:none !important;
  transition:none !important;
}
.services-section .service-card,
.services-section .service-card.is-visible,
.services-section .service-card:hover,
.services-section .service-card:focus,
.services-section .service-card:focus-visible,
.services-section .service-card:hover *,
.services-section .service-card:focus-visible *{
  opacity:1 !important;
  transform:none !important;
  translate:none !important;
  scale:1 !important;
  rotate:0deg !important;
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
  background:transparent !important;
  background-color:transparent !important;
}
.services-section .service-card::before,
.services-section .service-card::after,
.services-section .service-card:hover::before,
.services-section .service-card:hover::after{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}
.services-section .service-card > img{
  justify-self:center !important;
  align-self:center !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}
.services-section .service-content{
  align-self:center !important;
}

/* 3) Progetti: ritorno proporzioni precedenti; solo cornice più marcata */
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  width:930px !important;
  max-width:calc(100% - 64px) !important;
  min-height:0 !important;
  height:auto !important;
  padding:16px 32px 18px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 232px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  grid-template-rows:auto auto !important;
  column-gap:24px !important;
  row-gap:10px !important;
  align-items:center !important;
  border:3px solid #151515 !important;
  border-radius:28px !important;
  box-shadow:none !important;
  overflow:hidden !important;
  margin-bottom:28px !important;
}
.projects-section.projects-clean-section .project-title,
.projects-section.projects-clean-section .project-right .project-title,
.projects-section.projects-clean-section .project.project-left .project-title,
.projects-section.projects-clean-section .project.project-right .project-title{
  grid-area:title !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-size:21px !important;
  line-height:1.04 !important;
  letter-spacing:.06em !important;
}
.projects-section.projects-clean-section .project-copy,
.projects-section.projects-clean-section .project .project-copy,
.projects-section.projects-clean-section .project-right .project-copy{
  grid-area:copy !important;
  align-self:center !important;
  padding:0 !important;
  margin:0 !important;
}
.projects-section.projects-clean-section .project-year{
  font-size:12px !important;
  line-height:1 !important;
  margin:0 0 6px !important;
  letter-spacing:.13em !important;
}
.projects-section.projects-clean-section .project-copy p{
  font-size:11px !important;
  line-height:1.34 !important;
  max-width:340px !important;
  margin:0 !important;
}
.projects-section.projects-clean-section .gallery-grid,
.projects-section.projects-clean-section .project .gallery-grid,
.projects-section.projects-clean-section .project-left .gallery-grid,
.projects-section.projects-clean-section .project-right .gallery-grid{
  grid-area:gallery !important;
  justify-self:end !important;
  align-self:center !important;
  width:232px !important;
  max-width:232px !important;
  display:grid !important;
  grid-template-columns:repeat(2,108px) !important;
  grid-template-rows:108px !important;
  grid-auto-rows:108px !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}
.projects-section.projects-clean-section .gallery-grid img,
.projects-section.projects-clean-section .project .gallery-grid img,
.projects-section.projects-clean-section .project-right .gallery-grid img{
  width:108px !important;
  height:108px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  transform:none !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section .gallery-grid img:nth-child(n+3){
  display:none !important;
}

/* 4) Contatti: icone più pulite, rosso pieno, impaginazione più leggibile */
.contact-items img,
.contact-items img[src$=".svg"]{
  width:88px !important;
  height:88px !important;
  object-fit:contain !important;
  filter:none !important;
  box-shadow:none !important;
  opacity:1 !important;
}
.contact-icon-link{
  height:98px !important;
}
.contact-items > div{
  gap:18px !important;
}
.contact-items a:not(.contact-icon-link){
  font-size:14px !important;
  line-height:1.38 !important;
  letter-spacing:.04em !important;
}
.contact-items>div:nth-child(3) a:last-child{
  max-width:300px !important;
}

@media (max-width:900px){
  .work-detail-section .partners-strip{
    gap:18px 24px !important;
  }
  .work-detail-section .partners-strip img,
  .partners-strip img{
    max-height:48px !important;
    max-width:150px !important;
  }
  .projects-section.projects-clean-section > article.project,
  .projects-section.projects-clean-section > .project,
  .projects-section.projects-clean-section > .project-right{
    width:auto !important;
    max-width:calc(100% - 28px) !important;
    padding:18px 18px 20px !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section .gallery-grid,
  .projects-section.projects-clean-section .project .gallery-grid,
  .projects-section.projects-clean-section .project-left .gallery-grid,
  .projects-section.projects-clean-section .project-right .gallery-grid{
    justify-self:center !important;
  }
}

/* =========================================================
   V19 - schede progetti più larghe solo in orizzontale
   ========================================================= */
.projects-section{
  padding-left:max(24px,calc((100vw - 1420px) / 2)) !important;
  padding-right:max(24px,calc((100vw - 1420px) / 2)) !important;
  gap:30px 32px !important;
}
.projects-section>article.project,
.projects-section>.project,
.projects-section>.project-right,
.projects-section>.project.is-visible,
.projects-section>.project-right.is-visible,
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  width:100% !important;
  max-width:none !important;
  min-height:350px !important;
  height:100% !important;
  padding-top:26px !important;
  padding-bottom:26px !important;
  grid-template-columns:minmax(0,1fr) 244px !important;
}

@media (max-width:900px){
  .projects-section{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

/* =========================================================
   V20 - larghezza v19, altezza schede come prima
   ========================================================= */
.projects-section>article.project,
.projects-section>.project,
.projects-section>.project-right,
.projects-section>.project.is-visible,
.projects-section>.project-right.is-visible,
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  padding-top:16px !important;
  padding-bottom:18px !important;
  row-gap:10px !important;
  margin-bottom:28px !important;
}

/* =========================================================
   V21 - schede progetti più vicine tra loro
   ========================================================= */
.projects-section{
  row-gap:18px !important;
  gap:18px 32px !important;
}
.projects-section>article.project,
.projects-section>.project,
.projects-section>.project-right,
.projects-section>.project.is-visible,
.projects-section>.project-right.is-visible,
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

@media (max-width:900px){
  .projects-section{
    row-gap:16px !important;
    gap:16px !important;
  }
}

/* =========================================================
   V23 - giganti non-parallax -10%, contatti font nuovo
   ========================================================= */

/* Riduzione solo delle scritte giganti fuori dai parallax box */
.logo-hero::before{
  font-size:clamp(50px,6.9vw,122px) !important;
}
.work-detail-section::before{
  font-size:clamp(61px,7.55vw,133px) !important;
}
.services-section::before,
.contact-section::before{
  font-size:clamp(61px,7.55vw,133px) !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  font-size:clamp(65px,8.28vw,135px) !important;
}

/* Non toccare le scritte nei parallax box: ripristino dimensioni v21 */
.parallax .section-title,
.parallax-work .section-title,
.parallax-services .section-title,
.video-parallax-strip .section-title,
.video-parallax-strip .video-strip-title,
.contact-parallax-caption{
  font-size:clamp(22px,2.1vw,34px) !important;
}

/* Contatti: font più grande, diverso da Rajdhani ma coerente */
.contact-items a:not(.contact-icon-link){
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:16px !important;
  line-height:1.42 !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  color:#111217 !important;
}
.contact-items>div:nth-child(3) a:last-child{
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:16px !important;
  line-height:1.42 !important;
  font-weight:600 !important;
  max-width:300px !important;
}

/* =========================================================
   V24 - scritte giganti su una riga
   ========================================================= */
.work-detail-section::before{
  content:"COME LAVORIAMO" !important;
  white-space:nowrap !important;
  line-height:1 !important;
  width:auto !important;
  max-width:calc(100% - 40px) !important;
}

.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  white-space:nowrap !important;
  line-height:.9 !important;
  width:auto !important;
  max-width:calc(100% - 40px) !important;
}
.projects-section.projects-clean-section .projects-main-heading br,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading br,
.projects-main-heading br{
  display:none !important;
}


/* =========================================================
   V25 - contatti: indirizzo su due righe e icona mail invertita
   ========================================================= */
.contact-items > div:nth-child(3) a:last-child{
  display:inline-block !important;
  white-space:normal !important;
  max-width:200px !important;
  text-align:center !important;
  line-height:1.45 !important;
}
.contact-items img[src$="contact-mail.svg"]{
  width:84px !important;
  height:84px !important;
  border-radius:0 !important;
}

/* =========================================================
   V26 - cosa facciamo su una riga sopra al contenuto + allineamento + indirizzo più piccolo
   ========================================================= */
.services-section{
  padding-top:190px !important;
}
.services-section::before{
  content:"COSA FACCIAMO" !important;
  white-space:nowrap !important;
  width:auto !important;
  max-width:calc(100% - 36px) !important;
  top:28px !important;
  right:clamp(16px,2.2vw,34px) !important;
  line-height:1 !important;
  font-size:clamp(61px,7.55vw,133px) !important;
  color:rgba(17,18,23,.055) !important;
  z-index:1 !important;
}
.services-section .services-grid,
.services-section .service-card{
  position:relative !important;
  z-index:2 !important;
}

/* allineamento card "Nuove costruzioni" */
.services-section .service-card.single-col-list ul,
.services-section .services-grid > .service-card:nth-child(2) ul{
  columns:auto !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:0 56px !important;
  max-width:760px !important;
  width:100% !important;
  padding-left:18px !important;
}
.services-section .service-card.single-col-list li,
.services-section .services-grid > .service-card:nth-child(2) li{
  margin:0 !important;
}

/* indirizzo contatti leggermente più piccolo */
.contact-items>div:nth-child(3) a:last-child{
  font-size:14px !important;
  line-height:1.4 !important;
}

@media (max-width: 900px){
  .services-section{
    padding-top:150px !important;
  }
  .services-section .service-card.single-col-list ul,
  .services-section .services-grid > .service-card:nth-child(2) ul{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
}

/* =========================================================
   V28 - rollback a v26 + testi giganti grigi più scuri
   ========================================================= */
:root{
  --giant-grey-dark: rgba(17,18,23,.11);
}

.logo-hero::before,
.about-section::before,
.services-section::before,
.contact-section::before,
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  color: var(--giant-grey-dark) !important;
}

/* =========================================================
   V29 - COSTRUIRE CON PASSIONE grigio scuro e spostato più sotto
   ========================================================= */
.logo-hero::before{
  content:"COSTRUIRE CON PASSIONE" !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:58px !important;
  width:100% !important;
  max-width:calc(100% - 40px) !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:clamp(50px,6.9vw,122px) !important;
  line-height:.9 !important;
  letter-spacing:-.045em !important;
  color:rgba(17,18,23,.11) !important;
  z-index:0 !important;
}
.logo-hero .hero-title{
  z-index:2 !important;
}

@media (max-width: 900px){
  .logo-hero::before{
    bottom:34px !important;
    max-width:calc(100% - 24px) !important;
    white-space:normal !important;
    line-height:.92 !important;
  }
}

/* =========================================================
   V30 - Progetti leggermente più in basso per non sovrapporsi al titolo
   ========================================================= */
.projects-section.projects-clean-section .projects-heading-wrap{
  margin:0 0 54px !important;
  min-height:74px !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap{
    margin:0 0 28px !important;
    min-height:0 !important;
  }
}


/* =========================================================
   V33 - spacer invisibile sopra le schede progetto
   ========================================================= */
.projects-section.projects-clean-section > .project.project-spacer,
.projects-section.projects-clean-section > .project-spacer{
  grid-column:1 / -1 !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  height:96px !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:0 !important;
  pointer-events:none !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section > .project.project-spacer,
  .projects-section.projects-clean-section > .project-spacer{
    height:44px !important;
  }
}


/* =========================================================
   V34 - spacer invisibili più leggeri in Progetti e Come lavoriamo
   ========================================================= */
.projects-section.projects-clean-section > .project.project-spacer,
.projects-section.projects-clean-section > .project-spacer{
  height:68px !important;
}
.work-detail-section > .work-spacer{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:64px !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:0 !important;
  pointer-events:none !important;
  flex:0 0 auto !important;
}
@media (max-width: 900px){
  .projects-section.projects-clean-section > .project.project-spacer,
  .projects-section.projects-clean-section > .project-spacer{
    height:34px !important;
  }
  .work-detail-section > .work-spacer{
    height:32px !important;
  }
}

/* =========================================================
   V35 - Cosa facciamo: animazioni completamente disattivate
   ========================================================= */
.services-section,
.services-section *,
.services-section *::before,
.services-section *::after{
  animation:none !important;
  transition:none !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  will-change:auto !important;
}

.services-section .service-card,
.services-section .service-card:hover,
.services-section .service-card:focus-visible,
.services-section .service-card.is-visible,
.services-section .service-card.is-visible:hover,
.services-section .service-card.is-visible:focus-visible{
  opacity:1 !important;
  transform:none !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

.services-section .service-card img,
.services-section .service-card:hover img,
.services-section .service-card:focus-visible img,
.services-section .service-card.is-visible img,
.services-section .service-card.is-visible:hover img{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}

.services-section .service-card h3,
.services-section .service-card h4,
.services-section .service-card ul,
.services-section .service-card li,
.services-section .service-content{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}

.services-section .service-card::before,
.services-section .service-card::after,
.services-section .service-card:hover::before,
.services-section .service-card:hover::after,
.services-section .service-card.is-visible::before,
.services-section .service-card.is-visible::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}


/* =========================================================
   V36 - titolo progetti con spazio, indirizzo su 2 righe, animazione progetti anche in risalita
   ========================================================= */
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  white-space: nowrap !important;
}

.contact-items>div:nth-child(3){
  width:250px !important;
  max-width:250px !important;
}
.contact-items>div:nth-child(3) a:last-child{
  width:250px !important;
  max-width:250px !important;
  white-space:pre-line !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  font-size:12px !important;
  line-height:1.4 !important;
}

.projects-section > .project:not(.project-spacer){
  transition-property: opacity, transform !important;
  transition-duration: .55s !important;
  transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
}


/* =========================================================
   V37 - animazione scritte giganti su scroll + colori più scuri
   ========================================================= */
:root{
  --giant-grey-animated: rgba(17,18,23,.132);
  --giant-white-animated: rgba(255,255,255,.22);
}

/* colori più scuri */
.logo-hero::before,
.about-section::before,
.services-section::before,
.contact-section::before,
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  color: var(--giant-grey-animated) !important;
}
.work-detail-section::before{
  color: var(--giant-white-animated) !important;
}

/* stato iniziale animazione */
.logo-hero::before,
.about-section::before,
.services-section::before,
.contact-section::before,
.work-detail-section::before{
  opacity: 0 !important;
  transform: translateY(28px) !important;
  transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1) !important;
  will-change: opacity, transform;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1) !important;
  will-change: opacity, transform;
}

/* stato visibile */
.logo-hero.giant-visible::before,
.about-section.giant-visible::before,
.services-section.giant-visible::before,
.contact-section.giant-visible::before,
.work-detail-section.giant-visible::before{
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.projects-main-heading.giant-visible,
.section-title.grey.projects-main-heading.giant-visible{
  opacity: 1 !important;
  transform: translateY(0) !important;
}


/* =========================================================
   V38 - scritte giganti: entrata da sinistra / uscita a sinistra
   ========================================================= */
/* COSTRUIRE CON PASSIONE: solo dissolvenza statica */
.logo-hero::before{
  transform: none !important;
}
.logo-hero.giant-visible::before{
  transform: none !important;
}

/* tutte le altre scritte giganti: da sinistra */
.about-section::before,
.services-section::before,
.contact-section::before,
.work-detail-section::before{
  transform: translateX(-42px) !important;
}
.about-section.giant-visible::before,
.services-section.giant-visible::before,
.contact-section.giant-visible::before,
.work-detail-section.giant-visible::before{
  transform: translateX(0) !important;
}

.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  transform: translateX(-42px) !important;
}
.projects-main-heading.giant-visible,
.section-title.grey.projects-main-heading.giant-visible{
  transform: translateX(0) !important;
}

/* =========================================================
   V39 - movimento scritte aumentato + fix COSTRUIRE CON PASSIONE
   ========================================================= */
/* COSTRUIRE CON PASSIONE: resta centrale, solo dissolvenza */
.logo-hero::before{
  transform:translateX(-50%) !important;
}
.logo-hero.giant-visible::before{
  transform:translateX(-50%) !important;
}

/* aumento del movimento laterale delle altre scritte giganti */
.about-section::before,
.services-section::before,
.contact-section::before,
.work-detail-section::before{
  transform:translateX(-126px) !important;
}
.about-section.giant-visible::before,
.services-section.giant-visible::before,
.contact-section.giant-visible::before,
.work-detail-section.giant-visible::before{
  transform:translateX(0) !important;
}

.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  transform:translateX(-126px) !important;
}
.projects-main-heading.giant-visible,
.section-title.grey.projects-main-heading.giant-visible{
  transform:translateX(0) !important;
}


/* =========================================================
   V40 - fix hero giant title on first load + projects heading animation/position
   ========================================================= */
/* COSTRUIRE CON PASSIONE: nascosto all'apertura, compare appena inizi a scrollare */
.logo-hero::before{
  opacity:0 !important;
  transform:translateX(-50%) !important;
}
.logo-hero.giant-visible::before{
  opacity:1 !important;
  transform:translateX(-50%) !important;
}

/* PROGETTI REALIZZATI: posizione stabile a destra + animazione corretta */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position:relative !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  display:block !important;
  position:relative !important;
  right:0 !important;
  margin:0 !important;
  text-align:right !important;
  transform:translateX(-126px);
}
.projects-main-heading.giant-visible,
.section-title.grey.projects-main-heading.giant-visible{
  transform:translateX(0) !important;
}

/* =========================================================
   V41 - fix impaginazione PROGETTI REALIZZATI
   ========================================================= */
.projects-section.projects-clean-section{
  position:relative !important;
}

/* titolo gigante di nuovo a destra, fuori dal flusso, senza rompere le card */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position:absolute !important;
  top:28px !important;
  right:clamp(20px,2.8vw,42px) !important;
  left:auto !important;
  width:auto !important;
  max-width:calc(100% - 40px) !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  text-align:right !important;
  z-index:0 !important;
  pointer-events:none !important;
  overflow:visible !important;
}

.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  position:relative !important;
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  text-align:right !important;
  white-space:nowrap !important;
  line-height:.86 !important;
  letter-spacing:-.03em !important;
}

/* spacer invisibile: mantiene solo lo spazio utile sopra le schede */
.projects-section.projects-clean-section > .project.project-spacer,
.projects-section.projects-clean-section > .project-spacer{
  height:72px !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    top:18px !important;
    right:16px !important;
    max-width:calc(100% - 24px) !important;
  }
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading,
  .projects-main-heading{
    white-space:normal !important;
  }
  .projects-section.projects-clean-section > .project.project-spacer,
  .projects-section.projects-clean-section > .project-spacer{
    height:40px !important;
  }
}

/* =========================================================
   V42 - PROGETTI REALIZZATI allineato come gli altri titoli giganti
   ========================================================= */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  right: clamp(28px, 7vw, 120px) !important;
  width: min(760px, 70vw) !important;
  max-width: min(760px, 70vw) !important;
  text-align: right !important;
}

.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  width: 100% !important;
  max-width: 100% !important;
  text-align: right !important;
  white-space: nowrap !important;
  line-height: .80 !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    right: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }
}

/* =========================================================
   V43 - fix taglio e animazione PROGETTI REALIZZATI
   ========================================================= */
.projects-section.projects-clean-section{
  overflow: visible !important;
}

.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position: absolute !important;
  top: 28px !important;
  right: clamp(20px, 2.6vw, 38px) !important;
  left: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  text-align: right !important;
  overflow: visible !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  display: block !important;
  position: relative !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  line-height: .86 !important;
  letter-spacing: -.03em !important;
  transform: translateX(-126px) !important;
  opacity: 0 !important;
}

.projects-main-heading.giant-visible,
.section-title.grey.projects-main-heading.giant-visible{
  transform: translateX(0) !important;
  opacity: 1 !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    top: 18px !important;
    right: 16px !important;
    max-width: calc(100% - 32px) !important;
  }
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading,
  .projects-main-heading{
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
}


/* =========================================================
   V45 - PROGETTI REALIZZATI visibile e animato correttamente
   ========================================================= */
.projects-section.projects-clean-section{
  position: relative !important;
  overflow: visible !important;
}

.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  position: absolute !important;
  top: 22px !important;
  right: clamp(18px, 2.8vw, 38px) !important;
  left: auto !important;
  width: min(860px, calc(100% - 36px)) !important;
  max-width: min(860px, calc(100% - 36px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  text-align: right !important;
  overflow: visible !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  line-height: .86 !important;
  letter-spacing: -.03em !important;
  opacity: 0 !important;
  transform: translateX(-126px) !important;
  transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1) !important;
}

.projects-section.projects-clean-section .projects-main-heading.giant-visible,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading.giant-visible,
.projects-main-heading.giant-visible{
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* le card restano sopra nello stacking solo dove serve */
.projects-section.projects-clean-section > .project:not(.project-spacer){
  position: relative !important;
  z-index: 2 !important;
}

/* spacer coerente */
.projects-section.projects-clean-section > .project.project-spacer,
.projects-section.projects-clean-section > .project-spacer{
  height: 72px !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    top: 16px !important;
    right: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading,
  .projects-main-heading{
    white-space: normal !important;
  }
  .projects-section.projects-clean-section > .project.project-spacer,
  .projects-section.projects-clean-section > .project-spacer{
    height: 40px !important;
  }
}

/* =========================================================
   V46 - PROGETTI REALIZZATI leggermente più a sinistra
   ========================================================= */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  right: clamp(64px, 6.2vw, 120px) !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    right: 16px !important;
  }
}

/* =========================================================
   V47 - PROGETTI REALIZZATI ancora più a sinistra
   ========================================================= */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  right: clamp(120px, 11vw, 220px) !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    right: 16px !important;
  }
}


/* =========================================================
   V48 - titolo progetti più a sinistra + galleria 9 foto nei progetti
   ========================================================= */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  right: clamp(180px, 14vw, 300px) !important;
}

.gallery-grid img,
.projects-section .project{
  cursor: pointer;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    right: 16px !important;
  }
}


/* =========================================================
   V49 - PROGETTI REALIZZATI meno a sinistra + intro home logo/tasti
   ========================================================= */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  right: clamp(150px, 12.5vw, 260px) !important;
}

/* Intro sequenza home: compare prima il logo, poi i due bottoni */
body.hero-intro-ready .logo-hero .hero-logo,
body.hero-intro-ready .logo-hero .hero-actions a{
  opacity: 0;
  visibility: hidden;
  transition-property: opacity, transform, visibility;
  transition-timing-function: ease;
}

body.hero-intro-ready .logo-hero .hero-logo{
  transform: translateY(26px) scale(.97);
  transition-duration: .75s;
}

body.hero-intro-ready .logo-hero .hero-actions a{
  transform: translateY(18px);
  transition-duration: .55s;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-logo,
body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a{
  opacity: 1;
  visibility: visible;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-logo{
  transform: translateY(0) scale(1);
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a:nth-child(1){
  transform: translateY(0);
  transition-delay: .62s;
}
body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a:nth-child(2){
  transform: translateY(0);
  transition-delay: .84s;
}

@media (prefers-reduced-motion: reduce){
  body.hero-intro-ready .logo-hero .hero-logo,
  body.hero-intro-ready .logo-hero .hero-actions a{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V50 - intro home più marcata
   ========================================================= */
body.hero-intro-ready .logo-hero .hero-logo,
body.hero-intro-ready .logo-hero .hero-actions a{
  opacity: 0 !important;
  visibility: hidden !important;
  will-change: transform, opacity, filter !important;
  transition-property: opacity, transform, filter, visibility !important;
  transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
}

body.hero-intro-ready .logo-hero .hero-logo{
  transform: translateY(54px) scale(.86) !important;
  filter: blur(4px) !important;
  transition-duration: 1s !important;
}

body.hero-intro-ready .logo-hero .hero-actions{
  overflow: visible !important;
}

body.hero-intro-ready .logo-hero .hero-actions a{
  transform: translateY(42px) scale(.94) !important;
  filter: blur(2px) !important;
  transition-duration: .78s !important;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-logo,
body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a{
  opacity: 1 !important;
  visibility: visible !important;
  filter: blur(0) !important;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-logo{
  transform: translateY(0) scale(1) !important;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a:nth-child(1){
  transform: translateY(0) scale(1) !important;
  transition-delay: 1.05s !important;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a:nth-child(2){
  transform: translateY(0) scale(1) !important;
  transition-delay: 1.34s !important;
}

@media (prefers-reduced-motion: reduce){
  body.hero-intro-ready .logo-hero .hero-logo,
  body.hero-intro-ready .logo-hero .hero-actions a{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V51 - intro home pulita: bianco in dissolvenza + fade bottoni
   ========================================================= */
body.hero-intro-ready::before{
  content:"";
  position:fixed;
  inset:0;
  background:#ffffff;
  opacity:1;
  z-index:9999;
  pointer-events:none;
  transition:opacity 1.15s ease;
}
body.hero-intro-ready.hero-intro-play::before{
  opacity:0;
}
body.hero-intro-ready.hero-intro-done::before{
  display:none;
}

/* reset della v50: niente blur / niente movimento brutto */
body.hero-intro-ready .logo-hero .hero-logo,
body.hero-intro-ready .logo-hero .hero-actions a{
  visibility:visible !important;
  opacity:0 !important;
  filter:none !important;
  will-change:opacity, transform !important;
  transition-property:opacity, transform !important;
  transition-timing-function:cubic-bezier(.22,.61,.36,1) !important;
}

body.hero-intro-ready .logo-hero .hero-logo{
  transform:translateY(18px) scale(.985) !important;
  transition-duration:.85s !important;
}

body.hero-intro-ready .logo-hero .hero-actions a{
  transform:translateY(16px) !important;
  transition-duration:.7s !important;
  pointer-events:none !important;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-logo{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  transition-delay:.42s !important;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a:nth-child(1){
  opacity:1 !important;
  transform:translateY(0) !important;
  transition-delay:1.25s !important;
}
body.hero-intro-ready.hero-intro-play .logo-hero .hero-actions a:nth-child(2){
  opacity:1 !important;
  transform:translateY(0) !important;
  transition-delay:1.55s !important;
}

body.hero-intro-ready.hero-intro-done .logo-hero .hero-actions a{
  pointer-events:auto !important;
}

@media (prefers-reduced-motion: reduce){
  body.hero-intro-ready::before{display:none !important;}
  body.hero-intro-ready .logo-hero .hero-logo,
  body.hero-intro-ready .logo-hero .hero-actions a{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    pointer-events:auto !important;
  }
}


/* =========================================================
   V52 - animazioni scroll per Cosa facciamo e Contatti
   ========================================================= */
.services-section .service-card,
.contact-section .contact-items > div{
  opacity: 0 !important;
  transform: translateX(-54px) !important;
  transition-property: opacity, transform !important;
  transition-duration: .72s !important;
  transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
  will-change: opacity, transform !important;
}

.services-section .service-card.scroll-visible,
.contact-section .contact-items > div.scroll-visible{
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.services-section .service-card:nth-child(1){ transition-delay: 0ms !important; }
.services-section .service-card:nth-child(2){ transition-delay: 80ms !important; }
.services-section .service-card:nth-child(3){ transition-delay: 160ms !important; }
.services-section .service-card:nth-child(4){ transition-delay: 240ms !important; }

.contact-section .contact-items > div:nth-child(1){ transition-delay: 0ms !important; }
.contact-section .contact-items > div:nth-child(2){ transition-delay: 100ms !important; }
.contact-section .contact-items > div:nth-child(3){ transition-delay: 200ms !important; }

@media (max-width: 900px){
  .services-section .service-card,
  .contact-section .contact-items > div{
    transform: translateY(28px) !important;
  }
  .services-section .service-card.scroll-visible,
  .contact-section .contact-items > div.scroll-visible{
    transform: translateY(0) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .services-section .service-card,
  .contact-section .contact-items > div{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================
   V53 - Cosa facciamo animazione evidente; Contatti solo dissolvenza
   ========================================================= */
/* Cosa facciamo: effetto scroll evidente, attivo anche in risalita */
.services-section .services-grid > .service-card{
  opacity:0 !important;
  transform:translateX(-120px) translateY(18px) scale(.96) !important;
  transition-property:opacity, transform !important;
  transition-duration:.85s !important;
  transition-timing-function:cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity, transform !important;
}
.services-section .services-grid > .service-card:nth-child(even){
  transform:translateX(120px) translateY(18px) scale(.96) !important;
}
.services-section .services-grid > .service-card.scroll-visible{
  opacity:1 !important;
  transform:translateX(0) translateY(0) scale(1) !important;
}
.services-section .services-grid > .service-card:nth-child(1){ transition-delay:0ms !important; }
.services-section .services-grid > .service-card:nth-child(2){ transition-delay:90ms !important; }
.services-section .services-grid > .service-card:nth-child(3){ transition-delay:180ms !important; }
.services-section .services-grid > .service-card:nth-child(4){ transition-delay:270ms !important; }

/* Contatti: solo dissolvenza, senza movimento */
.contact-section .contact-items > div{
  opacity:0 !important;
  transform:none !important;
  transition-property:opacity !important;
  transition-duration:.7s !important;
  transition-timing-function:ease !important;
  will-change:opacity !important;
}
.contact-section .contact-items > div.scroll-visible{
  opacity:1 !important;
  transform:none !important;
}
.contact-section .contact-items > div:nth-child(1){ transition-delay:0ms !important; }
.contact-section .contact-items > div:nth-child(2){ transition-delay:110ms !important; }
.contact-section .contact-items > div:nth-child(3){ transition-delay:220ms !important; }

@media (max-width:900px){
  .services-section .services-grid > .service-card,
  .services-section .services-grid > .service-card:nth-child(even){
    transform:translateY(40px) scale(.97) !important;
  }
  .services-section .services-grid > .service-card.scroll-visible{
    transform:translateY(0) scale(1) !important;
  }
}

/* =========================================================
   V54 - Cosa facciamo e Contatti: dissolvenza statica, senza movimento
   ========================================================= */
/* Cosa facciamo: solo fade, nessun movimento */
.services-section .services-grid > .service-card,
.services-section .services-grid > .service-card:nth-child(even),
.services-section .service-card,
.services-section .service-card.is-visible,
.services-section .service-card:hover,
.services-section .service-card:focus-visible{
  opacity:0 !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  transition-property:opacity !important;
  transition-duration:.72s !important;
  transition-timing-function:ease !important;
  transition-delay:0ms !important;
  will-change:opacity !important;
}
.services-section .services-grid > .service-card.scroll-visible,
.services-section .service-card.scroll-visible{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  transition-delay:0ms !important;
}
.services-section .service-card:nth-child(1),
.services-section .service-card:nth-child(2),
.services-section .service-card:nth-child(3),
.services-section .service-card:nth-child(4){
  transition-delay:0ms !important;
}

/* Contatti: tutti insieme, solo fade, nessuna sequenza */
.contact-section .contact-items > div,
.contact-section .contact-items > div:nth-child(1),
.contact-section .contact-items > div:nth-child(2),
.contact-section .contact-items > div:nth-child(3){
  opacity:0 !important;
  transform:none !important;
  filter:none !important;
  transition-property:opacity !important;
  transition-duration:.72s !important;
  transition-timing-function:ease !important;
  transition-delay:0ms !important;
  will-change:opacity !important;
}
.contact-section .contact-items > div.scroll-visible,
.contact-section .contact-items > div:nth-child(1).scroll-visible,
.contact-section .contact-items > div:nth-child(2).scroll-visible,
.contact-section .contact-items > div:nth-child(3).scroll-visible{
  opacity:1 !important;
  transform:none !important;
  transition-delay:0ms !important;
}

@media (max-width:900px){
  .services-section .services-grid > .service-card,
  .services-section .services-grid > .service-card:nth-child(even),
  .services-section .services-grid > .service-card.scroll-visible,
  .contact-section .contact-items > div,
  .contact-section .contact-items > div.scroll-visible{
    transform:none !important;
    transition-delay:0ms !important;
  }
}


/* =========================================================
   V55 - animazione titolo rosso CHI SIAMO
   ========================================================= */
.about-red-title{
  opacity:0 !important;
  transform:translateX(126px) !important;
  transition:opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity, transform !important;
}

.about-red-title.about-red-visible{
  opacity:1 !important;
  transform:translateX(0) !important;
}

@media (prefers-reduced-motion: reduce){
  .about-red-title{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V56 - placeholder PROGETTI IN VENDITA sopra a PROGETTI REALIZZATI
   ========================================================= */
.projects-section.projects-clean-section .projects-sale-placeholder{
  grid-column:1 / -1 !important;
  width:100% !important;
  display:grid !important;
  justify-items:center !important;
  gap:14px !important;
  margin:0 0 10px !important;
}

.projects-section.projects-clean-section .projects-sale-title{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-family:"Rajdhani", Arial, sans-serif !important;
  font-weight:700 !important;
  font-size:28px !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:#af0f1c !important;
  text-align:center !important;
}

.projects-section.projects-clean-section .project-sale-empty{
  width:min(620px, 100%) !important;
  min-height:146px !important;
  height:146px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  box-shadow:none !important;
  filter:none !important;
  overflow:hidden !important;
}

@media (max-width: 900px){
  .projects-section.projects-clean-section .projects-sale-placeholder{
    gap:10px !important;
    margin:0 0 6px !important;
  }
  .projects-section.projects-clean-section .projects-sale-title{
    font-size:22px !important;
  }
  .projects-section.projects-clean-section .project-sale-empty{
    width:100% !important;
    min-height:108px !important;
    height:108px !important;
    border-radius:24px !important;
  }
}


/* =========================================================
   V57 - Progetti in vendita come titolo gigante + cornice in griglia
   ========================================================= */
/* neutralizza il placeholder centrato della v56 */
.projects-section.projects-clean-section .projects-sale-placeholder{
  display:contents !important;
}

/* titolo gigante Progetti in vendita */
.projects-section.projects-clean-section .projects-sale-heading-wrap{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 18px !important;
  padding:0 !important;
  position:relative !important;
  z-index:1 !important;
  pointer-events:none !important;
  text-align:left !important;
}
.projects-section.projects-clean-section .projects-sale-main-heading{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-family:"Rajdhani", Arial, sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(65px,8.28vw,135px) !important;
  line-height:.86 !important;
  letter-spacing:-.03em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  white-space:nowrap !important;
  color:rgba(17,18,23,.132) !important;
  background:transparent !important;
  text-shadow:none !important;
  opacity:1 !important;
  transform:none !important;
}

/* scheda vuota nella stessa griglia/colonna delle altre schede */
.projects-section.projects-clean-section > .project-sale-empty{
  grid-column:auto !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  height:174px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  background:transparent !important;
  background-color:transparent !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  pointer-events:none !important;
}

/* PROGETTI REALIZZATI resta sotto la cornice vuota */
.projects-section.projects-clean-section .projects-heading-wrap{
  grid-column:1 / -1 !important;
  margin-top:28px !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section .projects-sale-main-heading{
    white-space:normal !important;
    font-size:clamp(48px,13vw,82px) !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty{
    grid-column:1 / -1 !important;
    height:128px !important;
    border-radius:24px !important;
  }
}

/* =========================================================
   V59 - assetto finale sezione progetti: vendita sopra, realizzati sotto
   ========================================================= */
.projects-section.projects-clean-section{
  align-items:start !important;
}

.projects-section.projects-clean-section .projects-sale-heading-wrap{
  grid-column:1 / -1 !important;
  order:1 !important;
  margin:0 0 22px !important;
  text-align:left !important;
  z-index:1 !important;
}

.projects-section.projects-clean-section .projects-sale-main-heading{
  text-align:left !important;
  color:rgba(17,18,23,.132) !important;
  font-size:clamp(65px,8.28vw,135px) !important;
  line-height:.86 !important;
  letter-spacing:-.03em !important;
  white-space:nowrap !important;
}

.projects-section.projects-clean-section > .project-sale-empty{
  order:2 !important;
  grid-column:1 / 2 !important;
  width:100% !important;
  height:174px !important;
  min-height:174px !important;
  align-self:start !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  background:transparent !important;
}

.projects-section.projects-clean-section .projects-heading-wrap{
  order:3 !important;
  grid-column:1 / -1 !important;
  margin:36px 0 18px !important;
}

.projects-section.projects-clean-section .projects-main-heading{
  color:rgba(17,18,23,.132) !important;
}

.projects-section.projects-clean-section .project-spacer{
  order:4 !important;
}

.projects-section.projects-clean-section > article.project{
  order:5 !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section .projects-sale-main-heading{
    white-space:normal !important;
    font-size:clamp(48px,13vw,82px) !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty{
    grid-column:1 / -1 !important;
    height:128px !important;
    min-height:128px !important;
  }
}

/* =========================================================
   V60 - fix reale: PROGETTI IN VENDITA visibile sopra cornice,
   PROGETTI REALIZZATI sotto cornice, senza rompere card
   ========================================================= */
.projects-section.projects-clean-section{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start !important;
  position:relative !important;
  overflow:visible !important;
}

/* Titolo PROGETTI IN VENDITA: visibile, grigio, sopra la cornice */
.projects-section.projects-clean-section .projects-sale-heading-wrap,
.projects-section.projects-clean-section > .container.projects-sale-heading-wrap{
  grid-column:1 / -1 !important;
  order:1 !important;
  position:relative !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 18px !important;
  padding:0 !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  text-align:right !important;
  z-index:3 !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:none !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section .projects-sale-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading{
  display:block !important;
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:none !important;
  color:rgba(17,18,23,.132) !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:clamp(64px,8.2vw,134px) !important;
  line-height:.84 !important;
  letter-spacing:-.03em !important;
  text-align:right !important;
  white-space:nowrap !important;
  text-transform:uppercase !important;
  background:transparent !important;
}

/* Cornice vuota: nella stessa colonna delle card */
.projects-section.projects-clean-section > .project-sale-empty{
  grid-column:1 / 2 !important;
  order:2 !important;
  display:block !important;
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  min-height:174px !important;
  height:174px !important;
  margin:0 0 46px !important;
  padding:0 !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  z-index:2 !important;
  pointer-events:none !important;
}

/* Titolo PROGETTI REALIZZATI: sotto la cornice */
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  grid-column:1 / -1 !important;
  order:3 !important;
  position:relative !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 26px !important;
  padding:0 !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  text-align:right !important;
  z-index:3 !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:none !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  display:block !important;
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:none !important;
  color:rgba(17,18,23,.132) !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:clamp(64px,8.2vw,134px) !important;
  line-height:.84 !important;
  letter-spacing:-.03em !important;
  text-align:right !important;
  white-space:nowrap !important;
  text-transform:uppercase !important;
  background:transparent !important;
}

.projects-section.projects-clean-section > .project.project-spacer,
.projects-section.projects-clean-section > .project-spacer{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project:not(.project-spacer){
  order:4 !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section .projects-sale-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading,
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading,
  .projects-main-heading{
    white-space:normal !important;
    font-size:clamp(46px,13vw,80px) !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty{
    grid-column:1 / -1 !important;
    height:128px !important;
    min-height:128px !important;
  }
}

/* =========================================================
   V61 - allinea i titoli grigi PROGETTI al bordo dello schermo
   ========================================================= */
.projects-section.projects-clean-section .projects-sale-heading-wrap,
.projects-section.projects-clean-section > .container.projects-sale-heading-wrap,
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-right:clamp(22px,2.4vw,40px) !important;
  padding-left:0 !important;
  box-sizing:border-box !important;
}

.projects-section.projects-clean-section .projects-sale-heading-wrap,
.projects-section.projects-clean-section > .container.projects-sale-heading-wrap{
  margin-bottom:18px !important;
}

.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  margin-bottom:26px !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section .projects-sale-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-sale-heading-wrap,
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-right:14px !important;
    padding-left:14px !important;
  }
}

/* =========================================================
   V62 - sezione progetti: spazi più compatti + animazioni titoli/card vuota
   ========================================================= */
.projects-section.projects-clean-section .projects-sale-heading-wrap,
.projects-section.projects-clean-section > .container.projects-sale-heading-wrap{
  margin-bottom:10px !important;
}

.projects-section.projects-clean-section > .project-sale-empty{
  margin:0 0 22px !important;
  opacity:0 !important;
  transform:translate3d(-96px,0,0) !important;
  transition:opacity .65s ease, transform 1s cubic-bezier(.22,1,.36,1) !important;
  will-change:opacity,transform;
}
.projects-section.projects-clean-section > .project-sale-empty.sale-visible{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
}

.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  margin-bottom:18px !important;
}

.projects-section.projects-clean-section .projects-sale-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading,
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading{
  opacity:0 !important;
  transform:translate3d(-110px,0,0) !important;
  transition:opacity .68s ease, transform 1.02s cubic-bezier(.22,1,.36,1) !important;
  will-change:opacity,transform;
}

.projects-section.projects-clean-section .projects-sale-main-heading.giant-visible,
.projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading.giant-visible,
.projects-section.projects-clean-section .projects-main-heading.giant-visible,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading.giant-visible{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section .projects-sale-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-sale-heading-wrap{
    margin-bottom:8px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty{
    margin:0 0 16px !important;
  }
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    margin-bottom:14px !important;
  }
}

/* =========================================================
   V63 - Progetti: meno spazio sopra, scheda vuota animata come le card
   ========================================================= */
.projects-section.projects-clean-section,
.projects-section.projects-sale-list,
.projects-section.projects-realized-list{
  padding-top:48px !important;
}

.projects-section.projects-clean-section .projects-sale-heading-wrap,
.projects-section.projects-clean-section > .container.projects-sale-heading-wrap{
  margin-bottom:6px !important;
}

.projects-section.projects-clean-section > .project-sale-empty{
  margin:0 0 18px !important;
  opacity:0 !important;
  transform:translate3d(0,58px,0) scale(.982) !important;
  transition:opacity .72s cubic-bezier(.22,1,.36,1), transform .86s cubic-bezier(.22,1,.36,1) !important;
  will-change:opacity,transform !important;
}

.projects-section.projects-clean-section > .project-sale-empty.sale-visible{
  opacity:1 !important;
  transform:translate3d(0,0,0) scale(1) !important;
}

@media (max-width:960px){
  .projects-section.projects-clean-section,
  .projects-section.projects-sale-list,
  .projects-section.projects-realized-list{
    padding-top:34px !important;
  }

  .projects-section.projects-clean-section .projects-sale-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-sale-heading-wrap{
    margin-bottom:4px !important;
  }

  .projects-section.projects-clean-section > .project-sale-empty{
    margin:0 0 14px !important;
  }
}

/* V66: icona mail opzione 1 più grande + hover icone contatti */
.contact-items img[src$="contact-mail.svg"]{
  width:92px !important;
  height:92px !important;
  border-radius:0 !important;
}
.contact-items .contact-icon-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:transform .28s ease, filter .28s ease, opacity .28s ease !important;
}
.contact-items .contact-icon-link img{
  transition:transform .28s ease, filter .28s ease, opacity .28s ease !important;
  will-change:transform, filter;
}
.contact-items > div:hover .contact-icon-link img,
.contact-items .contact-icon-link:hover img{
  transform:translateY(-6px) scale(1.12) !important;
  filter:drop-shadow(0 8px 14px rgba(213,15,37,.18)) !important;
}

/* V67: allineamento colonne Nuove Costruzioni */
.services-section .service-card.single-col-list .service-content,
.services-section .services-grid > .service-card:nth-child(2) .service-content{
  width:100% !important;
}
.services-section .service-card.single-col-list ul,
.services-section .services-grid > .service-card:nth-child(2) ul{
  columns:auto !important;
  display:grid !important;
  grid-template-columns:minmax(280px, 360px) minmax(240px, 320px) !important;
  justify-content:space-between !important;
  align-items:start !important;
  column-gap:70px !important;
  row-gap:0 !important;
  max-width:760px !important;
  width:100% !important;
  padding-left:18px !important;
  margin:0 !important;
}
.services-section .service-card.single-col-list li,
.services-section .services-grid > .service-card:nth-child(2) li{
  margin:0 !important;
  justify-self:start !important;
}
@media (max-width: 900px){
  .services-section .service-card.single-col-list ul,
  .services-section .services-grid > .service-card:nth-child(2) ul{
    grid-template-columns:1fr !important;
    justify-content:start !important;
    column-gap:0 !important;
  }
}

/* V68: Nuove Costruzioni allineata alle colonne delle altre card */
.services-section .services-grid > .service-card:nth-child(2) .service-content{
  width:100% !important;
  max-width:100% !important;
}
.services-section .services-grid > .service-card:nth-child(2) ul,
.services-section .service-card.single-col-list ul{
  columns:auto !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  column-gap:56px !important;
  row-gap:0 !important;
  width:100% !important;
  max-width:820px !important;
  padding-left:0 !important;
  margin:0 !important;
  justify-content:start !important;
  align-items:start !important;
}
.services-section .services-grid > .service-card:nth-child(2) li,
.services-section .service-card.single-col-list li{
  margin:0 0 8px 0 !important;
  justify-self:start !important;
}
@media (max-width:960px){
  .services-section .services-grid > .service-card:nth-child(2) ul,
  .services-section .service-card.single-col-list ul{
    grid-template-columns:1fr !important;
    max-width:100% !important;
    column-gap:0 !important;
  }
}

/* V69: micro-fix allineamento "Consegna chiavi in mano" */
.services-section .service-card.single-col-list ul{
  max-width:760px !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:56px !important;
}
.services-section .service-card.single-col-list li:nth-child(2){
  margin-left:26px !important;
}
@media (max-width:960px){
  .services-section .service-card.single-col-list li:nth-child(2){
    margin-left:0 !important;
  }
}

/* V70: Consegna chiavi in mano più a sinistra */
.services-section .service-card.single-col-list li:nth-child(2){
  margin-left:-8px !important;
}
@media (max-width:960px){
  .services-section .service-card.single-col-list li:nth-child(2){
    margin-left:0 !important;
  }
}

/* V71: Consegna chiavi in mano ancora più a sinistra */
.services-section .service-card.single-col-list li:nth-child(2){
  margin-left:-24px !important;
}
@media (max-width:960px){
  .services-section .service-card.single-col-list li:nth-child(2){
    margin-left:0 !important;
  }
}


/* V72: su telefono mantiene il layout desktop per tutte le sezioni */
@media (max-width: 900px){
  html,
  body{
    min-width:1440px !important;
    overflow-x:auto !important;
  }

  .site-header,
  main,
  footer,
  .site-footer{
    min-width:1440px !important;
  }
}


/* V73: su mobile header compatto con hamburger e logo più grande */
body.mobile-compact-nav .site-header{
  justify-content:space-between !important;
  align-items:center !important;
  padding:10px 20px !important;
  height:84px !important;
}
body.mobile-compact-nav .brand{
  flex:0 0 auto !important;
}
body.mobile-compact-nav .brand img{
  display:block !important;
  width:auto !important;
  height:54px !important;
  max-width:none !important;
}
body.mobile-compact-nav .mobile-toggle{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:auto !important;
  width:54px !important;
  height:54px !important;
  border-radius:999px !important;
  font-size:31px !important;
  font-weight:700 !important;
  line-height:1 !important;
  padding:0 !important;
  cursor:pointer !important;
  box-shadow:0 10px 26px rgba(0,0,0,.14) !important;
}
body.mobile-compact-nav .main-nav{
  display:none !important;
  position:absolute !important;
  top:calc(100% + 8px) !important;
  right:20px !important;
  left:auto !important;
  width:320px !important;
  max-width:calc(100vw - 40px) !important;
  height:auto !important;
  padding:14px !important;
  gap:10px !important;
  flex-direction:column !important;
  align-items:stretch !important;
  background:rgba(175,15,28,.97) !important;
  border-radius:22px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22) !important;
  z-index:1200 !important;
}
body.mobile-compact-nav .main-nav.open{
  display:flex !important;
}
body.mobile-compact-nav .main-nav a,
body.mobile-compact-nav .main-nav a:hover,
body.mobile-compact-nav .main-nav a.active{
  width:100% !important;
  min-width:0 !important;
  height:48px !important;
  padding:0 16px !important;
  justify-content:center !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.92) !important;
  background:#ffffff !important;
  color:var(--red) !important;
  box-shadow:none !important;
}
body.mobile-compact-nav .main-nav a::after,
body.mobile-compact-nav .main-nav a::before{
  display:none !important;
  content:none !important;
}
body.mobile-compact-nav .main-nav a.active,
body.mobile-compact-nav .main-nav a:active{
  background:#d9d9d9 !important;
  color:#5f5f5f !important;
}


/* =========================================================
   V78 - solo header mobile: hamburger nella barra superiore
   Sezioni lasciate in layout desktop stabile.
   ========================================================= */
html.mobile-compact-nav .site-header,
body.mobile-compact-nav .site-header{
  min-width:0 !important;
  width:100% !important;
  justify-content:space-between !important;
  align-items:center !important;
  height:calc(78px * var(--mobile-ui-factor, 1)) !important;
  padding:calc(10px * var(--mobile-ui-factor, 1)) calc(18px * var(--mobile-ui-factor, 1)) !important;
  background:#d50f25 !important;
  background-color:#d50f25 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
html.mobile-compact-nav .brand,
body.mobile-compact-nav .brand{
  flex:0 0 auto !important;
  height:100% !important;
  max-width:calc(100% - (84px * var(--mobile-ui-factor, 1))) !important;
}
html.mobile-compact-nav .brand img,
body.mobile-compact-nav .brand img{
  display:block !important;
  width:auto !important;
  height:calc(52px * var(--mobile-ui-factor, 1)) !important;
  max-height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
}
html.mobile-compact-nav .mobile-toggle,
body.mobile-compact-nav .mobile-toggle{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:calc(52px * var(--mobile-ui-factor, 1)) !important;
  height:calc(52px * var(--mobile-ui-factor, 1)) !important;
  margin-left:auto !important;
  padding:0 !important;
  border-radius:999px !important;
  border:calc(1px * var(--mobile-ui-factor, 1)) solid rgba(255,255,255,.95) !important;
  background:#ffffff !important;
  color:#d50f25 !important;
  font-family:Arial,sans-serif !important;
  font-size:calc(30px * var(--mobile-ui-factor, 1)) !important;
  font-weight:700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 calc(10px * var(--mobile-ui-factor, 1)) calc(26px * var(--mobile-ui-factor, 1)) rgba(0,0,0,.14) !important;
}
html.mobile-compact-nav .main-nav,
body.mobile-compact-nav .main-nav{
  display:none !important;
  position:absolute !important;
  top:calc(100% + (8px * var(--mobile-ui-factor, 1))) !important;
  right:calc(18px * var(--mobile-ui-factor, 1)) !important;
  left:auto !important;
  width:calc(320px * var(--mobile-ui-factor, 1)) !important;
  max-width:calc(100% - (36px * var(--mobile-ui-factor, 1))) !important;
  height:auto !important;
  padding:calc(14px * var(--mobile-ui-factor, 1)) !important;
  gap:calc(10px * var(--mobile-ui-factor, 1)) !important;
  flex-direction:column !important;
  align-items:stretch !important;
  background:rgba(213,15,37,.97) !important;
  border-radius:calc(22px * var(--mobile-ui-factor, 1)) !important;
  box-shadow:0 calc(18px * var(--mobile-ui-factor, 1)) calc(40px * var(--mobile-ui-factor, 1)) rgba(0,0,0,.22) !important;
  z-index:1200 !important;
}
html.mobile-compact-nav .main-nav.open,
body.mobile-compact-nav .main-nav.open{
  display:flex !important;
}
html.mobile-compact-nav .main-nav a,
html.mobile-compact-nav .main-nav a:hover,
html.mobile-compact-nav .main-nav a.active,
body.mobile-compact-nav .main-nav a,
body.mobile-compact-nav .main-nav a:hover,
body.mobile-compact-nav .main-nav a.active{
  width:100% !important;
  min-width:0 !important;
  height:calc(48px * var(--mobile-ui-factor, 1)) !important;
  padding:0 calc(16px * var(--mobile-ui-factor, 1)) !important;
  justify-content:center !important;
  border-radius:calc(14px * var(--mobile-ui-factor, 1)) !important;
  border:calc(1px * var(--mobile-ui-factor, 1)) solid rgba(255,255,255,.92) !important;
  background:#ffffff !important;
  color:#d50f25 !important;
  font-size:calc(15px * var(--mobile-ui-factor, 1)) !important;
  line-height:1 !important;
  box-shadow:none !important;
}
html.mobile-compact-nav .main-nav a::before,
html.mobile-compact-nav .main-nav a::after,
body.mobile-compact-nav .main-nav a::before,
body.mobile-compact-nav .main-nav a::after{
  display:none !important;
  content:none !important;
}
html.mobile-compact-nav .main-nav a.active,
html.mobile-compact-nav .main-nav a:active,
body.mobile-compact-nav .main-nav a.active,
body.mobile-compact-nav .main-nav a:active{
  background:#d9d9d9 !important;
  color:#111217 !important;
}


/* V87 - pulsante cookie sempre visibile e banner riapribile */
.cookie-manage{
  position:fixed !important;
  left:18px !important;
  bottom:18px !important;
  z-index:1301 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:86px !important;
  height:40px !important;
  padding:0 16px !important;
  border:1px solid rgba(255,255,255,.9) !important;
  border-radius:999px !important;
  background:#d50f25 !important;
  color:#ffffff !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 10px 28px rgba(0,0,0,.24) !important;
}
.cookie-manage:hover{filter:brightness(1.06) !important;}
.cookie-bar:not(.hidden) + .cookie-manage{display:none !important;}
.cookie-bar{
  z-index:1300 !important;
}
.cookie-bar span{
  color:#ffffff !important;
}
.cookie-bar.hidden{
  display:none !important;
}
html.mobile-compact-nav .cookie-manage,
body.mobile-compact-nav .cookie-manage{
  left:calc(18px * var(--mobile-ui-factor, 1)) !important;
  bottom:calc(18px * var(--mobile-ui-factor, 1)) !important;
  min-width:calc(92px * var(--mobile-ui-factor, 1)) !important;
  height:calc(44px * var(--mobile-ui-factor, 1)) !important;
  font-size:calc(14px * var(--mobile-ui-factor, 1)) !important;
}


/* V88 - Cookie banner stile FZ: appare solo finché non viene accettato */
.cookie-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  max-width:980px;
  margin:0 auto;
  padding:12px 14px 12px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(23,23,29,.94);
  color:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.32);
  backdrop-filter:blur(14px);
}
.cookie-banner[hidden]{display:none !important;}
.cookie-banner p{
  margin:0;
  color:rgba(255,255,255,.78) !important;
  font-size:13px;
  line-height:1.45;
  font-family:"Manrope",Arial,sans-serif;
}
.cookie-accept{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:8px 16px;
  background:#fff !important;
  color:#17171d !important;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  font-family:"Manrope",Arial,sans-serif;
}
.cookie-accept:hover{transform:translateY(-1px);}
.cookie-manage{display:none !important;}
@media (max-width:700px){
  .cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:12px;
    border-radius:12px;
    text-align:center;
  }
  .cookie-banner p{font-size:12px;line-height:1.35;}
  .cookie-accept{width:100%;padding:9px 14px;}
}

/* V89 - correzione cookie banner su mobile con viewport fisso a 1440 */
.cookie-accept{
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-weight:800 !important;
}
html.mobile-compact-nav .cookie-banner,
body.mobile-compact-nav .cookie-banner{
  left:calc(22px * var(--mobile-ui-factor, 1)) !important;
  right:calc(22px * var(--mobile-ui-factor, 1)) !important;
  bottom:calc(24px * var(--mobile-ui-factor, 1)) !important;
  max-width:none !important;
  width:auto !important;
  min-height:calc(66px * var(--mobile-ui-factor, 1)) !important;
  padding:calc(16px * var(--mobile-ui-factor, 1)) calc(18px * var(--mobile-ui-factor, 1)) !important;
  gap:calc(16px * var(--mobile-ui-factor, 1)) !important;
  border-radius:calc(16px * var(--mobile-ui-factor, 1)) !important;
  box-shadow:0 calc(18px * var(--mobile-ui-factor, 1)) calc(50px * var(--mobile-ui-factor, 1)) rgba(0,0,0,.34) !important;
}
html.mobile-compact-nav .cookie-banner p,
body.mobile-compact-nav .cookie-banner p{
  font-size:calc(13px * var(--mobile-ui-factor, 1)) !important;
  line-height:1.35 !important;
}
html.mobile-compact-nav .cookie-accept,
body.mobile-compact-nav .cookie-accept{
  min-width:calc(74px * var(--mobile-ui-factor, 1)) !important;
  padding:calc(9px * var(--mobile-ui-factor, 1)) calc(18px * var(--mobile-ui-factor, 1)) !important;
  font-size:calc(13px * var(--mobile-ui-factor, 1)) !important;
  border-radius:calc(999px * var(--mobile-ui-factor, 1)) !important;
}
@media (max-width:700px){
  html.mobile-compact-nav .cookie-banner,
  body.mobile-compact-nav .cookie-banner{
    flex-direction:column !important;
    align-items:stretch !important;
    text-align:center !important;
  }
  html.mobile-compact-nav .cookie-accept,
  body.mobile-compact-nav .cookie-accept{
    width:100% !important;
  }
}


/* =========================================================
   V42 - Hero: immagine sotto al logo + rimozione scritta
   ========================================================= */
.logo-hero{
  background:#fff !important;
}
.logo-hero::before{
  content:none !important;
  display:none !important;
}
.hero-bg-illustration{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:min(62vh,620px) !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  display:block !important;
  pointer-events:none !important;
  z-index:0 !important;
}
.logo-hero .hero-title{
  z-index:2 !important;
}
@media (max-width: 900px){
  .hero-bg-illustration{
    height:min(48vh,360px) !important;
    object-position:center bottom !important;
  }
}


/* =========================================================
   V43 - Hero full screen + scritta gigante in alto a sinistra
   ========================================================= */
.logo-hero{
  background:#fff !important;
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
.hero-bg-illustration{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  pointer-events:none !important;
  z-index:0 !important;
}
.logo-hero::before{
  content:"COSTRUIRE\A CON\A PASSIONE" !important;
  display:block !important;
  position:absolute !important;
  top:clamp(34px,4.5vw,76px) !important;
  left:clamp(18px,3vw,42px) !important;
  right:auto !important;
  bottom:auto !important;
  width:min(52vw,760px) !important;
  max-width:calc(100% - 36px) !important;
  white-space:pre-line !important;
  text-align:left !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(136px,16vw,320px) !important;
  line-height:.74 !important;
  letter-spacing:-.055em !important;
  color:rgba(17,18,23,.14) !important;
  pointer-events:none !important;
  z-index:1 !important;
  opacity:0 !important;
  transform:translateX(140px) !important;
  transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .95s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity, transform !important;
}
.logo-hero.giant-visible::before{
  opacity:1 !important;
  transform:translateX(0) !important;
}
.logo-hero .hero-title{
  position:relative !important;
  z-index:2 !important;
}
@media (max-width: 1200px){
  .logo-hero::before{
    width:min(58vw,680px) !important;
    font-size:clamp(118px,15vw,260px) !important;
  }
}
@media (max-width: 900px){
  .hero-bg-illustration{
    object-position:center center !important;
  }
  .logo-hero::before{
    top:88px !important;
    left:16px !important;
    width:min(78vw,500px) !important;
    max-width:calc(100% - 28px) !important;
    font-size:clamp(70px,18vw,156px) !important;
    line-height:.8 !important;
  }
}


/* =========================================================
   V44 - Hero title smaller, 2 righe, animazione automatica dopo il logo
   ========================================================= */
@keyframes heroGiantAutoIn{
  0%{
    opacity:0;
    transform:translateX(140px);
  }
  100%{
    opacity:1;
    transform:translateX(0);
  }
}
.logo-hero::before{
  content:"COSTRUIRE CON\A PASSIONE" !important;
  width:min(60vw,880px) !important;
  max-width:calc(100% - 36px) !important;
  font-size:clamp(102px,12vw,240px) !important;
  line-height:.78 !important;
  opacity:0 !important;
  transform:translateX(140px) !important;
  transition:none !important;
  animation:heroGiantAutoIn .95s cubic-bezier(.22,.61,.36,1) 1.5s forwards !important;
}
.logo-hero.giant-visible::before{
  opacity:1 !important;
  transform:translateX(0) !important;
}
@media (max-width: 1200px){
  .logo-hero::before{
    width:min(64vw,760px) !important;
    font-size:clamp(88px,11vw,195px) !important;
  }
}
@media (max-width: 900px){
  .logo-hero::before{
    top:88px !important;
    left:16px !important;
    width:min(86vw,520px) !important;
    max-width:calc(100% - 28px) !important;
    font-size:clamp(54px,13.5vw,118px) !important;
    line-height:.82 !important;
  }
}


/* =========================================================
   V45 - Hero giant copy: 2 righe, più in basso, animazione dopo logo
   ========================================================= */
.logo-hero::before{
  content:"COSTRUIRE CON,\A PASSIONE" !important;
  top:clamp(116px,10.5vw,168px) !important;
  left:clamp(20px,3vw,42px) !important;
  width:min(66vw,980px) !important;
  max-width:calc(100% - 40px) !important;
  white-space:pre-line !important;
  text-align:left !important;
  font-size:clamp(96px,11.8vw,228px) !important;
  line-height:.8 !important;
  opacity:0 !important;
  transform:translateX(170px) !important;
  transition:none !important;
  animation:none !important;
}
.logo-hero.hero-copy-visible::before{
  opacity:1 !important;
  transform:translateX(0) !important;
  transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform 1s cubic-bezier(.22,.61,.36,1) !important;
}
.logo-hero.giant-visible::before{
  opacity:0 !important;
  transform:translateX(170px) !important;
}
.logo-hero.hero-copy-visible.giant-visible::before{
  opacity:1 !important;
  transform:translateX(0) !important;
}
@media (max-width: 1200px){
  .logo-hero::before{
    top:clamp(118px,12vw,180px) !important;
    width:min(72vw,840px) !important;
    font-size:clamp(82px,10.8vw,180px) !important;
  }
}
@media (max-width: 900px){
  .logo-hero::before{
    top:128px !important;
    left:16px !important;
    width:min(90vw,560px) !important;
    max-width:calc(100% - 28px) !important;
    font-size:clamp(48px,12.4vw,102px) !important;
    line-height:.84 !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    animation:none !important;
  }
}


/* =========================================================
   V46 - Fix testo hero giant: esattamente su 2 righe
   ========================================================= */
.logo-hero::before{
  content:"COSTRUIRE CON\A PASSIONE" !important;
  white-space:pre !important;
  width:auto !important;
  max-width:none !important;
}
@media (max-width: 1200px){
  .logo-hero::before{
    white-space:pre !important;
    width:auto !important;
    max-width:none !important;
  }
}
@media (max-width: 900px){
  .logo-hero::before{
    white-space:pre !important;
    width:auto !important;
    max-width:none !important;
  }
}

/* =========================================================
   V47b - Mantiene solo home più bassa e parallax puliti
   Progetti riportati al layout precedente
   ========================================================= */

/* Home: sposta più in basso il blocco logo + bottoni */
.logo-hero .hero-title{
  top:56% !important;
  transform:translate(-50%,-50%) !important;
}

/* Primi due parallax box: rimuove gli overlay/effetti nero-rosso */
.parallax-work::before,
.parallax-services::before{
  content:none !important;
  display:none !important;
  background:none !important;
}
.parallax-work,
.parallax-work.bg-loaded{
  background-image:url("assets/media/tools.jpg?v=149") !important;
}
.parallax-services,
.parallax-services.bg-loaded{
  background-image:url("assets/media/construction-company.jpg?v=149") !important;
}
.parallax-work .section-title,
.parallax-services .section-title{
  text-shadow:none !important;
}

@media (max-width:1100px){
  .logo-hero .hero-title{
    top:58% !important;
  }
}
@media (max-width:700px){
  .logo-hero .hero-title{
    top:60% !important;
  }
}


/* =========================================================
   V48 - Parallax neri, scritta home su scroll, box bianco sotto logo
   ========================================================= */
/* primi due parallax: solo sfumatura nera */
.parallax-work,
.parallax-work.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/tools.jpg?v=149") !important;
}
.parallax-services,
.parallax-services.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/construction-company.jpg?v=149") !important;
}
.parallax-work::before,
.parallax-services::before{
  content:none !important;
  display:none !important;
}
.parallax-work .section-title,
.parallax-services .section-title{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.35) !important;
}

/* scritta hero: compare dopo il logo e poi scorre verso destra sparendo */
.logo-hero{
  --hero-copy-scroll-progress:0;
  --hero-copy-scroll-x:0px;
}
.logo-hero::before{
  content:"COSTRUIRE CON\A PASSIONE" !important;
  opacity:0 !important;
  transform:translateX(170px) !important;
  transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform 1s cubic-bezier(.22,.61,.36,1) !important;
}
.logo-hero.hero-copy-visible::before,
.logo-hero.hero-copy-visible.giant-visible::before{
  opacity:calc(1 - var(--hero-copy-scroll-progress, 0)) !important;
  transform:translateX(var(--hero-copy-scroll-x, 0px)) !important;
}
.logo-hero.giant-visible::before{
  opacity:0 !important;
  transform:translateX(170px) !important;
}

/* leggero box bianco sfumato sotto logo + bottoni */
.logo-hero .hero-title{
  position:relative !important;
  isolation:isolate !important;
}
.logo-hero .hero-title::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(880px,78vw);
  height:min(330px,44vh);
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center, rgba(255,255,255,.82) 0%, rgba(255,255,255,.58) 36%, rgba(255,255,255,.18) 68%, rgba(255,255,255,0) 100%);
  filter:blur(10px);
  border-radius:36px;
  z-index:-1;
  pointer-events:none;
}
@media (max-width:1100px){
  .logo-hero .hero-title::after{
    width:min(760px,84vw);
    height:min(300px,34vh);
  }
}
@media (max-width:700px){
  .logo-hero .hero-title::after{
    width:min(92vw,560px);
    height:min(250px,28vh);
    filter:blur(8px);
  }
}
@media (prefers-reduced-motion: reduce){
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .logo-hero.giant-visible::before{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* =========================================================
   V49 - Nuove immagini parallax + box bianco meno opaco e più grande
   ========================================================= */
.parallax-work,
.parallax-work.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/parallax-work-new.jpg?v=149") !important;
}
.parallax-services,
.parallax-services.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/parallax-services-new.jpg?v=149") !important;
}

.logo-hero .hero-title::after{
  width:min(1100px,97.5vw) !important;
  height:min(414px,55vh) !important;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.41) 0%, rgba(255,255,255,.29) 36%, rgba(255,255,255,.09) 68%, rgba(255,255,255,0) 100%) !important;
}
@media (max-width:1100px){
  .logo-hero .hero-title::after{
    width:min(950px,100vw) !important;
    height:min(375px,42.5vh) !important;
  }
}
@media (max-width:700px){
  .logo-hero .hero-title::after{
    width:min(100vw,700px) !important;
    height:min(313px,35vh) !important;
  }
}


/* =========================================================
   V50 - Progetto in vendita: card grande come da mockup
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  width:min(1120px,100%) !important;
  max-width:100% !important;
  min-height:286px !important;
  height:auto !important;
  margin:0 auto 30px !important;
  padding:22px 24px !important;
  display:grid !important;
  grid-template-columns:minmax(260px, 0.92fr) minmax(420px, 1.08fr) !important;
  gap:24px !important;
  align-items:stretch !important;
  background:transparent !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  box-sizing:border-box !important;
  pointer-events:auto !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-sale-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  margin:0 0 14px !important;
  color:#b90f1d !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:28px !important;
  line-height:1.05 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  margin:0 0 14px !important;
  color:#b90f1d !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-sale-copy p{
  margin:0 0 18px !important;
  color:#1b1b1b !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.65 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  align-self:flex-start !important;
  padding:10px 16px !important;
  border:1px solid #171717 !important;
  border-radius:999px !important;
  color:#171717 !important;
  text-decoration:none !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  transition:transform .2s ease, background-color .2s ease, color .2s ease !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-link:hover{
  transform:translateY(-1px) !important;
  background:#171717 !important;
  color:#fff !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-link-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:10px !important;
  align-content:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-thumb{
  width:100% !important;
  min-width:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-thumb img{
  display:block !important;
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  border-radius:14px !important;
  cursor:pointer !important;
  transition:transform .2s ease, opacity .2s ease, box-shadow .2s ease !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-thumb{
  position:relative !important;
  display:block !important;
  border-radius:14px !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-thumb::after{
  content:"▶";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:42px;
  text-shadow:0 3px 10px rgba(0,0,0,.4);
  pointer-events:none;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:hover,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-thumb:hover img{
  transform:translateY(-1px) !important;
  opacity:.9 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.12) !important;
}
@media (max-width: 1080px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    width:min(980px,100%) !important;
    grid-template-columns:1fr !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
    font-size:24px !important;
  }
}
@media (max-width: 700px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    padding:18px !important;
    border-radius:24px !important;
    margin:0 auto 20px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
    font-size:20px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-sale-copy p{
    font-size:12px !important;
  }
}


/* =========================================================
   V51 - Progetto in vendita rifinito come le altre card
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-column:1 / -1 !important;
  width:min(980px,100%) !important;
  max-width:100% !important;
  min-height:262px !important;
  margin:0 auto 22px !important;
  padding:26px 30px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 264px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  gap:18px 26px !important;
  align-items:center !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  background:transparent !important;
  box-sizing:border-box !important;
  cursor:pointer !important;
  opacity:0 !important;
  transform:translate3d(0,58px,0) scale(.982) !important;
  transition:opacity .72s cubic-bezier(.22,1,.36,1), transform .86s cubic-bezier(.22,1,.36,1) !important;
  will-change:opacity,transform !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature.sale-visible{
  opacity:1 !important;
  transform:translate3d(0,0,0) scale(1) !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature:hover,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature:focus-visible{
  transform:translate3d(0,-3px,0) scale(1) !important;
  outline:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  grid-area:title !important;
  grid-column:auto !important;
  margin:0 0 4px !important;
  text-align:center !important;
  color:#af0f1c !important;
  font-size:22px !important;
  line-height:1.2 !important;
  letter-spacing:.10em !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  grid-area:copy !important;
  align-self:center !important;
  padding:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  margin:0 0 16px !important;
  color:#af0f1c !important;
  font-size:15px !important;
  letter-spacing:.18em !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:460px !important;
  margin:0 !important;
  color:#af0f1c !important;
  font-size:15px !important;
  line-height:1.68 !important;
  letter-spacing:.075em !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:264px !important;
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  grid-auto-rows:124px !important;
  gap:8px !important;
  justify-self:end !important;
  align-self:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  display:block !important;
  width:128px !important;
  height:124px !important;
  object-fit:cover !important;
  cursor:pointer !important;
  border-radius:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature.sale-visible:not(:hover):not(:focus-visible){
  transform:translate3d(0,0,0) scale(1) !important;
}
@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    width:100% !important;
    min-height:0 !important;
    padding:22px 22px 24px !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    gap:16px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:100% !important;
    max-width:264px !important;
    justify-self:start !important;
  }
}

/* box bianco sotto il logo più visibile */
.logo-hero .hero-title::after{
  width:min(1100px,97.5vw) !important;
  height:min(414px,55vh) !important;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.72) 0%, rgba(255,255,255,.48) 36%, rgba(255,255,255,.16) 68%, rgba(255,255,255,0) 100%) !important;
  filter:blur(12px) !important;
}
@media (max-width:1100px){
  .logo-hero .hero-title::after{
    background:radial-gradient(ellipse at center, rgba(255,255,255,.68) 0%, rgba(255,255,255,.46) 36%, rgba(255,255,255,.16) 68%, rgba(255,255,255,0) 100%) !important;
  }
}


/* =========================================================
   V52 - Allineamento card vendita + bottone video + gradient più visibile
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  justify-self:stretch !important;
  width:auto !important;
  max-width:none !important;
  min-height:262px !important;
  margin:0 0 22px !important;
  padding:26px 30px !important;
  grid-template-columns:minmax(0,1fr) 264px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  gap:18px 26px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  color:#af0f1c !important;
  font-size:22px !important;
  letter-spacing:.10em !important;
  text-align:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  color:#af0f1c !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  color:#171717 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:18px !important;
  padding:14px 22px !important;
  background:#c30f1e !important;
  color:#ffffff !important;
  border:0 !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:18px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  box-shadow:0 10px 24px rgba(195,15,30,.22) !important;
  transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button:hover,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button:focus-visible{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 30px rgba(195,15,30,.28) !important;
  outline:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button-icon{
  font-size:18px !important;
  line-height:1 !important;
}
@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    margin:0 0 18px !important;
    width:100% !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button{
    font-size:16px !important;
    padding:13px 18px !important;
  }
}

.logo-hero .hero-title::after{
  width:min(1180px,100vw) !important;
  height:min(460px,60vh) !important;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.84) 0%, rgba(255,255,255,.62) 36%, rgba(255,255,255,.24) 70%, rgba(255,255,255,0) 100%) !important;
  filter:blur(14px) !important;
}
@media (max-width:1100px){
  .logo-hero .hero-title::after{
    width:min(1080px,100vw) !important;
    height:min(420px,50vh) !important;
    background:radial-gradient(ellipse at center, rgba(255,255,255,.80) 0%, rgba(255,255,255,.58) 36%, rgba(255,255,255,.22) 70%, rgba(255,255,255,0) 100%) !important;
  }
}
@media (max-width:700px){
  .logo-hero .hero-title::after{
    width:min(100vw,780px) !important;
    height:min(340px,40vh) !important;
    filter:blur(12px) !important;
  }
}


/* =========================================================
   V53 - Fine tuning card progetto in vendita
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 244px !important;
  gap:18px 24px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  display:block !important;
  width:100% !important;
  justify-self:stretch !important;
  text-align:center !important;
  font-family:"Rajdhani", Arial, sans-serif !important;
  font-weight:700 !important;
  font-size:22px !important;
  line-height:1.22 !important;
  letter-spacing:.10em !important;
  color:#af0f1c !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  font-family:"Rajdhani", Arial, sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  color:#af0f1c !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  color:#171717 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:244px !important;
  grid-template-columns:repeat(2,1fr) !important;
  grid-auto-rows:105px !important;
  gap:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:122px !important;
  height:105px !important;
  border-radius:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+3){
  display:none !important;
}
@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
    text-align:center !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:244px !important;
    max-width:244px !important;
  }
}


/* =========================================================
   V54 - Card vendita: stessa impaginazione delle altre, proporzione ripristinata
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  justify-self:center !important;
  width:min(980px, 100%) !important;
  max-width:100% !important;
  min-height:262px !important;
  height:auto !important;
  margin:0 auto 22px !important;
  padding:26px 26px 24px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 244px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  gap:18px 24px !important;
  align-items:center !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  box-sizing:border-box !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  grid-area:title !important;
  grid-column:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 8px !important;
  padding:0 !important;
  display:block !important;
  text-align:center !important;
  justify-self:stretch !important;
  align-self:start !important;
  color:#af0f1c !important;
  font-family:"Rajdhani", Arial, sans-serif !important;
  font-weight:700 !important;
  font-size:22px !important;
  line-height:1.22 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  grid-area:copy !important;
  padding:0 !important;
  align-self:center !important;
  justify-content:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  margin:0 0 18px !important;
  color:#af0f1c !important;
  font-family:"Rajdhani", Arial, sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:430px !important;
  margin:0 !important;
  color:#171717 !important;
  font-family:"Manrope", Arial, sans-serif !important;
  font-size:15px !important;
  line-height:1.72 !important;
  letter-spacing:.075em !important;
  text-transform:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  align-self:flex-start !important;
  margin-top:18px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:244px !important;
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  grid-auto-rows:105px !important;
  gap:0 !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:122px !important;
  height:105px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  cursor:pointer !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+3){
  display:none !important;
}
@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 18px !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    gap:16px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
    text-align:center !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:244px !important;
    max-width:244px !important;
    justify-self:start !important;
  }
}


/* =========================================================
   V55 - Card vendita davvero come le altre, grande e senza hover immagini
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-column:1 / -1 !important;
  justify-self:stretch !important;
  width:100% !important;
  max-width:none !important;
  min-height:330px !important;
  height:auto !important;
  margin:0 0 22px !important;
  padding:32px 34px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 244px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  gap:28px !important;
  align-items:center !important;
  border:2px solid #171717 !important;
  border-radius:30px !important;
  background:transparent !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  grid-area:title !important;
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 8px !important;
  padding:0 !important;
  text-align:center !important;
  justify-self:stretch !important;
  color:#af0f1c !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:22px !important;
  line-height:1.22 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  grid-area:copy !important;
  padding:0 !important;
  align-self:center !important;
  justify-content:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  margin:0 0 18px !important;
  color:#af0f1c !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:430px !important;
  margin:0 !important;
  color:#171717 !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  line-height:1.72 !important;
  letter-spacing:.075em !important;
  text-transform:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  align-self:flex-start !important;
  margin-top:18px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:244px !important;
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  grid-auto-rows:105px !important;
  gap:0 !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  display:block !important;
  width:122px !important;
  height:105px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  cursor:default !important;
  pointer-events:none !important;
  transform:none !important;
  transition:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:hover,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:focus-visible{
  transform:none !important;
  transition:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+3){
  display:none !important;
}
@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 0 18px !important;
    padding:26px !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    gap:18px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
    text-align:center !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:244px !important;
    max-width:244px !important;
    justify-self:start !important;
  }
}


/* =========================================================
   V56 - Card vendita: rosso corretto, testo nero maiuscolo, 3 immagini più grandi e separate
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  width:100% !important;
  max-width:none !important;
  min-height:330px !important;
  padding:32px 34px !important;
  grid-template-columns:minmax(0,1fr) 390px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  gap:22px 28px !important;
  align-items:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  color:#af0f1c !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:22px !important;
  line-height:1.22 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  width:100% !important;
  margin:0 0 8px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  color:#af0f1c !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:430px !important;
  color:#171717 !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:15px !important;
  line-height:1.72 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:390px !important;
  max-width:390px !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:8px !important;
  justify-self:end !important;
  align-self:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  border-radius:0 !important;
  cursor:default !important;
  pointer-events:none !important;
  transform:none !important;
  transition:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:hover,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:focus-visible{
  transform:none !important;
  transition:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4){
  display:none !important;
}
@media (max-width: 1100px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) 342px !important;
    gap:20px 24px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:342px !important;
    max-width:342px !important;
    gap:6px !important;
  }
}
@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    gap:18px !important;
    padding:26px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:min(100%,390px) !important;
    max-width:390px !important;
    justify-self:start !important;
  }
}


/* =========================================================
   V57 - Card vendita: rosso allineato, 3 immagini realmente visibili, più grandi e separate
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  color:var(--accent-red) !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  font-size:21px !important;
  line-height:1.04 !important;
  letter-spacing:.06em !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  margin:0 0 6px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 438px !important;
  gap:20px 30px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:438px !important;
  max-width:438px !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:12px !important;
  justify-self:end !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  display:block !important;
  width:138px !important;
  min-width:138px !important;
  height:138px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  transition:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:hover,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:focus-visible{
  transform:none !important;
  transition:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
@media (max-width: 1200px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) 390px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:390px !important;
    max-width:390px !important;
    gap:9px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:124px !important;
    min-width:124px !important;
    height:124px !important;
  }
}
@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:min(100%,438px) !important;
    max-width:438px !important;
    justify-self:start !important;
  }
}


/* =========================================================
   V58 - Immagini ancora più grandi e testo nero come le altre card
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  font-family:"Manrope", Arial, sans-serif !important;
  font-size:11px !important;
  line-height:1.34 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  max-width:340px !important;
  color:#171717 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 486px !important;
  gap:20px 32px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:486px !important;
  max-width:486px !important;
  grid-template-columns:repeat(3, 152px) !important;
  grid-auto-rows:152px !important;
  gap:15px !important;
  justify-self:end !important;
  align-self:center !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  display:block !important;
  width:152px !important;
  min-width:152px !important;
  height:152px !important;
  object-fit:cover !important;
  margin:0 !important;
  padding:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}
@media (max-width: 1260px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) 438px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:438px !important;
    max-width:438px !important;
    grid-template-columns:repeat(3, 138px) !important;
    grid-auto-rows:138px !important;
    gap:12px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:138px !important;
    min-width:138px !important;
    height:138px !important;
  }
}
@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:min(100%,486px) !important;
    max-width:486px !important;
    justify-self:start !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    grid-auto-rows:auto !important;
    gap:10px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
  }
}


/* =========================================================
   V60 - Gradient più scuro + anche Cosa facciamo + nuovo sfondo Come lavoriamo
   ========================================================= */
.about-section,
.services-section,
.projects-section,
.contact-section{
  background:linear-gradient(180deg, #ffffff 0%, #e2e2e2 100%) !important;
  background-color:#ffffff !important;
}
.about-section > .container,
.services-section > .services-grid,
.projects-section > .container,
.contact-section > .container,
.contact-panel,
.contact-card,
.contact-carousel-wrap,
.contact-carousel,
.map-wrap{
  background:transparent !important;
  background-color:transparent !important;
}
.parallax-work,
.parallax-work.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/come-lavoriamo-red-bg-latest.png") !important;
  background-position:left center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}


/* =========================================================
   V61 - Box logo più visibile + sfondo rosso Come lavoriamo + bagliori eleganti Progetti
   ========================================================= */
/* box bianco sotto il logo ancora più visibile */
.logo-hero .hero-title::after{
  width:min(1240px,100vw) !important;
  height:min(520px,66vh) !important;
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,.93) 0%,
    rgba(255,255,255,.78) 28%,
    rgba(255,255,255,.42) 58%,
    rgba(255,255,255,.12) 82%,
    rgba(255,255,255,0) 100%) !important;
  filter:blur(16px) !important;
}
@media (max-width: 1100px){
  .logo-hero .hero-title::after{
    width:min(1120px,100vw) !important;
    height:min(450px,56vh) !important;
    background:radial-gradient(ellipse at center,
      rgba(255,255,255,.90) 0%,
      rgba(255,255,255,.74) 30%,
      rgba(255,255,255,.38) 60%,
      rgba(255,255,255,.10) 84%,
      rgba(255,255,255,0) 100%) !important;
    filter:blur(14px) !important;
  }
}

/* come lavoriamo: torna il parallax originale, immagine nello sfondo rosso */
.parallax-work,
.parallax-work.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)), url("assets/media/tools.jpg?v=149") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.work-detail-section{
  background-color:#d50f25 !important;
  background-image:
    linear-gradient(90deg, rgba(191,17,34,.78) 0%, rgba(191,17,34,.84) 30%, rgba(191,17,34,.92) 58%, rgba(159,14,28,.98) 100%),
    url("assets/media/come-lavoriamo-red-bg-latest.png") !important;
  background-position:center center, left center !important;
  background-size:cover, auto 100% !important;
  background-repeat:no-repeat, no-repeat !important;
}
@media (max-width: 900px){
  .work-detail-section{
    background-image:
      linear-gradient(180deg, rgba(191,17,34,.84) 0%, rgba(159,14,28,.96) 100%),
      url("assets/media/come-lavoriamo-red-bg-latest.png") !important;
    background-position:center center, left center !important;
    background-size:cover, auto 82% !important;
  }
}

/* bagliori sfumati grigi eleganti nella sezione progetti */
@keyframes projectsGlowFloatA{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.42; }
  50%{ transform:translate3d(18px,-12px,0) scale(1.07); opacity:.58; }
  100%{ transform:translate3d(-14px,16px,0) scale(.96); opacity:.38; }
}
@keyframes projectsGlowFloatB{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.32; }
  50%{ transform:translate3d(-16px,14px,0) scale(1.08); opacity:.48; }
  100%{ transform:translate3d(12px,-18px,0) scale(.94); opacity:.28; }
}
.projects-section{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}
.projects-section::after{
  content:"";
  position:absolute;
  inset:-8% -6% -10% -6%;
  z-index:0;
  pointer-events:none;
  opacity:.46;
  background:
    radial-gradient(circle at 18% 28%, rgba(164,164,164,.26) 0%, rgba(164,164,164,.15) 12%, rgba(164,164,164,0) 28%),
    radial-gradient(circle at 82% 36%, rgba(176,176,176,.20) 0%, rgba(176,176,176,.12) 11%, rgba(176,176,176,0) 27%),
    radial-gradient(circle at 36% 78%, rgba(152,152,152,.17) 0%, rgba(152,152,152,.09) 10%, rgba(152,152,152,0) 26%);
  filter:blur(28px);
  animation:projectsGlowFloatA 20s ease-in-out infinite alternate;
}
.projects-section .projects-sale-heading-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.34;
  background:
    radial-gradient(circle at 68% 22%, rgba(185,185,185,.18) 0%, rgba(185,185,185,.08) 13%, rgba(185,185,185,0) 30%),
    radial-gradient(circle at 12% 74%, rgba(150,150,150,.14) 0%, rgba(150,150,150,.06) 12%, rgba(150,150,150,0) 28%);
  filter:blur(24px);
  animation:projectsGlowFloatB 17s ease-in-out infinite alternate;
}
.projects-section > *,
.projects-section .projects-sale-heading-wrap > *{
  position:relative;
  z-index:1;
}


/* =========================================================
   V62 - Fix parallax Cosa facciamo + nuova immagine nel rosso animata + bagliori Progetti più visibili
   ========================================================= */
/* Cosa facciamo: torna l'immagine giusta con effetto nero */
.parallax-services,
.parallax-services.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)), url("assets/media/parallax-services-new.jpg?v=149") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.parallax-services::before{
  content:none !important;
  display:none !important;
}
.parallax-services .section-title{
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.35) !important;
}

/* Sfondo rosso di Come lavoriamo: immagine decorativa a sinistra, più visibile, più piccola, con movimento */
@keyframes workDecorFloat{
  0%{ transform:translate3d(-20px,-50%,0) scale(1); opacity:.38; }
  50%{ transform:translate3d(10px,-50%,0) scale(1.03); opacity:.58; }
  100%{ transform:translate3d(26px,-50%,0) scale(.98); opacity:.46; }
}
.work-detail-section{
  background-image:linear-gradient(90deg, rgba(191,17,34,.84) 0%, rgba(191,17,34,.90) 35%, rgba(175,15,28,.96) 62%, rgba(159,14,28,1) 100%) !important;
  background-color:#d50f25 !important;
}
.work-detail-section::after{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:min(30vw, 420px);
  height:min(62%, 360px);
  transform:translate3d(-20px,-50%,0);
  background:url("assets/media/parallax-work-new.jpg?v=149") left center / contain no-repeat;
  opacity:.46;
  pointer-events:none;
  z-index:0;
  animation:workDecorFloat 11s ease-in-out infinite alternate;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.14));
}
@media (max-width: 1100px){
  .work-detail-section::after{
    width:min(28vw, 320px);
    height:min(54%, 280px);
    opacity:.42;
  }
}
@media (max-width: 900px){
  .work-detail-section::after{
    width:min(42vw, 230px);
    height:min(36%, 180px);
    opacity:.34;
  }
}

/* Progetti: aloni più scuri, più piccoli, più evidenti */
@keyframes projectsGlowFloatA_v2{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.62; }
  50%{ transform:translate3d(10px,-8px,0) scale(1.05); opacity:.78; }
  100%{ transform:translate3d(-8px,10px,0) scale(.97); opacity:.58; }
}
@keyframes projectsGlowFloatB_v2{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.48; }
  50%{ transform:translate3d(-9px,8px,0) scale(1.04); opacity:.66; }
  100%{ transform:translate3d(8px,-10px,0) scale(.96); opacity:.42; }
}
.projects-section::after{
  inset:0 !important;
  opacity:.78 !important;
  background:
    radial-gradient(circle at 21% 30%, rgba(128,128,128,.36) 0%, rgba(128,128,128,.24) 7%, rgba(128,128,128,0) 16%),
    radial-gradient(circle at 80% 34%, rgba(120,120,120,.30) 0%, rgba(120,120,120,.20) 6%, rgba(120,120,120,0) 15%),
    radial-gradient(circle at 38% 78%, rgba(112,112,112,.24) 0%, rgba(112,112,112,.16) 5%, rgba(112,112,112,0) 14%) !important;
  filter:blur(18px) !important;
  animation:projectsGlowFloatA_v2 16s ease-in-out infinite alternate !important;
}
.projects-section .projects-sale-heading-wrap::after{
  opacity:.62 !important;
  background:
    radial-gradient(circle at 70% 24%, rgba(136,136,136,.28) 0%, rgba(136,136,136,.18) 6%, rgba(136,136,136,0) 15%),
    radial-gradient(circle at 13% 76%, rgba(118,118,118,.22) 0%, rgba(118,118,118,.14) 5%, rgba(118,118,118,0) 14%) !important;
  filter:blur(16px) !important;
  animation:projectsGlowFloatB_v2 14s ease-in-out infinite alternate !important;
}


/* =========================================================
   V63 - Ripristino parallax box v22 + bagliori progetti più scuri/piccoli/in movimento
   ========================================================= */
/* Ripristina il parallax box di v22 (Cosa facciamo) */
.parallax-services,
.parallax-services.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/parallax-services-new.jpg?v=149") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.parallax-services::before{
  content:none !important;
  display:none !important;
}
.parallax-services .section-title{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.35) !important;
}

/* Bagliori più scuri, piccoli e con movimento più evidente */
@keyframes projectsGlowFloatA_v3{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.74; }
  33%{ transform:translate3d(12px,-10px,0) scale(1.06); opacity:.90; }
  66%{ transform:translate3d(-10px,9px,0) scale(.94); opacity:.82; }
  100%{ transform:translate3d(8px,14px,0) scale(1.02); opacity:.72; }
}
@keyframes projectsGlowFloatB_v3{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.66; }
  40%{ transform:translate3d(-12px,10px,0) scale(1.08); opacity:.84; }
  80%{ transform:translate3d(11px,-12px,0) scale(.95); opacity:.76; }
  100%{ transform:translate3d(-6px,-4px,0) scale(1.01); opacity:.68; }
}
.projects-section::after{
  inset:0 !important;
  opacity:.90 !important;
  background:
    radial-gradient(circle at 22% 28%, rgba(86,86,86,.56) 0%, rgba(86,86,86,.34) 4%, rgba(86,86,86,0) 10%),
    radial-gradient(circle at 79% 35%, rgba(96,96,96,.48) 0%, rgba(96,96,96,.28) 3.8%, rgba(96,96,96,0) 9.5%),
    radial-gradient(circle at 39% 77%, rgba(104,104,104,.40) 0%, rgba(104,104,104,.23) 3.5%, rgba(104,104,104,0) 9%) !important;
  filter:blur(12px) !important;
  animation:projectsGlowFloatA_v3 12s ease-in-out infinite alternate !important;
}
.projects-section .projects-sale-heading-wrap::after{
  opacity:.82 !important;
  background:
    radial-gradient(circle at 69% 23%, rgba(82,82,82,.42) 0%, rgba(82,82,82,.24) 3.6%, rgba(82,82,82,0) 9%),
    radial-gradient(circle at 14% 75%, rgba(94,94,94,.34) 0%, rgba(94,94,94,.18) 3.2%, rgba(94,94,94,0) 8.5%) !important;
  filter:blur(10px) !important;
  animation:projectsGlowFloatB_v3 10s ease-in-out infinite alternate !important;
}


/* =========================================================
   V64 - Ripristino definitivo v22 per Cosa facciamo + rimozione bagliori Progetti
   ========================================================= */
/* Cosa facciamo: ripristino parallax box della v22 */
.parallax-services,
.parallax-services.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/parallax-services-new.jpg?v=149") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.parallax-services::before{
  content:none !important;
  display:none !important;
}
.parallax-services .section-title{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.35) !important;
}

/* Via i bagliori grigi dalla sezione Progetti */
.projects-section::after,
.projects-section .projects-sale-heading-wrap::after{
  content:none !important;
  display:none !important;
  background:none !important;
  animation:none !important;
  filter:none !important;
  opacity:0 !important;
}

/* Restano solo i gradienti bianco -> grigio nelle sezioni con fondo chiaro */
.about-section,
.services-section,
.projects-section,
.contact-section{
  background:linear-gradient(180deg, #ffffff 0%, #e2e2e2 100%) !important;
  background-color:#ffffff !important;
}
.about-section > .container,
.services-section > .services-grid,
.projects-section > .container,
.contact-section > .container,
.contact-panel,
.contact-card,
.contact-carousel-wrap,
.contact-carousel,
.map-wrap{
  background:transparent !important;
  background-color:transparent !important;
}


/* =========================================================
   V65 - Swap corretto immagini Come lavoriamo
   ========================================================= */
/* Parallax di Come lavoriamo: torna l'immagine giusta (quella prima messa sotto) */
.parallax-work,
.parallax-work.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.30)), url("assets/media/parallax-work-new.jpg?v=149") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.parallax-work::before{
  content:none !important;
  display:none !important;
}
.parallax-work .section-title{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.35) !important;
}

/* Sezione rossa di Come lavoriamo: al posto dell'immagine attuale usa quella nuova */
.work-detail-section::after{
  background:url("assets/media/parallax-services-new.jpg?v=149") left center / contain no-repeat !important;
  opacity:.46 !important;
}
@media (max-width: 1100px){
  .work-detail-section::after{
    opacity:.42 !important;
  }
}
@media (max-width: 900px){
  .work-detail-section::after{
    opacity:.34 !important;
  }
}


/* =========================================================
   V66 - Nuova immagine sezione rossa + gradienti più scuri
   ========================================================= */
/* Sezione rossa: sostituisci l'immagine decorativa con l'ultima allegata */
.work-detail-section::after{
  background:url("assets/media/come-lavoriamo-red-bg-latest.png") left center / contain no-repeat !important;
  opacity:.52 !important;
}
@media (max-width: 1100px){
  .work-detail-section::after{
    opacity:.48 !important;
  }
}
@media (max-width: 900px){
  .work-detail-section::after{
    opacity:.40 !important;
  }
}

/* Gradienti di fondo più scuri nelle sezioni chiare */
.about-section,
.services-section,
.projects-section,
.contact-section{
  background:linear-gradient(180deg, #ffffff 0%, #d6d6d6 100%) !important;
  background-color:#ffffff !important;
}


/* =========================================================
   V67 - Immagine sezione rossa +30%
   ========================================================= */
.work-detail-section::after{
  width:min(39vw, 546px) !important;
  height:min(80%, 468px) !important;
}
@media (max-width: 1100px){
  .work-detail-section::after{
    width:min(36.4vw, 416px) !important;
    height:min(70%, 364px) !important;
  }
}
@media (max-width: 900px){
  .work-detail-section::after{
    width:min(54.6vw, 299px) !important;
    height:min(46.8%, 234px) !important;
  }
}


/* =========================================================
   V68 - Immagine sezione rossa ancora +40% e gradiente Progetti più visibile
   ========================================================= */
.work-detail-section::after{
  width:min(54.6vw, 764px) !important;
  height:min(112%, 655px) !important;
}
@media (max-width: 1100px){
  .work-detail-section::after{
    width:min(51vw, 582px) !important;
    height:min(98%, 510px) !important;
  }
}
@media (max-width: 900px){
  .work-detail-section::after{
    width:min(76.4vw, 418px) !important;
    height:min(65.5%, 328px) !important;
  }
}

/* Progetti: rendi il gradiente bianco-grigio più evidente */
.projects-section,
.projects-section.projects-clean-section{
  background:linear-gradient(180deg, #ffffff 0%, #cfcfcf 100%) !important;
  background-color:#ffffff !important;
}
.projects-section > .container,
.projects-section.projects-clean-section > .container{
  background:transparent !important;
  background-color:transparent !important;
}


/* =========================================================
   V69 - Rimuovi opacità dal carosello di Come lavoriamo
   ========================================================= */
.detail-carousel img,
.detail-carousel img.is-near,
.detail-carousel img.is-center,
.detail-carousel img.pos-m2,
.detail-carousel img.pos-m1,
.detail-carousel img.pos-0,
.detail-carousel img.pos-p1,
.detail-carousel img.pos-p2{
  opacity:1 !important;
}


/* =========================================================
   V70 - Opacità carosello Come lavoriamo rimossa con specificità alta
   ========================================================= */
.work-detail-section .detail-carousel img,
.work-detail-section .detail-carousel img.is-near,
.work-detail-section .detail-carousel img.is-center,
.work-detail-section .detail-carousel img.pos-m2,
.work-detail-section .detail-carousel img.pos-m1,
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.pos-p1,
.work-detail-section .detail-carousel img.pos-p2{
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
.work-detail-section .detail-carousel img.pos-m2,
.work-detail-section .detail-carousel img.pos-m1,
.work-detail-section .detail-carousel img.pos-0,
.work-detail-section .detail-carousel img.pos-p1,
.work-detail-section .detail-carousel img.pos-p2{
  visibility:visible !important;
}


/* =========================================================
   V70 - Mobile home hero più pulita + bottone chiusura lightbox più grande
   ========================================================= */
@media (max-width: 700px){
  /* Home mobile: illustrazione di sfondo più piccola */
  .logo-hero{
    overflow:hidden !important;
  }
  .hero-bg-illustration{
    inset:auto 0 0 auto !important;
    right:-2% !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:right bottom !important;
    transform:scale(.5) !important;
    transform-origin:right bottom !important;
  }
  /* Scritta COSTRUIRE CON PASSIONE più in basso su mobile */
  .logo-hero::before{
    top:178px !important;
    left:14px !important;
  }
  /* Anche il blocco logo+bottoni leggermente più in basso */
  .logo-hero .hero-title{
    top:64% !important;
  }

  /* Lightbox mobile: pulsante chiudi più grande */
  .lightbox{
    padding:56px 18px 28px !important;
  }
  .lightbox-close{
    right:14px !important;
    top:14px !important;
    width:62px !important;
    height:62px !important;
    font-size:44px !important;
    background:rgba(30,30,30,.92) !important;
    box-shadow:0 6px 18px rgba(0,0,0,.28) !important;
  }
  .lightbox-prev,
  .lightbox-next{
    width:52px !important;
    height:74px !important;
  }
}


/* =========================================================
   V71 - Mobile hero ancora più pulita + close lightbox molto più grande
   ========================================================= */
@media (max-width: 900px){
  /* Home mobile: sfondo ancora più piccolo */
  .logo-hero{
    overflow:hidden !important;
  }
  .hero-bg-illustration{
    inset:auto auto 0 auto !important;
    right:-8% !important;
    left:auto !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:right bottom !important;
    transform:scale(.34) !important;
    transform-origin:right bottom !important;
  }

  /* Scritta COSTRUIRE CON PASSIONE ancora più in basso */
  .logo-hero::before{
    top:228px !important;
    left:14px !important;
  }

  /* Blocchetto logo+bottoni leggermente più in basso */
  .logo-hero .hero-title{
    top:68% !important;
  }

  /* Lightbox mobile: pulsante chiudi molto più grande e visibile */
  .lightbox{
    padding:68px 16px 30px !important;
  }
  .lightbox-close{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    z-index:10 !important;
    width:82px !important;
    height:82px !important;
    min-width:82px !important;
    min-height:82px !important;
    border-radius:50% !important;
    font-size:58px !important;
    line-height:1 !important;
    background:rgba(25,25,25,.96) !important;
    color:#fff !important;
    box-shadow:0 8px 22px rgba(0,0,0,.32) !important;
    border:2px solid rgba(255,255,255,.18) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
  }
}

@media (max-width: 520px){
  .hero-bg-illustration{
    transform:scale(.30) !important;
    right:-10% !important;
  }
  .logo-hero::before{
    top:250px !important;
  }
  .logo-hero .hero-title{
    top:69.5% !important;
  }
  .lightbox-close{
    width:88px !important;
    height:88px !important;
    min-width:88px !important;
    min-height:88px !important;
    font-size:62px !important;
    top:8px !important;
    right:8px !important;
  }
}


/* =========================================================
   V72 - Home mobile riequilibrata
   ========================================================= */
@media (max-width: 700px){
  .logo-hero{
    min-height:88svh !important;
    overflow:hidden !important;
  }
  /* illustrazione più compatta e meno invadente */
  .hero-bg-illustration{
    right:-12% !important;
    bottom:-1% !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:right bottom !important;
    transform:scale(.24) !important;
    transform-origin:right bottom !important;
  }
  /* testo gigante più leggibile e più in basso */
  .logo-hero::before{
    content:"COSTRUIRE CON\A PASSIONE" !important;
    white-space:pre !important;
    top:132px !important;
    left:14px !important;
    width:auto !important;
    max-width:78vw !important;
    font-size:clamp(42px, 10.2vw, 56px) !important;
    line-height:.9 !important;
    letter-spacing:-.035em !important;
  }
  /* blocco centrale leggermente più in basso ma non troppo */
  .logo-hero .hero-title{
    top:63% !important;
    width:min(86vw, 340px) !important;
  }
}

@media (max-width: 520px){
  .logo-hero{
    min-height:86svh !important;
  }
  .hero-bg-illustration{
    right:-14% !important;
    bottom:-2% !important;
    transform:scale(.22) !important;
  }
  .logo-hero::before{
    top:146px !important;
    left:12px !important;
    font-size:clamp(38px, 10vw, 50px) !important;
    max-width:80vw !important;
  }
  .logo-hero .hero-title{
    top:64.5% !important;
    width:min(88vw, 320px) !important;
  }
}


/* =========================================================
   V73 - Home mobile sistemata + hero image sostituita + thumbs rigenerate
   ========================================================= */
@media (max-width: 700px){
  .logo-hero{
    min-height:88svh !important;
    overflow:hidden !important;
  }
  .hero-bg-illustration{
    position:absolute !important;
    inset:auto -34% 0 auto !important;
    left:auto !important;
    right:-34% !important;
    bottom:0 !important;
    width:172% !important;
    height:56% !important;
    object-fit:contain !important;
    object-position:right bottom !important;
    transform:none !important;
  }
  .logo-hero::before{
    content:"COSTRUIRE CON\A PASSIONE" !important;
    white-space:pre-line !important;
    top:112px !important;
    left:14px !important;
    right:auto !important;
    width:260px !important;
    max-width:calc(100% - 28px) !important;
    font-size:42px !important;
    line-height:.88 !important;
    letter-spacing:-.03em !important;
    color:rgba(17,18,23,.11) !important;
    transform:none !important;
  }
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .logo-hero.giant-visible::before{
    opacity:1 !important;
    transform:none !important;
  }
  .logo-hero .hero-title{
    top:61.5% !important;
    width:min(82vw, 312px) !important;
    transform:translate(-50%,-50%) !important;
  }
}

@media (max-width: 520px){
  .logo-hero{
    min-height:86svh !important;
  }
  .hero-bg-illustration{
    inset:auto -40% 0 auto !important;
    right:-40% !important;
    width:184% !important;
    height:54% !important;
  }
  .logo-hero::before{
    top:118px !important;
    left:12px !important;
    width:240px !important;
    font-size:38px !important;
    line-height:.9 !important;
  }
  .logo-hero .hero-title{
    top:61% !important;
    width:min(80vw, 296px) !important;
  }
}


/* =========================================================
   V74 - Unica immagine come-lavoriamo-red-bg
   ========================================================= */
.work-detail-section::after{
  background:url("assets/media/come-lavoriamo-red-bg-latest.png") left center / contain no-repeat !important;
}


/* =========================================================
   V75 - Home mobile: testo più in basso + immagine almeno 30% più piccola
   ========================================================= */
@media (max-width: 700px){
  .hero-bg-illustration{
    inset:auto -48% 0 auto !important;
    right:-48% !important;
    bottom:0 !important;
    width:128% !important;
    height:39% !important;
    object-fit:contain !important;
    object-position:right bottom !important;
    transform:none !important;
  }
  .logo-hero::before{
    top:156px !important;
    left:14px !important;
    width:250px !important;
    max-width:calc(100% - 28px) !important;
    font-size:40px !important;
    line-height:.9 !important;
  }
}

@media (max-width: 520px){
  .hero-bg-illustration{
    inset:auto -54% 0 auto !important;
    right:-54% !important;
    bottom:0 !important;
    width:134% !important;
    height:37% !important;
  }
  .logo-hero::before{
    top:168px !important;
    left:12px !important;
    width:232px !important;
    font-size:36px !important;
    line-height:.92 !important;
  }
}


/* =========================================================
   V76 - Home mobile risolta con titolo dedicato + illustrazione più piccola
   ========================================================= */
.hero-mobile-giant{display:none;}

@media (max-width: 700px){
  .logo-hero{
    min-height:86svh !important;
    overflow:hidden !important;
  }
  /* sostituisce il titolo gigante pseudo-element su mobile */
  .logo-hero::before{
    content:none !important;
    display:none !important;
  }
  .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:102px !important;
    left:14px !important;
    z-index:1 !important;
    width:220px !important;
    max-width:calc(100% - 28px) !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:42px !important;
    line-height:.86 !important;
    letter-spacing:-.035em !important;
    color:rgba(17,18,23,.12) !important;
    text-transform:uppercase !important;
    pointer-events:none !important;
  }
  .hero-bg-illustration{
    position:absolute !important;
    right:-30% !important;
    bottom:0 !important;
    left:auto !important;
    inset:auto -30% 0 auto !important;
    width:118% !important;
    height:auto !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:right bottom !important;
    transform:none !important;
  }
  .logo-hero .hero-title{
    top:66% !important;
    width:min(80vw, 292px) !important;
    transform:translate(-50%,-50%) !important;
  }
}

@media (max-width: 520px){
  .logo-hero{
    min-height:84svh !important;
  }
  .hero-mobile-giant{
    top:108px !important;
    left:12px !important;
    width:204px !important;
    font-size:38px !important;
    line-height:.88 !important;
  }
  .hero-bg-illustration{
    right:-36% !important;
    inset:auto -36% 0 auto !important;
    width:110% !important;
  }
  .logo-hero .hero-title{
    top:65.5% !important;
    width:min(78vw, 280px) !important;
  }
}


/* =========================================================
   V77 - Home mobile: testo quasi al centro + card progetti con fondo bianco 75%
   ========================================================= */
@media (max-width: 700px){
  .hero-mobile-giant{
    top:118px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:260px !important;
    max-width:calc(100% - 34px) !important;
    text-align:center !important;
  }
}

@media (max-width: 520px){
  .hero-mobile-giant{
    top:124px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:244px !important;
    max-width:calc(100% - 28px) !important;
    text-align:center !important;
  }
}

.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > article.project-right,
.projects-section.projects-clean-section > article.project-no-gallery,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right,
.projects-section.projects-clean-section > .project-no-gallery,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  background:rgba(255,255,255,.75) !important;
  background-color:rgba(255,255,255,.75) !important;
}


/* =========================================================
   V78 - Fix definitivo titolo hero mobile al centro
   ========================================================= */
@media (max-width: 700px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }

  .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:118px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    z-index:2 !important;
    width:264px !important;
    max-width:calc(100% - 34px) !important;
    text-align:center !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:42px !important;
    line-height:.86 !important;
    letter-spacing:-.035em !important;
    color:rgba(17,18,23,.12) !important;
    text-transform:uppercase !important;
    pointer-events:none !important;
  }
}

@media (max-width: 520px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }

  .hero-mobile-giant{
    top:126px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:248px !important;
    max-width:calc(100% - 28px) !important;
    text-align:center !important;
    font-size:38px !important;
    line-height:.88 !important;
  }
}


/* =========================================================
   V79 - Force mobile giant title position (pseudo + div)
   ========================================================= */
@media (max-width: 700px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .hero-mobile-giant{
    content:"COSTRUIRE\A CON\A PASSIONE" !important;
    display:block !important;
    position:absolute !important;
    top:118px !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:258px !important;
    max-width:calc(100% - 34px) !important;
    white-space:pre-line !important;
    text-align:center !important;
    transform:translateX(-50%) !important;
    transform-origin:center top !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:42px !important;
    line-height:.86 !important;
    letter-spacing:-.035em !important;
    color:rgba(17,18,23,.12) !important;
    text-transform:uppercase !important;
    z-index:2 !important;
    pointer-events:none !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

@media (max-width: 520px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .hero-mobile-giant{
    top:124px !important;
    left:50% !important;
    right:auto !important;
    width:242px !important;
    max-width:calc(100% - 28px) !important;
    text-align:center !important;
    transform:translateX(-50%) !important;
    font-size:38px !important;
    line-height:.88 !important;
  }
}


/* =========================================================
   V80 - Sposta molto più in basso il titolo gigante mobile
   ========================================================= */
@media (max-width: 700px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .hero-mobile-giant{
    top:196px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    text-align:center !important;
    width:260px !important;
    max-width:calc(100% - 34px) !important;
  }
}

@media (max-width: 520px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .hero-mobile-giant{
    top:212px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    text-align:center !important;
    width:246px !important;
    max-width:calc(100% - 28px) !important;
  }
}


/* =========================================================
   V81 - Sezione Cosa facciamo: via gradiente, immagine decorativa a destra
   ========================================================= */
@keyframes servicesDecorFloat{
  0%{ transform:translate3d(18px,-50%,0) scale(1); opacity:.44; }
  50%{ transform:translate3d(-8px,-50%,0) scale(1.03); opacity:.62; }
  100%{ transform:translate3d(12px,-50%,0) scale(.98); opacity:.50; }
}

.services-section{
  background:#ececec !important;
  background-image:none !important;
  background-color:#ececec !important;
}

.services-section::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:min(40vw, 760px);
  height:min(88%, 620px);
  transform:translate3d(18px,-50%,0);
  background:url("assets/media/cosa-facciamo-right-bg.png") right center / contain no-repeat;
  opacity:.58;
  pointer-events:none;
  z-index:0;
  animation:servicesDecorFloat 11s ease-in-out infinite alternate;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.05));
}

@media (max-width: 1100px){
  .services-section::after{
    width:min(46vw, 560px);
    height:min(76%, 460px);
    opacity:.52;
  }
}

@media (max-width: 900px){
  .services-section{
    background:#ededed !important;
  }
  .services-section::after{
    width:min(56vw, 320px);
    height:min(50%, 250px);
    opacity:.42;
  }
}


/* =========================================================
   V82 - Home mobile: "Costruire con passione" appena sopra il logo
   ========================================================= */
@media (max-width: 700px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .hero-mobile-giant{
    top:452px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:248px !important;
    max-width:calc(100% - 34px) !important;
    text-align:center !important;
    font-size:38px !important;
    line-height:.88 !important;
    z-index:2 !important;
  }
  .logo-hero .hero-title{
    top:61.5% !important;
  }
}

@media (max-width: 520px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before,
  .hero-mobile-giant{
    top:468px !important;
    width:236px !important;
    max-width:calc(100% - 28px) !important;
    font-size:36px !important;
    line-height:.90 !important;
  }
  .logo-hero .hero-title{
    top:61.5% !important;
  }
}


/* =========================================================
   V83 - Cosa facciamo: immagine 50% più grande e allineata in basso
   ========================================================= */
@keyframes servicesDecorFloatBottom{
  0%{ transform:translate3d(20px,0,0) scale(1); opacity:.44; }
  50%{ transform:translate3d(-10px,-8px,0) scale(1.03); opacity:.62; }
  100%{ transform:translate3d(14px,4px,0) scale(.98); opacity:.50; }
}

.services-section::after{
  right:0 !important;
  top:auto !important;
  bottom:0 !important;
  width:min(60vw, 1140px) !important;
  height:min(132%, 930px) !important;
  transform:translate3d(20px,0,0) !important;
  background:url("assets/media/cosa-facciamo-right-bg.png") right bottom / contain no-repeat !important;
  animation:servicesDecorFloatBottom 11s ease-in-out infinite alternate !important;
}

@media (max-width: 1100px){
  .services-section::after{
    width:min(69vw, 840px) !important;
    height:min(114%, 690px) !important;
    bottom:0 !important;
  }
}

@media (max-width: 900px){
  .services-section::after{
    width:min(84vw, 480px) !important;
    height:min(75%, 375px) !important;
    bottom:0 !important;
    background-position:right bottom !important;
  }
}


/* =========================================================
   V84 - Fix definitivo home mobile + Cosa facciamo ancora più grande e più centrale
   ========================================================= */
@media (max-width: 700px){
  /* Nasconde davvero il vecchio pseudo-titolo mobile */
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }
  /* Usa solo il titolo dedicato, sopra al logo e non tagliato dalla barra */
  .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:402px !important;
    left:50% !important;
    right:auto !important;
    width:250px !important;
    max-width:calc(100% - 34px) !important;
    transform:translateX(-50%) !important;
    text-align:center !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:36px !important;
    line-height:.9 !important;
    letter-spacing:-.03em !important;
    color:rgba(17,18,23,.12) !important;
    text-transform:uppercase !important;
    z-index:3 !important;
    pointer-events:none !important;
  }
}

@media (max-width: 520px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }
  .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:418px !important;
    left:50% !important;
    right:auto !important;
    width:238px !important;
    max-width:calc(100% - 28px) !important;
    transform:translateX(-50%) !important;
    text-align:center !important;
    font-size:34px !important;
    line-height:.92 !important;
    z-index:3 !important;
  }
}

@keyframes servicesDecorFloatBottomLarge{
  0%{ transform:translate3d(-56px,0,0) scale(1); opacity:.46; }
  50%{ transform:translate3d(-82px,-10px,0) scale(1.03); opacity:.62; }
  100%{ transform:translate3d(-62px,6px,0) scale(.985); opacity:.52; }
}

.services-section::after{
  right:2% !important;
  top:auto !important;
  bottom:0 !important;
  width:min(90vw, 1710px) !important;
  height:min(198%, 1395px) !important;
  transform:translate3d(-56px,0,0) !important;
  background:url("assets/media/cosa-facciamo-right-bg.png") right bottom / contain no-repeat !important;
  animation:servicesDecorFloatBottomLarge 11s ease-in-out infinite alternate !important;
}

@media (max-width: 1100px){
  .services-section::after{
    right:1.5% !important;
    width:min(88vw, 1260px) !important;
    height:min(171%, 1035px) !important;
    transform:translate3d(-44px,0,0) !important;
  }
}

@media (max-width: 900px){
  .services-section::after{
    right:1% !important;
    width:min(96vw, 720px) !important;
    height:min(112%, 560px) !important;
    transform:translate3d(-18px,0,0) !important;
    background-position:right bottom !important;
  }
}

/* =========================================================
   V85 - Fix mobile home: scritta "Costruire con passione" più centrale
   ========================================================= */
@media (max-width: 700px){
  .logo-hero::before,
  .logo-hero.giant-visible::before,
  .logo-hero.hero-copy-visible::before,
  .logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }

  .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:clamp(250px, 37svh, 330px) !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:250px !important;
    max-width:calc(100% - 34px) !important;
    text-align:center !important;
    font-size:36px !important;
    line-height:.9 !important;
    z-index:3 !important;
  }

  .logo-hero .hero-title{
    top:61.5% !important;
  }
}

@media (max-width: 520px){
  .hero-mobile-giant{
    top:clamp(250px, 38svh, 322px) !important;
    width:238px !important;
    max-width:calc(100% - 28px) !important;
    font-size:34px !important;
    line-height:.92 !important;
  }
}

/* =========================================================
   V86 - Correzione mobile: elimina titolo gigante tagliato in alto
   ========================================================= */
@media (max-width: 700px){
  html body section#home.logo-hero::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
  }

  html body section#home.logo-hero .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:calc(50% - 120px) !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    transform:translate(-50%, -50%) !important;
    width:260px !important;
    max-width:calc(100% - 32px) !important;
    text-align:center !important;
    white-space:normal !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:36px !important;
    line-height:.9 !important;
    letter-spacing:-.03em !important;
    color:rgba(17,18,23,.13) !important;
    text-transform:uppercase !important;
    z-index:4 !important;
    pointer-events:none !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

@media (max-width: 520px){
  html body section#home.logo-hero .hero-mobile-giant{
    top:calc(50% - 112px) !important;
    width:246px !important;
    max-width:calc(100% - 28px) !important;
    font-size:34px !important;
    line-height:.92 !important;
  }
}

/* =========================================================
   V87 - Home mobile: nuovo layout verticale come bozza
   ========================================================= */
@media (max-width: 700px){
  html,
  body{
    min-width:0 !important;
    width:100% !important;
    overflow-x:hidden !important;
  }

  html.mobile-compact-nav .site-header,
  body.mobile-compact-nav .site-header,
  .site-header{
    min-width:0 !important;
    width:100% !important;
    height:78px !important;
    padding:10px 18px !important;
    box-sizing:border-box !important;
    background:#d50f25 !important;
  }

  main,
  footer,
  .site-footer{
    min-width:0 !important;
    width:100% !important;
  }

  section#home.logo-hero{
    height:100svh !important;
    min-height:760px !important;
    max-height:none !important;
    padding:0 !important;
    background:#fff !important;
    overflow:hidden !important;
    position:relative !important;
  }

  html body section#home.logo-hero::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }

  html body section#home.logo-hero .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:104px !important;
    left:24px !important;
    right:auto !important;
    bottom:auto !important;
    width:calc(100% - 48px) !important;
    max-width:none !important;
    transform:none !important;
    text-align:left !important;
    white-space:normal !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(48px, 13.5vw, 68px) !important;
    line-height:.86 !important;
    letter-spacing:-.055em !important;
    color:rgba(17,18,23,.13) !important;
    text-transform:uppercase !important;
    z-index:2 !important;
    pointer-events:none !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  html body section#home.logo-hero .hero-title{
    position:absolute !important;
    top:46% !important;
    left:50% !important;
    width:min(86vw, 360px) !important;
    max-width:360px !important;
    transform:translate(-50%, -50%) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    z-index:4 !important;
    text-align:center !important;
  }

  html body section#home.logo-hero .hero-logo{
    width:100% !important;
    max-width:360px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto !important;
    filter:none !important;
  }

  html body section#home.logo-hero .hero-actions{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
  }

  html body section#home.logo-hero .hero-btn{
    min-width:0 !important;
    min-height:30px !important;
    height:30px !important;
    padding:7px 14px 6px !important;
    border-radius:999px !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:.055em !important;
    white-space:nowrap !important;
  }

  html body section#home.logo-hero .hero-bg-illustration{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:16px !important;
    top:auto !important;
    width:118% !important;
    max-width:none !important;
    height:41% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translateX(-50%) !important;
    z-index:1 !important;
    pointer-events:none !important;
  }
}

@media (max-width: 520px){
  section#home.logo-hero{
    min-height:720px !important;
  }

  html body section#home.logo-hero .hero-mobile-giant{
    top:96px !important;
    left:18px !important;
    width:calc(100% - 36px) !important;
    font-size:clamp(44px, 13.6vw, 58px) !important;
    line-height:.88 !important;
  }

  html body section#home.logo-hero .hero-title{
    top:45.5% !important;
    width:min(84vw, 330px) !important;
  }

  html body section#home.logo-hero .hero-bg-illustration{
    bottom:14px !important;
    width:122% !important;
    height:40% !important;
  }

  html body section#home.logo-hero .hero-btn{
    height:28px !important;
    min-height:28px !important;
    padding:6px 12px 5px !important;
    font-size:9px !important;
  }
}

@media (max-width: 390px){
  section#home.logo-hero{
    min-height:690px !important;
  }

  html body section#home.logo-hero .hero-mobile-giant{
    top:94px !important;
    font-size:44px !important;
  }

  html body section#home.logo-hero .hero-title{
    top:45% !important;
    width:min(83vw, 300px) !important;
  }

  html body section#home.logo-hero .hero-bg-illustration{
    width:126% !important;
    height:39% !important;
  }
}

/* V52 - Mobile home layout definitivo: titolo completamente visibile e centrato */
@media (max-width: 700px){
  html body section#home.hero.logo-hero{
    height:calc(100svh - 0px) !important;
    min-height:760px !important;
    max-height:none !important;
    padding:0 !important;
    background:#fff !important;
    overflow:hidden !important;
    display:block !important;
  }

  html body section#home.hero.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before{
    content:none !important;
    display:none !important;
  }

  html body section#home.hero.logo-hero .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:92px !important;
    left:22px !important;
    right:22px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
    text-align:left !important;
    white-space:normal !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(48px, 13.2vw, 66px) !important;
    line-height:.88 !important;
    letter-spacing:-.055em !important;
    color:rgba(17,18,23,.13) !important;
    text-transform:uppercase !important;
    z-index:5 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
    overflow:visible !important;
  }

  html body section#home.hero.logo-hero .hero-title{
    position:absolute !important;
    top:47% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:min(82vw, 350px) !important;
    max-width:350px !important;
    margin:0 !important;
    padding:0 !important;
    transform:translate(-50%, -50%) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    text-align:center !important;
    z-index:6 !important;
  }

  html body section#home.hero.logo-hero .hero-logo{
    width:100% !important;
    max-width:350px !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }

  html body section#home.hero.logo-hero .hero-actions{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  html body section#home.hero.logo-hero .hero-bg-illustration{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:16px !important;
    top:auto !important;
    width:124% !important;
    max-width:none !important;
    height:41% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translateX(-50%) !important;
    z-index:2 !important;
  }
}

@media (max-width: 430px){
  html body section#home.hero.logo-hero{
    min-height:720px !important;
  }
  html body section#home.hero.logo-hero .hero-mobile-giant{
    top:96px !important;
    left:18px !important;
    right:18px !important;
    font-size:clamp(45px, 13.4vw, 58px) !important;
    line-height:.88 !important;
  }
  html body section#home.hero.logo-hero .hero-title{
    top:46.5% !important;
    width:min(83vw, 330px) !important;
  }
  html body section#home.hero.logo-hero .hero-bg-illustration{
    bottom:14px !important;
    width:128% !important;
    height:40% !important;
  }
}

/* V53 - override finale: home mobile reale (classe mobile-compact-nav) */

html.mobile-compact-nav body section#home.hero.logo-hero,
body.mobile-compact-nav section#home.hero.logo-hero{
  position:relative !important;
  height:760px !important;
  min-height:760px !important;
  max-height:none !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

@media (max-width: 700px){
  html body section#home.hero.logo-hero{
    position:relative !important;
    height:760px !important;
    min-height:760px !important;
    max-height:none !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }
}

html.mobile-compact-nav body section#home.hero.logo-hero::before,
body.mobile-compact-nav section#home.hero.logo-hero::before{
  content:none !important;
  display:none !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .hero-mobile-giant,
body.mobile-compact-nav section#home.hero.logo-hero .hero-mobile-giant{
  display:block !important;
  position:absolute !important;
  top:14px !important;
  left:18px !important;
  right:18px !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  transform:none !important;
  overflow:visible !important;
  clip:auto !important;
  white-space:normal !important;
  text-align:left !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(40px, 10.6vw, 48px) !important;
  line-height:.92 !important;
  letter-spacing:-.035em !important;
  color:rgba(17,18,23,.13) !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:4 !important;
  pointer-events:none !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .hero-title,
body.mobile-compact-nav section#home.hero.logo-hero .hero-title{
  position:absolute !important;
  top:39% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:min(78vw, 310px) !important;
  max-width:310px !important;
  margin:0 !important;
  padding:0 !important;
  transform:translate(-50%, -50%) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  text-align:center !important;
  z-index:5 !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .hero-logo,
body.mobile-compact-nav section#home.hero.logo-hero .hero-logo{
  width:100% !important;
  max-width:310px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .hero-actions,
body.mobile-compact-nav section#home.hero.logo-hero .hero-actions{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .hero-bg-illustration,
body.mobile-compact-nav section#home.hero.logo-hero .hero-bg-illustration{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:10px !important;
  width:118% !important;
  max-width:none !important;
  height:48% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  transform:translateX(-50%) !important;
  z-index:2 !important;
}

@media (max-width: 700px){
  html body section#home.hero.logo-hero::before{
    content:none !important;
    display:none !important;
  }
  html body section#home.hero.logo-hero .hero-mobile-giant{
    top:14px !important;
    left:18px !important;
    right:18px !important;
    width:auto !important;
    transform:none !important;
    white-space:normal !important;
    font-size:clamp(40px, 10.6vw, 48px) !important;
    line-height:.92 !important;
    letter-spacing:-.035em !important;
    overflow:visible !important;
    clip:auto !important;
  }
  html body section#home.hero.logo-hero .hero-title{
    top:39% !important;
    width:min(78vw, 310px) !important;
  }
  html body section#home.hero.logo-hero .hero-bg-illustration{
    bottom:10px !important;
    width:118% !important;
    height:48% !important;
  }
}


/* =========================================================
   V54 - Fix finale mobile: titoli leggibili + badge Mapei + aree click allineate
   ========================================================= */
@media (max-width: 700px){
  html, body{
    width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    -webkit-text-size-adjust:100% !important;
  }

  body{background:#3a3a3a !important;}
  main{width:100% !important; min-width:0 !important;}

  html body .site-header{
    position:sticky !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    height:78px !important;
    min-height:78px !important;
    padding:10px 18px !important;
    box-sizing:border-box !important;
    background:#d80d24 !important;
    z-index:1000 !important;
  }

  html body section#home.hero.logo-hero{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:calc(100svh - 78px) !important;
    min-height:760px !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:0 0 8px 8px !important;
  }

  html body section#home.hero.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible.giant-visible::before{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }

  html body section#home.hero.logo-hero .hero-mobile-giant{
    display:block !important;
    position:absolute !important;
    top:18px !important;
    left:22px !important;
    right:22px !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    clip:auto !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(48px, 13.5vw, 64px) !important;
    line-height:.86 !important;
    letter-spacing:-.055em !important;
    color:rgba(17,18,23,.13) !important;
    text-transform:uppercase !important;
    z-index:5 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .hero-title{
    position:absolute !important;
    top:42% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:min(82vw, 350px) !important;
    max-width:350px !important;
    margin:0 !important;
    padding:0 !important;
    transform:translate(-50%, -50%) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
    z-index:6 !important;
  }

  html body section#home.hero.logo-hero .hero-logo{
    display:block !important;
    width:100% !important;
    max-width:330px !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }

  html body section#home.hero.logo-hero .hero-actions{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    position:relative !important;
  }

  html body section#home.hero.logo-hero .hero-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:22px !important;
    padding:6px 12px !important;
    font-size:8px !important;
    line-height:1 !important;
    border-radius:999px !important;
    white-space:nowrap !important;
  }

  html body section#home.hero.logo-hero .home-mapei-badge{
    display:flex !important;
    position:absolute !important;
    left:0 !important;
    top:calc(100% + 12px) !important;
    width:64px !important;
    height:52px !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:48% 52% 45% 55% / 54% 46% 58% 42% !important;
    background:rgba(170,174,181,.72) !important;
    color:#fff !important;
    font-family:"Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:7px !important;
    line-height:1.08 !important;
    letter-spacing:.02em !important;
    text-transform:uppercase !important;
    box-shadow:0 2px 8px rgba(0,0,0,.10) !important;
    pointer-events:none !important;
  }
  html body section#home.hero.logo-hero .home-mapei-badge strong{
    display:block !important;
    color:#e8f1ff !important;
    font-size:8px !important;
  }

  html body section#home.hero.logo-hero .hero-bg-illustration{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:0 !important;
    width:128% !important;
    max-width:none !important;
    height:46% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translateX(-50%) !important;
    z-index:2 !important;
  }

  /* Titoli/sezioni mobile: niente nomi microscopici o tagliati */
  html body .section-title,
  html body .section-title.white,
  html body .section-title.grey,
  html body .video-strip-title,
  html body .projects-sale-main-heading,
  html body .projects-main-heading,
  html body .contact-parallax-caption,
  html body .parallax .section-title{
    display:block !important;
    width:100% !important;
    max-width:calc(100% - 32px) !important;
    margin:0 auto !important;
    padding:0 16px !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:visible !important;
    clip:auto !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(28px, 8.5vw, 40px) !important;
    line-height:1.02 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
  }

  html body .parallax,
  html body .video-parallax-strip,
  html body .contact-parallax-box{
    min-height:190px !important;
    height:190px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  html body .work-detail-section,
  html body .services-section,
  html body .projects-section,
  html body .contact-section{
    overflow:hidden !important;
  }

  /* Progetti: la badge Mapei non deve comparire qui */
  html body #progetti .home-mapei-badge,
  html body .projects-section .home-mapei-badge{
    display:none !important;
  }

  /* Contatti: area cliccabile allineata a icona e testo */
  html body .contact-items > div{
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    min-height:64px !important;
  }
  html body .contact-icon-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:58px !important;
    height:58px !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .contact-icon-link img{
    display:block !important;
    width:42px !important;
    height:42px !important;
    object-fit:contain !important;
  }
  html body .contact-items > div > a:not(.contact-icon-link){
    display:flex !important;
    align-items:center !important;
    min-height:58px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.25 !important;
  }
}

@media (max-width: 430px){
  html body section#home.hero.logo-hero{
    min-height:720px !important;
  }
  html body section#home.hero.logo-hero .hero-mobile-giant{
    top:16px !important;
    left:18px !important;
    right:18px !important;
    font-size:clamp(44px, 13.8vw, 58px) !important;
  }
  html body section#home.hero.logo-hero .hero-title{
    top:41.5% !important;
    width:min(82vw, 320px) !important;
  }
  html body section#home.hero.logo-hero .hero-logo{
    max-width:310px !important;
  }
  html body section#home.hero.logo-hero .hero-bg-illustration{
    width:134% !important;
    height:47% !important;
  }
}

/* =========================================================
   V55 - Home mobile dedicata: layout separato, non compresso
   ========================================================= */
.mobile-home-layout{display:none;}

@media (max-width:700px){
  html,body{
    width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    background:#3a3a3a !important;
  }

  html body .site-header{
    position:sticky !important;
    top:0 !important;
    height:78px !important;
    min-height:78px !important;
    width:100% !important;
    padding:10px 18px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    background:#d80d24 !important;
    border-radius:8px 8px 0 0 !important;
    z-index:2000 !important;
  }

  html body section#home.hero.logo-hero{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:calc(100svh - 78px) !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:0 0 8px 8px !important;
  }

  html body section#home.hero.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero .hero-title,
  html body section#home.hero.logo-hero .hero-mobile-giant,
  html body section#home.hero.logo-hero > .hero-bg-illustration{
    display:none !important;
    content:none !important;
    opacity:0 !important;
    visibility:hidden !important;
  }

  html body section#home.hero.logo-hero .mobile-home-layout{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-height:calc(100svh - 78px) !important;
    height:calc(100svh - 78px) !important;
    min-height:760px !important;
    overflow:hidden !important;
    background:#fff !important;
    isolation:isolate !important;
  }

  html body section#home.hero.logo-hero .mobile-home-claim{
    position:absolute !important;
    left:22px !important;
    top:24px !important;
    right:22px !important;
    display:block !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(48px, 13.2vw, 66px) !important;
    line-height:.86 !important;
    letter-spacing:-.055em !important;
    text-transform:uppercase !important;
    color:rgba(17,18,23,.13) !important;
    text-align:left !important;
    z-index:2 !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .mobile-home-center{
    position:absolute !important;
    left:50% !important;
    top:41% !important;
    transform:translate(-50%,-50%) !important;
    width:min(82vw,350px) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:12px !important;
    text-align:center !important;
    z-index:5 !important;
  }

  html body section#home.hero.logo-hero .mobile-home-logo{
    display:block !important;
    width:100% !important;
    max-width:350px !important;
    height:auto !important;
    object-fit:contain !important;
    filter:none !important;
  }

  html body section#home.hero.logo-hero .mobile-home-actions{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:100% !important;
  }

  html body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    min-width:0 !important;
    min-height:24px !important;
    padding:7px 13px !important;
    border-radius:999px !important;
    font-size:8px !important;
    line-height:1 !important;
    letter-spacing:.05em !important;
    white-space:nowrap !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
  }

  html body section#home.hero.logo-hero .mobile-home-mapei{
    position:absolute !important;
    left:0 !important;
    top:calc(100% + 12px) !important;
    width:68px !important;
    height:55px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:48% 52% 45% 55% / 54% 46% 58% 42% !important;
    background:rgba(170,174,181,.72) !important;
    color:#fff !important;
    font-family:"Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:7px !important;
    line-height:1.08 !important;
    letter-spacing:.02em !important;
    text-transform:uppercase !important;
    z-index:6 !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .mobile-home-mapei strong{
    display:block !important;
    color:#e8f1ff !important;
    font-size:8px !important;
  }

  html body section#home.hero.logo-hero .mobile-home-illustration{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    width:132% !important;
    max-width:none !important;
    height:48% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translateX(-50%) !important;
    z-index:1 !important;
    opacity:.82 !important;
  }

  html body #progetti .home-mapei-badge,
  html body .projects-section .home-mapei-badge,
  html body #progetti .mobile-home-mapei,
  html body .projects-section .mobile-home-mapei{
    display:none !important;
  }
}

@media (max-width:430px){
  html body section#home.hero.logo-hero .mobile-home-layout{
    min-height:760px !important;
  }
  html body section#home.hero.logo-hero .mobile-home-claim{
    top:22px !important;
    left:20px !important;
    font-size:clamp(46px, 13.5vw, 60px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-center{
    top:42% !important;
    width:min(84vw,330px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-illustration{
    width:138% !important;
    height:49% !important;
  }
}


/* v56 - testi card progetti aggiornati e compatti */
.projects-section .project-title,
.projects-section .project-year,
.project-sale-feature .project-title,
.project-sale-feature .project-year{
  text-transform: uppercase;
}
.projects-section .project-copy p,
.project-sale-feature .project-copy p{
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.38;
}
@media (max-width: 700px){
  .projects-section .project-copy p,
  .project-sale-feature .project-copy p{
    font-size: 13.5px;
    line-height: 1.34;
  }
  .projects-section .project-title,
  .project-sale-feature .project-title{
    font-size: clamp(18px, 5.1vw, 24px);
    line-height: 1.05;
  }
}

/* =========================================================
   v57 - Home mobile a tutta pagina + testi card da documento
   ========================================================= */
@media (max-width: 900px){
  html,
  body,
  .site-header,
  main,
  footer,
  .site-footer{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
  html,body{
    overflow-x:hidden !important;
  }
}

@media (max-width: 700px){
  html,body{
    background:#3a3a3a !important;
  }
  body.mobile-compact-nav,
  html.mobile-compact-nav body{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.mobile-compact-nav main,
  html.mobile-compact-nav body main{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  body.mobile-compact-nav .site-header,
  html.mobile-compact-nav body .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:5000 !important;
    height:78px !important;
    min-height:78px !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    border-radius:8px 8px 0 0 !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero,
  html.mobile-compact-nav body section#home.hero.logo-hero{
    display:block !important;
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:calc(100svh - 78px) !important;
    min-height:calc(100svh - 78px) !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#ffffff !important;
    border-radius:0 0 8px 8px !important;
    isolation:isolate !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero::before,
  html.mobile-compact-nav body section#home.hero.logo-hero::before,
  body.mobile-compact-nav section#home.hero.logo-hero.giant-visible::before,
  html.mobile-compact-nav body section#home.hero.logo-hero.giant-visible::before,
  body.mobile-compact-nav section#home.hero.logo-hero.hero-copy-visible::before,
  html.mobile-compact-nav body section#home.hero.logo-hero.hero-copy-visible::before,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-title,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-title,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-mobile-giant,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-mobile-giant,
  body.mobile-compact-nav section#home.hero.logo-hero > .hero-bg-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero > .hero-bg-illustration{
    display:none !important;
    content:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#ffffff !important;
    z-index:1 !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    position:absolute !important;
    left:20px !important;
    top:26px !important;
    right:16px !important;
    z-index:3 !important;
    display:block !important;
    text-align:left !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(52px, 15vw, 74px) !important;
    line-height:.84 !important;
    letter-spacing:-.055em !important;
    text-transform:uppercase !important;
    color:rgba(17,18,23,.14) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    position:absolute !important;
    left:50% !important;
    top:38% !important;
    transform:translate(-50%,-50%) !important;
    z-index:5 !important;
    width:min(82vw,370px) !important;
    max-width:370px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo{
    display:block !important;
    width:100% !important;
    max-width:370px !important;
    height:auto !important;
    object-fit:contain !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions{
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    gap:9px !important;
    width:100% !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:25px !important;
    padding:7px 13px !important;
    border-radius:999px !important;
    font-size:8px !important;
    line-height:1 !important;
    letter-spacing:.05em !important;
    white-space:nowrap !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-mapei,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-mapei{
    position:static !important;
    margin-top:4px !important;
    width:78px !important;
    height:60px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:48% 52% 45% 55% / 54% 46% 58% 42% !important;
    background:rgba(170,174,181,.72) !important;
    color:#ffffff !important;
    font-family:"Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:7px !important;
    line-height:1.08 !important;
    letter-spacing:.02em !important;
    text-transform:uppercase !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-mapei strong,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-mapei strong{
    display:block !important;
    color:#e8f1ff !important;
    font-size:8px !important;
  }

  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    z-index:2 !important;
    width:128% !important;
    max-width:none !important;
    height:46% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translateX(-50%) !important;
    opacity:.86 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  body.mobile-compact-nav #chi-siamo,
  html.mobile-compact-nav body #chi-siamo{
    margin-top:0 !important;
  }

  body.mobile-compact-nav .projects-section .project-copy p,
  body.mobile-compact-nav .project-sale-feature .project-copy p,
  html.mobile-compact-nav body .projects-section .project-copy p,
  html.mobile-compact-nav body .project-sale-feature .project-copy p{
    font-size:12.5px !important;
    line-height:1.25 !important;
  }
}

@media (max-width:430px){
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    top:22px !important;
    left:18px !important;
    font-size:clamp(50px, 14.5vw, 64px) !important;
  }
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    top:39% !important;
    width:min(84vw,340px) !important;
  }
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    width:136% !important;
    height:47% !important;
  }
}


/* =========================================================
   V58 - fix mobile home full screen + no hover overlay cards
   ========================================================= */
html.mobile-compact-nav,
html.mobile-compact-nav body,
body.mobile-compact-nav{
  background:#3a3a3a !important;
  overflow-x:hidden !important;
}

html.mobile-compact-nav body,
body.mobile-compact-nav{
  width:100% !important;
  max-width:100% !important;
}

html.mobile-compact-nav body main,
body.mobile-compact-nav main{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero,
body.mobile-compact-nav section#home.hero.logo-hero{
  display:block !important;
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  height:calc(100svh - (78px * var(--mobile-ui-factor, 1))) !important;
  min-height:calc(100svh - (78px * var(--mobile-ui-factor, 1))) !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#ffffff !important;
  border-radius:0 0 calc(8px * var(--mobile-ui-factor, 1)) calc(8px * var(--mobile-ui-factor, 1)) !important;
  isolation:isolate !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero::before,
html.mobile-compact-nav body section#home.hero.logo-hero.giant-visible::before,
html.mobile-compact-nav body section#home.hero.logo-hero.hero-copy-visible::before,
body.mobile-compact-nav section#home.hero.logo-hero::before,
body.mobile-compact-nav section#home.hero.logo-hero.giant-visible::before,
body.mobile-compact-nav section#home.hero.logo-hero.hero-copy-visible::before,
html.mobile-compact-nav body section#home.hero.logo-hero .hero-title,
body.mobile-compact-nav section#home.hero.logo-hero .hero-title,
html.mobile-compact-nav body section#home.hero.logo-hero .hero-mobile-giant,
body.mobile-compact-nav section#home.hero.logo-hero .hero-mobile-giant,
html.mobile-compact-nav body section#home.hero.logo-hero > .hero-bg-illustration,
body.mobile-compact-nav section#home.hero.logo-hero > .hero-bg-illustration{
  display:none !important;
  content:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  background:#ffffff !important;
  z-index:1 !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  left:calc(22px * var(--mobile-ui-factor, 1)) !important;
  top:calc(26px * var(--mobile-ui-factor, 1)) !important;
  right:calc(16px * var(--mobile-ui-factor, 1)) !important;
  z-index:4 !important;
  text-align:left !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:calc(58px * var(--mobile-ui-factor, 1)) !important;
  line-height:.84 !important;
  letter-spacing:-.055em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.14) !important;
  pointer-events:none !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  left:50% !important;
  top:43% !important;
  transform:translate(-50%,-50%) !important;
  z-index:6 !important;
  width:calc(300px * var(--mobile-ui-factor, 1)) !important;
  max-width:calc(86% - (28px * var(--mobile-ui-factor, 1))) !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:calc(12px * var(--mobile-ui-factor, 1)) !important;
  text-align:center !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions{
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:calc(9px * var(--mobile-ui-factor, 1)) !important;
  width:100% !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  min-height:calc(29px * var(--mobile-ui-factor, 1)) !important;
  padding:calc(8px * var(--mobile-ui-factor, 1)) calc(15px * var(--mobile-ui-factor, 1)) !important;
  border-radius:999px !important;
  font-size:calc(9.5px * var(--mobile-ui-factor, 1)) !important;
  line-height:1 !important;
  letter-spacing:.055em !important;
  white-space:nowrap !important;
  box-shadow:0 calc(8px * var(--mobile-ui-factor, 1)) calc(18px * var(--mobile-ui-factor, 1)) rgba(0,0,0,.14) !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-mapei,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-mapei{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:static !important;
  margin-top:calc(4px * var(--mobile-ui-factor, 1)) !important;
  width:calc(78px * var(--mobile-ui-factor, 1)) !important;
  height:calc(60px * var(--mobile-ui-factor, 1)) !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:48% 52% 45% 55% / 54% 46% 58% 42% !important;
  background:rgba(170,174,181,.72) !important;
  color:#ffffff !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:calc(7px * var(--mobile-ui-factor, 1)) !important;
  line-height:1.08 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  pointer-events:none !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-mapei strong,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-mapei strong{
  display:block !important;
  color:#e8f1ff !important;
  font-size:calc(8px * var(--mobile-ui-factor, 1)) !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration{
  display:block !important;
  visibility:visible !important;
  opacity:.9 !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:0 !important;
  z-index:2 !important;
  width:120% !important;
  max-width:none !important;
  height:48% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
}

/* elimina overlay/effetti grigi in hover sulle card */
.projects-section .project,
.projects-section .project:hover,
.projects-section .project:focus-visible,
.projects-section .project-right,
.projects-section .project-right:hover,
.projects-section .project-right:focus-visible,
.projects-section .project-left,
.projects-section .project-left:hover,
.projects-section .project-left:focus-visible,
.projects-section .project-sale-feature,
.projects-section .project-sale-feature:hover,
.projects-section .project-sale-feature:focus-visible{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.projects-section .project::before,
.projects-section .project::after,
.projects-section .project:hover::before,
.projects-section .project:hover::after,
.projects-section .project-right::before,
.projects-section .project-right::after,
.projects-section .project-right:hover::before,
.projects-section .project-right:hover::after,
.projects-section .project-sale-feature::before,
.projects-section .project-sale-feature::after,
.projects-section .project-sale-feature:hover::before,
.projects-section .project-sale-feature:hover::after{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}
.projects-section .gallery-grid img,
.projects-section .gallery-grid img:hover,
.projects-section .sale-media-grid img,
.projects-section .sale-media-grid img:hover{
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
}


/* =========================================================
   V59 - Fix mobile home + card hover + Solaro/Torino
   ========================================================= */

/* Rimuove badge Installatori Mapei dalla home */
.mobile-home-mapei,
.home-mapei-badge{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Home mobile più alta: non deve mostrare subito la sezione Chi siamo */
html.mobile-compact-nav body section#home.hero.logo-hero,
body.mobile-compact-nav section#home.hero.logo-hero{
  height:calc(100svh - 78px + 185px) !important;
  min-height:calc(100svh - 78px + 185px) !important;
  padding-bottom:185px !important;
  box-sizing:border-box !important;
  background:#ffffff !important;
  overflow:hidden !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero::after,
body.mobile-compact-nav section#home.hero.logo-hero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:190px !important;
  background:#ffffff !important;
  z-index:1 !important;
  pointer-events:none !important;
  border-radius:0 0 8px 8px !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout{
  height:100% !important;
  background:#ffffff !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center{
  top:44% !important;
  width:min(74vw, 340px) !important;
  gap:14px !important;
}

html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration,
body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration{
  bottom:95px !important;
  height:42% !important;
  width:132% !important;
  z-index:2 !important;
}

html.mobile-compact-nav body #chi-siamo,
body.mobile-compact-nav #chi-siamo{
  margin-top:0 !important;
}

@media (max-width:430px){
  html.mobile-compact-nav body section#home.hero.logo-hero,
  body.mobile-compact-nav section#home.hero.logo-hero{
    height:calc(100svh - 78px + 210px) !important;
    min-height:calc(100svh - 78px + 210px) !important;
    padding-bottom:210px !important;
  }
  html.mobile-compact-nav body section#home.hero.logo-hero::after,
  body.mobile-compact-nav section#home.hero.logo-hero::after{
    height:210px !important;
  }
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center{
    top:43% !important;
  }
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration{
    bottom:108px !important;
    height:40% !important;
  }
}

/* Rimuove overlay grigi / velature in hover sulle card progetto */
.projects-section .project,
.projects-section .project:hover,
.projects-section .project:focus,
.projects-section .project:focus-visible,
.projects-section .project-right,
.projects-section .project-right:hover,
.projects-section .project-left,
.projects-section .project-left:hover,
.projects-section .project-sale-feature,
.projects-section .project-sale-feature:hover{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}
.projects-section .project:hover *,
.projects-section .project-right:hover *,
.projects-section .project-left:hover *,
.projects-section .project-sale-feature:hover *{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
.projects-section .project:hover::before,
.projects-section .project:hover::after,
.projects-section .project-right:hover::before,
.projects-section .project-right:hover::after,
.projects-section .project-left:hover::before,
.projects-section .project-left:hover::after,
.projects-section .project-sale-feature:hover::before,
.projects-section .project-sale-feature:hover::after{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}
.projects-section .gallery-grid img:hover,
.projects-section .sale-media-grid img:hover{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  box-shadow:none !important;
}

/* Card in vendita: immagini più grandi */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 560px !important;
  gap:22px 34px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:560px !important;
  max-width:560px !important;
  grid-template-columns:repeat(3, 176px) !important;
  grid-auto-rows:176px !important;
  gap:16px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:176px !important;
  min-width:176px !important;
  height:176px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
}
@media (max-width:1260px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) 486px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:486px !important;
    max-width:486px !important;
    grid-template-columns:repeat(3, 152px) !important;
    grid-auto-rows:152px !important;
    gap:15px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:152px !important;
    min-width:152px !important;
    height:152px !important;
  }
}
@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:min(100%, 560px) !important;
    max-width:560px !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:14px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
  }
}

/* Solo Residenza Via Torino: testi leggermente più piccoli */
.projects-section .project-torino-compact .project-title{
  font-size:26px !important;
  line-height:1.04 !important;
  letter-spacing:.055em !important;
}
.projects-section .project-torino-compact .project-year{
  font-size:14px !important;
}
.projects-section .project-torino-compact .project-copy p{
  font-size:10.2px !important;
  line-height:1.28 !important;
  letter-spacing:.055em !important;
}
@media (max-width:900px){
  body.mobile-compact-nav .projects-section .project-torino-compact .project-title,
  html.mobile-compact-nav body .projects-section .project-torino-compact .project-title{
    font-size:24px !important;
  }
  body.mobile-compact-nav .projects-section .project-torino-compact .project-copy p,
  html.mobile-compact-nav body .projects-section .project-torino-compact .project-copy p{
    font-size:11.2px !important;
    line-height:1.2 !important;
  }
}

/* =========================================================
   V65 - FIX CONCRETO: base mobile v59, solo home dedicata
   ========================================================= */

/* Rimuovi definitivamente overlay/velatura grigia hover card */
.project::before,
.project::after,
.project-sale-empty::before,
.project-sale-empty::after,
.project:hover::before,
.project:hover::after,
.project-sale-empty:hover::before,
.project-sale-empty:hover::after{
  background:transparent !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.project:hover,
.project-sale-empty:hover{
  filter:none !important;
}

/* Residenza Via Dante: testo più compatto */
.projects-section .project-dante-compact .project-copy p{
  font-size:90% !important;
  line-height:1.18 !important;
}

/* Home mobile isolata: funziona anche con viewport/layout v59 */
html.mobile-compact-nav body #home.logo-hero,
body.mobile-compact-nav #home.logo-hero{
  position:relative !important;
  display:block !important;
  min-height:calc(100svh * var(--mobile-ui-factor, 1)) !important;
  height:calc(100svh * var(--mobile-ui-factor, 1)) !important;
  overflow:hidden !important;
  background:#fff !important;
  border-radius:0 0 calc(18px * var(--mobile-ui-factor, 1)) calc(18px * var(--mobile-ui-factor, 1)) !important;
}

html.mobile-compact-nav body #home.logo-hero::before,
body.mobile-compact-nav #home.logo-hero::before,
html.mobile-compact-nav body #home.logo-hero .hero-mobile-giant,
body.mobile-compact-nav #home.logo-hero .hero-mobile-giant,
html.mobile-compact-nav body #home.logo-hero .hero-title,
body.mobile-compact-nav #home.logo-hero .hero-title,
html.mobile-compact-nav body #home.logo-hero .hero-bg-illustration,
body.mobile-compact-nav #home.logo-hero .hero-bg-illustration{
  display:none !important;
  content:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

html.mobile-compact-nav body #home.logo-hero .mobile-home-layout,
body.mobile-compact-nav #home.logo-hero .mobile-home-layout{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  background:#fff !important;
  overflow:hidden !important;
  z-index:1 !important;
}

html.mobile-compact-nav body #home.logo-hero .mobile-home-claim,
body.mobile-compact-nav #home.logo-hero .mobile-home-claim{
  display:block !important;
  position:absolute !important;
  top:calc(104px * var(--mobile-ui-factor, 1)) !important;
  left:calc(30px * var(--mobile-ui-factor, 1)) !important;
  right:calc(18px * var(--mobile-ui-factor, 1)) !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
  z-index:6 !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:calc(58px * var(--mobile-ui-factor, 1)) !important;
  line-height:.86 !important;
  letter-spacing:-.05em !important;
  text-align:left !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  color:rgba(17,18,23,.13) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}

html.mobile-compact-nav body #home.logo-hero .mobile-home-center,
body.mobile-compact-nav #home.logo-hero .mobile-home-center{
  position:absolute !important;
  left:50% !important;
  top:48% !important;
  transform:translate(-50%,-50%) !important;
  width:calc(390px * var(--mobile-ui-factor, 1)) !important;
  max-width:82% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:calc(18px * var(--mobile-ui-factor, 1)) !important;
  z-index:8 !important;
  opacity:1 !important;
  visibility:visible !important;
}

html.mobile-compact-nav body #home.logo-hero .mobile-home-logo,
body.mobile-compact-nav #home.logo-hero .mobile-home-logo{
  display:block !important;
  width:calc(360px * var(--mobile-ui-factor, 1)) !important;
  max-width:100% !important;
  height:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}

html.mobile-compact-nav body #home.logo-hero .mobile-home-actions,
body.mobile-compact-nav #home.logo-hero .mobile-home-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:calc(14px * var(--mobile-ui-factor, 1)) !important;
  width:100% !important;
  opacity:1 !important;
  visibility:visible !important;
}

html.mobile-compact-nav body #home.logo-hero .mobile-home-actions .hero-btn,
body.mobile-compact-nav #home.logo-hero .mobile-home-actions .hero-btn{
  min-height:calc(38px * var(--mobile-ui-factor, 1)) !important;
  padding:calc(12px * var(--mobile-ui-factor, 1)) calc(18px * var(--mobile-ui-factor, 1)) !important;
  font-size:calc(11px * var(--mobile-ui-factor, 1)) !important;
  line-height:1 !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

html.mobile-compact-nav body #home.logo-hero .mobile-home-illustration,
body.mobile-compact-nav #home.logo-hero .mobile-home-illustration{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:0 !important;
  width:calc(520px * var(--mobile-ui-factor, 1)) !important;
  max-width:none !important;
  height:auto !important;
  transform:translateX(-45%) !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  opacity:.86 !important;
  z-index:3 !important;
  visibility:visible !important;
  pointer-events:none !important;
}

/* Evita che si veda subito Chi siamo sotto la home */
html.mobile-compact-nav body #home.logo-hero::after,
body.mobile-compact-nav #home.logo-hero::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:calc(80px * var(--mobile-ui-factor, 1)) !important;
  background:#fff !important;
  z-index:5 !important;
  pointer-events:none !important;
}

/* =========================================================
   V66 - Modifiche richieste: home mobile, hover card, testi progetti
   ========================================================= */

/* Hover card progetti: nessuna velatura, nessuna deformazione immagini */
.projects-section .project::before,
.projects-section .project::after,
.projects-section .project-right::before,
.projects-section .project-right::after,
.projects-section .project-sale-empty::before,
.projects-section .project-sale-empty::after{
  content:none !important;
  display:none !important;
  background:transparent !important;
  opacity:0 !important;
  visibility:hidden !important;
}
.projects-section .project:hover,
.projects-section .project:focus-visible,
.projects-section .project-right:hover,
.projects-section .project-right:focus-visible,
.projects-section .project-sale-empty:hover,
.projects-section .project-sale-empty:focus-visible{
  background:#fff !important;
  filter:none !important;
}
.projects-section .project:hover .gallery-grid img,
.projects-section .project:focus-visible .gallery-grid img,
.projects-section .project-right:hover .gallery-grid img,
.projects-section .project-right:focus-visible .gallery-grid img,
.projects-section .project-sale-empty:hover .sale-media-grid img,
.projects-section .project-sale-empty:focus-visible .sale-media-grid img{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.projects-section > .project:hover::after,
.projects-section > .project:focus-visible::after,
.projects-section > .project-right:hover::after,
.projects-section > .project-right:focus-visible::after{
  opacity:0 !important;
  visibility:hidden !important;
}

/* Card Nuova Residenza Le Groane: stessa logica visiva delle altre card, testo più esteso */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 390px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  gap:20px 32px !important;
  align-items:center !important;
  padding:30px 36px !important;
  min-height:330px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  padding:0 10px 0 8px !important;
  justify-self:stretch !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:640px !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.48 !important;
  letter-spacing:.04em !important;
  color:#af0f1c !important;
  text-transform:uppercase !important;
}

/* Card Via Dante: testo più compatto senza alterare la card */
.projects-section .project-dante-compact .project-copy p{
  font-size:11.7px !important;
  line-height:1.34 !important;
  letter-spacing:.032em !important;
}

/* Home mobile: layout dedicato solo prima schermata */
html.mobile-compact-nav body #home.logo-hero,
body.mobile-compact-nav #home.logo-hero{
  min-height:100svh !important;
  height:100svh !important;
  padding:0 !important;
  background:#fff !important;
  overflow:hidden !important;
}
html.mobile-compact-nav body #home.logo-hero .mobile-home-layout,
body.mobile-compact-nav #home.logo-hero .mobile-home-layout{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  background:#fff !important;
  overflow:hidden !important;
}
html.mobile-compact-nav body #home.logo-hero .mobile-home-claim,
body.mobile-compact-nav #home.logo-hero .mobile-home-claim{
  top:calc(92px * var(--mobile-ui-factor, 1)) !important;
  left:calc(28px * var(--mobile-ui-factor, 1)) !important;
  right:calc(18px * var(--mobile-ui-factor, 1)) !important;
  width:auto !important;
  font-size:clamp(49px, 14.4vw, 66px) !important;
  line-height:.90 !important;
  letter-spacing:-.055em !important;
  color:rgba(17,18,23,.14) !important;
  white-space:normal !important;
  overflow:visible !important;
}
html.mobile-compact-nav body #home.logo-hero .mobile-home-center,
body.mobile-compact-nav #home.logo-hero .mobile-home-center{
  top:47% !important;
  width:min(82vw, 390px) !important;
  max-width:82vw !important;
  gap:calc(18px * var(--mobile-ui-factor, 1)) !important;
}
html.mobile-compact-nav body #home.logo-hero .mobile-home-logo,
body.mobile-compact-nav #home.logo-hero .mobile-home-logo{
  width:min(74vw, 360px) !important;
  max-width:100% !important;
}
html.mobile-compact-nav body #home.logo-hero .mobile-home-actions,
body.mobile-compact-nav #home.logo-hero .mobile-home-actions{
  gap:12px !important;
  flex-wrap:nowrap !important;
}
html.mobile-compact-nav body #home.logo-hero .mobile-home-actions .hero-btn,
body.mobile-compact-nav #home.logo-hero .mobile-home-actions .hero-btn{
  min-height:34px !important;
  padding:10px 15px !important;
  font-size:clamp(9px, 2.55vw, 12px) !important;
  letter-spacing:.055em !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
html.mobile-compact-nav body #home.logo-hero .mobile-home-illustration,
body.mobile-compact-nav #home.logo-hero .mobile-home-illustration{
  left:50% !important;
  bottom:calc(18px * var(--mobile-ui-factor, 1)) !important;
  width:min(108vw, 560px) !important;
  max-width:none !important;
  transform:translateX(-50%) !important;
  opacity:.82 !important;
}
html.mobile-compact-nav body #home.logo-hero::after,
body.mobile-compact-nav #home.logo-hero::after{
  height:0 !important;
}

@media (max-width:390px){
  html.mobile-compact-nav body #home.logo-hero .mobile-home-claim,
  body.mobile-compact-nav #home.logo-hero .mobile-home-claim{
    font-size:clamp(45px, 13.8vw, 58px) !important;
    left:22px !important;
    right:14px !important;
  }
  html.mobile-compact-nav body #home.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav #home.logo-hero .mobile-home-actions .hero-btn{
    padding:9px 12px !important;
    font-size:9px !important;
  }
}

/* =========================================================
   V67 - fix richieste cliente 2026-05-25
   ========================================================= */

/* 1) Cosa facciamo: linee separatorie più strette */
.services-section .services-grid > .service-card,
.services-section .services-grid > .service-card:nth-child(1),
.services-section .services-grid > .service-card:nth-child(2),
.services-section .services-grid > .service-card:nth-child(3),
.services-section .services-grid > .service-card:nth-child(4){
  position:relative !important;
  border-top:0 !important;
  border-bottom:0 !important;
}
.services-section .services-grid > .service-card::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:118px !important;
  right:118px !important;
  bottom:0 !important;
  height:1px !important;
  background:rgba(17,18,23,.18) !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  box-shadow:none !important;
  pointer-events:none !important;
}
.services-section .services-grid > .service-card:last-child::after{
  content:none !important;
  display:none !important;
}

/* 2) Progetti: elimina qualunque hover/overlay grigio o velatura sulle card */
.projects-section .project,
.projects-section .project:hover,
.projects-section .project:focus-visible,
.projects-section .project-right,
.projects-section .project-right:hover,
.projects-section .project-right:focus-visible,
.projects-section .project-left,
.projects-section .project-left:hover,
.projects-section .project-left:focus-visible,
.projects-section .project-sale-empty,
.projects-section .project-sale-empty:hover,
.projects-section .project-sale-empty:focus-visible,
.projects-section .project-sale-feature,
.projects-section .project-sale-feature:hover,
.projects-section .project-sale-feature:focus-visible{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.projects-section .project::before,
.projects-section .project::after,
.projects-section .project-right::before,
.projects-section .project-right::after,
.projects-section .project-left::before,
.projects-section .project-left::after,
.projects-section .project-sale-empty::before,
.projects-section .project-sale-empty::after,
.projects-section .project-sale-feature::before,
.projects-section .project-sale-feature::after{
  content:none !important;
  display:none !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}
.projects-section .gallery-grid img,
.projects-section .gallery-grid img:hover,
.projects-section .sale-media-grid img,
.projects-section .sale-media-grid img:hover{
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  transform:none !important;
  mix-blend-mode:normal !important;
}

/* 3) Solaro: testo nero, stesso font/stile delle altre card, colonna testo separata dalle immagini */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  min-height:300px !important;
  padding:30px 42px !important;
  display:grid !important;
  grid-template-columns:minmax(520px,1fr) 560px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  column-gap:42px !important;
  row-gap:22px !important;
  align-items:center !important;
  border:2px solid #151515 !important;
  border-radius:30px !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-title{
  grid-area:title !important;
  position:static !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:20.5px !important;
  line-height:1.08 !important;
  letter-spacing:.08em !important;
  font-weight:700 !important;
  color:#d50f25 !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  grid-area:copy !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:stretch !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-year{
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:12px !important;
  line-height:1.05 !important;
  letter-spacing:.13em !important;
  font-weight:700 !important;
  color:#d50f25 !important;
  margin:0 0 10px !important;
  text-transform:uppercase !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:100% !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  font-size:12px !important;
  line-height:1.38 !important;
  letter-spacing:.045em !important;
  font-weight:600 !important;
  color:#111217 !important;
  text-transform:uppercase !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-video-button{
  margin-top:18px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:100% !important;
  max-width:560px !important;
  justify-self:end !important;
  align-self:center !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  grid-auto-rows:150px !important;
  gap:16px !important;
  overflow:visible !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  display:block !important;
  width:100% !important;
  height:150px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

/* 4) Via Dante: testo realmente più compatto per mantenere l'altezza coerente */
.projects-section.projects-clean-section > article.project-dante-compact .project-copy p,
.projects-section .project-dante-compact .project-copy p{
  font-size:9.6px !important;
  line-height:1.18 !important;
  letter-spacing:.028em !important;
  max-width:100% !important;
  font-family:"Rajdhani",Arial,sans-serif !important;
  color:#111217 !important;
  font-weight:600 !important;
}
.projects-section.projects-clean-section > article.project-dante-compact .project-year{
  margin-bottom:5px !important;
}

@media (max-width:900px){
  .services-section .services-grid > .service-card::after{
    left:42px !important;
    right:42px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    padding:24px 20px !important;
    row-gap:18px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    grid-auto-rows:110px !important;
    gap:10px !important;
    justify-self:center !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    height:110px !important;
  }
}


/* =========================================================
   V69 - Fix cliente: Come lavoriamo, Solaro, home mobile
   ========================================================= */

/* 1) Come lavoriamo: niente gradiente grigio/nero sopra il rosso */
.parallax-work,
.parallax-work.bg-loaded{
  background-image:url("assets/media/parallax-work-new.jpg?v=149") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.parallax-work::before,
.parallax-work::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.parallax-work .section-title{
  text-shadow:none !important;
}

/* 2) Card Solaro: immagini più piccole e contenute nella card */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(430px, 1.05fr) minmax(360px, .95fr) !important;
  gap:20px !important;
  padding-right:30px !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  justify-self:start !important;
  align-self:center !important;
  width:min(100%, 520px) !important;
  max-width:520px !important;
  gap:14px !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:100% !important;
  max-width:160px !important;
  height:150px !important;
  object-fit:cover !important;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature:hover .sale-media-grid img,
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature:focus-visible .sale-media-grid img{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}

/* 3) Home mobile: logo e bottoni fluidi, leggibili su schermi stretti */
@media (max-width:700px){
  html.mobile-compact-nav body #home.logo-hero .mobile-home-layout,
  body.mobile-compact-nav #home.logo-hero .mobile-home-layout{
    padding-top:clamp(22px, 7.5svh, 70px) !important;
    box-sizing:border-box !important;
  }

  html.mobile-compact-nav body #home.logo-hero .mobile-home-claim,
  body.mobile-compact-nav #home.logo-hero .mobile-home-claim{
    top:clamp(118px, 18svh, 170px) !important;
    left:clamp(18px, 6vw, 34px) !important;
    right:clamp(12px, 4vw, 24px) !important;
    font-size:clamp(48px, 15.8vw, 74px) !important;
    line-height:.88 !important;
    letter-spacing:-.06em !important;
  }

  html.mobile-compact-nav body #home.logo-hero .mobile-home-center,
  body.mobile-compact-nav #home.logo-hero .mobile-home-center{
    top:clamp(330px, 48svh, 455px) !important;
    width:min(88vw, 420px) !important;
    max-width:88vw !important;
    gap:clamp(14px, 2.4svh, 24px) !important;
  }

  html.mobile-compact-nav body #home.logo-hero .mobile-home-logo,
  body.mobile-compact-nav #home.logo-hero .mobile-home-logo{
    width:clamp(210px, 62vw, 385px) !important;
    max-width:100% !important;
    height:auto !important;
  }

  html.mobile-compact-nav body #home.logo-hero .mobile-home-actions,
  body.mobile-compact-nav #home.logo-hero .mobile-home-actions{
    width:100% !important;
    gap:clamp(8px, 2.6vw, 16px) !important;
    flex-wrap:nowrap !important;
  }

  html.mobile-compact-nav body #home.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav #home.logo-hero .mobile-home-actions .hero-btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    min-height:clamp(38px, 10.8vw, 50px) !important;
    padding:clamp(10px, 2.8vw, 14px) clamp(8px, 3vw, 18px) !important;
    font-size:clamp(10px, 3.1vw, 14px) !important;
    letter-spacing:.045em !important;
    line-height:1.05 !important;
    text-align:center !important;
  }
}

@media (max-width:390px){
  html.mobile-compact-nav body #home.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav #home.logo-hero .mobile-home-actions .hero-btn{
    padding:10px 8px !important;
    font-size:clamp(10px, 3vw, 12px) !important;
  }
}

/* Desktop/tablet safety: Solaro non deve uscire dalla card */
@media (max-width:980px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    justify-self:center !important;
    width:100% !important;
    max-width:560px !important;
  }
}


/* =========================================================
   V70 - Fix finali richiesti cliente
   ========================================================= */

/* 1) Come lavoriamo: niente velo/grigio sopra il rosso */
.parallax-work,
html body .parallax-work,
body .parallax-work{
  background-image:url("assets/media/tools.jpg?v=149") !important;
}
.parallax-work::before,
html body .parallax-work::before,
body .parallax-work::before{
  content:none !important;
  display:none !important;
  background:transparent !important;
}

/* 2) Card progetti: nessun overlay grigio in hover */
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right,
.projects-section.projects-clean-section > article.project:hover,
.projects-section.projects-clean-section > .project:hover,
.projects-section.projects-clean-section > .project-right:hover,
.projects-section.projects-clean-section > article.project:focus-visible,
.projects-section.projects-clean-section > .project:focus-visible,
.projects-section.projects-clean-section > .project-right:focus-visible{
  background:#f4f4f3 !important;
  filter:none !important;
  box-shadow:none !important;
  transform:none !important;
}

.projects-section.projects-clean-section > article.project::before,
.projects-section.projects-clean-section > article.project::after,
.projects-section.projects-clean-section > .project::before,
.projects-section.projects-clean-section > .project::after,
.projects-section.projects-clean-section > .project-right::before,
.projects-section.projects-clean-section > .project-right::after,
.projects-section.projects-clean-section > article.project:hover::before,
.projects-section.projects-clean-section > article.project:hover::after,
.projects-section.projects-clean-section > .project:hover::before,
.projects-section.projects-clean-section > .project:hover::after,
.projects-section.projects-clean-section > .project-right:hover::before,
.projects-section.projects-clean-section > .project-right:hover::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.projects-section .gallery-grid,
.projects-section .gallery-grid img,
.projects-section .gallery-grid img:hover,
.projects-section .gallery-grid img:focus-visible,
.projects-section .project .gallery-grid img,
.projects-section .project .gallery-grid img:hover,
.projects-section .project-right .gallery-grid img,
.projects-section .project-right .gallery-grid img:hover{
  opacity:1 !important;
  filter:none !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
}

/* 3) Solaro: immagini un po' più piccole, separate e ben contenute */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) minmax(0,432px) !important;
  column-gap:34px !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:100% !important;
  max-width:432px !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  grid-auto-rows:152px !important;
  gap:14px !important;
  justify-self:start !important;
  align-self:center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  padding-right:4px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:100% !important;
  max-width:100% !important;
  height:152px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width: 1100px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) minmax(0,390px) !important;
    column-gap:28px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    max-width:390px !important;
    grid-auto-rows:136px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    height:136px !important;
  }
}
@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
    gap:18px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    max-width:100% !important;
    justify-self:start !important;
  }
}

/* 4) Home mobile: claim più bassa, logo e bottoni davvero adattivi */
@media (max-width: 700px){
  html body section#home.hero.logo-hero,
  body.mobile-compact-nav section#home.hero.logo-hero,
  html.mobile-compact-nav body section#home.hero.logo-hero{
    min-height:calc(100svh - 78px) !important;
    height:calc(100svh - 78px) !important;
    max-height:none !important;
    background:#ffffff !important;
    overflow:hidden !important;
  }

  html body section#home.hero.logo-hero .hero-title,
  html body section#home.hero.logo-hero .hero-mobile-giant,
  html body section#home.hero.logo-hero > .hero-bg-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-title,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-mobile-giant,
  body.mobile-compact-nav section#home.hero.logo-hero > .hero-bg-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-title,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-mobile-giant,
  html.mobile-compact-nav body section#home.hero.logo-hero > .hero-bg-illustration{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .mobile-home-layout,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    background:#ffffff !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }

  html body section#home.hero.logo-hero .mobile-home-layout::before,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout::before,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:54px !important;
    background:transparent !important;
    z-index:1 !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .mobile-home-claim,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    display:block !important;
    position:absolute !important;
    top:44px !important;
    left:22px !important;
    right:18px !important;
    margin:0 !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(48px, 13.3vw, 68px) !important;
    line-height:.86 !important;
    letter-spacing:-.045em !important;
    color:rgba(17,18,23,.13) !important;
    text-transform:uppercase !important;
    text-align:left !important;
    z-index:2 !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .mobile-home-center,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    position:absolute !important;
    left:50% !important;
    top:46.5% !important;
    transform:translate(-50%,-50%) !important;
    width:min(88vw, 390px) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:15px !important;
    text-align:center !important;
    z-index:5 !important;
  }

  html body section#home.hero.logo-hero .mobile-home-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo{
    display:block !important;
    width:min(72vw, 320px) !important;
    max-width:320px !important;
    height:auto !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }

  html body section#home.hero.logo-hero .mobile-home-actions,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
  }

  html body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:calc(50% - 8px) !important;
    min-height:40px !important;
    padding:10px 14px !important;
    border-radius:999px !important;
    font-size:clamp(10px, 2.75vw, 13px) !important;
    line-height:1.08 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
  }

  html body section#home.hero.logo-hero .mobile-home-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
    width:132% !important;
    max-width:none !important;
    height:auto !important;
    max-height:39% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    opacity:.9 !important;
    z-index:1 !important;
  }
}

@media (max-width: 430px){
  html body section#home.hero.logo-hero .mobile-home-layout::before,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout::before,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout::before{
    height:58px !important;
  }
  html body section#home.hero.logo-hero .mobile-home-claim,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    top:46px !important;
    left:20px !important;
    right:16px !important;
    font-size:clamp(46px, 13.5vw, 60px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-center,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    top:47% !important;
    width:min(89vw, 350px) !important;
    gap:13px !important;
  }
  html body section#home.hero.logo-hero .mobile-home-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo{
    width:min(74vw, 290px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    min-height:38px !important;
    padding:9px 12px !important;
    font-size:clamp(9px, 2.8vw, 12px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    width:138% !important;
    max-height:34% !important;
  }
}


/* =========================================================
   V71 - fix home mobile finale + hover card realmente pulito
   ========================================================= */
@media (max-width:700px){
  html body section#home.hero.logo-hero,
  body.mobile-compact-nav section#home.hero.logo-hero,
  html.mobile-compact-nav body section#home.hero.logo-hero{
    display:block !important;
    min-height:calc(100svh - 78px) !important;
    height:calc(100svh - 78px) !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  html body section#home.hero.logo-hero .mobile-home-layout,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout{
    position:relative !important;
    inset:auto !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:stretch !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    padding:52px 0 0 !important;
    box-sizing:border-box !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  html body section#home.hero.logo-hero .mobile-home-layout::before,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout::before,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout::before{
    content:none !important;
    display:none !important;
  }

  html body section#home.hero.logo-hero .mobile-home-claim,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 22px !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(54px, 14.2vw, 78px) !important;
    line-height:.84 !important;
    letter-spacing:-.045em !important;
    color:rgba(17,18,23,.13) !important;
    text-transform:uppercase !important;
    text-align:left !important;
    z-index:2 !important;
    pointer-events:none !important;
    flex:0 0 auto !important;
  }

  html body section#home.hero.logo-hero .mobile-home-center,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:min(88vw, 390px) !important;
    margin:clamp(70px, 16vh, 150px) auto 0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    text-align:center !important;
    z-index:5 !important;
    flex:0 0 auto !important;
  }

  html body section#home.hero.logo-hero .mobile-home-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo{
    display:block !important;
    width:min(76vw, 340px) !important;
    max-width:340px !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }

  html body section#home.hero.logo-hero .mobile-home-actions,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:100% !important;
    flex-wrap:nowrap !important;
  }

  html body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    display:inline-flex !important;
    flex:1 1 0 !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:10px 14px !important;
    border-radius:999px !important;
    font-size:clamp(10px, 2.9vw, 13px) !important;
    line-height:1.08 !important;
    letter-spacing:.045em !important;
    white-space:nowrap !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
  }

  html body section#home.hero.logo-hero .mobile-home-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    display:block !important;
    width:118% !important;
    max-width:none !important;
    height:auto !important;
    max-height:39svh !important;
    margin:22px auto 0 !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    opacity:.9 !important;
    z-index:1 !important;
    flex:1 1 auto !important;
    align-self:center !important;
  }
}

@media (max-width:430px){
  html body section#home.hero.logo-hero .mobile-home-layout,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout{
    padding-top:56px !important;
  }
  html body section#home.hero.logo-hero .mobile-home-claim,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    padding:0 20px !important;
    font-size:clamp(50px, 14vw, 68px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-center,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    width:min(88vw, 350px) !important;
    margin:clamp(60px, 14vh, 120px) auto 0 !important;
    gap:14px !important;
  }
  html body section#home.hero.logo-hero .mobile-home-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo{
    width:min(74vw, 300px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    min-height:40px !important;
    padding:9px 12px !important;
    font-size:clamp(9px, 2.8vw, 12px) !important;
  }
  html body section#home.hero.logo-hero .mobile-home-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    width:124% !important;
    max-height:34svh !important;
    margin-top:18px !important;
  }
}

/* Hover card davvero neutro */
.projects-section,
.projects-section *{
  transition-property:none !important;
}
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right,
.projects-section.projects-clean-section > article.project:hover,
.projects-section.projects-clean-section > .project:hover,
.projects-section.projects-clean-section > .project-right:hover,
.projects-section.projects-clean-section > article.project:focus,
.projects-section.projects-clean-section > .project:focus,
.projects-section.projects-clean-section > .project-right:focus,
.projects-section.projects-clean-section > article.project:focus-visible,
.projects-section.projects-clean-section > .project:focus-visible,
.projects-section.projects-clean-section > .project-right:focus-visible{
  background:transparent !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  transform:none !important;
}
.projects-section.projects-clean-section > article.project::before,
.projects-section.projects-clean-section > article.project::after,
.projects-section.projects-clean-section > .project::before,
.projects-section.projects-clean-section > .project::after,
.projects-section.projects-clean-section > .project-right::before,
.projects-section.projects-clean-section > .project-right::after,
.projects-section.projects-clean-section > article.project:hover::before,
.projects-section.projects-clean-section > article.project:hover::after,
.projects-section.projects-clean-section > .project:hover::before,
.projects-section.projects-clean-section > .project:hover::after,
.projects-section.projects-clean-section > .project-right:hover::before,
.projects-section.projects-clean-section > .project-right:hover::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:transparent !important;
  box-shadow:none !important;
}
.projects-section .gallery-grid,
.projects-section .gallery-grid:hover,
.projects-section .gallery-grid img,
.projects-section .gallery-grid img:hover,
.projects-section .gallery-grid img:focus,
.projects-section .gallery-grid img:focus-visible,
.projects-section .project .gallery-grid img,
.projects-section .project .gallery-grid img:hover,
.projects-section .project-right .gallery-grid img,
.projects-section .project-right .gallery-grid img:hover{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Solaro: più spazio tra le immagini */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  gap:18px !important;
  max-width:438px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  height:146px !important;
}
@media (max-width:1100px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    gap:14px !important;
  }
}


/* =========================================================
   V73 - desktop home ripristinata, mobile home e card corretti
   ========================================================= */

/* Desktop: non tocca il layout originale della home */
@media (min-width:701px){
  #home .mobile-home-layout{
    display:none !important;
  }
  #home .hero-title{
    display:flex !important;
  }
  #home > .hero-bg-illustration{
    display:block !important;
  }
}

/* Mobile: layout rifatto in modo deterministico */
@media (max-width:700px){
  html,
  body{
    overflow-x:hidden !important;
    background:#3a3a3a !important;
  }

  body .site-header,
  html body .site-header{
    height:78px !important;
    min-height:78px !important;
  }

  body section#home.hero.logo-hero,
  html body section#home.hero.logo-hero,
  body.mobile-compact-nav section#home.hero.logo-hero,
  html.mobile-compact-nav body section#home.hero.logo-hero{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:calc(100svh - 78px) !important;
    min-height:calc(100svh - 78px) !important;
    max-height:none !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:0 0 8px 8px !important;
  }

  body section#home.hero.logo-hero::before,
  html body section#home.hero.logo-hero::before,
  body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  body section#home.hero.logo-hero .hero-title,
  html body section#home.hero.logo-hero .hero-title,
  body section#home.hero.logo-hero .hero-mobile-giant,
  html body section#home.hero.logo-hero .hero-mobile-giant,
  body section#home.hero.logo-hero > .hero-bg-illustration,
  html body section#home.hero.logo-hero > .hero-bg-illustration{
    display:none !important;
    content:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body section#home.hero.logo-hero .mobile-home-layout,
  html body section#home.hero.logo-hero .mobile-home-layout,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    background:#fff !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }

  body section#home.hero.logo-hero .mobile-home-claim,
  html body section#home.hero.logo-hero .mobile-home-claim,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    position:absolute !important;
    top:44px !important;
    left:20px !important;
    right:14px !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(54px, 14vw, 70px) !important;
    line-height:.84 !important;
    letter-spacing:-.04em !important;
    color:rgba(17,18,23,.13) !important;
    text-transform:uppercase !important;
    text-align:left !important;
    white-space:normal !important;
    z-index:2 !important;
    pointer-events:none !important;
  }

  body section#home.hero.logo-hero .mobile-home-center,
  html body section#home.hero.logo-hero .mobile-home-center,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    position:absolute !important;
    left:50% !important;
    top:46% !important;
    transform:translate(-50%,-50%) !important;
    width:min(92vw, 430px) !important;
    max-width:430px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    z-index:5 !important;
    text-align:center !important;
  }

  body section#home.hero.logo-hero .mobile-home-logo,
  html body section#home.hero.logo-hero .mobile-home-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo{
    display:block !important;
    width:min(92vw, 430px) !important;
    max-width:430px !important;
    height:auto !important;
    object-fit:contain !important;
    margin:0 auto !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  body section#home.hero.logo-hero .mobile-home-actions,
  html body section#home.hero.logo-hero .mobile-home-actions,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:min(88vw, 400px) !important;
    max-width:400px !important;
    flex-wrap:nowrap !important;
    margin:0 auto !important;
  }

  body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:11px 12px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(10px, 2.65vw, 13px) !important;
    line-height:1.05 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }

  body section#home.hero.logo-hero .mobile-home-illustration,
  html body section#home.hero.logo-hero .mobile-home-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
    width:134% !important;
    max-width:none !important;
    height:auto !important;
    max-height:36% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    opacity:.9 !important;
    z-index:1 !important;
    pointer-events:none !important;
  }
}

@media (max-width:430px){
  body section#home.hero.logo-hero .mobile-home-claim,
  html body section#home.hero.logo-hero .mobile-home-claim,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-claim,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-claim{
    top:48px !important;
    left:20px !important;
    font-size:clamp(50px, 14vw, 64px) !important;
  }

  body section#home.hero.logo-hero .mobile-home-center,
  html body section#home.hero.logo-hero .mobile-home-center,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-center,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-center{
    top:46.5% !important;
    width:min(90vw, 385px) !important;
  }

  body section#home.hero.logo-hero .mobile-home-logo,
  html body section#home.hero.logo-hero .mobile-home-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-logo{
    width:min(90vw, 385px) !important;
  }

  body section#home.hero.logo-hero .mobile-home-actions,
  html body section#home.hero.logo-hero .mobile-home-actions,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions{
    width:min(86vw, 365px) !important;
    gap:10px !important;
  }

  body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html body section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-actions .hero-btn{
    min-height:40px !important;
    padding:10px 10px !important;
    font-size:clamp(9px, 2.65vw, 11px) !important;
  }

  body section#home.hero.logo-hero .mobile-home-illustration,
  html body section#home.hero.logo-hero .mobile-home-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-illustration{
    width:138% !important;
    max-height:33% !important;
  }
}

/* Card progetti: nessun overlay o opacità su hover */
.projects-section article.project,
.projects-section article.project:hover,
.projects-section .project,
.projects-section .project:hover,
.projects-section .project-right,
.projects-section .project-right:hover{
  filter:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.projects-section article.project::before,
.projects-section article.project::after,
.projects-section article.project:hover::before,
.projects-section article.project:hover::after,
.projects-section .project::before,
.projects-section .project::after,
.projects-section .project:hover::before,
.projects-section .project:hover::after,
.projects-section .project-right::before,
.projects-section .project-right::after,
.projects-section .project-right:hover::before,
.projects-section .project-right:hover::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:transparent !important;
}
.projects-section .gallery-grid img,
.projects-section .gallery-grid img:hover,
.projects-section .gallery-grid img:focus-visible{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  box-shadow:none !important;
}

/* Solaro: immagini più piccole e separate */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 405px !important;
  column-gap:34px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:405px !important;
  max-width:405px !important;
  grid-template-columns:repeat(3,115px) !important;
  grid-auto-rows:125px !important;
  gap:20px !important;
  justify-content:start !important;
  justify-self:start !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:115px !important;
  height:125px !important;
  object-fit:cover !important;
  display:block !important;
  opacity:1 !important;
  filter:none !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:min(100%,405px) !important;
    max-width:405px !important;
  }
}


/* =========================================================
   V74 - Solaro immagini più piccole + linee Cosa facciamo più corte
   ========================================================= */

/* Cosa facciamo: accorcia le linee divisorie */
.services-section .services-grid{
  width:min(1080px, calc(100% - 120px)) !important;
  max-width:min(1080px, calc(100% - 120px)) !important;
  margin:0 auto !important;
}
.services-section .services-grid > .service-card,
.services-section .services-grid > .service-card:nth-child(1),
.services-section .services-grid > .service-card:nth-child(2),
.services-section .services-grid > .service-card:nth-child(3),
.services-section .services-grid > .service-card:nth-child(4){
  width:calc(100% - 70px) !important;
  max-width:940px !important;
  margin:0 auto !important;
}

@media (max-width: 1100px){
  .services-section .services-grid{
    width:min(1000px, calc(100% - 90px)) !important;
    max-width:min(1000px, calc(100% - 90px)) !important;
  }
  .services-section .services-grid > .service-card,
  .services-section .services-grid > .service-card:nth-child(1),
  .services-section .services-grid > .service-card:nth-child(2),
  .services-section .services-grid > .service-card:nth-child(3),
  .services-section .services-grid > .service-card:nth-child(4){
    width:calc(100% - 40px) !important;
  }
}

@media (max-width: 760px){
  .services-section .services-grid{
    width:min(100%, calc(100% - 40px)) !important;
    max-width:min(100%, calc(100% - 40px)) !important;
  }
  .services-section .services-grid > .service-card,
  .services-section .services-grid > .service-card:nth-child(1),
  .services-section .services-grid > .service-card:nth-child(2),
  .services-section .services-grid > .service-card:nth-child(3),
  .services-section .services-grid > .service-card:nth-child(4){
    width:100% !important;
    max-width:100% !important;
  }
}

/* Solaro: immagini più piccole e un po' separate */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 360px !important;
  column-gap:38px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  width:360px !important;
  max-width:360px !important;
  display:grid !important;
  grid-template-columns:repeat(3,104px) !important;
  grid-auto-rows:114px !important;
  gap:18px !important;
  justify-content:start !important;
  justify-self:start !important;
  align-self:center !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:104px !important;
  height:114px !important;
  max-width:104px !important;
  max-height:114px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width: 980px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) 330px !important;
    column-gap:28px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:330px !important;
    max-width:330px !important;
    grid-template-columns:repeat(3,96px) !important;
    grid-auto-rows:106px !important;
    gap:15px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:96px !important;
    height:106px !important;
    max-width:96px !important;
    max-height:106px !important;
  }
}

@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:min(100%, 360px) !important;
    max-width:360px !important;
  }
}


/* =========================================================
   V75 - Card Solaro: immagini come le card sotto
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 210px !important;
  column-gap:24px !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:210px !important;
  max-width:210px !important;
  display:grid !important;
  grid-template-columns:repeat(2, 96px) !important;
  grid-template-rows:96px !important;
  grid-auto-rows:96px !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:hidden !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:96px !important;
  height:96px !important;
  max-width:96px !important;
  max-height:96px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+2){
  display:block !important;
}
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+3),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    justify-self:center !important;
    width:210px !important;
    max-width:210px !important;
  }
}


/* =========================================================
   V76 - Solaro card rifatta: testo più compatto, 3 immagini separate
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 312px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  column-gap:28px !important;
  row-gap:18px !important;
  align-items:center !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  max-width:none !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.42 !important;
  letter-spacing:.045em !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:312px !important;
  max-width:312px !important;
  display:grid !important;
  grid-template-columns:repeat(3, 96px) !important;
  grid-auto-rows:96px !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
  justify-content:start !important;
  justify-self:end !important;
  align-self:center !important;
  overflow:hidden !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:96px !important;
  height:96px !important;
  max-width:96px !important;
  max-height:96px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width: 980px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) 294px !important;
    column-gap:22px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
    font-size:12px !important;
    line-height:1.38 !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:294px !important;
    max-width:294px !important;
    grid-template-columns:repeat(3, 90px) !important;
    grid-auto-rows:90px !important;
    gap:12px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:90px !important;
    height:90px !important;
    max-width:90px !important;
    max-height:90px !important;
  }
}

@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    justify-self:center !important;
    width:312px !important;
    max-width:312px !important;
  }
}


/* =========================================================
   V77 - Solaro: testo più compatto + immagini ben separate
   ========================================================= */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0,1fr) 296px !important;
  column-gap:30px !important;
  row-gap:16px !important;
  align-items:center !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:100% !important;
  font-size:12px !important;
  line-height:1.34 !important;
  letter-spacing:.04em !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:296px !important;
  max-width:296px !important;
  display:grid !important;
  grid-template-columns:repeat(3, 88px) !important;
  grid-auto-rows:88px !important;
  gap:16px !important;
  justify-content:start !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:88px !important;
  height:88px !important;
  max-width:88px !important;
  max-height:88px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width: 980px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0,1fr) 278px !important;
    column-gap:22px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
    font-size:11px !important;
    line-height:1.3 !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:278px !important;
    max-width:278px !important;
    grid-template-columns:repeat(3, 82px) !important;
    grid-auto-rows:82px !important;
    gap:16px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:82px !important;
    height:82px !important;
    max-width:82px !important;
    max-height:82px !important;
  }
}

@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:296px !important;
    max-width:296px !important;
    justify-self:center !important;
  }
}


/* =========================================================
   V78 - Solaro: testo più a destra, immagini più grandi e separate
   ========================================================= */

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0, 1fr) 356px !important;
  column-gap:34px !important;
  align-items:center !important;
}

/* Sposta il blocco testo più a destra senza comprimere troppo la descrizione */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  padding-left:34px !important;
  padding-right:0 !important;
  max-width:none !important;
}

/* Testo compatto ma leggibile */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:100% !important;
  font-size:12.5px !important;
  line-height:1.36 !important;
  letter-spacing:.038em !important;
}

/* 3 immagini: grandi almeno come quelle delle card sotto, ma separate */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:356px !important;
  max-width:356px !important;
  display:grid !important;
  grid-template-columns:repeat(3, 104px) !important;
  grid-auto-rows:104px !important;
  gap:22px !important;
  justify-content:start !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:104px !important;
  height:104px !important;
  max-width:104px !important;
  max-height:104px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width: 1050px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0, 1fr) 338px !important;
    column-gap:28px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
    padding-left:24px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:338px !important;
    max-width:338px !important;
    grid-template-columns:repeat(3, 100px) !important;
    grid-auto-rows:100px !important;
    gap:19px !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:100px !important;
    height:100px !important;
    max-width:100px !important;
    max-height:100px !important;
  }
}

@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
    padding-left:0 !important;
  }
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    justify-self:center !important;
    width:356px !important;
    max-width:356px !important;
  }
}


/* =========================================================
   V79 - Solaro: testo a sinistra, immagini come le altre card
   ========================================================= */

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0, 52%) 308px !important;
  grid-template-areas:"title title" "copy gallery" !important;
  column-gap:34px !important;
  align-items:center !important;
}

/* Testo a sinistra, senza invadere oltre metà card */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  grid-area:copy !important;
  justify-self:start !important;
  align-self:center !important;
  width:100% !important;
  max-width:520px !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin:0 !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
  max-width:520px !important;
  font-size:12.5px !important;
  line-height:1.36 !important;
  letter-spacing:.038em !important;
  margin:0 !important;
}

/* Immagini Solaro: stessa misura e stessa spaziatura delle card sotto */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:308px !important;
  max-width:308px !important;
  display:grid !important;
  grid-template-columns:repeat(3, 96px) !important;
  grid-auto-rows:96px !important;
  gap:10px !important;
  justify-content:start !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:96px !important;
  height:96px !important;
  max-width:96px !important;
  max-height:96px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  box-shadow:none !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width: 1050px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0, 1fr) 308px !important;
    column-gap:26px !important;
  }

  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy,
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
    max-width:500px !important;
  }
}

@media (max-width: 900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }

  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy,
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy p{
    max-width:100% !important;
  }

  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:308px !important;
    max-width:308px !important;
    justify-self:center !important;
  }
}


/* =========================================================
   V80 - Solaro: immagini grandi e distanziate come richiesto
   ========================================================= */

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
  grid-template-columns:minmax(0, 52%) 376px !important;
  column-gap:34px !important;
}

/* Mantiene il testo come nella v79 */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .project-copy{
  justify-self:start !important;
  max-width:520px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Solaro: 3 immagini grandi, separate da spazio visibile */
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
  grid-area:gallery !important;
  width:376px !important;
  max-width:376px !important;
  display:grid !important;
  grid-template-columns:repeat(3, 112px) !important;
  grid-template-rows:112px !important;
  grid-auto-rows:112px !important;
  gap:20px !important;
  justify-content:start !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
  width:112px !important;
  height:112px !important;
  max-width:112px !important;
  max-height:112px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  box-shadow:none !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(-n+3){
  display:block !important;
}

.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img:nth-child(n+4),
.projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img.sale-gallery-hidden{
  display:none !important;
}

@media (max-width:1050px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:minmax(0, 1fr) 352px !important;
    column-gap:28px !important;
  }

  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    width:352px !important;
    max-width:352px !important;
    grid-template-columns:repeat(3, 106px) !important;
    grid-template-rows:106px !important;
    grid-auto-rows:106px !important;
    gap:17px !important;
  }

  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid img{
    width:106px !important;
    height:106px !important;
    max-width:106px !important;
    max-height:106px !important;
  }
}

@media (max-width:900px){
  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature{
    grid-template-columns:1fr !important;
    grid-template-areas:"title" "copy" "gallery" !important;
  }

  .projects-section.projects-clean-section > .project-sale-empty.project-sale-feature .sale-media-grid{
    justify-self:center !important;
    width:376px !important;
    max-width:376px !important;
  }
}


/* =========================================================
   V81 - Home mobile ripristinata come layout desktop + sfondo mobile verticale
   ========================================================= */

/* Desktop invariato */
@media (min-width:701px){
  #home .mobile-home-layout{
    display:none !important;
  }
  #home .hero-title{
    display:flex !important;
  }
  #home > .hero-bg-illustration{
    display:block !important;
  }
}

/* Mobile: usa struttura desktop, non layout mobile separato */
@media (max-width:700px){
  html,
  body{
    overflow-x:hidden !important;
    background:#3a3a3a !important;
  }

  html body .site-header,
  body.mobile-compact-nav .site-header,
  html.mobile-compact-nav body .site-header{
    height:78px !important;
    min-height:78px !important;
  }

  html body section#home.hero.logo-hero,
  body.mobile-compact-nav section#home.hero.logo-hero,
  html.mobile-compact-nav body section#home.hero.logo-hero{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:calc(100svh - 78px) !important;
    min-height:calc(100svh - 78px) !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:0 0 8px 8px !important;
    isolation:isolate !important;
  }

  /* Spegne definitivamente il layout mobile dedicato */
  html body section#home.hero.logo-hero .mobile-home-layout,
  body.mobile-compact-nav section#home.hero.logo-hero .mobile-home-layout,
  html.mobile-compact-nav body section#home.hero.logo-hero .mobile-home-layout{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  /* Riaccende layout desktop dentro mobile */
  html body section#home.hero.logo-hero .hero-title,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-title,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-title{
    position:absolute !important;
    left:50% !important;
    top:43% !important;
    transform:translate(-50%,-50%) !important;
    width:min(86vw, 430px) !important;
    max-width:430px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    text-align:center !important;
    z-index:5 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  html body section#home.hero.logo-hero .hero-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-logo{
    display:block !important;
    width:min(86vw, 430px) !important;
    max-width:430px !important;
    height:auto !important;
    object-fit:contain !important;
    margin:0 auto !important;
    filter:none !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  html body section#home.hero.logo-hero .hero-actions,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-actions,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:min(84vw, 400px) !important;
    max-width:400px !important;
    margin:0 auto !important;
  }

  html body section#home.hero.logo-hero .hero-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-actions .hero-btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    min-height:40px !important;
    padding:10px 12px !important;
    border-radius:999px !important;
    font-size:clamp(9px, 2.65vw, 12px) !important;
    line-height:1.05 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
  }

  /* Scritta grigia come nel layout desktop, ma leggibile su mobile */
  html body section#home.hero.logo-hero::before,
  body.mobile-compact-nav section#home.hero.logo-hero::before,
  html.mobile-compact-nav body section#home.hero.logo-hero::before{
    content:"COSTRUIRE CON\A PASSIONE" !important;
    display:block !important;
    position:absolute !important;
    left:20px !important;
    top:42px !important;
    width:calc(100% - 36px) !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(48px, 13.5vw, 66px) !important;
    line-height:.86 !important;
    letter-spacing:-.04em !important;
    text-transform:uppercase !important;
    white-space:pre-line !important;
    color:rgba(17,18,23,.13) !important;
    opacity:1 !important;
    z-index:2 !important;
    pointer-events:none !important;
    transform:none !important;
  }

  /* Nuovo sfondo verticale per mobile */
  html body section#home.hero.logo-hero > .hero-bg-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero > .hero-bg-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero > .hero-bg-illustration{
    content:url("assets/media/hero-under-logo-mobile.png") !important;
    display:block !important;
    position:absolute !important;
    left:50% !important;
    bottom:0 !important;
    right:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:none !important;
    height:48% !important;
    object-fit:cover !important;
    object-position:center bottom !important;
    transform:translateX(-50%) !important;
    opacity:.88 !important;
    visibility:visible !important;
    z-index:1 !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .hero-mobile-giant,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-mobile-giant,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-mobile-giant{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
  }
}

@media (max-width:430px){
  html body section#home.hero.logo-hero .hero-title,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-title,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-title{
    top:44% !important;
    width:min(88vw, 390px) !important;
  }

  html body section#home.hero.logo-hero .hero-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-logo{
    width:min(88vw, 390px) !important;
  }

  html body section#home.hero.logo-hero > .hero-bg-illustration,
  body.mobile-compact-nav section#home.hero.logo-hero > .hero-bg-illustration,
  html.mobile-compact-nav body section#home.hero.logo-hero > .hero-bg-illustration{
    height:46% !important;
  }
}


/* =========================================================
   V93 - correzioni mobile + parallax ripristinati
   ========================================================= */

/* Claim mobile reale: nascosto su desktop, visibile solo nel layout mobile/classi mobile */
#home.logo-hero .mobile-home-claim-force{
  display:none !important;
}

body.mobile-compact-nav #home.logo-hero .mobile-home-claim-force,
html.mobile-compact-nav body #home.logo-hero .mobile-home-claim-force{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:calc(50% - 86px) !important;
  transform:translateX(-50%) !important;
  z-index:8 !important;
  width:max-content !important;
  max-width:90vw !important;
  font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(18px, 5.1vw, 25px) !important;
  line-height:1 !important;
  letter-spacing:.018em !important;
  text-transform:uppercase !important;
  color:rgba(17,18,23,.20) !important;
  opacity:1 !important;
  text-align:center !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}

/* Mobile: logo e bottoni più grandi anche quando il sito usa viewport fisso + classe mobile */
body.mobile-compact-nav section#home.hero.logo-hero .hero-title,
html.mobile-compact-nav body section#home.hero.logo-hero .hero-title{
  position:absolute !important;
  left:50% !important;
  top:43% !important;
  transform:translate(-50%,-50%) !important;
  width:min(92vw, 500px) !important;
  max-width:500px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  z-index:7 !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.mobile-compact-nav section#home.hero.logo-hero .hero-logo,
html.mobile-compact-nav body section#home.hero.logo-hero .hero-logo{
  width:min(88vw, 460px) !important;
  max-width:460px !important;
  height:auto !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.mobile-compact-nav section#home.hero.logo-hero .hero-actions,
html.mobile-compact-nav body section#home.hero.logo-hero .hero-actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;
  gap:14px !important;
  width:min(88vw, 430px) !important;
  max-width:430px !important;
}

body.mobile-compact-nav section#home.hero.logo-hero .hero-actions .hero-btn,
html.mobile-compact-nav body section#home.hero.logo-hero .hero-actions .hero-btn{
  min-height:44px !important;
  padding:12px 18px !important;
  font-size:clamp(10px, 3vw, 14px) !important;
  line-height:1.05 !important;
  letter-spacing:.045em !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

@media (max-width:700px){
  #home.logo-hero .mobile-home-claim-force{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    top:calc(50% - 86px) !important;
    transform:translateX(-50%) !important;
    z-index:8 !important;
    width:max-content !important;
    max-width:90vw !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(18px, 5.1vw, 25px) !important;
    line-height:1 !important;
    letter-spacing:.018em !important;
    text-transform:uppercase !important;
    color:rgba(17,18,23,.20) !important;
    opacity:1 !important;
    text-align:center !important;
    white-space:nowrap !important;
    pointer-events:none !important;
  }

  html body section#home.hero.logo-hero .hero-title,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-title,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-title{
    top:43% !important;
    width:min(92vw, 500px) !important;
    max-width:500px !important;
    gap:18px !important;
  }

  html body section#home.hero.logo-hero .hero-logo,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-logo,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-logo{
    width:min(88vw, 460px) !important;
    max-width:460px !important;
  }

  html body section#home.hero.logo-hero .hero-actions,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-actions,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-actions{
    gap:14px !important;
    width:min(88vw, 430px) !important;
    max-width:430px !important;
  }

  html body section#home.hero.logo-hero .hero-actions .hero-btn,
  body.mobile-compact-nav section#home.hero.logo-hero .hero-actions .hero-btn,
  html.mobile-compact-nav body section#home.hero.logo-hero .hero-actions .hero-btn{
    min-height:44px !important;
    padding:12px 18px !important;
    font-size:clamp(10px, 3vw, 14px) !important;
  }
}

/* Parallax box Come lavoriamo: ripristino base v89, senza overlay */
.parallax-work,
html body .parallax-work,
body .parallax-work,
.parallax-work.bg-loaded{
  background-image:url("assets/media/parallax-work-new.jpg?v=149") !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center calc(50% + var(--ds-work-parallax-y, 0px)) !important;
  background-attachment:scroll !important;
  will-change:background-position !important;
}
.parallax-work::before,
.parallax-work::after,
html body .parallax-work::before,
html body .parallax-work::after{
  content:none !important;
  display:none !important;
  background:transparent !important;
}

/* Parallax box Cosa facciamo + immagine decorativa destra con movimento */
.parallax-services,
html body .parallax-services,
body .parallax-services,
.parallax-services.bg-loaded{
  background-image:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.18)), url("assets/media/parallax-services-new.jpg?v=149") !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center calc(50% + var(--ds-services-parallax-y, 0px)) !important;
  background-attachment:scroll !important;
  will-change:background-position !important;
}

.services-section::after{
  background:url("assets/media/cosa-facciamo-right-bg.png") right center / contain no-repeat !important;
  transform:translate3d(calc(18px + var(--ds-services-decor-x, 0px)), calc(-50% + var(--ds-services-decor-y, 0px)), 0) scale(var(--ds-services-decor-scale, 1)) !important;
  animation:servicesDecorFloat 11s ease-in-out infinite alternate !important;
  will-change:transform !important;
  opacity:.58 !important;
}

/* Card progetti: sfondo bianco reale */
.projects-section.projects-clean-section > article.project,
.projects-section.projects-clean-section > .project,
.projects-section.projects-clean-section > .project-right,
.projects-section.projects-clean-section > .project-sale-empty,
.projects-section.projects-clean-section > article.project:hover,
.projects-section.projects-clean-section > .project:hover,
.projects-section.projects-clean-section > .project-right:hover,
.projects-section.projects-clean-section > .project-sale-empty:hover,
.projects-section.projects-clean-section > article.project:focus-visible,
.projects-section.projects-clean-section > .project:focus-visible,
.projects-section.projects-clean-section > .project-right:focus-visible,
.projects-section.projects-clean-section > .project-sale-empty:focus-visible{
  background:#fff !important;
}

/* =========================================================
   V94 - Parallax scroll reale + sfumatura nera leggera
   ========================================================= */
.parallax-work,
.parallax-services,
html body .parallax-work,
html body .parallax-services{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:none !important;
  background-image:none !important;
  background-color:#111217 !important;
}

.parallax-work::before,
.parallax-services::before,
html body .parallax-work::before,
html body .parallax-services::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:-90px !important;
  bottom:-90px !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  transform:translate3d(0,var(--ds-parallax-y,0px),0) scale(1.08) !important;
  will-change:transform !important;
}

.parallax-work::before,
html body .parallax-work::before{
  background-image:url("assets/media/parallax-work-new.jpg?v=149") !important;
  transform:translate3d(0,var(--ds-work-parallax-y,0px),0) scale(1.08) !important;
}

.parallax-services::before,
html body .parallax-services::before{
  background-image:url("assets/media/parallax-services-new.jpg?v=149") !important;
  transform:translate3d(0,var(--ds-services-parallax-y,0px),0) scale(1.08) !important;
}

.parallax-work::after,
.parallax-services::after,
html body .parallax-work::after,
html body .parallax-services::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:rgba(0,0,0,.20) !important;
}

.parallax-work .section-title,
.parallax-services .section-title,
html body .parallax-work .section-title,
html body .parallax-services .section-title{
  position:relative !important;
  z-index:2 !important;
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.38) !important;
}

/* Movimento reale immagine decorativa Cosa facciamo */
.services-section::after,
html body .services-section::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  bottom:auto !important;
  width:min(52vw,860px) !important;
  height:min(96%,680px) !important;
  background:url("assets/media/cosa-facciamo-right-bg.png") right center / contain no-repeat !important;
  transform:translate3d(calc(20px + var(--ds-services-decor-x,0px)), calc(-50% + var(--ds-services-decor-y,0px)), 0) scale(var(--ds-services-decor-scale,1)) !important;
  opacity:.58 !important;
  z-index:0 !important;
  pointer-events:none !important;
  will-change:transform !important;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.05)) !important;
  animation:none !important;
}

@media (max-width:900px){
  .services-section::after,
  html body .services-section::after{
    width:min(72vw,420px) !important;
    height:min(58%,330px) !important;
    opacity:.42 !important;
  }
}


/* V127 - rimuovi overlay rossicci e testi sovrapposti su foto/video */
.parallax-work .section-title,
.parallax-services .section-title,
.video-parallax-strip .video-strip-title,
.contact-parallax-caption{
  display:none !important;
}

/* Parallax foto: tieni l'immagine, elimina l'overlay colorato */
.parallax::before,
html body .parallax::before{
  background:none !important;
}

.parallax-work,
html body .parallax-work{
  background-image:url("assets/media/parallax-work-new.jpg?v=149") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-attachment:fixed !important;
}

.parallax-services,
html body .parallax-services{
  background-image:url("assets/media/parallax-services-new.jpg?v=149") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-attachment:fixed !important;
}

.parallax-work::before,
html body .parallax-work::before{
  background:url("assets/media/parallax-work-new.jpg?v=149") center center / cover no-repeat !important;
}

.parallax-services::before,
html body .parallax-services::before{
  background:url("assets/media/parallax-services-new.jpg?v=149") center center / cover no-repeat !important;
}

.parallax-work::after,
.parallax-services::after,
html body .parallax-work::after,
html body .parallax-services::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* Video progetti: niente patina rossa */
.video-strip-overlay,
html body .video-strip-overlay{
  display:none !important;
  background:none !important;
}

.video-parallax-strip,
html body .video-parallax-strip{
  background-image:url("assets/media/construction-company.jpg?v=149") !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* Box contatti: foto pulite senza overlay */
.contact-parallax-inner::after,
.contact-parallax-box::before,
.contact-parallax-box::after,
html body .contact-parallax-inner::after,
html body .contact-parallax-box::before,
html body .contact-parallax-box::after{
  content:none !important;
  display:none !important;
  background:none !important;
}


/* V128 - titoli di sezione allineati a sinistra su desktop e mobile */
.about-red-title,
.section-title.grey,
.projects-section.projects-clean-section .projects-sale-main-heading,
.projects-section.projects-clean-section .projects-main-heading,
.projects-main-heading,
.contact-card h2{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

.projects-section.projects-clean-section .projects-sale-heading-wrap,
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-sale-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  text-align:left !important;
  justify-items:start !important;
  align-items:start !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

.about-copy,
.contact-card{
  text-align:left !important;
  align-items:flex-start !important;
}

/* Titoli giganti generati via pseudo-elemento */
.about-section::before,
.work-detail-section::before,
.services-section::before,
.contact-section::before{
  left:clamp(18px,4vw,72px) !important;
  right:auto !important;
  text-align:left !important;
  transform-origin:left center !important;
}

@media (max-width:900px){
  .about-red-title,
  .section-title.grey,
  .projects-section.projects-clean-section .projects-sale-main-heading,
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-main-heading,
  .contact-card h2{
    text-align:left !important;
    margin-left:0 !important;
    margin-right:auto !important;
    padding-left:0 !important;
  }

  .projects-section.projects-clean-section .projects-sale-heading-wrap,
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-sale-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    text-align:left !important;
    justify-items:start !important;
    align-items:start !important;
    padding-left:0 !important;
  }

  .about-copy,
  .contact-card{
    text-align:left !important;
    align-items:flex-start !important;
  }

  .about-section::before,
  .work-detail-section::before,
  .services-section::before,
  .contact-section::before{
    left:16px !important;
    right:auto !important;
    text-align:left !important;
    max-width:calc(100% - 32px) !important;
  }
}


/* V129 - animazioni titoli da destra verso sinistra + titoli Progetti molto a sinistra */
/* Inverte l'entrata dei titoli giganti: partono da destra e arrivano in posizione. */
.about-section::before,
.services-section::before,
.contact-section::before,
.work-detail-section::before,
html body .about-section::before,
html body .services-section::before,
html body .contact-section::before,
html body .work-detail-section::before{
  transform:translateX(126px) !important;
}

.about-section.giant-visible::before,
.services-section.giant-visible::before,
.contact-section.giant-visible::before,
.work-detail-section.giant-visible::before,
html body .about-section.giant-visible::before,
html body .services-section.giant-visible::before,
html body .contact-section.giant-visible::before,
html body .work-detail-section.giant-visible::before{
  transform:translateX(0) !important;
}

/* I due titoli grigi della sezione Progetti: molto a sinistra, desktop e mobile. */
.projects-section.projects-clean-section .projects-sale-heading-wrap,
.projects-section.projects-clean-section > .container.projects-sale-heading-wrap,
.projects-section.projects-clean-section .projects-heading-wrap,
.projects-section.projects-clean-section > .container.projects-heading-wrap{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:clamp(22px,2.8vw,52px) !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  text-align:left !important;
  overflow:visible !important;
}

.projects-section.projects-clean-section .projects-sale-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading,
.projects-section.projects-clean-section .projects-main-heading,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading,
.projects-main-heading{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:auto !important;
  transform:translate3d(110px,0,0) !important;
  transition:opacity .68s ease, transform 1.02s cubic-bezier(.22,1,.36,1) !important;
}

.projects-section.projects-clean-section .projects-sale-main-heading.giant-visible,
.projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading.giant-visible,
.projects-section.projects-clean-section .projects-main-heading.giant-visible,
.projects-section.projects-clean-section .section-title.grey.projects-main-heading.giant-visible,
.projects-main-heading.giant-visible{
  transform:translate3d(0,0,0) !important;
}

@media (max-width:900px){
  .projects-section.projects-clean-section .projects-sale-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-sale-heading-wrap,
  .projects-section.projects-clean-section .projects-heading-wrap,
  .projects-section.projects-clean-section > .container.projects-heading-wrap{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:18px !important;
    padding-right:0 !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .projects-section.projects-clean-section .projects-sale-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading,
  .projects-section.projects-clean-section .projects-main-heading,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading,
  .projects-main-heading{
    text-align:left !important;
    transform:translate3d(72px,0,0) !important;
  }

  .projects-section.projects-clean-section .projects-sale-main-heading.giant-visible,
  .projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading.giant-visible,
  .projects-section.projects-clean-section .projects-main-heading.giant-visible,
  .projects-section.projects-clean-section .section-title.grey.projects-main-heading.giant-visible,
  .projects-main-heading.giant-visible{
    transform:translate3d(0,0,0) !important;
  }
}


/* V130 - desktop hero: claim sopra il logo, 50% più piccolo, una riga, centrato */
@media (min-width:901px){
  html body section#home.hero.logo-hero::before,
  html body section#home.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before{
    content:"COSTRUIRE CON PASSIONE" !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:calc(50% - 250px) !important;
    bottom:auto !important;
    width:max-content !important;
    max-width:calc(100vw - 64px) !important;
    transform:translateX(-50%) !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    font-family:"Rajdhani","Manrope",Arial,sans-serif !important;
    font-weight:800 !important;
    font-size:clamp(35px,4.4vw,80px) !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    color:rgba(17,18,23,.12) !important;
    text-transform:uppercase !important;
    pointer-events:none !important;
    z-index:3 !important;
    animation:none !important;
  }

  html body section#home.hero.logo-hero .hero-title,
  html body section#home.logo-hero .hero-title{
    z-index:4 !important;
  }
}

/* V132 - desktop hero: claim grigio solido, senza trasparenza/moltiplica; posizione e dimensione v130 invariati */
@media (min-width:901px){
  html body section#home.hero.logo-hero::before,
  html body section#home.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before{
    top:calc(50% - 250px) !important;
    font-size:clamp(35px,4.4vw,80px) !important;
    letter-spacing:-.035em !important;
    color:#d9d9d9 !important;
    -webkit-text-fill-color:#d9d9d9 !important;
    opacity:1 !important;
    mix-blend-mode:normal !important;
    filter:none !important;
    text-shadow:none !important;
    z-index:6 !important;
  }
}


/* V134 - desktop hero: sposta claim "Costruire con passione" 30px più in su */
@media (min-width:901px){
  html body section#home.hero.logo-hero::before,
  html body section#home.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before{
    top:calc(50% - 280px) !important;
  }
}


/* V135 - desktop hero: sposta claim "Costruire con passione" altri 20px più in su */
@media (min-width:901px){
  html body section#home.hero.logo-hero::before,
  html body section#home.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before{
    top:calc(50% - 300px) !important;
  }
}


/* V136 - desktop hero: claim altri 30px più in su + logo 15% più grande */
@media (min-width:901px){
  html body section#home.hero.logo-hero::before,
  html body section#home.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before{
    top:calc(50% - 330px) !important;
  }

  html body section#home.hero.logo-hero .hero-title,
  html body section#home.logo-hero .hero-title{
    width:min(82vw, 403px) !important;
    max-width:403px !important;
  }

  html body section#home.hero.logo-hero .hero-logo,
  html body section#home.logo-hero .hero-logo{
    width:100% !important;
    max-width:403px !important;
    height:auto !important;
  }
}


/* V137 - desktop hero: claim 100px più in su, logo chiaramente più grande, bottoni 50px più in su */
@media (min-width:901px){
  html body section#home.hero.logo-hero::before,
  html body section#home.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before{
    top:calc(50% - 430px) !important;
  }

  html body section#home.hero.logo-hero .hero-title,
  html body section#home.logo-hero .hero-title{
    width:min(90vw, 463px) !important;
    max-width:463px !important;
  }

  html body section#home.hero.logo-hero .hero-logo,
  html body section#home.logo-hero .hero-logo{
    display:block !important;
    width:min(90vw, 463px) !important;
    max-width:463px !important;
    height:auto !important;
    margin:0 auto !important;
  }

  html body section#home.hero.logo-hero .hero-actions,
  html body section#home.logo-hero .hero-actions{
    position:relative !important;
    top:-50px !important;
  }
}


/* V138 - desktop hero: fix logo rotto, logo molto più grande e proporzionato; claim e bottoni invariati */
@media (min-width:901px){
  html body section#home.hero.logo-hero .hero-title,
  html body section#home.logo-hero .hero-title{
    width:min(92vw, 560px) !important;
    max-width:560px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:22px !important;
  }

  html body section#home.hero.logo-hero .hero-logo,
  html body section#home.logo-hero .hero-logo{
    display:block !important;
    width:min(92vw, 560px) !important;
    max-width:560px !important;
    min-width:560px !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
    transform:none !important;
  }

  html body section#home.hero.logo-hero .hero-actions,
  html body section#home.logo-hero .hero-actions{
    position:relative !important;
    top:-50px !important;
    margin-top:0 !important;
  }
}


/* V139 - desktop hero: claim ancorato sotto la barra; logo grande e centrato; bottoni sotto ben staccati */
@media (min-width:901px){
  html body section#home.hero.logo-hero::before,
  html body section#home.logo-hero::before,
  html body section#home.hero.logo-hero.giant-visible::before,
  html body section#home.logo-hero.giant-visible::before,
  html body section#home.hero.logo-hero.hero-copy-visible::before,
  html body section#home.logo-hero.hero-copy-visible::before{
    top:130px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:6 !important;
  }

  html body section#home.hero.logo-hero .hero-title,
  html body section#home.logo-hero .hero-title{
    position:absolute !important;
    left:50% !important;
    top:54% !important;
    transform:translate(-50%, -50%) !important;
    width:min(78vw, 760px) !important;
    max-width:760px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:30px !important;
    text-align:center !important;
    z-index:7 !important;
  }

  html body section#home.hero.logo-hero .hero-logo,
  html body section#home.logo-hero .hero-logo{
    display:block !important;
    width:min(78vw, 760px) !important;
    max-width:760px !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
    transform:none !important;
    filter:none !important;
  }

  html body section#home.hero.logo-hero .hero-actions,
  html body section#home.logo-hero .hero-actions{
    position:static !important;
    top:auto !important;
    width:auto !important;
    margin-top:8px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
  }

  html body section#home.hero.logo-hero .hero-actions .hero-btn,
  html body section#home.logo-hero .hero-actions .hero-btn{
    min-width:210px !important;
    padding:16px 28px !important;
  }
}


/* V141 - intro home più lenta + animazione claim dopo i bottoni (desktop e mobile) */
body.hero-intro-ready::before{
  background:#ffffff !important;
  opacity:1 !important;
  transition:opacity 2.8s ease !important;
}

body.hero-intro-ready .logo-hero .hero-bg-illustration,
body.hero-intro-ready .logo-hero .hero-bg-illustration-mobile{
  opacity:0 !important;
  visibility:visible !important;
  transition:opacity 2.6s ease !important;
  will-change:opacity !important;
}

body.hero-intro-ready.hero-intro-play .logo-hero .hero-bg-illustration,
body.hero-intro-ready.hero-intro-play .logo-hero .hero-bg-illustration-mobile{
  opacity:1 !important;
  transition-delay:.18s !important;
}

/* Claim desktop: compare lentamente solo dopo i bottoni */
@media (min-width:901px){
  body.hero-intro-ready html body section#home.hero.logo-hero::before{ }
  body.hero-intro-ready section#home.hero.logo-hero::before,
  body.hero-intro-ready section#home.logo-hero::before{
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateX(-50%) translateY(26px) !important;
    transition:opacity 1.5s ease, transform 1.5s ease, visibility 0s linear 1.5s !important;
  }

  body.hero-intro-ready section#home.hero.logo-hero.hero-copy-visible::before,
  body.hero-intro-ready section#home.logo-hero.hero-copy-visible::before{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateX(-50%) translateY(0) !important;
    transition-delay:0s !important;
  }
}

/* Claim mobile: compare lentamente solo dopo i bottoni */
body.hero-intro-ready #home.logo-hero .mobile-home-claim-force{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateX(-50%) translateY(26px) !important;
  transition:opacity 1.5s ease, transform 1.5s ease, visibility 0s linear 1.5s !important;
}

body.hero-intro-ready #home.logo-hero.hero-copy-visible .mobile-home-claim-force,
body.hero-intro-ready.hero-intro-done #home.logo-hero .mobile-home-claim-force{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateX(-50%) translateY(0) !important;
  transition-delay:0s !important;
}

@media (prefers-reduced-motion: reduce){
  body.hero-intro-ready::before{display:none !important;}
  body.hero-intro-ready .logo-hero .hero-bg-illustration,
  body.hero-intro-ready .logo-hero .hero-bg-illustration-mobile,
  body.hero-intro-ready #home.logo-hero .mobile-home-claim-force,
  body.hero-intro-ready section#home.hero.logo-hero::before,
  body.hero-intro-ready section#home.logo-hero::before{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    transition:none !important;
  }
}


/* V142 - elimina lo scatto del bianco finale: niente display:none secco sull'overlay */
body.hero-intro-ready.hero-intro-play::before,
body.hero-intro-ready.hero-intro-done::before{
  opacity:0 !important;
}

body.hero-intro-ready.hero-intro-done::before{
  display:block !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity 2.8s ease, visibility 0s linear 2.8s !important;
}

body.hero-intro-ready.hero-intro-done .logo-hero .hero-bg-illustration,
body.hero-intro-ready.hero-intro-done .logo-hero .hero-bg-illustration-mobile{
  opacity:1 !important;
  visibility:visible !important;
}


/* V143 - uniforma tutti i parallax allo stesso movimento del video */
.parallax-work,
.parallax-services,
html body .parallax-work,
html body .parallax-services{
  background-image:none !important;
  background-attachment:scroll !important;
  background-position:center center !important;
}

.parallax-work::before,
.parallax-services::before,
html body .parallax-work::before,
html body .parallax-services::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:-120px !important;
  bottom:-120px !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:translate3d(0,var(--ds-uniform-parallax-y,0px),0) scale(1.12) !important;
  will-change:transform !important;
}

.parallax-work::before,
html body .parallax-work::before{
  background-image:url("assets/media/parallax-work-new.jpg?v=149") !important;
}

.parallax-services::before,
html body .parallax-services::before{
  background-image:url("assets/media/parallax-services-new.jpg?v=149") !important;
}

.contact-parallax-inner{
  will-change:transform !important;
}


/* V145 - primi due parallax: immagini adattate in lunghezza, stesso movimento */
@media (min-width: 801px){
  .parallax-work::before,
  .parallax-services::before,
  html body .parallax-work::before,
  html body .parallax-services::before{
    background-size: 100% auto !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
}




/* V147 fallback loaded from style.css?v=149; final override also injected in index.html */


/* V147 - primi due parallax: niente stretch, niente sdoppio; resta il movimento */
@media (min-width: 801px){
  html body .parallax-work,
  html body .parallax-services{
    overflow:hidden !important;
    background:none !important;
    background-image:none !important;
    background-color:#111217 !important;
  }

  html body .parallax-work::before,
  html body .parallax-services::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    top:-160px !important;
    bottom:-160px !important;
    z-index:0 !important;
    pointer-events:none !important;

    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:cover !important;

    transform:translate3d(0, var(--ds-uniform-parallax-y, 0px), 0) scale(1.08) !important;
    will-change:transform !important;
  }

  html body .parallax-work::before{
    background-image:url("assets/media/parallax-work-new.jpg?v=149") !important;
  }

  html body .parallax-services::before{
    background-image:url("assets/media/parallax-services-new.jpg?v=149") !important;
  }
}



/* V148 - ultimo parallax: immagini non stirate, senza sdoppio, animazioni mantenute */
.contact-parallax-box,
html body .contact-parallax-box{
  overflow: hidden !important;
  background: #111217 !important;
  isolation: isolate !important;
}

.contact-parallax-inner,
html body .contact-parallax-inner{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -160px !important;
  bottom: -160px !important;
  width: 100% !important;
  height: auto !important;
  z-index: 0 !important;
  will-change: transform !important;
}

.contact-parallax-inner img,
html body .contact-parallax-inner img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 0 !important;
  transform: scale(1.045) !important;
  transition: opacity 1400ms ease, transform 5200ms ease !important;
}

.contact-parallax-inner img.is-active,
html body .contact-parallax-inner img.is-active{
  opacity: 1 !important;
  transform: scale(1.09) !important;
}


/* V150 - parallax: +20% height, no red on first two, smoother contact fade */
@media (min-width: 801px){
  html body .parallax-work,
  html body .parallax-services{
    height: 366px !important; /* 305px + 20% */
    min-height: 366px !important;
    background-color: #111217 !important;
    background-image: none !important;
  }

  html body .parallax-work::after,
  html body .parallax-services::after{
    content: none !important;
    display: none !important;
    background: none !important;
  }
}

@media (max-width: 800px){
  html body .parallax-work,
  html body .parallax-services{
    height: 384px !important; /* 320px + 20% */
    min-height: 384px !important;
    background-color: #111217 !important;
    background-image: none !important;
  }

  html body .parallax-work::after,
  html body .parallax-services::after{
    content: none !important;
    display: none !important;
    background: none !important;
  }
}

/* Contact parallax: +20% height and fade by opacity only, no black flash */
html body .contact-parallax-box{
  height: 516px !important; /* 430px + 20% */
  min-height: 516px !important;
  background-color: #111217 !important;
}

html body .contact-parallax-inner{
  background-color: transparent !important;
}

html body .contact-parallax-inner::after,
html body .contact-parallax-box::before,
html body .contact-parallax-box::after{
  content: none !important;
  display: none !important;
  background: none !important;
}

html body .contact-parallax-inner img{
  opacity: 0 !important;
  visibility: visible !important;
  transition: opacity 1600ms ease-in-out !important;
  transform: scale(1.09) !important;
  animation: none !important;
}

html body .contact-parallax-inner img.is-active{
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1.09) !important;
}

@media (max-width: 800px){
  html body .contact-parallax-box{
    height: 384px !important; /* 320px + 20% */
    min-height: 384px !important;
  }
}


/* V151 - parallax: bande uguali, meno spostamento, niente rosso sui primi due */
@media (min-width: 801px){
  html body .parallax-work,
  html body .parallax-services,
  html body .contact-parallax-box{
    height: 516px !important;
    min-height: 516px !important;
    overflow: hidden !important;
    background-color: #111217 !important;
  }

  html body .parallax-work,
  html body .parallax-services{
    background: none !important;
    background-image: none !important;
  }

  html body .parallax-work::before,
  html body .parallax-services::before{
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -90px !important;
    bottom: -90px !important;
    width: 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    transform: translate3d(0, var(--ds-uniform-parallax-y, 0px), 0) scale(1.04) !important;
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
  }

  html body .parallax-work::before{
    background-image: url("assets/media/parallax-work-new.jpg?v=151") !important;
  }

  html body .parallax-services::before{
    background-image: url("assets/media/parallax-services-new.jpg?v=151") !important;
  }

  html body .parallax-work::after,
  html body .parallax-services::after{
    content: none !important;
    display: none !important;
    background: none !important;
    opacity: 0 !important;
  }
}

/* elimina residui rossi/overlay dai primi due parallax, anche fuori media query */
html body .parallax-work::after,
html body .parallax-services::after{
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

html body .parallax-work::before,
html body .parallax-services::before{
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* ultimo parallax: stessa banda, dissolvenza solo opacità, nessun flash nero */
html body .contact-parallax-box{
  height: 516px !important;
  min-height: 516px !important;
  background: #111217 !important;
  overflow: hidden !important;
}

html body .contact-parallax-inner{
  top: -90px !important;
  bottom: -90px !important;
  height: auto !important;
  background: transparent !important;
  will-change: transform !important;
}

html body .contact-parallax-inner::after,
html body .contact-parallax-box::before,
html body .contact-parallax-box::after{
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

html body .contact-parallax-inner img{
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 0 !important;
  visibility: visible !important;
  transform: scale(1.04) !important;
  transition: opacity 1600ms ease-in-out !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

html body .contact-parallax-inner img.is-active{
  opacity: 1 !important;
  transform: scale(1.04) !important;
}

@media (max-width: 800px){
  html body .parallax-work,
  html body .parallax-services,
  html body .contact-parallax-box{
    height: 384px !important;
    min-height: 384px !important;
  }
}


/* V152 - anche il parallax video ha la stessa altezza degli altri */
@media (min-width: 801px){
  html body .video-parallax-strip{
    height: 516px !important;
    min-height: 516px !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  html body .video-strip-media,
  html body .video-parallax-strip video{
    min-height: calc(100% + 180px) !important;
  }
}

@media (max-width: 800px){
  html body .video-parallax-strip{
    height: 384px !important;
    min-height: 384px !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  html body .video-strip-media,
  html body .video-parallax-strip video{
    min-height: calc(100% + 120px) !important;
  }
}


/* V153 - ultimo parallax: zoom leggero + crossfade senza nero */
html body .contact-parallax-inner{
  background: transparent !important;
}

html body .contact-parallax-inner img{
  opacity: 0 !important;
  visibility: visible !important;
  transform: scale(1.045) !important;
  transition:
    opacity 1600ms ease-in-out,
    transform 5200ms ease-in-out !important;
  will-change: opacity, transform !important;
  backface-visibility: hidden !important;
}

html body .contact-parallax-inner img.is-active{
  opacity: 1 !important;
  transform: scale(1.105) !important;
}

html body .contact-parallax-inner::after,
html body .contact-parallax-box::before,
html body .contact-parallax-box::after{
  content: none !important;
  display: none !important;
  background: none !important;
}


/* V154 - ultimo parallax: anti-lampo nero con fallback image + doppio layer */
html body .contact-parallax-box{
  background-color: #111217 !important;
  background-image: url("assets/media/contatti-01.jpg?v=154") !important;
  background-size: cover !important;
  background-position: center center !important;
}

html body .contact-parallax-inner{
  background: transparent !important;
  isolation: isolate !important;
}

html body .contact-parallax-inner img{
  opacity: 0 !important;
  visibility: visible !important;
  z-index: 1 !important;
  transform: scale(1.045) !important;
  transition:
    opacity 1800ms ease-in-out,
    transform 6200ms ease-in-out !important;
  will-change: opacity, transform !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  transform-style: preserve-3d !important;
}

html body .contact-parallax-inner img.is-active{
  opacity: 1 !important;
  z-index: 3 !important;
  transform: scale(1.105) !important;
}

html body .contact-parallax-inner img.is-leaving{
  opacity: 1 !important;
  z-index: 2 !important;
  transform: scale(1.105) !important;
}

html body .contact-parallax-inner::after,
html body .contact-parallax-box::before,
html body .contact-parallax-box::after{
  content: none !important;
  display: none !important;
  background: none !important;
}

/* =========================================================
   V159 - ripristino layout da v155 + titoli sezione spostati a sinistra
   ========================================================= */
html body .about-section::before,
html body .work-detail-section::before,
html body .services-section::before,
html body .contact-section::before{
  left: clamp(18px, 2.4vw, 34px) !important;
  right: auto !important;
  width: min(34vw, 520px) !important;
  max-width: calc(50vw - 28px) !important;
  text-align: left !important;
  transform: none !important;
}
html body .projects-section::before{
  left: clamp(18px, 2.4vw, 34px) !important;
  right: auto !important;
  width: auto !important;
  max-width: calc(50vw - 28px) !important;
  text-align: left !important;
  transform: none !important;
}
html body .projects-section.projects-clean-section .projects-sale-heading-wrap,
html body .projects-section.projects-clean-section > .container.projects-sale-heading-wrap{
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: clamp(18px, 2.4vw, 34px) !important;
  padding-right: 0 !important;
}
html body .projects-section.projects-clean-section .projects-sale-main-heading,
html body .projects-section.projects-clean-section .section-title.grey.projects-sale-main-heading{
  text-align: left !important;
}
html body .projects-section.projects-clean-section .projects-heading-wrap,
html body .projects-section.projects-clean-section > .container.projects-heading-wrap{
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: clamp(18px, 2.4vw, 34px) !important;
  padding-right: 0 !important;
}
html body .projects-section.projects-clean-section .projects-main-heading,
html body .projects-section.projects-clean-section .section-title.grey.projects-main-heading,
html body .projects-main-heading{
  text-align: left !important;
}
@media (max-width: 900px){
  html body .about-section::before,
  html body .work-detail-section::before,
  html body .services-section::before,
  html body .projects-section::before,
  html body .contact-section::before{
    left: 14px !important;
    right: auto !important;
    width: auto !important;
    max-width: calc(100vw - 28px) !important;
    text-align: left !important;
  }
  html body .projects-section.projects-clean-section .projects-sale-heading-wrap,
  html body .projects-section.projects-clean-section > .container.projects-sale-heading-wrap,
  html body .projects-section.projects-clean-section .projects-heading-wrap,
  html body .projects-section.projects-clean-section > .container.projects-heading-wrap{
    padding-left: 14px !important;
    padding-right: 14px !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

/* =========================================================
   V162 - Cosa facciamo: right bg 30% più piccola + animazione visibile
   ========================================================= */
@keyframes servicesDecorFloatV162 {
  0% {
    transform: translate3d(calc(var(--ds-services-decor-x, 0px) - 10px), calc(-50% + var(--ds-services-decor-y, 0px) - 8px), 0) scale(calc(var(--ds-services-decor-scale, 1) * 0.95));
    opacity: 0.50;
  }
  50% {
    transform: translate3d(calc(var(--ds-services-decor-x, 0px) + 10px), calc(-50% + var(--ds-services-decor-y, 0px) + 8px), 0) scale(calc(var(--ds-services-decor-scale, 1) * 1.03));
    opacity: 0.72;
  }
  100% {
    transform: translate3d(calc(var(--ds-services-decor-x, 0px) - 10px), calc(-50% + var(--ds-services-decor-y, 0px) - 8px), 0) scale(calc(var(--ds-services-decor-scale, 1) * 0.95));
    opacity: 0.50;
  }
}

.services-section::after,
html body .services-section::after {
  width: 364px !important; /* circa 30% più piccola di 520px */
  height: calc(100% - 160px) !important;
  right: 24px !important;
  top: 50% !important;
  background: url("assets/media/cosa-facciamo-right-bg.png") center center / contain no-repeat !important;
  animation: servicesDecorFloatV162 6.2s ease-in-out infinite !important;
  will-change: transform, opacity !important;
  opacity: 0.58 !important;
}

@media (max-width: 1200px) {
  .services-section::after,
  html body .services-section::after {
    width: 300px !important;
    height: calc(100% - 190px) !important;
    right: 18px !important;
  }
}

@media (max-width: 900px) {
  .services-section::after,
  html body .services-section::after {
    width: 200px !important;
    height: 220px !important;
    right: 10px !important;
    top: auto !important;
    bottom: 22px !important;
    animation-duration: 5.8s !important;
  }
}

/* =========================================================
   V163 - Cosa facciamo: ancora più piccola + animazione più evidente
   ========================================================= */
@keyframes servicesDecorFloatV163 {
  0% {
    transform: translate3d(calc(var(--ds-services-decor-x, 0px) - 26px), calc(-50% + var(--ds-services-decor-y, 0px) - 18px), 0) scale(0.88);
    opacity: 0.34;
  }
  50% {
    transform: translate3d(calc(var(--ds-services-decor-x, 0px) + 22px), calc(-50% + var(--ds-services-decor-y, 0px) + 16px), 0) scale(1.02);
    opacity: 0.82;
  }
  100% {
    transform: translate3d(calc(var(--ds-services-decor-x, 0px) - 26px), calc(-50% + var(--ds-services-decor-y, 0px) - 18px), 0) scale(0.88);
    opacity: 0.34;
  }
}

.services-section::after,
html body .services-section::after {
  width: 260px !important;
  height: calc(100% - 200px) !important;
  right: 34px !important;
  top: 50% !important;
  background: url("assets/media/cosa-facciamo-right-bg.png") center center / contain no-repeat !important;
  animation: servicesDecorFloatV163 4.6s ease-in-out infinite !important;
  will-change: transform, opacity !important;
  opacity: 0.56 !important;
}

@media (max-width: 1200px) {
  .services-section::after,
  html body .services-section::after {
    width: 220px !important;
    height: calc(100% - 220px) !important;
    right: 22px !important;
    animation-duration: 4.8s !important;
  }
}

@media (max-width: 900px) {
  .services-section::after,
  html body .services-section::after {
    width: 150px !important;
    height: 170px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 20px !important;
    animation-duration: 4.2s !important;
  }
}

/* =========================================================
   V165 - ripristino animazione sx->dx su Come Lavoriamo / Cosa Facciamo / Contatti
            + nuovo cosa-facciamo-right-bg.png e thumb
   ========================================================= */
@keyframes dsWorkPanXV165 {
  0% {
    transform: translate3d(-72px, var(--ds-work-parallax-y, 0px), 0) scale(1.12) !important;
  }
  100% {
    transform: translate3d(18px, var(--ds-work-parallax-y, 0px), 0) scale(1.12) !important;
  }
}

@keyframes dsServicesPanXV165 {
  0% {
    transform: translate3d(-72px, var(--ds-services-parallax-y, 0px), 0) scale(1.12) !important;
  }
  100% {
    transform: translate3d(18px, var(--ds-services-parallax-y, 0px), 0) scale(1.12) !important;
  }
}

@keyframes dsContactPanXV165 {
  0% {
    transform: translate3d(-46px, 0, 0) scale(1.075) !important;
  }
  100% {
    transform: translate3d(24px, 0, 0) scale(1.115) !important;
  }
}

html body .parallax-work::before,
html body .parallax-work.bg-loaded::before,
body .parallax-work::before,
.parallax-work::before {
  animation: dsWorkPanXV165 8.8s ease-in-out infinite alternate !important;
  will-change: transform !important;
}

html body .parallax-services::before,
html body .parallax-services.bg-loaded::before,
body .parallax-services::before,
.parallax-services::before {
  animation: dsServicesPanXV165 8.8s ease-in-out infinite alternate !important;
  will-change: transform !important;
}

html body .contact-parallax-inner img,
body .contact-parallax-inner img,
.contact-parallax-inner img {
  transform-origin: center center !important;
}

html body .contact-parallax-inner img.is-active,
html body .contact-parallax-inner img.is-leaving,
body .contact-parallax-inner img.is-active,
body .contact-parallax-inner img.is-leaving,
.contact-parallax-inner img.is-active,
.contact-parallax-inner img.is-leaving {
  animation: dsContactPanXV165 4.8s ease-in-out both !important;
  will-change: opacity, transform !important;
}

/* rinnova il decorativo di Cosa Facciamo con il nuovo file */
html body .services-section::after,
body .services-section::after,
.services-section::after {
  background: url("assets/media/cosa-facciamo-right-bg.png") right center / contain no-repeat !important;
}

/* =========================================================
   V166 - animazione titoli COME LAVORIAMO / COSA FACCIAMO / CONTATTI
   stesso comportamento di PROGETTI IN VENDITA / PROGETTI REALIZZATI
   ========================================================= */
.parallax-work .section-title,
.parallax-services .section-title,
.contact-parallax-caption{
  opacity:0 !important;
  transform:translateX(-126px) !important;
  transition:opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity, transform !important;
}
.parallax-work.giant-visible .section-title,
.parallax-services.giant-visible .section-title,
.contact-parallax-box.giant-visible .contact-parallax-caption{
  opacity:1 !important;
  transform:translateX(0) !important;
}

/* =========================================================
   V167 - fix animazione titoli giganti sezione
   COME LAVORIAMO / COSA FACCIAMO / CONTATTI (+ CHI SIAMO)
   usa lo stesso reveal dei titoli progetti
   ========================================================= */
.about-section::before,
.work-detail-section::before,
.services-section::before,
.contact-section::before,
html body .about-section::before,
html body .work-detail-section::before,
html body .services-section::before,
html body .contact-section::before{
  opacity:0 !important;
  transform:translateX(-126px) !important;
  transition:opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity, transform !important;
}
.about-section.giant-visible::before,
.work-detail-section.giant-visible::before,
.services-section.giant-visible::before,
.contact-section.giant-visible::before,
html body .about-section.giant-visible::before,
html body .work-detail-section.giant-visible::before,
html body .services-section.giant-visible::before,
html body .contact-section.giant-visible::before{
  opacity:1 !important;
  transform:translateX(0) !important;
}
@media (max-width:900px){
  .about-section::before,
  .work-detail-section::before,
  .services-section::before,
  .contact-section::before,
  html body .about-section::before,
  html body .work-detail-section::before,
  html body .services-section::before,
  html body .contact-section::before{
    transform:translateX(-72px) !important;
  }
}

/* =========================================================
   V168 - inverti direzione animazione titoli giganti
   da destra verso sinistra (start a destra -> posizione finale)
   ========================================================= */
.about-section::before,
.work-detail-section::before,
.services-section::before,
.contact-section::before,
html body .about-section::before,
html body .work-detail-section::before,
html body .services-section::before,
html body .contact-section::before{
  opacity: 0 !important;
  transform: translateX(126px) !important;
  transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1) !important;
}
.about-section.giant-visible::before,
.work-detail-section.giant-visible::before,
.services-section.giant-visible::before,
.contact-section.giant-visible::before,
html body .about-section.giant-visible::before,
html body .work-detail-section.giant-visible::before,
html body .services-section.giant-visible::before,
html body .contact-section.giant-visible::before{
  opacity: 1 !important;
  transform: translateX(0) !important;
}
@media (max-width:900px){
  .about-section::before,
  .work-detail-section::before,
  .services-section::before,
  .contact-section::before,
  html body .about-section::before,
  html body .work-detail-section::before,
  html body .services-section::before,
  html body .contact-section::before{
    transform: translateX(72px) !important;
  }
}
