/* Licensed local Montserrat files preserve the brand's typography. */
@font-face{font-family:Montserrat;src:url('fonts/montserrat-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/montserrat-latin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/montserrat-latin-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}

/* Brand tokens are scoped to this optional frontend treatment. */
body.ims-brand-refresh{
 --ims-cyan:#2cb3c8;--ims-blue:#1f3685;--ims-black:#1d1d1b;
 --ims-surface:#26292f;--ims-text:#dfe2e6;--ims-muted:#c6cbd2;
 --ims-border:#9aa1ab;--ims-radius:18px;
 font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65;
 color:var(--ims-text);background:var(--ims-black);min-height:100vh;min-height:100dvh;
}
/* Preserve the visible wordmark geometry when it is the homepage heading. */
.ims-brand-refresh #siteHeader .ims-home-brand-heading{display:inline;margin:0;padding:0;font-size:inherit;line-height:inherit;letter-spacing:inherit}
.ims-brand-refresh .ims-page-heading{font-size:30px;margin:24px 0;line-height:1.2}
.ims-brand-refresh h1.ims-promoted-heading{font-size:clamp(26px,2.5vw,36px);line-height:1.2}
/* Expose useful archive and gallery headings instead of hiding them with legacy rules. */
.ims-brand-refresh.archive #siteContainer>.container:first-child .pageHeader{padding:24px 0;margin:0}
.ims-brand-refresh.archive #siteContainer>.container:first-child .pageTitle{display:block!important;font-size:30px;margin:0;float:none}
.ims-brand-refresh.single-gallery .galleryControlls .pageTitle{display:block!important;font-size:22px;line-height:1.3;margin:0;position:static}
.ims-brand-refresh.single-gallery .pageHeader h1.um_category{font-size:24px;line-height:1.3;margin:0 0 12px}
.ims-brand-refresh.page-id-36 .pageHeader h1.pageTitle{font-size:24px;display:block!important}
/* Keep service explanations readable and visually secondary to the existing presentation. */
.ims-brand-refresh .ims-service-details{max-width:880px;margin:32px 0;padding:24px 0;border-top:1px solid #ffffff1f}
.ims-brand-refresh .ims-service-details h2{font-size:28px;margin:0 0 16px}
.ims-brand-refresh .ims-service-details h3{font-size:20px;margin:24px 0 10px}
.ims-brand-refresh .ims-service-details li{margin:8px 0}
.ims-brand-refresh .ims-service-details a{color:#6fcbdd!important;text-decoration:underline;text-underline-offset:3px}
.ims-brand-refresh .ims-project-services{padding-top:24px;padding-bottom:24px}
.ims-brand-refresh .ims-project-services h2{font-size:22px}
.ims-brand-refresh .ims-project-services a{color:#6fcbdd;text-decoration:underline;text-underline-offset:3px}
.ims-brand-refresh .ims-project-services li{margin:8px 0}
.ims-brand-refresh .ims-case-details{padding-top:24px;padding-bottom:8px}
.ims-brand-refresh .ims-case-details h2{font-size:26px}
.ims-brand-refresh .ims-case-details dl{max-width:880px}
.ims-brand-refresh .ims-case-details dt{color:#fff;font-weight:600;margin:18px 0 6px}
.ims-brand-refresh .ims-case-details dd{margin:0;color:var(--ims-text);line-height:1.7}
.ims-brand-refresh .ims-guide{max-width:880px;margin:24px auto 48px}
.ims-brand-refresh .ims-guide h2{font-size:28px;margin-top:32px}
.ims-brand-refresh .ims-guide li{margin:8px 0}
.ims-brand-refresh .ims-guide a{color:#6fcbdd!important;text-decoration:underline;text-underline-offset:3px}
.ims-brand-refresh p,.ims-brand-refresh input,.ims-brand-refresh textarea,
.ims-brand-refresh select,.ims-brand-refresh button{font-family:Montserrat,Arial,sans-serif}
.ims-brand-refresh main p{font-size:16px;line-height:1.7;color:var(--ims-text);margin-bottom:20px}
.ims-brand-refresh main p[style*="justify"],.ims-brand-refresh main h1[style*="justify"]{text-align:left!important}
.ims-brand-refresh h1,.ims-brand-refresh h2,.ims-brand-refresh h3,.ims-brand-refresh h4{font-family:Montserrat,Arial,sans-serif;color:#fff;line-height:1.2;font-weight:600;text-transform:none;letter-spacing:-.015em}
.ims-brand-refresh h1{font-size:clamp(30px,3vw,44px)}
.ims-brand-refresh h2{font-size:clamp(26px,2.5vw,36px)}
.ims-brand-refresh h3{font-size:24px}
.ims-brand-refresh main a:not(.btn):not(.vc_btn3):not(.workPost a){color:inherit}
.ims-brand-refresh main p a{text-decoration:underline;text-underline-offset:4px}
.ims-brand-refresh :is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--ims-cyan);outline-offset:4px}

/* Compact header keeps the existing logo assets and navigation handlers. */
.ims-brand-refresh #siteHeader{height:96px!important;background:rgba(29,29,27,.96)!important;border-bottom:0!important;box-shadow:none}
html body.ims-brand-refresh #siteHeader{z-index:1000}
/* Let the homepage photograph show through a fading top scrim. */
.ims-brand-refresh.home #siteHeader{background:transparent!important}
.ims-brand-refresh.home .fixedHeaderHolder{background:transparent}
.ims-brand-refresh.home #siteHeader::before{content:"";position:absolute;top:0;left:0;right:0;height:210px;background:linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.55) 55%,transparent);pointer-events:none;z-index:-1}
.ims-brand-refresh .fixedHeaderHolder,.ims-brand-refresh .fixed_menu{height:96px!important}
.ims-brand-refresh #siteHeader .um_logo img{max-height:none!important;height:auto!important;object-fit:contain}
.ims-brand-refresh #siteHeader.um_fixed #siteNavigation #main_navbar_collapse .nav.navbar-nav{margin-top:28px}
.ims-brand-refresh #siteHeader a.um_logo.um_helper{height:96px}
.ims-brand-refresh #siteNavigation #main_navbar_collapse .nav.navbar-nav{margin-top:28px}
.ims-brand-refresh #siteNavigation #main_navbar_collapse .nav.navbar-nav>li>a{font:600 13px/20px Montserrat,Arial,sans-serif;text-transform:none;padding:10px 12px;letter-spacing:0;min-height:44px;display:flex;align-items:center}
.ims-brand-refresh #siteNavigation #main_navbar_collapse .nav.navbar-nav>li.current-menu-item>a{color:#6fcbdd}
.ims-brand-refresh #siteNavigation #magic-line{background:var(--ims-cyan)}
html body.ims-brand-refresh #siteNavigation #magic-line{border-color:var(--ims-cyan)!important}
.ims-brand-refresh #siteNavigation a[href$="/contatti/"]{background:linear-gradient(135deg,#1f7585,var(--ims-blue));border-radius:999px;color:#fff!important;padding-inline:20px!important}
/* Match dropdown panels and their links to the main navigation. */
body.ims-brand-refresh #siteHeader #siteNavigation .sub-menu{background:rgba(29,29,27,.96);border-radius:18px;border:1px solid #ffffff1f;box-shadow:0 14px 36px #0005;padding:8px!important}
body.ims-brand-refresh #siteHeader #siteNavigation .sub-menu>li>a{font:600 13px/20px Montserrat,Arial,sans-serif;text-transform:none;color:#fff;background:transparent;border:0!important;border-radius:12px;padding:12px 32px 12px 14px!important;min-height:44px;transition:background 160ms ease,color 160ms ease}
body.ims-brand-refresh #siteHeader #siteNavigation .sub-menu>li:hover>a,
body.ims-brand-refresh #siteHeader #siteNavigation .sub-menu>li>a:focus-visible{background:#ffffff0d;color:#6fcbdd}

/* Calm homepage controls preserve the photographs and carousel. */
/* Show the first server-rendered photograph before the slider moves its nodes. */
.ims-brand-refresh.home #video-gallery>.rsContent:first-child>img.rsImg{display:block;width:100%;height:100vh;height:100dvh;object-fit:cover}
.ims-brand-refresh.home #video-gallery>.rsContent:not(:first-child){display:none}
.ims-brand-refresh.home #video-gallery .sliderText{max-width:1120px!important;width:calc(100% - 96px);padding:24px;border-radius:26px;background:rgba(29,29,27,.82)!important;border:1px solid #ffffff26;box-shadow:0 14px 36px #0004}
.ims-brand-refresh.home #video-gallery .sliderContent{bottom:80px!important}
.ims-brand-refresh.home #video-gallery .sliderText .row{margin:0}
.ims-brand-refresh.home #video-gallery .sliderText .col-md-4{padding:0 8px}
.ims-brand-refresh.home #video-gallery .sliderText .col-md-4 p{margin:0;padding:18px 14px!important;min-height:86px;border:1px solid #ffffff36;background:#1d1d1bbd!important;border-radius:18px;font-size:14px!important;line-height:1.45;display:flex;flex-direction:column;justify-content:center;gap:8px}
.ims-brand-refresh.home #video-gallery .sliderText a.tit1,
.ims-brand-refresh.home #video-gallery .sliderText p:hover a.tit1{display:block!important;color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.ims-brand-refresh.home #video-gallery .sliderText a.tit2,
.ims-brand-refresh.home #video-gallery .sliderText p:hover a.tit2{display:block!important;color:var(--ims-muted);font-size:12px!important;text-decoration:none;line-height:1.45}
/* Stretch the existing native link across each complete service card. */
.ims-brand-refresh.home #video-gallery .sliderText .col-md-4 p{position:relative}
.ims-brand-refresh.home #video-gallery .sliderText a.tit1::after{content:"";position:absolute;inset:0;border-radius:18px}
.ims-brand-refresh.home #video-gallery .sliderText .col-md-4 p:focus-within{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}
.ims-brand-refresh.home #video-gallery .sliderText a:focus-visible{outline:none}
.ims-brand-refresh.home #video-gallery .rsArrowIcn{border-radius:18px;background:#1d1d1bbf;border:1px solid #ffffff45;min-width:48px;min-height:48px}
.ims-brand-refresh.home #video-gallery .rsArrowIcn:before{opacity:1;color:#fff}
.ims-brand-refresh.home #video-gallery .rsArrow{width:56px;height:56px;padding:0;background:none;border:0;margin-top:-28px}
.ims-brand-refresh.home #video-gallery .rsArrowIcn{position:static;margin:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center}
.ims-brand-refresh.home #video-gallery .rsArrowIcn:before{font-size:32px}

/* Rebalance existing text/image sections, without changing their content. */
.ims-brand-refresh .wpb_text_column p{max-width:68ch}
.ims-brand-refresh.page-id-16 .wpb_text_column{padding:16px 0 24px 24px!important}
.ims-brand-refresh.page-id-16 .vc_row{padding-top:40px;padding-bottom:40px}
.ims-brand-refresh.page-id-16 .wpb_text_column h1{margin-top:0}
.ims-brand-refresh .wpb_single_image img{border-radius:18px}
.ims-brand-refresh .pageHeader{padding-block:40px}
.ims-brand-refresh .vc_custom_heading{font-family:Montserrat,Arial,sans-serif!important}
.ims-brand-refresh .wpb_animate_when_almost_visible{opacity:1;transform:none;animation:none}

/* Visible form boundaries, feedback and keyboard focus preserve CF7 behavior. */
.ims-brand-refresh .wpcf7{font-size:15px;color:var(--ims-text)}
.ims-brand-refresh .wpcf7 p{font-size:15px;line-height:1.6}
.ims-brand-refresh .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.ims-brand-refresh .wpcf7 textarea,.ims-brand-refresh .wpcf7 select{background:#353a42;color:#fff;border:1px solid var(--ims-border);border-radius:12px;min-height:48px;padding:12px 16px;font-size:16px;max-width:100%;box-sizing:border-box}
.ims-brand-refresh .wpcf7 textarea{min-height:160px}
.ims-brand-refresh .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]),.ims-brand-refresh .wpcf7 select{height:52px;line-height:24px}
.ims-brand-refresh .wpcf7 :is(input,textarea)::placeholder{color:var(--ims-muted)}
.ims-brand-refresh .wpcf7 :is(input,textarea,select):focus{border-color:var(--ims-cyan);box-shadow:0 0 0 3px #43bdd233}
.ims-brand-refresh .wpcf7 input[type=checkbox],.ims-brand-refresh .wpcf7 input[type=radio]{accent-color:var(--ims-cyan);width:20px;height:20px;vertical-align:middle}
.ims-brand-refresh :is(.wpcf7 input[type=submit],.um_loadMore,.vc_btn3){background:linear-gradient(135deg,#1f7585,var(--ims-blue))!important;color:#fff!important;border:1px solid #6fcbdd88!important;border-radius:999px!important;font-family:Montserrat,Arial,sans-serif;font-weight:600;text-transform:none;min-height:48px;padding:12px 24px}
.ims-brand-refresh .wpcf7 input[type=submit]:disabled{background:#4c535d!important;color:#dfe2e6!important;opacity:1;cursor:not-allowed}
.ims-brand-refresh .wpcf7-not-valid-tip{color:#ffb5af;font-size:14px;margin-top:6px}
.ims-brand-refresh .wpcf7-response-output{padding:16px;border-radius:12px;color:#fff}
.ims-brand-refresh .wpcf7-list-item{margin-left:0}

/* Preserve Isotope's column widths while adding space inside each card. */
.ims-brand-refresh .um_filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0;margin:0 0 24px}
.ims-brand-refresh .um_filter li{margin:0;padding:0}
.ims-brand-refresh .um_filter a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #626974;border-radius:999px;color:var(--ims-text)!important;font-size:13px;line-height:1.4;transition:background 130ms ease}
.ims-brand-refresh .um_filter a:hover,.ims-brand-refresh .um_filter a.active,.ims-brand-refresh .um_filter li.active a,.ims-brand-refresh .um_filter a[aria-current="true"]{background:var(--ims-blue);border-color:var(--ims-cyan);color:#fff!important}
.ims-brand-refresh .portfolioPosts .workPost{border-radius:18px;overflow:hidden;margin:8px;width:calc(100% - 16px)}
/* Tighten the filter band and gently enlarge photographs on hover or focus. */
.ims-brand-refresh.page-id-30 header.pageHeader{margin:24px 0 16px;padding:0}
.ims-brand-refresh.page-id-30 header.pageHeader>.pageTitle{float:none;margin:0 0 16px}
.ims-brand-refresh.page-id-30 header.pageHeader>h1.pageTitle{font-size:18px;line-height:1.2}
.ims-brand-refresh.page-id-30 header.pageHeader>.um_filter{float:none;margin:0;gap:8px}
.ims-brand-refresh.page-id-30 section.portfolio{margin-top:0}
/* Remove legacy margins from the empty introduction above the portfolio grid. */
.ims-brand-refresh.page-id-30 main>.container>.col-md-12>.theContent{margin:0}
.ims-brand-refresh .portfolioPosts .workPost>img{transform:scale(1);transition:transform 220ms ease}
.ims-brand-refresh .portfolioPosts .workPost:hover>img,
.ims-brand-refresh .portfolioPosts a:focus-visible .workPost>img{transform:scale(1.04)}
/* Show only the next-project arrow while preserving its accessible label. */
.ims-brand-refresh.single-portfolio section.postNavigation :is(.um_nextPost,.um_prevPost) .btnContent{display:none}
.ims-brand-refresh.single-portfolio section.postNavigation .postBtn:is(.um_nextPost,.um_prevPost),
.ims-brand-refresh.single-portfolio section.postNavigation .postBtn:is(.um_nextPost,.um_prevPost):hover{width:48px;height:48px;min-height:48px;flex:0 0 48px;background:transparent!important;border:0!important;box-shadow:none}
.ims-brand-refresh.single-portfolio section.postNavigation :is(.um_nextPost,.um_prevPost) .btnIcon{display:block;position:static;width:48px;line-height:48px;background:transparent!important}
.ims-brand-refresh.single-portfolio section.postNavigation :is(.um_nextPost,.um_prevPost) .btnIcon a{display:block;margin:0;min-height:48px;padding:0;color:#fff}
.ims-brand-refresh .workPost .workPostContent{opacity:1;visibility:visible;background:linear-gradient(0deg,rgba(29,29,27,.98),rgba(29,29,27,.15) 85%);transform:none;border:0;display:flex;align-items:flex-end;padding:16px;text-align:left}
.ims-brand-refresh .workPost .workPostContent .um_helper,.ims-brand-refresh .workPost .workPostContent .um_middle{display:block;height:auto;width:100%}
.ims-brand-refresh .workPost .workPostContent h2{color:#fff;font-size:16px;font-weight:600;text-transform:none;line-height:1.35;margin:0}
.ims-brand-refresh .workPost .workPostContent h5{font-size:11px;font-weight:400;font-style:normal;line-height:1.4;color:#dfe2e6;margin:0 0 8px}
.ims-brand-refresh .workPost .workPostContent .hasLine:after{display:none}
.ims-brand-refresh .wpb_video_wrapper{border-radius:18px;overflow:hidden}
.ims-brand-refresh main iframe{border-radius:18px}
.ims-brand-refresh .blogPost .blogPostContent{padding:24px;border-radius:18px;background:var(--ims-surface)}
.ims-brand-refresh .blogPostContent img.alignnone{max-width:100%;margin-right:0}
.ims-brand-refresh .module.singleModule .singleHeader .pageTitle,.ims-brand-refresh .module.singleModule .singleHeader .um_title{font-size:clamp(28px,3.3vw,44px);line-height:1.2;overflow-wrap:anywhere;white-space:normal}
.ims-brand-refresh .singleBlogHeader h1,.ims-brand-refresh .singleContent h1{overflow-wrap:anywhere}
.ims-brand-refresh :is(.singleContent,.blogPostContent) :is(p,a,h1,h2,h3){overflow-wrap:anywhere;max-width:100%}
/* Preserve image proportions while using most of the lightbox viewport. */
.ims-brand-refresh .um_lightbox{overflow-y:auto;background:rgba(15,17,21,.98)}
.ims-brand-refresh .um_lightbox #rs_gallery-1{height:calc(100vh - 180px)!important;height:calc(100dvh - 180px)!important;min-height:240px;width:100%}
.ims-brand-refresh .um_lightbox .pageHeader{padding:12px 0;margin:0}
.ims-brand-refresh .um_lightbox .pageTitle{font-size:18px;line-height:1.35}
.ims-brand-refresh .um_lightbox .um_galleryImgTitle{font-size:18px;margin:8px 0}
.ims-brand-refresh .um_lightbox .um_imgCount{font-size:14px;margin:4px 0}
/* Keep carousel arrows visually bare while retaining their touch targets. */
.ims-brand-refresh .rsArrow,.ims-brand-refresh .rsArrowIcn,
.ims-brand-refresh .vc_images_carousel .vc_carousel-control{background:transparent!important;border:0!important;box-shadow:none!important}
.ims-brand-refresh .rsArrowIcn:before{color:#fff;text-shadow:0 1px 4px #0008}
.ims-brand-refresh #siteFooter{background:var(--ims-black);border-top:0;padding-block:12px}
/* Fade into the photograph at the homepage's lower edge. */
.ims-brand-refresh.home #siteFooter{background:transparent}
/* Anchor the homepage layers to the same viewport, overriding legacy mobile absolute positioning. */
body.ims-brand-refresh.home #siteContainer{min-height:0}
body.ims-brand-refresh.home #siteContainer #video-gallery{position:fixed;inset:0;min-height:0;height:100vh!important;height:100dvh!important}
body.ims-brand-refresh.home #siteFooter{position:fixed;top:auto;right:0;bottom:0;left:0;height:auto;margin:0;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
body.ims-brand-refresh.home #siteContainer #video-gallery .sliderContent{top:auto!important;bottom:calc(var(--ims-home-footer-height,84px) + 16px)!important}
/* Keep every service reachable on short screens without covering the header or footer. */
@media(max-width:1023px){
 body.ims-brand-refresh.home #video-gallery .sliderText{max-height:calc(100vh - var(--ims-home-footer-height,84px) - 112px);max-height:calc(100dvh - var(--ims-home-footer-height,84px) - 112px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
 /* Keep the footer scrim below the service cards only in the mobile layout. */
 body.ims-brand-refresh.home #siteFooter .um_footerShadow{height:calc(100% + 12px)}
}
.ims-brand-refresh.home #siteFooter .um_footerShadow{background:linear-gradient(to top,#000 0%,rgba(0,0,0,0) 100%);height:300px;max-height:none;opacity:1;filter:none;left:0;bottom:0;pointer-events:none}
.ims-brand-refresh #siteFooter .footerContent{color:var(--ims-muted);font-size:13px}
/* Hide footer social controls on both published and preview pages. */
.ims-brand-refresh #siteFooter .socialLinks{display:none!important}

/* Small hover and focus responses make click targets clear without layout shifts. */
.ims-brand-refresh :is(.um_filter a,.vc_btn3,.um_loadMore,.wpcf7 input[type=submit],#siteFooter .socialLinks a){transition:transform 160ms ease,box-shadow 160ms ease,filter 160ms ease,border-color 160ms ease}
.ims-brand-refresh :is(.vc_btn3,.um_loadMore,.wpcf7 input[type=submit]):not(:disabled):is(:hover,:focus-visible){transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 6px 18px #1f36852e}
.ims-brand-refresh .um_filter a:is(:hover,:focus-visible),.ims-brand-refresh #siteFooter .socialLinks a:is(:hover,:focus-visible){transform:translateY(-2px);border-color:var(--ims-cyan)}
.ims-brand-refresh #siteNavigation a{transition:color 160ms ease,filter 160ms ease}
.ims-brand-refresh #siteNavigation a:hover{color:#6fcbdd}
.ims-brand-refresh #siteNavigation a[href$="/contatti/"]:hover{filter:brightness(1.16)}
.ims-brand-refresh.home #video-gallery .sliderText .col-md-4 p{transition:transform 220ms ease-in-out,border-color 220ms ease-in-out,box-shadow 260ms ease-in-out}
.ims-brand-refresh.home #video-gallery .sliderText .col-md-4 p:is(:hover,:focus-within){transform:translateY(-3px);border-color:rgba(255,255,255,.75);box-shadow:0 0 0 1px #ffffff1f,0 0 22px #ffffff33}
.ims-brand-refresh .rsArrowIcn:before{display:inline-block;transition:transform 160ms ease,color 160ms ease}
.ims-brand-refresh .rsArrowLeft:is(:hover,:focus-visible) .rsArrowIcn:before{transform:translateX(-3px);color:#6fcbdd}
.ims-brand-refresh .rsArrowRight:is(:hover,:focus-visible) .rsArrowIcn:before{transform:translateX(3px);color:#6fcbdd}

/* Keep desktop dropdowns directly below the header without changing flyout alignment. */
@media(min-width:1024px){
 body.ims-brand-refresh #siteHeader #siteNavigation .nav.navbar-nav>li>.sub-menu{top:68px;margin-top:0}
}
/* Compact the contact details and both enquiry forms without shrinking touch targets. */
.ims-brand-refresh.page-id-742 main .theContent>.vc_row{margin-top:24px!important}
.ims-brand-refresh.page-id-742 .vc_col-sm-4 .wpb_text_column{margin-bottom:12px}
.ims-brand-refresh.page-id-742 .vc_col-sm-4 .vc_empty_space{height:0!important}
.ims-brand-refresh.page-id-742 .vc_col-sm-4 p{font-size:14px;line-height:1.5;margin-bottom:10px}
.ims-brand-refresh.page-id-742 .vc_col-sm-4 h3{font-size:22px;margin:0 0 12px}
.ims-brand-refresh.page-id-742 .ims-contact-heading{font-size:22px;line-height:1.2;margin:0 0 12px}
.ims-brand-refresh.page-id-742 main iframe{height:340px}
.ims-brand-refresh.page-id-742 .wpb_raw_html{margin-bottom:0}
.ims-brand-refresh:is(.page-id-742,.page-id-1483) .wpcf7{display:flow-root;max-width:760px}
.ims-brand-refresh:is(.page-id-742,.page-id-1483) .wpcf7 p{font-size:14px;line-height:1.5;margin-bottom:12px}
.ims-brand-refresh:is(.page-id-742,.page-id-1483) .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]){height:44px;min-height:44px;padding:8px 12px;margin-bottom:0}
.ims-brand-refresh:is(.page-id-742,.page-id-1483) .wpcf7 textarea{height:120px;min-height:120px;padding:10px 12px;margin-bottom:0}
.ims-brand-refresh:is(.page-id-742,.page-id-1483) .wpcf7 input[type=submit]{min-height:44px;padding:8px 24px;margin-bottom:0}
/* Replace the legacy white CTA with a quiet, readable dark panel. */
.ims-brand-refresh.page-id-1483 .vc_cta3{background:#26292f!important;border:1px solid #ffffff1f!important;border-radius:18px;padding:24px;text-align:left}
.ims-brand-refresh.page-id-1483 .vc_cta3 h2{font-size:26px;color:#fff!important;margin:0 0 12px}
.ims-brand-refresh.page-id-1483 .vc_cta3 p{color:var(--ims-text);font-size:15px;line-height:1.6;margin:0 0 8px;max-width:none}
.ims-brand-refresh.page-id-1483 .vc_cta3 p:last-child{margin-bottom:0}

/* Bring news archives and articles into the same visual system as the other pages. */
.ims-brand-refresh.category-news #siteContainer>.container:first-child .pageHeader{padding:24px 0;margin:0}
.ims-brand-refresh.category-news #siteContainer>.container:first-child .pageTitle{display:block!important;font-size:30px;margin:0;float:none}
.ims-brand-refresh.category-news .searchResults .um_result{background:var(--ims-surface);border:1px solid #ffffff1f;border-radius:18px;overflow:hidden;margin-bottom:24px}
.ims-brand-refresh.category-news .um_result>.row{display:flex;margin:0;align-items:stretch}
.ims-brand-refresh.category-news .um_result>.row>.col-sm-4{padding:0;width:30%}
.ims-brand-refresh.category-news .um_result>.row>.col-sm-8{padding:20px 24px;width:70%}
.ims-brand-refresh.category-news .um_result figure{height:100%;margin:0;overflow:hidden}
.ims-brand-refresh.category-news .um_result figure>a{display:block;height:100%}
.ims-brand-refresh.category-news .um_result figure img{width:100%;height:100%;min-height:200px;object-fit:cover;transition:transform 220ms ease}
.ims-brand-refresh.category-news .um_result figure i{display:none}
.ims-brand-refresh.category-news .um_result:hover figure img{transform:scale(1.025)}
/* Neutralize the parent theme's image fading and moving sidebar rows. */
.ims-brand-refresh .archivePage .um_result figure a img,
.ims-brand-refresh .archivePage .um_result:hover figure a img{opacity:1;filter:none}
.ims-brand-refresh .sidebar .widget:not(.widget_rss) ul li,
.ims-brand-refresh .sidebar .widget:not(.widget_rss) ul li:hover{padding:0;transition:color 160ms ease}
.ims-brand-refresh .sidebar .widget:not(.widget_rss) ul li a{display:block;position:relative}
.ims-brand-refresh .sidebar .widget:not(.widget_rss) ul li a:after{right:0}
.ims-brand-refresh.category-news .um_result header .pageTitle{display:block!important;font-size:22px;line-height:1.3;font-weight:600;text-transform:none;margin:0 0 8px;color:#fff}
.ims-brand-refresh.category-news .um_result header a:hover .pageTitle{color:#6fcbdd}
.ims-brand-refresh.category-news .um_result .blogPostContent{padding:0;background:none;border:0}
.ims-brand-refresh.category-news .um_result .blogPostContent p{font-size:15px;line-height:1.65;margin:12px 0 0}
.ims-brand-refresh:is(.category-news,.single-post) .attibutes{font-size:12px;color:var(--ims-muted);margin:0 0 12px}
.ims-brand-refresh:is(.category-news,.single-post) .sidebar .widget{background:var(--ims-surface);border:1px solid #ffffff1f;border-radius:18px;padding:20px;margin:0 0 20px}
.ims-brand-refresh:is(.category-news,.single-post) .sidebar .um_title{font-size:18px;margin:0 0 12px;text-transform:none}
.ims-brand-refresh:is(.category-news,.single-post) .sidebar ul{margin:0;padding:0}
.ims-brand-refresh:is(.category-news,.single-post) .sidebar li{border:0}
.ims-brand-refresh:is(.category-news,.single-post) .sidebar li a{font-size:13px;line-height:1.6;padding:10px 16px 10px 0;border:0;color:var(--ims-text)}
.ims-brand-refresh:is(.category-news,.single-post) .sidebar li a:hover{color:#6fcbdd}
/* A single quiet search field replaces the nested panel and solid button. */
.ims-brand-refresh:is(.category-news,.single-post) .sidebar .widget_search{padding:0;border:0;background:transparent}
.ims-brand-refresh:is(.category-news,.single-post) .search-box form{display:flex;align-items:center;margin:0;background:var(--ims-surface);border:1px solid #ffffff30;border-radius:999px;transition:border-color 160ms ease,box-shadow 160ms ease}
.ims-brand-refresh:is(.category-news,.single-post) .search-box form:focus-within{border-color:#6fcbdd;box-shadow:0 0 0 3px #2cb3c81a}
.ims-brand-refresh:is(.category-news,.single-post) .search-box input{flex:1;min-width:0;width:0;height:48px;margin:0;padding:12px 0 12px 18px;background:transparent;border:0;border-radius:999px;color:#fff;font:400 14px/24px Montserrat,Arial,sans-serif;box-sizing:border-box;box-shadow:none}
.ims-brand-refresh:is(.category-news,.single-post) .search-box input:focus-visible{outline:none}
.ims-brand-refresh:is(.category-news,.single-post) .search-box input::placeholder{color:var(--ims-muted)}
.ims-brand-refresh:is(.category-news,.single-post) .search-box button{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;max-height:44px;margin:2px;padding:0;background:transparent;color:var(--ims-muted);border:0;border-radius:50%!important;box-sizing:border-box;transition:color 160ms ease,background 160ms ease}
.ims-brand-refresh:is(.category-news,.single-post) .search-box button:hover{color:#fff;background:#ffffff0d}
.ims-brand-refresh:is(.category-news,.single-post) .search-box button i{position:static;margin:0;font-size:16px;line-height:1;transform:none}
.ims-brand-refresh:is(.category-news,.single-post) .search-box button i:before{content:'\f002'}
.ims-brand-refresh.single-post .singlePost{padding:24px 0}
.ims-brand-refresh.single-post .singleContent{padding:0;margin:0;border:0}
.ims-brand-refresh.single-post .singleContent>header{margin:0 0 24px;padding:0}
.ims-brand-refresh.single-post .singleContent>header .pageTitle{font-size:clamp(28px,3vw,40px);line-height:1.2;color:#fff;margin:0 0 12px;text-transform:none}
.ims-brand-refresh.single-post .blogPostContent img{border-radius:18px;height:auto}
@media(max-width:767px){
 .ims-brand-refresh.category-news .um_result>.row{display:block}
 .ims-brand-refresh.category-news .um_result>.row>:is(.col-sm-4,.col-sm-8){width:100%}
 .ims-brand-refresh.category-news .um_result figure img{height:auto;min-height:0;max-height:280px;object-fit:cover}
 .ims-brand-refresh.category-news .um_result>.row>.col-sm-8{padding:20px}
 .ims-brand-refresh:is(.category-news,.single-post) .sidebar{margin-top:24px}
}

/* Keep fixed offsets, touch targets and readable spacing coherent on small screens. */
@media(max-width:1199px) and (min-width:1024px){
 .ims-brand-refresh #siteNavigation #main_navbar_collapse .nav.navbar-nav>li>a{font-size:12px;padding-inline:8px}
}
@media(max-width:1023px){
 .ims-brand-refresh #siteHeader,.ims-brand-refresh .fixedHeaderHolder,.ims-brand-refresh .fixed_menu,.ims-brand-refresh #siteHeader a.um_logo.um_helper{height:80px!important}
 .ims-brand-refresh #siteNavigation #main_navbar_collapse .nav.navbar-nav{margin:80px 0 0;background:var(--ims-black);padding:12px 20px 24px;max-height:calc(100dvh - 80px)}
 .ims-brand-refresh #siteNavigation #main_navbar_collapse .nav.navbar-nav>li>a{font-size:18px;justify-content:flex-start;padding:12px 16px}
 .ims-brand-refresh #siteNavigation .sub-menu a{font-size:15px!important;text-transform:none!important;padding:10px 24px!important}
 .ims-brand-refresh #siteNavigation a[href$="/contatti/"]{margin-top:8px}
 .ims-brand-refresh .navbar-toggle{width:44px;height:44px;margin-top:18px;padding:8px;border-radius:12px}
 /* The child template uses different Bootstrap columns from the parent menu. */
 body.ims-brand-refresh #siteHeader .row>.col-md-8{position:static}
 body.ims-brand-refresh #siteHeader #siteNavigation{position:absolute;top:0;left:0;width:100%;pointer-events:none}
 body.ims-brand-refresh #siteHeader #siteNavigation .navbar-header{height:80px}
 body.ims-brand-refresh #siteHeader #siteNavigation .navbar-toggle{pointer-events:auto;color:#fff}
 body.ims-brand-refresh #siteHeader #siteNavigation .navbar-toggle .ims-menu-icon{display:block;width:24px;height:24px;margin:auto}
 body.ims-brand-refresh #siteHeader #main_navbar_collapse{position:absolute;top:80px;left:0;width:100%;padding:0;margin:0;border:0;pointer-events:auto}
 body.ims-brand-refresh #siteHeader #siteNavigation #main_navbar_collapse .nav.navbar-nav{margin:0;padding:16px 20px 24px;max-height:calc(100dvh - 80px);text-align:left}
 body.ims-brand-refresh #siteHeader #siteNavigation #main_navbar_collapse .nav.navbar-nav>li>a{font-size:18px;line-height:1.4;padding:12px 16px;justify-content:flex-start;color:#dfe2e6}
 body.ims-brand-refresh #siteHeader #siteNavigation #main_navbar_collapse .nav.navbar-nav>li.current-menu-item>a,
 body.ims-brand-refresh #siteHeader #siteNavigation #main_navbar_collapse .nav.navbar-nav>li>a:hover{color:#6fcbdd}
 body.ims-brand-refresh #siteHeader #siteNavigation #main_navbar_collapse .sub-menu a{color:#dfe2e6;text-align:left}
}
@media(max-width:767px){
 .ims-brand-refresh main p{font-size:16px;line-height:1.65}
 .ims-brand-refresh h1{font-size:30px}
 .ims-brand-refresh h2{font-size:26px}
 .ims-brand-refresh .pageHeader{padding-block:24px}
 .ims-brand-refresh.page-id-16 .wpb_text_column{padding:24px 0 0!important}
 .ims-brand-refresh.page-id-16 .vc_row{padding-top:24px;padding-bottom:24px}
 .ims-brand-refresh.home #video-gallery .sliderText{width:calc(100% - 32px);max-width:none!important;padding:12px;border-radius:26px}
 .ims-brand-refresh.home #video-gallery .sliderContent{top:auto!important;bottom:88px!important}
 .ims-brand-refresh.home #video-gallery .sliderText .col-md-4{padding:4px}
 .ims-brand-refresh.home #video-gallery .sliderText .col-md-4 p{min-height:62px;padding:12px!important;gap:4px}
 .ims-brand-refresh.home #video-gallery .rsArrow{top:32%;width:48px}
 .ims-brand-refresh.home #video-gallery .rsArrowLeft{left:16px}
 .ims-brand-refresh.home #video-gallery .rsArrowRight{right:16px}
 .ims-brand-refresh.home #video-gallery .rsArrowIcn{width:48px;height:48px}
 .ims-brand-refresh.home #video-gallery .rsArrowIcn:before{font-size:32px}
 .ims-brand-refresh .wpcf7 .vc_col-sm-6{width:100%}
 .ims-brand-refresh .um_filter{justify-content:flex-start}
 .ims-brand-refresh #siteFooter .footerContent{line-height:1.6;text-align:center}
 .ims-brand-refresh #siteFooter .socialLinks{text-align:center}
 .ims-brand-refresh .um_lightbox #rs_gallery-1{height:calc(100dvh - 150px)!important}
 .ims-brand-refresh .um_lightbox .pageTitle{font-size:14px}
 /* Keep project navigation out of the photograph's touch area. */
 .ims-brand-refresh.single-portfolio section.postNavigation{position:static;display:flex;justify-content:space-between;gap:12px;padding:12px 16px}
 .ims-brand-refresh.single-portfolio section.postNavigation .postBtn{position:static;width:auto;height:auto;min-height:44px;flex:1;border:1px solid #626974;border-radius:12px}
 .ims-brand-refresh.single-portfolio section.postNavigation .btnIcon{display:none}
 .ims-brand-refresh.single-portfolio section.postNavigation .btnContent{position:static;width:auto;height:auto}
 .ims-brand-refresh.single-portfolio section.postNavigation .btnContent a{width:auto;min-height:44px;padding:12px;display:block;color:#dfe2e6;text-transform:none;font-size:12px;line-height:1.5}
}
/* Keep desktop service cards intact; mobile reveals one independent service panel. */
.ims-mobile-services{display:none}
@media(max-width:1023px){
 body.ims-brand-refresh.home #video-gallery .sliderContent{display:none!important}
 /* Keep custom vertical and horizontal gestures available while retaining pinch zoom. */
 body.ims-brand-refresh.home #video-gallery,
 body.ims-brand-refresh.home #video-gallery .rsOverflow,
 body.ims-brand-refresh.home #siteFooter{touch-action:pinch-zoom}
 .ims-brand-refresh.home .ims-mobile-services{display:block;position:fixed;left:16px;right:16px;bottom:calc(var(--ims-home-footer-height,84px) + 12px);z-index:99;max-width:560px;margin:0 auto}
 .ims-mobile-services>summary{display:flex;align-items:center;justify-content:center;width:56px;height:44px;margin:0 auto;list-style:none;cursor:pointer;color:#fff;touch-action:none;user-select:none;filter:drop-shadow(0 1px 3px #000)}
 .ims-mobile-services>summary::-webkit-details-marker{display:none}
 .ims-mobile-services>summary:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:12px}
 .ims-mobile-services>summary svg{transition:transform 220ms ease}
 .ims-mobile-services[open]>summary svg{transform:rotate(180deg)}
 .ims-mobile-services-panel{padding:12px;background:rgba(29,29,27,.92);border:1px solid #ffffff26;border-radius:26px;max-height:calc(100dvh - var(--ims-home-footer-height,84px) - 156px);overflow-y:auto;overscroll-behavior:contain}
 .ims-mobile-services[open] .ims-mobile-services-panel{animation:ims-service-reveal 220ms ease-out}
 .ims-mobile-services-panel .row{margin:0}
 .ims-mobile-services-panel .col-md-4{float:none;width:100%;padding:4px}
 .ims-mobile-services-panel .col-md-4 p{position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;margin:0;padding:12px 14px!important;min-height:62px;background:#1d1d1bbd!important;border:1px solid #ffffff36;border-radius:18px;text-align:center;line-height:1.45}
 body.ims-brand-refresh.home #ims-mobile-services .ims-mobile-services-panel a.tit1{display:block!important;color:#fff;font-size:14px!important;font-weight:600;text-decoration:none}
 body.ims-brand-refresh.home #ims-mobile-services .ims-mobile-services-panel a.tit2{display:block!important;color:var(--ims-muted);font-size:12px!important;text-decoration:none}
 body.ims-brand-refresh.home #ims-mobile-services .ims-mobile-services-panel a.tit1::after{content:"";position:absolute;inset:0;border-radius:18px}
 .ims-mobile-services-panel p:focus-within{outline:2px solid #fff;outline-offset:2px}
 body.ims-brand-refresh.home #video-gallery .rsArrow{width:44px;height:44px;top:50%;margin-top:-22px}
 body.ims-brand-refresh.home #video-gallery .rsArrowIcn{width:44px;height:44px;min-width:44px;min-height:44px}
 body.ims-brand-refresh.home #video-gallery .rsArrowIcn:before{font-size:22px}
 body.ims-brand-refresh.home #video-gallery .rsArrowLeft{left:8px}
 body.ims-brand-refresh.home #video-gallery .rsArrowRight{right:8px}
}
@keyframes ims-service-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 .ims-brand-refresh *, .ims-brand-refresh *::before, .ims-brand-refresh *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .ims-brand-refresh :is(.portfolioPosts img,.vc_btn3,.um_loadMore,.wpcf7 input[type=submit],.um_filter a,#siteFooter .socialLinks a),.ims-brand-refresh.home #video-gallery .sliderText .col-md-4 p,.ims-brand-refresh .rsArrowIcn:before{transform:none!important}
}
