/* NECHAEV — стили сайта. Главная и подстраницы (/gallery/, /blog/…) подключают один файл: <link rel="stylesheet" href="/assets/site.css"> */
/* Шрифты — со своего сервера, /assets/fonts/ (COMPLIANCE P0-03: без запросов к Google). Файлы и unicode-range — как отдаёт
   Google Fonts CSS2 API на 14.10.2026, наборы cyrillic-ext (в нём кыргызские Ң Ө Ү), cyrillic, latin-ext, latin; лицензия —
   /assets/fonts/OFL.txt. Onest — вариативный, один файл на 200–700. Onest cyrillic дополнительно грузится через <link rel="preload">
   в <head> (site/index.html, tools/partials/head-common.html). Имена файлов не менять без смены адреса: кэш год, immutable. */
@font-face{font-family:'Forum';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/forum-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Forum';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/forum-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Forum';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/forum-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Forum';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/forum-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:200 700;font-display:swap;src:url(/assets/fonts/onest-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Onest';font-style:normal;font-weight:200 700;font-display:swap;src:url(/assets/fonts/onest-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:200 700;font-display:swap;src:url(/assets/fonts/onest-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:200 700;font-display:swap;src:url(/assets/fonts/onest-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
--c-bg:#F5F4F0;
--c-surface:#EBEAE6;
--c-paper:#FBFAF8;
--c-line:#D9D8D5;
--c-silver:#ABAAA6;
--c-field-line:#868581;
--c-steel:#63625F;
--c-ink:#2B2B2A;
--c-ink-deep:#1F1F1E;
--c-on-dark:#F5F4F0;
--c-on-dark-muted:#BDBCB8;
--c-focus:#2B2B2A;
--c-bg-rgb:245,244,240;
--c-paper-rgb:251,250,248;
--c-line-rgb:217,216,213;
--c-ink-deep-rgb:31,31,30;
--f-caps:'Forum', Georgia, serif;
--f-text:'Onest', system-ui, sans-serif;
--pad:24px;
--gap:24px;
--container:1280px;
--head-h:64px;
--ease:cubic-bezier(.22,.61,.36,1);
--ease-out:cubic-bezier(.16,1,.3,1);
--shadow:0 8px 24px rgba(31,31,30,0.08);
}
[hidden]{display:none !important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none;overflow-x:clip}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--f-text);font-weight:400;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
section[id],[id="horeca"]{scroll-margin-top:var(--head-h)}
/* ссылки на предмет «Уровня исполнения» (/#lv-hotel-h из блога): заголовок не уходит под липкую шапку */
.lv-item h3[id]{scroll-margin-top:calc(var(--head-h) + 24px)}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}
.about :focus-visible,.footer :focus-visible{outline-color:var(--c-on-dark)}
.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}
.skip{position:absolute;left:16px;top:-120px;z-index:200;background:var(--c-ink);color:var(--c-on-dark);padding:12px 20px;font-weight:500;text-decoration:none}
.skip:focus{top:16px}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mono{fill:none;stroke:currentColor;stroke-width:3;overflow:visible}
.container{width:100%;max-width:calc(var(--container) + 2 * var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.sec{position:relative;padding-block:64px}
.sec--faq{padding-block:48px}
.sec--surface{background:var(--c-surface)}
.sec--rule::before{content:"";position:absolute;top:0;left:50%;width:calc(min(var(--container), 100% - 2 * var(--pad)));height:1px;background:var(--c-line);transform:translateX(-50%)}
.sec-grid>.eyebrow{margin-bottom:16px}
.sec-main>.lede{margin-top:24px}
.sec-main>.h2+*{margin-top:32px}
.sec-main>.h2+.lede,.sec-main>.h2+.sub{margin-top:24px}
.sec-main>.lede+*,.sec-main>.sub+*{margin-top:40px}
.eyebrow{font-family:var(--f-caps);font-weight:400;font-size:.8125rem;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:var(--c-steel)}
.h1{font-weight:300;font-size:clamp(2.75rem, 5.2vw, 4.75rem);line-height:1.02;letter-spacing:-.015em;max-width:15ch}
html[lang="ky"] .h1{font-size:clamp(2.5rem, 5.2vw, 4.75rem)}
/* оптический край: у «М»/«Ф» Onest боковое поле .05–.09em — без компенсации H1 стоит на 3–6px правее знака в шапке и подписи над ним */
#hero-h1{margin-left:-.06em}
.lead{font-weight:300;font-size:clamp(1.375rem, 2.2vw, 2rem);line-height:1.25;color:var(--c-ink);max-width:26ch}
.h2{font-weight:300;font-size:clamp(2rem, 3.6vw, 3.25rem);line-height:1.1;letter-spacing:-.01em;max-width:18ch}
.h3{font-weight:400;font-size:1.375rem;line-height:1.3}
.lede,.second{font-size:1rem;color:var(--c-steel);max-width:44ch}
.prose p+p{margin-top:16px}
.prose p,.ws-p1,.privacy p{max-width:62ch}
.nw{white-space:nowrap}
.link,.btn-text,.r-more{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;font-size:1rem;letter-spacing:.02em;color:var(--c-ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--c-silver);text-underline-offset:.3em}
.link:hover,.btn-text:hover{text-decoration-color:var(--c-ink)}
.sec-cta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 32px;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 32px;border:0;border-radius:0;background:var(--c-ink);color:var(--c-on-dark);font-family:var(--f-text);font-weight:500;font-size:1rem;letter-spacing:.02em;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover,.btn:active{background:var(--c-ink-deep)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-text{padding:0;border:0;background:none;cursor:pointer}
.btn-text:disabled{opacity:.5;cursor:not-allowed}
.site-header{position:sticky;top:0;z-index:50;height:var(--head-h);background:var(--c-bg);border-bottom:1px solid var(--c-line)}
/* Liquid Glass: тёплое полупрозрачное стекло на токене --c-bg; без поддержки backdrop-filter или при reduced-transparency — сплошной --c-bg */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
.site-header{background-color:rgba(var(--c-bg-rgb),.72);background-image:linear-gradient(180deg,rgba(var(--c-paper-rgb),.42),rgba(var(--c-paper-rgb),.16));-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border-bottom-color:rgba(var(--c-line-rgb),.8);box-shadow:inset 0 1px 0 rgba(var(--c-paper-rgb),.9),inset 0 -1px 0 rgba(var(--c-paper-rgb),.45),0 8px 24px rgba(var(--c-ink-deep-rgb),0);transition:background-color .4s var(--ease),box-shadow .4s var(--ease)}
html.is-scrolled .site-header{box-shadow:inset 0 1px 0 rgba(var(--c-paper-rgb),.9),inset 0 -1px 0 rgba(var(--c-paper-rgb),.45),0 8px 24px rgba(var(--c-ink-deep-rgb),.06)}
.site-header.is-over-dark{background-color:rgba(var(--c-bg-rgb),.92)}
}
@media (prefers-reduced-transparency: reduce){
.site-header,.site-header.is-over-dark,html.is-scrolled .site-header{background:var(--c-bg);border-bottom-color:var(--c-line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
}
.header-in{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}
/* Локап: знак на высоту двух строк — от верха прописных NECHAEV до базовой линии дескриптора.
   line-height .71 у Forum = верх прописных…низ строки, .66 у Onest = верх строки…базовая линия; --mk считается из кеглей. */
.lk{--lk-f1:1.5rem;--lk-f2:12px;--lk-g:7.14px;--mk:calc(.71 * var(--lk-f1) + var(--lk-g) + .66 * var(--lk-f2));display:inline-flex;align-items:center;gap:14px;color:var(--c-ink);text-decoration:none}
.lk .mono{flex:none;width:calc(var(--mk) * 35 / 47);height:var(--mk)}
.lk-txt{display:flex;flex-direction:column;align-items:flex-start}
.lockup{min-height:44px}
.wordmark{font-family:var(--f-caps);font-weight:400;font-size:var(--lk-f1);line-height:.71;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.descriptor{margin-top:var(--lk-g);font-weight:500;font-size:var(--lk-f2);line-height:.66;letter-spacing:.022em;color:var(--c-steel);white-space:nowrap}
/* ширина дескриптора = ширина NECHAEV по краям знаков; у «эмерек ательеси» короче строка — шире разрядка и сдвиг на разницу боковых полей */
html[lang="ky"] .descriptor{letter-spacing:.0605em;text-indent:.05em}
.nav,.header-right{display:none}
.nav a{font-weight:500;font-size:.9375rem;color:var(--c-ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:.45em;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.nav a:hover{text-decoration-color:var(--c-silver)}
.nav a[aria-current="true"]{text-decoration-color:var(--c-ink)}
.burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;padding:0;border:0;background:none;color:var(--c-ink);cursor:pointer}
.lang{display:inline-flex;align-items:center;gap:8px}
.lang button{min-width:44px;min-height:44px;padding:0 6px;border:0;background:none;font-weight:500;font-size:.9375rem;letter-spacing:.02em;color:var(--c-steel);cursor:pointer}
.lang button:hover,.lang button[aria-pressed="true"]{color:var(--c-ink)}
.lang-sep{width:1px;height:14px;background:var(--c-silver)}
.footer .lang button{color:var(--c-on-dark-muted)}
.footer .lang button:hover,.footer .lang button[aria-pressed="true"]{color:var(--c-on-dark)}
.mmenu{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:var(--c-bg);overflow-y:auto;overscroll-behavior:contain}
.mmenu-top{flex:none;display:flex;align-items:center;justify-content:space-between;height:64px;padding-inline:var(--pad);border-bottom:1px solid var(--c-line)}
.mmenu-list{flex:1;padding:24px var(--pad)}
.mmenu-list li+li{margin-top:8px}
.mmenu-list a{display:flex;align-items:center;min-height:56px;font-weight:300;font-size:2rem;line-height:1.1;color:var(--c-ink);text-decoration:none}
.mmenu-list .mmenu-cta{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--c-silver);text-underline-offset:.2em}
.mmenu-foot{flex:none;padding:24px var(--pad) calc(24px + env(safe-area-inset-bottom));border-top:1px solid var(--c-line)}
.hero{position:relative;overflow-x:clip}
.hero-grid{display:flex;flex-direction:column}
.hero-photo{position:relative;height:44svh;background:var(--c-surface);overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-text{display:flex;flex-direction:column;padding:48px var(--pad) 64px}
.hero-text>.eyebrow{margin-bottom:16px}
.hero-body .lead{margin-top:20px}
.hero-sub{margin-top:24px;max-width:40ch}
.hero-cta{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:32px}
.hero-cta .btn{width:100%}
.hero-cta .link{align-self:flex-start}
.hero-hours{margin-top:12px;font-size:.875rem;line-height:1.5;color:var(--c-steel);max-width:52ch}
.tagline{margin-top:40px;font-weight:300;font-size:1.25rem;line-height:1.35;color:var(--c-ink)}
.tagline::before{content:"";display:block;width:48px;height:1px;margin-bottom:32px;background:var(--c-silver)}
/* <picture> без класса (первый экран, карточки проектов, фото блога) не даёт своей коробки: размеры и object-fit — у <img>, как без обёртки */
picture:not([class]){display:contents}
.ph{position:relative;display:block;background:var(--c-surface);overflow:hidden}
.ph img{display:block;width:100%;height:100%;object-fit:cover}
.ph--32{aspect-ratio:3/2}
.ph--45{aspect-ratio:4/5}
.ph--parallax img{position:absolute;left:0;top:-6%;width:100%;height:112%}
.ph-fallback,.ph-scale{display:none}
.ph.is-missing{background:var(--c-paper)}
.ph.is-missing img{display:none}
.ph.is-missing .ph-fallback{display:block;position:absolute;left:10%;top:10%;width:80%;height:80%;color:var(--c-ink)}
.ph.is-missing .ph-scale,.drawing .ph-scale{display:block;position:absolute;right:16px;bottom:10px;font-family:var(--f-caps);font-size:.75rem;line-height:1;letter-spacing:.08em;color:var(--c-steel)}
.drawing{position:relative;display:block;height:120px;background:var(--c-paper);border-top:1px solid var(--c-line);color:var(--c-ink)}
.drawing svg{position:absolute;left:24px;top:12px;width:calc(100% - 96px);height:96px}
.ph.is-missing+.drawing{display:none}
.facts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:24px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.facts li{font-weight:500;font-size:.875rem;line-height:1.45;color:var(--c-ink)}
.router-grid{margin-top:48px}
.r-tile,.r-row{display:block;color:var(--c-ink);text-decoration:none}
.r-tile{margin-bottom:8px;padding:32px 24px;background:var(--c-surface)}
.r-rows li+li{margin-top:8px}
.r-tile .r-title{font-weight:300;font-size:2rem;line-height:1.15}
.r-row{padding:24px 0;border-bottom:1px solid var(--c-line)}
.r-rows li:first-child .r-row{border-top:0}
.r-row .r-title{font-weight:400;font-size:1.375rem;line-height:1.3}
.r-title{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:.2em}
.r-promise{margin-top:8px;font-size:1rem;line-height:1.55;color:var(--c-steel);max-width:44ch}
.r-more{margin-top:16px;min-height:24px}
.r-more .icon{transition:transform .15s var(--ease)}
.r-tile:hover .r-title,.r-row:hover .r-title{text-decoration-color:var(--c-ink)}
.r-tile:hover .r-more .icon,.r-row:hover .r-more .icon{transform:translateX(4px)}
.about{background:var(--c-ink-deep);color:var(--c-on-dark);padding-block:96px}
.about .eyebrow{color:var(--c-on-dark-muted)}
/* Монограмма и клеймо: viewBox буквы обрезан по обводке (16..48 × 10..54 ± stroke/2), поэтому край svg = край буквы.
   У окружности клейма внутреннее поле 1.75/120 (r57 + обводка 2.5) — гасим его отрицательным margin,
   и тогда край буквы, край окружности, линия и подпись стоят на одной вертикали. --st — размер клейма. */
.about-mark{--st:72px;--ring:calc(var(--st) * 116.5 / 120);display:flex;flex-wrap:wrap;align-items:center;gap:24px;color:var(--c-on-dark-muted)}
/* мобиль: обводка 1.5px как у кольца клейма (.9593 ед.) толще той, под которую обрезан viewBox (.7018), —
   выступ .12875 ед. с каждой стороны учтён в масштабе --k и боковых полях, видимая высота N = диаметру кольца */
.about-mark .mono{--k:calc(var(--ring) / 44.9593);flex:none;width:calc(32.7018 * var(--k));height:calc(44.7018 * var(--k));margin:0 calc(.12875 * var(--k));stroke-width:.9593}
.about-mark .stamp{flex:none;width:var(--st);height:var(--st);margin:calc(var(--st) * -1.75 / 120)}
.about-place{flex-basis:100%;font-weight:500;font-size:.75rem;letter-spacing:.04em;color:var(--c-on-dark-muted)}
.about-place::before{content:"";display:block;width:48px;height:1px;margin-bottom:16px;background:var(--c-silver)}
.about-text{margin-top:64px}
.about-text .h2{margin-top:16px}
.manifesto{margin-top:40px}
.manifesto p{font-weight:300;font-size:1.25rem;line-height:1.4;max-width:34ch}
.manifesto p+p{margin-top:16px}
.signature{width:180px;height:60px;margin-top:48px;fill:none;stroke:var(--c-on-dark);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sig-caption{margin-top:16px;font-size:.875rem;line-height:1.5;color:var(--c-on-dark-muted);max-width:44ch}
.tabs{display:flex;gap:8px 24px;margin:36px calc(-1 * var(--pad)) -4px;padding:4px var(--pad);overflow-x:auto;scrollbar-width:none;scroll-padding-inline:var(--pad);-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;min-width:44px;min-height:44px;padding:0;text-align:left;border:0;background:none;font-weight:500;font-size:1rem;letter-spacing:.02em;color:var(--c-steel);cursor:pointer;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:.45em}
.tab:hover{color:var(--c-ink)}
.tab[aria-selected="true"]{color:var(--c-ink);text-decoration-color:var(--c-ink)}
.p-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;margin-top:40px}
.p-empty{margin-top:40px}
.p-empty p{max-width:52ch}
.card{min-width:0}
.card-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:zoom-in;color:inherit}
.meta{margin-top:16px;font-weight:500;font-size:.8125rem;line-height:1.5;color:var(--c-steel)}
.meta-num{font-family:var(--f-caps);font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--c-ink)}
.pc-fields dt,.spec dt,.h-stage{font-family:var(--f-caps);font-size:.75rem;line-height:1.3;text-transform:uppercase;letter-spacing:.1em;color:var(--c-steel)}
.rows{border-bottom:1px solid var(--c-line)}
.rows>li{padding:24px 0;border-top:1px solid var(--c-line)}
.rows p{margin-top:8px;font-size:1rem;color:var(--c-steel);max-width:44ch}
.rows-note{margin-top:24px;max-width:56ch}
.risks .rows{margin-top:24px;border-bottom:0}
.risks .risk-fear{margin-top:0;font-weight:500;font-size:1.0625rem;line-height:1.45;color:var(--c-ink);max-width:none}
.risks+.rows{margin-top:64px}
.passport-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:420px;margin-inline:auto;aspect-ratio:148/210;padding:20px 20px 16px;background:var(--c-paper);border:1px solid var(--c-line)}
.pc-title{font-weight:300;font-size:1.5rem;line-height:1.2}
.pc-place{margin-top:6px;font-weight:500;font-size:.75rem;letter-spacing:.04em;color:var(--c-steel)}
.pc-fields{margin-top:16px}
.pc-fields>div{display:flex;align-items:flex-end;gap:12px;padding:3px 0}
.pc-fields dt{flex:none;width:8em}
.pc-fields dd{flex:1;min-height:1.4em;border-bottom:1px solid var(--c-line);font-family:var(--f-caps);font-size:.875rem;line-height:1.3;letter-spacing:.06em;font-feature-settings:"tnum"}
.pc-sign{width:110px;height:36px;fill:none;stroke:var(--c-ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:-4px}
.pc-foot{display:flex;justify-content:flex-end;margin-top:auto;padding-top:8px;color:var(--c-ink)}
.stamp{width:72px;height:72px}
.passport-text{margin-top:48px}
.passport-text .prose{margin-top:24px}
.passport-note{margin-top:24px}
.spaces{margin-top:40px;border-bottom:1px solid var(--c-line)}
.spaces li{padding:14px 0;border-top:1px solid var(--c-line)}
.hotels .sub{margin-top:24px;max-width:56ch}
.h-table{display:block;width:100%;border-collapse:collapse;background:var(--c-paper);border:1px solid var(--c-line)}
.h-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.h-table tbody,.h-table tr,.h-table td{display:block}
.h-table tr{padding:16px 20px}
.h-table tr+tr{border-top:1px solid var(--c-line)}
.h-table td+td{margin-top:6px}
.h-table th{padding:16px 20px;text-align:left;font-size:.75rem;font-family:var(--f-caps);font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--c-steel)}
.h-stage{font-size:.8125rem}
.h-doc{color:var(--c-steel);font-size:1rem}
.dot-line{margin-top:40px;max-width:64ch}
.dot-line .label,.terms-label{display:block;font-weight:500;margin-bottom:8px}
.terms{margin-top:40px}
.terms dl{border-bottom:1px solid var(--c-line)}
.terms dl>div{padding:14px 0;border-top:1px solid var(--c-line)}
.terms dt{font-weight:500}
.terms dd{color:var(--c-steel);font-size:1rem;max-width:44ch}
.h-standard{margin-top:40px;max-width:62ch}
.h-season{margin-top:24px}
.spec{position:relative;margin-top:40px;padding:28px 24px 24px;background:var(--c-paper);border:1px solid var(--c-line)}
.spec-title{font-weight:300;font-size:1.25rem;line-height:1.2;margin-bottom:20px}
.spec dl>div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 0;border-top:1px solid var(--c-line)}
.spec dl>div:last-child{border-bottom:1px solid var(--c-line)}
.spec dt{padding-top:3px}
.spec dd{font-size:1rem;line-height:1.5}
.spec-note{margin-top:16px;font-size:.875rem;line-height:1.5;color:var(--c-steel);max-width:40ch}
.spec-foot{display:flex;justify-content:flex-end;margin-top:12px;color:var(--c-ink)}
.spec-foot .stamp{width:48px;height:48px}
.workshop .after-spec{margin-top:40px}
.faq-list{border-bottom:1px solid var(--c-line)}
.faq-item{padding-block:4px;border-top:1px solid var(--c-line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:16px 0;font-size:1.125rem;line-height:1.4;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .icon{transition:transform .2s var(--ease)}
.faq-item[open] summary .icon{transform:rotate(45deg)}
.faq-item .answer{padding:0 40px 24px 0;font-size:1rem;color:var(--c-steel);max-width:44ch}
.brief .sub{margin-top:24px}
.form{margin-top:48px}
.step-ind{margin-bottom:8px;font-weight:500;font-size:.875rem;letter-spacing:.02em;color:var(--c-steel)}
.field{margin-top:24px}
.field-label,.who legend{display:block;margin-bottom:8px;padding:0;font-weight:500;font-size:1rem;letter-spacing:.02em}
.input{width:100%;height:56px;padding:0 16px;border:1px solid var(--c-field-line);border-radius:2px;background:var(--c-paper);font-size:1rem;color:var(--c-ink);-webkit-appearance:none;appearance:none}
.input::placeholder{color:var(--c-steel);opacity:1}
.input:hover{border-color:var(--c-steel)}
.input[aria-invalid="true"]{border-color:var(--c-ink)}
.input:disabled{opacity:.5;cursor:not-allowed}
.select-wrap{position:relative}
.select-wrap::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;border-right:1.25px solid var(--c-ink);border-bottom:1.25px solid var(--c-ink);transform:translateY(-70%) rotate(45deg);pointer-events:none}
select.input{padding-right:48px;cursor:pointer}
/* пункт «Выберите» (value="", required → :invalid) — приглушённым цветом, как placeholder полей; сами пункты списка — обычным */
select.input:invalid{color:var(--c-steel)}
select.input option{color:var(--c-ink)}
.field-error{margin-top:8px;font-size:.875rem;line-height:1.4;color:var(--c-ink)}
.who{margin:0;padding:0;border:0;min-width:0}
.who-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.who-tile{position:relative;display:block;cursor:pointer}
.who-tile input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.who-box{display:flex;align-items:center;min-height:56px;height:100%;padding:12px 16px;border:1px solid var(--c-field-line);border-radius:2px;background:var(--c-paper);font-size:1rem;line-height:1.3}
.who-tile:hover .who-box{border-color:var(--c-steel)}
.who-tile input:checked+.who-box{border-color:var(--c-ink);font-weight:500}
.who-tile input:focus-visible+.who-box{outline:2px solid var(--c-focus);outline-offset:2px}
.consent{display:flex;align-items:flex-start;gap:12px;margin-top:24px}
.consent input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--c-ink);cursor:pointer}
.consent label{font-size:1rem;line-height:1.5;cursor:pointer}
.form-notice{margin-top:24px;font-size:.875rem;line-height:1.6;color:var(--c-steel);max-width:62ch}
.form-notice .link{display:flex;width:fit-content;font-size:.875rem}
.form-nav{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:32px}
.form-nav .btn-text{width:100%}
.form-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:32px}
.form-actions .btn{width:100%}
.form-actions .link{align-self:flex-start}
.form-error{margin-top:16px;max-width:52ch}
.success{padding:48px 0;text-align:center}
.success .icon{margin:0 auto 24px;width:24px;height:24px}
.success-title{font-weight:300;font-size:2rem;line-height:1.15}
.success p{margin:16px auto 0;max-width:44ch}
.footer{background:var(--c-ink-deep);color:var(--c-on-dark);padding:96px 0 calc(48px + env(safe-area-inset-bottom))}
.footer a{color:var(--c-on-dark)}
.footer .link{color:var(--c-on-dark);text-decoration-color:var(--c-steel)}
.footer .link:hover{text-decoration-color:var(--c-on-dark)}
.f-grid{display:grid;gap:48px}
/* подвал: тот же локап ×1.2 (знак ≈38.6px), под ним кыргызский дубль дескриптора и город — от края колонки */
.f-wordmark{--lk-f1:1.8rem;--lk-f2:14.4px;--lk-g:8.57px;display:flex;gap:17px;color:var(--c-on-dark)}
.footer .descriptor{color:var(--c-on-dark-muted)}
.f-l2,.f-l3{margin-top:20px;font-weight:500;font-size:12px;line-height:1.4;letter-spacing:.06em;color:var(--c-on-dark-muted)}
.f-l2:not([hidden])+.f-l3{margin-top:4px}
.f-label{margin-bottom:12px;font-weight:500;font-size:.8125rem;letter-spacing:.04em;color:var(--c-on-dark-muted)}
.f-col li{font-size:1rem;line-height:1.5}
.f-col li+li{margin-top:8px}
.f-col .link{min-height:44px;min-width:44px}
.f-sections ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.f-sections li+li{margin-top:0}
.f-muted{color:var(--c-on-dark-muted)}
.f-inline{display:flex;flex-wrap:wrap;gap:8px 24px}
.f-bottom{display:flex;flex-direction:column;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid var(--c-steel);font-size:.875rem;color:var(--c-on-dark-muted)}
.privacy{margin-top:32px;font-size:.875rem;line-height:1.6;color:var(--c-on-dark-muted)}
.privacy h2{margin-bottom:8px;font-weight:500;font-size:.875rem;color:var(--c-on-dark)}
.wa-float{position:fixed;right:20px;bottom:calc(env(safe-area-inset-bottom) + 20px);z-index:40;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--c-ink);color:var(--c-on-dark);box-shadow:var(--shadow);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.wa-float:hover{background:var(--c-ink-deep)}
.wa-float.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px)}
.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:64px 0 24px;background:var(--c-bg);overflow-y:auto;overscroll-behavior:contain}
.lb-panel{position:relative;width:100%;max-width:1100px;margin:auto}
.lb-figure{width:min(100%, calc(62svh * var(--r, .8)));margin-inline:auto;background:var(--c-paper)}
.lb-figure .ph{aspect-ratio:var(--r, .8)}
.lb-figure .meta{padding:16px 24px 20px;margin:0}
.lb-close{position:fixed;top:10px;right:10px;z-index:2}
.lb-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--c-ink);cursor:pointer}
.lb-nav{display:flex;justify-content:center;gap:24px;margin-top:8px}
.lb-prev .icon{transform:rotate(180deg)}
@keyframes intro-safety{to{opacity:1}}
@media (prefers-reduced-motion: no-preference){
html:not(.hashload){scroll-behavior:smooth}
html.js #hero [data-intro]{opacity:0;animation:intro-safety 0s 3s forwards}
}
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
@media (min-width: 768px){
:root{--pad:48px}
.sec{padding-block:96px}
.sec--faq{padding-block:64px}
.hero-photo{height:48svh}
.hero-cta{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:16px 32px}
.hero-cta .btn{width:auto}
.hero-cta .link{align-self:auto}
.facts ul{grid-template-columns:repeat(4,minmax(0,1fr))}
.router-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.r-rows{display:contents}
.r-tile{margin-bottom:0}
.r-row{padding:32px 0;border:0}
.r-rows li{border-top:1px solid var(--c-line)}
.r-rows li+li{margin:0}
.sec-main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-content:start}
.sec-main>*{grid-column:1/-1}
.sec-main>.h2,.sec-main>.lede,.sec-main>.col-h2{grid-column:1/9}
.sec-main>.col-list{grid-column:3/13}
.sec-main>.passport-card{grid-column:1/7;grid-row:1/span 2;margin:0;max-width:none}
.sec-main>.passport-text{grid-column:7/13;margin-top:0}
.sec-main>.home-text{grid-column:1/7;grid-row:2;margin-top:48px}
.sec-main>.spaces{grid-column:7/13;grid-row:2;margin-top:48px;grid-template-columns:minmax(0,1fr)}
.workshop .sec-main>.ws-p1,.workshop .sec-main>.after-spec{grid-column:1/7}
.workshop .sec-main>.spec{grid-column:7/13;grid-row:2/span 2;margin-top:32px}
.spec dl>div{grid-template-columns:minmax(0,7.5em) minmax(0,1fr);gap:16px}
.form-nav .btn-text{width:auto}
.h-table{display:table}
.h-table thead{position:static;width:auto;height:auto;clip:auto}
.h-table tbody{display:table-row-group}
.h-table tr{display:table-row}
.h-table td{display:table-cell;padding:16px 20px;vertical-align:top;border-top:1px solid var(--c-line)}
.p-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 24px}
.spaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.h-stage{width:24%}
.h-doc{width:30%}
.terms dl>div{display:grid;grid-template-columns:minmax(0,10em) minmax(0,1fr);gap:16px}
.form-actions{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:16px 32px}
.form-actions .btn{width:auto}
.f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.f-bottom{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
.lightbox{padding:72px 48px 32px}
.lb-close{top:16px;right:24px}
}
@media (min-width: 1024px){
:root{--pad:64px;--head-h:72px}
body{font-size:1.125rem}
.sec--l{padding-block:128px}
.sec--m{padding-block:96px}
.about{padding-block:192px}
.sec-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.sec-grid>.eyebrow{grid-column:1/3;align-self:start;position:sticky;top:96px;margin:0;padding-top:.6em}
.sec-grid>.eyebrow.eyebrow--static{position:static}
.sec-main{grid-column:3/13;grid-template-columns:repeat(10,minmax(0,1fr))}
.sec-main>.h2,.sec-main>.lede,.sec-main>.col-h2{grid-column:1/7}
.sec-main>.h2+*{margin-top:48px}
.sec-main>.h2+.lede,.sec-main>.h2+.sub{margin-top:24px}
.sec-main>.col-list{grid-column:3/11}
.header-in{display:grid;grid-template-columns:auto 1fr auto;gap:16px}
.burger{display:none}
.nav{display:flex;justify-content:center;gap:clamp(8px, 3.2vw - 24px, 32px)}
.nav a{font-size:clamp(.8125rem, .9vw, .9375rem)}
.header-right{display:flex;align-items:center;gap:8px}
.header-right .lang{gap:0}
/* «Долбоорду талкуулоо» длиннее «Обсудить проект»: на 1024–1100 кнопка выходила за край контента на 8px — поля кнопки сжимаются до 24px */
html[lang="ky"] .header-right .btn{padding-inline:clamp(24px, 10.4vw - 82px, 32px)}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);width:100%;max-width:calc(var(--container) + 2 * var(--pad));margin-inline:auto;padding-inline:var(--pad);min-height:calc(100vh - 72px);min-height:calc(100svh - 72px)}
.hero-photo{grid-column:8/13;grid-row:1;height:calc(100svh - 72px);min-height:100%;margin-right:calc(-1 * (var(--pad) + max(0px, (100vw - var(--container) - 2 * var(--pad)) / 2)))}
.hero-text{grid-column:1/7;grid-row:1;justify-content:space-between;row-gap:48px;padding:96px 0}
.hero-text>.eyebrow{margin:0}
.hero-sub{max-width:64ch}
.tagline{margin-top:32px}
.router-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0 var(--gap);margin-top:64px}
.r-tile{grid-column:1/7;display:flex;flex-direction:column;min-height:360px;padding:48px}
.r-tile .r-more{margin-top:auto}
.r-tile .r-promise{margin-bottom:32px}
.r-rows{grid-column:7/13;display:grid;grid-template-rows:repeat(3,1fr)}
.r-rows li{border-top:0}
.r-row{display:flex;flex-direction:column;justify-content:center;height:100%;padding:16px 0;border:0;border-bottom:1px solid var(--c-line)}
.r-rows li:last-child .r-row{border-bottom:0}
.r-row .r-more{margin-top:12px}
.about-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.about-mark{--st:96px;grid-column:1/6;position:sticky;top:96px;flex-direction:column;align-items:flex-start;gap:32px}
.about-mark .mono{width:var(--ring);height:calc(var(--ring) * 44.7018 / 32.7018);margin:0;stroke-width:.7018}
.about-place{flex-basis:auto}
.about-text{grid-column:7/13;margin-top:0}
.manifesto p{font-size:1.5rem}
.tabs{margin:48px 0 0;padding:0;overflow:visible;flex-wrap:wrap}
.p-grid{margin-top:48px}
.p-grid:not(.is-filtered){grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"a a a a a a a a b b b b" "c c c c d d d d d d d d" ". . e e e e e f f f f f";gap:96px var(--gap)}
.p-grid:not(.is-filtered) .pos-1{grid-area:a}
.p-grid:not(.is-filtered) .pos-2{grid-area:b;margin-top:96px}
.p-grid:not(.is-filtered) .pos-3{grid-area:c}
.p-grid:not(.is-filtered) .pos-4{grid-area:d}
.p-grid:not(.is-filtered) .pos-5{grid-area:e}
.p-grid:not(.is-filtered) .pos-6{grid-area:f}
.p-grid:not(.is-filtered){align-items:start}
.sec-main>.passport-card,.sec-main>.home-text{grid-column:1/6}
.sec-main>.passport-text{grid-column:6/11}
.sec-main>.spaces{grid-column:6/11;grid-template-columns:repeat(2,minmax(0,1fr))}
.workshop .sec-main{grid-template-rows:repeat(4,auto) 1fr}
.workshop .sec-main>.h2{grid-row:1;grid-column:1/6}
.workshop .sec-main>.ws-p1{grid-column:1/6;grid-row:2;margin-top:32px}
.workshop .sec-main>.spec{grid-column:6/11;grid-row:1/-1;align-self:start;margin-top:0}
.workshop .sec-main>.after-spec{grid-column:1/6;grid-row:3;margin-top:16px}
.f-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:48px var(--gap)}
.f-lockup{grid-column:1/5}
.f-contacts{grid-column:5/7}
.f-sections{grid-column:7/10}
.f-legal{grid-column:10/13}
.f-sections ul{grid-template-columns:minmax(0,1fr)}
.form .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--gap)}
.lb-close{top:20px;right:32px}
}
/* ===================== #level — Уровень исполнения ===================== */
/* mobile < 768: одна колонка, чертёж во всю ширину контейнера, под ним номер, H3, строка и список выносок */
#level .lv-list{margin-top:48px}
/* все CAPABILITIES = false: #projects снова сразу под тёмной #about — без линии сверху */
#level[hidden]+#projects::before{display:none}
/* отступы только между видимыми предметами: CONFIG.CAPABILITIES=false не оставляет дыр */
#level .lv-list>:not([hidden])~:not([hidden]),#level .lv-pair>:not([hidden])~:not([hidden]){margin-top:64px}
#level .lv-sheet{position:relative;aspect-ratio:3/2;background:var(--c-paper);color:var(--c-ink)}
#level .lv-sheet--45{aspect-ratio:4/5}
#level .lv-draw{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
#level .lv-draw path{vector-effect:non-scaling-stroke}
#level .lv-draw .w{stroke-width:1.5}
#level .lv-draw .t{stroke:var(--c-silver)}
#level .lv-draw .lt{stroke:var(--c-steel);stroke-dasharray:1 3.5}
#level .lv-scale{position:absolute;right:12px;bottom:4px;font-family:var(--f-caps);font-size:.6875rem;line-height:1;letter-spacing:.08em;color:var(--c-steel)}
#level .lv-dot{position:absolute;left:calc(var(--x) * 100%);top:calc(var(--y) * 100%);z-index:2;width:0;height:0}
#level .lv-dot svg{position:absolute;max-width:none;left:-10px;top:-10px;width:20px;height:20px;overflow:visible}
/* список (<1024 и малые листы): позиционная выноска чертежа — круг --c-ink с номером --c-paper прямо на детали */
#level .lv-b{fill:var(--c-ink)}
#level .lv-c{display:none;fill:var(--c-ink);stroke:var(--c-paper);stroke-width:2.5}
#level .lv-dn{position:absolute;left:-10px;top:-10px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding-top:1px;font-family:var(--f-caps);font-size:.75rem;line-height:1;color:var(--c-paper)}
#level .lv-text{margin-top:24px}
#level .lv-no{font-family:var(--f-caps);font-size:1rem;line-height:1.3;color:var(--c-ink)}
#level .lv-no::after{content:"";display:block;width:48px;height:1px;margin-top:8px;background:var(--c-silver)}
#level .lv-title{margin-top:16px}
#level .lv-line{margin-top:8px;font-size:1rem;line-height:1.55;color:var(--c-steel);max-width:44ch}
#level .lv-notes{margin-top:20px;border-bottom:1px solid var(--c-line)}
#level .lv-note{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--c-line);font-weight:500;font-size:.8125rem;line-height:1.4;color:var(--c-steel)}
#level .lv-n{flex:none;min-width:12px;font-family:var(--f-caps);font-weight:400;color:var(--c-ink)}
#level .lv-leads{display:none}
#level .lv-foot{margin-top:64px}
#level .lv-foot .sec-cta{margin-top:16px}
/* tablet 768–1023: две колонки, выноски списком под чертежом */
@media (min-width: 768px){
#level .lv-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px var(--gap);align-items:start;margin-top:64px}
#level .lv-pair{display:contents}
#level .lv-list>:not([hidden])~:not([hidden]),#level .lv-pair>:not([hidden])~:not([hidden]){margin-top:0}
#level .lv-scale{right:16px;bottom:6px;font-size:.75rem}
#level .lv-foot{margin-top:80px}
}
/* tablet: при нечётном числе видимых предметов последний большой лист встаёт на обе колонки — без пустой ячейки */
@media (min-width: 768px) and (max-width: 1023px){
#level .lv-item--a.is-odd-last,#level .lv-item--b.is-odd-last{grid-column:1/-1}
}
/* desktop ≥1024: ряды «чертёж 1–7 + текст 9–12», зеркально; пара меньших 1–5 и 8–12 со сдвигом */
@media (min-width: 1024px){
#level .lv-list{display:block;margin-top:96px}
#level .lv-scale{bottom:12px}
#level .lv-list>:not([hidden])~:not([hidden]){margin-top:160px}
#level .lv-pair{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
/* место в паре — по видимым соседям: скрытый предмет (CAPABILITIES=false) не занимает слот */
#level .lv-pair>.lv-item{grid-column:1/6}
#level .lv-pair>.lv-item:not([hidden])~.lv-item:not([hidden]){grid-column:8/13;margin-top:128px}
#level .lv-pair.is-single>.lv-item{grid-column:1/6;margin-top:0}
#level .lv-item--a,#level .lv-item--b{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
#level .lv-item--a .lv-fig{grid-column:1/8;grid-row:1}
#level .lv-item--a .lv-text{grid-column:9/13;grid-row:1;margin:0}
#level .lv-item--b .lv-fig{grid-column:6/13;grid-row:1}
#level .lv-item--b .lv-text{grid-column:1/5;grid-row:1;margin:0}
#level .lv-item--a .lv-line,#level .lv-item--b .lv-line{max-width:36ch}
#level .is-led .lv-text{position:relative}
#level .is-led .lv-notes{position:absolute;left:0;top:0;right:0;bottom:0;margin:0;border:0}
#level .is-led .lv-note{position:absolute;left:0;right:0;top:0;padding:0;border:0}
#level .lv-item--b.is-led .lv-note{justify-content:flex-end;text-align:right}
#level .is-led .lv-n,#level .is-led .lv-dn,#level .is-led .lv-b{display:none}
#level .is-led .lv-c{display:inline}
#level .is-led .lv-leads{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:var(--c-steel);stroke-width:1}
#level .lv-foot{margin-top:128px}
}
/* 1360–1439: текстовая колонка шире на одну (8–12 / 1–5) — H3 кухни в одну строку, выноски с линиями встают и на ноутбуке 1366 */
@media (min-width: 1360px) and (max-width: 1439px){
#level .lv-item--a .lv-text{grid-column:8/13}
#level .lv-item--b .lv-text{grid-column:1/6}
}
/* ===================== #process — «От первого сообщения до паспорта изделия» =====================
   Mobile-first: база < 768, затем 768 и 1024. Финальные кадры сцен — статичная разметка (без GSAP и при reduced-motion).
   html.pr-staged ставит initProcess() только при ≥1024 + GSAP + ScrollTrigger + no-preference: список в колонках 1–6, закреплённая сцена в 7–12. */
