/* Ultra Red Technologies — base reset & typography */
*,*::before,*::after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; color-scheme:dark; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  background:var(--void);
  color:var(--bone);
  font-family:var(--font-sans);
  font-weight:400;
  font-size:var(--fs-400);
  line-height:var(--lh-loose);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  min-height:100dvh;
}

a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ background:none; border:0; cursor:pointer; }
ul{ list-style:none; margin:0; padding:0; }

::selection{ background:var(--red); color:#fff; }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--void); }
::-webkit-scrollbar-thumb{ background:var(--surface2); border-radius:99px; border:2px solid var(--void); }

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:var(--radius-sm);
}

h1,h2,h3,h4{
  margin:0;
  font-family:var(--font-sans);
  font-weight:400;
  line-height:var(--lh-tight);
  letter-spacing:-0.01em;
}
h1{ font-size:var(--fs-hero); }
h2{ font-size:var(--fs-900); }
h3{ font-size:var(--fs-700); }
p{ margin:0; color:var(--ash); }

.mono{ font-family:var(--font-mono); }
.eyebrow{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  font-family:var(--font-mono); font-size:var(--fs-200);
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent);
}
.eyebrow::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 3px rgba(84,224,236,.18);
}
.eyebrow.status::before{ background:var(--status-positive); box-shadow:0 0 0 3px rgba(62,207,110,.18); }

.lede{ font-size:var(--fs-500); color:var(--ash); max-width:56ch; }

/* Layout primitives */
.wrap{ max-width:var(--page-max); margin-inline:auto; padding-inline:var(--page-pad); }
section{ position:relative; padding-block:var(--sp-11); }
@media (max-width:768px){ section{ padding-block:var(--sp-9); } }

.grid-bg{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 0%, #000 40%, transparent 100%);
          mask-image:radial-gradient(ellipse 60% 50% at 50% 0%, #000 40%, transparent 100%);
}

.glow{
  position:absolute; z-index:0; pointer-events:none; border-radius:50%;
  filter:blur(90px); opacity:.35;
}

.visually-hidden{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0; padding:0; margin:-1px;
}

.skip-link{
  position:absolute; left:var(--sp-4); top:-60px; z-index:1000;
  background:var(--red); color:#fff; padding:var(--sp-3) var(--sp-5);
  border-radius:var(--radius-md); font-family:var(--font-mono); font-size:var(--fs-300);
  transition:top var(--dur-base) var(--ease-out);
}
.skip-link:focus{ top:var(--sp-4); }
