/* Generated by tools/build-deck-mobile.mjs from decks/roads/index.html — do not edit by hand. */
@media (max-width:640px){
.deck>.slide *{margin:0;padding:0}
.deck>.slide{width:100%}
.deck>.slide .pad,.deck>.pad{inset:0;padding:26.4px 27.6px}
.deck>.slide .num,.deck>.num{right:9.6px;bottom:6.6px;font-size:13px}
.deck>.slide .brand,.deck>.brand{right:15.6px;top:14.4px;font-size:15px}
.deck>.slide .brand span,.deck>.brand span{font-size:11px;margin-top:1.5px}
.deck>.slide h1{font-size:33px}
.deck>.slide h2{font-size:24px}
.deck>.slide .sub,.deck>.sub{font-size:16px;margin-top:8.4px;max-width:none}
.deck>.slide .lead,.deck>.lead{font-size:15px;margin-top:6.6px;max-width:none}
.deck>.slide h3{font-size:16px}
.deck>.slide .ph img,.deck>.ph img{width:100%;height:100%}
.deck>.slide .hero .bg,.deck>.hero .bg{inset:0}
.deck>.slide .hero .bg .ph,.deck>.hero .bg .ph{width:100%;height:100%}
.deck>.slide .hero .veil,.deck>.hero .veil{inset:0}
.deck>.slide .hero h1,.deck>.hero h1{max-width:none}
.deck>.slide .hero .sub,.deck>.hero .sub{max-width:none}
.deck>.slide .grid2,.deck>.grid2{grid-template-columns:minmax(0,1fr);gap:13.2px}
.deck>.slide .grid3,.deck>.grid3{grid-template-columns:minmax(0,1fr);gap:13.2px}
.deck>.slide .grid4,.deck>.grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10.8px}
.deck>.slide .fill,.deck>.fill{min-height:0}
.deck>.slide .prob,.deck>.prob{grid-template-columns:minmax(0,1fr);gap:8.4px;padding:6.6px}
.deck>.slide .prob .ph,.deck>.prob .ph{height:100%;min-height:84px}
.deck>.slide .tag,.deck>.tag{gap:3.6px;font-size:15px;padding:2.7px 6.6px}
.deck>.slide .tag svg,.deck>.tag svg{width:9px;height:9px}
.deck>.slide .prob p,.deck>.prob p{margin-top:5.4px;font-size:14px}
.deck>.slide .stairs,.deck>.stairs{grid-template-columns:minmax(0,1fr);gap:8.4px;margin-top:12px}
.deck>.slide .step,.deck>.step{padding:9.6px 10.8px}
.deck>.slide .step.s1,.deck>.step.s1{height:58%}
.deck>.slide .step.s2,.deck>.step.s2{height:76%}
.deck>.slide .step.s3,.deck>.step.s3{height:100%}
.deck>.slide .step h3,.deck>.step h3{font-size:16px;margin-bottom:4.8px}
.deck>.slide .step p,.deck>.step p{font-size:13px}
.deck>.slide .cycle,.deck>.cycle{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:12px;margin-top:9.6px}
.deck>.slide .node,.deck>.node{padding:9px 10.2px}
.deck>.slide .node h3,.deck>.node h3{font-size:15px;margin-bottom:3.6px}
.deck>.slide .node p,.deck>.node p{font-size:14px}
.deck>.slide .blk .hd,.deck>.blk .hd{font-size:14px;padding:6px 7.2px}
.deck>.slide .blk .ph,.deck>.blk .ph{height:75px}
.deck>.slide .blk ul,.deck>.blk ul{padding:7.2px;gap:3.9px}
.deck>.slide .blk li,.deck>.blk li{font-size:13px;padding-left:6.6px}
.deck>.slide .blk li::before,.deck>.blk li::before{left:0}
.deck>.slide .uav .ph,.deck>.uav .ph{height:90px}
.deck>.slide .uav .bar,.deck>.uav .bar{height:2.7px;margin:6px 0 6.6px}
.deck>.slide .uav h3,.deck>.uav h3{font-size:15px;min-height:26.4px}
.deck>.slide .uav .st,.deck>.uav .st{font-size:14px;margin:4.8px 0 2.4px}
.deck>.slide .uav p,.deck>.uav p{font-size:13px}
.deck>.slide .split,.deck>.split{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:9.6px;min-height:0}
.deck>.slide .ol,.deck>.ol{gap:10.8px}
.deck>.slide .ol .it,.deck>.ol .it{grid-template-columns:20.4px 1fr;gap:6px}
.deck>.slide .ol .n,.deck>.ol .n{font-size:15px;padding-right:6px}
.deck>.slide .ol h3,.deck>.ol h3{font-size:15px;margin-bottom:2.7px}
.deck>.slide .ol p,.deck>.ol p{font-size:13px}
.deck>.slide .tech,.deck>.tech{grid-template-columns:minmax(0,1fr);gap:14.4px;margin-top:10.8px;min-height:0}
.deck>.slide .tech .col,.deck>.tech .col{gap:9.6px}
.deck>.slide .tech .ph,.deck>.tech .ph{height:72px}
.deck>.slide .tech h3,.deck>.tech h3{font-size:15px;margin-bottom:3px}
.deck>.slide .tech p,.deck>.tech p{font-size:13px}
.deck>.slide .tech .mid .ph,.deck>.tech .mid .ph{height:132px}
.deck>.slide .io,.deck>.io{grid-template-columns:minmax(0,1fr);gap:9.6px}
.deck>.slide .io .arw,.deck>.io .arw{font-size:19px}
.deck>.slide .cap,.deck>.cap{font-size:13px;margin-top:4.2px}
.deck>.slide .feat,.deck>.feat{grid-template-columns:minmax(0,1fr);gap:9.6px;margin-top:9.6px}
.deck>.slide .feat .f,.deck>.feat .f{padding:6.6px 7.8px}
.deck>.slide .feat h3,.deck>.feat h3{font-size:14px;margin-bottom:2.4px}
.deck>.slide .feat p,.deck>.feat p{font-size:13px}
.deck>.slide .cv,.deck>.cv{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:9px;margin-top:8.4px;min-height:0}
.deck>.slide .cvc .ph,.deck>.cvc .ph{inset:0}
.deck>.slide .cvc .ttl,.deck>.cvc .ttl{left:0;top:0;font-size:14px;padding:3.3px 6px}
.deck>.slide .chips,.deck>.chips{left:4.2px;right:4.2px;bottom:4.2px;gap:2.4px}
.deck>.slide .chip,.deck>.chip{font-size:12px;padding:1.5px 3.6px}
.deck>.slide .def .ph,.deck>.def .ph{height:132px}
.deck>.slide .def h3,.deck>.def h3{font-size:16px;margin:6.6px 0 3.3px}
.deck>.slide .def p,.deck>.def p{font-size:14px}
.deck>.slide .obst,.deck>.obst{grid-template-columns:minmax(0,1fr);gap:9.6px;margin-top:8.4px;min-height:0}
.deck>.slide .obst .cell,.deck>.obst .cell{min-height:0}
.deck>.slide .obst .ph,.deck>.obst .ph{min-height:0}
.deck>.slide .obst .right,.deck>.obst .right{gap:8.4px;min-height:0}
.deck>.slide .obst .right .b,.deck>.obst .right .b{min-height:0}
.deck>.slide .obst h3,.deck>.obst h3{font-size:15px;margin:4.8px 0 2.1px}
.deck>.slide .obst p,.deck>.obst p{font-size:13px}
.deck>.slide .dash,.deck>.dash{grid-template-columns:minmax(0,1fr);gap:15.6px;margin-top:9.6px;min-height:0}
.deck>.slide .dash .it,.deck>.dash .it{margin-bottom:10.8px}
.deck>.slide .dash h3,.deck>.dash h3{font-size:15px;margin-bottom:3px}
.deck>.slide .dash p,.deck>.dash p{font-size:13px}
.deck>.slide .dash .ph,.deck>.dash .ph{height:100%}
.deck>.slide .scal,.deck>.scal{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:6px;min-height:0}
.deck>.slide .scal .ttl,.deck>.scal .ttl{font-size:17px;margin-bottom:7.2px}
.deck>.slide .scal .ph,.deck>.scal .ph{height:144px}
.deck>.slide .scal p,.deck>.scal p{font-size:14px;margin-top:6.6px}
.deck>.slide .eff,.deck>.eff{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:9.6px;margin-top:9.6px;min-height:0}
.deck>.slide .ec,.deck>.ec{grid-template-columns:32.4px 1fr;gap:7.2px;padding:7.8px 9px}
.deck>.slide .ec svg,.deck>.ec svg{width:26.4px;height:26.4px}
.deck>.slide .ec h3,.deck>.ec h3{font-size:15px;margin-bottom:3px}
.deck>.slide .ec p,.deck>.ec p{font-size:13px}
.deck>.slide::before{inset:8.4px}
.deck>.slide .hub div,.deck>.hub div{box-shadow:0 0 18px rgba(91,184,255,.85)}
}

/* decks/roads/mobile-fix.css */
/* Правки мобильной вёрстки, которые не выводятся из десктопной автоматически.
   Дописываются в css/deck-mobile/roads.css скриптом tools/build-deck-mobile.mjs. */
@media (max-width:640px){
  /* Обложки: фото во весь слайд, текст поверх — пелена по всей ширине,
     а не только слева, как на широком слайде. */
  .deck>.slide.hero{min-height:420px;}
  .deck>.slide.hero .veil{
    background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,.35) 100%);
  }
  .deck>.slide.hero .pad{min-height:420px;}

  /* Ступени «эволюции»: высота в процентах рисовала лесенку, в колонке
     она только наезжает блоками друг на друга. */
  .deck>.slide .stairs .step{height:auto;}

  /* Карточки дефектов: фото лежит под подписью абсолютом, поэтому высоту
     карточке задаёт пропорция, а не содержимое. */
  .deck>.slide .cvc{aspect-ratio:16/10;}
  .deck>.slide .chips{left:6px;right:6px;bottom:6px;gap:4px;}
  .deck>.slide .chip{white-space:normal;}
}
