/* FATÓSH ESTATE — шапка-остров (26), мега-меню «Проекты» (34), поиск ⌘K (36), полноэкранное меню,
   предпросмотр проекта по наведению (49). Раунд 5, 13.09.2026.
   Разметка: build_pages.nav_html / mmenu_html · поведение: assets/nav.js · подключается на всех страницах
   ПОСЛЕ pages.css (и после <style> главной) — поэтому здесь же живут все правила .nav/.burger/.mmenu.
   Стекло (backdrop-filter) — только на фиксированных слоях: остров, панели, полноэкранное меню. */

:root{
  --nav-top:16px;                 /* отступ острова от верха экрана */
  --nav-h:64px;                   /* высота острова; уплотнённый — 56px при отступе 10px → нижняя кромка 66px */
  --nav-glass:rgba(253,251,246,.66);
  --nav-glass-tight:rgba(253,251,246,.84);
  --nav-panel:rgba(253,251,246,.92);
  --nav-line:rgba(31,27,21,.09);
  --nav-edge:inset 0 1px 0 rgba(255,255,255,.74);           /* светлая верхняя кромка стекла */
  --nav-shadow:0 6px 8px -6px rgba(31,27,21,.22);            /* тень ≤ 8px */
  --nav-shadow-panel:0 8px 8px -6px rgba(31,27,21,.22);
  --nav-menu:rgba(246,241,232,.86);                          /* полноэкранное меню — тяжёлое стекло */
  --nav-hover:rgba(31,27,21,.06);                            /* подложка круглых кнопок при наведении */
  --nav-hover-strong:rgba(31,27,21,.08);
  --nav-kbd:rgba(253,251,246,.6);
  --nav-scrim:rgba(31,27,21,.16);
  --nav-shine:rgba(255,255,255,.55);                         /* блик скелета */
  --z-nav-over:calc(var(--z-menu,200) + 1);                  /* остров над полноэкранным меню и скримом */
}
/* Тёмный режим «Чернила и золото» — те же токены, что и у сайта (index.html: системная тема + data-theme) */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --nav-glass:rgba(30,26,22,.62);--nav-glass-tight:rgba(30,26,22,.84);--nav-panel:rgba(30,26,22,.92);
    --nav-line:rgba(253,251,246,.12);--nav-edge:inset 0 1px 0 rgba(255,255,255,.08);
    --nav-shadow:0 6px 8px -6px rgba(0,0,0,.6);--nav-shadow-panel:0 8px 8px -6px rgba(0,0,0,.6);
    --nav-menu:rgba(20,18,16,.88);--nav-hover:rgba(253,251,246,.08);--nav-hover-strong:rgba(253,251,246,.12);
    --nav-kbd:rgba(30,26,22,.6);--nav-scrim:rgba(0,0,0,.45);--nav-shine:rgba(255,255,255,.07);
  }
}
:root[data-theme="dark"]{
  --nav-glass:rgba(30,26,22,.62);--nav-glass-tight:rgba(30,26,22,.84);--nav-panel:rgba(30,26,22,.92);
  --nav-line:rgba(253,251,246,.12);--nav-edge:inset 0 1px 0 rgba(255,255,255,.08);
  --nav-shadow:0 6px 8px -6px rgba(0,0,0,.6);--nav-shadow-panel:0 8px 8px -6px rgba(0,0,0,.6);
  --nav-menu:rgba(20,18,16,.88);--nav-hover:rgba(253,251,246,.08);--nav-hover-strong:rgba(253,251,246,.12);
  --nav-kbd:rgba(30,26,22,.6);--nav-scrim:rgba(0,0,0,.45);--nav-shine:rgba(255,255,255,.07);
}

/* ─────────────────────────────────────────────── остров ── */
.nav{position:fixed;inset:0 0 auto 0;z-index:var(--z-nav);pointer-events:none;
  padding:calc(var(--nav-top) + env(safe-area-inset-top,0px)) calc(var(--gutter) + env(safe-area-inset-right,0px)) 0
          calc(var(--gutter) + env(safe-area-inset-left,0px));transition:padding .45s var(--ease)}
.nav.tight{padding-top:calc(10px + env(safe-area-inset-top,0px))}
.nav.is-menu,.nav.is-search{z-index:var(--z-nav-over)}
.nav-isle{pointer-events:auto;position:relative;margin:0 auto;width:min(1280px,100%);height:var(--nav-h);
  display:flex;align-items:center;gap:clamp(12px,1.5vw,22px);padding:0 10px 0 22px;border-radius:999px;
  background:var(--nav-glass);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  border:1px solid var(--nav-line);box-shadow:var(--nav-edge),var(--nav-shadow);
  transition:height .45s var(--ease),background .45s var(--ease),padding .45s var(--ease)}
