

/* Start:/local/templates/topman/components/topman/callbackform/tmd/style.css?17868294577793*/
/* Форма заявки (topman:callbackform, шаблон tmd) — выезжающая панель по макету главной */

.tmdform__trigger { display: none !important; }
.tmdform__trap { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Панель, выезжающая справа (внутри обёртки hystmodal) */
.tmdform__modal .hystmodal__wrap { flex-flow: row nowrap; align-items: stretch; justify-content: flex-end; min-height: 100%; margin: 0; padding: 0; }
.tmdform__modal .hystmodal__window.tmdform__panel { width: 620px; max-width: 100%; min-height: 100vh; margin: 0 !important; transform: none !important; opacity: 1 !important; padding: 40px; background: #FFFFFF; color: #1E005D; display: flex; flex-direction: column; gap: 32px; border-radius: 0; overflow-y: auto; }
.tmdform__head { display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 24px; flex-shrink: 0; }
.tmdform__topic { font-size: 12px; line-height: 14px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: #5011D4; }
.tmdform__close { width: 24px; height: 24px; flex-shrink: 0; border: 0; padding: 0; background: none; cursor: pointer; color: #1E005D; }
.tmdform__close:hover { color: #5011D4; }

.tmdform__body { flex-grow: 1; display: flex; flex-direction: column; gap: 32px; }
.tmdform__intro { display: flex; flex-direction: column; gap: 16px; }
.tmdform__title { font-family: "TT Firs Neue", "Onest", system-ui, sans-serif; font-weight: 600; font-size: 40px; line-height: 44px; letter-spacing: -0.05em; text-wrap: pretty; }
.tmdform__text { margin: 0; font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: -0.02em; opacity: 0.7; text-wrap: pretty; }

.tmdform__form { display: flex; flex-direction: column; gap: 32px; }
.tmdform__fields { display: flex; flex-direction: column; gap: 20px; }
.tmdform__field { display: flex; flex-direction: column; gap: 12px; border-radius: 20px; background: rgba(80,17,212,0.05); padding: 20px 24px; cursor: text; transition: background .2s ease; }
.tmdform__field:focus-within { background: rgba(80,17,212,0.1); }
.tmdform__label { display: flex; flex-direction: row; align-items: baseline; gap: 10px; }
.tmdform__num { font-size: 12px; line-height: 14px; font-weight: 500; letter-spacing: 0.08em; color: #5011D4; }
.tmdform__name { font-size: 12px; line-height: 14px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: #5011D4; }
.tmdform__hint { margin-left: auto; font-size: 12px; line-height: 14px; font-weight: 400; letter-spacing: -0.02em; opacity: 0.4; }
.tmdform__field input,
.tmdform__field textarea { width: 100%; padding: 0; border: 0; background: none; outline: none; color: #1E005D; font-family: inherit; font-size: 22px; line-height: 28px; font-weight: 450; letter-spacing: 0.02em; }
.tmdform__field textarea { resize: vertical; min-height: 110px; }
.tmdform__field input { height: 34px; }
.tmdform__field input::placeholder,
.tmdform__field textarea::placeholder { color: rgba(30,0,93,0.35); }

.tmdform__foot { display: flex; flex-direction: column; gap: 16px; }
.tmdform__submit { width: 100%; height: 80px; border: 0; border-radius: 110px; cursor: pointer; font-family: inherit; font-size: 16px; line-height: 16px; font-weight: 500; letter-spacing: -0.02em; background: #1E005D; color: #FFFFFF; transition: background .25s ease; }
.tmdform__submit:hover { background: #5011D4; }
.tmdform__submit.is-disabled { background: rgba(30,0,93,0.15); color: rgba(30,0,93,0.45); cursor: not-allowed; }
.tmdform__submit.is-disabled:hover { background: rgba(30,0,93,0.15); }
/* при открытой модалке возврат скролла не должен анимироваться */
html.hystmodal__opened { scroll-behavior: auto !important; }
.tmdform__accept { display: flex; flex-direction: row; align-items: flex-start; gap: 14px; cursor: pointer; position: relative; }
.tmdform__box { width: 24px; height: 24px; flex-shrink: 0; margin-top: 1px; border-radius: 6px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(30,0,93,0.25); background: #FFFFFF; color: #FFFFFF; transition: background .2s ease, border-color .2s ease; }
.tmdform__box svg { opacity: 0; transition: opacity .2s ease; }
.tmdform__accept input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.tmdform__accept input:checked + .tmdform__accept-text { }
.tmdform__accept:has(input:checked) .tmdform__box { background: #1E005D; border-color: #1E005D; }
.tmdform__accept:has(input:checked) .tmdform__box svg { opacity: 1; }
.tmdform__accept-text { font-size: 14px; line-height: 18px; font-weight: 400; letter-spacing: -0.02em; opacity: 0.7; text-wrap: pretty; }
.tmdform__accept-text a { color: #5011D4; border-bottom: 1px solid rgba(80,17,212,0.35); }

/* Сообщения */
.tmdform .alert { border-radius: 20px; padding: 16px 24px; font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: -0.02em; }
.tmdform .alert-success { background: rgba(80,17,212,0.1); color: #5011D4; }
.tmdform .alert-danger { background: rgba(212,17,17,0.08); color: #B3231F; }
.tmdform .alert.hidden { display: none; }

/* Мягкое появление содержимого панели */
@keyframes tmdFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.tmdform__modal.hystmodal--active .tmdform__head,
.tmdform__modal.hystmodal--active .tmdform__body > *,
.tmdform__modal.hystmodal--active .tmdform__done > * { animation: tmdFadeUp .5s cubic-bezier(.22,1,.36,1) both; }
.tmdform__modal.hystmodal--active .tmdform__body > *:nth-child(2),
.tmdform__modal.hystmodal--active .tmdform__done > *:nth-child(2) { animation-delay: .06s; }
.tmdform__modal.hystmodal--active .tmdform__body > *:nth-child(3),
.tmdform__modal.hystmodal--active .tmdform__done > *:nth-child(3) { animation-delay: .12s; }
.tmdform__modal.hystmodal--active .tmdform__done > *:nth-child(4) { animation-delay: .18s; }
.tmdform__modal.hystmodal--active .tmdform__done > *:nth-child(5) { animation-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
	.tmdform__modal.hystmodal--active .tmdform__head,
	.tmdform__modal.hystmodal--active .tmdform__body > *,
	.tmdform__modal.hystmodal--active .tmdform__done > * { animation: none; }
}

/* Экран «Приняли» */
.tmdform__done { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; gap: 32px; align-items: flex-start; }
.tmdform__mascot { width: 96px; }
.tmdform__mascot .hm-mascot__head { background: linear-gradient(90deg, #1E005D 0%, #5011D4 100%); }
.tmdform__mascot .hm-mascot__eye { background: #FFFFFF; }
.tmdform__mascot .hm-mascot__base { background: #1E005D; }
.tmdform__contacts { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px 28px; font-size: 16px; line-height: 22px; font-weight: 450; letter-spacing: -0.02em; }
.tmdform__back { height: 60px; padding: 0 32px; border: 1px solid rgba(30,0,93,0.15); border-radius: 100px; cursor: pointer; background: #FFFFFF; font-family: inherit; font-size: 16px; line-height: 16px; font-weight: 500; letter-spacing: -0.02em; color: #1E005D; transition: background .25s ease, color .25s ease; }
.tmdform__back:hover { background: #5011D4; border-color: #5011D4; color: #FFFFFF; }

@media (max-width: 767px) {
	.tmdform__modal .hystmodal__window.tmdform__panel { width: 100%; padding: 20px; gap: 24px; }
	.tmdform__title { font-size: 28px; line-height: 32px; }
	.tmdform__field { padding: 16px 18px; border-radius: 16px; }
	.tmdform__field input, .tmdform__field textarea { font-size: 18px; line-height: 24px; }
	.tmdform__submit { height: 64px; }
	.tmdform__back { width: 100%; }
}

/* End */


/* Start:/local/templates/topman/template_styles.css?178689045912421*/
/* TOP MAN DIGITAL — шаблон topman. Сверстан по макету «Лендинг SEO-фильтр» (Claude Design). */

@font-face { font-family: "TT Firs Neue"; src: url("/local/templates/topman/fonts/TTFirsNeue-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "TT Firs Neue"; src: url("/local/templates/topman/fonts/TTFirsNeue-Normal.woff2") format("woff2"); font-weight: 450; font-style: normal; font-display: swap; }
@font-face { font-family: "TT Firs Neue"; src: url("/local/templates/topman/fonts/TTFirsNeue-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "TT Firs Neue"; src: url("/local/templates/topman/fonts/TTFirsNeue-DemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "TT Firs Neue"; src: url("/local/templates/topman/fonts/TTFirsNeue-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

:root { --content-pad: max(40px, calc((100% - 1430px) / 2)); }

/* Широкие экраны (макет 1920): отступы 60px, контент до 1800 */
@media (min-width: 1920px) {
	:root { --content-pad: max(60px, calc((100% - 1800px) / 2)); }
}

html, body { margin: 0; padding: 0; scroll-behavior: smooth; }
* { box-sizing: border-box; }
body {
	background: #EDE7FB;
	color: #1E005D;
	font-family: "TT Firs Neue", "Onest", system-ui, sans-serif;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
a { color: #1E005D; text-decoration: none; }
a:hover { color: #5011D4; }

.page { width: 100%; min-height: 100vh; display: flex; flex-direction: column; align-items: center; background: #EDE7FB; }
.page__inner { position: relative; width: 100%; background: #FFFFFF; display: flex; flex-direction: column; min-height: 100vh; }
.page-main { flex-grow: 1; display: flex; flex-direction: column; }

/* Шапка */
.site-header { position: sticky; top: 0; z-index: 30; height: 130px; margin-bottom: -130px; padding: 40px var(--content-pad); background: transparent; pointer-events: none; display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; }
.site-header__logo { display: block; width: 82px; height: 50px; color: #1E005D; flex-shrink: 0; pointer-events: auto; transition: color .3s ease, opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.site-header__logo.is-hidden { opacity: 0; transform: translateY(-14px); pointer-events: none; }
.burger { width: 50px; height: 50px; flex-shrink: 0; border: 0; padding: 0; margin: 0; cursor: pointer; pointer-events: auto; background: #1E005D; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; transition: background .3s ease; }
.burger:hover { background: #5011D4; }
.burger span { display: block; width: 18px; height: 2px; background: #FFFFFF; transition: transform .3s ease, opacity .2s ease, background .3s ease; }
/* Инверсия шапки над тёмными секциями (data-dark-band) */
.site-header--invert .site-header__logo { color: #FFFFFF; }
.site-header--invert .burger { background: #FFFFFF; }
.site-header--invert .burger span { background: #1E005D; }
.site-header--invert .burger:hover { background: #5011D4; }
.site-header--invert .burger:hover span { background: #FFFFFF; }
body.menu-open .burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
body.menu-open .burger span:nth-child(2) { opacity: 0; }
body.menu-open .burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Выезжающее меню */
.scrim { position: fixed; inset: 0; z-index: 35; background: rgba(30,0,93,0.45); opacity: 0; pointer-events: none; transition: opacity .35s ease; }
body.menu-open .scrim { opacity: 1; pointer-events: auto; }
.offcanvas { position: fixed; top: 0; right: 0; bottom: 0; z-index: 36; width: 515px; max-width: 100%; background: #EDE7FB; padding: 40px; display: flex; flex-direction: column; gap: 10px; transform: translateX(105%); transition: transform .45s cubic-bezier(.4,0,.2,1); }
body.menu-open .offcanvas { transform: none; }
.offcanvas__head { height: 44px; padding: 10px 0; display: flex; flex-direction: row; align-items: center; justify-content: space-between; flex-shrink: 0; }
.offcanvas__title { font-size: 22px; line-height: 22px; font-weight: 600; letter-spacing: -0.02em; }
.offcanvas__close { width: 24px; height: 24px; border: 0; padding: 0; background: none; cursor: pointer; color: #1E005D; }
.offcanvas__close:hover { color: #5011D4; }
.offcanvas__nav { display: flex; flex-direction: column; align-items: stretch; }
.offcanvas__nav a { height: 52px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 0.5px solid rgba(30,0,93,0.25); font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: -0.02em; transition: color .2s ease, padding .2s ease; }
.offcanvas__nav a:hover { color: #5011D4; padding-left: 6px; }
.offcanvas__foot { margin-top: auto; display: flex; flex-direction: row; gap: 24px; flex-wrap: wrap; font-size: 14px; line-height: 16px; letter-spacing: -0.02em; opacity: 0.6; }

/* Хлебные крошки (bitrix:breadcrumb) */
.crumbs { padding: 130px var(--content-pad) 0; background: #FFFFFF; }
.crumbs__inner { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 14px; line-height: 16px; font-weight: 400; letter-spacing: -0.02em; opacity: 0.5; }
.crumbs a:hover { color: #5011D4; }
.crumbs + .legal .legal-hero, .crumbs + .mp .mp-hero { padding-top: 32px; }

/* Заглушка «страница в разработке» */
.stub { flex-grow: 1; padding: 155px var(--content-pad); padding-top: 285px; background: #FFFFFF; display: flex; flex-direction: column; justify-content: center; gap: 24px; }
.stub h1 { margin: 0; font-weight: 700; font-size: 70px; line-height: 70px; letter-spacing: -0.05em; text-transform: uppercase; text-wrap: pretty; }
.stub p { margin: 0; max-width: 900px; font-size: 22px; line-height: 28px; font-weight: 450; letter-spacing: 0.02em; }

/* Подвал */
.site-footer { background: rgba(80,17,212,0.1); padding: 75px var(--content-pad) 35px; display: flex; flex-direction: column; gap: 40px; }
.site-footer__top { display: flex; flex-direction: row; gap: 40px; justify-content: space-between; }
.site-footer__left { display: flex; flex-direction: column; gap: 48px; }
.site-footer__logo { width: 82px; height: 50px; opacity: 0.4; color: #1E005D; }
.site-footer__contacts { display: flex; flex-direction: column; gap: 32px; }
.footer-block { display: flex; flex-direction: column; gap: 10px; }
.footer-label { font-size: 12px; line-height: 14px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.4; }
.footer-address { max-width: 320px; font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: -0.02em; text-wrap: pretty; }
.footer-phone a { font-weight: 600; font-size: 32px; line-height: 36px; letter-spacing: -0.05em; white-space: nowrap; }
@keyframes tmBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes tmBlink { 0%, 92%, 100% { transform: scaleY(1); } 95.5% { transform: scaleY(0.06); } }
.footer-deco { width: 50px; height: 100px; cursor: pointer; transform-origin: 50% 100%; outline: none; }
.footer-deco__inner { width: 50px; height: 100px; display: flex; flex-direction: column; animation: tmBob 3.6s ease-in-out infinite; }
.footer-deco__circle { width: 50px; height: 50px; border-radius: 25px; background: linear-gradient(90deg, #1E005D 0%, #5011D4 100%); display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; transform-origin: 50% 100%; transition: transform .3s cubic-bezier(.22,1,.36,1); will-change: transform; }
.footer-deco__blink { display: block; animation: tmBlink 5.4s .2s infinite; }
.footer-deco__blink--r { animation-delay: .26s; }
.footer-deco__eye { display: block; width: 5px; height: 5px; border-radius: 5px; background: #FFFFFF; transition: transform .16s ease-out; }
.footer-deco__square { width: 50px; height: 50px; background: #1E005D; transform-origin: 50% 100%; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.site-footer__right { width: 494px; max-width: 100%; display: flex; flex-direction: column; gap: 40px; }
.footer-menu { display: flex; flex-direction: column; }
.footer-menu a { height: 62px; padding: 20px 0; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 0.5px solid rgba(30,0,93,0.5); font-size: 22px; line-height: 22px; font-weight: 400; transition: color .2s ease; }
.footer-links { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px 32px; align-items: center; font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: -0.02em; }
.footer-ext { display: inline-flex; flex-direction: row; align-items: center; gap: 8px; }
.site-footer__divider { height: 1px; background: rgba(30,0,93,0.5); }
.site-footer__bottom { display: flex; flex-direction: row; gap: 40px; justify-content: space-between; flex-wrap: wrap; }
.footer-copyright { width: 696px; max-width: 100%; opacity: 0.6; font-size: 14px; line-height: 16px; font-weight: 400; letter-spacing: -0.02em; }
.footer-copyright p { margin: 0 0 16px; }
.footer-copyright p:last-child { margin-bottom: 0; }
.footer-privacy { width: 492px; max-width: 100%; display: flex; flex-direction: column; gap: 10px; justify-content: center; font-size: 16px; line-height: 22px; letter-spacing: -0.02em; }

/* Мобильная версия (макет 390) */
@media (max-width: 767px) {
	:root { --content-pad: 10px; }
	.site-header { height: 80px; margin-bottom: -80px; padding: 10px var(--content-pad); }
	.offcanvas { width: 100%; padding: 20px; }
	.stub { padding: 55px var(--content-pad); padding-top: 135px; }
	.crumbs { padding-top: 80px; }
	.crumbs + .legal .legal-hero, .crumbs + .mp .mp-hero { padding-top: 24px; }
	.stub h1 { font-size: 40px; line-height: 40px; }
	.site-footer { padding: 55px var(--content-pad) 35px; }
	.site-footer__top { flex-direction: column; }
	.site-footer__right { width: 100%; }
	.site-footer__bottom { flex-direction: column; }
}

/* Общие элементы страниц: кнопки, маскот, обёртка формы —
   используются и на главной, и на странице контактов */
@keyframes hmPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }
.hm-btn { width: 390px; max-width: 100%; height: 80px; border-radius: 110px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 32px; cursor: pointer; font-family: inherit; font-size: 16px; line-height: 16px; font-weight: 500; letter-spacing: -0.02em; transition: background .25s ease, color .25s ease; }
.hm-btn--light { background: #FFFFFF; color: #1E005D; border: 0; }
.hm-btn--light:hover { background: #1E005D; color: #FFFFFF; }
.hm-btn--ghost { background: none; border: 1px solid rgba(255,255,255,0.5); color: #FFFFFF; }
.hm-btn--ghost:hover { background: #FFFFFF; color: #1E005D; }
.hm-btn--primary { background: #1E005D; color: #FFFFFF; border: 0; }
.hm-btn--primary:hover { background: #5011D4; color: #FFFFFF; }
.hm-mascot { cursor: pointer; transform-origin: 50% 100%; outline: none; }
.hm-mascot__inner { width: 100%; display: flex; flex-direction: column; align-items: center; animation: tmBob 4.6s ease-in-out infinite; }
.hm-mascot__head { width: 100%; aspect-ratio: 1; border-radius: 999px; background: #FFFFFF; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 16%; transform-origin: 50% 100%; transition: transform .3s cubic-bezier(.22,1,.36,1); will-change: transform; }
.hm-mascot__blink { display: block; width: 14%; animation: tmBlink 5.4s .2s infinite; }
.hm-mascot__blink--r { animation-delay: .26s; }
.hm-mascot__eye { display: block; width: 100%; aspect-ratio: 1; border-radius: 999px; background: #1E005D; transition: transform .16s ease-out; }
.hm-mascot__base { width: 100%; aspect-ratio: 1; background: rgba(255,255,255,0.32); transform-origin: 50% 100%; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.hm-form-holder > .form-row > .btn-primary,
.hm-form-holder > .btn-primary { display: none !important; }

/* End */
/* /local/templates/topman/components/topman/callbackform/tmd/style.css?17868294577793 */
/* /local/templates/topman/template_styles.css?178689045912421 */
