.elementor-kit-829{--e-global-color-primary:#0B1116;--e-global-color-secondary:#56616B;--e-global-color-text:#0B1116;--e-global-color-accent:#1A5DDB;--e-global-color-69b1be8:#F0F2F5;--e-global-color-e85f381:#0B1116;--e-global-color-3477987:#56616B;--e-global-color-5dbbe6b:#FFFFFF;--e-global-color-872a16d:#E2E6EB;--e-global-color-7ac3277:#D6DBE1;--e-global-color-1f66d4f:#1A5DDB;--e-global-color-ae607c4:#121416;--e-global-color-7649ab7:#EDEFF1;--e-global-color-2375909:#9CA3AB;--e-global-color-5873847:#0A1128;--e-global-color-2390d55:#6F7A84;--e-global-color-c2a83f0:#FFFFFF;--e-global-color-754818b:#1B1E21;--e-global-color-3fb8ee5:#2A2E33;--e-global-color-eec088e:#111A38;--e-global-color-8515e07:#1A2550;--e-global-color-13e894e:#E8ECF7;--e-global-color-493f620:#95A2C6;--e-global-color-b01ffe9:#8DB6FF;--e-global-typography-primary-font-family:"Google Sans Flex";--e-global-typography-primary-font-size:44px;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-1.8px;--e-global-typography-secondary-font-family:"Google Sans Flex";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:1.05em;--e-global-typography-secondary-letter-spacing:-0.8px;--e-global-typography-text-font-family:"Google Sans Flex";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Google Sans Flex";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:-0.1px;--e-global-typography-d9987bb-font-family:"Google Sans Flex";--e-global-typography-d9987bb-font-size:96px;--e-global-typography-d9987bb-font-style:normal;--e-global-typography-d9987bb-text-transform:none;--e-global-typography-d9987bb-line-height:0.98em;--e-global-typography-d9987bb-letter-spacing:-4.3px;--e-global-typography-6e288ca-font-family:"Google Sans Flex";--e-global-typography-6e288ca-font-size:64px;--e-global-typography-6e288ca-font-style:normal;--e-global-typography-6e288ca-text-transform:none;--e-global-typography-6e288ca-line-height:0.98em;--e-global-typography-6e288ca-letter-spacing:-2.9px;--e-global-typography-b8a8d92-font-family:"Google Sans Flex";--e-global-typography-b8a8d92-font-size:44px;--e-global-typography-b8a8d92-font-style:normal;--e-global-typography-b8a8d92-text-transform:none;--e-global-typography-b8a8d92-line-height:1em;--e-global-typography-b8a8d92-letter-spacing:-1.8px;--e-global-typography-02a8189-font-family:"Google Sans Flex";--e-global-typography-02a8189-font-size:28px;--e-global-typography-02a8189-font-style:normal;--e-global-typography-02a8189-text-transform:none;--e-global-typography-02a8189-line-height:1.05em;--e-global-typography-02a8189-letter-spacing:-0.8px;--e-global-typography-699399b-font-family:"Google Sans Flex";--e-global-typography-699399b-font-size:56px;--e-global-typography-699399b-font-style:normal;--e-global-typography-699399b-text-transform:none;--e-global-typography-699399b-line-height:1em;--e-global-typography-699399b-letter-spacing:-2.5px;--e-global-typography-96ec631-font-family:"Google Sans Flex";--e-global-typography-96ec631-font-size:21px;--e-global-typography-96ec631-font-style:normal;--e-global-typography-96ec631-text-transform:none;--e-global-typography-96ec631-line-height:1.5em;--e-global-typography-96ec631-letter-spacing:0px;--e-global-typography-6ef042b-font-family:"Google Sans Flex";--e-global-typography-6ef042b-font-size:17px;--e-global-typography-6ef042b-font-style:normal;--e-global-typography-6ef042b-text-transform:none;--e-global-typography-6ef042b-line-height:1.6em;--e-global-typography-6ef042b-letter-spacing:0px;--e-global-typography-a1caf43-font-family:"Google Sans Flex";--e-global-typography-a1caf43-font-size:15px;--e-global-typography-a1caf43-font-style:normal;--e-global-typography-a1caf43-text-transform:none;--e-global-typography-a1caf43-line-height:1.45em;--e-global-typography-a1caf43-letter-spacing:0px;--e-global-typography-9eec37e-font-family:"Google Sans Flex";--e-global-typography-9eec37e-font-size:15px;--e-global-typography-9eec37e-font-style:normal;--e-global-typography-9eec37e-text-transform:none;--e-global-typography-9eec37e-line-height:1.3em;--e-global-typography-9eec37e-letter-spacing:-0.1px;--e-global-typography-95cecc4-font-family:"Google Sans Flex";--e-global-typography-95cecc4-font-size:12.5px;--e-global-typography-95cecc4-font-style:normal;--e-global-typography-95cecc4-text-transform:none;--e-global-typography-95cecc4-line-height:1.4em;--e-global-typography-95cecc4-letter-spacing:0px;--e-global-typography-b45e5f1-font-family:"Google Sans Flex";--e-global-typography-b45e5f1-font-size:15px;--e-global-typography-b45e5f1-font-style:normal;--e-global-typography-b45e5f1-text-transform:none;--e-global-typography-b45e5f1-line-height:1em;--e-global-typography-b45e5f1-letter-spacing:-0.1px;background-color:var( --e-global-color-69b1be8 );color:var( --e-global-color-e85f381 );font-family:var( --e-global-typography-6ef042b-font-family ), Label;font-size:var( --e-global-typography-6ef042b-font-size );font-weight:var( --e-global-typography-6ef042b-font-weight );font-style:var( --e-global-typography-6ef042b-font-style );text-transform:var( --e-global-typography-6ef042b-text-transform );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );}.elementor-kit-829 button,.elementor-kit-829 input[type="button"],.elementor-kit-829 input[type="submit"],.elementor-kit-829 .elementor-button{background-color:var( --e-global-color-1f66d4f );font-family:var( --e-global-typography-b45e5f1-font-family ), Label;font-size:var( --e-global-typography-b45e5f1-font-size );font-weight:var( --e-global-typography-b45e5f1-font-weight );font-style:var( --e-global-typography-b45e5f1-font-style );text-transform:var( --e-global-typography-b45e5f1-text-transform );line-height:var( --e-global-typography-b45e5f1-line-height );letter-spacing:var( --e-global-typography-b45e5f1-letter-spacing );color:var( --e-global-color-c2a83f0 );border-radius:6px 6px 6px 6px;padding:14px 20px 14px 20px;}.elementor-kit-829 button:hover,.elementor-kit-829 button:focus,.elementor-kit-829 input[type="button"]:hover,.elementor-kit-829 input[type="button"]:focus,.elementor-kit-829 input[type="submit"]:hover,.elementor-kit-829 input[type="submit"]:focus,.elementor-kit-829 .elementor-button:hover,.elementor-kit-829 .elementor-button:focus{background-color:var( --e-global-color-1f66d4f );}.elementor-kit-829 e-page-transition{background-color:#FFBC7D;}.elementor-kit-829 a{color:var( --e-global-color-1f66d4f );}.elementor-kit-829 a:hover{color:var( --e-global-color-1f66d4f );}.elementor-kit-829 h1{color:var( --e-global-color-e85f381 );font-family:var( --e-global-typography-d9987bb-font-family ), Label;font-size:var( --e-global-typography-d9987bb-font-size );font-weight:var( --e-global-typography-d9987bb-font-weight );font-style:var( --e-global-typography-d9987bb-font-style );text-transform:var( --e-global-typography-d9987bb-text-transform );line-height:var( --e-global-typography-d9987bb-line-height );letter-spacing:var( --e-global-typography-d9987bb-letter-spacing );}.elementor-kit-829 h2{color:var( --e-global-color-e85f381 );font-family:var( --e-global-typography-b8a8d92-font-family ), Label;font-size:var( --e-global-typography-b8a8d92-font-size );font-weight:var( --e-global-typography-b8a8d92-font-weight );font-style:var( --e-global-typography-b8a8d92-font-style );text-transform:var( --e-global-typography-b8a8d92-text-transform );line-height:var( --e-global-typography-b8a8d92-line-height );letter-spacing:var( --e-global-typography-b8a8d92-letter-spacing );}.elementor-kit-829 h3{color:var( --e-global-color-e85f381 );font-family:var( --e-global-typography-02a8189-font-family ), Label;font-size:var( --e-global-typography-02a8189-font-size );font-weight:var( --e-global-typography-02a8189-font-weight );font-style:var( --e-global-typography-02a8189-font-style );text-transform:var( --e-global-typography-02a8189-text-transform );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h4{color:var( --e-global-color-e85f381 );font-family:var( --e-global-typography-02a8189-font-family ), Label;font-size:var( --e-global-typography-02a8189-font-size );font-weight:var( --e-global-typography-02a8189-font-weight );font-style:var( --e-global-typography-02a8189-font-style );text-transform:var( --e-global-typography-02a8189-text-transform );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h5{color:var( --e-global-color-e85f381 );font-family:var( --e-global-typography-9eec37e-font-family ), Label;font-size:var( --e-global-typography-9eec37e-font-size );font-weight:var( --e-global-typography-9eec37e-font-weight );font-style:var( --e-global-typography-9eec37e-font-style );text-transform:var( --e-global-typography-9eec37e-text-transform );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 h6{color:var( --e-global-color-e85f381 );font-family:var( --e-global-typography-9eec37e-font-family ), Label;font-size:var( --e-global-typography-9eec37e-font-size );font-weight:var( --e-global-typography-9eec37e-font-weight );font-style:var( --e-global-typography-9eec37e-font-style );text-transform:var( --e-global-typography-9eec37e-text-transform );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 input:not([type="button"]):not([type="submit"]),.elementor-kit-829 textarea,.elementor-kit-829 .elementor-field-textual{font-family:var( --e-global-typography-6ef042b-font-family ), Label;font-size:var( --e-global-typography-6ef042b-font-size );font-weight:var( --e-global-typography-6ef042b-font-weight );font-style:var( --e-global-typography-6ef042b-font-style );text-transform:var( --e-global-typography-6ef042b-text-transform );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );color:var( --e-global-color-e85f381 );background-color:var( --e-global-color-5dbbe6b );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-2390d55 );border-radius:6px 6px 6px 6px;}.elementor-kit-829 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-829 textarea:focus,.elementor-kit-829 .elementor-field-textual:focus{color:var( --e-global-color-3477987 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:48px;--container-default-padding-bottom:0px;--container-default-padding-left:48px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1366px){.elementor-kit-829{font-size:var( --e-global-typography-6ef042b-font-size );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );}.elementor-kit-829 h1{font-size:var( --e-global-typography-d9987bb-font-size );line-height:var( --e-global-typography-d9987bb-line-height );letter-spacing:var( --e-global-typography-d9987bb-letter-spacing );}.elementor-kit-829 h2{font-size:var( --e-global-typography-b8a8d92-font-size );line-height:var( --e-global-typography-b8a8d92-line-height );letter-spacing:var( --e-global-typography-b8a8d92-letter-spacing );}.elementor-kit-829 h3{font-size:var( --e-global-typography-02a8189-font-size );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h4{font-size:var( --e-global-typography-02a8189-font-size );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h5{font-size:var( --e-global-typography-9eec37e-font-size );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 h6{font-size:var( --e-global-typography-9eec37e-font-size );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 button,.elementor-kit-829 input[type="button"],.elementor-kit-829 input[type="submit"],.elementor-kit-829 .elementor-button{font-size:var( --e-global-typography-b45e5f1-font-size );line-height:var( --e-global-typography-b45e5f1-line-height );letter-spacing:var( --e-global-typography-b45e5f1-letter-spacing );}.elementor-kit-829 input:not([type="button"]):not([type="submit"]),.elementor-kit-829 textarea,.elementor-kit-829 .elementor-field-textual{font-size:var( --e-global-typography-6ef042b-font-size );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}@media(max-width:1024px){.elementor-kit-829{--e-global-typography-primary-font-size:38px;--e-global-typography-primary-letter-spacing:-1.5px;--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-letter-spacing:-0.8px;--e-global-typography-text-font-size:17px;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-size:15px;--e-global-typography-accent-letter-spacing:-0.1px;--e-global-typography-d9987bb-font-size:72px;--e-global-typography-d9987bb-letter-spacing:-3.2px;--e-global-typography-6e288ca-font-size:52px;--e-global-typography-6e288ca-letter-spacing:-2.3px;--e-global-typography-b8a8d92-font-size:38px;--e-global-typography-b8a8d92-letter-spacing:-1.5px;--e-global-typography-02a8189-font-size:26px;--e-global-typography-02a8189-letter-spacing:-0.8px;--e-global-typography-699399b-font-size:48px;--e-global-typography-699399b-letter-spacing:-2.2px;--e-global-typography-96ec631-font-size:20px;--e-global-typography-96ec631-letter-spacing:0px;--e-global-typography-6ef042b-font-size:17px;--e-global-typography-6ef042b-letter-spacing:0px;--e-global-typography-a1caf43-font-size:15px;--e-global-typography-a1caf43-letter-spacing:0px;--e-global-typography-9eec37e-font-size:15px;--e-global-typography-9eec37e-letter-spacing:-0.1px;--e-global-typography-95cecc4-font-size:12.5px;--e-global-typography-95cecc4-letter-spacing:0px;--e-global-typography-b45e5f1-font-size:15px;--e-global-typography-b45e5f1-letter-spacing:-0.1px;font-size:var( --e-global-typography-6ef042b-font-size );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );}.elementor-kit-829 h1{font-size:var( --e-global-typography-d9987bb-font-size );line-height:var( --e-global-typography-d9987bb-line-height );letter-spacing:var( --e-global-typography-d9987bb-letter-spacing );}.elementor-kit-829 h2{font-size:var( --e-global-typography-b8a8d92-font-size );line-height:var( --e-global-typography-b8a8d92-line-height );letter-spacing:var( --e-global-typography-b8a8d92-letter-spacing );}.elementor-kit-829 h3{font-size:var( --e-global-typography-02a8189-font-size );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h4{font-size:var( --e-global-typography-02a8189-font-size );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h5{font-size:var( --e-global-typography-9eec37e-font-size );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 h6{font-size:var( --e-global-typography-9eec37e-font-size );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 button,.elementor-kit-829 input[type="button"],.elementor-kit-829 input[type="submit"],.elementor-kit-829 .elementor-button{font-size:var( --e-global-typography-b45e5f1-font-size );line-height:var( --e-global-typography-b45e5f1-line-height );letter-spacing:var( --e-global-typography-b45e5f1-letter-spacing );}.elementor-kit-829 input:not([type="button"]):not([type="submit"]),.elementor-kit-829 textarea,.elementor-kit-829 .elementor-field-textual{font-size:var( --e-global-typography-6ef042b-font-size );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}}@media(max-width:767px){.elementor-kit-829{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-letter-spacing:-1.3px;--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-letter-spacing:-0.7px;--e-global-typography-text-font-size:16px;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-size:14px;--e-global-typography-accent-letter-spacing:-0.1px;--e-global-typography-d9987bb-font-size:46px;--e-global-typography-d9987bb-letter-spacing:-2.1px;--e-global-typography-6e288ca-font-size:40px;--e-global-typography-6e288ca-letter-spacing:-1.8px;--e-global-typography-b8a8d92-font-size:32px;--e-global-typography-b8a8d92-letter-spacing:-1.3px;--e-global-typography-02a8189-font-size:24px;--e-global-typography-02a8189-letter-spacing:-0.7px;--e-global-typography-699399b-font-size:40px;--e-global-typography-699399b-letter-spacing:-1.8px;--e-global-typography-96ec631-font-size:19px;--e-global-typography-96ec631-letter-spacing:0px;--e-global-typography-6ef042b-font-size:16px;--e-global-typography-6ef042b-letter-spacing:0px;--e-global-typography-a1caf43-font-size:14px;--e-global-typography-a1caf43-letter-spacing:0px;--e-global-typography-9eec37e-font-size:14px;--e-global-typography-9eec37e-letter-spacing:-0.1px;--e-global-typography-95cecc4-font-size:12px;--e-global-typography-95cecc4-letter-spacing:0px;--e-global-typography-b45e5f1-font-size:15px;--e-global-typography-b45e5f1-letter-spacing:-0.1px;font-size:var( --e-global-typography-6ef042b-font-size );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );}.elementor-kit-829 h1{font-size:var( --e-global-typography-d9987bb-font-size );line-height:var( --e-global-typography-d9987bb-line-height );letter-spacing:var( --e-global-typography-d9987bb-letter-spacing );}.elementor-kit-829 h2{font-size:var( --e-global-typography-b8a8d92-font-size );line-height:var( --e-global-typography-b8a8d92-line-height );letter-spacing:var( --e-global-typography-b8a8d92-letter-spacing );}.elementor-kit-829 h3{font-size:var( --e-global-typography-02a8189-font-size );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h4{font-size:var( --e-global-typography-02a8189-font-size );line-height:var( --e-global-typography-02a8189-line-height );letter-spacing:var( --e-global-typography-02a8189-letter-spacing );}.elementor-kit-829 h5{font-size:var( --e-global-typography-9eec37e-font-size );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 h6{font-size:var( --e-global-typography-9eec37e-font-size );line-height:var( --e-global-typography-9eec37e-line-height );letter-spacing:var( --e-global-typography-9eec37e-letter-spacing );}.elementor-kit-829 button,.elementor-kit-829 input[type="button"],.elementor-kit-829 input[type="submit"],.elementor-kit-829 .elementor-button{font-size:var( --e-global-typography-b45e5f1-font-size );line-height:var( --e-global-typography-b45e5f1-line-height );letter-spacing:var( --e-global-typography-b45e5f1-letter-spacing );}.elementor-kit-829 input:not([type="button"]):not([type="submit"]),.elementor-kit-829 textarea,.elementor-kit-829 .elementor-field-textual{font-size:var( --e-global-typography-6ef042b-font-size );line-height:var( --e-global-typography-6ef042b-line-height );letter-spacing:var( --e-global-typography-6ef042b-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;--container-default-padding-top:0px;--container-default-padding-right:16px;--container-default-padding-bottom:0px;--container-default-padding-left:16px;}}/* Start custom CSS *//* =====================================================================
   ELITEMARKET · CSS DI SITO · versione del 5 ottobre 2026, allineata il 6 ottobre (sezione 13)
   Design system v2 (24/09/2026): blu notte + blu classico, Google Sans Flex.
   Dove si incolla: Elementor > Impostazioni del sito > CSS personalizzato.
   Leggi prima 2026-10-05-02-css-dove-incollarlo.md.

   Regola d'oro: questo file lavora sulle CLASSI che iniziano con "em-".
   Sugli elementi che portano una classe em-, nel pannello Stile di
   Elementor NON impostare sfondo, bordo, raggio o ombra: Elementor
   scriverebbe regole più forti di queste e il componente si rompe.
   ===================================================================== */


/* ---------------------------------------------------------------------
   0. TOKEN
   Gli stessi valori dei Global Colors di Elementor (file 01) e di
   tokens.css. Se un giorno cambi un colore, cambialo in tre posti:
   tokens.json, Global Colors, qui. I nomi seguono i token, con em- davanti
   per non scontrarsi con altri plugin.
   --------------------------------------------------------------------- */
:root {
  /* sezione chiara (è quella di tutte le schede) */
  --em-surface: #f0f2f5;
  --em-surface-raised: #ffffff;
  --em-surface-sunk: #e2e6eb;
  --em-line: #d6dbe1;
  --em-line-strong: #6f7a84;
  --em-ink: #0b1116;
  --em-ink-muted: #56616b;
  --em-accent: #1a5ddb;
  --em-on-accent: #ffffff;

  /* grafite: menu in alto e piè di pagina */
  --em-frame: #121416;
  --em-frame-raised: #1b1e21;
  --em-on-frame: #edeff1;
  --em-on-frame-muted: #9ca3ab;
  --em-frame-line: #2a2e33;

  /* ombre */
  --em-shadow-raised: 0 18px 36px -24px rgba(11, 17, 22, .45);
  --em-shadow-deep: 0 40px 70px -40px rgba(7, 22, 28, .55);

  /* spazi */
  --em-space-1: 4px;  --em-space-2: 8px;  --em-space-3: 12px; --em-space-4: 16px;
  --em-space-5: 24px; --em-space-6: 32px; --em-space-7: 48px; --em-space-8: 64px;
  --em-space-9: 96px; --em-space-10: 128px;

  /* raggi. Decisione di Alfredo: bottoni ed etichette rettangolari ad
     angoli piccoli (radius-sm), niente pillole. radius-pill non si usa. */
  --em-radius-sm: 6px;
  --em-radius-md: 12px;
  --em-radius-lg: 18px;
  --em-radius-xl: 26px;

  /* carattere e movimento */
  --em-font: "Google Sans Flex", system-ui, -apple-system, "Segoe UI", sans-serif;
  --em-ease: cubic-bezier(.16, 1, .3, 1);
  --em-dur-1: 250ms;
  --em-dur-2: 450ms;
  --em-dur-3: 900ms;

  /* altezza del menu fisso in alto: serve all'indice della scheda per
     sapere dove fermarsi. Se il tuo header è più alto, cambia qui. */
  --em-altezza-menu: 64px;
}

/* Sezione blu notte. Per Alfredo: SOLO l'apertura della homepage.
   In Elementor: contenitore > Avanzate > Classi CSS: em-blu-notte */
.em-blu-notte {
  --em-surface: #0a1128;
  --em-surface-raised: #111a38;
  --em-surface-sunk: #1a2550;
  --em-line: #1f2a4d;
  --em-line-strong: #6a7aa6;
  --em-ink: #e8ecf7;
  --em-ink-muted: #95a2c6;
  --em-accent: #8db6ff;
  --em-on-accent: #0b1116;
  --em-shadow-raised: 0 18px 36px -20px rgba(0, 0, 0, .75);
  --em-shadow-deep: 0 40px 70px -40px rgba(0, 0, 0, .9);
  background-color: var(--em-surface);
  color: var(--em-ink);
  color-scheme: dark;
}


/* ---------------------------------------------------------------------
   1. BASE: carattere, colori, link, focus
   Il tema Hello Elementor colora i link di rosa (#c36) e dà ai bottoni
   un bordo rosa: qui lo neutralizziamo una volta per tutte.
   --------------------------------------------------------------------- */
body {
  font-family: var(--em-font);
  font-stretch: 100%;
  font-weight: 400;
  background-color: var(--em-surface);
  color: var(--em-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Rete di sicurezza per un difetto noto di Elementor: con i font
   variabili caricati in Custom Fonts, la tipografia globale a volte non
   scrive il peso (issue elementor #29496). Qui lo fissiamo a mano:
   tutti i titoli a 560, il testo a 400. */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--em-font);
  font-weight: 560;
  font-stretch: 100%;
  letter-spacing: -0.035em;
  text-wrap: balance;
  color: inherit;
}

a { color: var(--em-accent); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover, a:focus { color: var(--em-accent); }

::selection { background: var(--em-accent); color: var(--em-on-accent); }

:focus-visible {
  outline: 2px solid var(--em-accent);
  outline-offset: 3px;
  border-radius: var(--em-radius-sm);
}

/* numeri allineati in colonna ovunque ci siano dati */
.em-numero, .em-riquadro__valore, .em-dati__valore { font-variant-numeric: tabular-nums; }


/* ---------------------------------------------------------------------
   2. BOTTONI
   Primario: rettangolo blu, angoli piccoli, freccia che entra al
   passaggio del mouse. Vale per OGNI widget Pulsante di Elementor.
   Secondario: testo sottolineato. Sul widget Pulsante aggiungi la classe
   em-bottone-testo (Avanzate > Classi CSS).
   --------------------------------------------------------------------- */
.elementor-button,
.em-bottone {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 14px 20px;
  border: 1px solid var(--em-accent);
  border-radius: var(--em-radius-sm);
  background-color: var(--em-accent);
  color: var(--em-on-accent);
  font-family: var(--em-font);
  font-size: 15px;
  line-height: 1;
  font-weight: 560;
  letter-spacing: -0.005em;
  text-transform: none;
  text-decoration: none;
  transition: background-color var(--em-dur-1) var(--em-ease),
              border-color var(--em-dur-1) var(--em-ease),
              color var(--em-dur-1) var(--em-ease),
              transform var(--em-dur-2) var(--em-ease);
}
.elementor-button:hover, .elementor-button:focus-visible,
.em-bottone:hover, .em-bottone:focus-visible {
  background-color: #154bb3; /* accent scurito del 15% solo al passaggio */
  border-color: #154bb3;
  color: var(--em-on-accent);
}
.em-blu-notte .elementor-button:hover, .em-blu-notte .em-bottone:hover { background-color: #b3ceff; border-color: #b3ceff; }

/* la freccia: occupa zero spazio finché non passi sopra */
.elementor-button .elementor-button-text::after,
.em-bottone::after {
  content: "→";
  display: inline-block;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  vertical-align: bottom;
  transform: translateX(-6px);
  transition: max-width var(--em-dur-2) var(--em-ease),
              margin var(--em-dur-2) var(--em-ease),
              opacity var(--em-dur-1) var(--em-ease),
              transform var(--em-dur-2) var(--em-ease);
}
.elementor-button:hover .elementor-button-text::after,
.elementor-button:focus-visible .elementor-button-text::after,
.em-bottone:hover::after, .em-bottone:focus-visible::after {
  max-width: 1.2em;
  margin-left: .5em;
  opacity: 1;
  transform: none;
}

/* secondario: testo sottolineato, niente riquadro */
.em-bottone-testo .elementor-button,
.em-bottone--testo {
  padding: 4px 0;
  background: transparent;
  border-color: transparent;
  color: var(--em-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
}
.em-bottone-testo .elementor-button:hover,
.em-bottone--testo:hover {
  background: transparent;
  border-color: transparent;
  color: var(--em-accent);
}

/* link verso siti esterni: stessa logica del secondario, con ↗ fisso */
.em-link-esterni { display: flex; flex-wrap: wrap; gap: var(--em-space-2) var(--em-space-5); }
.em-link-esterno {
  font-size: 15px;
  font-weight: 560;
  color: var(--em-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
  transition: color var(--em-dur-1) var(--em-ease);
}
.em-link-esterno::after { content: " ↗"; color: var(--em-accent); }
.em-link-esterno:hover { color: var(--em-accent); }


/* ---------------------------------------------------------------------
   3. ETICHETTE
   em-label: l'etichetta che apre un blocco (testo normale con pallino).
   em-etichetta: il chip rettangolare di un termine (tipo di società,
   destinazione, prova di selezione). Stessa forma dei bottoni: angoli
   piccoli, freccia al passaggio se è un link.
   --------------------------------------------------------------------- */
.em-label,
.em-label .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 560;
  letter-spacing: -0.005em;
  color: var(--em-ink);
  text-transform: none;
}
.em-label::before,
.em-label .elementor-heading-title::before {
  content: "";
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 2px solid var(--em-accent);
}

.em-tipi, .em-etichette { display: flex; flex-wrap: wrap; gap: var(--em-space-2); margin: 0; padding: 0; list-style: none; }
.em-etichetta {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--em-line-strong);
  border-radius: var(--em-radius-sm);
  background: var(--em-surface-raised);
  color: var(--em-ink);
  font-size: 14.5px;
  line-height: 1.2;
  font-weight: 560;
  text-decoration: none;
  transition: border-color var(--em-dur-1) var(--em-ease), color var(--em-dur-1) var(--em-ease), background-color var(--em-dur-1) var(--em-ease);
}
a.em-etichetta::after {
  content: "→";
  display: inline-block;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateX(-4px);
  transition: max-width var(--em-dur-2) var(--em-ease), margin var(--em-dur-2) var(--em-ease), opacity var(--em-dur-1), transform var(--em-dur-2) var(--em-ease);
}
a.em-etichetta:hover, a.em-etichetta:focus-visible { border-color: var(--em-accent); color: var(--em-accent); }
a.em-etichetta:hover::after, a.em-etichetta:focus-visible::after { max-width: 1em; margin-left: .45em; opacity: 1; transform: none; }


/* ---------------------------------------------------------------------
   4. SEZIONI E TESTO LUNGO
   em-sezione: ogni sezione della scheda (Panoramica, Recruiting...).
   Va sul contenitore della sezione, che ha anche un ID (Avanzate > ID CSS)
   così il menu fisso e i riquadri del cruscotto ci possono saltare.
   em-prosa: sul widget Editor di testo che legge un campo lungo.
   --------------------------------------------------------------------- */
.em-sezione {
  scroll-margin-top: calc(var(--em-altezza-menu) + 72px);
  border-top: 1px solid var(--em-line);
}
.em-sezione:first-of-type { border-top: 0; }

.em-prosa,
.em-prosa .elementor-widget-container {
  font-size: 17px;
  line-height: 1.6;
  color: var(--em-ink);
  max-width: 72ch;          /* righe leggibili anche a tutta larghezza */
}
.em-prosa p { margin: 0 0 1em; }
.em-prosa p:last-child { margin-bottom: 0; }
.em-prosa strong, .em-prosa b { font-weight: 600; }
/* SOTTOPUNTI: la frase d'apertura in grassetto diventa il «titoletto»
   del paragrafo, sempre nello stesso paragrafo e nell'ordine scritto. */
.em-prosa p > strong:first-child { color: var(--em-ink); }
.em-prosa ul, .em-prosa ol { margin: 0 0 1em; padding-left: 1.2em; }
.em-prosa li { margin-bottom: .45em; }
.em-prosa li::marker { color: var(--em-accent); }

/* il primo paragrafo di un testo d'apertura in stile lead */
.em-prosa--lead p:first-child,
.em-lead { font-size: 21px; line-height: 1.5; }

/* titoletto dentro una sezione (Chi cercano davvero, Come funziona...) */
.em-sottotitolo,
.em-sottotitolo .elementor-heading-title {
  margin: 0 0 var(--em-space-3);
  font-size: 28px;
  line-height: 1.05;
  font-weight: 560;
  letter-spacing: -0.03em;
  color: var(--em-ink);
}

/* em-blocco: un sotto-tema della sezione (Chi cercano davvero, Vale la pena?...).
   Contenitore con dentro il titoletto (classe em-sottotitolo) e il testo.
   Su computer il titoletto sta a sinistra e resta fermo mentre leggi,
   il testo scorre a destra: la sezione usa tutta la larghezza e le righe
   restano leggibili. Su tablet e telefono si torna uno sotto l'altro. */
@media (min-width: 1025px) {
  .em-blocco:not(:has(> .e-con-inner)),
  .em-blocco > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
    column-gap: var(--em-space-7) !important;
    row-gap: 0 !important;
    align-items: start;
  }
  .em-blocco > :not(.em-sottotitolo),
  .em-blocco > .e-con-inner > :not(.em-sottotitolo) { grid-column: 2; min-width: 0; }
  .em-blocco > :not(.em-sottotitolo) + :not(.em-sottotitolo),
  .em-blocco > .e-con-inner > :not(.em-sottotitolo) + :not(.em-sottotitolo) { margin-top: var(--em-space-5); }
  .em-blocco > .em-sottotitolo,
  .em-blocco > .e-con-inner > .em-sottotitolo {
    grid-column: 1;
    grid-row: 1 / span 12;
    align-self: start;
    position: sticky;
    top: calc(var(--em-altezza-menu) + 88px);
  }
  /* em-colonne: testo a sinistra, card strette a destra (Panoramica) */
  .em-colonne:not(:has(> .e-con-inner)),
  .em-colonne > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
    gap: var(--em-space-7) !important;
    align-items: start;
  }
  .em-colonne .em-dati { grid-template-columns: 1fr; }
}

/* testata della scheda: logo e descrizione breve */
.em-logo img,
img.em-logo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 56px;
  object-fit: contain;
}
.em-logo {
  padding: 8px;
  border: 1px solid var(--em-line);
  border-radius: var(--em-radius-md);
  background: var(--em-surface-raised);
}
.em-breve, .em-breve .elementor-widget-container { max-width: 62ch; }
.em-breve p { margin: 0; }

/* riga di fonte, metadati, nota editoriale */
.em-caption,
.em-caption .elementor-widget-container,
.em-caption p {
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 500;
  color: var(--em-ink-muted);
  margin: 0;
}

/* «Continua a leggere»: lo aggiunge lo snippet sui widget con classe
   em-leggi. Senza JavaScript il testo resta tutto visibile. */
.em-js .em-leggi.is-chiuso .em-leggi__resto { display: none; }
.em-leggi__btn {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: .4em;
  margin-top: var(--em-space-3);
  cursor: pointer;
  font-family: var(--em-font);
  font-size: 15px;
  font-weight: 560;
  color: var(--em-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
  transition: color var(--em-dur-1) var(--em-ease);
}
.em-leggi__btn:hover { color: var(--em-accent); }
.em-leggi__btn span { display: inline-block; color: var(--em-accent); transition: transform var(--em-dur-2) var(--em-ease); }
.em-leggi:not(.is-chiuso) .em-leggi__btn span { transform: rotate(180deg); }


/* ---------------------------------------------------------------------
   5. CRUSCOTTO (lo scrive lo shortcode [em_cruscotto])
   Griglia 2×2 a destra dell'apertura. Se i riquadri sono 3, l'ultimo
   prende tutta la riga; se è 1 resta largo.
   --------------------------------------------------------------------- */
.em-cruscotto {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--em-space-3);
}
.em-cruscotto > .em-riquadro:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 0; }

