/* stress-testing.css — уникальные для этой страницы правила.
   Общие правила вынесены в service-shared.css. */

.stress-hero { position:relative; min-height:790px; padding:122px 0 86px; border-bottom:1px solid var(--border); background:linear-gradient(rgba(var(--accent-rgb), .055) 1px,transparent 1px), linear-gradient(90deg,rgba(var(--accent-rgb), .055) 1px,transparent 1px), radial-gradient(circle at 10% 10%,rgba(var(--accent-rgb), .18),transparent 31%), radial-gradient(circle at 82% 24%,rgba(var(--accent-2-rgb), .13),transparent 29%), var(--bg); background-size:64px 64px,64px 64px,auto,auto,auto; }

.stress-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.84fr); gap:clamp(54px,7vw,94px); align-items:center; }

.stress-hero h1 { margin:0 0 22px; font-size:clamp(50px,6.3vw,78px); font-weight:800; line-height:.99; letter-spacing:-.058em; }

.stress-console__flow > div.is-active strong { color:var(--accent); }

.stress-console__log i { display:inline-block; width:5px; height:10px; margin-left:5px; background:var(--accent); animation:stress-cursor 1s steps(2) infinite; }

@keyframes stress-cursor { 50% { opacity: 0; } }

.stress-advantage { --card-accent:var(--accent); position:relative; min-height:310px; padding:25px; overflow:hidden; border:1px solid var(--border); border-radius:21px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--card-accent) 12%,transparent),transparent 34%), var(--surface); transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }

.stress-capability { --card-accent:var(--accent); position:relative; display:grid; grid-template-columns:54px minmax(0,1fr); gap:18px; min-height:184px; padding:22px; overflow:hidden; border:1px solid var(--border); border-radius:19px; background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--card-accent) 12%,transparent),transparent 42%), color-mix(in srgb,var(--surface) 94%,transparent); transition:border-color var(--transition),box-shadow var(--transition); }

.stress-principle { --card-accent:var(--accent); position:relative; min-height:270px; padding:27px; overflow:hidden; border:1px solid var(--border); border-radius:20px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--card-accent) 10%,transparent),transparent 38%), var(--surface); transition:border-color var(--transition),box-shadow var(--transition); }

.stress-consultation { padding:96px 0; background:var(--bg-alt); }

.stress-form .form__textarea { height:104px; min-height:104px; max-height:104px; }

.stress-faq-item { overflow:hidden; border:1px solid var(--border); border-radius:17px; background:var(--surface); transition:border-color var(--transition),background var(--transition); }

.stress-faq-item summary span::before,.stress-faq-item summary span::after { content:''; position:absolute; top:50%; left:50%; width:12px; height:1.5px; border-radius:2px; background:var(--accent); transform:translate(-50%,-50%); transition:transform var(--transition); }

.stress-modal { position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; padding:24px; visibility:hidden; opacity:0; transition:opacity .25s ease,visibility 0s linear .25s; }

.stress-modal--open { visibility:visible; opacity:1; transition:opacity .25s ease; }

.stress-modal__dialog { position:relative; z-index:1; width:100%; max-width:880px; max-height:calc(100vh - 48px); overflow-y:auto; padding:clamp(24px,3.4vw,40px); border:1px solid var(--border); border-radius:24px; outline:none; background:radial-gradient(ellipse 60% 60% at 100% 0%,rgba(var(--accent-rgb), .16),transparent 60%),var(--surface); box-shadow:var(--shadow); opacity:0; transform:translateY(16px) scale(.97); transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .25s ease; }

.stress-hero { min-height:780px; }

.stress-hero__inner { grid-template-columns:minmax(0,1.12fr) minmax(460px,.88fr); gap:clamp(40px,4.5vw,64px); }

.stress-hero h1 { max-width:720px; font-size:clamp(44px,4.15vw,57px); line-height:1.02; letter-spacing:-.052em; }

.stress-hero h1 > span { display:block; }

.stress-console__flowmap { display:grid; grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr); align-items:stretch; margin-bottom:18px; }

.stress-console__node { display:grid; min-width:0; padding:16px 10px; border:1px solid var(--border); border-radius:14px; text-align:center; background:color-mix(in srgb,var(--bg) 77%,transparent); }

.stress-console__node.is-active { border-color:color-mix(in srgb,var(--accent) 58%,var(--border)); background:color-mix(in srgb,var(--accent) 12%,var(--bg)); }

.stress-console__node .stress-icon { width:42px; height:42px; margin:0 auto 13px; border-radius:12px; }

.stress-console__node .stress-icon svg { width:21px; height:21px; }

.stress-console__node small { margin-bottom:6px; color:var(--text-muted); font-size:7px; letter-spacing:.05em; text-transform:uppercase; }

.stress-console__node strong { align-self:start; font-size:10px; line-height:1.35; }

