@import 'tokens.css';

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

body {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--text-primary);
  background: var(--color-bg);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
  position: relative;
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .container {
    padding: 0 12px;
  }
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

h1 { font: 800 clamp(30px,4vw,48px)/1.15 var(--font-head); color: var(--graphite-800); letter-spacing: -0.03em; }
h2 { font: 800 clamp(24px,3vw,36px)/1.18 var(--font-head); color: var(--graphite-800); letter-spacing: -0.03em; }
h3 { font: 800 clamp(18px,2vw,24px)/1.22 var(--font-head); color: var(--graphite-700); letter-spacing: -0.02em; }
h4 { font: 700 clamp(15px,1.5vw,18px)/1.28 var(--font-head); color: var(--graphite-700); letter-spacing: -0.01em; }

/* Выразительное чередование секций в тёплой палитре */
section {
  padding: 80px 0;
  background: #FFFFFF;
  position: relative;
}

section.alt,
section.section-alt {
  background: var(--warm-white);
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
}

.page-hero {
  background: var(--graphite-800);
  padding: 48px 0;
  border-bottom: 3px solid var(--amber-500);
}
.page-hero .breadcrumb {
  font: 400 13px var(--font-body);
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 12px;
}
.page-hero .breadcrumb a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
}
.page-hero .breadcrumb span {
  color: var(--amber-300);
}
.page-hero h1 {
  color: #fff;
  font: 800 clamp(26px, 3.5vw, 40px)/1.15 var(--font-head);
  margin: 0;
}
.page-content {
  padding: 60px 0 80px;
  background: var(--warm-white);
}

@media (max-width: 767px) { section { padding: 52px 0; } }
