/* Прототип «Содружество» — расширения поверх ДС.
   Только токены colors_and_type.css, без собственных цветов и шрифтов. */

body { background: var(--color-bg-page); }

/* ---------- утилиты ---------- */
.stack { display: flex; flex-direction: column; }
.row { display: flex; align-items: center; }
.between { justify-content: space-between; }
.wrap { flex-wrap: wrap; }
.gap-4 { gap: 4px; } .gap-8 { gap: 8px; } .gap-10 { gap: 10px; }
.gap-16 { gap: 16px; } .gap-20 { gap: 20px; } .gap-30 { gap: 30px; }
.mt-8 { margin-top: 8px; } .mt-16 { margin-top: 16px; } .mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; } .mt-40 { margin-top: 40px; } .mt-60 { margin-top: 60px; }
.muted { color: var(--color-text-secondary); }
.small { font-size: 12px; line-height: 18px; font-weight: 500; }
.strong { font-weight: 600; }
.w-100 { width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.divider { height: 1px; background: var(--color-border); border: 0; margin: 0; }

/* ---------- шапка: выпадающие меню ---------- */
.nav-drop { position: relative; }
.nav-drop > summary { list-style: none; cursor: pointer; }
.nav-drop > summary::-webkit-details-marker { display: none; }
.nav-drop[open] > summary { color: var(--color-accent-link); }
.nav-drop__menu {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 40;
  min-width: 240px; padding: 10px;
  background: var(--color-bg-page); border-radius: var(--radius-card);
  box-shadow: var(--shadow-elevated);
}
.nav-drop--right .nav-drop__menu { left: auto; right: 0; }
.nav-drop__item {
  display: block; padding: 10px 14px; border-radius: var(--radius-tile);
  font-size: 16px; font-weight: 600; color: var(--color-text-primary);
  transition: var(--transition);
}
.nav-drop__item:hover { background: var(--color-bg-athens); color: var(--color-accent-link); }
.nav-drop__item--muted { color: var(--color-text-secondary); font-weight: 500; font-size: 13px; cursor: default; }
.nav-drop__item--danger { color: var(--color-accent-coral); }
.nav-drop__caption {
  display: flex; flex-direction: column; gap: 2px;
  padding: 10px 14px 12px; font-size: 16px; font-weight: 600;
}
.nav-drop__caption span { font-size: 12px; font-weight: 500; color: var(--color-text-secondary); }
.nav-drop__menu--profile { min-width: 220px; }
.nav-drop__menu--lang { min-width: 230px; }
.header__avatar { display: inline-flex; cursor: pointer; list-style: none; }
.header__avatar::-webkit-details-marker { display: none; }
.header__burger { display: none; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--color-bg-athens); color: var(--color-text-primary); cursor: pointer; }
.header__burger .icon { width: 20px; height: 20px; }

/* ---------- герой ---------- */
.hero {
  position: relative; isolation: isolate;
  aspect-ratio: 1400 / 790; min-height: 0;
  overflow: visible;
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(900px 500px at 90% 90%, rgba(57,115,175,.16), transparent 65%),
    var(--color-accent-blue-light);
}
.hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .35;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}
.hero .banner__title { max-width: 920px; }
.hero__slide { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px; padding: 60px; border-radius: 20px; overflow: hidden; }
.hero__slide[hidden] { display: none; }
.hero__image { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
.hero__slide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.04)); }
.hero__slide > .banner__title, .hero__slide > .s-p-medium, .hero__slide > .hero__cta { position: relative; z-index: 2; }
.featured-block { display: grid; grid-template-columns: 1.5fr .8fr; gap: 40px; padding: 40px; align-items: center; }
.featured-block img { width: 100%; max-height: 300px; object-fit: cover; border-radius: 16px; }
.detail-layout { display: grid; grid-template-columns: 1.7fr 1fr; gap: 40px; align-items: start; }
.hero .banner__arrow, .hero-art-note { z-index: 3; }
.hero__art { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: 20px; }
.hero__blob { position: absolute; border-radius: 40px; opacity: .38; filter: blur(.2px); }
.hero__blob--1 { width: 180px; height: 58px; left: 4%; top: 12%; background: linear-gradient(90deg, var(--color-accent-coral), var(--color-accent-chalky)); transform: rotate(-8deg); }
.hero__blob--2 { width: 150px; height: 50px; left: 7%; top: 23%; background: linear-gradient(90deg, var(--color-accent-coral), var(--color-accent-beige)); transform: rotate(-6deg); }
.hero__blob--3 { width: 210px; height: 210px; right: 8%; bottom: 7%; background: linear-gradient(160deg, var(--color-accent-link), var(--color-accent-blue)); border-radius: 34px; }
.hero__glyph { position: absolute; right: 11%; bottom: 13%; width: 74px; height: 74px; color: var(--color-text-white); opacity: .7; }
.hero__glyph .icon { width: 74px; height: 74px; stroke-width: 1.1; }
.footer__social a { font-size: 7px; font-weight: 600; }
.modal-overlay[hidden] { display: none; }
.toast-host { position: fixed; right: 24px; bottom: 24px; z-index: 1100; }
.toast-host[hidden] { display: none; }
.hero__spark { position: absolute; width: 54px; height: 54px; background: var(--color-text-white); clip-path: polygon(50% 0, 58% 42%, 100% 50%, 58% 58%, 50% 100%, 42% 58%, 0 50%, 42% 42%); opacity: .9; }
.hero__spark--1 { left: 40%; top: 14%; }
.hero__spark--2 { right: 14%; top: 18%; width: 36px; height: 36px; }
.hero__spark--3 { left: 16%; bottom: 16%; width: 30px; height: 30px; }
.hero__cta { position: relative; z-index: 2; }
.hero__slide .s-p-medium { font-weight: 600; }
.hero__slide .hero__cta { min-width: 300px; min-height: 80px; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; }
.hero .banner__arrow { width: 60px; height: 60px; }
.home-about { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.home-about > img { width: 100%; max-height: 480px; object-fit: contain; }
.featured-block { padding: 0; overflow: hidden; grid-template-columns: 57% 43%; gap: 0; }
.featured-block > div { padding: 60px; }
.featured-block img { width: 100%; height: 100%; max-height: none; border-radius: 0; object-fit: cover; }
.home-start-card { display: flex; flex-direction: column; gap: 20px; min-width: 0; padding: 30px; background: var(--color-bg-athens); box-shadow: none; border: 0; }
.home-start-card img { width: 100%; height: 140px; object-fit: contain; }
.home-start-card .s-h5 { font-size: 25px; line-height: 1.3; }
.home-start-card .s-p-small { font-size: 18px; line-height: 1.5; color: var(--color-text-primary); }
.home-start-card .btn { margin-top: auto; }
.home-community { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.home-community > img { width: 100%; object-fit: contain; }
.home-course-image { width: 100%; height: 145px; object-fit: contain; }
.home-scroll-dots { display: none; }
.home-stats__art { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; gap: 30px; }
.home-stats__art > div { border-radius: var(--radius-card); overflow: hidden; }
.home-stats__art img { display: block; width: 100%; height: 189px; object-fit: cover; }
.home-stats__art > div:nth-of-type(2) img { height: 386px; }
.home-stats__figures { margin-top: 40px; align-items: start; }
.home-stats__figures > div:nth-child(2) { transform: translateY(50px); }
.home-stats__figures .s-h2 { color: var(--color-accent-coral); font-size: 80px; line-height: 1.1; }
.home-stats__figures .s-p-small { font-size: 22px; font-weight: 600; color: var(--color-text-primary); }
.home-final > img { max-width: 250px; width: 25%; object-fit: contain; }
@media (max-width: 767px) { .home-about { grid-template-columns: 1fr; } .hero__slide .hero__cta { min-width: 0; min-height: 54px; font-size: 16px; } .hero .banner__arrow { width: 40px; height: 40px; } }
@media (max-width: 767px) { .featured-block { grid-template-columns: 1fr; } .featured-block > div { padding: 24px; } .featured-block img { max-height: 220px; } .home-community { grid-template-columns: 1fr; } .home-final > img { width: 100%; max-width: 200px; } }
@media (max-width: 767px) { .home-scroll { display: grid; grid-auto-flow: column; grid-auto-columns: 85%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; } .home-scroll > * { scroll-snap-align: start; } .home-stats__art { grid-template-columns: 1fr; } .home-stats__figures > div:nth-child(2) { margin-top: 0; } }
.hero__dots { display: flex; justify-content: center; gap: 6px; margin-top: 16px; }
.hero__dot { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: var(--color-border); cursor: pointer; }
.hero__dot.is-active { background: var(--color-accent-blue); }

/* ---------- секции и заголовки ---------- */
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.section-head h2 { margin: 0; font-size: var(--text-h2); font-weight: 600; line-height: 1.2; }
.section-head__link { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 600; color: var(--color-accent-link); }
.page-head { padding-top: 20px; margin-bottom: 40px; }
.page-head h1 { margin: 12px 0 10px; font-size: var(--text-h2); font-weight: 600; line-height: 1.15; max-width: 900px; }
.page-head p { margin: 0; max-width: 760px; font-size: 18px; font-weight: 500; line-height: 1.5; color: var(--color-text-secondary); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; font-weight: 500; color: var(--color-text-tertiary); }
.breadcrumbs a { color: var(--color-text-secondary); }
.breadcrumbs span { color: var(--color-text-tertiary); }

/* ---------- быстрые входы ---------- */
.quick-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.quick-card {
  position: relative; display: flex; flex-direction: column; gap: 10px;
  padding: 24px; border-radius: var(--radius-card); background: var(--color-bg-page);
  box-shadow: var(--shadow-card); transition: var(--transition);
}
.quick-card:hover { color: inherit; }
.quick-card:hover .quick-card__title { color: var(--color-accent-link); }
.quick-card__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 14px;
  background: var(--color-accent-blue-light); color: var(--color-text-primary);
}
.quick-card__title { font-size: 18px; font-weight: 600; transition: var(--transition); }
.quick-card__text { font-size: 13px; font-weight: 500; line-height: 19px; color: var(--color-text-secondary); }
.quick-card__arrow { position: absolute; top: 24px; right: 24px; color: var(--color-text-tertiary); }

/* ---------- новости ---------- */
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.news-card { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.news-card__media { aspect-ratio: 16 / 9; background: linear-gradient(160deg, var(--color-accent-blue-light), var(--color-bg-snuff)); }
.news-card__body { display: flex; flex-direction: column; gap: 10px; padding: 22px; }
.news-card__meta { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; }
.news-card__title { font-size: 18px; font-weight: 600; line-height: 1.35; }
.news-card__text { font-size: 13px; font-weight: 500; line-height: 19px; color: var(--color-text-secondary); }

/* ---------- курсы ---------- */
.course-list { display: flex; flex-direction: column; gap: 10px; }
.course-row {
  display: flex; align-items: center; gap: 16px; padding: 14px 16px;
  background: var(--color-bg-athens); border-radius: var(--radius-tile);
}
.course-row__icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; background: var(--color-bg-page); color: var(--color-accent-link); }
.course-row__body { flex: 1; min-width: 0; }
.course-row__title { font-size: 16px; font-weight: 600; line-height: 1.35; }
.course-row__meta { margin-top: 4px; font-size: 12px; font-weight: 500; color: var(--color-text-secondary); }
.course-row__progress { width: 120px; flex-shrink: 0; }
.progress { display: block; height: 6px; border-radius: 3px; background: var(--color-bg-snuff); overflow: hidden; }
.progress__bar { display: block; height: 100%; border-radius: 3px; background: var(--color-accent-blue); }
.progress__label { margin-top: 6px; font-size: 12px; font-weight: 600; text-align: right; }

.course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.course-card { display: flex; flex-direction: column; gap: 14px; min-height: 220px; }
.course-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.course-card__title { font-size: 18px; font-weight: 600; line-height: 1.35; }
.course-card__meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; font-size: 12px; font-weight: 500; color: var(--color-text-secondary); }
.course-card__meta span { display: inline-flex; align-items: center; gap: 5px; }

