/* AMG page loader – styles (scoped to #amg-loader so they never touch the site) */
#amg-loader{
  --amg-blue:#0a3db0; --amg-red:#d80000; --amg-bg:#ffffff;
  --amg-ease:cubic-bezier(.22,1,.36,1);
  position:fixed;inset:0;z-index:99999;background:var(--amg-bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;
  transition:opacity .7s ease,visibility .7s ease,transform .9s var(--amg-ease);
}
#amg-loader,#amg-loader *{box-sizing:border-box}
#amg-loader.done{opacity:0;visibility:hidden;transform:scale(1.04);pointer-events:none}
#amg-loader .logo-wrap{width:min(78vw,760px);position:relative}
#amg-loader .logo-wrap svg{width:100%;height:auto;overflow:visible;display:block}

#amg-loader .piece{opacity:0;transform-box:fill-box;transform-origin:center}

#amg-loader.play .A{animation:amgFromLeft 1s var(--amg-ease) .15s forwards}
#amg-loader.play .M{animation:amgFromTop 1s var(--amg-ease) .35s forwards}
#amg-loader.play .Gstroke{opacity:1;stroke-dasharray:1;stroke-dashoffset:1;animation:amgDraw 1.1s cubic-bezier(.65,0,.35,1) .55s forwards}
#amg-loader.play .swoosh-w{animation:amgSwoosh .6s var(--amg-ease) 1.45s forwards}
#amg-loader.play .swoosh-r{animation:amgSwoosh .6s var(--amg-ease) 1.55s forwards}
#amg-loader.play .bar{transform-origin:50% 100%;animation:amgGrow .8s var(--amg-ease) 1.2s forwards}
#amg-loader.play .t1{animation:amgSlideR .8s var(--amg-ease) 1.6s forwards}
#amg-loader.play .t2{animation:amgSlideR .8s var(--amg-ease) 1.75s forwards}
#amg-loader.play .t3{animation:amgSlideR .8s var(--amg-ease) 1.9s forwards}

@keyframes amgFromLeft{from{opacity:0;transform:translateX(-140px) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes amgFromTop{from{opacity:0;transform:translateY(-120px) scale(.85)}to{opacity:1;transform:none}}
@keyframes amgDraw{from{stroke-dashoffset:1;opacity:1}to{stroke-dashoffset:0;opacity:1}}
@keyframes amgSwoosh{from{opacity:0;transform:translate(-18px,-22px) scale(.7)}to{opacity:1;transform:none}}
@keyframes amgGrow{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}
@keyframes amgSlideR{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:none}}

#amg-loader .shine{transform:translateX(-300px) skewX(-20deg);opacity:0}
#amg-loader.play .shine{animation:amgShine 1.1s ease-in-out 2.7s forwards}
@keyframes amgShine{0%{transform:translateX(-300px) skewX(-20deg);opacity:0}15%{opacity:.85}
  85%{opacity:.85}100%{transform:translateX(1500px) skewX(-20deg);opacity:0}}

#amg-loader.play .logo-wrap{animation:amgPulse 1.2s ease-in-out 2.6s 1}
@keyframes amgPulse{50%{transform:scale(1.025)}}

#amg-loader .progress{width:min(60vw,420px);text-align:center}
#amg-loader .track{height:4px;border-radius:4px;background:#e4e8f1;overflow:hidden}
#amg-loader .fill{height:100%;width:0;background:linear-gradient(90deg,var(--amg-blue),var(--amg-red));border-radius:4px;transition:width .25s ease-out}
#amg-loader .pct{margin-top:12px;font:700 13px/1 'Montserrat',system-ui,sans-serif;letter-spacing:.2em;color:#6b7285}

/* repeat visits in the same session: logo already assembled, brief fade */
#amg-loader.quick .piece{opacity:1;transform:none;animation:none}
#amg-loader.quick .Gstroke{stroke-dasharray:none;stroke-dashoffset:0}
#amg-loader.quick .progress{display:none}
#amg-loader.quick{gap:0}

@media (prefers-reduced-motion:reduce){
  #amg-loader .piece,#amg-loader .shine{animation:none!important;opacity:1!important;transform:none!important}
  #amg-loader .shine{opacity:0!important}
  #amg-loader .Gstroke{stroke-dasharray:none!important;stroke-dashoffset:0!important}
}
