/* Nuova navigazione. Gli stili del sito originale restano la base visiva. */
.site-header{padding:20px var(--gutter);gap:26px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header .brand img{width:50px;height:50px}
.site-header .brand>span{font-size:27px}
.desktop-navigation{display:flex;align-items:center;gap:clamp(16px,1.65vw,29px);margin-left:auto;font-size:12px;white-space:nowrap}
.desktop-navigation a{position:relative;padding:12px 0}
.desktop-navigation a:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--olive);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-navigation a:hover:after,.desktop-navigation a[aria-current]:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:22px;flex-shrink:0;margin-left:auto}
.header-actions .nav-contact{font-size:12px;padding:9px 0}
.menu-toggle{display:block;width:44px;height:44px;padding:10px;background:transparent;border:0}
.menu-toggle span{height:1px;background:var(--ink);margin:6px 0;transition:transform .2s}
.menu-toggle:hover span:first-child{transform:translateX(3px)}
.menu-toggle:hover span:last-child{transform:translateX(-3px)}
.full-menu{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0 var(--gutter);border:0;background:#fff;color:var(--ink);overscroll-behavior:none;overflow:hidden}
.full-menu::backdrop{background:#fff}
.full-menu[open]{display:flex;flex-direction:column;animation:menu-enter .35s ease both}
.menu-top{display:flex;align-items:center;justify-content:space-between;min-height:103px;border-bottom:1px solid var(--line);gap:20px;flex-shrink:0}
.menu-top .brand img{width:50px;height:50px}
.menu-close{display:flex;align-items:center;gap:18px;border:0;background:transparent;padding:10px 0 10px 10px;font-size:11px;min-height:44px}
.menu-close i{position:relative;display:block;width:40px;height:30px}
.menu-close i:before,.menu-close i:after{content:'';position:absolute;left:6px;top:14px;width:28px;height:1px;background:var(--ink);transform:rotate(45deg)}
.menu-close i:after{transform:rotate(-45deg)}
.menu-layout{display:grid;grid-template-columns:35% 65%;align-items:center;gap:0;flex:1;padding:28px 0}
.menu-introduction{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:30px;padding-right:30px}
.menu-introduction>p{font:clamp(35px,4.1vw,64px)/1.14 var(--serif);letter-spacing:-.045em;color:var(--ink)}
.menu-location{font-size:9px;letter-spacing:.16em;margin-top:20px;color:var(--muted)}
.menu-links{display:flex;flex-direction:column}
.menu-links>a{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:clamp(9px,1.6vh,18px) 8px;transition:color .2s,padding .3s}
.menu-links>a:first-child{border-top:1px solid var(--line)}
.menu-number{font-size:10px;color:var(--gold);align-self:center}
.menu-item-copy{display:flex;flex-direction:column;gap:3px}
.menu-item-title{font:400 clamp(32px,5.8vh,66px)/1.05 var(--serif);letter-spacing:-.045em}
.menu-item-copy small{font-size:10px;color:var(--muted);letter-spacing:.025em}
.menu-arrow{font-size:29px;font-weight:300;margin-left:auto;transition:transform .3s}
.menu-links>a:hover{padding-left:18px;color:#75805f}
.menu-links>a:hover .menu-arrow{transform:none}
.menu-links>a[aria-current] .menu-item-title{font-style:italic;color:#7e886c}
.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:19px 0;font-size:9px;letter-spacing:.12em;flex-shrink:0}
.menu-bottom a{font-size:11px;letter-spacing:0}
body.menu-open{overflow:hidden}
@keyframes menu-enter{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}

/* Firma vettoriale: ciascun tratto viene disegnato in ordine. */
.intro-screen{display:none}
html.intro-active,html.intro-active body{overflow:hidden}
.intro-active .intro-screen{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#fff}
.intro-screen svg{width:clamp(260px,32vw,460px);height:auto;overflow:visible}
.signature-rendered>.original-signature{visibility:hidden}
.intro-active .intro-screen:not([data-signature-state="complete"])>.original-signature{visibility:hidden}
.signature-canvas{display:block;pointer-events:none}
.intro-screen>.signature-canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(260px,32vw,460px);height:auto}
.intro-active .site-shell{position:relative;z-index:81;background:var(--paper);transform:translateY(100vh);transform:translateY(100dvh);visibility:hidden}
.intro-active.intro-revealing .site-shell{visibility:visible;animation:site-rise 1.05s cubic-bezier(.76,0,.24,1) both}
@keyframes site-rise{from{transform:translateY(100dvh)}to{transform:translateY(0)}}
.artist-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.artist-path-grid>a>div{height:360px;overflow:hidden;background:var(--sand)}
.artist-path-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.artist-path-grid a:hover img{transform:scale(1.04)}
.artist-path-grid>a>span{display:flex;align-items:center;justify-content:space-between;padding-top:20px;font:30px var(--serif);letter-spacing:-.035em}
.artist-path-grid i{font:24px var(--sans);font-style:normal}
@media(min-width:1700px){.menu-layout{width:min(100%,1500px);margin:0 auto}}
@media(max-width:1200px){.desktop-navigation{display:none}.header-actions{margin-left:auto}.site-header{padding:18px var(--gutter)}}
@media(max-width:700px){
  .site-header{padding:14px 20px;gap:10px}
  .site-header .brand{gap:7px}.site-header .brand img{width:37px;height:37px}
  .site-header .brand>span{font-size:22px}.site-header .brand small{font-size:5px;letter-spacing:.1em;margin-top:6px}
  .header-actions{gap:12px}.header-actions .nav-contact{font-size:11px}.menu-toggle{width:38px;padding:8px}
  .full-menu{padding:0 24px}.menu-top{min-height:78px}.menu-top .brand img{width:37px;height:37px}.menu-top .brand>span{font-size:23px}.menu-top .brand small{font-size:5px}
  .menu-close{gap:0}.menu-close>span{display:none}.menu-close i{width:36px}
  .menu-layout{display:block;flex:1;padding:22px 0}
  .menu-introduction{padding:0;gap:0;margin-bottom:20px}.menu-introduction>p,.menu-location{display:none}
  .menu-links>a{gap:17px;padding:14px 2px}.menu-item-title{font-size:clamp(32px,5.2vh,45px)}.menu-item-copy small{font-size:9px}.menu-arrow{font-size:25px}
  .menu-bottom{padding:16px 0;font-size:7px;letter-spacing:.05em}.menu-bottom a{font-size:9px}
  .artist-path-grid{grid-template-columns:1fr;gap:32px}.artist-path-grid>a>div{height:350px}
}
@media(max-height:650px) and (min-width:701px){.menu-top{min-height:76px}.menu-layout{padding:15px 0}.menu-links>a{padding:8px}.menu-item-title{font-size:32px}.menu-item-copy small{font-size:9px}.menu-introduction>p{font-size:42px}}
@media(prefers-reduced-motion:reduce){.intro-screen{display:none!important}.intro-active .site-shell{visibility:visible;transform:none}.full-menu[open]{animation:none}}

/* Un solo segno di navigazione: maggiore, con un gesto verso destra. */
.greater-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;transform-origin:center;transition:transform .25s ease}
.greater-chevron svg{width:100%;height:100%}
.menu-arrow .greater-chevron{width:22px;height:22px}
.menu-bottom .greater-chevron{width:14px;height:14px;margin-left:8px;vertical-align:middle}
a:hover .greater-chevron,a:focus-visible .greater-chevron,
a:hover .link-chevron,a:focus-visible .link-chevron,
.text-link:hover .link-chevron,button:hover .link-chevron{transform:translateX(4px) scale(1.12)}

/* L'IntersectionObserver governa la comparsa una sola volta per elemento. */
.reveal{animation:none!important}
main{overflow-x:clip}
.motion-ready .scroll-item{opacity:0;transform:translate3d(0,25px,0);filter:blur(3px);transition:opacity .85s ease,transform .95s cubic-bezier(.2,.65,.3,1),filter .85s ease;transition-delay:var(--block-delay,0ms)}
.motion-ready .scroll-item[data-motion=left]{transform:translate3d(-42px,0,0)}
.motion-ready .scroll-item[data-motion=right]{transform:translate3d(42px,0,0)}
.motion-ready .scroll-item.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.reveal-word{display:inline-block}
.motion-ready .word-heading .reveal-word{opacity:0;transform:translate3d(0,24px,0);filter:blur(4px);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.65,.3,1),filter .8s ease;transition-delay:var(--word-delay,0ms)}
.motion-ready .word-heading.is-visible .reveal-word{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
@media(max-width:700px){.motion-ready .scroll-item[data-motion=left]{transform:translate3d(-22px,0,0)}.motion-ready .scroll-item[data-motion=right]{transform:translate3d(22px,0,0)}.motion-ready .scroll-item.is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .scroll-item,.motion-ready .word-heading .reveal-word{opacity:1;transform:none;filter:none;transition:none}}

/* Temporary 3D study: navbar link only, outside the full-screen menu. */
.header-actions .nav-test{font:11px var(--sans);letter-spacing:.12em;padding:10px 0;color:var(--olive);text-decoration:none;white-space:nowrap}
.header-actions .nav-test[aria-current]{border-bottom:1px solid var(--olive)}
@media(max-width:700px){.header-actions .nav-test{font-size:10px}}
@media(max-width:360px){.site-header .brand>span{font-size:19px}.site-header .brand img{width:32px;height:32px}.header-actions{gap:9px}.header-actions .nav-contact{font-size:10px}.site-header .menu-toggle{width:32px}}
