.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-2 .elementor-element.elementor-element-837ba482 .elementor-icon-wrapper{text-align:start;}.elementor-2 .elementor-element.elementor-element-691a7986 .elementor-icon-wrapper{text-align:start;}.elementor-2 .elementor-element.elementor-element-b6c20a04 .elementor-icon-wrapper{text-align:start;}.elementor-2 .elementor-element.elementor-element-328915d8 .elementor-icon-wrapper{text-align:start;}.elementor-2 .elementor-element.elementor-element-fc3b0ea2 .elementor-icon-wrapper{text-align:start;}.elementor-2 .elementor-element.elementor-element-5e57fac4 .elementor-icon-wrapper{text-align:start;}.elementor-2 .elementor-element.elementor-element-c7a81a7 .elementor-icon-wrapper{text-align:center;}.elementor-2 .elementor-element.elementor-element-c7a81a7 .elementor-icon{font-size:78px;}.elementor-2 .elementor-element.elementor-element-c7a81a7 .elementor-icon svg{height:78px;}/* Start custom CSS *//* MAZZ – stili specifici del documento Elementor 2, migrati dal child. */
.elementor .mazz-fh { --fh-ink: #24292c; --fh-muted: #658399; --fh-line: #dee3e6; --fh-surface: #f4f6f7; --fh-body: 'Hanken Grotesk',sans-serif; --fh-display: 'Bricolage Grotesque',sans-serif; --fh-inter: 'Hanken Grotesk',sans-serif; --fh-edge: max(24px,calc((100vw - 1280px)/2)); width: 100%; padding: 0px; margin: 0px; background: white; color: var(--fh-ink); font-family: var(--fh-body); font-size: 18px; line-height: 1.45; }
.elementor .mazz-fh [data-e-type] { min-width: 0px; box-sizing: border-box; padding: 0px; margin: 0px; }
.elementor .mazz-fh :is(p, h1, h2, h3) { padding: 0px; margin: 0px; color: var(--fh-ink); }
.elementor .mazz-fh p { font: 400 18px/1.45 var(--fh-body); }
.elementor .mazz-fh h1 { font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-variant-alternates: ; font-variant-position: ; font-variant-emoji: ; font-weight: ; font-stretch: ; font-size: ; line-height: ; font-family: ; font-optical-sizing: ; font-size-adjust: ; font-kerning: ; font-feature-settings: ; font-language-override: ; letter-spacing: 0px; font-variation-settings: "opsz" 14, "wdth" 100; }
.elementor .mazz-fh h2 { font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-variant-alternates: ; font-variant-position: ; font-variant-emoji: ; font-weight: ; font-stretch: ; font-size: ; line-height: ; font-family: ; font-optical-sizing: ; font-size-adjust: ; font-kerning: ; font-feature-settings: ; font-language-override: ; letter-spacing: 0px; font-variation-settings: "opsz" 14, "wdth" 100; }
.elementor .mazz-fh h3 { font: 700 22px/1.15 var(--fh-inter); letter-spacing: 0px; }
.elementor .mazz-fh a { color: inherit; text-decoration: none; }
.elementor .mazz-fh .mazz-section { width: 100%; padding: 60px 0px; margin: 0px; }
.elementor .mazz-fh .mazz-inner { padding-inline: var(--fh-edge); }
.elementor .mazz-fh .mazz-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.elementor .mazz-fh .mazz-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.elementor .mazz-fh .mazz-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: 600 16px/21px var(--fh-body); color: rgb(255, 255, 255); background: var(--fh-ink); padding: 16px 24px; min-height: 53px; max-width: 100%; border: 0px; border-radius: 32px; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; }
.elementor .mazz-fh .mazz-button-secondary { color: var(--fh-ink); background: rgb(255, 255, 255); box-shadow: inset 0 0 0 1px var(--fh-line); }
.elementor .mazz-fh a:focus-visible { outline: rgb(101, 131, 153) solid 3px; outline-offset: 4px; }
.elementor .mazz-fh .mazz-button:hover { background: rgb(62, 70, 76); color: white; }
.elementor .mazz-fh .mazz-button-secondary:hover { background: rgb(244, 246, 247); color: var(--fh-ink); }
.elementor .mazz-fh .mazz-hero { position: relative; min-height: 681px; display: flex; align-items: center; padding: 0px; overflow: hidden; }
.elementor .mazz-fh .mazz-hero-image { position: absolute; inset: -0.07% 0px 0px; width: 100%; height: 119.01%; max-width: none; object-fit: cover; object-position: center center; pointer-events: none; }
.elementor .mazz-fh .mazz-hero-message { position: relative; z-index: 1; gap: 24px; width: calc(640px + max(0px, -720px + 50vw)); padding: 64px 24px 64px var(--fh-edge); }
.elementor .mazz-fh .mazz-hero .mazz-button:first-child { min-width: 184px; }
.elementor .mazz-fh .mazz-hero .mazz-button-secondary { min-width: 185px; }
.elementor .mazz-fh .mazz-approach { display: grid; grid-template-columns: 589fr 552fr; gap: 48px; align-items: center; padding-right: calc(var(--fh-edge) + 91px); }
.elementor .mazz-fh .mazz-approach-content { gap: 16px; }
.elementor .mazz-fh .mazz-eyebrow { font: 700 14px / 21px Hanken Grotesk, sans-serif; color: var(--fh-muted); }
.elementor .mazz-fh .mazz-approach-title { font-size: 40px; line-height: 1.1; }
.elementor .mazz-fh .mazz-approach-crop { position: relative; width: 100%; aspect-ratio: 552 / 336; overflow: hidden; }
.elementor .mazz-fh .mazz-approach-image { position: absolute; left: 21.44%; top: -11.32%; width: 140.77%; height: 230.39%; max-width: none; object-fit: fill; }
.elementor .mazz-fh .mazz-audience { gap: 24px; }
.elementor .mazz-fh .mazz-audience-grid { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 24px; }
.elementor .mazz-fh .mazz-audience-card { padding: 24px; border-radius: 16px; min-height: 304px; gap: 16px; }
.elementor .mazz-fh .mazz-card-ragazzo { background: rgb(240, 246, 237); }
.elementor .mazz-fh .mazz-card-genitori { background: rgb(245, 234, 246); }
.elementor .mazz-fh .mazz-card-sostenitore { background: rgb(255, 241, 227); }
.elementor .mazz-fh .mazz-symbol { display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; flex: 0 0 auto; border-radius: 40px; }
.elementor .mazz-fh .mazz-audience-icon { display: block; width: 40px; height: 40px; object-fit: contain; flex: 0 0 auto; }
.elementor .mazz-fh .elementor-widget-icon { padding: 0px; margin: 0px !important; }
.elementor .mazz-fh .elementor-widget-icon .elementor-icon-wrapper { line-height: 1; text-align: left; }
.elementor .mazz-fh .elementor-widget-icon .elementor-icon { display: block; padding: 0px; font-size: 40px; line-height: 1; color: currentcolor; }
.elementor .mazz-fh .elementor-widget-icon .elementor-icon :is(i, svg) { display: block; width: 1em; height: 1em; fill: currentcolor; }
.elementor .mazz-fh .mazz-card-ragazzo .mazz-symbol { color: rgb(113, 168, 98); }
.elementor .mazz-fh .mazz-card-genitori .mazz-symbol { color: rgb(189, 118, 181); }
.elementor .mazz-fh .mazz-card-sostenitore .mazz-symbol { color: rgb(243, 152, 66); }
.elementor .mazz-fh .mazz-audience-card p { font-size: 16px; line-height: 1.4; }
.elementor .mazz-fh .mazz-circle-arrow { display: flex; width: 40px; height: 40px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 20px; background: var(--fh-ink); color: white; font: 400 24px/1 var(--fh-inter); }
.elementor .mazz-fh .mazz-audience-card:hover { box-shadow: rgba(36, 41, 44, 0.07) 0px 4px 18px; }
.elementor .mazz-fh .mazz-outcomes { display: grid; grid-template-columns: 568fr 648fr; gap: 64px; align-items: start; }
.elementor .mazz-fh .mazz-outcomes-list { width: 100%; }
.elementor .mazz-fh .mazz-outcome { display: flex; align-items: center; gap: 24px; width: 100%; padding: 16px 24px; border-radius: 32px; background: var(--fh-surface); min-height: 64px; }
.elementor .mazz-fh .mazz-outcome-icon { width: 32px; height: 32px; flex: 0 0 auto; object-fit: contain; }
.elementor .mazz-fh .mazz-outcome-icon .elementor-icon { font-size: 32px; color: var(--fh-muted); }
.elementor .mazz-fh p.mazz-outcome-label { flex: 1 1 0%; font: 600 20px/1.2 var(--fh-inter); color: var(--fh-muted); }
.elementor .mazz-fh .mazz-outcome-arrow { color: var(--fh-muted); font: 400 24px/1 var(--fh-inter); }
.elementor .mazz-fh .mazz-outcome:hover { background: rgb(233, 239, 243); }
.elementor .mazz-fh .mazz-manifesto { display: grid; grid-template-columns: 712fr 624fr; gap: 48px; align-items: center; padding-right: 56px; }
.elementor .mazz-fh .mazz-manifesto-crop { position: relative; width: 100%; aspect-ratio: 712 / 320; overflow: hidden; background: white; }
.elementor .mazz-fh .mazz-manifesto-image { position: absolute; left: -0.0864%; top: 0px; width: 96.802%; height: 105%; max-width: none; object-fit: cover; }
.elementor .mazz-fh .mazz-manifesto-content { padding: 32px 80px 32px 0px; }
.elementor .mazz-fh .mazz-inter-heading { font-family: var(--fh-inter); }
.elementor .mazz-fh .mazz-banner { padding-inline: max(24px, -512px + 50vw); }
.elementor .mazz-fh .mazz-banner-box { position: relative; width: 100%; background: var(--fh-ink); border-radius: 16px; padding: 32px; align-items: center; text-align: center; overflow: hidden; }
.elementor .mazz-fh .mazz-banner-box h2 { color: white; font-size: 28px; line-height: 34px; }
.elementor .mazz-fh .mazz-banner-box p { color: white; font-size: 16px; line-height: 21px; }
.elementor .mazz-fh .mazz-plane-crop { position: absolute; right: 32px; bottom: 24px; width: 80px; height: 96px; overflow: hidden; background: rgb(255, 255, 255); pointer-events: none; }
.elementor .mazz-fh .mazz-plane-image { position: absolute; width: 2258.82px; height: 1694.12px; left: -792.941px; top: -1406.12px; max-width: none; object-fit: cover; }
.elementor .mazz-fh .mazz-banner-box .mazz-button { position: relative; z-index: 1; }
.elementor .mazz-fh .mazz-contact { position: relative; min-height: 608px; padding: 300px 24px 59px; display: flex; justify-content: center; align-items: flex-end; overflow: hidden; }
.elementor .mazz-fh .mazz-contact-image { position: absolute; left: 0.02%; top: -8.35%; width: 100%; height: 124.34%; max-width: none; object-fit: cover; }
.elementor .mazz-fh .mazz-contact-box { position: relative; z-index: 1; width: min(1164px, 100%); padding: 40px; border-radius: 15px; background: rgba(255, 255, 255, 0.65); align-items: center; text-align: center; gap: 12px; }
.elementor .mazz-fh .mazz-contact-box h2 { font-size: 30px; line-height: 1.04; color: rgb(38, 35, 32); }
.elementor .mazz-fh .mazz-contact-box p { font: 500 18px / 1.5 Hanken Grotesk, sans-serif; color: rgb(38, 35, 32); padding: 10px 0px 24px; }
.elementor .mazz-fh .mazz-contact-box .mazz-button { font-family: Hanken Grotesk, sans-serif; padding-inline: 22px; border-radius: 36px; }
body:has(.mazz-fh) { background: white; }
@media (max-width: 1199px) {
.elementor .mazz-fh .mazz-approach { padding-right: var(--fh-edge); grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 1199px) {
.elementor .mazz-fh .mazz-hero-message { width: 54%; }
}
@media (max-width: 1199px) {
.elementor .mazz-fh h1 { font-size: 46px; }
}
@media (max-width: 1199px) {
.elementor .mazz-fh .mazz-manifesto { padding-right: 24px; gap: 32px; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1199px) {
.elementor .mazz-fh .mazz-manifesto-content { padding-right: 0px; }
}
@media (max-width: 1199px) {
.elementor .mazz-fh .mazz-outcomes { gap: 32px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-section { padding: 40px 24px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh h1 { font-size: 36px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh h2, .elementor .mazz-fh .mazz-approach-title { font-size: 30px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-hero { display: flex; flex-direction: column; align-items: stretch; padding: 0px; min-height: 0px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-hero-image { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 1.15 / 1; object-fit: cover; object-position: 100% center; order: 1; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-hero-message { width: 100%; padding: 36px 24px; order: 2; gap: 20px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-approach, .elementor .mazz-fh .mazz-audience-grid, .elementor .mazz-fh .mazz-outcomes, .elementor .mazz-fh .mazz-manifesto { display: grid; grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-audience-card { min-height: 304px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-manifesto { padding-inline: 0px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-manifesto-content { padding: 0px 24px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-outcome { gap: 16px; padding: 16px 20px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh p.mazz-outcome-label { font-size: 18px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-banner-box { padding: 28px 24px 112px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-banner-box h2 { font-size: 25px; line-height: 1.2; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-plane-crop { right: 24px; bottom: 12px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-contact { min-height: 500px; padding: 220px 20px 40px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-contact-image { inset: 0px; height: 100%; object-fit: cover; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-contact-box { padding: 28px 20px; background: rgba(255, 255, 255, 0.8); }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-contact-box h2 { font-size: 28px; }
}
.elementor .mazz-fh { --fh-muted: var(--primario); --fh-display: var(--titoli),sans-serif; --fh-inter: var(--titoli),sans-serif; }
.elementor .mazz-fh .mazz-eyebrow { font-family: var(--fh-display); color: var(--primario); }
.elementor .mazz-fh :is(h1, h2, h3, .mazz-inter-heading, .mazz-outcome-label) { font-family: var(--fh-display); }
.elementor .mazz-fh img.mazz-empty-image:not([src]), .elementor .mazz-fh img.mazz-empty-image[src=""], .elementor .mazz-fh img.mazz-empty-image[src*="placeholder"] { visibility: hidden; }
.elementor .mazz-fh :is(.mazz-hero, .mazz-contact, .mazz-approach-crop, .mazz-manifesto-crop) { background: rgb(244, 246, 247); }
.elementor .mazz-fh :is(.mazz-approach-image, .mazz-manifesto-image, .mazz-plane-image) { inset: 0px; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .mazz-fh .mazz-plane-crop { background: transparent; border: 1px dashed rgba(255, 255, 255, 0.314); }
.elementor .mazz-fh .mazz-approach-crop { background: rgb(255, 255, 255); overflow: visible; }
.elementor .mazz-fh .mazz-approach-image { position: relative; inset: auto; display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; object-position: center center; }
.elementor .mazz-fh [data-id="9b9cf348"] { font: 700 16px/1.4 var(--fh-display); color: var(--primario); }
.elementor .mazz-fh [data-id="92e10d16"] { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 9px 16px; border-radius: 999px; background: rgb(233, 235, 238); color: var(--primario); font: 700 14px/1.3 var(--fh-body); }
.elementor .mazz-fh [data-id="92e10d16"]::before { content: ""; display: block; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: currentcolor; animation: 2s ease-in-out 0s infinite normal none running mazz-iscrizioni-pulse; }
@media (prefers-reduced-motion: reduce) {
.elementor .mazz-fh [data-id="92e10d16"]::before { animation: auto ease 0s 1 normal none running none; }
}
@media (max-width: 767px) {
.elementor .mazz-fh [data-id="92e10d16"] { font-size: 14px; }
}
.elementor .mazz-fh .mazz-plane-crop { display: flex; align-items: center; justify-content: center; padding: 0px; border: 0px; background: transparent; width: 80px; height: 80px; }
.elementor .mazz-fh .mazz-plane-crop .elementor-icon { display: block; font-size: 72px; color: rgb(255, 255, 255); }
.elementor .mazz-fh .mazz-plane-crop svg { display: block; width: 1em; height: 1em; fill: rgb(255, 255, 255); }
.elementor .mazz-fh .mazz-approach { align-items: stretch; }
.elementor .mazz-fh .mazz-approach-crop { align-self: stretch; aspect-ratio: auto; height: auto; min-height: 0px; width: 100%; max-width: none; overflow: visible; }
.elementor .mazz-fh .mazz-approach-image { position: absolute; inset: 0px; display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; object-position: center center; }
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-approach-crop { aspect-ratio: 1 / 1; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-plane-crop { width: 44px; height: 44px; right: 16px; bottom: 16px; }
}
@media (max-width: 767px) {
.elementor .mazz-fh .mazz-plane-crop .elementor-icon { font-size: 42px; }
}/* End custom CSS */