/* ============================================================
   procexpert.ru — «Цех точности»
   Палитра: чертёжная бумага, графит станины, воронёная сталь,
   окисленная латунь (единственный тёплый акцент), киноварь (<1%).
   ============================================================ */

/* ---------- Шрифты (локальные, вариативные) ---------- */
@font-face{
  font-family:'Onest';
  src:url('../fonts/onest-var-cyrillic.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Onest';
  src:url('../fonts/onest-var-latin.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  src:url('../fonts/golostext-var-cyrillic.woff2') format('woff2');
  font-weight:400 700;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text';
  src:url('../fonts/golostext-var-latin.woff2') format('woff2');
  font-weight:400 700;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'JetBrains Mono';
  src:url('../fonts/jetbrainsmono-var-cyrillic.woff2') format('woff2');
  font-weight:100 800;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'JetBrains Mono';
  src:url('../fonts/jetbrainsmono-var-latin.woff2') format('woff2');
  font-weight:100 800;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ---------- Токены ---------- */
:root{
  --paper:#E9E7E0;          /* чертёжная бумага в дневном свете */
  --paper-dim:#DFDDD5;
  --graphite:#262B29;       /* графит станины */
  --graphite-deep:#202523;
  --steel:#4E5852;          /* воронёная сталь: линии, вторичный текст */
  --steel-line:#8B948E;     /* линии-разделители на бумаге */
  --steel-line-dark:#414A45;/* линии на графите */
  --brass:#A98B4F;          /* окисленная латунь: акцент, линия процесса */
  --brass-bright:#C9A566;   /* латунь на тёмном */
  --brass-text:#77602F;     /* латунь как текст на бумаге (контраст ≥4.5) */
  --vermilion:#A8422C;      /* киноварь: только «здесь потеря» */
  --vermilion-bright:#D06A4F;
  --ink:#242826;            /* основной текст на бумаге */
  --ink-soft:#4A514D;       /* вторичный текст на бумаге */
  --light:#EDEBE4;          /* текст на графите */
  --light-soft:#B9BDB7;     /* вторичный текст на графите */
  --font-display:'Onest','Golos Text',system-ui,sans-serif;
  --font-body:'Golos Text',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'Cascadia Mono',monospace;
  --ease-set:cubic-bezier(0.16,1,0.3,1);
  --wrap:1240px;
}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth}
body{
  margin:0;overflow-x:hidden;overflow-x:clip;
  background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-size:18px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--graphite);color:var(--light);padding:10px 16px;font-family:var(--font-mono);font-size:13px;text-decoration:none}
.skip-link:focus{left:8px;top:8px}

.mono{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* Поле слева под линию процесса */
@media (min-width:1024px){ body{padding-left:96px} .site-header{padding-left:96px} }
@media (min-width:768px) and (max-width:1023px){ body{padding-left:56px} .site-header{padding-left:56px} }

/* ---------- Типографика ---------- */
.h1{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(2.25rem,6.5vw,5.5rem);line-height:1.04;letter-spacing:-0.02em;
}
.h2{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.75rem,4vw,3.25rem);line-height:1.1;letter-spacing:-0.015em;
  max-width:20ch;
}
h3{font-family:var(--font-display);font-weight:600;font-size:1.25rem;line-height:1.3}
.kicker{color:var(--steel);margin-bottom:20px}
.kicker--brass{color:var(--brass-bright)}
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:var(--ink-soft);max-width:62ch;margin-top:28px}
.section--dark .lead{color:var(--light-soft)}

/* ---------- Сплиттинг заголовков (scrub) ---------- */
[data-split] .w{display:inline-block}
[data-split] .c{display:inline-block}
html.js [data-split="scatter"] .c{
  --kc:clamp(0,(var(--k,1) - var(--th,0)) * 2.6,1);
  opacity:var(--kc);
  transform:translate(calc((1 - var(--kc)) * var(--jx,0px)),calc((1 - var(--kc)) * var(--jy,0px)))
            rotate(calc((1 - var(--kc)) * var(--jr,0deg)));
}
html.js [data-split="words"] .w{
  --kc:clamp(0,(var(--k,1) - var(--th,0)) * 2.8,1);
  opacity:var(--kc);
  transform:translateY(calc((1 - var(--kc)) * 18px));
}
@media (prefers-reduced-motion:reduce){
  html.js [data-split] .c,html.js [data-split] .w{opacity:1 !important;transform:none !important}
}

