/* An extra layer of motion; layout, pointer transforms and media remain independent. */
.atmosphere-ready .loader-word{position:relative;z-index:1;animation:atmo-word-in 1.05s cubic-bezier(.16,1,.3,1) both;transform-origin:50% 60%}
.atmosphere-ready .loader-head{z-index:3;animation:atmo-head-float 2.5s ease-in-out infinite;transition:transform .3s ease}
.atmo-loader-orbit{position:absolute;left:50%;top:50%;width:clamp(190px,32vw,390px);aspect-ratio:1;transform:translate(-50%,-50%);color:var(--ink);pointer-events:none;opacity:.48;z-index:0;transition:opacity .35s,scale .5s cubic-bezier(.16,1,.3,1)}
.atmo-loader-orbit svg{display:block;width:100%;height:100%;overflow:visible;animation:atmo-orbit-breathe 3.1s ease-in-out infinite}
.atmo-orbit-guide{stroke:currentColor;stroke-width:.65;opacity:.16}
.atmo-orbit-guide.inner{stroke-dasharray:1 10;opacity:.28}
.atmo-orbit-track{transform-origin:140px 140px;transform:rotate(var(--atmo-load-angle,0deg));transition:transform .13s linear;stroke:var(--red);stroke-width:1.2}
.atmo-orbit-track circle{fill:var(--red);stroke:none}
.atmo-orbit-ticks{stroke:currentColor;stroke-width:.7;opacity:.3;transform-origin:140px 140px;animation:atmo-orbit-turn 18s linear infinite}
.atmo-loader-rail{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(12px,calc(var(--gutter) - 10px));height:2px;background:color-mix(in srgb,var(--ink) 12%,transparent);overflow:hidden;pointer-events:none}
.atmo-loader-rail span{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(var(--atmo-load,0));transform-origin:left;transition:transform .12s linear}
.atmo-loader-complete .atmo-loader-orbit{opacity:.8;scale:1.045}
.atmosphere-ready .loader.done .loader-head{animation:none;transform:translate(-50%,-50%) rotate(0deg) scale(1.03)}
.atmosphere-ready .loader.done .atmo-loader-orbit{opacity:0;scale:1.12}
.atmo-letter{display:inline-block;transform-origin:50% 90%}
.atmosphere-ready [data-title].is-visible .atmo-letter{animation:atmo-letter-settle .8s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--delay,0ms) + var(--atmo-letter-delay,0ms))}
.atmosphere-ready .home-hero h1 .reveal-line,.atmosphere-ready .seq-hero h1 .reveal-line{translate:0 calc(var(--atmo-title-lift,0px) * var(--atmo-line-factor,1))}
.atmo-reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:95;opacity:.8;transition:opacity .25s}
body:not(.page-revealed) .atmo-reading-progress{opacity:0}
.atmo-divider-scene:after{content:"";position:absolute;left:0;bottom:-1px;width:25%;height:1px;background:linear-gradient(90deg,var(--red),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.16,1,.3,1);pointer-events:none}
.atmo-divider-scene.atmo-inview:after{transform:scaleX(1)}
.atmosphere-ready .seq-kicker .red-triangle{animation:atmo-signal 3s ease-in-out infinite}
.atmo-paused .loader-word,.atmo-paused .loader-head,.atmo-paused .atmo-loader-orbit svg,.atmo-paused .atmo-orbit-ticks,.atmo-paused .atmo-letter,.atmo-paused .seq-kicker .red-triangle,.atmo-offscreen .loader-word,.atmo-offscreen .loader-head,.atmo-offscreen .atmo-loader-orbit svg,.atmo-offscreen .atmo-orbit-ticks,.atmo-offscreen .atmo-letter,.atmo-offscreen .seq-kicker .red-triangle{animation-play-state:paused!important}
.atmo-paused .atmo-letter{animation:none!important;transform:none!important;opacity:1!important}
.atmo-paused .atmo-divider-scene:after{transition:none;transform:scaleX(1)}
.atmo-paused .atmo-loader-rail span,.atmo-paused .atmo-orbit-track{transition:none}
@keyframes atmo-word-in{from{opacity:0;transform:translateY(24px) scale(.94);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes atmo-head-float{0%,100%{transform:translate(-50%,-50%) rotate(-7deg)}50%{transform:translate(-50%,calc(-50% - 8px)) rotate(3deg)}}
@keyframes atmo-orbit-breathe{0%,100%{scale:1}50%{scale:1.035}}
@keyframes atmo-orbit-turn{to{transform:rotate(360deg)}}
@keyframes atmo-letter-settle{from{opacity:0;transform:translateY(.18em) rotate(3deg);filter:blur(2px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}
@keyframes atmo-signal{0%,100%{opacity:1}50%{opacity:.5}}
@media(max-width:650px){.atmo-loader-orbit{width:clamp(185px,48vw,265px)}.atmo-reading-progress{height:1.5px}.atmo-loader-rail{height:1.5px}}
@media(prefers-reduced-motion:reduce){.atmosphere-ready .loader-word,.atmosphere-ready .loader-head,.atmosphere-ready .atmo-loader-orbit svg,.atmosphere-ready .atmo-orbit-ticks,.atmosphere-ready .atmo-letter,.atmosphere-ready .seq-kicker .red-triangle{animation:none!important;filter:none!important;opacity:1}.atmosphere-ready .loader-word,.atmosphere-ready .atmo-letter{transform:none}.atmosphere-ready .loader-head{transform:translate(-50%,-50%) rotate(-8deg)}.atmosphere-ready .home-hero h1 .reveal-line,.atmosphere-ready .seq-hero h1 .reveal-line{translate:none}.atmo-loader-orbit,.atmo-loader-rail span,.atmo-orbit-track,.atmo-divider-scene:after,.atmo-reading-progress{transition:none!important}.atmo-divider-scene:after{transform:scaleX(1)}.atmo-reading-progress{display:none}}
