.elementor-872 .elementor-element.elementor-element-f8ff583{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:-43px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-872 .elementor-element.elementor-element-f8ff583:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-f8ff583 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0E1B2D;}.elementor-872 .elementor-element.elementor-element-d9b0df6{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-872 .elementor-element.elementor-element-056c669 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:74px;font-weight:400;line-height:82px;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-872 .elementor-element.elementor-element-dbeff52{font-family:"Cormorant Garamond", Sans-serif;font-size:22px;font-weight:500;line-height:32px;color:#5EC29C;}.elementor-872 .elementor-element.elementor-element-0a8f35c{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;color:#DFDFDF;}.elementor-872 .elementor-element.elementor-element-ab1eb25{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;color:#DFDFDF;}.elementor-872 .elementor-element.elementor-element-5009f0e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-872 .elementor-element.elementor-element-8a4d83b{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-872 .elementor-element.elementor-element-e3be417 img{height:600px;object-fit:cover;object-position:top left;}.elementor-872 .elementor-element.elementor-element-36b7ae9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-872 .elementor-element.elementor-element-5c590ef{--display:flex;}.elementor-872 .elementor-element.elementor-element-2649ba4{--display:flex;}.elementor-872 .elementor-element.elementor-element-03adfba{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--grid-auto-flow:row;}.elementor-widget-counter .elementor-counter-number-wrapper{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-counter .elementor-counter-title{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-872 .elementor-element.elementor-element-4d095e0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-4d095e0:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-4d095e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFAF7;}.elementor-872 .elementor-element.elementor-element-aadbd6f{--display:flex;}.elementor-872 .elementor-element.elementor-element-2a8985b .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#181818;}.elementor-872 .elementor-element.elementor-element-a9f109a{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-665dc05{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-ac66113{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-918c1cc{--display:flex;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-a94d902{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-9f18bf7{--display:flex;--overlay-opacity:0.84;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-872 .elementor-element.elementor-element-9f18bf7::before, .elementor-872 .elementor-element.elementor-element-9f18bf7 > .elementor-background-video-container::before, .elementor-872 .elementor-element.elementor-element-9f18bf7 > .e-con-inner > .elementor-background-video-container::before, .elementor-872 .elementor-element.elementor-element-9f18bf7 > .elementor-background-slideshow::before, .elementor-872 .elementor-element.elementor-element-9f18bf7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-872 .elementor-element.elementor-element-9f18bf7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#0B1626;--background-overlay:'';}.elementor-872 .elementor-element.elementor-element-1776a32 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#FFFFFF;}.elementor-872 .elementor-element.elementor-element-60e03ca{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-39c2537{--display:flex;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-39c2537:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-39c2537 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1626;}.elementor-872 .elementor-element.elementor-element-e3a2326 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#FFFFFF;}.elementor-872 .elementor-element.elementor-element-049a059{width:var( --container-widget-width, 55% );max-width:55%;--container-widget-width:55%;--container-widget-flex-grow:0;font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#B9B9B9;}.elementor-872 .elementor-element.elementor-element-d4e0f14{width:var( --container-widget-width, 55% );max-width:55%;--container-widget-width:55%;--container-widget-flex-grow:0;font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#B9B9B9;}.elementor-872 .elementor-element.elementor-element-64084b8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-64084b8:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-64084b8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1626;}.elementor-872 .elementor-element.elementor-element-04c9719{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-872 .elementor-element.elementor-element-e835efa{--display:grid;--e-con-grid-template-columns:repeat(7, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;--justify-items:center;--align-items:center;}.elementor-872 .elementor-element.elementor-element-94f11b9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-94f11b9:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-94f11b9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1626;}.elementor-872 .elementor-element.elementor-element-3cd17d0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-5e125a5{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-060d0c8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-060d0c8:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-060d0c8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFAF7;}.elementor-872 .elementor-element.elementor-element-7ed8936{--display:flex;}.elementor-872 .elementor-element.elementor-element-37df0d6 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#181818;}.elementor-872 .elementor-element.elementor-element-5b56fb0{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-63e540d{--display:flex;}.elementor-872 .elementor-element.elementor-element-49bcb85{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-49bcb85:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-49bcb85 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFAF7;}.elementor-872 .elementor-element.elementor-element-b1003f1{--display:flex;}.elementor-872 .elementor-element.elementor-element-939e67b .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#181818;}.elementor-872 .elementor-element.elementor-element-6902a77{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-b60476f{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-0d997df{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-d6a0fae{--display:flex;}.elementor-872 .elementor-element.elementor-element-3d4e49f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-3d4e49f:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-3d4e49f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFAF7;}.elementor-872 .elementor-element.elementor-element-75747ab{--display:flex;}.elementor-872 .elementor-element.elementor-element-f0543be .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:50px;font-weight:400;line-height:67px;color:#031320;}.elementor-872 .elementor-element.elementor-element-8fafd85{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-d8273a9{font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#6E7887;}.elementor-872 .elementor-element.elementor-element-8e85b9a{--display:flex;}.elementor-872 .elementor-element.elementor-element-54daf1c img{height:600px;object-fit:cover;object-position:top left;}.elementor-872 .elementor-element.elementor-element-15594cc{--display:flex;--overlay-opacity:0.84;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-872 .elementor-element.elementor-element-15594cc::before, .elementor-872 .elementor-element.elementor-element-15594cc > .elementor-background-video-container::before, .elementor-872 .elementor-element.elementor-element-15594cc > .e-con-inner > .elementor-background-video-container::before, .elementor-872 .elementor-element.elementor-element-15594cc > .elementor-background-slideshow::before, .elementor-872 .elementor-element.elementor-element-15594cc > .e-con-inner > .elementor-background-slideshow::before, .elementor-872 .elementor-element.elementor-element-15594cc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#0B1626;--background-overlay:'';}.elementor-872 .elementor-element.elementor-element-8fe95c7 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#FFFFFF;}.elementor-872 .elementor-element.elementor-element-4bb937a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-6a8e37f{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-72a9934{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-72a9934:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-72a9934 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFAF7;}.elementor-872 .elementor-element.elementor-element-b22c32b{--display:flex;}.elementor-872 .elementor-element.elementor-element-7a5b908 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#181818;}.elementor-872 .elementor-element.elementor-element-9e4815f{--display:flex;}.elementor-872 .elementor-element.elementor-element-f24be56{--display:flex;--min-height:100vh;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-f24be56:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-f24be56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFAF7;}.elementor-872 .elementor-element.elementor-element-6066c51 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#0B1626;}.elementor-872 .elementor-element.elementor-element-baeaac5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-d74d83c{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-17f913b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-872 .elementor-element.elementor-element-9dabad8{--display:flex;}.elementor-872 .elementor-element.elementor-element-176498e{--display:flex;--justify-content:center;}.elementor-872 .elementor-element.elementor-element-eb6ccf0{--display:flex;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-872 .elementor-element.elementor-element-465e260 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-872 .elementor-element.elementor-element-465e260 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-872 .elementor-element.elementor-element-465e260 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-872 .elementor-element.elementor-element-465e260 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-field-type-html{padding-bottom:0px;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-button[type="submit"]{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-465e260{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-872 .elementor-element.elementor-element-df093fa{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb-card__media{aspect-ratio:1.35;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb-foot{justify-content:center;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb-card__body{padding:28px;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb-card{border-radius:0px;--lift:-6px;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb{--stagger:0.09s;--slmd-pad:88px;--slmd-ink:#0A1220;--slmd-ink-2:#111C2E;--slmd-card:#0E1A2B;--slmd-card-2:#111F33;--slmd-ivory:#F6F4EE;--slmd-body:#B9C2CF;--slmd-muted:#8A94A3;--slmd-accent:#909CD5;--slmd-accent-lt:#C3D0DE;--slmd-fill:#0b174f;--slmd-on-accent:#F6F4EE;--slmd-line:rgba(246,244,238,0.10);}.elementor-872 .elementor-element.elementor-element-a2e9c9b{--display:flex;--min-height:600px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:0.64;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-a2e9c9b:not(.elementor-motion-effects-element-type-background), .elementor-872 .elementor-element.elementor-element-a2e9c9b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F2EC;background-image:url("https://studiolembo.com/wp-content/uploads/2026/07/WhatsApp-Image-2026-07-24-at-12.11.46-PM.jpeg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-872 .elementor-element.elementor-element-a2e9c9b::before, .elementor-872 .elementor-element.elementor-element-a2e9c9b > .elementor-background-video-container::before, .elementor-872 .elementor-element.elementor-element-a2e9c9b > .e-con-inner > .elementor-background-video-container::before, .elementor-872 .elementor-element.elementor-element-a2e9c9b > .elementor-background-slideshow::before, .elementor-872 .elementor-element.elementor-element-a2e9c9b > .e-con-inner > .elementor-background-slideshow::before, .elementor-872 .elementor-element.elementor-element-a2e9c9b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#07091A;--background-overlay:'';}.elementor-872 .elementor-element.elementor-element-90eb424{width:var( --container-widget-width, 65% );max-width:65%;--container-widget-width:65%;--container-widget-flex-grow:0;text-align:center;}.elementor-872 .elementor-element.elementor-element-90eb424 .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:51px;font-weight:400;line-height:57px;color:#FFFFFF;}.elementor-872 .elementor-element.elementor-element-1b182aa{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:center;font-family:"Hanken Grotesk", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#FFFFFF;}@media(max-width:1024px){.elementor-872 .elementor-element.elementor-element-03adfba{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-60e03ca{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-e835efa{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-5e125a5{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-6a8e37f{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-d74d83c{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(min-width:768px){.elementor-872 .elementor-element.elementor-element-f8ff583{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-36b7ae9{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-4d095e0{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-9f18bf7{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-39c2537{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-94f11b9{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-060d0c8{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-49bcb85{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-3d4e49f{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-15594cc{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-72a9934{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-f24be56{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-17f913b{--content-width:1200px;}.elementor-872 .elementor-element.elementor-element-a2e9c9b{--content-width:1200px;}}@media(max-width:767px){.elementor-872 .elementor-element.elementor-element-056c669 .elementor-heading-title{font-size:30px;}.elementor-872 .elementor-element.elementor-element-dbeff52{font-size:22px;line-height:26px;}.elementor-872 .elementor-element.elementor-element-0a8f35c{font-size:17px;}.elementor-872 .elementor-element.elementor-element-ab1eb25{font-size:17px;}.elementor-872 .elementor-element.elementor-element-e3be417 img{height:300px;}.elementor-872 .elementor-element.elementor-element-03adfba{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-a9f109a{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-665dc05{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-ac66113{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-60e03ca{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-049a059{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-d4e0f14{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-e835efa{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-5e125a5{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-5b56fb0{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-6902a77{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-b60476f{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-0d997df{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-f0543be .elementor-heading-title{font-size:30px;line-height:40px;}.elementor-872 .elementor-element.elementor-element-8fafd85{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-d8273a9{width:100%;max-width:100%;padding:13px 13px 13px 13px;}.elementor-872 .elementor-element.elementor-element-54daf1c img{height:300px;}.elementor-872 .elementor-element.elementor-element-6a8e37f{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-d74d83c{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-30ee048 .slmb-grid{grid-template-columns:repeat(1,minmax(0,1fr));}}/* Start custom CSS for container, class: .elementor-element-f8ff583 *//* ============================================================
   HERO — .herosectionlembo  ·  Damiano Lembo
   Matched to the live markup:

     .herosectionlembo > .e-con-inner
        ├ .e-child #1  → heading + 3 text-editors
        │                 └ NESTED .e-child → 2 × button
        └ .e-child #2  → .imageani (1024×682)

   Notes on this section's quirks:
   • the heading has NO .headlineanm class, so it is targeted
     through the heading widget itself
   • the button row is a NESTED .e-child inside the text column,
     so all column rules use ">" to avoid catching it
   • TEXT is left, IMAGE is right (reversed vs the other sections)

   READING ORDER in the text column:
     NAME  →  .sptext (credentials)  →  accent rule  →  paragraphs
   The accent rule is drawn by .sptext::after, NOT by the heading,
   so it always lands beneath the credentials line.

   Dark navy ground + navy accent family. No JS required.
   ============================================================ */

.herosectionlembo{
  --ink:#0A1220;
  --ink2:#111C2E;
  --ivory:#F6F4EE;
  --body:#C3CCD8;
  --muted:#8A94A3;
  /* Navy accent family — #0b174f fills, tints for text on dark */
  --navy:#0b174f;
  --navy-lt:#1832aa;
  --accent:#909CD5;
  --accent-lt:#C3D0DE;
  --accent-dk:#5A7290;
  /* the credentials line: periwinkle — 9.4:1 on this ground and
     clearly distinct from --body. No gold, no green. */
  --sptext:#A9B6E8;
  --line:rgba(246,244,238,.12);
  --img-h:560px;              /* desktop image height */
  --header-h:88px;            /* fixed site header — 72px when scrolled */
  --fd:'Marcellus',Georgia,'Times New Roman',serif;
  --fs:'Hanken Grotesk',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);

  position:relative;isolation:isolate;
  overflow:visible !important;
  overflow-x:clip !important;
  /* FIXED-HEADER CLEARANCE: the site header is position:fixed and sits
     OVER the top of the page, so the section has to clear its height
     before any breathing room starts. */
  padding:calc(var(--header-h) + clamp(48px,5.5vw,90px)) 0 clamp(70px,9vw,130px) !important;
  font-family:var(--fs);color:var(--body);
  background-color:transparent !important;
  background-image:
    radial-gradient(110% 80% at 88% -10%,rgba(144,156,213,.14),transparent 56%),
    radial-gradient(90% 80% at -8% 106%,rgba(62,92,140,.20),transparent 60%),
    linear-gradient(168deg,var(--ink2) 0%,var(--ink) 58%,#070C16 100%) !important;
}

/* top + bottom hairlines */
.herosectionlembo::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:4;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--accent-dk) 20%,var(--accent) 50%,var(--accent-dk) 80%,transparent);
  opacity:.65;
}
/* oversized initial behind the composition */
.herosectionlembo::after{
  content:"DL";
  position:absolute;left:-1%;bottom:-8%;z-index:0;
  font-family:var(--fd);font-size:clamp(9rem,22vw,20rem);line-height:.78;
  color:rgba(246,244,238,.028);pointer-events:none;user-select:none;
  letter-spacing:-.03em;white-space:nowrap;
}

