
.methods{color:#191c1f;}.methods p{color:#61686f;}.method-links>a{border-color:#d1d7dc;}.method-links>a:first-child{border-color:#d1d7dc;}
footer.original-footer{position:relative;background:#e4e7ea;color:#191c1f;padding:0;font-size:14px;overflow:hidden;}.footer-deco{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:51px;opacity:.46;pointer-events:none;filter:brightness(0) invert(1) drop-shadow(0 1px 1px #191c1f2e);}.footer-deco img:first-child{width:508px;height:auto;}.footer-deco img:last-child{width:384px;height:auto;}.original-footer>.wrap{position:relative;z-index:1;}.footer-directory{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:64px;padding:58px 0 34px;}.original-footer .footer-context h2{font-size:24px;font-weight:300;letter-spacing:.025em;line-height:1.3;margin:0 0 18px;}.footer-context p{font-size:16px;color:#61686f;line-height:var(--lh-text);max-width:40ch;margin:0;}.original-footer nav h3{font-size:16px;font-weight:600;letter-spacing:.02em;margin:0 0 18px;}.original-footer nav a{display:block;width:fit-content;margin:10px 0;font-size:15px;}.original-footer a{color:inherit;text-decoration:none;}.original-footer a:hover{color:var(--red-ui);text-decoration:underline;text-underline-offset:4px;}.original-footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding:74px 0 88px;}.original-footer-train{width:calc(100% - 500px);display:block;}.original-footer-meta{width:452px;text-align:right;flex-shrink:0;}.original-footer-logo{display:block;width:auto;height:19px;margin:0 0 12px auto;}.original-footer-meta p{margin:0 0 8px;font-size:14px;font-weight:500;}.footer-legal,.footer-sites{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 16px;}.footer-legal{color:#61686f;}.footer-sites{margin-top:14px;font-weight:700;}
@media(max-width:1100px){.footer-directory{gap:30px;}.original-footer-bottom{gap:28px;}.original-footer-train{width:calc(100% - 470px);}}
@media(max-width:900px){.footer-directory{grid-template-columns:1fr 1fr;}.footer-context{grid-column:1/-1;}.footer-context p{max-width:65ch;}.original-footer-bottom{flex-direction:column;align-items:flex-start;padding:48px 0 56px;}.original-footer-train{width:min(100%,620px);}.original-footer-meta{width:100%;text-align:left;}.original-footer-logo{margin-left:0;}.footer-legal,.footer-sites{justify-content:flex-start;}}
@media(max-width:520px){.footer-directory{grid-template-columns:1fr;gap:26px;padding-top:40px;}.footer-context{grid-column:auto;}.footer-deco{gap:20px;}.footer-deco img:first-child{width:300px;}.footer-deco img:last-child{width:240px;}}

.original-footer .footer-deco{overflow:hidden;}

.scroll-reveal{opacity:0;transition:opacity .65s ease,translate .65s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms);}
.scroll-reveal.scroll-shown,.scroll-reveal:focus-within{opacity:1;}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;translate:none;transition:none;}}
@media print{.scroll-reveal{opacity:1;translate:none;}}

