/* BubaLab — base: сброс, типографика, layout-утилиты. Подключай ПОСЛЕ tokens.css. */

/* reset */
*{box-sizing:border-box;margin:0;padding:0}
html{ -webkit-text-size-adjust:100%; }
html,body{height:100%}
body{
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--bg-2);
  line-height:1.6;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--indigo);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}
ul,ol{list-style:none}
h1,h2,h3,h4{line-height:1.15;font-weight:800;letter-spacing:-.02em}

/* focus — доступность (a11y) */
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}

/* layout */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:20px}
.section{padding-block:var(--space-7)}

/* утилиты */
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
[hidden]{display:none!important}

/* пока документ не инициализирован i18n — прячем мерцание (см. inline-скрипт в <head>) */
.no-js [data-i18n]{}
