/* ==========================================================================
   Simplex Moving — компоненты
   Порядок: кнопки → шапка → мегаменю → мобильная панель → hero → секции
   ========================================================================== */

/* ==========================================================================
   Кнопки
   ========================================================================== */
.sm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.9em 1.75em;border:2px solid transparent;border-radius:var(--sm-radius-pill);
  font-weight:600;font-size:var(--sm-fs-sm);letter-spacing:.02em;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease),
             border-color var(--sm-dur) var(--sm-ease),box-shadow var(--sm-dur) var(--sm-ease),
             transform var(--sm-dur) var(--sm-ease);}
.sm-btn svg{flex:0 0 auto;}
.sm-btn:active{transform:translateY(1px);}
.sm-btn--primary{background:var(--sm-red);color:var(--sm-on-dark);box-shadow:0 4px 14px rgba(205,22,19,.28);}
.sm-btn--primary:hover{background:var(--sm-red-700);color:var(--sm-on-dark);box-shadow:0 6px 20px rgba(205,22,19,.34);}
.sm-btn--blue{background:var(--sm-blue);color:var(--sm-on-dark);box-shadow:0 4px 14px rgba(0,114,188,.26);}
.sm-btn--blue:hover{background:var(--sm-blue-700);color:var(--sm-on-dark);}
.sm-btn--ghost{border-color:var(--sm-line);background:var(--sm-bg);color:var(--sm-ink);}
.sm-btn--ghost:hover{border-color:var(--sm-blue);color:var(--sm-blue);background:var(--sm-blue-50);}
.sm-btn--on-blue{background:var(--sm-bg);color:var(--sm-blue-900);}
.sm-btn--on-blue:hover{background:var(--sm-blue-50);color:var(--sm-blue-900);}
.sm-btn--outline-white{border-color:rgba(255,255,255,.5);color:var(--sm-on-dark);background:transparent;}
.sm-btn--outline-white:hover{border-color:var(--sm-on-dark);background:rgba(255,255,255,.12);color:var(--sm-on-dark);}
.sm-btn--sm{padding:.65em 1.25em;font-size:var(--sm-fs-xs);}
.sm-btn--lg{padding:1.05em 2.3em;font-size:var(--sm-fs-base);}
.sm-btn--block{width:100%;}

/* Ряд действий под секцией — вместо инлайновых отступов */
.sm-actions{display:flex;flex-wrap:wrap;gap:var(--sm-3);margin-top:var(--sm-7);}

/* ==========================================================================
   Служебная полоса
   ========================================================================== */
.sm-topbar{background:var(--sm-blue-900);color:rgba(255,255,255,.82);font-size:var(--sm-fs-xs);}
.sm-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sm-4);
  min-height:40px;}
.sm-topbar__usp{display:flex;gap:var(--sm-6);margin:0;}
.sm-topbar__usp li{display:flex;align-items:center;gap:var(--sm-2);}
.sm-topbar__usp svg{color:rgba(255,255,255,.5);}
.sm-topbar__actions{display:flex;align-items:center;gap:var(--sm-5);}
.sm-topbar__rating{display:flex;align-items:center;gap:var(--sm-2);}
.sm-topbar__rating svg{color:var(--sm-star);}
.sm-topbar__rating b{color:var(--sm-on-dark);font-weight:600;}
.sm-topbar a{color:var(--sm-on-dark);text-decoration:none;}
.sm-topbar a:hover{text-decoration:underline;}
.sm-lang{display:flex;gap:2px;padding:2px;border-radius:var(--sm-radius-pill);
  background:rgba(255,255,255,.1);}
.sm-lang a{padding:3px 9px;border-radius:var(--sm-radius-pill);
  font-weight:600;font-size:11px;letter-spacing:.06em;line-height:1.4;}
.sm-lang a[aria-current="true"]{background:var(--sm-bg);color:var(--sm-blue-900);}
@media (max-width:1023px){ .sm-topbar__usp li:nth-child(n+2){display:none;} }
@media (max-width:600px){ .sm-topbar__rating{display:none;} }

/* ==========================================================================
   Шапка
   ========================================================================== */
.sm-header{position:sticky;top:0;z-index:50;background:var(--sm-bg);
  box-shadow:0 1px 0 var(--sm-line);transition:box-shadow var(--sm-dur) var(--sm-ease);}
.sm-header[data-scrolled]{box-shadow:0 1px 0 var(--sm-line),0 6px 20px rgba(22,25,29,.07);}
.sm-header__inner{display:flex;align-items:center;gap:var(--sm-5);min-height:var(--sm-header-h);}
.sm-logo{flex:0 0 auto;line-height:0;}
.sm-logo img{width:164px;height:51px;object-fit:contain;}

.sm-nav{margin-left:auto;}
.sm-nav__list{display:flex;align-items:center;gap:var(--sm-1);}
.sm-nav__item{position:relative;}
/* Пункт с панелью — static, чтобы панель позиционировалась от .sm-header
   (sticky создаёт содержащий блок) и центрировалась по странице, а не по
   пункту меню: пункт стоит справа, панель шириной 1120px уехала бы за экран. */
.sm-nav__item--has-panel{position:static;}
.sm-nav__link{position:relative;display:flex;align-items:center;gap:.4em;
  padding:.7em .85em;border:0;background:none;border-radius:var(--sm-radius);
  color:var(--sm-ink);font-family:inherit;font-size:var(--sm-fs-sm);font-weight:600;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:color var(--sm-dur) var(--sm-ease),background var(--sm-dur) var(--sm-ease);}
.sm-nav__link:hover{color:var(--sm-blue);background:var(--sm-blue-50);}
.sm-nav__link[aria-current="page"],.sm-nav__link[data-current]{color:var(--sm-blue);}
.sm-nav__link[aria-expanded="true"]{color:var(--sm-blue);background:var(--sm-blue-50);}
.sm-nav__caret{width:8px;height:8px;margin-top:-2px;
  border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
  transform:rotate(45deg);opacity:.55;
  transition:transform var(--sm-dur) var(--sm-ease);}
.sm-nav__link[aria-expanded="true"] .sm-nav__caret{transform:rotate(-135deg) translate(-2px,-2px);opacity:1;}

.sm-header__cta{display:flex;align-items:center;gap:var(--sm-4);margin-left:var(--sm-3);}
.sm-header__phone{display:flex;align-items:center;gap:var(--sm-3);
  color:var(--sm-ink);text-decoration:none;white-space:nowrap;}
.sm-header__phone-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-blue);
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease);}
.sm-header__phone:hover .sm-header__phone-icon{background:var(--sm-blue);color:var(--sm-on-dark);}
.sm-header__phone-cap{display:block;font-size:10px;line-height:1.3;letter-spacing:.09em;
  text-transform:uppercase;color:var(--sm-muted);}
.sm-header__phone-num{display:block;font-size:var(--sm-fs-sm);font-weight:700;line-height:1.3;}

.sm-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;
  border:1px solid var(--sm-line);border-radius:var(--sm-radius);background:var(--sm-bg);cursor:pointer;}
.sm-burger__bars,.sm-burger__bars::before,.sm-burger__bars::after{
  display:block;width:18px;height:2px;border-radius:2px;background:var(--sm-ink);}
.sm-burger__bars{position:relative;}
.sm-burger__bars::before,.sm-burger__bars::after{content:"";position:absolute;left:0;}
.sm-burger__bars::before{top:-6px;}
.sm-burger__bars::after{top:6px;}

@media (max-width:1199px){ .sm-header__phone-cap{display:none;} }
@media (max-width:1099px){
  .sm-nav,.sm-header__cta{display:none;}
  .sm-burger{display:inline-flex;margin-left:auto;}
}

/* ==========================================================================
   Мегаменю
   ========================================================================== */
.sm-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
  width:min(1120px,calc(100vw - 2 * var(--sm-gutter)));
  background:var(--sm-bg);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  box-shadow:var(--sm-shadow-lg);overflow:hidden;z-index:60;}
.sm-panel[hidden]{display:none;}
/* Мостик, чтобы курсор не терял панель по дороге */
.sm-panel::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px;}
.sm-panel__inner{display:grid;gap:0;padding:0;}
@media (min-width:900px){ .sm-panel__inner{grid-template-columns:1fr 280px;} }
.sm-panel__cols{display:grid;gap:var(--sm-6);padding:var(--sm-6);
  grid-template-columns:repeat(3,minmax(0,1fr));}
.sm-panel__title{margin-bottom:var(--sm-4);padding-bottom:var(--sm-3);
  border-bottom:1px solid var(--sm-line);
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--sm-muted);}
.sm-panel__list li+li{margin-top:2px;}
.sm-panel__link{display:block;padding:.5em .7em;margin-left:-.7em;border-radius:var(--sm-radius);
  text-decoration:none;transition:background var(--sm-dur) var(--sm-ease);}
.sm-panel__link:hover{background:var(--sm-blue-50);}
.sm-panel__name{display:block;font-size:var(--sm-fs-sm);font-weight:600;color:var(--sm-ink);
  line-height:1.35;}
.sm-panel__link:hover .sm-panel__name{color:var(--sm-blue);}
.sm-panel__hint{display:block;margin-top:1px;font-size:var(--sm-fs-xs);color:var(--sm-muted);
  line-height:1.4;}
.sm-panel__promo{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sm-3);
  padding:var(--sm-6);background:var(--sm-blue-50);
  border-left:1px solid var(--sm-line);}
.sm-panel__promo-title{font-size:var(--sm-fs-base);font-weight:700;color:var(--sm-blue-900);
  line-height:1.3;}
.sm-panel__promo-text{font-size:var(--sm-fs-xs);color:var(--sm-body);}
.sm-panel__all{display:inline-flex;align-items:center;gap:.4em;margin-top:auto;
  font-size:var(--sm-fs-xs);font-weight:600;color:var(--sm-blue-900);text-decoration:none;}
.sm-panel__all:hover{color:var(--sm-blue);text-decoration:underline;}
.sm-panel__all svg{transition:transform var(--sm-dur) var(--sm-ease);}
.sm-panel__all:hover svg{transform:translateX(3px);}

/* ==========================================================================
   Мобильная панель
   ========================================================================== */
.sm-drawer{position:fixed;inset:0;z-index:80;}
.sm-drawer[hidden]{display:none;}
.sm-drawer__scrim{position:absolute;inset:0;background:rgba(0,25,42,.5);}
.sm-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,88vw);
  display:flex;flex-direction:column;background:var(--sm-bg);box-shadow:var(--sm-shadow-lg);
  overflow-y:auto;overscroll-behavior:contain;}
.sm-drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding:var(--sm-4) var(--sm-5);border-bottom:1px solid var(--sm-line);
  position:sticky;top:0;background:var(--sm-bg);z-index:1;}
.sm-drawer__head img{width:132px;height:41px;object-fit:contain;}
.sm-drawer__close{width:40px;height:40px;border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);background:var(--sm-bg);font-size:24px;line-height:1;
  color:var(--sm-ink);cursor:pointer;}
.sm-drawer__nav{flex:1;padding:var(--sm-3) var(--sm-5);}
.sm-drawer__flat{margin-top:var(--sm-4);padding-top:var(--sm-4);
  border-top:1px solid var(--sm-line);}
.sm-drawer__flat a{display:block;padding:var(--sm-3) 0;font-size:var(--sm-fs-lg);
  font-weight:600;color:var(--sm-ink);text-decoration:none;}
.sm-drawer__foot{display:grid;gap:var(--sm-3);justify-items:center;
  padding:var(--sm-5);border-top:1px solid var(--sm-line);background:var(--sm-bg-soft);
  position:sticky;bottom:0;}
