/* Menu a tendina a tutto schermo, ripreso dalla bozza index1 (css/menu.css), con sottomenu Servizi */
body.nav-open{overflow:hidden}

.site-header{justify-content:space-between}
.site-header>.brand,.header-right{position:relative;z-index:47}
.header-right{display:flex;align-items:center;gap:clamp(22px,3.5vw,48px);margin-left:auto}

.menu-button{position:relative;z-index:48;display:grid;align-content:center;gap:7px;width:52px;height:42px;padding:0;border:0;background:transparent;color:var(--light)}
.menu-button span{display:block;height:2px;background:currentColor;transform-origin:center;transition:width 320ms cubic-bezier(.65,0,.35,1),margin 320ms cubic-bezier(.65,0,.35,1),transform 320ms cubic-bezier(.65,0,.35,1),opacity 180ms ease}
.menu-button span:nth-child(1){width:36px;margin-left:8px}
.menu-button span:nth-child(2){width:26px;margin-left:0}
.menu-button span:nth-child(3){width:42px;margin-left:5px}
.menu-button:hover span:nth-child(1),.menu-button:focus-visible span:nth-child(1){width:28px;margin-left:0;transform:translateX(14px)}
.menu-button:hover span:nth-child(2),.menu-button:focus-visible span:nth-child(2){width:44px;margin-left:4px;transform:translateX(-6px)}
.menu-button:hover span:nth-child(3),.menu-button:focus-visible span:nth-child(3){width:24px;margin-left:18px;transform:translateX(-12px)}
.menu-button.active span:nth-child(1){width:36px;margin-left:8px;transform:translateY(9px) rotate(45deg)}
.menu-button.active span:nth-child(2){opacity:0}
.menu-button.active span:nth-child(3){width:36px;margin-left:8px;transform:translateY(-9px) rotate(-45deg)}
.menu-button.active:hover span:nth-child(1),.menu-button.active:focus-visible span:nth-child(1){width:36px;margin-left:8px;transform:translateY(9px) rotate(45deg) scale(1.04)}
.menu-button.active:hover span:nth-child(3),.menu-button.active:focus-visible span:nth-child(3){width:36px;margin-left:8px;transform:translateY(-9px) rotate(-45deg) scale(1.04)}

.menu-overlay{position:fixed;inset:0;z-index:45;display:grid;place-items:safe center;width:100%;height:100svh;padding:105px 24px 40px;overflow-y:auto;background:rgba(25,24,24,.38);-webkit-backdrop-filter:blur(14px) saturate(.96);backdrop-filter:blur(14px) saturate(.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 280ms ease,visibility 280ms ease}
.menu-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.menu-inner{display:grid;gap:clamp(14px,2vw,24px);text-align:center}

/* Voci principali */
.menu-inner>a,.menu-group-toggle{position:relative;display:flex;justify-self:center;align-items:baseline;gap:18px;padding:0 0 8px;border:0;background:none;color:var(--light);font-size:clamp(32px,min(4.2vw,6.5vh),68px);font-weight:500;line-height:1;letter-spacing:-.04em;cursor:pointer;transition:color 220ms ease}
.menu-inner>a,.menu-group{opacity:0;transform:translateY(18px);transition:color 220ms ease,transform 420ms ease var(--menu-delay,0ms),opacity 420ms ease var(--menu-delay,0ms)}
.menu-group{display:grid;justify-items:center}
.menu-inner>a::after,.menu-group-toggle::after{content:'';position:absolute;right:0;bottom:0;left:0;height:1px;background:var(--green);transform:scaleX(0);transform-origin:center;transition:transform 360ms cubic-bezier(.65,0,.35,1)}
.menu-overlay.is-open .menu-inner>a,.menu-overlay.is-open .menu-group{opacity:1;transform:translateY(0)}
.menu-inner>a:hover,.menu-inner>a:focus-visible,.menu-group-toggle:hover,.menu-group-toggle:focus-visible,.menu-group.is-open .menu-group-toggle{color:var(--green)}
.menu-inner>a:hover::after,.menu-inner>a:focus-visible::after,.menu-group-toggle:hover::after,.menu-group-toggle:focus-visible::after,.menu-group.is-open .menu-group-toggle::after{transform:scaleX(1)}
.menu-inner>a[aria-current="page"]{color:var(--green)}
.menu-inner small{color:var(--green);font-size:.45em;font-weight:600}

/* Indicatore +/− del sottomenu */
.menu-group-toggle i{position:relative;align-self:center;width:.36em;height:.36em}
.menu-group-toggle i::before,.menu-group-toggle i::after{content:'';position:absolute;top:50%;left:0;width:100%;height:2px;margin-top:-1px;background:var(--green);transition:transform 320ms cubic-bezier(.65,0,.35,1)}
.menu-group-toggle i::after{transform:rotate(90deg)}
.menu-group.is-open .menu-group-toggle i::after{transform:rotate(0)}

/* Sottomenu Servizi: si apre in altezza, voci in sequenza */
.menu-sub{display:grid;grid-template-rows:0fr;justify-items:center;transition:grid-template-rows 420ms cubic-bezier(.65,0,.35,1),margin 420ms cubic-bezier(.65,0,.35,1)}
.menu-sub-inner{display:grid;justify-items:center;min-height:0}
.menu-sub{overflow:hidden}
.menu-group.is-open .menu-sub{grid-template-rows:1fr;margin:14px 0 4px}
.menu-sub a{position:relative;display:block;padding:7px 0;color:#d6d7d3;font-size:clamp(16px,1.5vw,21px);font-weight:500;letter-spacing:.01em;opacity:0;transform:translateY(10px);transition:color 220ms ease,opacity 320ms ease,transform 320ms ease}
.menu-sub a::after{content:'';position:absolute;right:0;bottom:3px;left:0;height:1px;background:var(--green);transform:scaleX(0);transition:transform 320ms cubic-bezier(.65,0,.35,1)}
.menu-group.is-open .menu-sub a{opacity:1;transform:translateY(0);transition-delay:0s,calc(120ms + var(--sub-delay,0ms)),calc(120ms + var(--sub-delay,0ms))}
.menu-sub a:hover,.menu-sub a:focus-visible{color:var(--green)}
.menu-sub a:hover::after,.menu-sub a:focus-visible::after{transform:scaleX(1)}


@media(max-width:850px){.header-cta{display:inline-flex}}
@media(max-width:650px){
  .header-cta{display:none}
  .menu-overlay{padding-top:88px}
  .menu-inner>a,.menu-group-toggle{font-size:clamp(31px,10vw,48px)}
}
@media(prefers-reduced-motion:reduce){
  .menu-overlay,.menu-inner>a,.menu-group,.menu-sub,.menu-sub a,.menu-button span,.menu-group-toggle i::after{transition:none}
}
.menu-overlay{font-family:Arial,Helvetica,sans-serif}
.menu-sub a[aria-current="page"]{color:var(--green)}