.em-riquadro {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 190px;
  padding: 20px 20px 18px;
  border: 1px solid var(--em-line);
  border-radius: var(--em-radius-lg);
  background: var(--em-surface-raised);
  color: var(--em-ink);
  text-decoration: none;
  transition: transform var(--em-dur-2) var(--em-ease),
              border-color var(--em-dur-1) var(--em-ease),
              box-shadow var(--em-dur-2) var(--em-ease);
}
a.em-riquadro:hover, a.em-riquadro:focus-visible {
  color: var(--em-ink);
  transform: translateY(-4px);
  border-color: var(--em-line-strong);
  box-shadow: var(--em-shadow-raised);
}
.em-riquadro__nome {
  display: flex;
  justify-content: space-between;
  gap: var(--em-space-2);
  font-size: 15px;
  line-height: 1.3;
  font-weight: 560;
  color: var(--em-ink-muted);
}
.em-riquadro__nome::after {
  content: "↘";
  color: var(--em-accent);
  opacity: 0;
  transform: translate(-6px, -6px);
  transition: opacity var(--em-dur-1) var(--em-ease), transform var(--em-dur-2) var(--em-ease);
}
a.em-riquadro:hover .em-riquadro__nome::after,
a.em-riquadro:focus-visible .em-riquadro__nome::after { opacity: 1; transform: none; }