/* ---------- two columns: TEXT left, IMAGE right ---------- */
.herosectionlembo > .e-con-inner{
  position:relative;z-index:1;overflow:visible !important;
  width:min(1240px,92vw) !important;margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  gap:clamp(40px,5vw,80px) !important;
  align-items:center !important;
}
/* grid items must be able to shrink below the image's intrinsic width */
.herosectionlembo > .e-con-inner > .e-child{min-width:0 !important}

/* hide an HTML widget that only carries style/script */
.herosectionlembo .elementor-widget-html:has(style),
.herosectionlembo .elementor-widget-html:has(script){display:none !important}

/* ============================================================
   LEFT — TEXT COLUMN
   ============================================================ */
.herosectionlembo > .e-con-inner > .e-child:first-child{
  gap:0 !important;
  animation:hero-rise .9s var(--ease) .05s both;
}
@keyframes hero-rise{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:none}
}

/* the name — heading widget has no .headlineanm here */
.herosectionlembo .elementor-widget-heading .elementor-heading-title{
  font-family:var(--fd) !important;font-weight:400 !important;
  font-size:clamp(2.6rem,6vw,4.6rem) !important;
  line-height:1.02 !important;letter-spacing:-.02em;
  color:var(--ivory) !important;
  margin:0 0 14px !important;
}
/* NO rule under the heading — it belongs under .sptext instead, so the
   credentials line sits between the name and the rule. */
.herosectionlembo .elementor-widget-heading::after{content:none !important}

/* ============================================================
   THE CREDENTIALS LINE (.sptext)
   Small, upright (never italic), periwinkle. The accent rule is
   drawn beneath it, giving NAME → SPTEXT → RULE.
   ============================================================ */
.herosectionlembo > .e-con-inner > .e-child:first-child > .sptext,
.herosectionlembo .sptext,
.herosectionlembo .sptext p{
  font-family:var(--fs) !important;   /* sans — not the display serif */
  font-style:normal !important;       /* never italic */
  font-size:clamp(.82rem,1.05vw,.92rem) !important;
  font-weight:600 !important;
  line-height:1.7 !important;
  letter-spacing:.04em !important;
  color:var(--sptext) !important;
  max-width:52ch !important;
  margin:0 !important;
  padding:0 !important;
}
/* the accent rule, drawn AFTER the credentials line */
.herosectionlembo > .e-con-inner > .e-child:first-child > .sptext::after,
.herosectionlembo .sptext::after{
  content:"";display:block;
  width:64px;height:2px;border-radius:2px;
  margin:18px 0 26px;
  background:linear-gradient(90deg,var(--accent),var(--accent-dk));
  transform-origin:left;transform:scaleX(0);
  animation:hero-rule .9s var(--ease) .45s forwards;
}
@keyframes hero-rule{to{transform:scaleX(1)}}

/* ---------- the intro paragraphs ---------- */
.herosectionlembo > .e-con-inner > .e-child:first-child > .elementor-widget-text-editor:not(.sptext){
  font-family:var(--fs);
  font-size:1.02rem !important;line-height:1.78 !important;
  color:var(--body) !important;
  max-width:56ch;margin:0 0 16px !important;
}
.herosectionlembo > .e-con-inner > .e-child:first-child > .elementor-widget-text-editor:not(.sptext):last-of-type{
  color:var(--muted) !important;
}
.herosectionlembo .elementor-widget-text-editor p{margin:0 !important}

/* ---------- the NESTED button row ---------- */
.herosectionlembo > .e-con-inner > .e-child:first-child > .e-child{
  display:flex !important;flex-direction:row !important;flex-wrap:wrap;
  align-items:center;
  gap:14px !important;
  width:auto !important;max-width:none !important;
  margin-top:clamp(26px,3vw,38px) !important;
  padding:0 !important;background:none !important;
}
.herosectionlembo .elementor-widget-button{width:auto !important;margin:0 !important}

