/* Faust: страница продукта-терминала. Окна с тонкими рамками, моноширинные подписи, живопись как архив. */
body[data-page="faust"] { --f-line: rgba(236,236,232,.17); --f-bg: rgba(9,4,5,.9); --f-dim: rgba(236,236,232,.58); --f-red: #9E1D2A; --f-red2: #c43a4b; }
body[data-page="faust"] main { position: relative; z-index: 2; }
body[data-page="faust"] section[id] { scroll-margin-top: 110px; }

/* ---------- общие детали ---------- */
.win { position: relative; border: 1px solid var(--f-line); background: var(--f-bg); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); min-width: 0; }
.win-h { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 14px; border-bottom: 1px solid var(--f-line); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; }
.win-h > :first-child::before { content: ''; display: inline-block; width: 7px; height: 7px; background: var(--f-red); margin-right: 10px; transform: translateY(-1px); }
.win-h .dim, .mono.dim { color: var(--f-dim); }
.win h3 { font-family: var(--classic); font-weight: 400; }
.fbtn { display: inline-block; font-family: var(--mono); font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; padding: 15px 24px; border: 1px solid var(--paper); background: var(--paper); color: #060404 !important; cursor: pointer; transition: background .3s, color .3s, border-color .3s; text-align: center; }
.fbtn:hover { background: transparent; color: var(--paper) !important; }
.fbtn.ghost { background: transparent; color: var(--paper) !important; border-color: rgba(236,236,232,.5); }
.fbtn.ghost:hover { background: var(--paper); color: #060404 !important; }
.fbtn.text { background: none; border-color: transparent; color: var(--paper) !important; padding-left: 6px; padding-right: 6px; }
.fbtn.text:hover { background: none; border-color: transparent; color: var(--f-red2) !important; }
.fbtn.wide { display: block; width: 100%; }

/* ---------- первый экран ---------- */
.fh { position: relative; min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 80px); align-items: center; padding: 150px var(--gutter) 90px; background: radial-gradient(60% 70% at 78% 40%, rgba(110,16,28,.2), rgba(6,4,4,0) 70%); }
.fh-brand { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.flogo { width: 54px; height: 54px; color: var(--paper); flex: none; }
.fh-k { font-size: 11px; letter-spacing: .24em; color: var(--f-dim); }
.fh-h { font-family: var(--classic); font-weight: 300 !important; font-size: clamp(4.4rem, 12.5vw, 12.4rem); line-height: .88; letter-spacing: .1em; margin-left: -.04em; overflow: hidden; }
.fh-h span { display: block; }
.fh-lede { font-family: var(--classic); font-weight: 300; font-size: clamp(1.7rem, 3.2vw, 3rem); line-height: 1.08; margin: 26px 0 18px; }
.fh-lede em { font-style: italic; box-shadow: inset 0 -.2em 0 rgba(158,29,42,.7); }
.fh-t { max-width: 34em; color: rgba(236,236,232,.8); }
.fh-cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 30px; }
.fh-meta { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 10.5px; letter-spacing: .14em; color: var(--f-dim); }
.fh-meta li { display: flex; align-items: center; gap: 9px; }
.fh-meta i { width: 7px; height: 7px; background: var(--f-red); }
.fh-meta i.soft { background: transparent; border: 1px solid var(--f-dim); }
.fh-r { position: relative; padding-bottom: 70px; }
.fh-art { margin: 0 0 0 auto; width: min(76%, 500px); position: relative; transform: rotate(1.2deg); box-shadow: 0 30px 80px rgba(0,0,0,.65); }
.fh-art img { display: block; width: 100%; height: auto; filter: contrast(1.06) brightness(.92); }
.fh-art figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 12px 10px; background: linear-gradient(transparent, rgba(0,0,0,.85)); font-size: 10px; letter-spacing: .18em; color: rgba(236,236,232,.8); }
.m-term { position: absolute; left: 0; bottom: 0; width: min(94%, 560px); box-shadow: 0 24px 60px rgba(0,0,0,.6); z-index: 3; }
.m-term .tabs { display: flex; gap: 0; border-bottom: 1px solid var(--f-line); }
.m-term .tab { flex: 1; background: none; border: 0; border-right: 1px solid var(--f-line); color: var(--f-dim); padding: 9px 8px; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; transition: color .3s, background .3s; }
.m-term .tab:last-child { border-right: 0; }
.m-term .tab[aria-selected="true"] { color: var(--paper); background: rgba(236,236,232,.07); box-shadow: inset 0 -2px 0 var(--f-red); }
.chip { border: 1px solid var(--f-line); padding: 3px 8px; font-size: 10px; letter-spacing: .12em; color: var(--f-dim); }
.term-body { padding: 14px 16px 18px; font-family: var(--mono); font-size: 12.5px; line-height: 1.62; min-height: 230px; max-height: 340px; overflow: hidden; }
.term-body .cmd { color: var(--paper); margin-bottom: 8px; word-break: break-word; }
.term-body .cmd::before { content: '› '; color: var(--f-red2); }
.caret { display: inline-block; width: .55em; height: 1.05em; background: var(--paper); vertical-align: text-bottom; margin-left: 2px; animation: fcar 1s steps(2) infinite; }
@keyframes fcar { 50% { opacity: 0; } }
.term-body .out { margin: 6px 0; color: rgba(236,236,232,.9); word-break: break-word; }
.term-body .out.hl { color: #fff; box-shadow: inset 2px 0 0 var(--f-red); padding-left: 10px; }
.term-body .dim { color: var(--f-dim); margin: 6px 0; font-size: 11.5px; }
.bars { display: grid; grid-template-columns: minmax(0, 10.5em) minmax(0, 1fr) 4.4em; gap: 7px 12px; align-items: center; font-size: 11.5px; margin: 8px 0; }
.bars em { font-style: normal; text-align: right; color: var(--f-dim); }
.bt { height: 6px; background: rgba(236,236,232,.12); position: relative; display: block; }
.bt i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--paper); transition: width 1.1s var(--ease); }
.bt i.low { background: var(--f-red2); }

