@charset "UTF-8";
/* Общая навигация и самостоятельные страницы программы и форматов. */
.public-nav {
  display:flex;
  gap:clamp(16px,3vw,34px);
  overflow-x:auto;
  border-bottom:1px solid var(--line);
  scrollbar-width:thin
}
.public-nav a {
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  min-height:56px;
  border-bottom:2px solid transparent;
  font-size:.875rem;
  font-weight:650;
  white-space:nowrap;
  color:var(--muted)
}
.public-nav a:hover,.public-nav a[aria-current="page"] {
  color:var(--ink)
}
.public-nav a[aria-current="page"] {
  border-bottom-color:var(--accent)
}
@media (max-width:600px) {
  .public-nav {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 14px;
    overflow:visible
  }
  .public-nav a {
    min-height:44px;
    padding:8px 0;
    white-space:normal;
    line-height:1.25
  }
}
.hero h1 .hero-topic {
  display:block;
  margin-bottom:16px;
  color:var(--muted);
  font-size:clamp(1rem,2.4vw,1.5rem);
  font-weight:650;
  letter-spacing:0;
  line-height:1.3
}
.public-detail h1 {
  max-width:18ch;
  font-size:clamp(2.45rem,7.2vw,5.4rem);
  line-height:1.06
}
.public-detail h2 {
  font-size:clamp(2rem,5vw,3.6rem)
}
.public-hero {
  padding-top:clamp(44px,7vw,96px);
  padding-bottom:clamp(64px,8vw,110px)
}
.public-hero .eyebrow {
  margin-bottom:22px
}
.public-lead {
  max-width:67ch;
  margin-top:30px;
  font-size:clamp(1.125rem,2.3vw,1.5rem);
  line-height:1.5;
  color:var(--muted)
}
.public-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px
}
.public-metrics {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  padding-top:28px;
  padding-bottom:32px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.public-metrics div {
  display:flex;
  flex-direction:column;
  gap:3px
}
.public-metrics strong {
  font-size:clamp(1.75rem,4vw,3rem);
  line-height:1.15;
  letter-spacing:-.04em
}
.public-metrics span {
  font-size:.875rem;
  color:var(--muted)
}
.public-section {
  padding-top:clamp(72px,9vw,116px);
  padding-bottom:clamp(72px,9vw,116px)
}
.public-tint {
  background:var(--sage)
}
.public-section-heading {
  display:grid;
  gap:24px;
  align-items:end;
  margin-bottom:40px
}
.public-section-heading .eyebrow {
  margin-bottom:16px
}
.public-section-heading > p {
  max-width:48ch;
  color:var(--muted)
}
.public-grid {
  display:grid;
  gap:16px
}
.public-card,.public-link-card,.public-price-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:clamp(24px,3vw,38px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--card)
}
.public-tint .public-card {
  background:var(--paper)
}
.public-card-index {
  display:block;
  margin-bottom:30px;
  color:var(--accent);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.public-card h3,.public-link-card h3,.public-price-card h3 {
  margin-bottom:14px
}
.public-card p,.public-link-card p,.public-price-card p:not(.public-price) {
  color:var(--muted)
}
.public-card-foot {
  margin-top:auto;
  padding-top:24px;
  font-size:.875rem
}
.public-link-card {
  transition:transform .2s ease,border-color .2s ease
}
.public-link-card:hover {
  transform:translateY(-3px);
  border-color:var(--accent)
}
.public-link-arrow {
  display:block;
  margin-top:auto;
  padding-top:30px;
  color:var(--accent);
  font-weight:700
}
.public-price-card .public-price {
  margin:8px 0 22px;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:750;
  line-height:1.1;
  letter-spacing:-.04em;
  color:var(--ink)
}
.public-price-card ul {
  margin-bottom:28px
}
.public-price-card li {
  position:relative;
  padding:8px 0 8px 26px;
  border-top:1px solid var(--line)
}
.public-price-card li::before {
  content:"✓";
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:700
}
.public-price-card .button {
  align-self:start;
  margin-top:auto
}
.public-price-featured {
  border-color:var(--accent)
}
.public-tariff-card .public-card-index {
  margin-bottom:18px
}
.public-tariff-card .public-price {
  margin-bottom:4px
}
.public-tariff-card .public-price-unit {
  margin-bottom:26px;
  font-size:.8125rem
}
.public-tariff-card .public-tariff-boundary {
  margin:0 0 24px;
  font-size:.875rem;
  line-height:1.5
}
.public-split {
  display:grid;
  gap:30px
}
.public-rich {
  max-width:66ch
}
.public-rich p + p {
  margin-top:20px
}
.public-rich a,.text-link {
  color:var(--accent);
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px
}
.public-note {
  max-width:72ch;
  margin-top:26px;
  padding-left:20px;
  border-left:2px solid var(--accent);
  font-size:.9375rem;
  color:var(--muted)
}
.public-mentor-intro {
  display:grid;
  gap:clamp(28px,5vw,64px);
  align-items:center
}
.public-mentor-figure {
  margin:0
}
.public-mentor-figure img {
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--radius);
  background:var(--paper)
}
.public-mentor-figure figcaption {
  margin-top:12px;
  font-size:.8125rem;
  color:var(--muted)
}
.public-mentor-intro h2 {
  margin-bottom:24px
}
.public-mentor-intro .public-note {
  margin-top:24px
}
.public-skill-list {
  margin:4px 0 0;
  padding-left:20px;
  color:var(--muted)
}
.public-skill-list li + li {
  margin-top:10px
}
.public-status-list {
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:skill-status
}
.public-status-list li {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:2px 12px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  counter-increment:skill-status
}
.public-status-list li::before {
  content:counter(skill-status, decimal-leading-zero);
  grid-row:1 / span 2;
  color:var(--accent);
  font-size:.75rem;
  font-weight:700
}
.public-status-list strong {
  color:var(--ink)
}
.public-status-list span {
  color:var(--muted)
}
.public-cta {
  display:grid;
  gap:28px;
  align-items:center;
  margin-bottom:80px;
  padding:clamp(32px,5vw,64px);
  border-radius:var(--radius);
  background:var(--dark);
  color:var(--paper)
}
.public-cta .eyebrow {
  color:#b8c5b3
}
.public-cta h2 {
  font-size:clamp(2rem,5vw,3.5rem)
}
.public-cta p:not(.eyebrow) {
  max-width:50ch;
  margin-top:16px;
  color:#c9d2c4
}
.public-cta .button {
  justify-self:start
}
@media (min-width:700px) {
  .public-metrics {
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
  .public-two,.public-module-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .public-three {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .public-tariff-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media (min-width:1100px) {
  .public-tariff-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media (min-width:900px) {
  .public-mentor-intro {
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)
  }
  .public-section-heading {
    grid-template-columns:minmax(0,1fr) minmax(0,.72fr)
  }
  .public-module-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .public-split {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)
  }
  .public-cta {
    grid-template-columns:minmax(0,1fr) auto
  }
  .public-cta .button {
    justify-self:end
  }
}
@media (prefers-reduced-motion:reduce) {
  .public-link-card {
    transition:none
  }
  .public-link-card:hover {
    transform:none
  }
}
