/* ООО «ПРОФИ» — «Спецификация» / technical spec-sheet
   Monospace labels + IBM Plex Sans reading text, hairline grid, single accent. */

:root{
  --paper:#f6f7f8;
  --panel:#ffffff;
  --ink:#111214;
  --ink-2:#3a3d42;
  --muted:#6a6f77;
  --accent:#005bbb;
  --accent-2:#003f82;
  --line:#d7dbe0;
  --line-2:#e6e9ed;
  --grid:#eceff2;
  --mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,monospace;
  --sans:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --maxw:1160px;
  --pad:24px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  /* faint spec grid */
  background-image:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:32px 32px;
  background-position:-1px -1px;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}

a{color:inherit;}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100;}
.skip:focus{left:8px;top:8px;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.mono-eyebrow,.eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0;
}
.mono{font-family:var(--mono);font-feature-settings:"tnum" 1;}

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--ink);--fg:#fff;--bd:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  font-family:var(--mono);
  font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;
  padding:12px 18px;
  background:var(--bg);color:var(--fg);
  border:1px solid var(--bd);
  border-radius:2px;
  text-decoration:none;cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
.btn:hover{--bg:var(--accent);--bd:var(--accent);}
.btn--ghost{--bg:transparent;--fg:var(--ink);--bd:var(--line);}
.btn--ghost:hover{--bg:transparent;--fg:var(--accent);--bd:var(--accent);}
.btn--sm{padding:9px 14px;font-size:12px;}
.btn--full{width:100%;padding:14px;}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(246,247,248,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.topbar__inner{
  display:flex;align-items:center;gap:20px;
  min-height:64px;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand__mark{
  font-family:var(--mono);font-weight:600;font-size:14px;letter-spacing:.05em;
  background:var(--ink);color:#fff;
  padding:7px 9px;border-radius:2px;line-height:1;
}
.brand__meta{display:flex;flex-direction:column;line-height:1.2;}
.brand__name{font-weight:600;font-size:15px;}
.brand__ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;}
.nav{margin-left:auto;display:flex;gap:22px;}
.nav a{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;
  text-decoration:none;color:var(--ink-2);
  padding-bottom:3px;border-bottom:1px solid transparent;
  transition:color .15s,border-color .15s;
}
.nav a:hover{color:var(--accent);border-color:var(--accent);}
.topbar .btn{margin-left:4px;}

/* ---------- Hero ---------- */
.hero{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#eef3fa 0%,var(--paper) 70%);}
.hero__grid{
  display:grid;grid-template-columns:1.5fr 1fr;gap:0;
  align-items:stretch;
}
.hero__lead{padding:56px 40px 56px 0;border-right:1px solid var(--line);}
.eyebrow{margin-bottom:18px;}
.hero__title{
  font-size:clamp(30px,4.2vw,50px);
  line-height:1.06;font-weight:700;letter-spacing:-.02em;
  margin:0 0 20px;max-width:16ch;
}
.hero__text{font-size:17px;color:var(--ink-2);max-width:52ch;margin:0 0 28px;}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;}

.statspec{margin:0;border-top:1px solid var(--line-2);}
.statspec__row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  gap:16px;padding:12px 0;border-bottom:1px solid var(--line-2);
}
.statspec__row dt{font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;color:var(--ink);margin:0;}
.statspec__row dd{margin:0;color:var(--muted);font-size:14px;}

.specpanel{
  background:var(--panel);
  padding:24px;
  display:flex;flex-direction:column;
}
.specpanel__head{
  display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);
  padding-bottom:12px;border-bottom:1px solid var(--ink);
  margin-bottom:4px;
}
.specpanel__note{
  margin-top:auto;padding-top:18px;border-top:1px solid var(--line-2);
}
.specpanel__note p:last-child{margin:6px 0 0;font-size:14px;color:var(--ink-2);}

/* ---------- key/value ---------- */
.kv{margin:0;}
.kv__row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
  gap:14px;
  padding:11px 0;border-bottom:1px solid var(--line-2);
}
.kv__row dt{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin:0;}
.kv__row dd{margin:0;font-size:14.5px;color:var(--ink);overflow-wrap:anywhere;}
.kv__row dd a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;}
.kv__row dd a:hover{border-color:var(--accent);}
.kv--flat .kv__row{padding:9px 0;}
.kv--req{margin-top:20px;}
.kv--req .kv__row{grid-template-columns:minmax(0,220px) minmax(0,1fr);}