.em-riquadro__valore {
  font-size: 28px;
  line-height: 1.05;
  font-weight: 560;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.em-riquadro__nota { font-size: 15px; line-height: 1.45; color: var(--em-ink-muted); }
.em-riquadro__fonte {
  margin-top: auto;
  padding-top: var(--em-space-2);
  border-top: 1px solid var(--em-line);
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 500;
  color: var(--em-ink-muted);
}

/* barra a tacche (Competitività 5, Presenza in Italia 3) */
.em-tacche { display: flex; gap: 5px; margin-top: 2px; }
.em-tacche i { flex: 1; height: 7px; border-radius: 4px; background: var(--em-surface-sunk); }
.em-tacche i.is-on { background: var(--em-accent); }
.em-tacche__scala { display: flex; justify-content: space-between; font-size: 12.5px; font-weight: 500; color: var(--em-ink-muted); }

/* Persone: fino a tre numeri affiancati, ciascuno col suo perimetro */
.em-persone { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: var(--em-space-4) var(--em-space-4); }
.em-persone__voce { display: flex; flex-direction: column; gap: var(--em-space-1); min-width: 0; }
.em-persone .em-numero {
  font-size: 40px;
  line-height: 1;
  font-weight: 560;
  letter-spacing: -0.045em;
}
.em-persone__chi { font-size: 15px; line-height: 1.3; font-weight: 560; color: var(--em-ink); }
.em-persone__nota { font-size: 12.5px; line-height: 1.4; font-weight: 500; color: var(--em-ink-muted); }

/* Ricavi e patrimonio: testo, niente contatore */
.em-ricavi { display: grid; gap: var(--em-space-4); }
.em-ricavi__voce { display: flex; flex-direction: column; gap: var(--em-space-1); }
.em-ricavi__chi { font-size: 15px; font-weight: 560; }
.em-ricavi__nota { font-size: 12.5px; line-height: 1.4; font-weight: 500; color: var(--em-ink-muted); }

/* elenco breve dentro un riquadro (destinazioni, background, prove) */
.em-riquadro__elenco { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 17px; line-height: 1.3; font-weight: 560; }
.em-riquadro__elenco li::before { content: "→ "; color: var(--em-accent); }


/* ---------------------------------------------------------------------
   6. NUMERI CHE COMPAIONO
   Lo snippet conta da zero al valore quando il numero entra nello
   schermo. Qui c'è la parte senza JavaScript: il numero sale e si
   schiarisce. Se il JavaScript manca, il numero è comunque lì, fermo.
   --------------------------------------------------------------------- */
.em-js .em-numero { display: inline-block; opacity: 0; transform: translateY(.35em); }
.em-js .em-numero.is-visibile {
  opacity: 1;
  transform: none;
  transition: opacity var(--em-dur-3) var(--em-ease), transform var(--em-dur-3) var(--em-ease);
}


/* ---------------------------------------------------------------------
   7. SELETTORE (shortcode [em_selettore]): elenco a sinistra, spiegazione
   a destra, sempre. Su telefono l'elenco va sopra il pannello.
   Senza JavaScript tutte le voci restano leggibili una sotto l'altra.
   --------------------------------------------------------------------- */
.em-selettore {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: var(--em-space-4);
  padding: var(--em-space-5);
  border-radius: var(--em-radius-xl);
  background: var(--em-surface-sunk);
  align-items: start;
}
.em-selettore__elenco { display: flex; flex-direction: column; gap: 6px; }
.em-selettore__voce {
  all: unset;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid var(--em-line-strong);
  border-radius: var(--em-radius-md);
  background: var(--em-surface-raised);
  color: var(--em-ink);
  font-family: var(--em-font);
  font-size: 15.5px;
  line-height: 1.3;
  font-weight: 560;
  cursor: pointer;
  transition: background-color var(--em-dur-1) var(--em-ease), color var(--em-dur-1) var(--em-ease), border-color var(--em-dur-1) var(--em-ease), transform var(--em-dur-2) var(--em-ease);
}
.em-selettore__voce:hover { border-color: var(--em-accent); }
.em-selettore__voce::after { content: "→"; opacity: 0; transform: translateX(-6px); transition: opacity var(--em-dur-1), transform var(--em-dur-2) var(--em-ease); }
.em-selettore__voce[aria-selected="true"] {
  background: var(--em-accent);
  border-color: var(--em-accent);
  color: var(--em-on-accent);
}
.em-selettore__voce[aria-selected="true"]::after { opacity: 1; transform: none; }
.em-selettore__voce:focus-visible { outline: 2px solid var(--em-accent); outline-offset: 3px; }

.em-selettore__pannelli { display: grid; gap: var(--em-space-3); min-width: 0; }
.em-selettore__pannello {
  padding: var(--em-space-5) var(--em-space-6);
  border: 1px solid var(--em-line-strong);
  border-radius: var(--em-radius-lg);
  background: var(--em-surface-raised);
  box-shadow: var(--em-shadow-raised);
}
.em-selettore__pannello h3 { margin: 0 0 var(--em-space-3); font-size: 28px; line-height: 1.05; letter-spacing: -0.03em; }
.em-selettore__pannello p { margin: 0 0 .9em; font-size: 17px; line-height: 1.6; max-width: 66ch; }
.em-selettore__pannello p:last-child { margin-bottom: 0; }
.em-selettore__altre { display: inline-block; margin-top: var(--em-space-4); font-size: 15px; font-weight: 560; }

/* con JavaScript: si vede solo il pannello scelto, che entra morbido */
.em-js .em-selettore__pannello[hidden] { display: none; }
.em-js .em-selettore__pannello.is-entrato { animation: em-entra var(--em-dur-2) var(--em-ease) both; }
/* senza JavaScript: niente elenco, pannelli uno sotto l'altro */
html:not(.em-js) .em-selettore { grid-template-columns: 1fr; }
html:not(.em-js) .em-selettore__elenco { display: none; }

.em-intro-voci { max-width: 72ch; margin-bottom: var(--em-space-5); font-size: 17px; line-height: 1.6; }


/* ---------------------------------------------------------------------
   8. CARD
   em-card: card chiara (Panoramica, clienti, risorse).
   em-card--evidenza: l'unica card evidenziata della scheda (exit).
   em-griglia-card: griglia che le dispone.
   --------------------------------------------------------------------- */
.em-griglia-card { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--em-space-3); }
.em-card {
  padding: var(--em-space-5);
  border: 1px solid var(--em-line);
  border-radius: var(--em-radius-lg);
  background: var(--em-surface-raised);
  color: var(--em-ink);
  transition: transform var(--em-dur-2) var(--em-ease), border-color var(--em-dur-1) var(--em-ease), box-shadow var(--em-dur-2) var(--em-ease);
}
.em-card:hover { transform: translateY(-3px); border-color: var(--em-line-strong); box-shadow: var(--em-shadow-raised); }
.em-card h3, .em-card__titolo { margin: 0 0 var(--em-space-2); font-size: 22px; line-height: 1.1; font-weight: 560; letter-spacing: -0.03em; }
.em-card p { margin: 0 0 .7em; font-size: 15px; line-height: 1.45; color: var(--em-ink-muted); }
.em-card p:last-child { margin-bottom: 0; }
.em-card ul { margin: 0; padding-left: 1.1em; font-size: 15px; line-height: 1.45; }
.em-card li { margin-bottom: .5em; }
.em-card li::marker { color: var(--em-accent); }

