

    .nav-toggle {
      display: none;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      width: 44px; height: 44px;
      padding: 0;
      background: transparent;
      border: 1px solid rgba(255,255,255,0.26);
      border-radius: 50%;
      box-shadow: none;
      cursor: pointer;
      z-index: 101;
      transition: background 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
    }
    .nav-toggle:active { transform: scale(0.94); }
    html nav.scrolled .nav-toggle, html nav.menu-open .nav-toggle { background: transparent; border-color: rgba(255,255,255,0.26); box-shadow: none; }
    .nav-toggle span {
      display: block;
      width: 18px; height: 2px;
      border-radius: 2px;
      background: white;
      transition: transform 0.3s var(--ease), opacity 0.2s ease, background 0.3s ease;
    }
    .nav-toggle span:nth-child(2) { display: none; }
    html nav.scrolled .nav-toggle span, html nav.menu-open .nav-toggle span { background: #fff; }
    .nav-toggle.open span:nth-child(1) { transform: translateY(4px) rotate(45deg); }
    .nav-toggle.open span:nth-child(3) { transform: translateY(-4px) rotate(-45deg); }

    html nav.menu-open { background: #1c1516 !important; box-shadow: none !important; backdrop-filter: none; -webkit-backdrop-filter: none; }
    html nav.menu-open .nav-logo-name { color: #fff; }
    nav.menu-open .nav-logo { opacity: 1; }

    .mobile-menu {

      --menu-open: 460ms; --menu-close: 280ms; --menu-ease: cubic-bezier(0.22, 1, 0.36, 1);
      --menu-origine: calc(100% - 46px) calc(34px + env(safe-area-inset-top, 0px));
      clip-path: circle(0px at var(--menu-origine));
      will-change: clip-path;
      display: none;
      position: fixed;
      inset: 0;
      z-index: 99;
      flex-direction: column;
      padding: calc(68px + env(safe-area-inset-top, 0px) + 22px) 24px calc(22px + env(safe-area-inset-bottom, 0px));
      background: #1c1516;
      border: 0;
      border-radius: 0;
      overflow-x: hidden; overflow-y: auto;
      opacity: 0;
      pointer-events: none;

      visibility: hidden;
      transition: clip-path var(--menu-close) ease-in, opacity var(--menu-close) ease-in, visibility 0s linear var(--menu-close);
    }

    .mobile-menu .mm-scene { position: absolute; left: 0; right: 0; bottom: calc(86px + env(safe-area-inset-bottom, 0px)); display: flex; justify-content: center; pointer-events: none; z-index: 0; }

    .mm-scene svg { width: min(100% - 20px, 440px); height: auto; overflow: visible; filter: drop-shadow(0 0 10px rgba(240,140,80,.18)); }
    .mm-scene .s-muro, .mm-scene .s-insegna, .mm-scene .s-vetrina { stroke: rgba(247,244,240,.62); }
    .mm-scene .s-tetto { stroke: #f07272; }
    .mm-scene .s-croce { stroke: rgba(247,244,240,.35); stroke-width: 1.2; }
    .mm-scene .s-persiana { stroke: #6fcf7a; stroke-width: 2; opacity: .8; }
    .mm-scene .s-porta { stroke: #e63329; }
    .mm-scene .s-tenda { stroke: #e63329; }
    .mm-scene .s-logo, .mm-scene .s-merce { stroke: #f08c50; stroke-width: 1.6; }
    .mm-scene .s-tronco { stroke: #c9955e; }
    .mm-scene .s-chioma { stroke: #6fcf7a; }

    .mm-scene .s-sole { stroke: #f5a04c; fill: rgba(245,160,76,.35); animation: mm-sole 6s ease-in-out infinite, mm-giorno 36s ease-in-out infinite; transform-origin: 326px -4px; }
    .mm-scene .s-raggi { stroke: #f5a04c; transform-origin: 326px -4px; animation: mm-raggi 48s linear infinite, mm-giorno 36s ease-in-out infinite; }
    .mm-scene .s-notte { animation: mm-notte 36s ease-in-out infinite; }
    .mm-scene .s-luna { stroke: rgba(247,244,240,.85); fill: rgba(247,244,240,.12); }
    .mm-scene .s-stella { stroke: rgba(247,244,240,.8); stroke-width: 1.5; animation: mm-stella 2.2s ease-in-out infinite; }
    .mm-scene .s-nuvola { stroke: rgba(247,244,240,.4); }
    .mm-scene .s-meteo { animation: mm-nuvola 9s ease-in-out infinite; }
    .mm-scene .s-goccia { stroke: rgba(247,244,240,.5); stroke-width: 1.5; animation: mm-pioggia 1.1s linear infinite; }
    .mm-scene .s-uccelli { stroke: rgba(247,244,240,.6); stroke-width: 1.5; animation: mm-uccelli 14s ease-in-out infinite; }
    .mm-scene .s-fumo circle { stroke: rgba(247,244,240,.45); stroke-width: 1.5; animation: mm-fumo 3s ease-out infinite; }
    .mm-scene .s-luce { fill: #e63329; stroke: none; animation: mm-luce 1.6s ease-in-out infinite; }
    .mm-scene .s-fin { stroke: #f08c50; opacity: .35; animation: mm-finestra 4.8s ease-in-out infinite; }
    .mm-scene .s-albero { animation: mm-albero 7s ease-in-out infinite; }
    .mm-scene .s-auto { animation: mm-auto 26s linear infinite; }
    .mm-scene .s-bus { animation: mm-bus 26s linear infinite; }
    .mm-scene .s-carro { stroke: #e63329; }
    .mm-scene .s-carrozza { stroke: #f08c50; }
    .mm-scene .s-vetro { stroke: rgba(247,244,240,.7); stroke-width: 1.5; }
    .mm-scene .s-faro { stroke: #fff2b0; stroke-width: 2.5; }
    .mm-scene .s-ruota { stroke: rgba(247,244,240,.8); animation: mm-ruota .7s linear infinite; }
    @keyframes mm-finestra { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }
    @keyframes mm-albero { 0%, 100% { transform: rotate(-2.5deg); } 50% { transform: rotate(2.5deg); } }
    @keyframes mm-sole { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
    @keyframes mm-raggi { to { transform: rotate(360deg); } }
    @keyframes mm-luce { 0%, 100% { opacity: .15; } 50% { opacity: 1; } }
    @keyframes mm-fumo { 0% { transform: translateY(0) scale(.5); opacity: 0; } 25% { opacity: .8; } 100% { transform: translateY(-18px) scale(1.3); opacity: 0; } }
    @keyframes mm-uccelli { 0%, 100% { transform: translate(0, 0); } 25% { transform: translate(9px, -4px); } 50% { transform: translate(16px, 2px); } 75% { transform: translate(7px, -3px); } }
    @keyframes mm-auto { 0% { transform: translateX(-100px); } 46% { transform: translateX(440px); } 46.01%, 100% { transform: translateX(-100px); } }
    @keyframes mm-bus { 0%, 50% { transform: translateX(-120px); } 96% { transform: translateX(440px); } 96.01%, 100% { transform: translateX(-120px); } }
    @keyframes mm-ruota { to { transform: rotate(360deg); } }
    @keyframes mm-nuvola { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-12px); } }
    @keyframes mm-giorno { 0%, 42% { opacity: 1; } 50%, 92% { opacity: 0; } 100% { opacity: 1; } }
    @keyframes mm-notte { 0%, 42% { opacity: 0; } 50%, 92% { opacity: 1; } 100% { opacity: 0; } }
    @keyframes mm-stella { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
    @keyframes mm-pioggia { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: .9; } 100% { transform: translateY(14px); opacity: 0; } }
    .mobile-menu > a, .mobile-menu .lang-sw-m, .mobile-menu::after { z-index: 1; }
    .mobile-menu::after { content: ""; position: absolute; left: 24px; right: 24px; bottom: calc(86px + env(safe-area-inset-bottom, 0px)); height: 1px; background: rgba(255,255,255,0.08); pointer-events: none; }
    .mobile-menu.open { opacity: 1; pointer-events: auto; visibility: visible;
      clip-path: circle(165vmax at var(--menu-origine));
      transition: clip-path var(--menu-open) var(--menu-ease), opacity 0s, visibility 0s; }

    .mobile-menu .mm-scene { opacity: 0; transition: opacity .55s ease .3s; }
    .mobile-menu.open .mm-scene { opacity: 1; }
    .mobile-menu > a {
      position: relative;
      display: flex; align-items: center; justify-content: space-between; gap: 12px;
      padding: 14px 2px;
      font-size: clamp(20px, 5.6vw, 25px);
      font-weight: 600;
      letter-spacing: -.04em;
      line-height: 1.05;
      color: #f7f4f0;
      border-bottom: 1px solid rgba(255,255,255,0.08);
      text-decoration: none;
      opacity: 0; transform: translateY(12px); filter: blur(3px);
      transition: opacity .5s ease-in-out, transform .5s ease-in-out, filter .5s ease-in-out, color .3s ease;
    }
    .mobile-menu > a::after { content: "\2192"; font-size: 18px; font-weight: 500; color: rgba(255,255,255,0.28); transition: transform .3s cubic-bezier(.2,.65,.25,1), color .3s ease; }
    .mobile-menu > a:hover::after, .mobile-menu > a:active::after { transform: translateX(4px); color: #f2b18e; }
    .mobile-menu > a:hover, .mobile-menu > a:active, .mobile-menu > a[aria-current="page"] { color: #f2b18e; }
    .mobile-menu > a[aria-current="page"]::after { color: #f2b18e; }
    .mobile-menu.open > a { opacity: 1; transform: none; filter: none; }
    .mobile-menu.open > a:nth-child(1) { transition-delay: 150ms; }
    .mobile-menu.open > a:nth-child(2) { transition-delay: 205ms; }
    .mobile-menu.open > a:nth-child(3) { transition-delay: 260ms; }
    .mobile-menu.open > a:nth-child(4) { transition-delay: 315ms; }
    .mobile-menu.open > a:nth-child(5) { transition-delay: 370ms; }
    .mobile-menu.open > a:nth-child(6) { transition-delay: 425ms; }

    .mobile-menu .lang-sw-m { display: flex; flex-wrap: nowrap; justify-content: space-between; gap: 6px; margin-top: auto; padding-top: 22px; position: relative; }
    .mobile-menu .lang-sw-m a { display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 1 1 0; min-width: 0; min-height: 44px;   padding: 0 8px; border-radius: 999px;
      background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); border-bottom-width: 1px;
      color: rgba(255,255,255,0.78); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-decoration: none; }
    .mobile-menu .lang-sw-m a.on { background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.3); color: #fff; }
    .mobile-menu .lang-sw-m .fl { display: inline-flex; width: 16px; height: 11px; border-radius: 2px; overflow: hidden; }
    .mobile-menu .lang-sw-m .fl svg { display: block; width: 100%; height: 100%; }
    body.menu-aperto { overflow: hidden; }
    @media (prefers-reduced-motion: reduce) { .mobile-menu, .mobile-menu.open { clip-path: none; } nav, .mobile-menu, .mobile-menu.open, .mobile-menu a, .mobile-menu.open a, .mobile-menu .mm-scene, .nav-toggle span { transition: none; } .mm-scene * { animation: none !important; } }

@media (max-width: 820px) {

  html nav.scrolled, html nav.nav-solid {
    background: #1c1516 !important;
    box-shadow: none;
  }
  html nav.scrolled .nav-logo-name, html nav.nav-solid .nav-logo-name { color: #fff; }

}

html nav.scrolled .nav-toggle, html nav.nav-solid .nav-toggle {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.26);
}
html nav.scrolled .nav-toggle span, html nav.nav-solid .nav-toggle span { background: #fff; }

@media (max-width: 940px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
  .mobile-menu { display: flex; }
}

@media (hover: none), (pointer: coarse) {
  html nav.scrolled, html nav.nav-solid { background: #1c1516 !important; }

  .mobile-menu { background: #1c1516 !important; }
}

.mobile-menu.open { z-index: 138; }
nav.menu-open { z-index: 140; }

nav { transition: box-shadow 350ms ease; }

@media (min-width: 941px) {

  html nav.scrolled, html nav.nav-solid { background: #1c1516 !important; box-shadow: none !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  html nav .nav-links { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; }
  html nav .nav-links > li { display: flex; align-items: center; }

  html nav .nav-links > li > a:not(.nav-cta) {
    position: relative; display: inline-flex; align-items: center; height: 38px; padding: 0 13px; border-radius: 999px;
    font: 500 15px/1 'Inter', system-ui, sans-serif; letter-spacing: -.005em; color: rgba(247,244,240,.72); text-decoration: none;
    transition: color .25s cubic-bezier(.22,1,.36,1), background-color .25s cubic-bezier(.22,1,.36,1);
  }
  html nav .nav-links > li > a:not(.nav-cta):hover { color: #f7f4f0; background: rgba(255,255,255,.06); }
  html nav .nav-links > li > a.active:not(.nav-cta), html nav .nav-links > li > a[aria-current="page"]:not(.nav-cta) { color: #f7f4f0; }
  html nav .nav-links > li > a:not(.nav-cta)::after {
    content: ""; position: absolute; left: 13px; right: 13px; bottom: 5px; height: 2px; border-radius: 2px; background: #f2b18e;
    transform: scaleX(0); transform-origin: left; transition: transform .25s cubic-bezier(.22,1,.36,1);
  }
  html nav .nav-links > li > a.active:not(.nav-cta)::after, html nav .nav-links > li > a[aria-current="page"]:not(.nav-cta)::after { transform: scaleX(1); }
  html nav .nav-links > li > a:not(.nav-cta):focus-visible { outline: 2px solid #f2b18e; outline-offset: 2px; }

  html nav .nav-links .nav-cta, html nav.scrolled .nav-links .nav-cta, html nav.nav-solid .nav-links .nav-cta {
    display: inline-flex; align-items: center; gap: 8px; height: 40px; margin-left: 10px; padding: 0 16px 0 20px !important;
    border-radius: 999px !important; background: #e63329 !important; border: 0 !important; box-shadow: none !important;
    color: #fff !important; font: 600 14.5px/1 'Inter', system-ui, sans-serif !important; letter-spacing: -.005em !important;
    text-decoration: none; filter: none !important; opacity: 1 !important; transform: none !important;
    -webkit-backdrop-filter: none; backdrop-filter: none;
    transition: background-color .25s cubic-bezier(.22,1,.36,1), box-shadow .25s cubic-bezier(.22,1,.36,1) !important;
  }
  html nav .nav-links .nav-cta::after { content: "\2192"; font-size: 15px; line-height: 1; transition: transform .25s cubic-bezier(.22,1,.36,1); }
  html nav .nav-links .nav-cta:hover, html nav.scrolled .nav-links .nav-cta:hover, html nav.nav-solid .nav-links .nav-cta:hover {
    background: #b72e26 !important; box-shadow: 0 12px 26px -14px rgba(230,51,41,.7) !important; filter: none !important; transform: none !important; opacity: 1 !important;
  }
  html nav .nav-links .nav-cta:hover::after { transform: translateX(3px); }
  html nav .nav-links .nav-cta:focus-visible { outline: 2px solid #f2b18e; outline-offset: 3px; }

  html nav .lang-sw { margin-left: 6px; }
  html nav .lang-sw summary {
    display: inline-flex; align-items: center; gap: 7px; height: 38px; margin: 0; padding: 0 11px 0 12px; border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: #f7f4f0;
    font: 600 12px/1 'Inter', system-ui, sans-serif; letter-spacing: .08em; cursor: pointer; list-style: none;
    transition: background-color .25s cubic-bezier(.22,1,.36,1), border-color .25s cubic-bezier(.22,1,.36,1);
  }
  html nav .lang-sw summary::-webkit-details-marker { display: none; }
  html nav .lang-sw summary:hover, html nav .lang-sw details[open] summary { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.26); }
  html nav .lang-sw summary:focus-visible { outline: 2px solid #f2b18e; outline-offset: 2px; }
  html nav .lang-sw summary .fl { display: none; }
  html nav .lang-sw summary::before {
    content: ""; width: 16px; height: 16px; background: currentColor; opacity: .85; flex: none;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3c3 3.2 3 14.8 0 18M12 3c-3 3.2-3 14.8 0 18'/></svg>") center / contain no-repeat;
  }
  html nav .lang-sw summary::after {
    content: ""; width: 7px; height: 7px; margin: -3px 0 0 1px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg); opacity: .7; transition: transform .25s cubic-bezier(.22,1,.36,1), margin .25s cubic-bezier(.22,1,.36,1);
  }
  html nav .lang-sw details[open] summary::after { transform: rotate(225deg); margin-top: 3px; }

  html nav .lang-sw .lang-drop {
    position: absolute; right: 0; top: calc(100% + 10px); min-width: 212px; padding: 6px; border-radius: 18px; z-index: 120;
    background: rgba(28,21,22,.96); border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 30px 70px -30px rgba(0,0,0,.75), inset 0 1px 0 rgba(255,255,255,.06);
    transform-origin: top right; animation: lk-drop-in 250ms cubic-bezier(.22,1,.36,1) both;
  }
  html nav .lang-sw .lang-drop.is-closing { animation: lk-drop-out 150ms cubic-bezier(.22,1,.36,1) both; pointer-events: none; }
  html nav .lang-sw .lang-drop a {
    display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 12px 0 10px; border-radius: 12px;
    font: 500 14px/1 'Inter', system-ui, sans-serif; color: rgba(247,244,240,.85) !important; text-decoration: none; opacity: 1;
    transition: background-color .2s ease, color .2s ease;
  }
  html nav .lang-sw .lang-drop a b { min-width: 26px; font-weight: 600 !important; font-size: 12px; letter-spacing: .08em; color: #f2b18e !important; }
  html nav .lang-sw .lang-drop a .fl { width: 20px; height: 14px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
  html nav .lang-sw .lang-drop a::after { content: "\2192"; margin-left: auto; color: rgba(255,255,255,.28); font-size: 14px; transition: transform .25s cubic-bezier(.22,1,.36,1), color .25s ease; }
  html nav .lang-sw .lang-drop a:hover { background: rgba(255,255,255,.07) !important; color: #fff !important; }
  html nav .lang-sw .lang-drop a:hover::after { transform: translateX(3px); color: #f2b18e; }
  @keyframes lk-drop-in  { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: scale(1); } }
  @keyframes lk-drop-out { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(.99); } }
}
@media (prefers-reduced-motion: reduce) {
  html nav .lang-sw .lang-drop, html nav .lang-sw .lang-drop.is-closing { animation: none !important; }
  html nav .nav-links a, html nav .nav-links a::after, html nav .nav-links .nav-cta::after, html nav .lang-sw summary, html nav .lang-sw summary::after, html nav .lang-sw .lang-drop a, html nav .lang-sw .lang-drop a::after { transition: none !important; }
}