/* ---------- цифры ---------- */
.fstat { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--f-line); border-bottom: 1px solid var(--f-line); background: rgba(6,3,4,.8); margin: 0 var(--gutter); }
.fstat > div { padding: 28px 22px; border-right: 1px solid var(--f-line); }
.fstat > div:last-child { border-right: 0; }
.fstat b { display: block; font-family: var(--classic); font-weight: 300; font-size: clamp(2.4rem, 4.4vw, 4.2rem); line-height: 1; }
.fstat span { display: block; margin-top: 8px; font-size: 10.5px; letter-spacing: .14em; color: var(--f-dim); }

/* ---------- секции ---------- */
.fs { position: relative; padding: clamp(80px, 13vh, 160px) var(--gutter) 0; }
.fs-head { margin-bottom: clamp(30px, 5vh, 56px); }
.fs-k { display: block; font-size: 11px; letter-spacing: .24em; color: var(--f-dim); margin-bottom: 16px; }
.fs h2 { font-family: var(--classic); font-weight: 300 !important; font-size: clamp(2.5rem, 6vw, 6rem); line-height: .96; text-transform: uppercase; max-width: 14em; letter-spacing: .01em; }
.fs-lead { max-width: 42em; margin-top: 20px; color: rgba(236,236,232,.8); }
.fs-foot { margin-top: 26px; max-width: 60em; font-size: 11.5px; letter-spacing: .08em; line-height: 1.7; color: var(--f-dim); text-transform: none; }

.vs2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.vs2 ul { list-style: none; margin: 0; padding: 18px 22px 22px; display: grid; gap: 12px; }
.vs2 li { display: grid; grid-template-columns: 1.4em 1fr; font-size: 15.5px; line-height: 1.45; }
.vs2 .no li { color: rgba(236,236,232,.5); text-decoration: line-through; text-decoration-color: rgba(158,29,42,.8); }
.vs2 .no li::before { content: '×'; color: var(--f-red2); text-decoration: none; }
.vs2 .yes li::before { content: '›'; color: var(--paper); }
.voice { margin-top: 18px; }
.voice-l { font-family: var(--classic); font-style: italic; font-weight: 300; font-size: clamp(1.9rem, 3.6vw, 3.4rem); line-height: 1.1; padding: 22px 22px 6px; }
.voice-l b { font-weight: 300; margin-right: .5em; }
.voice > p:last-child { padding: 0 22px 22px; max-width: 46em; color: rgba(236,236,232,.78); }