#process .pr-grid{margin-top:48px}
#process .pr-list{position:relative}
#process .pr-steps{border-bottom:1px solid var(--c-line)}
#process .pr-step{padding:40px 0 48px;border-top:1px solid var(--c-line)}
#process .pr-title{margin-top:16px}
#process .pr-no{position:relative;display:block;font-family:var(--f-caps);font-size:1rem;line-height:1.3;color:var(--c-ink)}
#process .pr-no::after{content:"";display:block;width:48px;height:1px;margin-top:8px;background:var(--c-silver)}
#process .pr-text{margin-top:12px;max-width:52ch}
#process .pr-foot{margin-top:24px;font-size:1rem;color:var(--c-steel);max-width:44ch}
#process .pr-progress,#process .pr-stage{display:none}
/* сцена: лист чертежа 4:3 на --c-paper, рамка 1px --c-line */
#process .scene{position:relative;margin-top:32px;aspect-ratio:4/3;background:var(--c-paper);border:1px solid var(--c-line);color:var(--c-ink);overflow:hidden}
#process .scene svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-miterlimit:4}
#process .scene svg *{vector-effect:non-scaling-stroke}
#process .scene .ln{stroke-width:1}
#process .scene .bd{stroke-width:1.5}
#process .scene .k3{stroke-width:3}
#process .scene .sv{stroke:var(--c-silver)}
#process .scene .sg{stroke-linecap:round;stroke-linejoin:round}
#process .scene .fp{fill:var(--c-paper)}
#process .scene .fs{fill:var(--c-surface)}
#process .scene .fl{fill:var(--c-line)}
#process .scene .fv{fill:var(--c-silver)}
#process .scene .fi{fill:currentColor;stroke:none}
#process .scene .no{stroke:none}
#process .scene-lab,#process .scene-doc,#process .scene-tag{position:absolute;font-family:var(--f-caps);font-weight:400;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:var(--c-steel);white-space:nowrap}
#process .scene-lab{right:14px;bottom:12px;font-size:.75rem}
#process .scene-doc{left:14px;bottom:12px;font-size:.75rem}
#process .scene-tag{left:calc(var(--x) / 480 * 100%);top:calc(var(--y) / 360 * 100%);font-size:.6875rem;letter-spacing:.06em;transform:translateY(-50%)}
@media (min-width: 768px){
#process .pr-grid{margin-top:64px}
#process .pr-step{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:48px 0 56px}
#process .pr-copy,#process .pr-head{display:contents}
#process .pr-no{grid-column:1/3;grid-row:1/3;align-self:start;padding-top:.25em}
#process .pr-title,#process .pr-text,#process .scene{grid-column:3/13}
#process .pr-title{grid-row:1;margin-top:0}
#process .pr-text{grid-row:2}
#process .scene{grid-row:3}
#process .pr-foot{margin-left:calc((100% - 11 * var(--gap)) / 6 + 2 * var(--gap))}
#process .scene-lab{right:16px;bottom:14px}
#process .scene-doc{left:16px;bottom:14px}
#process .scene-tag{font-size:.75rem}
}
@media (min-width: 1024px){
/* без сцены-стека (нет GSAP или reduced-motion): номер в колонках 1–2 (ось eyebrow), текст в 3–6 (ось H2), сцена в 7–12 */
#process .pr-step{padding:64px 0}
#process .pr-copy{display:grid;grid-column:1/7;grid-row:1;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--gap);align-content:start}
#process .pr-no{grid-column:1/3;grid-row:1/3}
#process .pr-title,#process .pr-text{grid-column:3/7}
#process .scene{grid-column:7/13;grid-row:1;margin-top:0}
/* закреплённая сцена */
html.pr-staged #process .pr-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
html.pr-staged #process .pr-list{grid-column:1/7;grid-row:1}
html.pr-staged #process .pr-step{display:block;padding:80px 0 96px}
html.pr-staged #process .pr-foot{grid-column:1/7;grid-row:2;margin-left:calc((100% - 5 * var(--gap)) / 3 + 2 * var(--gap))}
html.pr-staged #process .pr-stage{display:block;grid-column:7/13;grid-row:1;align-self:stretch}
html.pr-staged #process .pr-progress{display:block;position:absolute;top:0;bottom:0;right:calc(var(--gap) / -2);width:1px;background:var(--c-silver);transform-origin:50% 0}
html.pr-staged #process .pr-no::before{content:"";position:absolute;left:0;bottom:0;width:48px;height:1px;background:var(--c-ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease-out)}
html.pr-staged #process .pr-step.is-active .pr-no::before{transform:scaleX(1)}
#process .pr-stage-in{position:sticky;top:calc(var(--head-h) + 48px)}
#process .pr-frame{position:relative;width:min(100%, calc((100svh - var(--head-h) - 168px) * 4 / 3));aspect-ratio:4/3;background:var(--c-paper);border:1px solid var(--c-line)}
html.pr-staged #process .pr-frame .scene{position:absolute;inset:0;margin:0;aspect-ratio:auto;background:none;border:0}
#process .pr-count{margin-top:16px;font-family:var(--f-caps);font-size:.8125rem;line-height:1;letter-spacing:.1em;color:var(--c-steel)}
#process .pr-cur{display:inline-block;color:var(--c-ink)}
#process .scene-lab{right:20px;bottom:16px;font-size:.8125rem}
#process .scene-doc{left:20px;bottom:16px;font-size:.8125rem}
#process .scene-tag{font-size:.8125rem}
}
/* ===================== Многостраничность: «Галерея», «Блог», подстраницы ===================== */
/* Шапка главной на 1024–1199 (лого, переключатель «Кыр | Рус», кнопка) вмещает пять пунктов: «Вопросы» и «Блог» (.nav-xl)
   там скрыты — они есть в подвале; «Галерея» видна всегда. Замер: семь пунктов в ky на 1100 выходят за край на 45px, с 1180 помещаются */
