/* evo-menu3d — светлое меню (SPEC §1–2): поверх evo-menu.php. Фон белый, текст тёмный; при WebGL — 3D-спираль и пункты на витке. */
.evo-m { background: radial-gradient(110% 90% at 62% 45%, #FFFFFF 0%, #FAF9F6 60%, #F1F0EC 100%) !important; color: #151515 !important; }
.evo-m-open .evo-mb { background: #151515 !important; box-shadow: 0 8px 28px rgba(21,21,21,.25) !important; }
.evo-m-tel { color: #151515 !important; }
.evo-m-msg a { color: #151515 !important; box-shadow: inset 0 0 0 1px rgba(21,21,21,.18) !important; transition: background-color var(--mo-fast,160ms) var(--mo-ease,ease), box-shadow var(--mo-fast,160ms) var(--mo-ease,ease); }
.evo-m-msg a:hover { background: rgba(21,21,21,.04) !important; box-shadow: inset 0 0 0 1px #151515 !important; }
.evo-m-cta { color: #151515 !important; }
.evo-m-note { color: #666 !important; }
.evo-m-a, .evo-m-sub a { color: rgba(21,21,21,.72) !important; text-shadow: none !important; transition: color var(--mo-base,200ms) var(--mo-ease,ease); }
.evo-m-a:hover, .evo-m-a:focus-visible, .evo-m-li.is-hot > .evo-m-a, .evo-m-li.is-cur > .evo-m-a, .evo-m-sub a:hover, .evo-m-sub a[aria-current] { color: #151515 !important; text-shadow: none !important; }
.evo-m-num { color: rgba(21,21,21,.4) !important; }
.evo-m > canvas:not(.m3-gl) { opacity: .5; }

/* 3D */
.evo-m3d > canvas:not(.m3-gl), .evo-m3d .evo-m-nav { display: none !important; }
.evo-m3d .evo-m-in { grid-template-columns: minmax(260px, 30%) 1fr; }
.m3-gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; opacity: 0; transition: opacity .6s .15s; }
.evo-m-open .m3-gl { opacity: 1; }
.m3-nav { position: absolute; inset: 0; z-index: 3; pointer-events: none; font-family: Geologica, system-ui, sans-serif; }
.m3-nav .dna__it { position: absolute; left: 0; top: 0; display: flex; align-items: baseline; gap: 14px; white-space: nowrap; pointer-events: auto; margin: 0; padding: 0;
  border: 0; background: none; font: 500 52px/1 Geologica, system-ui, sans-serif; letter-spacing: -.025em; color: rgba(21,21,21,.55) !important; text-decoration: none !important;
  transform-origin: 0 50%; will-change: transform, opacity, filter; cursor: pointer;
  transition: color var(--mo-base,200ms) var(--mo-ease,ease), translate var(--mo-base,200ms) var(--mo-ease,ease); }
/* AAA-2 ф5 MICRO: ховер — цвет + сдвиг 3 px (translate, не transform — его ведёт 3D-спираль); фокус — подчёркивание бренд-синим вместо голого outline:none */
.m3-nav .dna__it:hover { color: #151515 !important; translate: 3px 0; }
.m3-nav .dna__it:focus-visible { outline: none; }
.m3-nav .dna__it .n { font-size: 13px; font-weight: 600; letter-spacing: .08em; font-variant-numeric: tabular-nums; color: rgba(21,21,21,.45); }
.m3-nav .dna__it .c { display: inline-block; font-size: .5em; margin-left: 4px; transition: transform var(--mo-slow,220ms) var(--mo-ease,ease); }
.m3-nav .dna__it.is-open .c { transform: rotate(180deg); }
.m3-nav .dna__it.is-act { color: #151515 !important; font-weight: 600; }
.m3-nav .dna__it.is-act .n { background: linear-gradient(90deg, #FF3B3B, #FFC21A, #1FC96B, #2F6BFF, #8A3CFF); -webkit-background-clip: text; background-clip: text; color: transparent; }
.m3-nav .dna__it:focus-visible .t { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; text-decoration-color: #1571E1; }
.m3-nav .dna__it.sub { font-size: 20px; line-height: 28px; font-weight: 400; letter-spacing: -.01em; transform-origin: 0 0; }
.m3-nav .dna__it.sub.is-act { color: #151515 !important; font-weight: 500; }
.evo-m3d .evo-m-li { display: none; }
.evo-m:not(.evo-m3d) .m3-nav, .evo-m:not(.evo-m3d) .m3-gl { visibility: hidden; }   /* 11.10 evo-menu-col: до первого 3D-кадра виден только запасной список */
@media (max-width: 1023px) {
  .evo-m3d .evo-m-in { display: flex; justify-content: flex-end; }
}
@media (max-width: 767px) {
  .m3-nav .dna__it { font-size: var(--m3-fs, 30px); gap: 10px; }
  .m3-nav .dna__it .n { display: none; }
  .m3-nav .dna__it.sub { font-size: 17px; line-height: 26px; }
}
@media (prefers-reduced-motion: reduce) { .m3-nav .dna__it:hover { translate: none; } }