/* ---------- мероприятия ---------- */
.event-list { display: flex; flex-direction: column; gap: 16px; }
.event-card { display: flex; align-items: center; gap: 24px; }
.event-date {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 78px; height: 78px; flex-shrink: 0;
  background: var(--color-accent-blue-light); border-radius: var(--radius-tile);
}
.event-date__day { font-size: 25px; font-weight: 600; line-height: 1; }
.event-date__month { margin-top: 4px; font-size: 12px; font-weight: 600; }
.event-card__body { flex: 1; min-width: 0; }
.event-card__title { font-size: 18px; font-weight: 600; line-height: 1.35; }
.event-card__meta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; font-size: 13px; font-weight: 500; color: var(--color-text-secondary); }
.event-card__meta span { display: inline-flex; align-items: center; gap: 5px; }

/* ---------- база знаний ---------- */
.article-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.article-card { display: flex; flex-direction: column; gap: 12px; }
.article-card__title { font-size: 20px; font-weight: 600; line-height: 1.35; }
.article-card__text { font-size: 13px; font-weight: 500; line-height: 19px; color: var(--color-text-secondary); }
.article-card__meta { display: flex; gap: 12px; margin-top: auto; font-size: 12px; font-weight: 500; color: var(--color-text-secondary); }

/* ---------- сообщества ---------- */
.comm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.comm-card { display: flex; flex-direction: column; gap: 12px; padding: 20px; background: var(--color-bg-athens); border-radius: var(--radius-tile); }
.comm-card__head { display: flex; align-items: center; gap: 12px; }
.comm-card__title { display: flex; align-items: center; gap: 6px; font-size: 17px; font-weight: 600; line-height: 1.3; }
.comm-card__desc { font-size: 13px; font-weight: 500; line-height: 19px; color: var(--color-text-secondary); }
.comm-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.comm-card__foot { margin-top: auto; }
.verified { display: inline-flex; width: 16px; height: 16px; border-radius: 50%; background: var(--color-accent-link); color: var(--color-text-white); align-items: center; justify-content: center; }
.verified .icon { width: 10px; height: 10px; stroke-width: 3; }

/* ---------- статистика ---------- */
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.stat-card { display: flex; flex-direction: column; gap: 6px; padding: 22px; }
.stat-card__value { font-size: 34px; font-weight: 600; line-height: 1.1; }
.stat-card__label { font-size: 12px; font-weight: 500; line-height: 18px; color: var(--color-text-secondary); }
.stat-card__delta { font-size: 12px; font-weight: 600; color: var(--color-accent-link); }
.chart { display: flex; align-items: flex-end; gap: 10px; height: 180px; padding-top: 20px; }
.chart__bar { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 8px; height: 100%; }
.chart__fill { width: 100%; border-radius: 8px 8px 0 0; background: var(--color-accent-blue); min-height: 6px; }
.chart__label { font-size: 10px; font-weight: 500; color: var(--color-text-secondary); }

/* ---------- карта прототипа ---------- */
.map-domain { margin-bottom: 30px; }
.map-domain__title { margin-bottom: 12px; font-size: var(--text-h4); font-weight: 600; }
.map-table { width: 100%; border-collapse: separate; border-spacing: 0 8px; }
.map-table th { padding: 0 16px 4px; text-align: left; font-size: 12px; font-weight: 600; color: var(--color-text-secondary); }
.map-table td { padding: 14px 16px; background: var(--color-bg-athens); font-size: 14px; font-weight: 500; }
.map-table td:first-child { border-radius: 12px 0 0 12px; font-weight: 600; }
.map-table td:last-child { border-radius: 0 12px 12px 0; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 200px; font-size: 12px; font-weight: 600; }
.status--ready { background: var(--color-accent-blue-light); }
.status--skeleton { background: var(--color-accent-cream); }
.status--planned { background: var(--color-bg-snuff); }

/* ---------- ЛК ---------- */
.lk-menu__sub { display: none; }
.lk-menu__group.is-open .lk-menu__sub { display: flex; }
.lk-menu__group.is-open .lk-menu__chevron { transform: rotate(180deg); }
.lk-menu__chevron { transition: transform var(--transition); }
.promo__text { font-size: 12px; font-weight: 500; line-height: 18px; max-width: 160px; }
.promo__pill { display: inline-flex; margin-bottom: 8px; }
.promo__art { background: var(--color-bg-page); }
.lk-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lk-toolbar .field { flex: 1; min-width: 220px; }
.lk-title { margin: 0; font-size: var(--text-h3); font-weight: 600; line-height: 1.4; }
.lk-subtitle { margin: 4px 0 0; font-size: 13px; font-weight: 500; color: var(--color-text-secondary); }

