@font-face {
    font-family : 'Stem-Light';
    src         : url('/local/templates/main/fonts/Stem/stem_light.otf');
    src:
            url('/local/templates/main/fonts/Stem/stem_light.woff2') format('woff2'),
            url('/local/templates/main/fonts/Stem/stem_light.woff') format('woff');
    font-weight : normal;
    font-style  : normal;
    font-display: swap;
}

@font-face {
    font-family : 'Stem-Regular';
    src         : url('/local/templates/main/fonts/Stem/stem_regular.otf');
    src:
            url('/local/templates/main/fonts/Stem/stem_regular.woff2') format('woff2'),
            url('/local/templates/main/fonts/Stem/stem_regular.woff') format('woff');
    font-weight : normal;
    font-style  : normal;
}

@font-face {
    font-family : 'Stem-Medium';
    src         : url('/local/templates/main/fonts/Stem/stem_medium.otf');
    src:
            url('/local/templates/main/fonts/Stem/stem_medium.woff2') format('woff2'),
            url('/local/templates/main/fonts/Stem/stem_medium.woff') format('woff');
    font-weight : normal;
    font-style  : normal;
}

@font-face {
    font-family : 'Stem-Bold';
    src         : url('/local/templates/main/fonts/Stem/stem_bold.otf');
    src         :
            url('/local/templates/main/fonts/Stem/stem_bold.woff2') format('woff2'),
            url('/local/templates/main/fonts/Stem/stem_bold.woff') format('woff');
    font-weight : normal;
    font-style  : normal;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--color-black);
  background: var(--color-canvas);
  font-family: var(--font-regular);
  font-size: var(--font-body);
  line-height: var(--line-body);
  overflow-x: hidden;
}

/* Общая структура страницы: прижимает footer вниз при коротком контенте. */
body > main { flex: 1 0 auto; }
body > footer { flex-shrink: 0; }

.container { width: min(100% - (var(--gutter) * 2), var(--container-wide)); margin-inline: auto; }
.overflow-hidden { overflow: hidden; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 8px 16px; color: #fff; background: var(--color-blue-700); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.landing { display: grid; min-height: 100vh; place-items: center; padding: var(--gutter); }
.landing__card { width: min(680px, 100%); padding: clamp(24px, 6vw, 64px); background: #fff; box-shadow: var(--shadow-panel); }
.landing__card h1 { margin: 8px 0 24px; font: 400 var(--font-h1)/var(--line-solid) var(--font-medium); letter-spacing: -.03em; }
.eyebrow { color: var(--color-blue-500); font-family: var(--font-medium); text-transform: uppercase; }
.landing__link { display: inline-flex; margin-top: 32px; padding: 12px 24px; border-radius: 4px; color: #fff; background: var(--color-blue-500); text-decoration: none; }
.landing__link:hover { background: var(--color-blue-700); }
.landing__link:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
