/* ==========================================================================
   FP-001 «Стрижи ЖКХ» — специализированные стили
   Mobile-first. Наследует дизайн-систему UKATECH из variables.css.
   Не переопределяет общие классы без необходимости.
   ========================================================================== */

/* ==========================================================================
   1. КНОПКИ (локальное определение, т.к. support.css не подключается)
   ========================================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-sm);
  padding:var(--space-md) var(--space-xl);
  border-radius:var(--radius-md);
  font-family:var(--font-family-base);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-semibold);
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);
  border:1px solid transparent;
  white-space:nowrap;
}
.btn:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:3px;
}
.btn--primary{
  background:var(--color-primary);
  color:#fff;
}
.btn--primary:hover{
  background:var(--color-primary-hover);
  box-shadow:0 0 16px var(--color-glow);
}
.btn--secondary{
  background:transparent;
  color:var(--color-primary);
  border-color:var(--color-border);
}
.btn--secondary:hover{
  background:var(--color-primary-soft);
  border-color:var(--color-border-hover);
}

/* ==========================================================================
   2. ОБЩИЕ СЕКЦИОННЫЕ КОМПОНЕНТЫ
   ========================================================================== */
.strizhi-section{
  padding-block:var(--space-3xl);
  position:relative;
}
.strizhi-section + .strizhi-section{
  border-top:1px solid var(--color-border);
}
.section-header{
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
  margin-bottom:var(--space-2xl);
  max-width:900px;
}
.section-title{
  font-size:var(--font-size-2xl);
  font-weight:var(--font-weight-bold);
  line-height:var(--line-height-snug);
  color:var(--color-text);
  letter-spacing:-0.01em;
}
.section-lead{
  font-size:var(--font-size-base);
  color:var(--color-text-muted);
  line-height:var(--line-height-relaxed);
  max-width:720px;
}
.strizhi-section__text{
  color:var(--color-text-muted);
  line-height:var(--line-height-relaxed);
  max-width:820px;
  margin-bottom:var(--space-lg);
}
.strizhi-section__text--lead{
  font-size:var(--font-size-lg);
  color:var(--color-text);
  max-width:880px;
}
.strizhi-section__formula{
  font-size:var(--font-size-base);
  font-weight:var(--font-weight-semibold);
  color:var(--color-primary);
  letter-spacing:0.02em;
  padding-block:var(--space-md);
  margin-block:var(--space-lg);
  border-left:3px solid var(--color-primary);
  padding-left:var(--space-lg);
}
.strizhi-subtitle{
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-bold);
  color:var(--color-text);
  margin-block:var(--space-xl) var(--space-md);
}
.section-conclusion{
  margin-top:var(--space-2xl);
  padding:var(--space-lg) var(--space-xl);
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:var(--glass-border);
  border-left:3px solid var(--color-primary);
  border-radius:var(--radius-md);
}
.section-conclusion p{
  color:var(--color-text);
  font-size:var(--font-size-base);
  line-height:var(--line-height-relaxed);
  margin:0;
}

/* ==========================================================================
   3. HERO
   ========================================================================== */
.strizhi-hero{
  padding-block:var(--space-2xl) var(--space-3xl);
  position:relative;
  overflow:hidden;
}
.strizhi-hero__content{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-2xl);
  align-items:center;
}
.strizhi-hero__eyebrow{
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.15em;
  color:var(--color-primary);
  text-transform:uppercase;
  margin-bottom:var(--space-md);
}
.strizhi-hero__title{
  font-size:clamp(2rem,1.5rem + 3vw,3.5rem);
  font-weight:var(--font-weight-black);
  line-height:1.05;
  letter-spacing:-0.02em;
  color:var(--color-text);
  margin-bottom:var(--space-lg);
}
.strizhi-hero__description{
  font-size:var(--font-size-base);
  color:var(--color-text-muted);
  line-height:var(--line-height-relaxed);
  max-width:640px;
  margin-bottom:var(--space-lg);
}
.strizhi-hero__formula{
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text);
  margin-bottom:var(--space-lg);
  padding-left:var(--space-lg);
  border-left:3px solid var(--color-primary);
}
.strizhi-hero__status{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-md);
  margin-bottom:var(--space-xl);
}
.strizhi-hero__status-text{
  color:var(--color-text-muted);
  font-size:var(--font-size-sm);
}
.strizhi-hero__cta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-md);
  margin-bottom:var(--space-xl);
}
.strizhi-hero__meta{
  font-size:var(--font-size-xs);
  color:var(--color-text-dim);
  letter-spacing:0.05em;
}
.strizhi-hero__media{
  position:relative;
  width:100%;
  border-radius:var(--radius-xl);
  overflow:hidden;
  background:var(--color-card);
  border:var(--glass-border);
  box-shadow:var(--shadow-md);
}
.strizhi-hero__media img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:1672 / 941;
  object-fit:cover;
}

