/* components.css — regenerated from backups */

/* ===== header.php ===== */
/* ====== Header: повышенная презентабельность (override main.min.css) ====== */
.header{
  /* Логотип | навигация | CTA | бургер (мобайл) */
  grid-template-columns:auto 1fr auto auto !important;
  padding:12px 28px !important;
  background:rgba(255,255,255,.82) !important;
  border-bottom-color:rgba(226,232,240,.7) !important;
  transition:background .25s ease, box-shadow .25s ease, border-color .25s ease, padding .2s ease;
}
.header.header--scrolled,
.header.is-scrolled{
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 6px 24px rgba(15,23,42,.07);
  border-bottom-color:transparent !important;
}

/* Логотип — фирменный градиентный квадратик */
.logo{gap:14px !important}
.logo-icon{
  display:grid;place-items:center;
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  color:#fff;font-weight:800;font-size:14px;letter-spacing:.04em;
  text-transform:lowercase;
  box-shadow:0 6px 16px rgba(37,99,235,.30);
  transition:transform .25s ease, box-shadow .25s ease;
}
.logo:hover .logo-icon{transform:translateY(-1px) rotate(-3deg);box-shadow:0 10px 22px rgba(37,99,235,.42)}
.logo-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.logo-text b{font-size:17px;font-weight:700;color:#0f172a;letter-spacing:-.01em}
.logo-text small{font-size:11px;color:#64748b;font-weight:500;margin-top:2px;letter-spacing:.01em}

/* Навигация — мягкий underline-эффект */
.nav{gap:6px !important;justify-content:center}
.nav a{
  position:relative;
  padding:8px 14px;border-radius:10px;
  color:#475569 !important;font-size:14.5px !important;font-weight:500 !important;
  text-decoration:none;
  transition:color .2s ease, background .2s ease;
}
.nav a::after{
  content:"";position:absolute;left:50%;bottom:2px;width:0;height:2px;
  background:linear-gradient(90deg,#2563eb,#38bdf8);
  border-radius:2px;transform:translateX(-50%);
  transition:width .25s ease;
}
.nav a:hover,
.nav a.active{
  color:var(--brand,#2563eb) !important;
  background:rgba(37,99,235,.06);
}
.nav a:hover::after,
.nav a.active::after{width:60%}

/* CTA-блок справа: телефон + кнопка */
.header-cta{
  display:flex;align-items:center;gap:14px;
  justify-self:end;
}
.hd-phone{
  display:inline-flex;align-items:center;gap:7px;
  color:#0f172a;text-decoration:none;
  font-size:14px;font-weight:600;letter-spacing:.01em;
  padding:8px 12px;border-radius:10px;
  transition:color .2s ease, background .2s ease;
}
.hd-phone svg{
  width:16px;height:16px;color:var(--brand,#2563eb);
  transition:transform .25s ease;
}
.hd-phone:hover{color:var(--brand,#2563eb);background:rgba(37,99,235,.07)}
.hd-phone:hover svg{transform:rotate(-12deg)}

.hd-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 18px;border-radius:10px;
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  color:#fff !important;text-decoration:none;
  font-size:14px;font-weight:700;letter-spacing:.01em;
  box-shadow:0 6px 18px rgba(37,99,235,.30);
  transition:transform .2s ease, box-shadow .25s ease;
}
.hd-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(37,99,235,.45);
}
.hd-btn svg{
  width:15px;height:15px;
  transition:transform .25s ease;
}
.hd-btn:hover svg{transform:translateX(3px)}

/* Бургер — оставляем существующий, но улучшим вид */
.burger{display:none}

/* ====== Адаптив ====== */
/* Скрываем «слоган» лого на средних экранах, чтобы не давить навигацию */
@media (max-width:1280px){
  .logo-text small{display:none}
  .nav{gap:2px !important}
  .nav a{padding:8px 11px;font-size:14px !important}
  .hd-phone{font-size:13.5px;padding:8px 10px;gap:6px}
}
/* На планшетах прячем номер телефона полностью, оставляем только кнопку */
@media (max-width:1180px){
  .hd-phone{display:none}
}
/* ≤1100 — мобильное меню: прячем навигацию и CTA, показываем бургер */
@media (max-width:1100px){
  .header{
    grid-template-columns:auto 1fr auto !important;
    padding:10px 16px !important;
  }
  .nav{display:none !important}
  /* …но когда бургер открыл меню (main.min.js вешает .open) — показываем оверлей.
     display:none выше стоит с !important, поэтому открытие тоже должно быть !important,
     иначе .nav.open проигрывает по важности. Раскладку оверлея задаёт main.min.css. */
  .nav.open{display:flex !important}
  .header-cta{display:none}
  .burger{display:flex !important}
}
@media (max-width:560px){
  .logo-icon{width:38px;height:38px;border-radius:11px;font-size:13px}
  .logo-text b{font-size:15.5px}
  .logo-text small{display:none}
}

/* ====== Мобильное оверлей-меню (если main.min.js его открывает) ====== */
/* Добавляем CTA внутрь мобильного меню — на случай если оно показывается body-классом */
.nav.is-open .header-cta,
body.menu-open .header-cta{display:none}

/* ===== hero.php ===== */
/* ===== Hero: центрированная компоновка — текст над и под картинкой ===== */
.hero-section{
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:36px;
}
.hero-head{
  max-width:920px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-head .hero-title{margin-bottom:18px}
/* Заголовок строго в две строки: каждая часть не переносится, размер подстраивается */
.hero-title{font-size:clamp(20px,4.8vw,50px)}
.hero-title .t-line{display:block;white-space:nowrap}
/* Описание под H1 — широкая SEO-фраза с ключевыми запросами */
.hero-desc{
  max-width:880px;
  margin:0 auto;
  font-size:clamp(15px,1.6vw,18px);
  line-height:1.55;
  color:#4b5563;
  font-weight:500;
}
:root.dark .hero-desc{color:#a8b3c4}

.hero-media{width:100%;display:flex;justify-content:center}
.dashboard-preview{width:100%;max-width:1040px;margin:0 auto}      /* крупнее, было 800px */
.dashboard-image{width:100%;height:auto;max-width:100%}

.hero-foot{
  max-width:760px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}
.hero-foot .hero-subtitle{margin-bottom:22px}
.hero-foot .cta-buttons{justify-content:center;margin-bottom:24px}
.hero-foot .social-proof{justify-content:center;margin-bottom:0}

@media (max-width:600px){
  .hero-section{gap:24px}
  .dashboard-preview{max-width:100%}
}

/* ===== platform-preview.php ===== */
/* ====== Platform preview ====== */
.pp-section{padding:64px 20px;background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%)}
#platform-preview .container{max-width:1200px;margin-left:auto;margin-right:auto}
:root.dark .pp-section{background:linear-gradient(180deg,#0b1220 0%,#0f172a 100%)}

.pp-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center}

.pp-eyebrow{display:inline-block;font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--brand,#2563eb);background:rgba(37,99,235,.08);padding:7px 14px;border-radius:999px;margin-bottom:18px}
.pp-copy h2{font-size:32px;line-height:1.15;font-weight:700;color:#1f2937;margin:0 0 16px}
:root.dark .pp-copy h2{color:#e6edf7}
.pp-grad{background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pp-lead{font-size:16px;line-height:1.6;color:#4b5563;margin:0 0 22px}
:root.dark .pp-lead{color:#9aa7bd}

.pp-points{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;counter-reset:pp}
.pp-points li{position:relative;padding-left:34px;font-size:14.5px;line-height:1.35;color:#374151;display:flex;align-items:center;min-height:26px}
:root.dark .pp-points li{color:#c7d2e0}
.pp-points li::before{counter-increment:pp;content:counter(pp);position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:7px;background:rgba(37,99,235,.1);color:var(--brand,#2563eb);font-size:12px;font-weight:700;display:grid;place-items:center}

.pp-cta{display:flex;flex-wrap:wrap;gap:12px}

/* Slider — страницы 2×2 (видно 4), листается по странице */
.pp-slider{--gap:16px;position:relative}
.pp-track{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px;margin:-4px;-ms-overflow-style:none;scrollbar-width:none;content-visibility:auto;contain-intrinsic-size:auto 480px}
.pp-track::-webkit-scrollbar{display:none}
.pp-page{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.pp-page--solo{align-content:center}
.pp-page--solo .pp-slide{grid-column:1 / -1;justify-self:center;width:calc((100% - var(--gap)) / 2)}
.pp-slide{margin:0}

.pp-shot{display:block;width:100%;position:relative;padding:0;border:1px solid var(--border,#e2e8f0);border-radius:14px;overflow:hidden;cursor:zoom-in;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.08);transition:transform .25s ease,box-shadow .25s ease}
:root.dark .pp-shot{background:#0f172a;border-color:rgba(255,255,255,.08)}
.pp-shot:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(37,99,235,.2)}
.pp-shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top left}
.pp-shot--center img{object-position:center}
.pp-shot__num{position:absolute;top:8px;left:8px;z-index:2;width:22px;height:22px;border-radius:6px;background:rgba(37,99,235,.94);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.pp-slide__cap{margin-top:9px;font-size:12.5px;font-weight:600;color:#374151;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root.dark .pp-slide__cap{color:#c7d2e0}

.pp-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.pp-hint{font-size:13px;color:#94a3b8}
.pp-nav{display:flex;gap:8px}
.pp-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--border,#e2e8f0);background:#fff;color:#1f2937;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.1);transition:background .2s,color .2s,opacity .2s}
:root.dark .pp-arrow{background:#0f172a;color:#e6edf7;border-color:rgba(255,255,255,.12)}
.pp-arrow:hover:not(:disabled){background:var(--brand,#2563eb);color:#fff;border-color:var(--brand,#2563eb)}
.pp-arrow:disabled{opacity:.35;cursor:default}

/* Lightbox */
.pp-lightbox{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,12,22,.86);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .22s ease}
.pp-lightbox.open{opacity:1;pointer-events:auto}
.pp-lightbox img{max-width:min(1100px,94vw);max-height:84vh;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.55);transition:opacity .26s ease}
.pp-lightbox img.is-changing{opacity:0}
@media (prefers-reduced-motion:reduce){.pp-lightbox,.pp-lightbox img{transition:none}}
.pp-lightbox__cap{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:600;background:rgba(0,0,0,.5);padding:7px 16px;border-radius:999px}
.pp-lightbox__close{position:absolute;top:18px;right:22px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s}
.pp-lightbox__close:hover{background:rgba(255,255,255,.28)}
.pp-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s;z-index:2}
.pp-lightbox__nav:hover{background:rgba(255,255,255,.28)}
.pp-lightbox__nav--prev{left:22px}
.pp-lightbox__nav--next{right:22px}
.pp-lightbox__nav[hidden]{display:none}
.pp-lightbox__counter{position:absolute;top:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:600;background:rgba(0,0,0,.45);padding:5px 12px;border-radius:999px;z-index:2}
.pp-lightbox__counter[hidden]{display:none}
@media (max-width:600px){
  .pp-lightbox__nav{width:44px;height:44px;font-size:24px}
  .pp-lightbox__nav--prev{left:10px}
  .pp-lightbox__nav--next{right:10px}
}

@media (max-width:980px){
  .pp-grid{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media (max-width:640px){
  .pp-points{grid-template-columns:1fr}
  .pp-copy h2{font-size:26px}
  .pp-slider{--gap:12px}
}

/* ===== system-demo.php ===== */
/* ====== System demo (live admin panel) ====== */
.sd-section{padding:72px 20px;background:linear-gradient(180deg,#f6f9ff 0%,#ffffff 100%)}
.sd-inner{max-width:1200px;margin:0 auto}

.sd-head{text-align:center;max-width:760px;margin:0 auto 30px}
.sd-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(37,99,235,.10);color:var(--brand,#2563eb);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:20px;margin-bottom:14px}
.sd-head h2{font-size:32px;line-height:1.15;margin:0 0 12px;color:var(--text,#0f172a)}
.sd-grad{background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sd-lead{color:var(--muted,#64748b);font-size:17px;line-height:1.6;margin:0}

.sd-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px}
.sd-tab{position:relative;padding:9px 16px;border-radius:999px;border:1px solid var(--border,#e2e8f0);background:#fff;color:var(--text,#0f172a);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}
.sd-tab:hover:not(:disabled){border-color:var(--brand-2,#60a5fa);transform:translateY(-1px)}
.sd-tab.is-active{background:var(--brand,#2563eb);color:#fff;border-color:var(--brand,#2563eb);box-shadow:0 8px 20px rgba(37,99,235,.22)}
.sd-tab:disabled{opacity:.55;cursor:not-allowed}

.sd-console{background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:18px;box-shadow:0 14px 38px rgba(15,23,42,.08);overflow:hidden}

/* На десктопе stage прозрачен — консоль занимает всю ширину как обычно.
   На мобильном (см. JS fitStage + media-query) inner получает фикс-ширину десктопа
   и transform:scale(), а stage ограничивает высоту по отмасштабированному контенту. */
.sd-stage{position:relative}
.sd-stage__inner{transform-origin:top left}

.sd-console__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid var(--border,#e2e8f0)}
.sd-console__title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text,#0f172a)}
.sd-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.sd-dot--r{background:#ef4444}
.sd-dot--y{background:#eab308}
.sd-dot--g{background:#22c55e}
.sd-console__name{margin-left:6px}
.sd-console__hint{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted,#64748b)}
.sd-console__hint code{background:rgba(15,23,42,.06);padding:2px 7px;border-radius:5px;font-size:11.5px;color:var(--text,#0f172a)}
.sd-pulse{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.55);animation:sdPulse 1.8s ease-in-out infinite}
@keyframes sdPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

.sd-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--border,#e2e8f0);background:#fff}
.sd-search{flex:1;min-width:220px;position:relative}
.sd-search::before{
  content:"";position:absolute;top:50%;left:12px;transform:translateY(-50%);width:16px;height:16px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4.3-4.3'/></svg>") center/contain no-repeat;
  pointer-events:none;
}
.sd-search input{width:100%;padding:10px 14px 10px 36px;border:1px solid var(--border,#e2e8f0);border-radius:10px;font-size:14px;color:var(--text,#0f172a);background:#fff;transition:border-color .2s,box-shadow .2s}
.sd-search input::placeholder{color:#94a3b8}
.sd-search input:focus{outline:none;border-color:var(--brand,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.sd-summary{display:flex;gap:18px;font-size:13px;color:var(--muted,#64748b);flex-wrap:wrap;align-items:center}
.sd-summary strong{color:var(--text,#0f172a);font-weight:700;font-size:15px;margin-right:4px}

.sd-table-wrap{max-height:560px;overflow:auto}
.sd-table{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}
.sd-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc;color:var(--muted,#64748b);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:11px 16px;text-align:left;border-bottom:1px solid var(--border,#e2e8f0);white-space:nowrap}
.sd-table tbody td{padding:13px 16px;border-bottom:1px solid #eef2f7;vertical-align:middle;color:var(--text,#0f172a)}
.sd-table tbody tr:last-child td{border-bottom:none}
.sd-table tbody tr:hover{background:#f8faff}
.sd-col-num{text-align:right;white-space:nowrap}
.sd-table tbody td.sd-cell-num{text-align:right;font-variant-numeric:tabular-nums;color:#475569}

.sd-no{font-weight:700;color:var(--brand,#2563eb);font-variant-numeric:tabular-nums}
.sd-name{font-weight:600;display:block;line-height:1.35}
.sd-name__from,.sd-name__to{color:var(--text,#0f172a)}
.sd-name__arrow{color:#94a3b8;margin:0 6px;font-weight:400}

.sd-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.sd-badge--type-REGULAR{background:rgba(37,99,235,.10);color:#1d4ed8}
.sd-badge--type-EXPRESS{background:rgba(244,114,182,.14);color:#be185d}
.sd-badge--type-INTERCITY{background:rgba(20,184,166,.14);color:#0f766e}
.sd-badge--type-SUBURBAN{background:rgba(245,158,11,.14);color:#b45309}
.sd-badge--status-active{background:rgba(16,185,129,.14);color:#047857}
.sd-badge--status-active::before{content:"";width:6px;height:6px;border-radius:50%;background:#10b981;margin-right:6px}
.sd-badge--status-inactive{background:rgba(148,163,184,.20);color:#475569}
.sd-badge--status-inactive::before{content:"";width:6px;height:6px;border-radius:50%;background:#94a3b8;margin-right:6px}

.sd-skel-row td{padding:14px 16px}
.sd-skel-bar{display:inline-block;height:14px;width:100%;background:linear-gradient(90deg,#eef2f7 0%,#f8fafc 50%,#eef2f7 100%);background-size:200% 100%;animation:sdSkel 1.3s ease-in-out infinite;border-radius:6px;vertical-align:middle}
.sd-skel-bar--inline{width:84px;height:18px}
@keyframes sdSkel{0%{background-position:200% 0}100%{background-position:-200% 0}}

.sd-empty,.sd-error{padding:32px 24px;text-align:center}
.sd-empty{color:var(--muted,#64748b);font-size:14px}
.sd-error{color:#b91c1c;background:rgba(220,38,38,.06);font-size:14px}

.sd-foot{margin:18px auto 0;text-align:center;color:var(--muted,#64748b);font-size:13px;max-width:760px}
.sd-foot code{background:rgba(15,23,42,.06);padding:2px 6px;border-radius:5px;font-size:12px}

/* ===== Sidebar / Menu (live demo) ===== */
.sd-body{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:540px}
.sd-sidebar{background:#f8fafc;border-right:1px solid var(--border,#e2e8f0);max-height:560px;overflow-y:auto;scrollbar-width:thin}
.sd-sidebar::-webkit-scrollbar{width:6px}
.sd-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
.sd-main{display:flex;flex-direction:column;min-width:0}
.sd-main .sd-table-wrap{flex:1}

.sd-menu{padding:14px 10px;font-size:13.5px;color:var(--text,#0f172a)}
.sd-menu-group{margin-bottom:12px}
.sd-menu-group:last-child{margin-bottom:0}
.sd-menu-group__title{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;padding:8px 12px 4px}

.sd-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .15s,color .15s;position:relative;user-select:none}
.sd-menu-item:hover{background:rgba(15,23,42,.05)}
.sd-menu-item.is-active{background:rgba(37,99,235,.10);color:var(--brand,#2563eb);font-weight:600}
.sd-menu-item.is-active::before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--brand,#2563eb)}
.sd-menu-item__icon{width:18px;height:18px;flex:0 0 18px;color:currentColor;opacity:.85;display:grid;place-items:center}
.sd-menu-item__icon svg{width:100%;height:100%;display:block;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sd-menu-item__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-menu-item__chevron{font-size:14px;line-height:1;color:#94a3b8;transition:transform .2s}
.sd-menu-item.is-open .sd-menu-item__chevron{transform:rotate(90deg);color:var(--brand,#2563eb)}

.sd-menu-sub{list-style:none;margin:1px 0 4px;padding:0 0 0 34px;max-height:0;overflow:hidden;transition:max-height .26s ease}
.sd-menu-item.is-open + .sd-menu-sub{max-height:600px}
.sd-menu-sub li{padding:6px 12px;border-radius:6px;cursor:pointer;color:#475569;font-size:12.5px;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-menu-sub li:hover{background:rgba(15,23,42,.05);color:var(--text,#0f172a)}
.sd-menu-sub li.is-active{background:rgba(37,99,235,.10);color:var(--brand,#2563eb);font-weight:600}

.sd-menu-skel{padding:8px 10px;display:flex;flex-direction:column;gap:10px}
.sd-menu-skel__row{height:22px;border-radius:6px;background:linear-gradient(90deg,#eef2f7 0%,#f8fafc 50%,#eef2f7 100%);background-size:200% 100%;animation:sdSkel 1.3s ease-in-out infinite}
.sd-menu-err{padding:16px 14px;color:#94a3b8;font-size:12px;text-align:center;line-height:1.5}

/* ===== Carriers (cards) ===== */
.sd-carriers{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:18px}
.sd-cr-card{background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:12px;padding:16px;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column}
.sd-cr-card:hover{border-color:var(--brand-2,#60a5fa);box-shadow:0 8px 20px rgba(37,99,235,.10)}
.sd-cr-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
.sd-cr-card__name{font-size:15px;font-weight:700;color:var(--text,#0f172a);line-height:1.3}
.sd-cr-card__code{font-size:10.5px;font-weight:700;color:var(--brand,#2563eb);background:rgba(37,99,235,.10);padding:4px 8px;border-radius:6px;letter-spacing:.05em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.sd-cr-card__legal{font-size:12.5px;color:var(--muted,#64748b);margin-bottom:12px;line-height:1.4}
.sd-cr-card__contacts{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-bottom:10px}
.sd-cr-card__row{display:flex;gap:8px;align-items:baseline}
.sd-cr-card__row span{color:var(--muted,#64748b);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;flex:0 0 40px;font-weight:600}
.sd-cr-card__row a{color:var(--text,#0f172a);text-decoration:none;border-bottom:1px dashed transparent;transition:border-color .15s}
.sd-cr-card__row a:hover{border-bottom-color:var(--brand,#2563eb);color:var(--brand,#2563eb)}
.sd-cr-card__tax{font-size:12px;color:#64748b;margin-bottom:12px}
.sd-cr-card__tax strong{color:var(--text,#0f172a);font-weight:600;margin-left:4px;font-variant-numeric:tabular-nums}
.sd-cr-card__stats{display:flex;gap:14px;padding-top:12px;border-top:1px solid #f1f5f9;font-size:12px;margin-top:auto}
.sd-cr-card__stat{display:flex;flex-direction:column;gap:2px}
.sd-cr-card__stat strong{color:var(--text,#0f172a);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.sd-cr-card__stat span{color:var(--muted,#64748b);font-size:11px}
.sd-cr-card__commission{margin-left:auto;text-align:right}
.sd-cr-card__commission strong{color:var(--brand,#2563eb)}

/* ===== Buses (table extras) ===== */
.sd-buses-table .sd-bus-thumb{width:80px;height:50px;border-radius:6px;object-fit:cover;display:block;background:#eef2f7;border:1px solid var(--border,#e2e8f0)}
.sd-bus-reg{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;color:var(--text,#0f172a);background:rgba(15,23,42,.06);padding:4px 9px;border-radius:5px;display:inline-block;font-size:12.5px;letter-spacing:.02em;white-space:nowrap}
.sd-bus-name{display:flex;flex-direction:column;gap:1px}
.sd-bus-name strong{font-weight:700;font-size:14px;color:var(--text,#0f172a)}
.sd-bus-name span{font-size:12.5px;color:var(--muted,#64748b)}
.sd-amenities{display:flex;gap:6px;align-items:center}
.sd-amenity{width:26px;height:26px;border-radius:7px;background:rgba(37,99,235,.10);color:var(--brand,#2563eb);display:grid;place-items:center}
.sd-amenity svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sd-amenity.is-off{background:rgba(148,163,184,.20);color:#94a3b8}

/* ===== Seats (race panels) ===== */
.sd-seats{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:start}
.sd-seats .sd-notice{grid-column:1/-1}
.sd-race{border:1px solid var(--border,#e2e8f0);border-radius:12px;background:#fff;overflow:hidden}
.sd-race__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--border,#e2e8f0);flex-wrap:wrap}
.sd-race__route{font-size:14px;font-weight:700;color:var(--text,#0f172a);min-width:0}
.sd-race__route small{display:block;color:var(--muted,#64748b);font-size:11.5px;font-weight:500;margin-top:2px;letter-spacing:.01em}
.sd-race__time{font-size:14px;font-weight:700;color:var(--text,#0f172a);font-variant-numeric:tabular-nums;background:rgba(15,23,42,.05);padding:5px 10px;border-radius:6px}
.sd-race__counters{display:flex;gap:14px;font-size:11.5px}
.sd-race__counter{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.1}
.sd-race__counter strong{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text,#0f172a);font-size:15px}
.sd-race__counter span{color:var(--muted,#64748b);font-size:11px;margin-top:1px}
.sd-race__body{padding:16px;display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.sd-grid{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}
.sd-row{display:grid;grid-template-columns:32px 32px 22px 32px 32px;gap:5px;align-items:center}
.sd-seat{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:#0f172a;border:1px solid rgba(15,23,42,.06);box-shadow:0 1px 0 rgba(15,23,42,.04);font-variant-numeric:tabular-nums}
.sd-seat.is-empty{visibility:hidden}
.sd-aisle{}
.sd-legend{display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--muted,#64748b);min-width:170px}
.sd-legend__row{display:flex;align-items:center;gap:8px}
.sd-legend__swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(15,23,42,.08)}
.sd-notice{padding:12px 16px;font-size:11.5px;color:#94a3b8;line-height:1.5;border-top:1px solid var(--border,#e2e8f0);background:#fcfdff}

/* Section-switch skeleton */
.sd-skel-content{padding:24px;display:flex;flex-direction:column;gap:10px}

/* ===== Modal: запрос расширенного демо-доступа ===== */
.sd-modal{position:fixed;inset:0;z-index:10010;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}
.sd-modal.is-open{opacity:1;pointer-events:auto}
.sd-modal[hidden]{display:none}
.sd-modal__backdrop{position:absolute;inset:0;background:rgba(8,12,22,.78);backdrop-filter:blur(3px)}
.sd-modal__box{position:relative;background:#fff;border-radius:16px;padding:28px 28px 24px;width:100%;max-width:520px;box-shadow:0 24px 60px rgba(15,23,42,.36);max-height:calc(100vh - 40px);overflow-y:auto;transform:translateY(8px);transition:transform .25s ease}
.sd-modal.is-open .sd-modal__box{transform:translateY(0)}
.sd-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(15,23,42,.06);color:var(--text,#0f172a);font-size:22px;line-height:1;cursor:pointer;transition:background .2s;display:grid;place-items:center}
.sd-modal__close:hover{background:rgba(15,23,42,.12)}
.sd-modal__head{margin-bottom:18px}
.sd-modal__eyebrow{display:inline-flex;margin-bottom:10px}
.sd-modal__title{font-size:20px;font-weight:700;margin:0 0 8px;line-height:1.3;color:var(--text,#0f172a)}
.sd-modal__lead{margin:0;color:var(--muted,#64748b);font-size:14px;line-height:1.55}
.sd-modal__lead strong{color:var(--brand,#2563eb);font-weight:600}
.sd-modal__form{display:flex;flex-direction:column;gap:12px}
.sd-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sd-modal__field{display:flex;flex-direction:column;gap:4px}
.sd-modal__field > span{font-size:12.5px;font-weight:600;color:var(--text,#0f172a)}
.sd-modal__field > span em{color:#dc2626;font-style:normal;margin-left:2px}
.sd-modal__field input,.sd-modal__field textarea{width:100%;box-sizing:border-box;font:inherit;color:var(--text,#0f172a);background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}
.sd-modal__field input::placeholder,.sd-modal__field textarea::placeholder{color:#9aa7b8}
.sd-modal__field input:focus,.sd-modal__field textarea:focus{outline:none;border-color:var(--brand,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.sd-modal__field textarea{resize:vertical;min-height:80px;font-family:inherit}
.sd-modal__submit{margin-top:6px;justify-content:center}
.sd-modal__submit:disabled{opacity:.65;cursor:not-allowed}
.sd-modal__status{margin:6px 0 0;padding:10px 14px;border-radius:8px;font-size:13.5px;line-height:1.45;text-align:center}
.sd-modal__status.is-success{background:rgba(16,185,129,.10);color:#047857;border:1px solid rgba(16,185,129,.30)}
.sd-modal__status.is-error{background:rgba(220,38,38,.07);color:#b91c1c;border:1px solid rgba(220,38,38,.25)}
/* honeypot — скрыт от людей */
.sd-modal .hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}

@media (max-width:740px){
  .sd-section{padding:54px 16px}
  .sd-head h2{font-size:24px}
  .sd-lead{font-size:15px}
  /* Консоль НЕ адаптируется по колонкам — показывается целиком как на десктопе
     и масштабируется под ширину экрана через transform:scale() (JS fitStage). */
  .sd-stage{overflow:hidden}
  .sd-modal__box{padding:22px 18px}
  .sd-modal__title{font-size:18px}
  .sd-modal__row{grid-template-columns:1fr}
}

/* ===== dispatcher-demo.php ===== */
/* ====== Dispatcher-demo (доп. поверх .sd-*) ====== */
.dd-section{background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%)}

/* Карточки выпусков */
.dd-shifts{padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.dd-shift{background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.dd-shift:hover{border-color:var(--brand-2,#60a5fa);box-shadow:0 8px 20px rgba(37,99,235,.10)}
.dd-shift__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;background:#f8fafc;border-bottom:1px solid var(--border,#e2e8f0)}
.dd-shift__route{font-size:14px;color:var(--muted,#64748b)}
.dd-shift__route strong{display:block;font-size:16px;color:var(--text,#0f172a);font-weight:700;margin-bottom:2px}
.dd-shift__id{font-size:10.5px;font-weight:700;color:var(--brand,#2563eb);background:rgba(37,99,235,.10);padding:4px 8px;border-radius:6px;letter-spacing:.05em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.dd-shift__drivers{padding:10px 16px;font-size:13px;color:var(--text,#0f172a);border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dd-shift__drivers span{color:var(--muted,#64748b);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-right:4px}
.dd-shift__driver{background:rgba(15,23,42,.05);padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text,#0f172a)}
.dd-shift__trips{padding:0;margin:0;list-style:none;flex:1}
.dd-shift__trips li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:9px 16px;font-size:13px;border-bottom:1px solid #f1f5f9;align-items:baseline}
.dd-shift__trips li:last-child{border-bottom:none}
.dd-shift__trips .dd-shift__num{font-weight:700;color:var(--brand,#2563eb);font-variant-numeric:tabular-nums}
.dd-shift__row-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.dd-shift__time{font-weight:700;color:var(--text,#0f172a);font-variant-numeric:tabular-nums}
.dd-shift__direction{color:var(--muted,#64748b);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Бейджи для board / drivers / buses */
.sd-badge--btype-intercity{background:rgba(20,184,166,.14);color:#0f766e}
.sd-badge--btype-express{background:rgba(244,114,182,.14);color:#be185d}
.sd-badge--btype-suburban{background:rgba(245,158,11,.14);color:#b45309}
.sd-badge--btype-regular{background:rgba(37,99,235,.10);color:#1d4ed8}

.sd-badge--tstatus-departed{background:rgba(148,163,184,.20);color:#475569}
.sd-badge--tstatus-departed::before{content:"";width:6px;height:6px;border-radius:50%;background:#94a3b8;margin-right:6px}
.sd-badge--tstatus-boarding{background:rgba(245,158,11,.16);color:#92400e}
.sd-badge--tstatus-boarding::before{content:"";width:6px;height:6px;border-radius:50%;background:#f59e0b;margin-right:6px;animation:ddBlink 1.6s ease-in-out infinite}
.sd-badge--tstatus-onsale{background:rgba(16,185,129,.14);color:#047857}
.sd-badge--tstatus-onsale::before{content:"";width:6px;height:6px;border-radius:50%;background:#10b981;margin-right:6px}
@keyframes ddBlink{0%,100%{opacity:1}50%{opacity:.45}}

.sd-badge--iface-driver{background:rgba(37,99,235,.10);color:#1d4ed8}
.sd-badge--iface-cashier{background:rgba(244,114,182,.14);color:#be185d}

.sd-badge--bclass-standard{background:rgba(148,163,184,.20);color:#475569}
.sd-badge--bclass-comfort{background:rgba(37,99,235,.10);color:#1d4ed8}
.sd-badge--bclass-vip{background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(244,114,182,.18));color:#6d28d9}

.sd-badge--bstatus-free{background:rgba(16,185,129,.14);color:#047857}
.sd-badge--bstatus-free::before{content:"";width:6px;height:6px;border-radius:50%;background:#10b981;margin-right:6px}
.sd-badge--bstatus-partial{background:rgba(245,158,11,.16);color:#92400e}
.sd-badge--bstatus-partial::before{content:"";width:6px;height:6px;border-radius:50%;background:#f59e0b;margin-right:6px}
.sd-badge--bstatus-busy{background:rgba(220,38,38,.10);color:#b91c1c}
.sd-badge--bstatus-busy::before{content:"";width:6px;height:6px;border-radius:50%;background:#dc2626;margin-right:6px}

/* Спецячейки таблицы board */
.dd-trip-code{font-weight:700;color:var(--brand,#2563eb);font-variant-numeric:tabular-nums;white-space:nowrap}
.dd-trip-time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text,#0f172a);white-space:nowrap}
.dd-trip-time small{display:block;color:var(--muted,#64748b);font-weight:500;font-size:11.5px;margin-top:1px}
.dd-trip-platform{display:inline-grid;place-items:center;min-width:30px;height:28px;padding:0 8px;border-radius:6px;background:rgba(15,23,42,.06);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text,#0f172a)}
.dd-seats-mini{display:flex;flex-direction:column;gap:3px;min-width:78px}
.dd-seats-mini__row{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--text,#0f172a)}
.dd-seats-mini__row strong{font-weight:700}
.dd-seats-mini__bar{height:4px;border-radius:3px;background:#eef2f7;overflow:hidden}
.dd-seats-mini__bar > i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:3px}

/* Карточки автобусов */
.dd-buses{padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.dd-bus{background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.dd-bus:hover{border-color:var(--brand-2,#60a5fa);box-shadow:0 8px 20px rgba(37,99,235,.10)}
.dd-bus__photo{aspect-ratio:16/9;background:#eef2f7 center/contain no-repeat;border-bottom:1px solid var(--border,#e2e8f0)}
.dd-bus__body{padding:14px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.dd-bus__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dd-bus__name{font-size:15px;font-weight:700;color:var(--text,#0f172a);line-height:1.3}
.dd-bus__name small{display:block;font-size:12.5px;font-weight:500;color:var(--muted,#64748b);margin-top:2px}
.dd-bus__reg{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;background:rgba(15,23,42,.06);color:var(--text,#0f172a);padding:4px 9px;border-radius:5px;font-size:12.5px;letter-spacing:.02em;white-space:nowrap}
.dd-bus__meta{display:flex;gap:8px;flex-wrap:wrap}
.dd-bus__amenities{display:flex;gap:5px;flex-wrap:wrap}
.dd-bus__free{display:flex;align-items:baseline;gap:6px;font-size:12.5px;color:var(--muted,#64748b);margin-top:auto;padding-top:10px;border-top:1px solid #f1f5f9}
.dd-bus__free strong{color:var(--text,#0f172a);font-weight:700;font-variant-numeric:tabular-nums;font-size:14px}

/* Страница-заглушка для не-демо пунктов меню */
.dd-stub{padding:48px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;background:radial-gradient(circle at top,#f8faff,#ffffff 70%)}
.dd-stub__icon{width:64px;height:64px;border-radius:16px;background:rgba(37,99,235,.10);color:var(--brand,#2563eb);display:grid;place-items:center;margin-bottom:6px}
.dd-stub__icon svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dd-stub__title{font-size:22px;font-weight:700;color:var(--text,#0f172a);margin:0;line-height:1.3}
.dd-stub__heading{font-size:14px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--brand,#2563eb);margin:0}
.dd-stub__desc{margin:0;max-width:520px;color:var(--muted,#64748b);font-size:15px;line-height:1.6}
.dd-stub__cta{margin-top:14px;display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;background:var(--brand,#2563eb);color:#fff;border:0;cursor:pointer;font-weight:700;font-size:14px;text-decoration:none;transition:transform .15s,box-shadow .2s}
.dd-stub__cta:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(37,99,235,.30)}

/* hasDemo:false подсветка в меню */
.sd-menu-item.dd-stubable,.sd-menu-sub li.dd-stubable{color:#475569}
.sd-menu-item.dd-stubable .sd-menu-item__icon{opacity:.65}

/* На ≤740px консоль не адаптируется по колонкам — показывается целиком как на
   десктопе и масштабируется под ширину экрана через transform:scale() (JS fitStage).
   Базовый .sd-stage / overflow для мобильного объявлены в system-demo.php. */

/* ===== pain-points.php ===== */
/* ====== Pain points — стиль security-section ====== */
.pn-section{
  position:relative;
  padding:80px 20px;
  background:linear-gradient(180deg,#f8faff 0%,#f0f7ff 100%);
}
.pn-inner{max-width:1200px;margin:0 auto}

/* Header — копия паттерна security-section */
.pn-header{text-align:center;margin-bottom:56px}
.pn-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;padding:8px 20px;border-radius:999px;
  font-size:14px;font-weight:600;margin-bottom:20px;
  box-shadow:0 4px 20px rgba(37,99,235,.25);
}
.pn-badge svg{width:20px;height:20px}
.pn-title{
  font-size:42px;font-weight:700;color:var(--text,#1f2937);
  margin:0 0 24px;line-height:1.15;
}
.pn-grad{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.pn-subtitle{
  font-size:18px;line-height:1.7;color:var(--muted,#64748b);
  max-width:820px;margin:0 auto;
}
.pn-subtitle strong{color:var(--text,#1f2937);font-weight:600}
.pn-subtitle .pn-highlight{color:var(--brand,#2563eb);font-weight:600}

/* Hero-карточка «Главная боль» — на всю ширину, поверх сетки */
.pn-card--main{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 1fr;
  grid-template-areas:
    "head head"
    "body body";
  gap:22px;
  margin-bottom:32px;
  padding:28px 32px;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 60%,#ecfdf5 100%);
  border:1px solid rgba(37,99,235,.22);
  border-radius:18px;
  box-shadow:0 8px 28px rgba(37,99,235,.10);
  overflow:hidden;
}
.pn-card--main::after{
  content:"";position:absolute;top:0;right:0;width:280px;height:280px;
  background:radial-gradient(circle,rgba(37,99,235,.10),transparent 65%);
  pointer-events:none;
}
.pn-card__main-head{
  grid-area:head;
  display:flex;align-items:center;gap:18px;
  padding-bottom:18px;border-bottom:1px solid rgba(37,99,235,.18);
  position:relative;z-index:1;
}
.pn-card__icon--lg{
  flex:0 0 58px;width:58px;height:58px;border-radius:14px;
  background:linear-gradient(135deg,rgba(37,99,235,.15) 0%,rgba(96,165,250,.15) 100%);
}
.pn-card__icon--lg svg{width:30px;height:30px}
.pn-card__title--main{
  font-size:22px;font-weight:700;color:var(--text,#1f2937);line-height:1.25;margin:0;
}
.pn-card__main-body{
  grid-area:body;
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
  position:relative;z-index:1;
}
.pn-card__main-body .pn-card__problem p,
.pn-card__main-body .pn-card__solution p{font-size:15px;line-height:1.6}
.pn-card__main-body .pn-card__solution{padding:18px 20px}
.pn-card__main-body .pn-card__solution p{font-weight:500}

@media (max-width:768px){
  .pn-card--main{padding:30px 22px 22px;margin-bottom:24px}
  .pn-card__main-tag{position:static;align-self:flex-start;margin-bottom:6px}
  .pn-card__main-head{flex-direction:column;align-items:flex-start;gap:14px;text-align:left;padding-bottom:14px}
  .pn-card__icon--lg{flex:0 0 48px;width:48px;height:48px}
  .pn-card__title--main{font-size:18px}
  .pn-card__main-body{grid-template-columns:1fr;gap:14px}
}

/* Grid: subgrid выравнивает head / problem / solution по высоте между всеми карточками. */
.pn-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

/* Card — стилистика step-card / advantage-card.
   Используем grid + subgrid, чтобы синяя плашка решения имела одинаковую
   высоту во всех карточках вне зависимости от длины текста проблемы. */
.pn-card{
  background:var(--card,#fff);
  border:1px solid var(--border,#e2e8f0);
  border-radius:16px;
  padding:24px 26px 26px;
  position:relative;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 3;
  gap:18px;
  opacity:0;animation:pnFadeUp .6s ease forwards;
}
.pn-card:nth-child(1){animation-delay:.05s}
.pn-card:nth-child(2){animation-delay:.10s}
.pn-card:nth-child(3){animation-delay:.15s}
.pn-card:nth-child(4){animation-delay:.20s}
.pn-card:nth-child(5){animation-delay:.25s}
.pn-card:nth-child(6){animation-delay:.30s}
.pn-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(37,99,235,.18);
  border-color:rgba(37,99,235,.30);
}

/* Плавающий номер сверху-слева — точная аналогия .step-number */
.pn-card__num{
  position:absolute;top:-14px;left:24px;
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;display:grid;place-items:center;
  font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;
  box-shadow:0 4px 12px rgba(37,99,235,.30);
}

.pn-card__head{
  display:flex;align-items:center;gap:14px;
  padding-bottom:14px;border-bottom:1px solid #f0f4fa;
}
.pn-card__icon{
  width:48px;height:48px;flex:0 0 48px;border-radius:14px;
  background:linear-gradient(135deg,rgba(37,99,235,.10) 0%,rgba(96,165,250,.10) 100%);
  color:var(--brand,#2563eb);display:grid;place-items:center;
}
.pn-card__icon svg{width:24px;height:24px;stroke:currentColor;fill:none}
.pn-card__title{
  margin:0;font-size:18px;font-weight:600;
  color:var(--text,#1f2937);line-height:1.3;min-width:0;
}

/* Проблема — нейтральная */
.pn-card__problem p,
.pn-card__solution p{
  margin:0;font-size:14.5px;line-height:1.6;color:var(--muted,#64748b);
}
.pn-card__lbl{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#94a3b8;margin-bottom:6px;
}
.pn-card__lbl svg{width:14px;height:14px;stroke:currentColor;fill:none}

/* Решение — синяя плашка, как .security-message */
.pn-card__solution{
  background:linear-gradient(135deg,rgba(37,99,235,.05) 0%,rgba(96,165,250,.05) 100%);
  border:1px solid rgba(37,99,235,.18);
  border-radius:12px;
  padding:14px 16px;
}
.pn-card__solution p{color:var(--text,#1f2937);font-weight:500}
.pn-card__lbl--brand{color:var(--brand,#2563eb);margin-bottom:8px}

@keyframes pnFadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

/* Адаптив — повторяет security-section */
@media (max-width:1100px){
  .pn-grid{grid-template-columns:repeat(2,1fr);gap:22px}
}
@media (max-width:768px){
  .pn-section{padding:60px 16px}
  .pn-title{font-size:32px}
  .pn-subtitle{font-size:16px}
  .pn-grid{grid-template-columns:1fr;gap:20px}
  .pn-card{padding:30px 22px 22px;max-width:600px;margin:0 auto;width:100%}
}
@media (max-width:480px){
  .pn-badge{font-size:12px;padding:6px 16px}
  .pn-title{font-size:26px}
  .pn-subtitle{font-size:15px}
  .pn-card__title{font-size:16px}
}

/* ===== ecosystem.php ===== */
/* ====== Экосистема: 6 ролей ====== */
.ec-section{
  position:relative;
  padding:80px 20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
}
.ec-inner{max-width:1200px;margin:0 auto}

.ec-header{text-align:center;margin-bottom:56px}
.ec-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;padding:8px 20px;border-radius:999px;
  font-size:14px;font-weight:600;margin-bottom:20px;
  box-shadow:0 4px 20px rgba(37,99,235,.25);
}
.ec-badge svg{width:20px;height:20px}
.ec-title{
  font-size:42px;font-weight:700;color:var(--text,#1f2937);
  margin:0 0 20px;line-height:1.15;
}
.ec-grad{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.ec-subtitle{
  font-size:18px;line-height:1.65;color:var(--text,#1f2937);
  max-width:820px;margin:0 auto 16px;font-weight:500;
}
.ec-subtitle strong{color:var(--brand,#2563eb);font-weight:700}
.ec-desc{
  font-size:15.5px;line-height:1.7;color:var(--muted,#64748b);
  max-width:880px;margin:0 auto;
}
.ec-desc .ec-highlight{color:var(--brand,#2563eb);font-weight:600}

/* Grid — subgrid, чтобы все карточки в строке одной высоты */
.ec-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.ec-card{
  background:var(--card,#fff);
  border:1px solid var(--border,#e2e8f0);
  border-radius:16px;
  padding:26px 24px;
  display:flex;align-items:flex-start;gap:18px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  opacity:0;animation:ecFadeUp .6s ease forwards;
  animation-delay:calc(.05s * var(--i, 0));
}
.ec-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 32px rgba(37,99,235,.18);
  border-color:rgba(37,99,235,.30);
}
.ec-card__icon{
  flex:0 0 56px;width:56px;height:56px;border-radius:14px;
  background:linear-gradient(135deg,rgba(37,99,235,.10) 0%,rgba(96,165,250,.10) 100%);
  color:var(--brand,#2563eb);display:grid;place-items:center;
}
.ec-card__icon svg{width:28px;height:28px;stroke:currentColor;fill:none}
.ec-card__content{min-width:0;flex:1}
.ec-card__title{
  margin:0 0 6px;font-size:17px;font-weight:700;
  color:var(--text,#1f2937);line-height:1.3;
}
.ec-card__desc{
  margin:0;font-size:14.5px;line-height:1.55;color:var(--muted,#64748b);
}

@keyframes ecFadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width:1100px){
  .ec-grid{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media (max-width:768px){
  .ec-section{padding:60px 16px}
  .ec-title{font-size:30px}
  .ec-subtitle{font-size:16px}
  .ec-desc{font-size:14.5px}
  .ec-grid{grid-template-columns:1fr;gap:16px}
  .ec-card{padding:22px 20px;max-width:600px;margin:0 auto;width:100%}
}
@media (max-width:480px){
  .ec-badge{font-size:12px;padding:6px 16px}
  .ec-title{font-size:24px}
  .ec-card{flex-direction:column;text-align:center;align-items:center;gap:14px}
}

/* ===== audience.php ===== */
/* ====== Audience: 6 категорий клиентов ====== */
.au-section{
  position:relative;
  padding:80px 20px;
  background:linear-gradient(180deg,#f8faff 0%,#f0f7ff 100%);
}
.au-inner{max-width:1200px;margin:0 auto}

.au-header{text-align:center;margin-bottom:48px}
.au-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;padding:8px 20px;border-radius:999px;
  font-size:14px;font-weight:600;margin-bottom:20px;
  box-shadow:0 4px 20px rgba(37,99,235,.25);
}
.au-badge svg{width:20px;height:20px}
.au-title{
  font-size:42px;font-weight:700;color:var(--text,#1f2937);
  margin:0 0 18px;line-height:1.15;
}
.au-grad{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.au-subtitle{
  font-size:17px;line-height:1.65;color:var(--muted,#64748b);
  max-width:820px;margin:0 auto;
}

/* Grid */
.au-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.au-card{
  position:relative;
  background:var(--card,#fff);
  border:1px solid var(--border,#e2e8f0);
  border-radius:16px;
  padding:24px 24px 22px;
  display:flex;align-items:flex-start;gap:16px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  opacity:0;animation:auFadeUp .6s ease forwards;
  animation-delay:calc(.05s * var(--i,0));
  overflow:hidden;
}
.au-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#2563eb 0%,#38bdf8 100%);
  opacity:0;transition:opacity .25s ease;
}
.au-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 32px rgba(37,99,235,.18);
  border-color:rgba(37,99,235,.30);
}
.au-card:hover::before{opacity:1}

.au-card__icon{
  flex:0 0 52px;width:52px;height:52px;border-radius:13px;
  background:linear-gradient(135deg,rgba(37,99,235,.10) 0%,rgba(96,165,250,.10) 100%);
  color:var(--brand,#2563eb);display:grid;place-items:center;
}
.au-card__icon svg{width:26px;height:26px;stroke:currentColor;fill:none}

.au-card__content{min-width:0;flex:1}
.au-card__title{
  margin:0 0 6px;font-size:16px;font-weight:700;
  color:var(--text,#1f2937);line-height:1.3;
}
.au-card__desc{
  margin:0;font-size:14px;line-height:1.55;color:var(--muted,#64748b);
}

/* Зелёная галочка-подтверждение в углу */
.au-card__check{
  flex:0 0 22px;width:22px;height:22px;border-radius:50%;
  background:rgba(16,185,129,.12);color:#059669;
  display:grid;place-items:center;align-self:flex-start;
  margin-top:4px;
}
.au-card__check svg{width:13px;height:13px;stroke:currentColor;fill:none}

@keyframes auFadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width:1100px){
  .au-grid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media (max-width:768px){
  .au-section{padding:60px 16px}
  .au-title{font-size:30px}
  .au-subtitle{font-size:15.5px}
  .au-grid{grid-template-columns:1fr;gap:14px}
  .au-card{padding:20px;max-width:600px;margin:0 auto;width:100%}
}
@media (max-width:480px){
  .au-badge{font-size:12px;padding:6px 16px}
  .au-title{font-size:24px}
}

/* ===== comparison.php ===== */
/* ====== Comparison: TMS vs ticketing ====== */
.cmp-section{
  position:relative;
  padding:80px 20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
}
.cmp-inner{max-width:1100px;margin:0 auto}

.cmp-header{text-align:center;margin-bottom:42px}
.cmp-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;padding:8px 20px;border-radius:999px;
  font-size:14px;font-weight:600;margin-bottom:20px;
  box-shadow:0 4px 20px rgba(37,99,235,.25);
}
.cmp-badge svg{width:20px;height:20px}
.cmp-title{
  font-size:38px;font-weight:700;color:var(--text,#1f2937);
  margin:0 0 18px;line-height:1.18;
}
.cmp-grad{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.cmp-subtitle{
  font-size:17px;line-height:1.65;color:var(--muted,#64748b);
  max-width:780px;margin:0 auto;
}
.cmp-subtitle strong{color:var(--text,#1f2937);font-weight:600}

/* Таблица */
.cmp-table{
  background:#fff;
  border:1px solid var(--border,#e2e8f0);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(15,23,42,.08);
}
.cmp-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
}
.cmp-row + .cmp-row{border-top:1px solid #eef2f7}

/* Заголовок таблицы */
.cmp-row--head{background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)}
.cmp-col--head{padding:18px 22px;justify-content:flex-start}
.cmp-col__chip{
  display:inline-flex;align-items:center;
  font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;
}
.cmp-col__chip--ticket{
  color:#94a3b8;background:rgba(148,163,184,.15);
}
.cmp-col__chip--tms{
  color:#fff;background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  box-shadow:0 4px 12px rgba(37,99,235,.25);
}

/* Ячейки */
.cmp-col{
  display:flex;align-items:flex-start;gap:14px;
  padding:18px 22px;
  font-size:15px;line-height:1.5;
  opacity:0;animation:cmpFadeUp .5s ease forwards;
  animation-delay:calc(.05s * var(--i,0));
}
.cmp-row--head .cmp-col{opacity:1;animation:none}
.cmp-col--ticket{
  color:#64748b;
  border-right:1px solid #eef2f7;
}
.cmp-col--tms{
  color:var(--text,#0f172a);
  font-weight:500;
  background:linear-gradient(135deg,rgba(37,99,235,.04) 0%,rgba(96,165,250,.04) 100%);
}
.cmp-icon{flex:0 0 22px;width:22px;height:22px;margin-top:1px}
.cmp-icon--minus{stroke:#94a3b8}
.cmp-icon--check{stroke:#10b981}

@keyframes cmpFadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

/* Hover-эффект на строку */
.cmp-row:not(.cmp-row--head):hover .cmp-col--tms{
  background:linear-gradient(135deg,rgba(37,99,235,.08) 0%,rgba(96,165,250,.08) 100%);
}

@media (max-width:768px){
  .cmp-section{padding:60px 16px}
  .cmp-title{font-size:26px}
  .cmp-subtitle{font-size:15.5px}
  .cmp-col{padding:14px 16px;font-size:14px;gap:10px}
  .cmp-col--ticket{border-right:none;border-bottom:1px solid #eef2f7}
  .cmp-row{grid-template-columns:1fr}
  .cmp-col--head{padding:14px 16px}
  .cmp-col__chip{font-size:11.5px}
}
@media (max-width:480px){
  .cmp-badge{font-size:12px;padding:6px 16px}
  .cmp-title{font-size:22px}
}

/* ===== tech-section.php ===== */
/* ====== Tech Stack ====== */
.tech-section{padding:64px 20px;background:linear-gradient(180deg,#f6f9ff 0%,var(--bg,#f9fbff) 100%)}
.tech-shell{position:relative;max-width:1200px;margin:0 auto;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);border:1px solid var(--border,#e2e8f0);box-shadow:0 18px 50px rgba(15,23,42,.08);padding:36px 32px;overflow:hidden}
.tech-shell::before{content:"";position:absolute;top:-40%;right:-10%;width:520px;height:520px;background:radial-gradient(circle,rgba(37,99,235,.10),transparent 62%);pointer-events:none}
.tech-shell > *{position:relative}
.tech-header{display:flex;align-items:center;gap:18px;padding:2px 4px 10px}
.tech-caption{font-weight:800;font-size:24px;letter-spacing:-.01em;margin:0;background:linear-gradient(135deg,#0f172a 0%,#2563eb 120%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tech-divider{flex:1;height:1px;background:linear-gradient(90deg,rgba(37,99,235,.25),rgba(2,6,23,.02))}
.tech-description{font-size:16px;color:#4b5563;margin:0 0 26px 4px;line-height:1.6;max-width:760px}
.tech-list{list-style:none;display:grid;gap:12px;margin:0;padding:0;grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.tech-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){.tech-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

.tech-item{position:relative;display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:12px;background:#fff;border:1px solid var(--border,#e2e8f0);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,opacity .45s ease,translate .45s ease;box-shadow:0 1px 2px rgba(2,6,23,.04);opacity:0;translate:0 14px}
.tech-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c,#2563eb);opacity:0;transition:opacity .25s ease}
.tech-item:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c,#2563eb) 45%,#e2e8f0);box-shadow:0 12px 24px color-mix(in srgb,var(--c,#2563eb) 14%,transparent)}
.tech-item:hover::before{opacity:1}
.tech-item:hover .tech-icon{transform:scale(1.06)}
.tech-icon{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--c,#2563eb) 12%,#fff);border:1px solid color-mix(in srgb,var(--c,#2563eb) 22%,#e5e9f5);display:grid;place-items:center;color:var(--c,#0f172a);overflow:hidden;transition:transform .25s ease}
.tech-icon img{width:68%;height:68%;object-fit:contain;display:block}
.tech-icon svg{width:22px;height:22px;display:block}
.tech-name{color:var(--text,#0f172a);font-weight:600;letter-spacing:.1px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (max-width:640px){
  .tech-section{padding:48px 14px}
  .tech-shell{padding:24px 16px;border-radius:18px}
  .tech-header{gap:12px;padding-bottom:8px}
  .tech-caption{font-size:20px}
  .tech-description{font-size:14.5px;margin-bottom:30px}
  .tech-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .tech-item{flex-direction:column;align-items:center;text-align:center;gap:8px;padding:12px 6px}
  .tech-item::before{left:0;right:0;top:0;bottom:auto;width:auto;height:3px}
  .tech-icon{width:38px;height:38px;border-radius:11px}
  .tech-icon svg{width:22px;height:22px}
  .tech-name{font-size:12px;letter-spacing:0}
}

/* Анимация появления */
.tech-list.in-view .tech-item{opacity:1;translate:0 0}
.tech-list.in-view .tech-item:nth-child(1){transition-delay:.05s}
.tech-list.in-view .tech-item:nth-child(2){transition-delay:.10s}
.tech-list.in-view .tech-item:nth-child(3){transition-delay:.15s}
.tech-list.in-view .tech-item:nth-child(4){transition-delay:.20s}
.tech-list.in-view .tech-item:nth-child(5){transition-delay:.25s}
.tech-list.in-view .tech-item:nth-child(6){transition-delay:.30s}
.tech-list.in-view .tech-item:nth-child(7){transition-delay:.35s}
.tech-list.in-view .tech-item:nth-child(8){transition-delay:.40s}
.tech-list.in-view .tech-item:nth-child(9){transition-delay:.45s}

/* ===== security-section.php ===== */
/* ====== Security Section ====== */
.security-section {
  position: relative;
  padding: 80px 20px;
  background: linear-gradient(180deg, #f8faff 0%, #f0f7ff 100%);
}

.security-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* Header */
.security-header {
  text-align: center;
  margin-bottom: 60px;
}

.security-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  color: #fff;
  padding: 8px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
  box-shadow: 0 4px 20px rgba(37, 99, 235, .25);
}

.security-badge svg {
  width: 20px;
  height: 20px;
}

.security-title {
  font-size: 42px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 24px;
}

.security-subtitle {
  font-size: 18px;
  line-height: 1.75;
  color: var(--muted);
  max-width: 800px;
  margin: 0 auto;
  text-align: justify;
  text-justify: inter-word;
}

.security-subtitle strong {
  color: var(--text);
  font-weight: 600;
}

.security-subtitle .highlight {
  color: var(--brand);
  font-weight: 600;
}

/* Sections subtitle */
.section-subtitle {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 24px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 32px;
}

.section-subtitle svg {
  width: 28px;
  height: 28px;
  color: var(--brand);
}

/* How it works */
.how-it-works {
  margin-bottom: 60px;
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.step-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px;
  position: relative;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
  transition: transform .3s ease, box-shadow .3s ease;
  opacity: 0;
  animation: fadeInUp .6s ease forwards;
}

.step-card:nth-child(1) { animation-delay: .1s; }
.step-card:nth-child(2) { animation-delay: .2s; }
.step-card:nth-child(3) { animation-delay: .3s; }

.step-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(37, 99, 235, .15);
}

.step-number {
  position: absolute;
  top: -12px;
  left: 24px;
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(37, 99, 235, .3);
}

.step-content h4 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
  margin-top: 12px;
}

.step-content p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted);
  text-align: justify;
  text-justify: inter-word;
}

/* Advantages */
.advantages {
  margin-bottom: 48px;
}

.advantages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.advantage-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  gap: 16px;
  transition: all .3s ease;
  opacity: 0;
  animation: fadeInUp .6s ease forwards;
}

.advantage-card:nth-child(1) { animation-delay: .15s; }
.advantage-card:nth-child(2) { animation-delay: .25s; }
.advantage-card:nth-child(3) { animation-delay: .35s; }

.advantage-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(37, 99, 235, .18);
  border-color: rgba(37, 99, 235, .3);
}

.advantage-icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, rgba(37, 99, 235, .1) 0%, rgba(96, 165, 250, .1) 100%);
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.advantage-icon svg {
  width: 28px;
  height: 28px;
  color: var(--brand);
}

.advantage-content h4 {
  font-size: 17px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}

.advantage-content p {
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}

/* Footer message */
.security-footer {
  margin-top: 48px;
}

.security-message {
  background: linear-gradient(135deg, rgba(37, 99, 235, .05) 0%, rgba(96, 165, 250, .05) 100%);
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 16px;
  padding: 24px 32px;
  display: flex;
  align-items: center;
  gap: 20px;
  opacity: 0;
  animation: fadeInUp .6s ease .4s forwards;
}

.security-message svg {
  width: 32px;
  height: 32px;
  color: var(--brand);
  flex-shrink: 0;
}

.security-message p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
  text-align: justify;
  text-justify: inter-word;
  margin: 0;
}

.security-message strong {
  color: var(--text);
  font-weight: 600;
}

/* Анимации */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Адаптивность */
@media (max-width: 1100px) {
  .steps-grid,
  .advantages-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .step-card,
  .advantage-card {
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .security-section {
    padding: 60px 16px;
  }
  
  .security-title {
    font-size: 32px;
  }
  
  .security-subtitle {
    font-size: 16px;
  }
  
  .section-subtitle {
    font-size: 20px;
  }
  
  .section-subtitle svg {
    width: 24px;
    height: 24px;
  }
  
  .step-card {
    padding: 20px;
  }
  
  .step-number {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }
  
  .step-content h4 {
    font-size: 16px;
  }
  
  .step-content p {
    font-size: 14px;
  }
  
  .advantage-card {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  
  .advantage-icon {
    width: 48px;
    height: 48px;
  }
  
  .advantage-icon svg {
    width: 24px;
    height: 24px;
  }
  
  .security-message {
    flex-direction: column;
    text-align: center;
    padding: 20px;
  }
  
  .security-message svg {
    width: 28px;
    height: 28px;
  }
  
  .security-message p {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .security-badge {
    font-size: 12px;
    padding: 6px 16px;
  }
  
  .security-badge svg {
    width: 18px;
    height: 18px;
  }
  
  .security-title {
    font-size: 28px;
  }
  
  .security-subtitle {
    font-size: 15px;
  }
  
  .section-subtitle {
    font-size: 18px;
  }
}

/* ===== about.php ===== */
/* ===== Презентабельные чипы «о компании» (оверрайд .icon-card из main.min.css) ===== */
.about-section .about-illustration{min-height:0;margin:44px auto 8px}
.about-section .about-icons{gap:12px;max-width:920px;margin:0 auto}
.about-section .icon-card{
  position:relative;border-radius:999px;padding:11px 18px 11px 15px;gap:10px;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);
  border:1px solid #e3ebf7;box-shadow:0 4px 14px rgba(37,99,235,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
.about-section .icon-card::before{
  content:"";flex:0 0 auto;width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,#2563eb,#38bdf8);box-shadow:0 0 0 3px rgba(37,99,235,.12);
  transition:background .25s ease,box-shadow .25s ease;
}
.about-section .icon-card span{font-size:14.5px;font-weight:600;color:#334155;white-space:nowrap;letter-spacing:.1px}
.about-section .icon-card:hover{
  transform:translateY(-3px);border-color:transparent;
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  box-shadow:0 12px 28px rgba(37,99,235,.30);
}
.about-section .icon-card:hover span{color:#fff}
.about-section .icon-card:hover::before{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.4)}

@media (max-width:640px){
  .about-section .about-illustration{margin:28px auto 4px}
  .about-section .about-icons{gap:8px}
  .about-section .icon-card{padding:9px 14px 9px 12px;gap:8px}
  .about-section .icon-card::before{width:7px;height:7px}
  .about-section .icon-card span{font-size:13px}
}

/* ===== business-model.php ===== */
/* ====== Business model: 5 опций сотрудничества ====== */
.bm-section{
  position:relative;
  padding:80px 20px;
  background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);
}
.bm-inner{max-width:1200px;margin:0 auto}

.bm-header{text-align:center;margin-bottom:48px}
.bm-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;padding:8px 20px;border-radius:999px;
  font-size:14px;font-weight:600;margin-bottom:20px;
  box-shadow:0 4px 20px rgba(37,99,235,.25);
}
.bm-badge svg{width:20px;height:20px}
.bm-title{
  font-size:42px;font-weight:700;color:var(--text,#1f2937);
  margin:0 0 18px;line-height:1.15;
}
.bm-grad{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.bm-subtitle{
  font-size:17px;line-height:1.65;color:var(--muted,#64748b);
  max-width:840px;margin:0 auto;
}
.bm-subtitle strong{color:var(--text,#1f2937);font-weight:600}

/* Сетка 3+2 с центрированием хвоста: flex с max-width на карточке. */
.bm-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:22px;
}
.bm-card{
  flex:1 1 calc(33.333% - 22px);
  min-width:280px;max-width:360px;
  background:var(--card,#fff);
  border:1px solid var(--border,#e2e8f0);
  border-radius:16px;
  padding:26px 24px 24px;
  display:flex;flex-direction:column;gap:10px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  opacity:0;animation:bmFadeUp .55s ease forwards;
  animation-delay:calc(.05s * var(--i,0));
}
.bm-card:hover{
  transform:translateY(-4px);
  border-color:rgba(37,99,235,.30);
  box-shadow:0 14px 32px rgba(37,99,235,.16);
}

.bm-card__icon{
  width:48px;height:48px;border-radius:13px;
  background:linear-gradient(135deg,rgba(37,99,235,.10) 0%,rgba(96,165,250,.10) 100%);
  color:var(--brand,#2563eb);display:grid;place-items:center;
  margin-bottom:6px;
}
.bm-card__icon svg{width:24px;height:24px;stroke:currentColor;fill:none}

.bm-card__tag{
  display:inline-flex;align-self:flex-start;
  padding:4px 10px;border-radius:999px;
  background:rgba(37,99,235,.08);color:var(--brand,#2563eb);
  font-size:11.5px;font-weight:700;letter-spacing:.04em;
}
.bm-card__title{
  margin:0;font-size:18px;font-weight:700;
  color:var(--text,#0f172a);line-height:1.3;
}
.bm-card__desc{
  margin:0;font-size:14px;line-height:1.55;color:var(--muted,#64748b);
}

@keyframes bmFadeUp{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}

/* Финальная плашка про базовый сценарий */
.bm-foot{
  margin-top:36px;
  display:flex;align-items:center;gap:16px;
  padding:18px 22px;
  background:linear-gradient(135deg,rgba(16,185,129,.06) 0%,rgba(37,99,235,.05) 100%);
  border:1px solid rgba(16,185,129,.22);
  border-radius:14px;
  max-width:920px;margin-left:auto;margin-right:auto;
}
.bm-foot__icon{
  flex:0 0 36px;width:36px;height:36px;border-radius:50%;
  background:rgba(16,185,129,.15);color:#059669;
  display:grid;place-items:center;
}
.bm-foot__icon svg{width:18px;height:18px;stroke:currentColor;fill:none}
.bm-foot p{
  margin:0;font-size:14.5px;line-height:1.55;color:var(--text,#0f172a);
}
.bm-foot strong{color:#065f46;font-weight:700}

/* Адаптив */
@media (max-width:980px){
  .bm-card{flex:1 1 calc(50% - 22px);max-width:none}
}
@media (max-width:640px){
  .bm-section{padding:56px 16px}
  .bm-title{font-size:30px}
  .bm-subtitle{font-size:15.5px}
  .bm-grid{gap:16px}
  .bm-card{flex:1 1 100%;padding:22px 20px}
  .bm-foot{flex-direction:column;text-align:center;padding:18px 20px}
}
@media (max-width:480px){
  .bm-badge{font-size:12px;padding:6px 16px}
  .bm-title{font-size:24px}
}

/* ===== pricing-section.php ===== */
/* ─────────────────────────────────────────────
   PRICING BLOCK — its-pricing
   Подключается как самостоятельная секция.
   Все классы префиксованы its-p* чтобы не конфликтовать.
   ───────────────────────────────────────────── */

.its-pricing {
  --its-blue: #2563eb;
  --its-blue-dark: #1d4ed8;
  --its-blue-soft: #eff6ff;
  --its-text: #0f172a;
  --its-text-muted: #475569;
  --its-border: #e2e8f0;
  --its-bg: #ffffff;
  --its-bg-soft: #f8fafc;
  --its-success: #10b981;

  font-family: inherit;
  color: var(--its-text);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 96px 20px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.its-pricing * { box-sizing: border-box; }

.its-p-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* ── Заголовок секции ────────────────────────── */
.its-p-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 64px;
}

.its-p-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--its-blue);
  background: var(--its-blue-soft);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 20px;
}

.its-p-title {
  font-size: clamp(32px, 4.5vw, 48px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}

.its-p-title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--its-blue) 0%, #60a5fa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.its-p-lead {
  font-size: 18px;
  color: var(--its-text-muted);
  margin: 0;
}

/* ── Сетка тарифов ───────────────────────────── */
.its-p-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 80px;
}

@media (max-width: 960px) {
  .its-p-grid { grid-template-columns: 1fr; }
  .its-pricing { padding: 64px 20px; }
}

/* ── Карточка тарифа ─────────────────────────── */
.its-p-card {
  position: relative;
  background: var(--its-bg);
  border: 1px solid var(--its-border);
  border-radius: 20px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.its-p-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(37, 99, 235, 0.15);
  border-color: #cbd5e1;
}

.its-p-card--featured {
  background: linear-gradient(160deg, #1e3a8a 0%, #2563eb 100%);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 24px 48px -16px rgba(37, 99, 235, 0.4);
  transform: translateY(-8px);
}

.its-p-card--featured:hover {
  transform: translateY(-12px);
  box-shadow: 0 32px 56px -16px rgba(37, 99, 235, 0.5);
}

.its-p-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #fbbf24;
  color: #1e293b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  white-space: nowrap;
}

.its-p-tier {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--its-blue);
  margin: 0 0 4px;
}

.its-p-card--featured .its-p-tier {
  color: #93c5fd;
}

.its-p-tier-desc {
  font-size: 14px;
  color: var(--its-text-muted);
  margin: 0 0 24px;
}

.its-p-card--featured .its-p-tier-desc {
  color: #cbd5e1;
}

.its-p-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
}

.its-p-price {
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}

.its-p-price-unit {
  font-size: 16px;
  font-weight: 500;
  color: var(--its-text-muted);
}

.its-p-card--featured .its-p-price-unit {
  color: #cbd5e1;
}

.its-p-price-note {
  font-size: 14px;
  color: var(--its-text-muted);
  margin: 0 0 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--its-border);
}

.its-p-card--featured .its-p-price-note {
  color: #cbd5e1;
  border-bottom-color: rgba(255, 255, 255, 0.15);
}

.its-p-features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.its-p-features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.45;
}

.its-p-features li::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2310b981'><path fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.7-9.3a1 1 0 0 0-1.4-1.4L9 10.6 7.7 9.3a1 1 0 0 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z' clip-rule='evenodd'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
}

.its-p-card--featured .its-p-features li::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fbbf24'><path fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.7-9.3a1 1 0 0 0-1.4-1.4L9 10.6 7.7 9.3a1 1 0 0 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z' clip-rule='evenodd'/></svg>");
}

.its-p-cta {
  display: block;
  width: 100%;
  text-align: center;
  padding: 14px 20px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
  cursor: pointer;
  border: 1.5px solid var(--its-border);
  background: var(--its-bg);
  color: var(--its-text);
}

.its-p-cta:hover {
  background: var(--its-bg-soft);
  border-color: var(--its-blue);
}

.its-p-cta--primary {
  background: var(--its-blue);
  color: #fff;
  border-color: var(--its-blue);
}

.its-p-cta--primary:hover {
  background: var(--its-blue-dark);
  border-color: var(--its-blue-dark);
}

.its-p-card--featured .its-p-cta {
  background: #fff;
  color: var(--its-blue);
  border-color: #fff;
}

.its-p-card--featured .its-p-cta:hover {
  background: #fbbf24;
  border-color: #fbbf24;
  color: #1e293b;
}

/* ── Что входит в любой тариф ───────────────── */
.its-p-included {
  background: var(--its-bg);
  border: 1px solid var(--its-border);
  border-radius: 20px;
  padding: 40px;
  margin-bottom: 80px;
}

.its-p-included-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 8px;
  text-align: center;
}

.its-p-included-subtitle {
  font-size: 15px;
  color: var(--its-text-muted);
  text-align: center;
  margin: 0 0 32px;
}

.its-p-included-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 960px) {
  .its-p-included { padding: 28px 20px; }
  .its-p-included-grid { grid-template-columns: repeat(2, 1fr); }
}

.its-p-included-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}

.its-p-included-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--its-blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--its-blue);
}

.its-p-included-text {
  font-size: 14px;
  font-weight: 500;
  color: var(--its-text);
  line-height: 1.35;
}

/* ── FAQ ─────────────────────────────────────── */
.its-p-faq {
  max-width: 800px;
  margin: 0 auto 64px;
}

.its-p-faq-title {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 32px;
  letter-spacing: -0.01em;
}

.its-p-faq-item {
  border-bottom: 1px solid var(--its-border);
  padding: 20px 0;
}

.its-p-faq-item summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  list-style: none;
  transition: color 0.2s;
}

.its-p-faq-item summary::-webkit-details-marker { display: none; }

.its-p-faq-item summary:hover { color: var(--its-blue); }

.its-p-faq-item summary::after {
  content: "+";
  font-size: 24px;
  font-weight: 400;
  color: var(--its-blue);
  flex-shrink: 0;
  transition: transform 0.3s;
}

.its-p-faq-item[open] summary::after {
  transform: rotate(45deg);
}

.its-p-faq-answer {
  margin-top: 12px;
  color: var(--its-text-muted);
  font-size: 16px;
  line-height: 1.6;
}

/* ── Финальный CTA ───────────────────────────── */
.its-p-final {
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
  border-radius: 24px;
  padding: 56px 40px;
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.its-p-final::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.1) 0%, transparent 50%),
              radial-gradient(circle at 80% 80%, rgba(251, 191, 36, 0.15) 0%, transparent 50%);
  pointer-events: none;
}

.its-p-final > * { position: relative; }

.its-p-final h3 {
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 800;
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}

.its-p-final p {
  font-size: 17px;
  color: #cbd5e1;
  margin: 0 0 28px;
}

.its-p-final-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.its-p-final-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s, background 0.2s;
}

.its-p-final-btn--primary {
  background: #fbbf24;
  color: #1e293b;
}

.its-p-final-btn--primary:hover {
  background: #fcd34d;
  transform: translateY(-2px);
}

.its-p-final-btn--secondary {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
}

.its-p-final-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* ===== roadmap.php ===== */
/* ====== Roadmap: 4 этапа онбординга ====== */
.rm-section{
  position:relative;
  padding:80px 20px;
  background:linear-gradient(180deg,#f0f7ff 0%,#ffffff 100%);
}
.rm-inner{max-width:1200px;margin:0 auto}

.rm-header{text-align:center;margin-bottom:54px}
.rm-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;padding:8px 20px;border-radius:999px;
  font-size:14px;font-weight:600;margin-bottom:20px;
  box-shadow:0 4px 20px rgba(37,99,235,.25);
}
.rm-badge svg{width:20px;height:20px}
.rm-title{
  font-size:42px;font-weight:700;color:var(--text,#1f2937);
  margin:0 0 18px;line-height:1.15;
}
.rm-grad{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.rm-subtitle{
  font-size:17px;line-height:1.65;color:var(--muted,#64748b);
  max-width:820px;margin:0 auto;
}

/* Таймлайн — горизонтальный ряд */
.rm-steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;
  position:relative;
}
/* Соединительная линия проходит через центры кружков. */
.rm-steps::before{
  content:"";position:absolute;left:8%;right:8%;top:24px;
  height:2px;
  background:linear-gradient(90deg,
    rgba(37,99,235,.45) 0%,
    rgba(96,165,250,.45) 50%,
    rgba(37,99,235,.25) 100%);
  z-index:0;
}

.rm-step{
  display:flex;flex-direction:column;align-items:stretch;gap:18px;
  position:relative;z-index:1;
  opacity:0;animation:rmFadeUp .55s ease forwards;
}
.rm-step:nth-child(1){animation-delay:.05s}
.rm-step:nth-child(2){animation-delay:.15s}
.rm-step:nth-child(3){animation-delay:.25s}
.rm-step:nth-child(4){animation-delay:.35s}

.rm-step__top{display:flex;justify-content:center}
.rm-step__dot{
  display:grid;place-items:center;
  width:48px;height:48px;border-radius:50%;
  background:#fff;color:var(--brand,#2563eb);
  font-weight:800;font-size:18px;font-variant-numeric:tabular-nums;
  border:2px solid var(--brand,#2563eb);
  box-shadow:0 0 0 6px #fff, 0 6px 20px rgba(37,99,235,.22);
  position:relative;z-index:2;
}
/* Последний этап — кружок с заливкой как «финиш» */
.rm-step:last-child .rm-step__dot{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  color:#fff;border-color:transparent;
  box-shadow:0 0 0 6px #fff, 0 8px 22px rgba(37,99,235,.40);
}

.rm-step__card{
  background:var(--card,#fff);
  border:1px solid var(--border,#e2e8f0);
  border-radius:14px;
  padding:22px 22px 22px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  flex:1;display:flex;flex-direction:column;gap:8px;
}
.rm-step__card:hover{
  transform:translateY(-3px);
  border-color:rgba(37,99,235,.30);
  box-shadow:0 14px 32px rgba(37,99,235,.16);
}
.rm-step__week{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  padding:5px 10px;border-radius:999px;
  background:rgba(37,99,235,.08);
  color:var(--brand,#2563eb);
  font-size:12px;font-weight:700;letter-spacing:.03em;
  margin-bottom:4px;
}
.rm-step__week svg{width:13px;height:13px}
.rm-step__title{
  margin:0;font-size:16.5px;font-weight:700;
  color:var(--text,#0f172a);line-height:1.3;
}
.rm-step__desc{
  margin:0;font-size:14px;line-height:1.55;color:var(--muted,#64748b);
}

@keyframes rmFadeUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

/* Адаптив */
@media (max-width:1024px){
  .rm-steps{grid-template-columns:repeat(2,1fr);gap:28px 20px}
  /* Соединительная линия в две строки не нужна, прячем */
  .rm-steps::before{display:none}
}
@media (max-width:600px){
  .rm-section{padding:60px 16px}
  .rm-title{font-size:30px}
  .rm-subtitle{font-size:15.5px}
  .rm-steps{grid-template-columns:1fr;gap:20px;position:relative}
  .rm-steps::before{
    display:block;left:24px;right:auto;top:24px;bottom:24px;
    width:2px;height:auto;
    background:linear-gradient(180deg,rgba(37,99,235,.45),rgba(96,165,250,.25));
  }
  .rm-step{flex-direction:row;align-items:flex-start;gap:16px}
  .rm-step__top{flex:0 0 48px}
  .rm-step__card{flex:1;max-width:none}
}
@media (max-width:480px){
  .rm-badge{font-size:12px;padding:6px 16px}
  .rm-title{font-size:24px}
}

/* ===== faq.php ===== */
/* ===== FAQ: презентабельный аккордеон ===== */
.faq-section{position:relative}
.faq-head{max-width:680px;margin:0 auto 44px;text-align:center}
.faq-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(37,99,235,.10);color:var(--brand);
  font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:6px 14px;border-radius:20px;margin-bottom:14px;
}
.faq-head h2{margin-bottom:12px}
.faq-lead{color:var(--muted);font-size:17px;line-height:1.6;margin:0}

.faq-accordion{max-width:880px;margin:0 auto}
.faq-accordion details{
  background:var(--card);border:1px solid var(--border);border-radius:16px;
  padding:0;overflow:hidden;
  box-shadow:0 2px 12px rgba(16,24,40,.05);
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.faq-accordion details+details{margin-top:14px}
.faq-accordion details:hover{
  border-color:var(--brand-2);
  box-shadow:0 10px 30px rgba(37,99,235,.10);
}
.faq-accordion details[open]{
  border-color:var(--brand);
  box-shadow:0 14px 36px rgba(37,99,235,.14);
}

.faq-accordion summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:16px;justify-content:space-between;
  padding:20px 22px;font-size:18px;font-weight:600;line-height:1.4;color:var(--text);
}
.faq-accordion summary::-webkit-details-marker{display:none}
.faq-accordion summary:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:16px}

.faq-icon{
  flex:0 0 auto;display:grid;place-items:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(37,99,235,.10);color:var(--brand);
  transition:transform .3s ease,background .25s ease,color .25s ease;
}
.faq-accordion details[open] .faq-icon{transform:rotate(180deg);background:var(--brand);color:#fff}

.faq-a{padding:0 22px 22px}
.faq-a p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.faq-accordion details[open] .faq-a{animation:faqReveal .3s ease}
@keyframes faqReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.faq-cta{
  max-width:880px;margin:36px auto 0;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(37,99,235,.06) 0%,rgba(96,165,250,.10) 100%);
  border:1px solid var(--border);border-radius:16px;padding:20px 24px;
}
.faq-cta__text{display:flex;flex-direction:column;gap:2px}
.faq-cta__title{font-weight:700;font-size:17px;color:var(--text)}
.faq-cta__sub{color:var(--muted);font-size:14px}

@media (max-width:600px){
  .faq-accordion summary{font-size:16px;padding:16px 18px;gap:12px}
  .faq-a{padding:0 18px 18px}
  .faq-cta{flex-direction:column;align-items:flex-start;text-align:left}
  .faq-cta .btn{width:100%;text-align:center}
}

/* ===== contacts.php ===== */
/* ====== Contacts — редизайн ====== */
.ct-section{
  position:relative;
  padding:80px 20px;
  background:linear-gradient(180deg,#f8faff 0%,#f0f7ff 100%);
}
.ct-inner{max-width:1200px;margin:0 auto}

/* Header */
.ct-header{text-align:center;margin-bottom:48px}
.ct-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--brand,#2563eb) 0%,var(--brand-2,#60a5fa) 100%);
  color:#fff;padding:8px 20px;border-radius:999px;
  font-size:14px;font-weight:600;margin-bottom:20px;
  box-shadow:0 4px 20px rgba(37,99,235,.25);
}
.ct-badge svg{width:20px;height:20px}
.ct-title{
  font-size:42px;font-weight:700;color:var(--text,#1f2937);
  margin:0 0 16px;line-height:1.15;
}
.ct-grad{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.ct-subtitle{
  font-size:17px;line-height:1.65;color:var(--muted,#64748b);
  max-width:760px;margin:0 auto;
}

/* Grid */
.ct-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
  gap:32px;
  align-items:stretch;
}

/* Левая колонка */
.ct-left{display:flex;flex-direction:column;gap:24px}
.ct-cards{display:flex;flex-direction:column;gap:14px}

.ct-card{
  display:flex;align-items:center;gap:18px;
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--border,#e2e8f0);
  border-radius:14px;
  text-decoration:none;color:inherit;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  box-shadow:0 2px 10px rgba(15,23,42,.04);
}
.ct-card:hover{
  transform:translateY(-3px);
  border-color:rgba(37,99,235,.30);
  box-shadow:0 12px 28px rgba(37,99,235,.16);
}
.ct-card:hover .ct-card__arrow{transform:translateX(4px);color:var(--brand,#2563eb)}

.ct-card__icon{
  flex:0 0 52px;width:52px;height:52px;border-radius:13px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(37,99,235,.10) 0%,rgba(96,165,250,.10) 100%);
  color:var(--brand,#2563eb);
}
.ct-card__icon svg{width:26px;height:26px}

/* Цветные вариации иконки */
.ct-card--wa .ct-card__icon{
  background:linear-gradient(135deg,rgba(37,211,102,.12) 0%,rgba(22,163,74,.10) 100%);
  color:#16a34a;
}
.ct-card--mail .ct-card__icon{
  background:linear-gradient(135deg,rgba(244,114,182,.10) 0%,rgba(168,85,247,.10) 100%);
  color:#a855f7;
}

.ct-card__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ct-card__lbl{
  font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted,#94a3b8);
}
.ct-card__val{
  font-size:16px;font-weight:700;color:var(--text,#0f172a);line-height:1.3;
  word-break:break-word;
}
.ct-card__hint{font-size:12.5px;color:var(--muted,#64748b)}
.ct-card__arrow{
  font-size:22px;color:#94a3b8;font-weight:400;
  transition:transform .25s ease,color .25s ease;flex:0 0 auto;
}

/* Бенефиты */
.ct-benefits{
  list-style:none;margin:0;padding:18px 20px;
  background:linear-gradient(135deg,rgba(37,99,235,.05) 0%,rgba(96,165,250,.05) 100%);
  border:1px solid rgba(37,99,235,.18);
  border-radius:14px;
  display:flex;flex-direction:column;gap:11px;
}
.ct-benefits li{
  display:flex;align-items:center;gap:10px;
  font-size:14px;color:var(--text,#1e3a8a);line-height:1.4;
}
.ct-benefits li svg{
  flex:0 0 18px;width:18px;height:18px;
  stroke:#10b981;fill:none;
}

/* Форма */
.ct-form-wrap{display:flex}
.ct-form{
  flex:1;
  background:#fff;
  border:1px solid var(--border,#e2e8f0);
  border-radius:18px;
  padding:30px 32px;
  box-shadow:0 8px 28px rgba(15,23,42,.08);
  display:flex;flex-direction:column;gap:16px;
}
.ct-form__head{margin-bottom:6px}
.ct-form__title{
  margin:0 0 6px;font-size:22px;font-weight:700;
  color:var(--text,#0f172a);
}
.ct-form__subtitle{
  margin:0;font-size:14.5px;color:var(--muted,#64748b);line-height:1.5;
}

.ct-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-field{display:flex;flex-direction:column;gap:6px}
.ct-field__label{
  font-size:13px;font-weight:600;color:var(--text,#0f172a);
}
.ct-field__label em{color:#dc2626;font-style:normal;margin-left:2px}
.ct-field input,.ct-field textarea{
  width:100%;box-sizing:border-box;font:inherit;
  color:var(--text,#0f172a);background:#fff;
  border:1px solid var(--border,#e2e8f0);border-radius:10px;
  padding:11px 14px;font-size:14.5px;
  transition:border-color .2s,box-shadow .2s;
}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:#94a3b8}
.ct-field input:focus,.ct-field textarea:focus{
  outline:none;border-color:var(--brand,#2563eb);
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}
.ct-field textarea{resize:vertical;min-height:96px;font-family:inherit}

.ct-form__submit{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  margin-top:6px;padding:14px 22px;
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  color:#fff;border:0;border-radius:12px;
  font-weight:700;font-size:15px;cursor:pointer;
  box-shadow:0 8px 22px rgba(37,99,235,.32);
  transition:transform .2s,box-shadow .25s;
}
.ct-form__submit:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(37,99,235,.45);
}
.ct-form__submit svg{width:18px;height:18px;transition:transform .25s}
.ct-form__submit:hover svg{transform:translateX(3px)}

.ct-form__note{
  margin:6px 0 0;font-size:12px;line-height:1.5;
  color:var(--muted,#94a3b8);text-align:center;
}

/* Alerts */
.ct-alert{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;margin-bottom:18px;border-radius:12px;
  font-size:14.5px;line-height:1.45;border:1px solid transparent;
}
.ct-alert svg{flex:0 0 22px;width:22px;height:22px}
.ct-alert.is-success{
  background:linear-gradient(135deg,rgba(16,185,129,.10),rgba(34,197,94,.06));
  color:#065f46;border-color:rgba(16,185,129,.30);
}
.ct-alert.is-success svg{stroke:#10b981;fill:none}
.ct-alert.is-error{
  background:rgba(220,38,38,.07);
  color:#7f1d1d;border-color:rgba(220,38,38,.30);
}
.ct-alert.is-error svg{stroke:#dc2626;fill:none}

/* Honeypot */
.hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* Адаптив */
@media (max-width:1024px){
  .ct-grid{grid-template-columns:1fr;gap:24px}
  .ct-left{order:2}
  .ct-form-wrap{order:1}
}
@media (max-width:640px){
  .ct-section{padding:56px 16px}
  .ct-title{font-size:30px}
  .ct-subtitle{font-size:15.5px}
  .ct-form{padding:24px 20px}
  .ct-form__row{grid-template-columns:1fr}
  .ct-card{padding:14px 16px;gap:14px}
  .ct-card__icon{flex:0 0 44px;width:44px;height:44px;border-radius:11px}
  .ct-card__icon svg{width:22px;height:22px}
  .ct-card__val{font-size:15px}
}
@media (max-width:480px){
  .ct-badge{font-size:12px;padding:6px 16px}
  .ct-title{font-size:24px}
}

/* ===== hub-section.php ===== */
/* ===== Hub (объединённые стили + фиксация размера карточек) ===== */

/* управляемые переменные */
:root{
  --card-w: 360px;   /* ширина карточки на десктопе */
  --card-h: 120px;   /* фиксированная высота карточки */
  --title-lines: 1;  /* сколько строк у заголовка */
  --text-lines: 3;   /* сколько строк у описания */
}

/* только стили блока Hub */
.hub-section { position: relative; padding: 60px 20px 100px; }
.hub-section .container { max-width: 1200px; margin: 0 auto; position: relative; }
.hub-section .section-wrapper { position: relative; min-height: 600px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.hub-section .section-title { font-size: 32px; font-weight: 700; color: #2d3748; margin-bottom: 32px; }
:root.dark .hub-section .section-title { color: var(--text, #e6edf7); }
.hub-section .left-section, .hub-section .right-section { flex: 1; display: flex; flex-direction: column; gap: 16px; position: relative; z-index: 2; }
.hub-section .right-section { align-items: flex-end; }
.hub-section .right-section .section-title { text-align: right; }

/* Карточки — фиксируем одинаковые ширину и высоту */
.hub-section .card {
  background: var(--card, #fff);
  width: var(--card-w);
  height: var(--card-h);           /* фиксированная высота */
  padding: 20px;
  border-radius: 16px;
  display: flex; align-items: center; gap: 14px;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
  opacity: 0;
  animation: hub_fadeIn .6s ease forwards;
  overflow: hidden;                /* скрываем избыток текста */
}
.hub-section .card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(96,165,250,.25); }

/* Иконки */
.hub-section .icon-wrapper {
  width: 52px; height: 52px; background: #f1f5f9; border-radius: 12px;
  display: grid; place-items:center; flex-shrink: 0;
}
:root.dark .hub-section .icon-wrapper{ background:#111827; }
.hub-section .icon-wrapper svg {
  width: 26px; height: 26px; color: #4a5568;
  /* добавляем поддержку stroke для stroke-based иконок */
  stroke: currentColor; stroke-width: 1.8; vector-effect: non-scaling-stroke;
}

/* Контент карточки + лайнакламп */
.hub-section .card-content{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.hub-section .card-content h3{
  font-size:16px; font-weight:600; color:#2d3748; margin-bottom:2px;
  display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;
  -webkit-line-clamp: var(--title-lines); line-clamp: var(--title-lines);
}
:root.dark .hub-section .card-content h3{ color:#e6e6f0; }
.hub-section .card-content p{
  font-size:14px; color:#718096;
  display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;
  -webkit-line-clamp: var(--text-lines); line-clamp: var(--text-lines);
}
.hub-section .highlight { color: var(--brand, #2563eb); font-weight: 700; }

/* центр (svg-rotator-clean логика, иконки уменьшены в 3 раза) */
.hub-section .center-element { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: calc(var(--rotator-size,160px) * 1.1); height: calc(var(--rotator-size,160px) * 1.1); z-index: 5; }
.hub-section .ring { width:100%; height:100%; border-radius:999px; background:#fff; box-shadow: 0 1px 2px rgba(16,24,40,.06), 0 8px 40px rgba(24,54,103,.12), inset 0 0 0 1px rgba(15, 23, 42, .06); display:grid; place-items:center; position:relative; overflow:hidden; transition: all .25s ease; }
:root.dark .hub-section .ring { background: var(--card,#0f172a); box-shadow: 0 1px 2px rgba(0,0,0,.2), 0 8px 40px rgba(0,0,0,.3), inset 0 0 0 1px rgba(255,255,255,.1); }
.hub-section .stage { width: calc(var(--rotator-size,160px) / 3); height: calc(var(--rotator-size,160px) / 3); position: relative; }
.hub-section .transport-icon{ position:absolute; inset:0; display:grid; place-items:center; opacity:0; transform: translateY(12px) scale(.96) rotate(-2deg); animation: hub_showhide var(--rotator-duration,8s) var(--rotator-easing,cubic-bezier(.2,.6,.2,1)) infinite; filter: drop-shadow(0 12px 16px rgba(11,27,51,.12)); }
.hub-section .transport-icon.bus      { animation-delay: 0s; }
.hub-section .transport-icon.airplane { animation-delay: calc(var(--rotator-duration,8s) / 3); }
.hub-section .transport-icon.ship     { animation-delay: calc(2 * var(--rotator-duration,8s) / 3); }
.hub-section .transport-icon img { width:100%; height:100%; object-fit:contain; }
.hub-section .its-logo {
  font-size: 42px;
  font-weight: 700;
  background: linear-gradient(135deg, #2563eb 0%, #38bdf8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.02em;
}

/* линии */
.hub-section .lines-container { position: absolute; inset: 0; pointer-events: none; z-index: 1; overflow: visible; }
.hub-section .connection-line { fill: none; stroke: rgba(37,99,235,.18); stroke-width: 1.3; }
.hub-section .energy-pulse { fill: none; stroke: url(#pulseGrad); stroke-width: 2; stroke-linecap: round; filter: drop-shadow(0 0 6px rgba(37,99,235,.6)); }
.hub-section .pulse-left { animation: hub_energyFromCard 3.2s ease-in-out infinite; }
.hub-section .pulse-right { animation: hub_energyFromCenter 3.2s ease-in-out infinite; }
.hub-section .link.active .connection-line { stroke: rgba(37,99,235,.36); }
.hub-section .link.active .energy-pulse { animation-duration: 2.2s; filter: drop-shadow(0 0 10px rgba(37,99,235,.85)); }

/* анимации блока */
@keyframes hub_fadeIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hub_energyFromCard { 0%{ stroke-dashoffset:0; opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ stroke-dashoffset: var(--len); opacity:0; } }
@keyframes hub_energyFromCenter { 0%{ stroke-dashoffset: var(--len); opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ stroke-dashoffset:0; opacity:0; } }
@keyframes hub_showhide {
  0% { opacity: 0; transform: translateY(16px) scale(.95) rotate(-4deg); }
  8% { opacity: 1; transform: translateY(0) scale(1) rotate(0deg); }
  25% { opacity: 1; transform: translateY(0) scale(1.02) rotate(1deg); }
  33.333% { opacity: 0; transform: translateY(-10px) scale(.98) rotate(2deg); }
  100% { opacity: 0; transform: translateY(16px) scale(.95) rotate(-4deg); }
}

/* адаптив */
@media (max-width: 1100px){
  .hub-section .section-wrapper{ flex-direction: column; }
  .hub-section .left-section, .hub-section .right-section { width: 100%; align-items: center; }
  .hub-section .right-section .section-title { text-align: center; }
  .hub-section .card {
    max-width: 520px; width: 100%;
    height: var(--card-h);   /* сохраняем одинаковую высоту на мобилке */
  }
  .hub-section .lines-container { display: none; }
  .hub-section .center-element { position: relative; left: auto; top: auto; transform: none; margin: 40px 0; }
}

/* ===== footer.php ===== */
/* ====== Footer ====== */
.footer{
  position:relative;
  background:linear-gradient(180deg,#0f172a 0%,#0b1220 100%);
  color:#cbd5e1;
  padding:60px 20px 24px;
  margin-top:24px;
  text-align:left;     /* перебиваем глобальный text-align:center из main.min.css */
  border-top:none;
}
.footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(96,165,250,.45) 50%,transparent 100%);
}
.footer-inner{max-width:1200px;margin:0 auto}

.footer-top{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:48px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(148,163,184,.16);
}

/* Бренд */
.footer-brand{display:flex;flex-direction:column;gap:18px;min-width:0}
.footer-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.footer-logo__mark{
  display:grid;place-items:center;
  width:42px;height:42px;border-radius:11px;
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  color:#fff;font-weight:800;font-size:14px;letter-spacing:.04em;
  box-shadow:0 6px 16px rgba(37,99,235,.35);
}
.footer-logo__text{display:flex;flex-direction:column;line-height:1.2}
.footer-logo__text b{color:#f1f5f9;font-size:17px;font-weight:700}
.footer-logo__text small{color:#94a3b8;font-size:11.5px;margin-top:2px}
.footer-tagline{
  font-size:14px;line-height:1.6;color:#94a3b8;margin:0;
  max-width:380px;
}
.footer-social{display:flex;gap:10px}
.footer-social__btn{
  width:38px;height:38px;border-radius:10px;
  background:rgba(148,163,184,.10);
  border:1px solid rgba(148,163,184,.16);
  display:grid;place-items:center;
  color:#cbd5e1;text-decoration:none;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.footer-social__btn svg{width:18px;height:18px}
.footer-social__btn:hover{
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  color:#fff;border-color:transparent;transform:translateY(-2px);
}

/* Колонки навигации */
.footer-col{min-width:0;display:flex;flex-direction:column;gap:16px}
.footer-col__title{
  font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#f1f5f9;margin:0 0 4px;
}
.footer-col__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.footer-col__links a{
  color:#94a3b8;text-decoration:none;font-size:14px;line-height:1.4;
  transition:color .2s, padding-left .2s;
  position:relative;display:inline-block;
}
.footer-col__links a::before{
  content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);
  width:4px;height:4px;border-radius:50%;background:#60a5fa;opacity:0;
  transition:opacity .2s, left .2s;
}
.footer-col__links a:hover{color:#f1f5f9;padding-left:12px}
.footer-col__links a:hover::before{opacity:1;left:0}

/* Контакты */
.footer-col__contacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.footer-col__contacts li{
  display:flex;align-items:center;gap:10px;
  font-size:14px;color:#cbd5e1;
}
.footer-col__contacts li svg{
  width:18px;height:18px;flex:0 0 18px;color:#60a5fa;
}
.footer-col__contacts a{color:inherit;text-decoration:none;transition:color .2s}
.footer-col__contacts a:hover{color:#60a5fa}

.footer-cta{
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:8px;padding:10px 20px;border-radius:10px;
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  color:#fff;text-decoration:none;font-weight:600;font-size:14px;
  box-shadow:0 6px 18px rgba(37,99,235,.32);
  transition:transform .2s,box-shadow .2s;
}
.footer-cta:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(37,99,235,.45)}

/* Bottom */
.footer-bottom{
  padding-top:22px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.footer-copy{margin:0;color:#64748b;font-size:13px}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap}
.footer-legal a{
  color:#94a3b8;text-decoration:none;font-size:13px;
  transition:color .2s;
}
.footer-legal a:hover{color:#60a5fa}

@media (max-width:980px){
  .footer-top{
    grid-template-columns:1fr 1fr;
    gap:36px;
  }
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:560px){
  .footer{padding:48px 16px 22px}
  .footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:30px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}
  .footer-legal{gap:18px}
}

/* ── Language switcher (header) — globe dropdown ── */
.lang-dd{position:relative;margin-right:6px}
.lang-dd>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-size:13px;font-weight:700;letter-spacing:.02em;cursor:pointer;user-select:none;transition:border-color .15s ease,background .15s ease}
.lang-dd>summary::-webkit-details-marker{display:none}
.lang-dd>summary::marker{content:""}
.lang-dd>summary:hover{border-color:var(--brand);background:rgba(37,99,235,.05)}
.lang-dd>summary>svg{width:16px;height:16px;flex:none}
.lang-dd>summary .chev{opacity:.55;transition:transform .2s ease}
.lang-dd[open]>summary{border-color:var(--brand)}
.lang-dd[open]>summary .chev{transform:rotate(180deg)}
.lang-dd__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:190px;padding:6px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 38px rgba(15,23,42,.16);display:flex;flex-direction:column;gap:2px;animation:langdd .15s ease}
@keyframes langdd{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.lang-dd__menu a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 11px;border-radius:8px;font-size:14px;font-weight:600;color:var(--text);text-decoration:none;transition:background .12s ease,color .12s ease}
.lang-dd__menu a:hover{background:rgba(37,99,235,.08)}
.lang-dd__menu a small{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--muted-2)}
.lang-dd__menu a.is-active{background:rgba(37,99,235,.12);color:var(--brand)}
.lang-dd__menu a.is-active small{color:var(--brand)}
@media (max-width:980px){.lang-dd{margin-right:2px}.lang-dd>summary{height:34px;padding:0 8px}}
