/* Раунд правок Артёма поверх style.css. Подключается на всех страницах после основного файла. */
:root{--mist:#eaf1fa;--mist-line:#cfdcec}

/* ---------- Первый экран ---------- */
.rv-cover{padding-block:clamp(20px,2.6vw,40px) 0;background:linear-gradient(180deg,var(--mist) 0,#fff 62%)}
.rv-cover-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,3.2vw,54px);align-items:center}
.rv-copy h1{margin-top:14px;font-size:clamp(38px,4.6vw,70px)}
.rv-lead{margin:16px 0 0;max-width:500px;font-size:clamp(16px,1.2vw,18px);line-height:1.5;color:var(--muted)}
.rv-points{display:grid;gap:10px;margin:20px 0 0;padding:0;max-width:520px;list-style:none}
.rv-points li{position:relative;padding-left:22px;font-size:15px;line-height:1.45}
.rv-points li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:2px;background:var(--blue)}
.rv-points strong{display:block;font-weight:700;color:var(--ink)}
.rv-points span{color:var(--muted)}
.rv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:24px}
.rv-actions .button{min-height:54px;padding-inline:22px;font-size:15px}
.rv-proof{font-size:13px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--mist-line);padding-bottom:2px}
.rv-proof span{color:var(--blue)}
.rv-proof:hover{color:var(--blue);border-color:var(--blue)}
.rv-show{min-width:0}
.rv-show .stage-visual{grid-area:auto;min-height:0;aspect-ratio:16/10;border-radius:14px;background:var(--mist)}
.rv-show .stage-media img{object-position:50% 50%}
.rv-show .stage-passport{max-width:calc(100% - 24px)}
.rv-show .stage-passport strong{font-size:clamp(19px,1.9vw,28px)}
.rv-show .stage-passport small{line-height:1.35}
.rv-tabs{display:none;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));margin-top:8px;border-bottom:1px solid var(--line)}
.js .rv-tabs{display:grid}
.rv-tab{display:flex;align-items:center;gap:6px;min-height:46px;padding:8px 6px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:color .2s,border-color .2s}
.rv-tab span{font-size:11px;color:var(--blue);font-variant-numeric:tabular-nums}
.rv-tab:hover,.rv-tab[aria-pressed=true]{color:var(--ink);border-color:var(--blue)}
.rv-tab:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.rv-plain{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:14px}
.rv-plain a{color:var(--blue);text-decoration:underline}
.rv-index{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink);margin-top:clamp(2px,.8vw,10px)}
.rv-index a{position:relative;display:block;padding:16px 44px 20px 0;color:var(--ink);border-bottom:1px solid var(--line)}
.rv-index a+a{padding-left:clamp(14px,1.6vw,24px);border-left:1px solid var(--line)}
.rv-index i{display:block;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--blue);font-variant-numeric:tabular-nums}
.rv-index strong{display:block;margin:7px 0 3px;font:800 clamp(17px,1.45vw,21px)/1.2 var(--headline);letter-spacing:-.025em}
.rv-index small{display:block;font-size:13px;line-height:1.4;color:var(--muted)}
.rv-index b{position:absolute;right:16px;top:16px;font-weight:400;color:var(--blue);transition:transform .2s}
.rv-index a:hover strong{color:var(--blue)}
.rv-index a:hover b{transform:translate(2px,-2px)}
.rv-index .is-catalog strong,.rv-index .is-catalog i{color:var(--muted)}

/* ---------- CTA после блоков ---------- */
.rv-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:clamp(22px,2.6vw,34px) 0 0}
.rv-cta-row span:not([aria-hidden]){font-size:14px;color:var(--muted)}

/* ---------- Состав работ и этапы ---------- */
.page-home .scope{padding-bottom:clamp(30px,4vw,56px)}
.page-home .scope-paths article{background:none;border:0;border-top:2px solid var(--ink);border-radius:0;padding:18px 0 0}
.rv-flow{background:var(--mist);padding-top:clamp(44px,5.4vw,80px)}
.rv-steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);margin:0;padding:0;list-style:none}
.rv-steps::before{content:"";position:absolute;left:0;right:0;top:17px;height:2px;background:var(--mist-line)}
.rv-steps a{position:relative;display:grid;gap:8px;color:var(--ink)}
.rv-step-head{display:grid;gap:10px}
.rv-step-head b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font:700 13px/1 var(--body);font-variant-numeric:tabular-nums;box-shadow:0 0 0 6px var(--mist)}
.rv-step-head strong{font:800 clamp(17px,1.5vw,21px)/1.2 var(--headline);letter-spacing:-.025em}
.rv-steps img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#fff}
.rv-step-text{font-size:14px;font-weight:600;line-height:1.4}
.rv-steps small{font-size:12.5px;line-height:1.4;color:var(--muted)}
.rv-steps a:hover strong{color:var(--blue)}
.rv-steps a:hover img{outline:2px solid var(--blue);outline-offset:2px}

/* ---------- Ритм фонов на главной ---------- */
.page-home .proof{background:var(--mist)}
.page-home .catalog-reference{background:var(--paper);border-top:1px solid var(--line)}
.rv-brief{border-top:4px solid var(--sky)}