/* ==========================================================================
   4. КОМПАКТНАЯ НАВИГАЦИЯ (6 пунктов)
   ========================================================================== */
.strizhi-nav{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-xs);
  padding:var(--space-sm);
  margin-bottom:var(--space-2xl);
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:var(--glass-border);
  border-radius:var(--radius-full);
  width:fit-content;
  max-width:100%;
}
.strizhi-nav__link{
  padding:var(--space-xs) var(--space-md);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-muted);
  text-decoration:none;
  border-radius:var(--radius-full);
  transition:color var(--transition-fast),background var(--transition-fast);
  white-space:nowrap;
}
.strizhi-nav__link:hover{
  color:var(--color-text);
  background:var(--color-primary-soft);
}
.strizhi-nav__link.is-active{
  color:var(--color-text);
  background:var(--color-primary);
}
.strizhi-nav__link:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:2px;
}

/* ==========================================================================
   5. СТАТУСНЫЕ БЕЙДЖИ
   ========================================================================== */
.status-badge{
  display:inline-flex;
  align-items:center;
  padding:var(--space-xs) var(--space-md);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-bold);
  letter-spacing:0.08em;
  color:var(--color-primary);
  background:var(--color-primary-soft);
  border:1px solid var(--color-border);
  border-radius:var(--radius-full);
  text-transform:uppercase;
}
.status-badge--pending{
  color:var(--color-text);
  background:rgba(255,255,255,0.04);
  border-color:var(--color-border);
}

/* ==========================================================================
   6. ИНФОРМАЦИОННЫЕ КАРТОЧКИ
   ========================================================================== */
.info-card-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-lg);
  margin-block:var(--space-xl);
}
.info-card{
  padding:var(--space-xl);
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:var(--glass-border);
  border-radius:var(--radius-lg);
  transition:border-color var(--transition-normal),transform var(--transition-normal);
}
.info-card:hover{
  border-color:var(--color-border-hover);
}
.info-card__title{
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-bold);
  letter-spacing:0.08em;
  color:var(--color-primary);
  margin-bottom:var(--space-md);
  text-transform:uppercase;
}
.info-card__text{
  color:var(--color-text-muted);
  line-height:var(--line-height-relaxed);
  font-size:var(--font-size-base);
  margin:0;
}
.info-card__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
}
.info-card__list li{
  color:var(--color-text-muted);
  font-size:var(--font-size-sm);
  padding-left:var(--space-lg);
  position:relative;
}
.info-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.6em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--color-primary);
}
.info-card--accent{
  border-color:var(--color-border-hover);
  background:linear-gradient(135deg,var(--glass-bg),var(--color-primary-soft));
}
.info-card--warning{
  border-color:var(--color-border-hover);
  background:var(--color-primary-soft);
}

/* ==========================================================================
   7. ЦИТАТЫ
   ========================================================================== */
.quote-block{
  margin-block:var(--space-xl);
  padding:var(--space-xl) var(--space-xl);
  border-left:3px solid var(--color-primary);
  background:var(--glass-bg);
  border-radius:0 var(--radius-md) var(--radius-md) 0;
}
.quote-block blockquote{
  margin:0;
  padding:0;
}
.quote-block blockquote p{
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-medium);
  color:var(--color-text);
  line-height:var(--line-height-relaxed);
  font-style:italic;
  margin:0;
}

/* ==========================================================================
   8. ГОРИЗОНТАЛЬНЫЕ ЦЕПОЧКИ (mobile-first: вертикальные)
   ========================================================================== */
