/* 06 · Секции: hero, критерии, дисклеймеры, источники, скроллбар, индикатор */

/* --- Шапка: тень при прокрутке --- */
.header[data-scrolled="true"]{box-shadow:0 4px 18px -10px rgba(14,22,32,.22)}

/* --- Полоса прогресса --- */
.progress__bar{will-change:width}

/* --- Кастомный вертикальный скроллбар --- */
.scrollbar{
  position:fixed;right:10px;top:calc(var(--header-h) + 14px);
  bottom:14px;width:12px;z-index:var(--z-indicator);
  display:none;border-radius:var(--r-pill);
  background:linear-gradient(180deg,rgba(201,222,245,.35),rgba(215,240,226,.35));
}
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .scrollbar{display:block}
  .has-custom-scrollbar{scrollbar-width:none}
  .has-custom-scrollbar::-webkit-scrollbar{width:0;height:0}
}
.scrollbar__thumb{
  position:absolute;left:0;top:0;width:100%;height:64px;border-radius:var(--r-pill);
  background:linear-gradient(180deg,var(--blue-700),var(--blue-500) 60%,var(--green-600));
  box-shadow:0 2px 8px rgba(27,58,107,.35);cursor:grab;
  transition:box-shadow var(--dur-fast),filter var(--dur-fast);
}
.scrollbar__thumb:hover{filter:brightness(1.08);box-shadow:0 3px 12px rgba(27,58,107,.45)}
.scrollbar__thumb[data-drag="true"]{cursor:grabbing;filter:brightness(1.12)}

/* --- Hero --- */
.hero__badges{margin-bottom:1.1rem}
@media (max-width:400px){.hero__badges{letter-spacing:.1em;font-size:var(--fs-xs)} }
.hero__cta{margin-top:1.6rem}
.hero__panel{
  display:grid;gap:1rem;align-content:start;
}
.hero__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.hero__fact{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--pad-block-sm);
}
.hero__fact b{display:block;font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1;color:var(--blue-800);letter-spacing:-.03em}
.hero__fact span{display:block;font-size:var(--fs-xs);color:var(--ink-3);margin-top:.35rem;line-height:1.35}

/* --- Критерии и веса --- */
.weights{display:grid;gap:.7rem;margin-top:1.2rem}
.weight-row{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:center}
.weight-row__name{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}
.weight-row__val{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;color:var(--blue-800)}
.weight-row__bar{grid-column:1 / -1;height:8px;border-radius:var(--r-pill);background:var(--blue-50);overflow:hidden}
.weight-row__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-700),var(--blue-500) 70%,var(--green-600));width:var(--w,0%)}
.weight-row--alt .weight-row__bar i{background:linear-gradient(90deg,var(--green-700),var(--green-600) 70%,var(--blue-500))}

.crit-table th[scope="row"]{font-weight:600;color:var(--ink)}
.crit-table .crit-code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}
.crit-table .w{text-align:right;white-space:nowrap}
.crit-table tbody tr.crit-block-row{background:var(--blue-50)}
.crit-table tbody tr.crit-block-row td{
  font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;
  color:var(--blue-800);font-weight:600;border-bottom:1px solid var(--line-blue);
}
.crit-table tbody tr.crit-block-row:hover{background:var(--blue-100)}
.crit-table__wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.crit-table__scroll{max-height:min(70vh,760px);overflow:auto}
.crit-table thead th{position:sticky;top:0;z-index:2}

/* --- Формула --- */
.formula{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;
  font-family:var(--font-mono);font-size:clamp(1rem,.9rem + .5vw,1.3rem);font-weight:600;color:var(--blue-800);
  background:var(--blue-50);border:1px solid var(--line-blue);border-radius:var(--r-md);
  padding:1.1rem 1.3rem;margin-block:1.2rem;
}
.formula span.op{color:var(--green-700)}
.formula small{font-size:.7em;color:var(--ink-3);font-weight:500}

