/* ================================================================
   BASE — reset + tipografía
   ================================================================ */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }

html{
  scroll-behavior:smooth;
  scroll-padding-top: calc(var(--header-h) + 12px);
}

body{
  background:var(--ink-0);
  color:var(--text-md);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

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

a{ color:inherit; text-decoration:none; }

button,input,select,textarea{ font:inherit; color:inherit; }
button{ cursor:pointer; background:none; border:0; }

h1,h2,h3{
  font-family:var(--font-display);
  color:var(--text-hi);
  line-height:1.05;
  letter-spacing:-.01em;
  font-weight:600;
}

h2{ font-size:clamp(1.9rem, 3.2vw, 2.9rem); }
h3{ font-size:1.2rem; font-weight:600; }

p{ color:var(--text-md); }

.mono{
  font-family:var(--font-mono);
  letter-spacing:.02em;
}

.wrap{
  width:min(1180px, 100% - 3rem);
  margin-inline:auto;
}

.skip-link{
  position:fixed;
  top:-100px;
  left:1rem;
  z-index:999;
  background:var(--laser);
  color:var(--ink-0);
  padding:.7rem 1.1rem;
  border-radius:var(--radius-sm);
  font-weight:600;
  transition:top var(--dur-fast) var(--ease-out);
}
.skip-link:focus{ top:1rem; }

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

::selection{ background:var(--laser); color:var(--ink-0); }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--ink-0); }
::-webkit-scrollbar-thumb{ background:var(--panel-3); border-radius:99px; }
::-webkit-scrollbar-thumb:hover{ background:var(--laser-dim); }

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