body { background:var(--wix-page);color:var(--wix-text); }
.visual-stage { position:relative;width:100%;min-height:0;overflow:clip;font:10px Arial,Helvetica,sans-serif;color:var(--wix-text); }
.visual-stage * { box-sizing:content-box; }
.visual-stage :where(h1,h2,h3,h4,p,ul,ol) { margin:0;padding:0;max-width:none;color:inherit;font:inherit;letter-spacing:normal;line-height:normal;text-wrap:wrap; }
:where(.visual-stage) a { color:inherit;text-underline-offset:auto; }
.visual-stage .brand { display:block;font:inherit;letter-spacing:normal; }
.visual-stage .brand::after { content:none; }
.visual-header,.visual-main,.visual-footer { position:absolute;top:0;left:0;width:100%;padding:0;margin:0;border:0;min-height:0;background:transparent; }
.visual-main { height:100%; }
.visual-header { z-index:2; }
.visual-footer { background:var(--wix-footer);z-index:1; }
.visual-component { position:absolute;z-index:1; }
/* Source button borders belong to the button, not both its measured wrapper and child. */
.visual-component[data-visual-kind="button"] { border:0; }
.visual-component img,.visual-component > a { display:block;width:100%;height:100%; }
.visual-component img { object-fit:fill; }
.visual-component picture { display:block;width:100%;height:100%; }
.visual-social { position:absolute;z-index:2;display:block;min-width:24px;min-height:24px; }
.visual-social img { width:20px;height:20px; }
.visual-component svg { width:100%;height:100%; }
.visual-media-pending { width:100%;height:100%;background:var(--wix-page); }
.visual-nav-item { position:absolute;display:flex;align-items:center;justify-content:center;font:400 21px/37.59px Arial,Helvetica,sans-serif;color:var(--wix-blue)!important;text-decoration:none;white-space:nowrap; }
.visual-stage .visual-nav-item { font:400 21px/37.59px Arial,Helvetica,sans-serif;text-decoration:none; }
.visual-stage .visual-nav-item[aria-current="page"] { text-decoration:none; }
.visual-direct-contact a { display:inline-block;min-height:24px;line-height:24px; }
[data-visual-id="comp-l5s78fnk"] a { display:inline-block;min-height:24px;line-height:24px; }
.visual-nav-item + .visual-nav-item { border-left:1px solid var(--wix-green); }
.visual-nav-item[aria-current="page"] { color:#454545!important;text-decoration:none; }
.visual-nav-item:hover { color:#454545!important; }
.visual-language { position:absolute;top:26px;left:calc(50% + 400px);width:88px;height:42px;z-index:5; }
.language-toggle { display:flex;align-items:center;justify-content:space-around;box-sizing:border-box;width:88px;height:42px;border:0;background:#1b3892;color:#f0f0f0;cursor:pointer; }
.language-toggle svg { width:12px;height:6px;fill:currentColor; }
.flag { display:inline-block;width:19px;height:12px; }
.flag-it { background:linear-gradient(90deg,#009246 0 33.33%,#fff 33.33% 66.66%,#ce2b37 66.66%); }
.flag-en { background:linear-gradient(33deg,transparent 42%,white 42% 58%,transparent 58%),linear-gradient(-33deg,transparent 42%,white 42% 58%,transparent 58%),linear-gradient(90deg,transparent 38%,#c8102e 38% 62%,transparent 62%),linear-gradient(transparent 30%,#c8102e 30% 70%,transparent 70%),#012169; }
.language-menu { background:#223898;border:1px solid #5a68ad; }
.language-menu .language-switch { display:flex;gap:10px;align-items:center;border:0;border-radius:0;color:white;padding:10px;font:14px Arial,sans-serif;text-decoration:none; }
.mobile-menu-toggle,.mobile-navigation { display:none; }
.visual-contact-button { width:100%;height:100%;box-sizing:border-box;border:1px solid #415aab;border-radius:0;background:#f0f0f0;color:#415aab;font:20px Arial,sans-serif;cursor:pointer; }
.visual-contact-button:hover { background:#223898;color:white; }
.footer-rule { position:absolute;left:calc(50% - 562px);top:70px;width:1120px;border-top:2px solid #95b20c; }
.footer-copyright-background { position:absolute;left:0;width:100%;background:var(--wix-copyright); }
.visual-stage [hidden] { display:none!important; }
.demo-build-banner { position:fixed;left:8px;bottom:8px;max-width:calc(100% - 105px);z-index:10;box-sizing:border-box;padding:4px 8px;font:11px/1.3 Arial,sans-serif;text-align:left;border:1px solid #d3b45b;border-radius:3px; }
/* Keep the source's desktop links reachable at tablet widths where Wix clips them. */
@media(min-width:768px) and (max-width:979px) { .visual-stage { width:980px;zoom:calc(100vw / 980px); } }
@media(max-width:767px) {
 [data-visual-id="comp-ktiiefur"] span { color:#1b3892; }
 .visual-stage { width:320px;margin-inline:auto; }
 .visual-nav,.visual-language { display:none; }
 .mobile-menu-toggle { display:flex;position:absolute;top:36px;left:149px;width:22px;height:22px;flex-direction:column;justify-content:space-between;padding:0;background:none;border:0;cursor:pointer; }
 .mobile-menu-toggle span { width:22px;border-top:2px solid #000; }
 .mobile-navigation { position:absolute;left:0;top:92px;width:320px;background:#f0f0f0;box-shadow:0 3px 8px #0002;padding:16px 0; }
 .mobile-navigation:not([hidden]) { display:grid;gap:14px; }
 .mobile-navigation a { font:18px Arial,sans-serif;text-align:center; }
 .footer-rule { left:10px;top:12px;width:300px; }
 .visual-contact-button { font-size:16px; }
}

/* Phase 4B.1: Italian homepage only. Keep the measured header and all source DOM intact. */
.visual-stage.vp-0 {
 --home-copy-size:1rem;
 --home-heading-size:1.75rem;
 height:auto;
}
.visual-stage.vp-0 .visual-main {
 position:relative;
 display:grid;
 grid-template-columns:minmax(0,1fr);
 grid-template-areas:"hero" "heading" "links" "copy" "photo" "person" "contact" "cta" "about-heading" "about";
 gap:1.5rem;
 box-sizing:border-box;
 width:100%;
 max-width:66rem;
 height:auto;
 min-height:0;
 margin-inline:auto;
 padding:14.5rem 1.25rem 3rem;
 color:#303030;
}
.visual-stage.vp-0 .visual-main > .visual-component {
 position:static;
 box-sizing:border-box;
 width:auto;
 min-width:0;
 height:auto;
 margin:0;
 font-family:Arial,Helvetica,sans-serif;
 font-size:var(--home-copy-size);
 line-height:1.65;
 text-align:left;
 overflow-wrap:break-word;
}
.visual-stage.vp-0 .visual-main .visual-component :is(p,ul,li,span,a) {
 font-family:inherit;
 font-size:inherit;
 line-height:inherit;
}
.visual-stage.vp-0 .visual-main p { text-align:inherit; }
.visual-stage.vp-0 .visual-main p { margin:0 0 .75rem; }
/* Empty Wix layout paragraphs retain their DOM/text; they no longer create rows of blank space. */
.visual-stage.vp-0 .visual-main p[data-home-spacer] { margin:0;line-height:0; }
.visual-stage.vp-0 .visual-main .vp-0-component-2 { grid-area:hero; }
.visual-stage.vp-0 .visual-main .vp-0-component-2 :is(a,picture,img) { width:100%;height:auto; }
.visual-stage.vp-0 .visual-main .vp-0-component-2 img { object-fit:contain; }
.visual-stage.vp-0 .visual-main .vp-0-component-4 { grid-area:heading; }
.visual-stage.vp-0 .visual-main .vp-0-component-4 h1,
.visual-stage.vp-0 .visual-main .vp-0-component-4 h1 span {
 color:#1b3892;
 font:700 var(--home-heading-size)/1.2 Arial,Helvetica,sans-serif;
 letter-spacing:-.02em;
 text-wrap:balance;
}
.visual-stage.vp-0 .visual-main .vp-0-component-4 h1 { max-width:32ch; }
.visual-stage.vp-0 .visual-main .vp-0-component-3 { grid-area:links;font-size:1rem; }
.visual-stage.vp-0 .visual-main .vp-0-component-3 a {
 display:inline-block;
 max-width:100%;
 padding-block:.25rem;
 color:#1b3892;
 text-decoration-thickness:.06em;
 text-underline-offset:.18em;
}
.visual-stage.vp-0 .visual-main .vp-0-component-3 p { margin-bottom:.5rem; }
.visual-stage.vp-0 .visual-main .vp-0-component-5 { grid-area:copy;max-width:65ch; }
.visual-stage.vp-0 .visual-main .vp-0-component-5 ul { margin:1.25rem 0;padding-left:1.25rem; }
.visual-stage.vp-0 .visual-main .vp-0-component-5 li { margin:0;padding-block:1.25rem;border-top:1px solid #d2d8cd; }
.visual-stage.vp-0 .visual-main .vp-0-component-5 li .vt-d3fdc83c0e { color:#1b3892; }
.visual-stage.vp-0 .visual-main .vp-0-component-5 .vt-0c45dbf2e1 { font-style:normal; }
.visual-stage.vp-0 .visual-main .vp-0-component-6 { grid-area:about-heading;margin-top:1.5rem; }
.visual-stage.vp-0 .visual-main .vp-0-component-6 h2 { font:700 1.75rem/1.25 Arial,Helvetica,sans-serif;color:#1b3892; }
.visual-stage.vp-0 .visual-main .vp-0-component-6 h2 span { font:inherit;color:inherit; }
.visual-stage.vp-0 .visual-main .vp-0-component-7 { grid-area:about;max-width:65ch; }
.visual-stage.vp-0 .visual-main .vp-0-component-8 { grid-area:contact; }
.visual-stage.vp-0 .visual-main .vp-0-component-9 { grid-area:photo;max-width:20rem; }
.visual-stage.vp-0 .visual-main .vp-0-component-9 :is(picture,img) { height:auto; }
.visual-stage.vp-0 .visual-main .vp-0-component-10 { grid-area:person; }
.visual-stage.vp-0 .visual-main .vp-0-component-11 { grid-area:cta; }
.visual-stage.vp-0 .visual-main .vp-0-component-11 .visual-contact-button { min-height:2.75rem;height:auto;font-size:1rem;line-height:1.4; }
.visual-stage.vp-0 .visual-main :is(.vp-0-component-8,.vp-0-component-10) { font-size:1rem; }
.visual-stage.vp-0 .visual-main .vp-0-component-8 a { overflow-wrap:anywhere; }
.visual-stage.vp-0 > .visual-footer.site-footer { position:relative;top:auto; }
@media(min-width:768px) {
 .visual-stage.vp-0 { --home-copy-size:1.125rem;--home-heading-size:2.5rem; }
 .visual-stage.vp-0 .visual-main {
  grid-template-columns:minmax(0,2fr) minmax(15rem,1fr);
  grid-template-areas:"hero hero" "heading heading" "copy links" "copy contact" "copy photo" "copy person" "copy cta" "about-heading ." "about .";
  column-gap:3rem;
  padding:12rem 2rem 4rem;
  align-items:start;
 }
}
/* Compensate body type for the pre-existing tablet scale without changing the header. */
@media(min-width:768px) and (max-width:979px) {
 .visual-stage.vp-0 { --home-copy-size:1.375rem;--home-heading-size:3rem; }
 .visual-stage.vp-0 .visual-main :is(.vp-0-component-3,.vp-0-component-8,.vp-0-component-10) { font-size:1.25rem; }
}