.nav.tight .nav-isle{height:56px;background:var(--nav-glass-tight);padding:0 8px 0 18px}
.nav .logo{flex:none}
.nav .logo .lg{height:30px;transition:height .45s var(--ease)}
.nav.tight .logo .lg{height:26px}

/* пункты */
.nav-links{display:flex;align-items:center;gap:clamp(14px,1.8vw,28px);margin-left:clamp(4px,1vw,14px);min-width:0}
.nav-links > a,.nav-item > a{font-size:.9rem;font-weight:500;color:var(--text);letter-spacing:.01em;position:relative;
  padding:6px 0;white-space:nowrap;transition:color var(--dur-hover) var(--ease-soft)}
.nav-links > a::after,.nav-item > a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--accent);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links > a:hover,.nav-item > a:hover,.nav-item.is-open > a{color:var(--text-strong)}
.nav-links > a:hover::after,.nav-item > a:hover::after,.nav-item.is-open > a::after{transform:scaleX(1);transform-origin:left}
.nav-links a[aria-current]{color:var(--text-strong)}
.nav-links a[aria-current]::after{transform:scaleX(1);transform-origin:left;opacity:.55}
.nav-item{display:inline-flex;align-items:center;gap:1px}
.nav-mchev{position:relative;appearance:none;border:0;background:transparent;width:26px;height:30px;padding:0;margin:0 -4px 0 0;
  display:grid;place-items:center;color:var(--text-muted);cursor:pointer;border-radius:6px;
  transition:color var(--dur-hover) var(--ease-soft),background var(--dur-hover) var(--ease-soft)}
.nav-mchev::before{content:"";position:absolute;inset:-7px -4px -7px 0}   /* тап-цель 30×44 на планшете, влево не растёт */
.nav-mchev i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.nav-mchev:hover,.nav-item.is-open .nav-mchev{color:var(--text-strong)}
.nav-mchev[aria-expanded="true"] i{transform:translateY(1px) rotate(-135deg)}
.nav-mchev:focus-visible{outline:2px solid var(--focus);outline-offset:1px}

/* правая группа: телефон · кнопка · поиск · бургер */
.nav-cta{display:flex;align-items:center;gap:clamp(8px,1vw,16px);margin-left:auto;flex:none}
.nav-cta .ulink{white-space:nowrap}
.nav .btn-arrow{border-radius:999px;transition:padding .45s var(--ease),background var(--dur-hover) var(--ease-soft),
  border-color var(--dur-hover) var(--ease-soft),box-shadow var(--dur-hover) var(--ease-soft),
  transform var(--dur-press) cubic-bezier(.23,1,.32,1)}
.nav.tight .btn-arrow{padding-block:10px}
.nav-sbtn,.burger{flex:none;appearance:none;border:0;background:transparent;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;color:var(--text-strong);cursor:pointer;padding:0;margin:0;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:background var(--dur-hover) var(--ease-soft),transform var(--dur-press) cubic-bezier(.23,1,.32,1)}
.nav-sbtn:hover,.burger:hover{background:var(--nav-hover)}
.nav-sbtn:active,.burger:active{transform:scale(.94)}
.nav-sbtn[aria-expanded="true"]{background:var(--nav-hover-strong)}
.nav-sbtn svg{width:19px;height:19px;display:block}
.nav-sbtn:focus-visible,.burger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
/* бургер: три линии → «×» из двух под 45°, средняя тает */
.burger{display:none;position:relative}
.burger i{position:absolute;left:12px;top:21.2px;width:20px;height:1.6px;background:currentColor;border-radius:1px;
  transition:transform .4s var(--ease),opacity .18s var(--ease-soft)}
.burger i:nth-child(1){transform:translateY(-5.5px)}.burger i:nth-child(3){transform:translateY(5.5px)}
.burger[aria-expanded="true"] i:nth-child(1){transform:rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0;transform:scaleX(.3)}
.burger[aria-expanded="true"] i:nth-child(3){transform:rotate(-45deg)}

/* адаптив острова */
/* Телефон в острове — только когда ему точно есть место (≥ 1440): на 1280–1440 он наезжал на «О нас»
   (владелец, 13.09.2026). Ниже телефон живёт в меню, подвале и кнопке «Обсудить задачу». */