.sm-drawer__foot .sm-btn{width:100%;}
.sm-drawer__phone{display:flex;align-items:center;gap:var(--sm-2);
  font-weight:700;color:var(--sm-ink);text-decoration:none;}
.sm-drawer__phone svg{color:var(--sm-red);}
.sm-lang--drawer{background:var(--sm-line);}
.sm-lang--drawer a{color:var(--sm-body);}
.sm-lang--drawer a[aria-current="true"]{background:var(--sm-bg);color:var(--sm-blue-900);}

.sm-acc{border-bottom:1px solid var(--sm-line);}
.sm-acc__head{display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:var(--sm-4) 0;border:0;background:none;cursor:pointer;
  font-family:inherit;font-size:var(--sm-fs-lg);font-weight:600;color:var(--sm-ink);
  text-align:left;}
.sm-acc__sign{position:relative;width:14px;height:14px;flex:0 0 auto;}
.sm-acc__sign::before,.sm-acc__sign::after{content:"";position:absolute;background:var(--sm-blue);
  transition:transform var(--sm-dur) var(--sm-ease);}
.sm-acc__sign::before{left:0;top:6px;width:14px;height:2px;}
.sm-acc__sign::after{left:6px;top:0;width:2px;height:14px;}
.sm-acc__head[aria-expanded="true"] .sm-acc__sign::after{transform:scaleY(0);}
.sm-acc__body{padding-bottom:var(--sm-4);}
.sm-acc__body[hidden]{display:none;}
.sm-acc__body a{display:block;padding:.45em 0;font-size:var(--sm-fs-sm);
  color:var(--sm-body);text-decoration:none;}
.sm-acc__body a:hover{color:var(--sm-blue);}
.sm-acc__all{display:inline-flex!important;align-items:center;gap:.4em;margin-top:var(--sm-3);
  font-weight:600;color:var(--sm-blue)!important;}

/* ==========================================================================
   Hero
   ========================================================================== */
.sm-hero{position:relative;isolation:isolate;background:var(--sm-blue-900);color:var(--sm-on-dark);
  padding-bottom:var(--sm-11);}
.sm-hero__media{position:absolute;inset:0;z-index:-2;}
.sm-hero__media img{width:100%;height:100%;object-fit:cover;}
.sm-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(120% 90% at 8% 20%, rgba(0,32,53,.94) 0%, rgba(0,32,53,.72) 45%, rgba(0,32,53,.28) 100%),
    linear-gradient(180deg, rgba(0,44,72,.55) 0%, rgba(0,44,72,.2) 30%, rgba(0,44,72,.85) 100%);}
.sm-hero__inner{display:grid;gap:var(--sm-7);
  padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2rem,4vw,3.5rem);}
@media (min-width:1024px){
  .sm-hero__inner{grid-template-columns:1fr minmax(400px,430px);align-items:start;gap:var(--sm-9);}
}
.sm-hero h1{color:var(--sm-on-dark);font-size:var(--sm-fs-h1);max-width:16ch;}
.sm-hero__lead{margin-top:var(--sm-5);max-width:50ch;font-size:var(--sm-fs-lg);
  color:rgba(255,255,255,.86);}
/* Отделяем доказательства от текста явной линией: без неё чипы читаются
   как продолжение абзаца и «прилипают» к нему. */
.sm-hero__proof{display:flex;flex-wrap:wrap;gap:var(--sm-3);
  margin-top:var(--sm-8);padding-top:var(--sm-6);
  border-top:1px solid rgba(255,255,255,.18);}
.sm-chip{display:inline-flex;align-items:center;gap:.45em;
  padding:.5em 1em;border:1px solid rgba(255,255,255,.24);border-radius:var(--sm-radius-pill);
  background:rgba(255,255,255,.08);backdrop-filter:blur(4px);
  font-size:var(--sm-fs-xs);font-weight:600;color:var(--sm-on-dark);}
.sm-chip svg{opacity:.85;}
.sm-chip--rating svg{color:var(--sm-star);opacity:1;}
.sm-hero__links{display:flex;flex-wrap:wrap;gap:var(--sm-2) var(--sm-5);margin-top:var(--sm-7);
  font-size:var(--sm-fs-sm);}
.sm-hero__links a{display:inline-flex;align-items:center;gap:.35em;color:var(--sm-on-dark);font-weight:600;
  text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px;}
.sm-hero__links a:hover{border-color:var(--sm-on-dark);}

/* ==========================================================================
   Карточка заявки
   ========================================================================== */
.sm-quote{background:var(--sm-bg);color:var(--sm-body);border-radius:var(--sm-radius-lg);
  box-shadow:var(--sm-shadow-lg);overflow:hidden;}
.sm-quote__bar{display:flex;align-items:center;gap:var(--sm-2);
  padding:var(--sm-3) var(--sm-5);background:var(--sm-blue-900);color:var(--sm-on-dark);
  font-size:var(--sm-fs-xs);font-weight:600;letter-spacing:.02em;}
.sm-quote__bar svg{color:var(--sm-on-blue-soft);}
.sm-quote__head{padding:var(--sm-5) var(--sm-5) 0;}
.sm-quote__title{font-size:var(--sm-fs-h4);}
.sm-quote__sub{margin-top:var(--sm-1);font-size:var(--sm-fs-sm);color:var(--sm-muted);}
.sm-quote__steps{display:flex;gap:6px;margin-top:var(--sm-4);}
.sm-quote__steps span{flex:1;height:4px;border-radius:2px;background:var(--sm-line);}
.sm-quote__steps span[data-done]{background:var(--sm-blue);}
.sm-quote__body{padding:var(--sm-5);display:grid;gap:var(--sm-4);}
.sm-quote__row{display:grid;gap:var(--sm-4);}
@media (min-width:420px){ .sm-quote__row--2{grid-template-columns:1fr 1fr;} }
.sm-quote__note{display:flex;align-items:center;justify-content:center;gap:.4em;
  margin-top:var(--sm-3);font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-quote__note svg{color:var(--sm-success);}
.sm-quote__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ==========================================================================
   Поля
   ========================================================================== */
.sm-field{display:grid;gap:6px;}
.sm-field__label{font-size:var(--sm-fs-xs);font-weight:600;color:var(--sm-ink);letter-spacing:.01em;}
.sm-field__label .req{color:var(--sm-red);}
.sm-input,.sm-select{width:100%;padding:.75em .95em;border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);background:var(--sm-bg);font-size:var(--sm-fs-base);color:var(--sm-ink);
  transition:border-color var(--sm-dur) var(--sm-ease),box-shadow var(--sm-dur) var(--sm-ease);}
.sm-input::placeholder{color:var(--sm-on-blue-dim);}
.sm-input:focus,.sm-select:focus{border-color:var(--sm-blue);outline:none;
  box-shadow:0 0 0 3px rgba(0,114,188,.16);}
.sm-input[aria-invalid="true"]{border-color:var(--sm-red);box-shadow:0 0 0 3px rgba(205,22,19,.12);}
.sm-select{appearance:none;padding-right:2.4em;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2379828b' stroke-width='1.8' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center;}

/* ==========================================================================
   Полоса доверия — карточка, наезжающая на hero
   ========================================================================== */
.sm-trust{position:relative;z-index:2;margin-top:calc(-1 * var(--sm-9));}
.sm-trust__card{display:grid;grid-template-columns:repeat(2,1fr);
  background:var(--sm-bg);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  box-shadow:var(--sm-shadow);overflow:hidden;}
@media (min-width:860px){ .sm-trust__card{grid-template-columns:repeat(4,1fr);} }
.sm-trust__item{display:flex;align-items:center;gap:var(--sm-4);
  padding:var(--sm-5) var(--sm-5);
  border-right:1px solid var(--sm-line);border-bottom:1px solid var(--sm-line);}
@media (min-width:860px){
  .sm-trust__item{border-bottom:0;}
  .sm-trust__item:last-child{border-right:0;}
}
@media (max-width:859px){
  .sm-trust__item:nth-child(2n){border-right:0;}
  .sm-trust__item:nth-last-child(-n+2){border-bottom:0;}
}
.sm-trust__icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;
  border-radius:var(--sm-radius);background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-trust__num{display:block;font-family:var(--sm-font-display);font-size:1.375rem;
  font-weight:700;color:var(--sm-ink);line-height:1.1;letter-spacing:-.01em;}
.sm-trust__num .star{color:var(--sm-star);}
.sm-trust__cap{display:block;margin-top:2px;font-size:var(--sm-fs-xs);color:var(--sm-muted);
  line-height:1.35;}

/* ==========================================================================
   Шапка секции
   ========================================================================== */
.sm-head{max-width:58ch;margin-bottom:var(--sm-7);}
.sm-head--center{margin-inline:auto;text-align:center;}
.sm-head__eyebrow{display:inline-flex;align-items:center;gap:.6em;margin-bottom:var(--sm-3);
  font-size:var(--sm-fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--sm-red);}
.sm-head__eyebrow::before{content:"";width:26px;height:2px;background:var(--sm-red);
  border-radius:2px;}
.sm-head--center .sm-head__eyebrow::after{content:"";width:26px;height:2px;
  background:var(--sm-red);border-radius:2px;}
.sm-head__lead{margin-top:var(--sm-4);font-size:var(--sm-fs-lg);color:var(--sm-body);}
.sm-section--blue .sm-head__eyebrow{color:var(--sm-error);}
.sm-section--blue .sm-head__eyebrow::before,.sm-section--blue .sm-head__eyebrow::after{background:var(--sm-error);}
.sm-section--blue .sm-head__lead{color:rgba(255,255,255,.88);}

/* Заголовок группы внутри секции */
.sm-group-title{display:flex;align-items:baseline;gap:var(--sm-3);margin-bottom:var(--sm-4);
  font-size:var(--sm-fs-h4);}
.sm-group-title__count{font-family:var(--sm-font-display);font-size:var(--sm-fs-sm);
  font-weight:400;color:var(--sm-muted);}
.sm-group+.sm-group{margin-top:var(--sm-8);}

/* ==========================================================================
   Карточка выбора сценария
   ========================================================================== */
.sm-pick{position:relative;display:flex;flex-direction:column;overflow:hidden;
  padding:var(--sm-6);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg);text-decoration:none;
  transition:border-color var(--sm-dur) var(--sm-ease),box-shadow var(--sm-dur) var(--sm-ease),
             transform var(--sm-dur) var(--sm-ease);}
.sm-pick::before{content:"";position:absolute;inset:0 0 auto;height:3px;
  background:var(--sm-blue);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--sm-ease);}
a.sm-pick:hover{border-color:var(--sm-blue);box-shadow:var(--sm-shadow);transform:translateY(-3px);}
a.sm-pick:hover::before{transform:scaleX(1);}
.sm-pick__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:var(--sm-5);
  border-radius:var(--sm-radius);background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-pick__title{font-size:var(--sm-fs-h4);color:var(--sm-ink);}
.sm-pick__text{margin-top:var(--sm-3);font-size:var(--sm-fs-sm);color:var(--sm-body);}
.sm-pick__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--sm-3);
  margin-top:var(--sm-5);padding-top:var(--sm-4);border-top:1px solid var(--sm-line);
  font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-pick__meta b{font-family:var(--sm-font-display);font-size:var(--sm-fs-lg);color:var(--sm-red);}
.sm-pick__go{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-blue);
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease),
             transform var(--sm-dur) var(--sm-ease);}
a.sm-pick:hover .sm-pick__go{background:var(--sm-blue);color:var(--sm-on-dark);transform:translateX(3px);}

/* ==========================================================================
   Тарифы
   ========================================================================== */
