/* ── ШРИФТИ (самохостинг, жодного запиту назовні) ───────────────────── */
@font-face{font-family:Arsenal;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/arsenal-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Arsenal;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/arsenal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:Arsenal;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/arsenal-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Arsenal;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/arsenal-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Ubuntu Sans Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ubuntumono-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Ubuntu Sans Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ubuntumono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Ubuntu Sans Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ubuntumono-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Ubuntu Sans Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ubuntumono-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}

/* ── ТОКЕНИ (це закон; нижче все посилається лише на них) ───────────── */
:root{
  --board:#C8C3B6; --board-2:#B7B1A2; --sheet:#F2F1ED;
  --ink:#1A1B18; --ink-2:#55574E;
  --ink-2b:#3E4038;   /* приглушений тон НА ОБКЛАДИНЦІ: на --board 5.97:1, на --board-2 4.91:1 */
  --rule:#D3D1C8; --rule-board:#A6A093;
  --verified:#4A5D23; --verified-ink:#3C4B1C;
  --radius:2px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:72px; --s9:112px;
  --measure:68ch;
  --mono:'Ubuntu Sans Mono',ui-monospace,monospace;
  --sans:Arsenal,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--board); color:var(--ink);
  font:400 17px/1.6 var(--sans);
  text-underline-offset:.18em;
}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--s5)}
@media(min-width:900px){.wrap{padding:0 var(--s7)}}

/* ── ТИПОГРАФІКА ────────────────────────────────────────────────────── */
h1,h2,h3{margin:0;font-weight:700;letter-spacing:0}
h2{font-size:clamp(22px,2.6vw,30px);line-height:1.2}
p{margin:0 0 var(--s4);max-width:var(--measure)}
p:last-child{margin-bottom:0}
a{color:inherit}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.label{font:400 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2b)}
.sheet .label{color:var(--ink-2)}   /* на світлому аркуші вистачає світлішого */
.secnum{font:400 12px/1 var(--mono);letter-spacing:.06em;color:var(--ink-2b);margin-bottom:var(--s3)}
.lede{font-size:clamp(19px,2vw,23px);line-height:1.45}