.nav-links{flex:0 1 auto}
@media (max-width:1439px){ .nav-cta .ulink{display:none} }
@media (max-width:1340px){ .nav-links{gap:18px} .nav-links > a,.nav-item > a{font-size:.88rem} }
/* уже 1240 — «О нас» уходит в меню, уже 1120 — и «Инвестиции»: пункты не наезжают на кнопку */
@media (max-width:1240px){ .nav-links{gap:16px} .nav-links > :nth-child(7){display:none} }
@media (max-width:1120px){ .nav-links > :nth-child(5){display:none} }
@media (max-width:1180px){ .nav-links{gap:clamp(10px,1.4vw,18px)} .nav-links > a,.nav-item > a{font-size:.86rem} .nav-cta .btn{padding-inline:18px 12px} }
@media (max-width:1000px){
  .nav{padding-inline:calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-left,0px))}
  .nav-links{display:none}
  .burger{display:grid}
  .nav-isle{padding:0 6px 0 16px;gap:8px}
  .nav.tight .nav-isle{padding:0 4px 0 14px}
  .nav .btn-arrow{padding:11px 16px;gap:0}
  .nav .btn-arrow::after{display:none}
  .nav-cta .btn{margin-left:0;font-size:.84rem}
}
@media (max-width:480px){
  .nav-cta-x{display:none}              /* «Обсудить задачу» → «Обсудить» */
  .nav-cta{gap:2px}
  .nav .btn-arrow{padding:10px 14px}
}
@media (max-width:360px){ .nav .logo .lg{height:26px} .nav-cta .btn{display:none} }

/* ─────────────────────────────────────── панели под островом ── */
.nav-under{position:absolute;left:calc(var(--gutter) + env(safe-area-inset-left,0px));right:calc(var(--gutter) + env(safe-area-inset-right,0px));top:calc(100% + 8px);pointer-events:none}
@media (max-width:1000px){ .nav-under{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px))} }
.nav-mega,.nav-search{position:absolute;left:0;right:0;top:0;margin:0 auto;background:var(--nav-panel);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);
  border:1px solid var(--nav-line);border-radius:16px;box-shadow:var(--nav-edge),var(--nav-shadow-panel);
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.985);
  transition:opacity .13s ease-out,transform .13s ease-out,visibility 0s linear .13s}
.nav-mega.open,.nav-search.open{pointer-events:auto;opacity:1;visibility:visible;transform:none;
  transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .24s cubic-bezier(.23,1,.32,1),visibility 0s}
.nav-search.instant{transition:none}      /* открыто с клавиатуры (⌘K/Esc) — без анимации */

/* мега-меню «Проекты» */
.nav-mega{width:min(1180px,100%);transform-origin:14% 0}
.nav-mega-cols{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.4fr;gap:0 clamp(22px,3vw,44px);padding:26px 30px 20px}
.nm-h{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  color:var(--text-faint);padding-bottom:10px;border-bottom:1px solid var(--line);margin:0 0 6px}
.nav-mega ul{list-style:none;margin:0;padding:0}
.nav-mega li a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;
  font-size:.94rem;color:var(--text);border-radius:2px;
  transition:color var(--dur-hover) var(--ease-soft),transform .3s var(--ease)}
.nav-mega li a:hover{color:var(--text-strong);transform:translateX(3px)}
.nav-mega li a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.nav-mega li a b{font-weight:500;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.82rem}
.nm-cols2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.nav-week{position:relative;display:flex;flex-direction:column;gap:3px;color:var(--text);
  border-left:1px solid var(--line);padding-left:clamp(18px,2.4vw,30px);text-decoration:none}
.nw-ph{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;margin-bottom:10px;background:var(--surface-raised)}
.nw-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform .8s var(--ease)}
.nav-week:hover .nw-ph img{transform:scale(1.045)}
.nw-k{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--accent-strong)}
.nw-n{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--text-strong);line-height:1.05}
.nw-w{font-size:.82rem;color:var(--text-muted)}
.nw-p{font-size:.9rem;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums;margin-top:4px}
.nav-week:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:8px}
.nav-mega-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 30px;
  border-top:1px solid var(--line);font-size:.82rem;color:var(--text-muted)}
.nav-mega-foot nav{display:flex;gap:22px}
.nav-mega-foot nav a{display:inline-flex;gap:8px;font-weight:600;color:var(--text-strong);transition:color var(--dur-hover) var(--ease-soft)}
.nav-mega-foot nav a:hover{color:var(--accent-strong)}
@media (max-width:1000px){ .nav-mega{display:none} }   /* на телефоне те же группы живут в полноэкранном меню */