.sm-price{position:relative;display:flex;flex-direction:column;
  padding:var(--sm-6);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg);}
.sm-price--featured{border-color:var(--sm-blue);box-shadow:0 0 0 3px rgba(0,114,188,.1);}
.sm-price__badge{position:absolute;top:-11px;left:var(--sm-6);
  padding:.3em .9em;border-radius:var(--sm-radius-pill);background:var(--sm-blue);color:var(--sm-on-dark);
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.sm-price__label{font-size:var(--sm-fs-xs);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sm-muted);}
.sm-price__amount{display:flex;align-items:baseline;gap:.15em;margin-top:var(--sm-2);
  font-family:var(--sm-font-display);font-size:2.5rem;font-weight:700;color:var(--sm-ink);
  line-height:1;letter-spacing:-.02em;}
.sm-price__unit{font-family:var(--sm-font-ui);font-size:var(--sm-fs-base);font-weight:600;
  color:var(--sm-muted);}
.sm-price__text{margin-top:var(--sm-4);font-size:var(--sm-fs-sm);}
.sm-price__list{margin-top:var(--sm-4);display:grid;gap:var(--sm-2);}
.sm-price__list li{display:flex;align-items:flex-start;gap:var(--sm-2);
  font-size:var(--sm-fs-sm);}
.sm-price__list svg{flex:0 0 auto;margin-top:.25em;color:var(--sm-success);}
.sm-price__note{margin-top:var(--sm-5);padding-top:var(--sm-4);
  border-top:1px dashed var(--sm-line);font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* ==========================================================================
   Карточка услуги
   ========================================================================== */
.sm-svc{position:relative;display:block;overflow:hidden;border-radius:var(--sm-radius-lg);
  text-decoration:none;background:var(--sm-blue-900);aspect-ratio:4/3;}
.sm-svc img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--sm-ease);}
.sm-svc:hover img{transform:scale(1.06);}
.sm-svc::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,25,42,.9) 0%,rgba(0,25,42,.45) 40%,rgba(0,25,42,.05) 75%);}
.sm-svc__body{position:absolute;left:var(--sm-5);right:var(--sm-5);bottom:var(--sm-5);z-index:1;
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sm-3);}
.sm-svc__label{color:var(--sm-on-dark);font-size:var(--sm-fs-base);font-weight:700;
  line-height:var(--sm-lh-snug);text-wrap:balance;}
.sm-svc__hint{display:block;margin-top:3px;font-size:var(--sm-fs-xs);font-weight:500;
  color:rgba(255,255,255,.72);}
.sm-svc__go{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;
  border-radius:50%;background:rgba(255,255,255,.16);color:var(--sm-on-dark);
  transition:background var(--sm-dur) var(--sm-ease),transform var(--sm-dur) var(--sm-ease);}
.sm-svc:hover .sm-svc__go{background:var(--sm-red);transform:translateX(3px);}

/* ==========================================================================
   Маршруты
   ========================================================================== */
.sm-route{display:flex;flex-direction:column;gap:var(--sm-4);
  padding:var(--sm-5);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg);text-decoration:none;
  transition:border-color var(--sm-dur) var(--sm-ease),box-shadow var(--sm-dur) var(--sm-ease),
             transform var(--sm-dur) var(--sm-ease);}
.sm-route:hover{border-color:var(--sm-blue);box-shadow:var(--sm-shadow);transform:translateY(-2px);}
.sm-route__path{display:flex;align-items:center;gap:var(--sm-3);
  font-size:var(--sm-fs-lg);font-weight:700;color:var(--sm-ink);line-height:1.25;}
.sm-route__dots{flex:1;height:1px;min-width:16px;
  background:repeating-linear-gradient(to right,var(--sm-line) 0 4px,transparent 4px 8px);}
.sm-route__pin{flex:0 0 auto;color:var(--sm-red);}
.sm-route__facts{display:flex;flex-wrap:wrap;gap:var(--sm-2) var(--sm-4);
  font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-route__facts span{display:inline-flex;align-items:center;gap:.35em;}
.sm-route__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sm-3);
  margin-top:auto;padding-top:var(--sm-4);border-top:1px solid var(--sm-line);}
.sm-route__price{font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-route__price b{display:block;font-family:var(--sm-font-display);font-size:var(--sm-fs-h4);
  color:var(--sm-blue);line-height:1.15;}
.sm-route__go{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-blue);
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease);}
.sm-route:hover .sm-route__go{background:var(--sm-blue);color:var(--sm-on-dark);}

/* ==========================================================================
   Шаги
   ========================================================================== */
.sm-steps{position:relative;counter-reset:step;}
.sm-step{position:relative;}
.sm-step__num{position:relative;z-index:1;display:grid;place-items:center;
  width:48px;height:48px;margin-bottom:var(--sm-4);border-radius:50%;
  background:var(--sm-bg);border:2px solid var(--sm-blue);color:var(--sm-blue);
  font-family:var(--sm-font-display);font-weight:700;font-size:var(--sm-fs-lg);}
/* Пунктирная линия между шагами — только на широком экране */
@media (min-width:900px){
  .sm-step::before{content:"";position:absolute;top:24px;left:48px;right:calc(-1 * var(--sm-5));
    height:2px;background:repeating-linear-gradient(to right,var(--sm-line) 0 6px,transparent 6px 12px);}
  .sm-step:last-child::before{display:none;}
}
.sm-step__title{font-size:var(--sm-fs-h4);}
.sm-step__text{margin-top:var(--sm-2);font-size:var(--sm-fs-sm);}

/* ==========================================================================
   Зоны обслуживания
   ========================================================================== */
.sm-areas{display:flex;flex-wrap:wrap;gap:var(--sm-3);}
.sm-areas a{display:inline-flex;align-items:center;gap:.4em;
  padding:.6em 1.15em;border:1px solid var(--sm-line);border-radius:var(--sm-radius-pill);
  background:var(--sm-bg);font-size:var(--sm-fs-sm);font-weight:600;color:var(--sm-ink);
  text-decoration:none;transition:all var(--sm-dur) var(--sm-ease);}
.sm-areas a svg{color:var(--sm-muted);transition:color var(--sm-dur) var(--sm-ease);}
.sm-areas a:hover{border-color:var(--sm-blue);background:var(--sm-blue);color:var(--sm-on-dark);}
.sm-areas a:hover svg{color:var(--sm-on-dark);}
.sm-areas__more{font-weight:700!important;color:var(--sm-blue)!important;
  border-style:dashed!important;}

/* ==========================================================================
   Отзывы
   ========================================================================== */
.sm-review{display:flex;flex-direction:column;gap:var(--sm-4);height:100%;
  padding:var(--sm-6);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg);}
.sm-review__top{display:flex;align-items:center;justify-content:space-between;}
.sm-review__stars{color:var(--sm-star);letter-spacing:.12em;font-size:var(--sm-fs-sm);}
.sm-review__src{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;
  background:var(--sm-bg-soft);font-family:var(--sm-font-display);font-weight:700;
  font-size:13px;color:var(--sm-blue);}
.sm-review__text{margin:0;font-size:var(--sm-fs-sm);color:var(--sm-body);}
.sm-review__who{display:flex;align-items:center;gap:var(--sm-3);margin-top:auto;
  padding-top:var(--sm-4);border-top:1px solid var(--sm-line);}
.sm-review__avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-blue-900);
  font-weight:700;font-size:var(--sm-fs-sm);}
.sm-review__name{display:block;font-size:var(--sm-fs-sm);font-weight:600;color:var(--sm-ink);}
.sm-review__meta{display:block;font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* Сводка рейтинга рядом с отзывами */
.sm-rating{display:flex;align-items:center;gap:var(--sm-5);flex-wrap:wrap;
  padding:var(--sm-5) var(--sm-6);border:1px solid var(--sm-line);
  border-radius:var(--sm-radius-lg);background:var(--sm-bg-soft);}
.sm-rating__score{font-family:var(--sm-font-display);font-size:2.5rem;font-weight:700;
  color:var(--sm-ink);line-height:1;}
.sm-rating__stars{color:var(--sm-star);letter-spacing:.15em;}
.sm-rating__cap{font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.sm-faq{border-top:1px solid var(--sm-line);}
.sm-faq__item{border-bottom:1px solid var(--sm-line);}
.sm-faq__q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;
  gap:var(--sm-5);padding:var(--sm-5) var(--sm-3) var(--sm-5) 0;border:0;background:none;
  cursor:pointer;text-align:left;font-family:inherit;
  font-size:var(--sm-fs-lg);font-weight:600;color:var(--sm-ink);
  transition:color var(--sm-dur) var(--sm-ease);}
.sm-faq__q:hover{color:var(--sm-blue);}
.sm-faq__sign{position:relative;flex:0 0 auto;width:24px;height:24px;margin-top:.15em;
  border-radius:50%;background:var(--sm-blue-50);}
.sm-faq__sign::before,.sm-faq__sign::after{content:"";position:absolute;background:var(--sm-blue);
  transition:transform var(--sm-dur) var(--sm-ease);}
.sm-faq__sign::before{left:6px;top:11px;width:12px;height:2px;}
.sm-faq__sign::after{left:11px;top:6px;width:2px;height:12px;}
.sm-faq__q[aria-expanded="true"] .sm-faq__sign::after{transform:scaleY(0);}
.sm-faq__a{padding:0 var(--sm-8) var(--sm-5) 0;max-width:72ch;font-size:var(--sm-fs-base);}
.sm-faq__a[hidden]{display:none;}
.sm-faq__a a{font-weight:600;}

/* ==========================================================================
   Хлебные крошки (внутренние страницы)
   ========================================================================== */
.sm-crumbs{padding-block:var(--sm-4);font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;
  margin:0;padding:0;list-style:none;}
.sm-crumbs li{display:flex;align-items:center;gap:.5em;}
.sm-crumbs li+li::before{content:"›";color:var(--sm-line);}
.sm-crumbs a{color:var(--sm-muted);text-decoration:none;}
.sm-crumbs a:hover{color:var(--sm-blue);text-decoration:underline;}
.sm-crumbs [aria-current]{color:var(--sm-ink);font-weight:600;}

  border-radius:var(--sm-radius);background:rgba(255,255,255,.14);color:var(--sm-on-dark);}

/* ==========================================================================
   Финальный CTA
   ========================================================================== */
.sm-cta{position:relative;isolation:isolate;overflow:hidden;
  background:var(--sm-blue);color:var(--sm-on-dark);}
.sm-cta::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 2px,transparent 2px 14px);}
.sm-cta__inner{display:grid;gap:var(--sm-6);align-items:center;padding-block:var(--sm-9);}
@media (min-width:900px){ .sm-cta__inner{grid-template-columns:1fr auto;gap:var(--sm-8);} }
.sm-cta h2{color:var(--sm-on-dark);}
.sm-cta p{margin-top:var(--sm-3);color:rgba(255,255,255,.9);max-width:54ch;}
.sm-cta__actions{display:flex;flex-wrap:wrap;gap:var(--sm-3);}

/* ==========================================================================
   Подвал
   ========================================================================== */