.lay3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lay { display: flex; flex-direction: column; }
.lay-pic { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-bottom: 1px solid var(--f-line); background: #0a0606; }
.lay-pic img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15) brightness(.8); display: block; }
.scan { position: absolute; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, rgba(236,236,232,.9), transparent); box-shadow: 0 0 22px 4px rgba(236,236,232,.35); animation: fscan 4.6s ease-in-out infinite; }
@keyframes fscan { 0% { top: 0; opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
.veil { position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(158,29,42,.0), rgba(158,29,42,.5)); animation: fveil 5s ease-in-out infinite; mix-blend-mode: multiply; }
@keyframes fveil { 0%, 100% { opacity: .15; } 50% { opacity: 1; } }
.lay-b { padding: 22px 22px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.lay-n { font-size: 10.5px; letter-spacing: .22em; color: var(--f-red2); }
.lay-b h3 { font-size: clamp(2rem, 3vw, 2.8rem); text-transform: uppercase; line-height: 1; }
.lay-b p { font-size: 15px; color: rgba(236,236,232,.82); }
.lay-l { list-style: none; margin: auto 0 0; padding: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 10px; letter-spacing: .1em; }
.lay-l li { border: 1px solid var(--f-line); padding: 4px 9px; color: var(--f-dim); }

.mode-pills { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid var(--f-line); }
.mode-pills button { flex: 1 1 140px; background: none; border: 0; border-right: 1px solid var(--f-line); color: var(--f-dim); padding: 14px 10px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; transition: background .3s, color .3s; }
.mode-pills button:last-child { border-right: 0; }
.mode-pills button[aria-pressed="true"] { color: #fff; background: rgba(236,236,232,.08); box-shadow: inset 0 -2px 0 var(--mc, var(--f-dim)); }
.mode-body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 0; }
.cases { padding: 10px 0; }
.case { display: grid; grid-template-columns: 3.2em minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px 20px; border-bottom: 1px solid rgba(236,236,232,.08); font-size: 12px; letter-spacing: .04em; text-transform: none; }
.case b { font-weight: 400; color: var(--f-dim); }
.case em { font-style: normal; font-size: 10px; letter-spacing: .16em; padding: 4px 9px; border: 1px solid currentColor; text-transform: uppercase; white-space: nowrap; }
.case .m0 { color: #9a9a96; } .case .m1 { color: #d9a441; } .case .m2 { color: #e0703c; } .case .m3 { color: #e8505f; }
.mode-note { padding: 22px 24px; border-left: 1px solid var(--f-line); font-size: 15px; color: rgba(236,236,232,.85); display: flex; flex-direction: column; gap: 12px; }
.mode-note b { font-family: var(--classic); font-weight: 400; font-size: 1.8rem; line-height: 1.1; display: block; }
.mode-note .mono { color: var(--f-dim); font-size: 11px; text-transform: none; letter-spacing: .04em; line-height: 1.6; }

.persona-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.persona-tabs button { background: none; border: 1px solid var(--f-line); color: var(--f-dim); padding: 10px 16px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: all .3s; }
.persona-tabs button.on, .persona-tabs button:hover { color: #060404; background: var(--paper); border-color: var(--paper); }
.persona-body { padding: 20px 22px 24px; font-size: 13px; line-height: 1.8; min-height: 190px; text-transform: none; letter-spacing: .02em; }
.persona-body div { margin: 4px 0; color: rgba(236,236,232,.88); }
.persona-body div::before { content: '› '; color: var(--f-red2); }
.persona-body .hot { color: #fff; box-shadow: inset 2px 0 0 var(--f-red); padding-left: 10px; }
.persona-body .dim { color: var(--f-dim); }
.persona-body .dim::before { content: ''; }

.vert4 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.vv { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); }
.vv-pic { position: relative; overflow: hidden; min-height: 280px; border-right: 1px solid var(--f-line); background: #0a0606; }
.vv-pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15) brightness(.85); transition: filter .6s, transform 1.4s var(--ease); }
.vv:hover .vv-pic img { filter: none; transform: scale(1.05); }
.vv-b { padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 12px; }
.vv-b h3 { font-size: clamp(1.7rem, 2.4vw, 2.3rem); text-transform: uppercase; line-height: 1.02; }
.vv-b p { font-size: 14.5px; color: rgba(236,236,232,.82); }
.vv-s { font-size: 10.5px; letter-spacing: .08em; line-height: 1.7; color: var(--f-dim); text-transform: none; }
.vv-s span { display: inline-block; margin-right: 8px; padding: 1px 8px; border: 1px solid var(--f-line); letter-spacing: .14em; text-transform: uppercase; }
.vv-s span.ok { color: #060404; background: var(--paper); border-color: var(--paper); }

.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.chips button { background: none; border: 1px solid var(--f-line); color: var(--f-dim); padding: 9px 16px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: all .3s; }
.chips button.on, .chips button:hover { color: #060404; background: var(--paper); border-color: var(--paper); }
.tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tool { border: 1px solid var(--f-line); background: var(--f-bg); padding: 20px 20px 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; transition: border-color .3s, transform .4s var(--ease); }
.tool:hover { border-color: rgba(236,236,232,.5); transform: translateY(-3px); }
.tool.off { display: none; }
.tool h4 { font-family: var(--classic); font-weight: 400; font-size: 1.7rem; line-height: 1.05; margin-bottom: 8px; }
.tool h4::before { content: '$ '; color: var(--f-red2); font-family: var(--mono); font-size: .6em; vertical-align: .18em; }
.tool p { font-size: 14px; color: rgba(236,236,232,.78); }
.tool span.mono { font-size: 10px; letter-spacing: .12em; color: var(--f-dim); }

.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.plan { border: 1px solid var(--f-line); background: var(--f-bg); padding: 26px 24px; display: flex; flex-direction: column; gap: 16px; position: relative; }
.plan.main { border-color: rgba(236,236,232,.55); background: rgba(14,6,8,.95); }
.plan.main::before { content: ''; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; background: var(--f-red); }
.plan-h h3 { font-size: clamp(2.4rem, 3.4vw, 3.4rem); line-height: 1; margin: 12px 0 6px; }
.plan-s { font-size: 10px; letter-spacing: .18em; padding: 3px 9px; border: 1px solid var(--paper); text-transform: uppercase; }
.plan-s.soft { border-color: var(--f-dim); color: var(--f-dim); }
.plan-r { color: var(--f-dim); font-size: 10.5px; letter-spacing: .14em; }
.plan-d { font-size: 14.5px; color: rgba(236,236,232,.82); }
.plan-l { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; flex: 1; }
.plan-l li { display: grid; grid-template-columns: 1.3em 1fr; font-size: 14px; line-height: 1.4; }
.plan-l li::before { content: '›'; color: var(--f-red2); }
.plan-p { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--f-line); border-bottom: 1px solid var(--f-line); }
.plan-p .mono { font-size: 10.5px; color: var(--f-dim); }
.plan-p b { font-family: var(--classic); font-style: italic; font-weight: 400; font-size: 1.7rem; }
.perim { margin-top: 18px; }
.perim p { padding: 18px 22px 22px; max-width: 60em; color: rgba(236,236,232,.82); }

.cmp-wrap { overflow-x: auto; border: 1px solid var(--f-line); background: var(--f-bg); }
.cmp { width: 100%; min-width: 720px; border-collapse: collapse; }
.cmp th, .cmp td { padding: 14px 18px; border-bottom: 1px solid rgba(236,236,232,.09); text-align: center; font-size: 14px; }
.cmp thead th { font-family: var(--classic); font-weight: 400; font-size: 1.9rem; padding: 22px 18px; border-bottom: 1px solid var(--f-line); }
.cmp tbody th { text-align: left; font-weight: 400; font-family: var(--mono); font-size: 11.5px; letter-spacing: .06em; color: rgba(236,236,232,.85); width: 34%; }
.cmp .main { background: rgba(236,236,232,.045); box-shadow: inset 1px 0 0 var(--f-line), inset -1px 0 0 var(--f-line); }
.cmp td { color: rgba(236,236,232,.85); }
.cmp i { font-style: normal; }
.cmp i.y::before { content: '✓'; color: var(--paper); font-size: 1.05rem; }
.cmp i.n::before { content: '—'; color: rgba(236,236,232,.28); }
.cmp tr.foot th, .cmp tr.foot td { border-bottom: 0; font-family: var(--classic); font-style: italic; font-size: 1.35rem; padding-top: 20px; }
.cmp-cta { margin-top: 24px; }

.oath { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.oath .win { display: flex; flex-direction: column; }
.oath h3 { font-size: clamp(1.7rem, 2.3vw, 2.2rem); line-height: 1.05; padding: 20px 20px 8px; }
.oath p { padding: 0 20px 22px; font-size: 14.5px; color: rgba(236,236,232,.82); }
.oath .no .win-h > :first-child::before { background: transparent; border: 1px solid var(--f-red2); width: 6px; height: 6px; }

.road2 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.rd p { padding: 16px 16px 20px; font-size: 14px; color: rgba(236,236,232,.8); }
.rd .st { font-size: 10px; letter-spacing: .14em; color: var(--paper); border: 1px solid var(--paper); padding: 2px 8px; white-space: nowrap; }
.rd .st.soft { color: var(--f-dim); border-color: var(--f-dim); }

.faq { max-width: 60em; border-top: 1px solid var(--f-line); }
.faq details { border-bottom: 1px solid var(--f-line); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding: 20px 4px; font-family: var(--classic); font-size: clamp(1.4rem, 2vw, 1.9rem); line-height: 1.2; transition: color .3s; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-family: var(--mono); font-size: 1.2rem; color: var(--f-red2); transition: transform .3s; flex: none; }
.faq details[open] summary::after { content: '−'; }
.faq summary:hover { color: #fff; }
.faq details p { padding: 0 4px 24px; max-width: 46em; color: rgba(236,236,232,.8); }

.fcta { padding: clamp(80px, 13vh, 160px) var(--gutter); }
.fcta .win { max-width: 62em; margin: 0 auto; }
.fcta-l { padding: 26px 26px 6px; font-size: clamp(1.1rem, 2vw, 1.7rem); letter-spacing: .04em; text-transform: none; }
.fcta-s { padding: 0 26px; max-width: 40em; color: rgba(236,236,232,.8); }
.fcta .fh-cta { padding: 4px 26px 28px; margin-top: 24px; }

/* ---------- узкие экраны ---------- */
@media (max-width: 1100px) {
  .lay3, .plans { grid-template-columns: minmax(0, 1fr); }
  .tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oath { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .road2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vert4 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
  .fh { grid-template-columns: minmax(0, 1fr); padding-top: 150px; min-height: 0; }
  .fh-r { padding-bottom: 0; }
  .fh-art { width: min(70%, 360px); margin: 0 auto 0 0; }
  .m-term { position: relative; width: 100%; margin-top: -60px; }
  .fstat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fstat > div { border-bottom: 1px solid var(--f-line); }
  .vs2, .mode-body { grid-template-columns: minmax(0, 1fr); }
  .mode-note { border-left: 0; border-top: 1px solid var(--f-line); }
  .vv { grid-template-columns: minmax(0, 1fr); }
  .vv-pic { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--f-line); }
}
@media (max-width: 560px) {
  .tools, .oath, .road2 { grid-template-columns: minmax(0, 1fr); }
  .fh-h { letter-spacing: .06em; }
  .bars { grid-template-columns: minmax(0, 8em) minmax(0, 1fr) 3.6em; }
  .fbtn { padding: 14px 18px; }
}
@media (prefers-reduced-motion: reduce) { .scan, .veil, .caret { animation: none; } }
.m-term .bt i { background: var(--paper) !important; }
.m-term .bt i.low { background: var(--f-red2) !important; }
.fh { padding-top: 170px; }

.plan.black { background: linear-gradient(180deg, rgba(34,6,11,.95), rgba(10,4,5,.96)); border-color: rgba(196,58,75,.55); }
.plan.black::before { content: ''; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; background: var(--f-red2); box-shadow: 0 0 22px rgba(196,58,75,.6); }
.plan.black .plan-s { border-color: var(--f-red2); color: var(--f-red2); }
.plan.black h3 { color: #fff; text-shadow: 0 0 30px rgba(196,58,75,.35); }
.cmp td:last-child, .cmp thead th:last-child { box-shadow: inset 1px 0 0 rgba(196,58,75,.35); }
.cmp td { font-size: 13.5px; }

/* ---------- индекс функций ---------- */
.fn-win { overflow: hidden; }
.fn-bar { padding: 14px 16px 12px; display: grid; gap: 10px; border-bottom: 1px solid var(--f-line); background: rgba(236,236,232,.03); }
.fn-q { display: flex; align-items: center; gap: 10px; border: 1px solid var(--f-line); padding: 0 14px; background: rgba(0,0,0,.35); }
.fn-q > span { color: var(--f-red2); font-size: 1.1rem; }
.fn-q input { flex: 1; min-width: 0; background: none; border: 0; color: var(--paper); font-family: var(--mono); font-size: 13px; padding: 14px 0; text-transform: none; letter-spacing: .02em; }
.fn-q input:focus { outline: none; }
.fn-q:focus-within { border-color: rgba(236,236,232,.55); }
.fn-q input::placeholder { color: rgba(236,236,232,.38); }
.fn-f { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.fn-f button { background: none; border: 1px solid var(--f-line); color: var(--f-dim); padding: 7px 12px; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: all .25s; }
.fn-f button.on, .fn-f button:hover { color: #060404; background: var(--paper); border-color: var(--paper); }
.fn-sep { width: 1px; height: 22px; background: var(--f-line); margin: 0 6px; }
.fn-head, .fn { display: grid; grid-template-columns: 6.6em minmax(0, 1fr) 11.5em 5.4em 8em; gap: 18px; align-items: baseline; padding: 0 18px; }
.fn-head { padding-top: 11px; padding-bottom: 11px; font-size: 10px; letter-spacing: .18em; color: var(--f-dim); border-bottom: 1px solid var(--f-line); text-transform: uppercase; }
.fn { padding-top: 15px; padding-bottom: 15px; border-bottom: 1px solid rgba(236,236,232,.08); transition: background .25s; }
.fn:hover { background: rgba(236,236,232,.045); }
.fn.off { display: none; }
.fn-c { color: var(--f-red2); letter-spacing: .12em; font-weight: 500; font-size: 12px; }
.fn-n h4 { font-family: var(--classic); font-weight: 400; font-size: 1.35rem; line-height: 1.1; margin-bottom: 4px; }
.fn-n p { font-size: 13.5px; line-height: 1.5; color: rgba(236,236,232,.74); }
.fn-s { font-size: 10.5px; letter-spacing: .06em; color: var(--f-dim); text-transform: none; line-height: 1.5; }
.fn-t { display: flex; gap: 4px; }
.fn-t i { font-style: normal; width: 1.5em; height: 1.5em; display: grid; place-items: center; border: 1px solid rgba(236,236,232,.14); color: rgba(236,236,232,.22); font-size: 10px; }
.fn-t i.y { color: #060404; background: var(--paper); border-color: var(--paper); }
.fn-st { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.fn-st::before { content: ''; width: 7px; height: 7px; background: currentColor; }
.fn-st.ok { color: var(--paper); } .fn-st.dev { color: #d9a441; } .fn-st.plan { color: var(--f-dim); } .fn-st.plan::before { background: transparent; border: 1px solid currentColor; }
.fn-empty { padding: 28px 20px; color: var(--f-dim); }
@media (max-width: 960px) {
  .fn-head { display: none; }
  .fn { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; }
  .fn-n { grid-column: 1 / -1; order: 3; }
  .fn-s { order: 4; grid-column: 1 / 2; }
  .fn-t { order: 5; grid-column: 2 / 3; justify-self: end; }
  .fn-c { order: 1; } .fn-st { order: 2; justify-self: end; }
}

.plan-p b { font-family: var(--classic); font-style: normal; font-weight: 300; font-size: 2.6rem; line-height: 1; }
.plan-p b small { font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; color: var(--f-dim); margin-left: 8px; text-transform: uppercase; }
.plan.black .plan-p b { color: #fff; }

.flogo { width: 84px; height: 84px; }
.fh-brand { gap: 22px; }

/* ---------- цвета контуров: Black бордовый, Terminal приглушённый фиолетовый, Light приглушённый синий ---------- */
body[data-page="faust"] { --c-black: #b8303f; --c-term: #8577b8; --c-light: #6f93c2; }
.fh { --tc: var(--c-term); }
.fh[data-tier="black"] { --tc: var(--c-black); }
.fh[data-tier="light"] { --tc: var(--c-light); }
.fh .term-body .cmd::before { color: var(--tc); }
.fh .bt i:not(.low) { background: var(--tc) !important; }
.fh .term-body .out.hl { box-shadow: inset 2px 0 0 var(--tc); }
.fh .m-term { border-color: color-mix(in srgb, var(--tc) 38%, rgba(236,236,232,.17)); transition: border-color .5s; }
.m-term .tab[data-r="terminal"][aria-selected="true"] { box-shadow: inset 0 -2px 0 var(--c-term); }
.m-term .tab[data-r="black"][aria-selected="true"] { box-shadow: inset 0 -2px 0 var(--c-black); }
.m-term .tab[data-r="light"][aria-selected="true"] { box-shadow: inset 0 -2px 0 var(--c-light); }
.fh-meta li:nth-child(1) i { background: var(--c-term); } .fh-meta li:nth-child(2) i { background: var(--c-black); }
.fh-meta li:nth-child(3) i.soft { background: transparent; border-color: var(--c-light); }

.plan::before { content: ''; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; background: var(--pc, var(--f-line)); }
.plan.light { --pc: var(--c-light); } .plan.term { --pc: var(--c-term); } .plan.black { --pc: var(--c-black); }
.plan.light .plan-s { color: var(--c-light); border-color: var(--c-light); }
.plan.term .plan-s { color: var(--c-term); border-color: var(--c-term); }
.plan.black .plan-s { color: var(--c-black); border-color: var(--c-black); }
.plan.light .plan-l li::before { color: var(--c-light); } .plan.term .plan-l li::before { color: var(--c-term); } .plan.black .plan-l li::before { color: var(--c-black); }
.plan.term { border-color: color-mix(in srgb, var(--c-term) 55%, rgba(236,236,232,.2)); background: linear-gradient(180deg, rgba(27,20,44,.55), rgba(10,5,8,.95)); }
.plan.light { border-color: color-mix(in srgb, var(--c-light) 30%, rgba(236,236,232,.15)); background: linear-gradient(180deg, rgba(18,26,40,.45), rgba(9,4,5,.92)); }
.plan.black::before { box-shadow: 0 0 22px color-mix(in srgb, var(--c-black) 60%, transparent); }
.plan.term::before, .plan.light::before { box-shadow: 0 0 18px color-mix(in srgb, var(--pc) 35%, transparent); }
.plan.main::before { background: var(--c-term); }

.cmp thead th:nth-child(2) { box-shadow: inset 0 -2px 0 var(--c-light); }
.cmp thead th:nth-child(3) { box-shadow: inset 0 -2px 0 var(--c-term), inset 1px 0 0 var(--f-line), inset -1px 0 0 var(--f-line); }
.cmp thead th:nth-child(4) { box-shadow: inset 0 -2px 0 var(--c-black); }
.cmp td:last-child { box-shadow: none; }

.fn-t i.y { color: #0a0508; }
.fn-t i:nth-child(1).y { background: var(--c-light); border-color: var(--c-light); }
.fn-t i:nth-child(2).y { background: var(--c-term); border-color: var(--c-term); }
.fn-t i:nth-child(3).y { background: var(--c-black); border-color: var(--c-black); color: #fff; }
.fn-f button[data-t="L"].on, .fn-f button[data-t="L"]:hover { background: var(--c-light); border-color: var(--c-light); color: #0a0508; }
.fn-f button[data-t="T"].on, .fn-f button[data-t="T"]:hover { background: var(--c-term); border-color: var(--c-term); color: #0a0508; }
.fn-f button[data-t="B"].on, .fn-f button[data-t="B"]:hover { background: var(--c-black); border-color: var(--c-black); color: #fff; }
