/* Мост3Д — стили сайта. Идея: мастерская и чертёж. Графит и холодная бумага, один акцент —
   жёлтый, как штангенциркуль и шпатели на доске инструментов. Заголовки — Tektur (технический,
   как надписи на оборудовании), текст — Golos Text, размеры и паспорта деталей — JetBrains Mono. */
:root{
  --paper:#EDEFEE; --surface:#FFFFFF; --surface-2:#E2E6E5; --ink:#14181B; --ink-2:#4A545A; --ink-3:#6E787E;
  --line:#CBD1D2; --accent:#F2B600; --accent-ink:#14181B; --accent-soft:#F8ECC0; --warn:#8A5A00;
  --night:#0D1012; --night-2:#171B1E; --on-night:#EEF0EE; --on-night-2:#A7B0B5;
  --display:"Tektur","Bahnschrift","Segoe UI",system-ui,sans-serif;
  --sans:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,"Courier New",monospace;
  --r:6px; --wrap:1200px; --gut:clamp(16px,4vw,32px);
  --shadow:0 1px 2px rgba(20,24,27,.06),0 10px 30px rgba(20,24,27,.08);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#0F1214; --surface:#171B1E; --surface-2:#1E2327; --ink:#E9ECEA; --ink-2:#A3ACB1; --ink-3:#7D878D;
    --line:#2A3136; --accent-soft:#3A3113; --warn:#F2C94C;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0F1214; --surface:#171B1E; --surface-2:#1E2327; --ink:#E9ECEA; --ink-2:#A3ACB1; --ink-3:#7D878D;
  --line:#2A3136; --accent-soft:#3A3113; --warn:#F2C94C;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(34px,6vw,68px)}
h2{font-size:clamp(26px,3.6vw,42px)}
h3{font-size:clamp(18px,1.8vw,22px);font-weight:500;line-height:1.2}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--ink-2);max-width:62ch}
.muted{color:var(--ink-3)}
.mono{font-family:var(--mono)}
.todo{background:var(--accent-soft);border:1px dashed var(--warn);color:var(--warn);border-radius:4px;padding:0 6px;font-size:.9em}
section.block{padding-block:clamp(56px,8vw,104px)}
section.block.tight{padding-block:clamp(40px,5vw,64px)}
.sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:clamp(24px,4vw,44px);max-width:760px}
.sec-head.row{flex-direction:row;justify-content:space-between;align-items:flex-end;max-width:none;flex-wrap:wrap;gap:16px}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:var(--r);
  font:600 16px/1.2 var(--sans);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.btn:active{transform:translateY(1px)}
.btn.main{background:var(--accent);color:var(--accent-ink)}
.btn.main:hover{background:#FFC61A}
.btn.line{border-color:currentColor;background:transparent;color:inherit}
.btn.line:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.btn.small{min-height:38px;padding:8px 14px;font-size:14px}
.btn .arr{font-family:var(--mono);font-weight:500}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* шапка */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.site-head .bar{display:flex;align-items:center;gap:20px;height:68px}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1;flex:none}
.logo b{font:700 22px/1 var(--display);letter-spacing:.04em}
.logo b i{font-style:normal;color:var(--accent);-webkit-text-stroke:.6px var(--ink)}
.logo small{font:500 10.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav a,.nav summary{padding:8px 10px;border-radius:var(--r);text-decoration:none;font-weight:500;font-size:15px;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.nav a:hover,.nav summary:hover{color:var(--ink);background:var(--surface-2)}
.nav a.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}
.nav details{position:relative}
.nav summary{list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:"▾";font-size:11px;margin-left:6px;color:var(--ink-3)}
.nav .drop{position:absolute;top:calc(100% + 8px);left:-8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow);padding:8px;display:grid;gap:2px;min-width:300px}
.nav .drop a{display:flex;flex-direction:column;gap:2px;white-space:normal;padding:10px 12px}
.nav .drop a small{font-weight:400;color:var(--ink-3);font-size:13px}
.head-call{display:flex;align-items:center;gap:14px;flex:none}
.head-call .tel{font:500 15px var(--mono);text-decoration:none;white-space:nowrap}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1.5px solid var(--line);border-radius:var(--r);background:transparent;color:var(--ink);cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:currentColor;margin:4px auto}
@media (max-width:1100px){.head-call .tel{display:none}}
@media (max-width:980px){
  .burger{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--surface);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;padding:12px var(--gut) 20px;gap:2px;max-height:calc(100vh - 68px);overflow:auto;box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav details[open] .drop,.nav .drop{position:static;box-shadow:none;border:0;min-width:0;padding:0 0 0 10px}
  .nav a,.nav summary{padding:12px 8px;font-size:17px}
  .nav a.on{box-shadow:inset 3px 0 0 var(--accent)}
  .head-call{display:none}
}