.sm-footer{background:var(--sm-blue-900);color:rgba(255,255,255,.75);font-size:var(--sm-fs-sm);}
.sm-footer__main{display:grid;gap:var(--sm-7);padding-block:var(--sm-9);}
@media (min-width:700px){ .sm-footer__main{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1000px){ .sm-footer__main{grid-template-columns:1.5fr 1fr 1fr 1fr;} }
.sm-footer h2{margin-bottom:var(--sm-4);color:var(--sm-on-dark);font-size:var(--sm-fs-xs);
  font-weight:700;text-transform:uppercase;letter-spacing:.1em;}
.sm-footer a{color:rgba(255,255,255,.75);text-decoration:none;}
.sm-footer a:hover{color:var(--sm-on-dark);text-decoration:underline;}
.sm-footer__links li+li{margin-top:.55em;}
.sm-footer__logo{display:inline-block;padding:var(--sm-3) var(--sm-4);
  background:var(--sm-bg);border-radius:var(--sm-radius);}
.sm-footer__logo img{width:170px;height:53px;object-fit:contain;}
.sm-footer__nap{margin-top:var(--sm-5);font-style:normal;line-height:1.9;}
.sm-footer__nap b{display:block;color:var(--sm-on-dark);margin-bottom:.2em;}
.sm-footer__sociallabel{margin-top:var(--sm-5);font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.sm-social{display:flex;flex-wrap:wrap;gap:var(--sm-3);margin-top:var(--sm-3);}
.sm-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.12);color:var(--sm-on-dark);
  transition:background var(--sm-dur) var(--sm-ease),transform var(--sm-dur) var(--sm-ease);}
.sm-social a:hover{background:var(--sm-red);transform:translateY(-2px);}

/* В служебной полосе — компактнее и без фона */
.sm-social--bar{margin:0;gap:var(--sm-1);}
.sm-social--bar a{width:26px;height:26px;background:none;color:rgba(255,255,255,.65);}
.sm-social--bar a:hover{background:rgba(255,255,255,.14);color:var(--sm-on-dark);transform:none;}
@media (max-width:860px){ .sm-social--bar{display:none;} }

/* В мобильной панели */
.sm-social--drawer{margin:0;justify-content:center;}
.sm-social--drawer a{width:40px;height:40px;background:var(--sm-line);color:var(--sm-blue-900);}
.sm-social--drawer a:hover{background:var(--sm-red);color:var(--sm-on-dark);}
.sm-footer__bottom{display:flex;flex-wrap:wrap;gap:var(--sm-3) var(--sm-5);
  justify-content:space-between;align-items:center;
  padding-block:var(--sm-5);border-top:1px solid rgba(255,255,255,.14);font-size:var(--sm-fs-xs);}
.sm-footer__legal{display:flex;flex-wrap:wrap;gap:var(--sm-4);}

/* ==========================================================================
   Мобильная липкая панель
   ========================================================================== */
.sm-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  gap:1px;background:var(--sm-line);box-shadow:0 -2px 16px rgba(0,25,42,.14);
  padding-bottom:env(safe-area-inset-bottom);}
.sm-actionbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.5em;
  padding:var(--sm-4);font-size:var(--sm-fs-sm);font-weight:700;text-decoration:none;}
.sm-actionbar__call{background:var(--sm-bg);color:var(--sm-ink);}
.sm-actionbar__call svg{color:var(--sm-red);}
.sm-actionbar__quote{background:var(--sm-red);color:var(--sm-on-dark);}
@media (max-width:767px){ .sm-actionbar{display:flex;} body{padding-bottom:60px;} }

/* Блокировка прокрутки под открытой панелью */
body.sm-locked{overflow:hidden;}

/* ==========================================================================
   Модальное окно заявки
   Нативный <dialog>: ловушка фокуса, Escape и инертность фона — от браузера.
   ========================================================================== */
.sm-modal{width:min(460px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);
  padding:0;border:0;border-radius:var(--sm-radius-lg);
  background:transparent;color:var(--sm-body);overflow:visible;}
.sm-modal::backdrop{background:rgba(0,25,42,.62);backdrop-filter:blur(2px);}
.sm-modal .sm-quote{box-shadow:var(--sm-shadow-lg);}
.sm-modal__close{position:absolute;top:-14px;right:-14px;z-index:2;
  width:36px;height:36px;display:grid;place-items:center;
  border:0;border-radius:50%;background:var(--sm-bg);box-shadow:var(--sm-shadow);
  font-size:22px;line-height:1;color:var(--sm-ink);cursor:pointer;
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease);}
.sm-modal__close:hover{background:var(--sm-red);color:var(--sm-on-dark);}
@media (max-width:520px){
  .sm-modal{width:calc(100vw - 1.5rem);}
  .sm-modal__close{top:8px;right:8px;box-shadow:none;background:rgba(255,255,255,.9);}
}
/* Открытие без анимации для тех, кто её отключил, — правило уже в base.css */
.sm-modal[open]{animation:sm-modal-in .22s var(--sm-ease);}
@keyframes sm-modal-in{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}

/* ==========================================================================
   Видео — фасад вместо iframe
   ========================================================================== */
.sm-video{position:relative;overflow:hidden;border-radius:var(--sm-radius-lg);
  background:var(--sm-blue-900);aspect-ratio:16/9;box-shadow:var(--sm-shadow);}
.sm-video img{width:100%;height:100%;object-fit:cover;}   /* было .sm-video__poster:
   постер выводится через sm_image(), а тот класс не ставит, и правило висело мёртвым */
.sm-video::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(0,25,42,.72) 0%,rgba(0,25,42,.1) 55%,transparent 100%);
  transition:opacity var(--sm-dur) var(--sm-ease);}
.sm-video__play{position:absolute;inset:0;z-index:1;
  display:flex;align-items:flex-end;gap:var(--sm-4);
  width:100%;padding:var(--sm-6);border:0;background:none;cursor:pointer;text-align:left;}
.sm-video__play-icon{position:relative;flex:0 0 auto;
  width:62px;height:62px;border-radius:50%;background:var(--sm-red);
  box-shadow:0 8px 24px rgba(205,22,19,.45);
  transition:transform var(--sm-dur) var(--sm-ease),background var(--sm-dur) var(--sm-ease);}
.sm-video__play-icon::before{content:"";position:absolute;top:50%;left:52%;
  transform:translate(-50%,-50%);
  border-style:solid;border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent var(--sm-bg);}
.sm-video__play:hover .sm-video__play-icon{transform:scale(1.07);background:var(--sm-red-700);}
.sm-video__play-title{display:block;color:var(--sm-on-dark);font-size:var(--sm-fs-lg);font-weight:700;
  line-height:1.3;text-shadow:0 1px 12px rgba(0,25,42,.5);}
.sm-video__play-meta{display:block;margin-top:3px;font-size:var(--sm-fs-xs);
  color:rgba(255,255,255,.8);letter-spacing:.04em;text-transform:uppercase;}
.sm-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.sm-video.is-playing::after{opacity:0;}
@media (max-width:600px){
  .sm-video__play{padding:var(--sm-5);gap:var(--sm-3);}
  .sm-video__play-icon{width:52px;height:52px;}
  .sm-video__play-title{font-size:var(--sm-fs-base);}
}

/* Раскладка секции с видео */
.sm-videosec{display:grid;gap:var(--sm-7);align-items:center;}
@media (min-width:960px){ .sm-videosec{grid-template-columns:1.25fr 1fr;gap:var(--sm-9);} }
.sm-videosec__points{display:grid;gap:var(--sm-4);margin-top:var(--sm-5);}
.sm-videosec__points li{display:flex;gap:var(--sm-3);align-items:flex-start;
  font-size:var(--sm-fs-sm);}
.sm-videosec__points svg{flex:0 0 auto;margin-top:.2em;color:var(--sm-success);}

/* ==========================================================================
   Лицензии и страховки (E-E-A-T)
   ========================================================================== */
.sm-creds{display:grid;gap:var(--sm-4);grid-template-columns:1fr;}
@media (min-width:600px){ .sm-creds{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .sm-creds{grid-template-columns:repeat(4,1fr);} }
.sm-cred{display:flex;flex-direction:column;gap:var(--sm-3);
  padding:var(--sm-5);border:1px solid rgba(255,255,255,.18);
  border-radius:var(--sm-radius-lg);background:rgba(255,255,255,.06);}
.sm-cred__icon{display:grid;place-items:center;width:40px;height:40px;
  border-radius:var(--sm-radius);background:rgba(255,255,255,.14);color:var(--sm-on-dark);}
.sm-cred__title{font-size:var(--sm-fs-xs);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.7);}
.sm-cred__value{font-family:var(--sm-font-display);font-size:var(--sm-fs-h4);
  font-weight:700;color:var(--sm-on-dark);line-height:1.15;}
.sm-cred__issuer{font-size:var(--sm-fs-xs);color:rgba(255,255,255,.78);}
.sm-cred__note{margin-top:auto;padding-top:var(--sm-3);
  border-top:1px dashed rgba(255,255,255,.2);
  font-size:var(--sm-fs-xs);color:rgba(255,255,255,.62);}
.sm-members{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sm-3);
  margin-top:var(--sm-6);}
.sm-members__cap{font-size:var(--sm-fs-xs);letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.6);}
.sm-members li{display:inline-flex;align-items:center;gap:.4em;
  padding:.45em 1em;border:1px solid rgba(255,255,255,.24);
  border-radius:var(--sm-radius-pill);font-size:var(--sm-fs-xs);font-weight:600;color:var(--sm-on-dark);}

/* Правки после сборки */
.sm-videosec .sm-head{margin-bottom:0;}          /* иначе двойной отступ до списка */
.sm-modal .sm-quote{max-height:calc(100dvh - 3rem);overflow-y:auto;}

/* ==========================================================================
   Маршрутная страница
   ========================================================================== */

/* Первый экран. Без фонового фото: LCP здесь — текст с ценой, а не картинка,
   и на 140 маршрутах экономия на изображениях складывается. */
.sm-rhero{background:linear-gradient(180deg,var(--sm-blue-50) 0%,var(--sm-bg) 100%);
  border-bottom:1px solid var(--sm-line);}
.sm-rhero__inner{display:grid;gap:var(--sm-7);
  padding-block:var(--sm-7) var(--sm-9);}
@media (min-width:1000px){
  .sm-rhero__inner{grid-template-columns:1fr minmax(340px,400px);gap:var(--sm-9);
    align-items:start;}
}
.sm-rhero h1{max-width:16ch;}
.sm-rhero__lead{margin-top:var(--sm-5);max-width:60ch;font-size:var(--sm-fs-lg);}

/* Полоса ключевых чисел */
.sm-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sm-4);
  margin-top:var(--sm-7);padding-top:var(--sm-6);border-top:1px solid var(--sm-line);}
@media (min-width:640px){ .sm-facts{grid-template-columns:repeat(4,1fr);} }
.sm-facts__item{display:flex;flex-direction:column;gap:2px;}
.sm-facts__val{font-family:var(--sm-font-display);font-size:var(--sm-fs-h3);font-weight:700;
  color:var(--sm-blue-900);line-height:1.1;letter-spacing:-.01em;}
.sm-facts__cap{font-size:var(--sm-fs-xs);color:var(--sm-muted);line-height:1.35;}

/* Карточка вилки цен — то, ради чего человек пришёл */
.sm-pricecard{position:sticky;top:calc(var(--sm-header-h) + 16px);
  padding:var(--sm-6);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg);box-shadow:var(--sm-shadow);}
@media (max-width:999px){ .sm-pricecard{position:static;} }
.sm-pricecard__head{margin-bottom:var(--sm-5);}
.sm-pricecard__eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sm-red);}
.sm-pricecard__title{display:block;margin-top:var(--sm-2);
  font-size:var(--sm-fs-h4);font-weight:700;color:var(--sm-ink);}
.sm-pricecard__list li{display:flex;align-items:flex-start;justify-content:space-between;
  gap:var(--sm-4);padding:var(--sm-4) 0;border-bottom:1px solid var(--sm-line);}