.pilot-steps>li.scroll-reveal{background:#e9e8de;}

@media(max-width:700px){.pilot-steps .pilot-step-art::before{inset:-8% 0;}}

/* Unified text links and invitation by the XADO team. */
.footer-directory{border-bottom:0;}
body a.text-link{font-family:Inter,system-ui,sans-serif;font-weight:500;text-decoration:none;transition:color .25s ease;}
body a.text-link:hover,body a.text-link:focus-visible{color:var(--red-ui);text-decoration:none;}
body a.text-link .link-arrow,.result-source .link-arrow{width:.85em;height:.85em;vertical-align:-.04em;margin-left:.35em;flex-shrink:0;stroke-width:1.6;}
.footer-sites{gap:12px 16px;}.footer-sites a{white-space:nowrap;}
.pilot-team-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:36px;max-width:1000px;margin:48px auto 0;}
.pilot-team-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply;}
body .pilot-team-copy h3{font-size:36px;font-weight:300;letter-spacing:.025em;line-height:1.25;margin:0 0 20px;}
.pilot-team-copy>p{font-size:18px;line-height:var(--lh-text);color:#56524c;margin:0 0 26px;}
body .pilot-team-copy .pilot-cta{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin:0;}
@media(max-width:700px){.pilot-team-cta{grid-template-columns:1fr;gap:20px;margin-top:36px;max-width:480px;}.pilot-team-art{width:min(100%,380px);margin:auto;}.pilot-team-copy{text-align:center;}body .pilot-team-copy h3{font-size:28px;}.pilot-team-copy>p{font-size:16px;}body .pilot-team-copy .pilot-cta{align-items:center;}.pilot-team-copy .button{max-width:100%;white-space:normal;}}

.pilot-steps .pilot-step-art img[src*="pilot-step-3-v110"]{filter:brightness(1.03);}
.pilot-team-art img{filter:brightness(1.055);}

/* Shared methods/footer surface, with a single section divider. */

.original-footer>.wrap::before{content:"";border-top:1px solid #c3cbd2;}
body .pilot-outcomes .pilot-benefits h4{font-weight:700;letter-spacing:.03em;}
body .pilot-participation h4{color:var(--red-ui);}

.pilot-program-band{border-top:1px solid #c9c1b5;margin-top:36px;padding-top:36px;}
@media(max-width:700px){.pilot-program-band{margin-top:26px;padding-top:26px;}}

.original-footer-train{object-position:center 55%;}
.original-footer-bottom.scroll-reveal{background:#e4e7ea;}
.pilot-team-cta.scroll-reveal{background:#e9e8de;}
/* Владелец 12.09.2026: «не такую быструю» — 0,8 с → 1,3 с, сдвиг 28 → 36 px; ступень задержки в app.js 120 → 200 мс. */
.scroll-reveal{translate:0 36px;transition-duration:1.3s;transition-timing-function:cubic-bezier(.22,.61,.36,1);}
.scroll-reveal.scroll-shown,.scroll-reveal:focus-within{translate:none;}
@media(prefers-reduced-motion:reduce){.scroll-reveal{translate:none;transition:none;}}

/* Distinguish the document section from the footer while retaining the light palette. */
.methods{background:#f0f2f4;}

.original-footer>.wrap::before{border-top-color:#aeb9c2;}
.original-footer .footer-context p,.original-footer .footer-legal{color:#46515b;}



/* Transparent train and lighter footer, without the section divider. */
footer.original-footer,.original-footer-bottom.scroll-reveal{background:#d8dde2;}
.original-footer-bottom.scroll-shown{background:transparent;}
.original-footer>.wrap::before{display:none;border:0;}
.original-footer-train{height:auto;object-fit:contain;mix-blend-mode:normal;filter:none;}

/* Pilot introduction before the fleet, and optional graphite comparison. */
#pilot>.wrap>.pilot-intro{margin-top:26px;margin-bottom:0;}
#pilot>.wrap>.pilot-tech-cloud{margin-top:24px;}
html.footer-dark .methods,html.footer-dark footer.original-footer,html.footer-dark .original-footer-bottom.scroll-reveal{background:var(--graphite);color:#f2f3f4;}
html.footer-dark .methods p,html.footer-dark .original-footer .footer-context p,html.footer-dark .original-footer .footer-legal{color:#b9bec5;}
html.footer-dark .method-links>a,html.footer-dark .method-links>a:first-child{border-color:#484d54;}
html.footer-dark .original-footer>.wrap::before{border-top:1px solid #484d54;}
html.footer-dark .footer-deco{opacity:.045;}

@media(max-width:700px){#pilot>.wrap>.pilot-intro{margin-top:20px;}#pilot>.wrap>.pilot-tech-cloud{margin-top:20px;}}

/* Dark footer matches the hero; color separates it from methods. */
html.footer-dark footer.original-footer,html.footer-dark .original-footer-bottom.scroll-reveal{background:var(--bg);}
html.footer-dark .original-footer-bottom.scroll-shown{background:transparent;}
html.footer-dark .original-footer>.wrap::before{display:none;border:0;}
#pilot{overflow-x:clip;}
.pilot-fleet-wordmark{position:absolute;z-index:0;left:50%;top:25%;transform:translate(-50%,-50%);width:100vw;text-align:center;white-space:nowrap;font-family:Inter,Arial,sans-serif;font-size:10.3vw;font-weight:900;line-height:1;letter-spacing:-.055em;color:#dedad3;pointer-events:none;user-select:none;}


/* Large pilot lettering above the studio lighting and behind the fleet. */
#pilot .pilot-fleet-stage::before{z-index:0;}
#pilot .pilot-fleet-wordmark{z-index:1;top:auto;bottom:calc(18% + 70px);transform:translateX(-50%);mix-blend-mode:multiply;}


@font-face{font-family:Anton;src:url("assets/Anton-Pilot.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
#pilot .pilot-fleet-wordmark{font-family:Anton,Impact,sans-serif;font-weight:400;letter-spacing:-.01em;line-height:.9;}

/* Larger outline duplicate above the filled lettering, behind the equipment. */
#pilot .pilot-fleet-outline{color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #ccc7bf;transform:translateX(-50%) scale(1.12);}
#pilot .pilot-fleet-stage img{z-index:3;}

/* Lift the upper tags while preserving the fleet and lower cloud positions. */
#pilot #pilot-cloud-above{transform:translateY(-30px);}
#pilot .pilot-tech-cloud.is-expanded{margin-top:54px;}
html.lettering-graphite #pilot .pilot-fleet-wordmark:not(.pilot-fleet-outline){color:var(--graphite);}
@media(max-width:700px){#pilot #pilot-cloud-above{transform:translateY(-20px);}#pilot .pilot-tech-cloud.is-expanded{margin-top:40px;}}

html.lettering-graphite #pilot .pilot-fleet-outline{-webkit-text-stroke-color:var(--graphite);}

/* Fleet reduced by 5%, keeping the existing relative hover growth. */
#pilot .pilot-tech-cloud .pilot-fleet-stage img{transform:scale(.95);transform-origin:center center;}
@media(hover:hover){#pilot .pilot-tech-cloud .pilot-fleet-stage:hover img{transform:scale(.969);}}
#pilot .pilot-tech-cloud .pilot-fleet-stage:focus-visible img{transform:scale(.969);}
@media(prefers-reduced-motion:reduce){#pilot .pilot-tech-cloud .pilot-fleet-stage img{transform:scale(.95)!important;}}

#pilot .pilot-fleet-outline{z-index:1;}
#pilot .pilot-fleet-wordmark:not(.pilot-fleet-outline){z-index:2;mix-blend-mode:normal;}

#pilot .pilot-fleet-outline{transform-origin:center bottom;}



#pilot .pilot-fleet-stage.fleet-scroll-pending{opacity:0;translate:0 36px;}
#pilot .pilot-fleet-stage.fleet-scroll-enter{animation:fleet-scroll-in 1s cubic-bezier(.22,.61,.36,1) both;}
@keyframes fleet-scroll-in{from{opacity:0;translate:0 36px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){#pilot .pilot-fleet-stage.fleet-scroll-pending{opacity:1;translate:none;}#pilot .pilot-fleet-stage.fleet-scroll-enter{animation:none;}}
@media print{#pilot .pilot-fleet-stage.fleet-scroll-pending{opacity:1;translate:none;}}

/* Large, reinforced Anton numerals for the pilot stages. */
#pilot .pilot-step-heading .pilot-step-number{font-size:96px;letter-spacing:0;line-height:1;}
@media(max-width:600px){#pilot .pilot-step-heading .pilot-step-number{font-size:80px;}}

#pilot .pilot-step-arrow{color:var(--graphite);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}

/* Optional graphite treatment for enterprise outcomes. */
html.outcomes-graphite #pilot .pilot-outcomes{background:var(--graphite);color:#f3f3f4;}
html.outcomes-graphite #pilot .pilot-outcomes h3,html.outcomes-graphite #pilot .pilot-outcomes h4{color:#f3f3f4;}
html.outcomes-graphite #pilot .pilot-outcomes .pilot-benefits p{color:#bdc0c8;}
html.outcomes-graphite #pilot .pilot-outcomes .pilot-benefits article{border-color:#484d54;}

#pilot .pilot-program-band{border-top:2px solid var(--graphite);}

#pilot .pilot-step-heading .pilot-step-number{font-family:Inter,Arial,sans-serif;font-weight:900;font-synthesis:none;-webkit-text-stroke:0;}


#pilot .pilot-program-band{border-top-width:4px;}

#pilot>.wrap>h2,#pilot>.wrap>h2 span{color:var(--graphite);}

/* Cap lettering at the 1440px layout size on wide displays. */
#pilot .pilot-fleet-wordmark{font-size:min(16.247vw,260px);width:min(100vw,1600px);}

@media(max-width:700px){#pilot .pilot-fleet-wordmark{bottom:calc(18% + 20px);}}

/* Expanded tags stay above both lettering layers at tablet and desktop widths. */
#pilot .pilot-tech-cloud.is-expanded .pilot-fleet-stage{margin-top:12px;}
@media(max-width:700px){#pilot .pilot-tech-cloud.is-expanded .pilot-fleet-stage{margin-top:8px;}}

/* Show the divider only while the equipment tags are expanded. */
#pilot .pilot-program-band{border-top-color:transparent;transition:border-top-color .3s ease;}
#pilot .pilot-tech-cloud.is-expanded ~ .pilot-program-band{border-top-color:var(--graphite);}
@media(prefers-reduced-motion:reduce){#pilot .pilot-program-band{transition:none;}}

/* Shift the whole fleet composition down without moving the following content. */
#pilot .pilot-fleet-stage{position:relative;top:28px;}
@media(max-width:700px){#pilot .pilot-fleet-stage{top:16px;}}

html.outcomes-graphite #pilot .pilot-outcomes .pilot-benefits h4{color:var(--red-light);}


html.outcomes-graphite #pilot .pilot-outcomes .pilot-benefits article{border-bottom:1px solid #484d54;padding-bottom:22px;}



/* Center arrows in the gap between adjacent stage numerals. */
#pilot .pilot-step-arrow{left:calc(100% + 14px);width:84px;max-width:none;transform:translateX(-50%);z-index:2;overflow:visible;}
#pilot .pilot-steps>li:nth-child(1){z-index:4;}
#pilot .pilot-steps>li:nth-child(2){z-index:3;}
#pilot .pilot-steps>li:nth-child(3){z-index:2;}
#pilot .pilot-steps>li:nth-child(4){z-index:1;}
@media(max-width:600px){#pilot .pilot-step-arrow{display:none;}}

/* Maintain readable copy over bright equipment without darkening the result panels. */
body .result-stat .result-label{color:#fff}
body .result-stat .result-source{color:#e2e5ea!important;background:transparent;box-shadow:none;text-shadow:none}
body .symptom-card:hover .result-source,body .symptom-card:focus-within .result-source,body .result-stat:hover .result-source,body .result-stat:focus-visible .result-source{color:var(--red-light)!important}

/* Navigation stays in flow; transform does not shift the page. */
html{scroll-padding-top:calc(var(--navigation-height,91px) + 16px)}

/* Optional comparison: same pattern, aligned with the footer top. */
html.footer-pattern-top .original-footer .footer-deco{align-items:flex-end;bottom:var(--footer-pattern-bottom,18px);}

/* Stable local backdrop for multiply, including reveal/hover compositing. */
#pilot .pilot-steps .pilot-step-art{isolation:isolate;background:#e9e8de;mix-blend-mode:normal;}
#pilot .pilot-steps .pilot-step-art img{mix-blend-mode:multiply;z-index:1;}
#pilot .pilot-steps .pilot-step-art::before{z-index:0;}

/* Agreed light blue-grey documentary section and footer. */
html.footer-light .methods,html.footer-light footer.original-footer,html.footer-light .original-footer-bottom.scroll-reveal{background:#e4e7ea;color:#252a30;}
html.footer-light .methods h2,html.footer-light .method-links>a,html.footer-light .original-footer h2,html.footer-light .original-footer h3,html.footer-light .original-footer a{color:#252a30;}
html.footer-light .methods p,html.footer-light .original-footer .footer-context p,html.footer-light .original-footer .footer-legal{color:#56616a;}
html.footer-light .method-links>a,html.footer-light .method-links>a:first-child{border-color:#c5ccd2;}
html.footer-light .original-footer>.wrap::before{content:"";display:block;width:100%;border:0;border-top:2px solid #c5ccd2;}
html.footer-light .method-links>a:hover,html.footer-light .original-footer a:hover{color:var(--red-ui);}
html.footer-light .footer-deco{opacity:.40;}
html.footer-light .original-footer-bottom.scroll-shown{background:transparent;}

#pilot .pilot-program-band .pilot-outcomes article{border-top-color:rgba(233,232,222,.35)!important;border-bottom-color:rgba(233,232,222,.35)!important;}
html.outcomes-graphite .pilot-outcomes article .text-link{color:#e9e8de;}
html.outcomes-graphite .pilot-outcomes article .text-link:hover{color:#fff;}

/* White foreground glow beneath the consultation team. */
.pilot-team-art{position:relative;}
.pilot-team-art::before{content:"";position:absolute;inset:-10% -6% -35%;pointer-events:none;background:radial-gradient(ellipse 46% 25% at 50% 65%,rgba(255,255,255,1) 0%,rgba(255,255,255,1) 30%,rgba(255,255,255,.72) 52%,rgba(255,255,255,.24) 78%,rgba(255,255,255,0) 100%);}
.pilot-team-art img{position:relative;}

/* Same microtexture as the equipment problems section. */
html.outcomes-graphite #pilot .pilot-program-band .pilot-outcomes{background-image:repeating-linear-gradient(45deg,transparent 0 2.25px,rgba(3,9,21,.09) 2.25px 3px),repeating-linear-gradient(-45deg,transparent 0 2.25px,rgba(237,243,255,.025) 2.25px 3px);background-size:4.5px 4.5px;}

#pilot .pilot-outcomes article p:has(>a[href="#savings"]){padding-top:12px;}

html.outcomes-graphite #pilot .pilot-program-band .pilot-outcomes>h3{color:#e9e8de;}

html.outcomes-graphite #pilot .pilot-program-band .pilot-outcomes{padding-bottom:28px;}
html.outcomes-graphite #pilot .pilot-program-band .pilot-outcomes article p{color:#e9e8de;}

#pilot .pilot-participation .pilot-agreement>div{border-left:6px solid var(--red-ui);padding-left:22px;}

#pilot .pilot-participation>h3{margin-bottom:40px;}
/* Числа результата при наведении не краснеют — переход и так по клику на плитку (владелец, 12.09.2026). Тень под строкой-источником снята там же. */
body .result-stat:hover .result-number,body .result-stat:focus-visible .result-number,body .symptom-card:hover .result-number{color:#f4f4f5!important;}
/* 12.09.2026: звёздочка примечания на тёмном — светлый красный (тёмный давал 2,35); линии условий пилота — яркий, это графика выделения блока. */
body .note-star{color:var(--red-light);}
/* Эталон текста на тёмном (владелец, 12.09.2026): как у вкладок оборудования — неактивный #AEB4BF, активный и при наведении белый. Белый по умолчанию делает любой цвет наведения «темнее белого», поэтому наведение красным на тёмном снято. */
body :is(#trials,#problems) .equipment-directory>summary{color:#aeb4bf;}
body :is(#trials,#problems) .equipment-directory>summary:hover,body :is(#trials,#problems) .equipment-directory>summary:focus-visible,body :is(#trials,#problems) .equipment-directory[open]>summary{color:#fff;}
body :is(#trials,#problems) .equipment-directory-links>a,body :is(#trials,#problems) .equipment-directory-links .directory-label{color:#aeb4bf!important;}
body :is(#trials,#problems) .equipment-directory-links>a:hover,body :is(#trials,#problems) .equipment-directory-links>a:focus-visible,body :is(#trials,#problems) .equipment-directory-links>a:hover .directory-label{color:#fff!important;}
body .hero-actions a.simple-link{color:#aeb4bf!important;}
body .hero-actions a.simple-link:hover,body .hero-actions a.simple-link:focus-visible{color:#fff!important;}
body .symptom-card h3,body .symptom-card h3 a{color:#aeb4bf;}
body .symptom-card:hover h3,body .symptom-card:focus-within h3,body .symptom-card:hover h3 a,body .symptom-card:focus-within h3 a{color:#fff;}
body .all-problems{color:#aeb4bf;}body .all-problems:hover{color:#fff;}
/* Графитовый блок (владелец 12.09.2026): ссылка в покое — цвет абзаца, при наведении — цвет заголовка блока (--red-light). */
html.outcomes-graphite .pilot-outcomes article .text-link{color:#e9e8de;}html.outcomes-graphite .pilot-outcomes article .text-link:hover,html.outcomes-graphite .pilot-outcomes article .text-link:focus-visible{color:var(--red-light)!important;}
/* Списки оборудования и проблем (владелец, 12.09.2026): стрелка сразу за названием и крупнее (1,25em, было 16 px у правого края); при наведении название белое, счёт и стрелка --red-light — как строка-источник в плитках HERO. */
body :is(#trials,#problems) .equipment-directory-links>a.unified-action{grid-template-columns:max-content 1.25em;column-gap:8px;}
body :is(#trials,#problems) .equipment-directory-links .unified-link-arrow,body :is(#trials,#problems) .equipment-directory-links .link-arrow{width:1.25em;height:1.25em;min-width:1.25em;color:inherit;}
body :is(#trials,#problems) .equipment-directory-links>a:hover .unified-link-arrow,body :is(#trials,#problems) .equipment-directory-links>a:hover .link-arrow,body :is(#trials,#problems) .equipment-directory-links>a:hover .directory-count,body :is(#trials,#problems) .equipment-directory-links>a:focus-visible .directory-count{color:var(--red-light)!important;}
/* Секция «Методики и документы» (владелец 12.09.2026: «вялая»): у каждого пункта строка-факт (что внутри и сколько), стрелка сразу за названием, справа — тот же паттерн, что в футере и в шапке каталога. */
section.methods{position:relative;overflow:hidden;}
section.methods .methods-layout{position:relative;z-index:1;}
body .method-links>a.unified-action,body .method-links>a{display:grid;grid-template-columns:max-content 1.25em;grid-template-areas:"t a" "d d";column-gap:8px;row-gap:6px;align-items:center;}
body .method-links>a .ml-t{grid-area:t;}
body .method-links>a>span[aria-hidden]{grid-area:a;display:inline-flex;}
body .method-links>a .ml-d{grid-area:d;font-size:15px;font-weight:400;line-height:1.5;letter-spacing:0;color:#56616a;}
body .method-links .link-arrow,body .method-links .unified-link-arrow{width:1.25em;height:1.25em;min-width:1.25em;}
html.footer-light .method-links>a:hover .ml-d{color:var(--red-ui);}
/* Секция методик: вместо паттерна — иллюстрация по теме (M_DOCS: журнал с чертежами, штангенциркуль, деталь) под подводкой слева, с белой мягкой поддувкой как у иллюстраций пилота (владелец, 12.09.2026). */
.methods-art{position:relative;margin:36px 0 0;max-width:504px;}
.methods-art::before{content:'';position:absolute;inset:8% -6% 4%;background:radial-gradient(closest-side,#fff 0%,rgba(255,255,255,.6) 45%,transparent 100%);z-index:0;}
.methods-art img{position:relative;z-index:1;display:block;width:100%;height:auto;}
@media(max-width:700px){.methods-art{max-width:100%;margin-top:24px;}}
/* Секция методик (владелец, 12.09.2026, вечер-7): колонки выровнены по горизонтальной оси — список пунктов стоит по центру левой колонки (заголовок, подводка, иллюстрация); на телефоне колонка одна, правило не действует. */
@media(min-width:701px){section.methods .methods-layout{align-items:center;}}
/* Показание на дисплее прибора (12.09.2026, проба на виброметре): цифры в слое стёрты сборкой build_layers.py, поверх — семисегментный SVG в той же рамке, что слой прибора, с тем же ростом при наведении; после увеличения показание бежит 4,2 → 3,6 (app.js). Положение рамки и дисплея — в блоке layers:auto. */
.symptom-card .problem-layered-scene .lcd-readout{position:absolute;z-index:3;pointer-events:none;transition:transform .75s cubic-bezier(.22,.61,.36,1)}
.symptom-card .problem-layered-scene .lcd-readout svg{position:absolute;display:block;overflow:visible;transform:translateX(-1.5px) rotate(7deg) skewX(-9.5deg);transform-origin:50% 50%}
.symptom-card .problem-layered-scene .lcd-readout .seg{fill:#262c2f;opacity:.04;transition:opacity .09s linear}
/* Токовые клещи (12.09.2026): дисплей повёрнут против часовой, показание целое 22 → 18 шагом 1 каждые 200 мс. */
.symptom-card .problem-layered-scene .lcd-readout[data-layer="power-part2"] svg{transform:rotate(9deg) skewX(-10deg)}
.symptom-card .problem-layered-scene .lcd-readout[data-layer="power-part2"] .seg{fill:#183846}
/* Цифровой компрессометр (12.09.2026, рендер с голубым экраном): экран фронтальный, сегменты тёмно-синие #18347C, выключенные 6 %. */
.symptom-card .problem-layered-scene .lcd-readout[data-layer="compression-part2"] svg{transform:skewX(-5deg)}
.symptom-card .problem-layered-scene .lcd-readout[data-layer="compression-part2"] .seg{fill:#18347c;opacity:.06}
.symptom-card .problem-layered-scene .lcd-readout[data-layer="compression-part2"] .seg.on{opacity:.95}
.symptom-card .problem-layered-scene .lcd-readout .seg.on{opacity:.82}
@media(hover:hover){.symptom-card:hover .problem-layered-scene .lcd-readout{transform:scale(1.07)}}
.symptom-card:focus-within .problem-layered-scene .lcd-readout{transform:scale(1.07)}
@media(prefers-reduced-motion:reduce){.symptom-card .problem-layered-scene .lcd-readout{transition:none!important;transform:none!important}}

@media(prefers-reduced-motion:reduce){.symptom-card .problem-layered-scene img[src*="vibration-part1-"]{animation:none!important}}


/* Электродвигатель на карточке тока: побежалость по силуэту слоя (маска — файл слоя), радиальный градиент цветов отпуска от торца вала (--heat-x/--heat-y). В покое выключена (opacity 0), силу --heat 0,4 по сценарию ставит app.js: нарастает плавно за --heat-rise 2,2 с, держится до --t-run, гаснет к --t-calm; растёт вместе со слоем при наведении. */
.symptom-card .problem-layered-scene .heat-glow{position:absolute;z-index:1;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background:radial-gradient(ellipse 70% 62% at var(--heat-x,82%) var(--heat-y,52%),#f6c85a 0%,#d98a2b 16%,#a0522d 30%,#7b3f9a 46%,#2f6fb5 62%,#2f6fb500 82%);mix-blend-mode:overlay;--heat:.4;--heat-rise:2.2s;opacity:0;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.symptom-card:hover .problem-layered-scene .heat-glow{transform:scale(1.02)}}
.symptom-card:focus-within .problem-layered-scene .heat-glow{transform:scale(1.02)}
/* Единый сценарий карточек «Проблемы» (владелец 12.09.2026): наводим — оборудование запускается и работает с нагрузкой, потом нормализуется и остаётся в работе, пока наведено. Ниже — на примере дизель-генератора и расходомера; двигатель (дрожь + побежалость), редуктор (дрожь) и показания приборов идут по тем же моментам --t-start/--t-run/--t-calm со слоя .problem-machine.
   В покое генератор заглушен: без дрожи и дыма, стрелка на --a0 (владелец 12.09, уточнение сценария). При наведении/фокусе: 0–0,3 с двигатель заводится (дрожь растёт до --gen-work), 0–0,4 с появляется дым и коптит; с 3,2 с (владелец: вдвое дольше) стрелка уходит на --dial-drop за 3 с (владелец: медленнее), дым гаснет к 4,8 с, дрожь снижается до --gen-idle и остаётся, пока наведено. При уходе всё выключается: дым за 0,4 с, стрелка возвращается за 3 с без задержки, дрожь сразу.
   Огибающие ведёт app.js (запрос кадра, 6 с): он ставит --gen-amp (амплитуда дрожи) и прозрачность дыма по времени — без @property, которое поддерживают не все браузеры; сама дрожь gen-hum читает --gen-amp. Рамки и координаты — в блоке layers:auto. Дым не обрезается: у ссылки карточки со слоями overflow:visible (в style.css у неё overflow:hidden под прежнюю одиночную картинку). */
.symptom-image-link:has(.problem-layered-scene){overflow:visible}
.symptom-card .problem-layered-scene .dial-needle{position:absolute;z-index:2;pointer-events:none;transition:transform .75s cubic-bezier(.22,.61,.36,1)}
.symptom-card .problem-layered-scene .dial-needle i{position:absolute;left:var(--px);top:calc(var(--py) - var(--nw) / 2);width:var(--len);height:var(--nw);transform-origin:0 50%;rotate:var(--a0);background:linear-gradient(180deg,#d9484a,#b8282c 55%,#8f1c20);clip-path:polygon(0 8%,100% 36%,100% 64%,0 92%);transition:rotate 3s cubic-bezier(.22,.61,.36,1)}
.symptom-card .problem-layered-scene .dial-needle .dial-hub{position:absolute;left:calc(var(--px) - var(--hubw) / 2);top:calc(var(--py) - var(--hubh) / 2);width:var(--hubw);height:var(--hubh);border-radius:50%;background:radial-gradient(circle at 45% 40%,#d64a49 0%,#c13032 60%,#a52629 100%)}
@media(hover:hover){.symptom-card:hover .problem-layered-scene .dial-needle{transform:scale(1.07)}.symptom-card:hover .problem-layered-scene .dial-needle i{rotate:calc(var(--a0) - var(--dial-drop));transition-delay:3200ms}}
.symptom-card:focus-within .problem-layered-scene .dial-needle{transform:scale(1.07)}
.symptom-card:focus-within .problem-layered-scene .dial-needle i{rotate:calc(var(--a0) - var(--dial-drop));transition-delay:3200ms}
.symptom-card .problem-layered-scene .smoke{--smoke:.75;--smoke-min:.15;position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}
.symptom-card .problem-layered-scene .smoke i{position:absolute;left:var(--sx);top:var(--sy);width:9%;aspect-ratio:1;margin:-4.5% 0 0 -4.5%;border-radius:50%;background:radial-gradient(circle,#cdd2d8 0%,#aeb6bf99 45%,#aeb6bf00 70%);opacity:0}
@media(hover:hover){.symptom-card:hover .problem-layered-scene .smoke i{animation:smoke-rise 1.8s linear infinite}.symptom-card:hover .problem-layered-scene .smoke i:nth-child(2){animation-delay:.6s}.symptom-card:hover .problem-layered-scene .smoke i:nth-child(3){animation-delay:1.2s}}
.symptom-card:focus-within .problem-layered-scene .smoke i{animation:smoke-rise 1.8s linear infinite}
.symptom-card:focus-within .problem-layered-scene .smoke i:nth-child(2){animation-delay:.6s}
.symptom-card:focus-within .problem-layered-scene .smoke i:nth-child(3){animation-delay:1.2s}
@keyframes smoke-rise{0%{translate:0 0;scale:.35;opacity:0}12%{opacity:.72}100%{translate:150% -70%;scale:2;opacity:0}}
.symptom-card .problem-layered-scene .problem-machine{--gen-work:.5px;--gen-idle:.2px;--gen-amp:0px;--t-start:.3s;--t-run:3.2s;--t-calm:4.8s}
/* Редуктор (владелец 12.09.2026): вначале трясётся сильнее остальных. */
.symptom-card .problem-layered-scene .problem-machine[src*="vibration-part1-"]{--gen-work:1.2px}
@keyframes gen-hum{0%{translate:0 0}25%{translate:calc(var(--gen-amp) * .8) calc(var(--gen-amp) * -1)}50%{translate:calc(var(--gen-amp) * -.6) calc(var(--gen-amp) * .7)}75%{translate:calc(var(--gen-amp) * .5) calc(var(--gen-amp) * .9)}100%{translate:0 0}}
@media(hover:hover){.symptom-card:hover .problem-layered-scene .problem-machine{animation:gen-hum .16s linear infinite}}
.symptom-card:focus-within .problem-layered-scene .problem-machine{animation:gen-hum .16s linear infinite}
@media(prefers-reduced-motion:reduce){.symptom-card .problem-layered-scene .problem-machine,.symptom-card .problem-layered-scene .smoke,.symptom-card .problem-layered-scene .smoke i,.symptom-card .problem-layered-scene .heat-glow{animation:none!important;transition:none!important}.symptom-card .problem-layered-scene .smoke{display:none}.symptom-card .problem-layered-scene .dial-needle i{transition:none!important}}

/* Карточка компрессии (владелец 12.09.2026). След пера на самописце снят 12.09 — прибор заменяется цифровым (ждём рендер), показание пойдёт через .lcd-readout. 1) .haze — туман картерных газов: три сизых пятна в рамке слоя двигателя с выходом за контур; всё движение ведёт app.js: у каждого пятна случайные задержка появления (0–1,4 с), длительность нарастания (1,6–2,6 с) и сдвиг рассеивания, дрейф к случайным целям с плавным ходом и лёгким дыханием масштаба (владелец 12.09: появляться по-своему, дрейфовать случайно). Сила --haze 0,55. 2) Рваная дрожь: --gen-rough 1 на слое двигателя — в рабочей фазе пропуски, удвоенные толчки и подёргивания --gen-kick 5 (app.js), после нормализации ровная остаточная. */
.symptom-card .problem-layered-scene .haze{--haze:.55;--haze-rise:2s;position:absolute;z-index:1;pointer-events:none;opacity:0;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
/* Пятна: градиент до ближней стороны рамки — гаснет ровно на краю, без жёсткого перехода (владелец 12.09); плюс размытие 5 px. */
.symptom-card .problem-layered-scene .haze i{position:absolute;border-radius:50%;background:radial-gradient(closest-side,#a8bccfd9 0%,#93a8bdb0 30%,#8fa3b860 60%,#8fa3b800 100%);filter:blur(5px)}
.symptom-card .problem-layered-scene .haze i:nth-child(1){left:-10%;top:-12%;width:78%;aspect-ratio:1.25}
.symptom-card .problem-layered-scene .haze i:nth-child(2){left:32%;top:-20%;width:82%;aspect-ratio:1.25}
.symptom-card .problem-layered-scene .haze i:nth-child(3){left:8%;top:30%;width:74%;aspect-ratio:1.25}
@media(hover:hover){.symptom-card:hover .problem-layered-scene .haze{transform:scale(1.02)}}
.symptom-card:focus-within .problem-layered-scene .haze{transform:scale(1.02)}
.symptom-card .problem-layered-scene .problem-machine[src*="compression-part1-"]{--gen-rough:1;--gen-kick:5}
@media(prefers-reduced-motion:reduce){.symptom-card .problem-layered-scene .haze{display:none}.symptom-card .problem-layered-scene .haze i{animation:none!important}}
/* Стрелка источника результата — по центру ПОСЛЕДНЕЙ строки надписи (владелец, 14.09.2026, правило стрелок):
   подпись «15 из 19 кейсов по дизелям — с прямым замером · документы» переносится на две строки, а стрелка
   стояла по центру блока между ними (check_arrow_center.py: −10,5 px). Стрелка 1em — к нижней строке, отступ (1lh − 1em)/2. */
body .result-stat .result-source{align-items:flex-end;}
body .result-stat .result-source .link-arrow{margin-bottom:calc((1lh - 1em) / 2);}
/* Зазор текст → стрелка на титуле — .35em, как на внутренних страницах (владелец, 14.09.2026: «разные по расстоянию»).
   Пробелы перед стрелками сняты в index.html и app.js; отступ задают только эти правила. */
body a:is(.text-link,.simple-link,.pilot-terms) svg.link-arrow,body .result-stat .result-source svg.link-arrow,body a svg.link-arrow{margin-left:.35em;}
body :is(.method-links,.equipment-directory-links) a svg.link-arrow{margin-left:0;}
