/* The KG signature: precision linework assembles, resolves, and clears the stage. */
:root{--load-bg:#f1f5f5;--load-ink:#15313a;--load-muted:#48666c;--load-line:#15313a29;--load-accent:#117c78;--load-ease:cubic-bezier(.16,1,.3,1)}
:root[data-theme=dark]{--load-bg:#081218;--load-ink:#eaf4f4;--load-muted:#9ab0b7;--load-line:#a3d4d42b;--load-accent:#50d4c9}
.site-loader{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:clamp(20px,4vw,48px);background:var(--load-bg);color:var(--load-ink);overflow:auto;isolation:isolate;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .36s ease,visibility .36s}
.intro-active .site-loader{visibility:visible;opacity:1;pointer-events:auto}.intro-active{overflow:hidden}.intro-active .page-shell{visibility:hidden}.intro-leaving .site-loader{opacity:0;pointer-events:none}.intro-leaving .page-shell{visibility:visible}
.signature-header,.signature-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;flex-shrink:0;direction:ltr}.signature-brand{font-size:14px;letter-spacing:.13em;white-space:nowrap}.signature-brand b{font-weight:750}.signature-header .theme-toggle{width:42px;height:42px;background:transparent;color:var(--load-ink);border:1px solid var(--load-line)}
.signature-scene{display:grid;justify-items:center;align-content:center;flex:1;min-height:0;text-align:center;position:relative;padding-block:12px}
.signature-instrument{position:relative;display:grid;place-items:center;width:min(56vh,420px,80vw);aspect-ratio:1;direction:ltr;flex-shrink:0}
.signature-dial{position:absolute;inset:0;width:100%;height:100%;color:var(--load-accent);overflow:visible}.signature-dial .dial-guide{opacity:.22;stroke-width:.6}.dial-segments{transform-origin:200px 200px;stroke-width:1;stroke-dasharray:118 35 30 35;opacity:.65}.dial-trace{stroke-width:1.2;stroke-dasharray:720;stroke-dashoffset:720;transform-origin:200px 200px}.dial-cross{stroke-width:.8;opacity:.65}
.signature-mark{width:45%;overflow:visible;color:var(--load-ink)}.signature-k,.signature-g{transform-box:fill-box;transform-origin:center}.signature-dot{fill:var(--load-accent)}.signature-underline{stroke:var(--load-accent);stroke-width:3;stroke-dasharray:120;stroke-dashoffset:120}
.signature-axis{position:absolute;inset:50% 4%;height:1px;background:var(--load-line);transform:scaleX(0);pointer-events:none}.signature-axis.vertical{transform:rotate(90deg) scaleX(0)}
.signature-caption{margin:10px 0 0;max-width:90vw}.signature-caption h2{margin:0;font-size:clamp(22px,3.5vw,36px);line-height:1.6;font-weight:650;text-wrap:balance}.signature-caption p{font-size:12px;line-height:1.8;color:var(--load-muted);margin:10px 0 0}.signature-wait{display:flex;justify-content:center;gap:5px;margin:20px auto 0}.signature-wait i{width:18px;height:2px;background:var(--load-accent);opacity:.35;transform-origin:left}
.signature-footer small{max-width:44ch;font-size:11px;color:var(--load-muted);line-height:1.8}.signature-skip{display:flex;gap:12px;align-items:center;color:var(--load-ink);border:1px solid var(--load-line);border-radius:9px;padding:8px 14px;background:transparent;font:inherit;font-size:12px;min-height:44px;direction:inherit;cursor:pointer}.signature-skip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.signature-skip:hover{border-color:var(--load-accent)}.signature-skip:focus-visible{outline:2px solid var(--load-accent);outline-offset:4px}
.intro-active .signature-axis{animation:signature-axis 950ms var(--load-ease) both}.intro-active .signature-axis.vertical{animation-name:signature-axis-vertical}.intro-active .dial-segments{animation:signature-calibrate 1250ms var(--load-ease) both}.intro-active .dial-trace{animation:signature-trace 1000ms var(--load-ease) 120ms forwards}.intro-active .signature-k{animation:signature-k 900ms var(--load-ease) 180ms both}.intro-active .signature-g{animation:signature-g 1000ms var(--load-ease) 260ms both}.intro-active .signature-dot{animation:signature-dot 600ms var(--load-ease) 520ms both}.intro-active .signature-underline{animation:signature-trace 750ms var(--load-ease) 550ms forwards}.intro-active .signature-caption{animation:signature-caption 650ms var(--load-ease) 420ms both}.intro-active .signature-wait i{animation:kg-signal 1200ms ease-in-out infinite}.signature-wait i:nth-child(2){animation-delay:140ms}.signature-wait i:nth-child(3){animation-delay:280ms}.intro-leaving .signature-scene{transform:scale(1.035);transition:transform .36s var(--load-ease)}
@keyframes signature-axis{from{transform:scaleX(.05);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes signature-axis-vertical{from{transform:rotate(90deg) scaleX(.05);opacity:0}to{transform:rotate(90deg) scaleX(1);opacity:1}}@keyframes signature-calibrate{from{transform:rotate(-65deg) scale(.86);opacity:.08}to{transform:rotate(0) scale(1);opacity:.65}}@keyframes signature-trace{to{stroke-dashoffset:0}}@keyframes signature-k{from{transform:translateX(-28px);opacity:0;clip-path:inset(0 100% 0 0)}to{transform:translateX(0);opacity:1;clip-path:inset(0)}}@keyframes signature-g{from{transform:translateX(28px);opacity:0;clip-path:inset(0 0 0 100%)}to{transform:translateX(0);opacity:1;clip-path:inset(0)}}@keyframes signature-dot{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes signature-caption{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes kg-signal{0%,100%{opacity:.25;transform:scaleX(.65)}50%{opacity:1;transform:scaleX(1)}}
.kg-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px 16px;color:var(--load-muted);font-size:13px;line-height:1.8;text-align:center;min-height:160px}.kg-load-symbol{display:inline-flex;flex:none;width:54px;height:54px;color:var(--load-accent)}.kg-load-symbol svg{width:100%;height:100%}.kg-load-arcs{transform-origin:32px 32px;animation:kg-dial-turn 2400ms linear infinite}.kg-load-inner{opacity:.45}.kg-load-signal{stroke-dasharray:64;animation:kg-load-trace 1800ms ease-in-out infinite}.loading{padding:20px!important}.storefront-loading .kg-loading{min-height:230px}.kg-activity{position:fixed;z-index:90;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%,-12px);display:flex;align-items:center;gap:10px;padding:7px 15px 7px 8px;max-width:calc(100vw - 24px);width:max-content;pointer-events:none;opacity:0;transition:opacity .18s ease,transform .24s var(--load-ease);background:var(--load-bg);color:var(--load-ink);border:1px solid var(--load-line);border-radius:12px;box-shadow:0 8px 24px #0002;font-size:12px;line-height:1.6}.kg-activity[hidden]{display:none}.kg-activity .kg-load-symbol{width:30px;height:30px}.kg-request-active .kg-activity{opacity:1;transform:translate(-50%,0)}.intro-active .kg-activity{visibility:hidden}
.kg-control-busy{position:relative;cursor:progress}.kg-control-busy::after{content:"";position:absolute;pointer-events:none;inset:auto 12px 3px;height:2px;background:var(--load-accent);transform-origin:left;animation:kg-control-scan 1000ms ease-in-out infinite}.kg-region-busy{cursor:progress}.kg-region-busy:not(:has(.kg-loading)){opacity:.7;transition:opacity .16s ease}
@keyframes kg-dial-turn{to{transform:rotate(360deg)}}@keyframes kg-load-trace{0%,100%{stroke-dashoffset:64;opacity:.35}50%{stroke-dashoffset:0;opacity:1}}@keyframes kg-control-scan{0%,100%{transform:scaleX(.15);opacity:.4}50%{transform:scaleX(.85);opacity:1}}
.motion-paused .site-loader *,.motion-paused .kg-load-symbol *,.motion-paused .kg-control-busy::after{animation-play-state:paused!important}
@media(max-width:480px){.signature-footer{align-items:flex-end}.signature-footer small{max-width:18ch;font-size:11px}.signature-instrument{width:min(44vh,300px,85vw)}.signature-caption h2{font-size:24px}.signature-brand{font-size:12px}.signature-caption p{font-size:11px}.kg-activity{font-size:11px}}
@media(max-height:520px) and (min-width:540px){.site-loader{padding:12px 28px;gap:4px}.signature-scene{grid-template-columns:1fr 1fr;gap:20px;padding:0}.signature-instrument{width:min(60vh,260px);grid-row:1/3;justify-self:end}.signature-caption{justify-self:start;text-align:start}.signature-wait{justify-content:start;margin:8px 0}.signature-caption h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.site-loader *, .kg-load-symbol *, .kg-control-busy::after{animation:none!important}.site-loader,.kg-activity,.intro-leaving .signature-scene{transition:none;transform:none}.kg-activity{transform:translateX(-50%)}.kg-request-active .kg-activity{transform:translateX(-50%)}.signature-underline,.dial-trace{stroke-dashoffset:0}.kg-load-signal{stroke-dasharray:none}.kg-control-busy::after{opacity:.7;transform:scaleX(.6)}}