.process-chain,
.house-cycle,
.student-path,
.smart-house-flow,
.funding-flow,
.version-chain,
.measurement-flow,
.transparency-flow,
.evidence-timeline{
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
  margin-block:var(--space-xl);
  padding:var(--space-lg);
  background:var(--glass-bg);
  border:var(--glass-border);
  border-radius:var(--radius-lg);
}
.process-chain__item,
.house-cycle__item,
.student-path__item,
.smart-house-flow__item,
.funding-flow__item,
.version-chain__item,
.measurement-item,
.transparency-item,
.evidence-timeline__item{
  padding:var(--space-md);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  text-align:center;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text);
}
.process-chain__arrow,
.house-cycle__arrow,
.student-path__arrow,
.smart-house-flow__arrow,
.funding-flow__arrow,
.version-chain__arrow,
.measurement-arrow{
  text-align:center;
  color:var(--color-primary);
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-bold);
  padding:var(--space-xs) 0;
}
.student-path__title{
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-bold);
  color:var(--color-primary);
  letter-spacing:0.05em;
  margin-bottom:var(--space-xs);
}
.student-path__text{
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
  margin:0;
}

/* ==========================================================================
   9. КОМАНДА (12 специалистов базового состава)
   ========================================================================== */
.team-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--space-sm);
  margin-block:var(--space-xl);
}
.team-member{
  padding:var(--space-md);
  background:var(--glass-bg);
  border:var(--glass-border);
  border-radius:var(--radius-md);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
  color:var(--color-text);
  text-align:center;
  transition:border-color var(--transition-fast),background var(--transition-fast);
}
.team-member:hover{
  border-color:var(--color-border-hover);
  background:var(--color-primary-soft);
}

/* ==========================================================================
   10. CTA-КАРТОЧКИ
   ========================================================================== */
.cta-card{
  margin-block:var(--space-xl);
  padding:var(--space-2xl);
  background:linear-gradient(135deg,var(--glass-bg),var(--color-primary-soft));
  border:1px solid var(--color-border-hover);
  border-radius:var(--radius-xl);
  text-align:center;
}
.cta-card__title{
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-bold);
  color:var(--color-text);
  margin-bottom:var(--space-md);
}
.cta-card__text{
  color:var(--color-text-muted);
  line-height:var(--line-height-relaxed);
  margin-bottom:var(--space-lg);
  max-width:640px;
  margin-inline:auto;
}
.cta-card__disclaimer{
  font-size:var(--font-size-xs);
  color:var(--color-text-dim);
  font-style:italic;
  margin-top:var(--space-lg);
  padding-top:var(--space-lg);
  border-top:1px solid var(--color-border);
  max-width:640px;
  margin-inline:auto;
}

/* ==========================================================================
   11. ВОСЕМЬ ПРИНЦИПОВ — единая визуальная история
   ========================================================================== */
.principle-story{
  display:flex;
  flex-direction:column;
  gap:var(--space-2xl);
  margin-block:var(--space-2xl);
}
.principle-story__item{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-lg);
  align-items:center;
}
.principle-story__media{
  order:1;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-card);
  border:var(--glass-border);
}
.principle-story__media img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:3 / 2;
  object-fit:cover;
}
.principle-story__content{
  order:2;
  padding:var(--space-lg);
  background:var(--glass-bg);
  border:var(--glass-border);
  border-radius:var(--radius-lg);
}
.principle-story__title{
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-bold);
  color:var(--color-primary);
  margin-bottom:var(--space-md);
  line-height:var(--line-height-snug);
}
.principle-story__text{
  color:var(--color-text-muted);
  line-height:var(--line-height-relaxed);
  font-size:var(--font-size-base);
  margin:0;
}

/* ==========================================================================
   12. МЕДИА-БЛОКИ (раздел «Реальный МКД»)
   ========================================================================== */
.strizhi-media-block{
  margin-block:var(--space-xl);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--color-card);
  border:var(--glass-border);
}
.strizhi-media-block img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:1672 / 941;
  object-fit:cover;
}

/* ==========================================================================
   13. ПАСПОРТ ПИЛОТНОГО МКД
   ========================================================================== */