.sm-pricecard__list li:first-child{padding-top:0;}
.sm-pricecard__size{font-size:var(--sm-fs-sm);font-weight:600;color:var(--sm-ink);
  line-height:1.35;}
.sm-pricecard__size span{display:block;margin-top:2px;font-size:var(--sm-fs-xs);
  font-weight:400;color:var(--sm-muted);}
.sm-pricecard__val{flex:0 0 auto;text-align:right;
  font-family:var(--sm-font-display);font-size:var(--sm-fs-lg);font-weight:700;
  color:var(--sm-blue);line-height:1.2;}
.sm-pricecard__val span{display:block;font-size:var(--sm-fs-xs);font-weight:400;
  color:var(--sm-muted);}
.sm-pricecard__note{display:flex;gap:var(--sm-2);align-items:flex-start;
  margin:var(--sm-5) 0;font-size:var(--sm-fs-xs);color:var(--sm-muted);line-height:1.5;}
.sm-pricecard__note svg{flex:0 0 auto;margin-top:.15em;color:var(--sm-success);}

/* Выделенный или сборный */
.sm-opt{display:flex;flex-direction:column;padding:var(--sm-6);
  border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);background:var(--sm-bg);}
.sm-opt--primary{border-color:var(--sm-blue);box-shadow:0 0 0 3px rgba(0,114,188,.1);}
.sm-opt__label{font-size:var(--sm-fs-xs);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sm-muted);}
.sm-opt__lead{margin-top:var(--sm-2);font-family:var(--sm-font-display);
  font-size:var(--sm-fs-h3);font-weight:700;color:var(--sm-ink);line-height:1.15;}
.sm-opt__note{margin-top:var(--sm-5);padding-top:var(--sm-4);
  border-top:1px dashed var(--sm-line);font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* Что входит / что нет */
.sm-incl{padding:var(--sm-6);border-radius:var(--sm-radius-lg);background:var(--sm-bg);
  border:1px solid var(--sm-line);}
.sm-incl__title{display:flex;align-items:center;gap:var(--sm-2);margin-bottom:var(--sm-4);
  font-size:var(--sm-fs-h4);}
.sm-incl__title--yes svg{color:var(--sm-success);}
.sm-incl__title--no{color:var(--sm-muted);}
.sm-incl__list li{position:relative;padding:.55em 0 .55em var(--sm-6);
  font-size:var(--sm-fs-sm);border-bottom:1px solid var(--sm-line);}
.sm-incl__list li:last-child{border-bottom:0;}
.sm-incl__list li::before{content:"";position:absolute;left:6px;top:1.05em;
  width:7px;height:7px;border-radius:50%;background:var(--sm-success);}
.sm-incl__list--no li::before{background:none;left:4px;top:.85em;
  width:11px;height:2px;background:var(--sm-muted);border-radius:1px;}

/* Что двигает цену */
.sm-factor{display:flex;gap:var(--sm-5);align-items:flex-start;}
.sm-factor__num{flex:0 0 auto;font-family:var(--sm-font-display);font-size:var(--sm-fs-h3);
  font-weight:700;color:var(--sm-line);line-height:1;}
.sm-factor__title{font-size:var(--sm-fs-h4);}
.sm-factor__text{margin-top:var(--sm-2);font-size:var(--sm-fs-sm);}

/* Отметка о ревизии данных — сигнал свежести для E-E-A-T (§7.2) */
.sm-reviewed{display:flex;align-items:center;gap:var(--sm-2);margin-top:var(--sm-6);
  font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-reviewed svg{color:var(--sm-success);}

/* ==========================================================================
   .sm-prose — вывод редактора
   Единственное место, где стили назначаются по тегам, а не по классам:
   редактор не будет проставлять классы, и не должен.
   ========================================================================== */
.sm-prose{max-width:72ch;font-size:var(--sm-fs-lg);line-height:1.75;color:var(--sm-body);}
.sm-prose > * + *{margin-top:var(--sm-5);}

.sm-prose h2{margin-top:var(--sm-9);font-size:var(--sm-fs-h2);}
.sm-prose h3{margin-top:var(--sm-8);font-size:var(--sm-fs-h3);}
.sm-prose h4{margin-top:var(--sm-7);font-size:var(--sm-fs-h4);}
.sm-prose h2 + *,.sm-prose h3 + *,.sm-prose h4 + *{margin-top:var(--sm-4);}
.sm-prose > :first-child{margin-top:0;}

.sm-prose a{color:var(--sm-blue);font-weight:600;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;
  text-decoration-color:rgba(0,114,188,.35);
  transition:text-decoration-color var(--sm-dur) var(--sm-ease);}
.sm-prose a:hover{text-decoration-color:var(--sm-blue);}

.sm-prose ul,.sm-prose ol{padding-left:0;list-style:none;}
.sm-prose li{position:relative;padding-left:var(--sm-6);}
.sm-prose li + li{margin-top:var(--sm-3);}
.sm-prose ul > li::before{content:"";position:absolute;left:6px;top:.72em;
  width:7px;height:7px;border-radius:50%;background:var(--sm-blue);}
.sm-prose ol{counter-reset:sm-ol;}
.sm-prose ol > li::before{counter-increment:sm-ol;content:counter(sm-ol) ".";
  position:absolute;left:0;top:0;
  font-family:var(--sm-font-display);font-weight:700;color:var(--sm-blue);}

.sm-prose blockquote{margin-left:0;padding:var(--sm-4) 0 var(--sm-4) var(--sm-6);
  border-left:3px solid var(--sm-red);font-size:var(--sm-fs-h4);line-height:1.5;
  color:var(--sm-ink);}
.sm-prose blockquote p{margin:0;}

.sm-prose img,.sm-prose figure{border-radius:var(--sm-radius-lg);overflow:hidden;}
.sm-prose figcaption{margin-top:var(--sm-3);font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* Таблицы прокручиваются внутри себя: страница не должна ехать вбок */
.sm-prose .wp-block-table,.sm-prose figure.wp-block-table{overflow-x:auto;}
.sm-prose table{width:100%;border-collapse:collapse;font-size:var(--sm-fs-sm);}
.sm-prose th,.sm-prose td{padding:var(--sm-3) var(--sm-4);text-align:left;
  border-bottom:1px solid var(--sm-line);}
.sm-prose th{font-weight:700;color:var(--sm-ink);background:var(--sm-bg-soft);}

.sm-prose hr{margin-block:var(--sm-8);border:0;border-top:1px solid var(--sm-line);}
.sm-prose code{padding:.15em .4em;border-radius:var(--sm-radius-sm);
  background:var(--sm-bg-soft);font-size:.9em;}

/* Оглавление сбоку на широком экране */
.sm-prosewrap{display:grid;gap:var(--sm-7);}
@media (min-width:1080px){
  .sm-prosewrap{grid-template-columns:minmax(0,1fr) 260px;gap:var(--sm-9);align-items:start;}
}
.sm-toc{position:sticky;top:calc(var(--sm-header-h) + 16px);
  padding:var(--sm-5);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg-soft);font-size:var(--sm-fs-sm);}
@media (max-width:1079px){ .sm-toc{display:none;} }
.sm-toc__title{margin-bottom:var(--sm-3);font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sm-muted);}
.sm-toc li + li{margin-top:var(--sm-2);}
.sm-toc a{display:block;color:var(--sm-body);text-decoration:none;line-height:1.4;}
.sm-toc a:hover{color:var(--sm-blue);}

/* ==========================================================================
   CTA с явной формой
   ========================================================================== */
.sm-ctaform{position:relative;isolation:isolate;overflow:hidden;
  background:var(--sm-blue-900);color:var(--sm-on-dark);}
.sm-ctaform::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 14px);}
.sm-ctaform__inner{display:grid;gap:var(--sm-7);padding-block:var(--sm-9);
  align-items:center;}
@media (min-width:960px){
  .sm-ctaform__inner{grid-template-columns:1fr minmax(380px,420px);gap:var(--sm-9);}
}
.sm-ctaform h2{color:var(--sm-on-dark);}
.sm-ctaform__lead{margin-top:var(--sm-4);max-width:48ch;font-size:var(--sm-fs-lg);
  color:rgba(255,255,255,.88);}
.sm-ctaform__points{display:grid;gap:var(--sm-3);margin-top:var(--sm-6);}
.sm-ctaform__points li{display:flex;gap:var(--sm-3);align-items:flex-start;
  font-size:var(--sm-fs-sm);color:rgba(255,255,255,.9);}
.sm-ctaform__points svg{flex:0 0 auto;margin-top:.2em;color:var(--sm-on-blue-ok);}
.sm-ctaform__or{display:flex;align-items:center;gap:var(--sm-4);margin-top:var(--sm-7);
  padding-top:var(--sm-6);border-top:1px solid rgba(255,255,255,.18);}
.sm-ctaform__phone{display:flex;align-items:center;gap:var(--sm-3);
  color:var(--sm-on-dark);text-decoration:none;}
.sm-ctaform__phone-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;
  border-radius:50%;background:rgba(255,255,255,.14);
  transition:background var(--sm-dur) var(--sm-ease);}
.sm-ctaform__phone:hover .sm-ctaform__phone-icon{background:var(--sm-red);}
.sm-ctaform__phone-cap{display:block;font-size:var(--sm-fs-xs);color:rgba(255,255,255,.65);}
.sm-ctaform__phone-num{display:block;font-size:var(--sm-fs-lg);font-weight:700;line-height:1.3;}

/* ==========================================================================
   Модалка: карточка и форма Contact Form 7
   Селекторы написаны на классы CF7, а не на нашу разметку, — тогда замена
   вёрстки на шорткод плагина не потребует правок CSS.
   ========================================================================== */
.sm-modal__card{background:var(--sm-bg);border-radius:var(--sm-radius-lg);overflow:hidden;
  box-shadow:var(--sm-shadow-lg);}
.sm-modal__head{padding:var(--sm-5) var(--sm-5) 0;}
.sm-modal__body{padding:var(--sm-5);}

.sm-cf7__form{display:grid;gap:var(--sm-4);}
.sm-cf7__form > p{margin:0;}
.wpcf7-form-control-wrap{display:block;}
.sm-cf7__form textarea.sm-input{resize:vertical;min-height:5.5em;line-height:1.5;}
.sm-cf7__submit{margin-top:var(--sm-1)!important;position:relative;}
.sm-cf7__note{display:flex;align-items:flex-start;gap:.45em;
  font-size:var(--sm-fs-xs);color:var(--sm-muted);line-height:1.5;}
.sm-cf7__note svg{flex:0 0 auto;margin-top:.15em;color:var(--sm-success);}

/* Собственные состояния CF7 */
.wpcf7-not-valid-tip{display:block;margin-top:6px;
  font-size:var(--sm-fs-xs);color:var(--sm-red);}
.sm-input.wpcf7-not-valid{border-color:var(--sm-red);
  box-shadow:0 0 0 3px rgba(205,22,19,.12);}
.wpcf7-response-output{margin:var(--sm-3) 0 0;padding:var(--sm-3) var(--sm-4);
  border:1px solid var(--sm-line);border-radius:var(--sm-radius);
  font-size:var(--sm-fs-sm);}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border-color:var(--sm-red);
  background:var(--sm-error-bg);color:var(--sm-red-700);}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--sm-success);
  background:var(--sm-success-bg);color:var(--sm-success);}
.wpcf7-spinner{display:none;}
.wpcf7 form.submitting .wpcf7-spinner{display:inline-block;
  position:absolute;top:50%;right:var(--sm-5);width:18px;height:18px;
  margin-top:-9px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--sm-on-dark);
  border-radius:50%;animation:sm-spin .7s linear infinite;}