/* ---------- профиль ---------- */
.profile-head__top { flex-wrap: wrap; }
.profile-head__top > div { min-width: 0; }
.profile-head__name { flex-wrap: wrap; }
.profile-head__actions { flex-wrap: wrap; }
.profile-head__badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 200px; background: var(--color-bg-page); font-size: 12px; font-weight: 600; }
.post__stat { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: var(--color-text-secondary); }
button.post__stat { padding: 0; border: 0; background: transparent; font-family: inherit; line-height: inherit; cursor: pointer; }
button.post__stat:focus-visible { outline: 2px solid var(--color-accent-link); outline-offset: 3px; }
.comments[hidden] { display: none; }
.post__foot { display: flex; align-items: center; gap: 18px; }
.post__head .icon-btn { width: 24px; height: 24px; background: none; }
.post__head .icon-btn:hover { background: var(--color-bg-athens); }
.post__date { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--color-text-primary); }
.post__tag { margin-left: 6px; }

/* ---------- логин ---------- */
.login-wrap { max-width: 820px; margin: 0 auto; padding: 20px 0 100px; }
.role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.role-card { display: flex; align-items: center; gap: 14px; width: 100%; padding: 18px; border: 1px solid var(--color-border); border-radius: var(--radius-tile); background: var(--color-bg-page); cursor: pointer; text-align: left; font-family: inherit; transition: var(--transition); }
.role-card:hover { border-color: var(--color-text-primary); background: var(--color-bg-athens); }
.role-card__title { font-size: 16px; font-weight: 600; }
.role-card__text { font-size: 12px; font-weight: 500; color: var(--color-text-secondary); }

