/* Контейнер для эпиграфа с рисунком */
.intro-block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;       /* чтобы адаптивно переносилось при узком экране */
  width: 100%;
  margin: 1.5em 0;
  gap: 1em;
}

/* Левая часть (картинка) */
.intro-left {
  flex: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.intro-left img {
  width: 100%;
  max-width: 250px;      /* ограничение максимальной ширины */
  height: auto;          /* сохраняет пропорции */
  object-fit: cover;     /* аккуратно заполняет контейнер */
  border-radius: 6px;
}

/* Правая часть (эпиграф) */
.intro-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Эпиграф */
.epigraph {
  width: 100%;
  max-width: 450px;       /* ограничение максимальной ширины */
  font-style: italic;
  font-size: 1em;
  line-height: 1.4;
  padding: 0.5em 0.8em;
  text-align: right;
  border-right: 2px solid rgba(0,0,0,0.15);
}


/* Выноска простая */
 .vynoska {
  font-size: calc(1.2rem - 1pt);   /* на 1 пункт меньше основного */
  line-height: 1.4;
  padding: 10pt 10pt 10pt 20pt;    /* сверху/снизу 10pt, справа 10pt, слева 20pt */
  margin: 1em;                   /* внешний отступ */
  border-left: 2px solid rgba(0,0,0,0.15); /* тонкий левый акцент */
  background: rgba(0,0,0,0.01);    /* лёгкий фон для выделения (можно убрать) */
  color: inherit;
}
/* Выноска темная */
 .vynoska-t {
  font-size: calc(1.2rem - 1pt);   /* на 1 пункт меньше основного */
  line-height: 1.4;
  padding: 10pt 10pt 10pt 20pt;    /* сверху/снизу 10pt, справа 10pt, слева 20pt */
  margin: 1em;                   /* внешний отступ */
  border-left: 20px solid rgba(0,0,0,0.15); /* тонкий левый акцент */
  background: rgba(0,0,0,0.05);    /* лёгкий фон для выделения (можно убрать) */
  color: inherit;
}

/* === Общие базовые стили для всех figure-блоков === */
.figure {
  display: block;
}

.figure img {
  display: block;
  width: 100%;
  height: auto;
}

.figure figcaption {
  font-size: 0.8em;
  line-height: 1.3;
  color: rgba(0, 0, 0, 0.7);
  margin-top: 0.4em;
  font-style: italic;
  text-align: center;
}

/* === Варианты расположения === */

/* Прижата к левой стороне */
.figure-left {
  float: left;
  margin: 0 1em 1em 0;
}

/* Прижата к правой стороне */
.figure-right {
  float: right;
  margin: 0 0 1em 1em;
}

/* По центру, встроено в текст */
.figure-center {
  float: none;
  margin: 1em auto;
  text-align: center;
}

/* По центру, отдельный блок без обтекания */
.figure-block {
  float: none;
  clear: both;
  margin: 1em auto;
  text-align: center;
}

/* === Универсальные размеры === */
.figure100 { width: min(100%, 100px); }
.figure150 { width: min(100%, 150px); }
.figure200 { width: min(100%, 200px); }
.figure225 { width: min(100%, 225px); }
.figure250 { width: min(100%, 250px); }
.figure300 { width: min(100%, 300px); }
.figure350 { width: min(100%, 350px); }
.figure450 { width: min(100%, 450px); }
.figure500 { width: min(100%, 500px); }
.figure600 { width: min(100%, 600px); }

/* Выравнивание верхней границы figure с текстом */
.figure-left,
.figure-right {
  vertical-align: top;   /* прижимает верх блока к верхнему краю строки */
  margin-top: 0.8em;         /* убирает возможный внешний отступ сверху */
}



@media (max-width: 768px) {
  .intro-block {
    flex-direction: column;
    align-items: center;
  }

  .intro-left,
  .intro-right {
    justify-content: center;
  }

  .intro-left img {
    width: 90%;
    max-width: 250px;  /* всё ещё ограничено */
  }

  .epigraph {
    text-align: center;
    border-right: none;
    border-left: none;
    width: 90%;
    max-width: 400px;
  }

  .figure-left:not(.figure100):not(.figure150),
  .figure-right:not(.figure100):not(.figure150) {
    float: none;
    display: block;
    margin: 0 auto 1em auto;
  }
   .figure100 {
    width: min(100%, 100px);
  }
}
