/* /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;}
.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;}
.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=128-foto */
@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)}
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/foto-albom.css?v=4-vertikalnye */
/* Фотоальбом мероприятия (/foto/<альбом>/, _материалы/scripts/foto_albom.py).
   По брендбуку TERRA: тёмный первый экран, светлое тело внахлёст на 44 px со
   скруглением 54, фото со скруглением 12 и промежутком 16, кнопки 15 px / 52,
   скругление 4. Просмотр на весь экран: ночь, стрелки линией без кружков.
   Всё под .fa: в оболочке страницы стоят старые общие стили сайта. */
@font-face{font-family:Onest;src:url('/assets/home/assets/onest-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
.fa{--night:#06111f;--night2:#0b1f36;--deep:#173566;--ink:#0b1f36;--light:#f2f5f8;--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}
.fa *{box-sizing:border-box}
.fa h1{margin:0;font-family:Onest,Arial,sans-serif;text-wrap:balance}
.fa p{margin:0}
.fa :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.fa-shell{width:var(--shell);margin:0 auto}

.fa-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}
.fa-crumbs{display:flex;flex-wrap:wrap;gap:8px;color:#8fa5bb;font-size:14px}
.fa .fa-crumbs a{color:inherit;text-decoration:none}
.fa .fa-crumbs a:hover{color:#fff}
.fa-hero h1{margin-top:48px;color:#fff;font-size:clamp(40px,5.5vw,104px);font-weight:400;line-height:1.02;letter-spacing:-.035em}
.fa-lead{margin-top:40px!important;color:var(--text2d);font-size:clamp(17px,1vw,19px);line-height:1.55}
.fa-lead span{display:block}
.fa-lead span+span{margin-top:10px}
.fa-lead__meta{position:relative;padding-left:44px;color:#8fa5bb;font-size:14px}
.fa-lead__meta::before{content:"";position:absolute;top:.72em;left:0;width:28px;height:2px;background:var(--gold)}
.fa-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:56px}
.fa .fa-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}
.fa .fa-button:hover{background:#e3eaf3}
.fa .fa-button--line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #b8c3d4}
.fa .fa-button--line:hover{background:#ffffff14}

.fa-light{position:relative;margin-top:-44px;padding:104px 0 128px;border-radius:54px 54px 0 0;background:var(--light);box-shadow:0 -24px 50px #06111f2e}
/* Ряды слева направо, по ходу вечера. Горизонтальные кадры 3:2, вертикальный
   занимает два ряда; dense подбирает плитки в пустые места рядом с ним. */
.fa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;grid-auto-flow:row dense}
.fa-item{display:block;aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:#dfe8ef;cursor:zoom-in}
/* Высоту вертикальной плитки задают два ряда, картинка её не раздвигает */
.fa-item--v{position:relative;grid-row:span 2;aspect-ratio:auto}
.fa-item--v img{position:absolute;inset:0}
.fa-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .4s ease,opacity .2s}
.fa-item:hover img{transform:scale(1.02)}

/* Список альбомов: белые карточки с обводкой, скругление 12, промежуток 16 */
.fa-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fa .fa-card{display:flex;flex-direction:column;border:1px solid #d3dbe4;border-radius:12px;overflow:hidden;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s}
.fa .fa-card:hover{border-color:var(--deep)}
.fa-card img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}
.fa-card__body{display:flex;flex-direction:column;gap:8px;padding:24px}
.fa-card__title{font-size:22px;font-weight:500;line-height:1.25}
.fa-card__meta{color:#5b6d89;font-size:14px}

@media (max-width:767px){
  .fa{--shell:calc(100% - 28px)}
  .fa-cards{grid-template-columns:1fr;gap:12px}
  .fa-card__title{font-size:19px}
  .fa-hero{padding-bottom:96px}
  .fa-hero h1{margin-top:32px}
  .fa-lead{margin-top:20px!important}
  .fa-actions{margin-top:32px}
  .fa .fa-button{width:100%}
  .fa-light{margin-top:-28px;padding:56px 0 72px;border-radius:28px 28px 0 0}
  .fa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}

/* Просмотр на весь экран */
.fa-view{position:fixed;inset:0;z-index:2147483000;display:none;flex-direction:column;background:#06111ff2;color:#eef4fa;font-family:Onest,Arial,sans-serif;touch-action:pan-y}
.fa-view.is-open{display:flex}
.fa-view__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;font-size:14px;color:#b9c9d8}
.fa-view__stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 72px 24px}
.fa-view__stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;user-select:none;-webkit-user-drag:none}
.fa-view button{appearance:none;border:0;background:none;color:#fff;cursor:pointer;font:inherit}
.fa-view__close{width:44px;height:44px;font-size:28px;line-height:1}
.fa-view__prev,.fa-view__next{position:absolute;top:50%;width:56px;height:56px;margin-top:-28px;display:flex;align-items:center;justify-content:center;opacity:.8}
.fa-view__prev{left:8px}.fa-view__next{right:8px}
.fa-view__prev:hover,.fa-view__next:hover,.fa-view__close:hover{opacity:1;color:var(--gold,#d4aa61)}
.fa-view svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.5;fill:none}
@media (max-width:767px){
  .fa-view__stage{padding:0 0 16px}
  .fa-view__prev,.fa-view__next{display:none}
}
@media (prefers-reduced-motion:reduce){.fa-item img{transition:none}.fa-item:hover img{transform:none}}
