/* ============================================================
   1 · ТЁМНЫЙ ДЕРЗКИЙ — чёрный, огромная типографика, один акцент (вольт)
   ============================================================ */
[data-variant="noir"]{
  --bg:#0a0a0a;--bg-alt:#101010;--text:#f3f3ee;--muted:#8e8e88;--line:#262626;
  --accent:#d6ff3a;--accent-hover:#e4ff70;--on-accent:#0a0a0a;--accent-text:#d6ff3a;
  --card:#141414;--card-line:#232323;--card-strong:#141414;--on-strong:#f3f3ee;
  --track:#1d1d1d;--input-bg:#0f0f0f;--focus:rgba(214,255,58,.2);--modal-bg:#141414;
  --font-display:Unbounded,Inter,sans-serif;--font-body:Manrope,Inter,sans-serif;
  --display-weight:700;--display-tracking:-.02em;--display-transform:uppercase;
  --radius:0px;--radius-sm:0px;--radius-btn:0px;--radius-input:0px;--radius-img:0px;
  --gap:1px;--photo-filter:grayscale(1) contrast(1.15) brightness(.95);
  --pl-bg:#0a0a0a;--pl-text:#f3f3ee;--pl-accent:#d6ff3a;
}
[data-variant="noir"] .nav{border-bottom:1px solid transparent}
[data-variant="noir"] .nav.scrolled{background:rgba(10,10,10,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--line)}
[data-variant="noir"] .logo{font-size:15px;text-transform:uppercase;letter-spacing:.02em}
[data-variant="noir"] .nav-links{text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700}
[data-variant="noir"] .btn{text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-size:13px}
[data-variant="noir"] .btn-primary:hover{box-shadow:0 0 0 6px rgba(214,255,58,.18)}
[data-variant="noir"] .btn-ghost{border-color:#3a3a3a}

[data-variant="noir"] .hero{min-height:min(100vh,1000px);padding-bottom:13vw}
[data-variant="noir"] .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end}
[data-variant="noir"] .hero h1{font-size:clamp(34px,5.1vw,74px);line-height:1.02}
[data-variant="noir"] .hero h1 em{color:var(--accent)}
[data-variant="noir"] .hero-word{display:block;font-size:15.5vw;color:#181818;text-transform:uppercase;letter-spacing:-.04em;animation:noirSlide 40s linear infinite alternate}
@keyframes noirSlide{to{transform:translateX(-40%)}}
[data-variant="noir"] .hero-media img{aspect-ratio:3/4}
[data-variant="noir"] .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,10,10,.85));pointer-events:none}
[data-variant="noir"] .hero-badge{left:auto;right:-1px;bottom:-1px;background:var(--accent);color:var(--on-accent);border:0;z-index:2}
[data-variant="noir"] .hero-badge b{color:var(--on-accent);font-weight:900}
[data-variant="noir"] .hero-badge span{color:var(--on-accent);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.06em}

[data-variant="noir"] .marquee{display:block;background:var(--accent);color:var(--on-accent);font:900 clamp(22px,3vw,40px)/1 Unbounded,sans-serif;text-transform:uppercase;padding:22px 0;transform:rotate(-2deg);margin:-30px -20px 0}
[data-variant="noir"] .marquee span::after{content:"●";font-size:.5em}

[data-variant="noir"] .s-head{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:24px 64px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:36px}
[data-variant="noir"] .s-num{display:block;grid-column:1/-1;font:700 13px/1 Manrope,sans-serif;letter-spacing:.2em;color:var(--accent)}
[data-variant="noir"] .s-num::before{content:"[ "}
[data-variant="noir"] .s-num::after{content:" ]"}
[data-variant="noir"] .s-head h2{font-size:clamp(36px,5.6vw,84px);line-height:.95}
[data-variant="noir"] .s-head p{margin:0;font-size:18px}

[data-variant="noir"] :is(.stats,.cards,.consult,.certs){background:var(--line);border:1px solid var(--line)}
[data-variant="noir"] .stat b{color:var(--accent);font-weight:900;font-size:clamp(56px,6vw,96px)}
[data-variant="noir"] .stat b.word{color:var(--text);font-size:clamp(20px,1.8vw,26px)}
[data-variant="noir"] :is(.stat,.card,.cert){border:0}
[data-variant="noir"] .about{gap:0;border:1px solid var(--line);border-top:0;margin-top:0}
[data-variant="noir"] .about-text{border:0}
[data-variant="noir"] .about-text .role{color:var(--accent)}
[data-variant="noir"] .card{min-height:300px}
[data-variant="noir"] .card .c-num{font-size:48px;font-weight:900;color:#262626;transition:color .3s}
[data-variant="noir"] .card h3{font-size:19px;line-height:1.25}
[data-variant="noir"] .card:hover{transform:none;background:var(--accent);color:var(--on-accent)}
[data-variant="noir"] .card:hover :is(p,.tag,.c-num){color:var(--on-accent)}
[data-variant="noir"] .card:hover .result{background:rgba(0,0,0,.08);border-color:#000}
[data-variant="noir"] .custom{margin-top:48px;border:1px solid var(--line)}
[data-variant="noir"] .custom-bg{opacity:.22}
[data-variant="noir"] .step::before{border-radius:0;font-family:Unbounded,sans-serif}
[data-variant="noir"] .card-main:hover .photo img{filter:grayscale(1) contrast(1.2)}
[data-variant="noir"] .pub .y{font-weight:900}
[data-variant="noir"] .pub{transition:padding .3s}
[data-variant="noir"] .pub:hover{padding-left:16px}
[data-variant="noir"] .kind{border-radius:0;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
[data-variant="noir"] .pub-thumb{border-radius:0}
[data-variant="noir"] .contact{background:transparent;border:1px solid var(--line)}
[data-variant="noir"] .contact h2{font-size:clamp(36px,5vw,72px);color:var(--accent);line-height:.98}
[data-variant="noir"] .contact-list a span{border-radius:0;background:var(--accent);color:var(--on-accent)}

/* прелоадер: гигантский счётчик */
[data-variant="noir"] .pl-in{position:absolute;inset:0;display:block}
[data-variant="noir"] .pl-mono,[data-variant="noir"] .pl-bars{display:none}
[data-variant="noir"] .pl-name{position:absolute;left:32px;top:32px;font:700 14px/1 Unbounded,sans-serif;letter-spacing:.1em;opacity:1}
[data-variant="noir"] .pl-line{position:absolute;left:32px;right:32px;top:50%;width:auto;height:1px}
[data-variant="noir"] .pl-count{position:absolute;left:24px;bottom:-.08em;font:900 clamp(120px,26vw,380px)/.8 Unbounded,sans-serif;letter-spacing:-.06em;color:var(--accent);opacity:1}
[data-variant="noir"] .pl-count sup{font-size:.25em;vertical-align:top}