.pilot-passport{
  margin-block:var(--space-xl);
  background:var(--glass-bg);
  border:var(--glass-border);
  border-radius:var(--radius-xl);
  overflow:hidden;
}
.pilot-passport__header{
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
  padding:var(--space-xl);
  background:var(--color-card);
  border-bottom:var(--glass-border);
}
.pilot-passport__title{
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-bold);
  color:var(--color-text);
  margin:0;
}
.pilot-passport__body{
  padding:var(--space-xl);
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-md);
}
.pilot-passport__field{
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
  padding:var(--space-md);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
}
.pilot-passport__label{
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.08em;
  color:var(--color-text-dim);
  text-transform:uppercase;
}
.pilot-passport__value{
  font-size:var(--font-size-base);
  color:var(--color-text-muted);
  font-weight:var(--font-weight-medium);
}

/* ==========================================================================
   14. ТРЕКЕР ЭТАПОВ
   ========================================================================== */
.tracker-steps{
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
  margin-top:var(--space-md);
}
.tracker-step{
  display:flex;
  align-items:center;
  gap:var(--space-md);
  padding:var(--space-md);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.tracker-step::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--color-text-dim);
  flex-shrink:0;
}
.tracker-step--completed{
  color:var(--color-text);
  border-color:var(--color-border-hover);
  background:var(--color-primary-soft);
}
.tracker-step--completed::before{
  background:var(--color-primary);
  box-shadow:0 0 8px var(--color-glow);
}
.tracker-step--active{
  color:var(--color-text);
  border-color:var(--color-primary);
}
.tracker-step--active::before{
  background:var(--color-primary);
  animation:glow-pulse 2s ease-in-out infinite;
}

/* ==========================================================================
   15. СПИСКИ КРИТЕРИЕВ / КАТЕГОРИЙ / СТАТУСОВ
   ========================================================================== */
.criteria-list,
.partners-categories,
.partners-statuses,
.funding-sources,
.schedule-list,
.status-grid,
.evidence-levels,
.evidence-grades{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-sm);
  margin-top:var(--space-md);
}
.criteria-item,
.partners-category,
.partners-status,
.schedule-item,
.status-item,
.evidence-level,
.evidence-grade{
  padding:var(--space-sm) var(--space-md);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-full);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.05em;
  color:var(--color-text);
  text-transform:uppercase;
}
.funding-source{
  display:flex;
  align-items:center;
  gap:var(--space-md);
  padding:var(--space-md);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  width:100%;
}
.funding-source__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  background:var(--color-primary);
  color:#fff;
  font-weight:var(--font-weight-bold);
  border-radius:50%;
  flex-shrink:0;
  font-size:var(--font-size-sm);
}
.funding-source__label{
  color:var(--color-text);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-medium);
}

/* ==========================================================================
   16. EMPTY STATE
   ========================================================================== */
.empty-state{
  margin-block:var(--space-xl);
  padding:var(--space-2xl);
  background:var(--glass-bg);
  border:1px dashed var(--color-border-hover);
  border-radius:var(--radius-xl);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-lg);
  text-align:center;
}
.empty-state__icon{
  color:var(--color-primary);
  opacity:0.6;
}
.empty-state__content{
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
  align-items:center;
}
.empty-state__text{
  color:var(--color-text-muted);
  font-size:var(--font-size-base);
  line-height:var(--line-height-relaxed);
  max-width:560px;
  margin:0;
}

/* ==========================================================================
   17. ЭКОСИСТЕМА (mobile-first: вертикальная)
   ========================================================================== */
