.sait-root,
.sait-root * {
  box-sizing: border-box;
}

.sait-root {
  --sait-accent: #222222;
  --sait-section-gap: 80px;
  width: calc(100% - 40px);
  max-width: 1240px;
  margin-inline: auto;
  overflow: hidden;
}

.sait-root.sait-gap-small {
  --sait-section-gap: 48px;
}

.sait-root.sait-gap-medium {
  --sait-section-gap: 80px;
}

.sait-root.sait-gap-large {
  --sait-section-gap: 120px;
}

.sait-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "content media";
  margin-block: 0 var(--sait-section-gap);
  min-width: 0;
}

.sait-section:last-child {
  margin-bottom: 0;
}

.sait-section.sait-layout-image-left {
  grid-template-areas: "media content";
}

.sait-media {
  grid-area: media;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  background: #f1f1ef;
}

.sait-ratio-square .sait-media {
  aspect-ratio: 1 / 1;
}

.sait-ratio-portrait .sait-media {
  aspect-ratio: 4 / 5;
}

.sait-ratio-landscape .sait-media {
  aspect-ratio: 4 / 3;
}

.sait-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sait-content {
  grid-area: content;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(48px, 5vw, 72px);
}

.sait-heading {
  margin: 0 0 22px;
  overflow-wrap: anywhere;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 3.2vw, 42px);
  font-weight: 400;
  line-height: 1.15;
}

.sait-description {
  margin: 0 0 30px;
  overflow-wrap: anywhere;
  font-family: inherit;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.6;
}

.sait-description > :first-child {
  margin-top: 0;
}

.sait-description > :last-child {
  margin-bottom: 0;
}

.sait-button {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid var(--sait-accent);
  color: var(--sait-accent);
  background: transparent;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.sait-button:hover,
.sait-button:focus {
  color: #ffffff;
  background: var(--sait-accent);
}

@media (max-width: 1023px) and (min-width: 768px) {
  .sait-root {
    --sait-section-gap: 64px;
  }

  .sait-root.sait-gap-small {
    --sait-section-gap: 36px;
  }

  .sait-root.sait-gap-large {
    --sait-section-gap: 88px;
  }

  .sait-content {
    padding: clamp(28px, 4vw, 44px);
  }
}

@media (max-width: 767px) {
  .sait-root {
    --sait-section-gap: 56px;
    width: calc(100% - 32px);
    max-width: 100%;
  }

  .sait-root.sait-gap-small {
    --sait-section-gap: 36px;
  }

  .sait-root.sait-gap-large {
    --sait-section-gap: 76px;
  }

  .sait-section,
  .sait-section.sait-layout-image-left {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "media"
      "content";
  }

  .sait-content {
    padding: 32px 4px 0;
  }

  .sait-heading {
    font-size: clamp(28px, 9vw, 36px);
  }
}