.herosectionlembo .elementor-button{
  display:inline-flex !important;align-items:center;gap:12px;
  font-family:var(--fs) !important;
  font-size:.8rem !important;font-weight:700 !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;
  border-radius:100px !important;
  padding:16px 30px !important;
  transition:background .35s var(--ease),color .35s var(--ease),
             transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.herosectionlembo .elementor-button::after{
  content:"";width:16px;height:1px;background:currentColor;position:relative;
  transition:width .35s var(--ease);
}
.herosectionlembo .elementor-button:hover::after{width:26px}

/* first button = primary (filled navy).
   The label is ivory, not near-black: dark text on a #0b174f fill
   would be unreadable. */
.herosectionlembo .elementor-widget-button:first-of-type .elementor-button{
  color:var(--ivory) !important;
  background:var(--navy) !important;
  border:1px solid var(--accent-dk) !important;
  box-shadow:0 16px 34px -16px rgba(144,156,213,.4);
}
.herosectionlembo .elementor-widget-button:first-of-type .elementor-button:hover{
  background:var(--navy-lt) !important;border-color:var(--accent) !important;
  transform:translateY(-2px);
  box-shadow:0 22px 42px -18px rgba(144,156,213,.5);
}
/* second button = secondary (outline) */
.herosectionlembo .elementor-widget-button:last-of-type .elementor-button{
  color:var(--ivory) !important;
  background:transparent !important;
  border:1px solid var(--line) !important;
}
.herosectionlembo .elementor-widget-button:last-of-type .elementor-button:hover{
  border-color:var(--accent) !important;color:var(--accent-lt) !important;
  transform:translateY(-2px);
  background:rgba(144,156,213,.09) !important;
}

/* ============================================================
   RIGHT — IMAGE COLUMN
   ============================================================ */
.herosectionlembo > .e-con-inner > .e-child:last-child{
  gap:0 !important;
  animation:hero-img .95s var(--ease) .2s both;
}
@keyframes hero-img{
  from{opacity:0;transform:translateY(24px) scale(.985)}
  to{opacity:1;transform:none}
}
.herosectionlembo .imageani{
  position:relative;width:100% !important;max-width:100% !important;margin:0 !important;
}
.herosectionlembo .imageani img{
  display:block;
  width:100% !important;max-width:100% !important;
  height:var(--img-h) !important;
  object-fit:cover;object-position:center;
  border-radius:16px;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.85);
}
/* accent frame offset behind the photo */
.herosectionlembo .imageani::before{
  content:"";position:absolute;z-index:-1;
  right:-18px;bottom:-18px;width:100%;height:var(--img-h);
  border:1px solid var(--accent-dk);border-radius:16px;
  opacity:0;transform:translate(-10px,10px);
  animation:hero-frame 1s var(--ease) .5s forwards;
}
@keyframes hero-frame{to{opacity:.6;transform:none}}
/* soft glow behind the image */
.herosectionlembo .imageani::after{
  content:"";position:absolute;inset:-8%;z-index:-2;pointer-events:none;
  background:radial-gradient(closest-side,rgba(144,156,213,.16),transparent 72%);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .herosectionlembo > .e-con-inner{
    grid-template-columns:1fr !important;
    gap:clamp(34px,5vw,48px) !important;
    align-items:start !important;
  }
  /* image first on tablet/mobile reads better for a profile hero */
  .herosectionlembo > .e-con-inner > .e-child:last-child{order:-1}
  .herosectionlembo{--img-h:400px}
}
@media(max-width:980px){
  .herosectionlembo{
    --header-h:76px;
    padding-top:calc(var(--header-h) + clamp(34px,6vw,56px)) !important;
  }
}
@media(max-width:767px){
  .herosectionlembo{
    --img-h:260px;--header-h:68px;
    padding:calc(var(--header-h) + 32px) 0 60px !important;
  }
  .herosectionlembo .imageani::before{display:none}
  .herosectionlembo > .e-con-inner > .e-child:first-child > .e-child{
    flex-direction:column !important;align-items:stretch !important;
  }
  .herosectionlembo .elementor-button{justify-content:center;width:100%}
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  .herosectionlembo > .e-con-inner > .e-child,
  .herosectionlembo .imageani::before,
  .herosectionlembo .sptext::after{
    animation:none !important;opacity:1 !important;transform:none !important;
  }
  .herosectionlembo .sptext::after{transform:scaleX(1) !important}
  .herosectionlembo .imageani::before{opacity:.6 !important}
  .herosectionlembo .elementor-button:hover{transform:none}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-36b7ae9 *//* ============================================================
   IL PERCORSO — .percorso  ·  extra-premium milestone section
   Matched to the LIVE markup:

     .percorso > .e-con-inner
        ├ .e-child #1 → eyebrow + headline + 3 text-editors
        └ .e-child #2 → nested .e-grid
                          └ 3 × .elementor-widget-counter

   Counter internals (Elementor):
     .elementor-counter
       .elementor-counter-title            ← caption (comes FIRST in DOM)
       .elementor-counter-number-wrapper
         .elementor-counter-number-prefix
         .elementor-counter-number         ← the numeral
         .elementor-counter-number-suffix  ← the "+"

   The caption is re-ordered BELOW the numeral with flex order.
   The "+" is Elementor's own suffix span, so it is styled — not
   re-added — to avoid a doubled plus.

   Colour note: the decorative gold reaches only 2.69:1 on cream,
   so GOLD TEXT uses a deeper tone (5.5:1) while the bright gold
   is kept for rules, the suffix glint and sheen.
   ============================================================ */

.percorso{
  --paper:#FAF8F3;
  --navy:#0B1626;            /* numerals & headline — 17.1:1 */
  --ink:#1B2534;
  --body:#5A6675;            /* 5.5:1 */
  --caption:#55617A;         /* 5.9:1 */
  --gold:#B8935A;            /* decorative */
  --gold-lt:#D8BA84;
  --gold-txt:#7E602D;        /* gold TEXT — 5.5:1 on cream */
  --line:rgba(11,22,38,.10);
  --fd:'Marcellus',Georgia,'Times New Roman',serif;
  --fs:'Hanken Grotesk',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);

  position:relative;isolation:isolate;
  overflow:visible !important;
  overflow-x:clip !important;
  padding:clamp(80px,10vw,150px) 0 !important;
  font-family:var(--fs);color:var(--body);
  background-color:var(--paper) !important;
  background-image:
    radial-gradient(90% 70% at 96% -8%,rgba(184,147,90,.10),transparent 58%),
    radial-gradient(80% 70% at -6% 106%,rgba(11,22,38,.045),transparent 60%) !important;
}

/* hairline along the top */
.percorso::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:4;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-lt) 50%,var(--gold) 70%,transparent);
  opacity:.5;
}

/* two columns */
.percorso > .e-con-inner{
  position:relative;z-index:1;overflow:visible !important;
  width:min(1240px,92vw) !important;margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:clamp(48px,6vw,110px) !important;
  align-items:start !important;
}
.percorso > .e-con-inner > .e-child{min-width:0 !important}

/* hide an HTML widget that only carries style/script */
.percorso .elementor-widget-html:has(style):not(:has(.eyebrow)),
.percorso .elementor-widget-html:has(script):not(:has(.eyebrow)){display:none !important}

/* ============================================================
   LEFT — intro
   ============================================================ */
.percorso > .e-con-inner > .e-child:first-child{
  gap:0 !important;
  animation:perc-rise .85s var(--ease) .05s both;
}
@keyframes perc-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(min-width:1025px){
  .percorso > .e-con-inner > .e-child:first-child{
    position:sticky;top:clamp(40px,8vw,110px);
  }
}

.percorso .eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--fs);
  font-size:.7rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold-txt);margin-bottom:22px;
}
.percorso .eyebrow::before{
  content:"";width:42px;height:1px;
  background:linear-gradient(90deg,var(--gold),var(--gold-lt));
  transform-origin:left;transform:scaleX(0);
  animation:perc-eye 1s var(--ease) .3s forwards;
}
@keyframes perc-eye{to{transform:scaleX(1)}}

.percorso .elementor-widget-heading .elementor-heading-title{
  font-family:var(--fd) !important;font-weight:400 !important;
  font-size:clamp(2.1rem,4.4vw,3.4rem) !important;
  line-height:1.09 !important;letter-spacing:-.015em;
  color:var(--navy) !important;margin:0 0 26px !important;
}

.percorso > .e-con-inner > .e-child:first-child .elementor-widget-text-editor{
  font-family:var(--fs);
  font-size:1.02rem !important;line-height:1.82 !important;color:var(--body) !important;
  max-width:56ch;margin:0 0 18px !important;
}
.percorso .elementor-widget-text-editor p{margin:0 !important}

/* ============================================================
   RIGHT — the counter grid
   (an extra .e-grid is nested inside the second column)
   ============================================================ */
.percorso > .e-con-inner > .e-child:last-child{
  gap:0 !important;padding:0 !important;background:none !important;
}
.percorso .e-grid{
  display:flex !important;flex-direction:column !important;
  grid-template-columns:none !important;
  gap:0 !important;
  width:100% !important;max-width:none !important;
  padding:0 !important;background:none !important;
}

/* ---------- each counter row ---------- */
.percorso .elementor-widget-counter{
  position:relative;
  width:100% !important;margin:0 !important;
  padding:clamp(26px,3vw,40px) 0 !important;
  border-bottom:1px solid var(--line);
  animation:perc-in .8s var(--ease) var(--d,0s) both;
  transition:transform .5s var(--ease);
}
@keyframes perc-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.percorso .elementor-widget-counter:first-of-type{padding-top:0 !important}
.percorso .elementor-widget-counter:last-of-type{border-bottom:0 !important}

.percorso .elementor-widget-counter:nth-of-type(1){--d:.14s}
.percorso .elementor-widget-counter:nth-of-type(2){--d:.28s}
.percorso .elementor-widget-counter:nth-of-type(3){--d:.42s}
.percorso .elementor-widget-counter:nth-of-type(4){--d:.56s}

/* a gold rule that DRAWS itself along each divider */
.percorso .elementor-widget-counter::before{
  content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-lt) 45%,transparent 92%);
  transform:scaleX(0);transform-origin:left;
  animation:perc-rule 1.1s var(--ease) calc(var(--d,0s) + .18s) forwards;
}
@keyframes perc-rule{to{transform:scaleX(1)}}
.percorso .elementor-widget-counter:last-of-type::before{display:none}