/* первый экран главной: видео или стоп-кадр мастерской */
.hero{position:relative;background:var(--night);color:var(--on-night);overflow:hidden;min-height:min(86vh,820px);display:flex;align-items:flex-end}
.hero .media{position:absolute;inset:0}
.hero .media video,.hero .media img{width:100%;height:100%;object-fit:cover}
.hero .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,18,.35) 0%,rgba(13,16,18,.25) 35%,rgba(13,16,18,.88) 100%),
  linear-gradient(90deg,rgba(13,16,18,.7) 0%,rgba(13,16,18,0) 70%)}
.hero .in{position:relative;width:100%;padding-block:clamp(96px,14vh,160px) clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:22px}
.hero .eyebrow{color:var(--on-night-2)}
.hero h1{font-size:clamp(42px,8.2vw,104px);font-weight:700;max-width:12ch;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lead{color:#D5DADC;max-width:54ch}
.hero .btn.line{color:var(--on-night)}
.specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14);margin-top:clamp(12px,3vw,28px);
  border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.specs div{background:rgba(13,16,18,.55);padding:14px 16px 12px;display:flex;flex-direction:column;gap:4px}
.specs b{font:500 clamp(18px,2vw,24px)/1.1 var(--mono);font-variant-numeric:tabular-nums;color:var(--on-night)}
.specs span{font-size:13.5px;color:var(--on-night-2)}
@media (max-width:760px){.specs{grid-template-columns:1fr 1fr}.hero{min-height:0}}

/* размерная линия — показывает настоящие размеры, как на чертеже */
.dim{display:flex;align-items:center;gap:10px;font:500 12.5px/1 var(--mono);color:var(--ink-3);letter-spacing:.04em}
.dim::before,.dim::after{content:"";flex:1;height:1px;background:currentColor;opacity:.7}
.dim{border-inline:1px solid currentColor;padding-inline:0;height:12px}

/* шапка внутренних страниц */
.page-hero{padding-block:clamp(40px,6vw,80px) clamp(32px,5vw,56px);border-bottom:1px solid var(--line)}
.page-hero .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.page-hero .txt{display:flex;flex-direction:column;gap:18px}
.page-hero figure{margin:0;position:relative}
.page-hero figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.page-hero figcaption{font:12.5px/1.4 var(--mono);color:var(--ink-3);margin-top:8px}
.crumbs{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--ink)}
@media (max-width:860px){.page-hero .grid{grid-template-columns:1fr}}

/* плитки направлений */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.tile{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;text-decoration:none;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--ink-3);transform:translateY(-2px)}
.tile img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(.92)}
.tile .t{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px}
.tile h3{display:flex;justify-content:space-between;gap:10px}
.tile h3::after{content:"→";font-family:var(--mono);font-weight:400;color:var(--ink-3)}
.tile p{font-size:14.5px;color:var(--ink-2)}
.tile.calc{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);justify-content:space-between;padding:20px}
.tile.calc h3::after{color:var(--accent-ink)}
.tile.calc p{color:var(--accent-ink);opacity:.8}
.tile.calc .big{font:600 clamp(40px,5vw,56px)/1 var(--display)}

/* карточка работы с «паспортом» детали */
.cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.case{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
/* фото всех карточек строго одного размера 4:3: картинка лежит слоем и не распирает блок
   (вертикальные снимки раньше делали карточки разной высоты — замечание владельца 01.10.2026) */
.case .ph{position:relative;aspect-ratio:4/3;background:var(--surface-2);overflow:hidden}
.case .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case .ph .n{position:absolute;left:10px;top:10px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--night);color:var(--on-night);padding:4px 8px;border-radius:3px}
.case .body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.case .story{font-size:14.5px;color:var(--ink-2)}
.passport{display:grid;grid-template-columns:auto 1fr;gap:0;margin:auto 0 0;border-top:1px solid var(--line);font-size:13.5px}
.passport dt,.passport dd{padding:7px 0;border-bottom:1px dashed var(--line);margin:0}
.passport dt{font:500 11px/1.9 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-right:14px}
.passport dd{font-variant-numeric:tabular-nums}
.case.feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-radius:var(--r)}
.case.feature .ph{aspect-ratio:auto;min-height:440px}
.case.feature .ph img{position:absolute;inset:0}
.case.feature .body{padding:clamp(20px,3vw,36px);gap:16px}
.case.feature h3{font-size:clamp(22px,2.4vw,30px);font-weight:600}
.case.feature .story{font-size:16px}
.case.feature .thumbs{display:flex;gap:8px}
.case.feature .thumbs img{width:88px;height:66px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}
@media (max-width:860px){.case.feature{grid-template-columns:1fr}.case.feature .ph{aspect-ratio:4/3;min-height:0}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chips button{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:8px 14px;font:500 14px var(--sans);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* шаги заказа — настоящая последовательность, поэтому с номерами */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;border-top:1px solid var(--line)}
.steps li{list-style:none;padding:22px 20px 0 0;display:flex;flex-direction:column;gap:8px;position:relative}
.steps li::before{counter-increment:s;content:"0" counter(s);font:500 13px var(--mono);color:var(--ink-3);margin-bottom:6px}
.steps li::after{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--accent);border-radius:50%}
.steps h3{font-size:19px}
.steps p{font-size:14.5px;color:var(--ink-2)}
ol.steps{margin:0;padding:0}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* логотипы: одноцветные маски, красим в цвет текста — работают в обеих темах */
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,5vw,64px);padding-block:8px}
.logos i{display:block;height:40px;background:var(--ink-2);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}