/* поиск */
.nav-search{width:min(680px,100%);transform-origin:50% 0}
.nav-scrim{position:fixed;inset:0;z-index:-1;background:var(--nav-scrim);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s var(--ease-soft),visibility 0s linear .2s}
.nav-scrim.on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s var(--ease-soft),visibility 0s}
.ns-field{display:flex;align-items:center;gap:12px;height:58px;padding:0 12px 0 18px;border-bottom:1px solid var(--line)}
.ns-field > svg{width:20px;height:20px;flex:none;color:var(--text-muted)}
.ns-inp{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.05rem;color:var(--text-strong);padding:0;outline:0}
.ns-inp::placeholder{color:var(--text-faint)}
.ns-kbd,.ns-keys kbd{font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--text-faint);
  border:1px solid var(--line);border-radius:4px;padding:2px 6px;background:var(--nav-kbd);white-space:nowrap}
.ns-clr{flex:none;appearance:none;border:0;background:transparent;width:32px;height:32px;border-radius:50%;color:var(--text-muted);
  display:grid;place-items:center;cursor:pointer;transition:background var(--dur-hover) var(--ease-soft),color var(--dur-hover) var(--ease-soft)}
.ns-clr svg{width:14px;height:14px}
.ns-clr:hover{background:var(--nav-hover);color:var(--text-strong)}
.ns-clr[hidden]{display:none}
.ns-cap{display:flex;justify-content:space-between;align-items:baseline;padding:10px 16px 4px;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--text-faint)}
.ns-cap b{font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:0}
.ns-cap[hidden]{display:none}
.ns-list{list-style:none;margin:0;max-height:min(60vh,462px);max-height:min(60vh,462px,calc(100dvh - 240px));overflow-y:auto;padding:0 6px 6px;scrollbar-width:thin;overscroll-behavior:contain}
.ns-list[hidden]{display:none}
.ns-r{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 10px;border-radius:8px;
  color:var(--text);text-decoration:none;transition:background .12s var(--ease-soft)}
.ns-r:hover,.ns-r[aria-selected="true"]{background:var(--surface-alt)}
.ns-r[aria-selected="true"]{box-shadow:inset 0 0 0 1px var(--line)}
.ns-ph{width:44px;height:44px;border-radius:6px;overflow:hidden;background:var(--surface-raised);display:block}
.ns-ph img{width:100%;height:100%;object-fit:cover;display:block}
.ns-m{display:flex;flex-direction:column;gap:1px;min-width:0}
.ns-n{font-family:var(--serif);font-size:1.15rem;font-weight:500;color:var(--text-strong);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-w{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-p{font-size:.86rem;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums;white-space:nowrap}
.ns-r mark,.nav-search mark{background:var(--accent-wash);color:var(--accent-strong);border-radius:2px;padding:0 1px}
.ns-empty,.ns-err{margin:0;padding:18px 16px 20px;font-size:.92rem;color:var(--text-muted);line-height:1.5}
.ns-empty a,.ns-err a{color:var(--text-strong);font-weight:600;white-space:nowrap}
.ns-err button{appearance:none;border:1px solid var(--line-strong);background:transparent;color:var(--text-strong);border-radius:999px;
  padding:6px 12px;font:inherit;font-size:.82rem;font-weight:600;margin-left:8px;cursor:pointer}
.ns-empty[hidden],.ns-err[hidden],.ns-skel[hidden]{display:none}
.ns-skel{list-style:none;margin:0;padding:6px}
.ns-skel li{display:grid;grid-template-columns:44px minmax(0,1fr) 72px;gap:12px;align-items:center;padding:6px 10px}
.ns-skel i{display:block;height:44px;border-radius:6px;background:var(--surface-alt);position:relative;overflow:hidden}
.ns-skel i + i{height:12px;border-radius:3px}
.ns-skel span{display:flex;flex-direction:column;gap:7px}
.ns-skel span i{height:14px;border-radius:3px;width:60%}
.ns-skel span i + i{width:40%;height:11px}
.ns-skel i::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,var(--nav-shine),transparent);animation:ns-shine 1.2s var(--ease-soft) infinite}
@keyframes ns-shine{to{transform:translateX(100%)}}
.ns-keys{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 16px 10px;border-top:1px solid var(--line);
  font-size:.72rem;color:var(--text-faint)}