/* la card evidenziata: bordo blu, un filo di blu nel fondo */
.em-card--evidenza {
  padding: var(--em-space-6);
  border: 1px solid var(--em-accent);
  border-radius: var(--em-radius-xl);
  background:
    linear-gradient(var(--em-surface-raised), var(--em-surface-raised)) padding-box,
    var(--em-accent) border-box;
  box-shadow: var(--em-shadow-raised);
}
.em-card--evidenza:hover { transform: none; }
.em-card--evidenza p { font-size: 17px; line-height: 1.6; color: var(--em-ink); max-width: 72ch; }

/* dati della Panoramica: anno, sede, uffici */
.em-dati { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--em-space-3); margin: 0; }
.em-dati__voce { padding: var(--em-space-4) var(--em-space-5); border: 1px solid var(--em-line); border-radius: var(--em-radius-md); background: var(--em-surface-raised); }
.em-dati__chi { margin: 0 0 var(--em-space-1); font-size: 12.5px; font-weight: 500; color: var(--em-ink-muted); }
.em-dati__valore { margin: 0; font-size: 17px; line-height: 1.35; font-weight: 560; white-space: pre-line; }

/* elenco «Nome: spiegazione» (competenze tecniche dei settori) */
.em-elenco { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; max-width: 80ch; }
.em-elenco li { padding: var(--em-space-4) 0; border-top: 1px solid var(--em-line); font-size: 17px; line-height: 1.5; }
.em-elenco li:last-child { border-bottom: 1px solid var(--em-line); }
.em-elenco strong { font-weight: 600; }