/* ---------- Sections ---------- */
.block{padding:64px 0;border-bottom:1px solid var(--line);}
.block--alt{background:var(--panel);}
.sechead{
  display:grid;grid-template-columns:auto 1fr;gap:0 18px;
  align-items:baseline;
  padding-bottom:22px;margin-bottom:32px;
  border-bottom:2px solid var(--ink);
}
.sechead__num{
  font-family:var(--mono);font-size:14px;font-weight:600;
  color:#fff;background:var(--accent);
  padding:4px 9px;border-radius:2px;letter-spacing:.05em;
  align-self:center;
}
.sechead__title{font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.01em;margin:0;}
.sechead__lead{grid-column:2;color:var(--muted);font-size:15px;margin:6px 0 0;max-width:60ch;}

/* ---------- Spec cards ---------- */
.spec-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.spec-cards--4{grid-template-columns:repeat(4,1fr);}
.spec-card{background:var(--panel);padding:22px;transition:background .15s;}
.block:not(.block--alt) .spec-card{background:var(--paper);}
.spec-card:hover{background:#eef3fa;}
.spec-card h3{font-size:17px;margin:10px 0 6px;letter-spacing:-.01em;}
.spec-card p:last-child{margin:0;color:var(--muted);font-size:14px;}
.cta-row{margin-top:26px;}

/* ---------- Fleet table ---------- */
.table-scroll{
  overflow-x:auto;
  border:1px solid var(--line);
  background:var(--panel);
  -webkit-overflow-scrolling:touch;
}
.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.fleet-table{
  width:100%;border-collapse:collapse;
  min-width:720px;
  font-size:14.5px;
}
.fleet-table thead th{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  text-align:left;color:var(--muted);font-weight:500;
  padding:13px 16px;
  background:#f0f3f7;
  border-bottom:2px solid var(--ink);
  white-space:nowrap;
}
.fleet-table tbody td{
  padding:12px 16px;
  border-bottom:1px solid var(--line-2);
  vertical-align:middle;
}
.fleet-table tbody tr:last-child td{border-bottom:none;}
.fleet-table tbody tr:hover{background:#f4f8fd;}
.col-ref{width:52px;color:var(--muted);text-align:center;}
.col-model{min-width:220px;}
.col-tariff{white-space:nowrap;text-align:right;font-weight:500;}
.col-act{text-align:right;white-space:nowrap;}
.fleet-media{
  display:inline-block;vertical-align:middle;
  width:96px;height:58px;margin-right:14px;
  border:1px solid var(--line);background:#eef1f4;overflow:hidden;border-radius:2px;
}
.fleet-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fleet-name{vertical-align:middle;font-weight:600;}
.class-tag{
  display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.03em;
  padding:3px 8px;border:1px solid var(--line);border-radius:2px;color:var(--ink-2);
  background:var(--paper);white-space:nowrap;
}
.linkbtn{
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;
  background:none;border:none;cursor:pointer;color:var(--accent);
  padding:4px 0;border-bottom:1px solid transparent;
  transition:border-color .15s;
}
.linkbtn:hover{border-color:var(--accent);}
.table-foot{margin:14px 0 0;}

/* ---------- Process ---------- */
.proc{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.proc__row{
  display:grid;grid-template-columns:minmax(0,120px) 1fr;gap:24px;align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--line-2);
}
.proc__num{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--accent);}
.proc__body{display:flex;flex-direction:column;gap:3px;}
.proc__body b{font-size:16px;}
.proc__body span{color:var(--muted);font-size:14.5px;}

/* ---------- Lead ---------- */
.block--lead{background:linear-gradient(180deg,var(--panel),#eef3fa);}
.lead__grid{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:start;}
.lead__text{color:var(--ink-2);margin:0 0 22px;}
.lead__intro .sechead{margin-bottom:20px;}

.form{
  background:var(--panel);
  border:1px solid var(--line);
  padding:26px;border-radius:2px;
}
.field{margin-bottom:16px;display:flex;flex-direction:column;}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field label{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px;
}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:15px;color:var(--ink);
  padding:11px 12px;
  border:1px solid var(--line);border-radius:2px;
  background:var(--paper);
  width:100%;
}
.field textarea{resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,91,187,.15);
}
#formMessage{margin:14px 0 0;font-family:var(--mono);font-size:13px;}
#formMessage.is-error{color:#b3261e;}
#formMessage.is-success{color:var(--accent-2);}
.is-hidden{display:none;}
#mailLink{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:13px;color:var(--accent);}

/* ---------- Requisites ---------- */
.reqs{border:1px solid var(--line);background:var(--paper);border-radius:2px;}
.reqs summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;gap:14px;
  padding:18px 22px;font-weight:600;
}
.reqs summary::-webkit-details-marker{display:none;}
.reqs summary::after{content:"+";margin-left:auto;font-family:var(--mono);font-size:20px;color:var(--muted);}
.reqs[open] summary::after{content:"–";}
.reqs[open] summary{border-bottom:1px solid var(--line);}
.reqs .kv{padding:6px 22px 22px;}

