/* Page identity stays in view after the main navigation scrolls away. */
.page-identity-band{position:sticky;top:0;z-index:25;background:var(--page-band-color,#143849);color:#fff;border-bottom:1px solid #ffffff1f;box-shadow:0 3px 12px #1438490a}
.page-identity-band>.wrap{padding-block:15px 12px;text-align:center}
.page-identity-band :is(h1,.mp-category-title){font-family:var(--heading);font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.025em;margin:0 0 9px;color:inherit}
.page-identity-band nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;font-size:11px;line-height:1.5;color:inherit}
.page-identity-band nav a{opacity:.8;text-decoration:none;text-underline-offset:3px}
.page-identity-band nav a:hover{text-decoration:underline;opacity:1}
.page-identity-band nav>span[aria-hidden]{opacity:.5}
.page-identity-band.page-band-light{color:#102f3e}
body:has(.page-identity-band){--page-sticky-offset:118px}
body:has(.page-identity-band) :is(.mc-original-section,.legal-explorer,.contact-panel,[id^="competenze"],[id^="service-area"],[id^="legal-"]){scroll-margin-top:var(--page-sticky-offset)}
body:has(.page-identity-band) .legal-hero.legal-hero-split{padding-top:34px}
body:has(.page-identity-band) .commerce-content{padding-top:42px}
@media(max-width:800px){.page-identity-band>.wrap{padding-block:12px 10px}.page-identity-band :is(h1,.mp-category-title){font-size:25px;margin-bottom:7px}.page-identity-band nav{font-size:10px;gap:8px}body:has(.page-identity-band){--page-sticky-offset:110px}}
@media(max-width:480px){.page-identity-band :is(h1,.mp-category-title){font-size:22px}.page-identity-band>.wrap{padding-block:11px}.page-identity-band nav{font-size:10px}}
/* Color at the edges dissolves into a clear central reading area. */
.page-identity-band{background:linear-gradient(90deg,color-mix(in srgb,var(--page-band-color,#143849) 78%,white) 0%,color-mix(in srgb,var(--page-band-color,#143849) 12%,white) 20%,#fff 35%,#fff 65%,color-mix(in srgb,var(--page-band-color,#143849) 12%,white) 80%,color-mix(in srgb,var(--page-band-color,#143849) 78%,white) 100%);color:#143849;border-bottom:1px solid color-mix(in srgb,var(--page-band-color,#143849) 14%,white)}
.page-identity-band.page-band-light{color:#143849}
.page-identity-band :is(h1,.mp-category-title){color:#143849}
.page-identity-band nav{color:#49616d}
.page-identity-band nav [aria-current]{color:color-mix(in srgb,var(--page-band-color,#143849) 72%,#143849)}
/* Neutral page identity with a single service-colored rule. */
.page-identity-band{background:#fff;color:#143849;border-bottom:2px solid var(--page-band-color,#143849);box-shadow:0 3px 12px #14384906}
.page-identity-band nav,.page-identity-band nav [aria-current]{color:#647781}
/* Connect the page band visually to the pale service navigation. */
.page-identity-band{background:#f1f6f6}
/* Keep service navigation and page identity together once the logo row leaves view. */
.original-header:has(.page-identity-band){position:sticky;top:calc(-1 * var(--page-primary-height,80px));z-index:30}
.original-header .page-identity-band{position:relative;top:auto;z-index:1}
.original-header:has(.page-identity-band) .original-header-inner{position:relative;z-index:3}
.original-header:has(.page-identity-band) .original-sectors{position:relative;z-index:2}
/* Breadcrumb is part of the identity band, not the legacy mobile dropdown. */
.original-header .page-identity-band nav{position:static;inset:auto;display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;width:auto;margin:0;padding:0;background:transparent;border:0;box-shadow:none;transform:none;min-height:0}
/* Reveal the complete header on upward scroll; hide it on downward scroll. */
.original-header.header-scroll-aware{position:sticky;top:0;z-index:30;transform:translateY(0);transition:transform .24s ease;will-change:transform}
.original-header.header-scroll-aware.header-scroll-hidden{transform:translateY(calc(-100% - 2px));pointer-events:none}
@media(prefers-reduced-motion:reduce){.original-header.header-scroll-aware{transition:none}}
/* Compact identity and a gentle, non-bouncing header reveal. */
.page-identity-band>.wrap{padding-block:11px 9px}
.page-identity-band :is(h1,.mp-category-title){font-size:28px;margin-bottom:6px}
.original-header.header-scroll-aware{transition:transform .32s cubic-bezier(.22,.61,.36,1)}
@media(max-width:800px){.page-identity-band>.wrap{padding-block:10px 8px}.page-identity-band :is(h1,.mp-category-title){font-size:24px}}
@media(max-width:480px){.page-identity-band>.wrap{padding-block:9px 8px}.page-identity-band :is(h1,.mp-category-title){font-size:22px;margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){.original-header.header-scroll-aware{transition:none}}
/* Align the complete page header to the same grid as the content. */
.original-header:has(.page-identity-band){width:min(1240px,calc(100% - 96px));margin-inline:auto}
.original-header:has(.page-identity-band) .original-header-inner,.original-header:has(.page-identity-band) .original-sectors-inner,.original-header .page-identity-band>.wrap{width:100%;max-width:none;margin-inline:0}
@media(max-width:1100px){.original-header:has(.page-identity-band){width:calc(100% - 64px)}}
@media(max-width:800px){.original-header:has(.page-identity-band){width:calc(100% - 40px)}}
@media(max-width:480px){.original-header:has(.page-identity-band){width:calc(100% - 36px)}}
/* Full-width header backgrounds, content aligned to the page grid. */
.original-header:has(.page-identity-band){width:100%;margin-inline:0}
.original-header:has(.page-identity-band) .original-header-inner,.original-header:has(.page-identity-band) .original-sectors-inner,.original-header .page-identity-band>.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
@media(max-width:1100px){.original-header:has(.page-identity-band) .original-header-inner,.original-header:has(.page-identity-band) .original-sectors-inner,.original-header .page-identity-band>.wrap{width:calc(100% - 64px)}}
@media(max-width:800px){.original-header:has(.page-identity-band) .original-header-inner,.original-header:has(.page-identity-band) .original-sectors-inner,.original-header .page-identity-band>.wrap{width:calc(100% - 40px)}}
@media(max-width:480px){.original-header:has(.page-identity-band) .original-header-inner,.original-header:has(.page-identity-band) .original-sectors-inner,.original-header .page-identity-band>.wrap{width:calc(100% - 36px)}}
/* Home header uses the same full-width background and aligned inner grid. */
.home .original-header{width:100%;margin-inline:0}
.home .original-header .original-header-inner,.home .original-header .original-sectors-inner{width:min(1240px,calc(100% - 96px));max-width:none;margin-inline:auto}
@media(max-width:1100px){.home .original-header .original-header-inner,.home .original-header .original-sectors-inner{width:calc(100% - 64px)}}
@media(max-width:800px){.home .original-header .original-header-inner,.home .original-header .original-sectors-inner{width:calc(100% - 40px)}}
@media(max-width:480px){.home .original-header .original-header-inner,.home .original-header .original-sectors-inner{width:calc(100% - 36px)}}
/* Match the home hero's wider grid on large desktop screens. */
@media(min-width:1600px){.home .original-header .original-header-inner,.home .original-header .original-sectors-inner{width:min(1240px,calc(100% - 96px));max-width:none}}
/* Slightly stronger section label, coordinated with its braces. */
.original-sectors .sectors-label{font-size:13px;font-weight:700;letter-spacing:.02em;color:#7f9ba6;gap:14px;margin-right:18px;max-width:none;white-space:nowrap}
.original-sectors .sectors-brace{color:#7f9ba6}
@media(max-width:1240px) and (min-width:1025px){.original-sectors .sectors-label{font-size:11px;gap:10px;margin-right:10px}}

/* Normal-flow navigation and a dedicated return-to-top control. */
.original-header,.original-header:has(.page-identity-band),.original-header.header-scroll-aware{position:relative;top:auto;transform:none;will-change:auto;transition:none}.page-identity-band{position:relative;top:auto}body:has(.page-identity-band){--page-sticky-offset:24px}
.mc-back-to-top{position:fixed;right:24px;bottom:24px;z-index:50;display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff45;border-radius:50%;background:#006f73;color:#fff;box-shadow:0 4px 16px #14384925;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s,background .2s}.mc-back-to-top svg{width:23px;height:23px}.mc-back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.mc-back-to-top:hover{background:#143849}.mc-back-to-top:focus-visible{outline:3px solid #82d8d1;outline-offset:3px}@media(max-width:600px){.mc-back-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.mc-back-to-top{transition:none}}

/* Refined floating control with a quiet aqua rim and descriptive hover label. */
.mc-back-to-top{width:50px;height:50px;border:1px solid #86d7d0;border-radius:15px;background:linear-gradient(145deg,#205366,#143849);box-shadow:0 5px 18px #14384930,inset 0 1px 0 #ffffff18;color:#a2e9e2}.mc-back-to-top svg{width:22px;height:22px;transition:transform .22s}.mc-back-to-top:hover{background:#006f73;box-shadow:0 7px 22px #14384938}.mc-back-to-top:hover svg{transform:translateY(-3px)}.mc-top-tooltip{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(4px,-50%);padding:5px 11px;border-radius:6px;background:#143849;color:#fff;font:600 12px/1.5 Manrope,sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.mc-back-to-top:is(:hover,:focus-visible) .mc-top-tooltip{opacity:1;transform:translate(0,-50%)}@media(max-width:600px){.mc-back-to-top{width:46px;height:46px;border-radius:13px}.mc-top-tooltip{display:none}}@media(prefers-reduced-motion:reduce){.mc-back-to-top svg,.mc-top-tooltip{transition:none}.mc-back-to-top:hover svg{transform:none}}

/* Outline-only return-to-top control. */
.mc-back-to-top,.mc-back-to-top:hover{background:transparent;box-shadow:none;border:1.5px solid #007b80;color:#007b80}.mc-back-to-top:hover{border-color:#143849;color:#143849}

.mc-back-to-top,.mc-back-to-top:hover{border-width:2.5px}.mc-back-to-top svg{stroke-width:2.5}

/* Circular outline echoes the service markers. */
.mc-back-to-top,.mc-back-to-top:hover{width:46px;height:46px;border-radius:50%;border-width:2px;background:transparent;box-shadow:none}.mc-back-to-top svg{stroke-width:2}.mc-back-to-top:hover{color:#009d9b;border-color:#009d9b}.mc-back-to-top.on-dark{color:#9be5dd;border-color:#9be5dd}.mc-back-to-top.on-dark:hover{color:#c3fff7;border-color:#c3fff7}

.mc-back-to-top,.mc-back-to-top:hover{width:38px;height:38px;box-sizing:border-box}.mc-back-to-top svg{width:18px;height:18px}@media(max-width:600px){.mc-back-to-top,.mc-back-to-top:hover{width:34px;height:34px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.mc-back-to-top svg{width:16px;height:16px}}
