/* Компьютер: «аркуш» A4-подобной колонки с полем нумерации. */
[data-layout="d"] { font-size: 17px; }
.d-top { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 24px; padding: 10px 32px;
  background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: blur(6px); border-bottom: 1px solid var(--rule); }
.d-brand { font-weight: 700; white-space: nowrap; }
.d-nav { display: flex; gap: 14px; flex: 1; flex-wrap: nowrap; font-size: .82rem; white-space: nowrap; }
@media (max-width: 1360px) { .d-brand .muted { display: none; } }
.d-nav a { text-decoration: none; border-bottom: 1px dotted var(--ink-2); padding: 6px 0; }
.d-nav a:hover { border-bottom-style: solid; }
.d-top-cta { font-weight: 700; font-size: .9rem; text-decoration: none; border: 2px solid var(--ink); padding: 8px 12px; white-space: nowrap; }
.d-top-cta:hover { background: var(--ink); color: var(--sheet); }

.d-sheet { max-width: 1180px; margin: 32px auto 0; background: var(--sheet); border: 1px solid var(--rule-soft);
  box-shadow: 0 1px 0 var(--rule-soft), 0 18px 40px -28px rgba(0,0,0,.35); padding: 56px 64px 40px 96px; position: relative; }
/* поле підшивки: пунктир дырокола */
.d-sheet::before { content: ""; position: absolute; left: 40px; top: 40px; bottom: 40px; border-left: 1px dashed var(--rule-soft); }

.d-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: start; padding-bottom: 40px; border-bottom: 2px solid var(--rule); }
.doc-kicker { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 18px; }
.d-hero h1 { font-size: clamp(2rem, 3.1vw, 2.75rem); font-weight: 700; letter-spacing: -.01em; }
.lead { font-size: 1.05rem; margin: 22px 0 26px; max-width: 46ch; }
.cta-row { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.cta-note { font-size: .85rem; color: var(--ink-2); max-width: 44ch; }
.d-hero-facts { list-style: none; padding: 0; margin: 30px 0 0; border-top: 1px solid var(--rule); font-size: .9rem; }
.d-hero-facts li { padding: 8px 0; border-bottom: 1px solid var(--rule-soft); }

.d-annex { margin: 0; }
.d-annex figcaption { font-size: .85rem; margin-bottom: 10px; }
.d-annex .stamp { position: absolute; right: -26px; bottom: -34px; font-size: 1.05rem; background: color-mix(in srgb, var(--sheet) 88%, transparent); }
.annex-legend { font-size: .8rem; color: var(--ink-2); margin: 8px 0 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lg { display: inline-block; width: 16px; height: 10px; border: 1px solid var(--ink); }
.lg-evac { background: rgba(29,31,34,.12); }
.lg-row { background: #fbfaf6; margin-left: 12px; }

.d-sec { padding: 40px 0; border-bottom: 1px solid var(--rule); scroll-margin-top: 64px; }
.d-sec h2 { font-size: 1.35rem; margin-bottom: 18px; position: relative; }
.d-sec h2 .num { position: absolute; left: -64px; width: 48px; text-align: right; }
.sub { margin: 0 0 4px; color: var(--ink-2); }
.foot-note { font-size: .88rem; color: var(--ink-2); margin: 14px 0 0; max-width: 90ch; }
.risks td:first-child { width: 4ch; font-weight: 700; }
.risks td:nth-child(2) { width: 22%; }
.risks td:nth-child(3) { width: 22%; font-size: .88rem; }

.redact-box { border: 1px solid var(--rule); padding: 22px 24px; background: var(--paper); }
.redact-label { margin: 0 0 8px; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-2); }
.redact-line { font-size: 1.1rem; margin: 0 0 18px; min-height: 3.2em; }
.redact-ctl { display: flex; gap: 18px; align-items: center; font-size: .85rem; }

.frag td:first-child { width: 30%; }
.frag td:last-child { font-size: .88rem; color: var(--ink-2); }

.count-wrap { display: grid; grid-template-columns: 1fr; gap: 14px; }
.count-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--rule); }
.count-steps li { padding: 16px 14px; border-right: 1px solid var(--rule); display: flex; flex-direction: column; gap: 8px;
  opacity: .25; transition: opacity .35s, background .35s; }
.count-steps li:last-child { border-right: 0; }
.count-steps li.on { opacity: 1; }
.count-steps li.cur { background: var(--mark); }
.cs-n { font-size: 1.9rem; font-weight: 700; white-space: nowrap; }
.cs-t { font-size: .92rem; }
.cs-r { font-size: .78rem; color: var(--ink-2); margin-top: auto; border-top: 1px dotted var(--ink-2); padding-top: 6px; }
.count-ctl { display: flex; align-items: center; gap: 10px; }
.count-pos { min-width: 12ch; text-align: center; font-size: .9rem; }

.codes td:nth-child(2) { white-space: nowrap; }
.order { list-style: none; padding: 0; margin: 0 0 24px; }
.order li { padding: 12px 0; border-bottom: 1px dotted var(--rule-soft); max-width: 92ch; }
.rooms { display: inline-flex; gap: 8px; flex-wrap: wrap; margin-left: 8px; vertical-align: middle; }
.rooms a { border: 1.5px solid var(--ink); padding: 6px 10px; text-decoration: none; font-weight: 700; font-size: .9rem; }
.rooms a:hover { background: var(--ink); color: var(--sheet); }
.d-caveat { border-bottom: 0; }
.d-caveat p { max-width: 90ch; margin: 0; color: var(--ink-2); }
.d-foot { max-width: 1180px; margin: 0 auto; padding: 20px 0 40px; font-size: .8rem; color: var(--ink-2); text-align: center; }

@media (max-width: 1100px) {
  .d-sheet { padding: 40px 32px 32px 72px; margin: 20px 16px 0; }
  .d-sheet::before { left: 28px; }
  .d-sec h2 .num { left: -52px; width: 40px; }
  .d-hero { grid-template-columns: 1fr; }
  .count-steps { grid-template-columns: repeat(3, 1fr); }
  .d-nav { display: none; }
}

/* посилання «Конфіденційність» у підвалі — кольором тексту підвалу (docs/SITE.md «Конфиденциальность») */
.d-foot a { color: inherit; }
