/* Общая композиция публичного сайта: секции и медиа до краёв экрана. */
.public-site { --page-gutter: clamp(20px, 2.4vw, 48px); }
.public-site .wrap,
.public-site .intro-wrap { width: 100%; max-width: none; margin-inline: 0; padding-inline: var(--page-gutter); }
.public-site .hdr { gap: clamp(14px, 1.5vw, 24px); }

/* Декоративные изображения по краям больше не пересекают содержание. */
.public-site .pattern::after,
.public-site .decor::after,
.public-site .decor-grad::before,
.public-site .page-hero::after,
.public-site .cta::after { content: none; }
.public-site .sec { isolation: isolate; }
.public-site .dirs .dir { overflow: hidden; background: #202236; border: 1px solid #ffffff1f; }
.public-site .dirs .dir:hover { background: #2a2c45; }
.public-site .dirs.light .dir { background: #fff; border-color: var(--line); }
.public-site .dirs.light .dir:hover { background: #f9faff; }

.public-site .mission-film { margin-inline: calc(-1 * var(--page-gutter)); border-radius: 0; max-height: none; }
.public-site .cta { margin-inline: calc(-1 * var(--page-gutter)); border-radius: 0; padding-inline: var(--page-gutter); }

@media (max-width: 760px) {
  .public-site { --page-gutter: 20px; }
  .public-site .intro-art { margin-inline: 0; }
  .public-site .intro-object { inset-inline: -10px; }
}