/* ---------- Линия процесса (сигнатурный элемент) ---------- */
.rail{position:fixed;left:40px;top:0;bottom:0;width:16px;z-index:60;pointer-events:none}
.rail::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--steel-line)}
.rail-track{
  position:absolute;left:1px;top:0;bottom:0;width:5px;opacity:.55;
  background:repeating-linear-gradient(to bottom,var(--steel-line) 0 1px,transparent 1px 8px);
}
.rail-track::after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:9px;
  background:repeating-linear-gradient(to bottom,var(--steel-line) 0 1px,transparent 1px 40px);
}
.rail-progress{
  position:absolute;left:0;top:0;width:2px;height:100%;
  background:var(--brass);transform:scaleY(0);transform-origin:top;
}
.rail-cursor{position:absolute;left:-4px;top:0;will-change:transform}
.rail-cursor::before{
  content:'';display:block;width:9px;height:9px;border-radius:50%;
  border:2px solid var(--brass);background:var(--paper);
}
.rail-label{
  position:absolute;left:18px;top:-3px;white-space:nowrap;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--brass-text);
}
.rail-node{
  position:absolute;left:-4px;width:9px;height:9px;border-radius:50%;
  border:2px solid var(--brass);background:transparent;
  transition:background .4s var(--ease-set);
}
.rail-node.done{background:var(--brass)}
@media (max-width:1023px){ .rail{left:22px} .rail-label{display:none} }
@media (max-width:767px){
  .rail{left:8px;width:8px}
  .rail-track,.rail-track::after{display:none}
}

/* ---------- Шапка ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;gap:28px;
  padding:14px 24px;
  background:rgba(233,231,224,.88);
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid color-mix(in srgb,var(--steel-line) 45%,transparent);
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{color:var(--brass)}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-0.01em}
.site-nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.site-nav a{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--steel);text-decoration:none;padding:4px 0;
}
.site-nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--brass)}
.btn-header{white-space:nowrap}
@media (max-width:1180px){ .site-nav{display:none} .btn-header{margin-left:auto} }

/* ---------- Кнопки ---------- */
.btn{
  position:relative;display:inline-block;
  font-family:var(--font-display);font-weight:600;font-size:1rem;
  padding:14px 28px;border:none;border-radius:2px;
  background:var(--graphite);color:var(--paper);
  text-decoration:none;text-align:center;
  transition:transform .3s var(--ease-set);
}
.btn::after{ /* латунная рамка-допуск, выезжает при наведении */
  content:'';position:absolute;inset:0;border:1px solid var(--brass);border-radius:2px;
  opacity:0;transform:translate(0,0);transition:transform .3s var(--ease-set),opacity .3s var(--ease-set);
  pointer-events:none;
}
.btn:hover::after,.btn:focus-visible::after{opacity:1;transform:translate(4px,4px)}
.btn-lg{padding:18px 36px;font-size:1.1rem}
.btn-header{padding:10px 18px;font-size:.9rem}
.section--dark .btn-primary{background:var(--paper);color:var(--graphite)}
.section--dark .btn-primary::after{border-color:var(--brass-bright)}
.btn-note{display:block;margin-top:10px;color:var(--steel)}
@media (pointer:coarse){ .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center} }

/* ---------- Секции: общее ---------- */
.section{position:relative;padding:110px 0;scroll-margin-top:64px}
.section--paper{background:var(--paper)}
.section--paper:nth-of-type(even){background:var(--paper)}
.section--dark{background:var(--graphite);color:var(--light)}
.section--dark .kicker{color:var(--light-soft)}
.section--dark .kicker--brass{color:var(--brass-bright)}
.section-cta{margin-top:48px}
.section-figure{margin-top:56px}
.section-figure img{width:100%;border:1px solid var(--steel-line)}
.section--dark .section-figure img{border-color:var(--steel-line-dark)}
.section-figure figcaption{margin-top:10px;color:var(--steel);font-size:11px}
.section--dark .section-figure figcaption{color:var(--light-soft)}
#services,#process,#expert,#industries,#faq{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* Карточки: без скруглений и теней, номер позиции как на сборочном чертеже */
.card{position:relative;border-top:1px solid var(--steel-line);padding:24px 0 8px}
.card-num{display:block;color:var(--brass-text);margin-bottom:14px}
.section--dark .card-num{color:var(--brass-bright)}
.card h3{margin-bottom:10px}
.card p{color:var(--ink-soft)}
.section--dark .card p{color:var(--light-soft)}