/* --- Дисклеймеры --- */
.legal-list{counter-reset:legal;display:grid;gap:1rem}
.legal-list>li{
  counter-increment:legal;background:var(--surface);border:1px solid var(--line);
  border-left:6px solid var(--warn-700);border-radius:var(--r-md);padding:var(--pad-block-sm);
}
.legal-list>li::before{
  content:'П.' counter(legal);display:block;font-family:var(--font-mono);font-size:var(--fs-xs);
  letter-spacing:.08em;color:var(--warn-800);font-weight:600;margin-bottom:.35rem;
}
.legal-list h3{font-size:var(--fs-h4);margin-bottom:.4em}
.legal-list p{font-size:var(--fs-sm);color:var(--ink-2)}
.legal-list dl{margin-top:.7rem;display:grid;gap:.5rem}
.legal-list dt{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.legal-list dd{margin:.15rem 0 0;font-size:var(--fs-sm);color:var(--ink)}
.legal-notice{
  background:var(--warn-100);border:1px solid #F3C9B4;border-radius:var(--r-md);
  padding:var(--pad-block-sm);font-size:var(--fs-sm);color:var(--warn-800);font-weight:600;
  display:flex;gap:.8rem;align-items:flex-start;
}
.legal-notice .icon{width:1.6em;height:1.6em;flex:0 0 auto;margin-top:.1em}

/* --- Источники --- */
.src-group{margin-bottom:clamp(1.2rem,.9rem + 1.4vw,2.2rem)}
.src-group__title{
  font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue-800);font-weight:600;margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem;
}
.src-group__title::after{content:'';flex:1 1 auto;height:1px;background:var(--line)}
.src-list{counter-reset:src;display:grid;gap:.55rem}
.src-list li{
  counter-increment:src;display:grid;grid-template-columns:2.2em minmax(0,1fr);gap:.5rem;
  font-size:var(--fs-sm);color:var(--ink-2);padding:.55rem .2rem;border-bottom:1px dashed var(--line);
}
.src-list li::before{
  content:counter(src);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);
}
.src-list a{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.src-list a:hover{color:var(--blue-800)}
.src-list .src-note{display:block;font-size:var(--fs-xs);color:var(--ink-3);margin-top:.15rem}

/* --- Редакция --- */
.team-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--shadow-sm);
}
.team-card__photo{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--bg-soft)}
.team-card__body{padding:var(--pad-block-sm);display:flex;flex-direction:column;gap:.3rem;flex:1 1 auto}
.team-card__name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h4);color:var(--blue-900);line-height:1.25}
.team-card__role{font-size:var(--fs-sm);color:var(--ink-2)}
.team-card__tag{margin-top:auto;padding-top:.6rem}

/* --- Подвал --- */
.footer__brand{display:flex;gap:.8rem;align-items:flex-start}
.footer__brand .brand__mark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.footer__brand .brand__title{color:#fff}
.footer__brand .brand__sub{color:#9DB6D6}

/* --- Устойчивость сеток к узким экранам: неявные auto-колонки не должны
       растягиваться под неразрывный контент (проверено на 320 px) --- */
@media (max-width:767px){
  .footer__grid,.grid--2,.grid--3,.grid--sidebar,.split,.hero__inner,.gallery{grid-template-columns:minmax(0,1fr)}
}
.footer__grid>*,.footer__brand,.footer .brand__text{min-width:0}
.footer .brand__title,.footer .brand__sub{white-space:normal;overflow:visible;text-overflow:clip}

/* --- Страховка от горизонтального переполнения: clip на уровне main не создаёт
       скролл-контейнер, поэтому sticky-шапки таблиц и внутренние скроллы работают.
       Широкие таблицы прокручиваются внутри своих контейнеров (.scroll-x). --- */
main{overflow-x:clip;max-width:100%}
.rt-wrap,.crit-table__wrap,.rt-controls,.grid,.split,.hero__inner{max-width:100%;min-width:0}
.rt-controls>*{min-width:0}