/* отзывы */
.reviews{columns:3 300px;column-gap:18px}
.review{break-inside:avoid;margin:0 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.review p{font-size:15px;overflow-wrap:anywhere}   /* длинные слова без пробелов («Сканирование+моделирование+…») не вылезают из карточки */
.review footer{margin-top:12px;font-size:13.5px;color:var(--ink-3);display:flex;justify-content:space-between;gap:10px}
.review footer b{color:var(--ink);font-weight:600}
.rating{display:flex;align-items:baseline;gap:12px}
.rating b{font:600 44px/1 var(--display)}
.rating .stars{color:var(--accent);letter-spacing:2px;font-size:18px}

/* вопросы */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font:500 18px/1.35 var(--sans);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font:400 26px var(--mono);color:var(--ink-3)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 20px;color:var(--ink-2);max-width:70ch}

/* два столбца: текст + фото */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.split.rev>:first-child{order:2}
.split figure{margin:0}
.split figcaption{font:12px/1.4 var(--mono);color:var(--ink-3);margin-top:6px}
.split.pair{align-items:start}
.split.pair img{aspect-ratio:1/1}
.split.pair figure:last-child img{object-position:50% 85%}
.cases.four{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.split img{width:100%;border-radius:var(--r);aspect-ratio:4/3;object-fit:cover}
.split .txt{display:flex;flex-direction:column;gap:16px}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
/* «Настоящий цех»: широкая панорама целиком (видно и ряды принтеров, и большой принтер), текст под ней */
.ceh-wide figure{margin:0}
.ceh-wide img{width:100%;aspect-ratio:2.16/1;object-fit:cover;border-radius:var(--r)}
.ceh-wide .ceh-txt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);margin-top:clamp(20px,3vw,36px);align-items:start}
.ceh-wide .txt{display:flex;flex-direction:column;gap:16px}
@media (max-width:860px){.ceh-wide .ceh-txt{grid-template-columns:1fr}.ceh-wide img{aspect-ratio:16/9}}
.list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.list li{padding-left:22px;position:relative;color:var(--ink-2)}
.list li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--accent)}
.list li b{color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.facts div{background:var(--surface);padding:18px}
.facts b{display:block;font:500 clamp(22px,2.6vw,30px)/1.1 var(--mono);font-variant-numeric:tabular-nums;margin-bottom:6px}
.facts span{font-size:14px;color:var(--ink-2)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.gallery.wide{grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr))}
.gallery.wide img,.page-hero.wide figure img,.split figure.wide img{aspect-ratio:2/1}
.gallery figure{margin:0}
.gallery figcaption{font:12px/1.4 var(--mono);color:var(--ink-3);margin-top:6px}

/* материалы */
.mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.mat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:12px}
.mat h3{display:flex;justify-content:space-between;gap:10px}
.mat h3 i{font:500 14px var(--mono);font-style:normal;color:var(--ink-3)}
.mat p{font-size:15px;color:var(--ink-2)}
.mat .no{font-size:14px;color:var(--ink-3)}
.mat .no b{color:var(--ink-2);font-weight:500}
.scales{display:grid;grid-template-columns:auto auto;justify-content:start;column-gap:14px;row-gap:4px;font-size:13px;color:var(--ink-3)}
.dots{display:inline-flex;gap:4px;align-items:center}
.dots b{width:9px;height:9px;border-radius:50%;background:var(--line)}
.dots b.on{background:var(--accent)}
.mat .p{font:500 12.5px var(--mono);color:var(--ink-3);border-top:1px solid var(--line);padding-top:10px}
.mat .ex{font-size:13.5px}
.mat .ex a{color:var(--ink-2)}