/* ---------- re-order: NUMBER on top, CAPTION beneath ----------
   Elementor outputs the title first; flex order flips them.     */
.percorso .elementor-counter{
  display:flex !important;flex-direction:column !important;
  background:none !important;border:0 !important;
}
.percorso .elementor-counter-number-wrapper{order:1}
.percorso .elementor-counter-title{order:2}

/* ---------- THE BIG NUMERAL ---------- */
.percorso .elementor-counter-number-wrapper{
  display:flex !important;align-items:flex-start;
  font-family:var(--fd) !important;font-weight:400 !important;
  font-size:clamp(3.4rem,7.4vw,5.6rem) !important;
  line-height:.94 !important;letter-spacing:-.03em;
  color:var(--navy) !important;
  margin:0 0 14px !important;
}
/* a soft gold sheen sweeps through the navy numeral */
.percorso .elementor-counter-number{
  font-family:var(--fd) !important;font-weight:400 !important;
  color:var(--navy) !important;
  background-image:linear-gradient(100deg,
      var(--navy) 0%,var(--navy) 38%,
      #6E5A34 48%,var(--gold) 53%,#6E5A34 58%,
      var(--navy) 68%,var(--navy) 100%);
  background-size:280% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:perc-sheen 9s ease-in-out infinite;
}
@keyframes perc-sheen{
  0%{background-position:120% 50%}
  55%{background-position:-20% 50%}
  100%{background-position:-20% 50%}
}
/* Elementor's own prefix/suffix — the "+" is already in the markup,
   so it is styled here rather than added again */
.percorso .elementor-counter-number-prefix,
.percorso .elementor-counter-number-suffix{
  font-family:var(--fd) !important;
  color:var(--gold) !important;
  -webkit-text-fill-color:var(--gold);
  font-size:.42em !important;
  line-height:1.1 !important;
  align-self:flex-start;
  margin-top:.28em;
  flex:0 0 auto;
}
.percorso .elementor-counter-number-prefix{margin-right:.04em}
.percorso .elementor-counter-number-suffix{margin-left:.04em}

/* ---------- the caption beneath ---------- */
.percorso .elementor-counter-title{
  font-family:var(--fs) !important;
  font-size:.76rem !important;font-weight:600 !important;
  letter-spacing:.2em !important;text-transform:uppercase !important;
  line-height:1.7 !important;
  color:var(--caption) !important;margin:0 !important;text-align:left !important;
  transition:color .4s var(--ease),letter-spacing .5s var(--ease);
}

/* ---------- hover ----------
   !important so the shift beats the entrance animation's fill mode */
.percorso .elementor-widget-counter:hover{transform:translateX(6px) !important}
.percorso .elementor-widget-counter:hover .elementor-counter-number{animation-duration:2.4s}
.percorso .elementor-widget-counter:hover .elementor-counter-title{
  color:var(--navy) !important;letter-spacing:.23em !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .percorso > .e-con-inner{
    grid-template-columns:1fr !important;gap:clamp(38px,5vw,56px) !important;
  }
}
@media(max-width:560px){
  .percorso .elementor-counter-number-wrapper{
    font-size:clamp(2.8rem,15vw,3.8rem) !important;
  }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  .percorso > .e-con-inner > .e-child,
  .percorso .elementor-widget-counter,
  .percorso .elementor-widget-counter::before,
  .percorso .eyebrow::before{
    animation:none !important;opacity:1 !important;transform:none !important;
  }
  .percorso .elementor-widget-counter::before{transform:scaleX(1) !important}
  .percorso .eyebrow::before{transform:scaleX(1) !important}
  .percorso .elementor-counter-number{
    animation:none !important;
    -webkit-text-fill-color:var(--navy);color:var(--navy) !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9f18bf7 *//* ============================================================
   SLMAC3 — 8 cards, navy-jewel animated gradients, 3-up grid
   Target: .slmac3  (eyebrow + headline + .e-grid of icon-boxes)

   Deep navy section. Each icon-box becomes a card with its own
   animated gradient, white text, hover lift + ghost number. The
   gradients, numbers and sheen are all CSS-generated. Keyed off
   structural classes + :nth-child, no element IDs.
   ============================================================ */

.slmac3{
  --ink:#0A1220;
  --ink2:#111C2E;
  --ivory:#F6F4EE;
  --body:#B9C2CF;
  /* Navy accent family — #0b174f fills, tints for text on dark */
  --navy:#0b174f;
  --accent:#909CD5;
  --accent-lt:#C3D0DE;
  --accent-dk:#5A7290;
  --line:rgba(246,244,238,.10);
  --fd:'Marcellus',Georgia,'Times New Roman',serif;
  --fs:'Hanken Grotesk',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);

  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(80px,10vw,150px) 0 !important;
  font-family:var(--fs);color:var(--body);
  background-color:transparent !important;
  /* deep navy ground */
  background-image:
    radial-gradient(120% 80% at 90% -10%,rgba(144,156,213,.14),transparent 56%),
    radial-gradient(90% 80% at -5% 108%,rgba(30,52,120,.24),transparent 60%),
    linear-gradient(168deg,#111C2E 0%,#0C1524 45%,#0A1220 75%,#070C16 100%) !important;
}

/* top hairline */
.slmac3::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:3;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--accent-dk) 20%,var(--accent) 50%,var(--accent-dk) 80%,transparent);
  opacity:.7;
}

.slmac3 > .e-con-inner{
  position:relative;z-index:1;
  width:min(1240px,92vw) !important;margin-inline:auto !important;
  display:flex !important;flex-direction:column;gap:0 !important;
}

/* hide HTML widget if it only carries style/script */
.slmac3 .elementor-widget-html:has(style):not(:has(.eyebrow)),
.slmac3 .elementor-widget-html:has(script):not(:has(.eyebrow)){display:none !important}

/* ---------- HEADER ---------- */
.slmac3 .eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--fs);
  font-size:.72rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
  color:var(--accent);
}
.slmac3 .eyebrow::before{
  content:"";width:44px;height:1px;background:var(--accent);
  transform-origin:left;transform:scaleX(0);
  animation:ac3-eyebrow 1s var(--ease) .3s forwards;
}
@keyframes ac3-eyebrow{to{transform:scaleX(1)}}
.slmac3.is-in .eyebrow::before,
.slmac3 .eyebrow.is-in::before{transform:scaleX(1)}

.slmac3 .headlineanm .elementor-heading-title{
  font-family:var(--fd) !important;font-weight:400 !important;
  font-size:clamp(2.1rem,4.8vw,3.6rem) !important;line-height:1.1 !important;letter-spacing:-.015em;
  color:var(--ivory) !important;
  margin:22px 0 clamp(44px,5.5vw,72px) !important;max-width:22ch;
}

/* ---------- GRID: 3 across ---------- */
.slmac3 .e-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:clamp(16px,1.8vw,24px) !important;
  width:100% !important;max-width:none !important;
  counter-reset:ac3;
  /* the grid container itself must be transparent so only the cards show
     gradients (Elementor may put a classic background here) */
  background:none !important;background-color:transparent !important;background-image:none !important;
}

/* ---------- EACH CARD (icon-box) ---------- */
.slmac3 .elementor-widget-icon-box{
  position:relative;isolation:isolate;overflow:hidden;
  counter-increment:ac3;
  min-height:clamp(200px,18vw,240px);
  padding:clamp(28px,2.6vw,40px) !important;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background-size:280% 280% !important;
  background-repeat:no-repeat !important;
  animation:ac3-move 17s ease-in-out infinite alternate,
            ac3-in .8s var(--ease) var(--d,0s) both;
  transition:border-color .5s var(--ease),
             box-shadow .5s var(--ease);
}
/* CSS-only entrance: plays once on load, no JS/.is-in needed, so the
   cards are always visible (including inside the Elementor editor).
   The JS .is-in path still works as a scroll-triggered enhancement. */
@keyframes ac3-in{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:translateY(0)}
}
.slmac3.is-in .elementor-widget-icon-box{opacity:1;transform:translateY(0)}
.slmac3 .elementor-widget-icon-box:nth-of-type(1){--d:.08s}
.slmac3 .elementor-widget-icon-box:nth-of-type(2){--d:.16s}
.slmac3 .elementor-widget-icon-box:nth-of-type(3){--d:.24s}
.slmac3 .elementor-widget-icon-box:nth-of-type(4){--d:.32s}
.slmac3 .elementor-widget-icon-box:nth-of-type(5){--d:.40s}
.slmac3 .elementor-widget-icon-box:nth-of-type(6){--d:.48s}
.slmac3 .elementor-widget-icon-box:nth-of-type(7){--d:.56s}
.slmac3 .elementor-widget-icon-box:nth-of-type(8){--d:.64s}