.ecosystem-map{
  margin-block:var(--space-2xl);
  padding:var(--space-xl);
  background:var(--glass-bg);
  border:var(--glass-border);
  border-radius:var(--radius-xl);
  display:flex;
  flex-direction:column;
  gap:var(--space-lg);
  align-items:center;
}
.ecosystem-map__center{
  display:flex;
  align-items:center;
  justify-content:center;
}
.ecosystem-map__core{
  padding:var(--space-xl);
  background:linear-gradient(135deg,var(--color-primary-soft),var(--glass-bg-strong));
  border:2px solid var(--color-border-hover);
  border-radius:var(--radius-xl);
  text-align:center;
  box-shadow:var(--shadow-glow);
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
  min-width:240px;
}
.ecosystem-map__code{
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-bold);
  letter-spacing:0.15em;
  color:var(--color-primary);
}
.ecosystem-map__name{
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-black);
  color:var(--color-text);
  letter-spacing:0.02em;
}
.ecosystem-map__tagline{
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  font-style:italic;
}
.ecosystem-map__object{
  margin-top:var(--space-sm);
  padding-top:var(--space-sm);
  border-top:1px solid var(--color-border);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-bold);
  letter-spacing:0.1em;
  color:var(--color-primary);
}
.ecosystem-map__orbit{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--space-sm);
  width:100%;
  max-width:480px;
}
.ecosystem-map__node{
  padding:var(--space-md);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  text-align:center;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-bold);
  letter-spacing:0.08em;
  color:var(--color-text);
  text-transform:uppercase;
  transition:border-color var(--transition-fast),background var(--transition-fast);
}
.ecosystem-map__node:hover{
  border-color:var(--color-border-hover);
  background:var(--color-primary-soft);
}
.ecosystem-map__node--ukatech{
  grid-column:1 / -1;
  background:var(--color-primary-soft);
  border-color:var(--color-primary);
  color:var(--color-primary);
}

/* ==========================================================================
   18. ДОРОЖНАЯ КАРТА
   ========================================================================== */
.project-roadmap{
  margin-block:var(--space-xl);
  padding:var(--space-xl);
  background:var(--glass-bg);
  border:var(--glass-border);
  border-radius:var(--radius-xl);
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
}
.roadmap-item{
  display:flex;
  align-items:flex-start;
  gap:var(--space-md);
  padding:var(--space-md);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
}
.roadmap-item__marker{
  font-size:var(--font-size-lg);
  color:var(--color-text-dim);
  line-height:1;
  flex-shrink:0;
  width:24px;
  text-align:center;
}
.roadmap-item__content{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
}
.roadmap-item__title{
  font-size:var(--font-size-base);
  font-weight:var(--font-weight-bold);
  color:var(--color-text);
  margin:0;
}
.roadmap-item__status{
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
  letter-spacing:0.05em;
  text-transform:uppercase;
}
.roadmap-item--completed{
  border-color:var(--color-border-hover);
  background:var(--color-primary-soft);
}
.roadmap-item--completed .roadmap-item__marker{
  color:var(--color-primary);
}
.roadmap-item--completed .roadmap-item__title{
  color:var(--color-text);
}
.roadmap-item--active .roadmap-item__marker{
  color:var(--color-primary);
  animation:glow-pulse 2s ease-in-out infinite;
}
.roadmap-item--active{
  border-color:var(--color-primary);
}
.roadmap-steps{
  list-style:none;
  padding:0;
  margin:var(--space-md) 0 0;
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
}
.roadmap-steps li{
  counter-increment:step;
  padding:var(--space-sm) var(--space-md) var(--space-sm) calc(var(--space-md) + 24px);
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  color:var(--color-text-muted);
  font-size:var(--font-size-sm);
  position:relative;
}
.roadmap-steps li::before{
  content:counter(step);
  position:absolute;
  left:var(--space-md);
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  background:var(--color-primary);
  color:#fff;
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-bold);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ==========================================================================
   19. ФИНАЛЬНЫЙ БЛОК УЧАСТИЯ
   ========================================================================== */