/* таблица принтеров */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table.t{border-collapse:collapse;width:100%;min-width:620px;font-size:14.5px}
table.t th,table.t td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
table.t th{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2)}
table.t td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
table.t tr:last-child td{border-bottom:0}
table.t tfoot td{font-weight:600;background:var(--surface-2)}

/* полоса «пришлите деталь» */
.cta{background:var(--night);color:var(--on-night)}
.cta .in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(48px,7vw,88px)}
.cta h2{font-size:clamp(28px,4vw,48px)}
.cta p{color:var(--on-night-2);margin-top:14px}
.cta .ways{display:flex;flex-direction:column;gap:10px}
.cta .ways a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r);text-decoration:none;font-weight:600}
.cta .ways a:hover{border-color:var(--accent)}
.cta .ways a small{font:400 13px var(--mono);color:var(--on-night-2)}
.cta .ways a.main{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.cta .ways a.main small{color:var(--accent-ink);opacity:.75}
@media (max-width:860px){.cta .in{grid-template-columns:1fr}}

/* формы */
.form{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px)}
.f{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--ink-3)}
.f input,.f textarea,.f select{font:16px var(--sans);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:11px 12px}
.f textarea{min-height:90px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.two{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;font-size:13.5px;color:var(--ink-3);align-items:flex-start}
.consent input{margin-top:3px}
.note{font-size:14px;border-radius:var(--r);padding:12px 14px;line-height:1.45}
.note.warn{background:var(--accent-soft);color:var(--ink)}
.note.info{background:var(--surface-2);color:var(--ink)}

/* контакты */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,56px)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:auto 1fr;gap:0;border-top:1px solid var(--line)}
.kv dt,.kv dd{margin:0;padding:14px 0;border-bottom:1px solid var(--line)}
.kv dt{font:500 11px/1.9 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-right:24px}
.kv dd{font-size:17px}
.kv dd .big{font:500 22px var(--mono)}
.map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--surface-2);display:flex;align-items:center;justify-content:center}
.map iframe{width:100%;height:100%;border:0}
.map .ph{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px}
.msg-row{display:flex;flex-wrap:wrap;gap:10px}

/* подвал */
.site-foot{background:var(--night);color:var(--on-night-2);font-size:14.5px;padding-block:56px 32px}
.site-foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.site-foot h4{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-night-2);margin:0 0 14px;opacity:.8}
.site-foot a{color:var(--on-night);text-decoration:none}
.site-foot a:hover{color:var(--accent)}
.site-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.site-foot .logo b{color:var(--on-night)}
.site-foot .logo b i{-webkit-text-stroke:0}
.site-foot .legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px}
.site-foot .todo{color:var(--accent);background:transparent;border-color:var(--accent)}
@media (max-width:860px){.site-foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-foot .cols{grid-template-columns:1fr}}

/* кнопки мессенджеров на каждом экране */
.msgbar{position:fixed;right:18px;bottom:18px;z-index:25;display:flex;flex-direction:column;gap:8px}
/* все кнопки чёрные с жёлтой рамкой — в стиле сайта и видны на любом фоне, включая чёрный подвал
   (владелец 01.10.2026: разноцветные не нравятся) */
.msgbar a{display:flex;align-items:center;justify-content:center;min-width:52px;height:52px;padding:0 16px;border-radius:26px;background:var(--night);color:#fff;
  text-decoration:none;font:600 13px var(--sans);border:2px solid var(--accent);box-shadow:0 6px 18px rgba(0,0,0,.28)}
.msgbar a:hover{background:var(--accent);color:var(--accent-ink);transform:translateY(-1px)}
@media (max-width:760px){
  .msgbar{left:0;right:0;bottom:0;flex-direction:row;gap:0;background:var(--night);padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 20px rgba(0,0,0,.2)}
  .msgbar a{flex:1;height:44px;border-radius:var(--r);box-shadow:none;border:0;background:transparent}
  .msgbar a.max{background:var(--accent)}
  body{padding-bottom:64px}
}
body.no-msgbar .msgbar{display:none}
body.no-msgbar{padding-bottom:0}

/* предпросмотр: страницы-разделы, показываем одну */
.spa .page[hidden]{display:none}
.prose{max-width:78ch;display:flex;flex-direction:column;gap:14px;color:var(--ink-2)}
.prose h2{font-size:24px;color:var(--ink);margin-top:18px}
.prose ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

/* проверка 02.10.2026: пальцу нужно ≥ 40 px */
.chips button{min-height:40px}
.consent input{width:20px;height:20px;flex:none;margin-top:0}
