/* Schermata di caricamento e transizioni tra le pagine di AMVDI Studio (condivisa da index e studio). */
#pt{--x:50%;--y:50%;position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#050506;color:#f4f3f1;
  clip-path:circle(150% at var(--x) var(--y));transition:clip-path .7s cubic-bezier(.76,0,.24,1),opacity .45s ease;
  /* se gli script non partono, la schermata sparisce comunque da sola */
  animation:ptSafety 0s 4s forwards}
#pt.hide{clip-path:circle(0% at var(--x) var(--y));pointer-events:none}
#pt.hide .pt-box{opacity:0;transform:scale(.96)}
#pt.gone{visibility:hidden}
@keyframes ptSafety{to{visibility:hidden;pointer-events:none}}
#pt::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,181,71,.16),transparent 55%);pointer-events:none}
#pt::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(244,243,241,.12) 1px,transparent 1.4px);background-size:24px 24px;
  mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 70%)}
.pt-box{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:26px;transition:opacity .3s,transform .3s}

/* logo con la V a equalizzatore che salta */
.pt-logo{display:flex;align-items:center;font-family:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;font-weight:800;font-size:56px;letter-spacing:-.03em;line-height:1}
.pt-logo .v{display:inline-flex;align-items:flex-start;gap:4px;height:40px;margin:0 4px}
.pt-logo .v i{width:5px;border-radius:3px;background:#ffb547;box-shadow:0 0 18px rgba(255,181,71,.6);transform-origin:top;animation:ptEq .9s ease-in-out infinite}
.pt-logo .v i:nth-child(1),.pt-logo .v i:nth-child(7){height:100%}
.pt-logo .v i:nth-child(2),.pt-logo .v i:nth-child(6){height:78%;animation-delay:-.15s}
.pt-logo .v i:nth-child(3),.pt-logo .v i:nth-child(5){height:56%;animation-delay:-.3s}
.pt-logo .v i:nth-child(4){height:34%;animation-delay:-.45s}
@keyframes ptEq{50%{transform:scaleY(.45)}}

/* onda che scorre */
.pt-wave{display:flex;align-items:center;gap:3px;height:46px;width:260px}
.pt-wave i{flex:1;height:100%;border-radius:2px;background:#3a3940;transform-origin:center;animation:ptWave 1.1s ease-in-out infinite}
@keyframes ptWave{0%,100%{transform:scaleY(.15);background:#3a3940}50%{transform:scaleY(1);background:#f4f3f1}}

/* barra e testo */
.pt-bar{width:260px;height:3px;border-radius:3px;background:#22222a;overflow:hidden}
.pt-bar i{display:block;height:100%;width:0;background:#ffb547;box-shadow:0 0 12px #ffb547;transition:width .35s cubic-bezier(.16,1,.3,1)}
.pt-text{font-family:"Geist Mono",ui-monospace,Menlo,monospace;font-size:13px;color:#8f8e97;letter-spacing:.04em;height:1.2em;min-width:260px;text-align:center}
.pt-text span{display:inline-block;animation:ptIn .35s ease-out}
@keyframes ptIn{from{opacity:0;transform:translateY(6px)}}

/* etichetta che compare quando si salta a una sezione della pagina */
#pt-jump{position:fixed;z-index:999;left:50%;top:84px;transform:translate(-50%,-14px);opacity:0;pointer-events:none;
  display:flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:99px;background:rgba(17,17,20,.85);backdrop-filter:blur(12px);
  border:1px solid #2a2a33;color:#f4f3f1;font-family:"Geist",ui-sans-serif,system-ui,sans-serif;font-size:14px;transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1)}
#pt-jump.on{opacity:1;transform:translate(-50%,0)}
#pt-jump i{width:8px;height:8px;border-radius:50%;background:#ffb547;box-shadow:0 0 0 0 rgba(255,181,71,.7);animation:ptPing 1s ease-out infinite}
@keyframes ptPing{to{box-shadow:0 0 0 10px rgba(255,181,71,0)}}

/* Lenis: scorrimento morbido */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  #pt{transition:opacity .2s}
  #pt.hide{clip-path:none;opacity:0}
  .pt-logo .v i,.pt-wave i{animation:none}
}