@keyframes ac3-move{
  0%{background-position:0% 50%}
  25%{background-position:100% 40%}
  50%{background-position:100% 100%}
  75%{background-position:0% 100%}
  100%{background-position:50% 0%}
}
/* 8 navy-anchored gradients — a sweep OUTWARD from the brand navy
   (navy → azure → sapphire → indigo → violet → plum → steel → teal)
   rather than across the full spectrum, so nothing reads green or
   gold. Every stop clears 6.1:1 against white, so the card text
   stays legible at any point in the animation. */
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(1),
.slmac3 .elementor-widget-icon-box:nth-of-type(1){  /* brand navy */
  background-image:linear-gradient(135deg,#060F33 0%,#0B174F 22%,#142A7A 44%,#1C2E6B 68%,#0A1440 100%) !important;
}
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(2),
.slmac3 .elementor-widget-icon-box:nth-of-type(2){  /* azure */
  background-image:linear-gradient(135deg,#07294A 0%,#0D4372 22%,#12588F 44%,#104E86 68%,#092C50 100%) !important;
}
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(3),
.slmac3 .elementor-widget-icon-box:nth-of-type(3){  /* sapphire */
  background-image:linear-gradient(135deg,#0A1E52 0%,#122F7C 22%,#183E9A 44%,#153892 68%,#0B1F58 100%) !important;
}
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(4),
.slmac3 .elementor-widget-icon-box:nth-of-type(4){  /* indigo */
  background-image:linear-gradient(135deg,#181545 0%,#282270 22%,#362C8C 44%,#312888 68%,#1A1748 100%) !important;
}
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(5),
.slmac3 .elementor-widget-icon-box:nth-of-type(5){  /* violet */
  background-image:linear-gradient(135deg,#2A1442 0%,#41216B 22%,#55308A 44%,#4C2C82 68%,#22153C 100%) !important;
}
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(6),
.slmac3 .elementor-widget-icon-box:nth-of-type(6){  /* plum */
  background-image:linear-gradient(135deg,#2A1130 0%,#431A3F 22%,#5B2044 44%,#4A1C3C 68%,#211036 100%) !important;
}
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(7),
.slmac3 .elementor-widget-icon-box:nth-of-type(7){  /* steel */
  background-image:linear-gradient(135deg,#12233A 0%,#1E3752 22%,#294B6E 44%,#22405F 68%,#101E33 100%) !important;
}
.slmac3 .e-grid > .elementor-widget-icon-box:nth-of-type(8),
.slmac3 .elementor-widget-icon-box:nth-of-type(8){  /* deep teal */
  background-image:linear-gradient(135deg,#08202E 0%,#0B3348 22%,#0E4A63 44%,#123F62 68%,#0A1F3A 100%) !important;
}

/* soft drifting sheen for depth */
.slmac3 .elementor-widget-icon-box::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,255,255,.12),transparent 70%);
  background-repeat:no-repeat;background-size:60% 55%;
  animation:ac3-sheen 13s ease-in-out infinite alternate;
}
@keyframes ac3-sheen{
  0%{background-position:8% 6%}
  50%{background-position:92% 34%}
  100%{background-position:30% 10%}
}

/* ghost number.
   NOT Marcellus: its 0 and 1 are drawn like O and I, so "01" reads
   as "OI". Tabular lining figures keep the width steady. */
.slmac3 .elementor-widget-icon-box::after{
  content:counter(ac3,decimal-leading-zero);
  position:absolute;top:0;right:.05em;z-index:0;
  font-family:var(--fs);font-weight:600;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  font-size:clamp(4rem,6.4vw,5.8rem);line-height:1;
  color:rgba(255,255,255,.10);
  transition:color .5s var(--ease),transform .5s var(--ease);
  pointer-events:none;
}

/* hover — .is-in prefix matches entrance specificity so lift wins */
.slmac3.is-in .elementor-widget-icon-box:hover{
  transform:translateY(-8px);
  border-color:rgba(255,255,255,.3);
  box-shadow:0 32px 60px -30px rgba(0,0,0,.75);
}
.slmac3 .elementor-widget-icon-box:hover::after{color:rgba(255,255,255,.22);transform:translateY(-4px)}

/* ---------- CARD CONTENT ---------- */
.slmac3 .elementor-icon-box-wrapper{
  position:relative;z-index:2;
  display:flex !important;flex-direction:column;align-items:flex-start !important;
  text-align:left !important;
}
.slmac3 .elementor-icon-box-icon{display:none !important}

.slmac3 .elementor-icon-box-title{
  font-family:var(--fd) !important;font-weight:400 !important;
  font-size:clamp(1.35rem,1.9vw,1.7rem) !important;line-height:1.15 !important;
  color:#fff !important;margin:0 0 14px !important;
  text-shadow:0 1px 3px rgba(0,0,0,.42),0 2px 14px rgba(0,0,0,.28);
}
.slmac3 .elementor-icon-box-title span{color:inherit !important}

.slmac3 .elementor-icon-box-description{
  font-family:var(--fs) !important;
  font-size:.97rem !important;line-height:1.68 !important;
  color:rgba(255,255,255,.93) !important;margin:0 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.45),0 2px 12px rgba(0,0,0,.3);
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .slmac3 .e-grid{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:560px){
  .slmac3 .e-grid{grid-template-columns:1fr !important}
  .slmac3 .headlineanm .elementor-heading-title{max-width:none}
}

/* ---------- REDUCED MOTION ---------- */
@media(prefers-reduced-motion:reduce){
  .slmac3 .elementor-widget-icon-box{opacity:1 !important;transform:none !important;transition:none !important}
  .slmac3 .elementor-widget-icon-box::before,
  .slmac3 .elementor-widget-icon-box{animation:none !important;background-position:50% 50% !important}
  .slmac3.is-in .elementor-widget-icon-box:hover{transform:none}
  .slmac3 .eyebrow::before{transform:scaleX(1) !important}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-49bcb85 *//* ============================================================
   IMPIANTI SPORTIVI — .slmfisc3 · WHITE background
   Matched to the live markup (two .e-child columns):
     .e-child #1 → eyebrow + headline + 3 text-editors (intro)
     .e-child #2 → 6 × .elementor-widget-icon-box (services)

   Same design language as .slmfisc — lettered a–g rail list with
   connector nodes — but inverted for a light ground. The letters,
   rail, nodes and hover are all CSS-generated. Keyed off
   structural classes + :nth-of-type, no element IDs.

   Colour note: the bright brand green only reaches 1.98:1 on
   white, so all GREEN TEXT uses a deeper green (6.45:1) while the
   bright green stays for the decorative rail only.
   ============================================================ */

.slmfisc3{
  --paper:#FFFFFF;
  --paper-2:#F6F8F8;
  --navy:#0B1626;          /* headings — 18.1:1 on white */
  --ink:#1B2534;           /* body     — 15.4:1 */
  --muted:#5A6675;         /* secondary— 5.85:1 */
  --grn:#25D366;           /* decorative rail only */
  --grn-txt:#0B6B57;       /* green TEXT — 6.45:1 on white */
  --grn-mid:#0E7A64;
  --line:rgba(11,22,38,.12);
  --line-2:rgba(11,22,38,.07);
  --node-d:10px;                       /* connector dot diameter */
  --node-y:clamp(28px,3vw,38px);       /* shared anchor: dot AND letter */
  --fd:'Marcellus',Georgia,'Times New Roman',serif;
  --fs:'Hanken Grotesk',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);

  position:relative;isolation:isolate;
  overflow:visible !important;      /* keep sticky working */
  overflow-x:clip !important;       /* but contain sideways bleed */
  padding:clamp(80px,10vw,100px) 0 !important;
  font-family:var(--fs);color:var(--ink);
  background-color:var(--paper) !important;
  background-image:
    radial-gradient(100% 70% at 96% -6%,rgba(37,211,102,.07),transparent 55%),
    radial-gradient(80% 70% at -6% 104%,rgba(46,74,107,.06),transparent 60%) !important;
}

/* top hairline */
.slmfisc3::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:3;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--grn-mid) 20%,var(--grn) 50%,var(--grn-mid) 80%,transparent);
  opacity:.55;
}

/* two columns */
.slmfisc3 > .e-con-inner{
  position:relative;z-index:1;
  width:min(1200px,92vw) !important;margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:.92fr 1.08fr !important;
  gap:clamp(48px,6vw,96px) !important;
  align-items:start !important;
}

/* hide the HTML widget that only carries this style/script block */
.slmfisc3 .elementor-widget-html:has(style):not(:has(.eyebrow)),
.slmfisc3 .elementor-widget-html:has(script):not(:has(.eyebrow)){display:none !important}

/* ---------- LEFT COLUMN (intro) ---------- */
.slmfisc3 > .e-con-inner > .e-child:first-child{gap:0 !important}
@media(min-width:1025px){
  .slmfisc3 > .e-con-inner > .e-child:first-child{
    position:sticky;top:clamp(40px,8vw,110px);
  }
}

.slmfisc3 .eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--fs);
  font-size:.72rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;
  color:var(--grn-txt);margin-bottom:24px;
}
.slmfisc3 .eyebrow::before{
  content:"";width:44px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--grn),var(--grn-mid));
  transform-origin:left;transform:scaleX(0);
  animation:f3-eye 1s var(--ease) .25s forwards;
}
@keyframes f3-eye{to{transform:scaleX(1)}}

.slmfisc3 .headlineanm .elementor-heading-title{
  font-family:var(--fd) !important;font-weight:400 !important;
  font-size:clamp(2.2rem,4.4vw,3.5rem) !important;line-height:1.06 !important;letter-spacing:-.015em;
  color:var(--navy) !important;margin:0 0 30px !important;
}

/* the 3 intro paragraphs */
.slmfisc3 > .e-con-inner > .e-child:first-child .elementor-widget-text-editor{
  font-family:var(--fs);
  font-size:1.04rem !important;line-height:1.8 !important;color:var(--ink) !important;
  max-width:54ch;margin:0 0 18px !important;
}
.slmfisc3 > .e-con-inner > .e-child:first-child .elementor-widget-text-editor:last-child{
  color:var(--muted) !important;margin-bottom:0 !important;
}
.slmfisc3 .elementor-widget-text-editor p{margin:0 !important}

