/* North Bright — northbrightt.com
   Global tokens, resets and keyframes. Component styling is inline in index.html
   so the markup stays portable; motion + hover behaviour lives in app.js. */

:root{
  --color-bg:#04060C;
  --color-section:#090B16;
  --color-text:#F2F1EC;
  --color-divider:rgba(236,241,248,.10);
  --aur-green:#3EE8AD;
  --aur-cyan:#5AD4FF;
  --aur-blue:#7A98FF;
  --aur-purple:#8268E0;
  --ink-70:rgba(242,241,236,.72);
  --ink-55:rgba(242,241,236,.56);
  --ink-38:rgba(242,241,236,.38);
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth;
  background:#04060C;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  background:transparent;
  color:var(--color-text);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.5;
  text-wrap:pretty;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3{ font-weight:500; }

a{ color:var(--color-text); text-decoration:none; }
a:hover{ color:var(--aur-green); }

img,svg,canvas{ display:block; max-width:100%; }

::selection{ background:rgba(62,232,173,.24); }
:focus-visible{ outline:1px solid var(--aur-green); outline-offset:3px; }

@keyframes nb-orbit{ to{ transform:rotate(360deg); } }
@keyframes nb-sheen{ 0%{ transform:translateX(-130%); } 42%,100%{ transform:translateX(130%); } }
@keyframes nb-text{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
@keyframes nb-pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.3; transform:scale(.72); } }
@keyframes nb-drift{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }
@keyframes nb-ripple{ to{ transform:scale(2.6); opacity:0; } }
@keyframes nb-line{ 0%,100%{ opacity:.35; transform:scaleX(.6); } 50%{ opacity:1; transform:scaleX(1); } }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.001s !important; animation-iteration-count:1 !important; transition-duration:.001s !important; }
}