/* Появление карточек: только при JS, transform+opacity, stagger 80мс */
html.js .stagger>*{opacity:0;transform:translateY(16px);
  transition:opacity .5s var(--ease-set),transform .5s var(--ease-set)}
html.js .stagger.in>*{opacity:1;transform:none}
html.js .stagger.in>*:nth-child(2){transition-delay:.08s}
html.js .stagger.in>*:nth-child(3){transition-delay:.16s}
html.js .stagger.in>*:nth-child(4){transition-delay:.24s}
html.js .stagger.in>*:nth-child(5){transition-delay:.32s}
html.js .stagger.in.settled>*:nth-child(n){transition-delay:0s}
@media (prefers-reduced-motion:reduce){
  html.js .stagger>*{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ---------- 01. Hero ---------- */
.hero{position:relative;min-height:100svh;background:var(--graphite)}
html.js .hero.scrub{height:300vh}
.hero-stage{position:sticky;top:0;height:100svh;overflow:hidden}
html.no-js-static .hero-stage,.hero:not(.scrub) .hero-stage{position:relative}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover;will-change:transform,opacity}
.hero-img--first{opacity:0;z-index:1}
.hero-img--last{opacity:1;z-index:2}
.hero.scrub .hero-img--first{opacity:1}
.hero.scrub .hero-img--last{opacity:0}
@media (max-width:767px){ .hero-img--first{display:none} }
.hero-scrim{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 38% 60%,rgba(24,28,26,0) 30%,rgba(24,28,26,.55) 100%);
}
.hero-copy{
  position:absolute;z-index:4;left:0;right:0;bottom:0;
  padding:0 24px clamp(48px,9vh,110px);
  max-width:calc(var(--wrap) + 48px);margin:0 auto;
  color:var(--light);
  text-shadow:0 1px 2px rgba(16,20,18,.9),0 3px 12px rgba(16,20,18,.6);
}
@media (min-width:1024px){ .hero-copy{padding-left:48px} }
.hero-copy .kicker{color:var(--brass-bright)}
.hero-sub{max-width:56ch;margin-top:24px;font-size:clamp(1rem,1.5vw,1.2rem);color:var(--light);line-height:1.6}
.hero-cta{margin-top:36px}
.hero-cta .btn{text-shadow:none}
.hero-cue{
  position:absolute;z-index:4;right:28px;bottom:24px;color:var(--light-soft);font-size:11px;
  opacity:0;transition:opacity .6s var(--ease-set);
}
html.js .hero.scrub .hero-cue{opacity:.85}
@media (max-width:767px){ .hero-cue{display:none} }
@media (prefers-reduced-motion:reduce){
  html.js .hero.scrub{height:auto}
  .hero-img--first{display:none}
  .hero.scrub .hero-img--last{opacity:1}
  .hero-cue{display:none}
}

/* ---------- 02. Симптомы ---------- */
.symptoms-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px;margin-top:56px;
}
/* линия рвётся на каждой карточке: разрывы между сегментами */
.symptom{border-top:1px solid var(--brass)}
.symptom::before{
  content:'';position:absolute;top:-1px;right:-16px;width:16px;height:1px;background:transparent;
}
@media (max-width:1023px){ .symptoms-grid{grid-template-columns:repeat(2,1fr);gap:24px 24px} }
@media (max-width:600px){ .symptoms-grid{grid-template-columns:1fr} }

/* ---------- 03. Сдвиг ---------- */
.section--shift{padding-bottom:140px}
.shift-text{
  margin-top:36px;max-width:66ch;
  font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.55;
}
.shift-text p+p{margin-top:20px}
.scale-demo{margin-top:72px}
.scale-row{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:16px}
.scale-row+.scale-row{margin-top:40px}
.scale-tag{color:var(--steel);font-size:11px}
.scale-track{position:relative;height:26px;border-bottom:1px solid var(--steel-line)}
.seg{position:absolute;top:6px;height:14px;will-change:transform}
html.js #scaleWas .seg{transform:translateX(calc(var(--k,0) * var(--dxpx,0px)))}
.seg-work{background:var(--brass)}
.seg-wait{background:var(--paper-dim);border:1px solid var(--steel-line);border-bottom:none;transform-origin:left center}
html.js #scaleWas .seg-wait{transform:translateX(calc(var(--k,0) * var(--dxpx,0px))) scaleX(calc(1 - var(--k,0)))}
html.js #scaleWas .seg-label{opacity:clamp(0,calc(1 - var(--k,0) * 1.5),1)}
@media (prefers-reduced-motion:reduce){
  html.js #scaleWas .seg{transform:none !important}
  html.js #scaleWas .seg-label{opacity:1 !important}
}
.seg-wait .seg-label{
  position:absolute;top:-22px;left:4px;white-space:nowrap;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--vermilion);
}
.scale-row--now .seg-work{box-shadow:none}
@media (max-width:767px){
  .scale-row{grid-template-columns:1fr;gap:8px}
  .seg-wait .seg-label{font-size:9px}
}