@media (hover:none){ .ns-kbd,.ns-keys{display:none} }
@media (max-width:640px){
  .ns-inp{font-size:16px}                 /* iOS не приближает поле */
  .ns-kbd,.ns-keys{display:none}
  .ns-field{height:54px;padding-left:14px}
  .ns-list{max-height:min(64vh,462px);max-height:min(64vh,462px,calc(100dvh - 190px))}   /* 8 строк по 56px; в альбоме — по экрану */
  .ns-r{gap:10px;padding:6px 8px}
  .ns-n{font-size:1.08rem}
}

/* ─────────────────────────────────────────── полноэкранное меню ── */
.mmenu{position:fixed;inset:0;z-index:var(--z-menu);background:var(--nav-menu);
  -webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);
  display:flex;flex-direction:column;
  padding:calc(var(--nav-top) + var(--nav-h) + 18px + env(safe-area-inset-top,0px))
          calc(24px + env(safe-area-inset-right,0px))
          calc(22px + env(safe-area-inset-bottom,0px))
          calc(24px + env(safe-area-inset-left,0px));
  overflow-y:auto;overscroll-behavior:contain;
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease-soft),visibility 0s linear .3s}
.mmenu.open{opacity:1;visibility:visible;transition:opacity .3s var(--ease-soft),visibility 0s}
.mm-in{width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;flex:1 0 auto}
.mm-l{display:block;overflow:hidden;padding:6px 0;margin:-5px 0}       /* маска: пункт выезжает снизу; запас под фокус-кольцо */
.mm-l > a,.mm-row{display:block;font-family:var(--serif);font-size:clamp(1.9rem,6.4vw,2.5rem);font-weight:400;line-height:1.16;
  color:var(--text-strong);text-decoration:none;padding:3px 0;
  transform:translateY(48px);opacity:0;transition:transform .55s var(--ease),opacity .4s var(--ease-soft);transition-delay:0s}
.mmenu.open .mm-l > a,.mmenu.open .mm-row{transform:none;opacity:1;transition-delay:calc(80ms + var(--i,0) * 60ms)}
.mm-l > a:hover,.mm-row > a:hover{color:var(--accent-strong)}
.mm-l > a[aria-current],.mm-row > a[aria-current]{color:var(--accent-strong)}
.mm-l > a:focus-visible,.mm-row > a:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
.mm-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mm-row > a{flex:1;color:inherit;text-decoration:none;padding:0}
.mm-x{appearance:none;border:1px solid var(--line-strong);background:transparent;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;color:var(--text-strong);cursor:pointer;padding:0;flex:none;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:background var(--dur-hover) var(--ease-soft),transform var(--dur-press) cubic-bezier(.23,1,.32,1)}
.mm-x i{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.mm-x[aria-expanded="true"] i{transform:translateY(2px) rotate(-135deg)}
.mm-x:active{transform:scale(.94)}
.mm-x:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mm-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--ease)}
.mm-sub[data-open]{grid-template-rows:1fr}
.mm-sub > div{overflow:hidden;visibility:hidden;transition:visibility 0s linear .32s}
.mm-sub[data-open] > div{visibility:visible;transition-delay:0s}
.mm-g{padding:6px 0 10px}
.mm-g + .mm-g{padding-top:4px}
.mm-c{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text-faint);margin:0 0 8px}
.mm-chips{display:flex;flex-wrap:wrap;gap:8px}
.mm-chips a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid var(--line-strong);
  border-radius:999px;font-size:.86rem;font-weight:500;color:var(--text-strong);text-decoration:none;
  transition:background var(--dur-hover) var(--ease-soft),color var(--dur-hover) var(--ease-soft),border-color var(--dur-hover) var(--ease-soft)}
.mm-chips a b{font-weight:500;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.78rem}
.mm-chips a:hover{background:var(--ink-900);color:var(--bone-0);border-color:var(--ink-900)}
.mm-chips a:hover b{color:inherit;opacity:.7}
.mm-chips a:active{opacity:.7}
.mm-more{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.mm-more a{font-size:.95rem;font-weight:500;color:var(--text);text-decoration:none;padding:6px 0;
  opacity:0;transform:translateY(10px);transition:opacity .3s var(--ease-soft),transform .4s var(--ease)}
.mmenu.open .mm-more a{opacity:1;transform:none;transition-delay:calc(.12s + var(--i,0) * 40ms)}
.mm-more a:hover,.mm-more a[aria-current]{color:var(--accent-strong)}
.mm-close{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%,160%);
  z-index:1;appearance:none;border:0;background:var(--ink-900);color:var(--bone-0);border-radius:999px;padding:12px 18px;
  font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:transform .2s var(--ease)}
