/* footer: v4-ft */
.v4-ft{--navy:#323232;--navy-d:#1a1a1a;font-family:'Inter',sans-serif;background:var(--navy);color:rgba(255,255,255,.65);padding:64px 0 0}
.v4-ft__top{display:grid;grid-template-columns:1.1fr 2fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
.v4-ft__brand{display:flex;flex-direction:column;gap:8px}
.v4-ft__logo{font-size:19px;font-weight:400;color:#fff;letter-spacing:2px;margin-bottom:6px}
.v4-ft__desc{font-size:13.5px;color:rgba(255,255,255,.65);margin-bottom:6px}
.v4-ft__addr{font-size:13px;line-height:1.6;color:rgba(255,255,255,.65);margin-bottom:10px}
.v4-ft__tel{font-size:17px;font-weight:800;color:#fff;text-decoration:none}
.v4-ft__tel:hover{color:#fff}
.v4-ft__mail{font-size:13.5px;color:rgba(255,255,255,.65);text-decoration:none;margin-bottom:14px}
.v4-ft__mail:hover{color:#fff}
.v4-btn-red{background:var(--red);color:#fff;padding:12px 20px;font-size:13.5px;font-weight:700;font-family:inherit;border:none;cursor:pointer;display:inline-flex;width:fit-content;margin:6px 0 10px;transition:background .18s,transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .2s}
.v4-btn-red:hover{background:var(--red-h);transform:translateY(-2px);box-shadow:0 18px 44px rgba(20,30,50,.16)}
.v4-ft__regions{font-size:12.5px;font-weight:700;color:#fff;text-decoration:none;width:fit-content;border-bottom:1px solid rgba(255,255,255,.3)}
.v4-ft__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.v4-ft__col{display:flex;flex-direction:column;gap:10px}
.v4-ft__col h4{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:4px}
.v4-ft__col a{font-size:13.5px;color:rgba(255,255,255,.65);text-decoration:none;transition:color .15s}
.v4-ft__col a:hover{color:#fff}
.v4-ft__more{color:#fff !important;font-weight:700}
.v4-ft__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:22px 0;font-size:12px;color:rgba(255,255,255,.45)}
.v4-ft__legal{display:flex;gap:20px}
.v4-ft__legal a{color:rgba(255,255,255,.45);text-decoration:none}
.v4-ft__legal a:hover{color:#fff}
@media(max-width:900px){ .v4-ft__top{grid-template-columns:1fr;gap:32px} .v4-ft__cols{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .v4-ft__cols{grid-template-columns:1fr} }
.v4-ft .wrap{padding-left:40px;padding-right:40px}


.pp-wrap { padding: 0; overflow-x: hidden; }
.pp-seo { padding: 64px 0; background: #fff; }
.pp-seo__wrap { max-width: 1280px; margin: 0 auto; padding: 0 40px; }

.ppx-rows { display:flex; flex-direction:column; }
.ppx-row { padding:32px 0; border-top:1px solid var(--line); }
.ppx-row:last-child { border-bottom:1px solid var(--line); }
.ppx-body { min-width:0; }
.ppx-title { font-size:20px; font-weight:800; color:var(--navy); margin-bottom:10px; max-width:640px; }
.ppx-lead { font-size:15px; line-height:1.7; color:var(--muted); max-width:820px; margin:0 0 8px; }
.ppx-lead b { color:var(--navy); }

.ppx-list { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 32px; margin:12px 0 0; padding:0; }
.ppx-list li { font-size:14px; color:var(--muted); line-height:1.6; padding-left:14px; position:relative; }
.ppx-list li::before { content:''; position:absolute; left:0; top:9px; width:4px; height:4px; border-radius:50%; background:var(--red); opacity:.65; }
.ppx-list--single { grid-template-columns:1fr; gap:10px; }
.ppx-list--check li { padding-left:26px; }
.ppx-list--check li b { color:var(--navy); }
.ppx-list--check li::before { top:1px; width:16px; height:16px; border-radius:50%; opacity:1; background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.3l3 3 6-6.6' stroke='white' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/9px no-repeat; }
.ppx-steps { list-style:none; display:flex; flex-direction:column; gap:10px; margin:14px 0 0; padding:0; counter-reset:step; }
.ppx-steps li { font-size:14px; color:var(--muted); line-height:1.5; padding-left:34px; position:relative; counter-increment:step; }
.ppx-steps li::before { content:counter(step); position:absolute; left:0; top:-1px; width:22px; height:22px; border-radius:50%; background:var(--navy); color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }
@media(max-width:700px){ .ppx-list { grid-template-columns:1fr; } }

/* что включает в услугу: rt-steps (карточки с номером) */
.rt-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px; }
.rt-steps__card{ position:relative; background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 16px; display:flex; align-items:flex-start; gap:12px; text-align:left; transition:box-shadow .18s,transform .18s; }
.rt-steps__card:hover{ box-shadow:0 14px 30px rgba(20,30,50,.1); transform:translateY(-3px); }
.rt-steps__num{ position:absolute; top:-10px; left:-10px; width:26px; height:26px; border-radius:50%; background:var(--navy); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(0,0,0,.2); }
.rt-steps__ico{ width:60px; height:60px; flex:none; display:flex; align-items:center; justify-content:center; margin-top:2px; }
.rt-steps__ico svg, .rt-steps__ico img{ width:100%; height:100%; }
.rt-steps__body{ min-width:0; }
.rt-steps__title{ font-size:13.5px; font-weight:800; color:var(--navy); margin-bottom:6px; }
.rt-steps__text{ font-size:12px; color:var(--muted); line-height:1.5; }
@media(max-width:860px){ .rt-steps{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .rt-steps{ grid-template-columns:1fr; } }

.ppx-phone-inline { display:inline-flex; align-items:center; gap:5px; background:rgba(168,35,25,.08); color:var(--red); font-weight:800; text-decoration:none; padding:2px 10px 2px 6px; border-radius:999px; white-space:nowrap; transition:background .15s; }
.ppx-phone-inline svg { flex:none; }
.ppx-phone-inline:hover { background:rgba(168,35,25,.16); }

.ppx-discount { background:#fff; padding:0 0 64px; }
.ppx-discount__wrap { max-width:1280px; margin:0 auto; padding:0 40px; }
.ppx-discount__grid { display:grid; grid-template-columns:300px 1fr; gap:0; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 0 24px rgba(20,30,50,.10); }
.ppx-discount__stat { position:relative; background:var(--navy); padding:40px 32px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; overflow:hidden; }
.ppx-discount__stat-decor { position:absolute; top:-30px; right:-10px; font-size:190px; font-weight:800; line-height:1; color:rgba(255,255,255,.06); z-index:0; pointer-events:none; user-select:none; }
.ppx-discount__stat-logo { position:absolute; top:24px; left:32px; font-size:13px; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:#fff; z-index:1; }
.ppx-discount__stat-num { font-size:clamp(56px,7vw,76px); font-weight:800; line-height:.9; color:#fff; letter-spacing:-1px; display:flex; align-items:baseline; gap:8px; position:relative; z-index:1; }
.ppx-discount__stat-unit { font-size:18px; font-weight:700; color:var(--red); }
.ppx-discount__stat-label { margin-top:10px; font-size:14px; line-height:1.5; color:rgba(255,255,255,.72); max-width:220px; position:relative; z-index:1; }
.ppx-discount__stat-note { margin-top:16px; font-size:12px; line-height:1.5; color:rgba(255,255,255,.5); max-width:220px; position:relative; z-index:1; }
.ppx-discount__content { padding:40px 44px; display:flex; flex-direction:column; justify-content:center; }
.ppx-discount__h2 { font-size:clamp(20px,2vw,27px); font-weight:800; color:var(--navy); line-height:1.22; margin:0 0 8px; }
.ppx-discount__h2 b { color:var(--red); }
.ppx-discount__text { font-size:14px; color:var(--muted); line-height:1.55; margin:0 0 20px; max-width:560px; }
.ppx-discount__list { list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:row; flex-wrap:wrap; gap:10px 28px; }
.ppx-discount__item { display:flex; align-items:center; gap:12px; font-size:14px; }
.ppx-discount__item-ico { flex:none; width:18px; height:18px; display:flex; align-items:center; justify-content:center; }
.ppx-discount__item a { color:var(--navy); font-weight:700; text-decoration:none; transition:color .18s; }
.ppx-discount__item a:hover { color:var(--red); }
.ppx-discount__actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.ppx-discount__cta { display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; border-radius:999px; padding:14px 26px; font-size:14.5px; font-weight:700; text-decoration:none; border:none; cursor:pointer; font-family:inherit; transition:background .18s,transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .2s; }
.ppx-discount__cta:hover { background:var(--red-h); transform:translateY(-2px); box-shadow:0 18px 44px rgba(20,30,50,.16); }
.ppx-discount__phone { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.ppx-discount__phone-ico { flex:none; width:40px; height:40px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; }
.ppx-discount__phone-num { display:block; font-size:15px; font-weight:800; color:var(--navy); transition:color .18s; }
.ppx-discount__phone-label { display:block; font-size:12px; color:var(--muted); }
.ppx-discount__phone:hover .ppx-discount__phone-num { color:var(--red); }
@media(max-width:860px) {
  .ppx-discount__grid { grid-template-columns:1fr; border-radius:20px; }
  .ppx-discount__stat { padding:56px 28px 28px; }
  .ppx-discount__stat-label { max-width:none; }
  .ppx-discount__content { padding:32px 28px; }
  .ppx-discount__wrap { padding:0 20px; }
  .ppx-discount { padding:0 0 48px; }
}

/* КОМПОНЕНТ: cp6 */
.cp6{ padding:0; font-family:Inter,sans-serif; }
.cp6__top{ margin-bottom:24px; max-width:720px; }
.cp6__sub{ font-size:15px; color:var(--muted); line-height:1.6; }
.cp6__body{ display:grid; grid-template-columns:340px 1fr; gap:0; align-items:stretch; border-radius:20px; overflow:hidden; box-shadow:0 0 30px rgba(20,30,50,.12); }
.cp6__stat{ background:linear-gradient(160deg,var(--navy) 0%,#1a1a1a 100%); color:#fff; padding:40px 32px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.cp6__stat::after{ content:'А'; position:absolute; top:-34px; right:-14px; font-size:200px; font-weight:800; line-height:1; color:rgba(255,255,255,.055); pointer-events:none; user-select:none; z-index:0; }
.cp6__stat > *{ position:relative; z-index:1; }
.cp6__stat-logo{ position:absolute; top:24px; left:32px; font-size:12.5px; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:#fff; }
.cp6__stat-num{ font-size:clamp(56px,7vw,76px); font-weight:800; line-height:.9; letter-spacing:-1px; display:flex; align-items:baseline; gap:8px; }
.cp6__stat-unit{ font-size:18px; font-weight:700; color:var(--red); text-transform:uppercase; }
.cp6__stat-label{ font-size:17px; font-weight:700; margin-top:10px; margin-bottom:14px; }
.cp6__stat-text{ font-size:14px; line-height:1.6; color:rgba(255,255,255,.88); margin-bottom:24px; }
.cp6__stat-foot{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.95); padding-top:18px; border-top:1px solid rgba(255,255,255,.25); }
.cp6__stat-foot svg{ flex:none; }
.cp6__cta{ display:inline-flex; align-items:center; gap:10px; margin-top:22px; align-self:flex-start; background:rgba(255,255,255,.1); color:#fff; border:1.5px solid rgba(255,255,255,.3); border-radius:999px; padding:12px 24px; font:700 13.5px inherit; cursor:pointer; transition:background .18s,border-color .18s,transform .16s cubic-bezier(.22,.61,.36,1); }
.cp6__cta:hover{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.5); transform:translateY(-2px); }
.cp6__listcard{ background:#fff; padding:18px; border-radius:0 20px 20px 0; }
.cp6__list{ list-style:none; margin:0; background:#fff; border-radius:14px; overflow:hidden; display:grid; grid-template-columns:repeat(2,1fr); grid-auto-flow:dense; gap:0; }
.cp6__item{ border-bottom:1px solid var(--line); display:flex; align-items:flex-start; gap:14px; padding:16px 24px; background:#fff; position:relative; z-index:0; transition:background .16s,transform .16s,box-shadow .16s; }
.cp6__item:nth-child(odd){ border-right:1px solid var(--line); }
.cp6__item:nth-last-child(-n+2){ border-bottom:none; }
.cp6__item:hover{ background:#fff; transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,20,20,.08); z-index:1; }
.cp6__item-title{ font-size:14.5px; font-weight:700; color:var(--navy); line-height:1.3; margin-bottom:3px; }
.cp6__item-text{ font-size:13px; color:var(--muted); line-height:1.55; }
@media(max-width:900px){
  .cp6__body{ grid-template-columns:1fr; border-radius:16px; }
  .cp6__listcard{ border-radius:0 0 16px 16px; }
  .cp6__stat{ padding:56px 24px 24px; }
  .cp6__stat-num{ font-size:56px; }
}
@media(max-width:560px){
  .cp6__item{ padding:14px 16px; }
  .cp6__list{ grid-template-columns:1fr; }
  .cp6__item:nth-child(odd){ border-right:none; }
  .cp6__item:nth-last-child(-n+2){ border-bottom:1px solid var(--line); }
  .cp6__item:last-child{ border-bottom:none; }
}

/* автопарк: rt-card (в стиле nsg-card/pmk-menu) */
.rt-card{ position:relative; overflow:hidden; background:var(--navy); border-radius:20px; padding:44px 48px; box-shadow:0 0 30px rgba(20,30,50,.14); display:grid; grid-template-columns:1fr 1.2fr; gap:44px; align-items:stretch; margin-top:16px; }
.rt-card__decor{ position:absolute; top:-34px; right:-14px; font-size:200px; font-weight:800; line-height:1; color:rgba(255,255,255,.05); pointer-events:none; user-select:none; z-index:0; }
.rt-card__main{ position:relative; z-index:1; min-width:0; display:flex; flex-direction:column; }
.rt-card__side{ position:relative; z-index:1; min-width:0; align-self:start; }
.rt-card__side-text{ margin-top:24px; }
.rt-card__side-text .rt-card__slogan{ margin-bottom:0; }
.rt-card__side-divider{ height:1px; background:rgba(255,255,255,.12); margin:18px 0; }
.rt-card__tabs{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-bottom:20px; }
.rt-card__tab{ min-width:0; background:rgba(255,255,255,.06); border:1.5px solid transparent; border-radius:12px; padding:12px 16px; text-align:left; cursor:pointer; font-family:inherit; transition:.15s; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.rt-card__tab:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.32); }
.rt-card__tab.is-active{ border-color:var(--red); background:rgba(168,35,25,.16); }
.rt-card__tab-text{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rt-card__tab-name{ font-size:13px; font-weight:800; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rt-card__tab-cap{ font-size:11.5px; font-weight:600; color:rgba(255,255,255,.55); }
.rt-card__tab.is-active .rt-card__tab-cap{ color:rgba(255,255,255,.8); }
.rt-card__tab-price{ font-size:12.5px; font-weight:700; color:rgba(255,255,255,.65); white-space:nowrap; flex-shrink:0; }
.rt-card__tab.is-active .rt-card__tab-price{ color:#fff; }
@media(max-width:480px){ .rt-card__tabs{ grid-template-columns:1fr; } }
.rt-card__slogan{ font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.6); margin-bottom:20px; }
.rt-card__slogan b{ color:#fff; }
.rt-card__cta{ align-self:flex-start; display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; border-radius:999px; padding:14px 26px; font-size:14px; font-weight:700; border:none; cursor:pointer; font-family:inherit; transition:background .18s,transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .2s; margin-bottom:16px; }
.rt-card__cta:hover{ background:var(--red-h); transform:translateY(-2px); box-shadow:0 18px 44px rgba(0,0,0,.3); }
.rt-card__note{ font-size:12.5px; color:rgba(255,255,255,.5); }
.rt-card__note a{ color:#fff; font-weight:700; text-decoration:none; white-space:nowrap; }
.rt-card__note a:hover{ color:#ff6a5a; }
.rt-card__panel{ background:#fff; border-radius:16px; padding:28px; box-shadow:0 10px 30px rgba(0,0,0,.22); box-sizing:border-box; display:flex; flex-direction:column; }
.rt-card__panel-img{ width:100%; height:180px; flex:none; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.rt-card__panel-img img{ max-width:98%; max-height:98%; object-fit:contain; }
.rt-card__panel-name{ font-size:20px; font-weight:800; color:var(--navy); margin-bottom:6px; }
.rt-card__panel-cap{ font-size:13.5px; color:var(--muted); margin-bottom:12px; }
.rt-card__panel-desc{ font-size:13.5px; color:var(--muted); line-height:1.55; margin:0 0 18px; }
.rt-card__panel-footer{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.rt-card__panel-price{ font-size:28px; font-weight:800; color:var(--navy); white-space:nowrap; }
.rt-card__panel-price span{ font-size:13px; font-weight:600; color:var(--muted); }
.rt-card__panel-btn{ flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--red); color:#fff; border:none; border-radius:999px; padding:9px 18px; font-size:12.5px; font-weight:700; font-family:inherit; cursor:pointer; transition:background .18s,transform .16s cubic-bezier(.22,.61,.36,1); }
.rt-card__panel-btn:hover{ background:var(--red-h); transform:translateY(-2px); }
@media(max-width:900px){ .rt-card{ grid-template-columns:1fr; padding:40px 28px; } }
.rt-card__routes{ margin:20px 0 18px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }
.rt-card__routes .ab-route__lead{ max-width:none; margin-bottom:16px; }
.rt-card__routes .ab-route__stops{ margin-bottom:0; }

/* особенности автобуса: ab-feat */
.ab-feat{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:20px; }
.ab-feat__card{ background:var(--navy); border-radius:16px; padding:22px 24px; box-shadow:0 6px 20px rgba(20,30,50,.12); transition:transform .18s var(--ease),box-shadow .2s; }
.ab-feat__card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(20,30,50,.22); }
.ab-feat__title{ font-size:14.5px; font-weight:800; color:#fff; margin-bottom:6px; }
.ab-feat__text{ font-size:13.5px; color:rgba(255,255,255,.65); line-height:1.55; }
@media(max-width:700px){ .ab-feat{ grid-template-columns:1fr; } }

/* конструктор маршрута: ab-route (графитовая карточка) */
.ab-route__lead{ font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.6); max-width:640px; margin:0 0 22px; }
.ab-route__hint{ font-size:12px; font-weight:800; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.03em; margin-bottom:14px; }
.ab-route__stops{ display:flex; flex-direction:column; gap:10px; margin-bottom:22px; }
.ab-route__opt{ display:flex; align-items:center; gap:14px; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.14); border-radius:14px; padding:14px 18px; cursor:pointer; font-family:inherit; text-align:left; width:100%; max-width:100%; box-sizing:border-box; transition:border-color .15s,background .15s; }
.ab-route__opt:hover{ border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.1); }
.ab-route__opt.is-active{ background:rgba(168,35,25,.16); border-color:var(--red); }
.ab-route__num{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:12px; font-weight:800; transition:background .15s,transform .18s; }
.ab-route__opt:hover .ab-route__num{ background:rgba(255,255,255,.2); }
.ab-route__opt.is-active .ab-route__num{ background:var(--red); animation:abRouteIn .18s ease; }
.ab-route__opt-steps{ min-width:0; font-size:13px; font-weight:700; line-height:1.7; overflow-wrap:anywhere; }
.ab-route__opt-step{ color:rgba(255,255,255,.75); transition:color .15s; }
.ab-route__opt.is-active .ab-route__opt-step{ color:#fff; }
.ab-route__opt-sep{ color:rgba(255,255,255,.28); font-weight:400; margin:0 5px; }
@keyframes abRouteIn{ from{ opacity:0; transform:scale(.3); } to{ opacity:1; transform:scale(1); } }
.ab-route__cta{ display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; border:none; border-radius:999px; padding:14px 26px; font-size:14px; font-weight:700; font-family:inherit; cursor:pointer; transition:background .18s,transform .16s cubic-bezier(.22,.61,.36,1),opacity .2s; margin-bottom:16px; }
.ab-route__cta:hover:not(:disabled){ background:var(--red-h); transform:translateY(-2px); }
.ab-route__cta:disabled{ opacity:.4; cursor:not-allowed; }
.ab-route__note{ font-size:12.5px; color:rgba(255,255,255,.5); margin:0; }
.ab-route__note a{ color:#fff; font-weight:700; text-decoration:none; white-space:nowrap; }
.ab-route__note a:hover{ color:#ff6a5a; }