.loading-screen {display:none;position:fixed;inset:0;z-index:90;background:var(--color-base);pointer-events:none;align-content:center;justify-items:center;gap:18px;}
.has-loader .loading-screen {display:grid;animation:loading-escape 3400ms step-end forwards;}
.loading-art {width:min(280px,74vw);aspect-ratio:300 / 230;position:relative;}
.loading-cable {width:100%;height:100%;object-fit:contain;}
.loading-logo {position:absolute;width:35%;height:auto;left:32.5%;top:26%;}
.loading-company {font-family:var(--font-body);font-size:17px;line-height:1.6;font-weight:700;letter-spacing:.08em;color:var(--color-ink);}
.loading-line {height:2px;width:64px;background:var(--color-line);overflow:hidden;}
.loading-line::after {content:"";display:block;width:100%;height:100%;background:var(--color-blue);transform-origin:left;animation:loading-connect 1000ms var(--ease-out) both;}
.loading-screen.is-finished {display:grid;opacity:0;visibility:hidden;transition:opacity 420ms ease,visibility 0s 420ms;}
@keyframes loading-connect {from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes loading-escape {to{opacity:0;visibility:hidden;}}
@media(prefers-reduced-motion:reduce){.loading-line::after {animation:none;}.loading-screen.is-finished {transition:none;}}

@media(prefers-reduced-motion:no-preference){.loading-wire {stroke-dasharray:1;animation:loading-wire-draw 900ms var(--ease-out) both;}@keyframes loading-wire-draw {from{stroke-dashoffset:1;}to{stroke-dashoffset:0;}}}
