/* «Цех на плёнке» — оформление. Шрифты: Tektur (заголовки, номера), Source Serif 4 (текст); оба OFL, лежат рядом. */
@font-face{font-family:"Tektur";font-weight:500;font-display:swap;src:url(/static/fonts/tektur-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Tektur";font-weight:500;font-display:swap;src:url(/static/fonts/tektur-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Tektur";font-weight:700;font-display:swap;src:url(/static/fonts/tektur-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Tektur";font-weight:700;font-display:swap;src:url(/static/fonts/tektur-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Source Serif 4";font-weight:400;font-display:swap;src:url(/static/fonts/source-serif-4-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Source Serif 4";font-weight:400;font-display:swap;src:url(/static/fonts/source-serif-4-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Source Serif 4";font-weight:400;font-style:italic;font-display:swap;src:url(/static/fonts/source-serif-4-cyrillic-400-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Source Serif 4";font-weight:400;font-style:italic;font-display:swap;src:url(/static/fonts/source-serif-4-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Source Serif 4";font-weight:600;font-display:swap;src:url(/static/fonts/source-serif-4-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Source Serif 4";font-weight:600;font-display:swap;src:url(/static/fonts/source-serif-4-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}

:root{--bg:#e4e7df;--sheet:#f3f4ef;--ink:#1a201d;--mut:#56605a;--mach:#34503f;--mach2:#24382c;--sig:#d9581a;--sig2:#a8400f;--rule:#aab2a6;--hair:#c9cfc4;--tape1:#1a201d;--tape2:#e3b21f;
 --hd:"Tektur","Arial Narrow",sans-serif;--tx:"Source Serif 4",Georgia,serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 var(--tx)}
a{color:var(--sig2);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--sig)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--hd);font-weight:700;line-height:1.15;letter-spacing:.01em}
h1{font-size:2rem;margin:.2em 0 .5em}
h2{font-size:1.25rem;margin:1.6em 0 .6em;text-transform:uppercase;letter-spacing:.06em}
h3{font-size:1.05rem;margin:1.2em 0 .4em}
.m{color:var(--mut);font-size:.88em}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* шапка: зелёная станина, снизу — сигнальная лента */
.hd{background:var(--mach);color:#eef1ea;border-bottom:7px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--tape1) 0 9px,var(--tape2) 9px 18px) 7}
.hd-in{max-width:1180px;margin:0 auto;padding:14px 16px 0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 22px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding-bottom:12px}
.brand svg{width:38px;height:38px;flex:none}
.brand b{font:700 1.45rem/1 var(--hd);letter-spacing:.02em}
.brand small{display:block;font:500 .7rem/1.2 var(--hd);letter-spacing:.12em;text-transform:uppercase;color:#bcd0c2;margin-top:3px}
.nav{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto}
.nav a{font:500 .86rem/1 var(--hd);text-transform:uppercase;letter-spacing:.06em;color:#dfe8e1;text-decoration:none;padding:10px 12px 11px;border-radius:5px 5px 0 0}
.nav a:hover{background:var(--mach2);color:#fff}
.nav a.on{background:var(--bg);color:var(--ink)}

main{max-width:1180px;margin:0 auto;padding:22px 16px 40px}
.cr{font:500 .8rem/1.3 var(--hd);text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:0 0 6px}
.cr a{color:var(--mut)}
.lead{font-size:1.08rem;max-width:46em}

/* главная */
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0;background:var(--sheet);border:1px solid var(--rule);margin-bottom:26px}
.hero a.pic{position:relative;display:block;background:#111}
.hero a.pic img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.92}
.hero .tx{padding:18px 22px}
.hero .lbl{font:700 .74rem/1 var(--hd);letter-spacing:.14em;text-transform:uppercase;color:var(--sig2)}
.hero h2{text-transform:none;letter-spacing:.01em;font-size:1.5rem;margin:.35em 0 .4em}
.hero h2 a{color:var(--ink);text-decoration:none}
.counts{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--hair);margin-top:14px}
.counts div{flex:1 1 30%;padding:10px 8px 0 0}
.counts b{display:block;font:700 1.6rem/1 var(--hd);color:var(--mach)}
.counts span{font-size:.82rem;color:var(--mut)}

.cols{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px}
.cols aside h2:first-child{margin-top:0}
.uch{margin:0 0 30px}
.uch-h{display:flex;align-items:baseline;gap:12px;border-bottom:3px solid var(--ink);padding-bottom:4px}
.uch-h h2{margin:0;font-size:1.15rem}
.uch-h h2 a{color:var(--ink);text-decoration:none}
.uch-h .no{font:700 .8rem/1 var(--hd);color:#fff;background:var(--mach);padding:4px 6px;letter-spacing:.06em}
.uch-h .m{margin-left:auto}
.uch>p{margin:.5em 0 .6em;color:var(--mut);font-size:.95rem}

/* маршрутная карта — таблица операций */
.mk{width:100%;border-collapse:collapse;background:var(--sheet);font-size:.95rem}
.mk th{font:500 .72rem/1.2 var(--hd);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);text-align:left;padding:6px 8px;border-bottom:1px solid var(--rule);background:#e9ece4}
.mk td{padding:7px 8px;border-bottom:1px solid var(--hair);vertical-align:middle}
.mk td.op{font:700 .9rem/1 var(--hd);color:var(--sig2);width:3.6em}
.mk td.th{width:112px;padding:5px 8px}
.mk td.th img{width:96px;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--rule)}
.mk td.n{font-family:var(--hd);font-size:.86rem;white-space:nowrap;text-align:right;color:var(--mut)}
.mk a.t{font-weight:600;color:var(--ink);text-decoration:none}
.mk a.t:hover{color:var(--sig)}
.mk .sub{display:block;font-size:.84rem;color:var(--mut)}
.tw{overflow-x:auto}
.srt th[data-k]{cursor:pointer}
.srt th[data-k]::after{content:" ↕";color:var(--rule)}
.srt th.on::after{content:" ↓";color:var(--sig)}
.srt th.on.up::after{content:" ↑"}

/* плитки участков и десятилетий */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:14px 0 26px}
.tile{display:block;background:var(--sheet);border:1px solid var(--rule);border-left:6px solid var(--mach);padding:12px 14px;color:var(--ink);text-decoration:none}
.tile:hover{border-left-color:var(--sig)}
.tile b{font:700 1rem/1.2 var(--hd);display:block}
.tile span{font-size:.86rem;color:var(--mut)}
.dec{display:flex;gap:4px;margin:10px 0 20px;flex-wrap:wrap}
.dec a{font:700 .9rem/1 var(--hd);padding:9px 12px;background:var(--sheet);border:1px solid var(--rule);color:var(--ink);text-decoration:none}
.dec a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dec a span{font-weight:500;color:var(--mut);margin-left:4px}
.dec a.on span{color:#c9d2cb}

ul.plain{list-style:none;padding:0;margin:0}
ul.plain li{padding:6px 0;border-bottom:1px dotted var(--rule)}

/* страница ленты */
.lenta{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}
.pl{margin:0;background:#0c0f0d}
.pl video{display:block;width:100%;aspect-ratio:4/3;background:#0c0f0d}
.pl.w video{aspect-ratio:16/9}
.pl figcaption{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:7px 10px;background:var(--mach2);color:#d5ded7;font:500 .78rem/1 var(--hd);letter-spacing:.05em}
.pl .qs button{font:inherit;background:transparent;color:#d5ded7;border:1px solid #5d7465;padding:5px 8px;margin-right:3px;cursor:pointer}
.pl .qs button.on{background:var(--tape2);color:#1a201d;border-color:var(--tape2)}
.pl .pos{margin-left:auto}
.pl .pos button{font:inherit;background:none;border:0;color:var(--tape2);cursor:pointer;text-decoration:underline;padding:0}
/* штамп — как в углу чертежа */
.shtamp{border:2px solid var(--ink);background:var(--sheet);font-size:.9rem}
.shtamp .tt{font:700 .78rem/1 var(--hd);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between}
.shtamp table{width:100%;border-collapse:collapse}
.shtamp th{font:500 .7rem/1.2 var(--hd);text-transform:uppercase;letter-spacing:.06em;color:var(--mut);text-align:left;width:38%;padding:6px 8px;border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);vertical-align:top}
.shtamp td{padding:6px 8px;border-bottom:1px solid var(--ink);vertical-align:top}
.shtamp tr:last-child th,.shtamp tr:last-child td{border-bottom:0}
.txt{max-width:44em}
.ops{counter-reset:op;list-style:none;padding:0;margin:0 0 1em}
.ops li{counter-increment:op;position:relative;padding:4px 0 4px 3.4em}
.ops li::before{content:counter(op,decimal-leading-zero) "0";position:absolute;left:0;top:5px;font:700 .82rem/1.3 var(--hd);color:var(--sig2)}
.terms a{display:inline-block;font:500 .8rem/1 var(--hd);border:1px solid var(--rule);background:var(--sheet);padding:5px 7px;margin:0 4px 6px 0;color:var(--ink);text-decoration:none}
.terms a:hover{border-color:var(--sig)}
.sosed{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:3px solid var(--ink);margin-top:26px;padding-top:10px;font-size:.95rem}
.sosed a{max-width:48%}

/* словарь */
.slv dt{font:700 1rem/1.3 var(--hd);margin-top:1.1em;scroll-margin-top:12px}
.slv dd{margin:.25em 0 0;max-width:44em}
.slv dd .m a{margin-right:6px}
.abc{display:flex;flex-wrap:wrap;gap:3px;margin:8px 0 14px}
.abc a{font:700 .85rem/1 var(--hd);padding:6px 8px;background:var(--sheet);border:1px solid var(--rule);text-decoration:none;color:var(--ink)}

/* форма */
.frm{display:grid;gap:14px;max-width:34em;background:var(--sheet);border:1px solid var(--rule);padding:18px}
.frm label{display:grid;gap:4px;font:500 .8rem/1.2 var(--hd);text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.frm input,.frm select,.frm textarea{font:16px/1.4 var(--tx);padding:8px 9px;border:1px solid var(--rule);background:#fff;color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}
.frm .ck{display:flex;gap:8px;align-items:flex-start;text-transform:none;letter-spacing:0;font:15px/1.4 var(--tx);color:var(--ink)}
.frm .hp{position:absolute;left:-9999px}
.frm button{font:700 .9rem/1 var(--hd);text-transform:uppercase;letter-spacing:.08em;background:var(--sig);color:#fff;border:0;padding:12px 18px;cursor:pointer;justify-self:start}
.frm button:hover{background:var(--sig2)}

.ft{background:var(--ink);color:#b8c2bb;font-size:.88rem}
.ft-in{max-width:1180px;margin:0 auto;padding:18px 16px 26px;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}
.ft a{color:#e8edea}
.ft p{margin:0}

@media (max-width:900px){
 .hero,.cols,.lenta{grid-template-columns:1fr}
 .nav{margin-left:0}
}
@media (max-width:560px){
 body{font-size:16px}
 h1{font-size:1.55rem}
 .mk td.th{display:none}
 .mk .hide-s{display:none}
 .nav a{padding:9px 8px;font-size:.78rem}
 .sosed a{max-width:100%}
}