/* ---------- прочее ---------- */
.empty-inline { padding: 40px 20px; text-align: center; color: var(--color-text-secondary); font-size: 13px; }
.form-card { max-width: 640px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.legal-text { max-width: 760px; font-size: 16px; font-weight: 500; line-height: 1.6; }
.legal-text h2 { margin: 30px 0 10px; font-size: var(--text-h4); }
.legal-text p { margin: 0 0 12px; }
.badge-soft { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 200px; background: var(--color-bg-athens); font-size: 12px; font-weight: 600; }
.hero-art-note { position: absolute; right: 24px; bottom: 18px; font-size: 10px; font-weight: 500; color: var(--color-text-secondary); opacity: .7; }

@media (max-width: 1179px) {
  .quick-grid, .news-grid, .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero__blob--1, .hero__blob--2, .hero__blob--3 { display: none; }
  .header__inner { position: relative; }
  .header__burger { display: inline-flex; }
  .header__nav {
    display: none; position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 50;
    flex-direction: column; align-items: stretch; gap: 2px;
    padding: 10px; background: var(--color-bg-page); border-radius: var(--radius-card);
    box-shadow: var(--shadow-elevated);
  }
  .header__nav.is-open { display: flex; }
  .header__link { width: 100%; justify-content: space-between; }
  .nav-drop__menu { position: static; box-shadow: none; padding: 4px 0 4px 12px; min-width: 0; }
}
@media (max-width: 767px) {
  .lk__aside .promo, .lk__aside .connections { display: none; }
  .featured-block { grid-template-columns: 1fr; gap: 20px; padding: 24px; }
  .featured-block img { max-height: 220px; }
  .detail-layout { grid-template-columns: 1fr; gap: 24px; }
  .header .logo { width: 140px; height: 24px; }
  .header__inner { gap: 10px; }
  .header__right { gap: 6px; }
  .header__lang { font-size: 14px; padding: 4px; }
  .header__burger { width: 36px; height: 36px; }
  .header__right .btn { height: 36px; padding: 0 12px; font-size: 14px; }
  .hero-art-note { display: none; }
  .hero__slide { padding: 34px; }
  .hero { aspect-ratio: auto; min-height: 480px; }
  .banner__arrow { top: auto; bottom: 14px; margin-top: 0; }
  .banner__arrow--prev { left: 12px; }
  .banner__arrow--next { right: 12px; }
  .quick-grid, .news-grid, .course-grid, .grid-2, .grid-3, .grid-4,
  .article-grid, .comm-grid, .stat-grid, .contact-grid, .role-grid { grid-template-columns: 1fr; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .event-card { align-items: flex-start; }
  .event-date { width: 62px; height: 62px; }
  .course-row { flex-wrap: wrap; }
  .course-row__progress { width: 100%; }
  .map-table { font-size: 12px; table-layout: fixed; width: 100%; }
  .map-table th, .map-table td { padding: 10px 8px; }
  .map-table th:nth-child(1), .map-table td:nth-child(1) { width: 52%; }
  .map-table th:nth-child(2), .map-table td:nth-child(2) { width: 26%; }
  .map-table th:nth-child(5), .map-table td:nth-child(5) { width: 22%; }
  .map-table th:nth-child(3), .map-table td:nth-child(3),
  .map-table th:nth-child(4), .map-table td:nth-child(4) { display: none; }
  .page-head h1 { font-size: 28px; }
}

/* ---------- вход через SSO / VK ID ---------- */
.auth-page {
  min-height: 100vh;
  background:
    linear-gradient(180deg, #F7F7F8 0%, rgba(247,247,248,0) 30%, rgba(247,247,248,0) 70%, #F7F7F8 100%),
    url("img/auth-bg.png") center / cover no-repeat,
    #F7F7F8;
}
.auth-top { position: absolute; top: 32px; left: 40px; right: 40px; display: flex; align-items: center; justify-content: space-between; z-index: 5; }
.auth-back { display: inline-flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 600; color: var(--color-text-primary); }
.auth-back .icon { width: 20px; height: 20px; }
.auth-lang { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 48px; padding: 0 14px; border: 0; border-radius: 16px; background: #fff; font-family: inherit; font-size: 16px; font-weight: 600; color: var(--color-text-primary); cursor: pointer; }
.auth-main { display: flex; justify-content: center; padding: 110px 24px 60px; }
.auth-card { width: 700px; max-width: 100%; padding: 50px 30px 30px; background: #fff; border-radius: 40px; box-shadow: 0 40px 60px rgba(0,0,0,.05); }
.auth-title { margin: 0 0 34px; font-size: 45px; font-weight: 600; line-height: 1.1; text-align: center; color: var(--color-text-primary); }
.auth-tabs { display: flex; height: 60px; padding: 6px; border-radius: 14px; background: var(--color-bg-athens); }
.auth-tab { flex: 1; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 16px; font-weight: 600; color: var(--color-text-secondary); }
.auth-tab.is-active { background: #fff; color: var(--color-text-primary); }
.auth-form { display: flex; flex-direction: column; gap: 20px; margin-top: 30px; }
.auth-field { position: relative; }
.auth-input { width: 100%; height: 60px; padding: 0 20px; border: 1px solid var(--color-border); border-radius: 10px; background: #fff; font-family: inherit; font-size: 16px; font-weight: 500; color: var(--color-text-primary); }
.auth-input::placeholder { color: var(--color-text-tertiary); }
.auth-input:focus { border-color: var(--color-text-primary); outline: none; }
.auth-input--password { padding-right: 56px; }
.auth-input--error { border-color: var(--color-accent-coral); }
.auth-eye { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); display: inline-flex; border: 0; background: none; color: var(--color-text-primary); cursor: pointer; }
.auth-error-text { margin: -12px 0 0; padding-left: 4px; font-size: 12px; font-weight: 500; color: var(--color-error); }
.auth-forgot { text-align: center; font-size: 16px; font-weight: 600; color: var(--color-text-primary); }
.auth-btn { width: 100%; height: 46px; border: 0; border-radius: 10px; background: var(--color-accent-link); color: #fff; font-family: inherit; font-size: 16px; font-weight: 600; cursor: pointer; transition: var(--transition); }
.auth-btn:hover { background: #1B5B9E; }
.auth-btn:disabled { background: #A9C0DB; cursor: default; }
.auth-register { text-align: center; font-size: 14px; font-weight: 500; color: var(--color-text-primary); }
.auth-register a { color: var(--color-accent-link); }
.auth-vk { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 10px; }
.auth-vk-text { font-size: 14px; font-weight: 500; color: var(--color-text-tertiary); }
.auth-vk-btn { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid var(--color-border); border-radius: 50%; background: #fff; cursor: pointer; }
.auth-vk-btn img { width: 33px; height: 20px; }
.auth-note { margin-top: 18px; text-align: center; font-size: 12px; font-weight: 500; color: var(--color-text-tertiary); }
.auth-note a { color: var(--color-accent-link); }
.auth-row { display: flex; gap: 10px; align-items: flex-start; }
.auth-row .auth-field { flex: 1; }
.auth-code-btn { height: 60px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--color-bg-athens); font-family: inherit; font-size: 14px; font-weight: 600; color: var(--color-text-secondary); white-space: nowrap; cursor: pointer; }
.auth-card--signup { width: 620px; padding: 34px 30px 28px; }
.auth-card--signup .auth-title { font-size: 38px; margin-bottom: 24px; }
.auth-card--signup .auth-form { gap: 12px; margin-top: 0; }
.auth-card--signup .auth-input { height: 42px; font-size: 14px; }
.auth-card--signup .auth-btn { height: 42px; font-size: 14px; }
.auth-section-title { margin: 6px 0 0; font-size: 12px; font-weight: 600; color: var(--color-text-primary); }
.auth-radio-row { display: flex; gap: 10px; }
.auth-radio { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; border: 1px solid var(--color-border); border-radius: 10px; background: #fff; font-size: 14px; font-weight: 500; cursor: pointer; }
.auth-radio input { accent-color: var(--color-accent-link); }
.auth-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 10px; line-height: 1.45; color: var(--color-text-secondary); }
.auth-consent input { margin-top: 2px; accent-color: var(--color-accent-link); }
.auth-consent a { color: var(--color-accent-link); }
.auth-phone-row { display: flex; gap: 8px; }
.auth-country { width: 96px; height: 42px; padding: 0 8px; border: 1px solid var(--color-border); border-radius: 10px; background: #fff; font-family: inherit; font-size: 13px; }
.auth-phone-row .auth-field { flex: 1; }

/* VK ID mock */
.vk-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40px 20px; background: #F5F7FA; }
.vk-card { width: 420px; max-width: 100%; padding: 36px 32px; background: #fff; border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,.08); text-align: center; }
.vk-brand { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 18px; background: #0077FF; }
.vk-brand img { width: 40px; height: 24px; filter: brightness(0) invert(1); }
.vk-title { margin: 0 0 8px; font-size: 26px; font-weight: 600; color: #1A1A1A; }
.vk-subtitle { margin: 0 0 24px; font-size: 14px; font-weight: 500; color: #6B7280; }
.vk-account { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 1px solid #E5E7EB; border-radius: 12px; background: #fff; text-align: left; font-family: inherit; cursor: pointer; }
.vk-account:hover { background: #F9FAFB; }
.vk-avatar { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #D2EAF0; font-size: 14px; font-weight: 600; color: #3D3D50; }
.vk-account__name { font-size: 15px; font-weight: 600; color: #1A1A1A; }
.vk-account__meta { font-size: 12px; font-weight: 500; color: #6B7280; }
.vk-continue { width: 100%; height: 44px; margin-top: 14px; border: 0; border-radius: 10px; background: #0077FF; color: #fff; font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.vk-cancel { display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 500; color: #6B7280; }
.vk-note { margin-top: 16px; font-size: 11px; font-weight: 500; color: #9CA3AF; }

@media (max-width: 767px) {
  .auth-top { top: 18px; left: 16px; right: 16px; }
  .auth-back { font-size: 14px; gap: 8px; }
  .auth-main { padding: 86px 12px 30px; }
  .auth-card { padding: 30px 16px 20px; border-radius: 24px; }
  .auth-title { font-size: 30px; margin-bottom: 24px; }
  .auth-tabs { height: 52px; }
  .auth-form { gap: 14px; margin-top: 20px; }
  .auth-input { height: 52px; font-size: 15px; }
  .auth-card--signup .auth-input { height: 40px; }
  .auth-row { flex-direction: column; }
  .auth-code-btn { width: 100%; height: 40px; }
  .auth-phone-row { flex-direction: column; }
  .auth-country { width: 100%; }
  .vk-card { padding: 28px 20px; }
}

/* Сокращённая форма регистрации (УДиА) */
.auth-card--short { width: 560px; padding: 40px 28px 26px; border-radius: 32px; }
.auth-card--short .auth-title { font-size: 40px; margin-bottom: 24px; }
.auth-float { display: block; position: relative; }
.auth-float .auth-input { height: 54px; padding: 20px 14px 4px; font-size: 14px; }
.auth-float__label { position: absolute; left: 14px; top: 8px; font-size: 10px; font-weight: 500; color: var(--color-text-tertiary); pointer-events: none; transition: var(--transition); }
.auth-float .auth-input:placeholder-shown + .auth-float__label { top: 17px; font-size: 14px; }
.auth-float .auth-input:focus + .auth-float__label { top: 8px; font-size: 10px; }
.auth-help { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 10px; font-weight: 500; color: var(--color-text-secondary); }
.auth-help .icon { width: 12px; height: 12px; }
.auth-tag { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 200px; background: var(--color-accent-blue-light); font-size: 10px; font-weight: 500; color: var(--color-text-secondary); }
.auth-tag .icon { width: 12px; height: 12px; }
.auth-code-row { display: flex; gap: 8px; align-items: flex-start; }
.auth-code-row .auth-float { flex: 1; }
.auth-code-btn { height: 54px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--color-bg-athens); font-family: inherit; font-size: 12px; font-weight: 500; color: var(--color-text-secondary); white-space: nowrap; cursor: pointer; }
.auth-code-btn:disabled { opacity: .55; cursor: default; }
.auth-phone-row { display: flex; gap: 8px; }
.auth-country { width: 88px; height: 54px; padding: 0 8px; border: 1px solid var(--color-border); border-radius: 10px; background: #fff; font-family: inherit; font-size: 12px; font-weight: 500; }
.auth-phone-row .auth-float { flex: 1; }
.auth-card--short .auth-btn { height: 44px; font-size: 14px; }
.auth-card--short .auth-consent { font-size: 10px; line-height: 1.45; }
.auth-oauth { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 18px; }
.auth-oauth-text { font-size: 11px; font-weight: 500; color: var(--color-text-tertiary); }
.auth-oauth-row { display: flex; gap: 14px; }
.auth-oauth-btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--color-border); border-radius: 50%; background: #fff; cursor: pointer; }
.auth-oauth-btn img { width: 28px; height: 28px; }
.auth-card--short .auth-register { font-size: 12px; }
.auth-card--short .auth-note { margin-top: 12px; }

@media (max-width: 767px) {
  .auth-card--short { padding: 28px 16px 22px; border-radius: 24px; }
  .auth-card--short .auth-title { font-size: 30px; }
  .auth-code-row { flex-direction: column; }
  .auth-code-btn { width: 100%; height: 42px; }
  .auth-phone-row { flex-direction: column; }
  .auth-country { width: 100%; height: 48px; }
}

/* Сценарии обучения и развития */
.oir-panel { padding: 30px; }
.oir-input { display: block; width: 100%; margin-top: 8px; }
.oir-panel fieldset { border: 0; padding: 0; margin: 0; }
@media (max-width: 767px) { .oir-panel { padding: 20px; } }

.career-banner { display:grid; grid-template-columns: 55% 45%; align-items:center; margin-top:0; margin-bottom:80px; padding: 48px 0 0 60px; border-radius:var(--radius-card); background:var(--color-dash-wheatfield); overflow:hidden; }
.career-banner h1 { font-size:var(--text-h2); line-height:1.1; margin:0 0 24px; }
.career-banner img { width:100%; max-height:410px; object-fit:contain; align-self:end; }
.career-benefits { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
.career-benefits img { width:100%; max-height:450px; object-fit:contain; }
@media (max-width: 767px) { .career-banner { grid-template-columns:1fr; padding:30px 24px 0; } .career-banner h1 { font-size:var(--text-h3); } .career-banner img { max-height:260px; } .career-benefits { grid-template-columns:1fr; } }

.contact-panel { position: relative; overflow: hidden; margin-top: 40px; padding: 40px; border-radius: var(--radius-card); background: linear-gradient(150deg, #83a7ce, var(--color-accent-blue-light)); }
.contact-panel__content { position: relative; z-index: 1; width: 56%; }
.contact-panel__art { position: absolute; top: 35px; right: 30px; width: 38%; }
.contact-panel .page-head { margin: 0; }
.contact-panel .field { background: var(--color-bg-page); border-radius: 8px; }
.contact-panel .field__input { border-radius: 8px; }
@media (max-width: 767px) { .contact-panel { padding: 24px; margin-top: 20px; } .contact-panel__content { width: 100%; } .contact-panel__art { position: static; display: block; width: 55%; margin: 0 auto 20px; } }

.lk-mobile-menu > summary { display: none; }
@media (min-width: 768px) { .lk-mobile-menu:not([open]) > .lk-menu { display: block; } }
@media (max-width: 767px) {
  .lk { gap: 20px; }
  .lk-mobile-menu > summary { display: block; padding: 14px 18px; border-radius: var(--radius-card); background: var(--color-bg-athens); cursor: pointer; font-weight: 600; }
  .lk-mobile-menu > summary::after { content: ''; float: right; width: 7px; height: 7px; margin: 4px 3px 0 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
  .lk-mobile-menu[open] > .lk-menu { margin-top: 8px; }
}

@media (max-width: 767px) {
  .grid-4.home-scroll { display: grid; grid-auto-flow: column; grid-auto-columns: 85%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
  .home-scroll { scrollbar-width: none; }
  .home-scroll::-webkit-scrollbar { display: none; }
  .home-scroll-dots { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
  .home-scroll-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: var(--color-border); cursor: pointer; }
  .home-scroll-dots button.is-active { background: var(--color-accent-blue); }
}

/* Публичная оболочка и главная по оригиналу. */
.header .logo { width: 230px; height: 40px; }
.header { padding-block: 62px; }
.home .section { margin-bottom: 100px; }
.home .hero { width: 100%; aspect-ratio: 16 / 9; min-height: 0; background: transparent; }
.home .hero::after, .home .hero__slide::after { display: none; }
.home .hero__slide { justify-content: center; gap: 0; padding-inline: 90px; }
.home .hero .banner__title { max-width: none; width: 100%; }
.home .hero__slide > p { margin: 40px 0 20px; font-size: 22px; line-height: 1.4; }
.home .hero__slide .hero__cta { min-width: 0; min-height: 83px; padding: 24px 64px; font-size: 25px; }
.home .hero .banner__arrow { margin-top: -30px; }
.home .hero .banner__arrow--prev { left: 16px; }
.home .hero .banner__arrow--next { right: 16px; }
.home .hero__dots { position: absolute; left: 0; right: 0; margin-top: 12px; }
.home [data-carousel] { position: relative; }
.home .featured-block { min-height: 590px; grid-template-columns: 56.6% 43.4%; background: var(--color-bg-athens); }
.home .featured-block > div { padding: 60px 20px 60px 60px; }
.home .featured-block h2 { margin: 0; line-height: 1.1; }
.home .featured-block p { margin: 20px 0 40px; font-size: 18px; line-height: 1.4; }
.home .featured-block .btn2, .home-final .btn2 { min-height: 83px; padding: 24px 64px; font-size: 25px; line-height: 1.4; }
.home-about { display: block; }
.home-about > img { display: block; width: min(500px, 100%); height: 400px; object-fit: contain; margin: 55px auto 0; }
.home-about-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; min-height: 369px; }
.home-about .card { padding: 30px; background: var(--color-bg-athens); box-shadow: none; border: 0; }
.home-about .card:nth-child(2) { margin-top: 108px; }
.home-about .card:nth-child(3) { margin-top: -50px; }
.home-about .s-p-small { font-size: 18px; line-height: 1.5; }
.home .section-title { margin: 0 0 40px; font-size: var(--text-h2); line-height: 1.2; }
.home .home-community .section-title { margin: 0; max-width: 580px; }
.home-community { grid-template-columns: 55% 39%; gap: 2%; }
.home-community > img { height: 393px; }
.home-community-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 80px; margin-top: 30px; }
.home-community-step { display: flex; flex-direction: column; gap: 20px; min-height: 298px; }
.home-community-step__number { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border-radius: 50%; background: var(--color-accent-coral); color: var(--color-text-white); font-size: 22px; font-weight: 600; }
.home-community-step h3 { margin: 0; font-size: 25px; line-height: 1.4; }
.home-community-step p { margin: 10px 0 20px; font-size: 18px; line-height: 1.5; }
.home-community-step .btn2 { min-height: 46px; padding: 12px 24px; font-size: 16px; }
.home .home-stats__art { min-height: 397px; margin-inline: 10px; gap: 30px; grid-template-columns: 237fr 503fr 237fr; }
.home .home-stats .section-title { margin-bottom: 50px; }
.home .home-stats { padding-bottom: 60px; }
.home-stats__art > [data-slide][hidden] { display: block; }
.home-stats__art .banner__arrow { display: none; }
.home-stats__figures { margin-top: 50px; min-height: 232px; gap: 40px; }
.home-stats__figures .card { display: grid; justify-content: center; align-content: center; min-height: 232px; }
.home-stats__figures h3 { margin: 0; }
.home .home-start-card { min-height: 654px; }
.home .course-card { min-height: 407px; background: var(--color-bg-athens); }
.home-final { display: grid; grid-template-columns: 1fr 38.3%; align-items: start; gap: 40px; min-height: 318px; padding: 40px 0 40px 60px; border-radius: 165px; background: var(--color-accent-blue-light); overflow: hidden; }
.home-final h2 { margin: 0; font-size: var(--text-h2); line-height: 1.2; }
.home-final p { margin: 12px 0 20px; font-size: 18px; }
.home-final > img { align-self: start; width: 100%; max-width: none; margin-top: -40px; }

@media (max-width: 1179px) {
  .header { padding-block: 24px; }
  .header .logo { width: 172.5px; height: 30px; }
  .home-community-steps { gap: 30px; }
}

@media (max-width: 767px) {
  :root { --container-pad: 24px; }
  .header { padding-bottom: 28px; }
  .header .logo { width: 122px; height: 22px; }
  .header__right { gap: 24px; }
  .header__language { display: none; }
  .header__right .btn { height: 40px; padding: 0 16px; font-size: 16px; }
  .header__burger { width: 40px; height: 40px; background: transparent; }
  .header__burger .icon { width: 30px; height: 30px; }
  .home .section { margin-bottom: 48px; }
  .home .section-title { margin-bottom: 24px; }
  .home .home-hero-section { margin-bottom: 48px; }
  .home .home-hero-section > .container { padding: 0; }
  .home .hero { aspect-ratio: auto; height: 561px; min-height: 0; padding: 0; border-radius: 0; }
  .home .hero__slide { padding: 16px; border-radius: 0; }
  .home .hero .banner__title { max-width: 40ch; }
  .home .hero__slide > p { margin: 10px 0 20px; font-size: 16px; }
  .home .hero__slide .hero__cta { width: calc(100% - 32px); min-height: 55px; padding: 12px 20px; font-size: 16px; }
  .home .hero .banner__arrow { top: auto; bottom: 20px; width: 50px; height: 50px; margin-top: 0; }
  .home .hero .banner__arrow--prev { left: 16px; }
  .home .hero .banner__arrow--next { right: 16px; }
  .home .hero__dots { margin-top: 12px; }
  .home .featured-block { display: flex; min-height: 0; flex-direction: column; margin-inline: calc(-1 * var(--container-pad)); border-radius: 0; gap: 0; }
  .home .featured-block > div { padding: 32px 24px; }
  .home .featured-block > div h2 { font-size: 28px; line-height: 1.1; }
  .home .featured-block img { display: none; }
  .home .featured-block .btn2, .home-final .btn2 { min-height: 56px; width: 100%; padding: 16px; font-size: 16px; }
  .home-about > img { height: 250px; margin-top: 38px; }
  .home-about .home-scroll-wrap { margin-top: 92px; }
  .home-about-cards { grid-auto-flow: column; grid-auto-columns: 100%; grid-template-columns: none; min-height: 0; overflow-x: auto; scroll-snap-type: x mandatory; }
  .home-about .card { scroll-snap-align: start; }
  .home-about .card:nth-child(n) { margin: 0; }
  .home-community { display: flex; flex-direction: column; text-align: center; }
  .home-community > img { width: min(290px, 100%); height: 277px; }
  .home-community-steps { grid-template-columns: 1fr; gap: 30px; margin-top: 60px; }
  .home-community-step { flex-direction: row; min-height: 0; }
  .home-community-step > div { flex: 1; min-width: 0; padding-top: 11px; }
  .home-community-step h3 { font-size: 20px; }
  .home-community-step p { font-size: 14px; }
  .home-community-step .btn2 { width: 100%; }
  .home .home-stats { padding-bottom: 0; }
  .home .home-stats .section-title { margin-bottom: 12px; }
  .home .home-stats__art { min-height: 213px; margin-inline: calc(-1 * var(--container-pad)); grid-template-columns: 1fr; }
  .home-stats__art > [data-slide] { width: calc(100% - 80px); margin-inline: auto; }
  .home-stats__art > [data-slide]:not([hidden]) { display: block; }
  .home-stats__art > [data-slide][hidden] { display: none; }
  .home-stats__art img, .home-stats__art > div:nth-of-type(2) img { height: 213px; }
  .home-stats__art .banner__arrow { display: flex; top: 50%; bottom: auto; margin-top: -20px; width: 40px; height: 40px; z-index: 1; }
  .home-stats__art .banner__arrow--prev { left: 16px; }
  .home-stats__art .banner__arrow--next { right: 16px; }
  .home-stats__figures { margin-top: 16px; gap: 16px; }
  .home-stats__figures > div:nth-child(2) { transform: none; }
  .home-stats__figures .card { min-height: 104px; padding: 16px; }
  .home-stats__figures .s-h2 { font-size: 35px; }
  .home-stats__figures .s-p-small { font-size: 18px; }
  .home .grid-4.home-scroll { grid-auto-columns: 100%; }
  .home .home-start-card { min-height: 545px; }
  .home .course-card { min-height: 348px; }
  .home-final { display: flex; flex-direction: column; gap: 16px; padding: 0 16px 24px; border-radius: 30px; }
  .home-final p { font-size: 16px; margin-bottom: 16px; }
  .home-final > img { order: -1; height: 226px; margin: 0; }
}

/* Публичные каталоги. */
.public-catalog__title { margin: 0 0 60px; font-size: var(--text-h1); line-height: 1.15; font-weight: 600; }
.catalog-toolbar { display: flex; align-items: center; gap: 20px; margin-bottom: 40px; }
.catalog-toolbar--inline { margin-bottom: 32px; }
.catalog-search { display: flex; flex: 1; min-width: 0; align-items: center; border: 1px solid var(--color-border); border-radius: 999px; }
.catalog-search input { flex: 1; min-width: 0; width: 100%; height: 58px; border: 0; border-radius: inherit; background: transparent; padding: 0 22px; font: inherit; }
.catalog-search button { display: grid; place-items: center; width: 54px; height: 52px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.catalog-sort select, .catalog-filter select, .contact-phone select, .contact-topic { width: 100%; min-height: 48px; padding: 8px 14px; border: 1px solid var(--color-border); border-radius: 24px; color: inherit; background: var(--color-bg-page); font: inherit; }
.catalog-filter { position: relative; z-index: 3; }
.catalog-filter summary { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 20px; border-radius: 999px; list-style: none; background: var(--color-bg-athens); font-weight: 600; cursor: pointer; }
.catalog-filter summary::-webkit-details-marker { display: none; }
.catalog-filter__panel { display: grid; gap: 14px; padding: 20px; border-radius: 20px; background: var(--color-bg-athens); }
.catalog-filter__panel label { display: grid; gap: 8px; font-weight: 600; }
.catalog-filter:not(.catalog-sidebar) .catalog-filter__panel { position: absolute; top: calc(100% + 8px); left: 0; width: min(340px, calc(100vw - 48px)); box-shadow: var(--shadow-elevated); }
.catalog-columns { display: grid; grid-template-columns: minmax(220px, 34%) minmax(0, 1fr); align-items: start; gap: 50px; }
.catalog-sidebar summary { margin-bottom: 10px; }
.catalog-list { display: grid; gap: 30px; }
.catalog-item { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px; min-height: 204px; border-radius: 20px; background: var(--color-bg-athens); }
.catalog-item:hover h2, .profession-card:hover span { color: var(--color-accent-link); }
.catalog-item__content { flex: 1; min-width: 0; }
.catalog-item h2 { font-size: var(--text-h3); line-height: 1.3; margin: 18px 0 12px; }
.catalog-item p { font-size: 16px; line-height: 1.45; margin: 0 0 16px; }
.catalog-item img { width: min(27%, 240px); height: 135px; object-fit: contain; }
.catalog-item--event { min-height: 300px; align-items: flex-start; }
.catalog-item--event .tag { margin-top: 30px; }
.catalog-item--event { background-image: var(--event-art); background-position: right bottom; background-size: min(30%, 190px) auto; background-repeat: no-repeat; padding-right: 25%; }
.catalog-date summary { padding: 0; width: 56px; justify-content: center; }
.catalog-date input { min-height: 44px; width: 100%; font: inherit; }
.catalog-filter.catalog-date .catalog-filter__panel { right: 0; left: auto; width: min(250px, 70vw); }
.catalog-tabs, .catalog-pager { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.catalog-pager a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--color-bg-athens); }
.catalog-pager a[aria-current] { color: var(--color-text-white); background: var(--color-accent-link); }
.catalog-back { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.material > .catalog-back { margin-bottom: 30px; }
.material-heading { margin-bottom: 50px; }
.material-heading .public-catalog__title { max-width: 900px; margin-bottom: 30px; }
.material-heading > p, .material-hero p { font-size: 18px; line-height: 1.5; margin-bottom: 30px; }
.material-hero, .public-promo { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 30px; min-height: 420px; padding: 60px; border-radius: 20px; background: var(--color-accent-blue-light); }
.material-hero .public-catalog__title { margin-bottom: 20px; }
.material-hero img, .public-promo img { display: block; width: 100%; max-height: 350px; object-fit: contain; }
.material-organization { padding: 28px; border-radius: 20px; color: var(--color-text-white); background: var(--color-text-primary); }
.material-organization h2 { margin: 0 0 16px; font-size: 22px; }
.material-organization p { margin: 0; }
.material-player { width: 100%; aspect-ratio: 16 / 9; background: var(--color-text-primary); border-radius: 20px; }
.material-video { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 260px; padding: 20px; border-radius: 20px; background: var(--color-bg-athens); }
.news-grid--catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.news-card { background: var(--color-bg-athens); border: 0; box-shadow: none; }
.public-promo h1 { font-size: var(--text-h1); line-height: 1.15; margin: 0 0 20px; }
.public-promo p { font-size: 18px; line-height: 1.5; margin: 0; }
.public-promo--movement { background: var(--color-accent-blue-light); }
.public-promo--prepare { background: var(--color-accent-blue-light); }
.public-promo--contest { background: var(--color-accent-blue-light) url('img/hero-contest.png') center / cover; }
.movement-documents { max-width: 100%; text-align: center; white-space: normal; }
.movement-gallery img { width: 100%; height: 220px; object-fit: cover; border-radius: 20px; }
.prepare-route { display: block; width: min(100%, 500px); max-height: 360px; object-fit: contain; margin: 0 auto 24px; }
.profession-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.profession-card { display: grid; justify-items: center; align-content: start; gap: 12px; padding: 20px; border-radius: 20px; background: var(--color-bg-athens); text-align: center; font-weight: 600; }
.profession-card img { width: 100%; height: 145px; object-fit: contain; }
.community-layout:has(.community-guest) { display: grid; grid-template-columns: minmax(190px, 26%) minmax(0, 1fr); align-items: start; gap: 30px; }
.contact-panel { margin-top: 0; }
.contact-panel .field__input, .contact-topic { min-height: 60px; }
.contact-phone { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 10px; }
.contact-phone select, .contact-topic { border-radius: 8px; }
.contact-form input[type="file"] { width: 100%; font: inherit; }
.footer__social a { width: 32px; height: 32px; }
.footer__social img { width: 20px; height: 20px; }
.footer__credits a { color: inherit; text-decoration: underline; }

@media (max-width: 767px) {
  .public-catalog__title { margin-bottom: 32px; font-size: var(--text-h1); }
  .catalog-columns { display: flex; flex-direction: column; gap: 20px; }
  .catalog-results { min-width: 0; width: 100%; }
  .catalog-toolbar { flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
  .catalog-toolbar > .catalog-search { flex: 1 1 100%; order: 3; }
  .catalog-toolbar--inline > .catalog-search { flex: 1 1 130px; order: 0; }
  .catalog-search input { height: 48px; padding: 0 15px; }
  .catalog-search button { width: 40px; height: 40px; }
  .catalog-filter summary { min-height: 46px; padding-inline: 14px; }
  .catalog-list { gap: 22px; }
  .catalog-item { align-items: stretch; flex-direction: column; padding: 18px 16px; gap: 14px; }
  .catalog-item img { width: 100%; height: 115px; }
  .catalog-item--event { min-height: 0; padding: 26px 16px; }
  .catalog-item--event .tag { margin-top: 48px; }
  .catalog-date summary { width: 46px; }
  .material-heading { margin-bottom: 32px; }
  .material-hero, .public-promo { grid-template-columns: 1fr; gap: 20px; min-height: 0; padding: 24px; }
  .public-promo { margin-inline: calc(-1 * var(--container-pad)); border-radius: 0; }
  .public-promo h1 { font-size: var(--text-h2); }
  .public-promo img { max-height: 220px; }
  .public-promo--prepare img { display: none; }
  .news-grid--catalog, .community-layout:has(.community-guest) { grid-template-columns: 1fr; }
  .tabs.tabs--wrapping { display: flex; flex-wrap: wrap; gap: 6px; overflow: visible; min-width: 0; }
  .tabs.tabs--wrapping .tab { white-space: normal; }
  .panel__head--dashboard { flex-direction: column; align-items: flex-start; }
  .lk .stat-grid { gap: 10px; }
  .lk .stat-card { min-height: 0; padding: 14px; }
  .career-banner { display: block; margin-inline: calc(-1 * var(--container-pad)); border-radius: 0; padding: 30px 24px; }
  .career-banner img { display: none; }
  .career-banner .btn2 { width: 100%; }
  .contact-panel__art { position: absolute; top: 22px; right: 14px; width: 31%; max-height: 115px; object-fit: contain; }
  .contact-panel .page-head { padding-top: 0; padding-right: 27%; margin-bottom: 26px; }
  .auth-code-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .auth-code-row .auth-input { min-width: 0; }
  .footer__grid { gap: 24px; }
  .footer__social { margin-top: 16px; }
  .footer__brand { display: contents; }
  .footer__social { order: 4; }
  .footer__copy { order: 5; margin-top: 0; }
}

.error-page { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 36px; }
.error-page img { display: block; width: 100%; }
@media (max-width: 767px) {
  .error-page { grid-template-columns: 1fr; gap: 20px; text-align: center; }
  .error-page .btn2 { width: 100%; }
}

@media (min-width: 1180px) {
  .header__nav { flex: 1; justify-content: center; min-width: 0; margin: 0; }
  .header__link { padding-block: 7px; }
}
.home .hero__slide .hero__cta { line-height: 1.4; }
.home .featured-block { padding: 0; }
@media (max-width: 767px) {
  .home .featured-block > div { width: 100%; }
  .home .featured-block p { margin: 18px 0 26px; font-size: 16px; line-height: 1.4; }
  .home .featured-block img { width: 100%; }
}

/* Карточки сообществ, сверены с публичным каталогом. */
.comm-card { gap: 20px; padding: 20px; border-radius: 20px; background: #f7f7f8; }
.comm-card__logo, .comm-card__logo .avatar { display: flex; width: 50px; height: 50px; flex: none; border-radius: 50%; overflow: hidden; }
.comm-card__logo img { width: 100%; height: 100%; object-fit: cover; }
.comm-card__content { flex: 1; }
.comm-card__tags { margin-bottom: 5px; }
.comm-card__tags .tag { padding: 5px 8px; border-radius: 50px; font-size: 12px; line-height: 16px; }
.comm-card__title { display: flex; align-items: center; gap: 5px; font-size: 18px; line-height: 27px; font-weight: 600; }
.comm-card__verified { width: 18px; height: 18px; }
.comm-card__desc { margin: 5px 0 0; color: var(--color-text-primary); font-size: 16px; line-height: 24px; font-weight: 500; }
.comm-card__foot { margin-top: auto; }
.comm-card__foot .btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; border-radius: 50px; font-size: 16px; }

/* Встроенные макеты домена обучения и развития. */
.oir-preview { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0; padding: 24px; border-radius: 20px; background: var(--color-accent-blue-light); }
.oir-preview h2 { margin: 0 0 8px; font-size: 22px; line-height: 1.3; }
.oir-preview p { max-width: 520px; margin: 0; line-height: 1.5; }
.oir-full { padding-bottom: 60px; }
.oir-full__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.oir-full__head h1 { margin: 12px 0 0; font-size: var(--text-h2); line-height: 1.2; }
.oir-full__roles { display: flex; flex-wrap: wrap; gap: 8px; }
.oir-full__roles [aria-current=page] { color: white; background: var(--color-text-primary); }
.oir-frame { display: block; width: 100%; height: max(760px, 90vh); border: 1px solid var(--color-border); border-radius: 20px; background: #fff; }
.oir-full__note { margin: 12px 0; color: var(--color-text-secondary); font-size: 14px; line-height: 1.4; }
@media (max-width: 767px) {
  .oir-preview { padding: 18px; }
  .oir-full__head { flex-direction: column; align-items: flex-start; }
  .oir-frame { height: 80vh; min-height: 620px; }
}

/* Сценарии обучения и развития в общей дизайн-системе. */
.oir-area { min-width: 0; }
.oir-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.oir-nav a { padding: 10px 16px; border-radius: 50px; background: var(--color-bg-athens); font-weight: 600; font-size: 14px; }
.oir-nav a[aria-current=page] { color: white; background: var(--color-text-primary); }
.oir-hero { padding: 40px; border-radius: 20px; background: var(--color-accent-blue-light); }
.oir-hero h1, .oir-heading h1 { font-size: var(--text-h2); line-height: 1.2; margin: 16px 0; }
.oir-hero p { max-width: 620px; font-size: 18px; line-height: 1.5; margin-bottom: 24px; }
.oir-section { margin: 30px 0; }
.oir-review, .oir-question { display: block; min-width: 0; overflow-wrap: anywhere; }
.oir-question > div { min-width: 0; }
.oir-review form { margin: 10px 0; }
.oir-section h2, .oir-heading h2 { margin: 0 0 16px; font-size: var(--text-h3); }
.oir-section h3, .oir-test-row h2 { margin: 16px 0 8px; font-size: 20px; line-height: 1.3; }
.oir-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0; }
.oir-heading h1 { margin: 0 0 10px; }
.oir-heading p, .oir-test-row p, .oir-mentor-card p { line-height: 1.5; }
.oir-goal--selected { outline: 2px solid var(--color-accent-link); }
.oir-mentor-card .avatar { margin-bottom: 16px; }
.oir-test-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.oir-form { margin-top: 24px; }
.oir-form h1 { font-size: var(--text-h2); }
.oir-form label, .oir-section label { display: grid; gap: 8px; font-weight: 600; }
.oir-input { display: block; width: 100%; min-width: 0; padding: 14px; border: 1px solid var(--color-border); border-radius: 10px; font: inherit; background: #fff; }
.oir-error { color: #a13a32; }
@media (max-width: 767px) {
  .oir-hero { padding: 24px; }
  .oir-heading, .oir-test-row { flex-direction: column; align-items: flex-start; }
  .oir-nav { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
  .oir-nav a { white-space: nowrap; }
  .oir-section .row:has(.oir-input) { flex-wrap: wrap; }
}

/* Каталог сообществ: вкладки и действие не конкурируют за ширину телефона. */
@media (max-width: 760px) {
  .community-panel .panel__head { flex-direction: column; align-items: stretch; }
  .community-panel .panel__head .tabs { width: 100%; }
  .community-panel .panel__head > button { align-self: flex-start; }
}

@media(max-width:600px){.btn2{max-width:100%;white-space:normal;height:auto;box-sizing:border-box}}
.select select { flex: 1; min-width: 0; align-self: flex-end; height: 28px; margin-top: 4px; padding: 0; border: 0; outline: 0; background: transparent; font: inherit; color: inherit; appearance: none; -webkit-appearance: none; cursor: pointer; }
.select select:focus-visible { outline: 2px solid #3D3D50; outline-offset: 2px; border-radius: 50px; }
.select:has(select) { cursor: default; }
button.s-link { padding: 0; border: 0; background: none; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.role-field { display: flex; flex-direction: column; gap: 2px; width: 100%; box-sizing: border-box; padding: 10px 23px 12px; border: 1px solid #DFE1EE; border-radius: 28px; background: #fff; cursor: pointer; }
.role-field:hover, .role-field:focus-within { border-color: #3D3D50; }
.role-field__caption { font-size: 12px; font-weight: 600; line-height: 16px; color: #B7B7C0; }
.role-field select { width: 100%; height: 28px; margin: 0; padding: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; font-weight: 500; line-height: 28px; color: inherit; appearance: none; -webkit-appearance: none; cursor: pointer; }

/* Сообщения (ЛК → Сообщения) */
.chat { display: grid; grid-template-columns: minmax(240px, 320px) 1fr; gap: 16px; min-height: 640px; }
.chat__list, .chat__main { background: #fff; border-radius: 20px; box-shadow: 0 2px 12px rgba(40, 42, 60, .06); min-width: 0; }
.chat__list { padding: 24px 16px; display: flex; flex-direction: column; gap: 6px; }
.chat__list-head { padding: 0 8px 12px; }
.chat__title { margin: 0; font-size: 26px; font-weight: 600; color: var(--color-text-primary); }
.chat__item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 14px; color: inherit; text-decoration: none; }
.chat__item:hover { background: var(--color-bg-athens); }
.chat__item--active, .chat__item--active:hover { background: var(--color-accent-blue-light); }
.chat__item .avatar { width: 48px; height: 48px; }
.chat__item-body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.chat__item-name { font-weight: 600; font-size: 15px; color: var(--color-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat__item-preview { font-size: 14px; color: var(--color-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat__item-time { font-size: 13px; color: var(--color-text-secondary); align-self: flex-start; }
.chat__main { display: flex; flex-direction: column; padding: 24px; min-width: 0; }
.chat__head { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--color-border-light); }
.chat__head .avatar { width: 52px; height: 52px; }
.chat__body { flex: 1; display: flex; flex-direction: column; gap: 14px; padding: 20px 0; overflow-y: auto; }
.chat__date { align-self: center; padding: 6px 14px; border-radius: 12px; background: var(--color-bg-athens); font-size: 13px; color: var(--color-text-secondary); }
.chat__msg { display: flex; flex-direction: column; align-items: flex-start; max-width: 70%; }
.chat__msg--me { align-self: flex-end; align-items: flex-end; }
.chat__bubble { padding: 12px 18px; border-radius: 18px; background: var(--color-bg-athens); font-size: 15px; line-height: 1.4; color: var(--color-text-primary); overflow-wrap: anywhere; }
.chat__msg--me .chat__bubble { background: var(--color-accent-link); color: #fff; border-bottom-right-radius: 6px; }
.chat__time { margin-top: 4px; font-size: 12px; color: var(--color-text-secondary); }
.chat__footer { display: flex; flex-direction: column; gap: 12px; padding-top: 16px; border-top: 1px solid var(--color-border-light); }
.chat__quick { display: flex; flex-wrap: wrap; gap: 8px; }
.chat__chip { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--color-border-tag); background: #fff; font: inherit; font-size: 14px; color: var(--color-text-primary); cursor: pointer; }
.chat__chip:hover { background: var(--color-bg-athens); }
.chat__form { display: flex; align-items: center; gap: 12px; }
.chat__input { flex: 1; min-width: 0; height: 52px; padding: 0 20px; border: 0; border-radius: 16px; background: var(--color-bg-athens); font: inherit; font-size: 15px; color: var(--color-text-primary); }
.chat__input::placeholder { color: var(--color-text-secondary); }
.chat__send { width: 52px; height: 52px; flex: none; border: 0; border-radius: 50%; background: var(--color-accent-link); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.chat__send:disabled { opacity: .5; cursor: default; }
@media (max-width: 767px) {
  .chat { grid-template-columns: 1fr; min-height: 0; }
  .chat__msg { max-width: 88%; }
}

/* Организация (ЛК → Организация) */
.nav-drop__item--icon { display: flex; align-items: center; gap: 12px; }
.nav-drop__item--icon .icon { flex: none; }
.nav-drop__item--accent, .nav-drop__item--accent:hover { color: var(--color-accent-blue); font-weight: 600; }
.nav-drop__sep { margin: 8px 12px; border: 0; border-top: 1px solid var(--color-border-light); }

.org { padding: 24px 0 48px; }
.org__topbar { display: flex; align-items: center; gap: 16px; padding: 8px 0 24px; }
.org__acting { margin: 0; font-size: 14px; color: var(--color-text-secondary); }
.org__chip { display: inline-block; margin-left: 8px; padding: 8px 16px; border-radius: 8px; background: var(--color-accent-link); color: #fff; font-weight: 600; }
.org__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
.org__side { background: var(--color-bg-athens); border-radius: 20px; padding: 12px; }
.org__menu { display: flex; flex-direction: column; gap: 4px; }
.org__item { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 12px; color: var(--color-text-secondary); text-decoration: none; font-size: 16px; font-weight: 500; }
.org__item:hover { background: #fff; color: var(--color-text-primary); }
.org__item--active { background: #fff; color: var(--color-text-primary); font-weight: 600; }
.org__main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.org__sign { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-radius: 16px; background: #EFF4F8; }
.org__sign p { flex: 1; margin: 0; font-size: 14px; line-height: 1.4; color: var(--color-text-primary); }
.org__sign .icon { color: var(--color-accent-link); flex: none; }

.org-card { background: #fff; border-radius: 20px; padding: 28px; box-shadow: 0 2px 12px rgba(40, 42, 60, .06); display: flex; flex-direction: column; gap: 12px; }
.org-card--hero { flex-direction: row; align-items: center; gap: 24px; background: var(--color-bg-athens); box-shadow: none; }
.org-card--hero .icon { width: 96px; height: 96px; color: var(--color-text-secondary); flex: none; }
.org-card--center { align-items: center; text-align: center; padding: 48px 28px; }
.org-card--promo { background: #E7F2FA; box-shadow: none; }
.org-card__title { margin: 0; font-size: 36px; font-weight: 600; color: var(--color-text-primary); }
.org-card__subtitle { margin: 0; font-size: 22px; font-weight: 600; color: var(--color-text-primary); }
.org-card__empty-title { margin: 8px 0 0; font-size: 18px; font-weight: 600; color: var(--color-text-primary); }
.org-card__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

.org-counters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.org-counter { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 16px; background: #fff; box-shadow: 0 2px 12px rgba(40, 42, 60, .06); }
.org-counter--wide { grid-column: 1 / -1; }
.org-counter__value { font-size: 30px; font-weight: 600; color: var(--color-accent-link); }
.org-counter__label { font-size: 14px; color: var(--color-text-secondary); }

.org-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.org-benefit { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 14px; background: #E8F5F5; font-size: 14px; }
.org-benefit span { color: var(--color-text-secondary); }

.org-promo__list { margin: 0; padding-left: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; font-size: 14px; }
.org-promo__list li::before { content: "● "; color: var(--color-accent-coral); }

.org-actions { display: flex; flex-direction: column; gap: 10px; }
.org-action { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 14px; background: var(--color-bg-athens); color: inherit; text-decoration: none; }
.org-action span { font-size: 14px; color: var(--color-text-secondary); }

.org-search { display: flex; }
.org-search__input { width: 100%; height: 48px; padding: 0 20px; border: 0; border-radius: 14px; background: var(--color-bg-athens); font: inherit; font-size: 15px; }

.org-communities { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.org-community { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 16px; background: var(--color-bg-athens); }
.org-community__logo { width: 40px; height: 40px; border-radius: 50%; background: var(--color-accent-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; }
.org-community__owner { margin-top: auto; height: 36px; border: 1px solid var(--color-border-tag); border-radius: 10px; background: #fff; font: inherit; font-size: 13px; color: var(--color-text-secondary); cursor: default; }

.org-langs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.org-lang { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid var(--color-border-tag); border-radius: 14px; color: inherit; text-decoration: none; font-size: 15px; }
.org-lang--active { border-color: var(--color-accent-link); }
.org-lang__dot { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--color-border-tag); }
.org-lang--active .org-lang__dot { border-color: var(--color-accent-link); background: radial-gradient(circle, var(--color-accent-link) 45%, transparent 50%); }

.org-notify__row { display: grid; grid-template-columns: minmax(0, 1fr) 110px 110px 110px; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--color-border-light); font-size: 15px; }
.org-notify__row:last-child { border-bottom: 0; }
.org-notify__row--head { font-size: 13px; color: var(--color-text-secondary); }
.org-notify__row > span:not(.org-notify__name), .org-notify__row--head > span { text-align: center; }
.org-notify__row .switch { justify-self: center; }

.org-actions-row { display: flex; gap: 16px; flex-wrap: wrap; }
.org-actions-row .btn { min-width: 220px; }

@media (max-width: 1023px) {
  .org__layout { grid-template-columns: minmax(0, 1fr); }
  .org__side { min-width: 0; }
  .org__menu { flex-direction: row; overflow-x: auto; }
  .org__item { white-space: nowrap; }
}
@media (max-width: 767px) {
  .org-counters, .org-benefits, .org-langs { grid-template-columns: 1fr; }
  .org-promo__list { grid-template-columns: 1fr; }
  .org-card { padding: 20px; }
  .org-card--hero { flex-direction: column; align-items: flex-start; }
  .org-card--hero .icon { width: 64px; height: 64px; }
  .org-card__title { font-size: 26px; }
  .org__sign { flex-direction: column; align-items: flex-start; }
  .org-notify__row { grid-template-columns: minmax(0, 1fr) 60px 60px 60px; font-size: 13px; }
}