/* ---------- RIGHT COLUMN (lettered rail list) ---------- */
.slmfisc3 > .e-con-inner > .e-child:last-child{
  position:relative;
  padding-left:clamp(30px,3vw,50px) !important;
  gap:0 !important;
  counter-reset:f3;
}
/* base rail */
.slmfisc3 > .e-con-inner > .e-child:last-child::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--line-2);border-radius:2px;
}
/* the green rail that draws itself downward */
.slmfisc3 > .e-con-inner > .e-child:last-child::after{
  content:"";position:absolute;left:0;top:0;width:2px;height:100%;border-radius:2px;
  background:linear-gradient(var(--grn),var(--grn-mid) 55%,var(--grn-txt));
  transform:scaleY(0);transform-origin:top;
  animation:f3-rail 1.9s var(--ease) .35s forwards;
}
@keyframes f3-rail{to{transform:scaleY(1)}}

/* ---------- EACH SERVICE (icon-box) ---------- */
.slmfisc3 .elementor-widget-icon-box{
  counter-increment:f3;
  position:relative;
  padding:clamp(24px,2.6vw,34px) 0 !important;
  margin:0 !important;
  border-bottom:1px solid var(--line-2);
  background:transparent !important;
  /* CSS-only entrance → visible without JS, so it also shows inside
     the Elementor editor, which does not run custom scripts */
  animation:f3-in .7s var(--ease) var(--d,0s) both;
  transition:padding-left .4s var(--ease);
}
@keyframes f3-in{
  from{opacity:0;transform:translateX(18px)}
  to{opacity:1;transform:none}
}
.slmfisc3 .elementor-widget-icon-box:first-of-type{padding-top:0 !important}
.slmfisc3 .elementor-widget-icon-box:last-of-type{border-bottom:0 !important}

/* 6 services */
.slmfisc3 .elementor-widget-icon-box:nth-of-type(1){--d:.12s}
.slmfisc3 .elementor-widget-icon-box:nth-of-type(2){--d:.22s}
.slmfisc3 .elementor-widget-icon-box:nth-of-type(3){--d:.32s}
.slmfisc3 .elementor-widget-icon-box:nth-of-type(4){--d:.42s}
.slmfisc3 .elementor-widget-icon-box:nth-of-type(5){--d:.52s}
.slmfisc3 .elementor-widget-icon-box:nth-of-type(6){--d:.62s}

/* connector node on the rail — white fill so it reads on the light ground */
.slmfisc3 .elementor-widget-icon-box::before{
  content:"";
  position:absolute;left:calc(-1 * clamp(30px,3vw,50px) - 4px);
  top:var(--node-y);
  width:var(--node-d);height:var(--node-d);border-radius:50%;
  background:var(--paper);border:2px solid var(--grn-mid);
  box-shadow:0 0 0 3px var(--paper);
  transform:scale(.4);opacity:0;
  animation:f3-node .5s var(--ease) var(--d,0s) forwards;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),background .4s var(--ease);
  z-index:2;
}
@keyframes f3-node{to{opacity:1;transform:scale(1)}}
.slmfisc3 .elementor-widget-icon-box:first-of-type{--node-y:4px}

/* the a. b. c. … g. lettered marker */
.slmfisc3 .elementor-widget-icon-box::after{
  content:counter(f3,lower-alpha) ".";
  position:absolute;left:0;top:var(--node-y);
  height:var(--node-d);line-height:var(--node-d);   /* centres match the dot */
  font-family:var(--fd);font-style:italic;
  font-size:1.05rem;color:var(--grn-txt);
  transition:color .4s var(--ease),transform .4s var(--ease);
  z-index:1;
}


/* box internals — offset content past the letter */
.slmfisc3 .elementor-icon-box-wrapper{
  display:block !important;
  padding-left:clamp(28px,2.4vw,38px);
  text-align:left !important;
}
.slmfisc3 .elementor-icon-box-icon{display:none !important}

.slmfisc3 .elementor-icon-box-title{
  font-family:var(--fd) !important;font-weight:400 !important;
  font-size:clamp(1.2rem,1.8vw,1.48rem) !important;line-height:1.2 !important;
  color:var(--navy) !important;margin:0 0 10px !important;
  transition:color .4s var(--ease),transform .4s var(--ease);
}
.slmfisc3 .elementor-icon-box-title span{color:inherit !important}

.slmfisc3 .elementor-icon-box-description{
  font-family:var(--fs) !important;
  font-size:.99rem !important;line-height:1.72 !important;
  color:var(--muted) !important;margin:0 !important;
  transition:color .4s var(--ease);
}

/* hover */
.slmfisc3 .elementor-widget-icon-box:hover{padding-left:10px !important}
.slmfisc3 .elementor-widget-icon-box:hover::after{color:var(--grn-mid);transform:translateY(-2px)}
.slmfisc3 .elementor-widget-icon-box:hover .elementor-icon-box-title{
  color:var(--grn-txt) !important;transform:translateX(3px);
}
.slmfisc3 .elementor-widget-icon-box:hover .elementor-icon-box-description{color:var(--ink) !important}
.slmfisc3 .elementor-widget-icon-box:hover::before{
  background:var(--grn);border-color:var(--grn-mid);
  box-shadow:0 0 0 3px var(--paper),0 0 0 7px rgba(37,211,102,.18);
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .slmfisc3 > .e-con-inner{
    grid-template-columns:1fr !important;gap:clamp(40px,6vw,60px) !important;
  }
}

/* ---------- REDUCED MOTION ---------- */
@media(prefers-reduced-motion:reduce){
  .slmfisc3 .elementor-widget-icon-box,
  .slmfisc3 .elementor-widget-icon-box::before,
  .slmfisc3 > .e-con-inner > .e-child:last-child::after,
  .slmfisc3 .eyebrow::before{
    animation:none !important;opacity:1 !important;transform:none !important;
  }
  .slmfisc3 > .e-con-inner > .e-child:last-child::after{transform:scaleY(1) !important}
  .slmfisc3 .elementor-widget-icon-box::before{transform:scale(1) !important}
  .slmfisc3 .eyebrow::before{transform:scaleX(1) !important}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f24be56 *//* ============================================================
   IL METODO — matched to the live Elementor markup
   Replicates the premium timeline design on .sectionmetodo.

   STRUCTURE THIS TARGETS
     .sectionmetodo > .e-con-inner
       ├ HTML widget      → span.eyebrow
       ├ .headlineanm     → h2.elementor-heading-title
       ├ HTML widget      → <style>/<script>   (hidden)
       └ .e-grid          → 5 × .elementor-widget-icon-box

   The rail, the connector dots and the step numbers do NOT
   exist in the DOM — all three are generated here in CSS.
   Steps are identified by :nth-child, so no element IDs are used
   and the section survives Elementor re-saving.
   ============================================================ */

.sectionmetodo{
  --ink:#0A1220;
  --ink2:#111C2E;
  --ivory:#F6F4EE;
  --body:#B9C2CF;
  /* Navy accent family, matched to the rest of the site.
     #0b174f is the brand fill; the tints carry anything that has
     to stay legible against this dark section. */
  --navy:#0b174f;      /* brand fill      */
  --accent:#909CD5;    /* text, lines     */
  --accent-lt:#C3D0DE; /* hover / hilite  */
  --accent-dk:#5A7290; /* deep / borders  */
  --line:rgba(246,244,238,.12);
  --fd:'Marcellus',Georgia,'Times New Roman',serif;
  --fs:'Hanken Grotesk',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);

  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(80px,9vw,140px) 0 !important;
  font-family:var(--fs);
  color:var(--body);
  /* Elementor's classic background would cover these washes */
  background-color:transparent !important;
  background-image:
    radial-gradient(120% 90% at 12% -10%,rgba(144,156,213,.15),transparent 58%),
    radial-gradient(90% 80% at 100% 110%,rgba(62,92,140,.20),transparent 60%),
    linear-gradient(170deg,var(--ink2) 0%,var(--ink) 55%,#070C16 100%) !important;
}

/* top hairline */
.sectionmetodo::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:2;
  background:linear-gradient(90deg,transparent,var(--accent-dk) 20%,var(--accent) 50%,var(--accent-dk) 80%,transparent);
  opacity:.7;
}
/* oversized watermark */
.sectionmetodo::after{
  content:"percorso";
  position:absolute;right:-2%;bottom:-6%;z-index:0;
  font-family:var(--fd);
  font-size:clamp(7rem,19vw,17rem);line-height:.8;
  color:rgba(246,244,238,.032);
  white-space:nowrap;pointer-events:none;user-select:none;
}

.sectionmetodo > .e-con-inner{
  position:relative;z-index:1;
  width:min(1240px,92vw);margin-inline:auto;
  display:flex !important;
  flex-direction:column;
  gap:0 !important;
}

/* hide the HTML widget that only carries <style>/<script> */
.sectionmetodo .elementor-widget-html:has(style),
.sectionmetodo .elementor-widget-html:has(script){display:none !important}
.sectionmetodo .elementor-widget-html:has(.eyebrow){display:block !important}

/* ---------- HEADER ---------- */
.sectionmetodo .eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--fs);
  font-size:.72rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;
  color:var(--accent);
}
.sectionmetodo .eyebrow::before{
  content:"";width:40px;height:1px;background:var(--accent);
  transform-origin:left;transform:scaleX(0);
  animation:mtLine 1s var(--ease) .1s forwards;
}
@keyframes mtLine{to{transform:scaleX(1)}}