/* ---------- Каталог: показатели раздела и карточки ---------- */
.cat-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.cat-stats>div{display:grid;grid-template-rows:auto 1fr;align-content:start}
.cat-stats dt{white-space:nowrap;font-size:clamp(19px,1.9vw,27px)}
.cat-stats dd{align-self:start}
/* Значение с единицей не переносится; если факт не помещается в ряд, он целиком уходит на следующую строку. */
.card-facts{display:flex;flex-wrap:wrap;gap:8px 16px}
.card-facts li{display:grid;grid-template-rows:auto auto;gap:2px;flex:0 0 auto;max-width:100%}
.card-facts small{white-space:nowrap}
.card-facts b{white-space:nowrap;overflow-wrap:normal}

/* ---------- Контакты: карточки соцсетей ---------- */
.rv-social-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.rv-social-cards a{grid-template-columns:auto minmax(0,1fr);column-gap:13px;align-items:center}
.rv-social-cards .rv-ico{grid-row:1/3;width:40px;height:40px;padding:9px;border-radius:10px;background:var(--mist);color:var(--blue);align-self:start}
.rv-social-cards strong{font-size:20px}
.rv-social-cards .rv-desc{grid-column:2;color:var(--muted);font-size:14px;line-height:1.4}
.rv-social-cards a:hover .rv-ico{background:var(--blue);color:#fff}

/* ---------- Подвал ---------- */
.rv-foot{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:28px clamp(20px,3vw,48px);padding-bottom:26px}
.rv-foot-brand p{margin:10px 0 0;color:#b4c5d9;font-size:13px}
.rv-foot-contact{display:grid;gap:4px;margin-top:18px;justify-items:start}
.rv-foot-contact a{color:#fff;font-size:15px}
.rv-foot-contact .rv-foot-tel{font:800 22px/1.2 var(--headline);letter-spacing:-.02em}
.rv-social{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.rv-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#ffffff14;color:#fff;transition:background .2s}
.rv-social a:hover{background:var(--blue);text-decoration:none}
.rv-social .rv-ico{width:20px;height:20px}
.rv-foot nav{display:grid;gap:9px;align-content:start;font-size:14px}
.rv-foot nav a{color:#d6e1ef}
.rv-foot nav a:hover{color:#fff}
.rv-foot-title{margin:0 0 4px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8fa6c2}
.rv-footer .foot-bottom{border-top:1px solid #ffffff1f;padding-top:16px}

/* ---------- Шапка и справочник на узких экранах ---------- */
.mobile-call{flex:none}
.catalog-shortcuts a{min-width:0}
.catalog-shortcuts a>span:first-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:360px){
  .header-row{gap:8px}
  .brand img{width:116px;height:auto}
  .menu-toggle{padding-inline:9px}
  .catalog-shortcuts{grid-template-columns:minmax(0,1fr)}
}

/* Плавающая кнопка не закрывает поле, пока в него вводят */
body:has(input:focus) .mobile-action{display:none}

/* ---------- Адаптив ---------- */
@media(max-width:1100px){
  .rv-foot{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rv-foot-brand{grid-column:1/-1}
}
@media(max-width:980px){
  .rv-cover-grid{grid-template-columns:minmax(0,1fr)}
  .rv-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rv-index a:nth-child(3){padding-left:0;border-left:0}
  .rv-steps{grid-template-columns:minmax(0,1fr);gap:0}
  .rv-steps::before{left:17px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .rv-steps a{grid-template-columns:36px minmax(0,220px) minmax(0,1fr);grid-template-areas:"num img title" "num img text" "num img cap";column-gap:16px;row-gap:4px;align-content:start;padding-block:12px}
  .rv-step-head{display:contents}
  .rv-step-head b{grid-area:num}
  .rv-step-head strong{grid-area:title;align-self:end}
  .rv-steps img{grid-area:img}
  .rv-step-text{grid-area:text}
  .rv-steps small{grid-area:cap}
  .rv-social-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .rv-copy h1{font-size:clamp(34px,10.4vw,46px)}
  .rv-actions .button{width:100%;justify-content:center}
  .rv-show .stage-visual{aspect-ratio:4/3.3}
  .rv-show .stage-passport{left:10px;right:10px;bottom:10px;max-width:none;justify-content:space-between}
  .rv-tab{min-height:44px;padding-inline:4px;font-size:12.5px}
  .rv-index{grid-template-columns:minmax(0,1fr)}
  .rv-index a,.rv-index a+a{padding:13px 40px 15px 0;border-left:0}
  .rv-steps a{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"num title" "num img" "num text" "num cap";row-gap:7px;padding-block:14px}
  .rv-step-head strong{align-self:center;min-height:36px;display:flex;align-items:center}
  .cat-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-stats>div{padding:12px}
  .cat-stats dt{font-size:clamp(15px,4.7vw,20px);letter-spacing:-.03em}
  .card-facts{gap:6px 12px}
  .card-facts b{font-size:13px}
  .rv-social-cards{grid-template-columns:minmax(0,1fr)}
  .rv-foot{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rv-cta-row .button{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.rv-tab,.rv-index b,.rv-social a{transition:none}}