/* ── ШАПКА ──────────────────────────────────────────────────────────── */
.top{height:56px;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.top .brand{font:700 15px/1 var(--mono);letter-spacing:.04em}
.top nav{display:flex;align-items:center;gap:var(--s5);font-family:var(--mono);font-size:13px}
.lang a{text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
.lang a[aria-current]{border-bottom-color:var(--ink)}
.lang a:not([aria-current]):hover{border-bottom-color:var(--rule-board)}
.lang span{color:var(--ink-2b);padding:0 2px}

/* ── ГЕРОЙ ──────────────────────────────────────────────────────────── */
.hero{padding:var(--s7) 0 var(--s8)}
.hero .over{margin-bottom:var(--s5)}
.mark{
  font:700 clamp(56px,13vw,200px)/0.9 var(--mono);
  letter-spacing:-.02em;margin:0 0 var(--s5);
}
.hero .lede{max-width:56ch;margin-bottom:var(--s6)}
.facts{list-style:none;margin:0 0 var(--s7);padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) 0}
.facts li{font:400 13px/1.5 var(--mono);letter-spacing:.02em;padding:2px 0 2px var(--s3);border-left:2px solid transparent;margin-right:var(--s5)}
.facts li.v{border-left-color:var(--verified)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5)}
.btn-ink{
  display:inline-block;background:var(--ink);color:var(--sheet);
  font:700 15px/1 var(--mono);letter-spacing:.02em;
  padding:15px var(--s5);border-radius:var(--radius);text-decoration:none;
  transition:transform 90ms cubic-bezier(.22,.61,.36,1),background 120ms cubic-bezier(.22,.61,.36,1);
}
.btn-ink:hover{background:#0C0D0B}
.btn-ink:active{transform:translateY(1px)}
.mailto{font-family:var(--mono);font-size:14px;text-decoration:underline;text-decoration-color:var(--rule-board)}
.mailto:hover{text-decoration-color:var(--ink)}

/* ── СЕКЦІЇ ─────────────────────────────────────────────────────────── */
section{padding-bottom:var(--s9)}
.sec-head{margin-bottom:var(--s6);max-width:var(--measure)}
.sec-head h2{margin-bottom:var(--s4)}

/* ── ЛИСТ: єдиний контейнер сторінки ────────────────────────────────── */
.sheet{
  background:var(--sheet);border:1px solid var(--rule-board);border-radius:var(--radius);
  padding:var(--s5) var(--s5) var(--s2);
  container-type:inline-size;   /* розкладка запису рахується від ЛИСТА, не від екрана */
}
@media(min-width:700px){.sheet{padding:var(--s6) var(--s6) var(--s3)}}
.sheet-head{
  font:700 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  padding-bottom:var(--s4);margin-bottom:var(--s3);border-bottom:1px solid var(--rule);
}

/* ── ЗАПИС: поле · значення · звідки відомо ─────────────────────────── */
.recs{margin:0}
.rec{
  display:grid;grid-template-columns:1fr;gap:2px var(--s4);
  padding:var(--s3) 0;border-bottom:1px solid var(--rule);
}
.rec:last-child{border-bottom:0}
.rec dt{font:400 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.rec dd{margin:0;font:400 15px/1.45 var(--mono);overflow-wrap:break-word}
.rec dd.val{padding-left:var(--s3);border-left:2px solid transparent}
.rec dd.val.v{border-left-color:var(--verified)}
.rec dd.src{font-size:11px;color:var(--ink-2);transform:translateX(-4px);transition:transform 160ms cubic-bezier(.22,.61,.36,1)}
.rec:hover dd.src{transform:none}
.rec dd.prose{font-family:var(--sans);font-size:16px;line-height:1.5}
.na{font-weight:700;letter-spacing:.04em}
/* Три колонки вмикаються лише коли САМ ЛИСТ достатньо широкий.
   Раніше умова стояла на ширині екрана — і у вузькій плиті «ДОМЕН»
   середня колонка стискалася майже в нуль, а значення ламалися
   по одній літері в рядок (22.12.2016 ставало вертикальним).
   Поріг 640px по КОНТЕНТНІЙ ширині: широкі листи отримують три колонки,
   вузькі плити лишаються стосом — там три колонки не вміщуються чесно. */
@container (min-width:640px){
  .rec{grid-template-columns:minmax(130px,1fr) minmax(190px,1.9fr) minmax(96px,.8fr);align-items:baseline;gap:var(--s4)}
  .rec dd.src{text-align:right}
}
@supports not (container-type:inline-size){
  @media(min-width:960px){
    .rec{grid-template-columns:minmax(130px,1fr) minmax(190px,1.9fr) minmax(96px,.8fr);align-items:baseline;gap:var(--s4)}
    .rec dd.src{text-align:right}
  }
}

/* ── ПАРА ПЛИТ + СЦЕПКА (асиметрія 5/7) ─────────────────────────────── */
.plates{position:relative;display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:start}
@media(min-width:960px){
  .plates{grid-template-columns:5fr 7fr;gap:var(--s8)}
}
#linkage{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
#linkage path{fill:none;stroke:var(--rule-board);stroke-width:1.5}
#linkage path.live{stroke:var(--ink-2)}
.gap-note{
  position:absolute;font:400 10px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-2b);background:var(--board);padding:3px 6px;border:1px solid var(--rule-board);
  border-radius:var(--radius);opacity:0;transition:opacity 160ms cubic-bezier(.22,.61,.36,1);width:150px;text-align:center;
}
.gap-note.on{opacity:1}
.linkcap{margin-top:var(--s5);max-width:var(--measure);font-size:16px;color:var(--ink-2b)}
.linkcap b{color:var(--ink);font-family:var(--mono);font-weight:400}

/* ── ПЕРЕЛІК «ЧОГО ТУТ НЕМАЄ» — та сама вага, що й решта ────────────── */
.plain{margin:0;padding:0;list-style:none}
.plain li{padding:var(--s3) 0;border-bottom:1px solid var(--rule);max-width:var(--measure)}
.plain li:last-child{border-bottom:0}

/* ── КРОКИ УГОДИ ────────────────────────────────────────────────────── */
ol.steps{margin:0;padding:0;list-style:none;counter-reset:st}
ol.steps li{
  counter-increment:st;padding:var(--s3) 0 var(--s3) 40px;position:relative;
  border-bottom:1px solid var(--rule);max-width:var(--measure);
}
ol.steps li:last-child{border-bottom:0}
ol.steps li::before{
  content:counter(st);position:absolute;left:0;top:var(--s3);
  font:400 13px/1.5 var(--mono);color:var(--ink-2);
}

/* ── ЦІНА ───────────────────────────────────────────────────────────── */
.price{font:700 clamp(48px,8vw,96px)/1 var(--mono);letter-spacing:-.02em;margin:0 0 var(--s3)}

/* ── ПІДВАЛ ─────────────────────────────────────────────────────────── */
footer{background:var(--board-2);border-top:1px solid var(--rule-board);padding:var(--s7) 0}
footer .wrap>*+*{margin-top:var(--s4)}
footer p{max-width:var(--measure)}
.srcs a{font-family:var(--mono);font-size:14px}

/* ── ЛИПКА СМУГА УГОДИ ──────────────────────────────────────────────── */
.dealbar{
  position:fixed;left:0;right:0;top:0;height:48px;z-index:10;
  background:var(--sheet);border-bottom:1px solid var(--rule-board);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  padding:0 var(--s5);transform:translateY(-100%);transition:transform 180ms cubic-bezier(.22,.61,.36,1);
}
.dealbar.on{transform:none}
.dealbar .m{font:700 14px/1 var(--mono)}
.dealbar .btn-ink{padding:9px var(--s4);font-size:13px}

:focus-visible{outline:2px solid var(--verified);outline-offset:2px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0ms!important;animation-duration:0ms!important}
}

/* ── ДРУК ────────────────────────────────────────────────────────────
   Паспорт активу друкують. Без цього блоку: чорнильна кнопка зникала
   білим по білому, липка смуга друкувалася на кожному аркуші, лінія
   сцепки різала текст, документ розповзався на сім сторінок. */
@media print{
  :root{--board:#fff;--board-2:#fff;--sheet:#fff}
  body{font-size:11pt;line-height:1.4;color:#000;background:#fff}
  .dealbar,#linkage,.gap-note{display:none!important}
  .wrap{max-width:none;padding:0}
  section{padding-bottom:18pt;break-inside:avoid}
  .sheet{border:1px solid #000;padding:10pt;break-inside:avoid;container-type:normal}
  .plates{display:block}
  .plates .sheet+.sheet{margin-top:10pt}
  .mark{font-size:44pt;margin-bottom:8pt}
  .hero{padding:0 0 18pt}
  .btn-ink{background:none!important;color:#000!important;border:1px solid #000;padding:4pt 8pt}
  .rec{padding:4pt 0}
  .rec dd.val{border-left-color:#000!important}
  .facts li.v{border-left-color:#000}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;color:#444}
  a[href^="mailto"]::after{content:""}
  h2{break-after:avoid}
}
.top a.brand{color:inherit;text-decoration:none}
