/* ═══════════════════════════════════════════════════════════════
   BASE — Custom Properties · Reset · Typography · Layout
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Custom Properties ───────────────────────────────────── */
:root {
  --font-heading: "Onest", sans-serif;
  --font-body: "Golos Text", sans-serif;
  --primary-dark: #2F3438;
  --accent: #5F7C7B;
  --primary-font: #141619;
  --background: #F7F4EF;
  --accent-2: #6E7B57;
  --border: #D8D2C8;
  --background-2: #EAE3D7;
  --accent-3: #C9B49A;
}


/* ── 2. Reset ───────────────────────────────────────────────── */
html {
  margin-top: 0 !important;
}

*,
*::before,
*::after {
  padding: 0;
  appearance: none;
  margin: 0;
  background: none;
  border: none;
  outline: transparent;
  list-style: none;
  box-sizing: border-box;
  font-family: var(--font-body);
  color: var(--primary-dark);
  text-decoration: none;
}

body {
  background: var(--background);
  overflow-x: hidden;
}

/* ── 3. Layout ──────────────────────────────────────────────── */
.container {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 1080px) {
  .container { padding: 0 20px; }
}

@media (max-width: 768px) {
  .container { padding: 0 10px; }
}

.title-1 { font-weight: 700; font-size: 60px; line-height: 100%; font-family: var(--font-heading); }
.title-2 { font-weight: 600; font-size: 42px; line-height: 100%; font-family: var(--font-heading); }
.title-3 { font-weight: 600; font-size: 30px; line-height: 100%; font-family: var(--font-heading); }
.title-4 { font-weight: 600; font-size: 22px; line-height: 100%; font-family: var(--font-heading); }
.text-l  { font-weight: 400; font-size: 18px; line-height: 100%; font-family: var(--font-body); }
.text-m  { font-weight: 400; font-size: 16px; line-height: 100%; font-family: var(--font-body); }
.text-s  { font-weight: 400; font-size: 14px; line-height: 100%; font-family: var(--font-body); }
.text-button   { font-weight: 600; font-size: 16px; line-height: 100%; font-family: var(--font-heading); }
.text-menu  { font-weight: 500; font-size: 16px; line-height: 100%; font-family: var(--font-heading); }
.text-numbers { font-size: 28px; line-height: 100%; font-weight: 700; font-family: var(--font-heading); }

@media (max-width: 1080px) {
  .title-1     { font-size: 32px; }
  .title-2     { font-size: 24px; }
  .title-3     { font-size: 20px; }
  .title-4     { font-size: 18px; }
  .text-l      { font-size: 16px; }
  .text-m      { font-size: 15px; }
  .text-s      { font-size: 14px; }
  .text-button { font-size: 16px; }
  .text-numbers { font-size: 24px; }
}