/* ---------- Footer ---------- */
.foot{background:var(--ink);color:#c9ced6;padding:40px 0 26px;}
.foot__inner{display:flex;flex-wrap:wrap;align-items:center;gap:20px;}
.foot__brand{display:flex;align-items:center;gap:12px;font-weight:600;color:#fff;}
.foot__brand .brand__mark{background:#fff;color:var(--ink);}
.foot__nav{display:flex;flex-wrap:wrap;gap:18px;margin-left:auto;}
.foot__nav a{font-family:var(--mono);font-size:12.5px;color:#c9ced6;text-decoration:none;letter-spacing:.03em;}
.foot__nav a:hover{color:#fff;}
.foot__mail{font-family:var(--mono);font-size:13px;color:#fff;text-decoration:none;border-bottom:1px solid #4a4f57;}
.foot__mail:hover{border-color:#fff;}
.foot__base{margin-top:26px;padding-top:18px;border-top:1px solid #2a2d33;color:#8a9099;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .nav{display:none;}
  .hero__grid{grid-template-columns:1fr;}
  .hero__lead{padding:44px 0 36px;border-right:none;border-bottom:1px solid var(--line);}
  .specpanel{padding:24px 0;}
  .specpanel__head{padding-left:0;}
  .spec-cards,.spec-cards--4{grid-template-columns:1fr 1fr;}
  .lead__grid{grid-template-columns:1fr;gap:32px;}
  .kv--req .kv__row{grid-template-columns:minmax(0,160px) minmax(0,1fr);}
}
@media (max-width:600px){
  :root{--pad:16px;}
  body{background-size:24px 24px;}
  .block{padding:44px 0;}
  .topbar .btn{display:none;}
  .brand__ref{display:none;}
  .hero__title{font-size:30px;}
  .hero__cta{flex-direction:column;align-items:stretch;}
  .hero__cta .btn{width:100%;}
  .statspec__row{grid-template-columns:1fr;gap:2px;}
  .spec-cards,.spec-cards--4{grid-template-columns:1fr;}
  .field-grid{grid-template-columns:1fr;}
  .sechead{grid-template-columns:auto 1fr;}
  .sechead__lead{grid-column:1 / -1;}
  .proc__row{grid-template-columns:1fr;gap:6px;}
  .kv__row{grid-template-columns:1fr;gap:2px;}
  .kv--req .kv__row{grid-template-columns:1fr;}
  .foot__nav{margin-left:0;}
}


/* === Этап 1: фундамент (авто-добавлено) === */
img { height: auto; }
.skip-link {
  position: absolute; left: -9999px; top: 12px; z-index: 999;
  padding: 10px 18px; background: #111; color: #fff; border-radius: 6px;
  font-size: .9rem; text-decoration: none;
}
.skip-link:focus { left: 12px; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }


/* === Этап 2: функциональность === */

/* Лайтбокс — спецификация модели */
.fleet-media[role="button"]{cursor:pointer;}
.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;}
.lb[hidden]{display:none;}
.lb__backdrop{position:absolute;inset:0;background:rgba(17,18,20,.6);}
.lb__panel{
  position:relative;background:var(--panel);width:100%;max-width:680px;
  border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:2px;
  box-shadow:0 24px 60px -20px rgba(17,18,20,.4);
  max-height:calc(100vh - 40px);overflow:auto;
}
.lb__head{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
}
.lb__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:0;}
.lb__img{width:100%;height:100%;min-height:200px;object-fit:cover;display:block;border-right:1px solid var(--line);}
.lb__kv{padding:16px 20px;display:flex;flex-direction:column;}
.lb__dl{margin:0;}
.lb__row{
  display:grid;grid-template-columns:90px 1fr;gap:12px;
  padding:10px 0;border-bottom:1px solid var(--line-2);
}
.lb__row dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;}
.lb__row dd{margin:0;font-size:14.5px;font-weight:500;}
.lb__kv .btn{margin-top:auto;align-self:flex-start;margin-top:18px;}
.lb__close{
  background:none;border:1px solid var(--line);border-radius:2px;cursor:pointer;
  font-family:var(--mono);font-size:13px;color:var(--ink);width:32px;height:32px;line-height:1;
  transition:border-color .15s,color .15s;
}
.lb__close:hover{border-color:var(--accent);color:var(--accent);}

/* Калькулятор — спек-таблица */
.calc-sheet{border:1px solid var(--line);background:var(--panel);max-width:640px;}
.calc-row{
  display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;
  padding:14px 18px;border-bottom:1px solid var(--line-2);
}
.calc-key{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.calc-row select{
  font-family:var(--sans);font-size:15px;color:var(--ink);
  padding:9px 12px;border:1px solid var(--line);border-radius:2px;background:var(--paper);
  max-width:100%;
}
.calc-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,91,187,.15);}
.calc-stepper{display:inline-flex;border:1px solid var(--line);border-radius:2px;overflow:hidden;}
.calc-stepper input{
  width:64px;text-align:center;border:none;background:var(--paper);
  font-family:var(--mono);font-size:15px;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
.calc-stepper input::-webkit-outer-spin-button,.calc-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.calc-stepper input:focus{outline:none;background:#eef3fa;}
.calc-step{
  width:38px;padding:9px 0;border:none;background:#f0f3f7;cursor:pointer;
  font-family:var(--mono);font-size:15px;color:var(--ink);
  transition:background .15s,color .15s;
}
.calc-step:hover{background:var(--accent);color:#fff;}
.calc-row--total{background:#f0f3f7;border-bottom:none;border-top:2px solid var(--ink);}
.calc-row--total .calc-key{color:var(--ink);font-weight:600;}
.calc-total{font-size:22px;font-weight:600;white-space:nowrap;}
.calc-note{padding:12px 18px 0;}
.calc-sheet .btn{margin:14px 18px 18px;}

/* FAQ */
.faq-list{border:1px solid var(--line);background:var(--panel);}
.faq-item{border-bottom:1px solid var(--line-2);}
.faq-item:last-child{border-bottom:none;}
.faq-item summary{
  cursor:pointer;list-style:none;position:relative;
  display:flex;align-items:baseline;gap:14px;
  padding:15px 44px 15px 18px;font-weight:600;font-size:15px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  font-family:var(--mono);font-size:17px;color:var(--muted);
}
.faq-item[open] summary::after{content:"–";}
.faq-item[open] summary{background:#f4f8fd;}
.faq-ref{font-size:11.5px;color:var(--accent);letter-spacing:.06em;flex:0 0 auto;}
.faq-item p{margin:0;padding:2px 18px 16px 66px;color:var(--ink-2);font-size:14.5px;max-width:70ch;}

/* Липкая мобильная кнопка заявки */
.mcta{display:none;}
@media (max-width:900px){
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px));}
  .mcta{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:90;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(246,247,248,.94);backdrop-filter:blur(6px);
    border-top:1px solid var(--line);
    transition:transform .25s ease;
  }
  .mcta.mcta--off{transform:translateY(110%);}
  .mcta-btn{
    display:block;text-align:center;text-decoration:none;
    font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;
    background:var(--accent);color:#fff;padding:13px;border-radius:2px;
  }
}

@media (max-width:600px){
  .calc-row{grid-template-columns:1fr;gap:8px;}
  .lb__grid{grid-template-columns:1fr;}
  .lb__img{border-right:none;border-bottom:1px solid var(--line);min-height:0;aspect-ratio:3/2;height:auto;}
  .faq-item p{padding-left:18px;}
}

@media (prefers-reduced-motion:reduce){
  .mcta{transition:none;}
}

/* Печать реквизитов */
.reqs__actions{padding:0 22px 22px;}
@media print{
  body.print-requisites > *:not(main){display:none !important;}
  body.print-requisites main > *:not(.block--reqs){display:none !important;}
  body.print-requisites{background:#fff !important;color:#000 !important;background-image:none !important;padding:0 !important;}
  body.print-requisites .block--reqs{background:#fff;border:none;padding:0;}
  body.print-requisites .reqs{border-color:#000;background:#fff;}
  body.print-requisites .reqs summary::after{content:"";}
  body.print-requisites .kv__row dt,body.print-requisites .kv__row dd{color:#000;}
  body.print-requisites .reqs__actions{display:none;}
}

/* === Этап 2: лайтбокс/CTA — база (доделка) === */
.dshlb { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; }
.dshlb[hidden] { display: none; }
.dshlb__back { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.dshlb__panel { position: relative; max-width: 720px; width: 100%; max-height: 90vh; overflow: auto; }
.dshlb__img { width: 100%; display: block; }
.dshlb__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.dshlb__title { margin: 0; flex: 1 1 auto; }
.dshlb__close { position: absolute; top: 10px; right: 10px; z-index: 2; cursor: pointer; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.dshlb__cta { cursor: pointer; }
body.dshlb-open { overflow: hidden; }
.dshcta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; display: none; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); transition: transform .3s ease; }
.dshcta--off { transform: translateY(110%); }
.dshcta__btn { display: block; text-align: center; text-decoration: none; padding: 15px; font-weight: 700; }
@media (max-width: 900px) {
  .dshcta { display: block; }
  body.dshcta-on { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) { .dshcta { transition: none; } }

/* скин Профи: спек-лист */
.dshlb__panel { background: #ffffff; border: 1px solid #d5dbe2; box-shadow: 0 30px 80px rgba(10,30,60,.25); }
.dshlb__meta { padding: 16px 22px 22px; display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; }
.dshlb__title { font-family: 'IBM Plex Mono', monospace; font-size: 1.1rem; grid-column: 1 / -1; }
.dshlb__cls, .dshlb__price { font-family: 'IBM Plex Mono', monospace; font-size: .92rem; }
.dshlb__price { color: #005bbb; }
.dshlb__close { background: #fff; color: #12181f; border: 1px solid #d5dbe2; }
.dshlb__cta { background: #005bbb; color: #fff; border: none; padding: 12px 24px; font-weight: 600; grid-column: 1 / -1; }
.dshcta { background: rgba(255,255,255,.96); border-top: 1px solid #d5dbe2; }
.dshcta__btn { background: #005bbb; color: #fff; }


/* === Этап 3: тонировка фото и микро-детали === */
#fleet img, .dshlb__img, .car-modal__img, .lightbox__img {
  filter: saturate(.92) contrast(1.04);
}
::selection { background: #005bbb; color: #fff; }
html { scrollbar-color: #005bbb #e7ecf1; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #e7ecf1; }
::-webkit-scrollbar-thumb { background: #005bbb; border-radius: 6px; border: 2px solid #e7ecf1; }

/* === Этап 3: wow === */

.dsh-stamp { display:inline-block; margin-left:14px; padding:4px 10px; border:2px solid #005bbb;
  color:#005bbb; font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.14em;
  transform: rotate(-6deg) scale(2.4); opacity:0; vertical-align: middle; }
.dsh-stamp.on { transition: transform .28s cubic-bezier(.2,2,.4,1), opacity .2s; transform: rotate(-6deg) scale(1); opacity:1; }
@media (prefers-reduced-motion: reduce) { .dsh-stamp { transition:none; transform: rotate(-6deg); opacity:1; } }


/* === Этап 4: отзывы === */
.dshrev { padding: clamp(48px,6vw,76px) clamp(18px,4vw,48px); }
.dshrev__wrap { max-width: 1200px; margin: 0 auto; }
.dshrev__title { margin: 0 0 30px; }
.dshrev__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.dshrev__item { margin: 0; padding: 24px 24px 20px; border-left: 3px solid #005bbb; position: relative; }
.dshrev__item::before { content: "\201C"; position: absolute; top: 6px; right: 16px; font-size: 3rem; line-height: 1; color: #005bbb; opacity: .35; font-family: Georgia, serif; }
.dshrev__item blockquote { margin: 0 0 14px; font-size: 1.02rem; line-height: 1.55; }
.dshrev__item figcaption { font-size: .82rem; opacity: .75; }
.dshrev__note { margin-top: 16px; font-size: .74rem; opacity: .5; }
@media (max-width: 900px) { .dshrev__grid { grid-template-columns: 1fr; } }
.dshrev__item { background: rgba(0,0,0,.025); }

/* === Этап 4: правки вёрстки === */
@media (max-width: 900px) {
  .table-scroll { max-width: 100%; }
  .wrap { min-width: 0; }
  html, body { overflow-x: clip; }
  .dsh-stamp { font-size: .58rem; padding: 3px 6px; margin-left: 8px; }
}

/* === Этап 4: тап-таргеты === */
@media (max-width: 900px) {
  nav a, footer a { padding-top: 8px; padding-bottom: 8px; }
}

/* === Этап 4: анти-переполнение v2 === */
@media (max-width: 900px) {
  html, body { overflow-x: clip; }
}

/* === Этап 4: форма на мобиле (анти-min-content) === */
@media (max-width: 900px) {
  #lead * { min-width: 0; }
  #lead input, #lead select, #lead textarea { width: 100%; }
  #lead .dshconsent input[type="checkbox"] { width: 16px; flex: 0 0 auto; }
}

/* === Этап 4: рекламный шоукейс === */
.dshads { margin: 34px 0 0; }
.dshads img { width: 100%; height: auto; display: block; border-radius: 6px;
  border: 1px solid #005bbb; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.dshads figcaption { margin-top: 10px; font-size: .82rem; opacity: .75;
  padding-left: 12px; border-left: 3px solid #005bbb; }

/* === Этап 5: согласие ПДн === */
.dshconsent { display: flex; gap: 10px; align-items: flex-start; font-size: .82rem;
  line-height: 1.5; opacity: .9; grid-column: 1 / -1; margin: 4px 0 2px; }
.dshconsent input { margin-top: 3px; width: 16px; height: 16px; flex: 0 0 auto;
  accent-color: #005bbb; }
.dshconsent a { text-decoration: underline; }

/* === Этап 6: аудит (доверие, форма, форматы) === */
.dshtrust { display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:center; align-items:center;
  padding:14px 20px; font-size:.82rem; letter-spacing:.02em; opacity:.92;
  border-top:1px solid #005bbb55; border-bottom:1px solid #005bbb55; }
.dshtrust span { white-space:nowrap; }
.dshtrust span::before { content:"✓ "; color:#005bbb; font-weight:700; }
.dshformats { list-style:none; margin:26px 0 0; padding:0; display:grid;
  grid-template-columns:repeat(6,1fr); gap:10px; }
.dshformats li { display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:14px 6px; font-size:.78rem; text-align:center; border:1px solid #005bbb44;
  border-radius:8px; color:inherit; }
.dshformats svg { color:#005bbb; }
.dshmore { grid-column:1/-1; margin:2px 0; }
.dshmore summary { cursor:pointer; font-size:.85rem; opacity:.8; padding:8px 0; }
.dshmore summary:hover { opacity:1; }
.dshmore__grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-top:12px; }
.dshnote { grid-column:1/-1; font-size:.8rem; opacity:.65; margin:8px 0 0; line-height:1.5; }
@media (max-width:900px){ .dshformats { grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .dshmore__grid { grid-template-columns:1fr; } .dshformats { grid-template-columns:repeat(2,1fr); } }

/* === P1: юрссылки в футере === */
footer a[href^="privacy"], footer a[href^="terms"], footer a[href^="mailto"] {
  opacity: .62; font-size: .86em; }
footer a[href^="privacy"]:hover, footer a[href^="terms"]:hover, footer a[href^="mailto"]:hover { opacity: 1; }

/* === P1: калькулятор === */
#calc .calc-sheet { border: 2px solid #005bbb; }
.dshcalc-ex { font-family: 'IBM Plex Mono', monospace; font-size: .82rem; color: #005bbb; margin: 10px 0 0; }

/* === Волна 1: интеграция === */

.dshtrust { font-family: 'IBM Plex Mono', monospace; font-size: .78rem; border: 1px solid #d5dbe2; background: #fff; justify-content: flex-start; position: relative; padding-left: 96px; }
.dshtrust::before { content: "REF.00"; position: absolute; left: 18px; color: #005bbb; font-weight: 600; }
.dshtrust span::before { content: ""; } .dshtrust span + span::before { content: "/  "; color: #9aa7b4; }
.dshformats { counter-reset: fmt; }
.dshformats li { counter-increment: fmt; position: relative; border-radius: 0; }
.dshformats li::after { content: "FMT.0" counter(fmt); font-family: 'IBM Plex Mono', monospace; font-size: .62rem; color: #005bbb; }
.dshrev__grid { counter-reset: qa; }
.dshrev__item { counter-increment: qa; border-left: 1px solid #d5dbe2; background: #fff; }
.dshrev__item::before { content: "Q.A.0" counter(qa); font-family: 'IBM Plex Mono', monospace; font-size: .68rem; color: #005bbb; opacity: 1; top: 12px; }

/* === Волна 3: композиционный ритм === */
/* акт «Парк + Калькулятор»: секции сшиваются */
#fleet:has(+ #calc) { padding-bottom: clamp(14px, 2.2vw, 28px); }
#fleet + #calc { padding-top: clamp(14px, 2.2vw, 28px); }
/* акт «Отзывы + FAQ» */
#reviews:has(+ #faq) { padding-bottom: clamp(16px, 2.4vw, 30px); }
#reviews + #faq { padding-top: clamp(16px, 2.4vw, 30px); }
/* вдох перед актом отзывов */
* + #reviews { margin-top: clamp(8px, 1.6vw, 22px); }
/* сценарии/сравнение прижаты к trust-полосе */
.dshtrust + .dshscen, .dshtrust + .dshcompare { padding-top: clamp(18px, 2.6vw, 30px); }

/* === Волна 5: футер-подвал === */
.dshfoot { margin-top: clamp(30px,4vw,54px); padding: clamp(28px,4vw,46px) clamp(20px,4vw,48px) 26px; border-top: 1px solid #005bbb55; }
.dshfoot__grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 26px; }
.dshfoot__brand strong { font-size: 1.15rem; }
.dshfoot__brand p { margin: 8px 0 0; font-size: .85rem; opacity: .7; max-width: 32ch; }
.dshfoot__col { display: flex; flex-direction: column; gap: 8px; font-size: .88rem; }
.dshfoot__col span { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; opacity: .55; }
.dshfoot__col a { opacity: .85; } .dshfoot__col a:hover { opacity: 1; color: #005bbb; }
.dshfoot__legal { max-width: 1200px; margin: 26px auto 0; font-size: .74rem; opacity: .5; }
@media (max-width: 900px) { .dshfoot__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dshfoot__grid { grid-template-columns: 1fr; } }
.dshfoot__legal, .dshfoot__col span { font-family: 'IBM Plex Mono', monospace; }

/* === Итерация 1: подстраницы === */

/* индекс-оглавление (главная) */
.dshindex { border: 1px solid var(--line); background: var(--panel); }
.dshindex__row {
  display: grid; grid-template-columns: 84px 1.1fr 1.6fr auto; gap: 18px; align-items: center;
  padding: 18px 20px; border-bottom: 1px solid var(--line-2);
  text-decoration: none; transition: background .15s;
}
.dshindex__row:last-child { border-bottom: 0; }
.dshindex__row:hover, .dshindex__row:focus-visible { background: #eef3fa; }
.dshindex__ref { font-family: var(--mono); font-size: 12.5px; letter-spacing: .08em; color: var(--accent); font-weight: 600; }
.dshindex__name { font-weight: 600; font-size: 16px; }
.dshindex__name small {
  display: block; font-family: var(--mono); font-weight: 400; font-size: 11px;
  letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-top: 4px;
}
.dshindex__desc { font-size: 13.5px; color: var(--muted); }
.dshindex__go { font-family: var(--mono); font-size: 12.5px; color: var(--accent); white-space: nowrap; }
.dshindex__row:hover .dshindex__go { border-bottom: 1px solid var(--accent); }
@media (max-width: 760px) {
  .dshindex__row { grid-template-columns: 64px 1fr; }
  .dshindex__desc, .dshindex__go { grid-column: 2; }
}

/* компакт-обзор парка (главная) */
.dshpark { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); background: var(--panel); }
.dshpark li {
  display: flex; align-items: center; gap: 16px;
  padding: 13px 18px; border-bottom: 1px solid var(--line-2); font-size: 14.5px;
}
.dshpark li:last-child { border-bottom: none; }
.dshpark li:hover { background: #f4f8fd; }
.dshpark__ref { font-size: 12px; color: var(--muted); width: 26px; flex: 0 0 auto; }
.dshpark__name { font-weight: 600; flex: 1; min-width: 0; }
.dshpark__price { font-family: var(--mono); font-size: 13px; white-space: nowrap; margin-left: auto; font-feature-settings: "tnum" 1; }
@media (max-width: 600px) {
  .dshpark li { flex-wrap: wrap; gap: 6px 12px; }
  .dshpark__price { margin-left: 38px; width: 100%; }
}

/* шапка подстраницы */
.pagehead {
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, #eef3fa 0%, var(--paper) 70%);
  padding: clamp(36px, 5vw, 54px) 0 clamp(28px, 4vw, 40px);
}
.crumbs {
  font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--muted); margin: 0 0 16px;
}
.crumbs a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
.crumbs a:hover { color: var(--accent); border-color: var(--accent); }
.pagehead h1 {
  font-size: clamp(28px, 3.8vw, 44px); line-height: 1.08; font-weight: 700;
  letter-spacing: -.02em; margin: 0 0 14px; max-width: 24ch;
}
.pagehead__lead { font-size: 16.5px; color: var(--ink-2); max-width: 62ch; margin: 0; }

/* панель со спецификацией (kv на подстраницах) */
.dshpanel { border: 1px solid var(--line); background: var(--panel); padding: 4px 22px 18px; margin-top: 26px; }
.block--alt .dshpanel { background: var(--paper); }
.dshpanel > .mono-eyebrow { margin: 16px 0 4px; color: var(--accent); }
.dshpanel .kv__row { grid-template-columns: minmax(0, 200px) minmax(0, 1fr); }
@media (max-width: 600px) { .dshpanel .kv__row { grid-template-columns: 1fr; } }

/* CTA-панель подстраниц */
.dshref-cta {
  border: 2px solid var(--accent); background: var(--panel);
  padding: clamp(22px, 3vw, 34px);
  display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between;
}
.dshref-cta p { margin: 0; font-size: 15px; max-width: 54ch; }
.dshref-cta .mono-eyebrow { margin: 0 0 8px; color: var(--accent); }
.dshref-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) { .dshref-cta__actions { width: 100%; flex-direction: column; } .dshref-cta__actions .btn { width: 100%; } }

/* навигация: текущая страница + ссылки-кнопки */
.nav a[aria-current="page"] { color: var(--accent); border-bottom-color: var(--accent); }
a.linkbtn { text-decoration: none; display: inline-block; }

/* юрссылки в футере подстраниц (../-пути) */
footer a[href^="../privacy"], footer a[href^="../terms"] { opacity: .62; font-size: .86em; }
footer a[href^="../privacy"]:hover, footer a[href^="../terms"]:hover { opacity: 1; }

/* ссылки в подводках секций */
.sechead__lead a { color: var(--accent); text-decoration: none; border-bottom: 1px solid transparent; }
.sechead__lead a:hover { border-color: var(--accent); }

/* === Итерация 2: модули === */
/* лента доверия: моно-строки REF */
.dshtrust span { font-variant-numeric: tabular-nums; }

/* датащит показателей вместо цитат (#reviews) */
.dshrev--data .dshdata { margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: data; }
.dshrev--data .dshdata__cell {
  counter-increment: data; position: relative; margin: 0;
  padding: 26px 22px 20px; background: #fff;
  border: 1px solid #d5dbe2; border-left: 3px solid var(--accent);
}
.dshrev--data .dshdata__cell::before {
  content: "DATA.0" counter(data);
  position: absolute; top: 12px; right: 16px;
  font-family: var(--mono); font-size: .68rem; color: var(--accent);
}
.dshrev--data .dshdata__cell dt { font-family: var(--mono); font-weight: 600; font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.15; color: var(--ink); font-variant-numeric: tabular-nums; }
.dshrev--data .dshdata__cell dd { margin: 10px 0 0; font-size: .88rem; color: var(--muted); }
@media (max-width: 900px) { .dshrev--data .dshdata { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .dshrev--data .dshdata { grid-template-columns: 1fr; } }

/* подпись бренда в подвале: моно-стиль датащита */
.dshfoot__brand p { font-family: var(--mono); font-size: .78rem; letter-spacing: .02em; }

/* === Итерация 3: легенда === */
/* REF: регламент ЭДО — моно-таблица документооборота (#edo-reglament) */
.dshedo { width: 100%; min-width: 560px; border-collapse: collapse; background: var(--panel); border: 1px solid var(--line); }
.dshedo th, .dshedo td { padding: 12px 16px; border: 1px solid var(--line-2); text-align: left; vertical-align: top; font-size: 14px; }
.dshedo thead th { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); background: var(--grid); }
.dshedo .dshedo__stage { width: 92px; white-space: nowrap; }
.dshedo tbody .dshedo__stage { font-family: var(--mono); font-size: 13px; color: var(--accent); }
.dshedo tbody td:last-child { color: var(--muted); }
#edo-reglament .table-foot { margin-top: 14px; }
@media (max-width: 900px) {
  .dshedo th, .dshedo td { padding: 10px 12px; font-size: 13px; }
  .dshedo { min-width: 520px; }
}
