/* /assets/templates/css/libs/normalize.css */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}
/* /assets/templates/css/style.min.css */
/* Собрано _материалы/scripts/purge_legacy_css.py из _материалы/css-ishodniki/style.min.css:
   только правила, которые нужны страницам сайта. Править в исходнике. */
@font-face{font-family:EuclidCircular;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Gordita;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:CeraPro;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:NunitoSans;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:SFProDisplay;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:SFProText;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Montserrat;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:OpenSans;src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{--white: #fff;
  --dark: #000;
  --black: #202229;
  --blue: #0075ff;
  --gray: #767e8f;
  --gray-light: #f3f4f7;
  --sky-blue: #00c3ee;}
*,::after,::before{box-sizing: border-box;}
html{height: 100%;
  scroll-behavior: smooth;}
body{margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 120%;
  font-weight: 400;
  font-family: EuclidCircular, Arial, sans-serif;
  color: var(--black);
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;}
body.overflow-hidden{overflow: hidden;}
h1,h2,h3,h4,h5,h6{line-height: 120%;}
a{text-decoration: none;
  color: var(--black);
  transition: 0.5s;}
a:hover{color: var(--blue);}
img{max-width: 100%;
  height: auto;}
.btn{background: 0 0;
  border: none;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
  color: inherit;
  transition: 0.3s;}
.terra-btn{border-radius: 12px;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 10px;
  column-gap: 10px;
  font-family: Gordita;
  font-size: 14px;
  font-weight: 500;}
.terra-btn--blue{background-color: var(--blue);
  color: var(--white);
  border: 1px solid transparent;}
.terra-btn--blue svg{fill: transparent;
  stroke: var(--white);
  position: relative;}
.terra-btn--blue[disabled]{background-color: #75b5ff;
  pointer-events: none;}
.terra-btn--blue:not([disabled]):focus,.terra-btn--blue:not([disabled]):hover{background-color: var(--white);
  color: var(--blue);
  border-color: var(--blue);}
.terra-btn--blue:not([disabled]):focus svg,.terra-btn--blue:not([disabled]):hover svg{stroke: var(--blue);}
.terra-btn--blue-outline{border-color: var(--blue);
  background-color: var(--white);
  background-color: var(--white);
  color: var(--blue);}
.terra-btn--blue-outline svg{stroke: var(--blue);}
.terra-btn--blue-outline:not([disabled]):focus,.terra-btn--blue-outline:not([disabled]):hover{background-color: var(--blue);
  color: var(--white);}
.terra-btn--blue-outline:not([disabled]):focus svg,.terra-btn--blue-outline:not([disabled]):hover svg{fill: transparent;
  stroke: var(--white);}
.terra-btn--outline{background-color: var(--white);
  color: var(--black);
  padding: 0 16px;
  border: 1px solid var(--black);
  border-radius: 62px;}
.terra-btn--outline svg{fill: transparent;
  stroke: var(--black);}
.terra-btn--outline:focus,.terra-btn--outline:hover{background-color: var(--blue);
  color: var(--white);
  border-color: var(--blue);}
.terra-btn--outline:focus svg,.terra-btn--outline:hover svg{stroke: var(--white);}
.terra-btn--52{height: 52px;}
.terra-btn--58{height: 58px;}
.container{width: 100%;
  max-width: 1412px;
  padding: 0 20px;
  margin: 0 auto;}
#footer,#header{flex: 0 0 auto;}
#content{flex: 1 0 auto;}
.section--gray{background-color: #f3f5ff;}
.section--radius{border-radius: 40px 40px 0 0;}
.section-gap{padding: 70px 0;}
.section-gap-bottom{padding-bottom: 70px;}
.section__header{display: flex;
  flex-direction: column;
  row-gap: 16px;
  position: relative;
  margin-bottom: clamp(1.875rem, 1.411rem + 1.9vw, 3.125rem);}
.section__header-heading{display: flex;
  flex-direction: column;
  flex-grow: 1;
  row-gap: 16px;
  position: relative;}
.section__header-line{top: -25px;
  left: -40px;
  position: absolute;}
.section__header--half{display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;}
.section__header-right{display: flex;
  align-items: center;
  -moz-column-gap: 60px;
  column-gap: 60px;}
.section__title{font-size: 36px;
  font-weight: 500;
  margin: 0;
  position: relative;}
.section__title span{color: var(--blue);}
.section__title span.skyblue{color: #44c2ea;}
.section__description{color: var(--gray);
  position: relative;}
.section__half{display: grid;
  grid-template-columns: 395px 1fr;
  -moz-column-gap: 40px;
  column-gap: 40px;}
.section__footer{position: relative;
  z-index: 2;
  margin-top: 22px;
  justify-content: space-between;}
.section__join{margin-top: auto;
  width: 100%;
  max-width: 262px;}
.form__date{position: relative;}
.form__date-toggle{display: flex;
  align-items: center;
  gap: 8px;}
.form__date-toggle:hover{color: var(--blue);}
.form__date-toggle:hover svg path{fill: var(--blue);}
.form__date-toggle svg path{transition: 0.3s;}
.form__date-calendar{position: absolute;
  z-index: 22;
  opacity: 0;
  visibility: hidden;
  margin-top: 20px;
  box-shadow: 0 10px 48px 0 rgba(85, 85, 85, 0.1);
  background: var(--white);
  border-radius: 13px;}
.form__date-calendar.active{opacity: 1;
  visibility: visible;}
.form__date-calendar .vanilla-calendar-month,.form__date-calendar .vanilla-calendar-year{font-size: 20px;
  font-weight: 400;}
.form__date-calendar .vanilla-calendar-arrow{width: 18px;
  height: 18px;}
.form__date-calendar .vanilla-calendar-week__day{font-size: 13px;
  font-weight: 400;
  color: rgba(60, 60, 67, 0.3);}
.form__date-calendar .vanilla-calendar-day__btn{font-weight: 300;
  color: var(--black);
  border-radius: 50%;
  width: 32px;
  height: 32px;}
.form__date-calendar
  .vanilla-calendar-day__btn.vanilla-calendar-day__btn_selected:not(
    .vanilla-calendar-day__btn_weekend
  ){background-color: var(--blue);
  color: var(--white);}
.form__date-calendar
  .vanilla-calendar-day__btn.vanilla-calendar-day__btn_weekend:not(
    .vanilla-calendar-day__btn_selected
  ){color: #f43f5e;}
.form__date-calendar .vanilla-calendar-months__month{font-weight: 300;
  color: var(--black);}
.form__date-calendar
  .vanilla-calendar-months__month.vanilla-calendar-months__month_selected{background-color: var(--blue);}
.form__date-calendar .vanilla-calendar-years__year{font-weight: 300;
  color: var(--black);}
.form__date-calendar
  .vanilla-calendar-years__year.vanilla-calendar-years__year_selected{background-color: var(--blue);}
.logo{display: flex;}
.tags{margin: 0;
  padding: 0;
  list-style: none;}
.tag{background-color: var(--bg-color, #fff);
  padding: 8px 14px;
  display: inline-block;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 300;
  color: var(--color, #202229);}
.tag--outline{background-color: transparent;
  border: 1px solid var(--black);}
.tag--outline:hover{border-color: var(--blue);}
.tag:not(.tag--no-hover):focus,.tag:not(.tag--no-hover):hover{background-color: var(--blue);
  color: var(--white);}
.social{margin: 0;
  padding: 0;
  list-style: none;}
.social__link{width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #121212;}
.social__link--telegram{background-color: #08c;}
.social__link--vk{background-color: #07f;}
.social__link--youtube{background-color: red;}
.social__link svg{width: 16px;
  height: 16px;
  fill: var(--white);}
.social__link:focus,.social__link:hover{background-color: var(--white);}
.social__link:focus svg,.social__link:hover svg{fill: var(--blue);}
.tab__content--active{display: block;}
.card{background-color: var(--bgcolor, #ffe6d8);
  padding: 36px 26px;
  border-radius: 30px;
  position: relative;
  overflow: hidden;
  min-height: 284px;}
.card__bg{position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;}
.card__inner{width: 100%;
  display: flex;
  align-items: flex-start;
  position: relative;
  height: 100%;
  z-index: 2;}
.card__info{display: flex;
  flex-direction: column;
  row-gap: 16px;
  width: 100%;
  height: 100%;}
.card__info-heading{display: flex;
  flex-direction: column;
  row-gap: 16px;}
.card__title{font-size: 22px;
  font-weight: 600;
  line-height: 120%;}
.card__title--big{font-size: 32px;
  max-width: 502px;}
.card__tags{display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 16px;
  max-width: 314px;}
.card__tag{padding: 14px 16px;
  font-size: 17px;
  font-weight: 500;
  background-color: var(--bg-color, #d2ecff);
  color: var(--black);}
.card--has-tags .card__info-inner{display: flex;
  justify-content: space-between;}
.card--white{color: var(--white);}
.slider-nav{display: flex;
  align-items: center;
  -moz-column-gap: 50px;
  column-gap: 50px;}
.slider-nav svg{fill: transparent;
  stroke: var(--black);
  stroke-width: 1px;}
.slider-nav__button{width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;}
.slider-nav__button--prev{transform: rotate(-180deg);}
.slider-nav__button.swiper-button-disabled{cursor: inherit;
  pointer-events: none;}
.slider-nav__button.swiper-button-disabled svg{stroke: #a6acb9;}
.slider-nav__button:focus svg,.slider-nav__button:hover svg{stroke: var(--blue);}
.quote{background-color: var(--white);
  border-radius: 10px;
  margin: 0;
  padding: 10px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;}
.quote__text{font-size: 18px;
  line-height: 30px;}
.quote__author{text-align: right;
  color: var(--blue);
  font-size: 14px;
  font-weight: 500;
  font-style: italic;}
.video{position: relative;
  overflow: hidden;
  display: flex;}
.video::before{content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: rgba(32, 34, 41, 0.3);
  transition: 0.3s;
  opacity: 0;}
.video__preview{width: 100%;
  transition: 0.3s;}
.video__preview-img{width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;}
.video__play{position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(32, 34, 41, 0.3);
  z-index: 3;
  transition: 0.3s;}
.video__play svg{width: 22px;
  height: 22px;
  fill: var(--white);
  position: relative;
  left: 1px;
  top: 1px;}
.video:focus .video__play,.video:hover .video__play{background-color: var(--blue);}
.video:focus .video__play svg,.video:hover .video__play svg{fill: var(--white);}
.video:focus::before,.video:hover::before{opacity: 1;}
.feature{-webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  box-shadow: 0 24px 32px 0 rgba(50, 50, 71, 0.08);
  background: rgba(255, 255, 255, 0.8);
  padding: 20px;
  display: flex;
  flex-direction: column;
  row-gap: clamp(0.5rem, 0.401rem + 0.41vw, 0.75rem);
  border-radius: 16px;}
.feature__icon{display: inline-block;
  width: clamp(1.5rem, 1.252rem + 1.02vw, 2.125rem);
  height: clamp(1.5rem, 1.252rem + 1.02vw, 2.125rem);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;}
.feature__title{font-size: clamp(1rem, 0.901rem + 0.41vw, 1.25rem);
  font-weight: 600;}
.feature__description{font-size: 14px;
  color: var(--gray);}
.result{display: flex;
  flex-direction: column;
  padding: 36px 26px 26px;
  background-color: #bbf7d0;
  border-radius: 30px;
  position: relative;
  overflow: hidden;}
.result svg{position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;}
.result__inner{position: relative;}
.result__number{display: block;
  margin-bottom: 22px;
  font-size: 52px;
  font-weight: 700;}
.result__descr{margin-top: 10px;
  max-width: 180px;}
.result--blue-sky{background-color: #b9f6ff;}
.result--blue{background-color: #cddeff;}
.course-card{border-radius: 30px;
  padding: 30px 20px 20px;
  color: var(--white);
  height: 400px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden;
  position: relative;
  transition: 0.3s;}
.course-card::before{content: "";
  position: absolute;
  background-color: #4f3dc5;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  mix-blend-mode: screen;}
.course-card__inner{position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;}
.course-card__header{padding-bottom: 50px;
  position: relative;}
.course-card__header::after{content: "";
  position: absolute;
  width: 49px;
  height: 1px;
  background-color: var(--white);
  left: 0;
  bottom: 28px;}
.course-card__title{font-size: 22px;
  font-weight: 600;
  position: relative;}
.course-card__title::before{content: "";
  position: absolute;
  background: linear-gradient(90deg, #fff 0, rgba(255, 255, 255, 0) 100%);
  opacity: 0.36;
  width: 100%;
  height: 150%;
  top: 50%;
  left: 0;
  transform: translate(-20px, -50%);}
.course-card__description{font-size: 14px;
  font-weight: 500;
  max-width: 200px;}
.course-card__link{border-radius: 50px;
  background-color: var(--white);
  color: var(--black);
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  width: 100%;
  max-width: 40px;
  padding: 0 13px;
  height: 40px;
  font-size: 0;
  display: inline-flex;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  margin-left: auto;}
.course-card__link span{font-size: 15px;
  font-weight: 500;
  display: inline-block;
  margin-right: 10px;
  opacity: 0;}
.course-card__link svg{position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-50%, -50%);}
.course-card__link:hover{color: var(--black);
  max-width: 220px;}
.course-card__link:hover span{opacity: 1;}
.course-card--green::before{background-color: #0094a8;}
.course-card--blue::before{background-color: #0075ff;}
.course-card--black::before{background-color: #202229;}
.course-card:hover{box-shadow: 0 32px 40px 0 rgba(50, 50, 71, 0.1),
    0 20px 20px 0 rgba(50, 50, 71, 0.1);}
.case-card{position: relative;}
.case-card::before{content: "";
  position: absolute;
  width: 101px;
  height: 48px;
  background-color: #e3e8ff;
  top: 21px;
  right: 30px;
  border-radius: 30px;
  transition: 0.3s;}
.case-card__inner{height: 100%;
  padding: 18px 13px 51px;
  border-radius: 30px;
  background-color: #f3f5ff;
  -webkit-clip-path: polygon(
    100% 91.477%,
    100% 91.477%,
    99.875% 92.86%,
    99.511% 94.171%,
    98.93% 95.394%,
    98.151% 96.511%,
    97.193% 97.504%,
    96.076% 98.356%,
    94.82% 99.049%,
    93.445% 99.566%,
    91.97% 99.888%,
    90.415% 100%,
    9.585% 100%,
    9.585% 100%,
    8.03% 99.888%,
    6.555% 99.566%,
    5.18% 99.049%,
    3.924% 98.356%,
    2.807% 97.504%,
    1.849% 96.511%,
    1.07% 95.394%,
    0.489% 94.171%,
    0.125% 92.86%,
    0 91.477%,
    0 8.523%,
    0 8.523%,
    0.125% 7.14%,
    0.489% 5.829%,
    1.07% 4.606%,
    1.849% 3.489%,
    2.807% 2.496%,
    3.924% 1.644%,
    5.18% 0.951%,
    6.555% 0.434%,
    8.03% 0.112%,
    9.585% 0,
    52.513% 0,
    52.513% 0,
    53.255% 0.026%,
    53.989% 0.102%,
    54.711% 0.227%,
    55.418% 0.401%,
    56.107% 0.622%,
    56.775% 0.889%,
    57.419% 1.201%,
    58.036% 1.557%,
    58.623% 1.956%,
    59.176% 2.397%,
    65.824% 8.114%,
    65.824% 8.114%,
    66.377% 8.555%,
    66.964% 8.954%,
    67.581% 9.31%,
    68.225% 9.622%,
    68.893% 9.889%,
    69.582% 10.11%,
    70.289% 10.284%,
    71.011% 10.41%,
    71.745% 10.486%,
    72.488% 10.511%,
    90.415% 10.511%,
    90.415% 10.511%,
    91.97% 10.623%,
    93.445% 10.946%,
    94.82% 11.463%,
    96.076% 12.156%,
    97.193% 13.008%,
    98.151% 14.001%,
    98.93% 15.117%,
    99.511% 16.34%,
    99.875% 17.652%,
    100% 19.034%,
    100% 91.477%
  );
  clip-path: polygon(
    100% 91.477%,
    100% 91.477%,
    99.875% 92.86%,
    99.511% 94.171%,
    98.93% 95.394%,
    98.151% 96.511%,
    97.193% 97.504%,
    96.076% 98.356%,
    94.82% 99.049%,
    93.445% 99.566%,
    91.97% 99.888%,
    90.415% 100%,
    9.585% 100%,
    9.585% 100%,
    8.03% 99.888%,
    6.555% 99.566%,
    5.18% 99.049%,
    3.924% 98.356%,
    2.807% 97.504%,
    1.849% 96.511%,
    1.07% 95.394%,
    0.489% 94.171%,
    0.125% 92.86%,
    0 91.477%,
    0 8.523%,
    0 8.523%,
    0.125% 7.14%,
    0.489% 5.829%,
    1.07% 4.606%,
    1.849% 3.489%,
    2.807% 2.496%,
    3.924% 1.644%,
    5.18% 0.951%,
    6.555% 0.434%,
    8.03% 0.112%,
    9.585% 0,
    52.513% 0,
    52.513% 0,
    53.255% 0.026%,
    53.989% 0.102%,
    54.711% 0.227%,
    55.418% 0.401%,
    56.107% 0.622%,
    56.775% 0.889%,
    57.419% 1.201%,
    58.036% 1.557%,
    58.623% 1.956%,
    59.176% 2.397%,
    65.824% 8.114%,
    65.824% 8.114%,
    66.377% 8.555%,
    66.964% 8.954%,
    67.581% 9.31%,
    68.225% 9.622%,
    68.893% 9.889%,
    69.582% 10.11%,
    70.289% 10.284%,
    71.011% 10.41%,
    71.745% 10.486%,
    72.488% 10.511%,
    90.415% 10.511%,
    90.415% 10.511%,
    91.97% 10.623%,
    93.445% 10.946%,
    94.82% 11.463%,
    96.076% 12.156%,
    97.193% 13.008%,
    98.151% 14.001%,
    98.93% 15.117%,
    99.511% 16.34%,
    99.875% 17.652%,
    100% 19.034%,
    100% 91.477%
  );
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  transition: 0.3s;}
.case-card__number{font-size: 18px;
  color: var(--white);
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;}
.case-card__img{border-radius: 20px;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 165px;}
.case-card__info{display: flex;
  flex-direction: column;
  row-gap: 6px;}
.case-card__title{font-size: 18px;
  font-weight: 600;}
.case-card__description{font-size: 14px;
  color: var(--gray);
  max-width: 250px;}
.case-card__arrow{position: absolute;
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  width: 50px;
  height: 50px;
  bottom: -20px;
  right: -10px;
  opacity: 0;
  z-index: 3;
  visibility: hidden;
  transition: 0.3s;}
.case-card:hover::before{background-color: #004ba4;}
.case-card:hover .case-card__inner{box-shadow: 0 16px 24px 0 rgba(50, 50, 71, 0.08),
    0 12px 12px 0 rgba(50, 50, 71, 0.08);
  background-color: var(--blue);
  color: var(--white);}
.case-card:hover .case-card__number{opacity: 1;
  visibility: visible;}
.case-card:hover .case-card__description{color: inherit;}
.case-card:hover .case-card__arrow{opacity: 1;
  visibility: visible;}
.load-more{display: flex;
  justify-content: center;}
.section-wrap{position: relative;
  overflow: hidden;}
.section-wrap__inner{position: relative;}
.decoration{position: absolute;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;}
.decoration--circle{background-image: url(/assets/templates/img/bg/circle.png);}
.decoration--circle-biggest{width: clamp(29.75rem, -25.607rem + 89.29vw, 54.75rem);
  height: clamp(29.75rem, -25.607rem + 89.29vw, 54.75rem);
  top: 10%;
  left: -22vw;}
.view-button{width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid transparent;}
.view-button--active{background-color: var(--white);}
.view-button--active svg{fill: var(--blue);}
.view-button:focus{border-color: var(--blue);}
.view-button:focus svg,.view-button:hover svg{fill: var(--blue);}
.info-block{display: flex;
  flex-direction: column;
  row-gap: 12px;
  background-color: #f3f4f7;
  border-radius: 8px;
  padding: 16px;}
.info-block__icon{display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;}
.info-block__title{display: flex;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
  font-size: 20px;
  font-weight: 300;}
.info-block__title svg{fill: var(--blue);}
.info-block__bottom{display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 10px;
  column-gap: 10px;}
.info-block__subtitle{font-size: clamp(1.125rem, 0.962rem + 0.67vw, 1.563rem);
  line-height: 130%;}
.info-block__link{width: 100%;
  max-width: clamp(8.625rem, 7.975rem + 2.67vw, 10.375rem);
  height: 38px;
  background-color: transparent;}
.filter-toggle{width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid transparent;
  background-color: var(--gray-light);
  flex-shrink: 0;}
.filter-toggle:hover{background-color: var(--blue);}
.filter-toggle:hover svg{fill: var(--white);}
.filter-form{display: flex;
  flex-direction: column;
  row-gap: 26px;}
.filter-form__action{display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  height: 44px;}
.filter-form__close{color: #a6acb9;
  font-size: 16px;
  position: absolute;
  right: 0;
  top: 79%;
  transform: translate(0, -50%);}
.filter-form__item{display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  row-gap: 16px;}
.filter-form__field--hidden:not(.filter-form__field--show){display: none;}
.filter-form__toggle-items{text-align: left;
  color: var(--blue);
  font-size: 14px;
  display: flex;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;}
.filter-form__toggle-items svg{width: 10px;
  height: 10px;}
.filter-form__toggle-items:hover{text-decoration: underline;}
.search-form{position: relative;
  width: 100%;
  max-width: 424px;}
.range{position: relative;
  width: 100%;
  max-width: 240px;}
.range__track{width: 100%;
  height: 1px;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  border-radius: 5px;
  background: linear-gradient(
    to right,
    #dadae5 30%,
    #3264fe 30%,
    #3264fe 70%,
    #dadae5 70%
  );}
.select{position: relative;}
.select select{display: none;}
.select__current{display: flex;
  align-items: center;
  cursor: pointer;
  border: 1px solid #d6d6d6;
  border-radius: 50px;
  padding: 8px 15px;
  font-size: 14px;
  white-space: nowrap;
  transition: 0.3s;}
.select__list{padding: 20px;
  margin: 0;
  list-style: none;
  position: absolute;
  z-index: 3;
  top: 105%;
  right: 0;
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  box-shadow: 1px 5px 20px -5px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  min-width: 220px;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;}
.select__item{cursor: pointer;}
.select__item--current,.select__item:hover{color: var(--blue);}
.select--active .select__current{background-color: var(--blue);
  color: var(--white);
  border-color: var(--white);}
.select--active .select__current::after{filter: invert(1);}
.select--active .select__list{opacity: 1;
  visibility: visible;}
.header{padding: 26px 0;
  margin-bottom: clamp(1.875rem, 1.55rem + 1.33vw, 2.75rem);}
.header__nav-item--has-children svg{fill: transparent;
  stroke: var(--black);
  transform: rotate(90deg);
  margin-left: 8px;
  position: relative;
  top: 1px;}
.header__nav-item--has-children:hover .header__nav-item-toggle svg{stroke: var(--blue);}
.intro{position: relative;
  padding-top: 160px;
  min-height: 830px;
  background-image: url(/assets/templates/img/bg/intro-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  background-color: #f3f5ff;}
.intro__inner{display: flex;
  -moz-column-gap: 100px;
  column-gap: 100px;}
.intro__info{display: flex;
  flex-direction: column;
  row-gap: 30px;
  max-width: clamp(35rem, 27.116rem + 12.72vw, 42.375rem);
  flex-shrink: 0;
  width: 100%;}
.intro__title{margin: 0;
  font-weight: 500;
  font-size: clamp(2.375rem, 1.573rem + 1.29vw, 3.125rem);
  line-height: 104%;}
.intro__title span{color: var(--sky-blue);}
.intro__title span.blue{color: var(--blue);}
.intro__subtitle{font-size: clamp(1.25rem, 1.002rem + 1.02vw, 1.875rem);
  line-height: 130%;
  color: var(--gray);}
.intro__features{display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 26px;
  column-gap: 26px;
  row-gap: 10px;}
.intro__link{flex-shrink: 0;
  padding: 0 16px;
  justify-content: center;
  width: 100%;
  max-width: 360px;}
.intro__link--262{max-width: 262px;}
.intro__slider{margin-left: 10px;
  overflow: visible;}
.intro__slide{max-width: clamp(18.75rem, 12.002rem + 10.88vw, 25.063rem);
  height: clamp(25rem, 17.784rem + 11.64vw, 31.75rem);
  border-radius: 20px;
  overflow: hidden;
  transition: 0.3s;}
.intro__slide.swiper-slide-active{height: clamp(28.313rem, 18.291rem + 16.16vw, 37.688rem);}
.intro--inner .intro__inner{-moz-column-gap: clamp(1.875rem, -7.813rem + 15.63vw, 6.25rem);
  column-gap: clamp(1.875rem, -7.813rem + 15.63vw, 6.25rem);}
.intro--inner .intro__info{margin-left: unset;
  max-width: 61%;
  position: relative;
  z-index: 2;}
.intro.intro-slider .intro__right{margin-left: -20px;
  padding-left: 20px;
  -webkit-clip-path: inset(-100vw -100vw -100vw 0);
  clip-path: inset(-100vw -100vw -100vw 0);}
.intro.v2 .intro__inner{display: grid;
  grid-template-columns: 1fr 445px;
  -moz-column-gap: 35px;
  column-gap: 35px;}
.intro.v2 .intro__info{max-width: unset;}
.intro__img{position: absolute;
  right: 0;
  max-width: 783px;}
.cases__blocks{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;}
.cases__card--colspan{grid-column: span 2;}
.cases__more{margin-top: 28px;}
.cases__more-link{border-radius: 10px;
  text-align: center;
  padding: 18px 15px;
  font-size: 20px;
  font-weight: 500;
  background-color: #e1f8ff;
  display: block;
  width: 100%;}
.cases__item .case-card__inner{padding-bottom: 32px;}
.navigation{background-color: var(--gray-light);
  padding: 40px 0;}
.navigation__inner{display: flex;
  -moz-column-gap: 48px;
  column-gap: 48px;}
.navigation__item-title{margin-bottom: 32px;
  font-size: 18px;
  font-weight: 500;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--black);}
.navigation__item:first-child{margin-right: auto;}
.navigation__list{margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 16px;}
.navigation__list-link{display: inline-block;}
.events{background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDkyIiBoZWlnaHQ9Ijc2NSIgdmlld0JveD0iMCAwIDQ5MiA3NjUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2ZfMzgwXzEzNjQpIj4KPHBhdGggZD0iTS0yOTYuMjg1IDYyMS44MjVDLTMzNS40ODUgNDk3LjU4IC0xMjguMzM0IDMyMS42NiAtMTkuODU3NyAyNDkuMjMxQzU1LjMyMDggMTQyLjE3OCAyOTYuMzE3IDc3Ljk0NSAyNzYuNzUzIDE1MC4xMzJDMjU3LjE5IDIyMi4zMTkgMzY1Ljk2NSAyNzYuODE3IDMzMC45OSA0MTQuMjI3QzI5Ni4wMTUgNTUxLjYzNyAyMjguNTQ2IDU5Ni41ODkgNjUuNDM3NSA2NDEuNTc1Qy05Ny42NzA1IDY4Ni41NjIgLTI0Ny4yODQgNzc3LjEzMiAtMjk2LjI4NSA2MjEuODI1WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzM4MF8xMzY0KSIgZmlsbC1vcGFjaXR5PSIwLjI4Ii8+CjwvZz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZl8zODBfMTM2NCIgeD0iLTQ1NC43NTMiIHk9Ii0zNC4xNDA1IiB3aWR0aD0iOTQ2LjMyNiIgaGVpZ2h0PSI4OTYuNzI4IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249Ijc2LjgiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8zODBfMTM2NCIvPgo8L2ZpbHRlcj4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzM4MF8xMzY0IiB4MT0iMzQyLjQxMiIgeTE9IjI5Ny41NzciIHgyPSItMzE5LjY3NSIgeTI9IjU2NS45MzgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzk1RjJGRiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNEMDgzRjQiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K);
  background-repeat: no-repeat;
  background-position: center left;
  overflow: hidden;}
.events__view-button{width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid transparent;}
.events__slider{overflow: visible;}
.events__slider--vertical{overflow: clip;
  padding-right: 14px;}
.events__slider--vertical .swiper-wrapper{display: flex;
  flex-direction: column;
  row-gap: 8px;
  max-height: 437px;
  overflow: auto;
  padding-right: 14px;}
.events__slider--vertical .swiper-wrapper::-webkit-scrollbar{width: 7px;}
.events__slider--vertical .swiper-wrapper::-webkit-scrollbar-thumb{background: var(--blue);
  border-radius: 36px;}
.events__slider--vertical .swiper-wrapper::-webkit-scrollbar-thumb:hover{background: var(--gray);}
.events__slider--vertical .swiper-slide{max-width: 100%;}
.reports__card-slider{position: relative;}
.reports__card-slider-pagination{position: absolute;
  margin-bottom: 12px;
  z-index: 2;}
.terra{overflow: hidden;
  position: relative;}
.mission{background-image: url(/assets/templates/img/bg/mission-bg.png);
  background-repeat: no-repeat;
  background-position: center right;}
.mission__inner{display: grid;
  grid-template-columns: 1fr minmax(200px, 729px);
  gap: 44px;}
.mission__info{display: flex;
  flex-direction: column;
  row-gap: 30px;}
.mission__content{color: var(--gray);
  font-size: 18px;
  line-height: 30px;}
.mission__content p:first-child{margin-top: 0;}
.mission__link{padding: 0 16px;}
.mission__video{width: 100%;
  height: 452px;
  border-radius: 30px;}
.stories__youtube{display: flex;
  align-items: center;
  -moz-column-gap: 10px;
  column-gap: 10px;
  color: var(--gray);
  font-weight: 500;
  font-size: 14px;}
.stories .swiper-wrapper{padding: 50px;
  margin: -50px;}
.stories__slide{height: auto;}
.faq__items{display: flex;
  flex-direction: column;
  row-gap: 16px;}
.faq__item-title{display: flex;
  position: relative;
  width: 100%;
  padding: 16px 30px 16px 0;
  font-size: 22px;
  font-weight: 500;
  text-align: left;}
.faq__item-title:hover{color: var(--blue);}
.faq__item-icon{display: flex;
  align-items: center;
  justify-content: center;
  width: 13px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);}
.faq__item-icon::after,.faq__item-icon::before{content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 5px;
  background-color: var(--gray);
  transition: 0.3s;}
.faq__item-icon::after{transform: rotate(90deg);}
.faq__item-content{display: none;
  flex-direction: column;
  border-top: 1px solid #d6d6d6;
  color: var(--gray);
  padding-top: 24px;
  padding-bottom: 16px;
  line-height: 140%;}
.faq__item-content p:first-child{margin-top: 0;}
.faq__item--active .faq__item-icon::after{transform: rotate(0);}
.quiz__form{background-color: #e1f8ff;
  background-image: url(/assets/templates/img/bg/quiz-bg.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  border-radius: 30px;
  min-height: 394px;
  padding: 40px;
  position: relative;
  overflow: hidden;}
.quiz__form::before{content: "";
  position: absolute;
  width: 474px;
  height: 371px;
  background-image: url(/assets/templates/img/bg/quiz-shape.png);
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
  mix-blend-mode: color-burn;}
.quiz__dots{display: flex;
  align-items: center;
  -moz-column-gap: 14px;
  column-gap: 14px;
  position: absolute;
  right: 0;
  top: 0;}
.quiz__dot{width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1px solid var(--blue);}
.quiz__dot--active{background-color: var(--blue);}
.quiz__step{flex-direction: column;
  row-gap: 36px;
  transition: transform 0.3s;
  display: none;}
.quiz__step-button{padding-left: 16px;
  padding-right: 20px;}
.quiz__step--current{display: flex;}
.gallery__slider{max-width: 917px;
  height: 413px;
  overflow: visible;}
.gallery .swiper-wrapper{align-items: center;}
.gallery__caption{font-size: 22px;
  font-weight: 500;}
.abroad__address-item{display: flex;}
.abroad__address-tag{display: flex;
  align-items: center;}
.abroad__address-tag svg{width: 10px;
  height: 12px;
  fill: transparent;
  stroke: var(--white);
  margin-left: 10px;}
.abroad__address-tag--active{background-color: var(--blue);
  color: var(--white);}
.abroad__address-box{position: fixed;
  top: 50%;
  left: 50%;
  box-shadow: 0 16px 24px 0 rgba(50, 50, 71, 0.08),
    0 12px 12px 0 rgba(50, 50, 71, 0.08);
  background: var(--white);
  border-radius: 30px;
  padding: 26px;
  max-width: 361px;
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 31px;
  opacity: 0;
  visibility: hidden;
  z-index: 334;
  transform: translate(-50%, -50%) scale(0.5);
  transition: 0.3s ease-in;}
.abroad__address-box--active{opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);}
.abroad__address-box-close{width: 24px;
  height: 24px;}
.abroad__address-box-close svg{stroke: var(--black);
  transition: 0.3s;}
.abroad__address-box-close svg:hover{stroke: var(--blue);}
.abroad-address-overlay{position: fixed;
  left: 0;
  bottom: 0;
  top: 0;
  right: 0;
  background: rgba(18, 18, 18, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 333;
  transition: 0.3s;}
.terra-today__inner{grid-template-columns: 317px 1fr;}
.terra-today__header{margin-bottom: 0;}
.terra-today__grid{display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: clamp(1.25rem, 1.101rem + 0.61vw, 1.625rem);
  column-gap: clamp(1.25rem, 1.101rem + 0.61vw, 1.625rem);
  row-gap: clamp(1.25rem, 0.828rem + 1.73vw, 2.313rem);}
.terra-today__item{background-color: var(--gray-light);
  padding: 20px 16px;
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;}
.terra-today__item-number{font-size: clamp(2.5rem, 1.755rem + 3.05vw, 4.375rem);
  line-height: 120%;}
.terra-today__item-desc{font-size: 16px;
  line-height: 125%;
  color: var(--gray);
  opacity: 0.6;}
.terra-today__item--rowspan{grid-row: span 2;}
.terra-today__item--stretch{width: 306px;}
.terra-today__join-mobile{display: none;}
.team__scrollbar{height: 4.3px;
  width: 100%;
  background-color: #d6d6d6;
  border-radius: 34px;
  margin-top: 24px;}
.team__scrollbar .swiper-scrollbar-drag{background-color: var(--blue);}
.ecosystem__slider{padding: 80px 0;
  margin: -80px 0;}
.case-cats__list{display: flex;
  flex-wrap: wrap;
  gap: 12px;
  position: relative;
  max-height: 126px;
  overflow: hidden;}
.case-cats__list::before{content: "";
  position: absolute;
  width: 100%;
  height: 60px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, #fff 100%);
  bottom: -5px;}
.case-cats__list-expand{font-weight: 500;
  color: var(--blue);}
.case-cats__list-expand svg{fill: transparent;
  stroke: var(--blue);
  transform: rotate(90deg);
  position: relative;
  top: 1px;
  margin-left: 4px;
  width: 10px;
  height: 10px;}
.case-cats__list-expand:focus svg,.case-cats__list-expand:hover svg{stroke: var(--white);}
.case-cats__list--expanded{max-height: 100% !important;}
.case-cats__list--expanded::before{visibility: hidden;}
.join{padding-top: 150px;}
.page__header{display: flex;
  flex-direction: column;
  margin-bottom: clamp(1.875rem, 1.411rem + 1.9vw, 3.125rem);}
.page__header--center{text-align: center;
  align-items: center;}
.page__title{margin: 0;
  font-size: clamp(1.688rem, 1.154rem + 2.19vw, 3.125rem);
  font-weight: 500;}
.article{display: flex;
  flex-direction: column;
  -moz-column-gap: 30px;
  column-gap: 30px;
  row-gap: 20px;}
.entry{padding-top: 30px;}
.telegram{margin-top: clamp(1.5rem, 0.943rem + 2.29vw, 3rem);}
.contacts__inner{display: grid;
  grid-template-columns: 1fr 545px;
  -moz-column-gap: 40px;
  column-gap: 40px;
  row-gap: 32px;
  padding-top: 10px;}
.contacts__left{display: flex;
  flex-direction: column;
  row-gap: 32px;}
.contacts__items{display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;}
.contacts__features{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;}
.contacts__feature{min-height: 211px;}
.contacts__feature .result__number{font-size: 32px;
  margin-bottom: 16px;}
.contacts__slider{height: clamp(22.188rem, 17.754rem + 18.19vw, 34.125rem);}
.contacts__slider-pagination{position: absolute;
  top: unset !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  z-index: 22;}
.contacts__map-inner{display: grid;
  grid-template-columns: 545px 1fr;
  -moz-column-gap: 40px;
  column-gap: 40px;
  row-gap: 20px;
  align-items: center;}
.contacts__map-info{display: flex;
  flex-direction: column;}
.contacts__map-address{display: flex;
  flex-direction: column;
  font-style: normal;
  row-gap: 16px;
  color: var(--dark);
  margin-bottom: 24px;}
.contacts__map-address-title{display: flex;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
  font-size: 20px;
  font-weight: 500;}
.contacts__map-description{color: var(--dark);
  line-height: 140%;}
.contacts__map-description p:first-of-type{margin-top: 0;}
.contacts__map-iframe iframe{border-radius: 24px;
  border: 0;
  width: 100%;
  height: 245px;}
.contacts__join-decoration--left{left: 3vw;
  top: unset;
  bottom: -46%;
  width: clamp(24.313rem, -10.376rem + 72.36vw, 54.75rem);
  height: clamp(24.313rem, -10.376rem + 72.36vw, 54.75rem);}
.contacts__join-decoration--right{left: unset;
  right: -22vw;
  top: 0;}
.contacts__join-inner{display: grid;
  grid-template-columns: 1fr 407px;
  gap: 40px;}
.contacts__social{display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: clamp(1.625rem, -0.313rem + 3.13vw, 2.5rem);}
.contacts__social-link{width: 100px;
  height: 100px;
  border: 1px solid transparent;}
.contacts__social-link svg{width: 50%;
  height: 50%;}
.contacts__social-link:focus,.contacts__social-link:hover{border-color: var(--blue);}
.steps{overflow: hidden;}
.params{margin: 0;
  padding: 0;
  list-style: none;}
.course__program-items{display: flex;
  flex-direction: column;
  row-gap: clamp(1.25rem, 0.786rem + 1.9vw, 2.5rem);}
.course__program-item-header{display: flex;
  justify-content: space-between;
  text-align: left;
  width: 100%;
  align-items: center;
  -moz-column-gap: 10px;
  column-gap: 10px;}
.course__program-item-content{padding-top: 32px;
  display: none;}
.mentor-card{display: flex;
  flex-direction: column;
  row-gap: 24px;}
.mentor-card__image{width: 100%;
  height: clamp(13.688rem, 10.646rem + 12.48vw, 21.875rem);
  -o-object-fit: cover;
  object-fit: cover;}
.mentor-card__info{display: flex;
  flex-direction: column;
  row-gap: 16px;}
.mentor-card__name{font-size: 20px;
  font-weight: 500;}
.mentor-card__params{display: flex;
  flex-direction: column;
  row-gap: 8px;}
.mentor-card__habits{display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(0.313rem, 0.15rem + 0.67vw, 0.75rem);}
.mentor-card__specs-list{display: flex;
  flex-direction: column;
  row-gap: 16px;}
.mentor-card__description{display: flex;
  flex-direction: column;
  row-gap: 10px;
  font-size: 16px;
  font-weight: 300;}
.mentor-card__description p{margin: 0;}
.mentor-card__links{display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;}
.mentor-card--on-modal{display: none;}
.list{overflow: hidden;}
.list__term{position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 10px;
  column-gap: 10px;
  white-space: nowrap;}
.list__term:not(.list__term--reset)::after{content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgOUw5IDFNMSAxTDkgOSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
  top: 1px;
  transition: 0.3s;}
.list__term:not(.list__term--reset):hover::after{filter: invert(1);}
.list__load-more{max-width: 262px;
  width: 100%;}
.footer{background-color: var(--black);
  padding-top: 37px;
  color: var(--white);
  border-radius: 32px 32px 0 0;}
.footer__top{margin-bottom: 40px;}
.footer__logo{max-width: 146px;
  width: 100%;}
.footer__social{display: flex;
  align-items: center;
  -moz-column-gap: 40px;
  column-gap: 40px;
  margin-top: 57px;}
.footer__bottom{display: flex;
  -moz-column-gap: 20px;
  column-gap: 20px;
  justify-content: space-between;
  padding-bottom: 50px;}
.footer__item{width: 100%;}
.footer__item--description{max-width: 374px;}
.footer__item--contacts{max-width: 330px;
  display: flex;
  flex-direction: column;
  row-gap: 21px;}
.footer__item--subscribe{max-width: 360px;}
.footer__description{opacity: 0.6;}
.footer__contacts{display: flex;
  flex-direction: column;
  row-gap: 21px;
  font-size: 14px;}
.footer a.footer__contact{color: var(--white);}
.footer a.footer__contact:hover{color: var(--blue);}
.footer__contact{display: flex;
  align-items: center;
  -moz-column-gap: 12px;
  column-gap: 12px;}
.footer__contact svg{flex-shrink: 0;
  fill: var(--white);}
.footer__contact--address{align-items: flex-start;}
.footer__app,.footer__apps{display: flex;
  align-items: center;
  -moz-column-gap: 21px;
  column-gap: 21px;}
.footer__app-item{width: 30px;
  height: 30px;
  display: inline-block;
  border-radius: 8px;
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;}
.footer__app-item--appstore{background-color: #1ca5f9;}
.footer__app-item:hover{opacity: 0.7;}
.footer__app-link{color: var(--white);}
.footer__app-link:hover{color: var(--blue);}
.footer__bot-link{font-family: EuclidCircular, sans-serif;
  font-weight: 400;
  height: 40px;
  padding: 0 24px;}
.footer__bot-link svg{stroke: none;}
.footer__bot-link:hover{color: var(--white);}
.footer__subscribe-title{opacity: 0.6;
  max-width: 300px;
  margin-bottom: 29px;}
.footer__subscribe-form{display: flex;
  flex-direction: column;
  row-gap: 20px;}
.footer__subscribe-field{height: 62px;
  background-color: var(--white);
  padding: 0 16px;
  width: 100%;
  border: none;
  border-radius: 12px;
  outline: 0;}
.footer__subscribe-submit{justify-content: center;
  width: 100%;
  height: 54px;}
.footer__copyright{padding: 22px 0;
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);}
.footer__copyright-link{text-transform: uppercase;
  color: var(--white);
  opacity: 0.6;}
.footer__copyright-link:hover{opacity: 1;}
.modal{position: fixed;
  left: 0;
  bottom: 0;
  top: 0;
  right: 0;
  background: rgba(18, 18, 18, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;}
.modal__close{top: 15px;
  right: 15px;
  position: absolute;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  z-index: 2;}
.modal__close::after,.modal__close::before{content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 10px;
  background-color: var(--black);}
.modal__close::before{transform: rotate(-45deg);}
.modal__close::after{transform: rotate(45deg);}
.modal__close:focus::after,.modal__close:focus::before,.modal__close:hover::after,.modal__close:hover::before{background-color: var(--blue);}
.modal--active{opacity: 1;
  visibility: visible;}
.mentor-preview__header{display: flex;
  align-items: center;
  gap: 16px;}
.mentor-preview__body{display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;}
.mentor-preview__info{padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 16px;}
.mentor-preview .mentor-card__name{flex-shrink: 0;}
.mentor-preview .modal__close{top: 10px;
  right: 10px;
  background-color: var(--white);
  border-radius: 50%;}
.mentor-preview .modal__close::after,.mentor-preview .modal__close::before{width: 70%;}
.mentor-preview__slider{height: 100%;}
.mentor-preview .swiper-slide{display: flex;
  height: auto;}
.mentor-preview .swiper-slide img{width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;}
.mentor-preview__slider-pagination{position: absolute;
  z-index: 2;
  margin-bottom: 15px;}
@media (max-width: 1366px){
.intro--inner:not(.v2) .intro__info{max-width: 70%;}
.intro__img:not(.small){right: -13%;}
.mission__inner{grid-template-columns: 1fr minmax(200px, 600px);}
.quiz__form{background-size: cover;
    background-position: -100% bottom;}
.terra-today__grid{grid-template-columns: repeat(3, 1fr);}
.terra-today__item--stretch{width: auto;}
.terra-today__item--rowspan{grid-area: 3/1/3/4;}
.contacts__inner{display: flex;
    flex-direction: column;}
.contacts__social{grid-template-columns: repeat(4, 1fr);}
.contacts__join-inner{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 1170px){
.section__half{grid-template-columns: 310px 1fr;}
.cases__card--colspan,.cases__heading{grid-column: span 3;}
.mission__inner{grid-template-columns: 1fr 1fr;}
}
@media (max-width: 992px){
.hide-md{display: none;}
.terra-btn--58{height: clamp(2.75rem, 2.218rem + 2.27vw, 3.625rem);}
.section__header{margin-bottom: clamp(1.875rem, 1.115rem + 3.24vw, 3.125rem);}
.section__header-line{width: 205px;
    left: 0;}
.section__title{font-size: clamp(1.688rem, 1.346rem + 1.46vw, 2.25rem);}
.section__half{grid-template-columns: 1fr;}
.header__bottom--active{transform: translateX(0);}
.header__nav-item{width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;}
.header__nav-item-toggle{display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    position: absolute;
    right: 10px;
    top: -8px;
    z-index: 222;}
.header__nav-item-toggle svg{position: relative;
    right: 5px;}
.header__nav-item.nav__item--active .header__nav-item-toggle svg{transform: rotate(-90deg);}
.video__play{width: 60px;
    height: 60px;}
.quote__text{font-size: 16px;}
.intro{padding-top: 130px;
    padding-bottom: 50px;
    min-height: unset;
    height: auto;}
.intro__info{max-width: 100%;}
.intro--inner:not(.v2) .intro__info{max-width: 100%;}
.intro.v2 .intro__inner{grid-template-columns: 1fr;}
.intro.v2 .intro__info{display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
    gap: 30px;}
.intro.v2 .intro__title{grid-column: 1/-1;}
.intro.v2 .intro__features{grid-template-columns: repeat(1, 1fr);}
.intro.v2 .intro__link{max-width: 100%;}
.intro.intro-slider .intro__right{-webkit-clip-path: unset;
    clip-path: unset;
    margin: 0;
    padding: 0;}
.cases__blocks{gap: 15px;}
.mission{background-position: bottom right;
    background-size: 200px;}
.mission__inner{grid-template-columns: 1fr;
    row-gap: 20px;}
.mission__content{font-size: 16px;}
.mission__video{order: -1;
    height: clamp(18.75rem, 12.976rem + 24.64vw, 28.25rem);}
.faq__items{row-gap: 10px;}
.faq__item-title{font-size: clamp(1.125rem, 0.973rem + 0.65vw, 1.375rem);}
.navigation__inner{display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 20px;
    column-gap: 20px;
    row-gap: 32px;}
.navigation__item-title{margin-bottom: 16px;}
.footer__bottom{display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;}
.footer__item--subscribe{max-width: 100%;
    grid-column: span 2;}
.contacts__map-inner{grid-template-columns: repeat(2, 1fr);}
.filter-form{position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    background: var(--white);
    z-index: 222;
    padding: 15px;
    transform: translateX(-100%);
    opacity: 0;
    visibility: visible;
    overflow: auto;
    transition: 0.3s;}
.filter-form--active{opacity: 1;
    visibility: visible;
    transform: translateX(0);}
.mentor-preview .swiper-slide{height: 330px;}
.mentor-preview__header{flex-direction: column;
    align-items: flex-start;}
}
@media (max-width: 850px){
.section__header{row-gap: 12px;}
.section-gap{padding: 40px 0;}
.section-gap-bottom{padding-bottom: 40px;}
.hide-sm{display: none;}
.show-sm-flex{display: flex;}
.container{padding: 0 15px;}
.intro__subtitle{max-width: 500px;}
.intro__features{grid-template-columns: 1fr;}
.cases__card{grid-column: span 3;
    padding: 24px 20px;}
.cases__card.card--has-tags .card__tags{justify-content: flex-start;}
.cases__card.card--has-tags .card__tag{font-size: 16px;}
.cases__card.card--has-tags .card__info-inner{flex-direction: column;
    row-gap: 16px;}
.projects__slider{padding-right: 30px;}
.projects .swiper-wrapper{padding-left: 15px;}
.quiz__form{background-image: unset;
    min-height: 530px;
    padding: 30px;}
.quiz__dots{top: -5px;
    left: 0;
    -moz-column-gap: 10px;
    column-gap: 10px;}
.mission__link{margin-left: auto;
    margin-right: auto;}
.gallery__slider{height: clamp(15.625rem, 9.927rem + 24.31vw, 25rem);}
.gallery__caption{font-size: clamp(1rem, 0.772rem + 0.97vw, 1.375rem);
    max-width: 70%;}
.terra-today__join:not(.terra-today__join-mobile){display: none;}
.terra-today__join-mobile{display: flex;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;}
.team__slider{padding-right: 30px;}
.team .swiper-wrapper{padding-left: 15px;}
.ecosystem__slide{max-width: 260px;}
.ecosystem__slider{padding-right: 30px;}
.ecosystem__slider-container{padding: 0;}
.ecosystem .swiper-wrapper{padding-left: 15px;}
.case-cats__list{max-height: 264px;}
.entry{padding-top: 0;}
.contacts__map-inner{grid-template-columns: 1fr;}
.contacts__social{max-width: 352px;
    grid-template-columns: repeat(3, 1fr);}
.contacts__social-item:last-child{grid-area: 3/2;}
.contacts__join-inner{grid-template-columns: 1fr;}
.contacts__join-decoration--left{left: -63vw;
    bottom: 2%;}
.testimonials__slider{padding-left: 15px;}
}
@media (max-width: 753px){
.intro.v2 .intro__info{grid-template-columns: 1fr;}
.navigation__item{width: 100%;}
.navigation__item:first-child,.navigation__item:last-child{grid-column: span 2;}
.contacts__features,.contacts__items{grid-template-columns: 1fr;}
.course__program-item-header{position: relative;}
.footer__top{margin-bottom: 20px;}
.footer__social{margin-top: 24px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    justify-content: center;}
.footer__bottom{grid-template-columns: repeat(1, 1fr);
    row-gap: 20px;
    padding-bottom: 30px;}
.footer__item--contacts{border-top: 1px solid rgba(255, 255, 255, 0.2);
    max-width: 100%;
    padding-top: 32px;}
.footer__item--description{max-width: 100%;}
.footer__item--subscribe{grid-area: auto;}
.footer__copyright{border-top: 0;
    flex-wrap: wrap;
    row-gap: 30px;}
}
@media (max-width: 576px){
.section__header-right{-moz-column-gap: 30px;
    column-gap: 30px;}
.xs-stretch{max-width: 100%;
    width: 100%;
    justify-content: center;}
.slider-nav{-moz-column-gap: 30px;
    column-gap: 30px;}
.cases__card--colspan{min-height: 404px;}
.quiz__step-button{flex-grow: 1;
    justify-content: center;}
.stories__inner{padding: 0;}
.stories__slider{padding-right: 30px;}
.stories .swiper-wrapper{padding: 50px 0 50px 15px;
    margin: -50px 0;}
.stories__slide{max-width: 280px;}
.terra-today__grid{grid-template-columns: repeat(2, 1fr);}
.terra-today__item--rowspan{grid-area: unset;
    order: 1;
    grid-column: 1/-1;}
}
@media (max-width: 400px){
.intro{padding-top: 160px;}
}
@media (min-width: 851px){
.show-sm-flex{display: none;}
}
@media (min-width: 993px){
#nav-toggle{display: none;}
}
@media (min-width: 1920px){
.intro{max-height: 900px;}
}
.cases-card__link{color: #fff;}
.partners{display: flex;
  align-items: center;
  gap: 20px;

  overflow-x: auto;}

/* /assets/templates/css/new.css?v=30 */
/* Собрано _материалы/scripts/purge_legacy_css.py из _материалы/css-ishodniki/new.css:
   только правила, которые нужны страницам сайта. Править в исходнике. */
@font-face{font-family:"CeraPro";src:url(/assets/home/assets/onest-variable.woff2) format('woff2');font-weight:100 900;font-display:swap}
.input--blank{display: none;}
@media (max-width: 992px){
.filter-form{width: 100vw;}
}
@media (max-width: 850px){
.contacts__social-item:last-child{grid-area: auto;}
}
.popups{position: fixed;
  z-index: 999;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  overflow-y: hidden;}
.popups._active{opacity: 1;
  visibility: visible;}
.popups__body{min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow-y: auto;
  max-height: 800px;}
.popups__content{width: auto;
  background: #fff;
  -webkit-box-shadow: 0.4rem 0.4rem 1.4rem 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0.4rem 0.4rem 1.4rem 0 rgba(0, 0, 0, 0.25);
  position: relative;
  margin: 20px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;}
.popups__close{cursor: pointer;
  position: absolute;
  top: 10px;
  right: 25px;
  z-index: 100;}
.offers{background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("/assets/templates/img/bg/modal.webp");
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  max-width: 1200px;
  font-family: "CeraPro";
  margin: 0 auto;
  position: relative;}
.offers__content{display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  padding: 35px;}
.offers__column{-webkit-box-flex: 1;
  -ms-flex: 1 1 33.333%;
  flex: 1 1 33.333%;
  position: relative;}
.offers__column:nth-child(2){display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;}
.offers__column:nth-child(3){display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;}
.offers__title{font-family: "CeraPro";
  font-size: 40px;
  font-weight: 500;
  line-height: 100%;
  margin-bottom: 20px;
  color: #fff;}
.offers__title span{font-weight: 300;
  font-size: 26px;
  line-height: 100%;
  display: block;
  margin-top: 10px;}
.offers__list{padding-left: 20px;
  font-size: 14px;}
.offers__column ol{list-style: decimal;}
.offers__list li{margin-bottom: 10px;}
.offers__text{margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  font-size: 22px;
  line-height: 110%;
  gap: 30px;
  max-width: 380px;}
.offers__text svg{-webkit-box-flex: 0;
  -ms-flex: 0 0 40px;
  flex: 0 0 40px;}
.offers__column img{width: 100%;
  height: auto;}
.offers__subtitle{font-size: 32px;
  font-weight: 500;
  line-height: 110%;
  margin-bottom: 15px;}
.offers__text-bold{font-weight: 600;
  margin-bottom: 10px;}
.offers__button{margin-top: 35px;
  margin-bottom: 15px;
  background: #d8b56d;
  color: #fff;
  position: relative;
  overflow: hidden;
  font-size: 16px;
  padding: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;}
.offers .checkbox{display: flex;
  align-items: center;
  margin-bottom: 10px;
  cursor: pointer;
  position: relative;}
.offers .checkbox__input{display: none;
  position: absolute;
  opacity: 0;
  top: 50%;
  height: 0;
  margin: 0;}
.offers .checkbox__label{cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;}
.offers .checkbox__label::before{-webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: "";
  -ms-flex-item-align: start;
  align-self: flex-start;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 14px;
  flex: 0 0 14px;
  height: 14px;
  background-color: #f3f3f3;
  border: 1px solid #d8b56d;
  margin: 0 1rem 0 0;}
.offers .checkbox__input:checked + .checkbox__label::before{background: #d8b56d;}
.offers .checkbox__label::after{content: "";
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  -ms-flex-item-align: start;
  align-self: flex-start;
  position: absolute;
  top: 3px;
  left: 2px;
  background-image: url("/assets/templates/img/checks.svg");
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 1rem;
  flex: 0 0 1rem;
  width: 10px;
  height: 10px;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  z-index: 11;}
.offers .checkbox__input:checked + .checkbox__label::after{-webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);}
.offers .checkbox__label span{color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;}
.offers .checkbox__label a{color: #d8b56d;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;}
@media (max-width: 1200px){
.popups__body{margin-bottom: 120px;}
.popups__content{margin: 40px 0;
    max-height: 700px;}
.offers{max-width: 700px;
    background-position: center;}
.offers__content{-webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;}
.offers__column{-webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 100%;}
.offers__column:nth-child(1){padding: 30px 0;}
.offers__column:nth-child(2){-webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    max-width: 400px;
    margin-left: auto;
    margin-top: -200px;}
.offers__column:nth-child(3){-webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;}
.offers__title{font-size: 28px;}
.offers__text{font-size: 20px;
    gap: 10px;}
.offers__column img{width: 300px;}
.offers__subtitle{font-size: 22px;}
}
@media (max-width: 992px){
.popups__content{width: auto;}
}
@media (max-width: 768px){
.popups__body{padding: 0;
    overflow-x: hidden;}
.popups__content{max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden !important;}
.offers__column:nth-child(2){max-width: 320px;
    margin-right: -50px;}
.offers__column:nth-child(3){position: relative;
    z-index: 10;}
.offers__column img{width: 250px;}
.offers .checkbox__label span{font-size: 14px;}
}
@media (max-width: 500px){
.popups__content{margin: 0 0 40px;}
.offers__content{padding-bottom: 30px;}
.offers__column{padding-top: 50px;}
.offers__column:nth-child(2){display: none;}
.offers__column:nth-child(3){padding-top: 0;}
.offers__title{font-size: 22px;}
.offers__title span{font-size: 18px;}
.offers__text{font-size: 16px;
    max-width: 280px;}
.offers__subtitle{font-size: 20px;}
}
@media (max-width: 450px){
#popupsOffer .popups__body{align-items: center;}
#popupsOffer .popups__content{margin: 0;}
.offers__content{padding: 0 20px;
    padding-bottom: 10px;}
.offers__column:nth-child(1){padding: 30px 0 15px;}
.offers__title{font-size: 22px;
    margin-top: 15px;
    margin-bottom: 0px;}
.offers__title span{font-size: 15px;
    line-height: 130%;}
.offers__list li{font-weight: 300;
    font-size: 14px;}
.offers__text{margin-top: 0;
    font-size: 16px;
    max-width: 270px;}
.offers__text svg{-webkit-box-flex: 0;
    -ms-flex: 0 0 30px;
    flex: 0 0 30px;
    height: 30px;}
.offers__subtitle{font-size: 22px;}
.offers__text-bold{font-weight: 500;
    margin-bottom: 0;
    font-size: 14px;}
.offers__button{margin-top: 0;
    padding: 15px 10px;
    width: 100%;}
.offers .checkbox__label span{font-size: 12px;}
.offers .checkbox__label a{font-size: 12px;}
}
@media (max-width: 420px){
.offers__button{width: 100%;
    max-width: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;}
}
@media (max-width: 400px){
.offers__content{padding: 0 20px;
    padding-bottom: 10px;}
.offers__column:nth-child(1){padding: 30px 0 15px;}
.offers__title{font-size: 18px;}
.offers__title span{font-size: 14px;
    line-height: 130%;}
.offers__list li{font-weight: 300;
    font-size: 12px;}
.offers__text{margin-top: 0;
    font-size: 14px;
    max-width: 240px;}
.offers__text svg{-webkit-box-flex: 0;
    -ms-flex: 0 0 30px;
    flex: 0 0 30px;
    height: 30px;}
.offers__subtitle{font-size: 18px;}
.offers__text-bold{font-weight: 500;
    margin-bottom: 0;
    font-size: 14px;}
.offers__button{margin-top: 0;
    padding: 15px 10px;}
.offers .checkbox__label span{font-size: 12px;}
.offers .checkbox__label a{font-size: 12px;}
}
@media (max-width: 390px){
.offers__button{font-size: 14px;
    width: 100%;
    max-width: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 10px;}
}
@media (max-width: 350px){
.offers__content{padding: 0 15px;}
}
.author-thumbs-swiper-wrapper > .swiper-slide{margin: 0 5px;
  width: 84px;
  height: 100px;
  cursor: pointer;}
.author-thumbs-swiper-wrapper > .swiper-slide > img{border: 2px solid #fff;
  transition-duration: 400ms;}
.author-thumbs-swiper-wrapper > .swiper-slide.swiper-slide-thumb-active > img{border: 2px solid var(--blue);}
.gallery{display: flex;
  flex-wrap: wrap;
  gap: 20px;}
.rutube-frame{display: none;
  width: 100%;
  height: 400px;
  border: none;
  border-radius: 16px;
  overflow: hidden;}
@media (min-width: 1920px){
.intro{max-height: unset;}
}
.intro{padding-bottom: 50px;}
.breadcrumb{padding: 8px 15px;
  margin-bottom: 20px;
  list-style: none;
  background-color: #ffffff;
  border-radius: 4px;}
.breadcrumb > li{display: inline-block;}
.breadcrumb > li + li:before{content: "/\00a0";
  padding: 0 5px;
  color: #cccccc;}
.breadcrumb > .active{color: #777777;}
.policy{display: flex;
  align-items: center;
  gap: 8px;}
.policy__text{font-size: 12px;
  color: #fff;}
.policy a{color: inherit;
  text-decoration: underline;}
.online{display: flex;
  align-items: flex-start;
  gap: 12px;}
.mentor-card__links{justify-content: space-between;}
.card{min-height: unset;
  height: 284px;}
@media (max-width: 768px){
.card{height: auto;}
}
.mission__video{cursor: pointer;}
.cookies-block{display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 1000;}
.cookies-block .content{background: #fff;
  position: relative;
  border-radius: 4px 4px 0 0;
  box-shadow: 0px 3.83466px 43.1399px #f1f1f1;
  padding: 25px 160px 25px 38px;}
.cookies-block .content p{font-size: 14px;
  line-height: 27px;
  margin: 0;
  color: #202229 !important;}
.cookies-block .content p a{color: #202229 !important;}
.cookies-block .content button{position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 80px;
  background: #626262;
  color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  width: 70px;
  height: 45px;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 15;
  cursor: pointer;}
@media (max-width: 767px){
.cookies-block .content{padding: 15px;}
.cookies-block .content button{margin-top: 15px;
    position: static;
    transform: none;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;}
}
.hidden{display: none !important;}
.infobanner{position: relative;
  padding: 60px;
  background-color: #9181ff;
  border-radius: 30px;
  overflow: hidden;}
.infobanner__svg{position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;}
.infobanner__inner{position: relative;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;}
.infobanner__title{position: relative;
  padding: 8px 12px;
  background-color: #bcff6e;
  font-weight: 600;
  font-size: 32px;
  line-height: 120%;
  color: #4a4a4a;}
.infobanner__float{position: absolute;
  top: -20px;
  right: -34px;
  padding: 6px 10px;
  background-color: #ff6ea6;
  border-radius: 10000px;
  font-weight: 500;
  font-size: 14px;
  line-height: 140%;
  color: #fff;
  transform: rotate(15deg);}
.infobanner__wrapper{display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;}
.infobanner__subtitle{font-weight: 600;
  font-size: 36px;
  line-height: 120%;
  text-align: center;
  color: #fff;}
.infobanner__text{max-width: 490px;
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  text-align: center;
  color: #fff;}
.infobanner__button{display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 285px;
  height: 60px;
  background-color: #ffdb00;
  border-radius: 12px;
  font-weight: 500;
  font-size: 16px;
  line-height: 130%;
  text-align: center;
  color: #202229;}
@media (max-width: 640px){
.infobanner{padding: 32px 20px;}
.infobanner__title{font-size: 28px;}
.infobanner__float{right: -15px;}
.infobanner__subtitle{font-size: 30px;}
}
.mail-wrapper{display: flex;
  align-items: center;
  flex-direction: row !important;
  gap: 5px;}
.email-copy__wrapper{width: 10px;
  height: 10px;
  cursor: pointer;
  display: flex;
  position: relative;}
.intro.intro-slider .intro__right{margin-left: -20px;
  padding-left: 20px;
  clip-path: inset(-100vw -100vw -100vw 0);}
.intro__slider{margin-left: 10px;
    overflow: visible;}
.intro__slide{max-width: clamp(18.75rem, 12.002rem + 10.88vw, 25.063rem);
    height: clamp(25rem, 17.784rem + 11.64vw, 31.75rem);
    border-radius: 20px;
    overflow: hidden;
    transition: 0.3s;}
.intro__slide.swiper-slide-active{height: clamp(28.313rem, 18.291rem + 16.16vw, 37.688rem);}
.intro__slide-img{border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;}

/* /assets/home/terra-site-nav.css?v=131-hero */
@font-face{font-family:TerraNav;src:url('/assets/home/assets/onest-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--tsn-h:84px;--tsn-shell:min(100% - 64px,1840px);--tsn-bg:rgba(6,17,31,.95);--tsn-panel:#06131f;--tsn-line:rgba(164,199,228,.16);--tsn-text:#edf5fb;--tsn-muted:#91a7ba;--tsn-accent:#8ac7f3;--tsn-gold:#d6ae63}
body.tsn-lock{overflow:hidden}
/* Страницы без первого экрана: раньше шапка стояла в потоке и раздвигала
   содержимое, новое меню закреплено сверху. Без этого отступа хлебные крошки
   и заголовок уезжают под меню. Признак ставит build_site_nav.py. */
body[data-tsn-offset]{padding-top:var(--tsn-h)}
/* Фильтр афиши на телефоне закреплён у верхнего края экрана и уезжал под меню */
main .list__filter{top:var(--tsn-h)}
[data-terra-site-nav]{min-height:0}
.tsn,.tsn *{box-sizing:border-box}
.tsn{position:fixed!important;z-index:10000;inset:0 0 auto!important;height:var(--tsn-h);margin:0!important;color:var(--tsn-text);font-family:TerraNav,Arial,sans-serif;background:var(--tsn-bg);border:0!important;border-bottom:1px solid var(--tsn-line)!important;box-shadow:0 12px 45px rgba(0,8,17,.13);backdrop-filter:blur(26px) saturate(125%);-webkit-backdrop-filter:blur(26px) saturate(125%)}
.tsn a{color:inherit!important;text-decoration:none!important}
.tsn button,.tsn input{font:inherit}
.tsn-bar{position:relative;z-index:4;width:var(--tsn-shell);height:100%;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(25px,2.4vw,52px)}
.tsn-brand{display:flex;align-items:center;min-width:max-content}
.tsn-brand__image{display:block;width:auto;height:64px;object-fit:contain}
.tsn-primary{height:100%;display:flex;justify-content:center;align-items:stretch;gap:clamp(24px,2.1vw,44px)}
.tsn-item{position:relative;display:flex;align-items:stretch}
.tsn-trigger-row{display:flex;align-items:center}
.tsn-link{position:relative;display:flex;align-items:center;height:100%;white-space:nowrap;color:#b9c9d8!important;font-size:14px;font-weight:400;letter-spacing:0;transition:color .2s}
.tsn-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--tsn-gold);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.tsn-item:hover .tsn-link,.tsn-item.is-open .tsn-link,.tsn-item.is-current .tsn-link,.tsn-link:focus-visible{color:#fff!important}
.tsn-item.is-open .tsn-link:after,.tsn-item.is-current .tsn-link:after{transform:scaleX(1)}
.tsn-trigger{width:26px;height:44px;margin-left:2px;padding:0;border:0;background:transparent;color:#718ba1;display:grid;place-items:center;cursor:pointer}
.tsn-trigger svg{width:12px;height:12px;transition:transform .25s ease,color .2s}
.tsn-item.is-open .tsn-trigger svg{transform:rotate(180deg);color:#dceaf5}
.tsn-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:max-content}
.tsn-tool{height:43px;padding:0 11px;border:0;background:transparent;color:#a8bac9;display:flex;align-items:center;gap:7px;cursor:pointer;transition:color .2s,background .2s}
.tsn-tool:hover,.tsn-tool:focus-visible,.tsn-tool[aria-expanded="true"]{color:#fff;background:rgba(173,207,235,.08)}
.tsn-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.tsn-tool span{font-size:13px}
/* Главная кнопка меню. Была контурной и терялась на тёмной шапке: рядом
   с обычными пунктами её не читали как действие. Теперь залита светлым,
   как основные кнопки на страницах. */
.tsn a.tsn-cta,
.tsn-cta{height:44px;padding:0 20px;border:1px solid #fff;border-radius:4px;display:flex;align-items:center;justify-content:center;background:#fff;color:#0b1f36!important;font-size:14px;font-weight:500;letter-spacing:0;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s}
.tsn a.tsn-cta:hover,.tsn a.tsn-cta:focus-visible,
.tsn-cta:hover,.tsn-cta:focus-visible{background:#dfe9f3;color:#0b1f36!important;border-color:#dfe9f3}
.tsn-menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(183,215,241,.25);background:transparent;color:#fff;position:relative;cursor:pointer}
.tsn-menu-toggle i{position:absolute;left:13px;right:13px;height:1px;background:currentColor;transition:transform .25s,top .25s}.tsn-menu-toggle i:first-child{top:18px}.tsn-menu-toggle i:last-child{top:27px}.tsn-menu-toggle[aria-expanded="true"] i:first-child{top:22px;transform:rotate(45deg)}.tsn-menu-toggle[aria-expanded="true"] i:last-child{top:22px;transform:rotate(-45deg)}
.tsn-scrim{position:fixed;z-index:1;inset:var(--tsn-h) 0 0;background:rgba(0,8,16,.48);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}
.tsn.has-layer .tsn-scrim{opacity:1;visibility:visible;pointer-events:auto}
.tsn-mega,.tsn-overlay{position:fixed;z-index:3;left:0;right:0;top:var(--tsn-h);max-height:calc(100svh - var(--tsn-h));overflow:auto;background:var(--tsn-panel);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(160,197,228,.2);box-shadow:0 35px 80px rgba(0,7,16,.42);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1),visibility .22s}
.tsn-item.is-open .tsn-mega,.tsn-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.tsn-mega__inner{width:var(--tsn-shell);margin:0 auto;padding:43px 0 37px;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(220px,.65fr) minmax(300px,1fr);gap:clamp(44px,6vw,110px)}
.tsn-mega__intro{display:flex;flex-direction:column;align-items:flex-start}
.tsn-kicker{margin-bottom:16px;color:#8fa5bb;font-size:14px;font-weight:500;letter-spacing:0}
.tsn-kicker:has(+strong){display:none}
.tsn-mega__intro strong{max-width:510px;font-size:clamp(26px,1.9vw,34px);font-weight:400;line-height:1.15;letter-spacing:-.02em;color:#fff}
.tsn-mega__intro p{max-width:490px;margin:16px 0 24px;color:#b9c9d8;font-size:15px;line-height:1.65}
.tsn-arrow-link{display:inline-flex;align-items:center;gap:12px;padding-bottom:6px;border-bottom:1px solid rgba(166,204,233,.27);color:#e7f1f8!important;font-size:14px}.tsn-arrow-link span{color:var(--tsn-gold)}
.tsn-link-list{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.tsn-link-list small{margin-bottom:10px;color:#8fa5bb;font-size:14px;font-weight:500;letter-spacing:0}
.tsn-link-list a{position:relative;width:100%;padding:8px 0;color:#d6e2ee!important;font-size:16px;transition:color .2s,padding-left .25s ease}.tsn-link-list a:before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--tsn-gold);transition:width .25s ease}
.tsn-link-list a:hover:before,.tsn-link-list a:focus-visible:before{width:12px}
.tsn-link-list a:hover,.tsn-link-list a:focus-visible{padding-left:22px;color:#fff!important}
.tsn-feature{position:relative;min-height:190px;padding:26px 28px;border:1px solid rgba(155,196,230,.18);background:linear-gradient(130deg,rgba(25,67,99,.5),rgba(7,24,39,.2));overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.tsn-feature:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(132,195,240,.2);border-radius:50%;right:-82px;top:-112px;box-shadow:0 0 0 42px rgba(132,195,240,.025)}
.tsn-feature>*{position:relative;z-index:1}.tsn-feature small{color:#8fa5bb;font-size:14px;font-weight:500}.tsn-feature strong{max-width:430px;font-size:21px;font-weight:480;line-height:1.25}.tsn-feature p{max-width:430px;margin:7px 0 0;color:#8fa6b8;font-size:14px;line-height:1.55}.tsn-feature a{font-size:13px;color:#e5f1f9!important}.tsn-feature--gold{background:linear-gradient(130deg,rgba(105,73,34,.36),rgba(7,24,39,.15))}.tsn-feature--gold:after{border-color:rgba(216,175,98,.28)}
/* Четыре уровня квадратом 2 × 2: «Опора» с доходом от 1 млн (Михаил, 18.10.2026) */
.tsn-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(155,190,220,.14);border-left:1px solid rgba(155,190,220,.14)}
.tsn-levels a{min-height:82px;padding:17px;border-right:1px solid rgba(155,190,220,.14);border-bottom:1px solid rgba(155,190,220,.14);display:flex;flex-direction:column;justify-content:space-between}.tsn-levels small{color:#8fa5bb;font-size:14px}.tsn-levels strong{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500}
.tsn-levels strong:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tsn-gold)}.tsn-levels a:hover{background:rgba(137,193,234,.06)}
.tsn-overlay__inner{width:var(--tsn-shell);margin:0 auto;padding:42px 0 38px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:70px;align-items:start}
.tsn-search-form{position:relative;border-bottom:1px solid rgba(181,213,239,.35)}
.tsn-search-form input{width:100%;padding:4px 56px 18px 0;border:0;outline:0;background:transparent;color:#fff;font-size:clamp(28px,3vw,48px);font-weight:380;letter-spacing:-.04em}.tsn-search-form input::placeholder{color:#698196}.tsn-search-form button{position:absolute;right:0;bottom:15px;width:40px;height:40px;border:0;background:transparent;color:#a9c6dd;cursor:pointer}.tsn-search-form svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.tsn-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;margin-top:25px}.tsn-suggestions a{padding:13px 0;border-bottom:1px solid rgba(155,190,220,.1);display:flex;justify-content:space-between;gap:14px;color:#b8c8d5!important;font-size:15px}.tsn-suggestions small{color:#8fa5bb;font-size:14px}.tsn-suggestions a[hidden]{display:none}
.tsn-app-card{padding:25px;border:1px solid rgba(155,196,230,.17)}.tsn-app-card strong{display:block;font-size:24px;font-weight:400;line-height:1.15;letter-spacing:-.02em}.tsn-app-card p{margin:10px 0 20px;color:#8fa5b8;font-size:14px;line-height:1.55}.tsn-store-links{display:flex;gap:8px}.tsn-store-links a{padding:11px 13px;border:1px solid rgba(178,210,235,.22);font-size:12px;color:#e7f1f8!important}
.tsn-layer-close{position:absolute;right:32px;top:22px;width:38px;height:38px;border:0;background:transparent;color:#91a9bc;font-size:22px;cursor:pointer}
/* Фон мобильного меню сплошной: полупрозрачный под шапкой с размытием (backdrop-filter)
   пропускал текст страницы, он просвечивал между пунктами. */
.tsn-mobile{display:none}
.tsn :focus-visible{outline:2px solid #d4aa61!important;outline-offset:3px!important}

@media(max-width:1380px){
  :root{--tsn-shell:min(100% - 44px,1840px)}
  .tsn-primary{gap:15px}.tsn-link{font-size:13px}.tsn-tool span{display:none}.tsn-tool{padding-inline:8px}.tsn-cta{padding-inline:14px}.tsn-bar{gap:22px}
}
@media(max-width:1120px){
  :root{--tsn-h:72px;--tsn-shell:calc(100% - 32px)}
  .tsn-bar{display:flex;gap:18px}.tsn-brand__image{height:55px}.tsn-primary,.tsn-tool,.tsn-cta{display:none}.tsn-tools{margin-left:auto}.tsn-menu-toggle{display:block}
  .tsn-scrim{top:var(--tsn-h)}
  .tsn-mobile{position:fixed;z-index:3;left:0;right:0;top:var(--tsn-h);height:calc(100svh - var(--tsn-h));padding:0 16px 24px;background:#06111f;overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(100%);transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1),visibility .25s}
  .tsn-mobile.is-open{display:block;opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .tsn-mobile__search{position:sticky;top:0;z-index:2;padding:18px 0 12px;background:rgba(4,14,24,.97)}
  .tsn-mobile__search form{display:flex;border:1px solid rgba(163,200,230,.18)}.tsn-mobile__search input{width:100%;min-width:0;padding:14px;border:0;outline:0;background:transparent;color:#fff;font-size:14px}.tsn-mobile__search button{width:50px;border:0;background:transparent;color:#9bb9ce}.tsn-mobile__search svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
  .tsn-mobile__direct,.tsn-mobile summary{min-height:61px;padding:0 3px;border-bottom:1px solid rgba(155,190,220,.13);display:flex;align-items:center;justify-content:space-between;color:#e8f1f8!important;font-size:20px;list-style:none;cursor:pointer}.tsn-mobile summary::-webkit-details-marker{display:none}.tsn-mobile summary:after{content:"+";color:#7896ad;font-size:24px;font-weight:300}.tsn-mobile details[open] summary:after{content:"−"}
  .tsn-mobile__sub{padding:7px 0 15px}.tsn-mobile__sub a{display:flex;align-items:center;min-height:43px;padding:0 12px;color:#9fb2c1!important;font-size:16px}
  .tsn-mobile__foot{margin-top:20px;padding-top:20px;border-top:1px solid rgba(155,190,220,.13);display:grid;gap:10px}.tsn a.tsn-mobile__cta{min-height:58px;border-radius:4px;background:#fff;color:#0b1f36!important;display:flex;align-items:center;justify-content:center;font-size:15px}.tsn-mobile__apps{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tsn-mobile__apps a{min-height:46px;border:1px solid rgba(155,190,220,.18);display:grid;place-items:center;color:#b9cad6!important;font-size:12px}.tsn-mobile__meta{padding:14px 0 8px;display:flex;justify-content:space-between;gap:18px;color:#647f94;font-size:11px}
  .tsn-mega,.tsn-overlay{display:none!important}
}
@media(max-width:420px){.tsn-brand__image{height:51px}.tsn-mobile__meta{flex-direction:column;gap:6px}.tsn-mobile__apps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tsn *{scroll-behavior:auto!important;transition:none!important}}
.tsn-item>.tsn-link{margin-right:28px}

/* Одна ширина на весь сайт. Шапка и подвал шли на 1840 px с полями 32,
   содержимое страниц — на 1760 с полями 48, блоки прежней вёрстки — на
   1412. На широком мониторе левый край логотипа, заголовка и текста
   стоял в трёх разных местах, и страница «прыгала». Теперь шапка,
   подвал и старые блоки берут ту же ширину, что и содержимое
   (--shell в стилях страниц берёт эту же переменную).
   Этот файл подключён на всех страницах, поэтому правило здесь.
   16.10.2026, Михаил: на широком мониторе поля 48 px смотрелись как
   «на весь экран, глаза разбегаются». Теперь поле растёт с экраном:
   до 1280 px оно 48, на 1440 около 70, на 1728 около 116, а контент
   не шире 1600 px и на мониторах от 1920 стоит по центру. */
:root{--tsn-shell:min(100% - 2 * clamp(48px, 16vw - 160px, 160px), 1600px)}
@media(max-width:1180px){:root{--tsn-shell:min(100% - 56px,1760px)}}
@media(max-width:820px){:root{--tsn-shell:min(100% - 36px,1760px)}}
@media(max-width:560px){:root{--tsn-shell:calc(100% - 28px)}}

.rd-megafooter>.container,
.page-legacy .container,
.mentor-legacy .container,
.school-legacy .container{
  width:var(--tsn-shell);
  max-width:none;
  margin-inline:auto;
  padding-inline:0;
}

/* «Санкт-Петербург» в заголовках не рвётся по дефису («Санкт-» в конце
   строки, «Петербурге» на следующей). Обёртку ставит fix_city_nobr.py;
   правило здесь, потому что этот файл подключён на каждой странице.
   На телефоне слово может не влезть в строку крупного заголовка —
   там перенос по дефису снова разрешён. */
.nobr{white-space:nowrap}
@media(max-width:560px){.nobr{white-space:normal}}

/* Сайт только светлый. В Chrome на Android есть «тёмная тема для сайтов»:
   он сам перекрашивает светлые страницы в серые, и у посетителя сайт
   выглядел серым с белым текстом (Михаил, 02.10.2026). «only light»
   запрещает такое перекрашивание; метку в <head> ставит build_site_nav.py. */
:root{color-scheme:only light}

/* Телефон: кнопка записи одной высоты с кнопкой меню, 46px. Было 48 и 46,
   и в шапке они стояли ступенькой. Селектор как у основного правила
   (.tsn a.tsn-cta): иначе оно перебивает. */
@media(max-width:1120px){.tsn a.tsn-cta{height:46px}}

/* Подпись разработчика оформлена в site-footer.css вместе со всем подвалом. */
/* Под подписью оставался пустой блок от старого сайта (превью наставника):
   из-за него подпись висела посередине, а не у нижнего края. */
.rd-megafooter .mentor-preview__right{display:none}
/* У подвала главной свой отступ снизу — подпись стоит на том же расстоянии от края. */
body.theme-scale .footer__credit{padding-bottom:0}

/* Хлебные крошки на одной высоте на всех первых экранах (Михаил, 04.10.2026):
   40px под шапкой сайта, на телефоне 24px. У одних страниц отступ под шапку
   задан телу (body[data-tsn-offset]), у других первому экрану — правило
   учитывает оба случая. «html body» в начале — чтобы перебить стили страниц,
   которые подключаются позже. Первый экран больше не тянется на всю высоту
   окна с прижатым к низу текстом: из-за этого крошки «плавали» посередине. */
:root{--crumbs-top:40px;--crumbs-gap:40px}
@media(max-width:560px){:root{--crumbs-top:24px;--crumbs-gap:28px}}
html body :is(.service-page .svc-hero,.calendar-page .calendar-hero,.event-page .event-hero,.blog-page .blog-hero,.article-page .article-hero,.search-page .search-hero,.legal-hero,.mentor-catalog .hero){padding-top:calc(var(--tsn-h,84px) + var(--crumbs-top))}
html body[data-tsn-offset] :is(.service-page .svc-hero,.calendar-page .calendar-hero,.event-page .event-hero,.blog-page .blog-hero,.article-page .article-hero,.search-page .search-hero,.legal-hero,.mentor-catalog .hero){padding-top:var(--crumbs-top)}
/* Кроме /zapis/: там карточка формы заходит на нижний отступ первого экрана, без него она наезжает на подводку (04.10.2026). */
html body .service-page .svc-hero:not(.signup-hero){min-height:0;display:block;padding-bottom:clamp(64px,6vw,104px)}
/* Единый первый экран (Михаил, 10.11.2026: «везде разный размер, верхняя строка как обрезанная»;
   «первый экран должен быть крупнее»). Крошки и заголовок стоят на месте (правило 04.10),
   первый экран дотягивается так, что второй блок со скруглением начинается на трёх
   четвертях окна: от него видны только скругление и заголовок. Заголовок и подводка
   первого экрана крупнее (в пределах брендбука: H1 до 116 px, подводка 17-21 px).
   Заходящий на первый экран светлый блок (44 px) учтён. На телефоне высота по содержимому.
   Шаг 1: служебные страницы. Запись на поток (форма) и главная пока как были. */
@media(min-width:768px){
  html body .service-page .svc-hero:not(.signup-hero){min-height:calc(76svh - var(--tsn-h,84px))}
  html body .service-page .svc-hero:not(.signup-hero):has(+[data-tone]){min-height:calc(76svh + 44px - var(--tsn-h,84px))}
  html body:not([data-tsn-offset]) .service-page .svc-hero:not(.signup-hero){min-height:76svh}
  html body:not([data-tsn-offset]) .service-page .svc-hero:not(.signup-hero):has(+[data-tone]){min-height:calc(76svh + 44px)}
  html body .service-page .svc-hero h1{font-size:clamp(56px,6.6vw,116px)}
  html body .service-page .svc-hero .hero-side p{font-size:clamp(17px,1.4vw,21px)}
  /* Крошки наверху, заголовок с подводкой и кнопкой внизу первого экрана, у второго блока:
     свободное место уходит наверх, к декоративным кольцам, а не пустой полосой под кнопку */
  html body .service-page .svc-hero:not(.signup-hero){display:flex;flex-direction:column}
  html body .service-page .svc-hero:not(.signup-hero)>.hero-layout,
  html body .service-page .svc-hero--photo>.svc-hero__grid{flex:1}
  html body .service-page .svc-hero:not(.signup-hero) .hero-layout{grid-template-rows:1fr auto;align-content:stretch;align-items:stretch}
  html body .service-page .svc-hero:not(.signup-hero) .hero-layout>div:first-child{display:flex;flex-direction:column;justify-content:space-between}
}
html body .event-page .event-hero{min-height:0}
/* Каталог школ и страница наставника: отступ сверху у внутреннего блока. */
html body .catalog-hero{min-height:0;padding-top:var(--tsn-h,84px)}
html body .catalog-hero .hero-layout{padding-top:var(--crumbs-top);align-items:start}
html body .mentor-hero{padding-top:var(--tsn-h,84px)}
html body .mentor-hero .hero-layout{padding-top:var(--crumbs-top);align-items:start}
html body[data-tsn-offset] :is(.catalog-hero,.mentor-hero){padding-top:0}
/* Страница школы и курса: вместо крошек верхняя строка «Курс TERRA — …». */
html body .school-hero__copy{justify-content:flex-start;padding-top:calc(var(--tsn-h,84px) + var(--crumbs-top))}
html body .school-hero__meta{margin-top:0}
/* Расстояние от крошек до следующей строки — одно на всех страницах. */
html body :is(.svc-hero .breadcrumbs,.catalog-hero .breadcrumbs,.mentor-hero .breadcrumbs,.calendar-hero .breadcrumbs,.search-hero .breadcrumbs,.mentor-catalog .hero__crumbs,.event-hero .crumbs,.blog-hero .crumbs,.article-hero .crumbs,.legal-hero .crumbs){margin-bottom:var(--crumbs-gap)}
html body .service-page .signup-hero .breadcrumbs{margin-bottom:var(--crumbs-gap)}
/* Страница внутри окна брендбука (#bb-frame=…): без плашки cookie и кнопки Орбиты */
html.bb-frame .terra-cookie,html.bb-frame .tf-open,html.bb-frame [class^="tf-"]{display:none!important}
/* в окне с подвалом шапка не нужна: показываем только подвал */
html.bb-frame-footer .tsn{display:none!important}

/* Поиск в меню (Михаил, 18.10.2026): подпись над полем с воздухом, поле с рамкой
   и скруглением 4, без крупного серого крестика браузера; под полем живые подсказки. */
.tsn-search .tsn-kicker{display:block;margin:0 0 16px}
.tsn-search-form{display:flex;align-items:center;border:0;border-radius:4px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(185,201,216,.35)}
.tsn-search-form:focus-within{box-shadow:inset 0 0 0 2px #d4aa61}
.tsn-search-form input{flex:1;min-width:0;height:72px;padding:0 64px 0 24px;font:400 clamp(22px,2.2vw,32px)/1.2 TerraOnest,Onest,Arial,sans-serif;letter-spacing:-.02em}
.tsn-search-form input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.tsn-search-form button{top:50%;right:12px;bottom:auto;width:44px;height:44px;transform:translateY(-50%)}
.tsn-live{display:grid;gap:0;margin-top:16px;border-radius:12px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(155,190,220,.14);overflow:hidden}
.tsn-live a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 20px;color:#eef4fa!important;font-size:16px;text-decoration:none}
.tsn-live a+a{box-shadow:inset 0 1px 0 rgba(155,190,220,.1)}
.tsn-live a:hover,.tsn-live a:focus-visible{background:rgba(212,170,97,.08);outline:0}
.tsn-live small{flex:none;color:#8fa5bb;font-size:14px}
.tsn-live__all span{color:#d4aa61}
.tsn-live__empty{margin:0;padding:16px 20px;color:#b9c9d8;font-size:15px}
.tsn-live:not([hidden])+.tsn-suggestions{display:none}
@media(max-width:820px){.tsn-search-form input{height:60px;padding-left:16px;font-size:20px}}
/* Одна рамка фокуса: золотая у поля, обводку браузера снаружи убираем */
.tsn-search-form input:focus,.tsn-search-form input:focus-visible,.tsn-search-form:focus-within{outline:none}
/* У поля поиска фокус показывает своя золотая рамка, общую обводку меню снимаем */
.tsn .tsn-search-form input:focus-visible{outline:none!important}

/* /assets/home/content-page.css?v=3-content */
/* Служебные страницы клуба в общей визуальной системе TERRA: о клубе,
   контакты, вопросы-ответы, партнёрство, кейсы, политики, запись.
   Новый здесь только первый экран, всё остальное содержимое страницы
   остаётся как было. Токены те же, что у блога и каталогов. */

@font-face{font-family:Onest;src:url('/assets/home/assets/onest-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}

.page-hero{
  --sky:#9cc9f5;--white:#f7f9fc;--muted:#8fa4b7;--line:rgba(151,188,219,.22);
  position:relative;overflow:hidden;
  padding:clamp(94px,9.5vw,146px) 0 clamp(40px,4.6vw,66px);
  background:radial-gradient(120% 140% at 82% 0%,#14314c 0%,#0a1c2c 46%,#06121d 100%);
  color:var(--white);font-family:Onest,Arial,sans-serif;
}
.page-hero *{box-sizing:border-box}
.page-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:96px 96px;opacity:.35;
  mask-image:radial-gradient(70% 70% at 70% 0%,#000,transparent 72%);
}
.page-hero__inner{
  position:relative;display:flex;flex-direction:column;gap:20px;
  /* Первый экран по ширине совпадает с содержимым ниже: раньше он был
     уже, и заголовок переносился на три строки при свободном месте справа. */
  width:min(1740px,calc(100vw - 8vw));max-width:calc(100vw - 32px);margin-inline:auto;
}
.page-hero__crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.page-hero__crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .18s}
.page-hero__crumbs a:hover{border-color:var(--sky)}
/* Крошки перенесены со страницы вместе со своей разметкой: гасим прежнее
   оформление списка, чтобы они читались как строка на тёмном фоне. */
.page-hero__crumbs ol{display:flex!important;flex-wrap:wrap;gap:10px;margin:0!important;
  padding:0!important;list-style:none;background:none!important;border:0;box-shadow:none}
.page-hero__crumbs li{display:flex;align-items:center;gap:10px}
.page-hero__crumbs li+li:before{content:"/";color:var(--muted)}
.page-hero__crumbs li:last-child{color:var(--sky)}
.page-hero__crumbs li,.page-hero__crumbs span,.page-hero__crumbs a{
  background:none!important;border-radius:0;padding:0;margin:0;color:inherit}
.page-hero h1{
  margin:0;max-width:none;font-weight:400;letter-spacing:-.035em;line-height:1.05;
  font-size:clamp(32px,3.6vw,56px);text-wrap:balance;color:var(--white);
}
.page-hero__lead{margin:0;max-width:min(100%,92ch);color:#c2d5e5;font-size:clamp(15px,1.3vw,18px);line-height:1.65}
.page-hero__meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:12.5px}

/* Остальное содержимое страницы живёт своим слоем: внутри старой вёрстки
   есть декоративные круги на position:absolute, которые иначе всплывают
   поверх первого экрана. */
.page-legacy{position:relative;overflow:hidden;isolation:isolate}

@media(max-width:600px){
  .page-hero__inner{width:calc(100vw - 32px)}
}

/* Анкета записи. Оставалась в прежнем оформлении: поля со скруглением
   в двадцать точек, красная звёздочка, синяя подсказка. Приводим к тому же
   виду, что остальной сайт, оставляя светлый фон. */
.page-legacy .signup__grid{gap:20px;width:min(720px,100%);margin-inline:auto}
.page-legacy .signup__row{gap:20px}
.page-legacy .signup__field{gap:9px}
.page-legacy .signup__field label{
  font:500 12px/1.4 Onest,Arial,sans-serif;letter-spacing:.04em;
  text-transform:uppercase;color:#6b7c8b;
}
.page-legacy .signup__field input,
.page-legacy .signup__field textarea,
.page-legacy .signup__field select{
  width:100%;box-sizing:border-box;padding:16px 18px;
  border:1px solid #d5dfeb;border-radius:8px;background:#fff;
  font:400 16px/1.4 Onest,Arial,sans-serif;color:#15212f;
  transition:border-color .16s,box-shadow .16s;
}
.page-legacy .signup__field input:focus,
.page-legacy .signup__field textarea:focus,
.page-legacy .signup__field select:focus{
  outline:none;border-color:#294771;box-shadow:0 0 0 3px rgba(41,71,113,.12);
}
.page-legacy .signup__field input::placeholder{color:#9aa9b6}
.page-legacy .signup__req{color:#b4471f}
.page-legacy .signup__opt,.page-legacy .signup__hint{
  font:400 12px/1.4 Onest,Arial,sans-serif;color:#8b9aa2;text-transform:none;letter-spacing:0;
}
.page-legacy .signup__note{
  color:#294771;font:400 14px/1.6 Onest,Arial,sans-serif;
  padding:14px 16px;border-left:2px solid #4dc9e8;background:#f2f6fa;margin:0 0 22px;
}
.page-legacy .signup__lead{font:400 17px/1.65 Onest,Arial,sans-serif;color:#41535f}
.page-legacy .signup__check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:#5a6b78}
.page-legacy .signup__check input{margin-top:3px;accent-color:#294771}
.page-legacy .ajax_form button[type="submit"],
.page-legacy .ajax_form .btn{
  display:inline-flex;align-items:center;gap:14px;
  padding:17px 28px;border:0;border-radius:8px;
  background:#15212f;color:#f7f9fc;cursor:pointer;
  font:500 15px/1 Onest,Arial,sans-serif;
  transition:transform .18s,background .18s;
}
.page-legacy .ajax_form button[type="submit"]:hover,
.page-legacy .ajax_form .btn:hover{transform:translateY(-2px);background:#0d1926}


/* Текст идёт во всю ширину колонки. Узкие пределы на лидах и подводках
   оставляли справа пустоту в треть экрана: заголовок во всю ширину, а
   текст под ним обрывался на середине и переносился без причины.
   Предел ширины держит сам контейнер страницы (--shell), отдельным
   абзацам он не нужен. Узкая колонка остаётся только в статьях блога,
   где длинный текст читают подряд. */
.page-hero__lead{max-width:none}

/* Лента историй успеха на обычных страницах. Раскладка для неё была
   написана только под главную, а разметка одна и та же: без правил
   карточки растягивались во всю ширину и на экран попадала одна.
   Слайдер старого сайта тут не заводится, поэтому лента просто
   прокручивается вбок — кнопки «вперёд/назад» уже работают. */
body:not(.theme-scale) .stories__slider{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
body:not(.theme-scale) .stories__slider::-webkit-scrollbar{display:none}
body:not(.theme-scale) .stories__slider .swiper-wrapper{
  display:flex;
  gap:24px;
  transform:none!important;
}
body:not(.theme-scale) .stories__slide{
  flex:0 0 calc((100% - 48px)/3);
  width:calc((100% - 48px)/3);
  scroll-snap-align:start;
}
body:not(.theme-scale) .stories__slide .case-card__img{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
}
@media(max-width:1000px){
  body:not(.theme-scale) .stories__slide{flex-basis:calc((100% - 24px)/2);width:calc((100% - 24px)/2)}
}
@media(max-width:640px){
  body:not(.theme-scale) .stories__slider .swiper-wrapper{gap:16px}
  body:not(.theme-scale) .stories__slide{flex-basis:86%;width:86%}
}

/* /assets/home/site-footer.css?v=9-bez-instagrama */
/* Подвал сайта по брендбуку (/o-klube/brendbuk/), 16.10.2026. Один файл на все
   страницы, включая главную, а разметку собирает build_site_footer.py.

   Правила привязаны к #footer: подвал раньше оформляли ещё terra-v2.css,
   premium.css и redesign.css (на главной), их селекторы длиннее. Идентификатор
   перебивает любой из них, поэтому подвал выглядит одинаково везде.

   По брендбуку: шрифт Onest, фон подвала: градиент #020712 → #061523 → #032C37,
   скругление сверху 54 px (на телефоне 28 px), кольца светлой линией в углу,
   главная кнопка белая, остальные с обводкой, без капса, текст не мельче 12 px,
   без линий между пунктами. */

@font-face{font-family:TerraOnest;src:url('/assets/home/assets/onest-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}

#footer.rd-megafooter{position:relative;isolation:isolate;overflow:hidden;margin:-1px 0 0!important;padding:0!important;border:0!important;border-radius:54px 54px 0 0!important;
  background:radial-gradient(circle at 94% 100%,#0b4a5a8c,transparent 42%),linear-gradient(112deg,#020712 0%,#061523 48%,#032c37 100%)!important;
  color:#b9c9d8;font-family:TerraOnest,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
#footer.rd-megafooter *{font-family:inherit}
/* Подложка под скруглёнными углами: занимает высоту скругления и уходит под подвал.
   Цвет ей ставит site-footer.js (цвет блока над подвалом). */
.rd-footer-under{flex:none;height:54px;margin:0 0 -54px;background:transparent}
#footer.rd-megafooter a{color:inherit;text-decoration:none}
/* Кольца в правом нижнем углу: оттуда светлеет градиент подвала, свет и кольца
   идут из одной точки. Светлая линия 1 px, две точки и одна золотая. Точки стоят
   в пустых местах: под нижней строкой и в правом поле, на текст не ложатся. */
#footer.rd-megafooter:before{content:""!important;display:block!important;position:absolute;z-index:0;top:auto;bottom:-330px;right:-330px;width:660px;height:660px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' fill='none' stroke='%23eef4fa'%3E%3Ccircle cx='300' cy='300' r='296' stroke-opacity='.09'/%3E%3Ccircle cx='300' cy='300' r='210' stroke-opacity='.14'/%3E%3Ccircle cx='300' cy='300' r='124' stroke-opacity='.24'/%3E%3Cg fill='%23eef4fa' stroke='none' fill-opacity='.6'%3E%3Ccircle cx='93' cy='263.5' r='4'/%3E%3Ccircle cx='274' cy='5' r='4'/%3E%3C/g%3E%3Ccircle cx='178' cy='278.5' r='5' fill='%23d4aa61' stroke='none'/%3E%3C/svg%3E") center/contain no-repeat}
#footer.rd-megafooter:after{display:none!important}
/* сеть, которую дорисовывает скрипт главной, в подвале не нужна, декор подвала здесь кольца */
#footer .rd-footer-constellation{display:none!important}
#footer.rd-megafooter>.container{position:relative;z-index:1;width:var(--tsn-shell,min(100% - 96px,1760px));max-width:none;margin:0 auto;padding:0}

/* призыв: заголовок блока и белая кнопка */
/* display без #footer: блог, правовые и служебные страницы прячут призыв своими стилями */
.rd-footer-cta{display:grid}
#footer .rd-footer-cta{grid-template-columns:minmax(0,1fr);gap:24px 48px;align-items:center;margin:0;padding:80px 0 0;border:0}
#footer .rd-footer-cta>span{display:none}
#footer .rd-footer-cta h2{margin:0;color:#fff;font-size:clamp(30px,3.6vw,52px);font-weight:400;line-height:1.06;letter-spacing:-.03em}
#footer .rd-footer-cta h2 br{display:none}

/* логотип */
#footer .footer__inner{padding:56px 0 0}
#footer .footer__top{display:block;margin:0 0 40px;padding:0;border:0}
#footer .footer__logo{display:inline-block}
#footer .footer__logo-img{display:block!important;width:auto;height:64px;opacity:1!important;filter:none!important}
#footer .footer__logo .rd-logo{display:none!important}

/* три колонки: о клубе, разделы, подписка */
#footer .footer__bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr) minmax(0,1fr);grid-template-areas:"desc nav sub" "desc nav contacts";align-content:start;gap:40px clamp(40px,4vw,86px);align-items:start;margin:0;padding:0;border:0}
/* Блок «о клубе» раскладываем по колонкам без правки разметки: описание слева,
   контакты под подпиской справа. Так первая колонка больше не самая длинная. */
#footer .rd-footer-profile{display:contents}
#footer .footer__item--description{grid-area:desc}
#footer .footer__bottom>.navigation{grid-area:nav}
#footer .footer__item--subscribe{grid-area:sub}
#footer .footer__item--contacts{grid-area:contacts;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
#footer .footer__item{width:100%;max-width:none;margin:0;padding:0}
/* Абзацы разной важности различаем размером и цветом: курсива в брендбуке нет,
   жирность 500 занята подзаголовками. Главное 17 px белым, пояснение 15 px,
   реквизиты 14 px приглушённым цветом и отдельно. */
#footer .footer__description p{margin:0 0 12px;color:#b9c9d8!important;font-size:15px;line-height:1.55}
#footer .footer__description p:first-child{color:#eef4fa!important;font-size:17px}
#footer .footer__description p:nth-child(3){margin:20px 0 0;color:#8fa5bb!important;font-size:14px;line-height:1.5}
/* администратор сайта: подпись, имя и ссылка на правовые документы, каждое с новой строки */
#footer .footer__admin{display:grid;gap:4px;margin:20px 0 0!important;font-size:14px;line-height:1.45}
#footer .footer__admin span:first-child{color:#8fa5bb}
#footer .footer__admin span+span{color:#d6e2ee}
#footer .footer__admin a{justify-self:start;color:#d6e2ee;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
#footer .footer__admin a:hover{color:#fff}

/* соцсети и приложения: одноцветные значки в квадратах с обводкой */
#footer .footer__social{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
#footer .footer__social-item{margin:0;padding:0}
#footer :is(.footer__social-link,.footer__app-item){position:relative;display:grid!important;place-items:center;width:44px!important;height:44px!important;margin:0;padding:0;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:inset 0 0 0 1px #ffffff33;color:#eef4fa;transition:box-shadow .2s,background .2s}
#footer :is(.footer__social-link,.footer__app-item):hover,#footer :is(.footer__social-link,.footer__app-item):focus-visible{background:#ffffff12!important;box-shadow:inset 0 0 0 1px #fff}
#footer :is(.footer__social-link,.footer__app-item) svg{display:block!important;width:20px;height:20px}
/* у Rutube под буквой белая подложка: в одноцветном значке она не нужна */
#footer .footer__social-link svg rect{display:none}
#footer :is(.footer__social-link,.footer__app-item) svg,#footer :is(.footer__social-link,.footer__app-item) svg *{fill:currentColor!important;stroke:none!important}
/* на главной у соцсетей подписи и стрелка: подпись оставляем для экранного диктора */
#footer .rd-social-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#footer .footer__social-link .rd-social-name+svg{display:none!important}

/* контакты */
#footer .footer__contacts{display:grid;gap:10px;margin:0}
#footer .mail-wrapper{display:flex;align-items:center;gap:10px}
#footer .footer__contact{display:inline-flex;align-items:center;gap:10px;margin:0;color:#eef4fa!important;font-size:15px;line-height:1.4}
#footer .footer__contact svg{width:18px;height:18px;flex:none}
#footer .footer__contact--address{color:#b9c9d8!important;font-size:14px}
#footer .email-copy__wrapper{display:grid;place-items:center;cursor:pointer;color:#8fa5bb}
#footer .email-copy__wrapper svg,#footer .email-copy__wrapper svg *{width:12px;height:12px;fill:currentColor}
#footer .footer__apps{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0;color:#b9c9d8;font-size:14px}
#footer .footer__app{display:flex;gap:10px}
#footer .footer__app-link{position:absolute;width:1px;height:1px;overflow:hidden}

/* «Подписаться» в Telegram: кнопка с обводкой */
#footer :is(.footer__bot-link,.footer__subscribe-submit){display:inline-flex;align-items:center;justify-content:center;gap:12px;width:max-content;min-height:52px;height:auto;margin:0;padding:0 24px;border:0!important;border-radius:4px!important;background:transparent!important;box-shadow:inset 0 0 0 1px #ffffff73;color:#fff!important;font-size:15px;font-weight:500;line-height:1.1;cursor:pointer;transition:box-shadow .2s,background .2s}
#footer :is(.footer__bot-link,.footer__subscribe-submit):hover,#footer :is(.footer__bot-link,.footer__subscribe-submit):focus-visible{background:#ffffff12!important;box-shadow:inset 0 0 0 1px #fff}
#footer .footer__bot-link svg{width:20px;height:20px}
/* Под контактами две кнопки с обводкой: «Подписаться на канал» (Telegram) и
   «Попасть на ближайший поток» (страница запуска). Главная белая кнопка у подвала
   одна, в призыве сверху (Михаил, 16.10.2026). */
#footer .footer__potok-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff73;color:#fff!important;font-size:15px;font-weight:500;line-height:1.1;transition:box-shadow .2s,background .2s}
#footer .footer__potok-link:hover,#footer .footer__potok-link:focus-visible{background:#ffffff12;box-shadow:inset 0 0 0 1px #fff}
#footer :is(.footer__bot-link,.footer__potok-link){width:100%;max-width:340px}
#footer .footer__bot-link svg *{fill:currentColor!important}

/* разделы сайта: подписи групп без капса, пункты без линий, при наведении золотая черта */
#footer .navigation{position:static;margin:0;padding:0!important;border:0!important;background:none!important}
#footer .navigation>.container{width:100%;max-width:none;margin:0;padding:0}
#footer .navigation__inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,2.4vw,44px);margin:0;padding:0}
#footer .navigation__item{width:auto;max-width:none;flex:none;margin:0;padding:0;border:0!important}
#footer .navigation__item-title{margin:0 0 16px;padding:0;border:0!important;color:#8fa5bb;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}
#footer .navigation__item-title:after,#footer .navigation__item-title:before{display:none!important}
#footer .navigation__list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
#footer .navigation__list--two-col{display:flex}
/* школы в две колонки только там, где названия помещаются в строку */
@media(min-width:1600px){#footer .navigation__list--two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}}
#footer .navigation__list-item{margin:0;padding:0}
#footer .navigation__list-link{position:relative;display:inline-block;padding:0;color:#d6e2ee!important;font-size:15px;line-height:1.4;transform:none!important;transition:color .2s,padding-left .25s ease}
#footer .navigation__list-link:before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:#d4aa61;transition:width .25s ease}
#footer .navigation__list-link:hover,#footer .navigation__list-link:focus-visible{padding-left:22px;color:#fff!important}
#footer .navigation__list-link:hover:before,#footer .navigation__list-link:focus-visible:before{width:12px}

/* подписка на почту */
#footer .footer__item--subscribe{max-width:none}
#footer .footer__subscribe-title{margin:0 0 20px;color:#eef4fa;font-size:17px;font-weight:500;line-height:1.45}
#footer .footer__subscribe-form{display:flex;flex-wrap:wrap;gap:12px;margin:0}
#footer .footer__subscribe-field{flex:1 1 180px;min-width:0;height:52px!important;min-height:0!important;max-height:52px;margin:0;padding:0 16px!important;line-height:normal;border:0!important;border-radius:4px!important;background:#ffffff0d!important;box-shadow:inset 0 0 0 1px #ffffff33;color:#fff!important;font-size:15px;outline:0}
#footer .footer__subscribe-field::placeholder{color:#8fa5bb}
#footer .footer__subscribe-field:focus{box-shadow:inset 0 0 0 1px #fff}
#footer .policy{display:flex;flex-basis:100%;align-items:flex-start;gap:10px;margin:4px 0 0}
#footer .policy input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:#d4aa61}
#footer .policy__text{color:#8fa5bb!important;font-size:14px;line-height:1.45}
#footer .policy__text a{color:#d6e2ee;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* нижняя строка и подпись разработчика */
#footer .footer__copyright{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin:64px 0 0;padding:0;border:0!important}
#footer .footer__copyright-text{margin-right:auto;color:#8fa5bb!important;font-size:14px}
#footer .footer__copyright-link{color:#b9c9d8!important;font-size:14px;letter-spacing:0;text-transform:none;transition:color .2s}
#footer .footer__copyright-link:hover{color:#fff!important;text-decoration:underline;text-underline-offset:4px}
/* Подпись разработчика: тихая строка у нижнего края (Михаил, 04.10.2026:
   «пониже, минималистичнее»). По брендбуку без капса и не мельче 12 px. */
#footer .footer__credit{margin:28px 0 0;padding:0 0 28px;color:#8fa5bb99;font-size:12px;line-height:1;letter-spacing:0;text-transform:none;text-align:center}
#footer .footer__credit a{color:#b9c9d8;letter-spacing:0;border:0;transition:color .2s}
#footer .footer__credit a:hover{color:#fff}

/* На главной скрипт делает разделы раскрывающимися на телефоне */
.rd-footer-nav-toggle{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit}
.rd-footer-nav-toggle i{display:none;font-size:18px;font-style:normal;font-weight:300;transition:transform .25s}

@media(max-width:1100px){
  #footer.rd-megafooter>.container{width:var(--tsn-shell,calc(100% - 28px))}
  #footer .rd-footer-cta{grid-template-columns:minmax(0,1fr);align-items:start;padding-top:64px}
  #footer .footer__bottom{display:flex;flex-direction:column;align-items:stretch;gap:48px}
  #footer .footer__item--description{order:1}
  #footer .footer__bottom>.navigation{order:2}
  #footer .footer__item--subscribe{order:3}
  #footer .footer__item--contacts{order:4}
}
@media(max-width:760px){
  #footer.rd-megafooter{border-radius:28px 28px 0 0!important}
  .rd-footer-under{height:28px;margin-bottom:-28px}
  #footer.rd-megafooter:before{top:auto;bottom:-210px;right:-210px;width:420px;height:420px}
  #footer .rd-footer-cta{padding-top:56px}
  #footer .rd-footer-cta a{width:100%;justify-content:space-between}
  #footer .footer__inner{padding-top:48px}
  #footer .footer__top{margin-bottom:32px}
  #footer .navigation__list--two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
  #footer .footer__logo-img{height:51px}
  #footer .navigation__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
  #footer .navigation__item{grid-column:auto!important}
  #footer .footer__copyright{margin-top:48px;gap:12px 24px}
  #footer .footer__copyright-text{flex-basis:100%}
  /* раскрывающиеся разделы только там, где скрипт поставил кнопки */
  #footer .navigation__inner:has(.rd-footer-nav-toggle){display:block!important}
  #footer .navigation__item:has(.rd-footer-nav-toggle){border-top:1px solid #ffffff1f!important}
  #footer .navigation__item:has(.rd-footer-nav-toggle):last-child{border-bottom:1px solid #ffffff1f!important}
  #footer .navigation__item:has(.rd-footer-nav-toggle) .navigation__item-title{margin:0}
  .rd-footer-nav-toggle{display:flex;align-items:center;justify-content:space-between;padding:19px 0;color:#eef4fa}
  .rd-footer-nav-toggle i{display:block}
  .navigation__item.is-open .rd-footer-nav-toggle i{transform:rotate(45deg)}
  #footer .navigation__item:has(.rd-footer-nav-toggle) .navigation__list{max-height:0;overflow:hidden;opacity:0;transition:max-height .38s ease,opacity .25s ease,padding .38s ease}
  #footer .navigation__item.is-open:has(.rd-footer-nav-toggle) .navigation__list{max-height:560px;padding:1px 0 23px;opacity:1}
}
@media(prefers-reduced-motion:reduce){
  #footer *{transition:none!important}
}

/* /assets/home/infobanner.css?v=1-banner */
/* Баннер записи на поток. Разметку и тексты подставляет админка, поэтому
   здесь только оформление: ни один класс не переименован, ни одна ссылка
   не тронута — меняются цвета, шрифты и отступы.

   Было: фиолетовая плашка с кислотно-зелёной датой, розовым бейджем и
   жёлтой кнопкой — со страницами клуба это не сочеталось никак. Стало:
   светлый блок в тех же тонах, что остальной сайт, с тёмной датой как
   единственным сильным акцентом.

   Селектор начинается с body:not(.theme-scale): на главной баннер уже
   оформлен своим блоком, и его трогать нельзя. */

body:not(.theme-scale) .infobanner{
  position:relative;overflow:hidden;
  padding:clamp(34px,4vw,56px) clamp(22px,3.4vw,54px);
  border:1px solid #d7e2ec;border-radius:6px;
  background:
    radial-gradient(120% 130% at 88% 0%,#dbe9f7 0%,transparent 58%),
    linear-gradient(180deg,#f2f6fa,#eaf1f7);
}
/* Декоративные волны нарисованы под фиолетовый фон: на светлом они
   выглядят пятном. Вместо них — своя сетка, та же, что в первом экране. */
body:not(.theme-scale) .infobanner__svg{display:none}
body:not(.theme-scale) .infobanner:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(#b9cee133 1px,transparent 1px),
                   linear-gradient(90deg,#b9cee133 1px,transparent 1px);
  background-size:78px 78px;
  -webkit-mask-image:radial-gradient(75% 85% at 78% 0%,#000,transparent 70%);
  mask-image:radial-gradient(75% 85% at 78% 0%,#000,transparent 70%);
}
body:not(.theme-scale) .infobanner__inner{position:relative;z-index:1;gap:26px}

/* Дата и площадка — главный акцент блока. */
body:not(.theme-scale) .infobanner__title{
  padding:13px 20px;border-radius:5px;
  background-color:#0d2338;color:#f2f7fc;
  font-size:clamp(21px,2.1vw,30px);font-weight:500;letter-spacing:-.015em;
}
body:not(.theme-scale) .infobanner__float{
  top:-13px;right:-26px;padding:5px 11px;
  background-color:#4dc9e8;color:#06131f;
  font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
}
body:not(.theme-scale) .infobanner__subtitle{
  font:400 clamp(25px,2.6vw,38px)/1.15 Georgia,'Times New Roman',serif;
  letter-spacing:-.025em;color:#0d2338;
}
body:not(.theme-scale) .infobanner__text{
  max-width:560px;color:#5d7285;font-size:14px;line-height:1.75;
}

body:not(.theme-scale) .infobanner__button{
  max-width:none;width:auto;height:auto;min-height:58px;
  padding:0 30px;border-radius:5px;
  background-color:#15293f;color:#f2f7fc;
  font-size:14px;font-weight:500;
  transition:background-color .2s,transform .2s;
}
body:not(.theme-scale) .infobanner__button:hover{background-color:#0a1a2a;transform:translateY(-2px)}
/* Стрелка рисовалась тёмной под жёлтую кнопку — на тёмной её не видно. */
body:not(.theme-scale) .infobanner__arrow,
body:not(.theme-scale) .infobanner__button:hover .infobanner__arrow{stroke:#f2f7fc}

@media(max-width:700px){
  body:not(.theme-scale) .infobanner__float{right:-8px}
  body:not(.theme-scale) .infobanner__button{width:100%;padding:0 20px}
}

/* /assets/home/cookie-notice.css?v=3-cookie-helper */
/* Плашка про cookie: узкая полоса по центру нижнего края.
   Раньше это было белое полотно во весь экран, потом — квадратная
   карточка в углу. Здесь середина: широкая, невысокая, по центру.
   z-index намеренно выше всех слоёв сайта: плашку перекрывали блоки
   главной, и человек не мог её закрыть. */
.terra-cookie{
  position:fixed;
  z-index:2147483000;
  left:50%;
  bottom:22px;
  display:flex;
  gap:20px;
  align-items:center;
  width:min(calc(100% - 32px),620px);
  padding:16px 20px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(11,29,45,.94);
  color:#dce7f1;
  font-size:13.5px;
  line-height:1.5;
  text-align:center;
  transform:translateX(-50%);
  box-shadow:0 20px 50px rgba(4,14,24,.38);
  backdrop-filter:blur(14px) saturate(1.1);
}
.cookie-ok .terra-cookie{display:none}

.terra-cookie__text{
  flex:1 1 auto;
  margin:0;
  text-align:center;
}
/* Каждая мысль своей строкой: где-то это одна фраза, где-то две,
   и перенос по смыслу читается лучше, чем по краю плашки. */
.terra-cookie__text span{display:block}
.terra-cookie__text a{
  display:inline-block;
  margin-top:4px;
  color:#8fd2f0;
  text-decoration:underline;
  text-underline-offset:3px;
}
.terra-cookie__text a:hover{color:#bfe6f8}

.terra-cookie__ok{
  flex:0 0 auto;
  min-height:38px;
  padding:0 22px;
  border:0;
  border-radius:10px;
  background:#9cc9f5;
  color:#07131f;
  font:inherit;
  font-size:13.5px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s ease;
}
.terra-cookie__ok:hover{background:#c3e0fb}
.terra-cookie__ok:focus-visible{outline:2px solid #4dc9e8;outline-offset:2px}

@media(max-width:620px){
  .terra-cookie{
    flex-direction:column;
    gap:12px;
    bottom:12px;
    width:calc(100% - 24px);
    padding:14px 16px;
    font-size:13px;
  }
  .terra-cookie__ok{width:100%}
}

/* На телефоне плашка занимает весь низ экрана, а кнопка помощника
   висит в правом нижнем углу поверх неё и закрывает кнопку «Хорошо».
   Пока согласие не дано, помощник на узком экране прячется; после
   нажатия он появляется на своём месте. */
@media(max-width:620px){
  html:not(.cookie-ok) .tf-open{
    opacity:0;
    pointer-events:none;
    transform:translateY(16px);
  }
  .tf-open{transition:opacity .25s ease,transform .25s ease}
}

/* /assets/home/service-page.css?v=22-orbita */
/* Служебные страницы клуба: «О клубе», наставничество, «Стать наставником»,
   кейсы, контакты, партнёры, вакансии. Эталон: _материалы/эталон-sluzhebnye/.
   Всё заключено в .service-page: у эталона общие имена классов (.section,
   .button, .stats, .cta, .faq, .contacts) и глобальные правила на body и img —
   на сайте такие имена уже заняты, и без обёртки поломались бы шапка,
   подвал и соседние блоки. Первый экран переименован в .svc-hero: имя
   .page-hero занято оформлением остальных служебных страниц. */
@font-face{font-family:Onest;src:url('/assets/home/assets/onest-variable.woff2') format('woff2');font-weight:300 900;font-display:swap}
.service-page{background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.5}
.service-page *{box-sizing:border-box}
/* Картинки на всю ширину — только в модулях, которые на это рассчитаны.
   Общее правило на все img ломало плитки карты и растягивало логотипы. */
.service-page :is(.person,.video-card,.founder-media,.quote figcaption) img{display:block;width:100%}
.service-page a{color:inherit}
.service-page{--ink:#06111f;--ink-2:#0b1f36;--paper:#f2f5f8;--white:#ffffff;--mist:#f2f5f8;--blue:#d4aa61;--gold:#d4aa61;--text:#0b1f36;--muted:#5b6d89;--line:#d3dbe4;--shell:var(--tsn-shell,min(100% - 96px,1760px));--serif:TerraOnest,Onest,Arial,sans-serif;--sans:TerraOnest,Onest,Arial,sans-serif}.service-page .shell{width:var(--shell);margin-inline:auto}.service-page .section{padding:clamp(70px,6vw,112px) 0}.service-page .display{margin:18px 0 0;font:400 clamp(48px,5.6vw,102px)/.96 var(--serif);letter-spacing:-.055em}.service-page .heading{margin:16px 0 0;font:400 clamp(40px,4vw,72px)/1 var(--serif);letter-spacing:-.045em}.service-page .lead{margin:0;color:var(--muted);font-size:clamp(17px,1.3vw,23px);line-height:1.45}.service-page .button{display:inline-flex;min-height:54px;padding:0 24px;align-items:center;justify-content:space-between;gap:36px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:var(--ink);font-size:13px;font-weight:500;text-decoration:none;transition:.2s ease}.service-page .button::after{content:"↗";font-size:18px}.service-page .button:hover{background:#eef4fa;border-color:#eef4fa}.service-page .section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.65fr);gap:clamp(44px,8vw,150px);align-items:end;margin-bottom:clamp(42px,4.5vw,78px)}.service-page .section-head__copy{display:grid;gap:16px}.service-page .section-head__copy .lead{padding-top:18px;border-top:1px solid var(--line)}.service-page .svc-hero{position:relative;min-height:clamp(620px,78svh,780px);display:flex;align-items:flex-end;padding:clamp(88px,10vw,170px) 0 clamp(64px,7vw,108px);overflow:hidden;color:var(--white);background:var(--ink)}.service-page .svc-hero::before{position:absolute;inset:0;background:linear-gradient(rgba(185,201,216,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(185,201,216,.05) 1px,transparent 1px);background-size:12.5% 25%;content:""}.service-page .svc-hero::after{position:absolute;width:min(62vw,1080px);aspect-ratio:1;right:-15vw;top:-48%;border:1px solid rgba(185,201,216,.28);border-radius:50%;content:""}.service-page .hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.48fr);gap:clamp(54px,10vw,180px);align-items:end}.service-page .breadcrumbs{margin-bottom:34px;color:#8fa5bb;font-size:12px}.service-page .breadcrumbs span{margin:0 10px;color:#5b6d89}.service-page .svc-hero h1{max-width:1240px;margin:0;font:400 clamp(58px,7vw,126px)/.91 var(--serif);letter-spacing:-.06em}.service-page .hero-side{padding:28px 0 3px 36px;border-left:1px solid rgba(185,201,216,.28)}.service-page .hero-side p{margin:0;color:#b9c9d8;font-size:clamp(16px,1.15vw,20px)}.service-page .hero-side a{margin-top:28px}.service-page .stats{padding:0;background:var(--white)}.service-page .stats-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);border-inline:1px solid var(--line)}.service-page .stat{min-height:250px;padding:clamp(30px,3.5vw,58px);border-right:1px solid var(--line)}.service-page .stat:last-child{border-right:0}.service-page .stat--intro{display:flex;flex-direction:column;justify-content:space-between;background:var(--mist)}.service-page .stat small{color:#5b6d89;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.service-page .stat strong{display:block;margin-top:32px;font-size:clamp(54px,5vw,88px);font-weight:300;letter-spacing:-.065em;line-height:.9}.service-page .stat p{margin:20px 0 0;color:var(--muted);font-size:14px}.service-page .stat--intro strong{max-width:470px;margin:0;font:400 clamp(29px,2.4vw,44px)/1.07 var(--serif);letter-spacing:-.035em}.service-page .mission{background:var(--paper)}.service-page .mission-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(380px,.62fr);gap:clamp(50px,9vw,180px);align-items:start}.service-page .mission-copy p{margin:28px 0 0;font-size:clamp(18px,1.4vw,25px);line-height:1.5}.service-page .mission-copy .big-copy{margin-top:42px;font:400 clamp(34px,3.1vw,58px)/1.12 var(--serif);letter-spacing:-.035em}.service-page .quote{position:sticky;top:30px;margin:0;padding:clamp(34px,3vw,52px);border-top:3px solid var(--ink);border-bottom:1px solid var(--line);background:rgba(255,255,255,.35)}.service-page .quote::before{content:"“";display:block;color:var(--blue);font:400 70px/.7 var(--serif)}.service-page .quote blockquote{margin:30px 0;font:400 clamp(25px,2vw,38px)/1.2 var(--serif)}.service-page .quote figcaption{display:flex;gap:16px;align-items:center}.service-page .quote figcaption img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:50% 20%;background:#d3dbe4}.service-page .quote figcaption strong,.service-page .quote figcaption span{display:block}.service-page .quote figcaption span{margin-top:3px;color:var(--muted);font-size:12px}.service-page .ecosystem{color:var(--white);background:var(--ink-2)}.service-page .ecosystem .section-head__copy .lead{color:#b9c9d8;border-color:rgba(185,201,216,.18)}.service-page .path-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(185,201,216,.25);border-bottom:1px solid rgba(185,201,216,.25)}.service-page .path-card{position:relative;min-height:320px;padding:34px clamp(28px,3.2vw,52px);border-right:1px solid rgba(185,201,216,.2);overflow:hidden}.service-page .path-card:last-child{border-right:0}.service-page .path-card::after{position:absolute;width:220px;aspect-ratio:1;right:-100px;bottom:-125px;border:1px solid rgba(185,201,216,.22);border-radius:50%;content:""}.service-page .path-card span{color:var(--blue);font-size:13px;font-weight:500;letter-spacing:0}.service-page .path-card h3{margin:72px 0 0;font:400 clamp(29px,2.5vw,45px)/1 var(--serif)}.service-page .path-card p{max-width:430px;margin:20px 0 0;color:#b9c9d8;font-size:14px}.service-page .path-card a{position:absolute;bottom:30px;font-size:12px;text-decoration:none;border-bottom:1px solid #8fa5bb}.service-page .path-card:hover{background:rgba(185,201,216,.055)}.service-page .founder{padding:0;color:var(--white);background:var(--ink)}.service-page .founder-layout{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);min-height:680px}.service-page .founder-media{position:relative;overflow:hidden;background:#d3dbe4}.service-page .founder-media img{height:100%;object-fit:contain;object-position:center bottom;filter:saturate(.72)}.service-page .founder-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(46px,6vw,118px);border-left:1px solid rgba(185,201,216,.18)}.service-page .founder-copy h2{margin:18px 0 0;font:400 clamp(52px,5vw,90px)/.95 var(--serif);letter-spacing:-.055em}.service-page .founder-role{margin:20px 0 50px;color:#8fa5bb;font-size:13px}.service-page .founder-quote{max-width:980px;margin:0;padding-top:34px;border-top:1px solid rgba(185,201,216,.22);font:400 clamp(24px,2.3vw,40px)/1.22 var(--serif)}.service-page .people{background:var(--white)}.service-page .people-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:12px}.service-page .person{position:relative;min-height:470px;overflow:hidden;background:#d3dbe4}.service-page .person img{height:100%;object-fit:cover;filter:saturate(.72);transition:transform .45s ease}.service-page .person:hover img{transform:scale(1.025)}.service-page .person::after{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(6,17,31,.9));content:""}.service-page .person-info{position:absolute;z-index:1;right:28px;bottom:28px;left:28px;color:#fff}.service-page .person-info small{color:var(--blue);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.service-page .person-info h3{margin:8px 0 0;font:400 clamp(24px,2vw,36px)/1.05 var(--serif)}.service-page .videos{color:var(--white);background:var(--ink-2)}.service-page .video-rail{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1px;background:rgba(185,201,216,.2);border:1px solid rgba(185,201,216,.2)}.service-page .video-card{position:relative;min-height:390px;display:flex;padding:28px;align-items:flex-end;overflow:hidden;text-decoration:none;background:var(--ink)}.service-page .video-card img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.58) saturate(.65);transition:.35s ease}.service-page .video-card::before{position:absolute;z-index:1;top:28px;right:28px;width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(6,17,31,.45);content:"▶";font-size:13px}.service-page .video-card:hover img{transform:scale(1.03);filter:brightness(.67) saturate(.8)}.service-page .video-card__copy{position:relative;z-index:1}.service-page .video-card small{color:var(--blue);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.service-page .video-card h3{max-width:520px;margin:12px 0 0;font:400 clamp(24px,2vw,36px)/1.1 var(--serif)}.service-page .directory{background:var(--paper)}.service-page .directory-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-page .directory-card{display:grid;grid-template-columns:84px 1fr auto;gap:26px;align-items:center;min-height:150px;padding:24px 32px 24px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}.service-page .directory-card:nth-child(2n){padding-left:32px;border-right:0}.service-page .directory-card__no{font-size:13px;font-weight:500;letter-spacing:0;color:#5b6d89}.service-page .directory-card h3{margin:0;font:400 clamp(23px,1.7vw,31px)/1.08 var(--serif)}.service-page .directory-card p{margin:8px 0 0;color:var(--muted);font-size:13px}.service-page .directory-card b{font-size:23px;font-weight:400}.service-page .directory-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.service-page .contacts{color:var(--white);background:var(--ink)}.service-page .contact-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(480px,1.22fr);gap:clamp(46px,7vw,120px)}.service-page .contact-details h2{margin-bottom:42px}.service-page .contact-row{display:grid;grid-template-columns:130px 1fr;gap:28px;padding:20px 0;border-top:1px solid rgba(185,201,216,.2)}.service-page .contact-row small{color:#8fa5bb;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.service-page .contact-row strong,.service-page .contact-row a{font-size:17px;font-weight:500;text-decoration:none}.service-page .map{position:relative;min-height:500px;overflow:hidden;border:1px solid rgba(185,201,216,.26);background:#0b1f36}.service-page .map:not(.map--live) svg{position:absolute;inset:0;width:100%;height:100%;opacity:.7}.service-page .map-note{position:absolute;left:28px;bottom:28px;max-width:360px;padding:20px;background:rgba(6,17,31,.92);border:1px solid rgba(185,201,216,.3)}.service-page .map-note strong{display:block;font:400 25px/1.1 var(--serif)}.service-page .map-note span{display:block;margin-top:8px;color:#8fa5bb;font-size:12px}.service-page .faq{background:var(--white)}.service-page .faq-layout{display:grid;grid-template-columns:minmax(280px,.48fr) minmax(0,1fr);gap:clamp(60px,10vw,190px)}.service-page .faq-list{border-top:1px solid var(--line)}.service-page details{border-bottom:1px solid var(--line)}.service-page summary{display:grid;grid-template-columns:58px 1fr 28px;gap:20px;align-items:center;padding:25px 0;cursor:pointer;list-style:none}.service-page summary::-webkit-details-marker{display:none}.service-page summary span{color:#5b6d89;font-size:13px;font-weight:500}.service-page summary strong{font:500 clamp(18px,1.4vw,24px)/1.25 var(--sans)}.service-page summary::after{content:"+";font-size:25px;font-weight:300}.service-page details[open] summary::after{content:"−"}.service-page details p{margin:0;padding:0 58px 28px;color:var(--muted)}.service-page .logos{background:var(--paper)}.service-page .logo-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-page .logo-cell{min-height:140px;display:grid;place-items:center;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#0b1f36;font-size:clamp(18px,1.6vw,28px);font-weight:500;letter-spacing:-.03em;filter:grayscale(1)}.service-page .cta{padding:clamp(70px,6vw,110px) 0;color:var(--white);background:var(--ink-2)}.service-page .cta-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.5fr);gap:clamp(60px,10vw,190px);align-items:end}.service-page .cta h2{margin:16px 0 0;font:400 clamp(48px,5.2vw,92px)/.96 var(--serif);letter-spacing:-.055em}.service-page .cta-side{padding-left:34px;border-left:1px solid rgba(185,201,216,.28)}.service-page .cta-side p{margin:0 0 26px;color:#b9c9d8}
@media(max-width:1180px){.service-page{--shell:min(calc(100% - 112px),1760px)}.service-page .hero-layout{grid-template-columns:1fr .48fr}.service-page .stats-grid{grid-template-columns:1.2fr repeat(3,1fr)}.service-page .stat{padding:34px 28px}.service-page .people-grid{grid-template-columns:1.2fr 1fr 1fr}.service-page .person{min-height:420px}}

@media(max-width:900px){.service-page .section-head,.service-page .hero-layout,.service-page .mission-layout,.service-page .faq-layout,.service-page .cta-layout{grid-template-columns:1fr}.service-page .hero-side,.service-page .cta-side{padding:28px 0 0;border-top:1px solid rgba(185,201,216,.25);border-left:0}.service-page .svc-hero{min-height:700px}.service-page .stats-grid{grid-template-columns:1fr 1fr}.service-page .stat:nth-child(2){border-right:0}.service-page .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-page .mission-layout{gap:42px}.service-page .quote{position:static}.service-page .path-grid{grid-template-columns:1fr}.service-page .path-card{min-height:250px;border-right:0;border-bottom:1px solid rgba(185,201,216,.2)}.service-page .path-card:last-child{border-bottom:0}.service-page .path-card h3{margin-top:45px}.service-page .founder-layout{grid-template-columns:.75fr 1.25fr;min-height:590px}.service-page .founder-copy{padding:46px}.service-page .people-grid,.service-page .video-rail{grid-template-columns:1fr 1fr}.service-page .person:first-child,.service-page .video-card:first-child{grid-column:1/-1}.service-page .contact-layout{grid-template-columns:1fr}.service-page .map{min-height:420px}.service-page .logo-grid{grid-template-columns:repeat(3,1fr)}}

@media(max-width:820px){.service-page{--shell:min(calc(100% - 72px),1760px)}.service-page .section{padding:68px 0}.service-page .section-head{gap:30px}.service-page .svc-hero h1{font-size:clamp(54px,11vw,88px)}.service-page .founder-layout{grid-template-columns:1fr}.service-page .founder-media{min-height:500px}.service-page .founder-copy{border-top:1px solid rgba(185,201,216,.18);border-left:0}.service-page .directory-grid{grid-template-columns:1fr}.service-page .directory-card:nth-child(n){padding-inline:0;border-right:0}.service-page .faq-layout{gap:40px}}

@media(max-width:560px){.service-page{--shell:calc(100% - 28px)}.service-page .section{padding:58px 0}.service-page .svc-hero{min-height:660px;padding:78px 0 54px}.service-page .svc-hero h1{font-size:48px;line-height:.96}.service-page .display{font-size:47px}.service-page .heading{font-size:39px}.service-page .stats-grid{grid-template-columns:1fr}.service-page .stat{min-height:190px;border-right:0!important;border-bottom:1px solid var(--line)}.service-page .stat--intro{min-height:220px}.service-page .path-card{padding-inline:0}.service-page .founder-media{min-height:390px}.service-page .founder-copy{padding:42px 0}.service-page .founder-copy h2{font-size:49px}.service-page .people-grid,.service-page .video-rail{display:block}.service-page .person,.service-page .video-card{min-height:380px;margin-bottom:1px}.service-page .directory-card{grid-template-columns:46px 1fr auto;gap:12px}.service-page .contact-row{grid-template-columns:1fr;gap:6px}.service-page .map{min-height:380px}.service-page .map-note{right:18px;bottom:18px;left:18px}.service-page .logo-grid{grid-template-columns:1fr 1fr}.service-page .logo-cell{min-height:110px}.service-page .faq-list summary{grid-template-columns:38px 1fr 24px;gap:10px}.service-page .faq-list details p{padding-left:48px}.service-page .cta h2{font-size:47px}}


/* ── Дополнения к эталону под настоящее содержимое ───────────────── */

/* Шапка сайта фиксированная, в эталоне её нет: первый экран отступает
   от её высоты, иначе крошки уходят под неё. Цитата «прилипает» ниже шапки. */
.service-page .svc-hero{padding-top:calc(var(--tsn-h,84px) + clamp(48px,7vw,120px))}
@media(max-width:560px){.service-page .svc-hero{padding-top:calc(var(--tsn-h,72px) + 40px)}}
.service-page .quote{top:calc(var(--tsn-h,84px) + 24px)}
.service-page .breadcrumbs ol{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none}
.service-page .breadcrumbs li{display:inline}
.service-page .breadcrumbs li+li::before{content:"/";margin:0 10px;color:#5b6d89}
.service-page .breadcrumbs a{text-decoration:none}
.service-page .breadcrumbs a:hover{color:var(--white)}
.service-page .breadcrumbs li:last-child{color:#d6e2ee}

/* Цифр у клуба больше трёх: вступление занимает первую ячейку, остальное
   идёт рядами по четыре. */
.service-page .stats-grid--wide{grid-template-columns:repeat(4,1fr)}
.service-page .stats-grid--wide .stat{border-bottom:1px solid var(--line)}
.service-page .stats-grid--wide .stat:nth-child(4n){border-right:0}
.service-page .stats--dark{background:var(--ink-2);color:var(--white)}
.service-page .stats--dark .stats-grid{border-color:rgba(185,201,216,.2)}
.service-page .stats--dark .stat{border-color:rgba(185,201,216,.18)!important}
.service-page .stats--dark .stat--intro{background:var(--ink)}
.service-page .stats--dark .stat p{color:#b9c9d8}
.service-page .stats--dark .stat small{color:#8fa5bb}
@media(max-width:900px){
  .service-page .stats-grid--wide{grid-template-columns:1fr 1fr}
  .service-page .stats-grid--wide .stat:nth-child(4n){border-right:1px solid var(--line)}
  .service-page .stats-grid--wide .stat:nth-child(2n){border-right:0}
}
@media(max-width:560px){.service-page .stats-grid--wide{grid-template-columns:1fr}}

/* Список внутри текстового модуля: «для кого клуб», правила группы. */
.service-page .mission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:34px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.service-page .mission-list li{padding:16px 0 16px 26px;border-bottom:1px solid var(--line);position:relative;font-size:16px}
.service-page .mission-list li::before{position:absolute;left:0;top:24px;width:8px;height:8px;border-radius:50%;background:var(--blue);content:""}
@media(max-width:620px){.service-page .mission-list{grid-template-columns:1fr}}

/* Компактный справочник: длинный список ссылок, например города клуба. */
.service-page .directory-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 28px;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.service-page .directory-compact li{border-bottom:1px solid var(--line)}
.service-page .directory-compact a{display:flex;justify-content:space-between;gap:10px;padding:14px 0;font-size:15px;text-decoration:none}
.service-page .directory-compact a::after{content:"↗";color:#5b6d89}
.service-page .directory-compact a:hover{color:#0b1f36;text-decoration:underline;text-underline-offset:4px}

/* Несколько цитат основателя. */
.service-page .founder-quotes{display:grid;gap:26px;margin:0;padding-top:34px;border-top:1px solid rgba(185,201,216,.22)}
.service-page .founder-quotes blockquote{margin:0;font:400 clamp(21px,1.8vw,32px)/1.25 var(--serif)}

/* Карточка пути без ссылки не должна оставлять пустоту снизу. */
.service-page .path-card{padding-bottom:70px}
.service-page .path-card ul{margin:18px 0 0;padding:0;list-style:none;color:#b9c9d8;font-size:13px}
.service-page .path-card li{padding:4px 0}

/* До четырёх цифр — одним рядом (число колонок приходит из разметки). */
.service-page .stats-grid:not(.stats-grid--wide){grid-template-columns:1.3fr repeat(var(--n,3),1fr)}
.service-page .stat--intro p{margin:18px 0 0;color:var(--muted);font-size:14px;max-width:440px}
.service-page .stats--dark .stat--intro p{color:#b9c9d8}
@media(max-width:900px){.service-page .stats-grid:not(.stats-grid--wide){grid-template-columns:1fr 1fr}}
@media(max-width:560px){.service-page .stats-grid:not(.stats-grid--wide){grid-template-columns:1fr}}

/* Кнопки под фотографиями и ссылки под лентой видео. */
.service-page .people-actions,.service-page .videos-links{display:flex;gap:12px 28px;flex-wrap:wrap;align-items:center;margin:30px 0 0}
.service-page .people-actions .button+.button{background:transparent;color:var(--text);border-color:#b8c3d4}
.service-page .people-actions .button+.button:hover{background:#fff}
.service-page .videos-links a{color:var(--white);font-size:13px;text-decoration:none;border-bottom:1px solid #8fa5bb}

/* Лента историй на странице кейсов: шестнадцать карточек рядами по четыре. */
.service-page .video-rail--4{grid-template-columns:repeat(4,1fr)}
.service-page .video-rail--4 .video-card{min-height:330px}
@media(max-width:1180px){.service-page .video-rail--4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.service-page .video-rail--4{grid-template-columns:1fr 1fr}.service-page .video-rail--4 .video-card:first-child{grid-column:auto}}

/* Настоящая карта вместо схемы эталона: блок build_map.py с заставкой,
   кнопкой «Показать карту» и строкой «Скопировать адрес» под ней. */
.service-page .map--live{min-height:0;border:0;background:none;overflow:visible}
.service-page .map--live .terra-map{min-height:clamp(420px,36vw,520px);border-radius:0;border:1px solid rgba(185,201,216,.26)}
.service-page .map--live .terra-map__foot{color:#b9c9d8}
.service-page .map--live .terra-map__address-line{color:#b9c9d8}
.service-page .contact-row a{border-bottom:1px solid #8fa5bb}

/* Списки в колонках: задачи, требования, условия вакансии. */
.service-page .lists-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.service-page .lists-col{padding:30px 32px 30px 0;border-right:1px solid var(--line)}
.service-page .lists-col+.lists-col{padding-left:32px}
.service-page .lists-col:last-child{border-right:0}
.service-page .lists-col h3{margin:0 0 18px;font:400 clamp(23px,1.7vw,31px)/1.08 var(--serif)}
.service-page .lists-col ul{margin:0;padding:0;list-style:none}
.service-page .lists-col li{position:relative;padding:10px 0 10px 22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px}
.service-page .lists-col li::before{position:absolute;left:0;top:18px;width:7px;height:7px;border-radius:50%;background:var(--blue);content:""}
@media(max-width:900px){.service-page .lists-grid{grid-template-columns:1fr}.service-page .lists-col,.service-page .lists-col+.lists-col{padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}}

/* Живая форма страницы (отклик на вакансию): разметка формы не меняется,
   оформление — под модуль. */
.service-page .svc-form{background:var(--white)}
.service-page .svc-form__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,8vw,150px);align-items:start}
.service-page .svc-form__layout .lead{margin-top:22px}
.service-page .svc-form__body form{display:grid;gap:14px;margin:0}
.service-page .svc-form__body input[type=text],.service-page .svc-form__body input[type=tel],.service-page .svc-form__body input[type=email],.service-page .svc-form__body textarea{
  width:100%;min-height:56px;padding:15px 16px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--text);font:inherit;font-size:16px}
.service-page .svc-form__body textarea{min-height:120px;resize:vertical}
.service-page .svc-form__body input:focus,.service-page .svc-form__body textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(185,201,216,.25)}
.service-page .svc-form__body button[type=submit]{justify-self:start;min-height:54px;padding:0 28px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.service-page .svc-form__body button[type=submit]:hover{background:#eef4fa}
.service-page .svc-form__body .policy{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:13px}
.service-page .svc-form__body .policy a{text-decoration:underline}
.service-page .svc-form__body .input--blank{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
@media(max-width:900px){.service-page .svc-form__layout{grid-template-columns:1fr}}


/* ── Исправления после проверки Codex, 28.09.2026 ───────────────────── */

/* Хлебные крошки: на сайте есть старое правило .breadcrumb из Bootstrap —
   белый фон, отступы, скругление и свой разделитель «/». На тёмном первом
   экране это выглядело белой плашкой. */
.service-page .breadcrumbs .breadcrumb{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.service-page .breadcrumbs li+li::before{padding:0}

/* Согласие в форме отклика: текст наследовал белый цвет из подвала сайта
   и на светлом фоне почти исчезал. */
.service-page .svc-form__body .policy__text{color:var(--muted);font-size:13px}
.service-page .svc-form__body .policy a{color:var(--text);text-decoration:underline;text-underline-offset:2px}

/* Логотипы партнёров — по размеру ячейки, а не растянутые на всю ширину. */
.service-page .logo-cell img{display:block;width:auto;height:auto;max-width:78%;max-height:72px;object-fit:contain}

/* У служебной страницы свой финальный призыв. Общий призыв подвала
   («Растите вместе с TERRA») шёл сразу за ним, и страница заканчивалась
   дважды подряд. На таких страницах подвальный не показываем. */
body:has(.service-page) .rd-footer-cta{display:none}

/* Словесная карточка в сетке партнёров — для тех, у кого нет логотипа. */
.service-page .logo-cell{text-align:center;line-height:1.2}


/* ── Запись, сотрудничество, вопросы и ответы · 29.09.2026 ─────────── */

/* Скрытое скриптом (шаги ученика в заявке наставника) — скрыто всегда:
   у блоков свой display, и атрибут hidden без этого правила не работал бы. */
.service-page [hidden]{display:none!important}

/* Хлебные крошки: у названий в разметке BreadcrumbList свой <span>, и правило
   эталона для разделителей (span с полями по 10px, тусклый цвет) ложилось
   на них — отступы гуляли, последний пункт терял цвет. */
.service-page .breadcrumbs [itemprop="name"]{margin:0;color:inherit}

/* Текстовый блок без цитаты справа — на всю ширину: иначе правая треть
   секции пустует, а текст жмётся влево. */
.service-page .mission-layout:not(:has(.quote)){grid-template-columns:minmax(0,1fr)}

/* Светлая секция среди бумажных: соседние блоки одного цвета сливались. */
.service-page .section--white{background:var(--white)}

/* Поля форм записи и сотрудничества — одним языком с модулем отклика. */
.service-page .signup__grid{display:grid;gap:16px}
.service-page :is(.signup__row,.fld-row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-page :is(.signup__field,.fld){display:flex;flex-direction:column;gap:7px;min-width:0}
.service-page :is(.signup__field,.fld) label{color:var(--muted);font-size:12px;font-weight:500;letter-spacing:0}
.service-page .signup__req{color:#b84a3a;font-weight:400}
.service-page :is(.signup__opt,.fld-opt){margin-left:4px;color:#5b6d89;font-weight:400;letter-spacing:0}
.service-page .fld-hint{color:#5b6d89;font-size:13px}
.service-page :is(.signup__field,.fld) :is(input,select,textarea){width:100%;min-height:54px;padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--text);font:inherit;font-size:16px;transition:border-color .16s,box-shadow .16s,background .16s}
.service-page .fld textarea{min-height:140px;resize:vertical;line-height:1.5}
.service-page .fld select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer}
.service-page :is(.signup__field,.fld) :is(input,select,textarea):hover{border-color:#b8c3d4}
.service-page :is(.signup__field,.fld) :is(input,select,textarea):focus{outline:none;border-color:var(--blue);background-color:#fff;box-shadow:0 0 0 3px rgba(185,201,216,.28)}
.service-page :is(.signup__check,.fld-check){display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-size:14px;line-height:1.45;cursor:pointer}
.service-page :is(.signup__check,.fld-check) input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink-2)}
.service-page :is(.signup__check,.fld-check) a{color:var(--text);text-decoration:underline;text-underline-offset:2px}
.service-page :is(.signup__submit,.fld-submit){display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:58px;margin-top:6px;padding:0 24px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:var(--ink);font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}
.service-page :is(.signup__submit,.fld-submit)::after{content:"↗";font-size:18px}
.service-page :is(.signup__submit,.fld-submit):hover{background:#eef4fa;border-color:#eef4fa}
.service-page :is(.signup__submit,.fld-submit):focus-visible{outline:2px solid var(--ink-2);outline-offset:3px}
.service-page :is(.signup__submit,.fld-submit):disabled{background:#d3dbe4;border-color:#d3dbe4;cursor:default}
.service-page .fld-submit{width:auto;min-width:min(100%,340px);justify-self:start}
.service-page :is(.signup-card,.svc-form__body) .input--blank{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.service-page .svc-form__body .fld-row,.service-page .svc-form__body .fld{margin:0}
.service-page .svc-form__body .fld select{background-color:#fff}

/* Ответы из базы знаний: несколько абзацев, списки, выделение. */
.service-page .faq-answer{padding:0 58px 28px;color:var(--muted)}
.service-page .faq-list .faq-answer p{margin:0 0 12px;padding:0}
.service-page .faq-list .faq-answer p:last-child{margin-bottom:0}
.service-page .faq-answer :is(ul,ol){margin:0 0 12px;padding-left:22px}
.service-page .faq-answer li{margin:0 0 6px}
.service-page .faq-answer strong{color:var(--text);font-weight:500}
.service-page .faq-more{margin:26px 0 0}
.service-page .faq-more a{font-size:13px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line)}
.service-page .faq-more a:hover{border-color:var(--text)}

/* Вопросы и ответы: навигация по разделам, разделы секциями по очереди
   светлой и бумажной; заголовок раздела держится рядом, пока листаешь. */
.service-page .faq-nav{border-bottom:1px solid var(--line);background:var(--white)}
.service-page .faq-nav__row{display:flex;flex-wrap:wrap;gap:0}
.service-page .faq-nav a{display:flex;align-items:baseline;gap:10px;padding:22px 26px 22px 0;margin-right:26px;border-right:1px solid var(--line);font-size:15px;font-weight:500;text-decoration:none}
.service-page .faq-nav a:last-child{border-right:0;margin-right:0}
.service-page .faq-nav a span{color:#5b6d89;font-size:13px;font-weight:500;letter-spacing:0}
.service-page .faq-nav a small{color:#5b6d89;font-size:12px;font-weight:500}
.service-page .faq-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.service-page .faq-group:nth-of-type(odd){background:var(--paper)}
.service-page .faq-group{scroll-margin-top:calc(var(--tsn-h,84px) + 12px)}
.service-page .faq-group details{scroll-margin-top:calc(var(--tsn-h,84px) + 12px)}
.service-page .faq-group__head{position:sticky;top:calc(var(--tsn-h,84px) + 28px);align-self:start}
.service-page .faq-group__count{margin:18px 0 0;color:var(--muted);font-size:14px}
.service-page .cta-note{margin:26px 0 0!important;color:#b9c9d8;font-size:14px}
.service-page .cta-note a{color:var(--white);text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){
  .service-page .faq-group__head{position:static}
  .service-page .faq-nav a{padding:16px 18px 16px 0;margin-right:18px}
}
@media(max-width:560px){
  .service-page :is(.signup__row,.fld-row){grid-template-columns:minmax(0,1fr)}
  .service-page .fld-submit{width:100%}
  .service-page .faq-answer{padding:0 0 24px 48px}
  .service-page .faq-nav__row{flex-direction:column}
  .service-page .faq-nav a{padding:14px 0;margin-right:0;border-right:0;border-bottom:1px solid var(--line)}
  .service-page .faq-nav a:last-child{border-bottom:0}
}

/* Видео — отдельными карточками с воздухом между ними. Сетка «встык» с
   линией в 1px, как в эталоне, на живых обложках читалась склеенной полосой. */
.service-page .video-rail{gap:clamp(14px,1.4vw,24px);background:none;border:0}
.service-page .video-card{border:1px solid rgba(185,201,216,.2)}
@media(max-width:560px){.service-page .video-rail .video-card{margin-bottom:14px}}

/* Первый экран служебных страниц — на четверть сдержаннее: заголовок доходил
   до 126px (на «О клубе» четыре строки на весь экран). Верхний предел 96px,
   подводке больше своей ширины, сам экран ниже. На телефоне — как было. */
.service-page .svc-hero{min-height:clamp(560px,70svh,720px)}
.service-page .svc-hero h1{font-size:clamp(52px,5.2vw,96px)}
.service-page .hero-layout{grid-template-columns:minmax(0,1.2fr) minmax(340px,.54fr)}
@media(max-width:1180px){.service-page .hero-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.54fr)}}
@media(max-width:900px){.service-page .hero-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.service-page .svc-hero h1{font-size:clamp(48px,7vw,60px)}}
@media(max-width:560px){.service-page .svc-hero h1{font-size:48px}}

/* Запись (29.09.2026, Михаил): сверху заголовок и подводка, под ними большая
   форма на всю ширину — главный вход в воронку, на неё ведут все кнопки
   сайта. Первый экран сжат, крошки подняты к шапке; карточка формы заходит
   на край тёмного экрана, чтобы её было видно сразу, без прокрутки.
   Высоту шапки в отступ не добавляем: страницу под шапку уже сдвигает
   отступ body, и с общим правилом крошки уходили на двойную высоту шапки. */
.service-page .signup-hero{min-height:0;display:block;padding-top:clamp(28px,3vw,52px);padding-bottom:clamp(150px,12vw,210px)}
/* Над сеткой и кольцом фона, иначе крошки не нажимаются. Карточке формы
   z-index не ставим: плашка cookie живёт внутри подвала со своим слоем,
   и карточка с z-index закрывала её вместе с кнопкой «Хорошо». */
.service-page .signup-hero>.shell{position:relative;z-index:1}
.service-page .signup-hero .breadcrumbs{margin-bottom:clamp(22px,2.4vw,36px)}
.service-page .signup-hero h1{margin:0;text-wrap:pretty}
.service-page .signup__lead{max-width:none;margin:clamp(20px,2vw,30px) 0 0;color:#b9c9d8;font-size:clamp(17px,1.4vw,24px);line-height:1.5;text-wrap:pretty}
.service-page .signup__lead>span{display:block}
.service-page .signup-form{padding-bottom:clamp(64px,6vw,104px);background:var(--paper)}
.service-page .signup-card{position:relative;margin-top:calc(-1 * clamp(110px,9vw,160px));padding:clamp(28px,3.6vw,64px);border-radius:4px;background:#fff;color:var(--text);box-shadow:0 30px 80px rgba(6,17,31,.16)}
.service-page .signup-card__head{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(26px,2.8vw,44px)}
.service-page .signup-card__head h2{margin:14px 0 0;font:400 clamp(38px,3.4vw,62px)/1 var(--serif);letter-spacing:-.045em}
.service-page .signup-card__note{margin:0;color:var(--muted);font-size:14px}
.service-page .signup-card form{margin:0}
.service-page .signup-card .signup__grid,.service-page .signup-card .signup__row{gap:clamp(18px,1.7vw,28px)}
.service-page .signup-card .signup__field{gap:9px}
.service-page .signup-card .signup__field label{font-size:13px}
.service-page .signup-card .signup__field input{min-height:66px;padding:18px 20px;font-size:18px}
/* Подсказка под полем: зачем нужен телефон. */
.service-page .signup__hint{color:var(--muted);font-size:13px;line-height:1.4}
/* Галочки — справа от поля Telegram, по нижнему краю поля. */
.service-page .signup__checks{display:grid;gap:14px;align-content:end;padding-bottom:6px}
.service-page .signup-card .signup__check{font-size:15px}
.service-page .signup-card .signup__check input{width:20px;height:20px}
.service-page .signup-card .signup__submit{min-height:78px;margin-top:8px;padding:0 34px;font-size:19px}
.service-page .signup-card .signup__submit::after{font-size:26px}
/* Что будет после заявки — низом той же карточки. */
.service-page .signup-card .signup-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:clamp(30px,3.2vw,52px) 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.service-page .signup-card .signup-steps li{min-width:0;padding:26px 32px 0 0}
.service-page .signup-card .signup-steps li+li{padding-left:32px;padding-right:0;border-left:1px solid var(--line)}
.service-page .signup-card .signup-steps small{display:block;color:#5b6d89;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.service-page .signup-card .signup-steps strong{display:block;margin-top:12px;color:var(--text);font:400 clamp(23px,1.8vw,32px)/1.1 var(--serif);letter-spacing:-.02em}
.service-page .signup-card .signup-steps p{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
@media(max-width:560px){
  .service-page .signup-hero{padding-bottom:112px}
  .service-page .signup-card{margin-top:-76px;padding:26px 18px 28px}
  .service-page .signup-card__head h2{font-size:36px}
  .service-page .signup__checks{padding-bottom:0}
  .service-page .signup-card .signup__submit{min-height:66px;padding:0 24px;font-size:17px}
  .service-page .signup-card .signup-steps{grid-template-columns:minmax(0,1fr)}
  .service-page .signup-card .signup-steps li,.service-page .signup-card .signup-steps li+li{padding:22px 0 0;border-left:0}
  .service-page .signup-card .signup-steps li+li{margin-top:22px;border-top:1px solid var(--line)}
}

/* Правило Михаила (04.10.2026): заголовок и подзаголовок — столбиком,
   оба на всю ширину страницы, до края контейнера. Заголовок слева и подзаголовок
   справа, а также заголовки «на полстраницы» не делаем: это выдаёт шаблон. */
.service-page .hero-layout,.service-page .section-head,.service-page .cta-layout,.service-page .faq-layout{grid-template-columns:minmax(0,1fr)}
.service-page .hero-layout{gap:28px}
.service-page .section-head{gap:22px}
.service-page .cta-layout,.service-page .faq-layout{gap:36px}
.service-page .hero-side,.service-page .cta-side{padding:24px 0 0;border-left:0;border-top:1px solid rgba(185,201,216,.25)}
.service-page .svc-hero h1,.service-page .hero-side p,.service-page .section-head :is(h2,p,.lead),.service-page .cta :is(h2,p),.service-page .faq-layout :is(h2,p){max-width:none}
.service-page .hero-side p{font-size:clamp(17px,1.35vw,23px)}
/* Заголовок раздела вопросов теперь над списком: липким ему быть незачем. */
.service-page .faq-group__head{position:static}

/* ── «О клубе» и служебные страницы, правки Михаила 04.10.2026 ─────────── */

/* Фон светлых блоков — холодный светлый, как на главной. Бежевый «бумажный»
   читался жёлтым пятном, которого на главной нет. */
.service-page{--paper:#f2f5f8}


/* Первый экран: у заголовка надпись сверху и акцент. */
.service-page .h1-kicker{display:block;margin:0 0 .28em;color:#b9c9d8;font-size:.4em;font-style:italic;letter-spacing:-.02em;line-height:1}
.service-page .h1-accent{color:var(--blue);font-style:italic}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Цифры: число в одну строку («45 000+» больше не рвётся на «45» и «000+»),
   кегль подстраивается под ширину ячейки. */
.service-page .stat{container-type:inline-size}
.service-page .stat:not(.stat--intro) strong{white-space:nowrap;font-size:min(clamp(54px,5vw,88px),25cqi)}

/* Миссия и «для кого»: заголовок, под ним главная мысль на всю ширину;
   опоры — карточками в ряд, список — плитками, цитата — тёмной полосой. */
.service-page .mission--wide{background:var(--paper)}
.service-page .mission-head{display:grid;gap:18px;margin-bottom:clamp(36px,4vw,64px)}
.service-page .mission-head .display{margin:0}
.service-page .mission-lead{margin:0;padding-top:24px;border-top:1px solid var(--line);color:var(--text);font:400 clamp(24px,2.1vw,38px)/1.28 var(--serif);letter-spacing:-.02em}
.service-page .mission-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-page .mission-pillar{min-width:0;padding:clamp(26px,2.6vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.service-page .mission-pillar span,.service-page .mission-tiles li span{color:#5b6d89;font:500 13px/1 var(--sans);letter-spacing:0}
.service-page .mission-pillar h3{margin:26px 0 0;font:400 clamp(30px,2.4vw,44px)/1 var(--serif);letter-spacing:-.035em}
.service-page .mission-pillar p{margin:16px 0 0;color:var(--muted);font-size:16px;line-height:1.6}
.service-page .mission-text{display:grid;gap:16px}
.service-page .mission-text p{margin:0;font-size:clamp(17px,1.25vw,21px);line-height:1.55}
.service-page .mission-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-page .mission-tiles li{min-width:0;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:24px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--text);font:400 clamp(19px,1.45vw,25px)/1.22 var(--serif);letter-spacing:-.015em;transition:background .2s}
.service-page .mission-tiles li:hover{background:var(--mist)}
.service-page .mission-quote{position:relative;margin:clamp(28px,3vw,48px) 0 0;padding:clamp(34px,3.6vw,60px) clamp(28px,4vw,72px);background:var(--ink-2);color:var(--white)}
.service-page .mission-quote::before{display:block;margin-bottom:12px;color:var(--blue);font:400 72px/.6 var(--serif);content:"“"}
.service-page .mission-quote blockquote{margin:0;font:400 clamp(26px,2.4vw,44px)/1.22 var(--serif);letter-spacing:-.02em}
.service-page .mission-quote figcaption{margin-top:22px;color:#8fa5bb;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.service-page .mission-action{margin:clamp(28px,3vw,44px) 0 0}
@media(max-width:1100px){.service-page .mission-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.service-page .mission-pillars{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.service-page .mission-tiles{grid-template-columns:minmax(0,1fr)}.service-page .mission-tiles li{min-height:0}}
.service-page .mission-tiles__cta{padding:0!important;background:var(--ink-2)!important}
.service-page .mission-tiles__cta a{display:flex;flex-direction:column;justify-content:space-between;gap:20px;height:100%;padding:24px 26px;color:#fff;text-decoration:none;font:400 clamp(21px,1.6vw,28px)/1.18 var(--serif)}
.service-page .mission-tiles__cta a span{color:var(--blue)}
.service-page .mission-tiles__cta:hover{background:#0b1f36!important}

/* Главная мысль страницы крупно, отдельной светлой полосой (модуль statement).
   На «О клубе» так стоит миссия: в заголовке первого экрана она терялась
   (Михаил, 04.10.2026). Светлая полоса между тёмным первым экраном и цифрами
   отделяет её от остального; выделенные слова — курсивом синим. */
.service-page .statement{padding:clamp(64px,7vw,128px) 0;background:var(--paper)}
.service-page .statement__figure{margin:0}
.service-page .statement__label{display:flex;align-items:center;gap:14px;margin:0 0 clamp(18px,2vw,30px);color:#5b6d89;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.service-page .statement__label i{flex:none;width:38px;height:1px;background:var(--blue)}
.service-page .statement__text{margin:0}
.service-page .statement__text::before{display:block;height:.5em;color:var(--blue);font:400 clamp(110px,10vw,190px)/1 var(--serif);content:"“"}
.service-page .statement__text p{margin:0;color:var(--ink);font:400 clamp(42px,6.2vw,112px)/1 var(--serif);letter-spacing:-.045em;text-wrap:pretty}
.service-page .statement__text em{color:#173566;font-style:italic}
@media(max-width:560px){.service-page .statement__text p{font-size:clamp(36px,10.5vw,46px);line-height:1.04}}
/* Цитата в «Почему бесплатно» — одной строкой (Михаил, 04.10.2026): кегль
   от ширины полосы. Узкий экран упирается в 20px, там строка переносится. */
.service-page .mission-quote{container-type:inline-size}
.service-page .mission-quote blockquote{font-size:clamp(20px,2.2cqi,40px)}
/* Блок ступеней: четыре карточки (Старт, Запуск, Прорыв, Опора) в ряд на
   широком экране и по две на среднем; при трёх колонках четвёртая
   оставалась одна на строке (06.10.2026). */
@media(min-width:1281px){.service-page .path-grid--4{grid-template-columns:repeat(4,1fr)}.service-page .path-grid--4 .path-card{padding-inline:clamp(24px,2.2vw,40px)}.service-page .path-grid--4 .path-card h3{font-size:clamp(26px,2vw,38px)}}
@media(min-width:901px) and (max-width:1280px){.service-page .path-grid--4{grid-template-columns:repeat(2,1fr)}}

/* «О клубе», 15.10.2026 (Михаил). Блок основателя — светлый: после тёмного
   первого экрана и тёмных ступеней он просился светлым. Цвета временные,
   окончательные даст новый брендбук. */
.service-page .founder{color:var(--text);background:var(--white)}
.service-page .founder-copy{border-left-color:var(--line)}
.service-page .founder-role{color:var(--muted)}
.service-page .founder-quotes{border-top-color:var(--line)}
@media(max-width:820px){.service-page .founder-copy{border-top-color:var(--line)}}

/* Видео: у всех карточек один кадр 16:9, обложка целиком и без затемнения,
   подпись под обложкой. Раньше первая карточка была шире остальных, кадр
   обрезался по высоте карточки, а наша подпись лежала поверх крупного
   текста самой обложки и не читалась. Превью YouTube 4:3 с чёрными полосами
   в кадре 16:9 теряют как раз полосы. */
.service-page .video-rail{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.service-page .video-rail--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-page .video-card,.service-page .video-rail--4 .video-card{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:0}
.service-page .video-card__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#06111f}
.service-page .video-card img{position:static;width:100%;height:100%;object-fit:cover;filter:none}
.service-page .video-card:hover img{filter:none;transform:scale(1.03)}
/* Кнопка «смотреть» — в полосе подписи, а не на обложке: там она закрывала
   текст обложки. */
.service-page .video-card::before{content:none}
.service-page .video-card__copy{position:relative;flex:1;padding:20px 78px 24px 22px}
.service-page .video-card__copy::after{position:absolute;top:20px;right:22px;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;content:"▶";font-size:12px;color:var(--white);transition:background .2s,border-color .2s}
.service-page .video-card:hover .video-card__copy::after{border-color:var(--blue);background:rgba(185,201,216,.14)}
.service-page .video-card h3{font-size:clamp(21px,1.6vw,28px)}
@media(max-width:1180px){.service-page .video-rail--4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.service-page .video-rail,.service-page .video-rail--4{grid-template-columns:1fr 1fr}.service-page .video-card:first-child{grid-column:auto}}
@media(max-width:560px){.service-page .video-rail{display:grid;grid-template-columns:1fr}.service-page .video-card,.service-page .video-rail .video-card{min-height:0;margin-bottom:0}}

/* «Для кого» с иконками (15.10.2026): вместо номеров 01–11 линейная иконка
   по смыслу пункта. При наведении иконка прорисовывается заново: у линий
   длина пути 1 (pathLength в разметке), анимируется смещение штриха. */
.service-page .mission-tiles--icons li{min-height:200px;justify-content:space-between;gap:28px;padding:28px 28px 26px;font:400 clamp(20px,1.5vw,26px)/1.18 var(--serif)}
.service-page .mission-icon{flex:none;width:48px;height:48px;color:#173566;transition:color .25s,transform .35s ease}
.service-page .mission-icon *{stroke-dasharray:1;stroke-dashoffset:0}
.service-page .mission-tiles--icons li:hover .mission-icon{color:#0b1f36;transform:translateY(-3px)}
.service-page .mission-tiles--icons li:hover .mission-icon *{animation:missionDraw .9s ease both}
.service-page .mission-tiles--icons li .mission-tiles__text{display:block;color:var(--text);font:inherit;letter-spacing:-.01em;text-transform:none}
.service-page .mission-tiles--icons .mission-tiles__cta a{min-height:200px;padding:28px 28px 26px}
@keyframes missionDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.service-page .mission-tiles--icons li:hover .mission-icon *{animation:none}}
@media(max-width:560px){.service-page .mission-tiles--icons li{min-height:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;padding:20px 18px}.service-page .mission-icon{width:36px;height:36px}.service-page .mission-tiles--icons .mission-tiles__cta a{min-height:0;padding:22px 18px}}

/* Ступени «орбитой», как на главной (15.10.2026). Размеры колец и цвета —
   с главной: кольца 36/55/74/93% от квадрата, точки едут по окружности
   через offset-path. Текст в карточках чуть крупнее, чем на главной:
   там его трудно читать. Подсветка ступени и её кольца — через :has(). */
.service-page .orbit{display:grid;grid-template-columns:minmax(300px,.56fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:center;margin-top:clamp(36px,4vw,64px)}
.service-page .orbit-visual{position:relative;width:100%;max-width:480px;aspect-ratio:1;justify-self:center}
.service-page .orbit-core{position:absolute;left:50%;top:50%;z-index:2;width:19%;aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid #b9c9d8;border-radius:50%;background:radial-gradient(circle at 34% 30%,#173566 0%,#0b1f36 52%,#06111f 100%)}
.service-page .orbit-core span{color:#ffffff;font:500 13px/1 var(--sans);letter-spacing:0}
.service-page .orbit-ring{position:absolute;left:50%;top:50%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid;border-radius:50%;transition:border-color .25s,box-shadow .25s}
.service-page .orbit-ring--1{width:36%;border-color:#b9c9d8}
.service-page .orbit-ring--2{width:55%;border-color:#b9c9d8}
.service-page .orbit-ring--3{width:74%;border-color:#b9c9d8}
.service-page .orbit-ring--4{width:93%;border-color:#b9c9d8}
.service-page .orbit-ring i,.service-page .orbit-ring b{position:absolute;left:0;top:0;offset-path:circle(50% at 50% 50%);offset-rotate:0deg;animation:orbitTravel var(--t,20s) linear var(--d,0s) infinite var(--dir,normal)}
.service-page .orbit-ring i{width:12px;height:12px;border-radius:50%;background:var(--dot);transition:transform .25s}
.service-page .orbit-ring b{padding:6px 9px;border-radius:4px;background:rgba(6,17,31,.92);color:#eef4fa;font:500 13px/1 var(--sans);white-space:nowrap;opacity:.82;offset-anchor:50% 160%}
.service-page .orbit-ring--1{--dot:#d4aa61;--t:17s}
.service-page .orbit-ring--2{--dot:#eef4fa;--t:23s;--d:-7s;--dir:reverse}
.service-page .orbit-ring--3{--dot:#b9c9d8;--t:29s;--d:-15s}
.service-page .orbit-ring--4{--dot:#d6e2ee;--t:36s;--d:-22s;--dir:reverse}
@keyframes orbitTravel{to{offset-distance:100%}}
.service-page .orbit-stages{display:grid;gap:10px}
.service-page .orbit-stage{display:grid;grid-template-columns:86px minmax(0,1.35fr) minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px 26px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(6,17,31,.93);color:#b9c9d8;transition:background .25s,border-color .25s,transform .25s}
.service-page .orbit-stage__no{color:#d4aa61;font:500 13px/1.3 var(--sans);letter-spacing:0;text-transform:none}
.service-page .orbit-stage h3{margin:0;color:#ffffff;font:500 26px/1.1 var(--sans)}
.service-page .orbit-stage p{margin:8px 0 0;color:#b9c9d8;font-size:14px;line-height:1.45}
.service-page .orbit-stage dl{display:grid;gap:8px;margin:0}
.service-page .orbit-stage dl div{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:baseline}
.service-page .orbit-stage dt{color:#8fa5bb;font-size:12px}
.service-page .orbit-stage dd{margin:0;color:#eef4fa;font-size:14px}
.service-page .orbit-stage a{padding:12px 16px;border:1px solid rgba(255,255,255,.17);border-radius:4px;color:#ffffff;font-size:13px;text-decoration:none;white-space:nowrap;transition:border-color .2s,background .2s}
.service-page .orbit-stage a:hover{border-color:#d4aa61;background:rgba(212,170,97,.08)}
.service-page .orbit-stage:hover,.service-page .orbit-stage:focus-within{border-color:rgba(185,201,216,.33);background:rgba(11,31,54,.97);transform:translateX(-4px)}
.service-page .orbit:has([data-stage="0"]:hover,[data-stage="0"]:focus-within) .orbit-ring[data-stage="0"],
.service-page .orbit:has([data-stage="1"]:hover,[data-stage="1"]:focus-within) .orbit-ring[data-stage="1"],
.service-page .orbit:has([data-stage="2"]:hover,[data-stage="2"]:focus-within) .orbit-ring[data-stage="2"],
.service-page .orbit:has([data-stage="3"]:hover,[data-stage="3"]:focus-within) .orbit-ring[data-stage="3"]{border-color:#d6e2ee}
.service-page .orbit:has([data-stage="0"]:hover) .orbit-ring[data-stage="0"] b,
.service-page .orbit:has([data-stage="1"]:hover) .orbit-ring[data-stage="1"] b,
.service-page .orbit:has([data-stage="2"]:hover) .orbit-ring[data-stage="2"] b,
.service-page .orbit:has([data-stage="3"]:hover) .orbit-ring[data-stage="3"] b{opacity:1;color:#fff}
.service-page .orbit:has(.orbit-ring[data-stage="0"]:hover) .orbit-stage[data-stage="0"],
.service-page .orbit:has(.orbit-ring[data-stage="1"]:hover) .orbit-stage[data-stage="1"],
.service-page .orbit:has(.orbit-ring[data-stage="2"]:hover) .orbit-stage[data-stage="2"],
.service-page .orbit:has(.orbit-ring[data-stage="3"]:hover) .orbit-stage[data-stage="3"]{border-color:rgba(185,201,216,.33);background:rgba(11,31,54,.97);transform:translateX(-4px)}
@media(prefers-reduced-motion:reduce){.service-page .orbit-ring i,.service-page .orbit-ring b{animation:none;offset-distance:12%}}
@media(max-width:1180px){.service-page .orbit-stage{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}.service-page .orbit-stage__no{grid-column:1/-1}}
@media(max-width:980px){.service-page .orbit{grid-template-columns:1fr}.service-page .orbit-visual{max-width:380px}}
@media(max-width:640px){.service-page .orbit-stage{grid-template-columns:1fr;gap:14px;padding:20px}.service-page .orbit-stage a{justify-self:start}.service-page .orbit-visual{max-width:320px}.service-page .orbit-ring b{font-size:13px;padding:5px 7px}}

/* «Если вы не в Санкт-Петербурге» (15.10.2026): тёмный блок с картой клубов
   как на главной и список чатов городов рядом. Точки и кадр — из файлов
   главной (build_service_pages.py), выбор города — clubs-map.js. */
.service-page .clubs{color:var(--white);background:var(--ink)}
.service-page .clubs .section-head__copy .lead{color:#b9c9d8;border-color:rgba(185,201,216,.18)}
.service-page .clubs-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:clamp(24px,3vw,48px);align-items:start;margin-top:clamp(32px,4vw,56px)}
.service-page .clubs-layout--no-map{grid-template-columns:1fr}
.service-page .clubs-panel{position:relative;padding:10px;border:1px solid rgba(185,201,216,.24);border-radius:22px;background:linear-gradient(145deg,#0b1f36,#06111f 72%);box-shadow:0 34px 100px rgba(0,0,0,.53)}
.service-page .clubs-map{position:relative;aspect-ratio:550/317;overflow:hidden;border:1px solid rgba(185,201,216,.16);border-radius:12px;background:#06111f var(--map) center/100% 100% no-repeat}
.service-page .clubs-map.is-near{cursor:pointer}
.service-page .clubs-marker{position:absolute;left:var(--x);top:var(--y);z-index:2;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:50%;background:none;transform:translate(-50%,-50%);cursor:pointer}
.service-page .clubs-marker::before{position:absolute;left:50%;top:50%;width:18px;height:18px;border:1px solid rgba(185,201,216,.33);border-radius:50%;transform:translate(-50%,-50%);content:""}
.service-page .clubs-marker i{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#d6e2ee;box-shadow:0 0 0 3px rgba(185,201,216,.09);transform:translate(-50%,-50%);transition:transform .2s,box-shadow .2s}
.service-page .clubs-marker.is-primary i{width:10px;height:10px;background:#d4aa61;box-shadow:0 0 0 5px rgba(212,170,97,.27)}
.service-page .clubs-marker.is-active i{transform:translate(-50%,-50%) scale(1.4);box-shadow:0 0 0 6px rgba(185,201,216,.2)}
.service-page .clubs-marker.is-primary.is-active i{box-shadow:0 0 0 6px rgba(212,170,97,.32)}
.service-page .clubs-marker:focus-visible{outline:2px solid #d4aa61;outline-offset:-4px}
.service-page .clubs-card{position:absolute;top:24px;right:24px;z-index:3;display:none;width:min(240px,31%);padding:13px 15px;border:1px solid rgba(185,201,216,.22);border-radius:12px;background:linear-gradient(145deg,rgba(6,17,31,.94),rgba(11,31,54,.92));box-shadow:0 24px 70px rgba(0,0,0,.6);pointer-events:none}
.service-page .clubs-card.is-active{display:block}
.service-page .clubs-card span{display:block;color:#b9c9d8;font-size:13px;letter-spacing:0;text-transform:none}
.service-page .clubs-card.is-primary span{color:#d4aa61}
.service-page .clubs-card strong{display:block;margin-top:6px;color:#fff;font-size:17px;font-weight:500;line-height:1.2}
.service-page .clubs-card small{display:block;margin-top:8px;color:#b9c9d8;font-size:13px;line-height:1.45}
.service-page .clubs-chats__title{margin:0 0 14px;color:#eef4fa;font-size:17px}
.service-page .clubs-chats ul{margin:0;padding:0;list-style:none;columns:3;column-gap:24px}
.service-page .clubs-chats li{break-inside:avoid}
.service-page .clubs-chats a{display:block;padding:7px 0;border-bottom:1px solid rgba(185,201,216,.14);color:#d6e2ee;font-size:15px;text-decoration:none;transition:color .2s}
.service-page .clubs-chats a:hover{color:var(--blue)}
@media(max-width:1280px){.service-page .clubs-chats ul{columns:2}}
@media(max-width:1100px){.service-page .clubs-layout{grid-template-columns:1fr}.service-page .clubs-chats ul{columns:4}}
@media(max-width:760px){.service-page .clubs-map{aspect-ratio:4/3;background-image:var(--map-m)}.service-page .clubs-marker{left:var(--mx);top:var(--my)}.service-page .clubs-card{position:static;width:auto;margin-top:10px;box-shadow:none}.service-page .clubs-chats ul{columns:2}}

/* «Результаты учеников» на «О клубе» (Михаил, 15.10.2026, вариант Б): сверху
   заголовок, слева крупно главная цифра, справа остальные четыре квадратом.
   Раньше заголовок и пять цифр шли по четыре в ряд и оставляли пустую половину. */
.service-page .stats-lead{display:grid;grid-template-columns:1.25fr 1fr 1fr;border-inline:1px solid rgba(185,201,216,.2)}
.service-page .stats-lead__head{grid-column:1/-1;padding:clamp(44px,4.4vw,72px) clamp(30px,3.5vw,58px) clamp(30px,3vw,44px);border-bottom:1px solid rgba(185,201,216,.18)}
.service-page .stats-lead__head h2{margin:0;color:var(--white);font:400 clamp(34px,3.2vw,56px)/1.05 var(--serif);letter-spacing:-.035em}
.service-page .stats-lead__head p{margin:14px 0 0;color:#b9c9d8;font-size:16px}
.service-page .stats-lead .stat{min-height:230px;border-right:1px solid;border-bottom:1px solid}
.service-page .stats-lead .stat:nth-child(4),.service-page .stats-lead .stat:nth-child(6){border-right:0}
.service-page .stats-lead .stat:nth-child(5),.service-page .stats-lead .stat:nth-child(6){border-bottom:0}
.service-page .stats-lead .stat--main{grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:0;background:var(--ink)}
.service-page .stats-lead .stat--main strong{margin-top:auto;font-size:min(clamp(104px,11vw,200px),36cqi)}
.service-page .stats-lead .stat--main p{max-width:340px;margin-top:24px;color:#d6e2ee;font-size:18px;line-height:1.45}
@media(max-width:1100px){
  .service-page .stats-lead{grid-template-columns:1fr 1fr}
  .service-page .stats-lead .stat--main{grid-column:1/-1;grid-row:auto;min-height:0;border-right:0;border-bottom:1px solid}
  .service-page .stats-lead .stat--main strong{margin-top:28px}
}
@media(max-width:560px){
  .service-page .stats-lead .stat{min-height:0;padding:26px 18px}
  .service-page .stats-lead__head{padding:44px 18px 28px}
  .service-page .stats-lead .stat p{font-size:13px}
  .service-page .stats-lead .stat--main p{font-size:16px}
}

/* Сноска под строкой контактов: подпись на тёмном, 13 px (17.10.2026). */
.service-page .contact-row__note{display:block;margin-top:8px;color:#8fa5bb;font-size:13px;font-weight:400;line-height:1.45}

/* ── По брендбуку, 16.10.2026 ────────────────────────────────────────────
   Страницы приведены к брендбуку (/o-klube/brendbuk/): шрифт Onest, жирность
   300/400/500, один размер заголовка блока, воздух 128/36/56, палитра без
   бирюзы и голубого, без подписей над заголовками и линий под ними, блок
   перед подвалом светлый. Правила ниже стоят последними и по весу не слабее
   прежних, поэтому побеждают их. */

/* Заголовок блока: один размер на всех блоках. */
.service-page :is(.heading,.display,.founder-copy h2,.cta h2,.stats-lead__head h2,.signup-card__head h2,.contact-details h2){margin:0;font:400 clamp(30px,3.6vw,52px)/1.06 var(--sans);letter-spacing:-.03em;text-transform:none}

/* Контент шириной ровно с шапку и подвал на всех экранах: прежние поправки
   для планшета и телефона делали его уже шапки (696 px против 732 на 768). */
.service-page{--shell:var(--tsn-shell,calc(100% - 28px))}

/* Слова, которые не переносим (обёртку ставит генератор), и строки без
   одного слова в конце. Обёртка берёт всё у родителя: иначе на неё ложатся
   чужие правила вроде «li span». Короткие тексты (заголовки, подводки,
   карточки) выравниваем по длине строк: обычный перенос оставлял одно слово
   внизу. Подводкам и абзацам pretty: balance сжимал их до половины ширины. */
.service-page .nowrap.nowrap{color:inherit;font:inherit;letter-spacing:inherit;white-space:nowrap}
.service-page p{text-wrap:pretty}
.service-page :is(h1,h2,h3,blockquote,li,strong,dd,figcaption,.statement__text p,.stat p,.orbit-stage p,.directory-card p,.mission-pillar p,.founder-role){text-wrap:balance}

/* Шапка блока: заголовок, под ним подводка. До подводки 36 px, до содержимого 56. */
.service-page .section-head{gap:36px;margin-bottom:56px;align-items:start}
.service-page .section-head__copy{gap:0}
.service-page .section-head__copy .lead{padding-top:0;border-top:0}
.service-page .lead{max-width:none;color:var(--muted);font-size:17px;line-height:1.6}
.service-page :is(.ecosystem,.videos,.clubs,.contacts,.stats--dark) .lead{color:#b9c9d8}
.service-page .mission-head{gap:36px;margin-bottom:56px}
.service-page .mission-lead{padding-top:0;border-top:0;color:var(--text);font:400 22px/1.45 var(--sans);letter-spacing:-.01em}
.service-page .faq-layout{gap:56px}
.service-page .cta-layout{gap:36px}
.service-page .contact-details h2{margin-bottom:56px}
.service-page .svc-form__layout .lead{margin-top:36px}
.service-page :is(.orbit,.clubs-layout){margin-top:0}

/* Между блоками 128 px, на телефоне 72. */
.service-page :is(.section,.statement,.cta){padding:clamp(72px,10vw,128px) 0}

/* Кнопки: главная на светлом глубокий синий, на тёмном белая; 15 px, 500, 52 px. */
.service-page .button{min-height:52px;gap:24px;padding:0 24px;border:1px solid #173566;background:#173566;color:#fff;font-size:15px;font-weight:500;letter-spacing:0}
.service-page .button:hover{border-color:#0b1f36;background:#0b1f36;color:#fff}
.service-page :is(.svc-hero,.ecosystem,.videos,.clubs,.contacts,.stats--dark) .button{border-color:#fff;background:#fff;color:#0b1f36}
.service-page :is(.svc-hero,.ecosystem,.videos,.clubs,.contacts,.stats--dark) .button:hover{border-color:#eef4fa;background:#eef4fa;color:#0b1f36}
.service-page .people-actions .button+.button{border-color:#b8c3d4;background:transparent;color:var(--text)}
.service-page .people-actions .button+.button:hover{border-color:#173566;background:#fff}

/* Первый экран: фон как у подвала (светлое пятно в углу), одна группа колец
   линией 1 px из того же угла. Клетки на фоне нет: в брендбуке её нельзя. */
.service-page .svc-hero{background:radial-gradient(circle at 88% 0%,rgba(23,53,102,.62),transparent 52%),linear-gradient(160deg,#0b1f36,#06111f 72%)}
.service-page .svc-hero::before,.service-page .svc-hero::after{position:absolute;left:88%;top:0;right:auto;bottom:auto;aspect-ratio:1;border:1px solid rgba(185,201,216,.16);border-radius:50%;background:none;box-shadow:none;transform:translate(-50%,-50%);pointer-events:none;content:""}
.service-page .svc-hero::before{width:min(40vw,640px)}
.service-page .svc-hero::after{width:min(66vw,1080px);border-color:rgba(185,201,216,.1)}
.service-page .svc-hero h1{font:400 clamp(40px,5.6vw,104px)/1 var(--sans);letter-spacing:-.035em}
.service-page .hero-layout{gap:36px}
.service-page .hero-side{padding:0;border:0}
.service-page .hero-side p{color:#b9c9d8;font-size:clamp(17px,1.2vw,21px);line-height:1.5}
.service-page .hero-side a{margin-top:36px}
.service-page .breadcrumbs{color:#8fa5bb;font-size:13px}
.service-page .breadcrumbs li+li::before{color:#5b6d89}
.service-page :is(.h1-kicker,.h1-accent){color:#b9c9d8;font-style:normal}

/* Второй блок заходит на первый экран на 44 px со скруглением 54, тень вверх.
   Только светлый: тёмный на тёмном скругления не показывает. */
.service-page .svc-hero:not(.signup-hero):has(+[data-tone]){padding-bottom:calc(clamp(64px,7vw,108px) + 44px)}
.service-page .svc-hero:not(.signup-hero)+[data-tone]{position:relative;z-index:1;margin-top:-44px;border-radius:54px 54px 0 0;box-shadow:0 -18px 40px rgba(6,17,31,.2)}

/* Светлые блоки подряд не сливаются: фирменный светлый и белый по очереди
   (тон ставит генератор). */
.service-page [data-tone="a"]{background:#f2f5f8}
.service-page [data-tone="b"]{background:#fff}

/* Ключевой тёмный блок: остров со скруглением 54 со всех сторон, 24 px
   светлого фона вокруг, внутри 104 сверху и 112 снизу. Остров собирает
   генератор из тёмных блоков подряд, первых среди светлых. */
.service-page .svc-island{width:var(--shell);margin:24px auto;border-radius:54px;overflow:hidden;background:#0b1f36}
.service-page .svc-island>*{--shell:calc(100% - 2 * clamp(16px,4vw,72px))}
.service-page .svc-island>:first-child{padding-top:104px}
.service-page .svc-island>:last-child{padding-bottom:112px}
.service-page .svc-island>:not(:last-child){padding-bottom:0}
.service-page .svc-island>.section:not(:first-child){padding-top:104px}
.service-page .svc-island .stats-lead__head{padding-top:104px;padding-inline:0}
.service-page .svc-island .stats-lead{border-inline:0}
/* Полоса цифр без заголовка внутри острова: 56 px от содержимого выше. */
.service-page .svc-island>.stats:not(:first-child):not(.stats--lead){padding-top:56px}
.service-page .svc-island .stats-grid{border-inline:0}

/* Главная мысль (statement): крупно, подпись под ней с золотой чертой. */
.service-page .statement__text::before{content:none}
.service-page .statement__text p{color:var(--text);font:400 clamp(30px,4.4vw,64px)/1.08 var(--sans);letter-spacing:-.035em}
.service-page .statement__text em{color:#173566;font-style:normal}
.service-page .statement__label{margin:36px 0 0;color:var(--muted);font-size:15px;font-weight:400;letter-spacing:0}
.service-page .statement__label i{width:28px;height:2px;background:#d4aa61}

/* Цифры: крупные 48 px, 300; подписи 14 px без капса. */
.service-page .stat{min-height:200px;min-width:0}
.service-page .stat small{color:var(--muted);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}
.service-page .stats--dark .stat small{color:#8fa5bb}
.service-page .stat:not(.stat--intro) strong{margin-top:24px;font-size:min(clamp(32px,3.4vw,48px),25cqi);font-weight:300;letter-spacing:-.03em;line-height:1}
.service-page .stat--intro strong{font:400 clamp(22px,2.1vw,30px)/1.15 var(--sans);letter-spacing:-.02em}
.service-page .stats-lead__head{padding-bottom:0;margin-bottom:56px;border-bottom:0}
.service-page .stats-lead__head p{margin-top:36px;color:#b9c9d8;font-size:17px}
/* Главная цифра «Результатов учеников» вдвое крупнее остальных (вариант Б). */
.service-page .stats-lead .stat--main strong{font-size:min(clamp(56px,6.6vw,96px),36cqi);font-weight:300}
.service-page .stats-lead .stat--main p{color:#d6e2ee;font-size:17px}

/* Миссия и «для кого». */
.service-page .mission-pillar span,.service-page .mission-tiles li span{color:#173566;font:500 14px/1 var(--sans);letter-spacing:0}
.service-page .mission-pillar h3{margin-top:24px;font:500 22px/1.25 var(--sans);letter-spacing:-.01em}
.service-page .mission-pillar p{margin-top:8px}
.service-page .mission-text p{font-size:17px;line-height:1.6}
.service-page .mission-tiles li,.service-page .mission-tiles--icons li{font:400 19px/1.35 var(--sans);letter-spacing:0}
.service-page .mission-tiles__cta{background:#173566!important}
.service-page .mission-tiles__cta:hover{background:#0b1f36!important}
.service-page .mission-tiles__cta a{font:500 19px/1.3 var(--sans)}
.service-page .mission-tiles__cta a span{color:#b9c9d8;font-size:14px;font-weight:400}
.service-page .mission-quote::before{color:#d4aa61;font:300 64px/.6 var(--sans)}
.service-page .mission-quote blockquote{font-family:var(--sans);font-weight:400;font-size:clamp(19px,2.2cqi,22px);line-height:1.3;letter-spacing:-.015em}
.service-page .mission-quote{border-radius:22px}
.service-page .mission-quote figcaption{color:#8fa5bb;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}
.service-page .mission-list{gap:8px 36px;border-top:0}
.service-page .mission-list li{padding-block:8px;border-bottom:0}

/* Основатель. */
.service-page .founder-copy{border-left:0}
.service-page .founder-role{margin:20px 0 36px;color:var(--muted);font-size:15px}
.service-page .founder-quotes{gap:24px;padding-top:0;border-top:0}
.service-page .founder-quotes blockquote{color:var(--text);font:400 clamp(19px,1.5vw,22px)/1.5 var(--sans);letter-spacing:0}

/* Ступени: орбита в цветах главной, без свечений. */
.service-page .orbit-core{border-color:#b9c9d8}
.service-page .orbit-core span{font:500 13px/1 var(--sans);letter-spacing:0}
.service-page .orbit-ring--2{--dot:#eef4fa}
.service-page .orbit-ring--3{--dot:#eef4fa}
.service-page .orbit-ring--4{--dot:#eef4fa}
.service-page .orbit-stage h3{font:500 22px/1.25 var(--sans)}
.service-page .orbit-stage dt{font-size:13px}
.service-page .orbit-stage a{border-color:rgba(255,255,255,.24);font-size:14px}
.service-page .orbit-stage a:hover{border-color:#d4aa61;background:none}
/* Номер ступени строкой над названием, доход столбиком: в острове колонка
   дохода узкая, и «от 100 до 300 тыс.» рвалось на три строки. */
@media(min-width:641px){
  .service-page .orbit-stage{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;row-gap:12px}
  .service-page .orbit-stage__no{grid-column:1/-1}
  .service-page .orbit-stage dl div{grid-template-columns:minmax(0,1fr);gap:2px}
}

/* Карточки пути (ступени без орбиты). */
.service-page .path-card::after{content:none}
.service-page .path-card span{color:#d4aa61;font-size:14px;font-weight:500;letter-spacing:0}
.service-page :is(.path-grid,.path-grid--4) .path-card h3{margin-top:56px;font:500 22px/1.25 var(--sans);letter-spacing:-.01em}
.service-page .path-card :is(p,ul){color:#b9c9d8;font-size:15px}
.service-page .path-card a{font-size:14px;border-bottom-color:#8fa5bb}
.service-page .path-card:hover{background:rgba(185,201,216,.05)}

/* Люди и видео: карточки и фото скруглены на 12. */
.service-page :is(.person,.video-card){border-radius:12px}
.service-page .person-info small{color:#d6e2ee;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}
.service-page .person-info h3{font:500 22px/1.25 var(--sans);letter-spacing:-.01em}
.service-page .video-card{background:#06111f}
.service-page .video-card small{color:#8fa5bb;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none}
.service-page .video-card h3{margin-top:8px;font:500 clamp(19px,1.4vw,22px)/1.3 var(--sans);letter-spacing:0}
/* Значок «смотреть» без кружка: иконки по брендбуку без подложек. */
.service-page .video-card__copy::after{width:auto;height:auto;border:0;border-radius:0;font-size:16px}
.service-page .video-card:hover .video-card__copy::after{background:none;color:#d4aa61}
.service-page .videos-links a{font-size:14px;border-bottom-color:#8fa5bb}

/* Карта клубов: точки городов цветом точек карты. */
.service-page .clubs-marker i{background:#b9c9d8}
.service-page .clubs-card span{font-size:13px}
.service-page .clubs-chats__title{color:#eef4fa;font-weight:500}
.service-page .clubs-chats a{padding:8px 0;border-bottom:0}
/* Точка города: зона нажатия не меньше 36 px. */
.service-page .clubs-marker{width:36px;height:36px}
.service-page .clubs-chats a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* Линии только в таблицах (брендбук): группы пунктов стоят отдельными
   карточками с обводкой, скругление 12, промежуток 16. Таблицами остаются
   полосы цифр и строки контактов, вопросы разделены линией, как на главной. */
.service-page :is(.mission-pillars,.mission-tiles,.directory-grid,.lists-grid,.logo-grid,.path-grid){gap:16px;border:0}
.service-page :is(.mission-pillar,.mission-tiles li,.logo-cell){border:1px solid var(--line);border-radius:12px;background:#fff}
.service-page :is(.directory-card,.lists-col):nth-child(n){padding:24px 28px;border:1px solid var(--line);border-radius:12px;background:#fff}
.service-page .directory-card{grid-template-columns:48px minmax(0,1fr) auto;gap:20px;transition:border-color .2s}
.service-page a.directory-card:hover{border-color:#b8c3d4}
.service-page .mission-tiles__cta{border-color:#173566!important}
.service-page .path-card:nth-child(n){padding:28px 28px 70px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#06111f}
.service-page .directory-compact{border-top:0}
.service-page .directory-compact li{border-bottom:0}

/* Карта площадки (build_map.py) на служебных страницах: цвета брендбука.
   Файл карты общий для сайта, поэтому правим здесь, внутри .service-page. */
.service-page .terra-map,.service-page .map--live .terra-map{border-radius:12px;background:radial-gradient(circle at 30% 20%,rgba(185,201,216,.1),transparent 55%),linear-gradient(160deg,#0b1f36,#06111f);color:#eef4fa}
.service-page .terra-map__place{color:#fff;font-weight:500}
.service-page .terra-map__address{color:#b9c9d8}
.service-page .terra-map__button{border-color:#fff;border-radius:4px;background:#fff;color:#0b1f36;font-weight:500}
.service-page .terra-map__button:hover{border-color:#eef4fa;background:#eef4fa}
.service-page .terra-map__link{border-color:rgba(255,255,255,.4);border-radius:4px;color:#eef4fa}
.service-page .terra-map__link:hover{border-color:#fff}
.service-page .terra-map__note{color:#8fa5bb;font-size:13px}
.service-page .terra-map__copy{border-radius:4px;color:#0b1f36;font-weight:500}
.service-page .terra-map__copy:hover{border-color:#173566}
.service-page .terra-map__copy:focus-visible{outline-color:#173566}
.service-page .terra-map__copy--done{border-color:#173566;background:#173566;color:#fff}

/* Справочник, вопросы, логотипы, контакты, списки. */
.service-page .directory-card__no{color:var(--muted);font-size:14px;font-weight:500;letter-spacing:0}
.service-page .directory-card h3{font:500 22px/1.25 var(--sans);letter-spacing:-.01em}
.service-page .directory-card p{font-size:15px;line-height:1.5}
.service-page .directory-card b{color:#173566;font-size:22px;font-weight:300}
.service-page .directory-compact a::after{color:var(--muted)}
.service-page summary span{color:var(--muted);font-size:14px;font-weight:500}
.service-page summary strong{font:500 clamp(19px,1.5vw,22px)/1.3 var(--sans)}
.service-page .faq-answer strong{font-weight:500}
.service-page .faq-nav a span{font-size:13px}
.service-page .faq-nav a small{font-size:13px}
.service-page .faq-more a{font-size:14px}
.service-page .logo-cell{color:var(--text);font-size:clamp(19px,1.5vw,22px);font-weight:500;letter-spacing:-.01em}
.service-page .contact-row small{color:#8fa5bb;font-size:14px;font-weight:400}
.service-page .contact-row a{border-bottom-color:#8fa5bb}
.service-page .lists-col h3{font:500 22px/1.25 var(--sans);letter-spacing:-.01em}
.service-page .lists-col li{padding:8px 0 8px 22px;border-bottom:0;font-size:16px}
.service-page .lists-col li::before{top:17px}

/* Формы: поля 4 px, фокус глубоким синим, кнопка отправки как главная. */
.service-page :is(.signup__field,.fld) label{font-size:14px;font-weight:500}
.service-page :is(.signup__field,.fld) :is(input,select,textarea){background-color:#fff}
.service-page :is(.signup__field,.fld) :is(input,select,textarea):hover{border-color:#b8c3d4}
.service-page :is(.signup__field,.fld) :is(input,select,textarea):focus,.service-page .svc-form__body :is(input,textarea):focus{border-color:#173566;box-shadow:0 0 0 3px rgba(23,53,102,.12)}
.service-page :is(.signup__submit,.fld-submit),.service-page .svc-form__body button[type=submit]{border-color:#173566;background:#173566;color:#fff;font-size:15px;font-weight:500}
.service-page :is(.signup__submit,.fld-submit):hover,.service-page .svc-form__body button[type=submit]:hover{border-color:#0b1f36;background:#0b1f36}
.service-page :is(.signup__submit,.fld-submit):disabled{border-color:#d3dbe4;background:#d3dbe4;color:#5b6d89}
.service-page .signup-card{border-radius:22px}
.service-page .signup-card .signup__submit{font-size:17px}
.service-page .signup-card .signup-steps small{color:var(--muted);font-size:14px;font-weight:400}
.service-page .signup-card .signup-steps strong{font:400 22px/1.25 var(--sans);letter-spacing:-.01em}
.service-page .signup__lead{color:#b9c9d8;font-size:clamp(17px,1.2vw,21px)}

/* Призыв перед подвалом светлый: подвал скруглён сверху, в углах виден этот
   блок. Мягкий градиент с пятном и кольцами, как «Вопросы» на главной.
   Цвет фона под градиентом совпадает с его низом: его берёт подложка углов. */
.service-page .cta{position:relative;overflow:hidden;color:var(--text);background-color:#dfe8ef;background-image:radial-gradient(circle at 86% 14%,rgba(127,181,218,.17),transparent 30%),linear-gradient(170deg,#e8eef3 0%,#fff 52%,#dfe8ef 100%)}
.service-page .cta::before,.service-page .cta::after{position:absolute;left:86%;top:14%;aspect-ratio:1;border:1px solid rgba(11,31,54,.1);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;content:""}
.service-page .cta::before{width:min(36vw,560px)}
.service-page .cta::after{width:min(62vw,980px);border-color:rgba(11,31,54,.06)}
.service-page .cta>.shell{position:relative;z-index:1}
.service-page .cta-side{padding:0;border:0}
.service-page .cta-side p{margin:0 0 36px;color:var(--muted);font-size:17px;line-height:1.6}
.service-page .cta-note{color:var(--muted)!important}
.service-page .cta-note a{color:var(--text)}

@media(max-width:560px){
  .service-page .section-head,.service-page .mission-head{gap:20px;margin-bottom:32px}
  .service-page .lead,.service-page .cta-side p,.service-page .stats-lead__head p{font-size:16px}
  .service-page .mission-lead{font-size:19px}
  .service-page .faq-layout{gap:32px}
  .service-page .contact-details h2{margin-bottom:32px}
  .service-page .cta-layout{gap:20px}
  .service-page .cta-side p{margin-bottom:24px}
  .service-page .svc-form__layout .lead,.service-page .stats-lead__head p{margin-top:20px}
  .service-page .stats-lead__head{margin-bottom:32px}
  .service-page .svc-hero:not(.signup-hero):has(+[data-tone]){padding-bottom:98px}
  .service-page .svc-hero:not(.signup-hero)+[data-tone]{border-radius:28px 28px 0 0}
  .service-page .svc-island{margin:12px auto;border-radius:28px}
  .service-page .svc-island>:first-child,.service-page .svc-island>.section:not(:first-child),.service-page .svc-island .stats-lead__head{padding-top:56px}
  .service-page .svc-island>:last-child{padding-bottom:56px}
  .service-page .svc-island>.stats:not(:first-child):not(.stats--lead){padding-top:32px}
  .service-page .statement__text p{font-size:30px;line-height:1.12}
  .service-page .statement__label{margin-top:20px}
  .service-page :is(.mission-pillar,.directory-card,.lists-col,.orbit-stage,.person-info,.path-card) h3{font-size:19px}
  .service-page .stats-lead .stat--main p{font-size:16px}
  .service-page .person{margin-bottom:12px}
  .service-page :is(.directory-card,.lists-col):nth-child(n){padding:20px 18px}
  .service-page .directory-card{grid-template-columns:32px minmax(0,1fr) auto;gap:12px}
  .service-page .path-card:nth-child(n){padding:24px 20px 64px}
  /* Цифры по две в ряд: по одной блок выходил на полтора экрана. */
  .service-page .stats-grid,.service-page .stats-grid:not(.stats-grid--wide){grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-page .stats-grid .stat{min-height:0;padding:24px 16px}
  .service-page .stats-grid .stat--intro{grid-column:1/-1}
  .service-page .stats-grid .stat:nth-child(even){border-right-width:1px!important;border-right-style:solid!important;border-right-color:var(--line)!important}
  .service-page .stats--dark .stats-grid .stat:nth-child(even){border-right-color:rgba(185,201,216,.18)!important}
}

/* Красивый перенос и в списках, пояснениях, подписях к фото (17.10.2026):
   по брендбуку одно слово на последней строке не оставляем. */
.service-page :is(li,dd,figcaption,blockquote){text-wrap:pretty}

/* ── «О клубе», 18.10.2026 ─────────────────────────────────────────── */
/* Цитата (statement) по брендбуку: крупный светлый набор 300, ёлочки золотом,
   открывающая вынесена на поле слева, чтобы текст стоял ровно по краю.
   Фон: мягкий градиент с пятном и большими кольцами в правом верхнем углу. */
.service-page .statement{position:relative;overflow:hidden;background:radial-gradient(circle at 86% 18%,rgba(127,181,218,.17),transparent 42%),linear-gradient(120deg,#e8eef3 0%,#ffffff 52%,#dfe8ef 100%)}
.service-page .statement::before,.service-page .statement::after{content:"";position:absolute;border:1px solid rgba(11,31,54,.1);border-radius:50%;pointer-events:none}
.service-page .statement::before{right:-180px;top:-260px;width:620px;height:620px}
.service-page .statement::after{right:-60px;top:-140px;width:380px;height:380px}
.service-page .statement .shell{position:relative;z-index:1}
.service-page .statement__text p{position:relative;max-width:1180px;font-weight:300;font-size:clamp(34px,4.8vw,80px);line-height:1.06}
.service-page .statement__text em{font-weight:400}
.service-page :is(.statement__open,.statement__close){color:#d4aa61;font-weight:300}
/* Обе ёлочки размером текста (Михаил, 18.10.2026: крупная открывающая и мелкая закрывающая
   смотрелись разнобоем). Открывающая вынесена на поле слева, по линии первой строки. */
@media(min-width:1100px){.service-page .statement__open{position:absolute;right:100%;top:0;margin-right:.06em}}
@media(max-width:820px){.service-page .statement::before{right:-260px;top:-300px}.service-page .statement::after{display:none}}

/* «Результаты учеников»: большая цифра по центру своей ячейки, а не прижата к низу */
.service-page .stats-lead .stat--main{justify-content:center}
.service-page .stats-lead .stat--main strong{margin-top:clamp(16px,2vw,28px)}

/* «Результаты учеников» без острова: воздух над заголовком 128 (на телефоне 72) */
.service-page>.stats--lead{padding-top:clamp(28px,4.5vw,65px)}
/* Экосистема полосой во всю ширину, с тем же фоном, что на главной */
.service-page .ecosystem--orbit{background:#0b1f36 url('/assets/home/assets/navy-architecture-v2.webp') center top/cover no-repeat}
/* Орбита как на главной: ступень выбирается по кольцу, ближайшему к курсору
   (скрипт service-page.js), кольца для мыши сквозные. Выбранная ступень
   и её кольцо подсвечены. */
.service-page .orbit.js-orbit .orbit-ring{pointer-events:none}
.service-page .orbit-visual.is-pointing{cursor:pointer}
.service-page .orbit-ring.is-active{border-color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.service-page .orbit-ring.is-active b{opacity:1;color:#fff;background:#173566}
.service-page .orbit-ring.is-active i{transform:scale(1.35)}
.service-page .orbit-stage.is-active{border-color:rgba(185,201,216,.4);background:rgba(23,53,102,.55);transform:translateX(-4px)}

/* Видео: обложки чёрно-белые и притушенные, как кейсы на главной; цвет при наведении */
.service-page .video-card img{filter:grayscale(.72) saturate(.55) brightness(.78);transition:filter .3s,transform .3s}
.service-page .video-card:hover img{filter:grayscale(0) saturate(.78) brightness(.86)}
.service-page .videos.is-folded .video-card--more{display:none}
.service-page .videos-more{margin:clamp(32px,3vw,48px) 0 0;text-align:center}
.service-page .videos-more .button{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff}
.service-page .videos-more .button:hover{border-color:#fff;background:transparent;color:#fff}
@media(prefers-reduced-motion:reduce){.service-page .video-card img{transition:none}}
/* Кнопка раскрывает список на месте: стрелка «уйти на другую страницу» тут не нужна */
.service-page .videos-more .button::after{content:none}
/* Партнёры по три в ряд (Михаил, 18.10.2026): из шести логотипов по четыре
   во втором ряду оставались два пустых места. На телефоне по два. */
@media(min-width:561px){.service-page .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Запись: «Запуск N потока» под анкетой (18.10.2026). Тёмный ключевой остров:
   слева дата, факты и кнопка, справа карта площадки. Карта до нажатия
   накрыта, чтобы колесо мыши крутило страницу, а не карту. */
.service-page .signup-launch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,88px);align-items:stretch;margin-top:24px;padding:clamp(56px,7vw,104px) clamp(24px,4vw,72px) clamp(56px,7vw,112px);border-radius:54px;background:#0b1f36;color:#fff}
.service-page .signup-launch h2{margin:0;color:#fff;font:400 clamp(30px,3.6vw,52px)/1.06 var(--sans);letter-spacing:-.03em}
.service-page .signup-launch__date{display:flex;align-items:center;gap:20px;margin:36px 0 0}
.service-page .signup-launch__date strong{color:#fff;font:300 clamp(72px,8vw,120px)/.9 var(--sans);letter-spacing:-.04em}
.service-page .signup-launch__date span{color:#eef4fa;font-size:17px;font-weight:500;line-height:1.35}
.service-page .signup-launch__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:36px 0 0;padding:28px 0 0;border-top:1px solid rgba(185,201,216,.2)}
.service-page .signup-launch__facts dt{color:#8fa5bb;font-size:14px}
.service-page .signup-launch__facts dd{margin:6px 0 0;color:#fff;font-size:17px;font-weight:500;line-height:1.35}
.service-page .signup-launch__text{max-width:560px;margin:28px 0 32px;color:#b9c9d8;font-size:17px;line-height:1.6}
.service-page .signup-launch__side{display:flex;flex-direction:column;gap:14px;min-height:0}
/* Карту на сайте собирает общий компонент (build_map.py): плашка «Показать карту»
   и под ней строка «Скопировать адрес». Скругление и фон даём только самой карте,
   строка с адресом стоит под ней отдельно (Михаил, 18.10.2026: рамка задевала кнопку). */
.service-page .signup-launch__map{display:flex;flex:1;flex-direction:column;min-height:360px}
.service-page .signup-launch__map>iframe{flex:1;width:100%;min-height:360px;border:0;border-radius:22px}
.service-page .signup-launch__map .terra-map-wrap{display:flex;flex:1;flex-direction:column;gap:16px;height:auto}
.service-page .signup-launch__map .terra-map{flex:1;min-height:360px;border:0;border-radius:22px;overflow:hidden}
.service-page .signup-launch__map .terra-map__foot{padding:0;border:0;background:none}
.service-page .signup-launch__maplink{align-self:flex-start;color:#fff;font-size:14px;text-decoration:none;border-bottom:1px solid #8fa5bb}
@media(max-width:900px){.service-page .signup-launch{grid-template-columns:1fr}.service-page .signup-launch__map{min-height:320px}}
@media(max-width:820px){.service-page .signup-launch{margin-top:12px;padding:56px 16px;border-radius:28px}.service-page .signup-launch__date{margin-top:20px}.service-page .signup-launch__facts{margin-top:28px}}
/* Главная кнопка на тёмном белая (брендбук) */
.service-page .signup-launch .button{border-color:#fff;background:#fff;color:#0b1f36}
.service-page .signup-launch .button:hover{border-color:#eef4fa;background:#eef4fa;color:#0b1f36}

/* ── «Наставничество» и «Стать наставником», 18.10.2026 ───────────── */
/* Цифры белыми карточками под обычным заголовком блока */
.service-page .stat-cards{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:16px}
.service-page .stat-card{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,2.6vw,40px);border:1px solid var(--line);border-radius:12px;background:#fff}
.service-page .stat-card small{color:var(--muted);font-size:14px}
.service-page .stat-card strong{color:#173566;font:300 clamp(40px,4vw,64px)/1 var(--sans);letter-spacing:-.03em}
.service-page .stat-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
@media(max-width:820px){.service-page .stat-cards{grid-template-columns:1fr;gap:12px}}
/* «Лесенка» уровней: столбик растёт вместе с выручкой наставников уровня */
.service-page .ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end;margin:56px 0 0;padding:0;list-style:none}
.service-page .ladder li{display:flex;flex-direction:column;gap:8px;min-width:0}
.service-page .ladder__bar{display:flex;align-items:flex-end;height:clamp(140px,16vw,240px);margin-bottom:16px}
.service-page .ladder__bar i{display:block;width:100%;height:var(--h,50%);border-radius:12px 12px 0 0;background:linear-gradient(180deg,rgba(212,170,97,.9),rgba(212,170,97,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.service-page .ladder small{color:#8fa5bb;font-size:14px}
.service-page .ladder strong{color:#d4aa61;font:300 clamp(36px,3.6vw,56px)/1 var(--sans);letter-spacing:-.03em}
.service-page .ladder p{margin:0;color:#b9c9d8;font-size:15px}
@media(max-width:640px){.service-page .ladder{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.service-page .ladder__bar{height:120px}}
/* Шаг-кнопка в списке шагов («Стать наставником») */
.service-page .directory-card--accent{border-color:#173566!important;background:#173566!important;color:#fff}
.service-page .directory-card--accent :is(h3,p,b,.directory-card__no){color:#fff!important}
.service-page .directory-card--accent:hover{background:#0b1f36!important}

/* Полосы цифр («TERRA сегодня», «Динамика роста»): содержимое ячеек по центру
   по вертикали и горизонтали (Михаил, 18.10.2026: ячейки разной высоты выглядели неровно) */
.service-page .stats-grid .stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.service-page .stats-grid .stat p{margin-left:auto;margin-right:auto}
/* Строка адреса под картой на тёмном: цвет подписи на тёмном из палитры */
.service-page .signup-launch .terra-map__address-line{color:#8fa5bb}

/* Цитата в тёмной карточке по правилу брендбука «Цитата» (18.10.2026): золотые ёлочки
   одного размера с текстом, открывающая вынесена на поле слева, закрывающая в строке.
   Раньше над текстом стояла крупная английская кавычка. */
.service-page .mission-quote::before{content:none;display:none}
.service-page .mission-quote blockquote{position:relative}
.service-page .mission-quote blockquote::before{content:"«";position:absolute;right:100%;margin-right:.06em;color:#d4aa61}
.service-page .mission-quote blockquote::after{content:"»";color:#d4aa61}

/* /assets/home/kak-popast.css?v=4-telefon */
/* «Как попасть на поток» (/kak-popast-na-potok/). Оформление по брендбуку
   TERRA (/o-klube/brendbuk/, 16.10.2026): ширина общая с шапкой (--tsn-shell:
   поля 48 px до 1280, шире растут, контент не шире 1600 px),
   тёмный первый экран, светлое тело внахлёст на 44 px со скруглением 54,
   между разделами 128 px, под заголовком 36 px до текста и 56 px до
   остального, линии только в таблицах, карточки белые со скруглением 12.
   Всё под .kp: в оболочке страницы стоят старые общие стили сайта. */
@font-face{font-family:Onest;src:url('/assets/home/assets/onest-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
.kp{--night:#06111f;--night2:#0b1f36;--deep:#173566;--ink:#0b1f36;--light:#f2f5f8;--text2:#5b6d89;--text2d:#b9c9d8;--gold:#d4aa61;--shell:var(--tsn-shell,min(100% - 96px,1760px));display:block;overflow:hidden;background:var(--night);color:var(--ink);font-family:Onest,Arial,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.kp *{box-sizing:border-box}
.kp h1,.kp h2,.kp h3{margin:0;font-family:Onest,Arial,sans-serif;text-wrap:balance}
.kp p,.kp ul,.kp ol{margin:0}
.kp p,.kp li{text-wrap:pretty}
.kp a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.kp :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.kp-shell{width:var(--shell);margin:0 auto}

/* Первый экран */
.kp-hero{padding:calc(var(--tsn-h,84px) + var(--crumbs-top,40px)) 0 140px;background:radial-gradient(circle at 82% 18%,#123a5c55,transparent 42%),linear-gradient(150deg,var(--night2),var(--night) 70%);color:#eef4fa}
.kp-crumbs{display:flex;flex-wrap:wrap;gap:8px;color:#8fa5bb;font-size:14px}
.kp .kp-crumbs a{text-decoration:none}
.kp .kp-crumbs a:hover{color:#fff}
.kp-hero h1{margin-top:48px;color:#fff;font-size:clamp(40px,5.5vw,104px);font-weight:400;line-height:1.02;letter-spacing:-.035em}
.kp-lead{margin-top:40px!important;color:var(--text2d);font-size:clamp(17px,1vw,19px);line-height:1.55}
.kp-lead span{display:block}
.kp-lead span+span{margin-top:10px}
/* Дата и место запуска: короткая черта 28 × 2 px перед датой, как в брендбуке. */
.kp-next{display:flex;flex-direction:column;gap:4px;margin:56px 0 40px}
.kp-next__label{color:#8fa5bb;font-size:14px}
.kp-next strong{position:relative;padding-left:44px;color:#fff;font-size:clamp(22px,2vw,30px);font-weight:400;line-height:1.25}
.kp-next strong::before{content:"";position:absolute;top:.62em;left:0;width:28px;height:2px;background:var(--gold)}
.kp-next span:last-child{padding-left:44px;color:var(--text2d)}
.kp .kp-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:17px 24px;border-radius:4px;background:#fff;color:var(--ink);font:500 15px/1.1 Onest,Arial,sans-serif;text-decoration:none;white-space:nowrap;transition:background .2s}
.kp .kp-button:hover{background:#e3eaf3}
.kp .kp-button--dark{background:var(--deep);color:#fff}
.kp .kp-button--dark:hover{background:var(--ink)}

/* Светлое тело и разделы */
.kp-light{position:relative;margin-top:-44px;padding-bottom:128px;border-radius:54px 54px 0 0;background:var(--light);box-shadow:0 -24px 50px #06111f2e}
.kp-sec{padding-top:128px}
.kp-sec h2{font-size:clamp(30px,3.6vw,52px);font-weight:400;line-height:1.06;letter-spacing:-.03em}
.kp-sec h2+*{margin-top:56px!important}

/* Шаги: белые карточки, номер тонким крупным начертанием */
.kp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0;list-style:none}
.kp-step{display:flex;flex-direction:column;gap:24px;padding:clamp(28px,2.4vw,44px);border-radius:12px;background:#fff}
.kp-step__no{color:var(--deep);font-size:48px;font-weight:300;line-height:1;letter-spacing:-.03em}
.kp-step__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:16px}
.kp-step h3{font-size:clamp(19px,1.6vw,22px);font-weight:500;line-height:1.25}
.kp-step p{color:var(--text2);font-size:17px}
.kp-step__body>a,.kp-step__body>.kp-stores{margin-top:auto}
/* Магазины (Михаил, 18.10.2026): App Store и Google Play одной ширины в ряд,
   под ними RuStore во всю ширину пары. */
.kp-stores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:380px}
.kp .kp-stores a:nth-child(3){grid-column:1/-1}
.kp .kp-stores a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:13px 10px;white-space:nowrap;border:1px solid #b8c3d4;border-radius:4px;color:var(--ink);font:500 14px/1.1 Onest,Arial,sans-serif;text-decoration:none;transition:border-color .2s}
.kp .kp-stores a:hover{border-color:var(--deep)}
.kp-stores svg{width:18px;height:18px}
.kp .kp-more{color:var(--deep);font-weight:500}
.kp .kp-where{color:var(--text2);font-size:15px;line-height:1.5}
.kp .kp-where a{color:var(--ink)}

/* Видео: вертикальный плеер и оглавление рядом */
.kp-video{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:clamp(40px,6vw,112px);align-items:start}
.kp-video__player{position:sticky;top:calc(var(--tsn-h,84px) + 24px)}
/* Корпус телефона точно по пропорции видео (590 × 1280): ширину считаем от высоты окна,
   чтобы телефон целиком помещался на экране и полей по бокам не было. */
.kp-video__phone{--рамка:9px;position:relative;width:min(100%,calc((100svh - var(--tsn-h,84px) - 48px - 2 * var(--рамка)) * 590 / 1280 + 2 * var(--рамка)));padding:var(--рамка);border-radius:44px;background:#06111f;box-shadow:0 24px 54px #06111f33,inset 0 0 0 1px #2a3d55}
.kp-video__phone::before,.kp-video__phone::after{content:"";position:absolute;width:3px;border-radius:2px;background:#1b2c42}
.kp-video__phone::before{left:-3px;top:16%;height:9%}
.kp-video__phone::after{right:-3px;top:22%;height:13%}
.kp-video video{display:block;width:100%;height:auto;aspect-ratio:590/1280;border-radius:35px;background:#000;object-fit:cover}
.kp-video h2{font-size:clamp(30px,3.6vw,52px);font-weight:400;line-height:1.06;letter-spacing:-.03em}
.kp-sec h2+.kp-video__lead{margin-top:36px!important}
.kp-video__lead{color:var(--text2)}
.kp .kp-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:56px;padding:0;list-style:none}
.kp-chapters button{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;width:100%;min-height:52px;padding:14px 18px;border:0;border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.35;text-align:left;cursor:pointer;transition:background .15s,box-shadow .15s}
.kp-chapters button:hover{box-shadow:inset 0 0 0 1px var(--deep)}
.kp-chapters time{color:var(--deep);font-variant-numeric:tabular-nums;font-weight:500}
.kp-chapters button.is-on{background:var(--deep);color:#fff}
.kp-chapters button.is-on time{color:var(--gold)}
.kp-levels{margin-top:56px}
.kp-levels h3{font-size:clamp(19px,1.6vw,22px);font-weight:500;line-height:1.25}
.kp-levels p{margin-top:16px!important;color:var(--text2)}
.kp-levels ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px;padding:0;list-style:none}
.kp-levels li{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:12px;background:#fff}
.kp-levels b{font-size:17px;font-weight:500}
.kp-levels span{color:var(--text2);font-size:15px;line-height:1.4}

/* Вопросы: белые карточки, без линий */
.kp-faq h2{font-size:clamp(30px,3.6vw,52px)}
.kp-faq>div{display:grid;gap:16px;margin-top:56px}
.kp-faq details{border-radius:12px;background:#fff}
.kp-faq summary{display:flex;justify-content:space-between;gap:16px;padding:clamp(24px,2vw,36px) clamp(28px,2.4vw,44px);font-size:clamp(19px,1.6vw,22px);font-weight:500;line-height:1.25;list-style:none;cursor:pointer}
.kp-faq summary::-webkit-details-marker{display:none}
.kp-faq summary::after{content:"+";color:var(--deep);font-size:28px;font-weight:300;line-height:.9}
.kp-faq details[open] summary::after{content:"−"}
.kp-faq details p{padding:0 clamp(28px,2.4vw,44px) clamp(24px,2vw,36px);color:var(--text2)}

/* Ключевой блок: тёмный остров */
.kp-island{width:var(--shell);margin:128px auto 0;padding:104px clamp(20px,4vw,72px) 112px;border-radius:54px;background:linear-gradient(150deg,var(--night2),var(--night) 70%);color:#eef4fa}
.kp-island h2{color:#fff;font-size:clamp(30px,3.6vw,52px);font-weight:400;line-height:1.06;letter-spacing:-.03em}
.kp-island p{margin:36px 0 40px!important;color:var(--text2d)}

@media(max-width:1280px){
  .kp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kp-levels ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1100px){
  .kp{--shell:calc(100% - 56px)}
  .kp .kp-chapters{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:900px){
  .kp-video{grid-template-columns:minmax(0,1fr)}
  .kp-video__player{position:static;max-width:380px}
}
@media(max-width:820px){
  .kp{--shell:calc(100% - 36px)}
  .kp-hero{padding-bottom:110px}
  .kp-hero h1{margin-top:28px}
  .kp-lead{margin-top:24px!important}
  .kp-next{margin:40px 0 28px}
  .kp-light{border-radius:28px 28px 0 0;padding-bottom:72px}
  .kp-sec{padding-top:72px}
  .kp-sec h2+*,.kp-faq>div,.kp .kp-chapters,.kp-levels{margin-top:32px!important}
  .kp-sec h2+.kp-video__lead{margin-top:20px!important}
  .kp-steps{grid-template-columns:minmax(0,1fr)}
  .kp-step{padding:24px 20px}
  .kp-step__no{font-size:32px}
  .kp-faq summary{padding:24px 20px}
  .kp-faq details p{padding:0 20px 24px}
  .kp-island{margin-top:72px;padding:56px 20px 72px;border-radius:28px}
  .kp-island p{margin:20px 0 32px!important}
}
@media(max-width:480px){
  .kp{--shell:calc(100% - 28px)}
  .kp-levels ul{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.kp *{transition:none!important}}