@media (min-width: 1024px) and (max-width: 1199px){
.site-header .nav .nav-xl{display:none}
}
/* Хлебные крошки подстраниц (галерея, блог, статьи) — одни на весь сайт: разделитель — серебряная линия 1px под наклоном, не символ.
   Цель касания ≥44px: у ссылки min-height и min-width, у текущей страницы — поля сверху и снизу. */
.crumbs{padding-top:16px;margin-bottom:24px}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;font-size:.875rem;line-height:1.4;color:var(--c-steel)}
.crumbs li{display:inline-flex;align-items:center;min-width:0}
.crumbs li+li::before{content:"";flex:none;width:12px;height:1px;margin:0 10px;background:var(--c-silver);transform:rotate(-60deg)}
.crumbs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--c-steel);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--c-line);text-underline-offset:.3em}
.crumbs a:hover{color:var(--c-ink);text-decoration-color:var(--c-silver)}
.crumbs [aria-current="page"]{display:inline-block;padding-block:12px;color:var(--c-ink)}
@media (min-width: 768px){
.crumbs{padding-top:24px;margin-bottom:40px}
}
/* текущая страница (/gallery/, /blog/…) — ставит /assets/common.js */
.nav a[aria-current="page"]{text-decoration-color:var(--c-ink)}
.mmenu-list a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--c-silver);text-underline-offset:.2em}
