/* svet base: fonts, reset, typography, feedback defaults. Values come from tokens.css. */
@font-face {
  font-family: 'Onest Variable'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(../fonts/onest-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Onest Variable'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(../fonts/onest-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Onest Variable'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(../fonts/onest-cyrillic-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'EB Garamond Variable'; font-style: normal; font-display: swap; font-weight: 400 800;
  src: url(../fonts/eb-garamond-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* latin-ext cut to U+0100-017F with pyftsubset: all Latvian letters in 18 KB instead of 114 KB */
@font-face {
  font-family: 'EB Garamond Variable'; font-style: normal; font-display: swap; font-weight: 400 800;
  src: url(../fonts/eb-garamond-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-017F;
}
@font-face {
  font-family: 'EB Garamond Variable'; font-style: normal; font-display: swap; font-weight: 400 800;
  src: url(../fonts/eb-garamond-cyrillic-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

*, *::before, *::after { box-sizing: border-box; }
/* font-size: 100% also undoes Bootstrap 3's html { font-size: 10px } on legacy pages */
html { font-size: 100%; color-scheme: light; -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + var(--s-4)); }
html.s-locked { overflow: hidden; }
body {
  margin: 0; min-height: 100dvh; display: flex; flex-direction: column;
  background: var(--paper); color: var(--ink);
  font: 400 var(--fs-m)/1.55 var(--font-ui);
  -webkit-font-smoothing: antialiased;
}
.s-main { flex: 1; }
h1, h2, h3, .s-display {
  margin: 0 0 .5em; font-family: var(--font-display); font-weight: 500;
  line-height: 1.05; letter-spacing: -.01em; text-wrap: balance;
}
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
p { text-wrap: pretty; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; } /* outline, not box-shadow: survives forced-colors mode */
@media (hover: hover) { a:hover { color: var(--amber-ink); } }

/* Feedback: every control answers hover (mouse), press (finger) and focus (keyboard) */
:where(a, button, [role="button"], input, select, textarea, .btn) {
  -webkit-tap-highlight-color: transparent;
  transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    transform var(--dur-press) var(--ease), padding var(--dur) var(--ease);
}
:where(button, [role="button"], .s-btn, .s-icon-btn, .btn):active { transform: scale(.97); }

.s-wrap { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.s-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.s-i { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.s-skip {
  position: absolute; left: var(--s-4); top: var(--s-4); z-index: 100;
  padding: var(--s-2) var(--s-4); border-radius: var(--r-pill);
  background: var(--ink); color: var(--paper); translate: 0 -200%;
}
.s-skip:focus-visible { translate: 0 0; }

[hidden] { display: none !important; }
.s-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ---- Motion: page transitions, scroll reveal, Lenis ---- */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: var(--dur-sheet); animation-timing-function: var(--ease); }
.s-header { view-transition-name: s-header; }

/* .s-reveal: fades up as it enters the viewport */
@keyframes s-reveal { from { opacity: 0; translate: 0 24px; } }
@supports (animation-timeline: view()) {
  .s-reveal { animation: s-reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
}
@supports not (animation-timeline: view()) {
  .s-js .s-reveal { transition: opacity var(--dur-reveal) var(--ease), translate var(--dur-reveal) var(--ease); }
  .s-js .s-reveal:not(.is-in) { opacity: 0; translate: 0 24px; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .s-reveal { animation: none; }
  .s-js .s-reveal:not(.is-in) { opacity: 1; translate: none; }
}

/* Lenis (lenis@1.3.26/dist/lenis.css) */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