@keyframes sm-spin{to{transform:rotate(360deg);}}

/* ==========================================================================
   Слайдер (Swiper) для карточек на мобильном
   Swiper подключается лениво и только на узком экране: на десктопе это
   обычная сетка, и платить 42 КБ за неё не за что.
   ========================================================================== */
@media (max-width:767px){
  /* overflow:hidden обязателен. Ставить visible ради «выглядывающей»
     карточки нельзя: слайды выходят за вьюпорт и страница начинает ехать
     вбок. Эффект даёт slidesPerView:1.12 — следующая карточка видна и
     обрезается краем контейнера. */
  .sm-grid[data-sm-slider].swiper{display:block;overflow:hidden;}
  .sm-grid[data-sm-slider] .swiper-wrapper{display:flex;align-items:stretch;}
  .sm-grid[data-sm-slider] .swiper-slide{height:auto;display:flex;}
  .sm-grid[data-sm-slider] .swiper-slide > *{width:100%;}
  .sm-slider__pag{display:flex;justify-content:center;gap:8px;margin-top:var(--sm-5);}
  .sm-slider__pag .swiper-pagination-bullet{width:8px;height:8px;border-radius:50%;
    background:var(--sm-line);opacity:1;transition:width var(--sm-dur) var(--sm-ease),
    background var(--sm-dur) var(--sm-ease);}
  .sm-slider__pag .swiper-pagination-bullet-active{width:22px;border-radius:4px;
    background:var(--sm-blue);}
  .sm-section--soft .sm-slider__pag .swiper-pagination-bullet{background:var(--sm-line-warm);}
}
.sm-slider__pag{display:none;}
@media (max-width:767px){ .sm-slider__pag[data-ready]{display:flex;} }

/* ==========================================================================
   Фотофоны секций
   Фото кладём отдельным <img>, а не background-image: только так работают
   srcset/sizes и lazy, и только так браузер знает размеры заранее.
   Читаемость держит плотный цветной слой поверх — контраст текста не должен
   зависеть от того, какое фото подставит редактор.
   ========================================================================== */
.sm-section--photo,.sm-ctaform{position:relative;isolation:isolate;overflow:hidden;}
.sm-section__media{position:absolute;inset:0;z-index:-3;}
.sm-section__media img{width:100%;height:100%;object-fit:cover;}

.sm-section--photo::after,.sm-ctaform::after{content:"";position:absolute;inset:0;z-index:-2;}
.sm-section--photo.sm-section--blue::after{
  background:linear-gradient(105deg,rgba(0,63,104,.96) 0%,rgba(0,63,104,.88) 55%,rgba(0,44,72,.82) 100%);}
.sm-ctaform::after{
  background:linear-gradient(105deg,rgba(0,32,53,.95) 0%,rgba(0,44,72,.88) 50%,rgba(0,44,72,.78) 100%);}

/* Диагональная штриховка остаётся, но уезжает над заливкой */
.sm-ctaform::before{z-index:-1;}

/* ==========================================================================
   Фотополоса внутри страницы
   ========================================================================== */
.sm-band{position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:flex-end;min-height:clamp(220px,32vw,380px);
  color:var(--sm-on-dark);}
.sm-band__media{position:absolute;inset:0;z-index:-2;}
.sm-band__media img{width:100%;height:100%;object-fit:cover;}
.sm-band::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(0,25,42,.88) 0%,rgba(0,25,42,.35) 55%,rgba(0,25,42,.08) 100%);}
.sm-band__inner{padding-block:var(--sm-7);}
.sm-band__title{max-width:26ch;color:var(--sm-on-dark);font-size:var(--sm-fs-h3);font-weight:700;
  line-height:1.25;text-wrap:balance;}
.sm-band__text{max-width:52ch;margin-top:var(--sm-3);font-size:var(--sm-fs-sm);
  color:rgba(255,255,255,.82);}

/* Карточка услуги: фото теперь реальное, притушим его чуть меньше */
.sm-svc::after{background:linear-gradient(to top,rgba(0,25,42,.88) 0%,rgba(0,25,42,.4) 42%,rgba(0,25,42,.05) 78%);}

/* ==========================================================================
   Список маршрутов на хабе
   Строки, а не карточки: сорок карточек невозможно просмотреть глазами,
   а строку со шкалой расстояния — можно.
   ========================================================================== */
.sm-rlist{border-top:1px solid var(--sm-line);}
.sm-rlist__item{border-bottom:1px solid var(--sm-line);}
.sm-rlist__link{display:grid;align-items:center;gap:var(--sm-2) var(--sm-4);
  padding:var(--sm-4) var(--sm-3);margin-inline:calc(-1 * var(--sm-3));
  border-radius:var(--sm-radius);text-decoration:none;
  grid-template-columns:1fr auto auto;
  grid-template-areas:"name km days" "bar bar price";
  transition:background var(--sm-dur) var(--sm-ease);}
.sm-rlist__link:hover{background:var(--sm-blue-50);}
@media (min-width:820px){
  .sm-rlist__link{grid-template-columns:minmax(180px,1.1fr) minmax(90px,1fr) 84px 92px 120px 32px;
    grid-template-areas:"name bar km days price go";gap:var(--sm-5);}
}
.sm-rlist__name{grid-area:name;font-size:var(--sm-fs-lg);font-weight:700;color:var(--sm-ink);
  line-height:1.25;}
.sm-rlist__from{display:block;font-size:var(--sm-fs-xs);font-weight:500;color:var(--sm-muted);
  letter-spacing:.02em;}
.sm-rlist__link:hover .sm-rlist__name{color:var(--sm-blue);}
.sm-rlist__bar{grid-area:bar;display:block;height:6px;border-radius:3px;
  background:var(--sm-line);overflow:hidden;}
.sm-rlist__bar > span{display:block;height:100%;border-radius:3px;
  background:linear-gradient(90deg,var(--sm-blue) 0%,var(--sm-red) 100%);}
.sm-rlist__km{grid-area:km;font-family:var(--sm-font-display);font-size:var(--sm-fs-sm);
  font-weight:700;color:var(--sm-ink);white-space:nowrap;}
.sm-rlist__days{grid-area:days;font-size:var(--sm-fs-xs);color:var(--sm-muted);white-space:nowrap;}
.sm-rlist__price{grid-area:price;font-size:var(--sm-fs-xs);color:var(--sm-muted);white-space:nowrap;}
.sm-rlist__price b{font-family:var(--sm-font-display);font-size:var(--sm-fs-base);
  color:var(--sm-blue);}
.sm-rlist__go{grid-area:go;display:none;place-items:center;width:30px;height:30px;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-blue);
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease);}
@media (min-width:820px){ .sm-rlist__go{display:grid;} }
.sm-rlist__link:hover .sm-rlist__go{background:var(--sm-blue);color:var(--sm-on-dark);}

/* Переход к региону из карточки в первом экране */
.sm-jump li + li{margin-top:2px;}
.sm-jump a{display:flex;align-items:center;justify-content:space-between;gap:var(--sm-3);
  padding:var(--sm-3);margin-inline:calc(-1 * var(--sm-3));border-radius:var(--sm-radius);
  font-size:var(--sm-fs-sm);font-weight:600;color:var(--sm-ink);text-decoration:none;
  transition:background var(--sm-dur) var(--sm-ease);}
.sm-jump a:hover{background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-jump__count{display:grid;place-items:center;min-width:26px;height:22px;padding-inline:6px;
  border-radius:var(--sm-radius-pill);background:var(--sm-bg-soft);
  font-family:var(--sm-font-display);font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* Нейтральные метки — то, что не является ссылкой */
.sm-tags{display:flex;flex-wrap:wrap;gap:var(--sm-3);}
.sm-tags li{padding:.5em 1.05em;border:1px dashed var(--sm-line);
  border-radius:var(--sm-radius-pill);background:var(--sm-bg);
  font-size:var(--sm-fs-sm);font-weight:600;color:var(--sm-muted);}

/* ==========================================================================
   Первый экран страницы услуги
   ========================================================================== */
.sm-shero{background:linear-gradient(180deg,var(--sm-blue-50) 0%,var(--sm-bg) 100%);
  border-bottom:1px solid var(--sm-line);}
.sm-shero__inner{display:grid;gap:var(--sm-7);padding-block:var(--sm-7) var(--sm-9);}
@media (min-width:1000px){
  .sm-shero__inner{grid-template-columns:1.1fr minmax(320px,420px);gap:var(--sm-9);
    align-items:center;}
}
.sm-shero__eyebrow{display:inline-flex;align-items:center;gap:.5em;margin-bottom:var(--sm-4);
  padding:.4em 1em;border-radius:var(--sm-radius-pill);background:var(--sm-bg);
  border:1px solid var(--sm-line);
  font-size:var(--sm-fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--sm-blue);}
.sm-shero h1{max-width:18ch;}
.sm-shero__lead{margin-top:var(--sm-5);max-width:58ch;font-size:var(--sm-fs-lg);}
.sm-shero__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35em;
  margin-top:var(--sm-6);padding-top:var(--sm-6);border-top:1px solid var(--sm-line);}
.sm-shero__from{font-size:var(--sm-fs-sm);color:var(--sm-muted);}
.sm-shero__price b{font-family:var(--sm-font-display);font-size:2.5rem;font-weight:700;
  color:var(--sm-ink);line-height:1;letter-spacing:-.02em;}
.sm-shero__unit{font-size:var(--sm-fs-lg);font-weight:600;color:var(--sm-muted);}
.sm-shero__note{flex:1 0 100%;margin-top:var(--sm-2);font-size:var(--sm-fs-xs);
  color:var(--sm-muted);}
.sm-shero__media{border-radius:var(--sm-radius-lg);overflow:hidden;box-shadow:var(--sm-shadow);}
.sm-shero__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}

.sm-head--spaced{margin-top:var(--sm-9);}

/* Шаги формы */
.sm-quote__step{margin:0;padding:0;border:0;min-width:0;display:grid;gap:var(--sm-4);}
.sm-quote__step[hidden]{display:none;}
.sm-quote__nav{display:flex;gap:var(--sm-3);align-items:stretch;}
.sm-quote__nav .sm-btn--ghost{flex:0 0 auto;}
.sm-quote__nav [hidden]{display:none;}

/* Локальный блок: правила парковки и прочее, что верно только для города */
.sm-local{display:flex;gap:var(--sm-6);align-items:flex-start;
  padding:var(--sm-7);border:1px solid var(--sm-line);border-left:4px solid var(--sm-red);
  border-radius:var(--sm-radius-lg);background:var(--sm-bg-soft);}
.sm-local__icon{display:grid;place-items:center;width:56px;height:56px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-bg);color:var(--sm-red);box-shadow:var(--sm-shadow-sm);}
.sm-local__title{font-size:var(--sm-fs-h3);}
.sm-local__text{margin-top:var(--sm-3);max-width:76ch;font-size:var(--sm-fs-lg);}
.sm-local__link{margin-top:var(--sm-4);font-size:var(--sm-fs-sm);}
.sm-local__link a{display:inline-flex;align-items:center;gap:.4em;font-weight:600;
  text-decoration:none;}
.sm-local__link a:hover{text-decoration:underline;}
@media (max-width:640px){ .sm-local{flex-direction:column;gap:var(--sm-4);padding:var(--sm-5);} }

/* Строка списка без шкалы — для соседних зон */
@media (min-width:820px){
  .sm-rlist__link--simple{grid-template-columns:1fr auto 32px;
    grid-template-areas:"name km go";}
}

/* ==========================================================================
   Текстовые и служебные страницы
   ========================================================================== */