/* ---------- 04. Кейс ---------- */
.case-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}
.case-col{border-top:1px solid var(--steel-line-dark);padding-top:20px}
.case-col-title{color:var(--brass-bright);margin-bottom:16px;display:block}
.case-col ul{display:grid;gap:12px}
.case-col li{color:var(--light-soft);padding-left:18px;position:relative}
.case-col li::before{content:'';position:absolute;left:0;top:.65em;width:8px;height:1px;background:var(--brass)}
.case-col li strong{color:var(--light);font-weight:600}
@media (max-width:900px){ .case-cols{grid-template-columns:1fr;gap:28px} }
.case-plate{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  margin-top:64px;padding:40px 32px;
  border:1px solid var(--steel-line-dark);
}
.plate-num{
  display:block;font-family:var(--font-display);font-weight:800;
  font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-0.02em;color:var(--brass-bright);
}
.plate-num--vermilion{color:var(--vermilion-bright)}
.plate-cap{display:block;margin-top:8px;color:var(--light-soft);font-size:11px}
@media (max-width:700px){ .case-plate{grid-template-columns:1fr;gap:28px;text-align:left} }

/* ---------- 05. Пять узлов ---------- */
.services-list{margin-top:56px;display:grid;gap:0}
.service{
  display:grid;grid-template-columns:56px 300px 1fr;gap:32px;align-items:center;
  padding:32px 0;border-top:1px solid var(--steel-line);
}
.service:last-child{border-bottom:1px solid var(--steel-line)}
.service .card-num{margin:0;font-size:15px}
.service-media img{border:1px solid var(--steel-line);aspect-ratio:3/2;object-fit:cover}
.service-body h3{font-size:1.4rem;margin-bottom:12px}
.service-if,.service-result{color:var(--ink-soft);margin-top:6px}
.service-if .mono,.service-result .mono{color:var(--brass-text);font-size:11px;margin-right:6px}
@media (max-width:900px){
  .service{grid-template-columns:1fr;gap:18px}
  .service-media{order:-1}
  .service-media img{width:100%}
}

/* ---------- 06. Интерактив ---------- */
.section--calc{overflow:hidden}
.calc-bg{position:absolute;inset:0;z-index:0}
.calc-bg img{width:100%;height:100%;object-fit:cover}
.calc-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(32,37,35,.9) 0%,rgba(32,37,35,.72) 55%,rgba(32,37,35,.86) 100%);
}
.section--calc .wrap{position:relative;z-index:1}
.calc{margin-top:48px;max-width:880px}
.calc-step{border:none;margin:0 0 36px;padding:0}
.calc-legend{color:var(--brass-bright);margin-bottom:18px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{
  padding:12px 18px;border:1px solid var(--steel-line-dark);border-radius:2px;
  background:rgba(38,43,41,.72);color:var(--light);
  font-family:var(--font-body);font-size:.95rem;
  transition:border-color .3s var(--ease-set),color .3s var(--ease-set);
  min-height:44px;
}
.chip:hover{border-color:var(--brass-bright)}
.chip[aria-pressed="true"]{border-color:var(--brass-bright);color:var(--brass-bright)}
.slider-row{margin-top:22px}
.slider-row label{display:block;color:var(--light);margin-bottom:12px}
.slider-line{display:flex;align-items:center;gap:14px}
.step-btn{
  width:44px;height:44px;flex:none;border:1px solid var(--steel-line-dark);border-radius:2px;
  background:rgba(38,43,41,.72);color:var(--light);font-size:20px;line-height:1;
}
.step-btn:hover{border-color:var(--brass-bright)}
.slider-line output{min-width:96px;text-align:right;color:var(--brass-bright);font-size:14px}
input[type="range"]{
  flex:1;appearance:none;-webkit-appearance:none;height:26px;background:transparent;min-width:0;
}
input[type="range"]::-webkit-slider-runnable-track{
  height:2px;background:var(--steel-line-dark);
  background-image:repeating-linear-gradient(to right,var(--light-soft) 0 1px,transparent 1px 10px);
}
input[type="range"]::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;width:18px;height:26px;margin-top:-12px;
  background:var(--brass-bright);border:none;border-radius:2px;cursor:grab;
}
input[type="range"]::-moz-range-track{height:2px;background:var(--steel-line-dark)}
input[type="range"]::-moz-range-thumb{width:18px;height:26px;background:var(--brass-bright);border:none;border-radius:2px;cursor:grab}
.calc-result{margin-top:40px;border-top:1px solid var(--steel-line-dark);padding-top:28px}
.calc-scale-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:12px;margin-bottom:10px}
.calc-scale-tag{color:var(--light-soft);font-size:10px}
.calc-bar{height:12px;background:var(--vermilion);transform-origin:left center;transform:scaleX(1);
  transition:transform .45s var(--ease-set);will-change:transform}
.calc-bar--now{background:var(--brass-bright)}
.calc-verdict{margin-top:20px;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;max-width:56ch}
.calc-note{margin-top:12px;color:var(--light-soft);font-size:11px;text-transform:none;letter-spacing:.04em}
@media (max-width:600px){
  .slider-line{flex-wrap:wrap}
  .slider-line output{order:-1;width:100%;text-align:left;min-width:0}
  input[type="range"]{order:2;flex:1 1 100%}
}

/* ---------- 07. Как работаем ---------- */
.steps{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;counter-reset:step}
.step{border-top:none;padding-top:0}
.step-line{display:block;height:1px;background:var(--brass);margin-bottom:22px;position:relative}
.step-line::after{
  content:'';position:absolute;right:-2px;top:-3px;width:7px;height:7px;border-radius:50%;
  border:1px solid var(--brass);background:var(--paper);
}
@media (max-width:1023px){ .steps{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .steps{grid-template-columns:1fr} }
.guarantee{
  margin-top:64px;border:1px solid var(--brass);padding:36px 40px;max-width:760px;
}
.guarantee-main{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.4;
}
.guarantee-sub{margin-top:12px;color:var(--ink-soft)}

/* ---------- 08. Эксперт ---------- */
.expert-grid{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:64px;align-items:start}
@media (max-width:900px){ .expert-grid{grid-template-columns:1fr;gap:40px} .expert-photo{max-width:320px} }
.stamp-frame{border:1px solid var(--steel);padding:20px;margin:0}
.stamp-silhouette{display:block;width:100%;height:auto;color:var(--steel-line)}
.stamp-frame figcaption{margin-top:18px;display:grid;gap:6px}
.stamp-note{color:var(--steel);font-size:11px}
.stamp-name{font-family:var(--font-display);font-weight:600;font-size:1.1rem}
.stamp-role{color:var(--brass-text);font-size:11px}
.expert-text{margin-top:32px;max-width:60ch;display:grid;gap:18px;font-size:1.05rem}
.facts{margin-top:36px;display:flex;flex-wrap:wrap;gap:10px}
.facts li{
  border:1px solid var(--steel-line);padding:8px 14px;
  font-size:12px;color:var(--steel);
}
.facts-note{margin-top:14px;color:var(--steel);font-size:10px}

/* ---------- 09. Отрасли ---------- */
.industries{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px 40px}
.industry--criteria{border-top:1px solid var(--brass)}
.industry--criteria h3{color:var(--brass-text)}
@media (min-width:1024px){ .industries{grid-template-columns:repeat(2,1fr)} .industry--criteria{grid-column:1 / -1;max-width:640px} }
@media (max-width:600px){ .industries{grid-template-columns:1fr} }

/* ---------- 10. FAQ ---------- */
.faq-list{margin-top:56px;max-width:860px}
.faq-item{border-top:1px solid var(--steel-line)}
.faq-item:last-child{border-bottom:1px solid var(--steel-line)}
.faq-item summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{display:inline;font-size:1.15rem}
.faq-item summary::after{
  content:'';position:absolute;right:6px;top:50%;width:12px;height:12px;
  border-right:1px solid var(--brass);border-bottom:1px solid var(--brass);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease-set);
}
.faq-item[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq-item>p{padding:0 0 24px;max-width:68ch;color:var(--ink-soft)}

/* ---------- 11. Финальный CTA + форма ---------- */
.section--contacts{overflow:hidden}
.contacts-bg::after{
  background:linear-gradient(180deg,rgba(32,37,35,.92) 0%,rgba(32,37,35,.8) 60%,rgba(32,37,35,.92) 100%);
}
.contacts-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media (max-width:900px){ .contacts-grid{grid-template-columns:1fr;gap:48px} }
.alt-channel{margin-top:48px;border-top:1px solid var(--steel-line-dark);padding-top:24px}
.alt-title{color:var(--light-soft)}
.alt-links{margin-top:10px;font-size:1.15rem}
.alt-links a{color:var(--brass-bright);text-decoration-color:color-mix(in srgb,var(--brass-bright) 50%,transparent);text-underline-offset:4px}
.alt-note{margin-top:8px;color:var(--light-soft);font-size:10px;text-transform:none;letter-spacing:.04em}

.lead-form{display:grid;gap:22px}
.form-field label{display:block;color:var(--light-soft);font-size:11px;margin-bottom:8px}
.form-field input[type="text"],.form-field textarea{
  width:100%;padding:13px 14px;border:1px solid var(--steel-line-dark);border-radius:2px;
  background:rgba(38,43,41,.75);color:var(--light);
  font-family:var(--font-body);font-size:1rem;
}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--brass-bright);outline-offset:0;border-color:var(--brass-bright)}
.form-field textarea{resize:vertical;min-height:72px}
.field-error{display:none;margin-top:6px;color:var(--vermilion-bright);font-size:.85rem}
.field-error.show{display:block}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--vermilion-bright)}
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.form-field--consent{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}
.form-field--consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--brass)}
.form-field--consent label{font-family:var(--font-body);font-size:.9rem;color:var(--light-soft);
  text-transform:none;letter-spacing:0;line-height:1.5;margin:0}
.form-field--consent label a{color:var(--brass-bright)}
.form-field--consent .field-error{grid-column:2}
.btn-submit{width:100%}
.form-note{color:var(--light-soft);font-size:11px;text-align:center;text-transform:none;letter-spacing:.04em}
.form-status{display:none;padding:14px 16px;border:1px solid var(--steel-line-dark);line-height:1.5}
.form-status.show{display:block}
.form-status.ok{border-color:var(--brass-bright);color:var(--light)}
.form-status.err{border-color:var(--vermilion-bright);color:var(--light)}
.form-success{padding:8px 0}
.form-success h3{font-size:1.5rem;margin-bottom:12px}
.form-success p{color:var(--light-soft)}

/* ---------- 12. Футер ---------- */
.site-footer{background:var(--graphite-deep);color:var(--light-soft);padding:64px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:40px}
@media (max-width:800px){ .footer-grid{grid-template-columns:1fr;gap:32px} }
.footer-brand .brand-name{color:var(--light)}
.footer-tagline{margin-top:12px;font-size:.95rem}
.footer-h{color:var(--brass-bright);font-size:11px;margin-bottom:12px}
.site-footer a{color:var(--light);text-decoration-color:var(--steel);text-underline-offset:4px}
.site-footer a:hover{text-decoration-color:var(--brass-bright)}
.footer-contacts p,.footer-legal p{margin-top:6px}
.footer-req{margin-top:14px;color:var(--steel-line);font-size:10px}
.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid var(--steel-line-dark)}
.footer-bottom p{font-size:11px;color:var(--steel-line)}

/* ---------- 404 ---------- */
.page-404{min-height:100svh;display:grid;place-items:center;background:var(--graphite);color:var(--light);text-align:center;padding:24px}
.page-404 .h1{color:var(--brass-bright)}
.page-404 p{margin-top:20px;color:var(--light-soft)}
.page-404 .btn{margin-top:36px}

/* ---------- Юридические страницы ---------- */
.legal-page{background:var(--paper);padding:140px 0 96px}
.legal-page .wrap{max-width:820px}
.legal-page h1{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.15;letter-spacing:-0.01em}
.legal-page h2{font-family:var(--font-display);font-weight:600;font-size:1.3rem;margin-top:44px}
.legal-page p,.legal-page li{color:var(--ink-soft);margin-top:14px;line-height:1.65}
.legal-page ul{list-style:disc;padding-left:22px}
.legal-page .legal-date{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--steel);margin-top:20px}

/* ---------- Reduced motion: финальные состояния ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .rail-progress{transform:scaleY(1)}
}

/* ---------- Печать ---------- */
@media print{
  .rail,.site-header,.hero-cue{display:none}
  .hero{height:auto}
}
