/* === ОБЩИЕ ПРАВИЛА === */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

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

.t396__artboard { overflow: hidden; }
.t396__elem { max-width: 100% !important; }
.t396__img, .t396__video { width: 100% !important; height: auto !important; }

/* === ТИПОГРАФИКА === */
h1, h2, h3, h4, h5, h6, p { word-wrap: break-word; line-height: 1.3; }

/* Десктопы ≥1920px (4K) */
@media (min-width: 1920px) {
  h1 { font-size: 64px; }
  h2 { font-size: 48px; }
  p  { font-size: 20px; }
}

/* Десктопы 1440–1919px */
@media (max-width: 1919px) and (min-width: 1440px) {
  h1 { font-size: 56px; }
  h2 { font-size: 40px; }
  p  { font-size: 18px; }
}

/* Ноутбуки 1200–1439px */
@media (max-width: 1439px) and (min-width: 1200px) {
  h1 { font-size: 48px; }
  h2 { font-size: 36px; }
  p  { font-size: 17px; }
}

/* Планшеты альбомные 960–1199px */
@media (max-width: 1199px) and (min-width: 960px) {
  h1 { font-size: 40px; }
  h2 { font-size: 32px; }
  p  { font-size: 16px; }
}

/* Планшеты вертикальные 640–959px */
@media (max-width: 959px) and (min-width: 640px) {
  h1 { font-size: 32px; }
  h2 { font-size: 26px; }
  p  { font-size: 15px; }
}

/* Смартфоны ≤639px */
@media (max-width: 639px) {
  h1 { font-size: 26px; }
  h2 { font-size: 22px; }
  p  { font-size: 14px; }
  .t-btn { width: 100%; padding: 14px; font-size: 15px; }
  input, textarea { width: 100%; font-size: 14px; }
}

/* === ГАЛЕРЕИ === */
.responsive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}
.responsive-grid img { border-radius: 8px; object-fit: cover; }

/* === КНОПКИ === */
.t-btn, .btn {
  padding: 14px 28px;
  font-size: 16px;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.t-btn:hover, .btn:hover { transform: translateY(-2px); }

/* === ФОРМЫ === */
input, textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #ccc;
}