.sm-phero{padding-block:var(--sm-8) var(--sm-7);
  background:linear-gradient(180deg,var(--sm-blue-50) 0%,var(--sm-bg) 100%);
  border-bottom:1px solid var(--sm-line);}
.sm-phero__lead{margin-top:var(--sm-4);max-width:62ch;font-size:var(--sm-fs-lg);
  color:var(--sm-body);}
.sm-facts--wide{margin-top:var(--sm-7);}

/* Человек в команде */
.sm-person{display:flex;flex-direction:column;padding:var(--sm-6);
  border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);background:var(--sm-bg);}
.sm-person__avatar{display:grid;place-items:center;width:52px;height:52px;
  margin-bottom:var(--sm-5);border-radius:var(--sm-radius);
  background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-person__role{font-size:var(--sm-fs-h4);}
.sm-person__years{margin-top:2px;font-family:var(--sm-font-display);font-size:var(--sm-fs-sm);
  color:var(--sm-red);}
.sm-person__bio{margin-top:var(--sm-3);font-size:var(--sm-fs-sm);}
.sm-person__certs{margin-top:var(--sm-4);padding-top:var(--sm-4);
  border-top:1px dashed var(--sm-line);display:grid;gap:var(--sm-2);}
.sm-person__certs li{display:flex;align-items:center;gap:.45em;
  font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-person__certs svg{flex:0 0 auto;color:var(--sm-success);}

/* Контакты */
.sm-contact{display:grid;gap:var(--sm-7);}
@media (min-width:960px){ .sm-contact{grid-template-columns:1fr minmax(360px,420px);gap:var(--sm-9);align-items:start;} }
.sm-cinfo{display:grid;gap:var(--sm-5);}
.sm-cinfo li{display:flex;gap:var(--sm-4);align-items:flex-start;}
.sm-cinfo__icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-cinfo__label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sm-muted);}
.sm-cinfo__value{display:block;margin-top:2px;font-size:var(--sm-fs-lg);font-weight:700;
  color:var(--sm-ink);text-decoration:none;line-height:1.4;}
a.sm-cinfo__value:hover{color:var(--sm-blue);}
.sm-cinfo__note{display:block;margin-top:var(--sm-2);font-size:var(--sm-fs-xs);
  color:var(--sm-muted);max-width:46ch;}
.sm-contact__form{padding:var(--sm-6);border:1px solid var(--sm-line);
  border-radius:var(--sm-radius-lg);background:var(--sm-bg);box-shadow:var(--sm-shadow-sm);}

/* Фасад карты */
.sm-map{margin-top:var(--sm-7);border:1px solid var(--sm-line);
  border-radius:var(--sm-radius-lg);overflow:hidden;background:var(--sm-bg-soft);
  aspect-ratio:16/9;}
.sm-map__ph{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:var(--sm-3);height:100%;padding:var(--sm-6);text-align:center;
  background-image:
    linear-gradient(var(--sm-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--sm-line) 1px, transparent 1px);
  background-size:34px 34px;background-position:center;}
.sm-map__pin{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:var(--sm-red);color:var(--sm-on-dark);box-shadow:0 6px 18px rgba(205,22,19,.3);}
.sm-map__addr{font-weight:700;color:var(--sm-ink);}
.sm-map__note{max-width:38ch;font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-map iframe{width:100%;height:100%;border:0;display:block;}

/* Поиск и 404 */
.sm-search{display:flex;gap:var(--sm-3);margin-top:var(--sm-6);max-width:520px;}
.sm-search .sm-input{flex:1;}
.sm-404{text-align:center;}
.sm-404 .sm-phero__lead,.sm-404 .sm-search{margin-inline:auto;}
.sm-404__code{font-family:var(--sm-font-display);font-size:clamp(4rem,14vw,8rem);
  font-weight:700;line-height:1;color:var(--sm-blue-50);letter-spacing:-.04em;}

.sm-results__item{border-bottom:1px solid var(--sm-line);}
.sm-results__item a{display:block;padding:var(--sm-5) var(--sm-4);
  margin-inline:calc(-1 * var(--sm-4));border-radius:var(--sm-radius);
  text-decoration:none;transition:background var(--sm-dur) var(--sm-ease);}
.sm-results__item a:hover{background:var(--sm-blue-50);}
.sm-results__kind{display:inline-block;margin-bottom:var(--sm-2);padding:.25em .8em;
  border-radius:var(--sm-radius-pill);background:var(--sm-bg-soft);
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--sm-muted);}
.sm-results__title{display:block;font-size:var(--sm-fs-h4);font-weight:700;color:var(--sm-ink);}
.sm-results__item a:hover .sm-results__title{color:var(--sm-blue);}
.sm-results__text{display:block;margin-top:var(--sm-2);font-size:var(--sm-fs-sm);
  color:var(--sm-body);}

/* Блок соцсетей на контактах: канал плюс объяснение, зачем он */
.sm-socialblock{margin-top:var(--sm-7);padding-top:var(--sm-6);
  border-top:1px solid var(--sm-line);}
.sm-socialblock__title{margin-bottom:var(--sm-4);font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--sm-muted);}
.sm-socialblock__list{display:grid;gap:var(--sm-1);}
.sm-socialblock__list a{display:flex;align-items:center;gap:var(--sm-4);
  padding:var(--sm-3);margin-inline:calc(-1 * var(--sm-3));border-radius:var(--sm-radius);
  text-decoration:none;transition:background var(--sm-dur) var(--sm-ease);}
.sm-socialblock__list a:hover{background:var(--sm-blue-50);}
.sm-socialblock__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-bg-soft);color:var(--sm-blue-900);
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease);}
.sm-socialblock__list a:hover .sm-socialblock__icon{background:var(--sm-blue);color:var(--sm-on-dark);}
.sm-socialblock__name{display:block;font-size:var(--sm-fs-sm);font-weight:700;
  color:var(--sm-ink);}
.sm-socialblock__why{display:block;margin-top:1px;font-size:var(--sm-fs-xs);
  color:var(--sm-muted);}

/* ==========================================================================
   Хронология и карточки доверия
   ========================================================================== */
.sm-timeline{position:relative;display:grid;gap:var(--sm-6);}
.sm-timeline__item{position:relative;display:grid;gap:var(--sm-2) var(--sm-6);
  padding-left:0;grid-template-columns:1fr;}
@media (min-width:720px){
  .sm-timeline{gap:0;}
  .sm-timeline__item{grid-template-columns:120px 1fr;padding-bottom:var(--sm-7);}
  /* Линия соединяет годы; на последнем элементе обрывается */
  .sm-timeline__item::before{content:"";position:absolute;left:9px;top:26px;bottom:0;
    width:2px;background:var(--sm-line);}
  .sm-timeline__item:last-child::before{display:none;}
  .sm-timeline__item:last-child{padding-bottom:0;}
}
.sm-timeline__year{position:relative;display:inline-flex;align-items:center;gap:var(--sm-3);
  font-family:var(--sm-font-display);font-size:var(--sm-fs-h4);font-weight:700;
  color:var(--sm-blue);line-height:1.2;}
@media (min-width:720px){
  .sm-timeline__year{padding-left:var(--sm-6);}
  .sm-timeline__year::before{content:"";position:absolute;left:0;top:6px;
    width:20px;height:20px;border-radius:50%;background:var(--sm-bg);
    border:3px solid var(--sm-blue);}
}
.sm-timeline__title{font-size:var(--sm-fs-h4);}
.sm-timeline__text{margin-top:var(--sm-2);max-width:66ch;font-size:var(--sm-fs-sm);}

.sm-trustcard{display:flex;flex-direction:column;padding:var(--sm-6);
  border:1px solid var(--sm-line);border-left:4px solid var(--sm-blue);
  border-radius:var(--sm-radius-lg);background:var(--sm-bg);}
.sm-trustcard__icon{display:grid;place-items:center;width:44px;height:44px;
  margin-bottom:var(--sm-4);border-radius:var(--sm-radius);
  background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-trustcard__title{font-size:var(--sm-fs-h4);}
.sm-trustcard__text{margin-top:var(--sm-3);font-size:var(--sm-fs-sm);}

/* Подпись «кто отвечает и когда сверяли» */
.sm-byline{display:flex;align-items:flex-start;gap:var(--sm-3);
  margin-top:var(--sm-7);padding-top:var(--sm-5);border-top:1px solid var(--sm-line);
  font-size:var(--sm-fs-xs);color:var(--sm-muted);line-height:1.6;}
.sm-byline__icon{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-success);}
.sm-byline time{color:var(--sm-body);}
.sm-byline a{font-weight:600;}

/* ==========================================================================
   Гиды
   ========================================================================== */
.sm-ghero{padding-block:var(--sm-8) var(--sm-7);
  background:linear-gradient(180deg,var(--sm-blue-50) 0%,var(--sm-bg) 100%);
  border-bottom:1px solid var(--sm-line);}
.sm-ghero h1{max-width:22ch;}
.sm-ghero__meta{display:flex;align-items:center;gap:var(--sm-4);
  margin-top:var(--sm-6);padding-top:var(--sm-5);border-top:1px solid var(--sm-line);}
.sm-ghero__avatar{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-bg);border:1px solid var(--sm-line);color:var(--sm-blue);}
.sm-ghero__author{display:block;font-size:var(--sm-fs-sm);font-weight:700;color:var(--sm-ink);}
.sm-ghero__sub{display:block;margin-top:2px;font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* Короткий ответ выше сгиба */
.sm-keyfacts{padding:var(--sm-6);border:1px solid var(--sm-line);
  border-left:4px solid var(--sm-blue);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg-soft);}
.sm-keyfacts__title{margin-bottom:var(--sm-4);font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--sm-muted);}
.sm-keyfacts__list{margin:0;display:grid;gap:var(--sm-3);}
.sm-keyfacts__row{display:grid;gap:var(--sm-1) var(--sm-5);
  padding-bottom:var(--sm-3);border-bottom:1px solid var(--sm-line);}
@media (min-width:560px){ .sm-keyfacts__row{grid-template-columns:120px 1fr;align-items:baseline;} }
.sm-keyfacts__row:last-child{border-bottom:0;padding-bottom:0;}
.sm-keyfacts dt{font-size:var(--sm-fs-xs);font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--sm-blue);}
.sm-keyfacts dd{margin:0;font-size:var(--sm-fs-base);color:var(--sm-ink);font-weight:600;}

/* Блок об авторе */
.sm-authorbox{display:flex;gap:var(--sm-5);align-items:flex-start;
  margin-top:var(--sm-8);padding:var(--sm-6);border:1px solid var(--sm-line);
  border-radius:var(--sm-radius-lg);background:var(--sm-bg);}