/* ---------------------------------------------------------------------
   9. DOMANDE (shortcode [em_domande]): fisarmonica nativa del browser
   --------------------------------------------------------------------- */
.em-domande { display: flex; flex-direction: column; gap: var(--em-space-2); max-width: 880px; }
.em-domanda {
  border: 1px solid var(--em-line-strong);
  border-radius: var(--em-radius-md);
  background: var(--em-surface-raised);
  transition: border-color var(--em-dur-1) var(--em-ease), box-shadow var(--em-dur-2) var(--em-ease);
}
.em-domanda[open] { border-color: var(--em-accent); box-shadow: var(--em-shadow-raised); }
.em-domanda summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--em-space-4);
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 560;
}
.em-domanda summary::-webkit-details-marker { display: none; }
.em-domanda summary::after {
  content: "+";
  flex: none;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: var(--em-radius-sm);
  background: var(--em-surface-sunk);
  color: var(--em-ink);
  font-size: 18px;
  line-height: 1;
  transition: transform var(--em-dur-2) var(--em-ease), background-color var(--em-dur-1), color var(--em-dur-1);
}
.em-domanda[open] summary::after { transform: rotate(45deg); background: var(--em-accent); color: var(--em-on-accent); }
.em-domanda__risposta { padding: 0 20px 20px; font-size: 17px; line-height: 1.6; max-width: 72ch; }
.em-domanda__risposta p { margin: 0 0 .8em; }
.em-domanda__risposta p:last-child { margin-bottom: 0; }
.em-domanda[open] .em-domanda__risposta { animation: em-entra var(--em-dur-2) var(--em-ease) both; }


