@import url("./whatsapp.css");
/* A fullscreen block occupies the available viewport, including on short laptops.
   The content keeps its saved proportions; only an overflowing composition shrinks. */
.cf-main>.cf-block.cf-responsive.cf-screen-fit{height:var(--cf-screen-height)!important;min-height:var(--cf-screen-height)!important;max-height:none!important;overflow:clip!important;grid-template-rows:minmax(0,1fr);padding-top:var(--cf-screen-top)!important;padding-bottom:var(--cf-screen-bottom)!important}
.cf-screen-fit>.cf-section-content,.cf-screen-fit>.cf-hero-content,.cf-screen-fit>.cf-slider-track>.cf-slide>.cf-slide-content{height:max-content;min-height:0;transform:scale(var(--cf-screen-scale,1));transform-origin:50% 50%}
.cf-screen-fit>.cf-hero-content,.cf-screen-fit>.cf-slider-track>.cf-slide>.cf-slide-content{margin-top:0!important;margin-bottom:0!important}
.cf-screen-fit.cf-v-top>.cf-section-content{transform-origin:50% 0}
.cf-screen-fit.cf-v-bottom>.cf-section-content{transform-origin:50% 100%}
.cf-screen-fit.cf-x-left>.cf-section-content{transform-origin:0 50%}
.cf-screen-fit.cf-x-right>.cf-section-content{transform-origin:100% 50%}
.cf-screen-fit.cf-v-top.cf-x-left>.cf-section-content{transform-origin:0 0}
.cf-screen-fit.cf-v-top.cf-x-right>.cf-section-content{transform-origin:100% 0}
.cf-screen-fit.cf-v-bottom.cf-x-left>.cf-section-content{transform-origin:0 100%}
.cf-screen-fit.cf-v-bottom.cf-x-right>.cf-section-content{transform-origin:100% 100%}
.cf-screen-fit>.cf-slider-track{position:relative!important;inset:auto;display:grid;min-height:0;align-self:stretch}
.cf-screen-fit>.cf-slider-track>.cf-slide{position:relative!important;inset:auto;grid-area:1/1;min-height:0;grid-template-rows:minmax(0,1fr)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cf-bg,#fff);color:var(--cf-text,#1f2937);font-family:var(--cf-font,system-ui);line-height:1.6}img{max-width:100%;height:auto}.cf-container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:relative;background:var(--cf-header-bg,#fff);border-bottom:1px solid #e5e7eb;z-index:100}.site-header.header-no-border{border-bottom:0}.site-header.header-shadow{box-shadow:0 8px 24px rgba(15,23,42,.10)}.header-inner{min-height:var(--cf-header-h-desktop,72px);display:flex;align-items:center;justify-content:space-between;gap:var(--cf-header-gap-desktop,25px);padding-left:var(--cf-header-pad-desktop,20px);padding-right:var(--cf-header-pad-desktop,20px)}.site-header.header-width-full .header-inner{width:100%;max-width:none}.site-header.header-width-custom .header-inner{width:min(var(--cf-header-max,1180px),100%);max-width:var(--cf-header-max,1180px)}.site-header.header-width-boxed .header-inner{width:min(var(--cf-header-max,1180px),calc(100% - 40px));max-width:var(--cf-header-max,1180px)}.brand{font-size:20px;color:inherit;display:flex;align-items:center;flex:0 0 auto}.site-logo{max-height:var(--cf-logo-h-desktop,48px);width:auto}.site-header.header-menu-left .desktop-nav{margin-right:auto}.site-header.header-menu-center .desktop-nav{margin-left:auto;margin-right:auto}.site-header.header-menu-right .desktop-nav{margin-left:auto}.main-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:22px}.main-nav li{position:relative}.main-nav a{color:inherit;text-decoration:none;font-weight:650}.main-nav li ul{display:none;position:absolute;top:100%;left:0;min-width:220px;background:white;border:1px solid #e5e7eb;padding:12px;box-shadow:0 15px 35px #1118271a;flex-direction:column}.main-nav li:hover>ul{display:flex}.main-nav li.mega>ul{width:min(700px,80vw);display:none;grid-template-columns:repeat(3,1fr)}.main-nav li.mega:hover>ul{display:grid}.menu-toggle{display:none}.header-centered .header-inner{flex-direction:column;padding:18px}.header-transparent,.header-overlay{background:transparent;color:white;border:0}.header-overlay{position:absolute;left:0;right:0;top:0}.header-sticky{position:sticky;top:0}.header-overlay.header-sticky{position:fixed}.header-overlay.header-sticky::after{content:"";position:absolute;inset:0;background:rgba(17,24,39,.28);backdrop-filter:blur(10px);z-index:-1}.cf-main>.cf-block:not(.cf-hero):not(.cf-slider):not(.cf-section):not(.cf-cta):not(.cf-columns):not(.cf-cards):not(.cf-faq):not(.cf-gallery):not(.cf-form){width:min(1180px,calc(100% - 40px));margin-left:auto;margin-right:auto}.cf-block{overflow-wrap:anywhere}
.cf-hero,.cf-slider{position:relative;overflow:hidden;color:#fff;background:#374151;display:grid;align-items:center;text-align:center}.cf-hero-normal,.cf-slider-normal{min-height:520px}.cf-hero-fullscreen,.cf-slider-fullscreen{min-height:100vh;min-height:100svh}.cf-hero-media,.cf-slide-media{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,var(--cf-overlay,.42)),rgba(0,0,0,var(--cf-overlay,.42))),var(--cf-hero-bg,none);background-size:cover;background-position:var(--cf-bg-position,center);background-repeat:no-repeat;transform:scale(1.001)}.cf-hero-content,.cf-slide-content{position:relative;z-index:2;max-width:900px;padding-top:80px;padding-bottom:80px}.cf-hero h1,.cf-slide h2{font-size:clamp(40px,7vw,78px);line-height:1.03;margin:.2em 0}.cf-hero p,.cf-slide p{font-size:clamp(17px,2vw,22px)}.cf-eyebrow{letter-spacing:.18em;font-weight:700}.cf-btn{display:inline-block;border:0;background:var(--cf-accent,#111827);color:white;text-decoration:none;padding:12px 19px;border-radius:9px;font-weight:700;cursor:pointer}.cf-btn-secondary{background:transparent;color:var(--cf-accent);border:1px solid currentColor}
.cf-slider-track{position:absolute;inset:0}.cf-slide{position:absolute;inset:0;display:grid;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,transform .8s ease}.cf-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.cf-slide-media{background-image:linear-gradient(rgba(0,0,0,var(--cf-overlay,.42)),rgba(0,0,0,var(--cf-overlay,.42))),var(--cf-slide-bg,none)}.cf-slider[data-transition="slide-left"] .cf-slide{transform:translateX(8%)}.cf-slider[data-transition="slide-left"] .cf-slide.is-active{transform:translateX(0)}.cf-slider[data-transition="slide-left"][data-direction="prev"] .cf-slide.is-entering{transform:translateX(-8%)}.cf-slider[data-transition="slide-up"] .cf-slide{transform:translateY(8%)}.cf-slider[data-transition="slide-up"] .cf-slide.is-active{transform:translateY(0)}.cf-slider[data-transition="zoom"] .cf-slide{transform:scale(1.06)}.cf-slider[data-transition="zoom"] .cf-slide.is-active{transform:scale(1)}.cf-slider[data-transition="kenburns"] .cf-slide.is-active .cf-slide-media{animation:cfKenBurns 7s ease-out both}@keyframes cfKenBurns{from{transform:scale(1.02)}to{transform:scale(1.12)}}.cf-slider-prev,.cf-slider-next{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid #ffffff66;background:#0005;color:white;font-size:32px;display:grid;place-items:center;cursor:pointer}.cf-slider-prev{left:20px}.cf-slider-next{right:20px}.cf-slider-dots{position:absolute;z-index:5;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px}.cf-slider-dots button{width:10px;height:10px;border-radius:50%;border:0;background:#ffffff70;padding:0;cursor:pointer}.cf-slider-dots button.is-active{background:#fff;transform:scale(1.25)}
.cf-grid-cards{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cf-card{border:1px solid #e5e7eb;border-radius:14px;padding:24px;background:#fff}.cf-card-icon{font-size:28px}.cf-columns{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;gap:28px}.cf-cols-2{grid-template-columns:repeat(2,1fr)}.cf-cols-3{grid-template-columns:repeat(3,1fr)}.cf-cols-4{grid-template-columns:repeat(4,1fr)}.cf-cta{width:min(1180px,calc(100% - 40px));margin:30px auto;background:#f3f4f6;border-radius:18px}.cf-faq{width:min(900px,calc(100% - 40px));margin:40px auto}.cf-faq details{border-bottom:1px solid #e5e7eb;padding:16px 0}.cf-faq summary{font-weight:750;cursor:pointer}.cf-gallery{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cf-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}form.cf-form{width:min(720px,calc(100% - 40px));margin:35px auto;display:grid;gap:14px}form.cf-form label{font-weight:650}form.cf-form input,form.cf-form textarea,form.cf-form select{width:100%;border:1px solid #d1d5db;border-radius:9px;padding:11px;margin-top:5px;font:inherit}form.cf-form textarea{min-height:140px}.cf-success{width:min(720px,calc(100% - 40px));margin:20px auto;background:#dcfce7;color:#166534;padding:12px;border-radius:9px}.site-footer{margin-top:60px;background:#111827;color:#e5e7eb;padding:50px 0}.site-footer>.cf-container{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-copy{text-align:right}
@media(max-width:760px){.menu-toggle{display:block;background:transparent;border:0;font-size:28px;color:inherit}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;color:#111827;padding:18px;border-bottom:1px solid #e5e7eb}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav li{padding:8px 0}.main-nav li ul,.main-nav li.mega>ul{position:static;display:block!important;width:auto;box-shadow:none;border:0;padding-left:16px}.cf-grid-cards,.cf-columns,.cf-cols-2,.cf-cols-3,.cf-cols-4,.cf-gallery{grid-template-columns:1fr}.cf-hero-normal,.cf-slider-normal{min-height:430px}.cf-hero-fullscreen,.cf-slider-fullscreen{min-height:100vh;min-height:100svh}.cf-hero h1,.cf-slide h2{font-size:clamp(34px,12vw,58px)}.cf-hero-content,.cf-slide-content{padding-top:95px;padding-bottom:70px}.cf-slider-prev,.cf-slider-next{width:38px;height:38px;font-size:26px}.cf-slider-prev{left:10px}.cf-slider-next{right:10px}.site-footer>.cf-container{grid-template-columns:1fr}.footer-copy{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cf-slide,.cf-slide-media{transition:none!important;animation:none!important}}
/* Responsive block controls + entrance animations 0.7.1 */
.cf-animate{opacity:0;will-change:transform,opacity}.cf-animate.is-visible{opacity:1;transform:none!important;transition-property:opacity,transform;transition-duration:var(--cf-anim-duration,700ms);transition-delay:var(--cf-anim-delay,0ms);transition-timing-function:var(--cf-anim-easing,ease-in-out)}.cf-anim-fade-up{transform:translateY(32px)}.cf-anim-fade-in{transform:none}.cf-anim-slide-left{transform:translateX(-44px)}.cf-anim-slide-right{transform:translateX(44px)}.cf-anim-zoom-in{transform:scale(.94)}
@media(min-width:1025px){.cf-hide-desktop{display:none!important}.cf-responsive[style*="--cf-desktop-font"]{font-size:var(--cf-desktop-font)!important}.cf-responsive[style*="--cf-desktop-padding"]{padding:var(--cf-desktop-padding)}.cf-responsive[style*="--cf-desktop-margin"]{margin:var(--cf-desktop-margin)}}
@media(min-width:761px) and (max-width:1024px){.cf-hide-tablet{display:none!important}.cf-responsive[style*="--cf-tablet-font"]{font-size:var(--cf-tablet-font)!important}.cf-responsive[style*="--cf-tablet-padding"]{padding:var(--cf-tablet-padding)}.cf-responsive[style*="--cf-tablet-margin"]{margin:var(--cf-tablet-margin)}}
@media(max-width:760px){.cf-hide-mobile{display:none!important}.cf-responsive[style*="--cf-mobile-font"]{font-size:var(--cf-mobile-font)!important}.cf-responsive[style*="--cf-mobile-padding"]{padding:var(--cf-mobile-padding)}.cf-responsive[style*="--cf-mobile-margin"]{margin:var(--cf-mobile-margin)}}
@media(prefers-reduced-motion:reduce){.cf-animate{opacity:1!important;transform:none!important;transition:none!important}}

/* CF Computer CMS 0.9.0 — section builder + transparent sticky */
.header-transparent.header-sticky,.header-transparent.header-overlay.header-sticky{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important}
.header-transparent.header-overlay.header-sticky::after{display:none!important;content:none!important}
.cf-section{position:relative;overflow:hidden;display:grid;align-items:center;min-height:320px}
.cf-section-normal{min-height:320px}.cf-section-fullscreen{min-height:100vh;min-height:100svh}
.cf-section-media{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,var(--cf-overlay,0)),rgba(0,0,0,var(--cf-overlay,0))),var(--cf-section-bg,none);background-size:cover;background-position:var(--cf-bg-position,center);background-repeat:no-repeat}
.cf-section-content{position:relative;z-index:2;padding-top:70px;padding-bottom:70px;min-width:0}
.cf-section-content>.cf-block{max-width:100%}
.cf-section-content>.cf-heading,.cf-section-content>.cf-text,.cf-section-content>.cf-button{width:100%}
.cf-section-content>.cf-button{text-align:inherit}
.cf-section-content>.cf-button .cf-btn{margin:0}
.cf-columns .cf-column>.cf-block{width:100%;max-width:100%}
@media(max-width:760px){.cf-section-content{padding-top:88px;padding-bottom:56px}.cf-section-fullscreen{min-height:100vh;min-height:100svh}}

/* CF Computer CMS 0.9.3 — configurable sticky state */
.site-header.header-sticky{transition:background-color .25s ease,color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}
.site-header.header-sticky[data-sticky-scroll="transparent"].is-scrolled{background:transparent!important;color:inherit!important;box-shadow:var(--cf-sticky-shadow,none)!important;backdrop-filter:none!important}
.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled{background:transparent!important;color:var(--cf-sticky-text,#fff)!important;box-shadow:var(--cf-sticky-shadow,0 8px 24px rgba(15,23,42,.14))!important;backdrop-filter:none!important}
/* A filter on the header traps fixed menus inside its 54–64px containing block.
   Keep the glass/color layer separate so drawers and mega menus use the viewport. */
.site-header.header-sticky[data-sticky-scroll="color"]::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--cf-sticky-bg,#111827);backdrop-filter:saturate(130%) blur(var(--cf-sticky-blur,8px));opacity:0;transition:opacity .25s ease}
.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled::before{opacity:1}
@media(prefers-reduced-motion:reduce){.site-header.header-sticky[data-sticky-scroll="color"]::before{transition:none}}
.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled::after{display:none!important;content:none!important}
/* CF CMS 0.9.4 — independent section positioning */
.cf-section{justify-items:stretch}
.cf-section-content{width:min(var(--cf-content-width,900px),calc(100% - 40px));margin-left:auto;margin-right:auto}
.cf-section.cf-v-top{align-items:start}.cf-section.cf-v-center{align-items:center}.cf-section.cf-v-bottom{align-items:end}
.cf-section.cf-x-left .cf-section-content{margin-left:20px;margin-right:auto}.cf-section.cf-x-center .cf-section-content{margin-left:auto;margin-right:auto}.cf-section.cf-x-right .cf-section-content{margin-left:auto;margin-right:20px}
@media(max-width:760px){.cf-section-content{width:calc(100% - 28px)!important;max-width:100%!important}.cf-section.cf-x-left .cf-section-content,.cf-section.cf-x-center .cf-section-content,.cf-section.cf-x-right .cf-section-content{margin-left:14px!important;margin-right:14px!important}}

/* CF Computer CMS 0.9.6 — true viewport fullscreen sections */
.cf-main>.cf-section{max-width:none}
.cf-main>.cf-section-fullscreen{
  width:calc(100vw - var(--cf-scrollbar-width,0px))!important;
  max-width:none!important;
  min-height:100vh!important;
  min-height:100svh!important;
  margin-left:calc(50% - (100vw - var(--cf-scrollbar-width,0px)) / 2)!important;
  margin-right:calc(50% - (100vw - var(--cf-scrollbar-width,0px)) / 2)!important;
}
.cf-main>.cf-section-fullscreen .cf-section-media{inset:0}
@supports(width:100dvw){.cf-main>.cf-section-fullscreen{width:calc(100dvw - var(--cf-scrollbar-width,0px))!important;margin-left:calc(50% - (100dvw - var(--cf-scrollbar-width,0px)) / 2)!important;margin-right:calc(50% - (100dvw - var(--cf-scrollbar-width,0px)) / 2)!important}}
/* CF CMS 0.9.7 — posizionamento visuale per dispositivo */
.cf-responsive{position:relative;left:var(--cf-desktop-offset-x,0);top:var(--cf-desktop-offset-y,0);text-align:var(--cf-desktop-align,inherit)}
@media(max-width:1024px){.cf-responsive{left:var(--cf-tablet-offset-x,var(--cf-desktop-offset-x,0));top:var(--cf-tablet-offset-y,var(--cf-desktop-offset-y,0));text-align:var(--cf-tablet-align,var(--cf-desktop-align,inherit))}}
@media(max-width:760px){.cf-responsive{left:var(--cf-mobile-offset-x,var(--cf-tablet-offset-x,var(--cf-desktop-offset-x,0)));top:var(--cf-mobile-offset-y,var(--cf-tablet-offset-y,var(--cf-desktop-offset-y,0)));text-align:var(--cf-mobile-align,var(--cf-tablet-align,var(--cf-desktop-align,inherit)))}}


/* CF CMS 0.10.1 — free-position elements mirror the visual builder */
/* CF Computer CMS 0.10.1 — configurable responsive/mobile menu */
.mobile-nav,.mobile-nav-backdrop{display:none}.site-header.is-mobile-menu .desktop-nav{display:none!important}.site-header.is-mobile-menu .menu-toggle{display:block!important;background:transparent;border:0;font-size:28px;color:inherit;cursor:pointer}.site-header.is-mobile-menu .mobile-nav{display:block;position:fixed;z-index:1002;background:#fff;color:#111827;overflow:auto;transition:transform .25s ease,opacity .2s ease}.site-header.is-mobile-menu .mobile-nav ul{display:block;list-style:none;margin:0;padding:0}.site-header.is-mobile-menu .mobile-nav li{padding:0;border-bottom:1px solid #eef2f7}.site-header.is-mobile-menu .mobile-nav a{display:block;padding:13px 18px;color:inherit;text-decoration:none;font-weight:650}.site-header.is-mobile-menu .mobile-nav li ul{display:block!important;position:static!important;width:auto!important;min-width:0!important;border:0!important;box-shadow:none!important;padding:0 0 0 16px!important;background:#f8fafc!important}.site-header.is-mobile-menu .mobile-nav-close{display:grid;place-items:center;margin:10px 10px 8px auto;width:38px;height:38px;border:0;background:#f1f5f9;border-radius:9px;font-size:25px;cursor:pointer}.site-header.is-mobile-menu.mobile-drawer-right .mobile-nav,.site-header.is-mobile-menu.mobile-drawer-left .mobile-nav{top:0;bottom:0;width:min(360px,88vw)}.site-header.is-mobile-menu.mobile-drawer-right .mobile-nav{right:0;transform:translateX(105%)}.site-header.is-mobile-menu.mobile-drawer-left .mobile-nav{left:0;transform:translateX(-105%)}.site-header.is-mobile-menu.mobile-drawer-right.menu-open .mobile-nav,.site-header.is-mobile-menu.mobile-drawer-left.menu-open .mobile-nav{transform:translateX(0)}.site-header.is-mobile-menu.mobile-drawer-right .mobile-nav-backdrop,.site-header.is-mobile-menu.mobile-drawer-left .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:1001;background:#0008;opacity:0;pointer-events:none;transition:opacity .2s}.site-header.is-mobile-menu.menu-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}.site-header.is-mobile-menu.mobile-dropdown .mobile-nav{position:absolute;top:100%;left:0;right:0;max-height:min(70vh,620px);border-bottom:1px solid #e5e7eb;box-shadow:0 15px 35px #1118271a;opacity:0;pointer-events:none}.site-header.is-mobile-menu.mobile-dropdown.menu-open .mobile-nav{opacity:1;pointer-events:auto}.site-header.is-mobile-menu.mobile-dropdown .mobile-nav-close{display:none}
/* Old fixed 760px mobile nav is superseded by JS breakpoint classes. */
@media(max-width:760px){.site-header:not(.is-mobile-menu) .menu-toggle{display:none!important}.site-header:not(.is-mobile-menu) .main-nav.desktop-nav{display:block!important;position:static!important;background:transparent!important;color:inherit!important;padding:0!important;border:0!important}.site-header:not(.is-mobile-menu) .main-nav.desktop-nav ul{display:flex!important}.site-header:not(.is-mobile-menu) .main-nav.desktop-nav li{padding:0!important}}

/* 0.10.8 - tipografia menu desktop/mobile */
.main-nav.desktop-nav,.main-nav.desktop-nav a{font-family:var(--cf-menu-font,system-ui,sans-serif);font-size:var(--cf-menu-size,16px);font-weight:var(--cf-menu-weight,650)}
.main-nav.desktop-nav a{color:var(--cf-menu-color,inherit)}
.main-nav.desktop-nav a:hover,.main-nav.desktop-nav a:focus-visible{color:var(--cf-menu-hover,#2563eb)}
.site-header.is-mobile-menu .mobile-nav,.site-header.is-mobile-menu .mobile-nav a{font-family:var(--cf-mobile-menu-font,var(--cf-menu-font,system-ui,sans-serif));font-size:var(--cf-mobile-menu-size,16px);font-weight:var(--cf-mobile-menu-weight,650)}
.site-header.is-mobile-menu .mobile-nav a{color:var(--cf-mobile-menu-color,#111827)}
.site-header.is-mobile-menu .mobile-nav a:hover,.site-header.is-mobile-menu .mobile-nav a:focus-visible{color:var(--cf-mobile-menu-hover,#2563eb)}
@media(min-width:1025px){.cf-responsive[style*="--cf-desktop-family"]{font-family:var(--cf-desktop-family)!important}.cf-responsive[style*="--cf-desktop-weight"]{font-weight:var(--cf-desktop-weight)!important}}
@media(min-width:761px) and (max-width:1024px){.cf-responsive[style*="--cf-tablet-family"]{font-family:var(--cf-tablet-family)!important}.cf-responsive[style*="--cf-tablet-weight"]{font-weight:var(--cf-tablet-weight)!important}}
@media(max-width:760px){.cf-responsive[style*="--cf-mobile-family"]{font-family:var(--cf-mobile-family)!important}.cf-responsive[style*="--cf-mobile-weight"]{font-weight:var(--cf-mobile-weight)!important}}
.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled .main-nav.desktop-nav a{color:var(--cf-sticky-text,#fff)}
.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled .main-nav.desktop-nav a:hover,.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled .main-nav.desktop-nav a:focus-visible{color:var(--cf-menu-hover,#2563eb)}
/* 0.11.0 - titolo visibile pagina */
.cf-page-heading{padding-top:clamp(24px,4vw,56px);padding-bottom:clamp(14px,2vw,28px)}.cf-page-heading h1{margin:0;font-size:clamp(2rem,5vw,4.5rem);line-height:1.05}
/* CF CMS 0.11.3 — colori sottomenu desktop/mobile */
.main-nav.desktop-nav li>ul{background:var(--cf-submenu-bg,#fff);color:var(--cf-submenu-color,#111827)}
.main-nav.desktop-nav li>ul a{color:var(--cf-submenu-color,#111827)}
.main-nav.desktop-nav li>ul a:hover,.main-nav.desktop-nav li>ul a:focus-visible{color:var(--cf-submenu-hover,#2563eb)}
.site-header.is-mobile-menu .mobile-nav li ul{background:var(--cf-mobile-submenu-bg,#f8fafc)!important;color:var(--cf-mobile-submenu-color,#111827)}
.site-header.is-mobile-menu .mobile-nav li ul a{color:var(--cf-mobile-submenu-color,#111827)}
.site-header.is-mobile-menu .mobile-nav li ul a:hover,.site-header.is-mobile-menu .mobile-nav li ul a:focus-visible{color:var(--cf-mobile-submenu-hover,#2563eb)}

/* CF Computer CMS 0.12.0 — per-item submenu / Mega Menu Builder */
.desktop-nav .has-submenu>ul{background:var(--cf-item-submenu-bg,var(--cf-submenu-bg,#fff));color:var(--cf-item-submenu-color,var(--cf-submenu-color,#111827));width:var(--cf-item-submenu-width,240px);border-radius:10px;padding:10px;gap:4px}
.desktop-nav .has-submenu>ul a{color:var(--cf-item-submenu-color,var(--cf-submenu-color,#111827));display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;min-width:0}
.desktop-nav .has-submenu>ul a:hover,.desktop-nav .has-submenu>ul a:focus-visible{color:var(--cf-item-submenu-hover,var(--cf-submenu-hover,#2563eb));background:rgba(148,163,184,.12)}
.desktop-nav li.submenu-mega>ul{display:none;width:var(--cf-item-submenu-width,760px);grid-template-columns:repeat(var(--cf-item-submenu-cols,3),minmax(0,1fr));gap:8px;padding:16px}
.desktop-nav li.submenu-mega:hover>ul,.desktop-nav li.submenu-mega:focus-within>ul{display:grid}
.desktop-nav li.submenu-mega-full{position:static}
.desktop-nav li.submenu-mega-full>ul{display:none;position:absolute;left:50%;transform:translateX(-50%);width:var(--cf-item-submenu-width,100vw);max-width:100vw;grid-template-columns:repeat(var(--cf-item-submenu-cols,4),minmax(0,1fr));gap:10px;padding:18px max(20px,calc((100vw - 1180px)/2))}
.desktop-nav li.submenu-mega-full:hover>ul,.desktop-nav li.submenu-mega-full:focus-within>ul{display:grid}
.menu-item-copy{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px}.menu-item-label{min-width:0}.menu-item-description{grid-column:2;color:inherit;opacity:.68;font-size:.78em;font-weight:400;line-height:1.25}.menu-item-image{width:46px;height:38px;object-fit:cover;border-radius:7px;flex:0 0 auto}.submenu-preset-icons>ul .menu-item-icon{font-size:1.25em}.submenu-preset-images>ul a{align-items:flex-start}.submenu-preset-dark>ul{box-shadow:0 18px 45px #0003}.submenu-preset-corporate>ul,.submenu-preset-services>ul{box-shadow:0 18px 45px #0f172a1f}
.mobile-nav .has-submenu>ul{background:var(--cf-item-submenu-bg,var(--cf-mobile-submenu-bg,#f8fafc))!important;color:var(--cf-item-submenu-color,var(--cf-mobile-submenu-color,#111827));display:block!important;position:static!important;width:auto!important;max-width:none!important;transform:none!important;grid-template-columns:none!important;padding-left:16px!important}.mobile-nav .has-submenu>ul a{color:var(--cf-item-submenu-color,var(--cf-mobile-submenu-color,#111827));display:flex;gap:8px}.mobile-nav .menu-item-description{display:block}.mobile-nav .menu-item-image{width:38px;height:32px}
.header-inner{position:relative}.desktop-nav li.submenu-mega-full>ul{top:100%;left:50%;transform:translateX(-50%)}

/* 0.12.7 Header Builder */
.site-header.header-sticky.is-scrolled .header-inner{min-height:var(--cf-sticky-h-desktop,64px)}
.site-header.header-sticky.is-scrolled .site-logo{max-height:var(--cf-sticky-logo-desktop,42px)}
@media (max-width:1024px){.header-inner{min-height:var(--cf-header-h-tablet,64px);gap:var(--cf-header-gap-tablet,18px);padding-left:var(--cf-header-pad-tablet,16px);padding-right:var(--cf-header-pad-tablet,16px)}.site-logo{max-height:var(--cf-logo-h-tablet,42px)}.site-header.header-sticky.is-scrolled .header-inner{min-height:var(--cf-sticky-h-tablet,58px)}.site-header.header-sticky.is-scrolled .site-logo{max-height:var(--cf-sticky-logo-tablet,38px)}}
@media (max-width:600px){.header-inner{min-height:var(--cf-header-h-mobile,58px);gap:var(--cf-header-gap-mobile,12px);padding-left:var(--cf-header-pad-mobile,12px);padding-right:var(--cf-header-pad-mobile,12px)}.site-logo{max-height:var(--cf-logo-h-mobile,36px)}.site-header.header-sticky.is-scrolled .header-inner{min-height:var(--cf-sticky-h-mobile,54px)}.site-header.header-sticky.is-scrolled .site-logo{max-height:var(--cf-sticky-logo-mobile,34px)}}

/* CF Computer CMS 0.12.8 — optional sliding desktop menu indicator */
.desktop-nav{position:relative}
.desktop-nav>.cf-menu-indicator{position:absolute;left:0;top:0;width:0;height:var(--cf-menu-indicator-h,1px);border-radius:0;background:currentColor;opacity:0;pointer-events:none;transform:translate3d(0,0,0);transform-origin:left center;transition:transform .34s cubic-bezier(.2,.75,.25,1),width .34s cubic-bezier(.2,.75,.25,1),background-color .16s ease,opacity .16s ease;z-index:4;will-change:transform,width}
.site-header.menu-indicator-enabled .desktop-nav>.cf-menu-indicator.is-visible{opacity:1}
.site-header.is-mobile-menu .desktop-nav>.cf-menu-indicator{display:none!important}
@media (prefers-reduced-motion:reduce){.desktop-nav>.cf-menu-indicator{transition:none}}

/* 0.12.11 - Sticky shadow: visible in both transparent and colored scroll modes. */
.site-header.header-sticky.is-scrolled{z-index:1000;isolation:isolate;box-shadow:var(--cf-sticky-shadow,none)!important}
.site-header.header-sticky[data-sticky-scroll="transparent"].is-scrolled{box-shadow:var(--cf-sticky-shadow,none)!important}
.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled{box-shadow:var(--cf-sticky-shadow,none)!important}
.site-header.header-sticky.sticky-shadow-enabled.is-scrolled{box-shadow:0 14px 34px rgba(15,23,42,.28),0 3px 10px rgba(15,23,42,.16)!important}

/* CF Computer CMS 0.14.0 — libreria modelli menu e icone native */
.cf-menu-icon-svg{display:block;width:1.15em;height:1.15em;overflow:visible}.menu-item-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.menu-item-mainline{display:inline-flex;min-width:0;align-items:center;gap:7px}.menu-item-icon{display:inline-grid;flex:0 0 auto;place-items:center;line-height:1}.menu-item-description{display:block;color:inherit;opacity:.68;font-size:.78em;font-weight:400;line-height:1.25}.main-nav>ul>li>a{display:flex;align-items:center;gap:8px}.mobile-nav a{align-items:center}.mobile-nav .menu-item-mainline{width:100%}
.menu-info-bar{position:relative;z-index:2;background:#0f172a;color:#e2e8f0;font:600 12px/1.3 system-ui,sans-serif}.menu-info-bar>.cf-container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}.menu-info-bar a{color:inherit;text-decoration:none}.menu-info-bar>div>div{display:flex;align-items:center;gap:18px}.menu-info-bar .menu-info-cta{align-self:stretch;display:inline-flex;align-items:center;padding:0 15px;background:var(--cf-menu-hover,#2563eb);color:#fff}
.site-header.nav-layout-centered .header-inner{flex-direction:column;justify-content:center;padding-top:16px;padding-bottom:16px}.nav-layout-centered .desktop-nav>ul{justify-content:center}
.site-header.nav-layout-split-logo .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.nav-layout-split-logo .desktop-nav-left>ul{justify-content:flex-end}.nav-layout-split-logo .desktop-nav-right>ul{justify-content:flex-start}.nav-layout-split-logo .desktop-nav{margin:0!important}.nav-layout-split-logo .brand{justify-self:center}
.site-header.nav-layout-pill{border-bottom:0;background:transparent;padding-top:12px}.nav-layout-pill .header-inner{min-height:58px;border:1px solid #e2e8f0;border-radius:999px;background:var(--cf-header-bg,#fff);box-shadow:0 12px 32px rgba(15,23,42,.10)}.nav-layout-pill .desktop-nav>ul{padding:6px 10px;border-radius:999px;background:#f1f5f9}.nav-layout-pill .desktop-nav>ul>li>a{padding:7px 10px;border-radius:999px}.nav-layout-pill .desktop-nav>ul>li>a:hover,.nav-layout-pill .desktop-nav>ul>li>a:focus-visible{background:#fff}
.site-header.nav-layout-minimal .header-inner{min-height:56px}.nav-layout-minimal .site-logo{max-height:34px}.nav-layout-minimal .desktop-nav>ul{gap:30px}.nav-layout-minimal .desktop-nav>ul>li>a{font-size:.82em;letter-spacing:.08em;text-transform:uppercase}
.site-header.nav-layout-transparent{background:transparent;border:0;color:#fff}.site-header.nav-layout-transparent:not(.header-sticky),.site-header.nav-layout-transparent.header-sticky:not(.is-scrolled){position:absolute;inset:0 0 auto}.site-header.nav-layout-transparent .desktop-nav>ul>li>a{color:#fff}.site-header.nav-layout-transparent .menu-toggle{color:#fff}
.site-header.nav-layout-fullscreen .header-inner,.site-header.nav-layout-sidebar .header-inner{justify-content:space-between}.site-header.nav-layout-fullscreen .menu-toggle,.site-header.nav-layout-sidebar .menu-toggle{display:block;margin-left:auto}.site-header.nav-layout-fullscreen.is-mobile-menu .mobile-nav{inset:0!important;width:100%!important;max-width:none!important;display:grid!important;place-items:center;padding:70px 24px;background:#0f172a;color:#fff;transform:scale(.98)!important;opacity:0;pointer-events:none}.site-header.nav-layout-fullscreen.is-mobile-menu.menu-open .mobile-nav{transform:scale(1)!important;opacity:1;pointer-events:auto}.site-header.nav-layout-fullscreen .mobile-nav>ul{width:min(720px,100%);text-align:center}.site-header.nav-layout-fullscreen .mobile-nav>ul>li{border-color:#ffffff20}.site-header.nav-layout-fullscreen .mobile-nav>ul>li>a{justify-content:center;padding:14px;font-size:clamp(22px,4vw,42px)}.site-header.nav-layout-fullscreen .mobile-nav li ul{background:transparent!important;padding-left:0!important}.site-header.nav-layout-fullscreen .mobile-nav li ul a{justify-content:center;font-size:16px}.site-header.nav-layout-fullscreen .mobile-nav-close{position:absolute;top:16px;right:18px;background:#ffffff14;color:#fff}.site-header.nav-layout-fullscreen .mobile-nav-backdrop{display:none!important}.site-header.nav-layout-sidebar.is-mobile-menu .mobile-nav{width:min(410px,92vw);padding:20px 12px;background:#f8fafc}.site-header.nav-layout-sidebar .mobile-nav>ul>li>a{padding:16px 18px}.site-header.nav-layout-sidebar .mobile-nav-close{margin-bottom:22px}
@media(max-width:760px){.menu-info-bar>.cf-container{width:100%;padding:0 12px}.menu-info-bar>div>span{display:none}.menu-info-bar>div>div{width:100%;justify-content:space-between}.site-header.nav-layout-pill{padding:8px 8px 0}.nav-layout-pill .header-inner{width:100%!important;border-radius:18px}.site-header.nav-layout-split-logo .header-inner{display:flex}.nav-layout-split-logo .brand{order:0}.nav-layout-split-logo .menu-toggle{order:1;margin-left:auto}.site-header.nav-layout-centered .header-inner{flex-direction:row;padding-top:0;padding-bottom:0}.site-header.nav-layout-minimal .header-inner{min-height:var(--cf-header-h-mobile,58px)}}

/* Header shadow reliability fix 0.12.12
   Final rules intentionally override legacy transparent/overlay shadow resets. */
.site-header.header-shadow:not(.is-scrolled){
  box-shadow:0 10px 28px rgba(15,23,42,.18),0 2px 8px rgba(15,23,42,.10)!important;
}
.site-header.header-sticky.sticky-shadow-enabled.is-scrolled{
  box-shadow:0 14px 34px rgba(15,23,42,.28),0 3px 10px rgba(15,23,42,.16)!important;
}
.site-header.header-sticky:not(.sticky-shadow-enabled).is-scrolled{
  box-shadow:none!important;
}

/* 0.12.17 — Page Builder: immagini responsive e fino a 6 colonne */
.cf-image{width:var(--cf-image-w-desktop,100%);max-width:none}.cf-image img{display:block;width:100%;height:auto}.cf-image figcaption{margin-top:6px;font-size:.9em;color:inherit;opacity:.78}
.cf-cols-1{grid-template-columns:1fr}.cf-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.cf-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(min-width:761px) and (max-width:1024px){.cf-image{width:var(--cf-image-w-tablet,var(--cf-image-w-desktop,100%))}.cf-cols-5,.cf-cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cf-image{width:var(--cf-image-w-mobile,var(--cf-image-w-tablet,var(--cf-image-w-desktop,100%)))}.cf-cols-5,.cf-cols-6{grid-template-columns:1fr}}
.cf-main>.cf-image{width:var(--cf-image-w-desktop,100%);max-width:none}
@media(min-width:761px) and (max-width:1024px){.cf-main>.cf-image{width:var(--cf-image-w-tablet,var(--cf-image-w-desktop,100%))}}
@media(max-width:760px){.cf-main>.cf-image{width:var(--cf-image-w-mobile,var(--cf-image-w-tablet,var(--cf-image-w-desktop,100%)))}}
.cf-image,.cf-main>.cf-image{margin-inline:var(--cf-image-m-desktop,auto)}
@media(min-width:761px) and (max-width:1024px){.cf-image,.cf-main>.cf-image{margin-inline:var(--cf-image-m-tablet,var(--cf-image-m-desktop,auto))}}
@media(max-width:760px){.cf-image,.cf-main>.cf-image{margin-inline:var(--cf-image-m-mobile,var(--cf-image-m-tablet,var(--cf-image-m-desktop,auto)))}}

/* CF CMS 0.12.20 — effetto parallasse opzionale sui blocchi con sfondo */
@media (min-width:761px) and (prefers-reduced-motion:no-preference){.cf-section.cf-parallax>.cf-section-media,.cf-slide.cf-parallax>.cf-slide-media{background-attachment:fixed}}

/* 0.12.21 - immagini complete e lightbox */
.cf-image{max-width:100%}
.cf-image>img,.cf-image>.cf-image-open{display:block;width:100%;max-width:100%}
.cf-image>.cf-image-open>img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}
.cf-image>img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}
.cf-image-open{cursor:zoom-in;text-decoration:none}
.cf-lightbox{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.88);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.cf-lightbox.is-open{opacity:1;visibility:visible}
.cf-lightbox img{display:block;max-width:min(96vw,1800px);max-height:92vh;width:auto;height:auto;object-fit:contain}
.cf-lightbox-close{position:fixed;right:18px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px;line-height:1;cursor:pointer}
body.cf-lightbox-open{overflow:hidden}


/* 0.12.23 — testo dentro/fuori immagini */
.cf-image-frame{position:relative;width:100%;overflow:hidden;border-radius:inherit}
.cf-image-frame>img,.cf-image-frame>.cf-image-open{display:block;width:100%;max-width:100%}
.cf-image-gradient{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:1;transition:opacity var(--cf-gradient-transition,300ms) ease}.cf-image-gradient.cf-gradient-show-hover{opacity:0}.cf-image-frame:hover>.cf-image-gradient.cf-gradient-hide-hover{opacity:0}.cf-image-frame:hover>.cf-image-gradient.cf-gradient-show-hover{opacity:1}
.cf-image-frame>.cf-image-open>img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}
.cf-image-overlay-text{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:clamp(12px,3vw,28px);color:#fff;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0));pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.cf-image-title{font-size:clamp(1.15rem,2.5vw,2rem);font-weight:700;line-height:1.15}
.cf-image-description{margin-top:.4rem;font-size:clamp(.9rem,1.6vw,1.08rem);line-height:1.45}
.cf-image> .cf-image-title,.cf-image> .cf-image-description{color:inherit;text-shadow:none}
.cf-image> .cf-image-title{margin:.55rem 0 .2rem}.cf-image> .cf-image-description{margin:.2rem 0 .65rem}

/* 0.12.28 — FULL width reale nel frontend
   I blocchi top-level FULL escono dal contenitore e occupano il viewport.
   I blocchi FULL annidati (es. dentro colonne/sezioni) restano al 100% del loro contenitore. */
.cf-main>.cf-block.cf-full-width{
  width:calc(100vw - var(--cf-scrollbar-width,0px))!important;
  max-width:none!important;
  margin-left:calc(50% - (100vw - var(--cf-scrollbar-width,0px)) / 2)!important;
  margin-right:calc(50% - (100vw - var(--cf-scrollbar-width,0px)) / 2)!important;
}
@supports(width:100dvw){
  .cf-main>.cf-block.cf-full-width{
    width:calc(100dvw - var(--cf-scrollbar-width,0px))!important;
    margin-left:calc(50% - (100dvw - var(--cf-scrollbar-width,0px)) / 2)!important;
    margin-right:calc(50% - (100dvw - var(--cf-scrollbar-width,0px)) / 2)!important;
  }
}
.cf-block.cf-full-width{max-width:none!important}
.cf-block.cf-full-width>.cf-container,.cf-block.cf-full-width>.cf-columns,.cf-block.cf-full-width>.cf-grid-cards,.cf-block.cf-full-width>.cf-gallery{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.cf-section.cf-full-width>.cf-section-content,.cf-slider.cf-full-width>.cf-slider-track>.cf-slide>.cf-slide-content,.cf-hero.cf-full-width>.cf-hero-content{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:20px;padding-right:20px}
.cf-columns.cf-full-width>.cf-columns{padding-left:0!important;padding-right:0!important}
.cf-cards.cf-full-width>.cf-grid-cards,.cf-gallery.cf-full-width>.cf-gallery{padding-left:20px;padding-right:20px}
@media(max-width:760px){.cf-section.cf-full-width>.cf-section-content,.cf-slider.cf-full-width>.cf-slider-track>.cf-slide>.cf-slide-content,.cf-hero.cf-full-width>.cf-hero-content{padding-left:14px;padding-right:14px}.cf-columns.cf-full-width>.cf-columns{padding-left:0!important;padding-right:0!important}.cf-cards.cf-full-width>.cf-grid-cards,.cf-gallery.cf-full-width>.cf-gallery{padding-left:14px;padding-right:14px}}

/* 0.12.32 — separa larghezza blocco FULL dalla larghezza visiva dell'immagine */
.cf-image{width:auto;max-width:none}
.cf-main>.cf-image{width:min(1180px,calc(100% - 40px));max-width:none;margin-left:auto;margin-right:auto}
.cf-image>.cf-image-inner{width:var(--cf-image-w-desktop,100%);max-width:100%;margin-inline:var(--cf-image-m-desktop,auto)}
@media(min-width:761px) and (max-width:1024px){
  .cf-image>.cf-image-inner{width:var(--cf-image-w-tablet,var(--cf-image-w-desktop,100%));margin-inline:var(--cf-image-m-tablet,var(--cf-image-m-desktop,auto))}
}
@media(max-width:760px){
  .cf-main>.cf-image{width:calc(100% - 28px)}
  .cf-image>.cf-image-inner{width:var(--cf-image-w-mobile,var(--cf-image-w-tablet,var(--cf-image-w-desktop,100%)));margin-inline:var(--cf-image-m-mobile,var(--cf-image-m-tablet,var(--cf-image-m-desktop,auto)))}
}
.cf-main>.cf-image.cf-full-width{width:calc(100vw - var(--cf-scrollbar-width,0px))!important;max-width:none!important}
@supports(width:100dvw){.cf-main>.cf-image.cf-full-width{width:calc(100dvw - var(--cf-scrollbar-width,0px))!important}}
.cf-image-inner>.cf-image-frame{width:100%}

/* Il raggio del blocco immagine deve seguire la superficie realmente visibile,
   anche quando la foto usa una larghezza inferiore a quella del figure esterno. */
.cf-image[style*="--cf-block-radius"]>.cf-image-inner{
  border-radius:var(--cf-block-radius)!important;
  overflow:hidden;
}
.cf-image[style*="--cf-block-radius"]>.cf-image-inner>.cf-image-frame{
  border-radius:inherit!important;
}

/* 0.12.36 - Cover reale della colonna: se la colonna contiene solo una immagine Cover,
   senza larghezza/altezza personalizzate, la foto riempie l'intera cella della griglia. */
@media (min-width:1025px){
  .cf-column.cf-column-cover-desktop{display:flex;flex-direction:column;min-height:300px}
  .cf-column.cf-column-cover-desktop>.cf-image{flex:1 1 auto;width:100%!important;max-width:100%!important;margin:0!important}
  .cf-column.cf-column-cover-desktop>.cf-image>.cf-image-inner{display:flex;flex:1 1 auto;flex-direction:column;width:100%!important;height:100%!important;margin:0!important}
  .cf-column.cf-column-cover-desktop>.cf-image>.cf-image-inner>.cf-image-frame{flex:1 1 auto;height:auto!important;min-height:0!important}
  .cf-column.cf-column-cover-desktop>.cf-image>.cf-image-inner>.cf-image-frame>.cf-image-open{height:100%!important}
  .cf-column.cf-column-cover-desktop>.cf-image>.cf-image-inner>.cf-image-frame>img,
  .cf-column.cf-column-cover-desktop>.cf-image>.cf-image-inner>.cf-image-frame>.cf-image-open>img{width:100%!important;height:100%!important;object-fit:cover!important}
}
@media (min-width:761px) and (max-width:1024px){
  .cf-column.cf-column-cover-tablet{display:flex;flex-direction:column;min-height:240px}
  .cf-column.cf-column-cover-tablet>.cf-image{flex:1 1 auto;width:100%!important;max-width:100%!important;margin:0!important}
  .cf-column.cf-column-cover-tablet>.cf-image>.cf-image-inner{display:flex;flex:1 1 auto;flex-direction:column;width:100%!important;height:100%!important;margin:0!important}
  .cf-column.cf-column-cover-tablet>.cf-image>.cf-image-inner>.cf-image-frame{flex:1 1 auto;height:auto!important;min-height:0!important}
  .cf-column.cf-column-cover-tablet>.cf-image>.cf-image-inner>.cf-image-frame>.cf-image-open{height:100%!important}
  .cf-column.cf-column-cover-tablet>.cf-image>.cf-image-inner>.cf-image-frame>img,
  .cf-column.cf-column-cover-tablet>.cf-image>.cf-image-inner>.cf-image-frame>.cf-image-open>img{width:100%!important;height:100%!important;object-fit:cover!important}
}
@media (max-width:760px){
  .cf-column.cf-column-cover-mobile{display:flex;flex-direction:column;min-height:200px}
  .cf-column.cf-column-cover-mobile>.cf-image{flex:1 1 auto;width:100%!important;max-width:100%!important;margin:0!important}
  .cf-column.cf-column-cover-mobile>.cf-image>.cf-image-inner{display:flex;flex:1 1 auto;flex-direction:column;width:100%!important;height:100%!important;margin:0!important}
  .cf-column.cf-column-cover-mobile>.cf-image>.cf-image-inner>.cf-image-frame{flex:1 1 auto;height:auto!important;min-height:0!important}
  .cf-column.cf-column-cover-mobile>.cf-image>.cf-image-inner>.cf-image-frame>.cf-image-open{height:100%!important}
  .cf-column.cf-column-cover-mobile>.cf-image>.cf-image-inner>.cf-image-frame>img,
  .cf-column.cf-column-cover-mobile>.cf-image>.cf-image-inner>.cf-image-frame>.cf-image-open>img{width:100%!important;height:100%!important;object-fit:cover!important}
}

/* 0.12.37 - Colonne FULL con immagini Cover: edge-to-edge reale. */
.cf-columns.cf-full-width>.cf-columns:has(>.cf-column[class*="cf-column-cover-"]){gap:0!important}

/* 0.12.39 — pulsanti flottanti configurabili */
.cf-back-to-top{
  position:fixed;right:var(--cf-float-right,20px);bottom:var(--cf-float-bottom,20px);z-index:9998;
  width:var(--cf-float-size,48px);height:var(--cf-float-size,48px);border:0;border-radius:50%;
  display:grid;place-items:center;background:var(--cf-float-bg,#111827);color:var(--cf-float-color,#fff);
  box-shadow:0 2px 10px rgba(0,0,0,.28);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease;
}
.cf-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.cf-back-to-top:hover{transform:translateY(-2px) scale(1.05)}
.cf-back-to-top svg{width:48%;height:48%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cf-back-to-top svg path[d*="Z"]{fill:currentColor;stroke:none}
.cf-whatsapp-widget{
  position:fixed;right:var(--cf-wa-right,80px);bottom:var(--cf-wa-bottom,20px);z-index:9999;
  display:flex;align-items:center;gap:8px;font-family:Arial,sans-serif;
}
.cf-whatsapp-button{
  width:var(--cf-wa-size,60px);height:var(--cf-wa-size,60px);min-width:var(--cf-wa-size,60px);min-height:var(--cf-wa-size,60px);
  border-radius:50%;display:grid;place-items:center;background:var(--cf-wa-bg,#ec430f);color:var(--cf-wa-color,#fff);
  text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.3);transition:transform .2s ease;
}
.cf-whatsapp-button svg{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cf-whatsapp-button:hover{transform:scale(1.1)}
.cf-whatsapp-text{font-size:14px;color:var(--cf-wa-text,#ec430f);font-weight:700;white-space:nowrap}
.cf-whatsapp-widget.is-pulse .cf-whatsapp-button{animation:cf-wa-pulse 2s infinite}
.cf-whatsapp-widget.is-pulse .cf-whatsapp-button:hover{animation-play-state:paused;transform:scale(1.1)}
@keyframes cf-wa-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@media(max-width:768px){
  .cf-whatsapp-widget{gap:6px}.cf-whatsapp-text{font-size:12px}
}
@media(max-width:480px){
  .cf-whatsapp-widget.mobile-center{right:auto;left:50%;transform:translateX(-50%);bottom:var(--cf-wa-bottom,15px);gap:4px}
  .cf-whatsapp-widget.mobile-center .cf-whatsapp-text{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.cf-whatsapp-widget.is-pulse .cf-whatsapp-button{animation:none}.cf-back-to-top{transition:none}}

/* 0.12.43 Rich text output */
.cf-rich-text p,.cf-rich-text div{margin:.45em 0}.cf-rich-text p:first-child,.cf-rich-text div:first-child{margin-top:0}.cf-rich-text p:last-child,.cf-rich-text div:last-child{margin-bottom:0}.cf-rich-text ul,.cf-rich-text ol{padding-left:1.5em}.cf-rich-text a{text-decoration:underline;text-underline-offset:.15em}.cf-rich-text blockquote{margin:.75em 0;padding-left:1em;border-left:3px solid currentColor;opacity:.9}
.cf-module{position:relative;width:100%}.cf-module:empty{display:none}

/* 0.13.6 — carosello Marchi / Brand */
.cf-brands{position:relative;box-sizing:border-box;width:100%;--cf-brands-visible-current:var(--cf-brands-visible,6)}
.cf-brands-viewport{width:100%;overflow:hidden}
.cf-brands-track{display:flex;align-items:center;gap:var(--cf-brands-gap,24px);will-change:transform;transition-property:transform;transition-duration:var(--cf-brands-transition,600ms);transition-timing-function:ease}
.cf-brand-slide{display:flex;flex:0 0 16.6667%;min-width:0;align-items:center;justify-content:center;box-sizing:border-box}
.cf-brand-slide a{display:flex;width:100%;align-items:center;justify-content:center}
.cf-brand-slide img{display:block;width:auto;max-width:100%;height:var(--cf-brand-height,70px);object-fit:contain;transition:filter .2s ease,opacity .2s ease,transform .2s ease}
.cf-brands.is-grayscale .cf-brand-slide img{filter:grayscale(1);opacity:.78}.cf-brands.is-grayscale .cf-brand-slide:hover img{filter:none;opacity:1;transform:scale(1.03)}
.cf-brands-arrow{position:absolute;z-index:2;top:50%;width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(17,24,39,.84);color:#fff;font-size:27px;line-height:1;cursor:pointer;transform:translateY(-50%)}
.cf-brands-prev{left:8px}.cf-brands-next{right:8px}.cf-brands.is-static .cf-brands-arrow,.cf-brands.is-static .cf-brands-dots{display:none}
.cf-brands-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}.cf-brands-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#cbd5e1;cursor:pointer}.cf-brands-dots button.is-active{background:currentColor}
@media(min-width:761px) and (max-width:1024px){.cf-brands{--cf-brands-visible-current:var(--cf-brands-visible-tablet,4)}.cf-brand-slide{flex-basis:25%}}
@media(max-width:760px){.cf-brands{--cf-brands-visible-current:var(--cf-brands-visible-mobile,2)}.cf-brand-slide{flex-basis:50%}.cf-brands-arrow{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.cf-brands-track{transition:none!important}.cf-brand-slide img{transition:none!important}}

/* 0.13.7 — link degli editor: linea visibile solo al passaggio del mouse */
.cf-block a:not(.cf-btn):not(.cf-image-open):not(.cf-icon-button),.cf-rich-text a:not(.cf-icon-button),.site-footer.cf-footer-builder .cf-footer-block a:not(.cf-icon-button){text-decoration:none!important;border-bottom:0!important}
.cf-block a:not(.cf-btn):not(.cf-image-open):hover,.cf-rich-text a:hover,.site-footer.cf-footer-builder .cf-footer-block a:hover{text-decoration:underline!important;text-underline-offset:.15em}


/* 0.13.8 — lo spazio finale è controllato solo dal Page Builder */
.site-footer.cf-footer-builder{margin-top:0}
.cf-image{margin-block:0}

/* 0.13.9 — contenuti prodotti dall'editor visuale unico */
.cf-rich-text img,.admin-footer-content img,.site-footer.cf-footer-builder img{display:block;max-width:100%;height:auto}.cf-rich-text hr,.site-footer.cf-footer-builder hr{margin:1.25em 0;border:0;border-top:2px solid currentColor;opacity:.35}.cf-rich-text .cf-rich-table,.cf-rich-text table,.site-footer.cf-footer-builder .cf-rich-table,.site-footer.cf-footer-builder table{display:table;width:100%;max-width:100%;border-collapse:collapse;margin:1em 0;overflow-x:auto}.cf-rich-text th,.cf-rich-text td,.site-footer.cf-footer-builder th,.site-footer.cf-footer-builder td{padding:.55em .7em;border:1px solid currentColor}.cf-rich-text h1,.cf-rich-text h2,.cf-rich-text h3,.cf-rich-text h4,.cf-rich-text h5,.cf-rich-text h6{margin:.55em 0}.cf-rich-text s,.cf-rich-text strike{text-decoration:line-through}
@media(max-width:640px){.cf-rich-text .cf-rich-table,.cf-rich-text table,.site-footer.cf-footer-builder .cf-rich-table,.site-footer.cf-footer-builder table{font-size:.9em}}

/* CF Computer CMS 0.14.1 — Mega Menu operativo con mouse, tastiera e tocco */
.desktop-nav .has-submenu>a{display:flex;align-items:center;gap:7px}.menu-submenu-caret{display:inline-grid;place-items:center;font-size:.8em;line-height:1;transition:transform .18s ease}.desktop-nav .has-submenu.submenu-open>a .menu-submenu-caret,.desktop-nav .has-submenu:focus-within>a .menu-submenu-caret{transform:rotate(180deg)}
.desktop-nav li.has-submenu.submenu-open>ul{display:flex}.desktop-nav li.submenu-mega.submenu-open>ul,.desktop-nav li.submenu-mega-full.submenu-open>ul{display:grid}
.desktop-nav li.submenu-mega>ul{max-width:calc(100vw - 24px);max-height:calc(100vh - var(--cf-mega-top,72px) - 12px);overflow:auto;z-index:1003}
.desktop-nav li.submenu-mega-full>ul{position:fixed!important;top:var(--cf-mega-top,72px)!important;left:50vw!important;right:auto!important;transform:translateX(-50%)!important;width:var(--cf-item-submenu-width,100vw);max-width:100vw;max-height:calc(100vh - var(--cf-mega-top,72px));overflow:auto;z-index:1003}
.desktop-nav li.submenu-mega>ul>li,.desktop-nav li.submenu-mega-full>ul>li{min-width:0}.desktop-nav li.submenu-mega>ul>li>a,.desktop-nav li.submenu-mega-full>ul>li>a{height:100%;align-items:flex-start}.desktop-nav .menu-submenu-caret{margin-left:1px}.mobile-nav .menu-submenu-caret{display:none}

/* CF Computer CMS 0.14.9 — la griglia a 12 unità appartiene solo al contenitore
   interno. Il wrapper del blocco usa anch'esso la classe cf-columns: applicare
   12 colonne anche al wrapper comprimeva l'intera griglia nella prima unità. */
.cf-block.cf-columns{display:block}
.cf-block.cf-columns>.cf-columns{display:grid;width:100%;max-width:none;margin-left:0;margin-right:0;grid-template-columns:repeat(12,minmax(0,1fr))!important}
.cf-block.cf-columns>.cf-columns>.cf-column{grid-column:span var(--cf-col-desktop,12);min-width:0}
@media(min-width:761px) and (max-width:1024px){.cf-block.cf-columns>.cf-columns>.cf-column{grid-column:span var(--cf-col-tablet,var(--cf-col-desktop,12))}}
@media(max-width:760px){.cf-block.cf-columns>.cf-columns{grid-template-columns:repeat(12,minmax(0,1fr))!important}.cf-block.cf-columns>.cf-columns>.cf-column{grid-column:span var(--cf-col-mobile,12)}}

/* CF CMS 0.14.13 — dimensioni responsive personalizzate per Hero e Slider. */
.cf-main>.cf-section.cf-responsive,.cf-main>.cf-slider.cf-responsive{width:var(--cf-block-width,100%);max-width:100%;margin-left:auto;margin-right:auto}
.cf-main>.cf-section-normal.cf-responsive,.cf-main>.cf-slider-normal.cf-responsive{min-height:var(--cf-block-height,320px)}
.cf-main>.cf-section-fullscreen.cf-responsive,.cf-main>.cf-slider-fullscreen.cf-responsive{min-height:var(--cf-block-height,100svh)!important}

/* Form Builder: scelte radio leggibili e accessibili anche nel frontend. */
.cf-form-fieldset{border:0;margin:0;padding:0}.cf-form-fieldset legend{font-weight:650;padding:0}.cf-form-options{display:grid;gap:8px;margin-top:7px}.cf-form-options label{font-weight:400;display:flex;gap:8px;align-items:center}.cf-form-options input{width:auto;margin:0}
form.cf-form input[type="checkbox"],form.cf-form input[type="radio"]{width:auto;margin-right:8px}.cf-form-check{display:flex;align-items:center;gap:2px}.cf-form-check input{margin-top:0}

/* Form Builder: griglia 12 colonne per ogni campo, indipendente dal Page Builder. */
form.cf-form{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
form.cf-form .cf-form-field{grid-column:span var(--cf-form-col-desktop,12);min-width:0}
form.cf-form .cf-form-field>*{min-width:0}form.cf-form .cf-form-field input[type="file"]{max-width:100%}
form.cf-form .cf-form-submit{grid-column:1/-1}
@media(max-width:1024px){form.cf-form .cf-form-field{grid-column:span var(--cf-form-col-tablet,12)}}
@media(max-width:760px){form.cf-form .cf-form-field{grid-column:span var(--cf-form-col-mobile,12)}}


/* Embedded content / Google Maps */
.cf-block iframe{max-width:100%}.cf-google-map{width:100%;overflow:hidden}.cf-google-map iframe{display:block;width:100%;max-width:100%;border:0}.cf-google-map-full{width:100%}.cf-map-empty{padding:24px;border:1px dashed #cbd5e1;border-radius:10px;text-align:center;color:#64748b}

/* 0.15.15 — Contatori animati */
.cf-counters{width:100%}.cf-counter-grid{display:grid;grid-template-columns:repeat(var(--cf-counter-cols-desktop,3),minmax(0,1fr));gap:28px;align-items:start}.cf-counter-item{text-align:center;min-width:0}.cf-counter-item img{display:block;width:auto;max-width:100%;height:var(--cf-counter-image-h,90px);object-fit:contain;margin:0 auto 14px}.cf-counter-value{display:block;font-size:clamp(30px,4vw,52px);font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}.cf-counter-item>span{display:block;margin-top:8px;font-weight:650;letter-spacing:.035em}.cf-google-map iframe{min-height:160px}
@media(min-width:761px) and (max-width:1024px){.cf-counter-grid{grid-template-columns:repeat(var(--cf-counter-cols-tablet,3),minmax(0,1fr))}}
@media(max-width:760px){.cf-counter-grid{grid-template-columns:repeat(var(--cf-counter-cols-mobile,1),minmax(0,1fr));gap:24px}.cf-counter-value{font-size:38px}}
@media(prefers-reduced-motion:reduce){.cf-counter-value{transition:none!important}}
/* CF Computer CMS — configurable spacing between top-level header menu items */
.main-nav>ul{gap:var(--cf-menu-item-gap,22px)}
.cf-form-static-notice{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;background:#f8fafc;color:#475569}.cf-form-static .cf-form-submit:disabled{cursor:not-allowed;opacity:.58}
.cf-block[id]{scroll-margin-top:96px}
/* 0.15.30 — mobile menu visual design and information footer */
.site-header.is-mobile-menu .mobile-nav{display:flex;flex-direction:column;background:var(--cf-mobile-menu-bg,#fff);color:var(--cf-mobile-menu-color,#111827)}
.site-header.is-mobile-menu .mobile-nav li{border-color:var(--cf-mobile-menu-border,#e5e7eb)}
.site-header.nav-layout-fullscreen.is-mobile-menu .mobile-nav>ul>li>a,.site-header.nav-layout-fullscreen.is-mobile-menu .mobile-nav li ul a{font-size:var(--cf-mobile-menu-size,16px)}
.site-header:is(.nav-layout-fullscreen,.nav-layout-sidebar).is-mobile-menu .mobile-nav{background:var(--cf-mobile-menu-bg,#fff);color:var(--cf-mobile-menu-color,#111827)}
.site-header.nav-layout-fullscreen.is-mobile-menu .mobile-nav>ul>li{border-color:var(--cf-mobile-menu-border,#e5e7eb)}
.site-header.nav-layout-fullscreen.is-mobile-menu .mobile-nav li ul{background:var(--cf-mobile-submenu-bg,#f8fafc)!important}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:10px 12px}.site-header.is-mobile-menu .mobile-nav-head .mobile-nav-close{margin:0 0 0 auto;background:var(--cf-mobile-close-bg,#f1f5f9);color:var(--cf-mobile-close-color,#111827)}.mobile-nav-brand{display:flex;align-items:center;max-width:min(220px,65%)}.mobile-nav-brand img{display:block;max-width:100%;max-height:52px;width:auto}
.mobile-nav-info{margin-top:auto;padding:20px 18px;background:var(--cf-mobile-info-bg,#f8fafc);color:var(--cf-mobile-info-color,#334155);display:grid;gap:11px}.mobile-nav-info p{margin:0}.mobile-nav-info a{color:inherit!important;padding:0!important}.mobile-nav-info .mobile-nav-contact{font-weight:650}.mobile-nav-info .mobile-nav-cta{display:inline-flex!important;width:max-content;max-width:100%;padding:10px 16px!important;border-radius:8px;background:var(--cf-mobile-info-cta-bg,#2563eb);color:var(--cf-mobile-info-cta-color,#fff)!important;text-decoration:none!important}
.site-header.is-mobile-menu.mobile-dropdown .mobile-nav{display:flex}.site-header.is-mobile-menu.mobile-dropdown .mobile-nav-head{display:none}.site-header.is-mobile-menu.mobile-dropdown .mobile-nav-info{margin-top:0}


/* CF CMS 404 page */
.cf-error-main{display:flex;align-items:center;min-height:52vh;padding:clamp(42px,8vw,96px) 0}
.cf-error-page{text-align:center;max-width:760px;margin-inline:auto}
.cf-error-code{font-size:clamp(72px,16vw,160px);font-weight:800;line-height:.85;letter-spacing:-.06em;color:var(--cf-accent);opacity:.13;margin-bottom:20px}
.cf-error-page h1{margin:0 0 14px;font-size:clamp(30px,5vw,52px);line-height:1.08;color:var(--cf-text)}
.cf-error-page p{max-width:620px;margin:0 auto 26px;font-size:clamp(16px,2vw,19px);line-height:1.65;color:var(--cf-text);opacity:.78}
.cf-error-home{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

.site-header,.site-header.header-transparent.header-sticky,.site-header.header-sticky[data-sticky-scroll].is-scrolled{background-image:var(--cf-header-image,none)!important;background-size:cover;background-position:center}

.cf-icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--cf-icon-size,64px);height:var(--cf-icon-size,64px);padding:0;border:0;background:transparent;color:inherit;cursor:pointer;vertical-align:middle}.cf-icon-button svg{display:block;width:100%;height:100%;overflow:visible;transition:transform .25s ease;transform-origin:center}.cf-icon-button[aria-pressed="true"] svg{transform:scale(var(--cf-icon-zoom,1.5))}.cf-icon-button:focus-visible{outline:2px solid currentColor;outline-offset:6px}@media(prefers-reduced-motion:reduce){.cf-icon-button svg{transition:none}}

@media(min-width:1025px){.cf-responsive[style*="--cf-desktop-align"]{text-align:var(--cf-desktop-align)!important}}

@media(min-width:761px) and (max-width:1024px){.cf-responsive[style*="--cf-tablet-align"]{text-align:var(--cf-tablet-align)!important}}

@media(max-width:760px){.cf-responsive[style*="--cf-mobile-align"]{text-align:var(--cf-mobile-align)!important}}

.cf-heading[style*="font-size:"] :is(h1,h2,h3,h4,h5,h6),.cf-heading[style*="--cf-desktop-font:"] :is(h1,h2,h3,h4,h5,h6),.cf-heading[style*="--cf-tablet-font:"] :is(h1,h2,h3,h4,h5,h6),.cf-heading[style*="--cf-mobile-font:"] :is(h1,h2,h3,h4,h5,h6){font-size:inherit}

.cf-heading[style*="font-weight:"] :is(h1,h2,h3,h4,h5,h6),.cf-heading[style*="--cf-desktop-weight:"] :is(h1,h2,h3,h4,h5,h6),.cf-heading[style*="--cf-tablet-weight:"] :is(h1,h2,h3,h4,h5,h6),.cf-heading[style*="--cf-mobile-weight:"] :is(h1,h2,h3,h4,h5,h6){font-weight:inherit}

.cf-text[style*="font-size:"] :is(h1,h2,h3,h4,h5,h6){font-size:inherit}
.cf-text[style*="font-weight:"] :is(h1,h2,h3,h4,h5,h6){font-weight:inherit}

:is(.cf-text,.cf-heading) span[style*="font-size:"] :is(h1,h2,h3,h4,h5,h6){font-size:inherit}

/* Original timeline addon: independent bubble and stem colors. */
.cf-timeline-track{position:relative;max-width:900px;margin:0 auto;padding:12px 0}.cf-timeline-track:before{content:"";position:absolute;left:50%;top:12px;bottom:12px;width:2px;background:var(--cf-tl-stem);transform:translateX(-50%)}.cf-timeline-step{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:30px;align-items:start}.cf-timeline-step:last-child{margin-bottom:0}.cf-timeline-step:before{content:"";position:absolute;left:50%;top:28px;width:18px;height:18px;border:2px solid var(--cf-tl-stem);background:var(--cf-tl-bubble);border-radius:50%;transform:translateX(-50%);box-sizing:border-box}.cf-timeline-bubble{position:relative;border-radius:5px;padding:20px;background:var(--cf-tl-bubble);color:var(--cf-tl-text);text-align:right;min-width:0;overflow-wrap:anywhere}.cf-timeline-bubble:after{content:"";position:absolute;right:-10px;top:28px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:10px solid var(--cf-tl-bubble)}.cf-timeline-bubble h3{margin:0 0 16px;font-size:28px;color:var(--cf-tl-title);font-weight:400}.cf-timeline-bubble p{margin:0;font-size:20px;line-height:1.45;color:var(--cf-tl-text)}.cf-timeline-label{padding-top:26px;color:var(--cf-tl-label);text-align:left;overflow-wrap:anywhere}.cf-timeline-step:nth-child(even) .cf-timeline-bubble{grid-column:2;grid-row:1;text-align:left}.cf-timeline-step:nth-child(even) .cf-timeline-label{grid-column:1;grid-row:1;text-align:right}.cf-timeline-step:nth-child(even) .cf-timeline-bubble:after{right:auto;left:-10px;border-left:0;border-right:10px solid var(--cf-tl-bubble)}
@media(max-width:760px){.cf-main .cf-timeline-track:before{left:10px}.cf-main .cf-timeline-step{display:flex;flex-direction:column;gap:8px;padding-left:40px}.cf-main .cf-timeline-step:before{left:10px}.cf-main .cf-timeline-label{order:-1;padding-top:0;text-align:left!important}.cf-main .cf-timeline-bubble{text-align:left;width:100%}.cf-main .cf-timeline-bubble:after{left:-10px;right:auto;border-left:0;border-right:10px solid var(--cf-tl-bubble)}}
.builder-site-preview.device-mobile .cf-timeline-track:before{left:10px}.builder-site-preview.device-mobile .cf-timeline-step{display:flex;flex-direction:column;gap:8px;padding-left:40px}.builder-site-preview.device-mobile .cf-timeline-step:before{left:10px}.builder-site-preview.device-mobile .cf-timeline-label{order:-1;padding-top:0;text-align:left!important}.builder-site-preview.device-mobile .cf-timeline-bubble{text-align:left;width:100%}.builder-site-preview.device-mobile .cf-timeline-bubble:after{left:-10px;right:auto;border-left:0;border-right:10px solid var(--cf-tl-bubble)}

/* Icon links: shape, hover and keyboard focus share the same original SVG. */
.cf-icon-button{box-sizing:border-box;flex-shrink:0;text-decoration:none;transition:transform .25s ease}
.cf-icon-button.cf-icon-shape-circle,.cf-icon-button.cf-icon-shape-square{border:2px solid currentColor;padding:12%;padding:calc(var(--cf-icon-size,64px) * .16)}
.cf-icon-button.cf-icon-shape-circle{border-radius:50%}
.cf-icon-button.cf-icon-shape-square{border-radius:0}
.cf-icon-button.cf-icon-hover:hover,.cf-icon-button.cf-icon-hover:focus-visible{transform:scale(var(--cf-icon-zoom,1.5))}
.cf-main [id]{scroll-margin-top:110px}
@media(prefers-reduced-motion:reduce){.cf-icon-button{transition:none}}

/* Full grid: nested grids occupy their container; page roots break out to the viewport. */
.cf-block.cf-full-width{width:100%!important}
.cf-block.cf-full-width>.cf-section-content,.cf-block.cf-full-width>.cf-hero-content,.cf-block.cf-full-width>.cf-slider-track>.cf-slide>.cf-slide-content,.cf-cards.cf-full-width>.cf-grid-cards,.cf-gallery.cf-full-width>.cf-gallery{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
/* Keep entrance animations within the page without creating a horizontal scroll container. */
html,body{overflow-x:clip}
.cf-main .cf-rich-text,.cf-main div.cf-heading{display:flow-root}

/* Explicit background choices override legacy transparent/overlay layout defaults. */
.site-header.header-transparent[data-background-mode="auto"]:not(.is-scrolled),.site-header.header-overlay[data-background-mode="auto"]:not(.is-scrolled){background:transparent!important}
.site-header[data-background-mode="color"]:not(.is-scrolled){background:var(--cf-header-bg,#fff)!important}
.site-header[data-background-mode="transparent"]:not(.is-scrolled){background:transparent!important}
.site-header[data-background-mode="image"]:not(.is-scrolled){background:var(--cf-header-bg,#fff) var(--cf-header-image,none) center/cover!important}
.site-header[data-background-mode]:not([data-background-mode="auto"])::after{display:none!important}
.site-header.header-sticky[data-sticky-scroll].is-scrolled{background-image:none!important}
.site-header.header-sticky[data-sticky-scroll="color"].is-scrolled>.header-inner{background:transparent!important}
.site-header[data-background-mode="transparent"]:not(.is-scrolled)>.header-inner{background:transparent!important}

/* Full width must also release the timeline's inner 900px cap. */
.cf-block.cf-full-width>.cf-timeline-track{width:100%;max-width:none;margin-left:0;margin-right:0}
/* The outer gallery is a block; only its inner image list is a grid. */
.cf-block.cf-gallery{display:block}

.cf-image>.cf-image-inner{max-width:none;margin-inline-start:calc((100% - var(--cf-image-w-desktop,100%)) * var(--cf-image-a-desktop,.5));margin-inline-end:0}
@media(min-width:761px) and (max-width:1024px){.cf-image>.cf-image-inner{margin-inline-start:calc((100% - var(--cf-image-w-tablet,100%)) * var(--cf-image-a-tablet,.5));margin-inline-end:0}}
@media(max-width:760px){.cf-image>.cf-image-inner{margin-inline-start:calc((100% - var(--cf-image-w-mobile,100%)) * var(--cf-image-a-mobile,.5));margin-inline-end:0}}

/* Explicit vertical text spacing, shared by visual editors and the footer. */
[style*="--cf-text-leading:"] , [style*="--cf-text-leading:"] :where(p,h1,h2,h3,h4,h5,h6,li,blockquote,figcaption,summary,label,button,a,.cf-timeline-label){line-height:var(--cf-text-leading)!important}
[style*="--cf-paragraph-gap:"] :where(p,h1,h2,h3,h4,h5,h6){margin-top:0!important;margin-bottom:var(--cf-paragraph-gap)!important}
[style*="--cf-paragraph-gap:"] :where(p,h1,h2,h3,h4,h5,h6):last-child{margin-bottom:0!important}

/* Timeline sizing stays inside its column and remains fluid on phones. */
.cf-timeline-track{max-width:var(--cf-tl-width,900px);width:100%;box-sizing:border-box}
.cf-timeline-track:before{width:var(--cf-tl-stem-width,2px)}
.cf-timeline-step{gap:calc(var(--cf-tl-distance,30px)*2);margin-bottom:var(--cf-tl-gap,30px)}
.cf-timeline-bubble{padding:var(--cf-tl-padding,20px);box-sizing:border-box}
.cf-timeline-bubble h3{font-size:var(--cf-tl-title-size,28px)}
.cf-timeline-bubble p{font-size:var(--cf-tl-text-size,20px)}
.cf-timeline-label{font-size:var(--cf-tl-label-size,16px)}
@media(max-width:760px){.cf-main .cf-timeline-step{gap:8px;padding-left:max(40px,calc(var(--cf-tl-distance,30px) + 10px))}}
.builder-site-preview.device-mobile .cf-timeline-step{gap:8px;padding-left:max(40px,calc(var(--cf-tl-distance,30px) + 10px))}

/* Smooth sticky size change also for classic headers (previously overlay-only). */
.site-header.header-sticky .header-inner{transition:min-height .28s ease}
.site-header.header-sticky .site-logo{transition:max-height .28s ease}
@media(prefers-reduced-motion:reduce){.site-header.header-sticky .header-inner,.site-header.header-sticky .site-logo{transition:none}}

/* Measure navigation at its natural width so compact mode starts before overflow. */
.site-header.cf-menu-measuring .desktop-nav{display:block!important;position:absolute!important;visibility:hidden!important;width:max-content!important;max-width:none!important}
.site-header.cf-menu-measuring .desktop-nav>ul{display:flex!important;flex-wrap:nowrap!important;width:max-content!important}
.site-header.cf-menu-measuring .desktop-nav>ul>li{flex-shrink:0!important}
.site-header.is-mobile-menu .header-inner{display:flex;flex-direction:row;justify-content:space-between}
.site-header.is-mobile-menu .brand{min-width:0;max-width:calc(100% - 64px)}
.site-header.is-mobile-menu .brand img{max-width:100%;object-fit:contain}
.site-header.is-mobile-menu .menu-toggle{flex-shrink:0}
/* Device typography overrides rich spans without deleting their original formatting. */
@media(min-width:1025px){
:is(.cf-text,.cf-heading)[style*="--cf-desktop-font:"] *{font-size:var(--cf-desktop-font)!important}
:is(.cf-text,.cf-heading)[style*="--cf-desktop-family:"] *{font-family:var(--cf-desktop-family)!important}
}
@media(min-width:761px) and (max-width:1024px){
:is(.cf-text,.cf-heading)[style*="--cf-tablet-font:"] *{font-size:var(--cf-tablet-font)!important}
:is(.cf-text,.cf-heading)[style*="--cf-tablet-family:"] *{font-family:var(--cf-tablet-family)!important}
}
@media(max-width:760px){
:is(.cf-text,.cf-heading)[style*="--cf-mobile-font:"] *{font-size:var(--cf-mobile-font)!important}
:is(.cf-text,.cf-heading)[style*="--cf-mobile-family:"] *{font-family:var(--cf-mobile-family)!important}
}

/* Device-specific rich text: shared content, independent presentation. */
.cf-block [style*="--cf-rich-desktop-font-size:"]{font-size:var(--cf-rich-desktop-font-size)!important}.cf-block [style*="--cf-rich-desktop-font-family:"]{font-family:var(--cf-rich-desktop-font-family)!important}.cf-block [style*="--cf-rich-desktop-font-weight:"]{font-weight:var(--cf-rich-desktop-font-weight)!important}.cf-block [style*="--cf-rich-desktop-font-style:"]{font-style:var(--cf-rich-desktop-font-style)!important}.cf-block [style*="--cf-rich-desktop-text-decoration:"]{text-decoration:var(--cf-rich-desktop-text-decoration)!important}.cf-block [style*="--cf-rich-desktop-color:"]{color:var(--cf-rich-desktop-color)!important}.cf-block [style*="--cf-rich-desktop-text-align:"]{text-align:var(--cf-rich-desktop-text-align)!important}
@media (min-width:761px) and (max-width:1024px){.cf-block [style*="--cf-rich-tablet-font-size:"]{font-size:var(--cf-rich-tablet-font-size)!important}.cf-block [style*="--cf-rich-tablet-font-family:"]{font-family:var(--cf-rich-tablet-font-family)!important}.cf-block [style*="--cf-rich-tablet-font-weight:"]{font-weight:var(--cf-rich-tablet-font-weight)!important}.cf-block [style*="--cf-rich-tablet-font-style:"]{font-style:var(--cf-rich-tablet-font-style)!important}.cf-block [style*="--cf-rich-tablet-text-decoration:"]{text-decoration:var(--cf-rich-tablet-text-decoration)!important}.cf-block [style*="--cf-rich-tablet-color:"]{color:var(--cf-rich-tablet-color)!important}.cf-block [style*="--cf-rich-tablet-text-align:"]{text-align:var(--cf-rich-tablet-text-align)!important}}
@media (max-width:760px){.cf-block [style*="--cf-rich-mobile-font-size:"]{font-size:var(--cf-rich-mobile-font-size)!important}.cf-block [style*="--cf-rich-mobile-font-family:"]{font-family:var(--cf-rich-mobile-font-family)!important}.cf-block [style*="--cf-rich-mobile-font-weight:"]{font-weight:var(--cf-rich-mobile-font-weight)!important}.cf-block [style*="--cf-rich-mobile-font-style:"]{font-style:var(--cf-rich-mobile-font-style)!important}.cf-block [style*="--cf-rich-mobile-text-decoration:"]{text-decoration:var(--cf-rich-mobile-text-decoration)!important}.cf-block [style*="--cf-rich-mobile-color:"]{color:var(--cf-rich-mobile-color)!important}.cf-block [style*="--cf-rich-mobile-text-align:"]{text-align:var(--cf-rich-mobile-text-align)!important}}

/* Icon appearance: target the visible control, without clipping its hover effect. */
.cf-icon-button.cf-icon-shape-circle,.cf-icon-button.cf-icon-shape-square{border-width:var(--cf-icon-border-width,2px)}
.cf-icon-button.cf-icon-shape-circle{border-radius:50%}
.cf-icon-button.cf-icon-shape-rounded{border:var(--cf-icon-border-width,2px) solid currentColor;border-radius:var(--cf-icon-radius,12px);padding:calc(var(--cf-icon-size,64px) * .16)}
.cf-icon-button.cf-icon-shape-square{border-radius:0}
.cf-icon-button>svg{stroke-width:var(--cf-icon-stroke-width,1.8)}

.cf-search-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:inherit;padding:12px;cursor:pointer;flex:none}
.cf-site-search{position:fixed;inset:8vh 0 auto;box-sizing:border-box;width:min(700px,calc(100% - 32px));max-height:84vh;padding:36px;border:1px solid #ddd;background:#fff;color:#222;box-shadow:0 10px 60px #0004;text-align:left;font:16px/1.5 system-ui,sans-serif}
.cf-site-search::backdrop{background:#0008}.cf-site-search label{display:grid;gap:12px;font-weight:600}.cf-site-search input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #bbb;font:inherit}.cf-search-close{position:absolute;right:8px;top:4px;background:none;border:0;font-size:28px;cursor:pointer;color:#222}.cf-site-search ul{list-style:none;margin:0;padding:0}.cf-site-search li[hidden]{display:none}.cf-site-search a{display:block;padding:16px 0;border-bottom:1px solid #ddd;color:#222;text-decoration:none}.cf-site-search a:hover{text-decoration:underline}.cf-site-search a span{display:block;font-size:14px;color:#666}.cf-search-count{font-size:14px;color:#666}

/* Image group navigation. Hidden buttons must remain absent in single-image mode. */
.cf-lightbox figure{margin:0;max-width:calc(100vw - 120px)}
.cf-lightbox figure img{max-width:100%;max-height:calc(100dvh - 100px)}
.cf-lightbox figcaption{display:flex;justify-content:space-between;gap:20px;color:#fff;font:12px/1.5 sans-serif;padding-top:4px}
.cf-lightbox-prev,.cf-lightbox-next{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #fff;border-radius:50%;background:transparent;color:#fff;font:32px/1 sans-serif;cursor:pointer}
.cf-lightbox-prev{left:20px}.cf-lightbox-next{right:20px}
.cf-lightbox [hidden]{display:none!important}
.cf-lightbox button:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:600px){.cf-lightbox{padding:10px}.cf-lightbox figure{max-width:calc(100vw - 20px)}.cf-lightbox-prev,.cf-lightbox-next{top:auto;bottom:15px;transform:none}}

/* Optional native image hover zoom, shared by preview and export. */
.cf-image-hover-zoom{overflow:hidden}.cf-image-hover-zoom img{transition:transform .35s ease}.cf-image-hover-zoom:hover img,.cf-image-hover-zoom:focus-within img{transform:scale(1.06)}@media(prefers-reduced-motion:reduce){.cf-image-hover-zoom img{transition:none}}

/* Modules inside the header participate in its layout and sticky sizing. */
.cf-header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;max-width:100%}.cf-header-actions>.cf-module{margin:0;padding:0}.cf-header-actions .cf-block{max-width:100%}.site-header.is-mobile-menu .cf-header-actions{order:1}.site-header.is-mobile-menu .menu-toggle{order:2}.site-header.nav-layout-split-logo .cf-header-actions{grid-column:1/-1;justify-self:center}

/* CF Computer: prevent the temporary pale background during classic sticky activation.
   Keep logo/height transitions, but switch the color backing layer immediately. */
.site-header.header-classic.header-sticky[data-sticky-scroll="color"]{
  transition:color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease;
}
.site-header.header-classic.header-sticky[data-sticky-scroll="color"]::before{
  transition:none;
}