.strizhi-final{
  background:linear-gradient(180deg,transparent,var(--color-primary-soft));
  padding-block:var(--space-4xl);
}
.participate-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-md);
  margin-block:var(--space-2xl);
}
.participate-action{
  display:flex;
  align-items:center;
  gap:var(--space-lg);
  padding:var(--space-xl);
  background:var(--glass-bg);
  border:var(--glass-border);
  border-radius:var(--radius-lg);
  text-decoration:none;
  transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);
}
.participate-action:hover{
  border-color:var(--color-border-hover);
  background:var(--color-primary-soft);
  transform:translateY(-2px);
}
.participate-action:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:3px;
}
.participate-action__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  background:var(--color-primary);
  color:#fff;
  font-size:var(--font-size-xl);
  font-weight:var(--font-weight-black);
  border-radius:50%;
  flex-shrink:0;
}
.participate-action__label{
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-bold);
  color:var(--color-text);
}
.strizhi-final__phrase{
  font-size:var(--font-size-lg);
  color:var(--color-text);
  line-height:var(--line-height-relaxed);
  text-align:center;
  margin-block:var(--space-2xl);
  max-width:720px;
  margin-inline:auto;
  font-style:italic;
}
.strizhi-final__signature{
  text-align:center;
  margin-block:var(--space-2xl);
  padding:var(--space-2xl);
  background:var(--glass-bg-strong);
  border:var(--glass-border);
  border-radius:var(--radius-xl);
}
.strizhi-final__motto{
  font-size:var(--font-size-2xl);
  font-weight:var(--font-weight-black);
  color:var(--color-primary);
  margin-bottom:var(--space-md);
  letter-spacing:-0.01em;
}
.strizhi-final__cycle{
  font-size:var(--font-size-base);
  color:var(--color-text-muted);
  letter-spacing:0.05em;
  margin:0;
}
.strizhi-final__meta{
  margin-top:var(--space-2xl);
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
}
.strizhi-final__project{
  font-size:var(--font-size-base);
  font-weight:var(--font-weight-bold);
  color:var(--color-text);
  margin:0;
}
.strizhi-final__org{
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  margin:0;
}
.strizhi-final__status{
  font-size:var(--font-size-xs);
  color:var(--color-text-dim);
  letter-spacing:0.05em;
  text-transform:uppercase;
  margin:0;
}

/* ==========================================================================
   20. АДАПТИВ — TABLET (min-width: 640px)
   ========================================================================== */
@media (min-width:640px){
  .info-card-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .team-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .pilot-passport__body{
    grid-template-columns:repeat(2,1fr);
  }
  .participate-actions{
    grid-template-columns:repeat(3,1fr);
  }
  .ecosystem-map__orbit{
    grid-template-columns:repeat(4,1fr);
    max-width:640px;
  }
  .ecosystem-map__node--ukatech{
    grid-column:1 / -1;
  }
}

/* ==========================================================================
   21. АДАПТИВ — DESKTOP (min-width: 1024px)
   ========================================================================== */
@media (min-width:1024px){
  .strizhi-hero__content{
    grid-template-columns:1fr 1fr;
    gap:var(--space-4xl);
  }
  .strizhi-hero__title{
    font-size:clamp(2.5rem,2rem + 2.5vw,4rem);
  }
  .section-title{
    font-size:var(--font-size-2xl);
  }
  .info-card-grid--3{
    grid-template-columns:repeat(3,1fr);
  }
  .info-card-grid--4{
    grid-template-columns:repeat(4,1fr);
  }
  .info-card-grid--2{
    grid-template-columns:repeat(2,1fr);
  }
  .team-grid{
    grid-template-columns:repeat(4,1fr);
  }
  .pilot-passport__body{
    grid-template-columns:repeat(3,1fr);
  }
  .pilot-passport__header{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }

  /* Горизонтальные цепочки */
  .process-chain,
  .house-cycle,
  .student-path,
  .smart-house-flow,
  .funding-flow,
  .version-chain,
  .measurement-flow,
  .evidence-timeline{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:var(--space-sm);
  }
  .process-chain__item,
  .house-cycle__item,
  .student-path__item,
  .smart-house-flow__item,
  .funding-flow__item,
  .version-chain__item,
  .measurement-item,
  .evidence-timeline__item{
    flex:0 1 auto;
  }
  .process-chain__arrow,
  .house-cycle__arrow,
  .student-path__arrow,
  .smart-house-flow__arrow,
  .funding-flow__arrow,
  .version-chain__arrow,
  .measurement-arrow{
    padding:0 var(--space-xs);
  }

  /* Прозрачность — горизонтальная цепочка со стрелками */
  .transparency-flow{
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:0;
  }
  .transparency-flow > *{
    flex:0 1 auto;
    position:relative;
  }
  .transparency-flow > *:not(:last-child)::after{
    content:"→";
    position:absolute;
    right:calc(-1 * var(--space-md));
    top:50%;
    transform:translateY(-50%);
    color:var(--color-primary);
    font-size:var(--font-size-lg);
    font-weight:var(--font-weight-bold);
    z-index:1;
  }

  /* Принципы — чередование */
  .principle-story__item{
    grid-template-columns:1fr 1fr;
    gap:var(--space-2xl);
  }
  .principle-story__media{
    order:1;
  }
  .principle-story__content{
    order:2;
  }
  .principle-story__item--reverse .principle-story__media{
    order:2;
  }
  .principle-story__item--reverse .principle-story__content{
    order:1;
  }

  /* Экосистема — радиальная сетка 3x3 */
  .ecosystem-map{
    padding:var(--space-3xl);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:repeat(3,auto);
    gap:var(--space-md);
    max-width:720px;
    margin-inline:auto;
  }
  .ecosystem-map__center{
    grid-column:2;
    grid-row:2;
  }
  .ecosystem-map__orbit{
    display:contents;
  }
  .ecosystem-map__node:nth-child(1){
    grid-column:1;
    grid-row:1;
  }
  .ecosystem-map__node:nth-child(2){
    grid-column:2;
    grid-row:1;
  }
  .ecosystem-map__node:nth-child(3){
    grid-column:3;
    grid-row:1;
  }
  .ecosystem-map__node:nth-child(4){
    grid-column:3;
    grid-row:2;
  }
  .ecosystem-map__node:nth-child(5){
    grid-column:3;
    grid-row:3;
  }
  .ecosystem-map__node:nth-child(6){
    grid-column:2;
    grid-row:3;
  }
  .ecosystem-map__node:nth-child(7){
    grid-column:1;
    grid-row:3;
  }
  .ecosystem-map__node:nth-child(8){
    grid-column:1;
    grid-row:2;
  }

  /* Источники финансирования — в 2 колонки */
  .funding-sources{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:var(--space-md);
  }
}

