/*
Theme Name: МОДУЛЬ — сервисный центр
Theme URI: https://zappchasti.ru/
Author: МОДУЛЬ
Description: Современная тема сервисного центра «МОДУЛЬ» для продвижения в Новокузнецке. Без магазина и каталога запчастей.
Version: 1.9.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: module-service
*/

:root {
      --ink: #121518;
      --ink-2: #1d2327;
      --muted: #667077;
      --paper: #f5f6f3;
      --white: #ffffff;
      --line: #dde2df;
      --amber: #ffb42e;
      --amber-2: #f58c1f;
      --green: #2f8d69;
      --max: 1180px;
      --radius: 24px;
      --shadow: 0 18px 60px rgba(16, 23, 26, .12);
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
    html, body { overflow-x: hidden; overflow-x: clip; }

    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    .wrap { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
    .eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--amber); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .eyebrow:before { content: ""; width: 26px; height: 2px; background: var(--amber); }
    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 { letter-spacing: -.04em; line-height: 1.06; }
    h1 { max-width: 750px; margin-bottom: 22px; color: var(--white); font-size: clamp(40px, 6vw, 78px); font-weight: 800; }
    h2 { margin-bottom: 18px; font-size: clamp(34px, 4.5vw, 56px); }
    h3 { font-size: 22px; }
    .topline { background-color:#0b0f11; background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 6px),repeating-linear-gradient(45deg,rgba(255,180,46,.018) 0 1px,transparent 1px 7px); color: #bdc6c9; font-size: 12px; }
    .topline .wrap { display: flex; justify-content: space-between; gap: 24px; padding: 9px 0; }
    .topline strong { color: #fff; }
    header { position: sticky; top: 0; z-index: 20; background-color:rgba(12,16,18,.96); background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 6px),repeating-linear-gradient(45deg,rgba(255,180,46,.02) 0 1px,transparent 1px 8px); border-bottom: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(14px); color: #fff; }
    .nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; }
    .brand { display: flex; align-items: center; gap: 11px; min-width: 210px; }
    
    .brand-mark { display: grid; place-items: center; width: 52px; height: 52px; background: none; }
    .brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 10px rgba(255,255,255,.14)); }
    .brand-title { font-size: 17px; font-weight: 900; letter-spacing: .03em; }
    .brand-sub { display: block; margin-top: 2px; color: #a9b2b5; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
    .menu { display: flex; gap: 25px; align-items: center; color: #dbe1e2; font-size: 13px; font-weight: 700; }
    .menu a { transition: color .2s ease; }
    .menu a:hover { color: var(--amber); }
    .phone { font-size: 15px; font-weight: 800; white-space: nowrap; }
    .phone small { display:block; color:#9aa6aa; font-size: 10px; font-weight: 500; text-align:right; }
    .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 21px; border: 0; border-radius: 13px; background: var(--amber); color: var(--ink); font-size: 13px; font-weight: 900; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
    .btn:hover { transform: translateY(-2px); background: #ffc450; box-shadow: 0 10px 25px rgba(255,180,46,.25); }
    .btn.dark { background: var(--ink); color: #fff; }
    .btn.dark:hover { background: #2a3236; }
    .btn.ghost { background: transparent; border: 1px solid rgba(255,255,255,.25); color: #fff; }
    .btn.ghost:hover { background: rgba(255,255,255,.08); }
    .hero { position: relative; overflow: hidden; min-height: 690px; display: flex; align-items: center; background: var(--ink); }
    .hero:before { content:""; position:absolute; inset:0; background: var(--ink); }
    .hero-fill { position:absolute; inset:0; background: var(--module-hero-image, url("assets/hero-neon.jpg")) center top/cover; filter: blur(24px) brightness(.4) saturate(1.3); transform: scale(1.06); }
    .hero-img { position:absolute; inset:0; background: var(--module-hero-image, url("assets/hero-neon.jpg")) center top/contain no-repeat; filter: brightness(.82); }
    .hero-shade { position:absolute; inset:0; pointer-events:none; background: linear-gradient(90deg, rgba(6,8,11,.95) 0%, rgba(6,8,11,.8) 30%, rgba(6,8,11,.45) 52%, rgba(6,8,11,.12) 70%), linear-gradient(0deg, rgba(6,8,11,.5), transparent 18%), linear-gradient(180deg, rgba(6,8,11,.45), transparent 14%); }
    .hero-fx { position:absolute; inset:0; pointer-events:none; overflow:hidden; -webkit-mask-image: linear-gradient(101deg, transparent 0%, rgba(0,0,0,.2) 26%, rgba(0,0,0,.75) 46%, #000 60%); mask-image: linear-gradient(101deg, transparent 0%, rgba(0,0,0,.2) 26%, rgba(0,0,0,.75) 46%, #000 60%); }
    .hero-fx i { position:absolute; inset:0; display:block; background-repeat:no-repeat; background-position:center top; background-size:contain; }
    .hero-fx i.fx-lines { background-image:url("assets/hero-neon-lines.jpg"); mix-blend-mode:screen; filter: saturate(1.45) brightness(1.02) drop-shadow(0 0 4px rgba(255,122,24,.45)); animation: fxBreathe 5.5s ease-in-out infinite; }
    @keyframes fxBreathe { 0%,100% { opacity:.45; } 50% { opacity:.75; } }
    .hero-fx i.fx-sweep { background-image:url("assets/hero-neon-lines.jpg"); mix-blend-mode:screen; filter: saturate(1.7) brightness(1.6) drop-shadow(0 0 5px rgba(255,140,40,.6)); -webkit-mask-image: linear-gradient(112deg, transparent 47%, #000 50%, transparent 53%); mask-image: linear-gradient(112deg, transparent 47%, #000 50%, transparent 53%); -webkit-mask-size:300% 300%; mask-size:300% 300%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; animation: fxSweep 7.5s linear infinite; }
    @keyframes fxSweep { 0% { -webkit-mask-position:205% 0; mask-position:205% 0; } 100% { -webkit-mask-position:-105% 0; mask-position:-105% 0; } }
    .hero-fx i.fx-flash { background: radial-gradient(60% 80% at 60% 45%, rgba(255,140,40,.3), transparent 70%); mix-blend-mode:screen; opacity:0; animation: fxFlash 7.5s linear infinite; }
    @keyframes fxFlash { 0%,41%{opacity:0} 44.5%{opacity:.85} 46%{opacity:.06} 47.5%{opacity:.7} 49.5%{opacity:.04} 52%{opacity:.45} 57%,100%{opacity:0} }
    .hero-fx i.fx-spark { inset:auto; border-radius:50%; mix-blend-mode:screen; opacity:0; background: radial-gradient(circle, #fff 0%, #ffd9a0 30%, rgba(255,140,40,.9) 55%, transparent 75%); filter: drop-shadow(0 0 6px rgba(255,150,50,.95)); }
    .hero-fx i.s1 { left:52%; top:22%; width:9px; height:9px; animation: fxSparkA 7.5s ease-in-out infinite; }
    .hero-fx i.s2 { left:78%; top:56%; width:11px; height:11px; animation: fxSparkB 7.5s ease-in-out infinite .25s; }
    @keyframes fxSparkA { 0%{opacity:0;transform:translate(0,0) scale(.6)} 5%{opacity:1} 24%{opacity:.95;transform:translate(-60px,110px) scale(1.05)} 40%{opacity:0;transform:translate(-120px,200px) scale(.7)} 100%{opacity:0} }
    @keyframes fxSparkB { 0%{opacity:0;transform:translate(0,0) scale(.6)} 7%{opacity:1} 30%{opacity:.95;transform:translate(-80px,-60px) scale(1)} 46%{opacity:0;transform:translate(-140px,-130px) scale(.7)} 100%{opacity:0} }
    @media (prefers-reduced-motion: reduce) { .hero-fx i { animation:none !important; } .hero-fx i.fx-lines { opacity:.75; } .hero-fx i.fx-sweep, .hero-fx i.fx-flash, .hero-fx i.fx-spark { opacity:0 !important; } }
    .hero:after { content:""; position:absolute; right:-180px; bottom:-250px; width:600px; height:600px; border:1px solid rgba(255,180,46,.22); border-radius:50%; box-shadow: 0 0 0 38px rgba(255,180,46,.035), 0 0 0 76px rgba(255,180,46,.025); }
    .hero .wrap { position: relative; z-index: 1; padding: 100px 0 110px; }
    .hero p.lead { max-width: 590px; margin-bottom: 28px; color: #d3d9da; font-size: 18px; }
    .actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 52px; }
    .hero-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 160px)); gap: 12px; }
    .fact { padding: 16px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(255,255,255,.07); }
    .fact strong { display: block; color: #fff; font-size: 22px; }
    .fact span { color: #aeb8ba; font-size: 12px; }
    .hero-card { position: absolute; right: 6%; bottom: 50px; z-index: 2; width: 245px; padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: rgba(20,25,27,.72); box-shadow: var(--shadow); color: #fff; backdrop-filter: blur(16px); }
    .hero-card small { display: block; margin-bottom: 10px; color: #a9b3b5; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
    .rating { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; color: var(--amber); font-size: 23px; font-weight: 900; }
    .rating span { color:#fff; font-size: 13px; }
    .hero-card p { margin-bottom: 0; color:#bec7c9; font-size: 12px; }
    section { position:relative; padding:100px 0; }
    section.dark-section:before, section.hero:after { pointer-events:none; }
    .section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom: 42px; }
    .section-head p { max-width: 440px; margin-bottom: 3px; color: var(--muted); }
    .trust { position: relative; z-index: 3; margin-top: -30px; }
    .advantages { background:#f0f3ef; }
    .advantage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
    .advantage-card { display:flex; align-items:flex-start; gap:15px; min-height:118px; padding:23px; border:1px solid var(--line); border-radius:20px; background:#fff; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
    .advantage-card:hover { transform:translateY(-4px); border-color:#f2c86f; box-shadow:var(--shadow); }
    .advantage-icon { flex:0 0 36px; display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:var(--amber); color:var(--ink); font-size:11px; font-weight:900; }
    .advantage-card h3 { margin:0 0 6px; font-size:18px; }
    .advantage-card p { margin:0; color:var(--muted); font-size:13px; }
    .services { background: #fff; }
    .equipment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .equipment-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 12px 32px rgba(16,23,26,.08); color:inherit; text-decoration:none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
    .equipment-card:hover { transform: translateY(-5px); border-color:#f2c86f; box-shadow: var(--shadow); }
    .equipment-card img { width:100%; height:190px; object-fit:cover; }
    .equipment-body { display:flex; flex-direction:column; gap:8px; flex:1; padding:20px; }
    .equipment-body h3 { margin:0; font-size:19px; }
    .equipment-body p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
    .equipment-body b { color:var(--ink); }
    .equipment-body .service-link { margin-top:auto; padding-top:6px; }
    .equipment-note { margin:18px 0 0; padding:15px 18px; border:1px dashed #c9d3cc; border-radius:16px; background:#fff; color:var(--muted); font-size:13px; }

    .service-link { position:relative; z-index:1; margin-top: 18px; color: var(--ink); font-size: 12px; font-weight: 900; }
    .split { display:grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items:center; }
    .image-frame { position:relative; overflow:hidden; min-height: 500px; border-radius: 28px; background:#20272a; box-shadow:var(--shadow); }
    .image-frame img { width:100%; height:100%; min-height:500px; object-fit:cover; }
    .image-tag { position:absolute; left:20px; bottom:20px; max-width:220px; padding:16px; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:rgba(15,18,20,.73); color:#fff; font-size:13px; backdrop-filter:blur(12px); }
    .image-tag strong { display:block; margin-bottom:4px; color:var(--amber); }
    .list { display:grid; gap: 17px; margin: 30px 0 34px; padding:0; list-style:none; }
    .list li { display:flex; gap:13px; color:#445055; font-size:14px; }
    .check { flex:0 0 23px; display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#e4f2e9; color:var(--green); font-size:13px; font-weight:900; }
    .dark-section { background-color:var(--ink); background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px),repeating-linear-gradient(45deg,rgba(255,180,46,.018) 0 1px,transparent 1px 8px); color:#fff; }
    .dark-section .section-head p, .dark-section .muted { color:#abb5b7; }
    .process { display:grid; grid-template-columns:repeat(4,1fr); gap: 14px; }
    .process-card { position:relative; padding:26px; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:#1b2124; }
    .process-card:not(:last-child):after { content:"→"; position:absolute; right:-22px; top:47px; color:var(--amber); font-size:24px; }
    .process-num { color:var(--amber); font-size:13px; font-weight:900; }
    .process-card h3 { margin:22px 0 8px; font-size:19px; }
    .process-card p { margin:0; color:#9ca8ab; font-size:13px; }
    .price-definitions { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:18px; }
    .price-definitions > div { padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; }
    .price-definitions b { display:block; margin-bottom:7px; font-size:13px; }
    .price-definitions span { display:block; color:var(--muted); font-size:11px; line-height:1.45; }
    .price-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 8px 30px rgba(16,23,26,.05); }
    .full-price-table { min-width:920px; margin:0; padding:0 22px; }
    .full-price-table th { padding:17px 0; border-bottom:2px solid var(--ink); text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
    .full-price-table th:not(:first-child), .full-price-table td:not(:first-child) { text-align:right; padding-left:15px; }
    .full-price-table td:first-child { width:44%; }
    .price-notes { display:grid; grid-template-columns:repeat(2,1fr); gap:0 28px; margin:18px 0; color:var(--muted); font-size:12px; }
    .price-notes p { margin:6px 0; }
    .price-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 18px; align-items:stretch; }
    .price-box, .cta-box { padding: 30px; border-radius: 24px; background:#fff; border:1px solid var(--line); }
    .price-box h3, .cta-box h3 { margin-bottom: 18px; font-size: 23px; }
    .price-table { width:100%; border-collapse:collapse; font-size:13px; }
    .price-table td { padding: 13px 0; border-bottom:1px solid var(--line); }
    .price-table td:last-child { text-align:right; font-weight:900; white-space:nowrap; }
    .price-note { margin: 16px 0 0; color:var(--muted); font-size:12px; }
    .cta-box { display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg, #20282b, #111517); color:#fff; }
    .cta-box p { color:#b7c0c2; font-size:14px; }
    .contact-grid { display:grid; grid-template-columns: 1fr .85fr; gap:18px; }
    .contact-panel { padding: 34px; border-radius:24px; background:#fff; border:1px solid var(--line); }
    .contact-row { display:flex; gap:15px; padding: 18px 0; border-bottom:1px solid var(--line); }
    .contact-row:last-child { border-bottom:0; }
    .contact-icon { flex:0 0 40px; display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#f6e6bd; color:#8d5c00; font-weight:900; }
    .contact-row b { display:block; margin-bottom:3px; }
    .contact-row span { color:var(--muted); font-size:13px; }
    .map-card { position:relative; min-height:360px; overflow:hidden; border-radius:24px; background: radial-gradient(circle at 20% 20%, rgba(255,180,46,.23) 0 2px, transparent 3px), linear-gradient(135deg,#d9e1dc 0 14%, transparent 14% 18%, #cfd8d2 18% 23%, transparent 23% 38%, #dce3df 38% 42%, transparent 42% 54%, #d0dad4 54% 59%, transparent 59% 100%), #e7ece8; border:1px solid var(--line); }
    .map-card:before, .map-card:after { content:""; position:absolute; left:-10%; width:130%; height:22px; border-radius:50%; background:rgba(255,255,255,.75); transform:rotate(22deg); top:40%; box-shadow:0 78px 0 rgba(255,255,255,.6), 0 156px 0 rgba(255,255,255,.55); }
    .map-card:after { top:66%; transform:rotate(-38deg); opacity:.65; }
    .map-pin { position:absolute; left:50%; top:45%; z-index:2; width:30px; height:30px; border:7px solid #fff; border-radius:50% 50% 50% 0; background:var(--amber-2); transform:rotate(-45deg); box-shadow:0 7px 15px rgba(0,0,0,.2); }
    .map-label { position:absolute; left:22px; bottom:22px; z-index:3; padding:16px 18px; border-radius:16px; background:rgba(18,21,24,.9); color:#fff; }
    .map-label b { display:block; margin-bottom:4px; }
    .map-label span { color:#c1cacc; font-size:12px; }
    .faq { display:grid; grid-template-columns: .7fr 1.3fr; gap:70px; }
    details { padding: 19px 0; border-bottom:1px solid var(--line); }
    summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; font-weight:800; list-style:none; }
    summary::-webkit-details-marker { display:none; }
    summary:after { content:"+"; color:var(--amber-2); font-size:22px; line-height:15px; }
    details[open] summary:after { content:"–"; }
    details p { max-width:700px; margin:14px 0 0; color:var(--muted); font-size:14px; }
    .photo-credit { display:block; margin-top:10px; color:var(--muted); font-size:11px; }
    .brands-section { background:#fff; }
    .brands-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
    .brand-group { padding:25px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#fff,#f5f7f4); }
    .brand-group h3 { margin:0 0 10px; font-size:19px; }
    .brand-group p { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
    .rewind-section { background: #eef1ed; }
    .video-section { padding-top: 30px; }
    .video-card { display:grid; grid-template-columns: 82px 1fr 230px; gap: 28px; align-items:center; padding: 34px; border-radius:26px; background:linear-gradient(120deg,#1b2427,#111517); color:#fff; box-shadow:var(--shadow); }
    .video-icon { display:grid; place-items:center; width:70px; height:70px; border-radius:22px; background:var(--amber); color:var(--ink); font-size:26px; padding-left:4px; }
    .video-copy h2 { max-width:650px; margin:10px 0 12px; font-size:clamp(28px,3.5vw,44px); }
    .video-copy p { max-width:650px; margin-bottom:20px; color:#b4bfc1; font-size:14px; }
    .video-side { min-height:150px; display:flex; flex-direction:column; justify-content:center; padding:22px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(255,255,255,.05); }
    .video-side span { color:var(--amber); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
    .video-side strong { margin:9px 0; font-size:26px; }
    .video-side small { color:#aeb9bb; font-size:12px; }
    .articles-section { background:#fff; }
    .article-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
    .article-card { display:flex; flex-direction:column; min-height:265px; padding:24px; border:1px solid var(--line); border-radius:20px; background:#fff; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
    .article-card:hover { transform:translateY(-5px); border-color:#f2c86f; box-shadow:var(--shadow); }
    .article-meta { color:var(--amber-2); font-size:11px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
    .article-card h3 { margin:20px 0 10px; font-size:19px; }
    .article-card p { color:var(--muted); font-size:13px; }
    .article-link { margin-top:auto; font-size:12px; font-weight:900; }
    .articles-footer { display:flex; align-items:center; gap:20px; margin-top:26px; color:var(--muted); font-size:13px; }
    footer { padding: 35px 0; background:#0d1113; color:#a7b1b3; }
    .footer-row { display:flex; justify-content:space-between; gap:25px; align-items:center; }
    .footer-row strong { color:#fff; }
    .footer-row small { font-size:11px; }
    .mobile-menu { display:none; }
    .toast { position:fixed; right:22px; bottom:22px; z-index:50; max-width:320px; padding:16px 18px; border-radius:14px; background:#172024; color:#fff; box-shadow:var(--shadow); font-size:13px; opacity:0; transform:translateY(20px); pointer-events:none; transition:.25s ease; }
    .toast.show { opacity:1; transform:translateY(0); }
    @media (max-width: 980px) {
      .menu { display:none; }
      .mobile-menu { display:inline-flex; }
      .phone { margin-left:auto; }
      .hero-card { display:none; }
      .equipment-grid { grid-template-columns:repeat(2,1fr); }
      .split, .price-grid, .contact-grid, .faq { grid-template-columns:1fr; gap:32px; }
      .article-grid, .brands-grid, .price-definitions, .advantage-grid { grid-template-columns:repeat(2,1fr); }
      .video-card { grid-template-columns:64px 1fr; }
      .video-side { grid-column:span 2; min-height:0; }
      .process { grid-template-columns:repeat(2,1fr); }
      .process-card:not(:last-child):after { display:none; }
    }
    @media (max-width: 620px) {
      .wrap { width:min(var(--max), calc(100% - 28px)); }
      .topline .wrap { display:block; text-align:center; }
      .topline .wrap span:last-child { display:none; }
      .nav { min-height:68px; }
      .brand { min-width:0; }
      .brand-sub { display:none; }
      
      .phone { display:none; }
      .nav .btn { min-height:40px; padding:0 12px; font-size:11px; }
      .hero { min-height:650px; }
      .hero .wrap { padding:70px 0 80px; }
      h1 { font-size:44px; }
      .hero p.lead { font-size:16px; }
      .hero-facts { grid-template-columns:1fr 1fr; }
      .hero-facts .fact:last-child { grid-column:span 2; }
      section { padding:70px 0; }
      .section-head { display:block; margin-bottom:28px; }
      .section-head p { margin-top:14px; }
      .equipment-grid, .process, .article-grid, .brands-grid, .price-definitions, .price-notes, .advantage-grid { grid-template-columns:1fr; }
      .video-card { display:block; padding:24px; }
      .video-icon { margin-bottom:22px; }
      .video-side { margin-top:22px; }
      .articles-footer { display:block; }
      .articles-footer span { display:block; margin-top:14px; }
      .image-frame, .image-frame img { min-height:370px; }
      .actions .btn { width:100%; }
      .price-box, .cta-box, .contact-panel { padding:24px; }
      .footer-row { display:block; }
      .footer-row small { display:block; margin-top:8px; }
    }

.content-panel { padding: 34px; border-radius: 24px; background: #fff; border: 1px solid var(--line); }
.module-content h1 { font-size: clamp(38px, 5vw, 64px); }
.module-content .entry-content, .module-content article > p, .module-content article > ul { max-width: 820px; color: #445055; font-size: 16px; }
.module-content .lead { font-size: 18px; }


/* Мобильная версия 1.1: компактная навигация, удобные карточки цен и быстрый звонок. */
.mobile-menu { display: none; position: relative; z-index: 30; }
.mobile-menu summary { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; color: #fff; cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary:before { content: "☰"; margin-right: 7px; color: var(--amber); font-size: 15px; }
.mobile-menu[open] summary:before { content: "×"; }
.mobile-menu-panel { position: absolute; right: 0; top: calc(100% + 10px); display: grid; min-width: 230px; padding: 10px; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: #151b1e; box-shadow: 0 18px 40px rgba(0,0,0,.32); }
.mobile-menu-panel a { padding: 12px 13px; border-radius: 10px; color: #fff; font-size: 13px; font-weight: 700; }
.mobile-menu-panel a:hover { background: rgba(255,180,46,.14); color: var(--amber); }
.mobile-menu-panel .mobile-menu-call { margin-top: 5px; background: var(--amber); color: var(--ink); }
.mobile-callbar { display: none; }
@media (max-width: 980px) {
  .mobile-menu { display: block; }
  .mobile-menu + .phone { display: none; }
  .nav > .btn { margin-left: auto; }
}
@media (max-width: 620px) {
  body { padding-bottom: 66px; }
  .nav { gap: 8px; }
  .brand-mark { width: 42px; height: 42px; }
  .brand-title { font-size: 15px; }
  .nav > .btn { min-height: 40px; padding: 0 10px; font-size: 10px; }
  .mobile-menu-panel { position: fixed; left: 14px; right: 14px; top: 68px; min-width: 0; }
  .price-scroll { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .full-price-table { min-width: 0; width: 100%; padding: 0; display: block; }
  .full-price-table thead { display: none; }
  .full-price-table tbody { display: grid; gap: 12px; }
  .full-price-table tr { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 16px; background: #fff; overflow: hidden; }
  .full-price-table td, .full-price-table td:first-child { width: auto; padding: 10px 12px; border-bottom: 1px solid var(--line); font-size: 12px; }
  .full-price-table td:first-child { grid-column: 1 / -1; padding: 14px 12px; border-bottom: 2px solid var(--ink); font-weight: 800; }
  .full-price-table td:not(:first-child) { text-align: right; }
  .full-price-table td:not(:first-child):before { content: attr(data-label); float: left; color: var(--muted); font-size: 11px; font-weight: 600; text-align: left; }
  .full-price-table td:nth-last-child(-n+2) { border-bottom: 0; }
  .mobile-callbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 9px 12px; background: rgba(13,17,19,.96); box-shadow: 0 -8px 24px rgba(0,0,0,.18); }
  .mobile-callbar a { display: flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 11px; background: var(--amber); color: var(--ink); font-size: 11px; font-weight: 900; }
  .mobile-callbar a:last-child { background: #fff; }
}


/* Images on individual service pages. */
.service-page-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); gap: 42px; align-items: start; margin-top: 26px; }
.service-page-image { position: sticky; top: 110px; margin: 0; overflow: hidden; border-radius: 22px; background: #1b2124; box-shadow: var(--shadow); }
.service-page-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.service-page-image figcaption { padding: 14px 16px; color: #d3dcdd; background: #1b2124; font-size: 11px; line-height: 1.45; }
@media (max-width: 980px) { .service-page-grid { grid-template-columns: 1fr; gap: 28px; } .service-page-image { position: static; max-width: 680px; } }
@media (max-width: 620px) { .service-page-grid { gap: 22px; } .service-page-image img { aspect-ratio: 16 / 10; } .service-page .actions { display: grid; grid-template-columns: 1fr; } .service-page .actions .btn { width: 100%; } }

@media (max-width: 620px) { .equipment-card img { height:200px; } }
@media (max-width: 1240px) { .menu { display:none; } .mobile-menu { display:block; } .phone { margin-left:auto; } }

    .cities-hero { background:#fff; padding:70px 0 40px; }
    .cities-hero h1 { color: var(--ink); font-size:42px; margin:10px 0 14px; }
    .cities-hero .lead { color: var(--muted); max-width:640px; margin-bottom:24px; }
    .cities-section { background:#fff; padding:20px 0 90px; }
    .city-card { border:1px solid var(--line); border-radius:20px; padding:26px 28px; margin-bottom:16px; background:linear-gradient(145deg,#fff,#f6f8f5); }
    .city-head { display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:10px; }
    .city-head h2 { font-size:22px; color:var(--ink); }
    .city-dist { color:#d98415; font-weight:800; font-size:13px; white-space:nowrap; }
    .city-card p { color:var(--muted); font-size:14px; margin-bottom:10px; }
    .city-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
    .city-links a { padding:8px 14px; border-radius:10px; border:1px solid rgba(217,132,21,.4); color:#b26a0e; font-size:12px; font-weight:800; }
    .city-links a:hover { background:rgba(217,132,21,.08); }
    .city-chips { display:flex; gap:10px; flex-wrap:wrap; }
    .city-chips a { padding:10px 16px; border-radius:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#ffd9a0; font-size:13px; font-weight:700; }
    .city-chips a:hover { background:rgba(255,165,60,.15); color:#ffc46b; }
    .footer-cities { border-top:1px solid rgba(255,255,255,.08); padding:14px 0 18px; color:#8fa0a4; font-size:12px; }
    .footer-cities a { color:#c8d2d4; }
    .footer-cities a:hover { color: var(--amber); }
    .cities-hero .btn.ghost { color:#b26a0e; border-color: rgba(178,106,14,.5); background:transparent; }
    .cities-hero .btn.ghost:hover { background:rgba(178,106,14,.08); }
    @media (max-width: 620px) { .cities-hero h1 { font-size:32px; } .city-head h2 { font-size:19px; } }

    /* неоновая анимация карточек техники: свечение по оранжевым полоскам фото */
    .equipment-card { position:relative; }
    .equipment-grid .equipment-card:nth-child(1) { --eq-glow:url("assets/glow-chainsaw.jpg"); }
    .equipment-grid .equipment-card:nth-child(2) { --eq-glow:url("assets/glow-trimmer.jpg"); }
    .equipment-grid .equipment-card:nth-child(3) { --eq-glow:url("assets/glow-cultivator.jpg"); }
    .equipment-grid .equipment-card:nth-child(4) { --eq-glow:url("assets/glow-generator.jpg"); }
    .equipment-grid .equipment-card:nth-child(5) { --eq-glow:url("assets/glow-tools.jpg"); }
    .equipment-grid .equipment-card:nth-child(6) { --eq-glow:url("assets/glow-pump.jpg"); }
    .equipment-grid .equipment-card:nth-child(7) { --eq-glow:url("assets/glow-motor.jpg"); }
    .equipment-grid .equipment-card:nth-child(8) { --eq-glow:url("assets/glow-chain.jpg"); }
    .equipment-grid .equipment-card:nth-child(9) { --eq-glow:url("assets/glow-snow.jpg"); }
    .equipment-card img { animation: eqBreathe 5.5s ease-in-out infinite; }
    @keyframes eqBreathe { 0%,100% { filter:saturate(1.05) brightness(.98); } 50% { filter:saturate(1.35) brightness(1.08); } }
    .equipment-card::before { content:""; position:absolute; left:0; right:0; top:0; height:190px; pointer-events:none; background: var(--eq-glow) center/cover no-repeat; mix-blend-mode:screen; filter: saturate(2) brightness(1.5) blur(.5px) drop-shadow(0 0 8px rgba(255,122,24,.85)); animation: eqGlow 5.5s ease-in-out infinite; }
    @keyframes eqGlow { 0%,100% { opacity:.5; } 50% { opacity:.95; } }
    .equipment-card::after { content:""; position:absolute; left:0; right:0; top:0; height:190px; pointer-events:none; background: var(--eq-glow) center/cover no-repeat; mix-blend-mode:screen; filter: saturate(2.4) brightness(2.8) blur(1px) drop-shadow(0 0 16px rgba(255,150,50,1)); -webkit-mask-image: linear-gradient(112deg, transparent 40%, #000 50%, transparent 60%); mask-image: linear-gradient(112deg, transparent 40%, #000 50%, transparent 60%); -webkit-mask-size:300% 100%; mask-size:300% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; animation: eqSweep 7.5s linear infinite; }
    @keyframes eqSweep { 0% { -webkit-mask-position:205% 0; mask-position:205% 0; } 100% { -webkit-mask-position:-105% 0; mask-position:-105% 0; } }
    .equipment-card:nth-child(2)::before, .equipment-card:nth-child(2)::after { animation-delay:-.8s; }
    .equipment-card:nth-child(3)::before, .equipment-card:nth-child(3)::after { animation-delay:-1.6s; }
    .equipment-card:nth-child(4)::before, .equipment-card:nth-child(4)::after { animation-delay:-2.4s; }
    .equipment-card:nth-child(5)::before, .equipment-card:nth-child(5)::after { animation-delay:-3.2s; }
    .equipment-card:nth-child(6)::before, .equipment-card:nth-child(6)::after { animation-delay:-4s; }
    .equipment-card:nth-child(7)::before, .equipment-card:nth-child(7)::after { animation-delay:-4.8s; }
    .equipment-card:nth-child(8)::before, .equipment-card:nth-child(8)::after { animation-delay:-5.6s; }
    .equipment-card:nth-child(9)::before, .equipment-card:nth-child(9)::after { animation-delay:-6.4s; }
    @media (max-width: 620px) { .equipment-card::before, .equipment-card::after { height:200px; } }
    @media (prefers-reduced-motion: reduce) { .equipment-card img, .equipment-card::before, .equipment-card::after { animation:none !important; } .equipment-card::before { opacity:.4; } .equipment-card::after { opacity:0; } }

/* ===== v1.9.0: тёмная редакционная тема + неон на всех страницах ===== */
:root { --ink:#eef4f5; --ink-2:#e6eef0; --muted:#a3b3b8; --paper:#0b0f11; --line:rgba(255,255,255,.14); --shadow:0 18px 60px rgba(0,0,0,.5); }
html { background:#0b0f11; }
body { background:#0b0f11; color:#e8eef0; }
body::before { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; background:url("assets/hero-neon-lines.jpg") center/cover no-repeat; opacity:.08; animation: pageBreathe 9s ease-in-out infinite; }
body::after { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; background:url("assets/hero-neon-lines.jpg") center/cover no-repeat; mix-blend-mode:screen; filter:saturate(2.1) brightness(2.2); opacity:.4; -webkit-mask-image:linear-gradient(112deg,transparent 44%,#000 50%,transparent 56%); mask-image:linear-gradient(112deg,transparent 44%,#000 50%,transparent 56%); -webkit-mask-size:300% 100%; mask-size:300% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; animation: pageSweep 14s linear infinite; }
@keyframes pageBreathe { 0%,100%{opacity:.06} 50%{opacity:.13} }
@keyframes pageSweep { 0%{-webkit-mask-position:205% 0;mask-position:205% 0} 100%{-webkit-mask-position:-105% 0;mask-position:-105% 0} }
header { position:relative; z-index:30; }
main, footer, .toast { position:relative; z-index:1; }
@media (prefers-reduced-motion: reduce) { body::before{animation:none;opacity:.08} body::after{animation:none;opacity:0} }
/* секции и карточки — в тёмное */
.advantages, .services, .brands-section, .articles-section, .rewind-section, .video-section { background:transparent; }
.advantage-card, .equipment-card, .process-card, .article-card, .brand-group, .contact-panel, .price-box, .cta-box, .content-panel, .price-scroll, .price-definitions > div, .equipment-note, .map-card, .video-card { background:#12181c; border-color:rgba(255,255,255,.12); box-shadow:0 12px 32px rgba(0,0,0,.35); }
.equipment-card h3, .advantage-card h3, .process-card h3, .article-card h3, .contact-panel h3, .cta-box h3 { color:#fff; }
.equipment-card p, .advantage-card p, .process-card p, .article-card p, .contact-panel p, .cta-box p, .price-definitions span, .equipment-note, .faq details p, .price-notes p { color:var(--muted); }
.equipment-card b, .advantage-card b, .list b, .cta-box b, .price-definitions b { color:#e6eef0; }
.service-link, .article-link { color:#ffc46b; }
.equipment-note { border-style:dashed; }
.image-tag { background:rgba(10,14,16,.85); color:#ffd9a0; border:1px solid rgba(255,165,60,.35); }
.contact-icon { background:rgba(255,165,60,.16); color:#ffc46b; }
.price-table th { background:#161d21; color:#ffd9a0; }
.price-table td { color:#dfe8ea; border-color:rgba(255,255,255,.08); }
.price-table tr { border-color:rgba(255,255,255,.1); }
.full-price-table tr { background:#12181c; }
details { border-color:rgba(255,255,255,.12); }
summary { color:#eef4f5; }
.map-card:before, .map-card:after { background:rgba(255,165,60,.5); box-shadow:0 78px 0 rgba(255,165,60,.35),0 156px 0 rgba(255,165,60,.3); }
.map-label { color:#eef4f5; }
.btn.dark { background:transparent; color:#ffd9a0; border:1px solid rgba(255,165,60,.55); }
.btn.dark:hover { background:rgba(255,165,60,.12); }
.btn.ghost { color:#ffd9a0; border-color:rgba(255,165,60,.5); }
.fact { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); }
.fact strong { color:#fff; } .fact span { color:var(--muted); }
.hero-card { background:rgba(10,14,16,.82); border-color:rgba(255,165,60,.3); }
/* города — в тёмное */
.cities-hero, .cities-section { background:transparent; }
.cities-hero h1, .city-head h2 { color:#fff; }
.cities-hero .lead, .city-card p { color:var(--muted); }
.city-card { background:#12181c; border-color:rgba(255,255,255,.12); }
.city-links a { color:#ffc46b; border-color:rgba(255,165,60,.45); }
.cities-hero .btn.ghost { color:#ffd9a0; border-color:rgba(255,165,60,.5); background:transparent; }
.equipment-note b, .city-card b { color:#e6eef0; }

/* v1.9.1 точечные фиксы инверсии */
.btn { color:#14181b; }
.advantage-icon, .video-icon, .mobile-menu-panel .mobile-menu-call, .mobile-callbar a { color:#14181b; }
.dark-section { background-color:#0e1417; }
.dark-section h2, .dark-section h3 { color:#fff; }
.dark-section p { color:var(--muted); }
.hero, .hero:before { background:#0b0f11; }
/* v1.9.2 мобильная адаптация тёмной темы */
@media (max-width: 620px) {
  .mobile-callbar a:last-child { background:#1a2125; color:#ffd9a0; box-shadow: inset 0 0 0 1px rgba(255,165,60,.45); }
  .full-price-table td, .full-price-table td:first-child { color:#dfe8ea; }
  .full-price-table td:first-child { color:#fff; }
  body::after { opacity:.22; }
  body::before { opacity:.07; }
  .equipment-card::before, .equipment-card::after { height:200px; }
}
/* v1.9.3 живой виджет Яндекс Карт в контактах */
.map-widget { position:relative; min-height:380px; border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:#12181c; box-shadow:0 12px 32px rgba(0,0,0,.35); }
.map-widget iframe { position:absolute; inset:0; width:100%; height:100%; min-height:380px; border:0; display:block; }
.map-widget:has(iframe) { aspect-ratio: 4/3; }
@media (max-width: 980px) { .map-widget { min-height:320px; } }
/* v1.9.4 AI-факты на страницах услуг */
.ai-facts { margin-top:26px; padding:18px 20px; border-radius:18px; background:#12181c; border:1px solid rgba(255,165,60,.35); display:grid; gap:8px; }
.ai-facts b { color:#fff; font-size:16px; }
.ai-facts span { color:#a3b3b8; font-size:13.5px; line-height:1.5; }
