*,*::before,*::after{box-sizing:border-box}
html{background:var(--surface);color:var(--ink);scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--surface);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;text-rendering:optimizeLegibility;overflow-x:clip}
body,button,input,textarea{font:inherit}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}
button{color:inherit}
h1,h2,h3,h4,p{margin-block-start:0}
h1,h2,h3{font-family:var(--font-display);font-weight:570;line-height:.96;letter-spacing:-.045em;text-wrap:balance}
::selection{background:var(--brand-accent);color:#130714}
:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;display:block;left:1rem;top:1rem;z-index:10000;background:var(--ink);color:var(--surface);padding:.8rem 1rem;border-radius:.5rem}
.site-preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#07070b;transition:opacity .6s var(--ease-out),visibility .6s}
.site-preloader.is-complete{opacity:0;visibility:hidden;pointer-events:none}
.site-preloader__mark{animation:nebula-pulse 1.2s ease-in-out infinite}
.site-preloader__line{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary),var(--brand-accent));animation:nebula-load .7s var(--ease-out) forwards}
@keyframes nebula-load{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes nebula-pulse{50%{opacity:.55;transform:scale(.96)}}