/* ==========================================================================
   22. АДАПТИВ — WIDE DESKTOP (min-width: 1280px)
   ========================================================================== */
@media (min-width:1280px){
  .team-grid{
    grid-template-columns:repeat(6,1fr);
  }
  .pilot-passport__body{
    grid-template-columns:repeat(4,1fr);
  }
}

/* ==========================================================================
   23. ДОСТУПНОСТЬ
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .strizhi-nav__link,
  .info-card,
  .team-member,
  .participate-action,
  .ecosystem-map__node,
  .tracker-step--active::before,
  .roadmap-item--active .roadmap-item__marker{
    animation:none !important;
    transition:none !important;
  }
}

/* ==========================================================================
   24. ПЕЧАТЬ
   ========================================================================== */

/* ==========================================================================
   23. МОБИЛЬНАЯ НАВИГАЦИЯ (компактные экраны)
   ========================================================================== */
@media (max-width:360px){
  .strizhi-nav{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    width:100%;
    max-width:100%;
    padding:var(--space-sm) var(--space-md);
  }
  .strizhi-nav::-webkit-scrollbar{ display:none; }
  .strizhi-nav__link{ flex-shrink:0; }
}

@media print{
  .background,
  .strizhi-nav,
  .strizhi-hero__cta,
  .cta-card,
  .participate-actions{
    display:none !important;
  }
  .strizhi-section{
    page-break-inside:avoid;
    border:none !important;
  }
  body{
    background:#fff !important;
    color:#000 !important;
  }
  .section-title,
  .strizhi-hero__title,
  .principle-story__title,
  .info-card__title{
    color:#000 !important;
  }
  p, .info-card__text, .quote-block blockquote p{
    color:#222 !important;
  }
}

/* ==========================================================================
   FP-001 v0.1.1 — локальная sticky-навигация
   Структура: header -> .strizhi-shell(nav + main) -> footer.
   ========================================================================== */

body:has(.strizhi-page) > .page > .header,
.page:has(.strizhi-page) > .header{
  position:relative;
  top:auto;
}

body:has(.strizhi-page),
.page:has(.strizhi-page){
  overflow-x:clip;
}

.strizhi-shell{
  display:block;
  position:relative;
  min-width:0;
  flex:1 0 auto;
}

.strizhi-shell > .strizhi-nav-sticky{
  position:sticky;
  top:0;
  z-index:var(--z-header);
}

.strizhi-nav-container{
  display:flex;
  justify-content:flex-start;
}

.strizhi-page{
  --strizhi-local-nav-height:53px;
  --strizhi-anchor-offset:calc(var(--strizhi-local-nav-height) + 1rem);
}

.strizhi-page .strizhi-hero,
.strizhi-page .strizhi-section,
.strizhi-page .strizhi-final{
  scroll-margin-top:var(--strizhi-anchor-offset);
}