/* ---------------------------------------------------------------------
   10. INDICE FISSO DELLA SCHEDA
   Contenitore vuoto con classe em-indice: lo snippet lo riempie con le
   sole sezioni presenti nella pagina.
   --------------------------------------------------------------------- */
.em-indice {
  position: sticky;
  top: var(--em-altezza-menu);
  z-index: 40;
  background: color-mix(in srgb, var(--em-surface) 90%, transparent);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--em-line);
}
.em-indice:empty { display: none; }
.em-indice__dentro { display: flex; align-items: center; gap: var(--em-space-4); max-width: 1240px; margin: 0 auto; padding: 0 var(--em-space-7); }
.em-indice__nome { flex: none; max-width: 0; overflow: hidden; white-space: nowrap; font-size: 17px; font-weight: 560; letter-spacing: -0.02em; opacity: 0; transition: max-width var(--em-dur-2) var(--em-ease), opacity var(--em-dur-1); }
.em-indice.is-fisso .em-indice__nome { max-width: 260px; opacity: 1; }
.em-indice__dentro { gap: 0; }
.em-indice.is-fisso .em-indice__dentro { gap: var(--em-space-4); }
.em-indice__voci { display: flex; gap: 4px; margin: 0 0 0 -12px; padding: 10px 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.em-indice__voci::-webkit-scrollbar { display: none; }
.em-indice__voci a {
  display: block;
  padding: 8px 12px;
  border-radius: var(--em-radius-sm);
  white-space: nowrap;
  font-size: 14.5px;
  font-weight: 560;
  color: var(--em-ink-muted);
  text-decoration: none;
  transition: background-color var(--em-dur-1) var(--em-ease), color var(--em-dur-1) var(--em-ease);
}
.em-indice__voci a:hover { color: var(--em-ink); }
.em-indice__voci a.is-attiva { background: var(--em-accent); color: var(--em-on-accent); }
.em-indice__barra { position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; transform-origin: left; transform: scaleX(0); background: var(--em-accent); }


/* ---------------------------------------------------------------------
   11. CARD DEGLI ARCHIVI (Loop Item)
   Sul contenitore principale del Loop Item: classe em-card-link e
   Tag HTML «a» con link dinamico all'articolo.
   --------------------------------------------------------------------- */
.em-card-link {
  display: flex;
  flex-direction: column;
  gap: var(--em-space-3);
  height: 100%;
  padding: var(--em-space-5);
  border: 1px solid var(--em-line);
  border-radius: var(--em-radius-xl);
  background: var(--em-surface-raised);
  color: var(--em-ink);
  text-decoration: none;
  transition: transform var(--em-dur-2) var(--em-ease), border-color var(--em-dur-1) var(--em-ease), box-shadow var(--em-dur-2) var(--em-ease);
}
.em-card-link:hover, .em-card-link:focus-visible {
  color: var(--em-ink);
  transform: translateY(-4px);
  border-color: var(--em-line-strong);
  box-shadow: var(--em-shadow-raised);
}
.em-card-link .elementor-heading-title { font-size: 28px; line-height: 1.05; letter-spacing: -0.03em; }
.em-card-link__vai { margin-top: auto; font-size: 15px; font-weight: 560; color: var(--em-accent); }
.em-card-link__vai::after { content: " →"; display: inline-block; transition: transform var(--em-dur-2) var(--em-ease); }
.em-card-link:hover .em-card-link__vai::after { transform: translateX(4px); }
/* nella card i tipi sono testo, non link (una card è già un link) */
.em-card-link .em-etichetta { min-height: 28px; padding: 4px 9px; font-size: 13.5px; background: var(--em-surface); border-color: var(--em-line); }
/* la descrizione breve si ferma a tre righe */
.em-tre-righe, .em-tre-righe p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: 15px; line-height: 1.45; color: var(--em-ink-muted); }

/* Filtro per tassonomia di Elementor Pro: stesse etichette rettangolari */
.e-filter { gap: var(--em-space-2) !important; }
.e-filter-item {
  min-height: 36px;
  padding: 8px 14px !important;
  border: 1px solid var(--em-line-strong) !important;
  border-radius: var(--em-radius-sm) !important;
  background: var(--em-surface-raised) !important;
  color: var(--em-ink) !important;
  font-family: var(--em-font) !important;
  font-size: 14.5px !important;
  font-weight: 560 !important;
  transition: background-color var(--em-dur-1) var(--em-ease), color var(--em-dur-1) var(--em-ease), border-color var(--em-dur-1) var(--em-ease);
}
.e-filter-item:hover { border-color: var(--em-accent) !important; }
.e-filter-item[aria-pressed="true"] { background: var(--em-accent) !important; border-color: var(--em-accent) !important; color: var(--em-on-accent) !important; }