.stress-console__node.is-active strong { color:var(--accent); }

.stress-console__arrow { position:relative; align-self:center; height:1px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }

.stress-console__arrow::after { content:''; position:absolute; top:-3px; right:0; width:7px; height:7px; border-top:1px solid var(--accent-2); border-right:1px solid var(--accent-2); transform:rotate(45deg); }

.stress-console__levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }

.stress-console__levels > span { padding:11px 12px; border:1px solid var(--border); border-radius:11px; background:color-mix(in srgb,var(--bg) 72%,transparent); }

.stress-console__levels small { display:block; margin-bottom:9px; color:var(--text-muted); font-size:8px; }

.stress-console__levels i { display:flex; align-items:flex-end; gap:4px; height:23px; }

.stress-console__levels b { flex:1; height:25%; border-radius:2px 2px 0 0; background:color-mix(in srgb,var(--accent) 68%,var(--border)); }

.stress-console__levels b:nth-child(2) { height:44%; }

.stress-console__levels b:nth-child(3) { height:68%; }

.stress-console__levels b:nth-child(4) { height:92%; }

.stress-console__levels > span:nth-child(1) b:nth-child(n+3) { opacity:.18; }

.stress-console__levels > span:nth-child(2) b:nth-child(4) { opacity:.22; }

.stress-console__levels > span.is-active { border-color:rgba(239,68,68,.5); }

