:root{
  --sl-bg-light: #efefef;         /* базовый светло-серый фон страниц */
  --sl-bg-light-2: #f7f7f8;       /* почти белый для чередования секций */
  --sl-text-dark: #121521;
  --sl-text-muted: #5e6472;

  --sl-hero-bg: #050a2d;          /* тёмно-синий фон зоны hero/header */
  --sl-hero-bg-2: #071242;
  --sl-hero-card-border: rgba(255,255,255,.10);
  --sl-hero-card-shadow: 0 20px 50px rgba(1, 5, 20, .35);

  --sl-white: #ffffff;
  --sl-orange: #ff5a00;
  --sl-orange-hover: #ff6e24;

  --sl-container: 1240px;
  --sl-gutter: 24px;             /* единый боковой отступ контейнера */
  --sl-radius-xl: 22px;
  --sl-radius-lg: 16px;

  --sl-header-h: 92px;

  /* Единая система пропорций колонок для 2-колоночных блоков */
  --sl-col-main-left: 1.08fr;
  --sl-col-main-right: 0.92fr;

  /* Порог “среза” тёмного hero-фона на главной */
  --sl-front-hero-cut: 720px;

  --sl-font-ui: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --sl-font-display: "Prata", Georgia, "Times New Roman", serif;
}

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

html{
  scroll-behavior: smooth;
}

body{
  margin: 0;
  font-family: var(--sl-font-ui);
  color: var(--sl-text-dark);
  background: var(--sl-bg-light);
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

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

button{
  font: inherit;
}

.sl-container{
  width: min(var(--sl-container), calc(100% - (var(--sl-gutter) * 2)));
  margin-inline: auto;
}

/* --- Main / front page --- */
.sl-main--front{
  background:
    linear-gradient(
      to bottom,
      var(--sl-hero-bg) 0 var(--sl-front-hero-cut),
      var(--sl-bg-light) var(--sl-front-hero-cut) 100%
    );
}

/* --- Global responsive --- */
@media (max-width: 991px){
  :root{
    --sl-header-h: 78px;
    --sl-front-hero-cut: 620px;
  }
}

@media (max-width: 767px){
  :root{
    --sl-gutter: 12px;
  }
}

.sl-form-alert{
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.35;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}
.sl-form-alert--ok{
  border-color: rgba(67,179,174,.35);
}
.sl-form-alert--err{
  border-color: rgba(255,120,120,.35);
}