/* ---------------------------------------------------------------------
   12. MENU IN ALTO E PIÈ DI PAGINA (grafite)
   Sul contenitore principale dell'Header e del Footer: classe em-frame.
   --------------------------------------------------------------------- */
.em-frame { background-color: var(--em-frame); color: var(--em-on-frame); }
.em-frame a { color: var(--em-on-frame-muted); text-decoration: none; transition: color var(--em-dur-1) var(--em-ease); }
.em-frame a:hover, .em-frame a:focus-visible { color: var(--em-on-frame); }
.em-frame .elementor-heading-title { color: var(--em-on-frame); }
.em-frame .em-caption, .em-frame .em-caption p { color: var(--em-on-frame-muted); }
.em-frame hr, .em-frame .elementor-divider-separator { border-color: var(--em-frame-line) !important; }
.em-frame .elementor-button { background: var(--em-on-frame); border-color: var(--em-on-frame); color: var(--em-frame); }


/* ---------------------------------------------------------------------
   13. MOVIMENTO (livello medio)
   a) Le animazioni d'ingresso di Elementor (Avanzate > Effetti di
      movimento > Animazione d'ingresso: «Fade In Up») prendono la curva e
      la durata dei token invece di quelle di serie.
   b) em-rivela: comparsa dal basso gestita dallo snippet. I riquadri
      del cruscotto e le card la prendono da soli, con un piccolo ritardo
      in cascata.
   --------------------------------------------------------------------- */
@keyframes em-sale { from { opacity: 0; transform: translate3d(0, 26px, 0); } to { opacity: 1; transform: none; } }
@keyframes em-entra { from { opacity: 0; transform: translate3d(0, 10px, 0); } to { opacity: 1; transform: none; } }

.elementor-element.animated.fadeInUp {
  animation-name: em-sale;
  animation-duration: var(--em-dur-3) !important;
  animation-timing-function: var(--em-ease);
}

.em-js .em-rivela { opacity: 0; transform: translate3d(0, 26px, 0); }
.em-js .em-rivela.is-visibile {
  opacity: 1;
  transform: none;
  transition: opacity var(--em-dur-3) var(--em-ease), transform var(--em-dur-3) var(--em-ease);
  transition-delay: var(--em-ritardo, 0ms);
}


/* ---------------------------------------------------------------------
   14. NIENTE SCATOLE VUOTE
   Lo snippet toglie già gli elementi con campo vuoto prima che arrivino
   alla pagina. Questa è la rete di sicurezza se qualcosa sfugge: un
   widget di testo, uno shortcode o un titolo vuoti non lasciano spazi.
   --------------------------------------------------------------------- */
.elementor-widget-shortcode .elementor-shortcode:empty,
.elementor-widget-heading .elementor-heading-title:empty { display: none; }
.elementor-widget-shortcode:has(.elementor-shortcode:empty),
.elementor-widget-text-editor:has(> .elementor-widget-container:empty),
.elementor-widget-text-editor:empty,
.elementor-widget-heading:has(.elementor-heading-title:empty) { display: none; }
/* «Società simili»: se il Loop Grid non trova nessuna card, la sezione sparisce */
.em-sezione:has(.elementor-widget-loop-grid):not(:has(.e-loop-item)) { display: none; }
/* un contenitore con classe em-se-... che non contiene più nessun widget sparisce */
.e-con[class*="em-se-"]:not(:has(.elementor-widget)) { display: none; }


/* ---------------------------------------------------------------------
   15. TABLET E TELEFONO
   --------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .em-selettore { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); }
  .em-indice__dentro { padding: 0 var(--em-space-6); }
}
@media (max-width: 767px) {
  .em-cruscotto { grid-template-columns: 1fr; gap: var(--em-space-2); }
  .em-riquadro { min-height: 0; }
  .em-persone .em-numero { font-size: 40px; }
  .em-selettore { grid-template-columns: 1fr; padding: var(--em-space-3); border-radius: var(--em-radius-lg); }
  .em-selettore__elenco { flex-direction: row; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--em-space-3) * -1); padding: 0 var(--em-space-3); }
  .em-selettore__elenco::-webkit-scrollbar { display: none; }
  .em-selettore__voce { flex: none; padding: 11px 14px; }
  .em-selettore__voce::after { display: none; }
  .em-selettore__pannello { padding: var(--em-space-5); }
  .em-selettore__pannello h3, .em-sottotitolo, .em-sottotitolo .elementor-heading-title { font-size: 24px; }
  .em-prosa--lead p:first-child, .em-lead { font-size: 19px; }
  .em-card--evidenza { padding: var(--em-space-5); border-radius: var(--em-radius-lg); }
  .em-indice__dentro { padding: 0 var(--em-space-4); }
  .em-indice__nome { display: none; }
  .em-domanda summary { padding: 16px; }
  .em-domanda__risposta { padding: 0 16px 16px; }
}


/* ---------------------------------------------------------------------
   16. RIDUCI MOVIMENTO
   Chi ha chiesto al sistema di ridurre le animazioni vede tutto fermo
   e subito visibile: niente comparse, niente contatori, niente scivolate.
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0ms !important;
    animation-delay: 0ms !important;
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
  .em-js .em-rivela, .em-js .em-numero { opacity: 1 !important; transform: none !important; }
  .elementor-invisible { visibility: visible !important; }
}


/* =====================================================================
   13. ALLINEAMENTO DEL 6 OTTOBRE 2026
   Decisioni del Capo del 24/09, già nel design system di Claude Design.
   Queste regole stanno IN FONDO apposta: alcune correggono quelle sopra.
   ===================================================================== */

/* 13.1 Card «in risalto», blu notte: i quattro riquadri del cruscotto
   e la card dell'exit. Il colore dice il ruolo dell'elemento: blu notte
   vuol dire «dato chiave», non una sezione scura. La pagina resta chiara. */
.em-riquadro,
.em-card--evidenza {
  --em-surface-raised: #0a1128;
  --em-surface-sunk: #1a2550;
  --em-line: #1f2a4d;
  --em-line-strong: #6a7aa6;
  --em-ink: #e8ecf7;
  --em-ink-muted: #95a2c6;
  --em-accent: #8db6ff;
  --em-on-accent: #0b1116;
  color-scheme: dark;
}
.em-card--evidenza {
  background: var(--em-surface-raised);
  border: 1px solid var(--em-line);
  color: var(--em-ink);
}

/* 13.2 La Targa: al posto della copertina, sopra il cruscotto.
   Logo a sinistra (se c'è), al massimo due tipi di società scritti grandi,
   uno per riga, con una linea sottile fra loro e la freccia che scorre.
   Niente etichette, pallini o testi piccoli: l'appartenenza si legge
   dalla tipografia. Shortcode [em_targa]. */
.em-targa {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: var(--em-space-5);
  align-items: center;
  margin: 0 0 var(--em-space-4);
  padding: var(--em-space-4) var(--em-space-5);
  border: 1px solid var(--em-line);
  border-radius: var(--em-radius-lg);
  background: var(--em-surface-raised);
}
.em-targa--senza-logo { grid-template-columns: minmax(0, 1fr); }
.em-targa--solo-logo { grid-template-columns: 88px; }
.em-targa__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  padding: 10px;
  border-radius: var(--em-radius-md);
  background: #ffffff;            /* il logo resta nei suoi colori, sempre su bianco */
}
.em-targa__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.em-targa__tipi { margin: 0; padding: 0; list-style: none; }
.em-targa__tipi li { margin: 0; }
.em-targa__tipi li + li { border-top: 1px solid var(--em-line); }
.em-targa__tipo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--em-space-4);
  padding: 14px 0;
  font-size: 28px;
  line-height: 1.05;
  font-weight: 560;
  letter-spacing: -0.03em;
  color: var(--em-ink);
  text-decoration: none;
}
a.em-targa__tipo:hover, a.em-targa__tipo:focus-visible { color: var(--em-ink); text-decoration: none; }
.em-targa__freccia {
  flex: none;
  font-size: 24px;
  color: var(--em-ink-muted);
  transition: transform var(--em-dur-1) var(--em-ease), color var(--em-dur-1) var(--em-ease);
}
a.em-targa__tipo:hover .em-targa__freccia,
a.em-targa__tipo:focus-visible .em-targa__freccia { transform: translateX(4px); color: var(--em-accent); }

