/* The artwork is reused verbatim; only its original pixel regions move. */
.brand-loader {
  --loader-bg:#090d08; --loader-ink:#f3efe4; --loader-muted:#a0a69d;
  --loader-track:rgba(243,239,228,.13); --loader-halo:rgba(140,198,63,.055); --loader-shade:rgba(0,0,0,.24);
  display:none; position:fixed; inset:0; z-index:10000; isolation:isolate;
  overflow:hidden; background:var(--loader-bg); color:var(--loader-ink); font-family:'Outfit',sans-serif;
}
html[data-theme="light"] .brand-loader {
  --loader-bg:#f8f9f7; --loader-ink:#24282c; --loader-muted:#61675f;
  --loader-track:rgba(36,40,44,.13); --loader-halo:rgba(140,198,63,.04); --loader-shade:rgba(92,102,85,.065);
}
html.brand-loading { overflow:hidden; }
html.brand-loading .brand-loader { display:grid; place-items:center; }
.brand-loader::before {
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,transparent 25%,var(--loader-shade) 100%),radial-gradient(ellipse at 50% 48%,var(--loader-halo),transparent 58%);
}
.brand-loader__center { display:grid; justify-items:center; width:100%; padding:32px; box-sizing:border-box; text-align:center; transform:translateY(-12px); }
.brand-loader__stage { position:relative; width:min(350px,76vw); aspect-ratio:284/113; }
.brand-loader__defs { position:absolute; }
.brand-loader__pieces, .brand-loader__triangle-motion, .brand-loader__part, .brand-loader__edge-lights, .brand-loader__logo, .brand-loader__word-light { position:absolute; inset:0; width:100%; height:100%; }
.brand-loader__pieces, .brand-loader__part, .brand-loader__logo { opacity:0; }
.brand-loader__part { display:block; transform-style:preserve-3d; backface-visibility:hidden; }
.brand-loader__part svg { display:block; width:100%; height:100%; overflow:visible; }
.brand-loader__logo { display:block; object-fit:contain; transform:none; filter:none; }
.intro-light, .brand-loader__logo--light { display:none; }
html[data-theme="light"] .intro-dark, html[data-theme="light"] .brand-loader__logo--dark { display:none; }
html[data-theme="light"] .intro-light, html[data-theme="light"] .brand-loader__logo--light { display:block; }
.brand-loader__triangle {
  -webkit-mask-image:linear-gradient(110deg,#000 38%,transparent 58%); mask-image:linear-gradient(110deg,#000 38%,transparent 58%);
  -webkit-mask-size:300% 100%; mask-size:300% 100%;
  -webkit-mask-position:100% 0; mask-position:100% 0;
}
.brand-loader__edge-lights { pointer-events:none; overflow:visible; }
.brand-loader__edge-lights path { opacity:0; stroke-linejoin:round; }
.intro-first-light { stroke-width:1.2; stroke-dasharray:9 91; }
.intro-contour-light { stroke-width:1.6; stroke-dasharray:22 78; }
.intro-signature-light { stroke-width:1.05; stroke-dasharray:13 87; }
.brand-loader__word-light {
  pointer-events:none; opacity:0; clip-path:inset(0 0 0 36.971831%);
  background:linear-gradient(108deg,transparent 44%,rgba(255,255,255,.3) 49%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.3) 51%,transparent 56%);
  background-size:300% 100%;
  -webkit-mask:url('/media/airband-logo-full.png') center / 100% 100% no-repeat;
  mask:url('/media/airband-logo-full.png') center / 100% 100% no-repeat;
}
.brand-loader__status { display:grid; justify-items:center; gap:17px; margin-top:42px; color:var(--loader-muted); font-size:13px; line-height:1.5; letter-spacing:.07em; }
.brand-loader__track { width:156px; height:2px; overflow:hidden; border-radius:2px; background:var(--loader-track); }
.brand-loader__track::after { content:''; display:block; width:100%; height:100%; border-radius:inherit; background:#8CC63F; transform:scaleX(0); transform-origin:left; }
/* One common clock: first light, sculpt, letter wave, signature, then a still hold. */
.brand-loader.is-animating { animation:introEnd 2s step-end both; }
.is-animating .brand-loader__pieces { animation:introPartsOff 1.6s step-end both; }
.is-animating .brand-loader__logo { animation:introOriginalOn 1.6s step-end both; }
.is-animating .brand-loader__triangle-motion { animation:introTriangleMotion .7s .2s cubic-bezier(.2,.7,.3,1) both; }
.is-animating .brand-loader__triangle { animation:introTriangleReveal .7s .2s cubic-bezier(.2,.7,.3,1) both; }
.is-animating .brand-loader__letter { animation:introLetter .25s var(--delay) cubic-bezier(.2,.75,.3,1) both; }
.is-animating .brand-loader__subtitle { animation:introSubtitle .24s var(--delay) cubic-bezier(.16,1,.3,1) both; }
.is-animating .intro-first-light { animation:introFirstLight .3s linear both; }
.is-animating .intro-contour-light { animation:introContour .7s .2s ease-in-out both; }
.is-animating .intro-signature-light { animation:introSignature .25s 1.2s ease-in-out both; }
.is-animating .brand-loader__word-light { animation:introWordLight .23s 1.37s ease-in-out both; }
.is-animating .brand-loader__track::after { animation:introProgress 1.6s cubic-bezier(.25,.5,.35,1) both; }
@keyframes introTriangleMotion {
  0% { transform:perspective(650px) translateY(8px) rotateY(-10deg) rotateX(3deg) scale(.96); }
  70% { transform:perspective(650px) translateY(-.25px) rotateY(.25deg) rotateX(0) scale(1.002); }
  86% { transform:perspective(650px) translateY(.08px) rotateY(0) rotateX(0) scale(.9995); }
  100% { transform:none; }
}
@keyframes introTriangleReveal {
  0% { opacity:0; filter:blur(.65px); -webkit-mask-position:100% 0; mask-position:100% 0; }
  34% { opacity:1; filter:blur(.25px); }
  70% { opacity:1; filter:blur(0); -webkit-mask-position:0 0; mask-position:0 0; }
  100% { opacity:1; filter:none; -webkit-mask-position:0 0; mask-position:0 0; }
}
@keyframes introLetter {
  from { opacity:0; filter:blur(.35px); transform:perspective(600px) translateY(8px) rotateX(-18deg); }
  to { opacity:1; filter:none; transform:none; }
}
@keyframes introSubtitle { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@keyframes introFirstLight { 0% { opacity:0; stroke-dashoffset:3; } 15% { opacity:.95; } 76% { opacity:.8; } 100% { opacity:0; stroke-dashoffset:-25; } }
@keyframes introContour { 0% { opacity:0; stroke-dashoffset:-10; } 24% { opacity:.7; } 75% { opacity:.5; } 100% { opacity:0; stroke-dashoffset:-75; } }
@keyframes introSignature { 0% { opacity:0; stroke-dashoffset:0; } 20% { opacity:.85; } 75% { opacity:.65; } 100% { opacity:0; stroke-dashoffset:-100; } }
@keyframes introWordLight { 0% { opacity:0; background-position:75% 50%; } 25% { opacity:.55; } 75% { opacity:.45; } 100% { opacity:0; background-position:0% 50%; } }
@keyframes introPartsOff { from { opacity:1; } to { opacity:0; } }
@keyframes introOriginalOn { from { opacity:0; } to { opacity:1; } }
@keyframes introProgress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes introEnd { from { visibility:visible; } to { visibility:hidden; pointer-events:none; } }
@media(max-width:600px) { .brand-loader__stage { width:min(300px,76vw); } .brand-loader__status { margin-top:34px; } }
@media(max-height:420px) { .brand-loader__center { transform:none; padding:20px; } .brand-loader__stage { width:min(280px,60vw); } .brand-loader__status { margin-top:20px; gap:12px; } }
@media(prefers-reduced-motion:reduce) {
  .brand-loader.is-animating { animation:none; }
  .brand-loader__pieces { display:none; }
  .is-animating .brand-loader__logo { animation:none; opacity:1; }
  .is-animating .brand-loader__track::after { animation:none; transform:scaleX(.4); }
}
