/* Адаптивная вёрстка блоков (home/visual_design.py). Классы задаёт только сервер из проверенной схемы. */
.vd :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){max-width:100%;min-width:0}
.vd-strip-controls{display:none;justify-content:flex-end;gap:10px;margin:0 0 10px}
.vd-strip-controls button{width:48px;height:48px;border-radius:50%;border:var(--frame,2px solid currentColor);background:var(--cream,#fff);color:var(--ink,inherit);font-size:20px;font-weight:800;cursor:pointer}
.vd-strip-controls button:hover{background:var(--gold,#eee)}
.vd-more-hidden{display:none!important}
.vd-more-btn{display:flex;align-items:center;justify-content:center;min-height:48px;margin:22px auto 0;padding:10px 26px;border:var(--frame,2px solid currentColor);border-radius:999px;background:var(--cream,#fff);color:var(--ink,inherit);font:700 16px/1.2 inherit;cursor:pointer}
.vd-card-plain :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>*{border:0!important;box-shadow:none!important;background:transparent!important;transform:none!important;padding-left:0!important;padding-right:0!important}
.vd-card-frame :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>*{border:2px solid var(--ink,#1f322d)!important;border-radius:var(--radius,14px)!important;background:var(--paper,#fff)!important;overflow:hidden}
.vd-card-shadow :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>*{border:0!important;border-radius:var(--radius,14px)!important;background:var(--paper,#fff)!important;box-shadow:0 12px 32px rgba(31,50,45,.16)!important;overflow:hidden}
.vd-card-tilt :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>:nth-child(odd){transform:rotate(-1.2deg)}.vd-card-tilt :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>:nth-child(even){transform:rotate(1.2deg)}
.vd-image-square :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards) img{aspect-ratio:1/1!important;width:100%;height:auto!important;object-fit:cover}
.vd-image-wide :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards) img{aspect-ratio:16/9!important;width:100%;height:auto!important;object-fit:cover}
.vd-image-round :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards) img{aspect-ratio:1/1!important;width:min(100%,240px);height:auto!important;object-fit:cover;border-radius:50%;margin-inline:auto;display:block}
.vd-width-narrow{padding-left:max(20px,calc((100% - 880px)/2))!important;padding-right:max(20px,calc((100% - 880px)/2))!important}
.vd-width-wide{padding-left:clamp(16px,3vw,40px)!important;padding-right:clamp(16px,3vw,40px)!important}
.vd-reveal-none .reveal{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
@media(min-width:1101px){.vd-d-mode-grid :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:repeat(var(--vd-cols,2),minmax(0,1fr))!important;overflow:visible!important;scroll-snap-type:none!important}.vd-d-cols-1{--vd-cols:1}.vd-d-cols-2{--vd-cols:2}.vd-d-cols-3{--vd-cols:3}.vd-d-cols-4{--vd-cols:4}.vd-d-mode-list :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:row!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;scroll-snap-type:none!important}.vd-d-mode-strip :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:minmax(260px,31%)!important;overflow-x:auto!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:18px}.vd-d-mode-strip :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>*{scroll-snap-align:start;min-width:0}.vd-d-mode-strip .vd-strip-controls{display:flex}:is(.vd-d-mode-grid,.vd-d-mode-list) .strip-controls{display:none}.vd-d-gap-tight :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){gap:12px!important}.vd-d-gap-airy :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){gap:44px!important}.vd-d-align-center{text-align:center}.vd-d-align-center :is(.section-heading,.section-tag,.intro-copy,.about-copy,.visual-custom-copy){text-align:center;justify-items:center;margin-left:auto;margin-right:auto}.vd-d-align-left{text-align:left}.vd-d-heading-s h2{font-size:28px!important;line-height:1.15!important}.vd-d-heading-m h2{font-size:38px!important;line-height:1.15!important}.vd-d-heading-l h2{font-size:52px!important;line-height:1.15!important}:is(.vd-d-media-left.about,.vd-d-media-left .intro-grid,.vd-d-media-left.visual-custom),:is(.vd-d-media-right.about,.vd-d-media-right .intro-grid,.vd-d-media-right.visual-custom){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center;gap:clamp(24px,5vw,72px)!important;flex-direction:row}:is(.vd-d-media-left.about,.vd-d-media-left .intro-grid,.vd-d-media-left.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:-1!important}:is(.vd-d-media-right.about,.vd-d-media-right .intro-grid,.vd-d-media-right.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:2!important}:is(.vd-d-media-top.about,.vd-d-media-top .intro-grid,.vd-d-media-top.visual-custom),:is(.vd-d-media-bottom.about,.vd-d-media-bottom .intro-grid,.vd-d-media-bottom.visual-custom),:is(.vd-d-media-hidden.about,.vd-d-media-hidden .intro-grid,.vd-d-media-hidden.visual-custom){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:clamp(20px,4vw,48px)!important}:is(.vd-d-media-top.about,.vd-d-media-top .intro-grid,.vd-d-media-top.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:-1!important}:is(.vd-d-media-bottom.about,.vd-d-media-bottom .intro-grid,.vd-d-media-bottom.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:2!important}:is(.vd-d-media-hidden.about,.vd-d-media-hidden .intro-grid,.vd-d-media-hidden.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){display:none!important}}
@media(min-width:701px) and (max-width:1100px){.vd-t-mode-grid :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:repeat(var(--vd-cols,2),minmax(0,1fr))!important;overflow:visible!important;scroll-snap-type:none!important}.vd-t-cols-1{--vd-cols:1}.vd-t-cols-2{--vd-cols:2}.vd-t-cols-3{--vd-cols:3}.vd-t-cols-4{--vd-cols:4}.vd-t-mode-list :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:row!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;scroll-snap-type:none!important}.vd-t-mode-strip :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:minmax(240px,46%)!important;overflow-x:auto!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:18px}.vd-t-mode-strip :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>*{scroll-snap-align:start;min-width:0}.vd-t-mode-strip .vd-strip-controls{display:flex}:is(.vd-t-mode-grid,.vd-t-mode-list) .strip-controls{display:none}.vd-t-gap-tight :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){gap:12px!important}.vd-t-gap-airy :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){gap:44px!important}.vd-t-align-center{text-align:center}.vd-t-align-center :is(.section-heading,.section-tag,.intro-copy,.about-copy,.visual-custom-copy){text-align:center;justify-items:center;margin-left:auto;margin-right:auto}.vd-t-align-left{text-align:left}.vd-t-heading-s h2{font-size:26px!important;line-height:1.15!important}.vd-t-heading-m h2{font-size:34px!important;line-height:1.15!important}.vd-t-heading-l h2{font-size:44px!important;line-height:1.15!important}:is(.vd-t-media-left.about,.vd-t-media-left .intro-grid,.vd-t-media-left.visual-custom),:is(.vd-t-media-right.about,.vd-t-media-right .intro-grid,.vd-t-media-right.visual-custom){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center;gap:clamp(24px,5vw,72px)!important;flex-direction:row}:is(.vd-t-media-left.about,.vd-t-media-left .intro-grid,.vd-t-media-left.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:-1!important}:is(.vd-t-media-right.about,.vd-t-media-right .intro-grid,.vd-t-media-right.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:2!important}:is(.vd-t-media-top.about,.vd-t-media-top .intro-grid,.vd-t-media-top.visual-custom),:is(.vd-t-media-bottom.about,.vd-t-media-bottom .intro-grid,.vd-t-media-bottom.visual-custom),:is(.vd-t-media-hidden.about,.vd-t-media-hidden .intro-grid,.vd-t-media-hidden.visual-custom){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:clamp(20px,4vw,48px)!important}:is(.vd-t-media-top.about,.vd-t-media-top .intro-grid,.vd-t-media-top.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:-1!important}:is(.vd-t-media-bottom.about,.vd-t-media-bottom .intro-grid,.vd-t-media-bottom.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:2!important}:is(.vd-t-media-hidden.about,.vd-t-media-hidden .intro-grid,.vd-t-media-hidden.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){display:none!important}}
@media(max-width:700px){.vd-m-mode-grid :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:repeat(var(--vd-cols,2),minmax(0,1fr))!important;overflow:visible!important;scroll-snap-type:none!important}.vd-m-cols-1{--vd-cols:1}.vd-m-cols-2{--vd-cols:2}.vd-m-cols-3{--vd-cols:3}.vd-m-cols-4{--vd-cols:4}.vd-m-mode-list :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:row!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;scroll-snap-type:none!important}.vd-m-mode-strip :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:82%!important;overflow-x:auto!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:18px}.vd-m-mode-strip :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>*{scroll-snap-align:start;min-width:0}.vd-m-mode-strip .vd-strip-controls{display:flex}:is(.vd-m-mode-grid,.vd-m-mode-list) .strip-controls{display:none}.vd-m-gap-tight :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){gap:12px!important}.vd-m-gap-airy :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards){gap:44px!important}.vd-m-align-center{text-align:center}.vd-m-align-center :is(.section-heading,.section-tag,.intro-copy,.about-copy,.visual-custom-copy){text-align:center;justify-items:center;margin-left:auto;margin-right:auto}.vd-m-align-left{text-align:left}.vd-m-heading-s h2{font-size:22px!important;line-height:1.15!important}.vd-m-heading-m h2{font-size:28px!important;line-height:1.15!important}.vd-m-heading-l h2{font-size:34px!important;line-height:1.15!important}:is(.vd-m-media-left.about,.vd-m-media-left .intro-grid,.vd-m-media-left.visual-custom),:is(.vd-m-media-right.about,.vd-m-media-right .intro-grid,.vd-m-media-right.visual-custom){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center;gap:clamp(24px,5vw,72px)!important;flex-direction:row}:is(.vd-m-media-left.about,.vd-m-media-left .intro-grid,.vd-m-media-left.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:-1!important}:is(.vd-m-media-right.about,.vd-m-media-right .intro-grid,.vd-m-media-right.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:2!important}:is(.vd-m-media-top.about,.vd-m-media-top .intro-grid,.vd-m-media-top.visual-custom),:is(.vd-m-media-bottom.about,.vd-m-media-bottom .intro-grid,.vd-m-media-bottom.visual-custom),:is(.vd-m-media-hidden.about,.vd-m-media-hidden .intro-grid,.vd-m-media-hidden.visual-custom){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:clamp(20px,4vw,48px)!important}:is(.vd-m-media-top.about,.vd-m-media-top .intro-grid,.vd-m-media-top.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:-1!important}:is(.vd-m-media-bottom.about,.vd-m-media-bottom .intro-grid,.vd-m-media-bottom.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){order:2!important}:is(.vd-m-media-hidden.about,.vd-m-media-hidden .intro-grid,.vd-m-media-hidden.visual-custom)>:is(.about-photo,.intro-grid>figure,.visual-custom-image){display:none!important}}
@media(prefers-reduced-motion:reduce){.vd-card-tilt :is(.format-grid,.postcards,.about-values-grid,.strip,.faq-list,.stage-list,.visual-gallery,.visual-reviews,.visual-route,.visual-tour-cards)>*{transform:none!important}}
/* В ленте «Показать ещё» не нужно: она и так листается — показываем все карточки без кнопки. */
@media(min-width:1101px){.vd-d-mode-strip .vd-more-hidden{display:revert!important}.vd-d-mode-strip .vd-more-btn{display:none}}
@media(min-width:701px) and (max-width:1100px){.vd-t-mode-strip .vd-more-hidden{display:revert!important}.vd-t-mode-strip .vd-more-btn{display:none}}
@media(max-width:700px){.vd-m-mode-strip .vd-more-hidden{display:revert!important}.vd-m-mode-strip .vd-more-btn{display:none}}
/* Якорь блока для ссылок «раздел страницы»: не занимает места, при переходе не прячется под шапку. */
.block-anchor{display:block;height:0;scroll-margin-top:90px}
/* Кнопка «Редактировать страницу» для сотрудников (добавляется скриптом только после проверки прав). */
.staff-edit{position:fixed;left:16px;bottom:16px;z-index:9000;display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:999px;background:#173f39;color:#fff!important;font:700 14px/1.2 system-ui,-apple-system,sans-serif;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.staff-edit:hover{background:#0f312c}
@media print{.staff-edit{display:none}}

/* Главное место кадра (визуальный редактор → «Кадрировать»): что держать в окне другой формы. */
img.vf{object-position:var(--vfx,50%) var(--vfy,50%)!important}
.vf-x0{--vfx:0%}.vf-x10{--vfx:10%}.vf-x20{--vfx:20%}.vf-x30{--vfx:30%}.vf-x40{--vfx:40%}.vf-x50{--vfx:50%}.vf-x60{--vfx:60%}.vf-x70{--vfx:70%}.vf-x80{--vfx:80%}.vf-x90{--vfx:90%}.vf-x100{--vfx:100%}
.vf-y0{--vfy:0%}.vf-y10{--vfy:10%}.vf-y20{--vfy:20%}.vf-y30{--vfy:30%}.vf-y40{--vfy:40%}.vf-y50{--vfy:50%}.vf-y60{--vfy:60%}.vf-y70{--vfy:70%}.vf-y80{--vfy:80%}.vf-y90{--vfy:90%}.vf-y100{--vfy:100%}