/* 13.3 Recruiting, Carriera, Cultura: solo testo, niente card.
   Ogni campo in forma SOTTOPUNTI è diviso in righe sulle frasi in grassetto,
   nell'ordine scritto: frase a sinistra (3 colonne su 12), resto a destra
   (9 su 12). Shortcode [em_sottopunti]. Il contenitore del campo ha la
   classe em-campo: titolo sopra, righe sotto, a tutta larghezza. */
.em-righe { border-top: 1px solid var(--em-line); }
.em-riga {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  column-gap: var(--em-space-7);
  padding: var(--em-space-5) 0;
  border-bottom: 1px solid var(--em-line);
}
.em-riga__titolo {
  margin: 0;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--em-ink);
}
.em-riga__testo,
.em-riga__testo.em-prosa { max-width: none; }
.em-righe__intro { margin-bottom: var(--em-space-5); }
/* un campo senza sottopunti: un paragrafo largo fino a 10 colonne su 12,
   mai da bordo a bordo (righe da 150 caratteri non si leggono) */
.em-prosa--larga,
.em-prosa.em-prosa--larga { max-width: 83.333%; }

/* 13.4 Alumni notabili: testo su tre colonne, nome e sotto dove lavora oggi.
   Niente riquadri, foto o iniziali in un cerchio. Shortcode [em_nomi]. */
.em-nomi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--em-space-5) var(--em-space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}
.em-nomi li { margin: 0; }
.em-nomi__nome { display: block; font-size: 17px; line-height: 1.35; font-weight: 600; color: var(--em-ink); }
.em-nomi__dove { display: block; margin-top: 4px; font-size: 15px; line-height: 1.45; color: var(--em-ink-muted); }

/* 13.5 Termini dentro le sezioni (prove della selezione, come si entra,
   dove porta, settori clienti): testo con link, separati da un punto,
   non etichette con il bordo. I filtri degli archivi restano bottoni. */
.em-sezione .em-etichette { gap: 0; row-gap: 6px; }
.em-sezione .em-etichetta {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-size: 15px;
  line-height: 1.5;
  color: var(--em-ink);
}
.em-sezione .em-etichetta + .em-etichetta::before {
  content: "·";
  margin: 0 .6em;
  color: var(--em-ink-muted);
  font-weight: 400;
  text-decoration: none;
  display: inline-block;
}
.em-sezione a.em-etichetta { text-decoration: underline; text-decoration-color: var(--em-line-strong); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.em-sezione a.em-etichetta::after { display: none; }
.em-sezione a.em-etichetta:hover,
.em-sezione a.em-etichetta:focus-visible { background: none; color: var(--em-accent); text-decoration-color: var(--em-accent); text-decoration-thickness: 2px; }

@media (max-width: 1024px) {
  .em-prosa--larga, .em-prosa.em-prosa--larga { max-width: none; }
  .em-nomi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .em-targa { grid-template-columns: 64px minmax(0, 1fr); gap: var(--em-space-4); padding: var(--em-space-3) var(--em-space-4); }
  .em-targa--senza-logo { grid-template-columns: minmax(0, 1fr); }
  .em-targa--solo-logo { grid-template-columns: 64px; }
  .em-targa__logo { width: 64px; height: 64px; padding: 8px; }
  .em-targa__tipo { font-size: 22px; padding: 12px 0; }
  .em-riga { grid-template-columns: 1fr; row-gap: var(--em-space-2); padding: var(--em-space-4) 0; }
  .em-nomi { grid-template-columns: 1fr; }
}


/* ---------------------------------------------------------------------
   14. PESI DEI TIPI GLOBALI
   Elementor non genera il peso 560 (non è nella sua lista) e il widget
   che usa uno stile globale finirebbe a 400. Qui i pesi sono dichiarati.
   --------------------------------------------------------------------- */
:root {
  --e-global-typography-d9987bb-font-weight: 560;
  --e-global-typography-6e288ca-font-weight: 560;
  --e-global-typography-b8a8d92-font-weight: 560;
  --e-global-typography-02a8189-font-weight: 560;
  --e-global-typography-699399b-font-weight: 560;
  --e-global-typography-96ec631-font-weight: 400;
  --e-global-typography-6ef042b-font-weight: 400;
  --e-global-typography-a1caf43-font-weight: 400;
  --e-global-typography-9eec37e-font-weight: 560;
  --e-global-typography-95cecc4-font-weight: 500;
  --e-global-typography-b45e5f1-font-weight: 560;
  --e-global-typography-primary-font-weight: 560;
  --e-global-typography-secondary-font-weight: 560;
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-weight: 560;
}


/* 15. Aggiunte 17 ottobre 2026: archivio societa. Un solo raggio per tutte le card (8px); tinte delle card, linea oro (provvisoria) e curva ease-io entrano nel design system. */
:root{
  --em-radius-card:8px;
  --em-radius-md:var(--em-radius-card);
  --em-radius-lg:var(--em-radius-card);
  --em-radius-xl:var(--em-radius-card);
  --em-tint-a:#ffffff;
  --em-tint-b:#e8eef8;
  --em-tint-c:#dde5f0;
  --em-tint-d:#f7f9fc;
  --em-rule:#c2a574;
  --em-ease-io:cubic-bezier(.65,0,.35,1);
}


/* =====================================================================
   16. Pattern comuni di movimento e card (17/10/2026)
   - passo della comparsa: lo legge lo script della scheda (e l'archivio usa gli stessi valori)
   - card informative: nessun hover; card cliccabili: riempimento blu dal basso
   ===================================================================== */
:root { --em-passo-griglia: 90; --em-passo-lista: 150; }
.em-card:not(a):hover, .em-riquadro:not(a):hover { transform: none; border-color: var(--em-line); box-shadow: none; }
a.em-riquadro, a.em-card, .em-card-link {
  background-image: linear-gradient(var(--em-accent), var(--em-accent));
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 0;
  transition: background-size var(--em-dur-2) var(--em-ease-io), border-color var(--em-dur-2) var(--em-ease), color var(--em-dur-2) var(--em-ease);
}
a.em-riquadro:hover, a.em-riquadro:focus-visible, a.em-card:hover, a.em-card:focus-visible, .em-card-link:hover, .em-card-link:focus-visible {
  background-size: 100% 100%;
  transform: none;
  border-color: var(--em-accent);
  box-shadow: none;
  color: var(--em-on-accent);
}
a.em-riquadro:hover :not(.em-etichetta):not(.em-etichetta *), a.em-riquadro:focus-visible :not(.em-etichetta):not(.em-etichetta *),
a.em-card:hover :not(.em-etichetta):not(.em-etichetta *), a.em-card:focus-visible :not(.em-etichetta):not(.em-etichetta *),
.em-card-link:hover :not(.em-etichetta):not(.em-etichetta *), .em-card-link:focus-visible :not(.em-etichetta):not(.em-etichetta *) {
  color: var(--em-on-accent) !important;
}
/* segnale dopo 3 secondi sulla stessa card cliccabile (classe messa da Custom Code 3661) */
.em-attesa .em-card-link__vai::after, .em-attesa .em-riquadro__nome::after { transform: translateX(6px); opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  a.em-riquadro, a.em-card, .em-card-link { transition: none; }
}

/* testata di pagina: stesso spazio sopra il titolo negli archivi e nella scheda (il titolo non sta mai attaccato all'header) */
body.single-societa .em-apertura.e-con { padding-top: clamp(44px, 6.5cqw, 104px); }

/* 18/10 (decisione del Capo): card degli archivi, segnale dopo 3 secondi. La freccia resta identica (niente tondo scuro), «Apri la scheda» compare alla sua sinistra, sulla stessa riga. Vale per /societa/ (3654) e per le pagine dei termini (3671). Per tornare alla versione del 16/10 togliere questo blocco. */
html body a.em-acard .em-go { display: flex; align-items: flex-end; justify-content: flex-end; line-height: 0; }
html body a.em-acard .em-go .arrow { display: block; }
html body a.em-acard .em-go .go { margin: 0 10px 0 0; line-height: 22px; }
html body a.em-acard.ready .arrow, html body a.em-acard.ready:hover .arrow { width: 22px; height: 22px; padding: 0; background: transparent; color: inherit; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Google Sans Flex';
	font-display: auto;
	src: url('https://careerspanorama.com/wp-content/uploads/2026/10/GoogleSansFlex-VariableFont_GRADRONDopszslntwdthwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */