/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:80;
  transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s var(--ease),transform .45s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header .bar{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:84px;
}
.site-header.scrolled{
  background:rgba(14,15,17,.62);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.site-header.hide{transform:translateY(-100%)}
.site-header.scrolled .bar{height:70px}
.site-header .bar{transition:height .4s var(--ease)}

.nav{display:flex;align-items:center;gap:6px}
.nav a{
  font-family:var(--font-mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--fog);padding:10px 14px;position:relative;transition:color .25s;white-space:nowrap
}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover{color:var(--white)}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.header-cta{display:inline-flex}
.header-area-riv{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:4px;color:var(--fog);transition:color .2s,border-color .2s;flex-shrink:0}
.header-area-riv:hover{color:var(--orange);border-color:var(--orange)}

/* theme toggle */
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;
  background:none;
  border:1px solid var(--line-strong);border-radius:4px;
  color:var(--fog);cursor:pointer;
  transition:color .2s,border-color .2s;
  flex-shrink:0;padding:0;
}
.theme-toggle:hover{color:var(--orange);border-color:var(--orange)}
.burger{display:none;background:none;border:1px solid var(--line-strong);border-radius:2px;width:46px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:20px;height:2px;background:var(--white);transition:.3s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* logo */
.logo{display:flex;align-items:center;gap:14px}
.logo .emblem{width:46px;height:46px;flex:none}
.logo .wm{display:flex;flex-direction:column;line-height:1}
.logo .wm b{font-family:var(--font-display);display:flex;flex-direction:column;align-items:flex-start;line-height:.86;text-transform:uppercase}
.logo .wm b .c{font-size:11px;letter-spacing:.165em;color:var(--white);margin-bottom:1px}
.logo .wm b .o{font-size:27px;letter-spacing:.012em;color:var(--orange)}
/* logo ufficiale cliente (immagine SVG) */
.logo .brand-logo{height:50px;width:auto;display:block}
.site-header.scrolled .logo .brand-logo{height:40px}
.logo .brand-logo,.site-header.scrolled .logo .brand-logo{transition:height .25s}
@media(max-width:640px){.logo .brand-logo{height:42px}}

/* mobile menu */
.mobile-menu{
  position:fixed;inset:0;z-index:75;background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);
  transform:translateY(-100%);transition:transform .5s var(--ease);
}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu a{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(34px,9vw,60px);color:var(--white);padding:8px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:16px}
.mobile-menu a span{font-family:var(--font-mono);font-size:13px;color:var(--orange);letter-spacing:.1em}
.mobile-menu .mm-foot{margin-top:36px;font-family:var(--font-mono);font-size:12px;color:var(--fog);letter-spacing:.1em;line-height:2}

