.hero.plexus-dissolve{transform:none;filter:none;opacity:1;border-radius:32px;mask-image:linear-gradient(to bottom,#000 calc(100% - var(--hero-erosion,0)*55%),transparent calc(118% - var(--hero-erosion,0)*48%));-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--hero-erosion,0)*55%),transparent calc(118% - var(--hero-erosion,0)*48%))}
.hero-dissolve-canvas{position:absolute;left:0;top:0;z-index:3;pointer-events:none;width:100%;contain:strict}
.hero.plexus-dissolve .hero-connections{display:none}
.hero.plexus-dissolve.hero-film-open{opacity:1}
#gruppo.connected-intro>.plexus-canvas{visibility:hidden}
@media(prefers-reduced-motion:reduce){.hero.plexus-dissolve{opacity:1;transform:none;mask-image:none;-webkit-mask-image:none}.hero-dissolve-canvas{display:none}#gruppo.connected-intro>.plexus-canvas{visibility:visible}}
.g-hero.plexus-dissolve{transform:none;filter:none;opacity:1;border-radius:32px;mask-image:linear-gradient(to bottom,#000 calc(100% - var(--hero-erosion,0)*55%),transparent calc(118% - var(--hero-erosion,0)*48%));-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--hero-erosion,0)*55%),transparent calc(118% - var(--hero-erosion,0)*48%))}
.hero-dissolve-canvas{position:absolute;left:0;top:0;z-index:3;pointer-events:none;width:100%;contain:strict}
.g-hero.plexus-dissolve .hero-connections{display:none}
.g-hero.plexus-dissolve.hero-film-open{opacity:1}
#visione.connected-intro>.plexus-canvas{visibility:hidden}
@media(prefers-reduced-motion:reduce){.g-hero.plexus-dissolve{opacity:1;transform:none;mask-image:none;-webkit-mask-image:none}.hero-dissolve-canvas{display:none}#visione.connected-intro>.plexus-canvas{visibility:visible}}

/* The moving network replaces the old static bridge, retaining its spacing. */
.g-hero.plexus-dissolve + .g-hero-transition > canvas { visibility:hidden; }
@media(prefers-reduced-motion:reduce){.g-hero.plexus-dissolve + .g-hero-transition > canvas { visibility:visible; }}

/* Keep the Gruppo background player behind its grade, copy and controls. */
.g-hero > iframe.g-hero-video.gtn-stream-background{z-index:-3!important}

/* Institutional openings keep their own bottom curve within the shared framing. */
/* Institutional pages inherit the shared framing and retain a restrained background. */
.institutional-page .institutional-icon svg{width:155px!important;height:155px!important;stroke-width:.8}.privacy-page svg.privacy-hero-icon{width:155px!important;height:155px!important}
@media(max-width:700px){.institutional-page .institutional-icon svg,.privacy-page svg.privacy-hero-icon{width:105px!important;height:105px!important}}

/* Match the shared Hero silhouette without a competing fixed-height rule. */
.sector-page:is(.institutional-page,.privacy-page) .g-hero#inizio{height:clamp(520px,68svh,660px);min-height:520px;border-radius:32px}
@media(max-width:700px){.sector-page:is(.institutional-page,.privacy-page) .g-hero#inizio{height:auto;min-height:540px;border-radius:26px}}
@media(prefers-reduced-motion:no-preference){.sector-page:is(.institutional-page,.privacy-page) .g-hero#inizio{border-radius:0}}