.sm-authorbox__avatar{display:grid;place-items:center;width:56px;height:56px;flex:0 0 auto;
  border-radius:50%;background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-authorbox__name{font-size:var(--sm-fs-h4);font-weight:700;color:var(--sm-ink);}
.sm-authorbox__role{margin-top:2px;font-size:var(--sm-fs-xs);color:var(--sm-red);
  font-family:var(--sm-font-display);}
.sm-authorbox__bio{margin-top:var(--sm-3);font-size:var(--sm-fs-sm);}
.sm-authorbox__review{display:flex;align-items:center;flex-wrap:wrap;gap:.4em;
  margin-top:var(--sm-4);padding-top:var(--sm-3);border-top:1px dashed var(--sm-line);
  font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-authorbox__review svg{color:var(--sm-success);}
@media (max-width:600px){ .sm-authorbox{flex-direction:column;gap:var(--sm-4);} }

/* Карточка гида */
.sm-gcard{display:flex;flex-direction:column;padding:var(--sm-6);
  border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);background:var(--sm-bg);
  text-decoration:none;
  transition:border-color var(--sm-dur) var(--sm-ease),box-shadow var(--sm-dur) var(--sm-ease),
             transform var(--sm-dur) var(--sm-ease);}
.sm-gcard:hover{border-color:var(--sm-blue);box-shadow:var(--sm-shadow);transform:translateY(-2px);}
.sm-gcard__meta{display:flex;gap:.5em;font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-gcard__title{margin-top:var(--sm-3);font-size:var(--sm-fs-h4);color:var(--sm-ink);}
.sm-gcard:hover .sm-gcard__title{color:var(--sm-blue);}
.sm-gcard__text{margin-top:var(--sm-3);font-size:var(--sm-fs-sm);}
.sm-gcard__go{display:inline-flex;align-items:center;gap:.4em;margin-top:auto;
  padding-top:var(--sm-5);font-size:var(--sm-fs-xs);font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--sm-blue);}
.sm-gcard__go svg{transition:transform var(--sm-dur) var(--sm-ease);}
.sm-gcard:hover .sm-gcard__go svg{transform:translateX(3px);}

/* ==========================================================================
   Блог: пагинация, категории, крупная запись
   ========================================================================== */
.sm-pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:var(--sm-3);margin-top:var(--sm-8);padding-top:var(--sm-6);
  border-top:1px solid var(--sm-line);}
.sm-pager__list{display:flex;align-items:center;gap:var(--sm-1);}
.sm-pager__list a,.sm-pager__current{display:grid;place-items:center;
  min-width:40px;height:40px;padding-inline:var(--sm-2);border-radius:var(--sm-radius);
  font-size:var(--sm-fs-sm);font-weight:600;text-decoration:none;}
.sm-pager__list a{color:var(--sm-ink);
  transition:background var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease);}
.sm-pager__list a:hover{background:var(--sm-blue-50);color:var(--sm-blue);}
.sm-pager__current{background:var(--sm-blue);color:var(--sm-on-dark);}
.sm-pager__gap{color:var(--sm-muted);padding-inline:var(--sm-1);}
.sm-pager__step{display:inline-flex;align-items:center;height:40px;padding-inline:var(--sm-5);
  border:1px solid var(--sm-line);border-radius:var(--sm-radius-pill);
  font-size:var(--sm-fs-sm);font-weight:600;color:var(--sm-ink);text-decoration:none;
  transition:border-color var(--sm-dur) var(--sm-ease),color var(--sm-dur) var(--sm-ease);}
.sm-pager__step:hover{border-color:var(--sm-blue);color:var(--sm-blue);}

.sm-areas--cats{margin-top:var(--sm-7);}
.sm-areas--cats a[aria-current]{background:var(--sm-blue);border-color:var(--sm-blue);color:var(--sm-on-dark);}

.sm-feature{display:grid;overflow:hidden;border:1px solid var(--sm-line);
  border-radius:var(--sm-radius-lg);background:var(--sm-bg);text-decoration:none;
  transition:border-color var(--sm-dur) var(--sm-ease),box-shadow var(--sm-dur) var(--sm-ease);}
@media (min-width:820px){ .sm-feature{grid-template-columns:1.2fr 1fr;align-items:stretch;} }
.sm-feature:hover{border-color:var(--sm-blue);box-shadow:var(--sm-shadow);}
.sm-feature__media{display:block;overflow:hidden;background:var(--sm-blue-900);
  aspect-ratio:16/8;}
@media (min-width:820px){ .sm-feature__media{aspect-ratio:auto;height:100%;} }
.sm-feature__media img{width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--sm-ease);}
.sm-feature:hover .sm-feature__media img{transform:scale(1.04);}
.sm-feature__body{display:flex;flex-direction:column;gap:var(--sm-3);padding:var(--sm-7);}
.sm-feature__cat{padding:.2em .7em;border-radius:var(--sm-radius-pill);
  background:var(--sm-blue-50);color:var(--sm-blue-900);
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.sm-feature__title{font-size:var(--sm-fs-h3);font-weight:700;color:var(--sm-ink);
  line-height:1.2;letter-spacing:-.02em;}
.sm-feature:hover .sm-feature__title{color:var(--sm-blue);}
.sm-feature__text{font-size:var(--sm-fs-sm);color:var(--sm-body);}
.sm-authorwrap{margin-inline:auto;}

/* ==========================================================================
   Калькулятор
   ========================================================================== */
.sm-calcwrap{display:grid;gap:var(--sm-7);align-items:start;}
@media (min-width:960px){ .sm-calcwrap{grid-template-columns:1fr minmax(320px,380px);gap:var(--sm-9);} }
.sm-calc{display:grid;gap:var(--sm-7);}
.sm-calc__group{margin:0;padding:0;border:0;min-width:0;}
.sm-calc__group[hidden]{display:none;}
.sm-calc__legend{padding:0;margin-bottom:var(--sm-4);
  font-size:var(--sm-fs-h4);font-weight:700;color:var(--sm-ink);letter-spacing:-.01em;}

/* Радио-карточки */
.sm-choice{display:grid;gap:var(--sm-4);}
@media (min-width:520px){ .sm-choice{grid-template-columns:1fr 1fr;} }
.sm-choice__item{display:block;cursor:pointer;}
.sm-choice__item input{position:absolute;opacity:0;width:0;height:0;}
.sm-choice__box{display:block;padding:var(--sm-5);border:1px solid var(--sm-line);
  border-radius:var(--sm-radius-lg);background:var(--sm-bg);
  transition:border-color var(--sm-dur) var(--sm-ease),box-shadow var(--sm-dur) var(--sm-ease);}
.sm-choice__item:hover .sm-choice__box{border-color:var(--sm-blue);}
.sm-choice__item input:checked + .sm-choice__box{border-color:var(--sm-blue);
  box-shadow:0 0 0 3px rgba(0,114,188,.12);background:var(--sm-blue-50);}
.sm-choice__item input:focus-visible + .sm-choice__box{outline:3px solid var(--sm-blue);
  outline-offset:2px;}
.sm-choice__title{display:block;font-size:var(--sm-fs-lg);font-weight:700;color:var(--sm-ink);}
.sm-choice__note{display:block;margin-top:2px;font-size:var(--sm-fs-xs);color:var(--sm-muted);}

/* Чекбоксы */
.sm-checks{display:grid;gap:var(--sm-3);}
@media (min-width:520px){ .sm-checks{grid-template-columns:1fr 1fr;} }
.sm-checks__item{display:flex;align-items:center;gap:var(--sm-3);
  padding:var(--sm-3) var(--sm-4);border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);background:var(--sm-bg);cursor:pointer;
  font-size:var(--sm-fs-sm);transition:border-color var(--sm-dur) var(--sm-ease);}
.sm-checks__item:hover{border-color:var(--sm-blue);}
.sm-checks__item input{width:18px;height:18px;accent-color:var(--sm-blue);flex:0 0 auto;}
.sm-checks__item:has(input:checked){border-color:var(--sm-blue);background:var(--sm-blue-50);}

/* Результат */
.sm-result{position:sticky;top:calc(var(--sm-header-h) + 16px);
  padding:var(--sm-6);border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg);box-shadow:var(--sm-shadow);}
@media (max-width:959px){ .sm-result{position:static;} }
.sm-result__label{font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sm-muted);}
.sm-result__range{margin-top:var(--sm-2);font-family:var(--sm-font-display);
  font-size:clamp(1.75rem,4vw,2.375rem);font-weight:700;color:var(--sm-blue);
  line-height:1.1;letter-spacing:-.02em;}
.sm-result__mode{margin-top:var(--sm-2);font-size:var(--sm-fs-xs);color:var(--sm-muted);}
.sm-result__lines{margin:var(--sm-5) 0;display:grid;grid-template-columns:1fr auto;
  gap:var(--sm-2) var(--sm-4);padding-block:var(--sm-4);
  border-block:1px solid var(--sm-line);font-size:var(--sm-fs-sm);}
.sm-result__lines dt{color:var(--sm-body);}
.sm-result__lines dd{margin:0;font-weight:600;color:var(--sm-ink);text-align:right;}
.sm-result__note{display:flex;gap:var(--sm-2);align-items:flex-start;
  margin-bottom:var(--sm-5);font-size:var(--sm-fs-xs);color:var(--sm-muted);line-height:1.5;}
.sm-result__note svg{flex:0 0 auto;margin-top:.15em;color:var(--sm-success);}
.sm-result__call{display:flex;align-items:center;justify-content:center;gap:.45em;
  margin-top:var(--sm-3);font-size:var(--sm-fs-sm);font-weight:700;
  color:var(--sm-ink);text-decoration:none;}
.sm-result__call svg{color:var(--sm-red);}

/* Таблица ставок */
.sm-tablewrap{overflow-x:auto;border:1px solid var(--sm-line);border-radius:var(--sm-radius-lg);
  background:var(--sm-bg);}
.sm-table{width:100%;border-collapse:collapse;font-size:var(--sm-fs-sm);}
.sm-table th,.sm-table td{padding:var(--sm-4) var(--sm-5);text-align:left;
  border-bottom:1px solid var(--sm-line);}
.sm-table thead th{background:var(--sm-bg-soft);font-size:var(--sm-fs-xs);
  letter-spacing:.06em;text-transform:uppercase;color:var(--sm-muted);}
.sm-table tbody th{font-weight:600;color:var(--sm-ink);}
.sm-table td:nth-child(2){font-family:var(--sm-font-display);font-weight:700;
  color:var(--sm-blue);white-space:nowrap;}
.sm-table tbody tr:last-child th,.sm-table tbody tr:last-child td{border-bottom:0;}

/* Таблица цен маршрута (блок sm/route-price-table) */
.sm-pricetable__head{margin-bottom:var(--sm-4);font-size:var(--sm-fs-xs);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--sm-muted);}
.sm-pricetable__note{display:flex;gap:var(--sm-2);align-items:flex-start;
  margin-top:var(--sm-4);font-size:var(--sm-fs-xs);color:var(--sm-muted);line-height:1.5;}
.sm-pricetable__note svg{flex:0 0 auto;margin-top:.15em;color:var(--sm-success);}

/* Подсказка редактору, когда блок стоит не там или поле пустое */
.sm-block-notice{padding:var(--sm-4) var(--sm-5);border:1px dashed var(--sm-red);
  border-radius:var(--sm-radius);background:var(--sm-error-bg);
  font-size:var(--sm-fs-sm);color:var(--sm-red-700);}

/* --- WhatsApp в мобильной панели действий (§16.2) ------------------------- */
.sm-actionbar--3 a{font-size:var(--sm-fs-xs);padding-left:var(--sm-2);padding-right:var(--sm-2);}
.sm-actionbar__wa{background:var(--sm-success);color:var(--sm-on-dark);}

/* --- Кейс: фото и цитата клиента ----------------------------------------- */
.sm-casephoto{margin:0;}
.sm-casephoto img{width:100%;height:auto;border-radius:var(--sm-radius);display:block;}
.sm-casephoto figcaption{margin-top:var(--sm-2);font-size:var(--sm-fs-sm);color:var(--sm-muted);}
.sm-casequote{margin:0;padding:var(--sm-5) var(--sm-6);border-left:3px solid var(--sm-blue);
  background:var(--sm-bg);border-radius:var(--sm-radius);}
.sm-casequote p{margin:0;font-size:var(--sm-fs-lg);line-height:var(--sm-lh-snug);color:var(--sm-ink);}
.sm-casequote cite{display:block;margin-top:var(--sm-3);font-size:var(--sm-fs-sm);
  font-style:normal;color:var(--sm-muted);}
