*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--paper);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--cyan) 55%,transparent)}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.035em}
h1{font-size:clamp(2rem,5vw,4.9rem)}
h2{font-size:clamp(1.35rem,2.5vw,2.25rem)}
h3{font-size:1rem}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--text);padding:.78rem .9rem}
input,select{min-height:46px}
textarea{min-height:88px;resize:vertical}
label{display:grid;gap:.45rem;font-weight:600;color:var(--text)}
label>span{font-size:.78rem;color:var(--muted)}
.eyebrow{display:block;margin-bottom:.6rem;color:var(--cyan-dark);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.brand-wordmark{display:inline-flex;align-items:center;gap:.52rem;color:inherit;font-family:var(--font-display);font-size:1.08rem;font-weight:800;line-height:1;text-decoration:none}
.brand-glyph{display:inline-grid;flex:0 0 auto;width:1.55em;height:1.55em;place-items:center;transition:transform var(--ease)}
.brand-glyph svg{width:100%;height:100%;overflow:visible}
.brand-glyph__frame,.brand-glyph__mesh{fill:none;stroke-linecap:round;stroke-linejoin:round}
.brand-glyph__frame{stroke:currentColor;stroke-width:1.7}
.brand-glyph__mesh{stroke:var(--cyan);stroke-width:1.55}
.brand-glyph__node{fill:var(--teal)}
.brand-lockup{display:inline-flex;align-items:baseline;white-space:nowrap}
.brand-the{margin-right:.12em;color:inherit;font-size:.5em;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transform:translateY(-.42em);opacity:.68}
.brand-name{color:inherit;font-size:1em;font-weight:800;letter-spacing:-.055em}
.brand-wordmark:hover .brand-glyph,.brand-wordmark:focus-visible .brand-glyph{transform:translateY(-1px)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:.72rem 1.12rem;border:1px solid transparent;border-radius:12px;background:var(--text);color:#fff;font-weight:700;box-shadow:0 8px 20px rgba(7,17,31,.16);transition:transform var(--ease),box-shadow var(--ease),background var(--ease)}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,17,31,.2)}
.button--ghost{background:transparent;color:var(--text);border-color:var(--line);box-shadow:none}
.button--light{background:#fff;color:var(--ink-900)}
.button--danger{background:var(--danger);color:#fff}
.button--small{min-height:38px;padding:.55rem .82rem;font-size:.84rem}
.text-button{border:0;background:none;color:var(--cyan-dark);font-weight:700;padding:.4rem}
.text-button--danger{color:var(--danger)}
.button-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.form-status{min-height:1.5rem;margin:.7rem 0 0;color:var(--muted);font-size:.86rem}
.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1rem;padding:2rem;text-align:center;background:var(--ink-900);color:#fff}
.boot-screen h1{font-size:clamp(1.8rem,4vw,3rem);margin:1rem 0 0}
.boot-screen p{color:#a9bdc8}
.loader-ring{width:42px;height:42px;border:3px solid rgba(255,255,255,.16);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
noscript{display:block;padding:1rem;background:#fff4d7;text-align:center}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
