/* Партнёрский блок АО «ЕСП» (/esm). Сгенерировано tools/esp_tpl.py из их шаблона «Для сайтов партнеров» (static/esp-template), руками не править.
   .espd – десктоп (шаблон «ЕСМ 1200»), .espm – телефон (шаблон «ЕСМ 360–1280»). Шрифт шаблона – Montserrat (SIL OFL), свой файл. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/montserrat-cyrillic-var.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/montserrat-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* сброс стилей сайта внутри блока: заголовки и абзацы – по шаблону (браузерные отступы), без шрифтов и цветов сайта */
.espd h1,.espd h2,.espd h3,.espm h1,.espm h2,.espm h3{font-family:inherit;color:inherit;font-weight:700;text-wrap:wrap}
.espd h1,.espm h1{margin:0 0 .67em}.espd h2,.espm h2{margin:0 0 .83em}.espd h3,.espm h3{margin:0 0 1em}
.espd p,.espm p{margin:0 0 1em}.espd ol,.espm ol{margin:1em 0}.espd figure,.espm figure{margin:1em 40px}
.espd img,.espm img{height:auto}
.espd{--ink: #131a24; --muted: #4b5563; --blue: #0877c9; --blue-dark: #006bb8; --blue-soft: #e8f2fb; --cyan: #00b5d8; --green: #60c58b; --navy: #09082f; --navy-card: #232448; --line: #d8e1ea; --white: #ffffff; --radius-lg: 24px; --radius-md: 14px; --shadow-soft: 0 20px 45px rgba(19, 46, 91, 0.12);}
.espd *{box-sizing: border-box;}
.espd{scroll-behavior: smooth;}
.espd{margin: 0; color: var(--ink); background: #f4f6f8; font-family: Montserrat, "Segoe UI", Arial, sans-serif; line-height: 1.42; -webkit-font-smoothing: antialiased;}
.espd img{display: block; max-width: 100%;}
.espd a{color: var(--blue); font-weight: 700; text-decoration: none;}
.espd a:hover{text-decoration: underline;}
.espd .ed-page{width: min(1200px, 100%); margin: 0 auto; overflow: hidden; background: var(--white); box-shadow: 0 0 35px rgba(22, 35, 54, 0.12);}
.espd .ed-section{padding-right: 22px; padding-left: 22px;}
.espd h1,.espd h2,.espd h3,.espd p,.espd figure{margin-top: 0;}
.espd h1,.espd h2,.espd h3,.espd strong{letter-spacing: -0.018em;}
.espd .ed-intro{display: grid; grid-template-columns: 340px 1fr; gap: 50px; align-items: start; padding-top: 30px;}
.espd .ed-intro h1{margin-bottom: 26px; font-size: 45px; line-height: 1; font-weight: 800;}
.espd .ed-intro__accent{position: relative; max-width: 330px; margin: 0; padding-left: 13px; font-size: 14px; font-weight: 700; line-height: 1.45;}
.espd .ed-intro__accent::before{position: absolute; top: 2px; bottom: 2px; left: 0; width: 3px; background: #ff4d25; content: "";}
.espd .ed-definition-card{min-height: 180px; padding: 26px 30px 22px; border-radius: 24px; background: #e1eaf3; font-size: 14px; line-height: 1.52;}
.espd .ed-definition-card p{margin-bottom: 8px;}
.espd .ed-definition-card strong{display: block; color: #0b3d68; font-size: 13px; text-align: right;}
.espd .ed-brand{padding-top: 105px; padding-bottom: 108px; text-align: center;}
.espd .ed-brand__logo{width: 365px; height: 108px; margin: 0 auto -2px; object-fit: contain;}
.espd .ed-brand__subtitle{margin-bottom: 28px; font-size: 20px; line-height: 1.15;}
.espd .ed-brand p{margin-bottom: 0; font-size: 15px; font-weight: 600;}
.espd .ed-benefits{display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; padding-bottom: 50px;}
.espd .ed-benefits h2{margin-bottom: 30px; font-size: 31px; line-height: 1.12;}
.espd .ed-benefits__number{display: inline-block; margin-right: 8px; font-size: 55px; font-weight: 400; line-height: 0.7; vertical-align: -7px;}
.espd .ed-benefit-list{display: grid; gap: 20px;}
.espd .ed-benefit-item{display: grid; grid-template-columns: 25px 1fr; gap: 14px;}
.espd .ed-benefit-item h3{margin-bottom: 5px; font-size: 15px; line-height: 1.25;}
.espd .ed-benefit-item p{margin-bottom: 0; font-size: 13px; line-height: 1.52;}
.espd .ed-check-icon{position: relative; display: grid; width: 21px; height: 21px; margin-top: 2px; place-items: center; color: transparent; background: linear-gradient(#67b4f4, #67b4f4) left top / 7px 1.5px no-repeat, linear-gradient(#67b4f4, #67b4f4) left top / 1.5px 7px no-repeat, linear-gradient(#67b4f4, #67b4f4) right top / 7px 1.5px no-repeat, linear-gradient(#67b4f4, #67b4f4) right top / 1.5px 7px no-repeat, linear-gradient(#67b4f4, #67b4f4) left bottom / 7px 1.5px no-repeat, linear-gradient(#67b4f4, #67b4f4) left bottom / 1.5px 7px no-repeat, linear-gradient(#67b4f4, #67b4f4) right bottom / 7px 1.5px no-repeat, linear-gradient(#67b4f4, #67b4f4) right bottom / 1.5px 7px no-repeat;}
.espd .ed-check-icon::after{position: absolute; inset: 0; display: grid; place-items: center; color: var(--green); content: "✓"; font-size: 15px; font-weight: 900; line-height: 1;}
.espd .ed-benefits__visual{margin: 2px 0 0; padding: 0; border-radius: 17px; overflow: hidden; background: #dcecf8;}
.espd .ed-actions{display: flex; flex-wrap: wrap; gap: 22px; margin-top: 28px;}
.espd .ed-button{display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 11px 25px; border: 2px solid var(--blue); border-radius: 7px; font-size: 13px; font-weight: 800; line-height: 1.2; text-align: center; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;}
.espd .ed-button:hover{transform: translateY(-1px); text-decoration: none;}
.espd .ed-button--primary{color: var(--white); background: var(--blue); box-shadow: 0 7px 15px rgba(0, 119, 202, 0.15);}
.espd .ed-button--primary:hover{background: var(--blue-dark);}
.espd .ed-button--outline{color: var(--blue); background: var(--white);}
.espd .ed-partner{margin: 0 22px; padding: 43px 22px 35px; border-radius: 31px; color: var(--white); background: linear-gradient(115deg, #151442 0%, #070628 100%); text-align: center;}
.espd .ed-partner h2{margin-bottom: 38px; font-size: 28px; line-height: 1.12;}
.espd .ed-partner h3{margin-bottom: 24px; font-size: 17px;}
.espd .ed-partner__cards{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 30px;}
.espd .ed-partner__cards article{display: grid; min-height: 112px; padding: 17px 20px; place-items: center; border: 1.5px solid var(--cyan); border-radius: 14px; background: rgba(59, 60, 103, 0.68); font-size: 13px; line-height: 1.45;}
.espd .ed-partner > p{max-width: 1060px; margin: 0 auto; font-size: 12px; line-height: 1.45;}
.espd .ed-connection{display: grid; grid-template-columns: 550px 1fr; gap: 55px; align-items: start; padding-top: 58px; padding-bottom: 98px;}
.espd .ed-package-card{width: 100%; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-soft);}
.espd .ed-steps h2{margin-bottom: 35px; font-size: 31px; line-height: 1.08;}
.espd .ed-timeline{position: relative; display: grid; gap: 24px; margin: 0; padding: 0 0 0 42px; list-style: none; counter-reset: step;}
.espd .ed-timeline::before{position: absolute; top: 12px; bottom: 13px; left: 12px; width: 1.5px; background: #75b9f1; content: "";}
.espd .ed-timeline li{position: relative; min-height: 26px; font-size: 13px; line-height: 1.38; counter-increment: step;}
.espd .ed-timeline li::before{position: absolute; top: -2px; left: -42px; z-index: 1; display: grid; width: 24px; height: 24px; place-items: center; border: 1.5px solid #59aaf0; border-radius: 50%; color: #4f9fe9; background: var(--white); content: counter(step); font-size: 12px; font-weight: 700;}
.espd .ed-steps__button{margin-top: 32px;}
.espd .ed-cta{display: grid; grid-template-columns: 1fr 300px; gap: 65px; align-items: end; padding-bottom: 92px;}
.espd .ed-cta h2{margin-bottom: 31px; font-size: 31px; line-height: 1.1;}
.espd .ed-cta p{max-width: 735px; margin-bottom: 12px; font-size: 13px; line-height: 1.45;}
.espd .ed-cta .ed-actions{margin-top: 26px;}
.espd .ed-partner-code{padding-bottom: 19px; text-align: center;}
.espd .ed-partner-code strong{display: block; color: #666; font-size: 83px; font-weight: 300; line-height: 0.9; letter-spacing: -0.055em;}
.espd .ed-partner-code span{display: block; margin-top: 10px; font-size: 11px;}
.espd .ed-footer{position: relative; padding-top: 24px; padding-bottom: 18px; text-align: center;}
.espd .ed-footer::before{position: absolute; top: 0; left: 50%; width: 160px; height: 1px; background: #d4d7da; content: ""; transform: translateX(-50%);}
.espd .ed-footer p{margin-bottom: 8px; font-size: 10px;}
@media (max-width: 900px){.espd .ed-intro,.espd .ed-benefits,.espd .ed-connection,.espd .ed-cta{grid-template-columns: 1fr;}
.espd .ed-intro{gap: 28px;}
.espd .ed-intro__accent,.espd .ed-cta p{max-width: none;}
.espd .ed-brand{padding-top: 70px; padding-bottom: 75px;}
.espd .ed-benefits__visual{width: min(360px, 100%); margin: 0 auto; order: -1;}
.espd .ed-partner__cards{grid-template-columns: 1fr;}
.espd .ed-connection{gap: 42px;}
.espd .ed-package-card{width: min(620px, 100%); margin: 0 auto;}
.espd .ed-partner-code{justify-self: center;}}
@media (max-width: 560px){.espd .ed-section{padding-right: 16px; padding-left: 16px;}
.espd .ed-intro{padding-top: 22px;}
.espd .ed-intro h1{font-size: 38px;}
.espd .ed-definition-card{padding: 22px 20px;}
.espd .ed-brand__logo{width: 290px; height: auto;}
.espd .ed-brand p br,.espd .ed-partner h2 br,.espd .ed-steps h2 br{display: none;}
.espd .ed-benefits h2,.espd .ed-steps h2,.espd .ed-cta h2{font-size: 27px;}
.espd .ed-actions{display: grid; gap: 12px;}
.espd .ed-button{width: 100%;}
.espd .ed-partner{margin-right: 12px; margin-left: 12px; padding: 34px 16px 28px; border-radius: 24px;}
.espd .ed-partner h2{font-size: 23px;}
.espd .ed-connection{padding-top: 48px; padding-bottom: 72px;}
.espd .ed-cta{gap: 35px; padding-bottom: 72px;}
.espd .ed-partner-code strong{font-size: 64px;}}
.espm{--ink: #151c24; --blue: #0677cb; --blue-dark: #0066b0; --cyan: #00b9dd; --green: #63c992; --soft-blue: #e4edf5; --navy: #09082f; --navy-card: #242446; --white: #ffffff;}
.espm *{box-sizing: border-box;}
.espm{min-width: 320px; background: #eef1f4; scroll-behavior: smooth;}
.espm{margin: 0; color: var(--ink); background: #eef1f4; font-family: Inter, Montserrat, "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased;}
.espm img{display: block; max-width: 100%;}
.espm a{color: var(--blue); font-weight: 700; text-decoration: none;}
.espm a:hover{text-decoration: underline;}
.espm h1,.espm h2,.espm h3,.espm p,.espm figure{margin-top: 0;}
.espm .em-page{width: min(100%, 360px); margin: 0 auto; overflow: hidden; background: var(--white); box-shadow: 0 0 28px rgba(20, 34, 51, 0.14);}
.espm .em-section{padding-right: 16px; padding-left: 16px;}
.espm .em-intro{padding-top: 66px;}
.espm .em-intro h1{margin-bottom: 15px; font-size: 48px; font-weight: 800; line-height: 1; letter-spacing: -0.055em;}
.espm .em-intro__lead{position: relative; margin: 0 0 17px; padding-left: 12px; font-size: 15.5px; font-weight: 700; line-height: 1.31; letter-spacing: -0.012em;}
.espm .em-intro__lead::before{position: absolute; top: 0; bottom: 0; left: 0; width: 4px; border-radius: 2px; background: #ff552c; content: "";}
.espm .em-definition-card{height: 368px; padding: 18px 16px 16px; border-radius: 22px; background: var(--soft-blue); font-size: 15.2px; line-height: 1.32; letter-spacing: -0.012em;}
.espm .em-definition-card p{margin-bottom: 9px;}
.espm .em-definition-card strong{display: block; color: #204768; font-size: 15px; font-weight: 800; line-height: 1.45; text-align: right;}
.espm .em-brand{padding-top: 124px; text-align: center;}
.espm .em-brand__logo{width: 294px; margin: 0 auto 7px;}
.espm .em-brand h2{margin-bottom: 43px; font-size: 25px; font-weight: 800; line-height: 1.08; letter-spacing: -0.02em;}
.espm .em-brand p{margin: 0 auto; font-size: 13.7px; font-weight: 400; line-height: 1.4; letter-spacing: -0.01em;}
.espm .em-diagram{margin: 0; padding-top: 80px;}
.espm .em-diagram img{width: 329px; border-radius: 15px;}
.espm .em-benefits{padding-top: 25px; padding-bottom: 0;}
.espm .em-benefits h2{display: flex; align-items: flex-start; margin-bottom: 34px; font-size: 24px; font-weight: 800; line-height: 1.08; letter-spacing: -0.025em;}
.espm .em-benefits__number{flex: 0 0 auto; display: inline-block; margin-right: 8px; font-size: 55px; font-weight: 400; line-height: 0.78; letter-spacing: -0.05em;}
.espm .em-benefits__title-text{display: block; flex: 1 1 auto; min-width: 0; padding-top: 1px; white-space: nowrap;}
.espm .em-benefit-list{display: grid; gap: 22px;}
.espm .em-benefit-item{display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px;}
.espm .em-benefit-item h3{margin-bottom: 8px; font-size: 16.2px; font-weight: 800; line-height: 1.35; letter-spacing: -0.014em;}
.espm .em-benefit-item p{margin-bottom: 0; font-size: 15.2px; font-weight: 400; line-height: 1.33; letter-spacing: -0.01em;}
.espm .em-check-icon{position: relative; width: 20px; height: 20px; align-self: start; margin-top: 1px; border: 1px solid #77b9ed; border-radius: 2px; background: var(--white);}
.espm .em-check-icon::after{position: absolute; top: -2px; left: 3px; color: var(--green); background: var(--white); content: "✓"; font-size: 15px; font-weight: 900; line-height: 1;}
.espm .em-actions{display: grid; gap: 14px; margin-top: 31px;}
.espm .em-button{display: flex; width: 100%; height: 49px; align-items: center; justify-content: center; padding: 11px 10px; border: 1.5px solid var(--blue); border-radius: 8px; font-size: 14px; font-weight: 800; line-height: 1.15; white-space: nowrap; text-align: center; transition: background 0.15s ease, transform 0.15s ease;}
.espm .em-button:hover{transform: translateY(-1px); text-decoration: none;}
.espm .em-button--primary{color: var(--white); background: var(--blue);}
.espm .em-button--primary:hover{background: var(--blue-dark);}
.espm .em-button--outline{color: var(--blue); background: #f7fbfe;}
.espm .em-partner{width: 328px; min-height: 748px; margin: 59px 16px 0; padding: 26px 8px 20px; border-radius: 24px; color: var(--white); background: linear-gradient(150deg, #15143e 0%, #08072d 100%); text-align: center;}
.espm .em-partner h2{margin-bottom: 25px; font-size: 20px; font-weight: 800; line-height: 1.38; letter-spacing: -0.02em;}
.espm .em-partner h3{margin-bottom: 18px; font-size: 19px; font-weight: 800; line-height: 1.4;}
.espm .em-partner__cards{display: grid; gap: 15px; margin-bottom: 26px;}
.espm .em-partner__cards article{display: flex; min-height: 107px; align-items: center; justify-content: center; padding: 14px 15px; border: 1.2px solid var(--cyan); border-radius: 14px; background: rgba(37, 38, 71, 0.96); font-size: 15px; font-weight: 400; line-height: 1.38;}
.espm .em-partner > p{margin-bottom: 0; padding: 0 11px; font-size: 15px; font-weight: 400; line-height: 1.38;}
.espm .em-package{padding-top: 39px;}
.espm .em-package img{width: 328px; border-radius: 9px;}
.espm .em-connection{padding-top: 39px;}
.espm .em-connection h2{margin-bottom: 27px; font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -0.022em;}
.espm .em-timeline{position: relative; display: grid; gap: 20px; margin: 0 0 29px 12px; padding: 0 0 0 28px; border-left: 2px solid #78baf0; list-style: none; counter-reset: step;}
.espm .em-timeline li{position: relative; min-height: 20px; font-size: 15.2px; font-weight: 400; line-height: 1.36; letter-spacing: -0.01em; counter-increment: step;}
.espm .em-timeline li::before{position: absolute; top: -2px; left: -41px; z-index: 1; display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; border: 2px solid #78baf0; border-radius: 50%; color: #61a7e5; background: var(--white); content: counter(step); font-size: 14px; font-weight: 700;}
.espm .em-cta{padding-top: 34px;}
.espm .em-cta h2{margin-bottom: 18px; font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -0.025em;}
.espm .em-cta p{margin-bottom: 9px; font-size: 15.2px; font-weight: 400; line-height: 1.34; letter-spacing: -0.01em;}
.espm .em-cta .em-actions{margin-top: 20px;}
.espm .em-partner-code{display: flex; align-items: flex-end; justify-content: center; gap: 9px; padding-top: 36px; padding-bottom: 56px;}
.espm .em-partner-code strong{color: #696969; font-size: 48px; font-weight: 300; line-height: 0.82; letter-spacing: -0.055em;}
.espm .em-partner-code span{color: #292929; font-size: 15px; font-weight: 500; line-height: 1.35;}
.espm .em-footer{padding-top: 0; padding-bottom: 28px; text-align: center;}
.espm .em-footer::before{display: block; width: 160px; height: 1px; margin: 0 auto 14px; background: #cdd1d5; content: "";}
.espm .em-footer p{margin-bottom: 9px; font-size: 13.2px; font-weight: 400; line-height: 1.45;}
@media (max-width: 359px){.espm .em-page{width: 100%;}
.espm .em-section{padding-right: 14px; padding-left: 14px;}
.espm .em-definition-card,.espm .em-partner,.espm .em-package img,.espm .em-diagram img{width: 100%;}
.espm .em-partner{margin-right: 14px; margin-left: 14px;}
.espm .em-intro h1{font-size: 44px;}
.espm .em-intro__lead,.espm .em-definition-card,.espm .em-benefit-item p,.espm .em-timeline li,.espm .em-cta p{font-size: 14.5px;}}
@media (min-width: 361px){.espm{padding: 20px 0;}}
.espm .em-intro .em-h1{margin-top:0;margin-bottom: 15px; font-size: 48px; font-weight: 800; line-height: 1; letter-spacing: -0.055em;}

/* на сайте: десктопный вариант от 768 px, телефонный – уже; телефонный тянется на ширину экрана (в шаблоне – фиксированные 360 px) */
.espd{padding:24px 0 48px}
.espm{display:none;padding:0}
.espm .em-page{width:100%;max-width:480px;box-shadow:none}
.espm .em-definition-card{height:auto;min-height:0}
.espm .em-partner{width:auto;min-height:0}
.espm .em-package img,.espm .em-diagram img{width:100%}
.espm .em-page>:last-child{padding-bottom:28px}
@media (max-width:767px){.espd{display:none}.espm{display:block}}
