/* Keep the original ten-link navigation usable between phone and desktop widths. */
@media (max-width:1200px) {
  .site-header .brand-descriptor { display:none; }
  .site-header .nav-toggle { display:block; flex-shrink:0; }
  .site-header .site-nav { position:fixed; inset:0; z-index:110; flex-direction:column; justify-content:safe center; gap:12px; padding:86px 20px 28px; overflow-y:auto; background:var(--bg); opacity:0; pointer-events:none; transition:opacity .3s; }
  .site-header .site-nav a { flex-shrink:0; font-size:16px; padding:12px 20px; min-height:44px; }
  body.nav-open .site-header .site-nav { opacity:1; pointer-events:auto; }
  body.nav-open .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; }
  body.nav-open { overflow:hidden; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header .site-nav { transition:none; }
}

/* Keep the entire Bee render visible; the existing .fm markers frame the panel. */
.panel-media--bee-render { min-height:0; display:flex; background:#fff; }
.panel-media--bee-render .frame { width:100%; height:auto; display:flex; align-items:center; }
.panel-media--bee-render picture { display:block; width:100%; }
.panel-media--bee-render .frame img { display:block; height:auto; object-fit:contain; }

/* The matching front view keeps the same uncropped studio proportions. */
.frame--bee-front picture { display:block; width:100%; }
.frame--bee-front img { display:block; height:auto; object-fit:contain; }

/* Native Bee model loading state and image fallback. */
.concept3d[data-concept3d="bee"] .concept3d-hint,
.concept3d[data-concept3d="bee"] .concept3d-note { color:#B5BDC0; }
.concept3d[data-concept3d="bee"] .concept3d-hint { bottom:34px; }
.concept3d[data-concept3d="bee"] .concept3d-note { left:16px; right:auto; }
.concept3d-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#fff; z-index:2; }
.concept3d-loading { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:5; max-width:80%; padding:12px 18px; border-radius:8px; background:rgba(35,39,42,.92); color:var(--ink); text-align:center; font-size:14px; }

/* Automatic rotation control. */
.concept3d-spin { position:absolute; right:16px; bottom:16px; z-index:4; display:flex; align-items:center; justify-content:center; gap:9px; min-width:104px; min-height:40px; padding:8px 12px; border:1px solid #58696A; border-radius:6px; background:rgba(35,39,42,.82); color:#D5E4DB; font:12px var(--font); cursor:pointer; }
.concept3d-spin:hover { border-color:#9DFFC4; color:#9DFFC4; }
.concept3d-spin:focus-visible { outline:2px solid #9DFFC4; outline-offset:3px; }
.concept3d-spin::before { content:""; width:7px; height:10px; border-left:2px solid currentColor; border-right:2px solid currentColor; }
.concept3d-spin[data-spinning="false"]::before { width:0; height:0; border:5px solid transparent; border-right:0; border-left:8px solid currentColor; }
.concept3d[data-concept3d="bee"]:not([data-model-state="loaded"]) .concept3d-spin { display:none; }
@media (hover:none) and (pointer:coarse) {
  html[lang="en"] .concept3d[data-concept3d="bee"] .concept3d-hint::after { content:"two fingers to rotate"; }
}
@media (max-width:650px) {
  .concept3d[data-concept3d="bee"] { height:460px; }
  .concept3d[data-concept3d="bee"] .concept3d-hint { bottom:35px; font-size:0; }
  .concept3d[data-concept3d="bee"] .concept3d-hint::after { content:"вращение — двумя пальцами"; font-size:10px; }
  html[lang="en"] .concept3d[data-concept3d="bee"] .concept3d-hint::after { content:"two fingers to rotate"; }
  .concept3d[data-concept3d="bee"] .concept3d-note { left:16px; right:auto; bottom:12px; font-size:10px; }
  .concept3d-spin { min-width:78px; min-height:40px; right:12px; bottom:26px; padding:8px; font-size:10px; }
}

/* Bee component explorer: names at left, one unobstructed model viewport. */
.concept3d[data-concept3d="bee"] { height:680px; cursor:default; }
.bee-viewport { position:absolute; inset:0; overflow:hidden; background:#262B2E; cursor:grab; }
.bee-viewport:active { cursor:grabbing; }
.has-bee-explorer .bee-viewport { left:248px; }
.bee-explorer { position:absolute; inset:0 auto 0 0; width:248px; display:flex; flex-direction:column; border-right:1px solid var(--line); background:#262B2E; z-index:4; }
.bee-explorer-heading { padding:18px 20px 12px; }
.bee-explorer-heading strong { display:block; color:var(--ink); font-size:18px; font-weight:500; line-height:1.2; }
.bee-explorer-heading > span { display:block; margin-top:6px; color:#B1B3B2; font-size:11px; line-height:1.5; }
.bee-skeleton-list { display:grid; gap:2px; padding:0 10px 10px; }
.bee-skeleton-list > span { display:flex; align-items:center; gap:18px; min-height:30px; padding:7px 10px; }
.bee-skeleton-list > span::before,.bee-skeleton-list > span::after { content:""; height:8px; border-radius:3px; background:#39413F; }
.bee-skeleton-list > span::before { width:70%; }
.bee-skeleton-list > span:nth-child(3n+2)::before { width:52%; }
.bee-skeleton-list > span::after { width:18px; margin-left:auto; opacity:.55; }
.concept3d[data-concept3d="bee"]:not([data-model-state="loaded"]) .bee-viewport { cursor:default; }
.concept3d[data-concept3d="bee"]:not([data-model-state="loaded"]) canvas,
.concept3d[data-concept3d="bee"]:not([data-model-state="loaded"]) .concept3d-spin,
.concept3d[data-concept3d="bee"]:not([data-model-state="loaded"]) .concept3d-hint,
.concept3d[data-concept3d="bee"]:not([data-model-state="loaded"]) .concept3d-note { visibility:hidden; }
.bee-viewport .concept3d-loading { display:flex; flex-direction:column; align-items:center; gap:14px; width:320px; padding:24px; background:transparent; }
.bee-viewport .concept3d-loading strong { font-size:17px; font-weight:500; line-height:1.4; }
.bee-viewport .concept3d-loading > span:not([aria-hidden]) { color:#A8B2AD; font-size:12px; line-height:1.65; }
.bee-loading-mark { display:grid; place-items:center; width:58px; height:58px; margin-bottom:4px; border:1px solid #526A5C; border-radius:12px; background:rgba(157,255,196,.04); color:#9DFFC4; font-size:18px; letter-spacing:.04em; }
.bee-loading-progress { display:block; width:96px; height:3px; margin-top:8px; overflow:hidden; border-radius:2px; background:#39413F; }
.bee-loading-progress::after { content:""; display:block; width:40%; height:100%; border-radius:inherit; background:#9DFFC4; animation:bee-loading 1.6s ease-in-out infinite alternate; }
.bee-viewport .bee-load-error { top:auto; bottom:18px; transform:translateX(-50%); width:420px; background:rgba(35,39,42,.94); }
@keyframes bee-loading { from { transform:translateX(0); } to { transform:translateX(150%); } }
.bee-explorer-list { min-height:0; overflow-y:auto; padding:0 10px 10px; scrollbar-width:thin; scrollbar-color:#596661 transparent; }
.bee-part { appearance:none; display:flex; align-items:center; gap:8px; width:100%; min-height:30px; padding:6px 10px; margin:1px 0; border:1px solid transparent; border-radius:6px; background:transparent; color:#C8CFCC; font:12px/1.3 var(--font); text-align:left; cursor:pointer; transition:background .15s,color .15s,border-color .15s; }
.bee-part > span:first-child { flex:1; }
.bee-part-count { flex-shrink:0; font-size:10px; color:#97A39D; }
.bee-part:hover { color:#9DFFC4; background:rgba(157,255,196,.04); }
.bee-part[aria-pressed="true"] { color:#9DFFC4; background:rgba(157,255,196,.10); border-color:rgba(157,255,196,.4); }
.bee-part[aria-pressed="true"] .bee-part-count { color:#9DFFC4; }
.bee-part:focus-visible,.bee-explorer-reset:focus-visible { outline:2px solid #9DFFC4; outline-offset:-2px; }
.bee-explorer-reset { flex-shrink:0; margin:auto 16px 16px; min-height:36px; padding:8px 12px; border:1px solid #53635B; border-radius:6px; color:#9DFFC4; background:transparent; font:11px var(--font); cursor:pointer; }
.bee-explorer-reset:disabled { color:#7C8883; border-color:var(--line); cursor:default; }
.bee-explorer-detail { position:absolute; left:24px; right:24px; top:24px; max-width:460px; z-index:3; pointer-events:none; padding:14px 16px; border-left:2px solid #9DFFC4; border-radius:0 8px 8px 0; background:rgba(36,39,42,.84); }
.bee-explorer-detail strong { display:block; color:#9DFFC4; font-size:16px; font-weight:500; line-height:1.3; }
.bee-explorer-detail > span { display:block; color:#C8CFCC; font-size:11px; line-height:1.65; margin-top:5px; }
.bee-explorer-detail .bee-explorer-xray { color:#9DFFC4; font-size:10px; }
.bee-explorer-detail [hidden] { display:none; }
.bee-marker-layer { position:absolute; inset:0; pointer-events:none; z-index:2; overflow:hidden; }
.bee-marker { position:absolute; width:17px; height:17px; border:1px solid #9DFFC4; border-radius:50%; background:rgba(157,255,196,.16); transform:translate(-50%,-50%); box-shadow:0 0 10px rgba(157,255,196,.35); }
.bee-marker::after { content:""; position:absolute; inset:5px; background:#9DFFC4; border-radius:50%; }
@media (max-width:1000px) and (min-width:701px) {
  .bee-explorer { width:218px; }
  .has-bee-explorer .bee-viewport { left:218px; }
  .bee-explorer-heading { padding:20px 16px 14px; }
  .bee-part { font-size:11px; }
}
@media (max-width:700px) {
  .concept3d[data-concept3d="bee"] { height:748px; }
  .bee-viewport { height:440px; bottom:auto; }
  .has-bee-explorer .bee-viewport { left:0; }
  .bee-explorer { inset:440px 0 0; width:auto; border-right:0; border-top:1px solid var(--line); }
  .bee-explorer-heading { padding:12px 14px 8px; display:flex; align-items:center; gap:12px; }
  .bee-explorer-heading strong { font-size:14px; white-space:nowrap; }
  .bee-explorer-heading > span { font-size:10px; margin:0; }
  .bee-explorer-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 4px; padding:0 8px 8px; }
  .bee-skeleton-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 4px; padding:0 8px 8px; }
  .bee-skeleton-list > span { min-height:44px; padding:7px; }
  .bee-part { min-height:44px; margin:0; padding:7px; font-size:11px; }
  .bee-part-count { font-size:9px; }
  .bee-explorer-reset { margin:8px 14px 12px; min-height:34px; }
  .bee-explorer-detail { left:14px; right:14px; top:16px; max-width:none; padding:9px 12px; }
  .bee-explorer-detail strong { font-size:13px; }
  .bee-explorer-detail > span { font-size:10px; line-height:1.5; }
  .concept3d[data-concept3d="bee"] .concept3d-note { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .bee-part { transition:none; }
  .bee-loading-progress::after { animation:none; width:100%; opacity:.65; }
}
/* E18, 10.10.2026 — grey text on /check (.chk) and /privacy (.doc), RU/EN.
   Hints were 3.4:1 on #24272A; #8C8E92 gives 4.6:1 (E8). Scoped to these two
   page bodies: the home page, contacts and the cabinet keep their --dim. */
.chk, .doc { --dim:#8C8E92; }
/* «К содержанию» is the first Tab stop, the same look as on the stories (E9). */
.skip-link { position:fixed; z-index:1000; top:8px; left:8px; padding:12px 24px; background:var(--mint); color:var(--bg); font-size:14px; transform:translateY(-200%); }
.skip-link:focus { transform:none; }