.mm-close:focus-visible{transform:translate(-50%,0);outline:2px solid var(--focus);outline-offset:3px}
.mfoot{margin:auto auto 0;width:100%;max-width:560px;padding-top:20px;display:flex;flex-direction:column;gap:5px;
  font-size:var(--fs-sm);color:var(--text-muted);opacity:0;transition:opacity .3s var(--ease-soft);transition-delay:0s}
.mmenu.open .mfoot{opacity:1;transition-delay:.55s}
.mfoot a{color:var(--text-strong);text-decoration:none}
.mf-tel{font-size:1.1rem;font-weight:600}
.mfoot a:hover{color:var(--accent-strong)}
/* закрытие быстрее открытия, без обратного каскада */
.mmenu:not(.open) .mm-l > a,.mmenu:not(.open) .mm-row,.mmenu:not(.open) .mm-more a{transition-delay:0s;transition-duration:.14s}
.mmenu:not(.open) .mfoot{transition-delay:0s;transition-duration:.12s}
.mmenu a,.mm-x{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.mmenu .mm-l > a:active,.mm-row > a:active{opacity:.62}
@media (min-width:1001px){ .mmenu{display:none} }
@media (max-height:640px){
  .mmenu{padding-top:calc(var(--nav-top) + var(--nav-h) + 8px + env(safe-area-inset-top,0px))}
  .mm-l > a,.mm-row{font-size:1.45rem;line-height:1.2;padding:2px 0}
  .mm-more{margin-top:12px;padding-top:10px}
  .mfoot{padding-top:12px}
}

/* ───────────────────────────────── предпросмотр проекта по наведению ── */
.pv-ref{color:var(--text-strong);text-decoration:none;border-bottom:1px dotted var(--accent);padding-bottom:1px;
  transition:color var(--dur-hover) var(--ease-soft),border-color var(--dur-hover) var(--ease-soft)}
.pv-ref:hover,.pv-ref:focus-visible,.pv-ref.is-on{color:var(--accent-strong);border-bottom-style:solid}
.pv-card{position:fixed;left:0;top:0;width:272px;z-index:calc(var(--z-nav) + 40);background:var(--surface);
  border:1px solid var(--nav-line);border-radius:12px;padding:8px 8px 12px;cursor:pointer;
  box-shadow:var(--nav-edge),var(--nav-shadow-panel);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px) scale(.98);transform-origin:50% 100%;
  transition:opacity .16s ease-out,transform .16s ease-out,visibility 0s linear .16s}
.pv-card.below{transform:translateY(-6px) scale(.98);transform-origin:50% 0}
.pv-card.on{opacity:1;visibility:visible;pointer-events:auto;transform:none;
  transition:opacity .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1),visibility 0s}
.pv-ph{position:relative;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--surface-raised);display:block}
.pv-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pv-ph[hidden]{display:none}
.pv-n{font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.05;margin:10px 6px 0;
  display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--text-strong)}
.pv-c{font-family:var(--sans);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600;white-space:nowrap}
.pv-w{margin:3px 6px 0;font-size:.8rem;color:var(--text-muted)}
.pv-p{margin:6px 6px 0;font-size:.9rem;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums}
.pv-w:empty,.pv-p:empty,.pv-c:empty{display:none}

/* ───────────────────────────────────────── спокойная альтернатива ── */
@media (prefers-reduced-motion:reduce){
  .nav,.nav-isle,.nav .logo .lg,.nav .btn-arrow,.burger i,.nav-mchev i,.mm-x i,.mm-sub{transition:none}
  .nav-mega,.nav-search,.pv-card,.pv-card.below{transform:none;transition:opacity .12s,visibility 0s linear .12s}
  .nav-mega.open,.nav-search.open,.pv-card.on{transition:opacity .12s,visibility 0s}
  .mm-l > a,.mm-row,.mm-more a{transform:none;transition:opacity .2s;transition-delay:0s!important}
  .mmenu.open .mm-l > a,.mmenu.open .mm-row,.mmenu.open .mm-more a{transition-delay:0s}
  .nav-mega li a:hover{transform:none}
  .nw-ph img,.nav-week:hover .nw-ph img{transform:none;transition:none}
  .ns-skel i::after{animation:none}
}