.sectionmetodo .headlineanm .elementor-heading-title{
  font-family:var(--fd) !important;
  font-weight:400 !important;
  font-size:clamp(2.1rem,4.6vw,3.5rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.01em;
  color:var(--ivory) !important;
  margin:20px 0 clamp(52px,6vw,84px) !important;
  max-width:20ch;
}

/* ============================================================
   THE GRID — 5 steps + generated rail
   ============================================================ */
.sectionmetodo .e-grid{
  position:relative;
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:clamp(18px,2vw,30px) !important;
  width:100% !important;
  max-width:none !important;
  /* room above for the rail and dots */
  padding-top:56px !important;
  counter-reset:mtstep;
}

/* the base rail */
.sectionmetodo .e-grid::before{
  content:"";position:absolute;left:0;right:0;top:7px;height:1px;
  background:var(--line);
}
/* the accent line that draws itself */
.sectionmetodo .e-grid::after{
  content:"";position:absolute;left:0;top:7px;height:1px;width:100%;
  background:linear-gradient(90deg,var(--accent-dk),var(--accent) 45%,var(--accent-lt));
  transform:scaleX(0);transform-origin:left;
  animation:mtRail 1.8s var(--ease) .25s forwards;
}
@keyframes mtRail{to{transform:scaleX(1)}}

/* ---------- EACH STEP ---------- */
.sectionmetodo .elementor-widget-icon-box{
  position:relative;
  counter-increment:mtstep;
  padding:clamp(24px,2.2vw,32px) clamp(20px,1.8vw,26px) clamp(26px,2.4vw,34px) !important;
  border-radius:16px;
  border:1px solid transparent;
  /* NOTE: the entrance animation runs on .elementor-icon-box-wrapper,
     not here. An animation with fill:forwards keeps ownership of
     `transform`, which would block the hover lift entirely. */
  transition:border-color .5s var(--ease),
             box-shadow .5s var(--ease),
             transform .5s var(--ease);
}
.sectionmetodo .elementor-icon-box-wrapper{
  position:relative;
  /* flex + order lets the generated numeral sit ABOVE the title even
     though ::after comes last in source order. Elementor centres
     icon-box content by default, hence the explicit left alignment. */
  display:flex !important;
  flex-direction:column;
  align-items:flex-start !important;
  text-align:left !important;
  opacity:0;transform:translateY(26px);
  animation:mtRise .9s var(--ease) forwards;
}
.sectionmetodo .elementor-icon-box-wrapper::after{order:-1}
.sectionmetodo .elementor-icon-box-content{order:0;width:100%}
.sectionmetodo .elementor-icon-box-content,
.sectionmetodo .elementor-icon-box-title,
.sectionmetodo .elementor-icon-box-description{text-align:left !important}
@keyframes mtRise{to{opacity:1;transform:translateY(0)}}


/* ---------- CONNECTOR DOT (on the widget, above the card) ---------- */
.sectionmetodo .elementor-widget-icon-box::before{
  content:"";
  position:absolute;
  /* the rail is 49px above the widget top; offset by half the dot's
     height so its CENTRE — not its top edge — sits on the line */
  top:calc(-49px - 7.5px);
  left:clamp(20px,1.8vw,26px);
  width:15px;height:15px;border-radius:50%;
  background:var(--ink);
  border:1px solid var(--accent-dk);
  box-sizing:border-box;
  transform:scale(.2);opacity:0;
  animation:mtDot .7s var(--ease) forwards;
  z-index:2;
}
/* The accent centre is an inset shadow on the SAME element, so the ring
   and its fill can never drift onto separate rows. */
@keyframes mtDot{
  to{transform:scale(1);opacity:1;
     box-shadow:inset 0 0 0 4px var(--ink),inset 0 0 0 7px var(--accent)}
}

/* dots fill in sequence, each just behind its own ring */
.sectionmetodo .e-grid > :nth-child(1)::before{animation-delay:.35s}
.sectionmetodo .e-grid > :nth-child(2)::before{animation-delay:.62s}
.sectionmetodo .e-grid > :nth-child(3)::before{animation-delay:.89s}
.sectionmetodo .e-grid > :nth-child(4)::before{animation-delay:1.16s}
.sectionmetodo .e-grid > :nth-child(5)::before{animation-delay:1.43s}

/* steps rise just behind their own dot */
.sectionmetodo .e-grid > :nth-child(1) .elementor-icon-box-wrapper{animation-delay:.50s}
.sectionmetodo .e-grid > :nth-child(2) .elementor-icon-box-wrapper{animation-delay:.77s}
.sectionmetodo .e-grid > :nth-child(3) .elementor-icon-box-wrapper{animation-delay:1.04s}
.sectionmetodo .e-grid > :nth-child(4) .elementor-icon-box-wrapper{animation-delay:1.31s}
.sectionmetodo .e-grid > :nth-child(5) .elementor-icon-box-wrapper{animation-delay:1.58s}


/* ---------- STEP NUMBER ----------
   `decimal` gives 1. 2. 3. 4. 5.  Use `decimal-leading-zero` for
   01. 02. 03. instead.
   The face is deliberately NOT Marcellus: it's a Roman-capitals
   font whose 1 and 0 are drawn like I and O, so "1." reads as "I."
   Tabular lining figures keep every number the same width. */
.sectionmetodo .elementor-icon-box-wrapper::after{
  content:counter(mtstep,decimal) ".";
  display:block;
  font-family:var(--fs);
  font-weight:600;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  font-size:clamp(1.5rem,2.2vw,1.95rem);
  line-height:1;letter-spacing:.02em;
  color:var(--accent);
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid transparent;
  transition:color .45s var(--ease),transform .45s var(--ease);
}
.sectionmetodo .elementor-widget-icon-box:hover .elementor-icon-box-wrapper::after{
  color:var(--accent-lt);
  transform:translateY(-2px);
}
/* the little rule under the numeral, sweeping out on hover */
.sectionmetodo .elementor-icon-box-content{position:relative}
.sectionmetodo .elementor-icon-box-content::before{
  content:"";
  position:absolute;left:0;top:-14px;
  width:26px;height:1px;
  background:linear-gradient(90deg,var(--accent),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease);
}
.sectionmetodo .elementor-widget-icon-box:hover .elementor-icon-box-content::before{
  transform:scaleX(1);
}

/* ---------- HOVER LIFT ---------- */
.sectionmetodo .elementor-widget-icon-box .elementor-icon-box-wrapper{
  z-index:1;
}
.sectionmetodo .elementor-widget-icon-box:hover{
  transform:translateY(-8px);
  border-color:rgba(144,156,213,.40);
  box-shadow:0 26px 50px -26px rgba(0,0,0,.75);
}
/* wash behind the card on hover — sits under the content */
.sectionmetodo .elementor-widget-icon-box .elementor-icon-box-content::after{
  content:"";
  position:absolute;inset:-1000px -1000px -1000px -1000px;
  z-index:-1;
  pointer-events:none;
  opacity:0;
}

/* ---------- TYPOGRAPHY ---------- */
.sectionmetodo .elementor-icon-box-title{
  font-family:var(--fd) !important;
  font-weight:400 !important;
  font-size:clamp(1.1rem,1.5vw,1.32rem) !important;
  line-height:1.25 !important;
  color:var(--ivory) !important;
  margin:0 0 12px !important;
}
.sectionmetodo .elementor-icon-box-title span{color:inherit !important}

.sectionmetodo .elementor-icon-box-description{
  font-family:var(--fs) !important;
  font-size:.94rem !important;
  line-height:1.68 !important;
  color:var(--body) !important;
  margin:0 !important;
}

/* the icon slot is empty in this markup — make sure it takes no space */
.sectionmetodo .elementor-icon-box-icon{display:none !important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .sectionmetodo .e-grid{
    grid-template-columns:repeat(2,1fr) !important;
    padding-top:0 !important;
  }
  /* the rail only reads horizontally — drop it with the dots */
  .sectionmetodo .e-grid::before,
  .sectionmetodo .e-grid::after,
  .sectionmetodo .elementor-widget-icon-box::before,
  .sectionmetodo .elementor-icon-box-wrapper::before{display:none}

  .sectionmetodo .elementor-widget-icon-box{
    border-color:var(--line);
    background:rgba(246,244,238,.02);
  }
}
@media(max-width:640px){
  .sectionmetodo .e-grid{grid-template-columns:1fr !important}
  .sectionmetodo .headlineanm .elementor-heading-title{max-width:none}
}

/* ---------- REDUCED MOTION ---------- */
@media(prefers-reduced-motion:reduce){
  .sectionmetodo .elementor-widget-icon-box,
  .sectionmetodo .elementor-widget-icon-box::before,
  .sectionmetodo .elementor-icon-box-wrapper::before,
  .sectionmetodo .e-grid::after,
  .sectionmetodo .eyebrow::before{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .sectionmetodo .e-grid::after{transform:scaleX(1) !important}
  .sectionmetodo .elementor-icon-box-wrapper::before{transform:scale(1) !important}
  .sectionmetodo .elementor-widget-icon-box:hover{transform:none}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-17f913b *//* ============================================================
   STUDIO LEMBO MAGNANTI — CONTATTI · CONTACT + FORM
   Scoped to .contact

   REWRITTEN with STRUCTURAL .elementor-872 .elementor-element.elementor-element-17f913bs. The previous version keyed
   off element IDs (51f2ace / ea01abf / abbd5db / 497869b) — none
   of which exist any more, so nothing applied. Elementor mints new
   IDs on every re-save, so IDs are never used here.

   Live shape:
     .contact > .e-con-inner
        ├ .e-child #1 → eyebrow + H2 + intro paragraph
        └ .e-child #2 → nested .e-child (form card) + .form-note

   Fonts: Marcellus, Cormorant Garamond, Hanken Grotesk
   ============================================================ */

/* width:100% + padding overflows unless everything is border-box.
   Elementor/themes usually set this, but not reliably — so it is
   declared here rather than assumed. */
.contact,
.contact *,
.contact *::before,
.contact *::after{box-sizing:border-box}

.contact{
  --navy:#0B1420;
  --navy-2:#111E2E;
  --navy-3:#16273A;
  --platinum:#C3D0DE;
  --steel:#8FA3BC;
  --steel-deep:#5A7290;
  --text:#DCE4EE;
  --text-dim:#9DAAB9;
  --line:rgba(195,208,222,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---- SECTION SHELL ---- */
.elementor-element.contact{
  background:var(--navy) !important;
  padding:clamp(72px,9vw,120px) clamp(20px,3vw,32px) !important;
}
.contact > .e-con-inner{
  max-width:1160px !important;margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:.85fr 1.15fr !important;
  gap:clamp(40px,5vw,80px) !important;align-items:start !important;
}
/* let the grid govern; Elementor's default child widths would fight it */
.contact > .e-con-inner > .e-child{
  width:100% !important;max-width:none !important;min-width:0 !important;
}

/* =========================================================
   LEFT COLUMN — intro
   ========================================================= */
.contact > .e-con-inner > .e-child:first-child{
  display:flex !important;flex-direction:column;gap:0 !important;
}

.contact .eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:12px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;
  color:var(--steel);
}
.contact .eyebrow::before{
  content:"";width:34px;height:1px;background:var(--steel-deep);display:inline-block;
}

/* H2 — targeted by widget, not by ID */
.contact .elementor-widget-heading .elementor-heading-title{
  font-family:'Marcellus',serif !important;font-weight:400 !important;color:#fff !important;
  font-size:clamp(30px,4.4vw,46px) !important;line-height:1.08 !important;letter-spacing:.01em;
  margin:20px 0 26px !important;
}

/* intro paragraph (replaces the old icon-box detail rows) */
.contact > .e-con-inner > .e-child:first-child .elementor-widget-text-editor{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:16px !important;line-height:1.8 !important;
  color:var(--text-dim) !important;max-width:46ch;margin:0 !important;
}
.contact .elementor-widget-text-editor p{margin:0 !important}

/* optional icon-box detail rows — kept so they still style if re-added */
.contact .elementor-widget-icon-box{padding:26px 0;border-bottom:1px solid var(--line)}
.contact > .e-con-inner > .e-child:first-child .elementor-widget-icon-box:first-of-type{
  border-top:1px solid var(--line);
}
.contact .elementor-icon-box-wrapper{text-align:left;display:block}
.contact .elementor-icon-box-title{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;
  color:var(--steel);margin:0 0 9px;line-height:1;
}
.contact .elementor-icon-box-description{
  font-family:'Cormorant Garamond',serif;
  font-size:23px;line-height:1.35;color:var(--text);margin:0;white-space:pre-line;
  transition:color .4s var(--ease);
}
.contact .elementor-widget-icon-box:hover .elementor-icon-box-description{color:#fff}

/* =========================================================
   RIGHT COLUMN — form card (the card is a NESTED .e-child)
   ========================================================= */
.contact > .e-con-inner > .e-child:last-child{
  display:flex !important;flex-direction:column;gap:0 !important;
}
.contact > .e-con-inner > .e-child:last-child > .e-child{
  background:linear-gradient(180deg,var(--navy-3),var(--navy-2)) !important;
  border:1px solid var(--line);border-radius:6px;
  padding:clamp(28px,3vw,44px) clamp(22px,2.6vw,40px) !important;
  width:100% !important;max-width:none !important;
}

/* field layout — two-up where Elementor marks col-50 */
.contact .elementor-form-fields-wrapper{
  --e-form-fields-gap:0 !important;
  display:flex !important;flex-wrap:wrap !important;
  gap:0 20px !important;margin:0 !important;
}
.contact .elementor-field-group{
  margin-bottom:20px !important;padding:0 !important;
}
.contact .elementor-field-group.elementor-col-50{
  flex:0 0 calc(50% - 10px) !important;max-width:calc(50% - 10px) !important;
}
.contact .elementor-field-group.elementor-col-100{
  flex:0 0 100% !important;max-width:100% !important;
}
.contact .elementor-field-group.e-form__buttons{margin-bottom:0 !important}

/* labels */
.contact .elementor-field-label{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:11px !important;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-dim) !important;margin-bottom:9px !important;padding:0 !important;
  display:block;
}

/* inputs / selects / textarea */
.contact .elementor-field-textual,
.contact input.elementor-field,
.contact select.elementor-field-textual,
.contact textarea.elementor-field-textual{
  width:100% !important;
  background:rgba(11,20,32,.55) !important;
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  color:var(--text) !important;
  font-family:'Hanken Grotesk',system-ui,sans-serif !important;
  font-size:15px !important;font-weight:300;line-height:1.4;
  padding:14px 15px !important;min-height:0 !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  transition:border-color .4s var(--ease),background .4s var(--ease);
}
.contact textarea.elementor-field-textual{resize:vertical;min-height:110px}
.contact .elementor-field-textual::placeholder{color:#5f6d7d !important;opacity:1}
.contact .elementor-field-textual:focus{
  outline:none;border-color:var(--steel) !important;background:rgba(11,20,32,.8) !important;
}

/* select caret + native option list */
.contact .elementor-select-wrapper{position:relative}
.contact .elementor-select-wrapper .elementor-field{padding-right:38px !important}
.contact .elementor-select-wrapper .select-caret-down-wrapper{right:15px}
.contact .elementor-select-wrapper svg{fill:var(--steel);width:12px;height:12px}
.contact select.elementor-field-textual{
  color:var(--text) !important;background-color:rgba(11,20,32,.55) !important;
  appearance:none;-webkit-appearance:none;
}
.contact select.elementor-field-textual option{
  color:#1a2331 !important;background-color:#EDF1F6 !important;
}
.contact select.elementor-field-textual option[value="Seleziona un'opzione"]{color:#6a7889 !important}

/* =========================================================
   FILE UPLOAD  (new field — was never styled before)
   ========================================================= */
.contact .elementor-field-type-upload .elementor-field{
  width:100% !important;
  background:rgba(11,20,32,.4) !important;
  border:1px dashed var(--line) !important;
  border-radius:3px !important;
  color:var(--text-dim) !important;
  font-family:'Hanken Grotesk',system-ui,sans-serif !important;
  font-size:13px !important;
  padding:13px 15px !important;
  box-sizing:border-box !important;
  cursor:pointer;
  transition:border-color .4s var(--ease),background .4s var(--ease);
}
.contact .elementor-field-type-upload .elementor-field:hover{
  border-color:var(--steel) !important;background:rgba(11,20,32,.62) !important;
}
/* the native "Choose file" button */
.contact input[type="file"]::file-.elementor-872 .elementor-element.elementor-element-17f913b-button{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:var(--navy);background:var(--platinum);
  border:0;border-radius:2px;
  padding:9px 16px;margin-right:14px;cursor:pointer;
  transition:background .35s var(--ease);
}
.contact input[type="file"]::file-.elementor-872 .elementor-element.elementor-element-17f913b-button:hover{background:#fff}

/* =========================================================
   ACCEPTANCE / PRIVACY CHECKBOX
   ========================================================= */
.contact .elementor-field-type-acceptance{margin-bottom:24px !important}
.contact .elementor-field-type-acceptance .elementor-field-subgroup{display:block;width:100%}
.contact .elementor-field-option{
  display:flex !important;align-items:flex-start;gap:12px;
  width:100%;max-width:none;flex-wrap:nowrap;
}
.contact .elementor-field-type-acceptance .elementor-acceptance-field{
  width:18px !important;height:18px !important;flex:0 0 18px;
  margin:2px 0 0 0 !important;accent-color:var(--steel);
  position:static;appearance:auto;-webkit-appearance:auto;
}
.contact .elementor-field-type-acceptance label{
  flex:1 1 auto;margin:0 !important;
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:13px;line-height:1.5;color:var(--text-dim);
  letter-spacing:0;text-transform:none;text-align:left;max-width:none;
}
.contact .elementor-field-type-acceptance a{
  color:var(--platinum);text-decoration:underline;text-underline-offset:3px;
}

/* =========================================================
   SUBMIT BUTTON
   ========================================================= */
.contact .e-form__buttons{width:100%}
.contact .elementor-button{
  width:100% !important;justify-content:center;
  background:var(--platinum) !important;color:var(--navy) !important;
  font-family:'Hanken Grotesk',system-ui,sans-serif !important;
  font-size:13px !important;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  padding:17px 34px !important;border-radius:2px !important;border:0;
  transition:transform .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease);
}
.contact .elementor-button:hover{
  background:#fff !important;transform:translateY(-2px);
  box-shadow:0 18px 40px -18px rgba(195,208,222,.5);
}

/* note under the card */
.contact .form-note,
.contact .form-note p{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:12px !important;color:#6a7889 !important;letter-spacing:.02em;
  margin-top:16px !important;
}

/* Elementor messages */
.contact .elementor-message{
  font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:14px;
  border-radius:4px;padding:14px 16px;margin-top:16px;
}
.contact .elementor-message-success{
  background:rgba(143,163,188,.12);border:1px solid var(--steel-deep);color:var(--platinum);
}
.contact .elementor-message-danger{
  background:rgba(200,90,90,.12);border:1px solid #a35a5a;color:#e6b3b3;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:880px){
  .contact > .e-con-inner{grid-template-columns:1fr !important;gap:44px !important}
  .contact > .e-con-inner > .e-child:first-child{order:1}
  .contact > .e-con-inner > .e-child:last-child{order:2}
  .contact .elementor-field-group.elementor-col-50{
    flex:0 0 100% !important;max-width:100% !important;
  }
}/* End custom CSS */