.stress-console__levels > span.is-active b { background:#ef4444; }

.stress-console__chart { position:relative; height:190px; margin:-8px 0 18px; overflow:hidden; border:1px solid var(--border); border-radius:14px; background:linear-gradient(rgba(var(--accent-rgb), .055) 1px,transparent 1px), linear-gradient(90deg,rgba(var(--accent-rgb), .055) 1px,transparent 1px), color-mix(in srgb,var(--bg) 80%,transparent); background-size:32px 32px; }

.stress-console__chart svg { display:block; width:100%; height:100%; overflow:visible; }

.stress-console__chart .stress-console__gridline { fill:none; stroke:color-mix(in srgb,var(--text-muted) 15%,transparent); stroke-width:1; }

.stress-console__chart .stress-console__area { fill:url(#stress-hero-fill); }

.stress-console__chart .stress-console__line { fill:none; stroke:var(--accent-2); stroke-width:3; vector-effect:non-scaling-stroke; }

.stress-console__chart circle { fill:var(--surface); stroke:var(--accent-2); stroke-width:2.5; vector-effect:non-scaling-stroke; }

.stress-console__threshold { position:absolute; top:35px; right:12px; padding:4px 7px; border-radius:5px; color:#f59e0b; background:rgba(245,158,11,.09); font:700 7px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.05em; text-transform:uppercase; }

.stress-scenario { border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:radial-gradient(circle at 75% 45%,rgba(var(--accent-2-rgb), .09),transparent 32%),var(--bg); }

.stress-scenario__layout { display:block; }

.stress-scenario__copy { max-width:1040px; margin:0 auto 50px; text-align:center; }

.stress-scenario__copy h2 { max-width:900px; margin:0 auto 26px; font-size:clamp(36px,4.3vw,54px); line-height:1.08; letter-spacing:-.045em; }

.stress-scenario__copy-body { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; text-align:left; }

.stress-scenario__copy p { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; margin:0; padding:18px; border:1px solid var(--border); border-radius:15px; color:var(--text-muted); background:color-mix(in srgb,var(--surface) 78%,transparent); font-size:13px; line-height:1.62; }

.stress-scenario__copy p b { color:var(--accent); font:800 17px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; }

.stress-loadmap { max-width:1080px; margin:0 auto; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border)); border-radius:22px; background:color-mix(in srgb,var(--surface) 88%,var(--bg)); box-shadow:0 28px 70px rgba(2,8,23,.24); }

.stress-loadmap__head,.stress-loadmap__footer { display:flex; align-items:center; gap:18px; padding:15px 20px; }

.stress-loadmap__head { justify-content:space-between; border-bottom:1px solid var(--border); background:color-mix(in srgb,var(--bg-alt) 86%,var(--surface)); }

.stress-loadmap__head span,.stress-loadmap__footer span { display:inline-flex; align-items:center; gap:8px; color:var(--text-muted); font-size:9px; font-weight:700; }

.stress-loadmap__head i,.stress-loadmap__footer i { width:7px; height:7px; border-radius:50%; background:var(--accent-2); box-shadow:0 0 10px rgba(var(--accent-2-rgb), .65); }

.stress-loadmap__head code { color:color-mix(in srgb,var(--accent) 72%,var(--text-muted)); font-size:8px; }

.stress-loadmap__head .stress-loadmap__limit-label { margin-left:auto; color:#f59e0b; }

.stress-loadmap__head .stress-loadmap__limit-label i { background:#f59e0b; box-shadow:0 0 10px rgba(245,158,11,.55); }

.stress-loadmap__plot { padding:20px 21px 8px; background:linear-gradient(rgba(var(--accent-rgb), .045) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb), .045) 1px,transparent 1px); background-size:42px 42px; }

.stress-loadmap__plot svg { display:block; width:100%; height:auto; overflow:visible; }

.stress-loadmap__grid path { fill:none; stroke:color-mix(in srgb,var(--text-muted) 12%,transparent); stroke-width:1; vector-effect:non-scaling-stroke; }

.stress-loadmap__limit { fill:none; stroke:#f59e0b; stroke-width:1.4; stroke-dasharray:7 7; vector-effect:non-scaling-stroke; }

.stress-loadmap__area { fill:url(#stress-load-fill); }

.stress-loadmap__line { fill:none; stroke:url(#stress-load-line); stroke-width:4; vector-effect:non-scaling-stroke; }

.stress-loadmap__point circle { fill:var(--surface); stroke:var(--accent); stroke-width:3; vector-effect:non-scaling-stroke; }

.stress-loadmap__plot text { fill:var(--text-muted); font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.035em; }

.stress-loadmap__footer { justify-content:space-between; border-top:1px solid var(--border); }

.stress-loadmap__footer span:nth-child(2) i { background:var(--accent); box-shadow:0 0 10px rgba(var(--accent-rgb), .65); }

.stress-loadmap__footer span:nth-child(3) i { background:#ef4444; box-shadow:0 0 10px rgba(239,68,68,.55); }

.stress-stat__top { display:flex; align-items:center; justify-content:space-between; gap:14px; }

.stress-stat__label { max-width:145px; color:var(--text); font-size:11px; font-weight:750; line-height:1.35; letter-spacing:.035em; text-transform:uppercase; }

.stress-stat strong { display:block; margin:32px 0 13px; color:var(--card-accent); font-size:clamp(42px,4vw,58px); line-height:.9; letter-spacing:-.06em; }

.stress-results__layout { display:block; }

.stress-results__intro { max-width:920px; margin:0 auto 54px; text-align:center; }

.stress-results__intro p { max-width:760px; margin:0 auto; color:var(--text-muted); font-size:16px; line-height:1.72; }

.stress-results__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }

.stress-result { --card-accent:var(--accent); position:relative; min-height:300px; padding:24px; overflow:hidden; border:1px solid var(--border); border-radius:20px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--card-accent) 11%,transparent),transparent 40%),var(--surface); transition:border-color var(--transition),box-shadow var(--transition); }

.stress-result h3 { margin:48px 0 12px; font-size:18px; line-height:1.35; letter-spacing:-.025em; }

.stress-consultation { background:var(--bg-alt); }

.stress-form .form__textarea { height:104px; min-height:104px; max-height:104px; }

@media (max-width: 1120px) {
  .stress-hero__inner { grid-template-columns:minmax(0,1fr) minmax(370px,.8fr); gap:42px; }

  .stress-hero__inner { grid-template-columns:minmax(0,1fr) minmax(370px,.78fr); gap:42px; }

  .stress-hero__inner { grid-template-columns:minmax(0,1fr) minmax(390px,.8fr); gap:40px; }

  .stress-results__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

  .stress-result { min-height:255px; }

  .stress-scenario__copy { max-width:780px; }

  .stress-loadmap { max-width:920px; }

}

@media (max-width: 900px) {
  .stress-hero__inner { grid-template-columns:1fr; }

  .stress-hero__inner { grid-template-columns:1fr; }

}

@media (max-width: 680px) {
  .stress-hero h1 { font-size:clamp(42px,13.5vw,58px); }

  .stress-hero h1 { font-size:clamp(38px,10.8vw,46px); letter-spacing:-.05em; }

  .stress-hero h1 > span { overflow-wrap:normal; }

  .stress-scenario__copy h2 { font-size:36px; }

  .stress-scenario__copy { margin-bottom:34px; }

  .stress-scenario__copy-body { grid-template-columns:1fr; }

  .stress-loadmap__head { align-items:flex-start; flex-direction:column; gap:8px; }

  .stress-loadmap__plot { padding:14px 8px 3px; overflow-x:auto; }

  .stress-loadmap__plot svg { width:620px; max-width:none; }

  .stress-loadmap__footer { align-items:flex-start; flex-direction:column; gap:10px; }

}

@media (max-width: 460px) {
  .stress-hero h1 { font-size:clamp(37px,10.6vw,43px); }

  .stress-console__flowmap { grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr); }

  .stress-console__node { padding:13px 5px; }

  .stress-console__node .stress-icon { width:36px; height:36px; margin-bottom:10px; }

  .stress-console__node strong { font-size:8px; }

  .stress-console__levels > span { padding:10px 7px; }

  .stress-console__levels small { font-size:7px; }

}

